JP2023046043A - 処理システム、制御システム、移動体、撮影位置決定方法及び撮影位置決定プログラム - Google Patents
処理システム、制御システム、移動体、撮影位置決定方法及び撮影位置決定プログラム Download PDFInfo
- Publication number
- JP2023046043A JP2023046043A JP2021154729A JP2021154729A JP2023046043A JP 2023046043 A JP2023046043 A JP 2023046043A JP 2021154729 A JP2021154729 A JP 2021154729A JP 2021154729 A JP2021154729 A JP 2021154729A JP 2023046043 A JP2023046043 A JP 2023046043A
- Authority
- JP
- Japan
- Prior art keywords
- image
- moving
- photographing
- moving body
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000012545 processing Methods 0.000 title claims abstract description 39
- 238000004364 calculation method Methods 0.000 claims abstract description 41
- 230000006866 deterioration Effects 0.000 claims abstract description 7
- 238000003384 imaging method Methods 0.000 claims description 41
- 230000007246 mechanism Effects 0.000 claims description 11
- 230000008569 process Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 16
- 238000001514 detection method Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 11
- 229920006395 saturated elastomer Polymers 0.000 description 8
- 238000011156 evaluation Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 6
- 230000007423 decrease Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 2
- 230000032258 transport Effects 0.000 description 2
- 210000000746 body region Anatomy 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000023077 detection of light stimulus Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Landscapes
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
【課題】位置推定のための画像の撮影位置を適切に決定できる処理システム、制御システム、移動体、撮影位置決定方法及び撮影位置決定プログラムを提供すること。
【解決手段】処理システムは、撮影位置決定部と、移動距離計算部と、移動経路計画部とを有する。撮影位置決定部は、基準位置において移動体によって撮影された第1の画像を取得し、移動体の位置推定の精度の低下要因が減るように複数の移動方向に第1の画像を仮想的に移動させて移動体の位置推定のための複数の撮影位置を決定する。移動距離計算部は、複数の撮影位置の間の移動距離を計算する。移動経路計画部は、複数の撮影位置の間の移動距離に基づいて複数の撮影位置の間の移動体の移動経路を計画する。
【選択図】図1
【解決手段】処理システムは、撮影位置決定部と、移動距離計算部と、移動経路計画部とを有する。撮影位置決定部は、基準位置において移動体によって撮影された第1の画像を取得し、移動体の位置推定の精度の低下要因が減るように複数の移動方向に第1の画像を仮想的に移動させて移動体の位置推定のための複数の撮影位置を決定する。移動距離計算部は、複数の撮影位置の間の移動距離を計算する。移動経路計画部は、複数の撮影位置の間の移動距離に基づいて複数の撮影位置の間の移動体の移動経路を計画する。
【選択図】図1
Description
実施形態は、処理システム、制御システム、移動体、撮影位置決定方法及び撮影位置決定プログラムに関する。
物流現場での自動化が進んでいる中、荷物の搬送の無人化及び効率化のために、ロボット等の移動体の活用が検討されている。移動体の誘導方式は経路誘導式及び自律移動式等に大別される。経路誘導式の移動体は、床に設置された磁気テープ及びカラーテープ等の誘導体に沿って走行する。一方、自律移動式の移動体は、センサで環境構造を認識し、自己位置推定を行いながら自律走行する。誘導式の移動体に比べて、自律移動式の移動体では専用のインフラストラクチャーの構築が不要であるため、走行路線が容易に設定され得る。また、走行路線は、容易に変更され得る。しかしながら、物流倉庫等の頻繁に物の配置が変化する環境では、移動体の位置推定の精度が低下し易い。
自律移動式の移動体の位置推定の精度の低下を抑制するために、移動体を停止させたい位置及びその近辺での事前の撮影によって登録された複数の天井画像と現在の入力画像とを比較することによって、自己の位置を推定する技術も提案されている。
移動体を停止させたい位置の画像とその近辺の画像は、互いに対応している必要がある。しかしながら、撮影位置の決め方によっては撮影される画像の対応関係を定める際のマッチングに誤りが生じることがある。このようなマッチングの誤りが生じると、位置推定の精度は低下してしまう。
実施形態は、位置推定のための画像の撮影位置を適切に決定できる処理システム、制御システム、移動体、撮影位置決定方法及び撮影位置決定プログラムを提供する。
一態様の処理システムは、撮影位置決定部と、移動距離計算部と、移動経路計画部とを有する。撮影位置決定部は、基準位置において移動体によって撮影された第1の画像を取得し、移動体の位置推定の精度の低下要因が減るように複数の移動方向に第1の画像を仮想的に移動させて移動体の位置推定のための複数の撮影位置を決定する。移動距離計算部は、複数の撮影位置の間の移動距離を計算する。移動経路計画部は、複数の撮影位置の間の移動距離に基づいて複数の撮影位置の間の移動体の移動経路を計画する。
以下、図面を参照して実施形態を説明する。
[第1の実施形態]
図1は、第1の実施形態に係る移動体の制御システムの一例の構成を示す図である。移動体の制御システムは、撮影位置決定装置1と、移動体60とを有している。撮影位置決定装置1は、移動体60と通信できるように構成されている。
[第1の実施形態]
図1は、第1の実施形態に係る移動体の制御システムの一例の構成を示す図である。移動体の制御システムは、撮影位置決定装置1と、移動体60とを有している。撮影位置決定装置1は、移動体60と通信できるように構成されている。
移動体60は、移動体制御部61と、撮影部62とを有している。また、図示はしていないが、移動体60は、移動のために必要な駆動機構を有している。
移動体制御部61は、移動体60の移動等に関わる制御を行う。移動体制御部61は、例えば、指定された基準位置へ移動体60を移動させるための駆動機構の制御を行う。
撮影部62は、イメージセンサを有し、主に移動体60の外部の環境の画像を収集する。そして、撮影部62は、収集した画像を撮影位置決定装置1に送信する。
撮影位置決定装置1は、移動体60の位置推定に用いられる画像を辞書記憶部30に登録する際の移動経路を計画する。また、撮影位置決定装置1は、移動体60の撮影部62から収集される画像に基づいて移動体60の位置を推定し、位置推定の結果に従って移動体60の移動を制御する。撮影位置決定装置1は、移動体60の上位システムであってもよい。撮影位置決定装置1は、例えばパーソナルコンピュータ(PC)である。撮影位置決定装置1は、処理部10と、入力部20と、辞書記憶部30と、位置推定部40と、位置制御部50とを有している。
処理部10は、移動体60の位置推定に用いられる画像を辞書記憶部30に登録する際の移動経路を計画する。そして、処理部10は、移動体制御部61に移動経路を指示する。処理部10は、撮影位置決定部11と、移動距離計算部12と、移動経路計画部13とを有している。
撮影位置決定部11は、移動体60の位置推定に用いられる画像が撮影されるべき撮影位置を決定する。撮影位置は、移動体60の移動の目標となる基準位置と、基準位置の近辺の位置とを含む。撮影位置は、それぞれの撮影位置で収集される画像間の位置推定の精度の低下要因が低減されるように決定される。図2は、第1の実施形態における撮影位置決定部11の構成を示すブロック図である。図2に示すように、撮影位置決定部11は、発光体検出部111と、撮影位置計算部112とを有する。
発光体検出部111は、画像における発光体を検出する。発光体は、画像における所定の輝度値以上、例えば飽和輝度の領域である。後で詳しく説明するが、移動体60は、移動体60が配備される場所の天井の画像から位置を推定する。通常、このような天井には、照明が設けられている。したがって、実施形態における発光体は、主に天井に設けられた照明である。後で説明するように、画像内の発光体は、移動体60の位置推定の精度の低下を引き起こす要因となる。
撮影位置計算部112は、発光体検出部111の検出結果に基づき、基準位置以外の撮影位置を計算する。撮影位置計算部112は、基準位置の画像に対する画像上での移動量として撮影位置を計算する。
移動距離計算部12は、撮影位置計算部112で計算されたそれぞれの撮影位置の間の移動距離を計算する。移動距離計算部12は、基準位置の画像に対する画像上での移動量として撮影位置を、移動体60が配備される場所の座標系での移動量に変換する計算を行う。
移動経路計画部13は、撮影位置決定部11で決定された撮影位置と移動距離計算部12で計算された移動距離とに基づき、移動体60の移動経路を計画する。移動経路は、移動体60が撮影位置をどの順番で移動するかを示す経路である。
入力部20は、移動経路の計画に必要な各種のパラメータを処理部10に入力するように構成されている。後で詳しく説明するが、パラメータは、撮影部62のカメラパラメータと移動体60が配備される場所の天井の高さとを含む。
辞書記憶部30は、移動体60の基準位置の画像と、基準位置の近辺の複数の撮影位置で収集された画像と、それぞれの画像から抽出される特徴点及び特徴量と、それぞれの画像間の対応関係と、それぞれの画像の収集位置の情報とを保持した辞書を記憶している。これらの移動体60の基準位置の画像と、基準位置の近辺の複数の撮影位置で収集された画像と、それぞれの画像から抽出される特徴点及び特徴量と、それぞれの画像間の対応関係の情報は、移動経路計画部13によって辞書記憶部30に記憶されるようにされてもよい。
位置推定部40は、撮影部62から取得された移動体60の外部の画像と辞書記憶部30に登録されている画像とに基づいて移動体60の位置を推定する。
位置制御部50は、位置推定部40で推定された移動体60の位置に従って、移動体60の動作を制御する。
図3は、撮影位置決定装置1のハードウェア構成の一例を示す図である。撮影位置決定装置1は、例えばCPU101と、入力装置102と、表示装置103と、通信装置104と、記憶装置105とをハードウェアとして有している。CPU101と、入力装置102と、表示装置103と、通信装置104と、記憶装置105とは、バス106に接続されている。
CPU101は、撮影位置決定装置1の全体的な動作を制御するプロセッサである。CPU101は、例えば記憶装置105に記憶されているプログラムを実行することによって、処理部10、位置推定部40と、位置制御部50として動作する。CPU101は、MPU、GPU、ASIC、FPGA等に置き換えられてもよい。CPU101は、単一のCPU等であってもよいし、複数のCPU等であってもよい。
入力装置102は、ジョイスティック、タッチパネル、キーボード、マウス等の入力装置である。入力装置102は、入力部20として動作する。入力装置102の操作がされた場合、操作内容に応じた信号がバス106を介してCPU101に入力される。CPU101は、この信号に応じて各種の処理を行う。
表示装置103は、液晶ディスプレイ、有機ELディスプレイ等の表示装置である。表示装置103は、各種の画像を表示する。
通信装置104は、例えば無線LAN通信のための通信装置である。通信装置104は、移動体60と通信する。通信装置104は、必ずしも無線LAN通信のための通信装置でなくてもよい。
記憶装置105は、例えばハードディスクドライブ、ソリッドステートドライブといった記憶装置である。記憶装置105は、辞書記憶部30として動作する。また、記憶装置105は、CPU101によって実行される各種のプログラムを記憶していてもよい。
バス106は、CPU101と、入力装置102と、表示装置103と、通信装置104と、記憶装置105との間のデータのやり取りのためのデータ転送路である。
以下、図1で示した各構成についてさらに詳しく説明する。図1で示す移動体60は、例えば無人搬送車(Automated Guided Vehicle:AGV)である。AGVは、指示された荷物積み場所へ自動走行し、荷物積み場所において人や自動ロボット等によって積み込まれた荷物を、指示された荷降ろし場所まで搬送する無軌道車両である。移動体60は、あらゆる駆動機構を有することができる。例えば、移動体60は、2輪駆動機構を有していてもよいし、4輪駆動機構を有していてもよいし、無限軌道機構(キャタピラ)を有していてもよい。また、移動体60は、2足又は多足で歩行する移動体であってもよいし、飛行体であってもよい。また、移動体60は、無軌道でなく、指定された軌道を移動するライントレース方式の移動体であってもよい。実施形態においては特記しない限り移動体60はAGVであるとする。
移動体制御部61は、移動体60を指定された基準位置へ移動させるための駆動機構の制御を行う。このとき、移動体制御部61は、撮影位置決定装置1で推定された位置によって自己の位置を認識しつつ、指定された基準位置に向かうために必要な方向及び距離を判定して駆動機構を制御してよい。移動体60の基準位置は、移動体60の上位のシステムとしての例えば撮影位置決定装置1から与えられてもよいし、事前に設定されたものを呼び出すことによって与えられてもよいし、人が直接設定することによって与えられてもよい。基準位置は、移動体60の空間的な位置だけでなく、基準位置における移動体60の姿勢を含んでいてもよい。実施形態においては特記しない限り、移動体60に搭載されるイメージセンサの位置及び姿勢が移動体の位置及び姿勢であるとする。
撮影部62は、移動体60の外部の環境の画像を収集する。撮影部62は、移動体60の外部の画像に加えて、移動体60の周辺の距離を計測又は算出できる情報を収集できることが好ましい。撮影部62は、移動体60の周辺の距離を面で計測又は算出できる情報を収集できることがさらに好ましい。例えば、Depthカメラ及び3D-LADAR等は、面状の距離画像を収集できる。距離画像は、距離の値を輝度の値に変換することによって生成される画像である。Depthカメラは、ToF(Time of Flight)式、パターン照射式等、どのような方式のものでもかまわない。また、ライン計測式のレーザ距離計等であっても、機械的に計測方向を変更させたり、複数台の計測方向を変えたりすることで面状の距離画像を収集できる。さらに、直接計測しない方法としては、ステレオカメラや単眼カメラ等を利用することも考えられる。ステレオカメラであればステレオマッチング方式によって画像を距離情報に変換することができる。単眼カメラであっても、移動体の位置、姿勢を変化させることでステレオカメラと同様のステレオ撮影が実現でき、距離情報を算出することが可能である。撮影部62は、これら以外のものでもかまわない。実施形態では特記しない限り撮影部62は、ステレオカメラであるとする。
図4は、ステレオカメラの配置例を示す。図4では、移動体60の上面中央部にステレオカメラ621が設置されている。ステレオカメラ621は、その光学中心622が地面72から高さhの位置になるように設置される。そして、ステレオカメラ621の光軸は、地面72に対して取り付け角φだけ傾けられている。また、ステレオカメラ621の画角は、θである。このとき、ステレオカメラ621の撮影範囲80は、主として地面72から高さHの位置にある天井70を含む撮影範囲81である。図4に示すように、移動体60が壁71に近づいているときには、ステレオカメラ621の撮影範囲80は、天井70及び壁71を含む撮影範囲81及び82である。ステレオカメラ621の撮影範囲80は、ステレオカメラ621で収集される画像の用途によって変えられてよい。例えば、用途が移動体60の位置の推定であるとき、ステレオカメラ621で収集される画像内の被写体は、移動体60の位置にだけ依存して変動し、時間的には変動しないことが好ましい。図4に示すように、ステレオカメラ621の撮影範囲80が天井70及び壁71を含み得る撮影範囲81及び82に設定されることによって、被写体の時間的な変動の少ない、移動体60の位置の推定に適した画像が収集され得る。勿論、ステレオカメラ621の設置位置及び向きは図4で示したものに限定されるものではない。
次に、辞書記憶部30について説明する。辞書記憶部30は、位置推定部40で必要な基準位置の情報が登録された参照用辞書を記憶している。参照用辞書の登録情報としては例えば以下がある。
・基準位置とその近辺の画像
・基準位置とその近辺の画像の特徴点と特徴量
・画像間の対応付け結果
・基準位置とその近辺の画像の位置
基準位置が複数存在する場合の参照用辞書の登録方法には、1)すべての基準位置についての登録情報をまとめて1つの辞書に登録する方法と、2)基準位置毎の辞書に分ける方法の2種類がある。1)の方法では、辞書の選択をする必要がなくなる反面、参照用辞書に登録されている画像の全てに対して特徴点のマッチングをする必要があるために位置の推定の処理に時間がかかる。また、2)の方法では、必要な基準位置が登録されている参照用辞書に対する処理だけで済むため、位置の推定の処理は短い。一方、2)の方法では、上位システム及び人手等で使用する参照用辞書が指定される必要がある。このように参照用辞書の登録方法1)と2)にはそれぞれメリットとデメリットがある。したがって、必要に応じて参照用辞書の登録方法1)と2)は、使い分けられることが好ましい。
・基準位置とその近辺の画像
・基準位置とその近辺の画像の特徴点と特徴量
・画像間の対応付け結果
・基準位置とその近辺の画像の位置
基準位置が複数存在する場合の参照用辞書の登録方法には、1)すべての基準位置についての登録情報をまとめて1つの辞書に登録する方法と、2)基準位置毎の辞書に分ける方法の2種類がある。1)の方法では、辞書の選択をする必要がなくなる反面、参照用辞書に登録されている画像の全てに対して特徴点のマッチングをする必要があるために位置の推定の処理に時間がかかる。また、2)の方法では、必要な基準位置が登録されている参照用辞書に対する処理だけで済むため、位置の推定の処理は短い。一方、2)の方法では、上位システム及び人手等で使用する参照用辞書が指定される必要がある。このように参照用辞書の登録方法1)と2)にはそれぞれメリットとデメリットがある。したがって、必要に応じて参照用辞書の登録方法1)と2)は、使い分けられることが好ましい。
図5は、参照用辞書を作成する際の処理を示すフローチャートである。図5の処理は、位置の推定に先立って行われる。
ステップS101において、撮影位置決定装置1の位置制御部50は、移動体60の1つの撮影位置までの移動を開始させる。撮影位置は、基準位置の近辺の撮影位置であって、後で説明する移動経路の計画処理によって決定されて辞書記憶部30に登録される。位置制御部50は、移動経路に従って順次に撮影位置を選択し、移動体60に対して移動を指示する。これを受けて、移動体60は、自律的に移動を開始する。
ステップS102において、位置制御部50は、撮影部62で取得された移動体60の外界の画像から、移動体60が停止したか否かを判定する。位置制御部50は、例えば撮影部62で取得された画像の時間変化から移動体60の速度を算出し、算出した速度が閾値以下であるときに移動体60が停止したと判定する。ここで、移動体60が停止するのは、撮影位置に到着した場合に限るものではない。例えば、移動体60は、撮影位置に向かうまでの曲がり角等で停止するように構成されていてもよい。この場合も、ステップS102の判定において、移動体60の速度が閾値以下であるときには、移動体60が停止したと判定される。ステップS102において、移動体60が停止したと判定されるまで、処理は待機される。ステップS102において、移動体60が停止したと判定された場合、処理はステップS103に移行する。
ステップS103において、位置制御部50は、移動体60に撮影を指示して、移動体60から画像を取得する。
ステップS104において、位置制御部50は、指定した枚数分の画像を取得したか否かを判定する。例えば、位置制御部50は、すべての撮影位置の画像を取得したときに、指定した枚数分の画像を取得したと判定する。ステップS104において、指定した枚数分の画像を取得していない、すなわち画像を取得していない撮影位置が残っているときには、処理はステップS101に戻る。この場合、位置制御部50は、新たな撮影位置を指定して、移動体60の移動を開始させる。ステップS104において、指定した枚数分の画像を取得したときには、処理はステップS105に移行する。
ステップS105において、位置推定部40は、取得した画像から特徴点を検出する。位置推定部40は、SIFT(Scale Invariant Feature Transform)、AKAZE(Accelerated KAZE)等を用いて特徴点を検出してよい。
ステップS106において、位置推定部40は、検出した各特徴点から特徴量を抽出する。位置推定部40は、特徴点検出に用いた手法に従って特徴量を抽出してよい。
ステップS107において、位置推定部40は、基準位置の画像と、それぞれの撮影位置の画像との特徴点マッチングをする。具体的には、位置推定部40は、特徴量の差が最も小さくなるようにそれぞれの画像の特徴点を対応付ける。位置推定部40は、NN(Nearest Neighbor)、k-NN、kd-tree、ハミング距離等の手法で特徴点マッチングを行ってよい。
ステップS108において、位置推定部40は、基準位置の画像と、それぞれの撮影位置の画像との対応関係を推定する。例えば、位置推定部40は、基準位置の画像と撮影位置の画像との特徴点の対応関係から、基準位置に対するそれぞれの撮影位置の移動体60の相対位置及び相対姿勢を推定する。そして、位置推定部40は、推定した相対位置及び相対姿勢を用いて三角測量の原理により、それぞれの画像についての3次元情報を生成する。
ステップS109において、位置推定部40は、画像毎の特徴点及び特徴量、基準位置に対するそれぞれの撮影位置の画像の対応関係、基準位置及び撮影位置の座標を参照用辞書に登録する。
ここで、辞書記憶部30に複数の基準位置の画像が登録されている場合、図5の処理は、基準位置の画像の数だけ繰り返されてよい。
図6は、画像の撮影位置の例を示す図である。図6では、移動体60のある位置が基準としての基準位置P0とされている。基準位置P0は、例えばカゴ台車の直前の位置である。そして、基準位置P0の近辺の位置P1、P2、P3、P4が撮影位置とされている。撮影位置P1、P2、P3、P4では、後で説明する仮想画像と同等の画像が撮影されるようにステレオカメラ621が調整されて撮影が行われる。
実施形態では、移動体60の位置は、移動体60が配備される場所の天井の画像に基づいて推定される。ここで、天井には蛍光灯、電球といった発光体としての高輝度光源が設けられている。これらの高輝度光源の画像は、飽和領域を含むことがある。飽和領域は、対象の輝度値がイメージセンサのダイナミックレンジを超えてしまっている領域である。ここで、天井の同一の位置が異なる撮影位置から撮影された場合、それぞれの撮影位置で得られる画像の飽和領域の位置は微小に変化する。飽和領域は、画像における特徴点として検出され易いので、撮影位置によって飽和領域の位置が微小に変化してしまうと、同一であるべき特徴点がずれた位置で検出されてしまうことがある。この特徴点のずれにより、画像間の特徴点マッチングが正しく行われない可能性が生じる。図7は、特徴点のずれが発生している画像で特徴点マッチングがされたときの例を示す図である。図7の画像I0は参照用辞書に登録されているある基準位置から天井を撮影したときに得られる画像であり、画像I1は参照用辞書に登録されている基準位置の近辺の撮影位置から撮影したときに得られる画像である。この場合、画像I0と画像I1とのマッチングの結果、本来のマッチングすべき特徴点の位置とは異なる位置でマッチングしてしまう可能性がある。図7では、特徴点RF1と特徴点SF11、特徴点RF2と特徴点SF21、特徴点RF3と特徴点SF31、特徴点RF4と特徴点SF41でマッチングする必要があるところ、特徴点RF1と特徴点SF12、特徴点RF2と特徴点SF22、特徴点RF3と特徴点SF32、特徴点RF4と特徴点SF42でマッチングしてしまった状態が示されている。このような誤った特徴点のマッチングがされている画像が参照用辞書に登録されていると、位置推定部40による移動体60の位置推定の精度は低下する。実施形態では、発光体による位置推定の精度の低下を低減するために、基準位置で撮影された画像に位置推定の精度の低下要因としての発光体が写っている場合には、少なくとも1つの発光体が撮影される画像からなくなるように残りの撮影位置が決定される。
図8は、第1の実施形態における移動経路の計画処理について示すフローチャートである。図8の処理は、図5の参照用辞書の作成処理に先立って行われる。図8の処理に先立って、移動体60は、基準位置まで移動して、基準位置の画像を取得している。基準位置への移動体60の移動は、位置制御部50からの指示に基づいて自律的に行われてもよいし、ジョイスティック等の操作によるマニュアルで行われてもよい。
ステップS201において、撮影位置決定部11の発光体検出部111は、移動体60の撮影部62から収集される基準位置の画像から発光体を検出する。そして、発光体検出部111は、画像における発光体の領域をクラスタリングする。例えば、発光体検出部111は、画像を走査しながら、輝度値が飽和する画素を検出する。そして、発光体検出部111は、それぞれの輝度値が飽和する画素の領域をクラスタリングし、クラスタリングした領域毎にラベルを付す。ここで、発光体の検出は、J. Redmon, S. Divvala, R. Girshick and A. Farhadi, "You Only Look Once: Unified, Real-Time Object Detection,"2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pp. 779-788, 2016において開示されているディープラーニングを用いた手法により、予め考えられる発光体が学習された学習済みモデルを用いて行われてもよい。例えば、図9に示すように、基準位置の画像I0において4つの発光体が検出され、それぞれの発光体にラベルL1、L2、L3、L4が付されたものとする。
ステップS202において、撮影位置計算部112は、撮影位置の決定の処理が完了したか否かを判定する。例えば、発光体の数だけの撮影位置が決定されたときに撮影位置の決定の処理が完了したと判定される。ステップS202において、処理が完了していないときには、処理はステップS203に移行する。ステップS202において、処理が完了したときには、処理はステップS205に移行する。
ステップS203において、撮影位置計算部112は、ラベルLi(i=1,2,…)についての撮影位置の決定の処理を実行する。撮影位置の決定の処理において、撮影位置計算部112は、ラベルLiが付された発光体が写らなくなるように基準位置の画像を仮想的に移動させながら、発光体が写らなくなる仮想的な画像の移動量を計算する。具体的には、撮影位置計算部112は、ラベルLiの発光体が写らなくなるように画像中心を基準とした上下左右方向に仮想的に基準位置の画像I0を移動させる。例えば、図9の画像I1は、画像I0を左方向に仮想的に移動した場合の画像である。同様に、画像I2は、画像I0を上方向に仮想的に移動した場合の画像であり、画像I3は、画像I0を右方向に仮想的に移動した場合の画像であり、画像I4は、画像I0を下方向に仮想的に移動した場合の画像である。ここで、発光体が写っているか否かの判定は、画像I1と画像I0の共通領域R1、画像I2と画像I0との共通領域R2、画像I3と画像I0との共通領域R3、画像I4と画像I0との共通領域R4において行われればよい。仮想的な画像の移動量が大きくなるほど、多くの発光体が写らなくなる。一方で、仮想的な画像の移動量が大きくなるほど、それぞれの撮影位置で撮影される画像の間の共通領域が減る。画像の間の共通領域が減ることは、画像の間の対応する特徴点が減ることを意味する。そして、画像の間の対応する特徴点が減ることは、マッチングの誤差の要因になり得る。したがって、画像の移動量は、ある程度の共通領域が確保される範囲に制限されることが望ましい。例えば、共通領域R1、R2、R3、R4の画像全体に対する面積比が60%以上となるように画像の移動量が制限されてよい。また、画像の移動方向は、画像中心を基準とした上下左右方向に限るものではなく、斜め方向を含んでいてもよい。
ステップS204において、撮影位置計算部112は、ラベルLiについての撮影位置を計算する。具体的には、撮影位置計算部112は、上下左右方向のそれぞれについて仮想的に移動した画像の移動方向及び移動量を計算する。そして、撮影位置計算部112は、計算した移動方向及び移動量のうちで、画像中心からの距離が最も短い移動方向及び移動量を選択する。一方で、撮影位置計算部112は、選択した移動方向及び移動量が他のラベルについての処理で選択済みであるときには、画像中心からの距離が次に短い移動方向及び移動量を選択する。その後、処理はステップS202に戻る。例えば、図9において、ラベルL1の発光体については、画像I1が得られる移動方向及び移動量が選択される。この移動方向及び移動量がラベルL1の発光体が写らなくなる撮影位置に相当する。
ステップS202-S204の処理は、発光体の数だけの撮影位置が計算されるまで繰り返される。そして、発光体の数だけの撮影位置が計算された後のステップS205において、移動距離計算部12は、それぞれの撮影位置の間の移動距離を計算する。以下、天井を平面と仮定した場合の撮影位置としての移動量から移動距離を計算する手法について説明する。
まず、ステレオカメラ621の光軸を基準としてカメラ座標系が設定されているものとする。例えば、カメラ座標系におけるZ軸はステレオカメラ621の光軸の方向であり、XY軸はステレオカメラ621の光軸に対して垂直な平面方向である。このような定義のもと、カメラ座標系における座標(Xc, Yc, Zc)から画像上での座標(x, y)への投影式は、以下(式1)のように表現され得る。ここで、αは定数である。また、fx、fyは、画素単位で表されるステレオカメラ621の焦点距離である。また、cx、cyは、画素単位で表されるステレオカメラ621の光学中心の座標である。α、fx、fy、cx、cyは、カメラパラメータとして事前に撮影位置計算部112に入力される情報である。
ここで、ステレオカメラ621における取り付け角φとステレオカメラ621の高さhの2つのパラメータだけが変化し得るようにステレオカメラ621が設置されるものとすると、(式2)の平面の方程式における係数a、b、c、dは(式3)のように表現され得る。
(式3)の係数を(式2)の平面の方程式に代入すると、(式4)が得られる。
画像の移動量から撮影位置を計算するためには、画素の位置関係を実距離に換算する必要がある。そこで、(式1)をカメラ座標系の座標(Xc, Yc, Zc)が解となるように整理すると、以下の(式5)の関係が得られる。
(式4)を用いて(式5)をカメラ座標系の座標(Xc, Yc, Zc)について解くと以下の(式6)の関係が得られる。
このようにして、カメラ座標系での座標(Xc, Yc, Zc)が画像における座標(x, y)で表され得る。ここで、カメラ座標系は移動体60が設置される平面を基準とした座標系に対して取り付け角φだけ傾いている。したがって、(式6)で表されるカメラ座標系の座標は、移動体60が設置される平面、すなわち地面72を基準とした座標系の座標に変換される必要がある。カメラ座標系の座標(Xc, Yc, Zc)から平面座標系の座標(Xhp, Yhp, Zhp)への変換は、カメラ座標系からの取り付け角φの回転と高さ(H-h)の平行移動で表されるから、以下の(式7)のように表現され得る。
(式6)及び(式7)より、画像上の座標は、平面座標系の座標に変換され得る。同様の考え方に基づき、画像上の移動量は、平面座標系での移動体60の移動距離に変換され得る。
ここで、図8の説明に戻る。ステップS206において、移動経路計画部13は、撮影位置決定部11で決定された撮影位置と移動距離計算部12で計算された移動距離とに基づき、移動体60の移動経路を計画する。その後、図8の処理は終了する。移動経路は、例えばトータルの移動距離が最短になるようにして計画されてよい。トータルの移動距離が最短となるような移動経路の計画手法として、ダイクストラ法(Dijkstra’s algorithm)、A*(A-star)探索アルゴリズム、ベルマン-フォード法(Bellman-Ford algorithm)、ワーシャル-フロイド法(Warshall-Floyd Algorithm)等が用いられ得る。これらの手法では、移動距離がコストとして扱われ、コストが最小となるように移動経路の探索が行われる。また、移動体60の駆動機構による制限、移動体60が配備される場所による制限等がある場合、これらの制限もコストとして扱われてよい。
以上説明したように第1の実施形態によれば、基準位置の画像に加えて基準位置の近辺の撮影位置における画像も含められて移動体の位置が推定されるシステムにおいて、基準位置の画像において発光体が検出されたときには、少なくとも1つの発光体が写らなくなるように他の撮影位置が自動的に決定される。これにより、撮影位置によって発光体における飽和領域が変わってしまうことによる特徴点の位置のずれが抑制される。このようにして基準位置及びその近辺の撮影位置の画像が適切に収集されるので、移動体60の位置推定の精度の低下が抑制される。また、基準位置の近辺の撮影位置での撮影し直しも不要である。
また、第1の実施形態では、撮影位置間のトータルの移動距離が最短となるように移動経路が計画される。これにより、基準位置の近辺の複数の画像の撮影が効率よく行われ得る。
このように、第1の実施形態では、撮影位置の決定、移動経路の計画及びそれぞれの撮影位置での画像の撮影がすべて自動で行われ得る。
ここで、第1の実施形態では、移動体60と撮影位置決定装置1とが別体のシステムであるとして説明されている。しかしながら、移動体60と撮影位置決定装置1とは一体であってもよい。また、撮影位置決定装置1の一部は、撮影位置決定装置1とは別体であってもよい。例えば、辞書記憶部30、位置推定部40、位置制御部50は、撮影位置決定装置1の外部のサーバ等に設けられていてもよい。
[第2の実施形態]
第2の実施形態を説明する。図10は、第2の実施形態における撮影位置決定部11の構成を示すブロック図である。図10に示すように、撮影位置決定部11は、共通領域計算部111aと、撮影位置計算部112aとを有する。第2の実施形態において、撮影位置決定部11以外の構成は、第1の実施形態と同様である。したがって、撮影位置決定部11以外の要素の説明は省略する。
第2の実施形態を説明する。図10は、第2の実施形態における撮影位置決定部11の構成を示すブロック図である。図10に示すように、撮影位置決定部11は、共通領域計算部111aと、撮影位置計算部112aとを有する。第2の実施形態において、撮影位置決定部11以外の構成は、第1の実施形態と同様である。したがって、撮影位置決定部11以外の要素の説明は省略する。
共通領域計算部111aは、基準位置の画像と基準位置の画像から仮想的に移動された画像との間の共通領域を評価する。評価の基準は、例えば共通領域内の画素数、共通領域の画像全体に占める面積比、共通領域内の特徴点の数、共通領域内の特徴点の数と画像全体の特徴点の数との割合といった値を含む。評価の基準が特徴点の数の場合、共通領域計算部111aは、SIFT(Scale Invariant Feature Transform)、AKAZE(Accelerated KAZE)等を用いて特徴点を検出してよい。また、共通領域計算部111aは、(Nearest Neighbor)、k-NN、kd-tree、ハミング距離等の手法で特徴点マッチングを行ってよい。
撮影位置計算部112aは、共通領域計算部111aで計算された評価の基準を満たす共通領域を計算し、この共通領域が得られる仮想的な画像の移動方向及び移動量を画像上での撮影位置として計算する。画像の移動方向は、基準位置の画像中心を基準とした例えば上下左右方向である。移動回数は、1回でなくてもよい。
図11は、第2の実施形態における移動経路の計画処理について示すフローチャートである。第1の実施形態と同様に、図11の処理に先立って、移動体60は、基準位置まで移動して、基準位置の画像を取得している。
ステップS301において、共通領域計算部111aは、基準位置の画像に対する仮想的な画像の移動方向を決定する。例えば、共通領域計算部111aは、基準位置の画像の画像中心を基準とした上下左右方向に仮想的な移動方向を決定する。
ステップS302において、共通領域計算部111aは、撮影位置を決定するために、それぞれの移動方向における評価の基準を満たす共通領域を計算する。図12は、第2の実施形態における撮影位置の決定の処理の概要を示す図である。例えば、評価の基準が共通領域の面積であるとき、共通領域計算部111aは、例えば図12において、基準位置の画像I0を左方向に仮想的に移動したときの画像I1における画像I0との共通領域R1、上方向に仮想的に移動したときの画像I2における画像I0との共通領域R2、右方向に仮想的に移動したときの画像I3における画像I0との共通領域R3及び下方向に仮想的に移動したときの画像I4における画像I0との共通領域R4の面積比が例えば画像全体の60%となるそれぞれの共通領域を計算する。前述したように、共通領域は、他の評価の基準に従って計算されてもよい。
ステップS303において、撮影位置計算部112aは、共通領域計算部111aで計算されたそれぞれの移動方向についての共通領域が得られる撮影位置を計算する。具体的には、撮影位置計算部112aは、それぞれの移動方向について計算された共通領域が得られる仮想的な画像の移動量を計算する。図12に示す画像I1-画像I4を撮影できる撮影位置であれば、ある程度の共通領域が確保されるので、位置推定の精度の低下が抑制され得る。
ステップS304において、移動距離計算部12は、それぞれの撮影位置の間の移動距離を計算する。移動距離の計算は、第1の実施形態と同様にして行われ得る。したがって、説明は省略される。
ステップS305において、移動経路計画部13は、撮影位置決定部11で決定された撮影位置と移動距離計算部12で計算された移動距離とに基づき、移動体60の移動経路を計画する。その後、図12の処理は終了する。移動経路の計画は、第1の実施形態と同様にして行われ得る。したがって、説明は省略される。
以上説明したように第2の実施形態によれば、基準位置の画像との間にある評価基準を満たす共通領域が確保されるように他の撮影位置が自動的に決定される。これにより、共通領域が減ってしまって十分な対応点が得られなくなることが抑制される。このようにして、移動体60の位置推定の精度の低下が抑制される。また、第2の実施形態では、発光体の検出が行われない。したがって、第2の実施形態の撮影位置決定装置は、第1の実施形態の撮影位置決定装置に比べて簡易に構成され得る。
[その他の変形例]
ここで、前述した実施形態では、撮影の対象は、移動体60が配備される場所の天井であるとされている。これは、天井であれば、画像内の被写体が移動体60の位置にだけ依存して変動し、時間的には変動しないためである。しかしながら、画像内の被写体が移動体60の位置にだけ依存して変動し、時間的には変動しないという条件が満たされる場合には、撮影の対象は移動体60が配備される場所の天井に限らない。例えば、撮影の対象は、移動体60が配備される場所の壁、床等であってもよい。
ここで、前述した実施形態では、撮影の対象は、移動体60が配備される場所の天井であるとされている。これは、天井であれば、画像内の被写体が移動体60の位置にだけ依存して変動し、時間的には変動しないためである。しかしながら、画像内の被写体が移動体60の位置にだけ依存して変動し、時間的には変動しないという条件が満たされる場合には、撮影の対象は移動体60が配備される場所の天井に限らない。例えば、撮影の対象は、移動体60が配備される場所の壁、床等であってもよい。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
1 撮影位置決定装置、10 処理部、11 撮影位置決定部、12 移動距離計算部、13 移動経路計画部、20 入力部、30 辞書記憶部、40 位置推定部、50 位置制御部、60 移動体、61 移動体制御部、62 撮影部、101 CPU、102 入力装置、103 表示装置、104 通信装置、105 記憶装置、106 バス、111 発光体検出部、111a 共通領域計算部、112 撮影位置計算部、112a 撮影位置計算部。
Claims (11)
- 基準位置において移動体によって撮影された第1の画像を取得し、前記移動体の位置推定の精度の低下要因が減るように複数の移動方向に前記第1の画像を仮想的に移動させて前記移動体の位置推定のための複数の撮影位置を決定する撮影位置決定部と、
前記複数の撮影位置の間の移動距離を計算する移動距離計算部と、
前記複数の撮影位置の間の移動距離に基づいて前記複数の撮影位置の間の前記移動体の移動経路を計画する移動経路計画部と、
を具備する処理システム。 - 前記撮影位置決定部は、複数の移動方向に前記第1の画像を仮想的に移動させた後のそれぞれの第2の画像と前記第1の画像との間の共通領域が所定の条件を満たすように前記第1の画像を仮想的に移動させる請求項1に記載の処理システム。
- 前記撮影位置決定部は、
前記移動体の位置推定の精度の低下要因としての発光体を前記第1の画像から検出し、
それぞれの前記第2の画像において少なくとも1つの発光体が写らなくなるように前記第1の画像を仮想的に移動させる請求項2に記載の処理システム。 - 前記撮影位置決定部は、前記移動体に搭載されるカメラのカメラパラメータと前記カメラの取り付け角度とに基づいてそれぞれの前記第2の画像の撮影位置を計算する請求項2又は3に記載の処理システム。
- 前記移動経路計画部は、前記複数の撮影位置の間の前記移動体のトータルの移動距離が最短になるように前記移動経路を計画する請求項1乃至4の何れか1項に記載の処理システム。
- 前記第1の画像は、前記基準位置の天井の画像である請求項1乃至5の何れか1項に記載の処理システム。
- 前記移動体の基準位置の画像と、基準位置の近辺の複数の撮影位置で収集された画像と、それぞれの画像から抽出される特徴点及び特徴量と、それぞれの画像間の対応関係と、それぞれの画像の収集位置の情報とを保持した辞書を記憶する辞書記憶部と
撮影部から取得された前記移動体の外部の画像と前記辞書記憶部に保持されている画像とに基づいて前記移動体の位置を推定する位置推定部と、
さらに有する請求項1乃至6の何れか1項に記載の処理システム。 - 請求項1乃至7の何れか1項に記載の処理システムと、前記処理システムの前記移動経路計画部で計画された前記移動経路に従って前記複数の撮影位置で撮影をする、駆動機構によって移動する移動体とを具備する移動体の制御システム。
- 請求項1乃至7の何れか1項に記載の処理システムを具備し、前記処理システムの前記移動経路計画部で計画された前記移動経路に従って前記複数の撮影位置で撮影をする駆動機構によって移動する移動体。
- 基準位置において移動体によって撮影された第1の画像を取得し、共通領域を有するように複数の移動方向に前記第1の画像を仮想的に移動させて前記移動体の位置推定のための複数の撮影位置を決定することと、
前記複数の撮影位置の間の移動距離を計算することと、
前記複数の撮影位置の間の移動距離に基づいて前記複数の撮影位置の間の前記移動体の移動経路を計画することと、
を具備する撮影位置決定方法。 - 基準位置において移動体によって撮影された第1の画像を取得し、共通領域を有するように複数の移動方向に前記第1の画像を仮想的に移動させて前記移動体の位置推定のための複数の撮影位置を決定することと、
前記複数の撮影位置の間の移動距離を計算することと、
前記複数の撮影位置の間の移動距離に基づいて前記複数の撮影位置の間の前記移動体の移動経路を計画することと、
をコンピュータに実行させるための撮影位置決定プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021154729A JP2023046043A (ja) | 2021-09-22 | 2021-09-22 | 処理システム、制御システム、移動体、撮影位置決定方法及び撮影位置決定プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021154729A JP2023046043A (ja) | 2021-09-22 | 2021-09-22 | 処理システム、制御システム、移動体、撮影位置決定方法及び撮影位置決定プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023046043A true JP2023046043A (ja) | 2023-04-03 |
Family
ID=85776943
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021154729A Pending JP2023046043A (ja) | 2021-09-22 | 2021-09-22 | 処理システム、制御システム、移動体、撮影位置決定方法及び撮影位置決定プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2023046043A (ja) |
-
2021
- 2021-09-22 JP JP2021154729A patent/JP2023046043A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI827649B (zh) | 用於vslam比例估計的設備、系統和方法 | |
US9242171B2 (en) | Real-time camera tracking using depth maps | |
JP4300199B2 (ja) | 移動ロボット、移動ロボットの位置姿勢算出方法、移動ロボットの自律走行システム | |
JP5079703B2 (ja) | リアルタイムに位置を算出するためのシステムおよび方法 | |
US8679260B2 (en) | Methods and systems for movement of an automatic cleaning device using video signal | |
CN111989544A (zh) | 基于光学目标的室内车辆导航的系统和方法 | |
US20090148034A1 (en) | Mobile robot | |
JP2019124537A (ja) | 情報処理装置及びその制御方法及びプログラム、並びに、車両の運転支援システム | |
WO2019187816A1 (ja) | 移動体および移動体システム | |
JPH03201110A (ja) | 自律走行車の位置方位検出装置 | |
JP7336752B2 (ja) | 測位装置及び移動体 | |
US11256917B2 (en) | Moving body for tracking and locating a target | |
JPWO2020137315A1 (ja) | 測位装置及び移動体 | |
US20200233431A1 (en) | Mobile body, location estimation device, and computer program | |
KR20120059428A (ko) | 과거 지도 데이터에 기반의 이동 로봇 제어 장치 및 방법 | |
CN112033390A (zh) | 机器人导航纠偏方法、装置、设备和计算机可读存储介质 | |
KR101346510B1 (ko) | 지면 특징점을 사용한 영상 주행 기록 시스템 및 방법 | |
KR100906991B1 (ko) | 로봇의 비시인성 장애물 탐지방법 | |
JP7482453B2 (ja) | 測位装置及び移動体 | |
CN111380535A (zh) | 基于视觉标签的导航方法、装置、移动式机器及可读介质 | |
JP2023046043A (ja) | 処理システム、制御システム、移動体、撮影位置決定方法及び撮影位置決定プログラム | |
JP7273696B2 (ja) | 位置推定装置及びシステム | |
US20210149412A1 (en) | Position estimating apparatus, method for determining position of movable apparatus, and non-transitory computer readable medium | |
JP7199337B2 (ja) | 位置推定装置、位置推定方法およびプログラム | |
WO2019069921A1 (ja) | 移動体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20230111 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240202 |