以下に添付図面を参照して、この発明にかかる決定装置、決定方法、および決定プログラムの実施の形態を詳細に説明する。以降では、決定装置として、自律移動型のロボットを例に挙げるが、これに限らない。例えば、決定装置としては、携帯端末、スマートフォン、PDA(Personal Digital Assistants)、ノードPC(Personal Computer)などを採用してもよい。
(ロボットによる同一のランドマークに関する画像領域の組み合わせの決定の流れ)
まず、図1を用いて、ロボットによる同一のランドマークに関する画像領域の組み合わせの決定の流れについて説明する。
図1は、ロボットによる同一のランドマークに関する画像領域の組み合わせの決定の流れを示す説明図である。図1において、ロボット100は、自律移動型のコンピュータであって、両眼視差によって被写体の3次元位置を特定するために使用されるステレオカメラを有する。
ステレオカメラには、左右に並べられた2台のカメラが含まれる。以降では、2台のカメラのうち、ロボット100の進行方向の左側に配置されたカメラを、「左目カメラL」と称す。また、ロボット100の進行方向の右側に配置されたカメラを、「右目カメラR」と称す。
次に、ロボット100は、右目カメラRに撮像された画像内に存在するランドマークのパターンを有する領域を検出し、左目カメラLに撮像された画像内に存在するランドマークのパターンを有する領域を検出する。ランドマークのパターンとは、ランドマークの写像に表れる所定の模様をいう。以降では、右目カメラRにより撮像された画像を「右目画像RV」と称し、時点「t」に撮像された右目画像RVであれば「右目画像RV(t)」と称す。また、左目カメラLにより撮像される画像を「左目画像LV」と称し、時点「t」に撮像された左目画像LVであれば「左目画像LV(t)」と称す。
また、ランドマークのパターンを有する領域を、「ランドマーク候補領域」と称す。右目画像RV(t)内にあるランドマーク候補領域であれば「ランドマーク候補領域Rx(t)」と称す。左目画像LV(t)内にあるランドマーク候補領域であれば「ランドマーク候補領域Lx(t)」と称す。ここで、xは正の整数である。
そして、ロボット100は、右目画像RV(t)内のランドマーク候補領域Rx(t)と左目画像LV(t)内のランドマーク候補領域Lx(t)との組み合わせの各々が、同一のランドマークに関するランドマーク候補領域の組み合わせか否かを決定する。これにより、ロボット100は、決定以降は、ランドマークの位置の特定に際し、同一のランドマークに関するランドマーク候補領域の組み合わせを用いるとともに、異なるランドマークに関するランドマーク候補領域の組み合わせを用いない。従って、ロボット100は、ランドマークの位置を誤って特定することを抑制し、ランドマークの位置の特定精度を向上させることができる。
図1の例では、(1)ロボット100は、或る時点「t1」において、右目カメラRにより右目画像RV(t1)を撮像する。右目カメラRの撮像領域にランドマークM1、M2が含まれるため、右目画像RV(t1)にはランドマーク候補領域が含まれる。そして、ロボット100は、右目画像RV(t1)内から、ランドマーク候補領域R1(t1)とランドマーク候補領域R2(t1)とを検出する。
また、ロボット100は、或る時点「t1」において、左目カメラLにより左目画像LV(t1)を撮像する。左目カメラLの撮像領域にランドマークM1、M2が含まれるため、左目画像LV(t1)にはランドマーク候補領域が含まれる。そして、ロボット100は、左目画像LV(t1)内から、ランドマーク候補領域L1(t1)とランドマーク候補領域L2(t1)とを検出する。
ここで、ランドマークM1、M2は、同一の特徴を有するランドマークであるとする。そのため、ロボット100は、ランドマーク候補領域R1(t1)とランドマーク候補領域R2(t1)とが、どちらのランドマークの写像であるか判断することができない。ロボット100は、同様に、ランドマーク候補領域L1(t1)とランドマーク候補領域L2(t1)とが、どちらのランドマークの写像であるか判断することができない。
次に、ロボット100は、右目画像RV(t1)内のランドマーク候補領域R1(t1)、R2(t1)の各々と、左目画像LV(t1)内のランドマーク候補領域L1(t1)、L2(t1)の各々と、を組み合わせる。
そして、ロボット100は、各々の組み合わせを同一のランドマークのランドマーク候補領域の組み合わせとした場合における当該ランドマークの時点「t1」での位置を特定する。ここで、ランドマークの位置は、例えば、自装置の位置を原点とする相対座標系における座標値であるとする。
(2)次に、ロボット100は、時点「t1」から一定時間経過後の時点「t2」において、時点「t1」から時点「t2」までの間における自装置の移動距離を検出する。図1の例では、ロボット100は、時点「t1」から時点「t2」までの間における自装置の移動距離として、正面方向への移動距離「2m」を検出する。
また、ロボット100は、時点「t2」において、右目カメラRにより右目画像RV(t2)を撮像する。そして、ロボット100は、右目画像RV(t2)内から、ランドマーク候補領域R1(t1)に対応するランドマーク候補領域R1(t2)と、ランドマーク候補領域R2(t1)に対応するランドマーク候補領域R2(t2)と、を検出する。
ここで、時点「t1」でのランドマーク候補領域と、時点「t2」でのランドマーク候補領域と、が対応するとは、各々のランドマーク候補領域が同一のランドマークの写像であることをいう。ロボット100は、具体的には、例えば、右目画像RV(t1)と、右目画像RV(t2)と、の相関演算を実行し、ランドマーク候補領域R1(t1)に対応するランドマーク候補領域R1(t2)を検出する。
また、ロボット100は、同様に、時点「t2」において、左目カメラLにより左目画像LV(t2)を撮像する。そして、ロボット100は、左目画像LV(t2)内から、ランドマーク候補領域L1(t1)に対応するランドマーク候補領域L1(t2)と、ランドマーク候補領域L2(t1)に対応するランドマーク候補領域L2(t2)と、を検出する。
ここで、ロボット100は、時点「t1」におけるランドマーク候補領域の組み合わせに対応するように、時点「t2」におけるランドマーク候補領域を組み合わせる。次に、ロボット100は、各々の組み合わせを同一のランドマークのランドマーク候補領域の組み合わせとした場合における当該ランドマークの時点「t2」での位置を特定する。
(3)次に、ロボット100は、各々のランドマーク候補領域の組み合わせが、同一のランドマークに関するランドマーク候補領域の組み合わせか否かを決定する。図1の例では、まず、ロボット100は、ランドマーク候補領域R1(t1)とランドマーク候補領域L2(t1)との組み合わせが、同一のランドマークに関するランドマーク候補領域の組み合わせか否かを決定する。
ロボット100は、具体的には、例えば、ランドマーク候補領域R1(t1)とランドマーク候補領域L2(t1)とを組み合わせた場合のランドマークの位置について、時点「t1」から時点「t2」までの間の変化量を算出する。当該変化量は、より具体的には、例えば、ランドマーク候補領域R1(t1)、L2(t1)を組み合わせた場合の位置から、当該組み合わせに対応するランドマーク候補領域R1(t2)、L2(t2)を組み合わせた場合の位置までの変化量である。図1の例では、ロボット100は、時点「t1」から時点「t2」までの間におけるランドマークの位置の変化量「1.5m」を算出する。
(4)そして、ロボット100は、(2)において測定した自装置の移動距離「2m」と、(3)において算出したランドマークの位置の変化量「1.5m」と、が一致するか否かを判断する。ここで、一致しないため、ロボット100は、ランドマーク候補領域R1(t1)とランドマーク候補領域L2(t1)との組み合わせが、同一のランドマークに関するランドマーク候補領域の組み合わせではないと決定する。
(5)また、ロボット100は、ランドマーク候補領域R1(t1)とランドマーク候補領域L1(t1)との組み合わせが、同一のランドマークに関するランドマーク候補領域の組み合わせか否かを決定する。
ロボット100は、具体的には、例えば、ランドマーク候補領域R1(t1)とランドマーク候補領域L1(t1)とを組み合わせた場合のランドマークの位置について、時点「t1」から時点「t2」までの間の変化量を算出する。図1の例では、ロボット100は、時点「t1」から時点「t2」までの間におけるランドマークの位置の変化量「2m」を算出する。
(6)そして、ロボット100は、(2)において測定した自装置の移動距離「2m」と、(5)において算出したランドマークの位置の変化量「2m」と、が一致するか否かを判断する。ここで、一致するため、ロボット100は、ランドマーク候補領域R1(t1)とランドマーク候補領域L1(t1)とが、同一のランドマークに関するランドマーク候補領域の組み合わせであると決定する。
また、ロボット100は、同様にして、ランドマーク候補領域R2(t1)と、ランドマーク候補領域L1(t1)、L2(t1)との各々と、の組み合わせが、同一のランドマークに関するランドマーク候補領域の組み合わせか否かを決定する。
このように、ロボット100は、右目画像RV内のランドマーク候補領域と左目画像LV内のランドマーク候補領域との組み合わせの各々が、同一のランドマークに関するランドマーク候補領域の組み合わせか否かを決定する。
これにより、ロボット100は、決定以降は、ランドマークの位置の特定に際し、同一のランドマークに関するランドマーク候補領域の組み合わせを用いるとともに、異なるランドマークに関するランドマーク候補領域の組み合わせを用いない。従って、ロボット100は、ランドマークの位置を誤って特定することを抑制し、ランドマークの位置の特定精度を向上させることができる。
より具体的には、例えば、ステレオカメラの撮像領域内に同一の特徴を有する複数のランドマークが存在し、ランドマーク候補領域R1(t1)、R2(t1)が検出され、ランドマーク候補領域L1(t1)、L2(t1)が検出される場合がある。この場合、従来技術にかかるロボットでは、ランドマーク候補領域R1(t1)と、ランドマーク候補領域L1(t1)、L2(t1)のいずれかと、を同一のランドマークに関するランドマーク候補領域として組み合わせるべきか判断することができない。
一方、この場合であっても、ロボット100は、ランドマーク候補領域R1(t1)と、ランドマーク候補領域L1(t1)と、の組み合わせが同一のランドマークに関するランドマーク候補領域の組み合わせと判断することができる。そのため、ロボット100は、当該組み合わせをランドマークの位置の特定に用いて、ランドマークの位置の特定精度を向上させることができる。
さらに、ロボット100は、ランドマーク候補領域R1(t1)と、ランドマーク候補領域L2(t1)と、の組み合わせが、異なるランドマークに関するランドマーク候補領域の組み合わせであると判断することができる。そのため、ロボット100は、当該組み合わせをランドマークの位置の特定に用いないようにして、ランドマークの位置の特定精度を向上させることができる。
また、例えば、ステレオカメラの撮像領域内に障害物(例えば、人間や動物など)があって、ランドマークを写すことが妨害され、ランドマーク候補領域R1(t1)およびランドマーク候補領域L2(t1)を検出できない場合がある。この場合、従来技術にかかるロボットでは、検出可能なランドマーク候補領域R2(t1)とランドマーク候補領域L1(t1)とを組み合わせて、ランドマークの位置を特定することになるため、ランドマークの位置を誤って特定してしまう。
一方、この場合であっても、ロボット100は、検出可能なランドマーク候補領域R2(t1)とランドマーク候補領域L1(t1)との組み合わせが、異なるランドマークに関するランドマーク候補領域の組み合わせであると判断することができる。そのため、ロボット100は、当該組み合わせをランドマークの位置の特定に用いないようにして、ランドマークの位置の特定精度を向上させることができる。
また、例えば、ステレオカメラの撮像領域内に、ランドマークに類似する特徴を有するがランドマークではない物体があって、検出すべきでないランドマーク候補領域R3(t1)が検出される場合がある。この場合、従来技術にかかるロボットでは、検出すべきでないランドマーク候補領域R3(t1)とランドマーク候補領域L1(t1)とを同一のランドマークに関する候補領域として組み合わせてしまい、ランドマークの位置を誤って特定してしまうことがある。
一方、この場合であっても、ロボット100は、検出すべきでないランドマーク候補領域R3(t1)とランドマーク候補領域L1(t1)との組み合わせが、異なるランドマークに関するランドマーク候補領域の組み合わせであると判断することができる。そのため、ロボット100は、当該組み合わせをランドマークの位置の特定に用いないようにして、ランドマークの位置の特定精度を向上させることができる。
結果として、ロボット100は、予め保持しておいた地図データが示す実際のランドマークの位置と、正しく特定されたランドマークの位置と、を対応付けることができ、自己位置の特定精度を向上させることができる。そして、ロボット100は、特定された自己位置を参照して、目的地に到着したり、障害物を回避したりすることができる。
また、このように、ロボット100は、同一のパターンを有するランドマーク候補領域の組み合わせが複数あっても、各々の組み合わせが同一のランドマークに関するランドマーク候補領域の組み合わせか否かを判断することができる。従って、ロボット100の利用者は、固有の特徴を有する物体のみではなく、互いに同一の特徴を有する複数の物体であっても、ランドマークとして採用することができる。
ここでは、ランドマークの位置を、自装置の位置を原点とする相対座標系における座標値により表したが、これに限らない。例えば、ランドマークの位置は、自装置の位置からランドマークまでのベクトルにより表されてもよいし、当該ベクトルの大きさにより表されてもよい。また、ランドマークの位置は、自装置の位置を原点とする相対座標系における座標値のうち、進行方向の成分のみにより表してもよい。
(コンピュータのハードウェア構成例)
次に、図2を用いて、図1に示したロボット100として使用されるコンピュータのハードウェア構成例について説明する。
図2は、コンピュータのハードウェア構成例を示すブロック図である。図2において、コンピュータ200は、プロセッサ201、記憶装置202、入力装置203、出力装置204、センサ205、および駆動装置206が、バス210に接続されて構成されている。
プロセッサ201は、コンピュータ200の全体の制御を司る。また、プロセッサ201は、記憶装置202に記憶されている各種プログラム(OS(Operating System)や本実施の形態の決定プログラム)を実行することで、記憶装置202内のデータを読み出したり、実行結果となるデータを記憶装置202に書き込んだりする。
記憶装置202は、ROM(Read Only Memory)、RAM(Random Access Memory)、フラッシュメモリ、磁気ディスクドライブなどで構成され、プロセッサ201のワークエリアになったり、各種プログラム(OSや本実施の形態の決定プログラム)や各種データ(各プログラムの実行により得られたデータを含む)を記憶したりする。
入力装置203は、スイッチ、入力キー、タッチパネル、マイクなどユーザの操作により、各種データの入力を行うインターフェースである。また、入力装置203は、I/Oポート、アンテナなど外部装置との通信により、各種データの入力を行うインターフェースであってもよい。出力装置204は、プロセッサ201の指示により、データを出力するインターフェースである。出力装置204には、ディスプレイ、スピーカが挙げられる。また、出力装置204は、I/Oポート、アンテナなど外部装置との通信により、各種データの出力を行うインターフェースであってもよい。
センサ205は、各種センサを含む。各種センサとしては、例えば、光学的な映像を電気信号に変換し、記憶装置202に保持するセンサがある。かかるセンサには、例えば、CCD(Charge Coupled Device)、CMOS(Complementary Metal―Oxide Semiconductor)センサなどの光学的な映像を電気信号に変換する光電変換素子を有するステレオカメラを採用できる。
また、各種センサとしては、例えば、コンピュータ200の姿勢情報を検出して、記憶装置202に保持するセンサがある。かかるセンサには、例えば、ジャイロセンサを採用できる。また、各種センサとしては、例えば、コンピュータ200の移動距離を検出して、記憶装置202に保持するセンサがある。かかるセンサには、駆動装置206の駆動状況を検出するエンコーダを採用できる。また、かかるセンサには、例えば、加速度センサを採用できる。
駆動装置206は、プロセッサ201の制御によりコンピュータ200を駆動させる。駆動装置206としては、例えば、モータ、エンジン等を用いることができる。駆動装置206は、例えば、モータにより車輪を回転させることによりコンピュータ200を移動させる。
コンピュータ200が、携帯端末、スマートフォン、PDA、ノードPCなど可搬な機器に使用される場合、コンピュータ200の移動距離を検出して記憶装置202に保持するセンサとして、歩数カウンタを採用してもよい。また、コンピュータ200が、携帯端末、スマートフォン、PDA、ノードPCなど可搬な機器に使用される場合、駆動装置206はなくてもよい。
(ランドマーク候補リストの記憶内容)
次に、図3を用いて、ランドマーク候補リストの記憶内容について説明する。ランドマーク候補リストは、右目画像RV内のランドマーク候補領域と、左目画像LV内のランドマーク候補領域と、を同一のランドマークに関する領域として組み合わせた場合の当該ランドマークの位置情報を記憶するテーブルである。ランドマーク候補リストは、例えば、図2に示した記憶装置202により実現される。
図3は、ランドマーク候補リストの記憶内容を示す説明図である。図3に示すように、ランドマーク候補リスト300は、ランドマーク項目と、候補領域項目と、登録時点の3次元位置情報項目と、現時点の3次元位置情報項目と、を有し、ランドマーク候補領域の組み合わせごとにレコードを構成する。
ランドマーク項目には、右目画像RV内のランドマーク候補領域の識別子が記憶される。具体的には、例えば、ランドマーク候補領域R1(t1)の識別子として、「R1」を使用する。識別子「R1」は、ランドマーク候補領域R1(t1)に対応するランドマーク候補領域R1(t2)の識別子としても使用する。
候補領域項目には、ランドマーク項目が示す右目画像RV内のランドマーク候補領域と組み合わせられる左目画像LV内のランドマーク候補領域の識別子が記憶される。具体的には、例えば、ランドマーク候補領域L1(t1)の識別子として、「L1」を使用する。識別子「L1」は、ランドマーク候補領域L1(t1)に対応するランドマーク候補領域L1(t2)の識別子としても使用する。
登録時点の3次元位置情報項目には、ランドマーク項目と候補領域項目とが示すランドマーク候補領域の組み合わせを、同一のランドマークに関するランドマーク候補領域の組み合わせとした場合の登録時点「t1」でのランドマークの位置情報が記憶される。
位置情報とは、例えば、自装置の位置を原点とした場合の3次元相対座標系における座標値である。座標系のx軸は、例えば、ロボット100の側面方向である。座標系のy軸は、例えば、x軸に垂直なロボット100の正面方向である。座標系のz軸は、例えば、x軸とy軸とに垂直なロボット100の倒立方向である。また、位置情報とは、ロボット100からランドマークまでのベクトルであってもよいし、当該ベクトルの大きさであってもよい。
現時点の3次元位置情報項目には、ランドマーク項目と候補領域項目とが示すランドマーク候補領域の組み合わせを、同一のランドマークに関するランドマーク候補領域の組み合わせとした場合の現時点「t2」でのランドマークの位置情報が記憶される。現時点「t2」は、登録時点「t1」以降の時点である。
ここでは、ランドマーク項目には、右目画像RV内のランドマーク候補領域の識別子を記憶したが、これに限らない。例えば、ランドマーク項目には、左目画像LV内のランドマーク候補領域の識別子を記憶してもよい。この場合、候補領域項目には、ランドマーク項目が示す左目画像LV内のランドマーク候補領域と組み合わせられる右目画像RV内のランドマーク候補領域の識別子が記憶される。
(ロボット100の機能的構成例)
次に、ロボット100の機能的構成例について説明する。図4は、ロボット100の機能的構成例を示すブロック図である。ロボット100は、第1の撮像部401と、第2の撮像部402と、特定部403と、取得部404と、検出部405と、算出部406と、判断部407と、決定部408と、を含む構成である。
ここで、ロボット100は、第1の撮像部401と、第2の撮像部402と、特定部403と、取得部404と、検出部405と、算出部406と、判断部407と、決定部408とにより、同一のランドマークに関するランドマーク候補領域の組み合わせを決定する。ロボット100は、具体的には、例えば、ランドマークの位置の第1の時点から第2の時点までの変化量を用いて、同一のランドマークに関するランドマーク候補領域の組み合わせを決定する。第1の時点とは、例えば、上述した時点「t1」である。第2の時点とは、例えば、上述した時点「t2」である。
また、ロボット100は、ランドマークの第1の時点から第2の時点までの移動量を用いて、同一のランドマークに関するランドマーク候補領域の組み合わせを決定してもよい。また、ロボット100は、ランドマークの第1の時点から第2の時点までの移動量と、ランドマークの位置の誤差範囲を用いて、同一のランドマークに関するランドマーク候補領域の組み合わせを決定してもよい。
<機能例1>
まず、ランドマークの位置の第1の時点から第2の時点までの変化量を用いて、複数のランドマーク候補領域の組み合わせの中から、同一のランドマークに関するランドマーク候補領域の組み合わせを決定する場合の機能例1について説明する。
第1の撮像部401は、ステレオカメラの一方のカメラにより画像を撮像する。ステレオカメラとは、撮像領域が重複する2台のカメラである。一方のカメラとは、例えば、上述した右目カメラRである。第1の撮像部401は、具体的には、例えば、右目カメラRにより右目画像RVを撮像する。
これにより、特定部403は、第1の撮像部401によって撮像された右目画像RVを参照して、ランドマークの位置を特定することができる。撮像された画像は、例えば、図2に示した記憶装置202に記憶される。第1の撮像部401は、具体的には、例えば、図2に示した記憶装置202に記憶されたプログラムをプロセッサ201に実行させることにより、またはセンサ205により、その機能を実現する。
第2の撮像部402は、ステレオカメラの他方のカメラにより画像を撮像する。他方のカメラとは、例えば、一方のカメラを右目カメラRとした場合、上述した左目カメラLである。第2の撮像部402は、具体的には、例えば、左目カメラLにより左目画像LVを撮像する。
これにより、特定部403は、第2の撮像部402によって撮像された左目画像LVを参照して、ランドマークの位置を特定することができる。撮像された画像は、例えば、図2に示した記憶装置202に記憶される。第2の撮像部402は、具体的には、例えば、図2に示した記憶装置202に記憶されたプログラムをプロセッサ201に実行させることにより、またはセンサ205により、その機能を実現する。
特定部403は、右目画像RV内のランドマーク候補領域を検出する。また、特定部403は、左目画像LV内のランドマーク候補領域を検出する。次に、特定部403は、右目画像RV内のランドマーク候補領域と、左目画像LV内のランドマーク候補領域と、を同一のランドマークのランドマーク候補領域として組み合わせて、当該ランドマークの位置を特定する。
特定部403は、具体的には、例えば、時点「t1」における右目画像RV(t1)から、SIFT(Scale−Invariant Feature Transform)やSURF(Speeded Up Robust Features)などの特徴点を検出するアルゴリズムを用いて、ランドマーク候補領域R1(t1)、R2(t1)を検出する。また、特定部403は、時点「t1」における左目画像LV(t1)から、ランドマーク候補領域L1(t1)、L2(t1)を検出する。
次に、特定部403は、SIFTやSURFを用いて、ランドマーク候補領域R1(t1)、R2(t1)、L1(t1)、L2(t1)の特徴量を算出する。そして、特定部403は、時点「t1」でのランドマーク候補領域L1(t1)、L2(t1)の各々と、時点「t1」でのランドマーク候補領域R1(t1)、R2(t1)の各々と、を組み合わせる。次に、特定部403は、各々の組み合わせについて、特徴量の類似度を算出し、類似度が閾値以上になるランドマーク候補領域の組み合わせを特定する。
次に、特定部403は、各々の組み合わせを同一のランドマークに関するランドマーク候補領域の組み合わせとした場合の当該組み合わせに対応する視差を特定する。そして、特定部403は、ステレオカメラの基線長と、焦点距離と、特定した視差と、を用いて、三角測量により、当該ランドマークの時点「t1」での位置「p(t1)=(x(t1)、y(t1)、z(t1))」を特定する。また、特定部403は、時点「t2」においても、各々の組み合わせを、同一のランドマークに関するランドマーク候補領域の組み合わせとした場合の当該ランドマークの時点「t2」での位置「p(t2)=(x(t2)、y(t2)、z(t2))」を特定する。
特定部403は、より具体的には、例えば、ランドマーク候補領域R1(t1)、L1(t1)の組み合わせに応じたランドマークの位置「pR1 L1(t1)=(xR1 L1(t1)、yR1 L1(t1)、zR1 L1(t1))」を特定する。また、特定部403は、ランドマーク候補領域R1(t1)、L1(t1)の組み合わせに対応するランドマーク候補領域R1(t2)、L1(t2)の組み合わせに応じたランドマークの位置「pR1 L1(t2)=(xR1 L1(t2)、yR1 L1(t2)、zR1 L1(t2))」を特定する。
特定部403は、例えば、組み合わせたランドマーク候補領域の識別子と、時点「t1」での位置「p(t1)」と、時点「t2」での位置「p(t2)」と、を対応付けたレコードを生成して、ランドマーク候補リスト300に記憶する。
例えば、ランドマークの識別子としては、各々対応するランドマーク候補領域R1(t1)とランドマーク候補領域R1(t2)とに共通の識別子として「R1」を使用する。同様に、各々対応するランドマーク候補領域L1(t1)とランドマーク候補領域L1(t2)とに共通の識別子として「L1」を使用する。時点「t1」での位置「p(t1)」は、例えば、ランドマーク候補リスト300の登録時点の3次元位置情報項目に記憶される。また、時点「t2」での位置「p(t2)」は、例えば、ランドマーク候補リスト300の現時点の3次元位置情報項目に記憶される。
これにより、取得部404は、特定部403によって特定されたランドマークの位置を取得することができる。特定部403は、例えば、図2に示した記憶装置202に記憶されたプログラムをプロセッサ201に実行させることにより、その機能を実現する。
取得部404は、第1の被写体の画像に第2の撮像部402に撮像された被写体群の各々の画像を組み合わせた複数の組み合わせの各々の組み合わせを、同一被写体の画像の組み合わせとした場合における同一被写体の第1の時点での位置を取得する。また、取得部404は、各々の組み合わせを、同一被写体の画像の組み合わせとした場合における同一被写体の第2の時点での位置を取得する。
ここで、被写体とは、画像内にランドマークのパターンを有する画像領域として投射される物体であり、例えば、上述したランドマークである。被写体の画像とは、ランドマークのパターンを有する画像領域であり、例えば、上述したランドマーク候補領域である。
取得部404は、具体的には、例えば、ランドマーク候補リスト300において、ランドマーク候補領域R1(t1)の識別子「R1」と、ランドマーク候補領域L1(t1)の識別子「L1」と、の組み合わせが対応付けられたレコードを取得する。次に、取得部404は、取得したレコードの登録時点の3次元位置情報項目から時点「t1」での位置「p(t1)」を取得し、現時点の3次元位置情報項目から時点「t2」での位置「p(t2)」を取得する。
これにより、決定部408は、取得部404によって取得されたランドマークの位置情報を参照することができる。取得されたデータは、例えば、図2に示した記憶装置202に記憶される。取得部404は、具体的には、例えば、図2に示した記憶装置202に記憶されたプログラムをプロセッサ201に実行させることにより、その機能を実現する。
検出部405は、第1の時点から第2の時点までの自装置の位置の変化量を検出する。検出部405は、具体的には、例えば、自装置のオドメトリとして、駆動装置のシャフトの回転を光エンコーダにより測定することにより、自装置の位置の変化量dx0、dy0を検出する。
これにより、決定部408は、検出部405によって検出されたオドメトリを参照することができる。検出されたデータは、例えば、図2に示した記憶装置202に記憶される。検出部405は、具体的には、例えば、図2に示した記憶装置202に記憶されたプログラムをプロセッサ201に実行させることにより、またはセンサ205により、その機能を実現する。
算出部406は、各々の組み合わせについて、同一被写体の位置の第1の時点から第2の時点までの変化量を算出する。算出部406は、具体的には、例えば、位置の変化量dpを、下記式(1)により算出する。算出部406は、より具体的には、例えば、ランドマーク候補領域R1(t1)、L1(t1)の組み合わせに応じたランドマークの位置「pR1 L1(t1)=(xR1 L1(t1)、yR1 L1(t1)、zR1 L1(t1))」を、下記式(1)に代入する。
また、算出部406は、ランドマーク候補領域R1(t1)、L1(t1)の組み合わせに対応するランドマーク候補領域R1(t2)、L1(t2)の組み合わせに応じたランドマークの位置「pR1 L1(t2)=(xR1 L1(t2)、yR1 L1(t2)、zR1 L1(t2))」を下記式(1)に代入する。そして、算出部406は、位置の変化量dpを算出する。
dp=(xR1 L1(t2)−xR1 L1(t1)、yR1 L1(t2)−yR1 L1(t1)、
zR1 L1(t2)−zR1 L1(t1))・・・(1)
算出された変化量dpは、例えば、図2に示した記憶装置202に記憶される。算出部406は、具体的には、例えば、図2に示した記憶装置202に記憶されたプログラムをプロセッサ201に実行させることにより、その機能を実現する。
判断部407は、各々の組み合わせについて、算出部406によって算出された変化量と、検出部405によって検出された変化量と、の差分が許容範囲内であるか否かを判断する。判断部407は、具体的には、例えば、x座標軸に関する差分「dx0+xR1 L1(t2)−xR1 L1(t1)」が許容範囲内であるか否かを判断する。
また、判断部407は、y座標軸に関する差分「dy0+yR1 L1(t2)−yR1 L1(t1)」が許容範囲内であるか否かを判断する。また、判断部407は、z座標軸に関する差分「zR1 L1(t2)−zR1 L1(t1)」が許容範囲内であるか否かを判断する。許容範囲とは、例えば、差分が「0」であることをいう。
これにより、決定部408は、判断結果を参照して、同一のランドマークの画像の組み合わせを決定することができる。判断結果は、例えば、図2に示した記憶装置202に記憶される。判断部407は、具体的には、例えば、図2に示した記憶装置202に記憶されたプログラムをプロセッサ201に実行させることにより、その機能を実現する。
決定部408は、複数の組み合わせの中で、判断部407によって差分が許容範囲内であると判断され、かつ、差分が最小になる組み合わせを、同一被写体の画像の組み合わせに決定する。決定部408は、具体的には、例えば、判断部407によってx軸、y軸、およびz軸に関する差分が許容範囲内であると判断され、かつ、x軸、y軸、およびz軸に関する差分の和が最小になるランドマーク候補領域の組み合わせを特定する。次に、決定部408は、特定した組み合わせを、同一のランドマークのランドマーク候補領域に決定する。
これにより、ロボット100は、同一のランドマークに関するランドマーク候補領域の組み合わせを用いて、自装置の位置を特定することができる。決定されたデータは、例えば、図2に示した記憶装置202に記憶される。決定部408は、具体的には、例えば、図2に示した記憶装置202に記憶されたプログラムをプロセッサ201に実行させることにより、その機能を実現する。
ここでは、ロボット100は、複数の組み合わせの中から、同一のランドマークに関するランドマーク候補領域の組み合わせを一つ決定したが、これに限らない。ロボット100は、例えば、ランドマーク候補領域の組み合わせの一つ一つに対して、同一のランドマークに関するランドマーク候補領域の組み合わせか否かを判断してもよい。
以降では、ロボット100が、ランドマーク候補領域R1とランドマーク候補領域L1との組み合わせに対して、同一のランドマークに関するランドマーク候補領域の組み合わせか否かを判断する場合を例に挙げる。
この場合、取得部404は、第1の撮像部401に撮像された第1の被写体の画像と、第2の撮像部402に撮像された第2の被写体の画像と、の組み合わせを、同一被写体の画像の組み合わせとした場合における同一被写体の第1の時点での位置を取得する。また、取得部404は、当該組み合わせを、同一被写体の画像の組み合わせとした場合における同一被写体の第2の時点での位置を取得する。
取得部404は、具体的には、例えば、ランドマーク候補リスト300において、ランドマーク候補領域R1(t1)の識別子「R1」と、ランドマーク候補領域L1(t1)の識別子「L1」と、の組み合わせが対応付けられたレコードを取得する。次に、取得部404は、取得したレコードの登録時点の3次元位置情報項目から時点「t1」での位置「p(t1)」を取得し、現時点の3次元位置情報項目から時点「t2」での位置「p(t2)」を取得する。
この場合、算出部406は、取得部404によって取得された同一被写体の位置の第1の時点から第2の時点までの変化量を算出する。算出部406は、具体的には、例えば、位置の変化量dpを、上記式(1)により算出する。
この場合、判断部407は、算出部406によって算出された変化量と、検出部405によって検出された変化量と、の差分が許容範囲内であるか否かを判断する。判断部407は、具体的には、例えば、x座標軸に関する差分dx0+xR1 L1(t2)−xR1 L1(t1)が許容範囲内であるか否かを判断する。また、判断部407は、y座標軸に関する差分dy0+yR1 L1(t2)−yR1 L1(t1)が許容範囲内であるか否かを判断する。また、判断部407は、z座標軸に関する差分zR1 L1(t2)−zR1 L1(t1)が許容範囲内であるか否かを判断する。
この場合、決定部408は、判断部407によって差分が許容範囲内であると判断された場合に、第1および第2の被写体の画像の組み合わせを、同一被写体の画像の組み合わせに決定する。決定部408は、具体的には、例えば、判断部407によってx軸、y軸、およびz軸に関する差分が許容範囲内であると判断された場合、ランドマーク候補領域R1とランドマーク候補領域L1とを同一のランドマークのランドマーク候補領域に決定する。
これにより、ロボット100は、複数のランドマーク候補領域の組み合わせの中から、同一のランドマークに関するランドマーク候補領域を決定することができる。そのため、ロボット100は、決定以降は、ランドマークの位置の特定に際し、同一のランドマークに関するランドマーク候補領域の組み合わせを用いるとともに、異なるランドマークに関するランドマーク候補領域の組み合わせを用いない。
従って、ロボット100は、ランドマークの位置を誤って特定することを抑制し、ランドマークの位置の特定精度を向上させることができる。結果として、ロボット100は、予め保持しておいた地図データが示す実際のランドマークの位置と、正しく特定されたランドマークの位置と、を対応付けることができ、自己位置の特定精度を向上させることができる。そして、ロボット100は、特定された自己位置を参照して、目的地に到着したり、障害物を回避したりすることができる。
<機能例2>
次に、ランドマークの第1の時点から第2の時点までの移動量を用いて、複数のランドマーク候補領域の組み合わせの中から、同一のランドマークに関するランドマーク候補領域の組み合わせを決定する機能例2について説明する。
ここで、機能例2における第1の撮像部401と第2の撮像部402と特定部403と取得部404と検出部405との機能は、各々、機能例1における機能と同様のため、ここでは説明を省略する。
算出部406は、各々の組み合わせについて、第1の時点での位置および第2の時点での位置と、自装置の位置の変化量と、を用いて、第1の時点から第2の時点までの同一被写体の移動量を算出する。
算出部406は、具体的には、例えば、移動ベクトルdpR1 L1を、下記式(2)により算出する。
dpR1 L1=(dx0+xR1 L1(t2)−xR1 L1(t1)、dy0+yR1 L1(t2)−yR1 L1(t1)、zR1 L1(t2)−zR1 L1(t1))・・・(2)
次に、算出部406は、移動ベクトルdpR1 L1の大きさを、移動量として算出する。
判断部407は、各々の組み合わせについて、算出部406によって算出された移動量が閾値以下であるか否かを判断する。ここで、閾値は、例えば、「0」である。
決定部408は、複数の組み合わせの中で、判断部407によって移動量が閾値以下であると判断され、かつ、移動量が最小になる組み合わせを、同一被写体の画像の組み合わせに決定する。
また、検出部405は、機能例2では、第1の時点から第2の時点までの第1の撮像部401の撮像方向の変化量、および第2の撮像部402の撮像方向の変化量を検出してもよい。検出部405は、具体的には、例えば、自装置のオドメトリとして、ジャイロセンサにより自装置の回転角度を測定して、ステレオカメラの撮像方向の変化量dθ0を検出する。
この場合、算出部406は、同一被写体の第1および第2の時点での位置と、自装置の位置の変化量と、第1および第2の撮像部401,402の撮像方向の変化量と、を用いて、第1の時点から第2の時点までの同一被写体の移動量を算出してもよい。そして、算出部406は、各々の組み合わせについて、第1の時点から第2の時点までの同一被写体の移動量を算出する。
算出部406は、具体的には、例えば、移動ベクトルdpR1 L1を、下記式(3)により算出する。
dpR1 L1=(dx0+xR1 L1(t2)cos(dθ0)−yR1 L1(t2)sin(dθ0)−xR1 L1(t1)、dy0+xR1 L1(t2)sin(dθ0)+yR1 L1(t2)cos(dθ0)−yR1 L1(t1)、zR1 L1(t2)−zR1 L1(t1))・・・(3)
次に、算出部406は、移動ベクトルdpR1 L1の大きさを、移動量として算出する。この場合、判断部407は、各々の組み合わせについて、算出部406によって算出された移動量が閾値以下であるか否かを判断する。閾値は、例えば、「0」である。
この場合、決定部408は、複数の組み合わせの中で、判断部407によって閾値以下であると判断され、かつ、移動量が最小になる組み合わせを、同一被写体の画像の組み合わせに決定する。
ここでは、ロボット100は、複数の組み合わせの中から、同一のランドマークに関するランドマーク候補領域の組み合わせを一つ決定したが、これに限らない。ロボット100は、例えば、ランドマーク候補領域の組み合わせの一つ一つに対して、同一のランドマークに関するランドマーク候補領域の組み合わせか否かを判断してもよい。
以降では、ロボット100が、ランドマーク候補領域R1とランドマーク候補領域L1との組み合わせに対して、同一のランドマークに関するランドマーク候補領域の組み合わせか否かを判断する場合を例に挙げる。
この場合、算出部406は、第1の時点での位置および第2の時点での位置と、自装置の位置の変化量と、を用いて、第1の時点から第2の時点までの同一被写体の移動量を算出する。算出部406は、具体的には、例えば、移動ベクトルdpR1 L1を、上記式(2)により算出する。次に、算出部406は、移動ベクトルdpR1 L1の大きさを、移動量として算出する。この場合、判断部407は、算出部406によって算出された移動量が閾値以下であるか否かを判断する。ここで、閾値は、例えば、「0」である。
この場合、決定部408は、具体的には、例えば、判断部407によって移動量が閾値以下であると判断された場合、ランドマーク候補領域R1とランドマーク候補領域L1とを同一のランドマークのランドマーク候補領域に決定する。
また、検出部405は、機能例2では、第1の時点から第2の時点までの第1の撮像部401の撮像方向の変化量、および第2の撮像部402の撮像方向の変化量を検出してもよい。検出部405は、具体的には、例えば、自装置のオドメトリとして、ジャイロセンサにより自装置の回転角度を測定して、自装置の回転に伴うステレオカメラの撮像方向の変化量dθ0を検出する。
この場合、算出部406は、同一被写体の第1および第2の時点での位置と、自装置の位置の変化量と、第1および第2の撮像部401,402の撮像方向の変化量と、を用いて、第1の時点から第2の時点までの同一被写体の移動量を算出してもよい。
算出部406は、具体的には、例えば、移動ベクトルdpR1 L1を、上記式(3)により算出する。次に、算出部406は、移動ベクトルdpR1 L1の大きさを、移動量として算出する。この場合、判断部407は、算出部406によって算出された移動量が閾値以下であるか否かを判断する。ここで、閾値は、例えば、「0」である。
この場合、決定部408は、具体的には、例えば、判断部407によって移動量が閾値以下であると判断された場合、ランドマーク候補領域R1とランドマーク候補領域L1とを同一のランドマークのランドマーク候補領域に決定する。
これにより、ロボット100は、複数のランドマーク候補領域の組み合わせの中から、同一のランドマークに関するランドマーク候補領域を決定することができる。そのため、ロボット100は、決定以降は、ランドマークの位置の特定に際し、同一のランドマークに関するランドマーク候補領域の組み合わせを用いるとともに、異なるランドマークに関するランドマーク候補領域の組み合わせを用いない。
従って、ロボット100は、ランドマークの位置を誤って特定することを抑制し、ランドマークの位置の特定精度を向上させることができる。結果として、ロボット100は、予め保持しておいた地図データが示す実際のランドマークの位置と、正しく特定されたランドマークの位置と、を対応付けることができ、自己位置の特定精度を向上させることができる。そして、ロボット100は、特定された自己位置を参照して、目的地に到着したり、障害物を回避したりすることができる。
<機能例3>
次に、ランドマークの移動量と、ランドマークの位置の誤差範囲と、を用いて、複数のランドマーク候補領域の組み合わせの中から、同一のランドマークに関するランドマーク候補領域の組み合わせを決定する機能例3について説明する。
ここで、機能例3における第1の撮像部401と第2の撮像部402と特定部403と取得部404と検出部405と算出部406との機能は、各々、機能例1および機能例2における機能と同様のため、ここでは説明を省略する。
算出部406は、機能例3では、各々の組み合わせについて、第1および第2の撮像部401,402に固有の誤差定数を用いて、第1の時点での位置に関する第1の誤差範囲および第2の時点での位置に関する第2の誤差範囲を算出する。そして、算出部406は、算出された第1および第2の誤差範囲を用いて、移動量の尤度を算出する。
ここで、誤差定数とは、ステレオカメラに固有の定数であって、ランドマークの位置に関する誤差範囲Eを算出するための関数における係数である。誤差範囲Eは、下記式(4)の関数により算出される。
E=(δ/bf)z^2・・・(4)
誤差定数は、例えば、上記式(4)における「δ/bf」である。ここで、δは、画素ピッチである。bは、ステレオカメラの右目カメラRと左目カメラLとの距離である。fは、ステレオカメラの焦点距離である。zは、ステレオカメラからランドマークまでの奥行きの距離である。
算出部406は、具体的には、例えば、時点「t1」でのランドマークの位置に関する誤差範囲E1を算出する。誤差範囲E1は、上記式(4)により算出される。また、算出部406は、時点「t2」でのランドマークの位置に関する誤差範囲E2を算出する。誤差範囲E2は、上記式(4)により算出される。
そして、算出部406は、誤差範囲の和E3を算出する。誤差範囲の和E3は、下記式(5)により算出される。
E3=E2+E1・・・(5)
次に、算出部406は、誤差範囲の和を用いて、ランドマークの移動量Vの尤度Pを算出する。尤度Pは、下記式(6)により算出される。
P=(1/√2πE3^2)exp(−V^2/2E3^2)・・・(6)
判断部407は、各々の組み合わせについて、算出部406によって算出された尤度が閾値以上であるか否かを判断する。ここで、閾値は、例えば、「0」である。
決定部408は、具体的には、例えば、判断部407によって尤度が閾値以上であると判断され、かつ、尤度が最大になるランドマーク候補領域の組み合わせを、同一のランドマークのランドマーク候補領域に決定する。
ここでは、ロボット100は、複数の組み合わせの中から、同一のランドマークに関するランドマーク候補領域の組み合わせを一つ決定したが、これに限らない。ロボット100は、例えば、ランドマーク候補領域の組み合わせの一つ一つに対して、同一のランドマークに関するランドマーク候補領域の組み合わせか否かを判断してもよい。
以降では、ロボット100は、ランドマーク候補領域R1とランドマーク候補領域L1との組み合わせに対して、同一のランドマークに関するランドマーク候補領域の組み合わせか否かを判断する場合を例に挙げる。
この場合、算出部406は、第1および第2の撮像部401,402に固有の誤差定数を用いて、第1の時点での位置に関する第1の誤差範囲および第2の時点での位置に関する第2の誤差範囲を算出する。次に、算出部406は、算出された第1および第2の誤差範囲を用いて、移動量の尤度を算出する。
算出部406は、具体的には、例えば、時点「t1」でのランドマークの位置に関する誤差範囲E1および時点「t2」でのランドマークの位置に関する誤差範囲E2を算出し、誤差範囲の和E3を算出し、尤度Pを算出する。誤差範囲E1、E2は上記式(4)により、誤差範囲の和E3は上記式(5)により、尤度Pは上記式(6)により、各々、算出される。
この場合、判断部407は、算出部406によって算出された尤度が閾値以上であるか否かを判断する。ここで、閾値は、例えば、「0」である。
この場合、決定部408は、具体的には、例えば、判断部407によって移動量が閾値以上であると判断された場合、ランドマーク候補領域R1とランドマーク候補領域L1とを同一のランドマークのランドマーク候補領域に決定する。
これにより、ロボット100は、ランドマークの位置の誤差範囲を参照して、複数のランドマーク候補領域の組み合わせの中から、同一のランドマークに関するランドマーク候補領域を決定することができる。そのため、ロボット100は、ランドマークの位置の誤差が影響して、偶然、移動量が閾値以下になった組み合わせがあったり、移動量が閾値より大きくなった組み合わせがあったりする場合であっても、同一のランドマークに関するランドマーク候補領域を決定することができる。
そして、ロボット100は、決定以降は、同一のランドマークに関するランドマーク候補領域の組み合わせを参照して、ランドマークの位置を特定することができ、ランドマークの位置の特定精度を向上させることができる。従って、ロボット100は、特定したランドマークの位置と、予め保持しておいた地図データと、を参照して、自装置の位置を特定することができ、自装置の位置の特定精度を向上させることができる。結果として、ロボット100は、目的地に到着することができたり、障害物を回避したりすることができる。
(実施例1)
次に、実施例1について説明する。実施例1では、ランドマークの移動量を用いて同一のランドマークに関するランドマーク候補領域の組み合わせを決定する。また、実施例1は、上述した機能例2にかかる実施例である。
(実施例1にかかるロボット100による位置特定)
次に、図5〜図8を用いて、実施例1にかかるロボット100による位置特定の具体例について説明する。
図5〜図8は、実施例1にかかるロボット100による位置特定の具体例を示す説明図である。図5において、(11)ロボット100は、時点「t1」において、右目カメラRにより時点「t1」での右目画像RV(t1)を撮像する。(12)また、ロボット100は、時点「t1」において、左目カメラLにより時点「t1」での左目画像LV(t1)を撮像する。
(13)また、ロボット100は、時点「t1」において、自装置のx軸方向への移動距離「x0(t1)」、自装置のy軸方向への移動距離「y0(t1)」、撮像方向の回転角度「θ0(t1)」を取得する。以降、x軸方向への移動距離「x0(t1)」、y軸方向への移動距離「y0(t1)」、撮像方向の回転角度「θ0(t1)」を、まとめて、オドメトリ(x0(t1)、y0(t1)、θ0(t1))と称す。次に、ロボット100は、図6の処理に移行する。
図6において、(14)ロボット100は、時点「t1」における右目画像RV(t1)から、ランドマーク候補領域を検出する。ロボット100は、具体的には、例えば、SIFTやSURFなどの特徴点を検出するアルゴリズムを使用して、ランドマークのパターンを有する領域を検出する。図6の例では、ロボット100は、時点「t1」における右目画像RV(t1)から、ランドマーク候補領域R1(t1)〜R4(t1)を検出する。
(15)また、ロボット100は、(14)と同様にして、時点「t1」における左目画像LV(t1)から、ランドマーク候補領域を検出する。図6の例では、ロボット100は、時点「t1」における左目画像LV(t1)から、ランドマーク候補領域L1(t1)〜L3(t1)を検出する。
(16)次に、ロボット100は、時点「t1」でのランドマーク候補領域R1(t1)〜R4(t1)の各々に、時点「t1」でのランドマーク候補領域L1(t1)〜L3(t1)の中で、類似度が閾値以上になるランドマーク候補領域を組み合わせる。そして、ロボット100は、各々の組み合わせを同一のランドマークに関するランドマーク候補領域の組み合わせとした場合の当該ランドマークの時点「t1」での位置を特定する。
図6の例では、ロボット100は、ランドマーク候補領域R1(t1)と、ランドマーク候補領域L1(t1)と、を組み合わせた場合のランドマークの時点「t1」での位置として、ロボット100の位置を原点とした3次元相対座標系における座標値「pR1 L1(t1)=(xR1 L1(t1)、yR1 L1(t1)、zR1 L1(t1))」を特定する。
ロボット100は、より具体的には、例えば、右目画像RV(t1)内から検出したランドマーク候補領域R1(t1)と、左目画像LV(t1)内から検出したランドマーク候補領域L1(t1)と、の視差を特定する。そして、ロボット100は、ステレオカメラの基線長と、特定した視差と、を用いて、三角測量によりランドマークの相対座標値を特定する。
次に、ロボット100は、ランドマーク候補領域R1(t1)の識別子「R1」と、ランドマーク候補領域L1(t1)の識別子「L1」と、時点「t1」での相対座標値「pR1 L1(t1)」と、を対応付けたレコードを生成する。そして、ロボット100は、生成したレコードをランドマーク候補リスト300に追加する。
また、ロボット100は、同様にして、残余の組み合わせについても、ランドマークの時点「t1」での位置を特定する。そして、ロボット100は、組み合わせたランドマーク候補領域の識別子と、相対座標値と、を対応付けたレコードを生成して、ランドマーク候補リスト300に追加する。次に、ロボット100は、図7の処理に移行する。
図7において、(17)ロボット100は、時点「t1」以降の時点「t2」において、右目カメラRにより時点「t2」での右目画像RV(t2)を撮像する。(18)また、ロボット100は、時点「t2」において、左目カメラLにより時点「t2」での左目画像LV(t2)を撮像する。
(19)また、ロボット100は、時点「t2」において、自装置のx軸方向への移動距離「x0(t2)」、自装置のy軸方向への移動距離「y0(t2)」、撮像方向の回転角度「θ0(t2)」を取得する。以降、x軸方向への移動距離「x0(t2)」、y軸方向への移動距離「y0(t2)」、回転角度「θ0(t2)」を、まとめて、オドメトリ(x0(t2)、y0(t2)、θ0(t2))と称す。次に、ロボット100は、図8の処理に移行する。
図8において、(20)ロボット100は、時点「t1」における右目画像RV(t1)と時点「t2」における右目画像RV(t2)内の相関演算を行う。これにより、ロボット100は、時点「t2」における右目画像RV(t2)から、時点「t1」におけるランドマーク候補領域R1(t1)〜R4(t1)に各々対応する時点「t2」におけるランドマーク候補領域R1(t2)〜R4(t2)を検出する。
(21)また、ロボット100は、(20)と同様にして、時点「t2」における左目画像LV(t2)から、ランドマーク候補領域L1(t1)〜L3(t1)に各々対応するランドマーク候補領域L1(t2)〜L3(t2)を検出する。
(22)次に、ロボット100は、(16)における組み合わせに対応させて、時点「t2」でのランドマーク候補領域R1(t2)〜R4(t2)の各々に、時点「t2」でのランドマーク候補領域L1(t2)〜L3(t2)の各々を組み合わせる。そして、ロボット100は、各々の組み合わせを同一のランドマークに関するランドマーク候補領域の組み合わせとした場合の当該ランドマークの時点「t2」での位置を特定する。
図8の例では、ロボット100は、ランドマーク候補領域R1(t2)と、ランドマーク候補領域L1(t2)と、を組み合わせた場合のランドマークの時点「t2」での位置として、ロボット100の位置を原点とした3次元相対座標系における座標値「pR1 L1(t2)=(xR1 L1(t2)、yR1 L1(t2)、zR1 L1(t2))」を特定する。
次に、ロボット100は、ランドマーク候補領域R1(t1)の識別子「R1」と、ランドマーク候補領域L1(t1)の識別子「L1」と、を対応付けたレコードの現時点の3次元位置情報項目に、相対座標値「pR1 L1(t2)」を対応付ける。
また、ロボット100は、同様にして、残余の組み合わせについても、ランドマークの時点「t2」での位置を特定する。そして、ロボット100は、残余の組み合わせのランドマーク候補領域の識別子を対応付けたレコードの現時点の3次元位置情報項目に、相対座標値を対応付ける。
次に、ロボット100は、時点「t1」から時点「t2」の間におけるオドメトリの変化量(dx0、dy0、dθ0)を算出する。オドメトリの変化量(dx0、dy0、dθ0)は、下記式(7)により算出される。
(dx0、dy0、dθ0)=(x0(t1)、y0(t1)、θ0(t1))−(x0(t2)、y0(t2)、θ0(t2))・・・(7)
そして、ロボット100は、オドメトリの変化量(dx0、dy0、dθ0)を用いて、ランドマーク候補領域R1(t1)と、ランドマーク候補領域L1(t1)と、を組み合わせた場合のランドマークの移動ベクトルdpR1 L1=(dxR1 L1、dyR1 L1、dzR1 L1)を算出する。移動ベクトルdpR1 L1は、上記式(3)により算出される。
次に、ロボット100は、ランドマークの移動量として、移動ベクトルの大きさを算出する。また、ロボット100は、同様にして、残余の組み合わせについても、ランドマークの移動量を算出する。次に、ロボット100は、算出した移動量のうち、最も小さい移動量と、2番目に小さい移動量と、を特定する。
そして、ロボット100は、最も小さい移動量が閾値以下であるか否かを判断する。ロボット100は、閾値より大きい場合は、各々の組み合わせは同一のランドマークに関するランドマーク候補領域の組み合わせでないと判断する。
また、ロボット100は、閾値以下である場合は、最も小さい移動量と、2番目に小さい移動量と、の差分を算出し、差分が閾値以上であれば最も小さい移動量となった組み合わせを、同一のランドマークに関するランドマーク候補領域の組み合わせに決定する。
また、ロボット100は、差分が閾値より小さい場合は、図5〜図8と同様にして、時点「t2」以降の時点において、ランドマークの移動量をさらに特定して、同一のランドマークに関するランドマーク候補領域の組み合わせを決定する。以降、ロボット100は、決定したランドマーク候補領域の組み合わせから特定されるランドマークの相対座標値と、地図データと、を参照して、自己位置を特定することができる。
(実施例1にかかるロボット100による位置特定処理の処理手順)
次に、図9を用いて、実施例1にかかるロボット100による位置特定処理の詳細な処理手順について説明する。
図9は、ロボット100による位置特定処理の詳細な処理手順を示すフローチャートである。図9において、ロボット100は、右目カメラRから右目画像RVを取得し、左目カメラLから左目画像LVを取得する(ステップS901)。次に、ロボット100は、右目画像RV内のランドマーク候補領域を検出し、左目画像LV内のランドマーク候補領域を検出する(ステップS902)。
そして、ロボット100は、右目画像RV内のランドマーク候補領域と、左目画像LV内のランドマーク候補領域と、の組み合わせごとに、ランドマークの位置情報を特定する(ステップS903)。ここで、特定されたランドマークの位置情報は、ランドマーク候補リスト300の登録時点の3次元位置情報項目に記憶される。
次に、ロボット100は、右目カメラRから右目画像RVを取得し、左目カメラLから左目画像LVを取得する(ステップS904)。そして、ロボット100は、右目画像RV内のランドマーク候補領域と、左目画像LV内のランドマーク候補領域と、の組み合わせごとに、ランドマークの位置情報を特定する(ステップS905)。ここで、特定されたランドマークの位置情報は、ランドマーク候補リスト300の現時点の3次元位置情報項目に記憶される。
次に、ロボット100は、ランドマーク候補リスト300のランドマーク候補領域の組み合わせごとに、ランドマークの移動量を算出する(ステップS906)。そして、ロボット100は、自装置の移動量を検出する(ステップS907)。
次に、ロボット100は、ランドマークの移動量と、自装置の移動量と、を参照して、同一のランドマークに関するランドマーク候補領域の組み合わせを決定する(ステップS908)。そして、ロボット100は、決定されたランドマーク候補領域の組み合わせと、地図データと、を参照して自装置の位置を特定する(ステップS909)。
次に、ロボット100は、ステップS904の処理に戻る。これにより、ロボット100は、同一のランドマークに関するランドマーク候補領域の組み合わせを特定することができる。そのため、ロボット100は、同一のランドマークに関するランドマーク候補領域の組み合わせを参照して、ランドマークの位置を特定することができ、ランドマークの位置の特定精度を向上させることができる。
従って、ロボット100は、特定したランドマークの位置と、予め保持しておいた地図データと、を参照して、自装置の位置を特定することができ、自装置の位置の特定精度を向上させることができる。結果として、ロボット100は、目的地に到着することができたり、障害物を回避したりすることができる。
(実施例2)
次に、実施例2について説明する。実施例1では、ランドマークの移動量の多寡により同一のランドマークに関するランドマーク候補領域の組み合わせを決定した。これに対し、実施例2では、ランドマークの位置の誤差範囲から算出したランドマークの移動量の尤度により、同一のランドマークに関するランドマーク候補領域の組み合わせを決定する。また、実施例2は、上述した機能例3にかかる実施例である。
(尤度テーブルの記憶内容)
次に、図10を用いて、尤度テーブルの記憶内容について説明する。尤度テーブルは、右目画像RV内のランドマーク候補領域と、左目画像LV内のランドマーク候補領域と、を対応付けた情報を記憶するテーブルである。尤度テーブルは、例えば、図2に示した記憶装置202により実現される。
図10は、尤度テーブルの記憶内容を示す説明図である。図10に示すように、尤度テーブル1000は、ランドマーク項目と、候補領域項目と、誤差範囲項目と、ランドマークの移動量項目と、尤度項目と、を有し、ランドマーク候補ごとにレコードを構成する。
ランドマーク項目には、右目画像RV内のランドマーク候補領域の識別子が記憶される。候補領域項目には、ランドマーク項目が示すランドマーク候補領域と組み合わせられる左目画像LV内のランドマーク候補領域の識別子が記憶される。
誤差範囲項目には、ランドマーク候補リスト300の登録時点の3次元位置情報項目および現時点の3次元位置情報項目の誤差範囲が記憶される。ランドマークの移動量項目には、時点「t1」から時点「t1+1」までにおけるランドマークの移動量が記憶される。尤度項目には、ランドマークの移動量の尤度が記憶される。
(実施例2にかかるロボット100による位置特定)
次に、実施例2にかかるロボット100による位置特定の具体例について説明する。ロボット100は、図5〜図8と同様にして、ランドマーク候補領域R1(t1)〜R4(t1)の各々と、ランドマーク候補領域L1(t1)〜L3(t1)の各々と、の組み合わせについて、ランドマークの移動量を算出する。
次に、ロボット100は、ランドマーク候補領域R1(t1)〜R4(t1)の各々とランドマーク候補領域L1(t1)〜L3(t1)の各々とを対応付けたレコードのランドマークの移動量項目に、算出した移動量を対応付ける。
また、ロボット100は、ランドマーク候補リスト300の登録時点の3次元位置情報項目の誤差範囲E1を算出する。計測精度E1は、上記式(4)により算出される。
次に、ロボット100は、ランドマーク候補リスト300の現時点の3次元位置情報項目の誤差範囲E2を算出する。誤差範囲E2は、上記式(4)により算出される。そして、ロボット100は、誤差範囲の和E3を算出する。誤差範囲の和E3は、上記式(5)により算出される。次に、ロボット100は、ランドマーク候補領域R1(t1)〜R4(t1)の各々とランドマーク候補領域L1(t1)〜L3(t1)の各々とを対応付けたレコードの誤差範囲項目に、算出した誤差範囲の和E3を対応付ける。
そして、ロボット100は、ランドマークの移動量項目に記憶されたランドマークの移動量、および誤差範囲項目に記憶された誤差範囲の和を参照して、尤度Pを算出する。尤度Pは、上記式(6)により算出される。次に、ロボット100は、算出した尤度のうち、最も大きい尤度と、2番目に大きい尤度と、を特定する。
そして、ロボット100は、最も大きい尤度が閾値以上であるか否かを判断する。ロボット100は、閾値より小さい場合は、各々の組み合わせは同一のランドマークに関するランドマーク候補領域の組み合わせでないと判断する。
また、ロボット100は、閾値以上である場合は、最も大きい尤度と、2番目に大きい尤度と、の差分を算出し、差分が閾値以上であれば最も大きい尤度となった組み合わせを、同一のランドマークに関するランドマーク候補領域の組み合わせに決定する。
また、ロボット100は、差分が閾値より大きい場合は、図5〜図8と同様にして、時点「t2」以降の時点において、ランドマークの移動量の尤度をさらに算出して、同一のランドマークに関するランドマーク候補領域の組み合わせを決定する。
これにより、ロボット100は、ランドマークの位置の誤差範囲を参照して、複数のランドマーク候補領域の組み合わせの中から、同一のランドマークに関するランドマーク候補領域を決定することができる。そのため、ロボット100は、ランドマークの位置の誤差が影響して、偶然、移動量が閾値以下になった組み合わせがあったり、移動量が閾値より大きくなった組み合わせがあったりする場合であっても、同一のランドマークに関するランドマーク候補領域を決定することができる。
そして、ロボット100は、決定以降は、同一のランドマークに関するランドマーク候補領域の組み合わせを参照して、ランドマークの位置を特定することができ、ランドマークの位置の特定精度を向上させることができる。従って、ロボット100は、特定したランドマークの位置と、予め保持しておいた地図データと、を参照して、自装置の位置を特定することができ、自装置の位置の特定精度を向上させることができる。結果として、ロボット100は、目的地に到着することができたり、障害物を回避したりすることができる。
(実施例2にかかるロボット100による位置特定処理の処理手順)
次に、実施例2にかかるロボット100による位置特定処理の詳細な処理手順について説明する。
実施例2にかかるロボット100による位置特定処理の詳細な処理手順は、ステップS908を除き、図9を用いて説明した実施例1にかかるロボット100による位置特定処理の詳細な処理手順と同様のため、ここでは、ステップS908について説明する。
実施例2では、ロボット100は、ステップS908において、ランドマークの位置の誤差範囲を算出する。次に、ロボット100は、ランドマークの位置の誤差範囲を用いて、ランドマークの移動量の尤度を算出する。そして、ロボット100は、算出した尤度を参照して、同一のランドマークに関するランドマーク候補領域の組み合わせを決定する。
これにより、ロボット100は、ランドマークの位置の誤差範囲を参照して、複数のランドマーク候補領域の組み合わせの中から、同一のランドマークに関するランドマーク候補領域を決定することができる。そのため、ロボット100は、ランドマークの位置の誤差が影響して、偶然、移動量が閾値以下になった組み合わせがあったり、移動量が閾値より大きくなった組み合わせがあったりする場合であっても、同一のランドマークに関するランドマーク候補領域を決定することができる。
そして、ロボット100は、決定以降は、同一のランドマークに関するランドマーク候補領域の組み合わせを参照して、ランドマークの位置を特定することができ、ランドマークの位置の特定精度を向上させることができる。従って、ロボット100は、特定したランドマークの位置と、予め保持しておいた地図データと、を参照して、自装置の位置を特定することができ、自装置の位置の特定精度を向上させることができる。結果として、ロボット100は、目的地に到着することができたり、障害物を回避したりすることができる。
以上説明したように、決定装置は、右目画像RV内のランドマーク候補領域と、左目画像LV内のランドマーク候補領域と、を組み合わせた場合のランドマークの位置の変化量と、自装置の移動量と、の差分が許容範囲内であるか否かを判断する。そして、決定装置は、差分が許容範囲内であれば、当該ランドマーク候補領域の組み合わせを、同一のランドマークに関するランドマーク候補領域に決定する。
これにより、決定装置は、右目画像RV内のランドマーク候補領域と、左目画像LV内のランドマーク候補領域と、が同一のランドマークに関するランドマーク候補領域か否かを判断することができる。そのため、決定装置は、決定以降は、ランドマークの位置の特定に際し、同一のランドマークに関するランドマーク候補領域の組み合わせを用いるとともに、異なるランドマークに関するランドマーク候補領域の組み合わせを用いない。従って、決定装置は、ランドマークの位置を誤って特定することを抑制し、ランドマークの位置の特定精度を向上させることができる。
より具体的には、例えば、ステレオカメラの撮像領域内に同一の特徴を有する複数のランドマークが存在し、ランドマーク候補領域R1(t1)、R2(t1)が検出され、ランドマーク候補領域L1(t1)、L2(t1)が検出される場合がある。この場合、従来技術にかかるロボットでは、ランドマーク候補領域R1(t1)と、ランドマーク候補領域L1(t1)、L2(t1)のいずれかと、を同一のランドマークに関するランドマーク候補領域として組み合わせるべきか判断することができない。
一方、この場合であっても、決定装置は、ランドマーク候補領域R1(t1)と、ランドマーク候補領域L1(t1)と、の組み合わせが同一のランドマークに関するランドマーク候補領域の組み合わせと判断することができる。そのため、決定装置は、当該組み合わせをランドマークの位置の特定に用いて、ランドマークの位置の特定精度を向上させることができる。
さらに、決定装置は、ランドマーク候補領域R1(t1)と、ランドマーク候補領域L2(t1)と、の組み合わせが、異なるランドマークに関するランドマーク候補領域の組み合わせであると判断することができる。そのため、決定装置は、当該組み合わせをランドマークの位置の特定に用いないようにして、ランドマークの位置の特定精度を向上させることができる。
また、例えば、ステレオカメラの撮像領域内に障害物(例えば、人間や動物など)があって、ランドマークを写すことが妨害され、ランドマーク候補領域R1(t1)およびランドマーク候補領域L2(t1)を検出できない場合がある。この場合、従来技術にかかるロボットでは、検出可能なランドマーク候補領域R2(t1)とランドマーク候補領域L1(t1)とを組み合わせて、ランドマークの位置を特定することになるため、ランドマークの位置を誤って特定してしまう。
一方、この場合であっても、決定装置は、検出可能なランドマーク候補領域R2(t1)とランドマーク候補領域L1(t1)との組み合わせが、異なるランドマークに関するランドマーク候補領域の組み合わせであると判断することができる。そのため、決定装置は、当該組み合わせをランドマークの位置の特定に用いないようにして、ランドマークの位置の特定精度を向上させることができる。
また、例えば、ステレオカメラの撮像領域内に、ランドマークに類似する特徴を有するがランドマークではない物体があって、検出すべきでないランドマーク候補領域R3(t1)が検出される場合がある。この場合、従来技術にかかるロボットでは、検出すべきでないランドマーク候補領域R3(t1)とランドマーク候補領域L1(t1)とを同一のランドマークに関する候補領域として組み合わせてしまい、ランドマークの位置を誤って特定してしまうことがある。
一方、この場合であっても、決定装置は、検出すべきでないランドマーク候補領域R3(t1)とランドマーク候補領域L1(t1)との組み合わせが、異なるランドマークに関するランドマーク候補領域の組み合わせであると判断することができる。そのため、決定装置は、当該組み合わせをランドマークの位置の特定に用いないようにして、ランドマークの位置の特定精度を向上させることができる。
結果として、決定装置は、予め保持しておいた地図データが示す実際のランドマークの位置と、正しく特定されたランドマークの位置と、を対応付けることができ、自己位置の特定精度を向上させることができる。そして、決定装置は、特定された自己位置を参照して、目的地に到着したり、障害物を回避したりすることができる。
また、このように、決定装置は、同一のパターンを有するランドマーク候補領域の組み合わせが複数あっても、各々の組み合わせが同一のランドマークに関するランドマーク候補領域の組み合わせか否かを判断することができる。従って、決定装置の利用者は、固有の特徴を有する物体のみではなく、互いに同一の特徴を有する複数の物体であっても、ランドマークとして採用することができる。
また、決定装置は、自装置の移動量を用いて、右目画像RV内のランドマーク候補領域と、左目画像LV内のランドマーク候補領域と、を組み合わせた場合のランドマークの移動量を算出し、算出した移動量が閾値以下であるか否かを判断する。そして、決定装置は、閾値以下であれば、当該ランドマーク候補領域の組み合わせを、同一のランドマークに関するランドマーク候補領域に決定する。
これにより、決定装置は、右目画像RV内のランドマーク候補領域と、左目画像LV内のランドマーク候補領域と、が同一のランドマークに関するランドマーク候補領域か否かを判断することができる。そのため、決定装置は、決定以降は、ランドマークの位置の特定に際し、同一のランドマークに関するランドマーク候補領域の組み合わせを用いるとともに、異なるランドマークに関するランドマーク候補領域の組み合わせを用いない。
従って、決定装置は、ランドマークの位置を誤って特定することを抑制し、ランドマークの位置の特定精度を向上させることができる。結果として、決定装置は、予め保持しておいた地図データが示す実際のランドマークの位置と、正しく特定されたランドマークの位置と、を対応付けることができ、自己位置の特定精度を向上させることができる。そして、決定装置は、特定された自己位置を参照して、目的地に到着したり、障害物を回避したりすることができる。
また、決定装置は、自装置の移動量および撮像方向の変化量を用いて、右目画像RV内のランドマーク候補領域と、左目画像LV内のランドマーク候補領域と、を組み合わせた場合のランドマークの移動量を算出する。次に、決定装置は、算出した移動量が閾値以下であるか否かを判断する。そして、決定装置は、閾値以下であれば、当該ランドマーク候補領域の組み合わせを、同一のランドマークに関するランドマーク候補領域に決定する。
これにより、決定装置は、決定装置の進行方向が変化した場合であっても、右目画像RV内のランドマーク候補領域と、左目画像LV内のランドマーク候補領域と、が同一のランドマークに関するランドマーク候補領域か否かを判断することができる。
また、決定装置は、ランドマークの位置に関する誤差範囲を算出し、算出した誤差範囲を用いて右目画像RV内のランドマーク候補領域と、左目画像LV内のランドマーク候補領域と、を組み合わせた場合のランドマークの移動量の尤度を算出する。次に、決定装置は、算出した尤度が閾値以上であるか否かを判断する。そして、決定装置は、閾値以上であれば、当該ランドマーク候補領域の組み合わせを、同一のランドマークに関するランドマーク候補領域に決定する。
これにより、決定装置は、ランドマークの位置の誤差範囲を参照して、右目画像RV内のランドマーク候補領域と、左目画像LV内のランドマーク候補領域と、が同一のランドマークに関するランドマーク候補領域か否かを判断することができる。そのため、決定装置は、ランドマークの位置の誤差が影響して、偶然、移動量が閾値以下になった組み合わせがあったり、移動量が閾値より大きくなった組み合わせがあったりする場合であっても、同一のランドマークに関するランドマーク候補領域か否かを決定することができる。
また、決定装置は、右目画像RV内のランドマーク候補領域と、左目画像LV内のランドマーク候補領域の各々と、の組み合わせの各々について、ランドマークの位置の変化量と、自装置の移動量と、の差分が許容範囲内であるか否かを判断する。そして、決定装置は、差分が許容範囲内であって、かつ、差分が最小になるランドマーク候補領域の組み合わせを、同一のランドマークに関するランドマーク候補領域に決定する。
これにより、決定装置は、複数のランドマーク候補領域の組み合わせの中から、同一のランドマークに関するランドマーク候補領域を決定することができる。そのため、決定装置は、決定以降は、ランドマークの位置の特定に際し、同一のランドマークに関するランドマーク候補領域の組み合わせを用いるとともに、異なるランドマークに関するランドマーク候補領域の組み合わせを用いない。
従って、決定装置は、ランドマークの位置を誤って特定することを抑制し、ランドマークの位置の特定精度を向上させることができる。結果として、決定装置は、予め保持しておいた地図データが示す実際のランドマークの位置と、正しく特定されたランドマークの位置と、を対応付けることができ、自己位置の特定精度を向上させることができる。そして、決定装置は、特定された自己位置を参照して、目的地に到着したり、障害物を回避したりすることができる。
また、決定装置は、自装置の移動量を用いて、右目画像RV内のランドマーク候補領域と、左目画像LV内のランドマーク候補領域の各々と、の組み合わせの各々について、ランドマークの移動量を算出し、算出した移動量が閾値以下であるか否かを判断する。そして、決定装置は、算出した移動量が閾値以下であって、かつ、算出した移動量が最小になるランドマーク候補領域の組み合わせを、同一のランドマークに関するランドマーク候補領域に決定する。
これにより、決定装置は、複数のランドマーク候補領域の組み合わせの中から、同一のランドマークに関するランドマーク候補領域を決定することができる。そのため、決定装置は、決定以降は、ランドマークの位置の特定に際し、同一のランドマークに関するランドマーク候補領域の組み合わせを用いるとともに、異なるランドマークに関するランドマーク候補領域の組み合わせを用いない。
従って、決定装置は、ランドマークの位置を誤って特定することを抑制し、ランドマークの位置の特定精度を向上させることができる。結果として、決定装置は、予め保持しておいた地図データが示す実際のランドマークの位置と、正しく特定されたランドマークの位置と、を対応付けることができ、自己位置の特定精度を向上させることができる。そして、決定装置は、特定された自己位置を参照して、目的地に到着したり、障害物を回避したりすることができる。
また、決定装置は、自装置の移動量および撮像方向の変化量を用いて、右目画像RV内のランドマーク候補領域と、左目画像LV内のランドマーク候補領域の各々と、の組み合わせの各々について、ランドマークの移動量を算出する。次に、決定装置は、算出した移動量が閾値以下であるか否かを判断する。そして、決定装置は、閾値以下であれば、当該ランドマーク候補領域の組み合わせを、同一のランドマークに関するランドマーク候補領域に決定する。
これにより、決定装置は、決定装置の進行方向が変化した場合であっても、複数のランドマーク候補領域の組み合わせの中から、同一のランドマークに関するランドマーク候補領域を決定することができる。
また、決定装置は、右目画像RV内のランドマーク候補領域と、左目画像LV内のランドマーク候補領域の各々と、の組み合わせの各々について、ランドマークの位置に関する誤差範囲を算出し、算出した誤差範囲を用いて、ランドマークの移動量の尤度を算出する。次に、決定装置は、算出した尤度が閾値以上であるか否かを判断する。そして、決定装置は、閾値以上であれば、当該ランドマーク候補領域の組み合わせを、同一のランドマークに関するランドマーク候補領域に決定する。
これにより、決定装置は、ランドマークの位置の誤差範囲を参照して、複数のランドマーク候補領域の組み合わせの中から、同一のランドマークに関するランドマーク候補領域を決定することができる。そのため、決定装置は、ランドマークの位置の誤差が影響して、偶然、移動量が閾値以下になった組み合わせがあったり、移動量が閾値より大きくなった組み合わせがあったりする場合であっても、同一のランドマークに関するランドマーク候補領域を決定することができる。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)第1の撮像部に撮像された第1の被写体の画像と、前記第1の撮像部と撮像領域が重複する第2の撮像部に撮像された第2の被写体の画像と、の組み合わせを、同一被写体の画像の組み合わせとした場合における前記同一被写体の第1の時点での位置および第2の時点での位置を取得する取得部と、
前記第1の時点から前記第2の時点までの自装置の位置の変化量を検出する検出部と、
前記取得部によって取得された前記同一被写体の位置の前記第1の時点から前記第2の時点までの変化量を算出する算出部と、
前記算出部によって算出された変化量と、前記検出部によって検出された変化量と、の差分が許容範囲内であるか否かを判断する判断部と、
前記判断部によって前記差分が許容範囲内であると判断された場合に、前記第1および第2の被写体の画像の組み合わせを、前記同一被写体の画像の組み合わせに決定する決定部と、
を有することを特徴とする決定装置。
(付記2)前記算出部は、
前記第1の時点での位置および前記第2の時点での位置と、前記自装置の位置の変化量と、を用いて、前記第1の時点から前記第2の時点までの前記同一被写体の移動量を算出し、
前記判断部は、
前記算出部によって算出された移動量が閾値以下であるか否かを判断し、
前記決定部は、
前記判断部によって前記移動量が閾値以下であると判断された場合に、前記第1および第2の被写体の画像の組み合わせを、前記同一被写体の画像の組み合わせに決定する、
ことを特徴とする付記1に記載の決定装置。
(付記3)前記検出部は、
前記第1の時点から前記第2の時点までの前記第1の撮像部の撮像方向の変化量、および前記第2の撮像部の撮像方向の変化量を検出し、
前記算出部は、
前記同一被写体の前記第1の時点での位置および前記第2の時点での位置と、前記自装置の位置の変化量と、前記第1の撮像部の撮像方向の変化量および前記第2の撮像部の撮像方向の変化量と、を用いて、前記第1の時点から前記第2の時点までの前記同一被写体の移動量を算出する、
ことを特徴とする付記2に記載の決定装置。
(付記4)前記算出部は、
被写体の位置の誤差を示す関数における係数を示す前記第1および第2の撮像部に固有な誤差定数を用いて、前記第1の時点での位置に関する第1の誤差範囲および前記第2の時点での位置に関する第2の誤差範囲を算出し、算出された第1および第2の誤差範囲を用いて、前記移動量の尤度を算出し、
前記判断部は、
前記算出部によって算出された尤度が閾値以上であるか否かを判断し、
前記決定部は、
前記判断部によって前記尤度が閾値以上であると判断された場合に、前記第1および第2の被写体の画像の組み合わせを、前記同一被写体の画像の組み合わせに決定する、
ことを特徴とする付記2または3に記載の決定装置。
(付記5)前記取得部は、
前記第1の被写体の画像に前記第2の撮像部に撮像された被写体群の各々の画像を組み合わせた複数の組み合わせの各々の組み合わせを前記同一被写体の画像の組み合わせとした場合における前記同一被写体の第1の時点での位置および第2の時点での位置を取得し、
前記算出部は、
前記各々の組み合わせについて、前記同一被写体の位置の前記第1の時点から前記第2の時点までの変化量を算出し、
前記判断部は、
前記各々の組み合わせについて、前記算出部によって算出された変化量と、前記検出部によって検出された変化量と、の差分が許容範囲内であるか否かを判断し、
前記決定部は、
前記複数の組み合わせの中で、前記判断部によって前記差分が許容範囲内であると判断され、かつ、前記差分が最小になる組み合わせを、前記同一被写体の画像の組み合わせに決定する、
ことを特徴とする付記1に記載の決定装置。
(付記6)前記算出部は、
前記各々の組み合わせについて、前記第1の時点での位置および前記第2の時点での位置と、前記自装置の位置の変化量と、を用いて、前記第1の時点から前記第2の時点までの前記同一被写体の移動量を算出し、
前記判断部は、
前記各々の組み合わせについて、前記算出部によって算出された移動量が閾値以下であるか否かを判断し、
前記決定部は、
前記複数の組み合わせの中で、前記判断部によって前記移動量が閾値以下であると判断され、かつ、前記移動量が最小になる組み合わせを、前記同一被写体の画像の組み合わせに決定する、
ことを特徴とする付記5に記載の決定装置。
(付記7)前記検出部は、
前記第1の時点から前記第2の時点までの前記第1の撮像部の撮像方向の変化量、および前記第2の撮像部の撮像方向の変化量を検出し、
前記算出部は、
前記各々の組み合わせについて、前記同一被写体の前記第1の時点での位置および前記第2の時点での位置と、前記自装置の位置の変化量と、前記第1の撮像部の撮像方向の変化量および前記第2の撮像部の撮像方向の変化量と、を用いて、前記第1の時点から前記第2の時点までの前記同一被写体の移動量を算出する、
ことを特徴とする付記6に記載の決定装置。
(付記8)前記算出部は、
前記各々の組み合わせについて、被写体の位置の誤差を表す関数の係数を示す前記第1および第2の撮像部に固有な誤差定数を用いて、前記第1の時点での位置に関する第1の誤差範囲および前記第2の時点での位置に関する第2の誤差範囲を算出し、算出された第1および第2の誤差範囲を用いて、前記移動量の尤度を算出し、
前記判断部は、
前記各々の組み合わせについて、前記算出部によって算出された尤度が閾値以上であるか否かを判断し、
前記決定部は、
前記複数の組み合わせの中で、前記判断部によって前記尤度が閾値以上であると判断され、かつ、前記尤度が最大になる組み合わせを、前記同一被写体の画像の組み合わせに決定する、
ことを特徴とする付記6または7に記載の決定装置。
(付記9)コンピュータが、
第1の撮像部に撮像された第1の被写体の画像と、前記第1の撮像部と撮像領域が重複する第2の撮像部に撮像された第2の被写体の画像と、の組み合わせを、同一被写体の画像の組み合わせとした場合における前記同一被写体の第1の時点での位置および第2の時点での位置を取得し、
前記第1の時点から前記第2の時点までの自装置の位置の変化量を検出し、
取得された前記同一被写体の位置の前記第1の時点から前記第2の時点までの変化量を算出し、
算出された変化量と、検出された変化量と、の差分が許容範囲内であるか否かを判断し、
前記差分が許容範囲内であると判断された場合に、前記第1および第2の被写体の画像の組み合わせを、前記同一被写体の画像の組み合わせに決定する、
処理を実行することを特徴とする決定方法。
(付記10)コンピュータに、
第1の撮像部に撮像された第1の被写体の画像と、前記第1の撮像部と撮像領域が重複する第2の撮像部に撮像された第2の被写体の画像と、の組み合わせを、同一被写体の画像の組み合わせとした場合における前記同一被写体の第1の時点での位置および第2の時点での位置を取得し、
前記第1の時点から前記第2の時点までの自装置の位置の変化量を検出し、
取得された前記同一被写体の位置の前記第1の時点から前記第2の時点までの変化量を算出し、
算出された変化量と、検出された変化量と、の差分が許容範囲内であるか否かを判断し、
前記差分が許容範囲内であると判断された場合に、前記第1および第2の被写体の画像の組み合わせを、前記同一被写体の画像の組み合わせに決定する、
処理を実行させることを特徴とする決定プログラム。