(57)【特許請求の範囲】
【請求項１】
第１撮像部から複数の画像を連続的に取得する第１画像入力部と、
第２撮像部から複数の画像を連続的に取得する第２画像入力部と、
前記第１画像入力部が異なる時間に取得した２以上の画像を用いて、物体が存在する物体候補領域を抽出する物体候補領域抽出部と、
前記抽出された前記物体候補領域の複数の画像上の位置に基づいて、前記第１撮像部の撮影範囲に対する前記物体候補領域の将来の位置を推定する領域将来推定部と、
前記領域将来推定部の推定する前記将来の位置に基づき、３次元情報が必要である前記物体候補領域を対象として、前記第１画像入力部および前記第２画像入力部が取得する画像における当該物体候補領域の対応点に基づき３次元情報を算出する３次元情報算出部と、を備え、
前記３次元情報算出部は、前記領域将来推定部の推定する将来の位置に基づき前記物体候補領域ごとに３次元情報を算出するか否かを判定する処理対象選択部を含み、
３次元情報が必要である前記物体候補領域とは、前記処理対象選択部により３次元情報を算出すると判断された前記物体候補領域である、３次元情報算出装置。
【請求項２】
請求項１に記載の３次元情報算出装置において、
前記処理対象選択部は、前記領域将来推定部により推定される前記物体候補領域が前記第１撮像部の撮影範囲に含まれると判断すると３次元情報を算出すると判定し、前記領域将来推定部により推定される前記物体候補領域が前記第１撮像部の撮影範囲に含まれないと判断すると３次元情報を算出しないと判定する、３次元情報算出装置。
【請求項３】
請求項１に記載の３次元情報算出装置において、
前記３次元情報算出部は、前記物体候補領域の３次元情報を算出している最中に、当該物体候補領域が前記処理対象選択部により３次元情報を算出しないと判定されると、当該３次元情報の算出を中断する、３次元情報算出装置。
【請求項４】
請求項１に記載の３次元情報算出装置において、
前記３次元情報算出部は、前記物体候補領域が、前記処理対象選択部により３次元情報を算出しないと判定された後に３次元情報を算出すると判定されると、当該物体候補領域の３次元情報を算出する３次元情報算出装置。
【請求項５】
請求項１に記載の３次元情報算出装置において、
前記物体候補領域を逐次追跡する領域追跡部をさらに備え、
前記処理対象選択部は、前記３次元情報算出部が前記物体候補領域の３次元情報の算出を完了すると、前記領域追跡部により追跡される当該物体候補領域の３次元情報を算出しないと判定するとともに、当該物体候補領域の３次元情報が追加で必要であると判断すると、所定のタイミングで当該物体候補領域の３次元情報を算出すると判定する、３次元情報算出装置。
【請求項６】
請求項１に記載の３次元情報算出装置において、
第３撮像部から複数の画像を連続的に取得する第３画像入力部をさらに備え、
前記第１撮像部は、前記第２撮像部および前記第３撮像部よりも高いフレームレートで撮影し、
前記第２撮像部および前記第３撮像部は、前記第１撮像部よりも高い解像度で撮影し、
前記３次元情報算出部は、前記領域将来推定部の推定する前記将来の位置に基づき、３次元情報が必要である前記物体候補領域を対象として、前記第２画像入力部および前記第３画像入力部が取得する画像における当該物体候補領域の対応点に基づき３次元情報を算出する、３次元情報算出装置。
【請求項７】
第１撮像部から複数の画像を連続的に取得し、
第２撮像部から複数の画像を連続的に取得し、
前記第１撮像部から異なる時間に取得した２以上の画像を用いて、物体が存在する物体候補領域を抽出し、
前記抽出された前記物体候補領域の複数の画像上の位置に基づいて、前記第１撮像部の撮影範囲に対する前記物体候補領域の将来の位置を推定し、
前記推定した前記将来の位置に基づき、３次元情報が必要である前記物体候補領域を対象として、前記第１撮像部および前記第２撮像部から取得する画像における当該物体候補領域の対応点に基づき３次元情報を算出し、
前記推定した将来の位置に基づき前記物体候補領域ごとに３次元情報を算出するか否かを判定し、
３次元情報が必要である前記物体候補領域とは、３次元情報を算出すると判断された前記物体候補領域である、３次元情報算出方法。
【請求項８】
請求項７に記載の３次元情報算出方法において、
前記物体候補領域ごとの３次元情報を算出するか否かの判定は、所定時間後において前記物体候補領域が前記第１撮像部の撮影範囲に含まれると判断すると当該物体候補領域を３次元情報の算出対象と判定し、所定時間後において前記物体候補領域が前記第１撮像部の撮影範囲に含まれないと判断すると当該物体候補領域を３次元情報の算出対象でないと判定する、３次元情報算出方法。
【請求項９】
請求項７に記載の３次元情報算出方法において、
前記物体候補領域の３次元情報を算出している最中に、当該物体候補領域が３次元情報の算出対象でないと判定されると、当該３次元情報の算出を中断する、３次元情報算出方法。
【請求項１０】
請求項７に記載の３次元情報算出方法において、
前記物体候補領域が、３次元情報の算出対象でないと判定された後に３次元情報の算出対象であると判定されると、当該物体候補領域の３次元情報を算出する３次元情報算出方法。
【請求項１１】
請求項７に記載の３次元情報算出方法において、
第３撮像部から複数の画像を連続的に取得し、
前記第１撮像部は、前記第２撮像部および前記第３撮像部のよりも高いフレームレートで撮影し、
前記第２撮像部および前記第３撮像部は、前記第１撮像部よりも高い解像度で撮影し、
３次元情報の算出対象であると判定した前記物体候補領域を対象として、前記第２撮像部および前記第３撮像部が取得する画像を用いて、前記第２撮像部と前記第３撮像部の基線長に基づき、前記物体候補領域の３次元情報を算出する、３次元情報算出方法。
【請求項１２】
請求項１乃至６のいずれか１項に記載の３次元情報算出装置と、
前記第１撮像部と、
前記第２撮像部と、
前記３次元情報算出装置、前記第１撮像部、および前記第２撮像部を搭載する移動機構と、
前記３次元情報算出装置の出力に基づき前記移動機構を制御する機構制御部と、を備える自律移動装置。
【請求項１３】
請求項１２に記載の自律移動装置において、
前記３次元情報算出装置の出力に基づき物体の位置を検出する物体位置特定部をさらに備え、
前記機構制御部は、前記物体位置特定部が検出する物体と当該自律移動装置との衝突を回避するように前記移動機構を制御する、自律移動装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元情報算出装置、３次元情報算出方法、および自律移動装置に関する。
【背景技術】
【０００２】
近年、車両の前方をカメラで撮影し、自車の前方にある物体を検出する研究が自動車分野で盛んである。特許文献１には、時系列画像から算出された２次元オプティカルフローに基づいて物体が存在する可能性がある候補領域を抽出し、その候補領域のみ３次元情報を計算する装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】日本国特開２０１０−２８６９２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の発明では、物体が存在する可能性がある全ての候補領域を対象に３次元情報を算出するので、長い処理時間を要する。
【課題を解決するための手段】
【０００５】
本発明の第１の態様によると、３次元情報算出装置は、第１撮像部から複数の画像を連続的に取得する第１画像入力部と、第２撮像部から複数の画像を連続的に取得する第２画像入力部と、第１画像入力部が異なる時間に取得した２以上の画像を用いて、物体が存在する物体候補領域を抽出する物体候補領域抽出部と、抽出された物体候補領域の複数の画像上の位置に基づいて、第１撮像部の撮影範囲に対する物体候補領域の将来の位置を推定する領域将来推定部と、領域将来推定部の推定する将来の位置に基づき、３次元情報が必要である物体候補領域を対象として、第１画像入力部および第２画像入力部が取得する画像における当該物体候補領域の対応点に基づき３次元情報を算出する３次元情報算出部と、を備え、３次元情報算出部は、領域将来推定部の推定する将来の位置に基づき物体候補領域ごとに３次元情報を算出するか否かを判定する処理対象選択部を含み、３次元情報が必要である前記物体候補領域とは、処理対象選択部により３次元情報を算出すると判断された物体候補領域である。
本発明の第２の態様によると、３次元情報算出方法は第１撮像部から複数の画像を連続的に取得し、第２撮像部から複数の画像を連続的に取得し、第１撮像部から異なる時間に取得した２以上の画像を用いて、物体が存在する物体候補領域を抽出し、抽出された物体候補領域の複数の画像上の位置に基づいて、第１撮像部の撮影範囲に対する物体候補領域の将来の位置を推定し、推定した将来の位置に基づき、３次元情報が必要である物体候補領域を対象として、第１撮像部および第２撮像部から取得する画像における当該物体候補領域の対応点に基づき３次元情報を算出し、推定した将来の位置に基づき物体候補領域ごとに３次元情報を算出するか否かを判定し、３次元情報が必要である物体候補領域とは、３次元情報を算出すると判断された物体候補領域である。
本発明の第３の態様によると、自律移動装置は上述する３次元情報算出装置と、第１撮像部と、第２撮像部と、３次元情報算出装置、第１撮像部、および第２撮像部を搭載する移動機構と、３次元情報算出装置の出力に基づき移動機構を制御する機構制御部と、を備える。
【発明の効果】
【０００６】
本発明による物体検出装置は、所定時間後の候補領域の位置に基づき３次元情報の算出の有無を判断するため、処理を高速化できる。
【図面の簡単な説明】
【０００７】
【図１】自律移動装置の構成を示すブロック図
【図２】情報処理装置の構成を示すブロック図
【図３】情報処理装置の機能構成を示すブロック図
【図４】物体検出部の機能構成を示すブロック図
【図５】物体候補領域テーブルの構成の一例を示す図
【図６】３次元情報を算出する処理を示すフローチャート
【図７】図６に示すフローチャートの後半
【図８】物体検出装置の動作例を示す撮影画像図
【図９】物体検出装置の動作例を示すタイミングチャート
【図１０】動作例における物体候補領域の時系列変化を示す図
【図１１】第２の実施の形態における物体検出部２０１の構成を示すブロック図
【図１２】第２の実施の形態における物体候補領域テーブルの構成の一例を示す図
【図１３】図６のステップＳ５０１の直前に実行する処理を示すフローチャート
【図１４】図７のフローチャートのステップＳ５２１付近の変更を示すフローチャート
【図１５】３次元情報の追加判定の詳細動作を示すフローチャート
【図１６】３次元情報が得られていない空間を説明するための２次元俯瞰地図
【図１７】視認位置を算出するフローチャート
【図１８】視認位置の算出例を説明する図
【図１９】第３の実施の形態に係る自律移動システムの構成を示すブロック図
【図２０】第３の実施の形態に係る物体検出部の機能構成を示すブロック図
【発明を実施するための形態】
【０００８】
本発明は、撮影して得られた画像を用いて３次元情報を算出するにあたり、処理対象を限定することにより処理の高速化を図るものである。すなわち、処理対象領域を物体が存在する確率が高い候補領域のうち、所定時間の経過後も撮影範囲に含まれる候補領域のみを処理対象とする。以下、第１〜第３の実施の形態を説明する。
（第１の実施の形態）
以下、図１〜１０を参照して、本発明に係る物体検出装置、および自律移動装置の第１の実施の形態を説明する。自律移動装置は、あらかじめ緯度と経度により設定された目的地に向かって走行する。自律移動装置は、移動経路に存在する静止障害物を検出し、静止障害物を避けて移動する。
図１は、自律移動装置の構成を示すブロック図である。自律移動装置１は、物体検出装置１００と、自律移動装置１の周囲を撮影する第１カメラ１２１、および第２カメラ１２２と、自律移動装置１を移動させる移動機構１２４と、移動機構１２４を制御する機構制御部１２３と、地図情報等を保存する記憶装置１２７と、自律移動装置１の周囲の情報を取得する外界測定装置１２８と、外界測定装置１２８の出力を取り込む外界情報入力部１２８Ａと、表示装置１４０と通信を行う送受信装置１２６と、を備える。
【０００９】
物体検出装置１００は、第１カメラ１２１が撮影して得られた画像を取り込む第１画像入力部１２１Ａと、第２カメラ１２２が撮影して得られた画像を取り込む第２画像入力部１２２Ａと、内界測定装置１２９の出力を取り込む内界情報入力部１２９Ａと、第１画像入力部１２１Ａおよび第２画像入力部１２２Ａから取り込まれた画像を処理する情報処理装置１２５とを備える。第１画像入力部１２１Ａと、第２画像入力部１２２Ａと、機構制御部１２３と、記憶装置１２７と、移動機構１２４と、外界情報入力部１２８Ａと、内界情報入力部１２９Ａと、情報処理装置１２５と、送受信装置１２６とは、内部バスにより接続されており、相互に情報を授受する。
【００１０】
第１カメラ１２１、および第２カメラ１２２は、自律移動装置１の周囲を撮影し、撮影して得られた画像を、それぞれ第１画像入力部１２１Ａ、および第２画像入力部１２２Ａに出力する。後述するように、第１画像入力部１２１Ａから入力される画像が主に使用され、第２画像入力部１２２Ａから入力される画像は、三次元位置を算出される際に使用される。
移動機構１２４は、自律移動装置１を移動させる機構であり、たとえば、モータと車輪とから構成される。移動機構１２４は、機構制御部１２３により制御される。
機構制御部１２３は、自律移動装置１を記憶装置１２７に記録されている目的地に向かって移動するように、移動機構１２４を制御する。機構制御部１２３は、物体検出装置１００が物体を検出すると、その物体を避けるように移動機構１２４を制御する。
【００１１】
情報処理装置１２５は、第１カメラ１２１、および第２カメラ１２２で撮影して得られた画像を処理して、自律移動装置１の前方の物体を検出する。情報処理装置１２５の構成は後述する。
送受信装置１２６は、表示装置１４０と無線による通信を行う。送受信装置１２６は、ユーザによる表示装置１４０から自律移動装置１への指令を受信し、情報処理装置１２５の処理結果を表示装置１４０へ出力する。
記憶装置１２７は、不揮発性メモリにより構成される。記憶装置１２７には、移動制御プログラム、目的地、走行する環境に対応した地図、移動経路などが保存される。自律移動装置１は、この移動制御プログラムにより、外界測定装置１２８と内界測定装置１２９で測定された測定データ、および情報処理装置１２５の検出結果に基づき、地図上での自己位置を推定しながら、計画された移動経路を辿るように実環境を自律移動する。
【００１２】
外界測定装置１２８は、自律移動装置１の外部（実環境）における相対位置や絶対位置を示すデータを計測するための外界センサである。外界測定装置１２８は、たとえば、ＧＰＳ衛星からの電波を受信して自律移動装置１の絶対位置を算出するＧＰＳ受信機を備える。外界測定装置１２８は、測定値を外界情報入力部１２８Ａに出力する。
内界測定装置１２９は、たとえば、ロータリエンコーダとジャイロセンサとを備える。ロータリエンコーダは、移動機構１２４における車輪の回転量を測定する。ジャイロセンサは、自律移動装置１の姿勢、すなわち回転３軸、および並進３軸の加速度を計測する。内界測定装置１２９は、測定値を内界情報入力部１２９Ａに出力する。
表示装置１４０は、例えば、通信機能やＧＵＩ機能付きの表示画面を有する端末である。
【００１３】
図２は、情報処理装置１２５の構成を示すブロック図である。
情報処理装置１２５は、ＣＰＵ１３１と、主記憶部１３２と、補助記憶部１３３と、バス１３４とを備える。ＣＰＵ１３１と、主記憶部１３２と、補助記憶部１３３とは、バス１３４により接続され、相互にデータの送受信が行われる。
送受信装置１２６は、表示装置１４０と通信することで、ユーザによる表示装置１４０から自律移動装置１への指令を受信し、情報処理装置１２５の処理結果を表示装置１４０へ出力する。
ＣＰＵ１３１は、主記憶部１３２または補助記憶部１３３に格納されているプログラムを読み出す。ＣＰＵ１３１は、演算を実行し、主記憶部１３２や補助記憶部１３３や機構制御部１２３に演算結果を出力する。 
【００１４】
主記憶部１３２は、ランダムアクセスメモリにより構成される。主記憶部１３２には、ＣＰＵ１３１によって実行されるプログラムや、ＣＰＵ１３１によって実行される演算結果や、情報処理装置１２５で利用される設定情報、たとえば後述する物体候補領域テーブル３００、算出終了予定時刻ｔｅ、算出所要時間ｔｃなどが保存される。主記憶部１３２には、第１画像入力部１２１Ａや第２画像入力部１２２Ａが取得した画像が過去画像として一定数保存される。主記憶部１３２には、物体候補領域の各種情報を格納する物体候補領域テーブルや、地図生成部２０２によって生成される自律移動装置１を中心とする局所地図も保存される。
【００１５】
補助記憶部１３３には、ＣＰＵ１３１によって実行されるプログラムや、ＣＰＵ１３１によって実行される演算の結果や、情報処理装置１２５で利用される設定情報が格納される。補助記憶部１３３は、特に、主記憶部１３２に格納しきれないデータの格納や、電源遮断された状態でもデータを保持する目的で使用される。補助記憶部１３３は、たとえば、ハードディスクドライブなどの磁気ディスクドライブ、あるいはフラッシュメモリ等の不揮発性メモリ等を、単体あるいは複数組み合わせて構成される。
【００１６】
（情報処理装置の機能ブロック）
図３は、情報処理装置１２５のＣＰＵ１３１が主記憶部１３２に格納される処理プログラムを実行することで実現される機能構成を示すブロック図である。情報処理装置１２５は、物体検出部２０１、および地図生成部２０２を備える。物体検出部２０１は、第１画像入力部１２１Ａ、および第２画像入力部１２２Ａから入力された画像を用いて３次元情報を出力する。詳しくは後述する。
【００１７】
地図生成部２０２は、外界情報入力部１２８Ａから外界測定装置１２８の測定値を取得し、内界情報入力部１２９Ａから内界測定装置１２９の測定値を取得する。これらの測定値から自律移動装置１の位置および姿勢を算出し、物体検出部２０１から取得する３次元情報に基づいて、自律移動装置１を中心とする障害物の地図を生成する。たとえば、地図の形式としては、Ｄｉｇｉｔａｌ  Ｅｌｅｖａｔｉｏｎ  Ｍａｐ（以下、ＤＥＭと呼ぶ）を用いる。ＤＥＭは、実世界空間を上から見下ろしてある大きさを持つグリッドに分割し、各グリッドに代表する高さの値を記録した地図である。自律移動装置１の移動機構１２４が乗り越えられる高さは既知なので、機構制御部１２３は、所定値以上の高さが記録されたグリッドは走行不可能と判断する。機構制御部１２３がこの地図と予め設定された経路計画に基づいて、局所的な走行位置経路を計画し、その経路を走行するように移動機構１２４を制御することで、自律走行を行う。
【００１８】
（物体検出部の詳細）
図４は、物体検出部２０１の機能構成を示すブロック図である。物体検出部２０１は、物体候補領域抽出部２１１と、領域将来推定部２１２と、領域追跡部２１３と、処理対象選択部２１４と、３次元情報算出部２１５と、物体位置特定部２１６、とを備える。
物体候補領域抽出部２１１は、第１カメラ１２１が取得した２枚以上の時系列画像を用いて、画像上における物体が存在する可能性の高い領域（以下、物体候補領域と称する）とその２次元オプティカルフローを算出する。物体候補領域抽出部２１１は、領域の頂点座標と、物体候補領域を抽出した時刻とを、図５で後述する物体候補領域テーブル３００に格納する。ただし、物体候補領域を抽出した時刻は、領域の抽出に用いた最新の画像の撮影時刻とする。また、すでに物体候補領域テーブル３００に物体候補領域が設定されている領域は、オプティカルフローを算出しない。
【００１９】
物体候補領域を算出する方法としては、例えば、撮影時刻の異なる２枚の画像間の対応点探索処理によって、画素単位で２次元オプティカルフローを算出し、算出された２次元オプティカルフローに基づいて、物体の存在する可能性を算出し、算出された可能性から物体候補領域を抽出する方法が知られている。この方法では、物体候補領域の抽出だけでなく、その物体候補領域の全域について２次元オプティカルフローを取得できる。
【００２０】
領域将来推定部２１２は、物体候補領域抽出部２１１が算出した物体候補領域、およびその２次元オプティカルフローを物体候補領域テーブル３００から取得する。領域将来推定部２１２は、取得したそれぞれの物体候補領域を対象として以下の処理を行う。すなわち、ある物体候補領域の２次元オプティカルフローに基づき、将来のある時刻における画像上の座標を推定し、物体候補領域テーブル３００に格納する。領域将来推定部２１２は、３次元情報算出部２１５が算出を行っている場合は、その算出終了予定時刻ｔｅにおける座標を推定する。領域将来推定部２１２は、３次元情報算出部２１５が算出を行っていない場合は、それぞれの物体候補領域の面積を算出して面積が最も大きい物体候補領域を選択し、その３次元情報の算出に要する時間、すなわち算出所要時間ｔｃを算出する。そして、現在から算出所要時間ｔｃが経過した後の座標を推定する。３次元情報算出部２１５が３次元情報の算出に要する時間ｔｃは、３次元情報を算出する画像上の面積に比例する所定の式により算出される。
【００２１】
領域将来推定部２１２が将来の画像上の座標を推定する方法としては、公知の手法を用いることができる。たとえば、過去の状態が将来再び現れる確率（時間的再現確率）を算出し、算出された時間的再現確率に基づいて時刻のサンプリングを行う。そして、サンプリングされた時刻における過去の状態の推定値を参照し、そのカーネル分布を畳込むことで状態の分布を予測する手法が知られている。
【００２２】
領域追跡部２１３は、第１カメラ１２１が画像（以下、最新取得画像、と呼ぶ）を取得すると物体候補領域テーブル３００から物体候補領域を取得する。この物体候補領域は、従前に第１カメラ１２１が取得した画像を用いて算出された領域である。領域追跡部２１３は、取得したそれぞれの物体候補領域を対象として、以下の処理を行う。すなわち、領域追跡部２１３は、最新取得画像とその直前に取得された画像との間の対応点探索処理によって、最新取得画像における対応する物体候補領域を算出する。対応する物体候補領域がない場合は、領域追跡部２１３は、その物体候補領域を含むエントリを物体候補領域テーブル３００から削除する。対応する物体候補領域がある場合は、領域追跡部２１３は、対応点探索処理により２次元オプティカルフローを算出し、その物体候補領域の２次元オプティカルフローとして物体候補領域テーブル３００に追加する。
【００２３】
処理対象選択部２１４は、物体候補領域テーブル３００から物体候補領域を取得し、取得したそれぞれの物体候補領域を対象として、以下の処理を行う。処理対象選択部２１４は、領域将来推定部２１２が算出した物体候補領域の将来の画像上の座標に基づき、３次元情報を計算するか否かを決定する。すなわち、処理対象選択部２１４は、将来の画像上の物体候補領域の座標が第１カメラ１２１の出力する画像における座標の範囲を超える場合は、物体候補領域がその将来の時点において第１カメラ１２１の撮影範囲外に存在すると判断し、３次元情報を算出しないと判断する。
【００２４】
処理対象選択部２１４は、物体候補領域テーブル３００の３次元情報算出優先度に、３次元情報を算出すると決定した物体候補領域には正の値を割り当て、３次元情報を算出しないと決定した物体候補領域には負の値を割り当てる。処理対象選択部２１４は、３次元情報を計算すると決定した領域が複数ある場合には、物体候補領域の面積が大きい順に高い優先度、すなわち大きい正の数を記録する。
【００２５】
３次元情報算出部２１５は、物体候補領域内の各画素に対応する３次元情報を、第１カメラ１２１が取得した第１画像と第２カメラ１２２が取得した第２画像間の対応点探索処理によって算出する。３次元情報算出部２１５は、処理を開始したら、物体候補領域テーブル３００の該当するエントリに対して、３次元情報計算実行状態に実行状態を表す値、たとえば「ＡＣＴＩＶＥ」を記録する。３次元情報算出部２１５は、処理が完了したら、物体候補領域テーブル３００の該当するエントリに対して、３次元情報計算実行状態に実行終了を表す値、たとえば「ＤＯＮＥ」を記録する。
【００２６】
物体位置特定部２１６は、３次元情報算出部２１５から物体候補領域の３次元情報を取得し、３次元情報、たとえば自律移動装置１から物体候補領域の各点までの距離から物体を検出する。物体位置特定部２１６は、検出された物体の情報から自律移動装置１の移動ベクトルを差し引いたものを最終的な物体の情報として主記憶部１３２に格納して、地図生成部２０２に送信する。移動ベクトルとは、物体候補領域の抽出に用いた画像を取得してから３次元情報の算出が完了した時刻までの時間内に移動する自律移動装置１の移動ベクトルである。例えば、物体が３次元空間上のボクセルとして検出する場合、ボクセルの重心の座標から移動ベクトルを差し引いた座標が、最終的な物体の重心座標となる。すなわち、自律移動装置１が原点である座標系が移動するので、移動分を考慮して物体の重心座標を算出する。物体検出処理には、既存の方法を用いることができる。
【００２７】
（物体候補領域テーブル）
図５に物体候補領域テーブル３００の構成の一例を示す。
図５に示す物体候補領域テーブル３００は複数のエントリから構成される。たとえば複数のエントリは、領域頂点座標と、２次元オプティカルフローの履歴と、領域が抽出された時刻と、時刻ｔｅにおける領域の推定状態と、３次元情報計算優先度と、３次元情報計算実行状態とから構成される。
領域頂点座標は、第１画像入力部１２１Ａが取得した画像における物体候補領域を構成する頂点の座標である。図５では、一例として領域が矩形で表現される場合の４つの頂点の座標が示されている。領域頂点座標は、物体候補領域抽出部２１１により記録される。
【００２８】
２次元オプティカルフローの履歴は、第１カメラ１２１が撮影して得られた撮影時刻の異なる画像間の対応点探索処理によって算出された２次元オプティカルフローを、時系順に所定の数だけ示すものである。たとえば、図５の例においてＩＤが０の物体候補領域に注目すると、２次元オプティカルフローはＸ１とＸ２の２つが示されている。前述のとおり、２次元オプティカルフローは、物体候補領域抽出部２１１、および領域追跡部２１３により記録される。
抽出時刻には、物体候補領域の抽出または領域の追跡に用いられた最新取得画像の撮影時刻が記録される。抽出時刻は、物体候補領域抽出部２１１、および領域追跡部２１３により記録される。
【００２９】
時刻ｔｅにおける領域の推定状態は、算出終了予定時刻ｔｅにおける物体候補領域の推定される画像上の座標により表される。この値は、領域将来推定部２１２から記録される。
３次元情報算出優先度は、物体候補領域に対して３次元情報を算出する優先度合いを示す値により表される。３次元情報算出優先度として、３次元情報を算出する対象には正の値が、３次元情報を算出しない対象には負の値が記録される。優先度が高い場合は値を大きく記録する。３次元情報算出優先度の値は、処理対象選択部２１４から記録される。
３次元情報算出実行状態は、物体候補領域に対して３次元情報を算出中か否かを示す値により表される。この値は３次元情報算出部２１５から記録される。
【００３０】
（フローチャート）
図６〜７を参照して、物体検出装置１００の処理の流れ、すなわち自律移動装置１が３次元情報を算出する処理の流れを説明する。
図６〜７は、物体検出装置１００の情報処理装置１２５が実行するプログラムの動作を表すフローチャートである。以下に説明するこのフローチャートの実行主体は、情報処理装置１２５のＣＰＵ１３１である。
第１カメラ１２１、および第２カメラ１２２は所定時間ごとに、自律移動装置１の周囲を撮影し、画像を取得する。情報処理装置１２５は、第１カメラ１２１、および第２カメラ１２２が撮影を行うと、以下のプログラムを実行する。
【００３１】
ステップＳ５０１において、情報処理装置１２５は、第１画像入力部１２１Ａ、および第２画像入力部１２２Ａを用いて、第１カメラ１２１および第２カメラ１２２から最新の撮影画像を取得し、ステップＳ５０２に進む。以後、第１画像入力部１２１Ａが取得した最新の画像を最新第１画像、第２画像入力部１２２Ａが取得した最新の画像を最新第２画像、と呼ぶ。
ステップＳ５０２において、情報処理装置１２５は、物体候補領域テーブル３００の先頭エントリ、すなわちＩＤが０であるエントリを読み込み、ステップＳ５０３に進む。
ステップＳ５０３において、情報処理装置１２５は、領域追跡部２１３を用いて、読み込んだエントリの当該物体候補領域を対象とした２次元オプティカルフローを算出し、最新第１画像における物体候補領域の位置を算出し、ステップＳ５０４に進む。
【００３２】
ステップＳ５０４において、情報処理装置１２５は、ステップＳ５０３において最新第１画像における物体候補領域の位置を算出できたか否かを判断する。算出できたと判断する場合はステップＳ５０４Ａに進み、算出できなかったと判断する場合はステップＳ５０５に進む。
ステップＳ５０４Ａにおいて、情報処理装置１２５は、物体候補領域テーブル３００における当該エントリの２次元ＯＦのデータとして、ステップＳ５０３において算出した２次元オプティカルフローを追加し、ステップＳ５０６に進む。
ステップＳ５０５において、情報処理装置１２５は、物体候補領域テーブル３００において当該エントリを削除し、ステップＳ５０６に進む。最新第１画像において当該エントリに記載の物体候補領域を追跡できなかったからである。
【００３３】
ステップＳ５０６において、情報処理装置１２５は、現在読み込んでいるエントリが、物体候補領域テーブル３００の最後のエントリであるか否かを判断する。最後のエントリであると判断する場合、すなわち全てのエントリに対してステップＳ５０３〜Ｓ５０５の処理が完了したと判断する場合はステップＳ５０８に進む。最後のエントリではないと判断する場合はステップＳ５０７に進む。
ステップＳ５０７において、情報処理装置１２５は、物体候補領域テーブル３００の次のエントリを読み込み、ステップＳ５０３に戻る。
全てのエントリを読み込んだと判断した場合に実行されるステップＳ５０８において、情報処理装置１２５は、物体候補領域抽出部２１１を用いて物体候補領域以外の２次元オプティカルフローを算出し、ステップＳ５０９に進む。
【００３４】
ステップＳ５０９において、情報処理装置１２５は、ステップＳ５０８において算出した２次元オプティカルフローに基づき、新たな物体候補領域を抽出する。情報処理装置１２５は、抽出した物体候補領域を物体候補領域テーブル３００に記録する。次にステップＳ５１０に進む。
ステップＳ５１０において、情報処理装置１２５は、主記憶部１３２に保存されている算出終了予定時刻ｔｅに、何らかの時刻が記録されているか否かを判断する。時刻が記録されていないと判断する場合はステップＳ５１１に進み、時刻が記録されていると判断する場合はステップＳ５１３に進む。本ステップは、３次元情報算出部２１５が３次元情報を算出しているか否かを判断している。
【００３５】
ステップＳ５１１において、情報処理装置１２５は、領域将来推定部２１２を用いて算出所要時間ｔｃを算出する。すなわち、物体候補領域テーブル３００に記載の各物体候補領域の面積を算出して面積が最も大きい物体候補領域を選択し、その面積を所定の式に代入して算出所要時間ｔｃを算出する。次にステップＳ５１２に進む。
ステップＳ５１２において、情報処理装置１２５は、領域将来推定部２１２を用いて、物体候補領域テーブル３００に記載の各物体候補領域について、算出所要時間ｔｃが経過した時の各物体候補領域の画像上の座標を算出する。次に、ステップＳ５１４に進む。
算出終了予定時刻ｔｅに何らかの時刻が記録されていると判断されると実行されるステップＳ５１３において、情報処理装置１２５は、領域将来推定部２１２を用いて、算出終了予定時刻ｔｅにおける各物体候補領域の画像上の座標を算出する。次に、ステップＳ５１４に進む。
【００３６】
図６のステップＳ５１４において、情報処理装置１２５は、処理対象選択部２１４を用いて各物体候補領域の３次元情報算出の有無を決定する。すなわち、情報処理装置１２５は、ステップＳ５１２またはステップＳ５１３において算出した座標が、第１カメラ１２１の出力する画像の座標の範囲内であれば３次元情報を算出する、と判断する。次にステップＳ５１５に進む。
ステップＳ５１５において、情報処理装置１２５は、処理対象選択部２１４を用いて３次元情報算出優先度を決定し、物体候補領域テーブル３００に保存する。すなわち、情報処理装置１２５は、ステップＳ５１４において３次元情報を算出すると判断した物体候補領域を対象として面積を算出し、面積が大きいほど正の大きな値を割り当てる。情報処理装置１２５は、３次元情報を算出すると判断しなかった物体候補領域には「−１」を記録する。次にステップＳ５１６に進む。
【００３７】
ステップＳ５１６において、情報処理装置１２５は、物体候補領域テーブル３００から３次元情報算出優先度が最大であるエントリを読み込み、ステップＳ５１７に進む。
ステップＳ５１７において、情報処理装置１２５は、読み込んだエントリが２つの条件、すなわち（１）３次元情報算出の対象であること、（２）算出が開始されていないこと、の両方を満たすか否かを判断する。図５の例では、（１）優先度が正であること、（２）実行状態が「ＷＡＩＴ」であること、の両方を満たすか否かを判断する。２つの条件を満たすと判断する場合はステップＳ５１８に進み、少なくとも１つを満たさないと判断する場合はステップＳ５２６に進む。
【００３８】
ステップＳ５１８において、情報処理装置１２５は、３次元情報算出部２１５に算出開始指令を送り、読み込んだエントリに記載されている物体候補領域の３次元情報の算出を開始させる。３次元情報算出部２１５は、算出を開始すると物体候補領域テーブル３００の実行状態を変更する。図５の例では、実行状態を「ＡＣＴＩＶＥ」に変更する。次にステップＳ５１９に進む。
ステップＳ５１９において、情報処理装置１２５は、主記憶部１３２に保存されている算出終了予定時刻ｔｅに、現在時刻に算出所要時間ｔｃを加えた時間を保存し、ステップＳ５２０に進む。
【００３９】
ステップＳ５２０において、情報処理装置１２５は、３次元情報算出部２１５による３次元情報の算出が完了したか否かを判断し、完了したと判断する場合はステップＳ５２１に進み、算出が継続していると判断する場合はステップＳ５２５に進む。
ステップＳ５２１において、情報処理装置１２５は、物体位置特定部２１６を用いて物体の位置を特定し、その情報を地図生成部２０２に出力してステップＳ５２２に進む。
ステップＳ５２２において、情報処理装置１２５は、主記憶部１３２に保存されている算出終了予定時刻ｔｅをクリアする。すなわち、算出終了予定時刻ｔｅに時刻が保存されていない状態に変更する。次にステップＳ５２３に進む。
【００４０】
ステップＳ５２３において、情報処理装置１２５は、物体候補領域テーブル３００に保存されている全ての領域に対する処理が完了したか否かを判断する。全ての領域に対する処理が完了したと判断する場合は図６〜７により動作が表されるプログラムを終了し、全ての領域に対する処理が完了していないと判断する場合はステップＳ５２４に進む。
ステップＳ５２４において、情報処理装置１２５は、現在読み込んでいるエントリの次に高い優先度を有するエントリを読み込み、ステップＳ５１７に戻る。
３次元情報算出部２１５による３次元情報の算出が完了していないと判断されると実行されるステップＳ５２５において、情報処理装置１２５は、現在読み込んでいるエントリの３次元情報算出優先度が負の値に変更されているか否かを判断する。負の値に変更されていると判断する場合は、図６〜７により動作が表されるプログラムを終了する。負の値に変更されていないと判断する場合はステップＳ５２０に戻る。
【００４１】
ステップＳ５１７において否定判断をされると実行されるステップＳ５２６において、情報処理装置１２５は、読み込んだエントリが２つの条件、すなわち（１）３次元情報算出の対象でないこと、（２）算出が開始されていること、の両方を満たすか否かを判断する。図５の例では、（１）優先度が負であること、（２）実行状態が「ＡＣＴＩＶＥ」であること、の両方を満たすか否かを判断する。２つの条件を満たすと判断する場合はステップＳ５２７に進み、少なくとも１つを満たさないと判断する場合はステップＳ５２３に進む。
ステップＳ５２７において、情報処理装置１２５は、３次元情報算出部２１５に算出中断命令を出力し、ステップＳ５２２に進む。
【００４２】
（動作例）
図８〜１０を参照して、物体検出装置１００の動作例を説明する。
まず周囲の状況と撮影して得られた画像を説明する。前方を撮影する物体検出装置１００を搭載した自律移動装置１は車道を直進しており、車道の両脇に１本ずつ樹木が植えられ、１台の先行車両がある。このとき撮影して得られた画像が図８に示すものであり、四角で囲む３つの領域が物体候補領域として認識された領域である。以下では、先行車両を含む物体候補領域を領域Ｃ１、樹木を含む物体候補領域を領域Ｃ２、領域Ｃ３と呼ぶ。なお、領域Ｃ１は先行車両よりも大きく検出されるが、３次元情報を算出した後に物体位置特定部２１６が動作することにより、符号７０１により表されるように、正確な位置が算出される。
【００４３】
樹木は車道に対して静止しているが、自律移動装置１は車道を走行しているので、時系列的に連続して撮影された画像からは領域Ｃ２、領域Ｃ３が移動しているように観測される。自律移動装置１は車道を直進しているので、しばらく走行すると領域Ｃ２、領域Ｃ３は撮影範囲外に移動する。自律移動装置１は一定速度で走行するが、先行車両は後述する時刻ｔａ+２の直前に加速し、時刻ｔａ+２の直後に減速した。先行車両が加速すると領域Ｃ１は画像上の上方に移動する。
以下、図９および図１０を参照して、上記の状況における物体検出装置１００の動作を説明する。
図９は、物体検出部２０１の動作および物体候補領域テーブル３００の保存されるエントリを示すタイミングチャートである。図９では、左から右に進むにつれて時間が経過している。図９に示す処理が開始する当初、すなわち時刻ｔａ以前には物体候補領域テーブル３００にエントリが一切存在しない。
【００４４】
図１０は、第１画像入力部１２１Ａが取得した画像における、物体候補領域抽出部２１１が抽出した領域の位置と、領域将来推定部２１２が推定する物体候補領域の位置を示す図である。図１０では、図９と同様に左から右に進むにつれて時間が経過している。図９と図１０は時刻が同期している。
まず、図９を参照して説明する。
第１画像入力部１２１Ａおよび第２画像入力部１２２Ａは、第１カメラ１２１および第２カメラ１２２が撮影を行うたびに、すなわち所定の時間間隔で画像を取得する。図９では、時刻ｔａ、ｔａ+１、ｔａ+２、ｔａ+３、ｔａ+４のそれぞれで画像を取得する。すなわち、時刻ｔａ、ｔａ+１、・・に図６のステップＳ５０１が実行され、その処理が完了すると順次ステップが実行される。以下では、時刻ｔａに取得した第１画像をＩａ、時刻ｔａ＋１に取得した最新第１画像をＩａ＋１、・・と呼ぶ。主記憶部１３２には、従前に撮影されたｋ−１個の過去の時系列画像（Ｉａ−１〜Ｉａ−ｋ）が格納されている。
以下では、時刻ｔａ、ｔａ+１、ｔａ+２、ｔａ+３からの一連の処理を説明するが、処理内容が同一で結果も同一の場合には説明を省略する。
【００４５】
（時刻ｔａからの一連の処理）
時刻ｔａにおける画像の取り込み（ステップＳ５０１）が完了すると、物体候補領域テーブル３００のエントリの有無が判断され（ステップＳ５０１Ａ）、この時点ではエントリがないので領域追跡部２１３の処理は行われない。次に、物体候補領域抽出部２１１によりオプティカルフローの算出（ステップＳ５０８）および物体候補領域の抽出（ステップＳ５０９）が行われ、物体候補領域テーブル３００に領域Ｃ１、Ｃ２、Ｃ３が記録される。この処理が完了した時刻がｔ０である。
図１０（ａ）は、時刻ｔａに取得した画像Ｉａと物体候補領域抽出部２１１が抽出した物体候補領域Ｃ１〜Ｃ３を示した図である。時刻ｔａに取得した第１画像（Ｉａ）に対して、物体候補領域抽出部２１１が物体候補領域を抽出し、処理が完了した時刻ｔ０で物体候補領域（Ｃ１〜Ｃ３）が得られた様子が示されている。
【００４６】
図９に戻って説明を続ける。
領域将来推定部２１２による物体候補領域抽出（ステップＳ５０９）が完了した時刻ｔ０において、算出終了予定時刻ｔｅが記録されていないので（ステップＳ５１０：ＹＥＳ）、最大である物体候補領域の面積に応じて決定される時間ｔｃ１が算出される。そして、領域将来推定部２１２が物体候補領域テーブル３００から物体候補領域（Ｃ１〜Ｃ３）のエントリを取得し、得られたエントリに含まれる２次元オプティカルフローに基づいて、今から時間ｔｃ１経過した後の状態を推定する（ステップＳ５１３）。ここでは、領域将来推定部２１２は、時間ｔｃ１が経過すると領域Ｃ１のみが第１カメラ１２１の撮影範囲内に留まり、領域Ｃ２、Ｃ３は撮影範囲外に移動すると推定する。
【００４７】
続いて処理対象選択部２１４が物体候補領域テーブル３００に格納された将来の領域の推定状態を取得し、取得された推定状態に基づいて３次元情報を算出するか否かを決定し、決定された結果を物体候補領域テーブル３００に格納する。ここでは、処理対象選択部２１４は、今から時間ｔｃ１を経過した後も第１カメラ１２１の撮影範囲内に留まる領域Ｃ１のみを３次元情報の算出対象であると判断する（ステップＳ５１４、Ｓ５１５）。この処理が完了した時刻をｔｔとする。
図１０（ｂ）は、時刻ｔ０において領域将来推定部２１２が推定する、時間ｔｃ１経過した後の物体候補領域（Ｃ１〜Ｃ３）の状態を示した図である。物体候補領域Ｃ１は時間ｔｃ１経過した後に第１カメラ１２１の撮影範囲内にあると推定されたのに対して、物体候補領域Ｃ２、Ｃ３は撮影範囲外にあると推定された状態が示されている。
【００４８】
図９に戻って説明を続ける。
領域Ｃ１は３次元情報の算出対象であり、算出が開始されていないので（ステップＳ５１７：ＹＥＳ）、情報処理装置１２５は、３次元情報算出部２１５に３次元情報の算出開始を指示する（ステップＳ５１８）。３次元情報算出部２１５は、物体候補領域テーブル３００の領域Ｃ１のエントリについて、３次元情報の算出中である旨を記録する。情報処理装置１２５は、算出終了予定時刻ｔｅに現在時刻であるｔｔに算出所要時間ｔｃ１を加えた時刻を記録する（ステップＳ５１９）。その後、３次元情報算出部２１５の算出完了、または物体候補領域テーブル３００の変更を待ち続ける（ステップＳ５２０：ＮＯ、ステップＳ５２５：ＮＯ）。
【００４９】
（時刻ｔａ+１からの一連の処理）
前述した時刻ｔｔの少し前の時刻ｔａ+１において、第１画像入力部１２１Ａが画像Ｉａ＋１を取り込む（ステップＳ５０１）。物体候補領域テーブル３００にはエントリがあるので（ステップＳ５０１Ａ：ＹＥＳ）、領域追跡部２１３により領域Ｃ１〜Ｃ３の追跡処理が行われる（ステップＳ５０３〜５０６）。画像Ｉａ＋１では領域Ｃ１〜Ｃ３の全てが追跡できたので物体候補領域テーブル３００のエントリは削除されない。
領域将来推定部２１２は、算出終了予定時刻ｔｅが記録されているので（ステップＳ５１０：ＹＥＳ）、算出終了予定時刻ｔｅにおける各領域の状態を推定する（ステップＳ５１３）。処理対象選択部２１４は、先ほどと同様に領域Ｃ１のみを３次元情報の算出対象であると判断する（ステップＳ５１４、Ｓ５１５）。
【００５０】
情報処理装置１２５は、領域Ｃ１のエントリについては算出が開始されており（ステップＳ５１７：ＮＯ）、３次元情報算出の対象であるため（ステップＳ５２６：ＮＯ）、特段の処理を行わない。情報処理装置１２５は、領域Ｃ２およびＣ３のエントリについては、それらが３次元情報算出の対象ではなく（ステップＳ５１７：ＮＯ）、３次元情報の算出が開始されていないため（ステップＳ５２６：ＮＯ）、特段の処理を行わず終了する。
【００５１】
（時刻ｔａ+２からの一連の処理）
時刻ｔａ+１から所定の時間が経過した時刻ｔａ+２において、第１画像入力部１２１Ａが画像Ｉａ＋２を取り込む（ステップＳ５０１）。領域追跡部２１３は領域Ｃ１〜Ｃ３の追跡処理を行い（ステップＳ５０３〜５０６）、領域Ｃ２の追跡ができなかったため、物体候補領域テーブル３００から領域Ｃ２のエントリを削除する。
時刻ｔ２に領域将来推定部２１２が算出を開始し、物体候補領域テーブル３００にエントリを有する領域Ｃ１およびＣ３の時刻ｔｅにおける状態を推定する。先行車両が時刻ｔａ+２の直前に加速したので、画像Ｉａ＋２における領域Ｃ１は上部に移動する。そのため、領域将来推定部２１２は時刻ｔｅにおいて領域Ｃ１とＣ３の両方が、第１カメラ１２１の撮影範囲外に移動すると推定する。
【００５２】
図１０（Ｃ）は、時刻ｔａ+２に取得した画像Ｉａ+２における領域Ｃ１およびＣ３の位置と、時刻ｔ２に推定した時刻ｔｅにおける領域Ｃ１およびＣ３の位置を示す図である。時刻ｔｅにおいて、領域Ｃ１は第１カメラ１２１の撮影範囲から上に逸れ、領域Ｃ３は第１カメラ１２１の撮影範囲から横に逸れると推定された様子が示されている。
図９に戻って説明を続ける。
領域将来推定部２１２は、時刻ｔｅにおいて領域Ｃ１も両者が第１カメラ１２１の撮影範囲外となるので、３次元情報の算出対象ではないと判断する（ステップＳ５１４）。領域将来推定部２１２は、物体候補領域テーブル３００における領域Ｃ１のエントリの優先度に「−１」を記録する（ステップＳ５１５）。
【００５３】
この領域将来推定部２１２による物体候補領域テーブル３００への書き込みにより、時刻ｔａからの一連の処理により、ステップＳ５２０〜Ｓ５２５のループで待機していた処理が、ステップＳ５２５において肯定判定され、処理が終了する。
情報処理装置１２５は、領域Ｃ１のエントリに対して、算出が開始されており（ステップＳ５１７：ＮＯ）、３次元情報の算出対象外かつ３次元情報を算出中であるため（ステップＳ５２６：ＹＥＳ）、３次元情報算出部２１５に算出中断指令を出力する（ステップＳ５２７）。
【００５４】
（時刻ｔａ+３からの一連の処理）
時刻ｔａ+２から所定の時間が経過した時刻ｔａ+３において、第１画像入力部１２１Ａが画像Ｉａ＋３を取り込む（ステップＳ５０１）。領域追跡部２１３は領域Ｃ１の追跡処理を行う（ステップＳ５０３〜５０６）。
時刻ｔ３に領域将来推定部２１２が算出を開始し、算出終了予定時刻ｔｅが記録されていないので（ステップＳ５１０：ＹＥＳ）、時間ｔｃ２が算出される。そして、物体候補領域テーブル３００にエントリを有する領域Ｃ１が、現在から時間ｔｃ２経過後における状態を推定する。先行車両が時刻ｔａ+２の直後に減速したので、画像Ｉａ＋３において領域Ｃ１は上部から中央に戻る。そのため、領域将来推定部２１２は現在から時間ｔｃ２経過後において領域Ｃ１が第１カメラ１２１の撮影範囲内に存在すると推定する。
【００５５】
図１０（ｄ）は、時刻ｔａ+３に取得した画像Ｉａ+３における領域Ｃ１の位置と、時刻ｔ３に推定した現在時刻ｔａ+３から時間ｔｃ２経過後における領域Ｃ１の位置を示す図である。現在から時間ｔｃ２経過後において、領域Ｃ１は第１カメラ１２１の撮影範囲内に存在すると推定された様子が示されている。
図９に戻って説明を続ける。
処理対象選択部２１４は、今から時間ｔｃ２を経過した後も第１カメラ１２１の撮影範囲内に留まる領域Ｃ１を、改めて３次元情報の算出対象であると判断する（ステップＳ５１４）。処理対象選択部２１４は、物体候補領域テーブル３００の領域Ｃ１のエントリに、３次元情報の算出対象であり、算出が開始されていない旨を記録する。
領域Ｃ１は３次元情報の算出対象であり、算出が開始されていないので（ステップＳ５１７：ＹＥＳ）、情報処理装置１２５は、３次元情報算出部２１５に３次元情報の算出開始を指示する（ステップＳ５１８）。すなわち、一旦は中止された領域Ｃ１の３次元情報が算出される。
【００５６】
これにより、物体候補領域の３次元情報を算出中に将来の状態を再度推定し、その結果、画面内にいると推定された領域についてのみ３次元情報を算出し続けることができる。その結果、不要な３次元情報の算出処理を抑制することが可能となり、物体検出の処理時間の低減につながる。
また、３次元情報を算出中に将来の状態を再度推定し、その結果、画面外にいると推定された物体候補領域の３次元情報の算出処理を中断することが可能となる。これにより、不要な３次元情報の算出処理が抑制され、物体検出の処理時間の低減につながる。
また、３次元情報の算出対象外と判定された物体候補領域を追跡しておくことで、その後、その物体候補領域の将来の状態が画面内と推定された場合に、最新の物体候補領域を用いて３次元情報の算出処理を実行することが可能であり、物体検出性能の向上につながる。
【００５７】
上述した第１の実施の形態によれば、次の作用効果が得られる。
（１）物体検出装置１００は、第１カメラ１２１から複数の画像を連続的に取得する第１画像入力部１２１Ａと、第２カメラ１２２から複数の画像を連続的に取得する第２画像入力部１２２Ａと、を備える。物体検出装置１００はさらに、第１画像入力部１２１Ａが異なる時間に取得した２以上の画像を用いて、物体が存在する物体候補領域を抽出する物体候補領域抽出部２１１と、抽出された物体候補領域の複数の画像上の位置に基づいて、第１撮像部の撮影範囲に対する物体候補領域の将来の位置を推定する領域将来推定部２１２と、を備える。物体検出装置１００はさらに、領域将来推定部２１２の推定する将来の位置に基づき、物体候補領域ごとに３次元情報を算出するか否かを判定する処理対象選択部２１４と、処理対象選択部２１４が３次元情報を算出すると判定した物体候補領域を対象として、第１画像入力部および第２画像入力部が取得する画像を用いて、第１撮像部と第２撮像部の基線長に基づき、物体候補領域の３次元情報を算出する３次元情報算出部２１５と、を備える。
物体検出装置１００をこのように構成したので、所定時間後、たとえば３次元情報の算出が完了する時の物体候補領域の位置に基づき、当該物体候補領域の３次元情報を算出するか否かを判断するため、３次元情報の算出に要する時間を低減し、処理を高速化できる。
【００５８】
（２）処理対象選択部２１４は、領域将来推定部２１２により推定される物体候補領域が第１カメラ１２１の撮影範囲に含まれると判断すると３次元情報を算出すると判定し、領域将来推定部２１２により推定される物体候補領域が第１カメラ１２１の撮影範囲に含まれないと判断すると３次元情報を算出しないと判定する、
そのため、カメラで撮影された画像から物体候補領域を抽出し、抽出された物体候補領域に対して、将来における状態を推定し、推定された状態がカメラの撮影範囲内にある場合に３次元情報を算出する対象と判定し、３次元情報を算出する対象と判定された物体候補領域だけ３次元情報を算出することで、不要な３次元情報の算出処理を抑制することが可能となり、物体検出の処理時間の低減につながる。
【００５９】
（３）３次元情報算出部２１５は、物体候補領域の３次元情報を算出している最中に、当該物体候補領域が処理対象選択部２１４により３次元情報を算出しないと判定されると、当該３次元情報の算出を中断する。
そのため、３次元情報算出処理を実行中の物体候補領域に対して、処理が完了するまでの間に、将来における状態を推定し、推定された状態が第１カメラ１２１の撮影範囲外にあると判定された場合に、３次元情報算出処理を中断するように構成することができる。不要な３次元情報の算出処理を抑制することが可能となり、物体検出の処理時間の低減につながる。
【００６０】
（４）３次元情報算出部２１５は、処理対象選択部２１４により３次元情報を算出しないと判定された物体候補領域については、その後に３次元情報を算出すると判定されると、当該物体候補領域の３次元情報を算出する。
そのため、３次元情報算出の対象外と判定された物体候補領域に対して、所定の時間が経過後、将来における状態を推定し、推定された状態が第１カメラ１２１の撮影範囲内にあると判定された場合に、３次元情報算出処理を実行することで、必要な３次元情報の算出処理を実行することが可能となり、物体検出の検出性能の向上につながる。
【００６１】
上述した第１の実施の形態は、以下のように変形してもよい。
（１）第１の実施の形態では、撮影時刻の異なる２枚の画像を用いて画素単位でオプティカルフローを算出して物体候補領域を抽出したが、処理時間を減らすために、以下のように特定の個所領域のみ処理を行ってもよい。すなわち、一方の画像からエッジの画素を検出し、検出されたエッジ画素を縦方向、または横方向に連結してエッジ線分を抽出し、得られたエッジ線分の上端と下端の画素だけを対象に２次元オプティカルフローを算出し、そのオプティカルフローから物体の存在する可能性を算出し、物体が存在する可能性の高いエッジ線分を統合して物体候補領域としてもよい。
【００６２】
（２）第１の実施の形態では、算出終了予定時刻ｔｅおよび算出所要時間ｔｃを物体候補領域にかかわらず共通の値としたが、算出終了予定時刻ｔｅおよび算出所要時間ｔｃを物体候補領域ごとに値を設けてもよい。この場合は、各物体候補領域に対して３次元情報を算出するのに必要な処理時間を算出所要時間ｔｃとする。
（３）物体候補領域の優先度は面積のみに基づいて決定されたが、優先度の決定方法はこれに限定されない。物体候補領域の位置を考慮し、画像の中心に近い位置の物体候補領域ほど優先順位を高くしてもよいし、物体候補領域の位置と面積の大きさを組み合わせて優先度を決定してもよい。また、過去の走行した映像を解析し、物体候補領域のサイズや位置と、実際の物体との関係性を学習し、その関係性に基づいて優先度を決定してもよい。
【００６３】
（４）物体検出装置１００は、自律移動装置１と独立して設けられてもよい。すなわち、物体検出装置１００は、自律移動装置１の送受信装置１２６と通信を行う通信部をさらに備え、送受信装置１２６と通信を行うことで第１の実施の形態と同様の作用効果を奏してもよい。すなわち送受信装置１２６を経由して、第１カメラ１２１、および第２カメラ１２２から画像を取得し、内界測定装置１２９および外界測定装置１２８から情報を取得してもよい。さらに、物体検出装置１００の算出結果を、送受信装置１２６を経由して機構制御部１２３に出力してもよい。
【００６４】
（５）自律移動装置１は、記憶装置１２７に保存された移動経路に沿って移動するが、物体検出装置１００の出力に基づき移動経路を再設定する移動経路変更部をさらに備えてもよい。
（６）自律移動装置１は、物体位置特定部２１６を備えず、３次元情報算出部２１５の算出する三次元情報に基づいて、障害物の回避を行ってもよい。
【００６５】
（第２の実施の形態）
図１１〜１８を参照して、本発明に係る物体検出装置、および自律移動装置の第２の実施の形態を説明する。以下の説明では、第１の実施の形態と同じ構成要素には同じ符号を付して相違点を主に説明する。特に説明しない点については、第１の実施の形態と同じである。本実施の形態では、主に、３次元情報を算出した物体候補領域に対して物体の陰になっている領域を推定し、その領域の３次元情報を算出可能な位置まで移動体が移動した際に撮影して得られた画像を用いて３次元情報を再度算出する点で、第１の実施の形態と異なる。
本発明の第２の実施の形態に係る物体検出装置１００の構成は、物体検出部２０１が３次元情報管理部３１１をさらに備える点、および情報処理装置１２５の主記憶部１３２に記憶される物体候補領域テーブル３００の構成が異なる点が、第１の実施の形態と主に異なる。
【００６６】
図１１は、本発明の第２の実施の形態における物体検出部２０１の構成を示すブロック図である。物体検出部２０１の備える３次元情報管理部３１１は、３次元情報算出部２１５および物体位置特定部２１６から情報を取得し、演算結果を処理対象選択部２１４に出力する。
３次元情報管理部３１１は、３次元情報算出部２１５から各物体候補領域に対する３次元情報を取得し、物体位置特定部２１６から物体の位置を取得する。３次元情報管理部３１１は、これらの情報を用いて、３次元情報算出部が３次元情報を算出した物体候補領域の周辺の空間で３次元情報が算出されていない空間を特定する。３次元情報管理部３１１は、３次元情報が算出されていない空間が存在する場合は、３次元情報が算出されていない空間を視認できる経路上の範囲を算出し、上記判定結果と共に物体候補領域テーブル３００に格納する。
【００６７】
図１２は、第２の実施の形態における物体候補領域テーブル３００の構成の一例を示す。第２の実施の形態における物体候補領域テーブル３００は、第１の実施の形態における物体候補領域テーブル３００に３次元情報再算出対象、再算出範囲の項目２つが追加されている。
物体候補領域テーブル３００の３次元情報再算出対象には、当該エントリの物体候補領域の周辺に３次元情報が得られなかった空間があり、その空間の３次元情報を再度算出する対象であるか否かを表すフラグが記録される。たとえば、図１２の例では再算出の対象であることを「Ｙ」で示し、再算出の対象ではないことを「Ｎ」で示している。３次元情報再算出対象の値は、３次元情報管理部３１１から記録される。
【００６８】
物体候補領域テーブル３００の再算出範囲には、３次元情報の再算出を行うために画像を取得する移動経路上の範囲が記録される。移動経路の範囲は、記憶装置１２７に格納されている地図座標を用いて記録される。すなわち、地図座標で表した特定の位置（Ｘ，Ｙ）を中心に、距離Ｒの範囲内で再算出を行うための画像の取得を行う。たとえば、図１２の例では特定の位置（Ｘ，Ｙ）と距離Ｒの範囲を、（Ｘ，Ｙ，Ｒ）の形式で記述している。この再算出範囲は、３次元情報管理部３１１から記録される。
処理対象選択部２１４は、第１の実施の形態の処理に加えて、外界測定装置１２８を用いて自律移動装置１の自己位置を取得する。処理対象選択部２１４は、物体候補領域テーブル３００に格納されているエントリから、３次元情報再算出対象の値がＹ、すなわち３次元情報の再算出対象であり、かつ、物体候補領域が再計算範囲内に自己位置が存在するエントリを抽出する。処理対象選択部２１４は、抽出した物体候補領域の優先度を、３次元情報算出対象を表す値以上に書き換え、３次元情報算出の実行状態を、未実行状態を示す値に書き換える。
【００６９】
（冒頭部のフローチャート）
第１の実施の形態では、第１カメラ１２１、および第２カメラ１２２が撮影を行う所定時間ごとに図６〜７により動作があらわされるプログラムを実行したが、第２の実施の形態では常時実行する。また、以下に示すように図６のステップＳ５０１の直前、および図７のステップＳ５２１の直後に実行するステップを追加する。
図１３は、図６のステップＳ５０１の直前に実行する処理を示すフローチャートである。前述のように図１３に示すフローチャートは常時実行される。以下に説明するこのフローチャートの実行主体は、情報処理装置１２５のＣＰＵ１３１である。
ステップＳ６０１において、情報処理装置１２５は、外界測定装置１２８を用いて自律移動装置１の位置を取得し、ステップＳ６０２に進む。
ステップＳ６０２において、情報処理装置１２５は、物体候補領域テーブル３００の先頭のエントリを読み込み、ステップＳ６０３に進む。
【００７０】
ステップＳ６０３において、情報処理装置１２５は、読み込んだエントリが２つの条件、すなわち（１）再算出対象であること、（２）ステップＳ６０１において取得した位置が再計算範囲内に含まれること、の両方を満たすか否かを判断する。２つの条件を満たすと判断する場合はステップＳ６０４に進み、少なくとも１つを満たさないと判断する場合はステップＳ６０５に進む。
ステップＳ６０４において、情報処理装置１２５は、当該エントリの優先度を３次元情報算出対象を表す値以上、たとえば正の値に変更するとともに、実行状態を未実行を表す値、たとえば「ＷＡＩＴ」に変更し、ステップＳ６０５に進む。
ステップＳ６０５において、情報処理装置１２５は、物体候補領域テーブル３００の全てのエントリが読み込まれたか否かを判断する。全てのエントリが読み込まれたと判断する場合はステップＳ６０７に進み、１つでも読み込まれていないエントリがあると判断する場合はステップＳ６０６に進む。
【００７１】
ステップＳ６０６において、情報処理装置１２５は、物体候補領域テーブル３００から次のエントリを読み込み、ステップＳ６０３に戻る。
ステップＳ６０７において、情報処理装置１２５は、第１カメラ１２１および第２カメラ１２２が撮影を行う所定の時刻であるか否かを判断する。所定の時刻、たとえば時刻ｔａ、ｔａ＋１等であると判断する場合は図６のステップＳ５０１に進み、所定の時刻ではないと判断する場合はステップＳ６０８に進む。
ステップＳ６０８において、情報処理装置１２５は、ステップＳ６０３において１回でも肯定判断されたか否かを判断する。１回でも肯定判断されたと判断する場合はステップＳ６０９に進み、全て否定判断されたと判断する場合はステップＳ６０９に進む。
ステップＳ６０９において、情報処理装置１２５は、第１カメラ１２１および第２カメラ１２２に撮影指令を送信し、図６のステップＳ５０１に進む。
【００７２】
（再算出判定のフローチャート）
図１４は、第１の実施の形態における図７のフローチャートのステップＳ５２１付近の変更を示すフローチャートである。
ステップＳ５２１に至るまでの処理は、上述する図１３の処理が加わる点以外は第１の実施の形態と同様である。
ステップＳ５２１において、情報処理装置１２５は、物体位置特定部２１６を用いて物体の位置を特定し、その情報を地図生成部２０２に出力してステップＳ６３０に進む。
ステップＳ６３０において、情報処理装置１２５は、３次元情報管理部３１１を用いて以下の３次元情報の追加判定処理を行う。情報処理装置１２５は、３次元情報算出部２１５から各物体候補領域に対する３次元情報を取得し、物体位置特定部２１６から物体の位置を取得し、物体の周辺の空間で３次元情報が算出されていない空間を特定する。情報処理装置１２５は、３次元情報が算出されていない空間が存在する場合、３次元情報が算出されていない空間を視認できる経路上の範囲を算出し、前記判定結果と共に物体候補領域テーブル３００に格納する。次にステップＳ５２２に進む。
【００７３】
ステップＳ５２７において、情報処理装置１２５は、３次元情報算出部２１５に算出中断命令を出力し、ステップＳ５２２に進む。
ステップＳ５２２以下の処理は、第１の実施の形態と同様である。
図１５は、ステップＳ６３０における３次元情報の追加判定の詳細動作を示すフローチャートである。
ステップＳ６３１において、情報処理装置１２５は、３次元情報算出部２１５から各物体候補領域に対する３次元情報を取得し、ステップＳ６３２に進む。
ステップＳ６３２において、情報処理装置１２５は、物体位置特定部２１６から物体の位置を取得し、ステップＳ６３３に進む。
ステップＳ６３３において、情報処理装置１２５は、得られた３次元情報と物体位置を２次元俯瞰地図に投影し、物体に隣接する３次元情報が得られていない空間を特定し、ステップＳ６３４に進む。ステップＳ６３３の処理は後に詳述する。
【００７４】
ステップＳ６３４において、情報処理装置１２５は、３次元情報が得られていない空間が存在するか否かを判断する。３次元情報が得られていない空間が存在すると判断する場合はステップＳ６３５に進み、３次元情報が得られていない空間が存在しないと判断する場合は図１５に示すフローチャートの実行を終了し、図６のステップＳ５２２に進む。
ステップＳ６３５において、情報処理装置１２５は、３次元情報が得られていない空間を視認できる位置、すなわちその位置から撮影した画像を用いて現在は得られていない３次元情報が得られる位置を算出する。次に図６のステップＳ５２２に進む。ステップＳ６３５の処理は後にフローチャートを用いて詳述する。
【００７５】
（３次元情報が得られていない空間の特定）
図１６は、ステップＳ６３３の処理を説明するための２次元俯瞰地図の一例である。
図１６では、ある物体候補領域を対象として３次元情報をマッピングした例が示されている。図１６に示す２次元俯瞰地図の横軸が自律移動装置１の水平位置、縦軸が自律移動装置１の前方方向である。自律移動装置１は図１２の下方中央から上方を撮影した。２次元俯瞰地図には、物体候補領域内の各画素を対象として算出された３次元情報の水平位置と前方が該当する各グリッドにマッピングされる。２次元俯瞰地図では、所定の高さ以上の３次元情報が算出されたグリッド、すなわち物体が存在すると判断されたグリッドは縦線によるハッチングで表している。２次元俯瞰地図では、所定の高さ未満の３次元情報が算出されたグリッドは点によるハッチングで表している。２次元俯瞰地図では、３次元情報が得られなかったグリッドは空白、すなわち白の塗りつぶしで表している。２次元俯瞰地図では、３次元情報が得られなかったグリッドであって、何らかの３次元情報が得られたグリッドに隣接するグリッドは車線によるハッチングで表している。
【００７６】
あるグリッドの３次元情報が得られない理由として、（１）物体の陰、（２）算出対象外、（３）距離が遠いため情報が離散的、の３つが想定される。（１）物体の陰とは、手前に何らかの物体があるためにその後ろが撮影できず、３次元情報が算出できない状態である。（２）算出対象外とは、第１の実施の形態で述べたように、物体検出装置１００は物体候補領域のみ３次元情報を算出するので、物体候補領域と判断されなかったために３次元情報が算出されない状態である。（３）距離が遠いため情報が離散的とは、光学系の特性から距離が離れるほど情報の分解能が粗くなるため、３次元情報が得られない状態である。
３次元情報が得られなかったグリッドのみに注目しても、前述の（１）〜（３）を判別できない。そこで本実施の形態では、「（１）物体の陰」であるグリッドを抽出するために、物体が存在すると判断されたグリッドに隣接するグリッドを抽出する。すなわち、図１６における領域８０１を３次元情報が得られていない空間として特定する。
【００７７】
（視認位置の算出フローチャート）
図１７は、３次元情報がない空間の視認位置の算出、すなわち図１５に示すフローチャートのステップＳ６３５の詳細動作を示すフローチャートである。
ステップＳ６５１では、情報処理装置１２５は、予め設定された移動経路上のＮ個の経由点Ｐｎ（ｎ＝０、…、Ｎ−１）のそれぞれを対象として、経由点Ｐｎと３次元情報がない空間のＬ個の頂点Ｕｋ（ｋ＝０、…、Ｌ−１）とを結ぶ直線Ｌｎｋ（ｋ＝０、…Ｌ−１）を計算する。次にステップＳ６５２に進む。
ステップＳ６５２では、情報処理装置１２５は、ステップＳ６５１において計算された直線Ｌｎｋが物体領域Ｑと交わらず、経由点Ｐｎでの視野内にある直線を抽出し、その直線に直線Ｌｎ＿ｉの別名を付与する。直線Ｌｎ＿ｉにおける「ｉ」はゼロからの連番とする。次にステップＳ６５３に進む。
【００７８】
ステップＳ６５３では、情報処理装置１２５は、直線Ｌｎ＿ｉの数が２以上の経由点Ｐｎを対象として、任意の２直線に挟まれる領域を算出し、ステップＳ６５４に進む。
ステップＳ６５４では、情報処理装置１２５は、ステップＳ６５３において算出された領域のうち、最も面積の大きい領域と３次元情報のない空間が重複する部分の領域Ａｎを経由点ごとに算出し、ステップＳ６５５に進む。
ステップＳ６５５では、情報処理装置１２５は、全ての経由点における領域Ａｎの面積を比較し、最大の面積を有する経由点を３次元情報がない空間の視認位置とする。次に図７のステップＳ５２２に進む。
【００７９】
（視認位置の算出例）
図を用いて視認位置の算出例を説明する。図１８は、予め設定された自律移動装置１の移動経路上の経由点Ｐ２、およびＰ３における、第１カメラ１２１および第２カメラ１２２の視野と、検出した物体Ｑとの位置関係を示す図である。ハッチングで示す領域７０１が、３次元情報が得られていない空間である。
情報処理装置１２５は、経由点Ｐ２，およびＰ３において、経由点と３次元情報がない空間の４個の頂点Ｕｋ（ｋ＝０〜３）とを結ぶ直線Ｌ２０、Ｌ２１、Ｌ２２，Ｌ２３、Ｌ３０、Ｌ３１、Ｌ３２，Ｌ３３を計算する（ステップＳ６５１）。情報処理装置１２５は、物体領域Ｑと交わらず、経由点Ｐｎでの視野内にある直線として、Ｌ２２，Ｌ２３，Ｌ３０，Ｌ３２，Ｌ３３を抽出する。情報処理装置１２５は、抽出した直線にＬ２＿０、Ｌ２＿１、Ｌ３＿０、Ｌ３＿１、Ｌ３＿２の別名を付与する（ステップＳ６５２）。情報処理装置１２５は、経由点Ｐ２ではＬ２＿０とＬ２＿１に挟まれる領域Ａ２を抽出し、経由点Ｐ３では、Ｌ３＿０とＬ３＿１に挟まれる領域Ａ３０、およびＬ３＿１とＬ３＿２に挟まれる領域Ａ３１とを抽出する（ステップＳ６５３）。情報処理装置１２５は、経由点Ｐ２では領域Ａ２の面積を算出し、経由点Ｐ３では領域Ａ３１の面積を算出する（ステップＳ６５４）。情報処理装置１２５は、領域Ａ３０が最も面積が大きいため、経由点Ｐ３から所定の距離だけ離れた範囲Ｒを視認位置に設定する。
【００８０】
上述した第２の実施の形態によれば、次の作用効果が得られる。
（１）物体検出装置１００は、物体候補領域を逐次追跡する領域追跡部２１３を備える。処理対象選択部２１４は、３次元情報算出部２１５が物体候補領域の３次元情報の算出を完了すると、領域追跡部２１３により追跡される当該物体候補領域の３次元情報を算出しないと判定するとともに、当該物体候補領域の３次元情報が追加で必要であると判断すると、所定のタイミングで当該物体候補領域の３次元情報を算出すると判定する。
そのため、ある物体候補領域の３次元情報を算出すると同一の物体候補領域の３次元情報を再度算出しないことにより、物体検出の処理時間を低減できる。さらに、物体の陰になった領域があり３次元情報が追加で必要であると判断すると、所定のタイミングで３次元情報を算出すると判断し、再度３次元情報を算出する。すなわち、必要に応じて再度３次元情報を算出できる。
【００８１】
（２）物体検出装置１００は、第１カメラ１２１および第２カメラ１２２の位置を取得する位置取得部と、処理対象選択部２１４が物体候補領域の３次元情報が追加で必要であると判断すると、位置取得部から位置を取得し、当該物体候補領域に隣接する３次元情報が算出されなかった空間を第１カメラ１２１および第２カメラ１２２が撮影可能な位置に達すると、処理対象選択部２１４に当該物体候補領域の３次元情報を算出すると判定させる３次元情報管理部と、を備える。
すなわち、３次元情報が得られなかった空間が存在する場合に、その空間を撮影する経路上の範囲を算出し、移動体が前記算出された範囲に移動体が達したときに追跡された物体候補領域を対象として３次元情報を算出する。そのため、計算コストを抑えつつ、自律移動に必要な物体の３次元情報をより正確に取得できる。
【００８２】
（第３の実施の形態）
図１９〜２０を参照して、本発明に係る物体検出装置、および自律移動装置の第３の実施の形態を説明する。以下の説明では、第１の実施の形態と同じ構成要素には同じ符号を付して相違点を主に説明する。特に説明しない点については、第１の実施の形態と同じである。本実施の形態では、主に、物体候補領域の抽出および追跡に使用する画像を撮影する１台のカメラと、３次元情報を算出するために使用する画像を撮影する２台のカメラを別々に備え、合計３台のカメラを備える点が第１の実施の形態と異なる。
第三の実施の形態に係る自律移動装置の構成は、第１の実施の形態の構成に加えて、第３カメラと、第３画像入力部と、対応領域算出部とをさらに備える。
【００８３】
図１９は、本発明の第３の実施の形態に係る自律移動システム２の構成を示すブロック図である。第３カメラ１５０１は、第３画像入力部１５０１Ａを介して自律移動装置１のバスに接続される。
第１カメラ１２１は、第２カメラ１２２および第３カメラ１５０１よりフレームレートが高い。第２カメラ１２２および第３カメラ１５０１は、第１カメラより解像度が高いカメラである。
図２０は、第３の実施の形態に係る物体検出部２０１の機能構成を示すブロック図である。物体検出部２０１は、第１の実施の形態の構成に加えて、対応領域算出部１５０２を備える。
【００８４】
対応領域算出部１５０２の動作は以下のとおりである。対応領域算出部１５０２は、物体候補領域テーブル３００からエントリを順次取り出し、３次元情報算出優先度の値が３次元算出対象を示す値（例えば正値）である場合に以下の処理を行う。対応領域算出部１５０２は、第１カメラ１２１から取得した画像において領域頂点座標によりあらわされる物体候補領域が、第２カメラ１２２または第３カメラ１５０１から取得した画像において対応する領域を算出する。対応領域算出部１５０２は、算出された領域の頂点座標を物体候補領域テーブル３００の当該エントリにおける領域頂点座標として更新する。対応する領域を算出する方法は、例えば、第１カメラ１２１から取得した画像における物体候補領域の画像をテンプレートとして、第２カメラ１２２または第３カメラ１５０１から取得した画像全体を探索し、距離が最も近い位置を対応領域とする。
【００８５】
３次元情報算出部２１５は、物体候補領域テーブル３００から物体候補領域のエントリを取り出し、３次元情報算出優先度の値が３次元算出対象を示す値（例えば正値）の場合、物体候補領域内の各画素に対応する３次元情報を、第３カメラ１５０１が取得した第１画像と第２カメラ１２２が取得した第２画像間の対応点探索処理によって算出する。処理を開始したら、物体候補領域テーブル３００内の該当するエントリを対象として、３次元情報計算実行状態に実行状態を表す値を記録し、処理が完了したら、実行終了を表す値を記録する。
【００８６】
上述した第３の実施の形態によれば、次の作用効果が得られる。
（１）第３撮像部から複数の画像を連続的に取得する第３画像入力部をさらに備え、第１カメラ１２１は、第２カメラ１２２および第３撮像部のよりも高いフレームレートで撮影し、第２カメラ１２２および第３撮像部は、第１カメラ１２１よりも高い解像度で撮影し、３次元情報算出部２１５は、処理対象選択部２１４が３次元情報を算出すると判定した物体候補領域を対象として、第２画像入力部および第３画像入力部が取得する画像を用いて、第２カメラ１２２と第３撮像部の基線長に基づき、物体候補領域の３次元情報を算出する。
【００８７】
そのため、より高いフレームレートを有する第１カメラ１２１で撮影された時系列画像から２次元オプティカルフローを算出し、算出された２次元オプティカルフローから物体候補領域が抽出されることから、より高い精度で２次元オプティカルフローが算出可能であり、物体候補領域の抽出精度が高まる。また、より高い解像度を有する第２カメラ１２２で撮影された画像と第３カメラ１５０１で撮影された画像から３次元情報を算出することで、より密度の高い３次元情報が得られ、物体検出性能が向上する。
【００８８】
上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。上記実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることもできる。また、ある実施形態の構成に他の実施形態の構成を加えることもできる。また、各実施形態の構成の一部について、他の構成を追加・削除・置換することもできる。
【００８９】
（変形例）
上述した実施の形態では、物体検出部２０１は、処理対象選択部２１４と３次元情報算出部２１５とを備えたが、３次元情報算出部２１５が処理対象選択部２１４を含むように構成してもよい。すなわち、本発明には以下の構成も含まれる。
（１）物体検出装置１００は、第１カメラ１２１から複数の画像を連続的に取得する第１画像入力部１２１Ａと、第２カメラ１２２から複数の画像を連続的に取得する第２画像入力部１２２Ａと、を備える。物体検出装置１００はさらに、第１画像入力部１２１Ａが異なる時間に取得した２以上の画像を用いて、物体が存在する物体候補領域を抽出する物体候補領域抽出部２１１と、抽出された物体候補領域の複数の画像上の位置に基づいて、第１撮像部の撮影範囲に対する物体候補領域の将来の位置を推定する領域将来推定部２１２と、を備える。物体検出装置１００はさらに、領域将来推定部２１２の推定する将来の位置に基づき、３次元情報が必要である物体候補領域を対象として、第１画像入力部１２１Ａおよび第２画像入力部１２２Ａが取得する画像における当該物体候補領域の対応点に基づき３次元情報を算出する３次元情報算出部２１５と、を備える。
（２）３次元情報算出部２１５は、領域将来推定部２１２の推定する将来の位置に基づき物体候補領域ごとに３次元情報を算出するか否かを判定する処理対象選択部２１４を含み、３次元情報が必要である物体候補領域とは、処理対象選択部２１４により３次元情報を算出すると判断された物体候補領域である。
【００９０】
上記各構成、機能、処理部、処理手段等は、それらの一部や全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスクドライブ、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に格納することができる。
【符号の説明】
【００９１】
１  …  自律移動装置
２  …  自律移動システム
１００  …  物体検出装置
１２１  …  第１カメラ
１２１Ａ  …  第１画像入力部
１２２  …  第２カメラ
１２２Ａ  …  第２画像入力部
１２３  …  機構制御部
１２４  …  移動機構
１２５  …  情報処理装置
２０１  …  物体検出部
２１１  …  物体候補領域抽出部
２１２  …  領域将来推定部
２１３  …  領域追跡部
２１４  …  処理対象選択部
２１５  …  ３次元情報算出部
２１６  …  物体位置特定部
３００  …  物体候補領域テーブル
３１１  …  ３次元情報管理部
１５０１  …  第３カメラ
１５０１Ａ  …  第３画像入力部
【図１】
0006456405.tif 000002
【図２】
0006456405.tif 000003
【図３】
0006456405.tif 000004
【図４】
0006456405.tif 000005
【図５】
0006456405.tif 000006
【図６】
0006456405.tif 000007
【図７】
0006456405.tif 000008
【図８】
0006456405.tif 000009
【図９】
0006456405.tif 000010
【図１０】
0006456405.tif 000011
【図１１】
0006456405.tif 000012
【図１２】
0006456405.tif 000013
【図１３】
0006456405.tif 000014
【図１４】
0006456405.tif 000015
【図１５】
0006456405.tif 000016
【図１６】
0006456405.tif 000017
【図１７】
0006456405.tif 000018
【図１８】
0006456405.tif 000019
【図１９】
0006456405.tif 000020
【図２０】
0006456405.tif 000021