(57)【要約】【課題】移動体の位置を速く検出することを目的とする。【解決手段】移動体の位置を検出する検出装置が、第１撮像装置が撮像する画像に基づいて生成される第１データ及び前記画像の特徴点の３次元座標値を示す位置データを取得し、前記移動体が有する第２撮像装置が撮像する画像に基づいて生成される第２データを取得し、前記第１データ及び前記第２データのそれぞれの特徴点を対応させて、前記位置データに基づいて、前記第２撮像装置の位置及び向きを計算することにより上記課題を解決する。【選択図】図１
2017116339.tif 000002
【特許請求の範囲】
【請求項１】
移動体の位置を検出する検出装置であって、
第１撮像装置が撮像する画像に基づいて生成される第１データ及び前記画像の特徴点の３次元座標値を示す位置データを取得する第１取得部と、
前記移動体が有する第２撮像装置が撮像する画像に基づいて生成される第２データを取得する第２取得部と、
前記第１データ及び前記第２データから抽出されるそれぞれの特徴点を対応させて、前記位置データに基づいて、前記第２撮像装置の位置及び向きを計算する計算部と
を備える検出装置。
【請求項２】
前記第１データ及び前記第２データは、画像又は画像から抽出される前記特徴点を示すデータである請求項１に記載の検出装置。
【請求項３】
前記第１撮像装置は、複数設置され、
複数の前記第１撮像装置のうち、最も検出装置に近い第１撮像装置が選択され、選択された前記第１撮像装置から前記第１データ及び前記位置データが取得される請求項１又は２に記載の検出装置。
【請求項４】
前記計算部は、前記第２撮像装置が撮像する複数の画像のうち、過去の画像と、現在の画像とから抽出されるそれぞれの特徴点を対応付けし、前記位置データに基づいて、前記第２撮像装置の位置及び向きを計算する請求項１乃至３のいずれか一項に記載の検出装置。
【請求項５】
前記第１撮像装置との通信が遮断されると、前記計算部は、前記過去の画像及び前記現在の画像に基づく対応付けを行う請求項４に記載の検出装置。
【請求項６】
前記第１撮像装置は、ステレオカメラであり、
前記３次元座標値は、前記ステレオカメラの視差に基づいて計算される値である請求項１乃至５のいずれか一項に記載の検出装置。
【請求項７】
移動体の位置を検出する検出装置が行う検出方法であって、
前記検出装置が、第１撮像装置が撮像する画像に基づいて生成される第１データ及び前記画像の特徴点の３次元座標値を示す位置データを取得する第１取得手順と、
前記検出装置が、前記移動体が有する第２撮像装置が撮像する画像に基づいて生成される第２データを取得する第２取得手順と、
前記検出装置が、前記第１データ及び前記第２データのそれぞれの特徴点を対応させて、前記位置データに基づいて、前記第２撮像装置の位置及び向きを計算する計算手順と
を含む検出方法。
【請求項８】
移動体の位置を検出するコンピュータに検出方法を実行させるためのプログラムであって、
前記コンピュータが、第１撮像装置が撮像する画像に基づいて生成される第１データ及び前記画像の特徴点の３次元座標値を示す位置データを取得する第１取得手順と、
前記コンピュータが、前記移動体が有する第２撮像装置が撮像する画像に基づいて生成される第２データを取得する第２取得手順と、
前記コンピュータが、前記第１データ及び前記第２データのそれぞれの特徴点を対応させて、前記位置データに基づいて、前記第２撮像装置の位置及び向きを計算する計算手順と
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検出装置、検出方法及びプログラムに関する。
【背景技術】
【０００２】
従来、自動車又はロボット等の移動体において、移動体に、移動体自身の自己位置を認識させる方法が知られている。例えば、方法は、Ｖｉｓｕａｌ  ＳＬＡＭ（Ｓｉｍｕｌｔａｎｅｏｕｓ  Ｌｏｃａｌｉｚａｔｉｏｎ  Ａｎｄ  Ｍａｐｐｉｎｇ）等である。
【０００３】
例えば、自己位置を検出するため、ランドマークを利用する方法が知られている。具体的には、まず、あらかじめ複数のランドマーク位置を計測し、３次元の登録位置座標として登録する。次に、移動体の概略の自己位置を予測し、探索範囲を設定する。続いて、広角カメラによって撮影される画像からランドマーク候補を抽出する。さらに、抽出されるランドマーク候補の２次元の候補点座標を算出する。そして、算出される候補点座標と、登録位置座標とを比較し、候補点座標に最も近似する移動体の仮想点を自己位置と推定する方法が知られている（例えば、特許文献１参照）。
【０００４】
他にも、ランドマーク位置を手作業で測定せず、簡単、かつ、短時間にランドマークの３次元位置を登録する方法が知られている。具体的には、まず、移動体の移動状態量と、移動体から撮像されるランドマーク画像のずれ量とをそれぞれ取得する。次に、移動状態量と、ずれ量とに基づいて、初期位置を基準としたランドマークの相対３次元位置を算出する。続いて、相対３次元位置を基準座標系の座標に座標変換することによって、ランドマーク位置を登録する方法が知られている（例えば、特許文献２参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の方法では、移動体が充電ステーション等の初期位置に移動しないと自己位置等を特定するのが難しい場合が多い。そのため、移動体が初期位置に移動する時間が必要となり、処理時間が長い場合がある。
【０００６】
本発明は、上記課題に鑑みてなされたものであり、移動体の位置を速く検出できる検出装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
一態様における、移動体の位置を検出する検出装置は、第１撮像装置が撮像する画像に基づいて生成される第１データ及び前記画像の特徴点の３次元座標値を示す位置データを取得する第１取得部と、前記移動体が有する第２撮像装置が撮像する画像に基づいて生成される第２データを取得する第２取得部と、前記第１データ及び前記第２データのそれぞれの特徴点を対応させて、前記位置データに基づいて、前記第２撮像装置の位置及び向きを計算する計算部とを備えることを特徴とする。
【発明の効果】
【０００８】
本発明の各実施形態によれば、移動体の位置を速く検出できる検出装置を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施形態に係る検出装置を有する検出システムのシステム構成の一例を示す全体構成図である。
【図２】本発明の一実施形態に係る第１撮像装置のハードウェア構成の一例を示すブロック図である。
【図３】本発明の一実施形態に係る移動体のハードウェア構成の一例を示すブロック図である。
【図４】本発明の一実施形態に係る第１撮像装置が行う処理の一例を示すフローチャートである。
【図５】本発明の一実施形態に係る３次元座標の特定法の一例を示す図である。
【図６】本発明の一実施形態に係る絶対座標系への変換方法の一例を示す図である。
【図７】本発明の一実施形態に係る検出装置が行う第１処理の一例を示すフローチャートである。
【図８】本発明の一実施形態に係る検出装置による特徴点の対応付けの一例を示す図である。
【図９】本発明の一実施形態に係る検出装置が行う第２処理の一例を示すフローチャートである。
【図１０】本発明の一実施形態に係る検出装置を有する検出システムのシステム構成の一例を示す機能ブロック図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付し、重複した説明を省く。
【００１１】
＜システム構成例＞
図１は、本発明の一実施形態に係る検出装置を有する検出システムのシステム構成の一例を示す全体構成図である。図示するように、検出システム１は、第１撮像装置の例である第１カメラＣＡＭ１と、移動体ＭＯとを有する。また、第１カメラＣＡＭ１と、移動体ＭＯとは、図示するように、ネットワークＮＷを介して接続される。したがって、第１カメラＣＡＭ１と、移動体ＭＯとは、ネットワークＮＷを介して、データを送受信する。
【００１２】
移動体ＭＯは、第２撮像装置の例である第２カメラＣＡＭ２を有する。さらに、この例では、移動体ＭＯが検出装置を有するとする。
【００１３】
＜ハードウェア構成例＞
図２は、本発明の一実施形態に係る第１撮像装置のハードウェア構成の一例を示すブロック図である。例えば、第１カメラＣＡＭ１は、ステレオカメラ等の３次元の位置を特定できる装置である。以下、第１カメラＣＡＭ１がステレオカメラである例で説明する。図示するように、第１カメラＣＡＭ１は、画像センサＣＡ１Ｈ１と、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）ＣＡ１Ｈ２と、通信器ＣＡ１Ｈ３とを有する。
【００１４】
画像センサＣＡ１Ｈ１は、例えば、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）又はＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）センサ等の光学センサである。なお、画像センサＣＡ１Ｈ１は、レンズ、フィルタ又はこれらの組み合わせ等の光学系を更に有してもよい。
【００１５】
ＣＰＵＣＡ１Ｈ２は、各処理を実現するための演算及びデータの加工を行う演算装置並びにハードウェアを制御する制御装置である。
【００１６】
通信器ＣＡ１Ｈ３は、外部装置と有線、無線又はネットワークを介してデータ等を送受信する。
【００１７】
また、第１カメラＣＡＭ１は、設置される位置が一定である、いわゆる固定式でもよく、位置が移動によって変わる、いわゆる可動式でもよい。例えば、第１カメラＣＡＭ１が可動式である場合には、第１カメラＣＡＭ１は、アクチュエータ及び第１カメラＣＡＭ１の位置を計測するセンサ等を更に有してもよい。したがって、固定式又は可動式のいずれであっても、第１カメラＣＡＭ１の位置及び向きは、既知である。また、第１カメラＣＡＭ１の位置及び向きを示すデータがあらかじめ検出装置２に入力され、検出装置は、固定式又は可動式のいずれであっても、第１カメラＣＡＭ１の位置及び向きを示すデータをあらかじめ記憶してもよい。
【００１８】
第１データは、第１カメラＣＡＭ１が固定式である場合には、第１カメラＣＡＭ１が設置される位置に基づいて、あらかじめ生成される。一方で、第１カメラＣＡＭ１が可動式である場合には、第１カメラＣＡＭ１が生成する位置及び向きを示すデータ等に基づいて生成される。
【００１９】
図３は、本発明の一実施形態に係る移動体のハードウェア構成の一例を示すブロック図である。例えば、移動体ＭＯは、車両又はロボット等である。図示するように、この例では、移動体ＭＯは、第２カメラＣＡＭ２と、検出装置２とを有する。また、検出装置２は、ＣＰＵＭＯＨ１と、通信器ＭＯＨ２と、アクチュエータ制御装置ＭＯＨ３と、アクチュエータＭＯＨ４とを有する。
【００２０】
第２カメラＣＡＭ２は、撮像して画像データを生成する。なお、第２カメラＣＡＭ２は、画像センサ及び光学系等を有する。
【００２１】
ＣＰＵＭＯＨ１は、各処理を実現するための演算及びデータの加工を行う演算装置並びにハードウェアを制御する制御装置である。
【００２２】
通信器ＭＯＨ２は、外部装置と有線、無線又はネットワークを介してデータ等を送受信する。
【００２３】
アクチュエータ制御装置ＭＯＨ３は、アクチュエータＭＯＨ４を制御する。
【００２４】
アクチュエータＭＯＨ４は、移動体ＭＯを移動させるための駆動装置である。例えば、アクチュエータＭＯＨ４は、モータ、減速機及び車輪等である。
【００２５】
＜処理例＞
図４は、本発明の一実施形態に係る第１撮像装置が行う処理の一例を示すフローチャートである。
【００２６】
ステップＳ１０では、第１カメラは、撮像を行う。例えば、第１カメラは、シャッタタイミングと同期させて、左右の画像を示す画像データをそれぞれ生成する。以下、一方の画像を「基準画像」といい、他方の画像を「参照画像」という。
【００２７】
ステップＳ１１では、第１カメラは、マッチングを行う。すなわち、ステップＳ１１では、第１カメラは、いわゆるステレオマッチング等を行う。具体的には、第１カメラは、ブロックマッチング等によって、基準画像が有する点に対応する参照画像の点（以下「対応点」という。）を探索する。また、マッチングでは、サブピクセル推定法又はＳｅｍｉ  Ｇｌｏｂａｌ  Ｍａｔｃｈｉｎｇ法等が行われてもよい。
【００２８】
ステップＳ１２では、第１カメラは、対応点に基づいて、視差から３次元座標を特定する。
【００２９】
図５は、本発明の一実施形態に係る３次元座標の特定法の一例を示す図である。例えば、第１カメラは、図示するような三角法等によって３次元座標を特定する。図では、３次元座標（Ｘ，Ｙ，Ｚ）が特定される。また、第１カメラが有するそれぞれのカメラの焦点をそれぞれ「Ｃ１」及び「Ｃ２」とする。さらに、各カメラのそれぞれの焦点間の距離を「ｂａｓｅｌｉｎｅ」とする。さらにまた、基準画像において、ある点の座標を「（ｘ１，ｙ）」とする。これに対して参照画像において、「（ｘ１，ｙ）」の対応点の座標を「（ｘ２，ｙ）」とする。続いて、各画像の中心座標を「（Ｃｘ，Ｃｙ）」とし、両カメラの焦点距離を「（ｆｘ，ｆｙ）」とする。このようにすると、３次元座標（Ｘ，Ｙ，Ｚ）は、下記（１）式のように示せる。
【００３０】
【数１】
2017116339.tif 000003
図４に戻り、ステップＳ１３では、第１カメラは、特定される３次元座標を絶対座標系へ変換する。すなわち、第１カメラは、上記（１）式で特定される３次元座標（Ｘ，Ｙ，Ｚ）を絶対座標系へ変換する。
【００３１】
３次元座標（Ｘ，Ｙ，Ｚ）は、図５に示す基準画像を生成するカメラの焦点「Ｃ１」を原点にした座標系である。具体的には、第１カメラは、３次元座標（Ｘ，Ｙ，Ｚ）に対して、変換行列をかける。なお、変換行列は、基準画像を生成するカメラの絶対座標系での位置及び向きに基づく行列である。
【００３２】
図６は、本発明の一実施形態に係る絶対座標系への変換方法の一例を示す図である。図示する式において、３次元座標（Ｘ，Ｙ，Ｚ）に変換行列ＴＲがかけられると、絶対座標系の座標（Ｘ'，Ｙ'，Ｚ'）が算出される。
【００３３】
また、変換行列ＴＲにおいて、基準画像を生成するカメラの向きは、回転成分ＲＣによって示す。さらに、変換行列ＴＲにおいて、基準画像を生成するカメラの位置は、位置成分ＴＣによって示す。
【００３４】
図４に戻り、ステップＳ１４では、第１カメラは、データを送信する。例えば、第１カメラは、ステップＳ１０で生成した画像を示す画像データ及びステップＳ１３で算出される座標（Ｘ'，Ｙ'，Ｚ'）を示す位置データを送信する。なお、送信されるデータは、画像を示すデータに限られない。例えば、データは、画像から抽出されるエッジ等の特徴点を示すデータでもよい。このようにすると、送信されるデータ量が少なくできる。また、送り先となる検出装置で、特徴点を抽出する処理等が省略できるため、検出装置の処理コストを少なくできる。
【００３５】
また、データは、一部の領域を示すデータでもよい。すなわち、データは、撮像される範囲のうち、特徴的な部分に限定した座標（Ｘ'，Ｙ'，Ｚ'）を示すデータでもよい。このようにすると、送信されるデータ量が少なくできる。
【００３６】
また、データを送信する頻度は、検出装置が移動体の位置を検出する処理を行う頻度よりも少なくてもよい。例えば、データを送信する頻度は、１秒に１回程度等である。
【００３７】
図７は、本発明の一実施形態に係る検出装置が行う第１処理の一例を示すフローチャートである。
【００３８】
ステップＳ２０では、検出装置は、第１データ及び位置データを取得する。例えば、第１データは、図４に示すステップＳ１４で送信される画像データ等である。また、位置データは、図４に示すステップＳ１４で送信される座標（Ｘ'，Ｙ'，Ｚ'）を示す位置データ等である。なお、画像データは、例えば、部分領域に分割して、それぞれ取得されてもよい。
【００３９】
ステップＳ２１では、検出装置は、特徴点を抽出する。例えば、特徴点の抽出は、ＦＡＳＴ（Ｆｅａｔｕｒｅｓ  ｆｒｏｍ  Ａｃｃｅｌｅｒａｔｅｄ  Ｓｅｇｍｅｎｔ  Ｔｅｓｔ）又はＯＲＢ（Ｏｒｉｅｎｔｅｄ  ＦＡＳＴ  ａｎｄ  Ｒｏｔａｔｅｄ  ＢＲＩＥＦ）等によって実現される。
【００４０】
なお、ステップＳ２０及びステップＳ２１は、例えば、第１データ及び位置データが取得されるごとに行われる。
【００４１】
ステップＳ２２では、検出装置は、第２データを取得する。なお、第２データは、例えば、第２カメラによって撮像される画像を示す画像データである。また、第２データは、画像データに限られない。例えば、第２データは、第２カメラによって撮像される画像から抽出される特徴点を示すデータ等でもよい。以下、第２データが画像データである例で説明する。また、ステップＳ２１は、カメラのフレームレート、すなわち、例えば、１秒間に３０回等の高い頻度で行われるのが望ましい。
【００４２】
ステップＳ２３では、検出装置は、特徴点を抽出する。例えば、ステップＳ２３では、ステップＳ２１と同様の処理が行われる。
【００４３】
なお、ステップＳ２２及びステップＳ２３は、例えば、第２データ取得されるごとに行われる。
【００４４】
ステップＳ２４では、検出装置は、特徴点の対応付けを行う。まず、検出装置は、ステップＳ２３で抽出される特徴点を特徴点候補とする。次に、検出装置は、特徴点候補と、対応するステップＳ２１で抽出される特徴点とを対応付けさせる。つまり、双方の画像から抽出される特徴の似ている特徴点同士は、同一領域を示す点とし、対応付けは、特徴点同士を対応させる処理である。
【００４５】
特徴点がどの程度似ているかは、例えば、特徴量記述子等によって評価される。すなわち、特徴量記述子によって、まず、画像の一部の領域にある画素値から特徴量ベクトルが算出される。次に、特徴量ベクトル同士の類似度が閾値を超える値となり、かつ、最も類似度が高くなる特徴点同士は、似ていると判断され、対応付けされる。
【００４６】
図８は、本発明の一実施形態に係る検出装置による特徴点の対応付けの一例を示す図である。例えば、図示するように、第１データが第１画像データＤ１であり、かつ、第２データが第２画像データＤ２である例で説明する。図示するように、第１画像データＤ１及び第２画像データＤ２は、同一の被写体を撮像した画像を示す。そのため、各画像は、同一の点を示す特徴点をそれぞれ有する。以下、図示する被写体が有するある点を「点Ｐ０」とする。この場合には、点Ｐ０は、各画像に被写体として表示され、点Ｐ０に係る特徴点同士は、同じ画素値等となり、類似度が高くなる場合が多いため、各画像の特徴点同士は、似ている点と評価される。
【００４７】
この例では、第１画像データＤ１に基づいて抽出される第１特徴点ＳＰ１と、第２画像データＤ２に基づいて抽出される第２特徴点ＳＰ２とが同一の点を示す特徴点である。そのため、第１特徴点ＳＰ１及び第２特徴点ＳＰ２が、ステップＳ２４で対応付けされる。また、第１特徴点ＳＰ１の絶対座標系の座標（Ｘ'，Ｙ'，Ｚ'）は、位置データによって特定できる。
【００４８】
なお、ステップＳ２４は、特徴点同士の類似度に基づく対応付けに限られない。例えば、ステップＳ２４は、第１データが画像データである場合には、まず、第１データが示す画像から特徴点を抽出する。次に、抽出される特徴点に、第２データが示す画像が有する特徴点から最も近似する特徴点を検出する。なお、例えば、ブロックマッチング法又は輝度勾配法等が用いられてもよい。
【００４９】
図７に戻り、ステップＳ２５では、検出装置は、第２カメラの位置及び向きを計算する。まず、ステップＳ２４によって、第１データに基づく特徴点と、第２データに基づく特徴点とが対応付けされる。さらに、位置データによって、第１データに基づく特徴点の座標（Ｘ'，Ｙ'，Ｚ'）は、特定できる。したがって、検出装置は、ステップＳ２４の処理結果及び位置データに基づいて、第２カメラの位置及び向きが計算できる。
【００５０】
ステップＳ２６では、検出装置は、移動体の位置を検出する。被写体の所定の箇所について、３次元座標値が特定でき、かつ、所定の箇所が画像上に投影された場合の２次元座標の対応が複数取れると、検出装置は、第２カメラの位置及び向きを計算できる。この計算では、第２カメラの位置及び向きが未知数となり、連立方程式の解によって未知数が計算される。すなわち、いわゆるＰｎＰ（Ｐｅｒｓｐｅｃｔｉｖｅ  Ｎ−Ｐｏｉｎｔ）問題を解くと、検出装置は、第２カメラの位置及び向きを計算できる。例えば、３セット以上の対応が取れると、検出装置は、第２カメラの位置及び向きを計算できる。
【００５１】
そこで、まず、検出装置は、検出する第２カメラの位置及び向きを未知数として、既知となる３次元座標値を、第２カメラの位置及び向きを示す変換行列で変換する。次に、検出装置は、投影行列をかけて、カメラの画像上に投影される２次元座標値を計算する。続いて、検出装置は、計算される座標値と、第２カメラが撮像する画像上の座標値との差分を計算する。この計算される差分は、誤差となる。そのため、対応が取れる全点の誤差の合計値が最小となるように、検出装置は、第２カメラの位置及び向きを計算する。
【００５２】
具体的には、まず、検出する第２カメラの位置及び向きが、同次座標表現の変換行列で定義される。例えば、（３×３）の回転成分は、３つのベクトル「Ｒ１Ｔ」、「Ｒ２Ｔ」及び「Ｒ３Ｔ」で定義する。また、並進成分は、３つのベクトル「ｔｘ」、「ｔｙ」及び「ｔｚ」で定義する。続いて、ある対応の取れる点の３次元座標値を「ｘｉ」とする。また、カメラ座標系への変換後の座標値を「ｘ'ｉ」とする。この場合には、「ｘｉ」及び「ｘ'ｉ」の関係は、下記（２）式のように示せる。
【００５３】
【数２】
2017116339.tif 000004
上記（２）式に示す座標値が、焦点距離及び中心座標等が既知のカメラに投影されると、３次元座標値から２次元座標値が計算される。また、投影行列には、カメラの焦点距離（ｆｘ，ｆｙ）及び中心座標（Ｃｘ，Ｃｙ）等のパラメータが含まれる。以下、単純化のため、焦点距離をそれぞれ「１」、中心座標をそれぞれ「０」とする例で説明する。このようにすると、投影後の２次元座標（ｕi，ｖi）は、下記（３）式のように示せる。
【００５４】
【数３】
2017116339.tif 000005
次に、検出装置は、対応が取れる全点の誤差の合計値が最小となるように、検出装置は、第２カメラの位置及び向きを計算する。具体的には、検出装置は、まず、上記（３）式と、第２カメラが撮像する画像上の座標値（ｕi'，ｖi'）との誤差の合計値を計算する。続いて、検出装置は、合計値が最小となるように計算する。例えば、検出装置は、下記（４）式の値が最小となるような回転成分「Ｒ１Ｔ」、「Ｒ２Ｔ」及び「Ｒ３Ｔ」と、並進成分「ｔｘ」、「ｔｙ」及び「ｔｚ」とを計算する。
【００５５】
【数４】
2017116339.tif 000006
上記（４）式等は、非線形である。そのため、検出装置は、例えば、反復して計算して解をそれぞれ算出し、算出される値の変化が少なくなる極値を解とする反復法等によって、第２カメラの位置及び向きを計算する。なお、反復法は、ガウスニュートン法又はレーベンバーグ・マーカート法等でもよい。このようにして、検出装置は、第２カメラの位置及び向きを検出できる。第２カメラは、移動体が有しているため、第２カメラの位置及び向きが検出できると、検出装置は、移動体の位置を検出することができる。
【００５６】
図９は、本発明の一実施形態に係る検出装置が行う第２処理の一例を示すフローチャートである。検出装置は、図示するような処理を行ってもよい。また、図９では、図７と同様の処理は、同一の符号を付し、説明を省略する。図９は、図７と比較すると、ステップＳ３０乃至ステップＳ３２が加わる点が異なる。
【００５７】
また、図９の処理を行う前に、例えば、図７に示す第１処理等が行われ、あらかじめ１度は、３次元座標値が計算された状態で、図９に示す第２処理が行われるとする。
【００５８】
ステップＳ３０では、検出装置は、第１カメラと通信可能か否か判断する。具体的には、検出装置は、電波状態等によって、第１カメラと通信可能か否かを判断する。第１カメラと通信が可能な状態でない、すなわち、第１カメラとの通信が遮断されると、検出装置は、第１カメラから第１データ等を取得するのが難しい。したがって、通信状態に応じて、検出装置は、以降の処理を切り替える。
【００５９】
次に、第１カメラと通信可能と判断されると（ステップＳ３０でＹＥＳ）、検出装置は、ステップＳ２４に進む。この場合には、以降の処理は、第１カメラから取得できるデータに基づく処理であり、第１処理と同様の処理が行われる。一方で、第１カメラと通信可能でないと判断されると（ステップＳ３０でＮＯ）、検出装置は、ステップＳ３１に進む。
【００６０】
ステップＳ３１では、検出装置は、ステップＳ２３で抽出される特徴点について、前フレームと対応付けを行う。すなわち、ステップＳ３１は、例えば、オプティカルフロー等を行う処理である。
【００６１】
以下、オプティカルフローで用いられる過去のフレームの画像を「過去の画像」といい、一方で、最新のフレームの画像を「現在の画像」という。この例では、過去の画像が撮像されるフレームは、例えば、１つ前のフレーム等である。この場合には、過去の画像の特徴点と、現在の画像の特徴点、すなわち、ステップＳ２３で抽出される特徴点とが対応付けされる。これによって、所定の時間間隔で、ある特徴点が現在の画像のどこに移動したかが判断される。
【００６２】
ステップＳ３２では、検出装置は、あらかじめ計算された３次元座標値と対応付けを行う。まず、前のフレームで、３次元座標値を計算するのに対応付けされた点が記憶される。次に、記憶される対応付けされた点と、ステップＳ３１で対応付けされた点とは、３次元上において、同じ点を投影した点とすると、ステップＳ３１で対応付けされた点は、あらかじめ計算された３次元座標値に対応付けできる。
【００６３】
ステップＳ３３では、検出装置は、３次元座標値を計算する。例えば、画像間で対応付けされた点について、位置及び向きが既知のカメラの画像中における２次元座標値と、ステップＳ２５で計算される最新のカメラの画像中における２次元座標値とに基づいて、３次元座標値が計算される。
【００６４】
ステップＳ３４では、検出装置は、処理を終了するか否か判断する。処理を終了する場合には（ステップＳ３４でＹＥＳ）、検出装置は、処理を終了する。一方で、処理を終了しない場合には（ステップＳ３４でＮＯ）、検出装置は、ステップＳ２２に進む。
【００６５】
また、図９に示す処理は、第１カメラと通信可能な状態では、第１カメラから取得できるデータを用いて移動体の位置を検出するのを優先する。一方で、第１カメラと通信できなくとも、オプティカルフロー等によって、検出装置は、ある画像を基準にして、相対的な移動を検出することができる。さらに、一度でも３次元座標値が計算できていれば、検出装置は、オプティカルフロー等によって、計算された３次元座標値に、特徴点を対応付けできる。そのため、電波環境が悪い状態等であっても、検出装置は、移動体の位置を検出することができる。
【００６６】
＜機能構成例＞
図１０は、本発明の一実施形態に係る検出装置を有する検出システムのシステム構成の一例を示す機能ブロック図である。例えば、移動体ＭＯが検出装置２を有するとする。
【００６７】
図示するように、検出装置２は、第１カメラＣＡＭ１とネットワーク等を介して接続される。また、第１カメラＣＡＭ１は、第１撮像部１Ｆ１と、３次元位置特定部１Ｆ２と、送信部１Ｆ３とを有する。
【００６８】
第１カメラＣＡＭ１は、第１撮像部１Ｆ１によって撮像される画像を示す画像データ又は画像から抽出される特徴点を示す特徴点データ等の第１データを生成する。なお、第１撮像部１Ｆ１は、例えば、画像センサＣＡ１Ｈ１（図２）等によって実現される。
【００６９】
第１カメラＣＡＭ１は、３次元位置特定部１Ｆ２によって、第１撮像部１Ｆ１によって撮像される画像の特徴点等の３次元位置座標値を示す位置データを生成する。なお、３次元位置特定部１Ｆ２は、例えば、ＣＰＵＣＡ１Ｈ２（図２）等によって実現される。
【００７０】
第１カメラＣＡＭ１は、送信部１Ｆ３によって、検出装置２に第１データ及び位置データを送信する。なお、送信部１Ｆ３は、例えば、通信器ＣＡ１Ｈ３（図２）等によって実現される。
【００７１】
第１取得部１Ｆ５は、第１データ及び位置データを取得する。なお、第１取得部１Ｆ５は、例えば、通信器ＭＯＨ２（図３）等によって実現される。
【００７２】
第２取得部１Ｆ６は、第２撮像部１Ｆ４によって撮像される画像に基づいて生成される第２データを取得する。なお、第２取得部１Ｆ６は、例えば、通信器ＭＯＨ２（図３）等によって実現される。また、第２撮像部１Ｆ４は、例えば、第２カメラＣＡＭ２（図３）等によって実現される。
【００７３】
計算部１Ｆ７は、第１データ及び第２データのそれぞれの特徴点を対応させて、位置データに基づいて、第２撮像装置の位置及び向きを計算する。なお、計算部１Ｆ７は、例えば、ＣＰＵＭＯＨ１（図３）等によって実現される。
【００７４】
検出装置２は、第１取得部１Ｆ５によって第１データ及び位置データを取得する。そのため、第１データ及び第２データのそれぞれの特徴点を対応させると、計算部１Ｆ７は、計算部１Ｆ７によって、位置データに基づいて、第２撮像装置の位置及び向きを検出できる。第２撮像装置は、移動体が有しているため、検出装置２は、第２撮像装置の位置及び向きに基づいて、移動体の位置を検出できる。
【００７５】
このようにすると、検出装置２は、３次元位置が既知の被写体、いわゆるランドマーク等が撮像された画像でなくとも、移動体の位置を検出できる。そのため、ランドマーク等が撮像できる位置、すなわち、初期位置等に、移動体を移動させる時間等が不要となる。したがって、移動体を移動させる時間等を短くでき、検出装置２は、移動体の位置を速く検出できる。
【００７６】
また、ランドマーク等を用いて移動体の位置を検出する場合には、移動体の位置を検出する前、すなわち、移動体の位置が不明の状態で、初期位置等に、移動体を移動させるためのアルゴリズムが別途必要となる場合が多い。一方で、本発明の一実施形態では、初期位置に移動体を移動させるためのアルゴリズムが不要となるため、検出装置は、処理コスト等を少なくすることができる。また、ランドマークを設置する等の作業コストを少なくすることができる。
【００７７】
他にも、ランドマーク等を用いて移動体の位置を検出する場合には、照明の変化又は時間の経過等によって、ランドマーク等の写り方が変わる場合が多い。そのため、位置の検出精度が悪い場合がある。一方で、本発明の一実施形態では、写り方等の影響が少ないため、検出装置は、位置の検出精度を良くすることができる。
【００７８】
＜変形例＞
また、第１カメラＣＡＭ１（図１）は、複数設置されてもよい。例えば、検出装置は、図７に示す処理等によって検出される移動体の位置に基づいて、複数ある第１カメラのうち、最も近くに位置する第１カメラを選択する。このように、最も近くにある第１カメラを選択すると、移動体に近い第１データ等が取得できるため、検出装置は、位置の検出精度を良くすることができる。
【００７９】
他に、第１カメラＣＡＭ１が複数設置される場合において、検出装置は、例えば、最も電波強度の強い第１カメラを選択する。このように、電波強度の強い第１カメラを選択すると、通信が安定しやすいため、検出装置は、より安定して第１カメラと通信を行うことができる。
【００８０】
なお、本発明に係る各処理の全部又は一部は、アセンブラ、Ｃ及びＪａｖａ（登録商標）等のレガシープログラミング言語又はオブジェクト指向プログラミング言語等で記述されたコンピュータに実行させるためのプログラムによって実現されてもよい。すなわち、プログラムは、検出装置等のコンピュータに検出方法を実行させるためのコンピュータプログラムである。
【００８１】
また、プログラムは、ＲＯＭ又はＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）等のコンピュータが読み取り可能な記録媒体に格納して頒布することができる。さらに、記録媒体は、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、フラッシュメモリ、フレキシブルディスク、ＣＤ−ＲＯＭ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ブルーレイディスク、ＳＤ（登録商標）カード又はＭＯ等でもよい。さらにまた、プログラムは、電気通信回線を通じて頒布することができる。
【００８２】
実施形態では、例えば、移動体の位置を検出する検出装置は、第１撮像装置が撮像した画像に基づいて生成される第１データ及び前記画像の特徴点の３次元座標値を示す位置データを取得する通信器ＭＯＨ２（図３）と、前記移動体が有する第２撮像装置が撮像した画像に基づいて生成される第２データを取得する通信器ＭＯＨ２（図３）と、前記第１データ及び前記第２データのそれぞれの特徴点を対応させて、前記位置データに基づいて、前記第２撮像装置の位置及び向きを計算するＣＰＵＭＯＨ１とを備える。
【００８３】
以上、本発明の好ましい実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形又は変更が可能である。
【符号の説明】
【００８４】
１  検出システム
２  検出装置
ＭＯ  移動体
ＣＡＭ１  第１カメラ
ＣＡＭ２  第２カメラ
【先行技術文献】
【特許文献】
【００８５】
【特許文献１】特許第４２６４３８０号公報
【特許文献２】特開２００６−２３４４５３号公報
【図１】
2017116339.tif 000007
【図２】
2017116339.tif 000008
【図３】
2017116339.tif 000009
【図４】
2017116339.tif 000010
【図５】
2017116339.tif 000011
【図６】
2017116339.tif 000012
【図７】
2017116339.tif 000013
【図８】
2017116339.tif 000014
【図９】
2017116339.tif 000015
【図１０】
2017116339.tif 000016