(57)【要約】【課題】距離画像に含まれる点群と物体のモデルを表わすモデル点群との位置合わせを精度良く行う。【解決手段】記憶部１１１は、物体のモデルを表わすモデル点群１２１を記憶する。抽出部１１２は、距離画像に含まれる第１点群から、位置合わせに用いる第２点群を抽出し、位置合わせ部１１３は、モデル点群１２１と第２点群との間の位置合わせを行う。距離判定部１１４は、モデル点群１２１に含まれる点と第１点群に含まれる点との距離を求め、距離が閾値よりも小さな２点の組を求める。決定部１１５は、抽出部１１２、位置合わせ部１１３、及び距離判定部１１４が行う一連の処理が複数回繰り返された後に、それらの複数回の処理の結果に基づいて、第１点群に対するモデル点群１２１の位置を決定する。【選択図】図１
2018088209.tif 000002
【特許請求の範囲】
【請求項１】
物体のモデルを表わすモデル点群を記憶する記憶部と、
距離画像に含まれる第１点群から、位置合わせに用いる第２点群を抽出する抽出部と、
前記モデル点群と前記第２点群との間の位置合わせを行う位置合わせ部と、
前記位置合わせの後に、前記モデル点群に含まれる点と前記第１点群に含まれる点との距離を求め、前記距離が閾値よりも小さな２点の組を求める距離判定部と、
前記抽出部が前記第２点群を抽出し、前記位置合わせ部が前記位置合わせを行い、前記距離判定部が前記２点の組を求める、一連の処理が複数回繰り返された後に、前記複数回の処理の結果に基づいて、前記第１点群に対する前記モデル点群の位置を決定する決定部と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記抽出部は、前記複数回の処理それぞれにおいて、前記第１点群からランダムに前記第２点群を抽出することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記抽出部は、前記第１点群から３次元特徴点を表す特徴点群を抽出し、前記複数回の処理それぞれにおいて、前記特徴点群から前記第２点群を抽出することを特徴とする請求項１記載の画像処理装置。
【請求項４】
前記決定部は、前記複数回の処理のうち、前記距離が前記閾値よりも小さな２点の組の個数が最大となる処理における前記位置合わせの結果に基づいて、前記第１点群に対する前記モデル点群の位置を決定することを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記距離判定部は、前記モデル点群に含まれる点の法線と前記第１点群に含まれる点の法線との類似度を求め、前記距離が閾値よりも小さく、かつ、前記類似度が所定値よりも大きな２点の組を求めることを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
前記距離判定部は、前記モデル点群に含まれる点の色情報と前記第１点群に含まれる点の色情報との差分を求め、前記距離が閾値よりも小さく、かつ、前記差分が所定値よりも小さな２点の組を求めることを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項７】
前記距離判定部は、前記モデル点群に含まれる点の３次元特徴量と前記第１点群に含まれる点の３次元特徴量との差分を求め、前記距離が閾値よりも小さく、かつ、前記差分が所定値よりも小さな２点の組を求めることを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項８】
距離画像に含まれる第１点群から、位置合わせに用いる第２点群を抽出し、
物体のモデルを表わすモデル点群と前記第２点群との間の位置合わせを行い、
前記位置合わせの後に、前記モデル点群に含まれる点と前記第１点群に含まれる点との距離を求め、
前記距離が閾値よりも小さな２点の組を求め、
前記第２点群を抽出し、前記位置合わせを行い、前記２点の組を求める、一連の処理を複数回繰り返した後に、前記複数回の処理の結果に基づいて、前記第１点群に対する前記モデル点群の位置を決定する、
処理をコンピュータに実行させる画像処理プログラム。
【請求項９】
コンピュータが、
距離画像に含まれる第１点群から、位置合わせに用いる第２点群を抽出し、
物体のモデルを表わすモデル点群と前記第２点群との間の位置合わせを行い、
前記位置合わせの後に、前記モデル点群に含まれる点と前記第１点群に含まれる点との距離を求め、
前記距離が閾値よりも小さな２点の組を求め、
前記第２点群を抽出し、前記位置合わせを行い、前記２点の組を求める、一連の処理を複数回繰り返した後に、前記複数回の処理の結果に基づいて、前記第１点群に対する前記モデル点群の位置を決定する、
ことを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理プログラム、及び画像処理方法に関する。
【背景技術】
【０００２】
距離センサによって取得される距離データを用いて、物体の位置及び姿勢を認識する技術が知られている（例えば、特許文献１及び特許文献２を参照）。距離センサによって取得される距離データは、距離画像と呼ばれることもある。従来より、工場での部品検査、ロボットによる部品のピッキング等の分野において、距離画像を利用した物体検出技術の研究が行われている。
【０００３】
また、近年では、距離センサが一般に普及したことに伴って、エンターテイメント施設、店舗等において人間が手に取った物体を分析するための物体検出技術が研究され、実用化されて来ている。
【０００４】
レーザ光を用いて物体を検出する技術も知られている（例えば、特許文献３を参照）。２組の３次元点群のうち、一方の点群に含まれる点を他方の点群に含まれる最接近点にマッチングする反復点マッチング、及び物体認識のための３次元特徴量も知られている（例えば、非特許文献１及び非特許文献２を参照）。非特許文献１の反復点マッチングは、Iterative Closest Point（ＩＣＰ）と呼ばれることもある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−１２８１９２号公報
【特許文献２】特開２０１１−１７９９１０号公報
【特許文献３】特開２０１１−２２６８６０号公報
【非特許文献】
【０００６】
【非特許文献１】ZHANG,“Iterative Point Matching for Registration of Free-Form Curves and Surfaces”, International Journal of Computer Vision, 13:2, pages 119-152, 1994
【非特許文献２】“物体認識のための3 次元特徴量の基礎と動向”、ビジョン技術の実利用ワークショップＶｉＥＷ２０１４、２０１４年１２月４日、［online］、［平成２８年１１月２２日検索］、インターネット＜ＵＲＬ：http://isl.sist.chukyo-u.ac.jp/Archives/ViEW2014SpecialTalk-Hashimoto.pdf＞
【発明の概要】
【発明が解決しようとする課題】
【０００７】
エンターテイメント施設、店舗等において距離センサを用いて物体を検出する場合、検出対象となる物体の周辺には、検出対象以外の遮蔽物が存在していることが多い。例えば、検出対象の物体の周囲に置かれている他の物体、検出対象の物体を把持している人間の手等が遮蔽物となり得る。しかしながら、従来のＩＣＰは、容易に局所解に陥る位置合わせ方法であるため、検出対象の物体と距離センサとの間に遮蔽物が存在すると、位置合わせの精度が大きく低下する。
【０００８】
１つの側面において、本発明の目的は、距離画像に含まれる点群と物体のモデルを表わすモデル点群との位置合わせを精度良く行うことである。
【課題を解決するための手段】
【０００９】
１つの案では、画像処理装置は、記憶部、抽出部、位置合わせ部、距離判定部、及び決定部を含む。
【００１０】
記憶部は、物体のモデルを表わすモデル点群を記憶する。抽出部は、距離画像に含まれる第１点群から、位置合わせに用いる第２点群を抽出する。位置合わせ部は、モデル点群と第２点群との間の位置合わせを行う。
【００１１】
距離判定部は、位置合わせ部が行う位置合わせの後に、モデル点群に含まれる点と第１点群に含まれる点との距離を求め、距離が閾値よりも小さな２点の組を求める。決定部は、抽出部が第２点群を抽出し、位置合わせ部が位置合わせを行い、距離判定部が２点の組を求める、一連の処理が複数回繰り返された後に、それらの複数回の処理の結果に基づいて、第１点群に対するモデル点群の位置を決定する。
【発明の効果】
【００１２】
実施形態によれば、距離画像に含まれる点群と物体のモデルを表わすモデル点群との位置合わせを精度良く行うことができる。
【図面の簡単な説明】
【００１３】
【図１】画像処理装置の機能的構成図である。
【図２】画像処理のフローチャートである。
【図３】画像処理装置の第１の具体例を示す機能的構成図である。
【図４】モデル点群と距離画像の点群を示す図である。
【図５】距離画像から抽出された点群を示す図である。
【図６】画像処理の第１の具体例を示すフローチャートである。
【図７】正しい位置合わせ結果を示す図である。
【図８】誤った位置合わせ結果を示す図である。
【図９】検出対象の物体、遮蔽物、及びモデルを示す図である。
【図１０】シミュレーション結果を示す図である。
【図１１】画像処理の第２の具体例を示すフローチャートである。
【図１２】３次元特徴点以外の点群を用いた位置合わせを示す図である。
【図１３】３次元特徴点の点群を用いた位置合わせを示す図である。
【図１４】画像処理の第３の具体例を示すフローチャートである。
【図１５】画像処理の第４の具体例を示すフローチャートである。
【図１６】画像処理装置の第２の具体例を示す機能的構成図である。
【図１７】画像処理の第５の具体例を示すフローチャートである。
【図１８】情報処理装置の構成図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照しながら、実施形態を詳細に説明する。
図１は、実施形態の画像処理装置の機能的構成例を示している。図１の画像処理装置１０１は、記憶部１１１、抽出部１１２、位置合わせ部１１３、距離判定部１１４、及び決定部１１５を含む。記憶部１１１は、物体のモデルを表わすモデル点群１２１を記憶する。抽出部１１２、位置合わせ部１１３、距離判定部１１４、及び決定部１１５は、モデル点群１２１を用いて距離画像に対する画像処理を行う。
【００１５】
図２は、図１の画像処理装置１０１が行う画像処理の例を示すフローチャートである。まず、抽出部１１２は、距離画像に含まれる第１点群から、位置合わせに用いる第２点群を抽出し（ステップ２０１）、位置合わせ部１１３は、モデル点群１２１と第２点群との間の位置合わせを行う（ステップ２０２）。
【００１６】
次に、距離判定部１１４は、モデル点群１２１に含まれる点と第１点群に含まれる点との距離を求め（ステップ２０３）、距離が閾値よりも小さな２点の組を求める（ステップ２０４）。そして、決定部１１５は、ステップ２０１〜ステップ２０４の一連の処理が複数回繰り返された後に、それらの複数回の処理の結果に基づいて、第１点群に対するモデル点群１２１の位置を決定する（ステップ２０５）。
【００１７】
このような画像処理装置１０１によれば、距離画像に含まれる点群と物体のモデルを表わすモデル点群との位置合わせを精度良く行うことができる。
【００１８】
図３は、図１の画像処理装置１０１の第１の具体例を示している。図３の画像処理装置１０１は、記憶部１１１、抽出部１１２、位置合わせ部１１３、距離判定部１１４、決定部１１５、距離検出部３１１、及び物体検出部３１２を含む。
【００１９】
距離検出部３１１は、距離センサ３０１が取得した距離データから距離画像３２１を生成して、記憶部１１１に格納する。距離画像３２１は、距離センサ３０１から物体表面までの距離を画素値とする画像であり、距離画像３２１に含まれる複数の画素値は、距離センサ３０１によって検知された物体の３次元形状を表す点群に対応する。
【００２０】
抽出部１１２は、距離画像３２１に含まれる点群から、位置合わせに用いる点群３２２を抽出して、記憶部１１１に格納する。位置合わせ部１１３は、モデル点群１２１と点群３２２との間の位置合わせを行って、モデル点群１２１の初期位置を位置合わせ後の位置に変換する変換行列３２３を求める。そして、位置合わせ部１１３は、変換行列３２３と位置合わせ後のモデル点群３２４とを、記憶部１１１に格納する。
【００２１】
位置合わせ方法としては、例えば、ＩＣＰを用いることができる。ＩＣＰを用いることで、モデル点群１２１に含まれる複数の点それぞれを、点群３２２に含まれるいずれかの点の近傍に移動させる、変換行列３２３を求めることができる。
【００２２】
次に、距離判定部１１４は、距離画像３２１の点群に含まれる各点から、位置合わせ後のモデル点群３２４に含まれる最接近点までの距離を求め、距離が閾値よりも小さな２点の組を求める。そして、距離判定部１１４は、求めた組に属する距離画像３２１の点を正対応（Inlier）の点群３２５として、記憶部１１１に格納する。
【００２３】
抽出部１１２、位置合わせ部１１３、及び距離判定部１１４は、距離画像３２１に含まれる点群から点群３２２を抽出して位置合わせを行い、変換行列３２３、モデル点群３２４、及び点群３２５を生成する処理を、複数回繰り返す。
【００２４】
次に、決定部１１５は、複数回の処理で生成された点群３２５のうち、点の個数が最も多い点群３２５と、その点群３２５とともに生成された変換行列３２３とを特定する。そして、決定部１１５は、特定した変換行列３２３を用いてモデル点群１２１の初期位置を変換することで、モデル点群３２６を生成して、記憶部１１１に格納する。
【００２５】
次に、決定部１１５は、位置合わせ部１１３と同様にして、モデル点群３２６と特定した点群３２５との間の位置合わせを行って、位置合わせ結果３２７を生成し、記憶部１１１に格納する。位置合わせ結果３２７には、位置合わせ後のモデル点群３２６の位置が含まれる。
【００２６】
物体検出部３１２は、位置合わせ結果３２７に基づいて、モデル点群１２１が表すモデルに対応する物体を検出し、検出結果を出力する。この検出結果を利用することで、工場での部品検査、ロボットによる部品のピッキング、店舗において顧客が手に取った商品の分析等が可能になる。
【００２７】
図４は、モデル点群１２１と距離画像３２１の点群の例を示している。モデル点群４０１は、モデル点群１２１に対応し、点群４０２は、距離画像３２１の点群に対応する。点群４０２は、検出対象の物体の点群４１１と、遮蔽物の点群４１２とを含む。
【００２８】
モデル点群４０１と点群４０２との間の位置合わせによって、位置合わせ結果４０３が生成された場合、モデル点群４０１と検出対象の物体の点群４１１とが一致しているため、その物体が正しく検出される。
【００２９】
一方、モデル点群４０１と点群４０２との間の位置合わせによって、位置合わせ結果４０４が生成された場合、位置合わせ結果４０４が遮蔽物の点群４１２に引きずられて、モデル点群４０１と検出対象の物体の点群４１１とがずれてしまう。このため、誤判定が発生して、物体が正しく検出されないことがある。
【００３０】
この場合、物体の点群４１１に含まれる点の個数を、遮蔽物の点群４１２に含まれる点の個数よりも多くすることで、遮蔽物の影響が軽減されることが期待できる。例えば、距離画像３２１の点群４０２から一部の点群をランダムに抽出することで、遮蔽物の点に対する物体の点の比率が増加する可能性がある。
【００３１】
図５は、距離画像３２１の点群４０２からランダムに抽出された点群の例を示している。抽出部１１２は、点群４０２から一部の点群５０１をランダムに抽出する。点群５０１は、検出対象の物体の点群５１１と、遮蔽物の点５１２とを含む。
【００３２】
位置合わせ部１１３は、モデル点群４０１と点群５０１との間の位置合わせを行って、位置合わせ結果５０２を生成し、得られた変換行列を用いて、モデル点群４０１と点群４０２との位置合わせ結果５０３を生成する。
【００３３】
距離判定部１１４は、位置合わせ結果５０３において、点群４０２に含まれる各点からモデル点群４０１に含まれる最接近点までの距離を求め、距離が閾値よりも小さな２点の組を求める。そして、距離判定部１１４は、点群４０２に含まれる点のうち、求めた組に属する点のみを正対応の点群として、記憶部１１１に格納する。
【００３４】
決定部１１５は、複数回の処理で生成された正対応の点群のうち、点の個数が最も多い点群を特定し、モデル点群４０１と特定した点群との位置合わせを行うことで、正しい位置合わせ結果５０４を生成する。
【００３５】
このように、距離画像３２１の点群４０２からランダムに点群を抽出した結果、遮蔽物の点の比率が小さくなる場合は、位置合わせの精度が向上する。正しい位置合わせが行われた場合、一方の点群の各点から他方の点群の最接近点までの距離は、いずれも非常に小さくなる。一方、誤った位置合わせが行われた場合、距離の平均値は小さくても、かなり大きな距離を有する２点の組も生成される。そこで、位置合わせ結果に含まれる２点の組のうち、距離が閾値よりも小さい組の個数を指標として用いて、位置合わせ結果の正しさを評価することが有効である。
【００３６】
図６は、図３の画像処理装置１０１が行う画像処理の第１の具体例を示すフローチャートである。まず、距離センサ３０１は、距離データを取得し、距離検出部３１１は、距離データから距離画像３２１を生成し（ステップ６０１）、距離判定部１１４は、点の個数の最大値を表す変数Ｎｍａｘに０を設定する（ステップ６０２）。
【００３７】
次に、抽出部１１２は、距離画像３２１に含まれる点群から、位置合わせに用いる点群３２２をランダムに抽出する（ステップ６０３）。そして、位置合わせ部１１３は、モデル点群１２１と点群３２２との間の位置合わせを行って、変換行列３２３及び位置合わせ後のモデル点群３２４を求める（ステップ６０４）。
【００３８】
次に、距離判定部１１４は、距離画像３２１の点群に含まれる各点から、位置合わせ後のモデル点群３２４に含まれる最接近点までの距離を求め、距離が閾値よりも小さな２点の組を求める（ステップ６０５）。そして、距離判定部１１４は、求めた組に属する距離画像３２１の点から、正対応の点群３２５を生成する。
【００３９】
次に、距離判定部１１４は、生成した点群３２５に含まれる点の個数ＮをＮｍａｘと比較する（ステップ６０６）。ＮがＮｍａｘよりも大きい場合（ステップ６０６，ＹＥＳ）、距離判定部１１４は、生成した点群３２５と、位置合わせ部１１３が求めた変換行列３２３とを記憶部１１１に格納することで、点群３２５及び変換行列３２３を更新する（ステップ６０７）。そして、距離判定部１１４は、ＮｍａｘにＮを設定する（ステップ６０８）。
【００４０】
一方、ＮがＮｍａｘ以下である場合（ステップ６０６，ＮＯ）、距離判定部１１４は、点群３２５、変換行列３２３、及びＮｍａｘを更新しない。抽出部１１２、位置合わせ部１１３、及び距離判定部１１４は、ステップ６０３〜ステップ６０８の処理を所定回数繰り返すことで、Ｎの最大値に対応する点群３２５及び変換行列３２３を求める。このとき、ステップ６０３において抽出される点の組み合わせは、ランダムに変化する。
【００４１】
所定回数の処理が終了すると、決定部１１５は、Ｎｍａｘに対応する変換行列３２３を用いてモデル点群１２１の初期位置を変換することで、モデル点群３２６を生成する（ステップ６０９）。
【００４２】
次に、決定部１１５は、モデル点群３２６とＮｍａｘに対応する点群３２５との間の位置合わせを行って、位置合わせ結果３２７を生成する（ステップ６１０）。そして、物体検出部３１２は、位置合わせ結果３２７に基づいて物体を検出し、検出結果を出力する。
【００４３】
Ｎｍａｘが表わすＮの最大値に対応する点群３２５のみを用いて再度位置合わせを行うことで、より高精度な位置合わせ結果３２７を得ることができ、物体の検出精度が向上する。
【００４４】
図７は、正しい位置合わせ結果の例を示している。図７の領域７０１は、距離画像３２１における検出対象の物体を表し、領域７０２は、遮蔽物を表す。距離画像３２１に含まれる点群からランダムに点群３２２を抽出した結果、領域７０１内の点のみが抽出された場合、物体に対応するモデル７０３のモデル点群１２１と点群３２２との間で正しいマッチングが行われる。この場合、位置合わせ結果において、物体の領域７０４では、点同士の距離が小さく、遮蔽物の領域７０５では、点同士の距離が大きくなる。
【００４５】
図８は、誤った位置合わせ結果の例を示している。距離画像３２１に含まれる点群からランダムに点群３２２を抽出した結果、領域７０２内の点が抽出された場合、モデル点群１２１と点群３２２との間で正しいマッチングが行われない。この場合、領域８０１に示されるように、遮蔽物上の点がモデル７０３上の点と誤って対応付けられている。
【００４６】
図９は、位置合わせのシミュレーションに用いた検出対象の物体、遮蔽物、及びモデルの例を示している。図７と同様に、領域７０１は、検出対象の物体を表し、領域７０２は、遮蔽物を表し、円柱形状のモデル７０３は、検出対象の物体に対応するモデルを表す。
【００４７】
図１０は、従来のＩＣＰと図６の画像処理によるシミュレーション結果の例を示している。領域１００１に示されるように、従来のＩＣＰによる位置合わせ結果では、遮蔽物の影響を受けており、検出対象の物体に対してモデル７０３が傾いている。
【００４８】
一方、領域１００２に示されるように、図６の画像処理による位置合わせ結果では、遮蔽物の影響を受けておらず、検出対象の物体に対してモデル７０３がよく一致している。この例では、ステップ６０３において、距離画像３２１に含まれる点群からランダムに１０個の点が抽出され、ステップ６０３〜ステップ６０８の処理は１００回繰り返されている。
【００４９】
このように、距離画像３２１に含まれる物体の点の方が遮蔽物の点よりも多い場合、点群の抽出を複数回繰り返すことで、物体の点のみが抽出される確率が上昇する。したがって、検出対象以外の物体が存在する場合であっても、正しい位置合わせが可能になり、エンターテイメント施設、店舗等のように多数の物体が存在する環境において、検出対象の物体を精度良く検出することができる。
【００５０】
図１１は、図３の画像処理装置１０１が行う画像処理の第２の具体例を示すフローチャートである。この画像処理では、抽出部１１２は、距離画像３２１に含まれる点群から点群３２２をランダムに抽出する代わりに、距離画像３２１から３次元特徴点を抽出し、３次元特徴点の中から点群３２２をランダムに抽出する。
【００５１】
３次元特徴点は、物体の角等のように、周囲の所定範囲に存在する他の点の法線と大きく異なる法線を有する点である。例えば、３次元空間内において、点Ａを中心とする所定範囲内の複数の点を近似する平面を求め、その平面の法線を点Ａの法線として用いることができる。
【００５２】
点群から３次元特徴点を抽出する際、例えば、非特許文献２に記載されたSignature of Histograms of OrienTations（ＳＨＯＴ）、Point Feature Histograms（ＰＦＨ）、Point Pair Feature（ＰＰＦ）等の３次元特徴量を利用することができる。この場合、点Ａの３次元特徴量と、点Ａに隣接する複数の隣接点の３次元特徴量とを比較し、点Ａの３次元特徴量と隣接点の３次元特徴量との差分が所定値よりも大きい場合に、点Ａを３次元特徴点として抽出してもよい。
【００５３】
図１１のステップ１１０１、ステップ１１０４、及びステップ１１０７〜ステップ１１１２の処理は、図６のステップ６０１、ステップ６０２、及びステップ６０５〜ステップ６１０の処理と同様である。
【００５４】
距離検出部３１１が距離画像３２１を生成した後、抽出部１１２は、距離画像３２１に含まれる点群から３次元特徴点の特徴点群を抽出し（ステップ１１０２）、モデル点群１２１から３次元特徴点の特徴点群を抽出する（ステップ１１０３）。
【００５５】
そして、抽出部１１２は、ステップ１１０２において距離画像３２１から抽出した特徴点群から、位置合わせに用いる点群３２２をランダムに抽出する（ステップ１１０５）。位置合わせ部１１３は、ステップ１１０３においてモデル点群１２１から抽出された特徴点群と、点群３２２との間の位置合わせを行って、変換行列３２３及び位置合わせ後のモデル点群３２４を求める（ステップ１１０６）。
【００５６】
図１２は、３次元特徴点以外の点群を用いた位置合わせの例を示している。検出対象の物体の点群から抽出された点が、平坦な領域内の互いに類似する法線を有する点のみである場合、対応付けられるモデル７０３上の点が円柱の主軸方向１２０１にずれることがある。
【００５７】
一方、図１３は、３次元特徴点の点群を用いた位置合わせの例を示している。検出対象の物体の点群から抽出された点が、互いに異なる法線を有する点である場合、対応付けられるモデル７０３上の点がずれることはない。
【００５８】
図１１の画像処理によれば、３次元特徴点の特徴点群を利用することで、３次元特徴量が類似している点同士のマッチングを行うことができる。したがって、正しい位置合わせが行われる確率が上昇し、より少ない繰り返し回数で正しい位置合わせ結果を得ることが可能になるため、処理速度が向上する。
【００５９】
図１４は、図３の画像処理装置１０１が行う画像処理の第３の具体例を示すフローチャートである。この画像処理では、距離画像３２１の点とモデル点群１２１の点との距離に加えて、それらの点の法線の類似度も利用することで、正対応の点群３２５を生成する。２つの法線の類似度としては、例えば、それらの法線を表わす２つの法線ベクトルの内積を用いることができる。
【００６０】
図１４のステップ１４０１、ステップ１４０４〜ステップ１４０６、及びステップ１４０８〜ステップ１４１２の処理は、図６のステップ６０１、ステップ６０２〜ステップ６０４、及びステップ６０６〜ステップ６１０の処理と同様である。
【００６１】
距離検出部３１１が距離画像３２１を生成した後、距離判定部１１４は、距離画像３２１に含まれる点群の各点について、正規化された法線ベクトルを求める（ステップ１４０２）。次に、距離判定部１１４は、モデル点群１２１の各点について、正規化された法線ベクトルを求める（ステップ１４０３）。各法線ベクトルを正規化して長さを揃えることで、２つの法線ベクトルの内積を類似度として用いることが可能になる。
【００６２】
位置合わせ部１１３がモデル点群１２１と点群３２２との間の位置合わせを行った後、距離判定部１１４は、距離画像３２１の点群に含まれる各点から、位置合わせ後のモデル点群３２４に含まれる最接近点までの距離を求める（ステップ１４０７）。そして、距離判定部１１４は、距離が閾値よりも小さな２点の法線ベクトルの内積を計算し、内積が所定値よりも大きな２点の組を選択し、選択した組に属する距離画像３２１の点から、正対応の点群３２５を生成する。
【００６３】
点同士の距離に加えて法線の類似度も利用することで、法線が類似している点同士のマッチングを行うことができるため、距離画像３２１に含まれる遮蔽物の点の方が物体の点よりも多い場合であっても、正しい位置合わせ結果を得ることが可能になる。
【００６４】
なお、図１４の画像処理において、図１１の画像処理と同様に、抽出部１１２は、距離画像３２１に含まれる点群から３次元特徴点の特徴点群を抽出し、モデル点群１２１から３次元特徴点の特徴点群を抽出してもよい。この場合、画像処理装置１０１は、それらの特徴点群を対象として、ステップ１４０５及びステップ１４０６の処理を行う。
【００６５】
図１５は、図３の画像処理装置１０１が行う画像処理の第４の具体例を示すフローチャートである。この画像処理では、距離画像３２１の点とモデル点群１２１の点との距離に加えて、それらの点の色情報の差分も利用することで、正対応の点群３２５を生成する。この場合、モデル点群１２１の各点は、モデルの色情報を含む。
【００６６】
図１５のステップ１５０２〜ステップ１５０４及びステップ１５０６〜ステップ１５１０の処理は、図６のステップ６０２〜ステップ６０４及びステップ６０６〜ステップ６１０の処理と同様である。
【００６７】
まず、距離センサ３０１は、距離データ及び色情報を取得し、距離検出部３１１は、距離データ及び色情報から、色情報を含む距離画像３２１を生成する（ステップ１５０１）。この場合、距離画像３２１に含まれる各画素の画素値は、距離センサ３０１から物体表面までの距離と、その物体の色情報とを含む。
【００６８】
位置合わせ部１１３がモデル点群１２１と点群３２２との間の位置合わせを行った後、距離判定部１１４は、距離画像３２１の点群に含まれる各点から、位置合わせ後のモデル点群３２４に含まれる最接近点までの距離を求める（ステップ１５０５）。そして、距離判定部１１４は、距離が閾値よりも小さな２点の色情報の差分絶対値を計算し、差分絶対値が所定値よりも小さな２点の組を選択し、選択した組に属する距離画像３２１の点から、正対応の点群３２５を生成する。
【００６９】
点同士の距離に加えて色情報の差分も利用することで、色情報が類似している点同士のマッチングを行うことができるため、距離画像３２１に含まれる遮蔽物の点の方が物体の点よりも多い場合であっても、正しい位置合わせ結果を得ることが可能になる。
【００７０】
なお、図１５の画像処理において、図１１の画像処理と同様に、抽出部１１２は、距離画像３２１に含まれる点群から３次元特徴点の特徴点群を抽出し、モデル点群１２１から３次元特徴点の特徴点群を抽出してもよい。この場合、画像処理装置１０１は、それらの特徴点群を対象として、ステップ１５０３及びステップ１５０４の処理を行う。
【００７１】
図１６は、図１の画像処理装置１０１の第２の具体例を示している。図１６の画像処理装置１０１は、図３の画像処理装置１０１に特徴量計算部１６０１を追加した構成を有する。特徴量計算部１６０１は、距離画像３２１に含まれる点群及びモデル点群１２１の各点について、ＳＨＯＴ、ＰＦＨ、ＰＰＦ等の３次元特徴量を計算する。３次元特徴量は、例えば、多次元ベクトルによって表わすことができる。
【００７２】
図１７は、図１６の画像処理装置１０１が行う画像処理の第５の具体例を示すフローチャートである。この画像処理では、距離画像３２１の点とモデル点群１２１の点との距離に加えて、それらの点の３次元特徴量の差分も利用することで、正対応の点群３２５を生成する。
【００７３】
図１７のステップ１７０１、ステップ１７０３〜ステップ１７０５、及びステップ１７０７〜ステップ１７１１の処理は、図６のステップ６０１、ステップ６０２〜ステップ６０４、及びステップ６０６〜ステップ６１０の処理と同様である。
【００７４】
距離検出部３１１が距離画像３２１を生成した後、特徴量計算部１６０１は、距離画像３２１に含まれる点群の各点について、３次元特徴量を計算する（ステップ１７０２）。
【００７５】
位置合わせ部１１３がモデル点群１２１と点群３２２との間の位置合わせを行った後、距離判定部１１４は、距離画像３２１の点群に含まれる各点から、位置合わせ後のモデル点群３２４に含まれる最接近点までの距離を求める（ステップ１７０６）。
【００７６】
さらに、ステップ１７０６において、特徴量計算部１６０１は、モデル点群３２４に含まれる最接近点の３次元特徴量を計算する。そして、距離判定部１１４は、距離が閾値よりも小さな２点の３次元特徴量の差分のノルムを計算し、差分のノルムが所定値よりも小さな２点の組を選択し、選択した組に属する距離画像３２１の点から、正対応の点群３２５を生成する。
【００７７】
点同士の距離に加えて３次元特徴量の差分も利用することで、３次元特徴量が類似している点同士のマッチングを行うことができるため、距離画像３２１に含まれる遮蔽物の点の方が物体の点よりも多い場合であっても、正しい位置合わせ結果を得ることが可能になる。
【００７８】
なお、図１７の画像処理において、図１１の画像処理と同様に、抽出部１１２は、距離画像３２１に含まれる点群から３次元特徴点の特徴点群を抽出し、モデル点群１２１から３次元特徴点の特徴点群を抽出してもよい。この場合、画像処理装置１０１は、それらの特徴点群を対象として、ステップ１７０４及びステップ１７０５の処理を行う。
【００７９】
図１、図３、及び図１６の画像処理装置１０１の構成は一例に過ぎず、画像処理装置１０１の用途又は条件に応じて一部の構成要素を省略又は変更してもよい。例えば、距離画像３２１が事前に記憶部１１１に格納されている場合は、図３及び図１６の距離検出部３１１を省略することができる。画像処理装置１０１が物体検出を行わない場合は、図３及び図１６の物体検出部３１２を省略することができる。
【００８０】
図２、図６、図１１、図１４、図１５、及び図１７のフローチャートは一例に過ぎず、画像処理装置１０１の構成又は条件に応じて一部の処理を省略又は変更してもよい。例えば、距離画像３２１が事前に記憶部１１１に格納されている場合は、図６のステップ６０１、図１１のステップ１１０１、図１４のステップ１４０１、図１５のステップ１５０１、及び図１７のステップ１７０１の処理を省略することができる。
【００８１】
図２、図６、図１１、図１４、図１５、及び図１７の画像処理において、位置合わせ部１１３は、ＩＣＰ以外の位置合わせ方法を用いて、モデル点群１２１と点群３２２との間の位置合わせを行ってもよい。
【００８２】
図１４の画像処理において、距離判定部１１４は、２点の法線ベクトルの内積の代わりに、２点の法線ベクトルが成す角度に基づく別の類似度を計算してもよい。図１７の画像処理において、特徴量計算部１６０１は、ＳＨＯＴ、ＰＦＨ、及びＰＰＦ以外の３次元特徴量を計算してもよい。
【００８３】
図４及び図５のモデル点群と距離画像の点群は一例に過ぎず、モデル点群は、検出対象の物体に応じて変化し、距離画像の点群は、距離センサの検出範囲に存在する物体に応じて変化する。図７〜図１０、図１２、及び図１３の検出対象の物体、遮蔽物、及びモデルは一例に過ぎず、距離画像に含まれる物体及び遮蔽物は、距離センサの検出範囲に存在する物体に応じて変化し、モデルは、検出対象の物体に応じて変化する。
【００８４】
図１８は、図１、図３、及び図１６の画像処理装置１０１として用いられる情報処理装置（コンピュータ）の構成例を示している。図１８の情報処理装置は、Central Processing Unit（ＣＰＵ）１８０１、メモリ１８０２、入力装置１８０３、出力装置１８０４、補助記憶装置１８０５、媒体駆動装置１８０６、及びネットワーク接続装置１８０７を含む。これらの構成要素はバス１８０８により互いに接続されている。図３及び図１６の距離センサ３０１は、バス１８０８に接続されていてもよい。
【００８５】
メモリ１８０２は、例えば、Read Only Memory（ＲＯＭ）、Random Access Memory（ＲＡＭ）、フラッシュメモリ等の半導体メモリであり、画像処理に用いられるプログラム及びデータを格納する。メモリ１８０２は、図１、図３、及び図１６の記憶部１１１として用いることができる。
【００８６】
ＣＰＵ１８０１（プロセッサ）は、例えば、メモリ１８０２を利用してプログラムを実行することにより、図１、図３、及び図１６の抽出部１１２、位置合わせ部１１３、距離判定部１１４、及び決定部１１５として動作する。ＣＰＵ１８０１は、プログラムを実行することにより、図３及び図１６の距離検出部３１１及び物体検出部３１２、図１６の特徴量計算部１６０１としても動作する。
【００８７】
入力装置１８０３は、例えば、キーボード、ポインティングデバイス等であり、オペレータ又はユーザからの指示又は情報の入力に用いられる。出力装置１８０４は、例えば、表示装置、プリンタ、スピーカ等であり、オペレータ又はユーザへの問い合わせ又は指示、及び処理結果の出力に用いられる。処理結果は、位置合わせ結果３２７又は物体の検出結果であってもよい。
【００８８】
補助記憶装置１８０５は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。補助記憶装置１８０５は、ハードディスクドライブであってもよい。情報処理装置は、補助記憶装置１８０５にプログラム及びデータを格納しておき、それらをメモリ１８０２にロードして使用することができる。補助記憶装置１８０５は、図１、図３、及び図１６の記憶部１１１として用いることができる。
【００８９】
媒体駆動装置１８０６は、可搬型記録媒体１８０９を駆動し、その記録内容にアクセスする。可搬型記録媒体１８０９は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。可搬型記録媒体１８０９は、Compact Disk Read Only Memory（ＣＤ−ＲＯＭ）、Digital Versatile Disk（ＤＶＤ）、Universal Serial Bus（ＵＳＢ）メモリ等であってもよい。オペレータ又はユーザは、この可搬型記録媒体１８０９にプログラム及びデータを格納しておき、それらをメモリ１８０２にロードして使用することができる。
【００９０】
このように、画像処理に用いられるプログラム及びデータを格納するコンピュータ読み取り可能な記録媒体は、メモリ１８０２、補助記憶装置１８０５、又は可搬型記録媒体１８０９のような、物理的な（非一時的な）記録媒体である。
【００９１】
ネットワーク接続装置１８０７は、Local Area Network、Wide Area Network等の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェースである。情報処理装置は、プログラム及びデータを外部の装置からネットワーク接続装置１８０７を介して受信し、それらをメモリ１８０２にロードして使用することができる。
【００９２】
なお、情報処理装置が図１８のすべての構成要素を含む必要はなく、用途又は条件に応じて一部の構成要素を省略することも可能である。例えば、可搬型記録媒体１８０９又は通信ネットワークを使用しない場合は、媒体駆動装置１８０６又はネットワーク接続装置１８０７を省略してもよい。
【００９３】
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
【００９４】
図１乃至図１８を参照しながら説明した実施形態に関し、さらに以下の付記を開示する。
（付記１）
物体のモデルを表わすモデル点群を記憶する記憶部と、
距離画像に含まれる第１点群から、位置合わせに用いる第２点群を抽出する抽出部と、
前記モデル点群と前記第２点群との間の位置合わせを行う位置合わせ部と、
前記位置合わせの後に、前記モデル点群に含まれる点と前記第１点群に含まれる点との距離を求め、前記距離が閾値よりも小さな２点の組を求める距離判定部と、
前記抽出部が前記第２点群を抽出し、前記位置合わせ部が前記位置合わせを行い、前記距離判定部が前記２点の組を求める、一連の処理が複数回繰り返された後に、前記複数回の処理の結果に基づいて、前記第１点群に対する前記モデル点群の位置を決定する決定部と、
を備えることを特徴とする画像処理装置。
（付記２）
前記抽出部は、前記複数回の処理それぞれにおいて、前記第１点群からランダムに前記第２点群を抽出することを特徴とする付記１記載の画像処理装置。
（付記３）
前記抽出部は、前記第１点群から３次元特徴点を表す第１特徴点群を抽出し、前記モデル点群から３次元特徴点を表す第２特徴点群を抽出し、前記複数回の処理それぞれにおいて、前記第１特徴点群から前記第２点群を抽出し、前記位置合わせ部は、前記複数回の処理それぞれにおいて、前記第２特徴点群と前記第２点群との間の位置合わせを行うことを特徴とする付記１記載の画像処理装置。
（付記４）
前記決定部は、前記複数回の処理のうち、前記距離が前記閾値よりも小さな２点の組の個数が最大となる処理における前記位置合わせの結果に基づいて、前記第１点群に対する前記モデル点群の位置を決定することを特徴とする付記１乃至３のいずれか１項に記載の画像処理装置。
（付記５）
前記距離判定部は、前記モデル点群に含まれる点の法線と前記第１点群に含まれる点の法線との類似度を求め、前記距離が閾値よりも小さく、かつ、前記類似度が所定値よりも大きな２点の組を求めることを特徴とする付記１乃至４のいずれか１項に記載の画像処理装置。
（付記６）
前記距離判定部は、前記モデル点群に含まれる点の色情報と前記第１点群に含まれる点の色情報との差分を求め、前記距離が閾値よりも小さく、かつ、前記差分が所定値よりも小さな２点の組を求めることを特徴とする付記１乃至４のいずれか１項に記載の画像処理装置。
（付記７）
前記距離判定部は、前記モデル点群に含まれる点の３次元特徴量と前記第１点群に含まれる点の３次元特徴量との差分を求め、前記距離が閾値よりも小さく、かつ、前記差分が所定値よりも小さな２点の組を求めることを特徴とする付記１乃至４のいずれか１項に記載の画像処理装置。
（付記８）
距離画像に含まれる第１点群から、位置合わせに用いる第２点群を抽出し、
物体のモデルを表わすモデル点群と前記第２点群との間の位置合わせを行い、
前記位置合わせの後に、前記モデル点群に含まれる点と前記第１点群に含まれる点との距離を求め、
前記距離が閾値よりも小さな２点の組を求め、
前記第２点群を抽出し、前記位置合わせを行い、前記２点の組を求める、一連の処理を複数回繰り返した後に、前記複数回の処理の結果に基づいて、前記第１点群に対する前記モデル点群の位置を決定する、
処理をコンピュータに実行させる画像処理プログラム。
（付記９）
前記コンピュータは、前記複数回の処理それぞれにおいて、前記第１点群からランダムに前記第２点群を抽出することを特徴とする付記８記載の画像処理プログラム。
（付記１０）
前記コンピュータは、前記第１点群から３次元特徴点を表す第１特徴点群を抽出し、前記モデル点群から３次元特徴点を表す第２特徴点群を抽出し、前記複数回の処理それぞれにおいて、前記第１特徴点群から前記第２点群を抽出し、前記第２特徴点群と前記第２点群との間の位置合わせを行うことを特徴とする付記８記載の画像処理プログラム。
（付記１１）
前記コンピュータは、前記複数回の処理のうち、前記距離が前記閾値よりも小さな２点の組の個数が最大となる処理における前記位置合わせの結果に基づいて、前記第１点群に対する前記モデル点群の位置を決定することを特徴とする付記８乃至１０のいずれか１項に記載の画像処理プログラム。
（付記１２）
コンピュータが、
距離画像に含まれる第１点群から、位置合わせに用いる第２点群を抽出し、
物体のモデルを表わすモデル点群と前記第２点群との間の位置合わせを行い、
前記位置合わせの後に、前記モデル点群に含まれる点と前記第１点群に含まれる点との距離を求め、
前記距離が閾値よりも小さな２点の組を求め、
前記第２点群を抽出し、前記位置合わせを行い、前記２点の組を求める、一連の処理を複数回繰り返した後に、前記複数回の処理の結果に基づいて、前記第１点群に対する前記モデル点群の位置を決定する、
ことを特徴とする画像処理方法。
（付記１３）
前記コンピュータは、前記複数回の処理それぞれにおいて、前記第１点群からランダムに前記第２点群を抽出することを特徴とする付記１２記載の画像処理方法。
（付記１４）
前記コンピュータは、前記第１点群から３次元特徴点を表す第１特徴点群を抽出し、前記モデル点群から３次元特徴点を表す第２特徴点群を抽出し、前記複数回の処理それぞれにおいて、前記第１特徴点群から前記第２点群を抽出し、前記第２特徴点群と前記第２点群との間の位置合わせを行うことを特徴とする付記１２記載の画像処理方法。
（付記１５）
前記コンピュータは、前記複数回の処理のうち、前記距離が前記閾値よりも小さな２点の組の個数が最大となる処理における前記位置合わせの結果に基づいて、前記第１点群に対する前記モデル点群の位置を決定することを特徴とする付記１２乃至１４のいずれか１項に記載の画像処理方法。
【符号の説明】
【００９５】
１０１  画像処理装置
１１１  記憶部
１１２  抽出部
１１３  位置合わせ部
１１４  距離判定部
１１５  決定部
１２１、３２４、３２６、４０１  モデル点群
３０１  距離センサ
３１１  距離検出部
３１２  物体検出部
３２１  距離画像
３２２、３２５、４０２、４１１、４１２、５０１、５１１  点群
３２３  変換行列
３２４  モデル点群
３２７、４０３、４０４、５０２〜５０４  位置合わせ結果
５１２  点
７０１、７０２、７０４、７０５、８０１、１００１、１００２  領域
７０３  モデル
１２０１  主軸方向
１６０１  特徴量計算部
１８０１  ＣＰＵ
１８０２  メモリ
１８０３  入力装置
１８０４  出力装置
１８０５  補助記憶装置
１８０６  媒体駆動装置
１８０７  ネットワーク接続装置
１８０８  バス
１８０９  可搬型記録媒体
【図１】
2018088209.tif 000003
【図２】
2018088209.tif 000004
【図３】
2018088209.tif 000005
【図４】
2018088209.tif 000006
【図５】
2018088209.tif 000007
【図６】
2018088209.tif 000008
【図７】
2018088209.tif 000009
【図８】
2018088209.tif 000010
【図９】
2018088209.tif 000011
【図１０】
2018088209.tif 000012
【図１１】
2018088209.tif 000013
【図１２】
2018088209.tif 000014
【図１３】
2018088209.tif 000015
【図１４】
2018088209.tif 000016
【図１５】
2018088209.tif 000017
【図１６】
2018088209.tif 000018
【図１７】
2018088209.tif 000019
【図１８】
2018088209.tif 000020