(57)【要約】      （修正有）【課題】簡易な手法で、かつ、十分な精度で対象面の３次元位置および姿勢を認識することができる３次元対象面認識装置および方法、ならびにプログラムを提供する。【解決手段】輪郭点群の各点を、対象面に沿う複数の軸上に射影することで、当該各軸を階級軸とする複数のヒストグラムを生成するヒストグラム生成部と、生成した各ヒストグラムの階級集中度を比較し、階級集中度が最大となるヒストグラムに基づいて、対象面の基準軸を設定する基準軸設定部と、各点の３次元位置情報および基準軸に基づいて、対象面の３次元位置および姿勢を認識する認識部とを備える。【選択図】図８
2013205175.tif 000002
【特許請求の範囲】
【請求項１】
対象面の輪郭が表現された３次元点群の、各点の３次元位置情報を取得する点群取得部と、
前記対象面に沿う複数の軸上に前記３次元点群の各点を射影することで、当該各軸を階級軸とする複数のヒストグラムを生成するヒストグラム生成部と、
生成した各前記ヒストグラムの階級集中度を比較し、前記階級集中度が最大となる前記ヒストグラムに基づいて、前記対象面の基準軸を設定する基準軸設定部と、
前記各点の３次元位置情報および前記基準軸に基づいて、前記対象面の３次元位置および姿勢を認識する認識部とを備えることを特徴とする、
３次元対象面認識装置。
【請求項２】
前記基準軸設定部が、複数の前記ヒストグラムのうち前記階級集中度が最も高いヒストグラムの階級軸を、前記対象面の前記基準軸に設定することを特徴とする、
請求項１に記載の３次元対象面認識装置。
【請求項３】
前記階級集中度が、前記ヒストグラムの各階級における度数の累乗和に基づいて決定されることを特徴とする、
請求項１または２に記載の３次元対象面認識装置。
【請求項４】
前記認識部が、前記基準軸に基づいて前記対象面の周方向の回転角度を認識することを特徴とする、
請求項１〜３のいずれかに記載の３次元対象面認識装置。
【請求項５】
前記階級集中度が最も高い前記ヒストグラムの、各階級における度数の分布に基づいて、前記対象面において対向する辺の間の長さを取得する長さ取得部をさらに備えることを特徴とする、
請求項１〜４のいずれかに記載の３次元対象面認識装置。
【請求項６】
（ａ）対象面の輪郭が表現された３次元点群の、各点の３次元位置情報を取得する工程と、
（ｂ）前記対象面に沿う複数の軸上に前記３次元点群の各点を射影することで、当該各軸を階級軸とする複数のヒストグラムを生成する工程と、
（ｃ）生成した各前記ヒストグラムの階級集中度を比較し、前記階級集中度が最大となる前記ヒストグラムに基づいて、前記対象面の基準軸を設定する工程と、
（ｄ）前記各点の３次元位置情報および前記基準軸に基づいて、前記対象面の３次元位置および姿勢を認識する工程とを備えることを特徴とする、
３次元対象面認識方法。
【請求項７】
前記工程（ｃ）が、複数の前記ヒストグラムのうち前記階級集中度が最も高いヒストグラムの階級軸を、前記対象面の前記基準軸に設定する工程であることを特徴とする、
請求項６に記載の３次元対象面認識方法。
【請求項８】
前記階級集中度が、前記ヒストグラムの各階級における度数の累乗和に基づいて決定されることを特徴とする、
請求項６または７に記載の３次元対象面認識方法。
【請求項９】
前記工程（ｄ）が、前記基準軸に基づいて前記対象面の周方向の回転角度を認識する工程であることを特徴とする、
請求項６〜８のいずれかに記載の３次元対象面認識方法。
【請求項１０】
（ｅ）前記階級集中度が最も高い前記ヒストグラムの、各階級における度数の分布に基づいて、前記対象面において対向する辺の間の長さを取得する工程をさらに備えることを特徴とする、
請求項６〜９のいずれかに記載の３次元対象面認識方法。
【請求項１１】
コンピュータにインストールされて実行されることにより、前記コンピュータを、請求項１〜５のいずれかに記載の３次元対象面認識装置として機能させることを特徴とする、
３次元対象面認識プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対象となる面の３次元位置および姿勢を認識するための３次元対象面認識装置および３次元対象面認識方法、ならびに３次元対象面認識プログラムに関するものである。
【背景技術】
【０００２】
例えばロボットが対象物の表面に対して所定の作業、例えば車両の外装に対しての塗装作業を行う場合、ロボットは、車両の外装を構成するいくつかの表面に沿って塗装を行うために、当該表面の３次元位置および姿勢を認識する必要がある。ここで、ある対象の３次元位置および姿勢は、その対象の空間位置および空間姿勢を含む３次元座標値の組によって定義される。３次元座標値の組とは、具体的には、各点が３次元位置情報を有しその対象の３次元形状を示す点群データから構成される。
【０００３】
従来、対象物の表面の３次元位置および姿勢が認識される場合は、対象物全体の３次元位置および姿勢が認識され、対象物全体とその表面との相対位置関係から、当該表面の３次元位置および姿勢が認識されていた（特許文献１参照）。
【０００４】
また、対象物の表面の３次元位置および姿勢が認識される他の場合としては、対象物を撮像した画像データに対して所定の処理が行われ、処理された当該画像データから対象物における表面が抽出されることで、当該表面の３次元位置および姿勢が認識されていた。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３９５０３７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、対象物全体とその表面との相対位置関係から、対象となる面の３次元位置および姿勢が認識される場合には、前提として対象物全体の３次元位置および姿勢の認識が必要となり、対象となる面の３次元位置および姿勢を認識するために必要となる演算処理時間が長くなってしまうという問題があった。
【０００７】
また、対象物の画像データが処理されることによって、対象となる面の３次元位置および姿勢が認識される場合には、画像データの解像度等によって、画像データから対象物の表面を抽出することが困難である場合、および、表面が抽出できても表面の３次元認識精度が不十分である場合があった。
【０００８】
本発明は、上記のような問題を解決するためになされたものであり、簡易な手法で、かつ、十分な精度で対象面の３次元位置および姿勢を認識することができる３次元対象面認識装置および方法、ならびにプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の第１態様に関する３次元対象面認識装置は、対象面の輪郭が表現された３次元点群の、各点の３次元位置情報を取得する点群取得部と、前記対象面に沿う複数の軸上に前記３次元点群の各点を射影することで、当該各軸を階級軸とする複数のヒストグラムを生成するヒストグラム生成部と、生成した各前記ヒストグラムの階級集中度を比較し、前記階級集中度が最大となる前記ヒストグラムに基づいて、前記対象面の基準軸を設定する基準軸設定部と、前記各点の３次元位置情報および前記基準軸に基づいて、前記対象面の３次元位置および姿勢を認識する認識部とを備えることを特徴とする。
【００１０】
本発明の第２態様に関する３次元対象面認識装置は、第１態様に関する３次元対象面認識装置の一態様である。本発明の第２態様に関する３次元対象面認識装置は、前記基準軸設定部が、複数の前記ヒストグラムのうち前記階級集中度が最も高いヒストグラムの階級軸を、前記対象面の前記基準軸に設定することを特徴とする。
【００１１】
本発明の第３態様に関する３次元対象面認識装置は、第１態様に関する３次元対象面認識装置の一態様である。本発明の第３態様に関する３次元対象面認識装置は、前記階級集中度が、前記ヒストグラムの各階級における度数の累乗和に基づいて決定されることを特徴とする。
【００１２】
本発明の第４態様に関する３次元対象面認識装置は、第１態様に関する３次元対象面認識装置の一態様である。本発明の第４態様に関する３次元対象面認識装置は、前記認識部が、前記基準軸に基づいて前記対象面の周方向の回転角度を認識することを特徴とする。
【００１３】
本発明の第５態様に関する３次元対象面認識装置は、第１態様に関する３次元対象面認識装置の一態様である。本発明の第５態様に関する３次元対象面認識装置は、前記階級集中度が最も高い前記ヒストグラムの、各階級における度数の分布に基づいて、前記対象面において対向する辺の間の長さを取得する長さ取得部をさらに備えることを特徴とする。
【００１４】
本発明の第６態様に関する３次元対象面認識方法は、（ａ）対象面の輪郭が表現された３次元点群の、各点の３次元位置情報を取得する工程と、（ｂ）前記対象面に沿う複数の軸上に前記３次元点群の各点を射影することで、当該各軸を階級軸とする複数のヒストグラムを生成する工程と、（ｃ）生成した各前記ヒストグラムの階級集中度を比較し、前記階級集中度が最大となる前記ヒストグラムに基づいて、前記対象面の基準軸を設定する工程と、（ｄ）前記各点の３次元位置情報および前記基準軸に基づいて、前記対象面の３次元位置および姿勢を認識する工程とを備えることを特徴とする。
【００１５】
本発明の第７態様に関する３次元対象面認識方法は、第６態様に関する３次元対象面認識方法の一態様である。本発明の第７態様に関する３次元対象面認識方法は、前記工程（ｃ）が、複数の前記ヒストグラムのうち前記階級集中度が最も高いヒストグラムの階級軸を、前記対象面の前記基準軸に設定する工程であることを特徴とする。
【００１６】
本発明の第８態様に関する３次元対象面認識方法は、第６態様に関する３次元対象面認識方法の一態様である。本発明の第８態様に関する３次元対象面認識方法は、前記階級集中度が、前記ヒストグラムの各階級における度数の累乗和に基づいて決定されることを特徴とする。
【００１７】
本発明の第９態様に関する３次元対象面認識方法は、第６態様に関する３次元対象面認識方法の一態様である。本発明の第９態様に関する３次元対象面認識方法は、前記工程（ｄ）が、前記基準軸に基づいて前記対象面の周方向の回転角度を認識する工程であることを特徴とする。
【００１８】
本発明の第１０態様に関する３次元対象面認識方法は、第６態様に関する３次元対象面認識方法の一態様である。本発明の第１０態様に関する３次元対象面認識方法は、（ｅ）前記階級集中度が最も高い前記ヒストグラムの、各階級における度数の分布に基づいて、前記対象面において対向する辺の間の長さを取得する工程をさらに備えることを特徴とする。
【００１９】
本発明の第１１態様に関する３次元対象面認識プログラムは、コンピュータにインストールされて実行されることにより、前記コンピュータを、上記のいずれかに記載の３次元対象面認識装置として機能させることを特徴とする。
【発明の効果】
【００２０】
本発明の第１〜第１１態様によれば、対象面の輪郭が表現された３次元点群を用いて階級集中度が最大となる階級軸を特定し、それに基づいて対象面の基準軸を設定できるため、実空間における対象面の周方向の回転角度を把握できる。よって、簡易な方法により、対象面の３次元位置および姿勢の認識を精度よく行うことができる。
【００２１】
特に本発明の第３態様に関する３次元対象面認識装置によれば、階級集中度を、ヒストグラムの各階級における度数の累乗和に基づいて得ることによって、各ヒストグラムにおける度数分布の偏りを階級集中度として比較することができ、対象面の基準軸を設定するための階級軸を有するヒストグラムを特定することができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施形態に関する３次元対象面認識装置の構成を概念的に示す図である。
【図２】本発明の実施形態に関する３次元対象面認識装置に備えられる解析部の詳細な構成について概念的に示す図である。
【図３】本発明の実施形態に関する３次元対象面認識装置のハードウェア構成の一例を示す図である。
【図４】本発明の実施形態に関する３次元対象面認識装置の動作手順を示すフローチャートである。
【図５】本発明の実施形態に関する各ドロネー多角形の平面における法線ベクトルを示す図である。
【図６】本発明の実施形態に関する対象面の３次元点群の移動を示す図である。
【図７】本発明の実施形態に関する輪郭点群を示す図である。
【図８】本発明の実施形態に関するヒストグラムの例を示す図である。
【図９】本発明の実施形態に関する各ヒストグラムのヒスト２乗総和を示した図である。
【発明を実施するための形態】
【００２３】
以下、添付の図面を参照しながら、本発明の実施形態について説明する。
【００２４】
＜実施形態＞
＜構成＞
図１は、本発明の本実施形態に関する３次元対象面認識装置１００の構成を概念的に示す図である。この３次元対象面認識装置１００は、後述するコンピュータ７（図３参照）によって機能的に実現される。
【００２５】
図１に示されるように３次元対象面認識装置１００は、対象面１０を撮像する撮像部２と、対象面１０の３次元点群を生成する生成部３と、対象面１０の３次元点群を取得する点群取得部４と、取得した３次元点群を解析する解析部５と、解析部５における解析結果から対象面１０の３次元位置および姿勢を認識する認識部６とを備える。
【００２６】
対象面１０を囲む辺には、直線（より具体的には「線分」）を有する辺が含まれる。ここでいう「直線」は、厳密な意味での直線に限られず、後述する定義に従うものとする。また対象面１０は、後述するロボット１００Ａがハンドリングしようとする対象物（ワーク）の表面のうち撮像部２に面した部分である。例えば、対象物が箱形や平板形であれば、対象面１０は平面であるが、必ずしも対象面１０は平面である必要はなく、曲面であってもよい。
【００２７】
撮像部２は、対象面１０を撮像する機能部である。撮像部２は、例えば対象面１０を撮像して対象面１０の視差画像を取得するステレオカメラによって実現されるが、対象面１０を撮像して対象面１０の３次元位置情報を直接的に取得するＴＯＦ（Ｔｉｍｅ−ｏｆ−Ｆｌｉｇｈｔ）カメラによって実現されてもよい。ここでＴＯＦカメラは、カメラに備えられた光源から出た光が対象物で反射し、カメラに備えられたセンサに届くまでの光の飛行時間（遅れ時間）と、光の速度（３×１０８ｍ／ｓ）とを用いて、対象物（被写体）までの距離を取得することができるカメラである。なお、対象面１０の３次元点群があらかじめ生成されている場合（あらかじめ外部の記憶装置１１に記憶されている等）には、撮像部２は備えられなくてもよい。
【００２８】
生成部３は、例えばステレオカメラによって撮像された対象面１０の視差画像から、各点が３次元位置情報を有し、対象面１０の３次元形状を示す点群データ（３次元点群）を生成する機能部である。なお、３次元点群があらかじめ生成されている場合（ＴＯＦカメラによって対象面１０の３次元位置情報が直接的に取得される場合を含む）には、生成部３は備えられなくてもよい。
【００２９】
点群取得部４は、生成部３において生成された、もしくは、あらかじめ生成された対象面１０の３次元点群を取得する機能部である。また、解析部５において処理された対象面１０の３次元点群を再び取得する機能部でもある。
【００３０】
解析部５は、３次元点群を解析し、解析結果を認識部６に出力する機能部である。詳細な構成および動作については、後述する。
【００３１】
図２は、３次元対象面認識装置１００に備えられる解析部５の詳細な構成について概念的に示す図である。
【００３２】
図２に示されるように解析部５は、対象面１０の面の向きを特定する面法線特定部５０と、対象面１０の３次元位置を特定する面位置特定部５１と、対象面１０の輪郭点群を生成する輪郭点群生成部５２と、対象面１０に沿う複数の軸にヒストグラムを生成するヒストグラム生成部５３と、対象面１０の基準軸を設定する基準軸設定部５４と、対象面１０における対向する辺の間の長さを取得する長さ取得部５５とを備える。これらの機能部を用いて行う動作の詳細については、後述する。
【００３３】
図３は、３次元対象面認識装置１００のハードウェア構成の一例を示す図である。
【００３４】
図３に示されるように３次元対象面認識装置１００としてのロボット１００Ａは、カメラ２Ａと、コンピュータのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）７Ａおよび記憶装置を内蔵したコンピュータ７とを備える。
【００３５】
またロボット１００Ａは、カメラ２Ａが例えば先端付近に取り付けられたアーム１Ｒと、アーム１Ｌと、アーム１Ｒおよびアーム１Ｌを支える胴体部８とを備える。なお、アームは双腕である必要はなく、一方のみ備えられる場合であってもよい。
【００３６】
カメラ２Ａは、図１に示された撮像部２に対応する。図３に示されるカメラ２Ａはステレオカメラであり、カメラ２Ａによって対象物１における対象面１０の視差画像が取得される。
【００３７】
ＣＰＵ７Ａは、図１に示された生成部３、点群取得部４、解析部５、認識部６それぞれに対応する。またＣＰＵ７Ａは、ロボット１００Ａのアーム１Ｒおよびアーム１Ｌの動作を制御することによって、対象物１の対象面１０に対して所定の作業を行うことを可能とする機能を有している。
【００３８】
図３に示されるロボット１００Ａは、塗装作業を行うことを想定して、アーム１Ｒの先端に塗装部９が備えられている。ＣＰＵ７Ａによって対象面１０の３次元位置および姿勢が認識され、ＣＰＵ７Ａがロボット１００Ａのアーム１Ｒおよびアーム１Ｌの動作を制御することで、ロボット１００Ａは、対象面１０に対して例えば塗装部９を用いた塗装作業を行うことができる。
【００３９】
ＣＰＵ７Ａが備えられるコンピュータ７は、ロボット１００Ａとの間で有線（図３のＤＬ）または無線を介して通信可能である。
【００４０】
コンピュータ７には、ＣＰＵ７Ａによる演算処理機能やロボットの動作制御機能のほか、記憶デバイス、ディスプレイ、マウス等のマンマシン・インターフェイスが備えられる。そして、このコンピュータ７において３次元対象面認識装置１００としての機能を実現させるプログラムが、あらかじめインストールされている。
【００４１】
＜動作＞
次に、図４〜図９を参照しつつ、本実施形態に関する３次元対象面認識装置１００の動作について説明するが、その前に、本実施形態における対象面１０の３次元位置および姿勢の情報を取得する順序について説明する。
【００４２】
本実施形態では、対象面１０の３次元位置および姿勢の情報のうち、まず、（ａ）３次元空間内における対象面１０の全体的な姿勢を特定するものとして、対象面１０の法線の方向（以下「主法線方向」）を特定する。
【００４３】
そして、（ｂ）主法線方向についての、対象面１０の全体としての３次元位置を特定する。
【００４４】
その後に、（ｃ）主法線方向に直交する座標面内（以下「主平面」）での、対象面１０の回転状態等の姿勢情報（以下「主平面内姿勢」）を求めることにより、対象面１０の全体的な３次元位置および姿勢を特定する。
【００４５】
以下、これら各段階の原理について、実際の処理ステップとともに順次説明する。
【００４６】
＜ａ．主法線方向の特定＞
まず図４に示されるように、点群取得部４が、対象面１０の３次元点群を取得する（ステップＳ１）。ここで対象面１０の３次元点群は、撮像部２において取得された視差画像が生成部３において処理され、各点の３次元位置情報が抽出されたものであってもよいし、あらかじめ生成された３次元点群が生成部３または外部の記憶装置１１から取得されたものであってもよい。
【００４７】
次に、解析部５における面法線特定部５０が、取得した３次元点群を用いて対象面１０の向きを特定する（ステップＳ２）。ここで、対象面１０の向きとは、上記の「主法線方向」であり、対象面１０全体としての３次元法線ベクトルの方向である。
【００４８】
対象面１０の向きを特定するため、まず面法線特定部５０は、対象面１０の３次元点群の各点と、その近傍の他の点とを結ぶ線分を生成する。そして面法線特定部５０は、近傍の点同士を結ぶ線分に囲まれたドロネー（Ｄｅｌａｕｎａｙ）多角形（例えば、３次元点群の各点を頂点とする三角形状）を構成する各単位平面（面要素）の法線ベクトルをそれぞれ求める。
【００４９】
図５は、各ドロネー多角形の平面の法線ベクトルを示す図である。
【００５０】
各ドロネー多角形を構成する面要素の法線ベクトルは、図５に示されるように、例えば三角形状の面要素の頂点となる近傍３点（Ｐｉ１、Ｐｉ２、Ｐｉ３）から得られる２つの３次元ベクトル（Ｐｉ２−Ｐｉ１）および（Ｐｉ３−Ｐｉ１）の外積によって求まる（式１参照）。
【００５１】
【数１】
2013205175.tif 000003
【００５２】
さらに面法線特定部５０は、各ドロネー多角形を形成する面要素についてそれぞれ求めた法線ベクトルを単位ベクトル化し、足し合わせる。単位ベクトル化することで、各ドロネー多角形の面積に依存せず、法線ベクトルの方向成分を足し合わせることができる（式２参照）。
【００５３】
【数２】
2013205175.tif 000004
【００５４】
足し合わせた法線ベクトル、すなわち合成法線ベクトルは、対象面１０（全体）の方向を代表的に表現する法線ベクトルである。よって、合成法線ベクトルで表現される方向を対象面１０の主法線方向とすることにより、対象面１０の向きを代表的に表現するベクトルの情報すなわち主法線ベクトルの情報が取得される。
【００５５】
＜ｂ．対象面１０全体としての主法線方向の３次元位置の特定＞
次に図４に示されるように、解析部５における面位置特定部５１が、対象面１０の３次元位置を特定する（ステップＳ３）。
【００５６】
そこではまず、面位置特定部５１は、ステップＳ２で求めた合成法線ベクトルを参照し、合成法線ベクトルの方向（主法線方向）に沿う軸上に、３次元点群の各点を射影する。
【００５７】
図６は、そのための好ましいプロセスとして、対象面１０の３次元点群１０Ａの移動を示す図である。なお、図６（ａ）は移動前の３次元点群１０Ａを示す図であり、図６（ｂ）は移動後の３次元点群１０Ａを示す図である。
【００５８】
対象面１０の主法線方向の３次元位置を特定する際には、主法線方向すなわち合成法線ベクトルの方向と、解析部５のローカル３次元座標を構成する直交３軸のうちの１つの軸方向とが一致していると、主法線方向についての対象面１０の３次元位置や、主平面内での対象面１０の中心位置等の特定がしやすい。よって図６に示されるように、解析部５のローカル３次元座標において、対象面１０の３次元点群１０Ａを平行および回転移動（アフィン変換）し、合成法線ベクトルＨの方向と、解析部５のローカル３次元座標軸のひとつの軸（図示例ではｘ軸）とを一致させておくとよい。合成法線ベクトルＨの方向と解析部５のローカル３次元座標軸のひとつの軸（ｘ軸）とが一致した図６（ｂ）の状態において、３次元点群１０Ａがｘ軸の周囲に３次元的に分布している。
【００５９】
このとき、ｘ軸方向について３次元点群１０Ａの各点が特定の空間範囲に分布する場合には、その空間範囲の幅を対象面１０の主法線方向の厚さとすることができる。また、同様に特定の空間範囲に分布する各点の分布中心を算出し、当該分布中心を対象面１０の主法線方向の３次元位置とすることもできる。
【００６０】
対象面１０の主法線方向の位置は、上記分布の中心だけでなく平均位置や最頻度位置等を用いて特定することも可能であり、これらはいずれも対象面１０を構成する３次元点群１０Ａの３次元位置を、代表的に表現する位置である。
【００６１】
＜ｃ．主平面内姿勢の特定＞
次に図４に示されるように、解析部５における輪郭点群生成部５２が、対象面１０を囲む辺を表現する輪郭点群を生成する（ステップＳ４）。生成された輪郭点群の各点の３次元位置情報は、点群取得部４に取得される。ここで輪郭点群とは、各点が３次元位置情報を有する３次元点群であり、対象面１０の３次元点群のうち、対象面１０の辺に対応する点のみが抽出されたものである。
【００６２】
具体的には、輪郭点群生成部５２は、対象面１０の主平面上に３次元点群を投影し、投影した点群の最外郭に位置する複数の点により輪郭点群を生成する。すなわち輪郭点群は、投影した点群の分布境界に位置する３次元点群の各点により生成される。なお、対象面１０を正しく示していないノイズである点が投影した３次元点群に含まれる場合には、ステップＳ３で求められた対象面１０の法線方向の３次元位置に対応しているか否かを判定して、それに対応していない点はノイズとみなして処理対象から除外することが望ましい（図６参照）。この除外は、主法線方向について対象面１０の位置から所定の誤差閾値よりも大きく離れている点を以下の処理対象から排除することによって行うことができる。
【００６３】
図７は、このようにして生成された輪郭点群を示す図である。なお図７は、輪郭点群を解析部５のローカル３次元座標におけるｙｚ平面から見た図であって、ここに図示されている例では、ｙｚ平面が対象面１０の主平面に相当する。
【００６４】
図７に示される輪郭点群は、必要に応じて膨張収縮処理され、同様に輪郭点群を構成する近傍の点と繋がれて表示されている。輪郭点群を構成する点群が近傍の点と繋がれて表示されることで、対象面１０の輪郭線を表示することができる。
【００６５】
この輪郭線には、直線を有する辺が含まれる。ここでいう「直線」とは、当該「直線」を構成する点群が、次の関係にあるものをいう。
【００６６】
すなわち、対象面１０の主平面内に含まれる軸（合成法線ベクトルに直交する軸）を階級軸とするヒストグラムに点群を射影した場合、複数の近傍点が同一階級内に納められる関係にある点群を「直線」を構成する点群とする。ここで、対象面１０の主平面内に含まれる軸（対象面１０に沿う軸）は複数設定できるため、そのいずれかの軸において上記の関係にある点群であればよい。
【００６７】
また、輪郭線における「直線」は、対象面１０における実際の「直線」に対応するため、対象面１０における実際の辺が「直線」であるとは、対応する輪郭線が上記の定義における「直線」であることを意味する。
【００６８】
また、輪郭線は一般に閉じた線分閉鎖（ループ）となるが、生成された輪郭点群が複数のループに別れている場合には、輪郭線のループにより囲まれる面積が最も大きい輪郭点群を、正しい輪郭点群として選択することができる。例えば撮像部２において視差画像を取得する場合、対象面１０が最も広い領域を占めるように撮像が行われることを前提とすることができるからである。
【００６９】
次に図４に示されるように、解析部５におけるヒストグラム生成部５３が、対象面１０に沿う複数の軸上、すなわち、合成法線ベクトルに直交する複数の軸上に、それぞれ輪郭点群の各点を射影し、各軸を階級軸とするヒストグラムを生成する（ステップＳ５）。ここで階級軸とは、ヒストグラムにおける各階級の幅方向の軸であり、ヒストグラムの横軸となる軸である。
【００７０】
図８は、生成したヒストグラムの例を示す図である。横軸が階級軸、縦軸が度数（点群の数）である。なお、図８（ａ）および図８（ｂ）は、合成法線ベクトルに直交するそれぞれ異なる軸を階級軸としたヒストグラムであり、階級軸と輪郭点群の周方向の角度との関係がそれぞれ異なっている。
【００７１】
ここで、各ヒストグラムにおける階級幅は統一されているが、その幅として固定幅を設定してもよいし、輪郭点群の階級軸方向の存在幅を基準としてその存在幅を所定数に分割した幅を設定してもよい。ただし、過度に広い階級幅（例えば、輪郭点群の階級軸方向の存在範囲の全体を覆ってしまう階級幅）や、過度に狭い階級幅（例えば、視差画像から生成される３次元点群の３次元位置精度より極端に狭い階級幅）を設定すると、好ましい結果は得られない。このため、所定の３次元位置精度よりも大きいという条件下で、かつ輪郭点群の階級幅方向の存在範囲を複数に等分割した値をヒストグラムの階級幅とすることが好ましい。
【００７２】
次に図４に示されるように、解析部５における基準軸設定部５４が、対象面１０上の異なる複数の軸をそれぞれ階級軸とする複数のヒストグラムを比較し、対象面１０の基準軸を設定する（ステップＳ６）。ここで基準軸とは、対象面１０の周方向の回転角度の判定の基準となる軸である。
【００７３】
具体的には、基準軸設定部５４は、各ヒストグラムの各階級における度数を算出し、それらを各ヒストグラムごとに足し合わせる。このとき、各階級における度数は、２乗してから足し合わせる。なお、本実施形態では、２乗した各階級の度数を各ヒストグラムで足し合わせ、足し合わせた数をヒスト２乗総和と称する。
【００７４】
そして基準軸設定部５４は、ヒスト２乗総和が最大となるヒストグラムを選定する。ここで、各階級内に納められる度数は、その数が大きいほど２乗した数も大きくなり、それに伴って各ヒストグラムのヒスト２乗総和も増大する。
【００７５】
図８に示されるように各ヒストグラムは、全て同じ輪郭点群を射影したものであるため、その度数の総数（１乗総和）は等しい。しかし、ヒスト２乗総和は、各階級に存在する度数の偏り具合により変化し、最も偏った分布（例えば、特定の階級に多くの度数が集中している分布）を持つヒストグラムのヒスト２乗総和が最も大きくなる。つまり、各階級における度数を２乗してから足し合わせた総和は、各ヒストグラムの分布の偏りを示す指標であり、各階級に度数が集中する度合いを示す指標である。よって、ヒスト２乗総和を含め、各階級における度数を２乗以上してから足し合わせた総和は、階級集中度とすることができる。
【００７６】
同一階級内に納められる点群は、階級軸と直交する方向に並ぶ点群であり、上記の「直線」を構成する点群である。よって、ヒスト２乗総和が最大となるヒストグラムは、階級軸と直交する「直線」が少なくとも１つ射影されたヒストグラムである。
【００７７】
よって、ヒスト２乗総和を比較し、ヒスト２乗総和が最大となるヒストグラムを特定すれば、そのヒストグラムの階級軸は対象面１０の「直線」と直交し、その階級軸に基づく対象面１０の基準軸を設定することができる。基準軸は階級軸そのものであってもよいし、階級軸と特定の関係を有する軸（例えば平行関係または直交関係）であってもよい。
【００７８】
この基準軸を用いれば、対象面１０の辺における「直線」の方向を把握することができ、対象面１０の周方向の角度基準（つまり、主平面内のどの角度方向に伸びた「直線」が存在するかを判断する基準）を定めることができる。よって、実空間での対象面１０がどの方向に伸びる「直線」をどの位置に有しているか把握でき、対象面１０の３次元位置および姿勢を精度よく、かつ、簡易な方法で認識することができる。この例におけるヒスト２乗総和は、ヒストグラムの頻度分布が、比較的少ない数の階級に集中している程度を示す指標値としての階級集中度の好ましい例である。各ヒストグラムの２乗総和だけでなく、３乗総和や４乗総和などを含めて、一般に「累乗和」に基づいて得られる種々の値が、このような階級集中度の好ましい指標値として利用可能である。
【００７９】
ここで、生成したヒストグラムの中に階級軸と直交する「直線」が射影されたヒストグラムが含まれていない場合について図９を参照しつつ述べる。ここで図９は、各ヒストグラムのヒスト２乗総和をグラフにして示した図である。図９においては、横軸が各ヒストグラムの階級軸の相対角度であり、縦軸がヒスト２乗総和の数である。
【００８０】
つまり、合成法線ベクトルに直交する軸を階級軸としたヒストグラムを複数生成する場合には、生成されたヒストグラムの中に、階級軸と直交する「直線」が射影されたヒストグラムが含まれていない場合もある。
【００８１】
そのような場合には、図９に示されるように、生成された各ヒストグラムのヒスト２乗総和を階級軸の相対角度順に並べ、所定の関数による近似曲線を生成する。換言すれば、実際にカウントされた複数のヒストグラムのヒスト２乗総和を内挿および外挿して、現実に頻度カウントを行っていない各方向の軸についてのヒスト２乗総和を推定する。そうすると、その近似曲線の頂点の縦軸の位置は、ヒスト２乗総和が最大となるヒスト２乗総和の数を示し、近似曲線の頂点の横軸の位置は、ヒスト２乗総和が最大となる階級軸の相対角度を示す。よって、近似曲線の頂点を求めることによって、ヒスト２乗総和が最大となる階級軸の相対角度を求めることができ、対象面１０の基準軸を設定することができる。
【００８２】
次に図４に示されるように、長さ取得部５５は、対象面１０における対向する辺の間の長さを取得する（ステップＳ７）。具体的には、ヒスト２乗総和が最大となる階級軸を有するヒストグラム（図８（ｂ）参照）において、２乗した各階級の度数の分布を取得し、ピークとなる階級（または階級の束）を２つ見つけ（ピークＰ１およびピークＰ２）、２つのピークの間の階級軸方向の長さを、対象面１０における対向する辺の間の長さとする。
【００８３】
また、対象面１０は有限の広さを持つから、「直線」を含む辺は複数存在する。たとえば対象面１０が矩形面であれば４本の辺が、また対象面１０が三角面であれば３本の辺が検出される。したがって、それらの各辺を検出して主面内におけるそれぞれの方向が特定されると、それらの幾何学的な組み合わせとして、「矩形」や「三角形」の回転角度や３次元位置が把握できる。
【００８４】
さらに、対象面１０が円形面である場合には、輪郭線に長い「直線」は存在しない。しかしながら、円形輪郭線を主平面内の軸上に射影したヒストグラムでは、投影軸に直交している方向への円形輪郭線の接線の位置でヒストグラムがピークを構成するため、それによって接線の３次元位置と方向とを検出することができる。したがって、円形（一般には曲線）の「接線」も、本発明によって検出可能な対象であり、「直線」とはそのような「接線」も含む概念としてとらえることができる。
【００８５】
次に図４に示されるように、認識部６が、合成法線ベクトルの方向つまり主法線方向と、主法線方向についての対象面１０の３次元位置と、対象面１０の「直線」を含む辺を基準として特定した周方向の回転角度とを把握することで、実空間における対象面１０の３次元位置および姿勢を認識する（ステップＳ８）。
【００８６】
例えば図３に示されるロボット１００Ａにおいては、認識した対象面１０の３次元位置および姿勢に基づいて、ＣＰＵ７Ａがアーム１Ｒおよびアーム１Ｌの動作を制御し、対象面１０に対して例えば塗装部９を用いた塗装作業を行うことができる。
【００８７】
＜効果＞
本発明に関する実施形態によれば、３次元対象面認識装置は、輪郭点群の各点を対象面１０に沿う複数の軸上に射影することで、当該各軸を階級軸とする複数のヒストグラムを生成するヒストグラム生成部５３と、生成した各ヒストグラムの階級集中度を比較し、階級集中度が最大となるヒストグラムに基づいて、対象面１０の基準軸を設定する基準軸設定部５４と、各点の３次元位置情報および基準軸に基づいて、対象面１０の３次元位置および姿勢を認識する認識部６とを備える。
【００８８】
このような３次元対象面認識装置によれば、輪郭点群を用いて「直線」を含む辺と直交する階級軸を特定し、それに基づいて対象面１０の基準軸を設定できるため、「直線」を含む辺を基準とする実空間における対象面１０の周方向の回転角度を把握できる。よって、対象面１０の向き、法線方向の３次元位置と合わせて、簡易な方法により、対象面１０の３次元位置および姿勢の認識を精度よく行うことができる。
【００８９】
また、本発明に関する実施形態によれば、階級集中度は、ヒストグラムの各階級における度数をそれぞれ累乗（具体的には２乗）し、当該ヒストグラムにおける全階級について足し合わせた数である。
【００９０】
このように階級集中度を定義することによって、各ヒストグラムにおける度数分布の偏りを階級集中度として比較することができ、度数分布が偏った、「直線」と直交する階級軸を有するヒストグラムを特定することができる。階級集中度を表現する指標値の他の例としては、ヒストグラムの各階級における頻度カウント値の最大値と最小値との差（分散幅）なども利用可能である。
【００９１】
なお本発明は、その発明の範囲内において、本実施形態における任意の構成要素の変形もしくは省略が可能である。
【符号の説明】
【００９２】
１  対象物
１Ｌ，１Ｒ  アーム
２  撮像部
２Ａ  カメラ
３  生成部
４  点群取得部
５  解析部
６  認識部
７  コンピュータ
７Ａ  ＣＰＵ
８  胴体部
９  塗装部
１０  対象面
１１  記憶装置
５０  面法線特定部
５１  面位置特定部
５２  輪郭点群生成部
５３  ヒストグラム生成部
５４  基準軸設定部
５５  長さ取得部
１００  ３次元対象面認識装置
１００Ａ  ロボット
【図１】
2013205175.tif 000005
【図２】
2013205175.tif 000006
【図３】
2013205175.tif 000007
【図４】
2013205175.tif 000008
【図５】
2013205175.tif 000009
【図６】
2013205175.tif 000010
【図７】
2013205175.tif 000011
【図８】
2013205175.tif 000012
【図９】
2013205175.tif 000013