(58)【調査した分野】(Int.Cl.,DB名)
撮影装置によって撮影領域が撮影されて得られた複数の画像データをテストデータとして、前記テストデータにおいて基準サイズよりも小さい物体が出現する出現数であって、前記撮影領域を構成する各領域についての出現数に応じて拡大領域を特定する領域特定部と、
前記撮影領域が撮影されて得られた画像データから、前記領域特定部によって特定された前記拡大領域の画像データを部分データとして抽出するデータ抽出部と、
前記データ抽出部によって抽出された前記部分データを画像データから物体を検出するモデルである物体検出モデルによって要求される要求サイズにサイズ変更するサイズ変更部と、
前記サイズ変更部によってサイズ変更された前記部分データを前記物体検出モデルに入力して、前記部分データから対象の物体を検出する物体検出部と
を備える物体検出装置。
前記領域特定部は、前記基準サイズを徐々に大きくしながら、前記基準サイズよりも小さい物体が出現する出現数が最も多い領域を拡大領域として特定することにより、複数の拡大領域を特定する
請求項8に記載の物体検出装置。
領域特定部が、撮影装置によって撮影領域が撮影されて得られた複数の画像データをテストデータとして、前記テストデータにおいて基準サイズよりも小さい物体が出現する出現数であって、前記撮影領域を構成する各領域についての出現数に応じて拡大領域を特定し、
データ抽出部が、前記撮影領域が撮影されて得られた画像データから、前記拡大領域の画像データを部分データとして抽出し、
サイズ変更部が、前記部分データを画像データから物体を検出するモデルである物体検出モデルによって要求される要求サイズにサイズ変更し、
物体検出部が、サイズ変更された前記部分データを前記物体検出モデルに入力して、前記部分データから対象の物体を検出する物体検出方法。
撮影装置によって撮影領域が撮影されて得られた複数の画像データをテストデータとして、前記テストデータにおいて基準サイズよりも小さい物体が出現する出現数であって、前記撮影領域を構成する各領域についての出現数に応じて拡大領域を特定する領域特定処理と、
前記撮影領域が撮影されて得られた画像データから、前記領域特定処理によって特定された前記拡大領域の画像データを部分データとして抽出するデータ抽出処理と、
前記データ抽出処理によって抽出された前記部分データを画像データから物体を検出するモデルである物体検出モデルによって要求される要求サイズにサイズ変更するサイズ変更処理と、
前記サイズ変更処理によってサイズ変更された前記部分データを前記物体検出モデルに
入力して、前記部分データから対象の物体を検出する物体検出処理と
を行う物体検出装置としてコンピュータを機能させる物体検出プログラム。
【発明の概要】
【発明が解決しようとする課題】
【0004】
例えば、画像データの奥の方に映った物体は、画像データを縮小した場合には小さくなりすぎてしまい、物体検出モデルによる検出が困難になってしまう。
本開示は、小さく映った物体についても物体検出モデルにより検出可能にすることを目的とする。
【課題を解決するための手段】
【0005】
本開示に係る物体検出装置は、
撮影装置によって撮影領域が撮影されて得られた複数の画像データをテストデータとして、前記テストデータにおいて基準サイズよりも小さい物体が出現する出現数であって、前記撮影領域を構成する各領域についての出現数に応じて拡大領域を特定する領域特定部と、
前記撮影領域が撮影されて得られた画像データから、前記領域特定部によって特定された前記拡大領域の画像データを部分データとして抽出するデータ抽出部と、
前記データ抽出部によって抽出された前記部分データを画像データから物体を検出するモデルである物体検出モデルによって要求される要求サイズにサイズ変更するサイズ変更部と、
前記サイズ変更部によってサイズ変更された前記部分データを前記物体検出モデルに入力して、前記部分データから対象の物体を検出する物体検出部と
を備える。
【0006】
前記領域特定部は、前記出現数が閾値よりも多い領域、又は、他の領域における前記出現数が閾値よりも少ない領域を前記拡大領域として特定する。
【0007】
前記領域特定部は、前記出現数が最も多い領域、又は、他の領域における前記出現数が最も少ない領域を前記拡大領域として特定する。
【0008】
前記領域特定部は、
前記撮影領域における複数の領域それぞれを計算領域として、各計算領域について前記基準サイズよりも小さい物体が出現する出現数を計算する出現数計算部と、
前記出現数計算部によって計算された前記出現数が多い一部の計算領域をエリート領域として抽出するエリート抽出部と、
前記エリート抽出部によって抽出された前記エリート領域を突然変異と交叉とのいずれかによって変更した変更領域を生成する領域変更部と、
前記前記エリート領域と、前記領域変更部によって生成された前記変更領域との領域それぞれを新たに前記計算領域として設定する領域設定部と、
前記領域設定部によって基準回目に設定された前記計算領域について計算された前記出現数が前記閾値よりも多い計算領域を前記拡大領域として特定する特定部と
を備える。
【0009】
前記物体検出装置は、さらに、
センサによって検出された前記テストデータに含まれる物体を対象の物体として、前記撮影装置から前記対象の物体までの距離に応じたサイズの図形を、前記対象の物体の位置に設定することにより、前記テストデータに含まれる物体の位置及びサイズを表すアノテーションデータを生成するデータ生成部
を備え、
前記領域特定部は、前記データ生成部によって生成された前記アノテーションデータに基づき、前記基準サイズよりも小さい物体が出現する出現数を計算する。
【0010】
前記物体検出装置は、さらに、
前記撮影領域に検出対象の物体が存在しない状態で前記撮影領域が撮影されて得られた背景データと、前記テストデータである前記複数の画像データそれぞれとの差分がある箇所を囲む図形を設定することにより、前記テストデータに含まれる物体の位置及びサイズを表すアノテーションデータを生成するデータ生成部
を備え、
前記領域特定部は、前記データ生成部によって生成された前記アノテーションデータに基づき、前記基準サイズよりも小さい物体が出現する出現数を計算する。
【0011】
前記データ抽出部は、前記撮影領域が撮影されて得られた画像データから、検出対象領域を含む領域の画像データを対象データとして抽出し、
前記サイズ変更部は、前記対象データ及び前記部分データそれぞれを前記要求サイズにサイズ変更し、
前記物体検出部は、サイズ変更された前記対象データ及び前記部分データそれぞれを前記物体検出モデルに入力して、前記対象データ及び前記部分データそれぞれから対象の物体を検出する。
【0012】
前記領域特定部は、出現数が閾値よりも多い複数の領域それぞれを拡大領域として特定し、
前記データ抽出部は、各拡大領域の画像データを部分データとして抽出し、
前記サイズ変更部は、前記各拡大領域についての部分データを画像データから前記要求サイズにサイズ変更し、
前記物体検出部は、サイズ変更された前記各拡大領域についての部分データを前記物体検出モデルに入力して、前記各拡大領域についての部分データから対象の物体を検出する。
【0013】
前記領域特定部は、前記基準サイズを徐々に大きくしながら、前記基準サイズよりも小さい物体が出現する出現数が最も多い領域を拡大領域として特定することにより、複数の拡大領域を特定する。
【0014】
本開示に係る物体検出方法は、
領域特定部が、撮影装置によって撮影領域が撮影されて得られた複数の画像データをテストデータとして、前記テストデータにおいて基準サイズよりも小さい物体が出現する出現数であって、前記撮影領域を構成する各領域についての出現数に応じて拡大領域を特定し、
データ抽出部が、前記撮影領域が撮影されて得られた画像データから、前記拡大領域の画像データを部分データとして抽出し、
サイズ変更部が、前記部分データを画像データから物体を検出するモデルである物体検出モデルによって要求される要求サイズにサイズ変更し、
物体検出部が、サイズ変更された前記部分データを前記物体検出モデルに入力して、前記部分データから対象の物体を検出する。
【0015】
本開示に係る物体検出プログラムは、
撮影装置によって撮影領域が撮影されて得られた複数の画像データをテストデータとして、前記テストデータにおいて基準サイズよりも小さい物体が出現する出現数であって、前記撮影領域を構成する各領域についての出現数に応じて拡大領域を特定する領域特定処理と、
前記撮影領域が撮影されて得られた画像データから、前記領域特定処理によって特定された前記拡大領域の画像データを部分データとして抽出するデータ抽出処理と、
前記データ抽出処理によって抽出された前記部分データを画像データから物体を検出するモデルである物体検出モデルによって要求される要求サイズにサイズ変更するサイズ変更処理と、
前記サイズ変更処理によってサイズ変更された前記部分データを前記物体検出モデルに入力して、前記部分データから対象の物体を検出する物体検出処理と
を行う物体検出装置としてコンピュータを機能させる。
【発明の効果】
【0016】
本開示では、テストデータにおいて基準サイズよりも小さい物体が出現する出現数に応じて拡大領域を特定する。これにより、小さい物体についても物体検出モデルにより検出可能になる。
【発明を実施するための形態】
【0018】
実施の形態1.
***構成の説明***
図1を参照して、実施の形態1に係る物体検出装置10の構成を説明する。
物体検出装置10は、コンピュータである。
物体検出装置10は、プロセッサ11と、メモリ12と、ストレージ13と、通信インタフェース14とのハードウェアを備える。プロセッサ11は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【0019】
プロセッサ11は、プロセッシングを行うIC(Integrated Circuit)である。プロセッサ11は、具体例としては、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)である。
【0020】
メモリ12は、データを一時的に記憶する記憶装置である。メモリ12は、具体例としては、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)である。
【0021】
ストレージ13は、データを保管する記憶装置である。ストレージ13は、具体例としては、HDD(Hard Disk Drive)である。また、ストレージ13は、SD(登録商標,Secure Digital)メモリカード、CF(CompactFlash,登録商標)、NANDフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD(Digital Versatile Disk)といった可搬記録媒体であってもよい。
【0022】
通信インタフェース14は、外部の装置と通信するためのインタフェースである。通信インタフェース14は、具体例としては、Ethernet(登録商標)、USB(Universal Serial Bus)、HDMI(登録商標,High−Definition Multimedia Interface)のポートである。
【0023】
物体検出装置10は、通信インタフェース14を介して、監視カメラといった撮影装置41と接続されている。
【0024】
物体検出装置10は、機能構成要素として、設定読込部21と、画像取得部22と、データ抽出部23と、サイズ変更部24と、物体検出部25と、統合部26とを備える。物体検出装置10の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ13には、物体検出装置10の各機能構成要素の機能を実現するプログラムが格納されている。このプログラムは、プロセッサ11によりメモリ12に読み込まれ、プロセッサ11によって実行される。これにより、物体検出装置10の各機能構成要素の機能が実現される。
【0025】
ストレージ13には、物体検出モデル31と、設定データ32とが記憶される。
【0026】
図1では、プロセッサ11は、1つだけ示されていた。しかし、プロセッサ11は、複数であってもよく、複数のプロセッサ11が、各機能を実現するプログラムを連携して実行してもよい。
【0027】
***動作の説明***
図2から
図5を参照して、実施の形態1に係る物体検出装置10の動作を説明する。
実施の形態1に係る物体検出装置10の動作手順は、実施の形態1に係る物体検出方法に相当する。また、実施の形態1に係る物体検出装置10の動作を実現するプログラムは、実施の形態1に係る物体検出プログラムに相当する。
【0028】
(
図2のステップS11:設定読込処理)
設定読込部21は、検出対象領域33及び拡大領域34を示す設定データ32をストレージ13から読み込む。
検出対象領域33は、撮影装置41によって撮影される撮影領域のうち対象の物体を検出する領域である。
拡大領域34は、検出対象領域33のうち小さく映った物体を検出する領域である。実施の形態1では、
図3に示すように、拡大領域34は、画像データの奥の方の領域である。つまり、実施の形態1では、拡大領域34は、検出対象領域33における撮影装置41の撮影領域のうち奥行方向の距離が基準距離以上の領域を含む領域である。なお、奥行方向の手前側の領域であっても小さな物体を対象の物体として扱う領域については、拡大領域34として設定される可能性もある。また、検出対象領域33のうち拡大領域34を複数設定してもよい。
【0029】
実施の形態1では、検出対象領域33及び拡大領域34を示す設定データ32は、物体検出装置10の管理者等によって事前に設定され、ストレージ13に記憶されるものとした。しかし、ステップS11の処理において、設定読込部21が検出対象領域33及び拡大領域34を管理者等に指定させてもよい。つまり、例えば、設定読込部21は、撮影領域を表示して、撮影領域のうちどの領域を検出対象領域33とし、どの領域を拡大領域34とするかを指定させ、その指定に基づき、設定データ32を生成する機能を有してもよい。また設定データ32を撮影装置41ごとに、又は、撮影装置41をグルーピングしたグループごとに、ストレージ13に記憶するように構成してもよい。その場合、ステップS11では、画像データを取得する撮影装置41に対応した設定データ32が読み込まれる。
【0030】
(
図2のステップS12:画像取得処理)
画像取得部22は、通信インタフェース14を介して、撮影装置41によって撮影領域が撮影されて得られた最新のフレームの画像データを取得する。
【0031】
(
図2のステップS13:データ抽出処理)
データ抽出部23は、ステップS12で取得された画像データのうち、ステップS11で読み込まれた設定データ32が示す検出対象領域33を含む領域の画像データを対象データ35として抽出する。実施の形態1では、データ抽出部23は、ステップS12で取得された画像データをそのまま対象データ35に設定する。また、データ抽出部23は、対象データのうち、ステップS11で読み込まれた設定データ32が示す拡大領域34の画像データを部分データ36として抽出する。
具体例としては、ステップS12で
図4に示す画像データが取得された場合には、データ抽出部23は、
図4に示す画像データをそのまま対象データ35に設定し、
図4に示す画像データのうち拡大領域34部分の画像データを部分データ36として抽出する。
【0032】
(
図2のステップS14:サイズ変更処理)
サイズ変更部24は、抽出された対象データ35及び部分データ36それぞれを物体検出モデル31によって要求される要求サイズにサイズ変更する。物体検出モデル31は、ディープラーニングといった手法によって生成されたモデルであり、画像データから対象の物体を検出するモデルである。
具体例としては、
図5に示すように、対象データ35が横1920ピクセル×縦1200ピクセルの画像データであり、部分データ36が横320ピクセル×縦240ピクセルの画像データであったとする。また、要求サイズが横512ピクセル×縦512ピクセルであったとする。この場合には、サイズ変更部24は、対象データ35を縮小して、横512ピクセル×縦512ピクセルの画像データに変換する。また、サイズ変更部24は、部分データ36を拡大して、横512ピクセル×縦512ピクセルの画像データに変換する。
なお、対象データ35については、原則として縮小されることを想定する。つまり、要求サイズは、対象データ35のサイズよりも小さいことを想定する。しかし、部分データ36については、拡大領域34の大きさによって拡大される場合と縮小される場合とがある。但し、部分データ36は、対象データ35の一部の画像データであるため、縮小される場合であっても対象データ35ほどの倍率で縮小されることはない。
【0033】
(
図2のステップS15:物体検出処理)
物体検出部25は、ステップS14でサイズ変更された対象データ35及び部分データ36それぞれを物体検出モデル31に入力して、対象データ35及び部分データ36それぞれから対象の物体を検出する。そして、物体検出部25は、対象データ35から検出された結果を第1結果データ37とし、部分データ36から検出された結果を第2結果データ38とする。
具体例としては、物体検出部25は、
図5に示すように横512ピクセル×縦512ピクセルの画像データに変換された対象データ35及び部分データ36それぞれを物体検出モデル31に入力する。すると、対象データ35からは物体Xが検出される。また、部分データ36からは物体Yが検出される。なお、対象データ35にも物体Yは含まれている。しかし、対象データ35では物体Yは非常に小さいため、対象データ35から物体Yは検出されない可能性がある。
【0034】
(
図2のステップS16:統合処理)
統合部26は、対象データ35から抽出された結果を示す第1結果データ37と、部分データ36から抽出された第2結果データ38とを統合した統合結果データを生成する。
この際、第1結果データ37及び第2結果データ38に同一の物体が含まれている可能性がある。具体例としては、
図5に示す対象データ35からも物体Yが検出された場合には、対象データ35及び部分データ36から同一の物体Yが検出されることになる。そこで、統合部26は、同一の物体については1つの物体になるように、第1結果データ37と第2結果データ38とを統合する。つまり、統合部26は、対象データ35及び部分データ36から同一の物体Yが検出された場合であっても、統合結果データには物体Yが1つだけ含まれるように、第1結果データ37と第2結果データ38とを統合する。
例えば、統合部26は、NMS(Non Maximum Suppression)といった手法を用いて、第1結果データ37と第2結果データ38とを統合する。
【0035】
***実施の形態1の効果***
以上のように、実施の形態1に係る物体検出装置10は、対象データ35だけでなく部分データ36も要求サイズにサイズ変更した上で、物体検出モデル31に入力して対象の物体を検出する。これにより、画像データの奥の方に映った物体のように、小さく映った物体についても物体検出モデル31により検出可能になる。
【0036】
つまり、
図5の対象データ35には物体X及び物体Yが含まれている。しかし、物体検出モデル31に入力される場合には、対象データ35が要求サイズにサイズ変更されてしまい、物体Yは非常に小さくなってしまう。そのため、対象データ35からは、本来検出されるべき物体Yは検出されなくなってしまう。
しかし、対象データ35とは別に部分データ36についても要求サイズにサイズ変更された上で、物体検出モデル31に入力される。部分データ36は、対象データ35の一部の画像データである。したがって、サイズ変更された後の部分データ36に含まれる物体Yは、サイズ変更された後の対象データ35に含まれる物体Yに比べ大きい。そのため、部分データ36からは物体Yが検出しやすくなる。
【0037】
また、実施の形態1に係る物体検出装置10は、同一の物体については1つの物体になるように、第1結果データ37と第2結果データ38とを統合して統合結果データを生成する。これにより、1つの物体が対象データ35あるいは部分データ36の一方から検出された場合、対象データ35および部分データ36の双方から検出された場合のどちらの場合も、1つの物体が検出された統合結果データを得ることができる。
【0038】
***他の構成***
<変形例1>
撮影装置41と物体を検知したい領域との距離又は角度等により、拡大領域34は画像データの奥の方の領域に限定されずに、中央付近の領域とする場合が考えられる。また撮影装置41の撮影領域によっては、拡大領域34を複数設定する場合もある。
つまり小さく映った物体を検出する領域として、拡大領域34は画像データ上の任意の領域を範囲として、任意の数の設定を行うことができる。それらの個別の条件を撮影装置41ごとの設定データ32に設定することにより、撮影装置41ごとに部分データ36の抽出が可能となる。
【0039】
<変形例2>
実施の形態1では、各機能構成要素がソフトウェアで実現された。しかし、変形例2として、各機能構成要素はハードウェアで実現されてもよい。この変形例2について、実施の形態1と異なる点を説明する。
【0040】
図6を参照して、変形例2に係る物体検出装置10の構成を説明する。
各機能構成要素がハードウェアで実現される場合には、物体検出装置10は、プロセッサ11とメモリ12とストレージ13とに代えて、電子回路15を備える。電子回路15は、各機能構成要素と、メモリ12と、ストレージ13との機能とを実現する専用の回路である。
【0041】
電子回路15としては、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA(Gate Array)、ASIC(Application Specific Integrated Circuit)、FPGA(Field−Programmable Gate Array)が想定される。
各機能構成要素を1つの電子回路15で実現してもよいし、各機能構成要素を複数の電子回路15に分散させて実現してもよい。
【0042】
<変形例3>
変形例3として、一部の各機能構成要素がハードウェアで実現され、他の各機能構成要素がソフトウェアで実現されてもよい。
【0043】
プロセッサ11とメモリ12とストレージ13と電子回路15とを処理回路という。つまり、各機能構成要素の機能は、処理回路により実現される。
【0044】
実施の形態2.
実施の形態2は、部分データ36のみを物体検出モデル31に入力する点が実施の形態1と異なる。実施の形態2では、この異なる点を説明し、同一の点については説明を省略する。
【0045】
***動作の説明***
図2及び
図7を参照して、実施の形態2に係る物体検出装置10の動作を説明する。
実施の形態2に係る物体検出装置10の動作手順は、実施の形態2に係る物体検出方法に相当する。また、実施の形態2に係る物体検出装置10の動作を実現するプログラムは、実施の形態2に係る物体検出プログラムに相当する。
【0046】
ステップS12の処理は、実施の形態1と同じである。
【0047】
(
図2のステップS11:設定読込処理)
設定読込部21は、実施の形態1と同様に、検出対象領域33及び拡大領域34を示す設定データ32をストレージ13から読み込む。
実施の形態2では、
図7に示すように、検出対象領域33を概ね覆うように複数の拡大領域34が設定されている。各拡大領域34は、撮影装置41によって得られる画像データの位置に応じたサイズの領域が設定される。つまり、拡大領域34は、対象の物体が小さい位置ほど、小さい領域が設定される。例えば、拡大領域34は、画像データの奥の方の領域ほど小さいサイズの領域が設定され、画像データの手前の方の領域ほど大きいサイズの領域が設定される。
【0048】
(
図2のステップS13:データ抽出処理)
データ抽出部23は、ステップS12で取得された画像データのうち、ステップS11で読み込まれた設定データ32が示す複数の拡大領域34それぞれの画像データを部分データ36として抽出する。
【0049】
(
図2のステップS14:サイズ変更処理)
サイズ変更部24は、抽出された複数の部分データ36それぞれを物体検出モデル31によって要求される要求サイズにサイズ変更する。
【0050】
(
図2のステップS15:物体検出処理)
物体検出部25は、ステップS14でサイズ変更された複数の部分データ36それぞれを物体検出モデル31に入力して、複数の部分データ36それぞれから対象の物体を検出する。そして、物体検出部25は、複数の部分データ36それぞれから検出された結果を第2結果データ38とする。
【0051】
(
図2のステップS16:統合処理)
統合部26は、複数の部分データ36それぞれから抽出された第2結果データ38を統合した統合結果データを生成する。この際、複数の第2結果データ38に同一の物体が含まれている可能性がある。そこで、統合部26は、同一の物体については1つの物体になるように、複数の第2結果データ38を統合する。
【0052】
***実施の形態2の効果***
以上のように、実施の形態2に係る物体検出装置10は、画像データにおける位置に応じたサイズの複数の拡大領域34を設定し、各拡大領域34の部分データ36を入力として対象の物体を検出する。これにより、画像データにおける位置に応じた適切なサイズの画像データから物体検出モデル31により検出が行われることになる。その結果、検出精度が高くなる可能性がある。
なお
図7を用いて説明した拡大領域34は、検出対象領域33を概ね覆うように複数設定されているが、必ずしも拡大領域34で検出対象領域33を覆う必要はない。撮影装置41の撮影領域に応じて、検出対象領域33上に重点的に検出すべき領域や物体がある場合、逆に検出対象領域33上に検出不要とする領域がある場合、撮影装置41毎に検出対象領域33の一部に複数の拡大領域34を設定するように、設定データ32を設定してもよい。
【0053】
実施の形態3.
実施の形態3は、物体検出モデル31を生成する点が実施の形態1,2と異なる。実施の形態2では、この異なる点を説明し、同一の点については説明を省略する。
実施の形態3では、実施の形態1に対応した物体検出モデル31を生成する場合について説明する。
【0054】
***構成の説明***
図8を参照して、実施の形態3に係る物体検出装置10の構成を説明する。
物体検出装置10は、機能構成要素として、学習部27を備える点が実施の形態1と異なる。学習部27は、他の機能構成要素と同様に、ソフトウェア又はハードウェアによって実現される。
【0055】
***動作の説明***
図9を参照して、実施の形態3に係る物体検出装置10の動作を説明する。
実施の形態3に係る物体検出装置10の動作手順は、実施の形態3に係る物体検出方法に相当する。また、実施の形態3に係る物体検出装置10の動作を実現するプログラムは、実施の形態3に係る物体検出プログラムに相当する。
【0056】
ステップS21からステップS24の処理は、実施の形態1における
図2のステップS11からステップS14の処理と同じである。
【0057】
(
図9のステップS25:学習処理)
学習部27は、ステップS23でサイズ変更された対象データ35及び部分データ36それぞれを学習データとして与えることにより、ディープラーニングといった処理により物体検出モデル31を生成する。ここで、対象データ35及び部分データ36は、
図2で説明した処理における対象データ35及び部分データ36と同じ領域の画像データである。
なお、対象データ35及び部分データ36それぞれについて、含まれる対象の物体が人手等で特定され教師付きの学習データが生成されてもよい。そして、学習部27は、教師付きの学習データを与えて学習させてもよい。
【0058】
***実施の形態3の効果***
以上のように、実施の形態3に係る物体検出装置10は、対象データ35だけでなく部分データ36も学習データとして与えることにより、物体検出モデル31を生成する。部分データ36は、サイズの拡大に伴い、対象データ35と比較すると、一部又は全体の画像が不鮮明になる可能性がある。拡大に伴い、不鮮明な部分を含む画像データが学習データとして与えられていない場合には、不鮮明な部分を含む画像データからの検出精度が低くなってしまう場合がある。
そのため、対象データ35だけを学習データとして与え物体検出モデル31を生成すると、部分データ36から物体を検出する処理の精度が低くなる可能性がある。しかし、実施の形態3に係る物体検出装置10は、部分データ36も学習データとして与えることにより、部分データ36から物体を検出する処理の精度を高くすることができる。
【0059】
***他の構成***
<変形例4>
実施の形態3では、実施の形態1に対応した物体検出モデル31を生成する場合について説明した。実施の形態2に対応した物体検出モデル31を生成することも可能である。
この場合には、ステップS21からステップS24の処理は、実施の形態2における
図2のステップS11からステップS14の処理と同じである。
図9のステップS25では、学習部27は、ステップS23でサイズ変更された複数の部分データ36それぞれを学習データとして与えることにより、ディープラーニングといった処理により物体検出モデル31を生成する。これにより、実施の形態3と同様の効果を奏する。
【0060】
<変形例5>
実施の形態3及び変形例4では、物体検出装置10が物体検出モデル31を生成した。しかし、物体検出装置10とは別の学習装置50が物体検出モデル31を生成してもよい。
図10に示すように、学習装置50は、コンピュータである。学習装置50は、プロセッサ51と、メモリ52と、ストレージ53と、通信インタフェース54とのハードウェアを備える。プロセッサ51とメモリ52とストレージ53と通信インタフェース54とは、物体検出装置10のプロセッサ11とメモリ12とストレージ13と通信インタフェース14と同じである。
学習装置50は、機能構成要素として、設定読込部61と、画像取得部62と、データ抽出部63と、サイズ変更部64と、学習部65とを備える。学習装置50の各機能構成要素の機能はソフトウェアにより実現される。設定読込部61と画像取得部62とデータ抽出部63とサイズ変更部64と学習部65とは、物体検出装置10の設定読込部21と画像取得部22とデータ抽出部23とサイズ変更部24と学習部27と同じである。
【0061】
なお、各実施の形態における物体検出装置10は、無人搬送車(AGV,Automated guided vehicle)に適用するようにしてもよい。誘導方式として画像認識方式を採用する無人搬送車においては、床や天井に描かれた記号を読み取り、それによって自車の位置を把握するようにしている。本開示における物体検出装置を無人搬送車に適用することで、小さく映ったマークについても検出できるようになるため、より高精度な移動が可能な無人搬送車を提供することができる。
【0062】
実施の形態4.
実施の形態4では、拡大領域の特定方法を説明する。実施の形態4では、実施の形態1と異なる点を説明し、同一の点については説明を省略する。
【0063】
***構成の説明***
図11を参照して、実施の形態4に係る物体検出装置10の構成を説明する。
物体検出装置10は、機能構成要素として領域特定部28を備える点が
図1に示す物体検出装置10と異なる。なお、
図11では、
図1に示す機能構成要素が省略されている。領域特定部28は、データ取得部281と、出現数計算部282と、エリート抽出部283と、領域変更部284と、領域設定部285と、特定部286とを備える。領域特定部28は、他の機能構成要素と同様に、ソフトウェア又はハードウェアによって実現される。
【0064】
***動作の説明***
図12から
図17を参照して、実施の形態4に係る物体検出装置10の動作を説明する。
実施の形態4に係る物体検出装置10の動作手順は、実施の形態4に係る物体検出方法に相当する。また、実施の形態4に係る物体検出装置10の動作を実現するプログラムは、実施の形態4に係る物体検出プログラムに相当する。
【0065】
領域特定部28は、撮影装置41によって撮影領域が撮影されて得られた複数の画像データをテストデータに設定する。領域特定部28は、テストデータにおいて基準サイズよりも小さい物体が出現する出現数であって、撮影領域を構成する各領域についての出現数に応じて拡大領域34を特定する。
具体的には、領域特定部28は、出現数が閾値よりも多い領域、又は、他の領域における出現数が閾値よりも少ない領域を拡大領域として特定する。領域特定部28は、出現数が閾値よりも多い複数の領域をそれぞれ拡大領域34としてもよいし、出現数が最も多い領域を拡大領域34としてもよい。また、領域特定部28は、複数の領域を除く他の領域における出現数が閾値よりも少なくなるような複数の領域それぞれを拡大領域34としてもよいし、他の領域における出現数が最も少なくなる1つの領域を拡大領域34としてもよい。
【0066】
実施の形態4では、遺伝的アルゴリズムを用いて拡大領域34を特定する。
図2のステップS11では、領域特定部28によって特定された拡大領域34を示す設定データ32が読み込まれる。
【0067】
ここでは、出現数が多い1つの領域を拡大領域34として特定する場合について説明する。
【0068】
(
図12のステップS31:データ取得処理)
データ取得部281は、テストデータである各画像データについてのアノテーションデータ71を取得する。
アノテーションデータ71は、画像データに含まれる各物体について、種別と、位置と、サイズとを示すデータである。種別は、車両と人といった物体の分類を表す。位置は、画像データにおいて物体が位置する座標値である。サイズは、実施の形態4では、物体を囲む矩形の大きさである。
【0069】
(
図12のステップS32:初期設定処理)
領域設定部285は、撮影領域における複数の領域それぞれを初期の計算領域として設定する。領域設定部285は、例えば、各計算領域をランダムに設定する。実施の形態4では、計算領域の縦及び横のサイズは予め定められた一定サイズとする。
【0070】
ステップS33からステップS35の処理が基準回−1繰り返し実行される。ここでは、基準回をN_GENと表す。
【0071】
(
図12のステップS33:出現数計算処理)
出現数計算部282は、ステップS31で取得されたアノテーションデータ71を入力として、各計算領域について基準サイズよりも小さい物体が出現する出現数を計算する。
具体的には、出現数計算部282は、アノテーションデータ71から対象の種別についてのデータを抽出する。出現数計算部282は、抽出された対象の種別についてのデータから、基準サイズよりも小さい物体のデータを抽出する。基準サイズは、事前に設定されたサイズである。基準サイズは、例えば、物体検出モデル31による検出精度が基準値よりも悪くなるサイズである。出現数計算部282は、各計算領域を対象として、アノテーションデータ71が示す位置が対象の計算領域に含まれる物体の数を、対象の計算領域についての出現数として計算する。
ここでは、計算領域の数をN_POP個であるとする。
【0072】
図13及び
図14を参照して具体例を説明する。
図13では、対象の種別は車両としている。また、
図13の下部に示すアノテーションデータ71では、位置情報として物体を囲む矩形の左上の座標値をxmin及びyminとし、物体を囲む矩形の右下の座標値をxmax及びymaxとしている。また、
図13のアノテーションデータ71では、xmin及びyminとxmax及びymaxとから特定される矩形のサイズを、画像データのサイズで除して得られた値を物体のサイズobj_sizeとしている。基準サイズが0.002である場合には、
図13の右側に示すように、obj_sizeが基準サイズより小さい8個の物体のデータが抽出される。
そして、
図14に示すように、各計算領域を対象として、対象の計算領域に含まれる物体の数が計算される。
図14では、抽出された全ての物体に対する対象の計算領域に含まれる物体の割合がスコアとして計算されている。なお、
図14では、各計算領域は、左上の座標値であるxmin及びyminで表されている。上述した通り、計算領域の形状及びサイズは一定であるため、左上の座標値が分かれば計算領域を特定可能である。
なおスコアは、ステップS33で説明した、出現数計算部282が算出する出現数の具体例である。計算領域が一定の形状及びサイズである場合、スコアではなく、出現数で以降の処理を行ってもよい。
【0073】
(
図12のステップS34:エリート抽出処理)
エリート抽出部283は、ステップS34で計算された出現数が多い一部の計算領域をエリート領域として抽出する。
具体的には、エリート抽出部283は、出現数が多い方から、抽出数の計算領域をエリート領域として抽出する。抽出数は、事前に設定される。抽出数は、例えば、計算領域数の2割と設定される。
【0074】
図15では、
図14と同様に、各計算領域について上述したスコアが計算されている。スコアの高い順に抽出数の計算領域がエリート領域として抽出される。これにより、出現数が多い抽出数の計算領域がエリート領域として抽出されることになる。
【0075】
(
図12のステップS35:領域変更処理)
領域変更部284は、ステップS34で抽出されたエリート領域を突然変異と交叉とのいずれかによって変更して変更領域を生成する。ここでは、領域変更部284は、N_POPから抽出数を減算した数だけ、変更領域を生成する。
具体的には、領域変更部284は、変異確率で突然変異を採用し、(1−変異確率)で交叉を採用する。領域変更部284は、採用された突然変異又は交叉によって、エリート領域を変更して、変更領域を生成する。
ここで、突然変異による変更では、領域変更部284は、あるエリート領域のxmin又はyminをランダムに変更して変更領域を生成する。
図16では、1行目のエリート領域のyminがランダムに変更されて、変更領域が生成されている。交叉による変更では、領域変更部284は、ある2つのエリート領域のうち一方のエリート領域のxminと他方のエリート領域のyminとを採用して、変更領域を生成する。
図16では、2行目のエリート領域のyminと3行目のエリート領域のxminとが採用されて、変更領域が生成されている。
領域設定部285は、ステップS34で抽出されたエリート領域と、生成された変更領域とのそれぞれを新たな計算領域として設定する。これにより、N_POP個の計算領域が新たに設定される。
【0076】
(
図12のステップS36:特定処理)
出現数計算部282は、基準回目(N_GEN目)のステップS35で設定された各計算領域について出現数を計算する。そして、特定部286は、計算された出現数が閾値よりも多い計算領域を拡大領域34として特定する。ここでは、特定部286は、出現数が閾値よりも多い領域のうち、最も出現数が多い計算領域を拡大領域34として設定する。その結果、
図17のように、多くの小さい物体を含む領域が拡大領域34として設定される。
なお、特定部286は、出現数が閾値よりも多い領域のうち、2つ以上の計算領域を拡大領域34として設定してもよい。また閾値は、0以上の整数を任意に設定することができる。
【0077】
ここでは、出現数が多い1つの領域を拡大領域34として特定する場合について説明した。しかし、以下のように変更することにより、他の領域における出現数が少ない領域を拡大領域34として特定することも可能である。
ステップS33及びステップS36で出現数計算部282が各計算領域を対象として、対象の計算領域外にある小さい物体の出現数を計算する。ステップS34でエリート抽出部283が、計算領域外の出現数が少ない方から、抽出数の計算領域をエリート領域として抽出する。ステップS36で計算領域外の出現数が少ない計算領域のうち、最も出現数が少ない計算領域を拡大領域34として設定する。なお、この場合にも、特定部286は、2つ以上の計算領域を拡大領域34として設定してもよい。
また出現数が閾値より多い領域が特定できない場合、基準サイズの数値が小さいと判定し、基準サイズの数値を大きく変更することも可能である。つまり出現数が閾値より多くなる領域が特定できないのは、基準サイズの設定が小さいためと判定し、基準サイズを大きくすることにより、出現数を増やすように動作する。
【0078】
***実施の形態4の効果***
以上のように、実施の形態4に係る物体検出装置10は、テストデータにおいて基準サイズよりも小さい物体が出現する出現数に応じて拡大領域34を特定する。これにより、拡大領域34を適切に設定することが可能である。その結果、小さく映った物体についても物体検出モデル31により検出可能になる。
なおテストデータとは、前述したとおり、拡大領域34を設定するため、撮影装置41によって撮影領域が撮影されて得られた複数の画像データを示すが、学習データであってもよい。
【0079】
実施の形態4に係る物体検出装置10は、遺伝的アルゴリズムを用いて拡大領域34を設定する。最適化手法としては、遺伝的アルゴリズム以外にも、アニーリングといった他の手法があり、遺伝的アルゴリズムに代えて他の最適化手法を用いることも可能である。しかし、遺伝的アルゴリズムでは、突然変異と交叉とを用いて変更領域を生成するため、アニーリングのように局所安定に陥りにくく、一定基準値以上の解を少ない計算量で求めることができる。
【0080】
***他の構成***
<変形例6>
計算領域を大きくすれば多くの小さい物体を含み易くなり、画像データ全体を計算領域とすれば全ての小さい物体を含むことになる。そのため、計算領域のサイズを任意に変更可能としてしまうと、処理を繰り返し、最適化が進むにつれ、計算領域のサイズが大きくなる可能性が高い。拡大領域34のサイズが大きくなってしまうと、小さい物体を検出可能にするという目的を達成できなくなってしまう。そのため、実施の形態4では、計算領域のサイズは一定とした。
しかし、事前に設定した上限以下であれば、計算領域のサイズを変更可能にしてもよい。なお、アスペクト比が変わると、物体検出モデル31での検出に悪影響を及ぼす恐れがある。そのため、アスペクト比は固定してもよい。
【0081】
<変形例7>
実施の形態4では、実施の形態1における拡大領域34を特定することを想定した。しかし、実施の形態2における拡大領域34を特定することも可能である。
実施の形態2における拡大領域34は、検出対象領域33を概ね覆うように設定される必要がある。そこで、物体検出装置10は、
図18に示す処理を行う。
【0082】
ステップS31からステップS36の処理は、実施の形態4と同じである。
【0083】
(
図18のステップS37:繰り返し判定処理)
特定部286は、検出対象領域33の基準割合以上が過去に特定された拡大領域34によって覆われているか否かを判定する。
特定部286は、基準割合以上が覆われている場合には、処理を終了する。一方、特定部286は、基準割合以上が覆われていない場合には、基準サイズを大きくした上で、処理をステップS32に戻す。
【0084】
基準サイズを大きくすることにより、異なる領域が拡大領域34として選択されるようになる。その結果、検出対象領域33を概ね覆うように複数の拡大領域34を設定することが可能になる。
【0085】
実施の形態5.
実施の形態5では、アノテーションデータ71を簡易的に設定する方法を説明する。実施の形態5では、実施の形態4と異なる点を説明し、同一の点については説明を省略する。
【0086】
***構成の説明***
図19を参照して、実施の形態5に係る物体検出装置10の構成を説明する。
物体検出装置10は、機能構成要素として、データ生成部29を備える点が
図11に示す物体検出装置10と異なる。データ生成部29は、他の機能構成要素と同様に、ソフトウェア又はハードウェアによって実現される。
【0087】
***動作の説明***
図20及び
図21を参照して、実施の形態5に係る物体検出装置10の動作を説明する。
実施の形態5に係る物体検出装置10の動作手順は、実施の形態5に係る物体検出方法に相当する。また、実施の形態5に係る物体検出装置10の動作を実現するプログラムは、実施の形態5に係る物体検出プログラムに相当する。
【0088】
ここでは、距離に基づく方法と、背景差分に基づく方法との2つの方法を説明する。
【0089】
<距離に基づく方法>
データ生成部29は、センサによって検出されたテストデータに含まれる物体を対象の物体として設定する。例えば、テストデータである画像データが取得された際に、LiDAR(Light Detection and Ranging)等によって撮影領域に存在する物体が検出されたとする。LiDARによって照射されたレーザ光が物体に到達するまでの時間から、撮影装置41から対象の物体までの距離が特定される。撮影装置41から対象の物体までの距離の逆数は、対象の物体のサイズと相関がある。
そこで、
図20に示すように、データ生成部29は、撮影装置41から対象の物体までの距離に応じたサイズの図形を対象の物体の位置に設定する。
図20では、図形として円72が設定されている。そして、データ生成部29は、設定された図形を囲む矩形を対象の物体についてのバウンディングボックス73として設定する。データ生成部29は、バウンディングボックス73のサイズを対象の物体のサイズとすることにより、対象の物体についてのアノテーションデータ71を生成することができる。
【0090】
なお、画像データとLiDARの情報とは事前にキャリブレーションされている必要がある。つまり、画像データにおける位置と、LiDARによるレーザ光の照射方向とを対応付けるとともに、画像データの撮影時刻と、LiDARによるレーザ光の照射時刻とを対応付ける必要がある。
【0091】
<背景差分に基づく方法>
図21に示すように、データ生成部29は、撮影領域に検出対象の物体が存在しない状態で撮影領域が撮影されて得られた背景データと、テストデータである複数の画像データそれぞれとの差分がある箇所を囲む矩形をバウンディングボックス73として設定する。具体的には、データ生成部29は、連続して差異がある部分を1つの物体として、1つのバウンディングボックス73で囲む。データ生成部29は、バウンディングボックス73のサイズを対象の物体のサイズとすることにより、対象の物体についてのアノテーションデータ71を生成することができる。
【0092】
なお、上述した2つの方法では、物体の位置及びサイズが特定される。しかし、アノテーションデータ71には、物体の種別が必要である。物体の種別については、画像データを小さい画像データに分割して、各小さい画像データを入力として、物体検出モデルによって特定するといった方法により特定すればよい。
【0093】
***実施の形態5の効果***
以上のように、実施の形態5に係る物体検出装置10は、アノテーションデータ71を簡易的に生成する。実施の形態4で説明した拡大領域34の設定方法では、前提としてテストデータのアノテーションデータ71が必要である。しかし、アノテーションデータ71を人手により生成するには手間がかかる。しかし、実施の形態5に係る物体検出装置10は、多少の誤差が含まれる恐れがあるものの、アノテーションデータ71を簡易的に生成可能である。
【0094】
以上、本開示の実施の形態及び変形例について説明した。これらの実施の形態及び変形例のうち、いくつかを組み合わせて実施してもよい。また、いずれか1つ又はいくつかを部分的に実施してもよい。なお、本開示は、以上の実施の形態及び変形例に限定されるものではなく、必要に応じて種々の変更が可能である。