(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023079643
(43)【公開日】2023-06-08
(54)【発明の名称】物体検出装置および物体検出方法
(51)【国際特許分類】
G06T 7/60 20170101AFI20230601BHJP
G06T 7/00 20170101ALI20230601BHJP
【FI】
G06T7/60 180Z
G06T7/00 300B
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2021193204
(22)【出願日】2021-11-29
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110002365
【氏名又は名称】弁理士法人サンネクスト国際特許事務所
(72)【発明者】
【氏名】北山 晃
(72)【発明者】
【氏名】小野 豪一
(72)【発明者】
【氏名】砂川 滉太
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096CA02
5L096EA39
5L096FA59
5L096FA69
5L096FA76
5L096GA51
5L096HA03
5L096HA11
5L096JA16
(57)【要約】
【課題】物体の検出不良を削減し得る物体検出装置を提供する。
【解決手段】所定の領域における物体の推論の結果から、所定の領域外の周辺物体が物体の推論に及ぼす影響を示す影響度を算出する算出部と、算出部により算出された影響度をもとに、所定の領域外の周辺物体が所定の領域における物体の推論に影響を及ぼすか否かを判定する判定部と、センサにより取得されたセンサ情報に対して、判定部により影響を及ぼすと判定された周辺物体を示すデータ位置に前処理を実行する前処理部と、前処理部によりセンサ情報に対して前処理が実行された前処理後センサ情報を用いて所定の領域における物体を推論する推論部と、を設けるようにした。
【選択図】
図1
【特許請求の範囲】
【請求項1】
センサにより取得されたセンサ情報を用いて所定の領域における物体を推論する物体検出装置であって、
前記所定の領域における物体の推論の結果から、前記所定の領域外の周辺物体が前記物体の推論に及ぼす影響を示す影響度を算出する算出部と、
前記算出部により算出された影響度をもとに、前記所定の領域外の周辺物体が前記所定の領域における物体の推論に影響を及ぼすか否かを判定する判定部と、
前記センサにより取得されたセンサ情報に対して、前記判定部により影響を及ぼすと判定された周辺物体を示すデータ位置に前処理を実行する前処理部と、
前記前処理部によりセンサ情報に対して前処理が実行された前処理後センサ情報を用いて前記所定の領域における物体を推論する推論部と、
を備える物体検出装置。
【請求項2】
前記センサ情報を用いて前記所定の領域における物体を推論する他の推論部と、
前記推論部による推論の結果から、前記所定の領域外の周辺物体が前記物体の推論に及ぼす影響を示す影響度を算出する他の算出部と、
前記他の算出部により算出された影響度をもとに、前記所定の領域外の周辺物体が前記所定の領域における物体の推論に影響を及ぼすか否かを判定する他の判定部と、
前記推論部による推論の結果と前記他の推論部による推論の結果との少なくとも1つを出力部と、
を備え、
前記算出部は、前記他の推論部により前記センサ情報が用いられて前記物体が推論された結果から、前記所定の領域外の周辺物体が前記物体の推論に及ぼす影響を示す影響度を算出し、
前記出力部は、前記算出部により算出された影響度と前記他の算出部により算出された影響度と比較し、影響度が小さい方の推論部による推論の結果を出力する、
請求項1に記載の物体検出装置。
【請求項3】
前記推論部による推論の結果を出力する出力部を備え、
前記算出部は、前記推論部により前記前処理後センサ情報が用いられて前記物体が推論された結果から、前記所定の領域外の周辺物体が前記物体の推論に及ぼす影響を示す影響度を算出し、
前記推論部は、前記センサ情報を用いて前記所定の領域における物体を推論し、
前記算出部は、前記推論部により前記センサ情報が用いられて前記物体が推論された結果から、前記所定の領域外の周辺物体が前記物体の推論に及ぼす影響を示す影響度を算出し、
前記出力部は、前記センサ情報が用いられて推論されたときの影響度と、前記前処理後センサ情報が用いられて推論されたときの影響度とを比較し、影響度が小さい方の推論の結果を出力する、
請求項1に記載の物体検出装置。
【請求項4】
前記センサにより取得されたセンサ情報に前処理が実行された前処理後センサ情報が用いられて前記所定の領域における物体が推論された結果から算出される前記所定の領域外の周辺物体が前記物体の推論に及ぼす影響を示す影響度を記憶する記憶部と、
予め設けられている複数の前処理の中から、前記記憶部により記憶されている影響度をもとに、前記所定の領域における物体の推論に及ぼす影響が小さくなる前処理を選択する選択部と、
前記推論部による推論の結果を出力する出力部と、
を備える請求項1に記載の物体検出装置。
【請求項5】
前記算出部により算出される影響度は、前記物体に影響を及ぼす範囲を示す範囲情報であり、
前記所定の領域と前記範囲情報との重なりに基づいて前記推論部による推論の結果の信頼度を算出し、前記推論の結果と前記推論の結果の信頼度とを出力する出力部を備える、
請求項1に記載の物体検出装置。
【請求項6】
予め設けられている複数の前処理の各々について、前処理が実行されたことによる影響度の増減に応じて重みが対応付けられている前処理情報を記憶する記憶部を備える、
請求項1に記載の物体検出装置。
【請求項7】
前処理が実行されたことにより影響度が小さくなるときは前記前処理の重みを大きくし、前処理が実行されたことにより影響度が大きくなるときは前記前処理の重みを小さくするように、前記前処理情報を更新する更新部を備える、
請求項6に記載の物体検出装置。
【請求項8】
前記算出部により算出される影響度は、前記物体に影響を及ぼす範囲を示す範囲情報であり、
前記前処理部は、前記所定の領域と前記範囲情報とが重なっている場合、前記複数の前処理の中から現在の前処理とは異なる前処理を選択し、前記所定の領域と前記範囲情報とが重なっていない場合、現在の前処理を継続して用いる、
請求項6に記載の物体検出装置。
【請求項9】
センサにより取得されたセンサ情報を用いて所定の領域における物体を推論する物体検出方法であって、
算出部が、前記所定の領域における物体の推論の結果から、前記所定の領域外の周辺物体が前記物体の推論に及ぼす影響を示す影響度を算出することと、
判定部が、前記算出部により算出された影響度をもとに、前記所定の領域外の周辺物体が前記所定の領域における物体の推論に影響を及ぼすか否かを判定することと、
前処理部が、前記センサにより取得されたセンサ情報に対して、前記判定部により影響を及ぼすと判定された周辺物体を示すデータ位置に前処理を実行することと、
推論部が、前記前処理部によりセンサ情報に対して前処理が実行された前処理後センサ情報を用いて前記所定の領域における物体を推論することと、
を含む物体検出方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、概して、物体を検出する技術に関する。
【背景技術】
【0002】
近年、画像に映った物体の検出にルールベースのアルゴリズムを用いるよりも、深層機械学習(ディープラーニング)を用いたDNN(Deep Neural Network)により検出精度が飛躍的に向上することが知られており、様々なシステムへの適用が進展している。しかしながら、DNNの物体検出結果に対する説明性を担保することは難しく、作業ミスおよび作業停止が許されないミッションクリティカルなシステムにおいて、意図しない検出不良が発生する可能性がある。自動運転等の分野では、車両等が自動で動くシステムであるために、二重、三重といった複数の周辺認識センサを搭載することで安全を担保するシステムが組まれている。その一方で、工場、物流倉庫等における作業機械では単一のカメラでタスクをこなすことが多く、訓練データにないようなエッジケースの画像を取得した場合に検出不良が発生し、作業ミス、作業停止等を引き起こす可能性がある。
【0003】
また、DNNの実用化が進み、様々な現場で共通のモデルが用いられる場合、現場ごとに特徴の異なる環境(風景、色合い、明度、配置物)、作業者の条件(服装、体型、向き、姿勢)等が異なるために、これらの影響を受けて本来こなすべきタスクの認識処理の精度が低下する可能性がある。
【0004】
この点、太陽光の反射によってダイナミックレンジ不足となった画像に対して、ダイナミックレンジ不足となった画素の周辺領域との差分から、元画像を補正して認識処理の精度を向上させる技術が開示されている(特許文献1参照)。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1に記載の技術では、DNN等のディープラーニングを用いた物体検出アルゴリズムにおける検出不良に対して、どのように画像を補正するとよいかを決めることができない。
【0007】
本発明は、以上の点を考慮してなされたもので、物体の検出不良を削減し得る物体検出装置等を提案しようとするものである。
【課題を解決するための手段】
【0008】
かかる課題を解決するため本発明においては、センサにより取得されたセンサ情報を用いて所定の領域における物体を推論する物体検出装置であって、前記所定の領域における物体の推論の結果から、前記所定の領域外の周辺物体が前記物体の推論に及ぼす影響を示す影響度を算出する算出部と、前記算出部により算出された影響度をもとに、前記所定の領域外の周辺物体が前記所定の領域における物体の推論に影響を及ぼすか否かを判定する判定部と、前記センサにより取得されたセンサ情報に対して、前記判定部により影響を及ぼすと判定された周辺物体を示すデータ位置に前処理を実行する前処理部と、前記前処理部によりセンサ情報に対して前処理が実行された前処理後センサ情報を用いて前記所定の領域における物体を推論する推論部と、を設けるようにした。
【0009】
上記構成によれば、例えば、物体の検出不良となるセンサ情報における要因に対して前処理を実行することで、意図しない検出不良を削減することができる。
【発明の効果】
【0010】
本発明によれば、検出精度の高い物体検出装置を実現することができる。上記以外の課題、構成、および効果は、以下の実施の形態の説明により明らかにされる。
【図面の簡単な説明】
【0011】
【
図1】第1の実施の形態による物体検出装置に係る構成の一例を示す図である。
【
図2】第1の実施の形態による物体検出装置が備えるハードウェアの一例を示す図である。
【
図3】第1の実施の形態による物体検出装置が実行する物体検出処理の一例を示す図である。
【
図4】第1の実施の形態による物体検出処理に係る情報の一例を示す図である。
【
図5】第1の実施の形態による前処理リストの一例を示す図である。
【
図6】第2の実施の形態による物体検出装置に係る構成の一例を示す図である。
【
図7】第3の実施の形態による物体検出装置に係る構成の一例を示す図である。
【
図8】第3の実施の形態による物体検出装置が実行する物体検出処理の一例を示す図である。
【発明を実施するための形態】
【0012】
(I)第1の実施の形態
以下、本発明の一実施の形態を詳述する。なお、以下の実施の形態では、本発明を物流現場の作業機械に適用した例について説明するが、本発明はそれに限定されるものではなく、作業機械が周辺情報を認識すべきケース(工場内の各種の機械)において広く適用することができる。
【0013】
以下、図面を参照して本発明の実施形態を説明する。実施の形態は、本発明を説明するための例示であって、説明の明確化のため、適宜、省略および簡略化がなされている。本発明は、他の種々の形態でも実行することが可能である。特に限定しない限り、各構成要素は単数でも複数でも構わない。
【0014】
図面において示す各構成要素の位置、大きさ、形状、範囲等は、発明の理解を容易にするため、実際の位置、大きさ、形状、範囲等を表していない場合がある。このため、本発明は、必ずしも、図面に開示された位置、大きさ、形状、範囲等に限定されない。
【0015】
各種情報の例として、「テーブル」、「リスト」、「キュー」等の表現にて説明することがあるが、各種情報はこれら以外のデータ構造で表現されてもよい。例えば、「XXテーブル」、「XXリスト」、「XXキュー」等の各種情報は、「XX情報」としてもよい。識別情報について説明する際に、「識別情報」、「識別子」、「名」、「ID」、「番号」等の表現を用いるが、これらについてはお互いに置換が可能である。
【0016】
同一あるいは同様の機能を有する構成要素が複数ある場合には、同一の符号に異なる添字を付して説明する場合がある。また、これらの複数の構成要素を区別する必要がない場合には、添字を省略して説明する場合がある。例えば、GPU(Graphics Processing Unit)を特に区別しないで説明する場合には、「GPU212」と記載し、個々のGPUを区別して説明する場合には、「GPU212-1」、「GPU212-2」のように記載することがある。
【0017】
実施の形態において、プログラムを実行して行う処理について説明する場合がある。ここで、計算機は、CPU(Central Processing Unit)、GPU等のプロセッサによりプログラムを実行し、記憶資源(例えば、メモリ)、インターフェースデバイス(例えば、通信ポート)等を用いながら、プログラムで定められた処理を行う。そのため、プログラムを実行して行う処理の主体を、プロセッサとしてもよい。同様に、プログラムを実行して行う処理の主体が、プロセッサを有するコントローラ、装置、システム、計算機、ノード等であってもよい。プログラムを実行して行う処理の主体は、演算部であればよく、特定の処理を行う専用回路を含んでいてもよい。ここで、専用回路とは、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)、CPLD(Complex Programmable Logic Device)等である。
【0018】
プログラムは、プログラムソースから計算機にインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバまたは計算機が読み取り可能な記憶メディアであってもよい。プログラムソースがプログラム配布サーバである場合、プログラム配布サーバは、プロセッサと配布対象のプログラムを記憶する記憶資源とを含み、プログラム配布サーバのプロセッサが配布対象のプログラムを他の計算機に配布してもよい。また、実施の形態において、2以上のプログラムが1つのプログラムとして実現されてもよいし、1つのプログラムが2以上のプログラムとして実現されてもよい。
【0019】
本明細書等における「第1」、「第2」、「第3」等の表記は、構成要素を識別するために付するものであり、必ずしも、数または順序を限定するものではない。また、構成要素の識別のための番号は、文脈毎に用いられ、1つの文脈で用いた番号が、他の文脈で必ずしも同一の構成を示すとは限らない。また、ある番号で識別された構成要素が、他の番号で識別された構成要素の機能を兼ねることを妨げるものではない。
【0020】
次に、本発明を物流現場の作業機械に接続される物体検出装置(作業機械の周辺認識機能)に適用した本実施の形態について、
図1~
図5を用いて説明する。なお、以下の説明において、各図において共通する各装置、機器等には同一の符号(番号)を用いる場合があり、すでに説明した各装置、機器等の説明を省略する場合がある。
【0021】
図1は、第1の実施の形態による物体検出装置100に係る構成の一例を示す図である。
図2は、物体検出装置100が備えるハードウェアの一例を示す図である。
図3は、物体検出装置100が実行する物体検出処理の一例を示す図である。
図4は、入力画像410と、入力画像410の推論結果420と、入力画像410の影響度分布430と、前処理領域の特定結果440と、前処理後の画像の推論結果450と、前処理後の画像の影響度分布460とを示す図である。
図5は、前処理リスト500の一例を示す図である。
【0022】
物体検出装置100には、
図2に示すように、周辺認識センサ201が接続されている。周辺認識センサ201は、センサ情報を取得するセンサの一例であり、画像を取得する単眼カメラ、画像を取得するステレオカメラ、点群情報を取得するLiDAR等が用いられる。以下では、周辺認識センサ201の例として単眼カメラ(カメラ)を用いた場合について説明する。
【0023】
物体検出装置100は、カメラで取得された入力画像に映る作業領域における物体(物品)の位置、物品の向き、物品の種類等と、当該入力画像に映る作業領域外の物体(作業者、作業機械、周辺風景等の周辺物体)の位置、周辺物体の向き、周辺物体の種類等とを推論するための第1の推論部110を備える。第1の推論部110は、物体検出アルゴリズム、骨格推定アルゴリズム、セグメンテーションアルゴリズム等、公知のアルゴリズムを用いて実現される。また、これらのアルゴリズムとしては、深層機械学習(ディープラーニング)で訓練されたDNN(Deep Neural Network)が用いられる。第1の推論部110は、入力画像に対する推論の結果(第1の推論結果)を出力する。
【0024】
物体検出装置100は、第1の推論結果に対して影響を及ぼす周辺物体(周辺画素)の影響度を算出(解析)する第1の算出部120を備える。第1の算出部120は、入力画像(入力画素)に微小な変化を与えることにより推論結果に与える影響を定量化する公知の技術、判断根拠を説明する公知の技術(Grad CAM、LIME等)を用いることで実現される。物品を検出して仕分けするタスクの作業機械の例においては、作業領域外の周辺に映りこんだ周辺物体の影響により物品見逃しが起こる場合、第1の算出部120によって周辺物体が作業領域内の推論に与える影響度が画素ごとに定量化されてマッピングされる(例えば、影響度マップ431)。定量化された影響度の分布を以下では単に「影響度」と記載し、第1の算出部120により計算(出力)されたものを「第1の影響度」と記載する。
【0025】
物体検出装置100は、第1の影響度が物品の検出(例えば、作業機械自身のタスク)に影響を与えるか否かを判定する第1の判定部130を備える。第1の判定部130には、第1の影響度と、作業領域を示す画素位置情報(例えば、領域情報432)とが入力される。第1の影響度が作業領域と重なっている場合、第1の判定部130は、「周辺物体の影響あり」と判定し、第1の推論結果の第1の信頼度(信頼度131)として出力部190に出力する。
【0026】
ここで、信頼度は、影響度が作業領域と重なる面積、または、作業領域と重なる面積とその影響度の絶対値との積等で定量化されてもよいし、作業領域にかかっているか否か(信頼度「高」または信頼度「低」の二値)で定義されていてもよい。信頼度が定量化されている場合、信頼度の高低が判定されてもよく、判定のための閾値については、ユーザまたはシステムからの要求から、実験等を通して経験的に得られる値が設定されてもよい。また、第1の判定部130は、「周辺物体の影響あり」と判定した場合は、影響元となる周辺物体のデータ位置(画素の座標)を示す情報132(影響元となる周辺物体411の領域を示す前処理領域情報、影響元となる周辺物体411のバウンディングボックス421の領域を示す前処理領域情報441等)を後段の前処理部140に出力する。
【0027】
物体検出装置100は、入力画像において、作業領域に影響のある周辺物体の画素に対して前処理をかけることを目的とした前処理部140を備える。前処理部140では、前処理リスト記憶部150から画像処理方法を選択する。前処理リスト記憶部150は、
図5に示すように、1つ以上の画像処理方法が規定された前処理リスト500を記憶する。画像処理方法としては、エッジ抽出処理、フィルタ処理、明度、輝度、コントラスト等を調整する処理、固定パターンまたはランダムパターンを加算する等の処理、背景画像と入れ替える処理等の画像処理が挙げられるが、これらに限定されるものではない。また、各画像処理方法には、各画像処理方法による前処理の効果に応じた重みが対応付けられていてもよい。重みは、例えば、前処理により影響度が最も大きくなる「-1」~前処理により影響度が最も小さくなる「+1」の範囲の値である。
【0028】
物体検出装置100は、前処理部140から出力された前処理後の画像に対して第2の推論結果を出力する第2の推論部160を備える。第2の推論部160のアルゴリズムは、第1の推論部110と同じアルゴリズムが実装され、第2の推論結果に対して影響を及ぼす周辺画素の影響度を解析する第2の算出部170によって、第2の影響度(例えば、前処理後の画像の影響度マップ461)が出力される。第2の影響度が物品の検出(例えば、作業機械自身のタスク)に影響を与えるか否かを判定する第2の判定部180により、第2の推論結果に対する第2の信頼度が出力される。
【0029】
物体検出装置100は、第1の推論結果と第2の推論結果とを保持し、第1の信頼度および第2の信頼度を比較し、信頼度の高い方の推論結果を採用して出力するとともに、推論結果に対する信頼度も出力することを目的とした出力部190を備える。例えば、出力情報191に示すように、入力画像の信頼度と前処理後の画像の信頼度とに応じて、推論結果と当該推論結果の信頼度とが出力される。また、出力部190(更新部)は、第2の推論結果の信頼度が低い場合は「-1」に近づき、第2の推論結果の信頼度が高い場合は「+1」に近づくように前処理リスト500の重みを更新してもよい。
【0030】
また、物体検出装置100は、
図2に示すように、ハードウェアとして、メモリ211、GPU212、CPU213、および通信装置214を備える。メモリ211は、各種の情報を記憶する。メモリ211は、典型的には主記憶デバイスでよい。メモリ211における少なくとも1つのメモリは、揮発性メモリであってもよいし、不揮発性メモリであってもよい。GPU212-1は、第1の推論部110の推論(例えば、DNN)を高速に演算するためのハードウェアである。GPU212-2は、第2の推論部160の推論(例えば、DNN)を高速に演算するためのハードウェアである。なお、物体検出装置100は、GPU212に加えてまたは代えて、ハードウェアアクセラレータ、FPGA等を備えていてもよい。CPU213は、各種の演算(例えば、第1の推論部110に係る演算および第2の推論部160に係る演算以外の演算)を行う。通信装置214は、推論結果および/または推論結果の信頼度を外部の装置(例えば、作業機械、作業機械の上位のシステム)に送信する。なお、物体検出装置100は、ネットワークを介してまたはネットワークを介することなく周辺認識センサ201と接続され、周辺認識センサ201により取得されたセンサ情報をメモリ211に記憶する。ただし、物体検出装置100は、この構成に限らず、例えば、周辺認識センサ201を含んで構成されていてもよい。付言するならば、物体検出装置100は、作業機械に含まれていてもよい。
【0031】
ここで、物体検出装置100の機能(第1の推論部110、第1の算出部120等)は、例えば、GPU212、CPU213等のプロセッサがプログラムをメモリ211に読み出して実行すること(ソフトウェア)により実現されてもよいし、専用の回路等のハードウェアにより実現されてもよいし、ソフトウェアとハードウェアとが組み合わされて実現されてもよい。なお、物体検出装置100の1つの機能は、複数の機能に分けられていてもよいし、複数の機能は、1つの機能にまとめられていてもよい。また、物体検出装置100の機能の一部は、別の機能として設けられてもよいし、他の機能に含められていてもよい。また、物体検出装置100の機能の一部は、物体検出装置100と通信可能な他の計算機により実現されてもよい。
【0032】
以下では、物体検出装置100における詳細な動作内容(物体検出処理)について
図3を用いて説明する。なお、物体検出処理は、例えば、1フレームごとに実行される。
【0033】
第1の推論部110は、入力画像を推論し、第1の推論結果を得る(ステップS301)。第1の算出部120は、入力画像を推論するにあたり、入力画像の各々の画素が推論結果に与える影響度を算出(解析)する(ステップS302)。第1の判定部130は、第1の算出部120により算出された第1の影響度が作業機械の作業領域にかかっているか否か(周辺物体の影響があるか否か)を判定する(ステップS303)。周辺物体の影響がない場合、出力部190は、そのまま第1の推論結果を出力し(ステップS304)、このフレームの処理は終了する。一方、周辺物体の影響がある場合は、当該周辺物体を示す領域に対して前処理が行われるため、ステップS305に処理が移る。前処理部140は、前処理の内容を前処理リスト500からランダムにまたは重みに基づいて選択し(ステップS305)、当該周辺物体を示す領域に対して前処理を実行する(ステップS306)。
【0034】
第2の推論部160は、前処理後の画像を推論し、第2の推論結果を得る(ステップS307)。第2の算出部170は、前処理後の画像を推論するにあたり、当該画像の各々の画素が推論結果に与える影響度を算出(解析)する(ステップS308)。第2の判定部180は、第2の算出部170により算出された第2の影響度が作業機械の作業領域にかかっているか否か(周辺物体の影響があるか否か)を判定する(ステップS309)。周辺物体の影響がない場合、出力部190は、第2の推論結果の信頼度を「高」として出力するとともに、前処理後の画像の第2の推論結果を出力し(ステップS310)、このフレームの処理は終了する。一方、周辺物体の影響がある場合は、出力部190は、第2の推論結果の信頼度を「低」として出力するとともに、入力画像と前処理後の画像とのうち作業領域の推論に対して信頼度が高い方(影響度が小さい方)の推論結果を出力し(ステップS311)、このフレームの処理を終了する。
【0035】
なお、信頼度が「低」である場合(または信頼度が閾値より低い場合)、出力部190は、作業機械の上位のシステムにアラートを通知してもよいし、作業機械のカメラに映りこんだ人によるものであるときは、警報音、音声通知等で推論に影響を与える要因に対して現場で直接フィードバックするように構成してもよい。
【0036】
<第1の実施の形態の効果>
以上で説明したように、物体検出装置100において作業領域外に映りこんだ他物体、風景等の影響で推論精度が劣化する場合に、推論に対する影響度を定量化することにより影響のある物体を特定し、特定した物体に対して特定の前処理を実行することにより、推論精度の劣化を抑制することが期待できる。更に、現在の作業領域における推論結果が周辺物体の影響を受けているかどうかを把握することができ、上位のシステムへのアラート通知、周辺作業員への通知等によるフィードバックが可能となる。
【0037】
(II)第2の実施の形態
第2の実施の形態について、
図6を用いて説明する。
図6は、第2の実施の形態における物体検出装置600に係る構成の一例を示す図である。
【0038】
上述した第1の実施の形態は、第1の推論部110と第2の推論部160とを含んで構成されるために、ハードウェアリソースが多く必要となってしまう(例えば、GPUが2倍必要となる)。
【0039】
この点、第2の実施の形態における物体検出装置600は、ハードウェアリソースを抑制しつつ、入力画像の作業領域以外の画素からの影響度を抑制するための構成を備える。なお、第1の実施の形態と第2の実施の形態とでは、多くの機器および動作内容が共通する。そのため、第2の実施の形態の説明では、第1の実施の形態との相違部分を中心に説明し、すでに説明した内容については省略するか、または簡単な説明に留める。
【0040】
本実施の形態における物体検出装置600の出力部610は、第1の推論部110から出力される第1の推論結果を一時的に保持するとともに、第1の算出部120で算出された影響度が、第1の判定部130において「周辺物体の影響なし」または信頼度「高」と判定された場合、第1の推論結果をそのまま出力する。
【0041】
一方で、「周辺画素の影響あり」または信頼度「低」と判定された場合、第1の推論結果はそのまま保持し続けるとともに、第1の実施の形態と同様に前処理部140で入力画像を前処理し、入力切替器620を介して前処理後の画像を第1の推論部110に入力する。以後の処理は、入力画像を入力したときと同様で、第1の推論部110から第2の推論結果を出力し、第2の影響度を第1の算出部120で算出し、作業領域に影響があるか否かを第1の判定部130で判定し、第2の推論結果の第2の信頼度を得る。第2の信頼度が「高」(周辺画素の影響なし)である場合、出力部610は、前処理された画像の推論結果(第2の推論結果)を採用して出力する。第2の信頼度が「低」(周辺物体の影響あり)である場合、出力部610は、入力画像の推論結果(第1の推論結果)の第1の信頼度と、前処理された画像の推論結果(第2の推論結果)の第2の信頼度とを比較し、高い方の推論結果を採用して出力する。
【0042】
<第2の実施の形態の効果>
以上で説明したように、物体検出装置600において作業領域外に映りこんだ他物体、風景等の影響度の定量化と作業領域への影響の有無の判定とを、第1の実施の形態に対して少ないハードウェアリソースで実現可能となる。
【0043】
(III)第3の実施の形態
第3の実施の形態について、
図7および
図8を用いて説明する。
図7は、第3の実施の形態における物体検出装置700に係る構成の一例を示す図である。
図8は、物体検出装置700が実行する物体検出処理の一例を示す図である。なお、物体検出処理は、例えば、1フレームごとに実行される。
【0044】
上述した第2の実施の形態では、推論結果を出力するまでに最大で2回の推論を行う必要があり、入力画像が入力されてから推論結果が出力されるまでのレイテンシが問題となる。また、複数の前処理の中から、その現場および状況において効果的な処理を選択する仕組みが無いために、前処理による影響度の抑制効果が得られにくい問題がある。
【0045】
この点、第3の実施の形態における物体検出装置700は、ハードウェアリソースおよびコストを抑えつつ、処理のレイテンシも低減するとともに、効果的な前処理が選択される確率を高められるように構成されている。
【0046】
物体検出装置700では、入力画像が前処理部140に入力される。前処理部140は、前処理する画素領域(前処理領域)の候補があるか否かを判定する(ステップS801)。この時点で、入力画像のどの画素領域にどのような前処理をするか決まっていない場合、すなわち前フレームまでに推論結果に影響を及ぼす画素が存在しない場合は、入力画像について特段の前処理をすることなくそのまま次段の推論部110に入力される。後述するように、前フレームで推論結果に影響を及ぼす画素が存在し、どの画素にどのような前処理をすればいいか決まっている場合は、前処理部140は、指定された前処理領域に前処理を適用し(ステップS802)、前処理後の画像が次段の推論部110に入力される。
【0047】
推論部110は、前処理部140から出力された画像(入力画像または前処理後の画像)を推論し、推論結果をそのまま出力するとともに、算出部120は、画像における画素ごとの影響度を算出する(ステップS803)。判定部130は、算出部120により算出された影響度が作業領域にかかっているか否かを判定し(ステップS804)、周辺物体の影響がない場合、推論結果の信頼度を「高」として出力し(ステップS811)、このフレームの処理は終了する。周辺物体の影響がある場合、影響度記憶部710は、影響度の情報(例えば、影響度マップ)を記憶する(ステップS805)。影響度記憶部710は、少なくとも1フレーム分の影響度の情報を記憶する領域を有し、リングバッファのように古いフレームの影響度の情報から上書きする構成としてもよい。
【0048】
次に、選択部720は、現フレームの影響度の情報と前フレームの影響度の情報とを比較する(ステップS806およびステップS807)。前フレームの影響度が保存されていない場合は、次段の前処理リスト500から、現フレームと異なる前処理のうち重みの高い前処理を選択し(ステップS810)、次フレームの入力画像に適用する。なお、ステップS810では、推論結果の信頼度が「低」として出力される。一方、前フレームの影響度が保存されている場合において、影響度が増加している場合は、現フレームで適用した前処理が悪影響を与えていることになるため、現フレームに適用されている前処理の重みを下げた上で(ステップS808)、その前処理以外で重みの高い前処理を前処理リスト500から選択する。同様に、現フレームと前フレームの影響が変わらない、または減少している場合は、現フレームで適用した前処理の重みを上げるとともに(ステップS809)、現フレームと異なる前処理のうち重みの高い前処理を前処理リスト500から選択する。
【0049】
以上のように、ハードウェアリソースおよび処理のレイテンシを増加させることなく、前処理の効果があったか否かによってそれぞれの前処理の重みを変動させることにより、その現場に対して効果的な前処理の重みが高くなり、効率的に作業領域外の影響を抑制することができる。なお、前処理の効果を示す影響度の大小は、影響度の広がりの面積を指標としてもよいし、ある閾値以上の影響度の面積を指標としてもよい。
【0050】
なお、本実施の形態における前処理に対する重みに関する処理は、第1の施の形態の前処理と第2の実施の形態の前処理とを選択する際にも、出力部190,610において信頼度を比較することで、現フレームで適用されている前処理の効果について評価(重みの更新)が可能であり、同様に適用することが可能である。
【0051】
また、重みが更新された前処理リスト500については、例えば、同じ工場、同じ物流倉庫等の現場内で同じタスクをこなす作業機械同士で共有することにより、より早く効率的にその現場に適した前処理の選択が可能となる。
【0052】
(IV)付記
上述の実施の形態には、例えば、以下のような内容が含まれる。
【0053】
上述の実施の形態においては、本発明を物体検出装置に適用するようにした場合について述べたが、本発明はこれに限らず、この他種々のシステム、装置、方法、プログラムに広く適用することができる。
【0054】
また、上述の実施の形態においては、
図3に示す物体検出処理に従って推論結果を出力する場合について述べたが、本発明はこれに限らない。例えば、出力部190は、算出部120により算出された影響度と算出部170により算出された影響度と比較し、影響度が小さい方の推論部(推論部110または推論部160)による推論の結果を出力してもよい。
【0055】
また、上述の実施の形態においては、出力部190は、入力画像の推論結果の信頼度が「高」であるときは、前処理後の画像の推論結果の信頼度にかかわりなく、入力画像の推論結果を出力する場合について述べたが、本発明はこれに限らない。例えば、入力画像の推論結果の信頼度が「高」である場合に、前処理後の画像の推論結果の信頼度が「高」であるときは、出力部190は、信頼度の高い方の推論結果を出力するようにしてもよい。
【0056】
上述した実施の形態は、例えば、以下の特徴的な構成を有する。
【0057】
(1)
センサ(例えば、周辺認識センサ201)により取得されたセンサ情報(画像、点群情報等)を用いて所定の領域(例えば、作業領域)における物体(物品、製品等)を推論する物体検出装置(物体検出装置100、物体検出装置600、物体検出装置700)であって、上記所定の領域における物体の推論の結果から、上記所定の領域外の周辺物体(作業者、作業機械、周辺風景等)が上記物体の推論に及ぼす影響を示す影響度(例えば、影響度マップ431)を算出する算出部(算出部120、回路等)と、上記算出部により算出された影響度をもとに、上記所定の領域外の周辺物体が上記所定の領域における物体の推論に影響を及ぼすか否かを判定する判定部(判定部130、回路等)と、上記センサにより取得されたセンサ情報に対して、上記判定部により影響を及ぼすと判定された周辺物体を示すデータ位置(影響元となる周辺物体411の領域を示す前処理領域情報、影響元となる周辺物体411のバウンディングボックス421の領域を示す前処理領域情報441等)に前処理を実行する前処理部(前処理部140、回路等)と、上記前処理部によりセンサ情報に対して前処理が実行された前処理後センサ情報を用いて上記所定の領域における物体を推論する推論部(推論部110、推論部160、回路等)と、を備える。
【0058】
上記構成によれば、例えば、物体の検出不良となるセンサ情報における要因に対して前処理を実行することで、意図しない検出不良を削減することができる。
【0059】
(2)
上記センサ情報を用いて上記所定の領域における物体を推論する他の推論部(推論部110、回路等)と、上記推論部(例えば、推論部160)による推論の結果から、上記所定の領域外の周辺物体が上記物体の推論に及ぼす影響を示す影響度(例えば、第2の影響度)を算出する他の算出部(算出部170、回路等)と、上記他の算出部により算出された影響度をもとに、上記所定の領域外の周辺物体が上記所定の領域における物体の推論に影響を及ぼすか否かを判定する他の判定部(判定部180、回路等)と、上記推論部による推論の結果と上記他の推論部による推論の結果との少なくとも1つを出力部(出力部190、回路等)と、を備え、上記算出部は、上記他の推論部により上記センサ情報が用いられて上記物体が推論された結果から、上記所定の領域外の周辺物体が上記物体の推論に及ぼす影響を示す影響度(例えば、第1の影響度)を算出し(例えば、ステップS302参照)、上記出力部は、上記算出部により算出された影響度(例えば、第1の影響度)と上記他の算出部により算出された影響度(例えば、第2の影響度)と比較し、影響度が小さい方の推論部による推論の結果を出力する。
【0060】
上記構成によれば、例えば、影響度が小さい推論の結果が出力されるので、検出不良となるセンサ情報における要因に対して前処理を実行することで検出精度が悪化してしまう事態を回避することができる。また、上記構成では、例えば、推論部の推論を高速に演算するためのハードウェアと他の推論部の推論を高速に演算するためのハードウェアとが別々に設けられる場合、影響度が小さい方の推論部による推論の結果を迅速に出力することができる。
【0061】
(3)
上記物体検出装置(例えば、物体検出装置600)は、上記推論部による推論の結果を出力する出力部(出力部610、回路)を備え、上記算出部は、上記推論部により上記前処理後センサ情報が用いられて上記物体が推論された結果から、上記所定の領域外の周辺物体が上記物体の推論に及ぼす影響を示す影響度(例えば、第2の影響度)を算出し、上記推論部は、上記センサ情報を用いて上記所定の領域における物体を推論し、上記算出部は、上記推論部により上記センサ情報が用いられて上記物体が推論された結果から、上記所定の領域外の周辺物体が上記物体の推論に及ぼす影響を示す影響度(例えば、第1の影響度)を算出し、上記出力部は、上記センサ情報が用いられて推論されたときの影響度(例えば、第1の影響度)と、上記前処理後センサ情報が用いられて推論されたときの影響度(例えば、第2の影響度)とを比較し、影響度が小さい方の推論の結果を出力する。
【0062】
上記構成によれば、例えば、影響度が小さい推論の結果が出力されるので、検出不良となるセンサ情報における要因に対して前処理を実行することで検出精度が悪化してしまう事態を回避することができる。また、上記構成では、例えば、センサ情報を用いて推論する推論部を実装するためのハードウェアと、前処理後センサ情報を用いて推論する推論部を実装するためのハードウェアとを別々に設ける必要がなく、コストを削減することができる。
【0063】
(4)
上記物体検出装置(例えば、物体検出装置700)は、上記センサにより取得されたセンサ情報に前処理が実行された前処理後センサ情報が用いられて上記所定の領域における物体が推論された結果から算出される上記所定の領域外の周辺物体が上記物体の推論に及ぼす影響を示す影響度を記憶する記憶部(例えば、影響度記憶部710)と、予め設けられている複数の前処理の中から、上記記憶部により記憶されている影響度をもとに、上記所定の領域における物体の推論に及ぼす影響が小さくなる前処理を選択する選択部(例えば、選択部720)と、上記推論部による推論の結果を出力する出力部(例えば、推論部110)と、を備える。
【0064】
上記構成によれば、例えば、物体の検出に及ぼす影響が小さくなる前処理が行われた前処理後センサ情報をもとに推論が行われるので、推論精度が高い推論の結果が出力されるまでの時間を短縮することができる。
【0065】
(5)
上記算出部により算出される影響度は、上記物体に影響を及ぼす範囲を示す範囲情報であり、上記物体検出装置は、上記所定の領域と上記範囲情報との重なりに基づいて上記推論部による推論の結果の信頼度を算出し、上記推論の結果と上記推論の結果の信頼度とを出力する出力部(例えば、判定部130、出力部190、出力部610)を備える。
【0066】
上記構成によれば、例えば、影響度が反映された信頼度が出力されるので、作業機械、作業機械の上位のシステムは、推論の結果を適切に使用できるようになる。
【0067】
(6)
上記物体検出装置は、予め設けられている複数の前処理の各々について、前処理が実行されたことによる影響度の増減に応じて重みが対応付けられている前処理情報(例えば、前処理リスト500)を記憶する記憶部(例えば、前処理リスト記憶部150)を備える。
【0068】
上記構成によれば、例えば、前処理の効果が大きい前処理が選択されるようになるので、物体の検出精度が向上し、意図しない検出不良をより削減することができる。
【0069】
(7)
上記物体検出装置は、前処理が実行されたことにより影響度が小さくなるときは上記前処理の重みを大きくし、前処理が実行されたことにより影響度が大きくなるときは上記前処理の重みを小さくするように、上記前処理情報を更新する更新部(選択部720(更新部)、回路等)を備える。
【0070】
上記構成によれば、例えば、現場の環境に応じて前処理情報が更新されるので、現場の環境が変化したとしても、検出不良が発生する事態を低減することができる。
【0071】
(8)
上記算出部により算出される影響度は、上記物体に影響を及ぼす範囲を示す範囲情報であり、上記前処理部は、上記所定の領域と上記範囲情報とが重なっている場合、上記複数の前処理の中から現在の前処理とは異なる前処理を選択し、上記所定の領域と上記範囲情報とが重なっていない場合、現在の前処理を継続して用いる(例えば、
図8のステップS804、ステップS810、ステップS811参照)。
【0072】
上記構成によれば、例えば、前処理の効果がある場合は継続して用いられ、前処理の効果がないときは、別の前処理が用いられるので、現場の環境が変化したとしても、効果のある前処理を適切に選択できるようになる。
【0073】
また上述した構成については、本発明の要旨を超えない範囲において、適宜に、変更したり、組み替えたり、組み合わせたり、省略したりしてもよい。
【0074】
「A、B、およびCのうちの少なくとも1つ」という形式におけるリストに含まれる項目は、(A)、(B)、(C)、(AおよびB)、(AおよびC)、(BおよびC)または(A、B、およびC)を意味することができると理解されたい。同様に、「A、B、またはCのうちの少なくとも1つ」の形式においてリストされた項目は、(A)、(B)、(C)、(AおよびB)、(AおよびC)、(BおよびC)または(A、B、およびC)を意味することができる。
【符号の説明】
【0075】
100……物体検出装置、110……推論部、120……算出部、130……判定部、140……前処理部。