(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024136027
(43)【公開日】2024-10-04
(54)【発明の名称】資材自動計数システム及び資材自動計数方法
(51)【国際特許分類】
G06T 7/60 20170101AFI20240927BHJP
【FI】
G06T7/60 110
【審査請求】有
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023046977
(22)【出願日】2023-03-23
(11)【特許番号】
(45)【特許公報発行日】2023-05-16
(71)【出願人】
【識別番号】000153443
【氏名又は名称】株式会社 日立産業制御ソリューションズ
(74)【代理人】
【識別番号】110001807
【氏名又は名称】弁理士法人磯野国際特許商標事務所
(72)【発明者】
【氏名】三沢 博章
(72)【発明者】
【氏名】小味 弘典
(72)【発明者】
【氏名】菊池 博幸
(72)【発明者】
【氏名】金 川
(72)【発明者】
【氏名】村井 泰裕
(72)【発明者】
【氏名】鈴木 寿法
(72)【発明者】
【氏名】市村 守
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA09
5L096FA18
5L096FA52
5L096FA69
5L096KA04
(57)【要約】
【課題】資材の物体位置または個数を適切に推定できる資材自動計数システム及び資材自動計数方法を提供する。
【解決手段】本発明の資材自動計数システム10は、複数の資材の画像情報と前記画像情報に対応付けた資材の距離画像情報とを取得するデータ取得装置1と、ネットワークNWを介してデータ取得装置から画像情報と距離画像情報を受信し、画像情報と距離画像情報とから、解析モデルにより資材を示す境界ボックスを抽出して境界ボックスを3次元空間に統合し、資材の位置または個数を求める物体自動計数装置2と、物体自動計数装置で求めた資材の位置または個数を、画像情報の各フレームを重ね合わせた全体画像データに基づいて修正し、物体自動計数装置に指示するデータ修正装置3と、を備えるようにした。
【選択図】
図1
【特許請求の範囲】
【請求項1】
複数の資材の画像情報と前記画像情報に対応付けた前記資材の距離画像情報とを取得するデータ取得装置と、
ネットワークを介してデータ取得装置から前記画像情報と前記距離画像情報を受信し、前記画像情報と前記距離画像情報とから、解析モデルにより前記資材を示す境界ボックスを抽出して前記境界ボックスを3次元空間に統合し、前記資材の位置または個数を求める物体自動計数装置と、
前記物体自動計数装置で求めた資材の位置または個数を、前記画像情報の各フレームを重ね合わせた全体画像データに基づいて修正し、前記物体自動計数装置に指示するデータ修正装置と、
を備えることを特徴とする資材自動計数システム。
【請求項2】
請求項1に記載の資材自動計数システムにおいて、
前記物体自動計数装置は、
前記画像情報と前記距離画像情報とから、前記解析モデルとは異なる解析モデルにより前記資材を示す境界ボックスを抽出して前記境界ボックスを3次元空間に統合し、前記資材の位置または個数を求め、
前記データ修正装置により求めた前記位置または前記個数の修正時間を取得し、
取得した修正時間が、元の解析モデル時の修正時間より短縮している場合に、前記異なる解析モデルに解析モデルをアップデートする
ことを特徴とする資材自動計数システム。
【請求項3】
請求項1に記載の資材自動計数システムにおいて、
前記物体自動計数装置は、
前記資材の位置または個数を求めた際に、予め登録したシステムに計数した資材の個数を通知する
ことを特徴とする資材自動計数システム。
【請求項4】
請求項1に記載の資材自動計数システムにおいて、
前記物体自動計数装置は、
使用可能な前記解析モデルの一覧を前記データ取得装置に通知し、
前記画像情報と前記距離画像情報とともに前記データ取得装置から受信したモデル名が、一覧通知した前記解析モデルと異なる場合には、前記データ取得装置から受信したモデル名の解析モデルの学習を行った後に、前記資材を示す境界ボックスを抽出する
ことを特徴とする資材自動計数システム。
【請求項5】
請求項1に記載の資材自動計数システムにおいて、
前記物体自動計数装置は、
使用可能な前記解析モデルの一覧を前記データ取得装置に通知し、
前記画像情報と前記距離画像情報とともに前記データ取得装置から受信したモデル名が、一覧通知した前記解析モデルと異なる場合には、前記画像情報と前記距離画像情報とを一時記憶し、他の資材の前記画像情報と前記距離画像情報を受信する
ことを特徴とする資材自動計数システム。
【請求項6】
データ取得装置が、複数の資材の画像情報と前記画像情報に対応付けた前記資材の距離画像情報とを取得するステップと、
物体自動計数装置が、ネットワークを介して前記データ取得装置から前記画像情報と前記距離画像情報を受信するステップと、
物体自動計数装置が、前記画像情報と前記距離画像情報とから、解析モデルにより前記資材を示す境界ボックスを抽出して前記境界ボックスを3次元空間に統合し、前記資材の位置または個数を求めるステップと、
データ修正装置が、前記画像情報の各フレームを重ね合わせた全体画像データに基づいて前記物体自動計数装置で求めた資材の位置または個数を修正し、前記物体自動計数装置に修正指示するステップと、
を含む資材自動計数方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、資材自動計数装置及び資材自動計数方法に関する。
【背景技術】
【0002】
近年の少子高齢化に伴う作業者の減少に伴い、資材の在庫数確認などの目視による確認作業を代替するため、各種資材の物体個数を計数する技術が提案されている。例えば、下記特許文献1の要約には、「…入力される画像データに基づいて、当該画像データに含まれる各資材に対して境界ボックスを検出して、各境界ボックス毎に所定の種類の資材か否かを出力し、前記各種類毎の資材の個数を計数する計数処理部…」と記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、上述した技術において、資材等の認識対象物体の位置または対象物体の個数を一層適切に推定したいという要望がある。
この発明は上述した事情に鑑みてなされたものであり、資材の物体位置または個数を適切に推定できる資材自動計数システム及び資材自動計数方法を提供することを目的とする。
【課題を解決するための手段】
【0005】
上記課題を解決するため本発明の資材自動計数システムは、複数の資材の画像情報と前記画像情報に対応付けた前記資材の距離画像情報とを取得するデータ取得装置と、ネットワークを介してデータ取得装置から前記画像情報と前記距離画像情報を受信し、前記画像情報と前記距離画像情報とから、解析モデルにより前記資材を示す境界ボックスを抽出して前記境界ボックスを3次元空間に統合し、前記資材の位置または個数を求める物体自動計数装置と、前記物体自動計数装置で求めた資材の位置または個数を、前記画像情報の各フレームを重ね合わせた全体画像データに基づいて修正し、前記物体自動計数装置に指示するデータ修正装置と、を備えるようにした。
【発明の効果】
【0006】
本発明によれば、資材等の認識対象物体の位置または個数を適切に推定できる。
【図面の簡単な説明】
【0007】
【
図1】実施形態の資材自動計数システムのブロック図である。
【
図2】資材の2次元フレーム画像の例を示す図である。
【
図4】データ取得装置において実行されるデータ取得処理ルーチンのフローチャートである。
【
図5】物体自動計数装置において実行される計数処理ルーチンのフローチャートである。
【
図6】カウント対象となった境界ボックスの一例を示す図である。
【
図7】計算結果表示部における表示画面の例を示す図である。
【
図8】資材自動計数システムの他の全体動作を説明するシーケンス図である。
【
図9】資材自動計数システムの解析モデルのアップデート方法について説明する図である。
【発明を実施するための形態】
【0008】
[実施形態の概要]
一般的には、画像解析AIによる物体の自動計数は、目標精度を達成するまで、データの再収集・再学習を行う必要があり、非常に大きな工数がかかる。また、上述した特許文献1では、計数対象物体が一枚の画像に収まらない場合の対策をしていないため、撮影の方法や対象の物体が限定される。そこで、後述する実施形態では、2次元の画像データと3次元の点群データとを同期して(より好ましくは同時に)取得することで、2次元の画像データに基づく計数結果(境界ボックス)と、3次元の点群情報とを相互参照し、計数対象物体が一枚の画像に収まらない場合であっても、計数対象物体の数を適切に計数するものである。そして、実施形態の資材自動計数システムでは、自動的に計数した結果を遠隔地から修正できるようしている。
【0009】
[第1実施形態]
〈第1実施形態の構成〉
図1は、第1実施形態による資材自動計数システム10のブロック図である。
資材自動計数システム10は、物体群20に含まれる認識対象物体22の位置を推定し、かつ数量を計数するものであり、ネットワークNWで接続された、データ取得装置1と物体自動計数装置2とデータ修正装置3を備えている。なお、図示の例におい各認識対象物体22は、建築現場の足場資材である円筒状の物体(パイプ)である。
【0010】
より具体的には、実施形態の資材自動計数システム10は、リース会社からリースされた建築現場の足場資材である円筒状の物体(パイプ)を認識対象物体22とし、リース会社に返却予定の複数の認識対象物体22から成る物体群20の2次元の画像データと3次元の点群データとを、スマートフォン等の携帯端末であるデータ取得装置1により取得する。そして、ネットワークサーバである物体自動計数装置2が、2次元の画像データと3次元の点群データの画像解析により認識対象物体22を計数し、認識対象物体22の計数結果をリース会社に通知する。これにより返却する資材の管理を容易にする。
【0011】
データ取得装置1は、データ取得部101と、データ分析部102と、データ送信部104とを備え、データ修正装置3は、計算値表示部106と、計算値修正部108と、を備えている。物体自動計数装置2は、データ受信部201と、物体計数部202と、計数値補正部203と、計数値送信部204と、計数結果登録・通知部205と、計数結果データベース206と、を備えている。
【0012】
データ取得装置1のデータ取得部101は、2次元動画データを撮影するカメラ(図示略)と、3次元点群データを取得するLiDAR(Light Detection and Ranging)等の3次元センサ(図示略)と、IMU(Inertial Measurement Unit)センサと、を備える。これにより、ユーザがデータ取得部101を操作して物体群20をスキャンすると、データ取得部101は、2次元動画データDG(2次元画像データ)と、3次元点群データTQと、IMUセンサの検出結果であるIMUデータDIと、を出力する。
【0013】
データ分析部102は、データ取得部101から供給されたデータに基づいて、2次元動画データDGと、3次元点群データTPと、撮影位置データPSと、デプスデータDPと、を出力する。ここで、撮影位置データPSは、IMUデータDIや、Visual SLAM、LiDAR SLAM等の手法に基づいて取得したものであり、データ取得部101の位置を示すデータである。3次元点群データTPは、3次元点群データTQに対して点群累積処理(詳細は後述する)を行った結果のデータである。また、デプスデータDPとは、3次元点群データTQ,TPを変換して得たデータであり、データ取得部101の位置から各3次元点までの距離を表すデータである。
【0014】
2次元データ動画データDGのフレーム番号をnとし、物体群20をスキャンする期間内におけるフレーム番号nの最小値を「1」とし、フレーム番号nの最大値を「n_max」とする。2次元動画データDGの、フレーム番号nの画像を2次元フレーム画像DG(n)と呼ぶ。また、データ分析部102は、2次元動画データDGのフレーム周期に同期して(より好ましくは同一タイミングで)3次元点群データTQ、撮影位置データPSおよびデプスデータDPを分割する。以下、フレーム毎に分割された3次元点群データTQを、フレーム番号nを用いて3次元フレーム点群TQ(n)と呼ぶ。
【0015】
ここで、データ分析部102が実行する点群累積処理について説明する。あるフレーム番号nにおける3次元フレーム点群TQ(n)には、物体群20の表面上における点の3次元位置座標である複数の点座標が含まれる。同様に、次のフレーム番号n+1における3次元フレーム点群TQ(n+1)にも、複数の点座標が含まれる。ここで、データ取得部101が両フレーム間で移動すると、基準となるデータ取得部101の位置が異なるため、一般的には、3次元フレーム点群TQ(n)に含まれる点座標は、3次元フレーム点群TQ(n+1)に含まれる何れの点座標とも一致しない。
【0016】
そこで、データ分析部102は、レジストレーションと呼ばれる技術を用いて、3次元フレーム点群TQ(n)の点座標となるべく一致するように3次元フレーム点群TQ(n+1)に含まれる点座標の空間上の絶対位置に合わせ(以下、単に「位置合わせ」と呼ぶ)、その結果を3次元点群データTPとして出力する。この結果、3次元フレーム点群TP(n)および3次元フレーム点群TP(n+1)に含まれる点座標は、大部分が一致するようになる。そして、3次元フレーム点群TP(n),TP(n+1)のうち一方のみに含まれる点座標は、一般的には、他方において死角になる部分の点座標になる。この処理を点群累積処理と呼ぶ。なお、
図1の例では、データ分析部102はデータ取得装置1に含まれているが、データ分析部102を物体自動計数装置2に含めてもよい。
【0017】
データ送信部104は、2次元動画データDG、3次元点群データTP、撮影位置データPSおよびデプスデータDPをネットワークNWを介して、物体自動計数装置2のデータ受信部201に送信する。
【0018】
物体自動計数装置2のデータ受信部201は、データ送信部104から受信したデータを、次の物体計数部202により解析するが、随時解析できるように、不図示の記憶部に受信したデータを一時記憶しておいてもよい。これにより、データの受信を中断することなく現場での撮影作業を継続でき、現場効率を上げることができる。
【0019】
物体計数部202は、特徴領域認識部222(特徴領域認識過程)と、3次元形状認識部224(3次元形状認識過程)と、物体位置推定部226(物体位置推定過程)と、推定カウント値算出部228と、を備えている。特徴領域認識部222は、各フレームの2次元フレーム画像DG(n)を画像解析し、認識対象物体22の特徴を表す境界ボックスBB(特徴領域、
図2参照)を推定する。
【0020】
図1に示した例において、認識対象物体22は円筒状であるため、その端面の像は、2次元フレーム画像DG(n)において円形または楕円形になる。そこで、これらの円形または楕円形を囲む四角形の枠を境界ボックスBB(
図2参照)と呼ぶ。フレーム番号nにおけるk番目の境界ボックス(但し、k=1,…,k_max)を、境界ボックスBB(n,k)と表す。なお、境界ボックス数k_maxは、フレーム番号n毎に異なる。認識対象物体22の端面を検出する手法は、ディープラーニングを用いた物体検出手法であってもよいし、HoG特徴量などを用いた物体検出手法であってもよい。
【0021】
特徴領域認識部222のこれらの物体検出手法は、解析モデルとしてプログラム実装され、機械学習により検出精度を向上できるようにするとよい。また、プログラム実装された解析モデルは、随時、機械学習できるようによいし、アップデートモジュールとして外部より供給できるようにしてもよい。
【0022】
3次元形状認識部224は、認識対象物体22の形状を示すプロファイルデータに基づいて、認識対象物体22の3次元形状および寸法を認識する。物体位置推定部226は、特徴領域認識部222および3次元形状認識部224の認識結果に基づいて、各々の認識対象物体22の位置および姿勢を推定する。推定カウント値算出部228は、物体位置推定部226における推定結果に基づいて、認識対象物体22の数量の暫定値である暫定カウント値CNTP(詳細は後述する)を算出する。
【0023】
物体自動計数装置2は、3次元形状認識部224におけるプロファイルデータと徴領域認識部222の解析モデルは、認識対象物体22の種別に応じて複数有し、指定に応じて析モデルとプロファイルデータとを切り替えて物体の計数と位置の推定を行う。
【0024】
また、計数値補正部203は、確信度算出部232と、修正部234と、を備えている。確信度算出部232は、複数のフレームにおける境界ボックスBBが、同一の認識対象物体22に対応する度合いを示す確信度PRを算出する。また、修正部234は、暫定カウント値CNTPを修正することにより、より確実性の高いカウント値CNTを求める。
【0025】
計数値送信部204は、計数値補正部203で求めたカウント値CNTと、計数値補正部203が、2次元動画データDGの各フレームを重ね合わせることによって生成した全体画像データIGDと、をデータ取得装置1に出力する。全体画像データIGDについては、詳細を後述する。
【0026】
計数結果登録・通知部205は、計数値補正部203で求めたカウント値CNT、または、データ修正装置3で修正したカウント値CNTを計数結果データベース206に格納する。
また、計数結果登録・通知部205は、認識対象物体22のカウント値CNTを、予め設定されたシステムに通知する。
【0027】
データ修正装置3の計算値表示部106は、物体自動計数装置2の計数値送信部204から通知された、詳細を後述する全体画像データIGDとカウント値CNTを表示する。
計算値修正部108は、全体画像データIGDの表示に基づいてユーザが操作入力したカウンタ値CNTの修正指示、または検出すべき認識対象物体22の境界ボックスの追加
を、物体自動計数装置2に通知する。これにより、カウント値CNTが全体画像データIGDとして表示された認識対象物体22の数と相違する場合に、ユーザは、カウント値CNTの修正、または検出すべき認識対象物体22の追加を指令することができる。
【0028】
図2は、2次元フレーム画像DG(n)の例を示す図である。
図2には、あるフレーム番号na,nbにおける2次元フレーム画像DG(na),DG(nb)を示す。これら画像においては、認識対象物体22の像である複数の物体像32が含まれている。また、
図2には、各画像から抽出された境界ボックスBBの例も併せて表記している。但し、図示の2次元フレーム画像DG(na)には、実際には認識対象物体22の端面の像が含まれていないにもかかわらず、境界ボックスとして誤って抽出した誤抽出境界ボックス38も含まれている。例えば、物体群20(
図1参照)の周辺に円環状の形状を有する異物が存在し、認識対象物体22がその異物を認識対象物体22の端面であると誤認した場合に、誤抽出境界ボックス38が現れる。
【0029】
これら2次元フレーム画像DG(na),DG(nb)における境界ボックスBBには、同一の認識対象物体22に対するものが含まれている。計数値補正部203は、3次元点群データTPを参照して、複数のフレームに現れている、同一の認識対象物体22に対するもの境界ボックスBBを統合し、これによって物体群20(
図1参照)に含まれる認識対象物体22の数をカウントする。なお、その詳細については後述する。
【0030】
図3は、コンピュータ980のブロック図である。
図1に示したデータ取得装置1および物体自動計数装置2は、何れも
図1に示すコンピュータ980を、1台または複数台備えている。
図3において、コンピュータ980は、CPU981と、記憶部982と、通信I/F(インタフェース)983と、入出力I/F984と、メディアI/F985と、を備える。ここで、記憶部982は、RAM982aと、ROM982bと、HDD982cと、を備える。通信I/F983は、通信回路986に接続される。入出力I/F984は、入出力装置987に接続される。メディアI/F985は、記録媒体988からデータを読み書きする。
【0031】
ROM982bには、CPUによって実行されるIPL(Initial Program Loader)等が格納されている。HDD982cには、アプリケーションプログラムや各種データ等が記憶されている。CPU981は、HDD982cからRAM982aに読み込んだアプリケーションプログラム等を実行することにより、各種機能を実現する。先に
図1に示した、データ取得装置1および物体自動計数装置2の内部は、アプリケーションプログラム等によって実現される機能をブロックとして示したものである。
【0032】
〈第1実施形態の動作〉
(データ取得処理)
次に、本実施形態の動作を説明する。
図4は、データ取得装置1において実行されるデータ取得処理ルーチンのフローチャートである。
図4において処理がステップS201に進むと、データ取得部101は、IMUデータDIを取得する。次に、処理がステップS202に進むと、データ分析部102は、3次元点群データTPに基づいて、デプスデータDPを取得する。
【0033】
次に、処理がステップS203に進むと、データ取得部101は2次元動画データDGを取得する。次に、処理がステップS204に進むと、データ分析部102は、IMUデータDI、3次元点群データTPおよび2次元動画データDGに基づいて、撮影位置データPSを取得する。次に、処理がステップS205に進むと、データ分析部102は、3次元点群データTQに対して点群累積処理を行い、その結果である3次元点群データTPを取得する。
【0034】
次に、処理がステップS206に進むと、データ分析部102は、2次元動画データDGのエンコード処理を行う。次に、処理がステップS207に進むと、データ分析部102は、3次元点群データTP、撮影位置データPS、およびデプスデータDPを、2次元動画データDGのフレームタイミングに同期して、フレーム単位に分割する。
【0035】
次に、処理がステップS208に進むと、データ分析部102は、ユーザが所定の終了操作を行ったか否かを判定する。ここで「No」と判定されると、ステップS201~S208の動作が再度繰り返される。一方、ユーザが所定の終了操作を行った場合は「Yes」と判定され、処理はステップS209に進む。ここでは、データ送信部104が、上述した2次元動画データDG、3次元点群データTP、撮影位置データPSおよびデプスデータDPを、物体自動計数装置2に送信し、本ルーチンの処理が終了する。
【0036】
(計数処理)
図5は、物体自動計数装置2において実行される計数処理ルーチンのフローチャートである。
図5において処理がステップS301に進むと、物体計数部202は、各々の2次元フレーム画像DG(n)において、境界ボックスBB(
図2参照)を推定し、各フレームにおける境界ボックス数k_maxを取得する。次に、処理がステップS302に進むと、物体計数部202は、全てのフレーム番号の中で、(後述するステップS303の処理において)未だ選択されていないフレーム番号が存在するか否かを判定する。
【0037】
ステップS302において「Yes」と判定されると、処理はステップS303に進み、物体計数部202は、未だ選択されていない一つのフレーム番号を選択する。選択されたフレーム番号を、以下、「フレーム番号ns」と呼ぶ。次に、処理がステップS304に進むと、フレーム番号nsに係る2次元フレーム画像DG(ns)において、識別番号BIDが未割当である境界ボックスBBが存在するか否かを判定する。
【0038】
なお、識別番号BIDとは、同一の認識対象物体22(
図1参照)に対応して認識されたと推定される、一または複数の境界ボックスBB(n,k)に対して共通に付与される識別番号である。ある境界ボックスBB(n,k)に付与された識別番号BIDを、「識別番号BID(n,k)」のように表記することがある。ステップS304において「Yes」と判定されると、処理はステップS305に進み、物体計数部202は、2次元フレーム画像DG(ns)において識別番号BIDが未割当である一つの境界ボックスBBを選択する。選択された境界ボックスBBを、以下、選択境界ボックスBB(ns,ks)(但し、k=1,…,k_max)と呼ぶ。
【0039】
次に、処理がステップS306に進むと、物体計数部202は最尤識別番号BID_Mを検索する。そこで、この処理の内容について説明する。まず、フレーム番号nにおける3次元フレーム点群TP(n)のうち、境界ボックスBB(n,k)に対応する点群を境界ボックス対応点群BP(n,k)と呼ぶ。すなわち、境界ボックス対応点群BP(n,k)とは、認識対象物体22(
図1参照)の形状(例えば円筒)に基づいて、境界ボックスBB(n,k)に係る認識対象物体22(
図1参照)の表面の点座標であると推定できる点座標の集合である。物体位置推定部226(
図1参照)は、各境界ボックスBB(n,k)に対応する境界ボックス対応点群BP(n,k)を抽出することによって、各認識対象物体22の位置および姿勢を認識する。また、選択境界ボックスBB(ns,ks)に対応する点群を選択境界ボックス対応点群BP(ns,ks)と呼ぶ。
【0040】
物体計数部202は、既に識別番号BIDが付与された全ての境界ボックスBB(n,k)について、境界ボックス対応点群BP(n,k)と、選択境界ボックス対応点群BP(ns,ks)との重複度MUL(BID)を計算する。ここで、重複度MUL(BID)とは、識別番号BIDの境界ボックス対応点群BP(n,k)に属する点座標のうち選択境界ボックス対応点群BP(ns,ks)に属する点座標と一致するものの割合である。そして、計数値補正部203は、全ての識別番号BIDに対応する重複度MUL(BID)のうち、最大になるものを検索する。検索された重複度MUL(BID)に係る識別番号BIDを、最尤識別番号BID_Mと呼ぶ。
【0041】
次に、処理がステップS307に進むと、物体計数部202は、最尤識別番号BID_Mに係る重複度MUL(BID_M)が、所定の閾値MULth以上であるか否かを判定する。ここで、「No」と判定されると、処理はステップS308に進む。ステップS307で「No」と判定されたということは、選択境界ボックス対応点群BP(ns,ks)は、既に識別番号BIDが付与された他の境界ボックスBB(n,k)の境界ボックス対応点群BP(n,k)との間で重複する点座標が少ない、ということである。
【0042】
換言すれば、選択境界ボックスBB(ns,ks)は、既に識別番号BIDが付与された他の境界ボックスBB(n,k)とは異なる認識対象物体22(
図1参照)について検出された境界ボックスBBであると推定される。そこで、ステップS308において、物体計数部202は、新しい識別番号BID(新識別番号BID_nと呼ぶ)を生成し、選択境界ボックスBB(ns,ks)に割り当てる。また、新識別番号BID_nの確信度PR(BID_n)を「1」に設定する。
【0043】
一方、ステップS307において「Yes」と判定されると、処理はステップS309に進む。この場合、選択境界ボックスBB(ns,ks)は、既に最尤識別番号BID_Mが付与されている一または複数の他の境界ボックスBB(n,k)と同一の認識対象物体22について検出された境界ボックスBBであると推定される。そこで、ステップS309において、物体計数部202は、選択境界ボックスBB(ns,ks)の識別番号BID(ns,ks)に、最尤識別番号BID_Mを代入し、確信度PR(BID_M)を「1」だけ増加させる。
【0044】
以下、同様にステップS302~S309の処理が繰り返されると、全てのフレーム番号nにおいて検出された全ての境界ボックスBB(n,k)に対して、識別番号BIDが付与され、かつ、これら識別番号BIDの各々に対して確信度PR(BID)が計算される。その後、処理がステップS302に進むと、ここで「No」と判定され、処理はステップS310に進む。なお、この時点で既に付与された識別番号BIDの総数は、認識対象物体22(
図1参照)の数量として暫定的に推定された数になる。そこで、識別番号BIDの総数を、暫定カウント値CNTPと呼ぶ。換言すれば、物体計数部202の推定カウント値算出部228は、識別番号BIDの総数をカウントすることによって暫定カウント値CNTPを求める機能を備える。
【0045】
次に、ステップS310において、計数値補正部203は、全ての点座標のヒット値Qを算出する。その内容を、以下説明する。フレーム番号nにおける3次元フレーム点群TP(n)に属する全ての点座標の数をp_maxとしたとき、3次元フレーム点群TP(n)に属する点座標を点座標TTP(n,p)(但し、p=1,…,p_max)と呼ぶ。上述したように、ステップS205(
図4参照)において点群累積処理を行った結果、点座標TTP(n,p)は複数のフレームにおいて、同一値になる場合もある。一または複数のフレームにおいて、同一値である点座標TTP(n,p)が存在するとき、これらフレームの数を「ヒット値Q」と呼ぶ。また、点座標TTP(n,p)のヒット値をヒット値Q(n,p)と呼ぶ。ステップS310において、計数値補正部203は、全てのフレームにおける全ての点座標TTP(n,p)のヒット値Q(n,p)を算出する。
【0046】
次に、処理がステップS311に進むと、計数値補正部203は、全ての識別番号BIDに対応する平均ヒット値Qave(BID)を算出する。その処理内容を説明する。まず、計数値補正部203は、全ての識別番号BIDについて、各々の識別番号BIDが付与された境界ボックスBB(n,k)に対応する境界ボックス対応点群BP(n,k)を列挙する。次に、計数値補正部203は、列挙した境界ボックス対応点群BP(n,k)に属する点座標のヒット値Qを抽出する。この抽出した全てのヒット値Qの平均値が平均ヒット値Qaveになる。ある識別番号BIDにおける平均ヒット値Qaveを、平均ヒット値Qave(BID)と呼ぶ。
【0047】
次に、処理がステップS312に進むと、計数値補正部203における修正部234は、カウント値CNTを「0」に初期化する。次に、処理がステップS312に進むと、修正部234は、全ての識別番号BIDについて、ステップS314の処理を実行したか否かを判定する。
【0048】
ここで「No」と判定されると、処理はステップS314に進み、修正部234は、未処理の識別番号BIDを一つ選択し、その評価値EV(BID)を計算する。ここで、評価値EV(BID)は、「EV(BID)=PR(BID)×Qave(BID)」で計算される値である。次に、処理がステップS315に進むと、修正部234は、評価値EV(BID)が所定の閾値EVth以上であるか否かを判定する。
【0049】
ここで、「Yes」と判定されると、処理はステップS316に進む。この場合、識別番号BIDが付与された境界ボックスBB(n,k)は、実際に認識対象物体22(
図1参照)に対応した有効な境界ボックスであり、識別番号BIDは有効な識別番号になる。そこで、修正部234は、カウント値CNTを「1」だけ増加させる。その後、処理はステップS313に戻る。
【0050】
一方、ステップS315において「No」と判定されると、ステップS316はスキップされ、処理はステップS313に戻る。この場合、識別番号BIDが付与された境界ボックスBB(n,k)は、実際に認識対象物体22(
図1参照)に対応したものではなく、誤抽出境界ボックス38(
図2参照)であると推定される。すなわち、識別番号BIDは無効な識別番号になる。このように、全ての識別番号BIDについてステップS314~S316が実行され、その後に処理がステップS313に戻ると、ここで「Yes」と判定され、処理はステップS317に進む。
【0051】
ステップS317において、計数値送信部204は、カウント値CNTと、全体画像データIGDと、をデータ修正装置3に送信する。ここで、全体画像データIGDとは、物体群20(
図1参照)の全体を俯瞰した画像であり、計数値補正部203が、2次元動画データDGの各フレームを重ね合わせることによって生成したものである。以上により、本ルーチンの処理が終了する。
【0052】
図6は、カウント対象となった境界ボックスBBの一例を示す図である。
図6においては、
図2に示した誤抽出境界ボックス38は、評価値EV(BID)が閾値EVth未満になるため、カウント対象から除外されている。
【0053】
(計数結果の修正処理)
図7は、計算値表示部106における表示画面の例を示す図である。
同図に示す表示画面310は、全体画像表示部312と、カウント値表示部314と、カーソル316と、を含んでいる。
【0054】
全体画像表示部312は、表示画面310の全体と重なっており、物体自動計数装置2から供給された全体画像データIGDの内容を表示する。ここで、表示画面310においては、有効な識別番号BIDに対応する境界ボックス対応点群BP(n,k)に対応する領域がハイライト表示される。
図6においては、ハイライト表示されている部分を、ドットを付して表示している。
【0055】
カウント値表示部314は、カウント値CNTを表示する。カーソル316は、ユーザの操作に応じて表示画面に示される矩形枠画像であり、ユーザは、その位置および大きさを自由に調節できる。図示の例においては、カーソル316が表示されている領域において、カウント抜けが生じたと考えられる部分が生じている。このような場合、ユーザは、図示のように、カウント抜けが生じたと考えられる部分にカーソル316の位置を合わせ、所定の操作を行い、物体自動計数装置2に対して計数処理の再実行を指令することができる。
【0056】
計数処理の再実行が指令されると、その旨が物体自動計数装置2に通知され、物体自動計数装置2は、上述した計数処理ルーチン(
図5)を再実行する。但し、計数処理ルーチンの再実行時において、計数値補正部203は、カーソル316が表示されている部分において有効な識別番号BIDに対応する境界ボックス対応点群BP(n,k)が生じるように、上述した閾値MULthまたは閾値EVthを、最初に実行した時と比較して、低い値に設定する。
【0057】
図7に示す表示画面320は、物体自動計数装置2が計数処理ルーチンを再実行時した後に計算値表示部106に表示される表示画面の例である。表示画面320は、表示画面310と同様に、全体画像表示部312と、カウント値表示部314と、を含んでいる。
【0058】
但し、全体画像表示部312は、計数処理ルーチンの再実行結果に基づく全体画像データIGDを表示する。そして、図示の例において、表示画面320には、上述した表示画面310におけるカウント抜けが解消されている。また、その結果、表示画面320におけるカウント値表示部314の内容も、表示画面310のものから更新されている。
【0059】
図7に示す表示画面320のように、認識対象物体22を正常に認識した全体画像データIGDが取得できた場合は、ユーザが所定の登録操作を行う。登録操作が行われると、計数結果登録・通知部205は、カウント値CNTを、計数結果データベース206に格納する。
【0060】
[実施形態の効果]
以上のように上述の実施形態によれば、資材自動計数システム10は、複数の認識対象物体22を含む物体群20を撮影した2次元画像データ(DG)から認識対象物体22に対応する特徴領域(BB)を認識する特徴領域認識部222と、認識対象物体22の3次元形状を認識する3次元形状認識部224と、特徴領域認識部222および3次元形状認識部224における認識結果に基づいて、各々の認識対象物体22の位置を推定する物体位置推定部226と、を備える。このように、特徴領域認識部222および3次元形状認識部224における認識結果に基づいて、各々の認識対象物体22の位置を推定するため、認識対象物体22の位置を適切に推定できる。さらに、認識対象物体22の位置を適切に推定できることにより、認識対象物体22をカウントする際の精度も向上させるという効果も奏する。
【0061】
また、物体位置推定部226は、物体群20の表面の点座標を含む3次元点群データTPから、特徴領域(BB)に対応する点座標を抽出することにより、各々の認識対象物体22の位置を認識すると一層好ましい。これにより、3次元点群データTPと特徴領域(BB)とを関連させることができ、認識対象物体22の位置を一層適切に推定できる。
【0062】
また、2次元画像データ(DG)は複数のフレームに分割されているものであり、3次元点群データTPを、2次元画像データ(DG)に同期して分割するデータ分析部102をさらに備えると一層好ましい。これにより、3次元点群データTPと、2次元画像データ(DG)との対応付けが一層容易になる。
【0063】
また、資材自動計数システム10は、特徴領域認識部222によって複数のフレームに対応して認識した特徴領域(BB)が、同一の認識対象物体22に対応する度合いを示す確信度PRを、特徴領域(BB)毎に算出する確信度算出部232をさらに備えると一層好ましい。これにより、各々の特徴領域(BB)の確信度PRを取得できる。
【0064】
また、資材自動計数システム10は、特徴領域認識部222が推定した特徴領域(BB)と、3次元形状認識部224における認識結果と、に基づいて、認識対象物体22の暫定カウント値CNTPを算出する推定カウント値算出部228と、確信度PRに基づいて、暫定カウント値CNTPを修正した結果であるカウント値CNTを求める修正部234と、をさらに備えると一層好ましい。これにより、認識対象物体22の数量を適切にカウントすることができる。
【0065】
また、資材自動計数システム10は、カウント値CNTに対応する認識対象物体22の画像を表示する計算値表示部106と、ユーザの操作に基づいて、カウント値CNTの修正を指令する計算値修正部108と、をさらに備えると一層好ましい。これにより、カウント値CNTが認識対象物体22の数と相違する場合に、ユーザは、カウント値CNTの修正を指令することができる。
【0066】
図8は、実施形態の資材自動計数システム10の他の全体動作を説明するシーケンス図である。
図8の資材自動計数システム10は、スマートフォン等の携帯端末であるデータ取得装置1とネットワークサーバである物体自動計数装置2とPC等のネットワーク端末であるデータ修正装置3から構成する。なお、
図8では、データ修正装置3の場合を示しているが、複数台のデータ修正装置3から構成してもよい。
【0067】
物体自動計数装置2は、まず、特徴領域認識部222(物体計数部202)が、学習を完了し使用可能な認識対象物体22を検出する解析モデルの一覧(少なくともひとつ)を、データ取得装置1に通知する(ステップS80)。
【0068】
データ取得装置1は、解析モデルの一覧を表示し、認識対象物体22に対応しユーザに指定した解析モデルを選択する(ステップS81)。この際、データ取得装置1は、ユーザが指定しやすいように、解析モデル毎に検出する認識対象物体22の像を表示して、ユーザが指定できるようにするとよい。また、検出する認識対象物体22に対応する解析モデルがない場合には、その旨を取得する。
【0069】
次に、データ取得装置1は、物体群20の2D画像と距離画像を取得し(ステップS82)、2D画像と距離画像を対応付ける(ステップS83)。このステップS82とステップS83は、データ取得装置1のデータ取得部101とデータ分析部102の動作であり、
図4で説明したので、ここでは説明を省略する。
【0070】
データ取得装置1は、物体群20の撮像が終了すると、ユーザが指定した解析モデルのモデル名、2次元動画データDG、3次元点群データTP、撮影位置データPSおよびデプスデータDPを、物体自動計数装置2に送信する(ステップS84)。
【0071】
物体自動計数装置2(データ受信部201)は、データ取得装置1から受信したモデル名、2次元動画データDG、3次元点群データTP、撮影位置データPSおよびデプスデータDPを、不図示の記憶部に記憶するとともに、受信したモデル名が、特徴領域認識部222がサポートしている解析モデルであるか否かを判定する(ステップS85)。
【0072】
物体自動計数装置2は、未サポートの解析モデルが指定された場合(ステップS85が否の場合)、物体自動計数装置2のオペレータに、解析モデルを準備(解析モデルの機械学習)するよう通知する。
【0073】
そして、物体自動計数装置2は、解析モデルの学習処理を行う(ステップS86)。
物体自動計数装置2は、解析モデルの学習処理を行っている際中でも、データ取得装置1からの、解析モデルのモデル名、2次元動画データDG、3次元点群データTP、撮影位置データPSおよびデプスデータDPの受信を継続し、受信したデータを記憶部に記憶する。
【0074】
物体自動計数装置2は、サポートしている解析モデルが指定された場合、または解析モデルの準備が完了すると、解析モデルにより2D画像から境界ボックスを抽出し、抽出した2D画像の境界ボックスを3D空間に統合する(ステップS87)。そして、物体自動計数装置2は、有効な境界ボックスを検出し、自動計数する(ステップS88)。このステップS87とステップS88の処理は、
図5で説明した物体計数部202と計数値補正部203の処理であり、詳細な説明を省略する。
【0075】
物体自動計数装置2は、求めたカウント値CNTと全体画像データIGDとを、少なくとも一つのデータ修正装置3に送信する(ステップS89)。これにより、複数のデータ修正装置3で境界ボックスBBの追加・削除、カウント値CNTの修正を並行して行えるようにする。
【0076】
データ修正装置3(計算値表示部106)は、ユーザがカウント値CNTの修正と境界ボックスBBの追加・削除を行えるように、全体画像データIGDとカウント値CNTを表示する(ステップS810)。
【0077】
データ修正装置3(計算値修正部108)は、全体画像データIGDの表示に基づいてユーザが操作入力したカウンタ値CNTの修正指示、または検出すべき認識対象物体22の境界ボックスの追加を、物体自動計数装置2に通知する(ステップS811)。
【0078】
物体自動計数装置2(物体係数部202と計数値補正部203)は、ステップS811の通知に応じて、有効な境界ボックスを判定するための閾値EVthを修正または解析モデル修正(追加学習)を行い(ステップS812)、有効な境界ボックスを再検出し、計数を再度行う(ステップS813)。
【0079】
物体自動計数装置2(計数結果登録・通知部205)は、ステップS813で求めた計数値(カウント値CNT)を検出結果として計数結果データベース206に格納するとともに、予め設定されたシステムに通知する(ステップS814)。
【0080】
上記では、ステップS813により有効な境界ボックを再検出する例を説明したが、ステップS811で通知されたカウンタ値CNTを、検出結果として計数結果データベース206に格納するとともに、予め設定されたシステムに通知する(ステップS814)ようにしてもよい。
【0081】
また、ステップS813で処理したカウント値CNTと全体画像データIGDを、データ修正装置3に送信し(ステップS89)、ステップS811における追加・修正指示がなくなるまで、ステップS812とステップS813の処理を繰り返し行うようにしてもよい。
【0082】
図8で説明した資材自動計数システム10の動作シーケンスにより、複数のデータ修正端末3で検出結果の確認・修正を行うことができるので、現場での確認時間を不要とし、過酷な現場での労働時間を削減することができる。また、確認・修正を複数人に分担できるので作業効率を向上できる。
【0083】
また、物体自動計数装置2が、認識対象物体22のカウント値の検出結果を、予め登録したシステムに通知するので、リース会社に足場資材のカウント値を通知するようにした場合には、足場資材の返却時に事前に物量を把握でき、受け入れの準備、人員配備などが可能となる。
【0084】
さらに、物体自動計数装置2の解析モデルの事前学習が完了していない場合でも、他の足場資材等の認識対象物22のデータ取得(撮影作業)を行えるので、現場効率を向上することができる。
また、物体自動計数装置2のオペレータに解析モデルを準備(解析モデルの機械学習)するよう通知するので、作業効率の低下を抑止できる。
【0085】
次に、
図9により、実施形態の資材自動計数システム10の解析モデルのアップデート方法について説明する。実施形態のアップデート方法により、手動補正時間が短縮する場合に、解析モデルをアップデートするようにしたので、導入効果が得られないものについては無駄なアップデートを排除でき、有効なアップデートのみを選択できる。
【0086】
図9は、物体自動計数装置2の処理フロー図であり、現在使用中の解析モデルを第1のモデルと記し、アップデート可否を判定する解析モデルを第2のモデルと記す。
【0087】
物体自動計数装置2(データ受信部201)は、物体計数部202で処理する解析データ(2次元動画データDG、3次元点群データTP、撮影位置データPSおよびデプスデータDP)を取得する(ステップS91)。
【0088】
物体自動計数装置2は、ステップS91で取得した解析データを第1のモデルで処理するステップS92からステップS95の処理と、ステップS91で取得した解析データを第2のモデルで処理するステップS96からステップS99の処理と、を並行処理する。
【0089】
まず、第1のモデルの物体計数部202による境界ボックスBBを検出する処理(物体検出処理)(ステップS93)と、第2のモデルの物体計数部202による境界ボックスBBを検出する処理(物体検出処理)(ステップS96)とを行う。
【0090】
そして、ステップS93で検出した境界ボックスを統合し、第1のモデルで検出した境界ボックスの計数値である第1計数値、及び境界ボックスの位置を推定する(ステップS94)。同様に、ステップS96で検出した境界ボックスを統合し、第2のモデルで検出した境界ボックスの計数値である第2計数値、及び境界ボックスの位置を推定する(ステップS97)。
【0091】
さらに、ステップS93で統合した境界ボックスを手動補正する(ステップS94)ともに、その修正時間である第1修正時間を算出する(ステップS94)。同様に、ステップS97で統合した境界ボックスを手動補正する(ステップS98)ともに、その修正時間である第2修正時間を算出する(ステップS99)。
このステップS93とステップS94の処理と、ステップS93とステップS94の処理とは、
図5で説明した物体計数部202と計数値補正部203の処理であり、詳細な説明を省略する。
【0092】
ここで、物体自動計数装置2は、解析モデルの変更により修正時間は短縮したか否かを判定する。詳しくは、ステップS99で算出した第2修正時間が、ステップS95で算出した第1修正時間より短いか否を判定する(ステップS910)。
【0093】
そして、修正時間は短縮した場合には(S910のYes)、物体計数部202の解析モデルを第1のモデルから第2のモデルにアップデートし、修正時間は短縮しなかった場合には(S910のNo)、第2のモデルにアップデートせず処理を終了する。
【0094】
図9では、物体自動計数装置2が、ステップS92からS95と、ステップS96からS99とを並行処理するフローを示したが、物体自動計数装置2が、ステップS92からS95と、ステップS96からS99とを順次処理するようにしてもよい。
【0095】
[変形例]
本発明は上述した実施形態に限定されるものではなく、種々の変形が可能である。上述した実施形態は本発明を理解しやすく説明するために例示したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、上記実施形態の構成に他の構成を追加してもよく、構成の一部について他の構成に置換をすることも可能である。また、図中に示した制御線や情報線は説明上必要と考えられるものを示しており、製品上で必要な全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。上記実施形態に対して可能な変形は、例えば以下のようなものである。
【0096】
(1)上記実施形態においては、3次元点群データTPを取得するために、データ取得部101にLiDAR(Light Detection and Ranging)等の3次元センサ(図示略)設けた。しかし、3次元点群データTPを取得する方法は、3次元センサを用いることに限定されるわけではなく、例えば、フォトグラメトリなどの、複数の2次元データから3次元点群データを取得する技法によって3次元点群データTPを算出するようにしてもよい。
【0097】
(2)上記実施形態においては、レジストレーションによって、3次元フレーム点群TQ(n)間の位置合わせを行ったが、レジストレーション以外の方法によって位置合わせを行ってもよい。例えば、IMUデータDIに基づいて、3次元フレーム点群TQ(n)間の位置合わせを行っても差し支えない。
【0098】
(3)上記実施形態における資材自動計数システム10のハードウエアは一般的なコンピュータによって実現できるため、
図4、
図5に示したフローチャート、その他上述した各種処理を実行するプログラム等を記憶媒体(プログラムを記録したコンピュータ読み取り可能な記録媒体)に格納し、または伝送路を介して頒布してもよい。
【0099】
(4)
図4、
図5に示した処理、その他上述した各処理は、上記実施形態ではプログラムを用いたソフトウエア的な処理として説明したが、その一部または全部をASIC(Application Specific Integrated Circuit;特定用途向けIC)、あるいはFPGA(Field Programmable Gate Array)等を用いたハードウエア的な処理に置き換えてもよい。
【0100】
(5)上記実施形態において実行される各種処理は、図示せぬネットワーク経由でサーバコンピュータが実行してもよく、上記実施形態において記憶される各種データも該サーバコンピュータに記憶させるようにしてもよい。
【符号の説明】
【0101】
1 データ取得装置
2 物体自動計数装置
3 データ修正装置
10 資材自動計数システム
20 物体群
22 認識対象物体
102 データ分析部
106 計算結果表示部
108 計算結果修正部
222 特徴領域認識部(特徴領域認識過程)
224 3次元形状認識部(3次元形状認識過程)
226 物体位置推定部(物体位置推定過程)
228 推定カウント値算出部
232 確信度算出部
234 修正部
BB 境界ボックス(特徴領域)
DG 2次元動画データ(2次元画像データ)
NW ネットワーク
PR 確信度
TP,TQ 3次元点群データ
CNT カウント値
CNTP 暫定カウント値