(57)【要約】【課題】撮影画像とマップとの比較で、対応点が与えられなくても誤検出なく自己位置を高精度に推定できるようにする。【解決手段】撮影して得た画像内の特徴点の重心又は中心を点群化し、点群から三角形を取得し、得られた三角形から、ほぼ線対称な三角形を除外しながら、予め用意されたマップ内の点群で形成される三角形と形状の一致度を計算する。そして、一致度が閾値以上(例えば三角形の角度と辺の長さの差が閾値以下)の候補が検出された場合に、検索対象となる領域内に存在する複数の候補三角形同士の相対位置関係をマップ内の三角形と比較して、ペアリング判定要件を満たす候補三角形が存在するとき、そのペアリング判定要件を満たした候補三角形を構成する各点と、マップ内の点群とのマッチング処理を行い、画像の座標を求めるマッチング処理とを行う。【選択図】図８
2018041431.tif 000002
【特許請求の範囲】
【請求項１】
撮影して得た画像内の特徴点の重心又は中心を点群化し、点群から三角形を取得する三角形取得処理と、
前記三角形取得処理で得た三角形から、ほぼ線対称な三角形を除外しながら、予め用意されたマップ内の点群で形成される三角形と形状の一致度を計算する相似判定処理と、
前記相似判定処理で一致度が閾値以上の候補が検出されたとき、検索対象となる領域内に存在する複数の候補三角形同士の相対位置関係を前記マップ内の三角形と比較して、ペアリング判定要件を満たすことを判定するペアリング判定処理と、
前記ペアリング判定処理でペアリング検定要件を満たす候補三角形が存在するとき、そのペアリング判定要件を満たした候補三角形を構成する各点と、前記マップ内の点群とのマッチング処理を行い、前記画像の座標位置を求めるマッチング処理と、を含む
対応関係を考慮した点群マッチング方法。
【請求項２】
前記相似判定処理で一致度が閾値以上となる判断は、三角形の角度と辺の長さの差が閾値以下となる判断である
請求項１に記載の対応関係を考慮した点群マッチング方法。
【請求項３】
前記三角形取得処理は、所定の角度以上の鈍角を有する三角形を除いた上で、前記画像内で、所定の個数まで形成されるようにした
請求項１又は２に記載の対応関係を考慮した点群マッチング方法。
【請求項４】
前記ペアリング判定処理で複数の候補三角形同士の相対位置関係を比較する際には、複数の候補三角形で成す回転角度又は方向についても比較するようにした
請求項１〜３のいずれか１項に記載の対応関係を考慮した点群マッチング方法。
【請求項５】
前記マッチング処理を行う際には、候補三角形を構成する各点と前記マップ内の点群とのマッチング処理で、前記画像で示される自己位置座標と、前記画像の前記マップに対する回転角度と、前記マップの前記画像に対する倍率とが、最小になる位置を前記座標位置とする
請求項１〜４のいずれか１項に記載の対応関係を考慮した点群マッチング方法。
【請求項６】
撮影して得た画像内の特徴点の重心又は中心を点群化し、点群から三角形を取得する三角形形成部と、
前記三角形形成部で得た三角形から、ほぼ線対称な三角形を除外しながら、予め用意されたマップ内の点群で形成される三角形と形状の一致度を計算する相似判定部と、
前記相似判定部で一致度が閾値以上の候補が検出されたとき、検索対象となる領域内に存在する複数の候補三角形同士の相対位置関係を前記マップ内の三角形と比較して、ペアリング判定要件を満たすことを判定するペアリング判定部と、
前記ペアリング判定部でペアリング検定要件を満たす候補三角形が存在するとき、そのペアリング判定要件を満たした候補三角形を構成する各点と、前記マップ内の点群とのマッチング処理を行い、前記画像の座標位置を求めるマッチング処理部と、を備える
対応関係を考慮した点群マッチング装置。
【請求項７】
撮影して得た画像内の特徴点の重心又は中心を点群化し、点群から三角形を取得する三角形取得手順と、
前記三角形取得手順で得た三角形から、ほぼ線対称な三角形を除外しながら、予め用意されたマップ内の点群で形成される三角形と形状の一致度を計算する相似判定手順と、
前記相似判定手順で一致度が閾値以上の候補が検出されたとき、検索対象となる領域内に存在する複数の候補三角形同士の相対位置関係を前記マップ内の三角形と比較して、ペアリング判定要件を満たすことを判定するペアリング判定手順と、
前記ペアリング判定手順でペアリング判定要件を満たす候補三角形が存在するとき、そのペアリング判定要件を満たした候補三角形を構成する各点と、前記マップ内の点群とのマッチング処理を行い、前記画像の座標を求めるマッチング手順と、
をコンピュータ装置に実行させる
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮影した画像から得た点群とマップ上の点群とのマッチング処理を行って、座標位置を求める、対応関係を考慮した点群マッチング方法、対応関係を考慮した点群マッチング装置及びプログラムに関する。
【背景技術】
【０００２】
従来、移動体に搭載されたカメラが撮影して得た画像から、移動体の位置を推定することが提案され、実用化されている。例えば、月面や惑星の探査を行う探査機に、位置推定を行う機能を搭載して、探査機が月面に着陸する際に、探査機に搭載されたカメラが撮影した画像と、事前に作成したマップとを比較して、探査機の位置を推定して、目的とする着陸位置を探すことが提案されている。
【０００３】
従来、探査機が月面表面などの着陸地点を探す場合、基本的には「降りやすいところに降りる」手法であった。つまり、従来の手法は、カメラが撮影した画像から、着陸が可能な地点かどうかを判断して、降りやすい地点に着陸するものであった。
これに対して、近年、「降りたいところに降りる」手法の確立が望まれている。すなわち、例えば月面の特定の箇所のクレータを探査したい等、予め設定された着陸地点にピンポイントで着陸できる技術の確立が喫緊の課題になっている。
【０００４】
このような正確な着陸地点に着陸するミッションを実現するためには、探査機がリアルタイムで正確な自己位置推定を行う必要がある。すなわち、探査機が撮影した月面表面の画像から検出したクレータと、事前に作成したクレータマップとを照合して、探査機が自己位置の推定を行う必要がある。ここで、探査機に搭載されるコンピュータ装置としては、非常に過酷な環境で長期間稼動する必要があるため、信頼性が十分に確保されたコンピュータ装置が使用されなければならない。したがって、探査機には、開発されてからある程度時間が経過して実績のある信頼性が確保された比較的古い機種（つまり演算処理能力が最新のものほど高くないコンピュータ装置）が搭載され、探査機の自己位置を推定する際の演算処理能力にも制約があり、極力少ない演算処理量で探査機の自己位置を推定する必要がある。
【０００５】
クレータなどを撮影した画像と、クレータマップとを比較して、比較的少ない演算処理量で自己位置を推定する手法として、進化的三角形相似マッチングと称される手法がある。この手法は、本願の発明者らが先に提案した手法であり、画像内の各クレータの位置（中心位置など）を結ぶ三角形と、クレータマップ内の各クレータの中心位置を結ぶ三角形とを取得して、双方の三角形の一致度を基に、遺伝的アルゴリズムを用いて自己位置として推定するものである。ここでの遺伝的アルゴリズムとは、生物の進化を模擬した最適化手法の１つである。なお、進化的三角形相似マッチングの詳細については後述する。
【０００６】
特許文献１には、月面や惑星面に何着陸するための画像処理方法についての記載がある。この特許文献１に記載された手法は、撮影した画像から平坦な地点を探し、探し当てた平坦な地点に着陸するものであり、上述した「降りやすいところに降りる」手法に相当する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平１１−１４４０２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
発明者らが先に提案した進化的三角形相似マッチングは、クレータなどを撮影した画像から探査機が自己位置を推定する上で好適な手法である。
しかしながら、進化的三角形相似マッチングを適用した場合であっても、自己位置を誤検出する場合があった。この誤検出する要因としては、クレータマップと撮影画像におけるクレータのピクセルずれ、三角形の一致度の計算で線対称と点対称の区別を考慮していない点などが挙げられる。また、月面のクレータマップ上には、撮影画像の三角形と相似な三角形が多数存在し、進化的三角形マッチングであっても、誤検出が発生し易い状況になっている場合も多い。
【０００９】
なお、ここまでの説明では、月面などを探査する探査機が着陸地点を探す場合の課題を述べたが、探査機以外の様々な装置（移動体）において、撮影画像と予め用意されたマップとを比較して、自己位置を推定する場合に、同様の課題がある。
【００１０】
本発明の目的は、撮影画像とマップとの比較で、誤検出なく自己位置を高精度に推定できる点群マッチング方法、対応関係を考慮した点群マッチング装置及びその方法を適用したプログラムを提供することにある。
【課題を解決するための手段】
【００１１】
本発明の対応関係を考慮した点群マッチング方法は、撮影して得た画像内の特徴点の重心又は中心を点群化し、点群から他の点を内包しない三角形を取得する三角形取得処理と、三角形取得処理で得た三角形から、ほぼ線対称な三角形を除外しながら、予め用意されたマップ内の点群で形成される三角形と形状の一致度を計算する相似判定処理と、相似判定処理で一致度が閾値以上の候補が検出されたとき、検索対象となる領域内に存在する複数の候補三角形同士の相対位置関係をマップ内の三角形と比較して、ペアリング判定要件を満たすことを判定するペアリング判定処理と、ペアリング判定処理でペアリング判定要件を満たす候補三角形が存在するとき、そのペアリング判定要件を満たした候補三角形を構成する各点と、マップ内の点群とのマッチング処理を行い、画像の座標を求めるマッチング処理と、を含むことを特徴とする。
【００１２】
また本発明の対応関係を考慮した点群マッチング装置は、上記点群マッチング方法の各処理を実行する部（処理部、判定部など）を備えたことを特徴とする。
さらに本発明のプログラムは、上記点群マッチング方法の各処理を実行する手順を、コンピュータ装置に実行させるプログラムとしたことを特徴とする。
【発明の効果】
【００１３】
本発明によると、自己位置の推定精度を向上させることができ、誤判定を防いだ良好な座標検出が可能になる。
【図面の簡単な説明】
【００１４】
【図１】クレータマップと撮影画像のクレータとを照合する例を示す説明図である。
【図２】遺伝的アルゴリズムを用いた進化的三角形相似マッチングの実行順序を示す説明図である。
【図３】進化的三角形相似マッチングにより候補領域を生成する処理の概要を示す説明図である。
【図４】進化的三角形相似マッチングの概要を示す説明図である。
【図５】進化的三角形相似マッチングによる比較例を示す説明図である。
【図６】探査機の撮影姿勢によるピクセルずれの例を示す説明図である。
【図７】本発明の一実施の形態例によるシステム構成例を示すブロック図である。
【図８】本発明の一実施の形態例による処理の流れを示すフローチャートである。
【図９】本発明の一実施の形態例による疑似ドローネ三角形の形成例を示す説明図である。
【図１０】本発明の一実施の形態例による線対称な三角形の排除例を示す説明図である。である。
【図１１】本発明の一実施の形態例による撮影画像とマップの領域とのペアリング検定例を示す説明図である。
【図１２】本発明の一実施の形態例による撮影画像とマップの領域との点群マッチング例を示す説明図である。
【図１３】本発明の一実施の形態例による探査機の高度が低い場合のクレータの見えた方の例を示す説明図である。
【図１４】本発明の一実施の形態例による探査機の高度が高い場合のクレータの見えた方の例を示す説明図である。
【発明を実施するための形態】
【００１５】
［１．進化的三角形相似マッチングの説明］
まず、本発明の一実施の形態例を説明する上で、前提となる処理である、進化的三角形相似マッチングについて、図１〜図６を参照して説明する。ここでは、図１に示すように、月を周回する探査機１に搭載されたカメラ１ａが、月面２を撮影して、撮影画像３から探査機１の自己位置を判断する例を説明する。
探査機１に搭載されたコンピュータ装置（不図示）は、撮影画像３に含まれるクレータ３１〜３４を点群化する。例えば、それぞれのクレータ３１〜３４の重心位置が、不図示のコンピュータ装置により点で示した点群データとされる。
【００１６】
また、探査機１に搭載されたコンピュータ装置には、予め月面２のクレータ位置を示すクレータマップ４が記憶されている。クレータマップ４も、各クレータの重心位置を点で示した点群データである。
そして、探査機１に搭載されたコンピュータ装置は、撮影画像３内のクレータ３１〜３４の点群データと同じ配列の点群データ４１〜４４を、クレータマップ４から探し出す処理を行う。クレータ３１〜３４と点群データ４１〜４４とが一致したとき、撮影画像３がクレータマップ４内の領域４０ａを撮影したものと判断され、クレータマップ４に基づいて探査機１の自己の月面上の座標位置が推定される。
【００１７】
次に、撮影画像３内のクレータ３１〜３４と、クレータマップ４内の点群とをマッチングする進化的三角形相似マッチング処理の手順を、図２を参照して説明する。
まず、コンピュータ装置は、クレータマップ４から候補となる領域を選択する（ステップＳ１）。
ここでは、最初にクレータの撮影画像から得た各点を結ぶ三角形を作成し、その三角形の内で、他のクレータの点を内包しない全三角形の内角と三角形の辺の長さを計算する。
次に、クレータマップ４を均等にＮ個（Ｎは任意の整数）に分割し、マップ４内の全範囲を網羅するような領域群を生成し、進化的三角形相似マッチングを行う際の初期集団とする。マップ４内の各領域は、例えば正方形で表現され、進化的三角形相似マッチング時の遺伝子は、例えば正方形の左下の点の座標位置（ｘ座標，ｙ座標）と正方形の長さｌで表現される。
なお、クレータマップ４を均等に分割する点については、一例であり、均等でない数に分割してもよい。また、クレータマップ４内の全範囲を網羅する点も一例であり、特定の範囲のみから領域群を生成してもよい。
【００１８】
そして、各領域内のクレータの点から、ｘ座標が大きい３点と小さい３点、ｙ座標が大きい３点と小さい３点をそれぞれ結んだ４つの三角形を取り出す。次に、ｘ座標が２番目から４番目までに大きい３点と小さい３点、ｙ座標が２番目から４番目までに大きい３点と小さい３点をそれぞれ結んだ４つの三角形を取り出す。このようにしてＭ個の三角形を形成し、それぞれの三角形の内角と辺の長さを計算する。
【００１９】
次に、Ｍ個の三角形の内角及び辺の長さと、撮影画像内の全三角形の内角及び辺の長さとを比較する。この比較により、全三角形の中のそれぞれの三角形の内角の差と辺の長さの比の差を一致度と定義し、このようにして決定したＭ個の三角形の一致度が各領域の評価値となる。ここでは、内角の差と辺の長さの比の差が小さいほど相似な三角形であり、大きさも類似し、評価値が「０」に近い領域ほど、一致度が高い領域になる。このようにして評価値が「０」に近く、一致度が高い領域を選択する。実際には、評価値が「０」に近い閾値以下（例えば０．３以下）であるとき、一致しているとする。さらに、相似な三角形を含む領域の近くに、新しい領域を生成する。
【００２０】
そして、選択された領域から、遺伝的アルゴリズムの交叉（ステップＳ２）と、進化的三角形相似マッチングに固有の移動の操作（ステップＳ３）とを行い、交叉及び移動によって新しい領域を生成する（ステップＳ４）。ここで、移動とは、先に説明した一致度が高く、大きさが類似している三角形を含むいずれかの方向に新しい領域を設定することをいう。
【００２１】
次に、ステップＳ４で生成された全領域に対し、各領域が持つＭ個の三角形の中で内角の差と辺の長さの比の差が、最小の三角形の方向に近傍探査して、新たな領域へ移動する（ステップＳ６）。このとき、ある確率で突然変異が発生して（ステップＳ５）、クレータマップ４内のランダムな位置に新たな領域が変わる。そして、生成した領域群の内で、評価値が良い領域を一定数（Ｋ個）次世代の領域群に残し、残りの領域をステップＳ６で生成した領域と入れ替える（ステップＳ７）。
【００２２】
ここまでのステップＳ１〜Ｓ６の処理を繰り返し、１つの領域中のＭ個の三角形の中で一致度が高く、大きさが類似している同士でペアを作成して、重心間の距離を計算する。クレータマップ４と撮影画像３とで、これらの三角形ペアの重心間距離の誤差が一定値以下であれば、三角形の位置関係が画像とマップで等しいと判断する。そして、この三角形ペアの重心間距離の誤差が一定値以下のペアが一定の個数以上存在したとき、撮影画像３が、クレータマップ４の選択中の領域を撮影したものと判断して、領域の探索を終了する。
【００２３】
図３〜図５は、この進化的三角形相似マッチングの実行状況の例を示す図である。
まず、図３に示すように、探査機１が月面２を撮影して撮影画像３が得られると、撮影画像３内のクレータ３１〜３４の重心位置を結ぶ三角形を取得する。そして、クレータマップ４から、候補となる三角形が存在する候補領域が取り出される。このとき、遺伝的アルゴリズムを用いて、候補領域の評価値が高い場所に確率的に高く新たな候補領域が生成される。例えば、図３に示すように、評価値が高い候補領域４０ａが取り出された後、その候補領域４０ａ内で注目している三角形を含む新たな候補領域４０ｂが、遺伝的アルゴリズムを用いて生成される。
【００２４】
図４は、候補領域の評価値の生成例を示す。
図４に示すように、撮影画像３内の三角形の内角をθｉ、辺の長さをｄｉとし、候補領域内の三角形の内角をθｉ′、辺の長さをｄｉ′としたとき、次式に基づいて、評価値を得る。図４では、候補領域４０ｉ内の点４５，４６，４７で形成される三角形の内角θｉ′と辺の長さｄｉ′の例を示す。［数１］式において、tri_numは三角形の個数であり、生成した三角形の内角と辺の比の差の総和から、候補領域の評価値を得る。
【００２５】
【数１】
2018041431.tif 000003
【００２６】
図５は、ペアとなる三角形の重心間の距離を判断する処理を示す。
図５では、撮影画像３内の３つの三角形Ｔａ，Ｔｂ，Ｔｃと、マップ内の候補領域４ｘ内の３つの三角形Ｔ１，Ｔ２，Ｔ３と比較した例を示す。
例えば、撮影画像３内の２つの三角形Ｔａ，Ｔｂの重心間距離をＤ１、候補領域４ｘ内の２つの三角形Ｔ１，Ｔ２の重心間距離をＤ１′としたとき、両距離Ｄ１，Ｄ１′の差を得る。同様に、三角形Ｔａ，Ｔｃの重心間距離をＤ２、候補領域４ｘ内の２つの三角形Ｔ１，Ｔ３の重心間距離をＤ２′としたとき、両距離Ｄ２，Ｄ２′の差を得、三角形Ｔｂ，Ｔｃの重心間距離をＤ３、候補領域４ｘ内の２つの三角形Ｔ２，Ｔ３の重心間距離をＤ３′としたとき、両距離Ｄ３，Ｄ３′の差を得る。そして、それぞれのペアの三角形の距離の差（誤差）が一定値（閾値）以下であるとき、撮影画像３が、クレータマップ４内の候補領域４ｘと一致したと判断する。
【００２７】
このように進化的三角形相似マッチングを適用することで、マップとの比較で自己位置を推定することができる。しかし、進化的三角形相似マッチングでは、誤った場所を自己位置と推定する誤判定が発生することがある。これは、探査機の高度差などから、クレータマップと撮影画像との間でピクセルずれが生じ、クレータマップ上に撮影画像と相似な三角形が多数形成されてしまうことに起因する。
【００２８】
図６は、探査機の高度が想定した高度と異なっている場合に生じるピクセルずれの発生例を示す。
この例は、図６の右側に示すように、クレータマップの領域Ｍａからの探査機の高度が、高度ｈと想定した例であり、探査機１で撮影した画像Ｐａが、高度［ｈ×１．０５］で撮影した画像であるとする。このとき、図６の左側に示すように、画像Ｐａと候補となるクレータマップの領域Ｍａとが一致したとしても、画像Ｐａ内の点群ｐ１，ｐ２，ｐ３，・・・と、領域Ｍａ内の点群ｍ１，ｍ２，ｍ３，・・・との位置が若干ずれてしまう。このように探査機１の高度ずれに起因して点群の位置がずれることで、位置を誤判定する可能性が高くなってしまう。
【００２９】
また、一致度を計算するときには、クレータマップと撮影画像とで比較する三角形が点対称であるか線対称であるかを区別していなかった。そのため、探査機の自己位置でない場所であっても、撮影画像の三角形に線対称な三角形が存在すると、高い評価値が得られてしまう。ここでは、クレータマップと撮影画像の相似な三角形同士の関係を重心間距離のみでしか比較していないので、クレータマップ上の自己位置でない場所に生成された候補領域内で、評価値が高い三角形のペアが存在すると、誤判定してしまう可能性が高くなると考えられる。
【００３０】
また、進化的三角形相似マッチングは、クレータマップと撮影画像とで距離関係が一致する相似な三角形が一定数以上発見できた段階で探索を終了する。ここで、探査機の自己位置を推定する際には、撮影画像の中心座標をクレータマップ上の座標で示す必要があるが、撮影画像はクレータマップに対して何度回転した状態かが分からないため、撮影画像の回転に依存しない計算をする必要がある。
本発明は、ここまで説明した進化的三角形相似マッチングの問題を解決した、精度の高い位置探索が可能な高度化された進化的三角形相似マッチングを提供するものである。
【００３１】
［２．本発明の一実施の形態例の構成］
図７は、本発明の一実施の形態例による進化的三角形相似マッチングを実行する点群マッチング処理システム１００の構成を示すブロック図である。
点群マッチング処理システム１００は、月面を探査する探査機１（図１）に搭載されたコンピュータ装置に、点群マッチング処理を実行するソフトウェアを実装することで実現されるシステムであり、図７はコンピュータ装置で実行される機能から見た構成を示した、いわゆる機能ブロック図である。
【００３２】
点群マッチング処理システム１００には、探査機１に搭載されたカメラ１ａが撮影した画像データが供給される。カメラ１ａから供給された画像データは、画像キャプチャ部１０１に供給され、画像キャプチャ部１０１で１枚（１フレーム）の画像ごとに、その画像を構成する画素データ（ピクセルデータ）が取り出される。画像キャプチャ部１０１で取り出された画素データは、点群化処理部１０２に供給される。点群化処理部１０２では、画像に含まれる特徴点であるクレータの重心位置を点で示した点群化データとする処理が行われる。この点群化処理部１０２で点群化データを得る点群化処理は、既に知られた様々なアルゴリズムが適用可能である。
【００３３】
点群化処理部１０２で得られた点群化データは、三角形形成部１０３に供給される。三角形形成部１０３は、各点を結ぶ三角形を作成する三角形取得処理を行う。この三角形取得処理では、他のクレータの点を内包しない三角形を作成するようにする。但し、他のクレータの点を内包しない三角形を作成するのは一例であり、所定個（ｉ個）内包点を含む三角形を生成するようにしてもよい。三角形形成部１０３での三角形形成処理の詳細については後述する。三角形形成部１０３で形成された三角形のデータは、相似判定部１０５に供給される。相似判定部１０５は、形成された三角形のデータと、マップ記憶部１０９に記憶された月面のクレータマップとを比較し、一致度が高く、大きさが類似している(一致度の高い)三角形を候補とする相似判定処理を行う。マップ記憶部１０９には、月面のクレータを点群化したクレータマップが記憶されている。
【００３４】
相似判定部１０５で得られた候補のデータは、マッチング候補選定部１０４に供給される。マッチング候補選定部１０４は、撮影画像内の三角形とクレータマップ内の三角形とのマッチング処理を行う上での前処理として、マッチング候補となる三角形を選定する。ここでは、一致度を計算する上で、マップ内の検索領域に存在する三角形に対して、その三角形と撮影画像内の線対称な三角形を候補から除外して、残りの三角形をマッチング候補とする処理を行う。
【００３５】
マッチング候補選定部１０４でマッチング候補を選定した、一致度が高い三角形のデータは、誤マッチング除外部１０６に供給される。誤マッチング除外部１０６は、一致度が高く、大きさが類似している複数の三角形のペアリング判定を行うと共に、一致度に関する誤差が閾値以下の複数の三角形の相対方向や相対位置が一致しているか否かのペアリング判定処理を行って、誤マッチングした候補を除外する処理を行う。一致度に関する誤差が閾値以下か否かを判断することで、一致度が特定の値以上に高いか否かを判断していることになる。そして、誤マッチング除外部１０６で誤マッチングした候補を除外した一致度が高い候補の三角形のデータが、点群マッチング処理部１０７に供給される。
【００３６】
点群マッチング処理部１０７は、供給される一致度が高い候補の三角形のデータと、マップ記憶部１０９に記憶された月面のクレータマップとを比較し、点群マッチング処理を行う。このとき、誤マッチング除外部１０６でのペアリング判定処理によって一致度が高く相対位置関係が正しいと判断された三角形を形成するクレータの点を用いて、点群マッチング処理が行われる。この点群マッチング処理については、既に図１〜図５を用いて説明した既に知られた処理が適用可能である。
【００３７】
点群マッチング処理部１０７は、撮影画像内の三角形とマップ記憶部１０９に記憶された点群の三角形とのマッチング処理を行い、最も一致度が高い候補領域を探し出す。そして、推定結果出力部１０８が、最も一致度が高い候補領域を参照して、撮影画像の中心座標を取得し、撮影画像の中心座標を推定結果として出力する。
【００３８】
［３．本発明の一実施の形態例の処理の流れ］
図８は、点群マッチング処理システム１００で実行される位置推定処理の流れを示すフローチャートである。
まず、点群マッチング処理システム１００の点群化処理部１０２が、撮影画像の点群化処理を行い、画像に含まれる特徴点であるクレータの重心位置を点で示した点群化データを得る（ステップＳ１１）。そして、三角形形成部１０３が、点群化処理で得られた点群化データから、他の点を内包しない三角形を取得する処理を行う（ステップＳ１２）。この三角形取得時には、次に述べるように疑似ドローネ三角形を形成するようにする。
【００３９】
点群データから三角形を形成する従来の手法では、例えば図９の左側に示すように、撮影画像３内の各領域内のクレータからｘ座標（水平座標）が大きい点を３点、ｘ座標が小さい点を３点、ｙ座標（垂直座標）が大きい点を３点、及びｙ座標が小さい点を３点選びだし、それぞれを結んだ三角形を形成するようにしていた。
この従来の三角形の形成処理では、図９の左側の撮影画像３内の三角形Ｔｄ，Ｔｅ，Ｔｆ，Ｔｇに示すように、鈍角（ここでは１７０°以上の角度）が含まれる三角形が形成しやすい。また、形成した三角形の内角は、従来、コサイン（ｃｏｓ）で表記するようにしており、０°もしくは１８０°に近いほど、隣接する角度の差は小さく計算され、９０°に近いほど隣接する角度の差は大きく計算される。このため、図９の例では、鈍角が含まれる三角形Ｔｅは、鈍角を含まない三角形Ｔｄよりも高い評価を得やすい。
【００４０】
このような問題を解決するために、本発明の一実施の形態例では、撮影画像から三角形を形成する際に、領域のｘ座標が大きい１点、ｘ座標が小さい１点、ｙ座標が大きい１点、及びｙ座標が小さい１点を基準として、その基準となるクレータとそのクレータに距離が最初のものから２点を使用して形成される疑似ドローネ三角形を形成する。ここでは、計算量を削減しつつ、可能な限り鈍角な三角形を作成しないように分割を行うため、その鈍角な三角形が形成されないことを必ずしも保証していない分割法である疑似ドローネ三角形分割法を適用したが、計算が可能であれば、正式なドローネ三角形分割法を適用してもよい。
【００４１】
その後、領域内のｘ座標が２番目に大きい点、２番目に小さい点、ｙ座標が２番目に大きい点、及び２番目に小さい点のクレータを基準にして、疑似ドローネ三角形を形成する。以下、この処理を領域内で順に行い、Ｍ個（所定個）三角形が形成されるまで続けて行う。
このように疑似ドローネ三角形を形成するようにしたことで、例えば図９の右側に示すように、三角形Ｔｄ，Ｔｈ，Ｔｉ，Ｔｊのように、鈍角が含まれない三角形が形成されるようになる。
【００４２】
図８のフローチャートの説明に戻ると、ステップＳ１２において、三角形形成部１０３が三角形を形成した後、相似判定部１０５が撮影画像３内の候補三角形と、クレータマップ内の三角形との相似判定を行う（ステップＳ１３）。この相似判定としては、各三角形の内角や辺の長さなどの条件の類似度から、相似した三角形を判定する。
その後、マッチング候補選定部１０４が、相似の計算をして類似していると判定された三角形の中から、撮影画像内の線対称な三角形をマッチング候補から除外する処理を行う（ステップＳ１４）。
従来の点群マッチング手法では、三角形の一致度を比較する際に、比較する三角形が線対称であるのか点対称であるのかは区別していなかった。クレータマップと撮影画像とで相似な三角形は点対称な関係にはなるが、線対称な関係にはならない。そのため、線対称な三角形が高い評価値を得ると、誤判定の可能性が高くなる。従来は、領域内の三角形の相似なものとして実際には正しくない線対称な三角形が選ばれてしまうことで、適切な一致度の計算ができない状況であった。
【００４３】
ここで本実施の形態例では、例えば図１０に示すように、撮影画像３とクレータマップ４とを比較する際に、例えばクレータマップ内の三角形Ｔ１１と比較する撮影画像３の三角形として、その三角形Ｔ１１とほぼ点対称な三角形Ｔｍ，Ｔｏとし、三角形Ｔ１１とほぼ線対称な三角形Ｔｋ，Ｔｎを候補から排除し、排除した三角形Ｔｋ，Ｔｎについては、ペアリングの計算を行わないようにする。なお、図１０はペアリングの原理が分かりやすいように、鈍角が含まれる三角形の例で示す。
【００４４】
再び図８のフローチャートの説明に戻ると、点群マッチング処理システム１００は、一致した三角形の候補が検出されたか否かを判断する（ステップＳ１５）。そして、一致した三角形の候補が検出された場合(ステップＳ１５のＹＥＳ)、誤マッチング除外部１０６がペアリング判定に移る（ステップＳ１６）。このステップＳ１６で、誤マッチング除外部１０６は、撮影画像３内の複数の候補三角形と、クレータマップ内の一致度が高い三角形とを比較してペアリング判定を行う。
【００４５】
従来は、ペアリング判定では例えば図５に示すように、複数の三角形同士の重心間の距離Ｄ１，Ｄ２，Ｄ３を比較していたが、そのような重心間の距離のみでは正確に判断できない場合がある。本発明の一実施の形態例では、相似な三角形の距離関係だけでなく、方向や回転の相対関係も比較するようにしている。
例えば、図１１の上側の撮影画像３の２つの三角形Ｔｐ，Ｔｑと、クレータマップ内の候補領域４ｙの２つの三角形Ｔ１２，Ｔ１３とを比較した例として示すように、撮影画像とクレータマップ内の候補領域内に形成された一致度の高い三角形で２組になる全組み合わせに対して、重心間の距離と長辺の距離を用いて比較する。このとき、２つの三角形の重心間の距離を示すベクトルｄcenter、ｄ′centerと、重心間ベクトルの始点である三角形の長辺ベクトルｄ１，ｄ１′からなる内積から、例えば次の［数２］式を使って三角形の相対方向を判断し、［数３］式を使って三角形の相対距離を得て判断する。
【００４６】
【数２】
2018041431.tif 000004
【００４７】
【数３】
2018041431.tif 000005
【００４８】
［数２］式において、内積の差が、MIN_D2以下であるとき、クレータマップの領域と三角形の相対方向が一致すると判断する。また、［数３］式においては、外積の差が、MIN_D2以下であるとき、クレータマップの領域と三角形の相対距離が一致すると判断する。
さらに、図１１の下側の撮影画像３の２つの三角形Ｔｐ，Ｔｑと、クレータマップ内の候補領域４ｙの２つの三角形Ｔ１２，Ｔ１３とを比較した例として示すように、２つの三角形の長辺ベクトルのなす角度θ，θ′を計算して比較する。この比較時には、重心位置を中心として、各ベクトルの角度を計算して比較してもよい。ここでの比較時には、例えば次の［数４］式を使って三角形の角度を判断する。
【００４９】
【数４】
2018041431.tif 000006
【００５０】
［数４］式において、角度の差が、MIN_DIFF2以下であるとき、クレータマップの領域と三角形の相対方向が一致すると判断する。ここでは、三角形Ｔｑと三角形Ｔ１３の回転角が一致する（つまりベクトルｄ１に対するベクトルｄ２の角度と、ベクトルｄ１′に対するベクトルｄ２′の角度が一致する）ことを判断している。
これらの［数２］式、［数３］式、及び［数４］式の全ての条件を満たしたとき、クレータマップと撮影画像間の三角形の相対位置関係は一致すると判断し、候補領域内にこのペアリング判定要件を満たしたペアが一定数以上存在したとき、その候補領域の場所が、探査機１の撮影地点であると判断する。
【００５１】
再び図８のフローチャートの説明に戻ると、誤マッチング除外部１０６は、ステップＳ１６においてペアリング判定を行った結果に基づいて、誤マッチングの三角形を候補三角形から除外する処理を行う（ステップＳ１７）。
そして、点群マッチング処理部１０７は、大きさと角度が類似している三角形同士の相対位置関係が正しいと判断された三角形を形成するクレータを用いて、点群マッチング処理を行って、撮影画像の中心座標位置を求める処理を行う（ステップＳ１８）。そして、推定結果出力部１０８が、算出した中心座標位置を自己位置の座標位置として出力する。
【００５２】
ステップＳ１８での点群マッチング処理時には、例えば図１２に示す状態で点群マッチング処理を行う。図１２の左側は撮影画像内の点群（ｉ，ｊ，ｋ，・・・）、右側はクレータマップ内の候補領域の点群（ｉ，ｊ，ｋ，・・・）を示す。
図１２において、Ｃは撮影画像のクレータ群の基準点の位置ベクトル、Ｃ′は候補領域のクレータ群の重心の位置ベクトル、ｑｉ,ｑｉ′は、各点の基準点あるいは重心からの位置ベクトルである。
ここで、［数５］式及び［数６］式に示すＱｉ，Ｑｉ′と、Ｃ，θ，ｓを求める演算を行う。［数５］式に示すＱｉ，Ｑｉ′は、各点の位置ベクトルを表している。［数６］式に示すＣ，θ，ｓは、それぞれ自己位置座標、撮影画像の回転角、クレータマップの撮影画像に対する倍率を表す。この自己位置座標Ｃ、回転角θ、及び倍率ｓが最小になる値を求めることで、撮影画像の中心座標位置を求める。
【００５３】
【数５】
2018041431.tif 000007
【００５４】
【数６】
2018041431.tif 000008
【００５５】
［４．探査機の高度が想定高度と異なるときの撮影画像の例］
上述したように、本発明の実施の形態例では、自己位置を求める際に、クレータマップの撮影画像に対する倍率を求めることができる。このクレータマップの撮影画像に対する倍率は、探査機１の高度が想定高度と異なる場合に生じるものである。
次に、探査機１の高度が想定した高度よりも低い場合と高い場合とで、撮影画像がどのように変化するかを、図１３及び図１４を用いて説明する。
【００５６】
図１３は、探査機１の高度が想定よりも低いときの撮影画像内でのクレータの見え方を示す。例えば、図１３の左側に示すように、想定した高度で探査機１に搭載されたカメラ１ａは、画角θ＝１５°で撮影して、水平方向及び垂直方向のピクセル数５１２×５１２の画像３を取得するものとする。
ここで、図１３の中央に示すように、探査機１が想定した高度ｈよりも５％低い高度でカメラ１ａが撮影した画像３′が得られたとする。このとき、画像３′で得られるクレータは、本来の高度でのピクセル数と比較して、ピクセル数４８６×４８６の範囲を撮影したものに相当する。したがって、探査機１が想定した高度ｈよりも５％低い高度のときには、探査機１に搭載されたカメラ１ａが撮影した画像３′は、水平方向及び垂直方向のピクセル数５１２×５１２の範囲が、本来の高度で撮影した場合のピクセル数４８６×４８６の範囲を示すようになる。このように、探査機１の高度が低い状況では、撮影画像３′内のクレータの位置は、クレータマップ内のクレータの位置よりも中心から放射状に外側にずれる。このずれは、画像の外側になるほど、ずれ量が大きくなる。
【００５７】
図１４は、探査機１の高度が想定よりも高いときの撮影画像内でのクレータの見え方を示す。この例でも図１３の例と同様に、図１４の左側に示すように、想定した高度で探査機１に搭載されたカメラ１ａは、画角θ＝１５°で撮影して、水平方向及び垂直方向のピクセル数５１２×５１２の画像３を取得するものとする。
ここで、図１４の中央に示すように、探査機１が想定した高度ｈよりも５％高い高度でカメラ１ａが撮影した画像３″が得られたとする。このとき、画像３″で得られるクレータは、本来の高度でのピクセル数と比較して、ピクセル数５３７×５３７の範囲を撮影したものに相当する。したがって、探査機１が想定した高度ｈよりも５％高い高度のときには、探査機１に搭載されたカメラ１ａが撮影した画像３″は、水平方向及び垂直方向のピクセル数５１２×５１２の範囲が、本来の高度で撮影した場合のピクセル数５３７×５３７の範囲を示すようになる。このように、探査機１の高度が高い状況では、撮影画像３″内のクレータの位置は、クレータマップ内のクレータの位置よりも中心から放射状に内側にずれる。このずれは、画像の外側になるほど、ずれ量が大きくなる。
【００５８】
このように探査機１の高度のずれが生じると、クレータマップと撮影画像とのずれが発生するが、上述した［数６］式に示すように、自己位置座標Ｃを求める際に、回転角θ及び倍率ｓを考慮することで、精度の高い自己位置の算出が可能になる。
【００５９】
［５．実験結果の例］
次に、本発明の一実施の形態例によって、クレータを撮影した画像とクレータマップとを比較して、自己位置を推定する処理を実行した実験例について説明する。
ここでは、実験例１（表１）〜実験例６（表６）として、次に示す条件での例とする。
・実験例１（表１）：撮影画像とクレータマップとの想定高度に差がなく、撮影画像の回転がない例。
・実験例２（表２）：撮影画像とクレータマップとの想定高度に差がなく、撮影画像がクレータマップに対して３０°回転した例。
・実験例３（表３）：撮影画像がクレータマップの想定高度よりも５％低い高度で撮影され、撮影画像の回転がない例。
・実験例４（表４）：撮影画像がクレータマップの想定高度よりも５％低い高度で撮影され、撮影画像がクレータマップに対して３０°回転した例。
・実験例５（表５）：撮影画像がクレータマップの想定高度よりも５％高い高度で撮影され、撮影画像の回転がない例。
・実験例６（表６）：撮影画像がクレータマップの想定高度よりも５％高い高度で撮影され、撮影画像がクレータマップに対して３０°回転した例。
【００６０】
【表１】
2018041431.tif 000009
【００６１】
【表２】
2018041431.tif 000010
【００６２】
【表３】
2018041431.tif 000011
【００６３】
【表４】
2018041431.tif 000012
【００６４】
【表５】
2018041431.tif 000013
【００６５】
【表６】
2018041431.tif 000014
【００６６】
表１〜表６に示す各実験例では、撮影画像に対して１００回試行したときの、自己位置の推定に成功した数（即ち自己位置の推定成功率）と、推定に要した時間を示す。表１〜表６に示す１，２，３，４，５の番号は、それぞれ撮影画像の番号を示し、それぞれ別の画像で実験した例を示す。ここでの自己位置の推定成功率は、自己位置として出力した座標と、答えであるクレータマップ上の撮影画像の中心座標との誤差が、３ピクセル、５ピクセル、１５ピクセル以内であったときの３つの例を示す。なお、推定成功率の数値の隣に、括弧で囲って示す数値は、誤判定した回数（率）を示す(例えば、表２に記載)。
推定時間は、撮影画像１００枚に対して試行して自己位置推定に成功するまでに要した平均時間（秒）を示す。この平均時間は、実際の探査機１に搭載されるコンピュータ装置の計算能力を想定して、換算した時間である。
【００６７】
これらの表１〜表６から分かるように、表１〜表６のいずれの実験例の状況でも、５ピクセル以内の誤差でほぼ１００％の自己位置推定が実現できている。また、推定時間は、高度差がある状況において、撮影画像１と撮影画像３で、３秒を超えたときがあり、特に５％高度が高い状況で３０°回転して撮影した画像の場合には、平均推定時間が３秒を超えた状況が発生しているが、それ以外の状況では、３秒以内が確保されている。また、自己位置の推定成功率についても、高度差なしで３０°回転した状況の撮影画像４の場合（表２）に、５ピクセル以内で成功率９６％であるが、他はほぼ１００％であり、誤判定する回数が従来手法よりも大幅に低下していることが分かる。
【００６８】
以上説明したように本発明の実施の形態例によると、撮影画像から自己位置を推定する精度が向上すると共に、短時間で推定演算が行えるようになるという効果を有する。
【００６９】
［６．変形例］
なお、ここまで説明した処理では、探査機１に搭載されたカメラ１ａが月面を撮影して、予め用意されたクレータマップとの比較で自己位置を推定する場合に適用した。これに対して、本発明は、撮影した画像と、予め用意されたマップとを比較して自己位置を推定する様々な処理に適用が可能である。例えば、地上を走行又は飛行する移動体に搭載されたカメラが撮影した画像と、予め用意されたマップとの比較で、移動体の自己位置を推定する処理に適用してもよい。
【符号の説明】
【００７０】
１…探査機、１ａ…カメラ、２…月面、３…撮影画像、４…クレータマップ、１００…点群マッチング処理システム、１０１…画像キャプチャ部、１０２…点群化処理部、１０３…三角形形成部、１０４…マッチング候補選定部、１０５…相似判定部、１０６…誤マッチング除外部、１０７…点群マッチング処理部、１０８…推定結果出力部、１０９…マップ記憶部
【図１】
2018041431.tif 000015
【図２】
2018041431.tif 000016
【図３】
2018041431.tif 000017
【図４】
2018041431.tif 000018
【図５】
2018041431.tif 000019
【図６】
2018041431.tif 000020
【図７】
2018041431.tif 000021
【図８】
2018041431.tif 000022
【図９】
2018041431.tif 000023
【図１０】
2018041431.tif 000024
【図１１】
2018041431.tif 000025
【図１２】
2018041431.tif 000026
【図１３】
2018041431.tif 000027
【図１４】
2018041431.tif 000028