(57)【特許請求の範囲】
【請求項１】
第１の径を有する軸部分と、前記軸部分の一端に設けられた前記第１の径より大きな第２の径を有する頭部分とを含む検出対象物について、前記頭部分の位置および前記軸部分の方向を算出する方法であって、
少なくとも１つの前記検出対象物に対して予め定められた距離だけ離れた位置に配置された撮像装置を用いて撮像された入力画像を取得するステップと、
前記入力画像内の明るさの情報および前記検出対象物の形状の情報に基づいて、前記入力画像から、前記軸部分に相当する領域を軸領域として抽出するステップと、
前記入力画像内において隣接する領域に比較して、相対的に明るい位置のうち、前記軸領域のいずれかの端からの距離が予め定められた値以内で、かつ、前記軸領域を基準に設定される予め定められた角度内に存在するものを前記頭部分の候補位置として抽出するステップと、
前記少なくとも１つの検出対象物に対して、複数の異なる濃淡パターンを照射するとともに、それぞれの照射時に前記撮像装置によりそれぞれ撮像された複数の画像を用いて、前記軸領域および前記候補位置についての高さ情報を取得するステップと、
前記軸領域との間の相対的な位置関係から、前記軸領域に対応する検出対象物の前記頭部分に相当する位置を前記候補位置から抽出するステップとを備え、
前記頭部分に相当する位置を前記候補位置から抽出するステップは、前記軸領域に比較して前記撮像装置の側に位置する前記候補位置を前記頭部分に相当する位置として抽出するステップを含む、方法。
【請求項２】
前記候補位置を抽出するステップでは、前記入力画像についてのヘッシアンの値が予め定められた値を超える点を前記候補位置として抽出する、請求項１に記載の方法。
【請求項３】
前記軸領域の高さ情報から対応する検出対象物の軸部分の方向を決定するステップをさらに備える、請求項１または２に記載の方法。
【請求項４】
前記軸領域と対応して抽出された少なくとも１つ前記候補位置との組の各々について、前記頭部分の位置および前記軸部分を関連付けて出力するステップをさらに備える、請求項１〜３のいずれか１項に記載の方法。
【請求項５】
前記入力画像を取得するステップは、前記少なくとも１つの検出対象物に対して照明光を照射しない状態で前記撮像装置により取得された第１の画像と、前記少なくとも１つの検出対象物に対して照明光を照射した状態で前記撮像装置により取得された第２の画像との差分から前記入力画像を生成するステップを含む、請求項１〜４のいずれか１項に記載の方法。
【請求項６】
第１の径を有する軸部分と、前記軸部分の一端に設けられた前記第１の径より大きな第２の径を有する頭部分とを含む検出対象物について、前記頭部分の位置および前記軸部分の方向を算出する装置であって、
少なくとも１つの前記検出対象物に対して予め定められた距離だけ離れた位置に配置された撮像装置と接続され、当該撮像装置を用いて撮像された入力画像を取得するインターフェイスと、
前記入力画像内の明るさの情報および前記検出対象物の形状の情報に基づいて、前記入力画像から、前記軸部分に相当する領域を軸領域として抽出する手段と、
前記入力画像内において隣接する領域に比較して、相対的に明るい位置のうち、前記軸領域のいずれかの端からの距離が予め定められた値以内で、かつ、前記軸領域を基準に設定される予め定められた角度内に存在するものを前記頭部分の候補位置として抽出する手段と、
前記少なくとも１つの検出対象物に対して、複数の異なる濃淡パターンを照射するとともに、それぞれの照射時に前記撮像装置によりそれぞれ撮像された複数の画像を用いて、前記軸領域および前記候補位置についての高さ情報を取得する手段と、
前記軸領域との間の相対的な位置関係から、前記軸領域に対応する検出対象物の前記頭部分に相当する位置を前記候補位置から抽出する手段とを備え、
前記頭部分に相当する位置を前記候補位置から抽出する手段は、前記軸領域に比較して前記撮像装置の側に位置する前記候補位置を前記頭部分に相当する位置として抽出する、装置。
【請求項７】
第１の径を有する軸部分と、前記軸部分の一端に設けられた前記第１の径より大きな第２の径を有する頭部分とを含む検出対象物について、前記頭部分の位置および前記軸部分の方向を算出するためのプログラムであって、当該プログラムは、コンピュータに、
少なくとも１つの前記検出対象物に対して予め定められた距離だけ離れた位置に配置された撮像装置を用いて撮像された入力画像を取得するステップと、
前記入力画像内の明るさの情報および前記検出対象物の形状の情報に基づいて、前記入力画像から、前記軸部分に相当する領域を軸領域として抽出するステップと、
前記入力画像内において隣接する領域に比較して、相対的に明るい位置のうち、前記軸領域のいずれかの端からの距離が予め定められた値以内で、かつ、前記軸領域を基準に設定される予め定められた角度内に存在するものを前記頭部分の候補位置として抽出するステップと、
前記少なくとも１つの検出対象物に対して、複数の異なる濃淡パターンを照射するとともに、それぞれの照射時に前記撮像装置によりそれぞれ撮像された複数の画像を用いて、前記軸領域および前記候補位置についての高さ情報を取得するステップと、
前記軸領域との間の相対的な位置関係から、前記軸領域に対応する検出対象物の前記頭部分に相当する位置を前記候補位置から抽出するステップとを実行させ、
前記頭部分に相当する位置を前記候補位置から抽出するステップは、前記軸領域に比較して前記撮像装置の側に位置する前記候補位置を前記頭部分に相当する位置として抽出するステップを含む、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、第１の径を有する軸部分と、軸部分の一端に設けられた第１の径より大きな第２の径を有する頭部分とを含む検出対象物について、頭部分の位置および軸部分の方向を算出する方法、装置およびプログラムに関するものである。
【背景技術】
【０００２】
たとえば、ＦＡ（Factory Automation）分野などにおいては、省力化や自動化の観点から、製造現場で扱われる検出対象物（以下、「ワーク」とも称す。）を撮像して得られる画像に基づいて、各種の処理を自動化するような画像計測技術が開発・実用化されている。
【０００３】
このような画像計測技術の一例として、ネジや釘などの突起物を有する円筒状のワークを把持したりするために、当該ワークの頭部分の位置がどちらの方向にあるかを判定するような手法が提案されている。たとえば、非特許文献１には、空間コード化法による３次元ビジョンセンサを用いてバラ積みされたネジを認識し、ロボットで一つずつピックアップする実験システムについて開示されている。
【０００４】
より具体的には、非特許文献１のシステムでは、まず、ネジの位置姿勢の認識処理が実行され、続いて、ロボットでネジを掴んで平面に平置きした後、高さを計測し、高い方がネジの頭方向として認識される。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】川戸他、「３次元センサを用いたネジのビンピッキングシステム」、動的画像処理実利用化ワークショップＤＩＡ２００８、３Ｄ計測（オーラルセッション６）、２００８年３月７日
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述の非特許文献１に開示されたネジの頭方向の算出方法によれば、ロボットでのネジの把持動作、および、その後の３次元計測処理が必要であり、処理時間が比較的長くなるという課題があった。
【０００７】
そこで、本発明の目的は、第１の径を有する軸部分と、軸部分の一端に設けられた第１の径より大きな第２の径を有する頭部分とを含む検出対象物について、頭部分の位置および軸部分の方向をより高速に算出する方法、装置およびプログラムを提供することである。
【課題を解決するための手段】
【０００８】
本発明のある局面に従えば、第１の径を有する軸部分と、軸部分の一端に設けられた第１の径より大きな第２の径を有する頭部分とを含む検出対象物について、頭部分の位置および軸部分の方向を算出する方法を提供する。本方法は、少なくとも１つの検出対象物を撮像した入力画像を取得するステップと、入力画像から、軸部分に相当する領域を軸領域として抽出するステップと、入力画像内の明るさの変化から頭部分の候補位置を抽出するステップと、軸領域および候補位置についての高さ情報を取得するステップと、軸領域との間の相対的な位置関係から、軸領域に対応する検出対象物の頭部分に相当する位置を候補位置から抽出するステップとを含む。
【０００９】
好ましくは、入力画像は、少なくとも１つの検出対象物に対して予め定められた距離だけ離れた位置に配置された撮像装置を用いて撮像することで取得され、頭部分に相当する位置を候補位置から抽出するステップは、軸領域に比較して撮像装置の側に位置する候補位置を頭部分に相当する位置として抽出するステップを含む。
【００１０】
さらに好ましくは、候補位置を抽出するステップでは、入力画像内において隣接する領域に比較して、相対的に明るい位置が頭部分の候補位置として抽出される。
【００１１】
あるいはさらに好ましくは、候補位置を抽出するステップでは、さらに、相対的に明るい位置のうち、軸領域の両端から予め定められた範囲内に存在するものが頭部分の候補位置として抽出される。
【００１２】
あるいはさらに好ましくは、候補位置を抽出するステップでは、入力画像についてのヘッシアンの値から候補位置を抽出する。
【００１３】
あるいはさらに好ましくは、本方法は、軸領域の高さ情報から対応する検出対象物の軸部分の方向を決定するステップをさらに含む。
【００１４】
あるいはさらに好ましくは、本方法は、軸領域と対応して抽出された少なくとも１つ候補位置との組の各々について、頭部分の位置および軸部分を関連付けて出力するステップをさらに含む。
【００１５】
あるいはさらに好ましくは、入力画像を取得するステップは、少なくとも１つの検出対象物に対して照明光を照射しない状態で撮像装置により取得された第１の画像と、少なくとも１つの検出対象物に対して照明光を照射した状態で撮像装置により取得された第２の画像との差分から入力画像を生成するステップを含む。
【００１６】
あるいはさらに好ましくは、高さ情報を取得するステップは、少なくとも１つの検出対象物に対して、複数の異なる濃淡パターンを照射するとともに、それぞれの照射時に撮像装置によりそれぞれ撮像された複数の画像を用いて、高さ情報を取得する。
【００１７】
本発明の別の局面に従えば、第１の径を有する軸部分と、軸部分の一端に設けられた第１の径より大きな第２の径を有する頭部分とを含む検出対象物について、頭部分の位置および軸部分の方向を算出する装置を提供する。本装置は、撮像装置と接続され、少なくとも１つの検出対象物を撮像した入力画像を取得するインターフェイスと、入力画像から、軸部分に相当する領域を軸領域として抽出する手段と、入力画像内の明るさの変化から頭部分の候補位置を抽出する手段と、軸領域および候補位置についての高さ情報を取得する手段と、軸領域との間の相対的な位置関係から、軸領域に対応する検出対象物の頭部分に相当する位置を候補位置から抽出する手段とを含む。
【００１８】
本発明のさらに別の局面に従えば、第１の径を有する軸部分と、軸部分の一端に設けられた第１の径より大きな第２の径を有する頭部分とを含む検出対象物について、頭部分の位置および軸部分の方向を算出するためのプログラムを提供する。当該プログラムは、コンピュータに、少なくとも１つの検出対象物を撮像した入力画像を取得するステップと、入力画像から、軸部分に相当する領域を軸領域として抽出するステップと、入力画像内の明るさの変化から頭部分の候補位置を抽出するステップと、軸領域および候補位置についての高さ情報を取得するステップと、軸領域との間の相対的な位置関係から、軸領域に対応する検出対象物の頭部分に相当する位置を候補位置から抽出するステップとを実行させる。
【発明の効果】
【００１９】
本発明によれば、第１の径を有する軸部分と、軸部分の一端に設けられた第１の径より大きな第２の径を有する頭部分とを含む検出対象物について、頭部分の位置および軸部分の方向をより高速に算出できる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施の形態に係る画像処理装置を含む把持システムの全体構成を示す概略図である。
【図２】本発明の実施の形態に係る画像処理装置の概略構成図である。
【図３】本実施の形態に係る画像処理装置において実行される全体処理手順を示すフローチャートである。
【図４】本発明の実施の形態に係る前処理の処理例を示す図である。
【図５】本発明の実施の形態に係る軸領域抽出処理の処理例を示す図である。
【図６】本発明の実施の形態に係る頭候補抽出処理の第一段階の処理結果の一例を示す図である。
【図７】本発明の実施の形態に係る頭候補抽出処理の第二段階の処理内容を説明するための図である。
【図８】本実施の形態に係る画像処理装置において実行される頭候補抽出処理のより詳細な手順を示すフローチャートである。
【図９】本発明の実施の形態に係る三次元座標計測処理に用いられるパターンの一例を示す図である。
【図１０】本発明の実施の形態に係る三次元座標計測処理の処理例を示す図である。
【図１１】本発明の実施の形態に係る頭候補判別処理においてＯＫと判別される条件を模式的に示す図である。
【図１２】本発明の実施の形態に係る頭候補判別処理においてＮＧと判別される条件を模式的に示す図である。
【図１３】本発明の実施の形態に係る画像処理によって生成された認識結果の一例を示す図である。
【発明を実施するための形態】
【００２１】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【００２２】
《Ａ．概要》
本実施の形態に係る画像処理方法は、第１の径を有する軸部分と、軸部分の一端に設けられた第１の径より大きな第２の径を有する頭部分とを含む検出対象物（ワークＷ）について、頭部分の位置および軸部分の方向を算出する方法に向けられている。本実施の形態に係る画像処理方法においては、一種の面光源であるプロジェクタからワークＷに対して照明光（白色光）を投影し、撮像装置を用いて、当該照明光の投影によって生じる反射光を撮像する。この撮像によって得られた入力画像に対して、軸部分に相当する領域（軸領域）および頭部分の候補位置（典型的には、入力画像内において単独で相対的に明るさが強い部分）が抽出される。以下では、抽出された（複数の）頭部分の可能性が高い部分（位置）を単に「頭候補」とも称す。さらに、軸領域および候補位置についての高さ情報（すなわち、三次元座標系における座標値）が取得される。最終的に、軸領域との間の相対的な位置関係から、軸領域に対応するワークＷの頭部分に相当する位置が候補位置から抽出される。そして、抽出された頭部分に相当する位置および対応する軸領域（軸部分）の方向が算出される。
【００２３】
このように、本実施の形態に係る画像処理方法は、ワークＷについての二次元画像によって得られる画像処理の結果と、同一のワークＷを三次元計測することで得られる高さ情報とを用いて、より少ない処理量でワークＷの頭部分の位置および軸部分の方向を算出する。
【００２４】
《Ｂ．全体装置構成》
図１は、本発明の実施の形態に係る画像処理装置１００を含む把持システムＳＹＳの全体構成を示す概略図である。図１に例示される把持システムＳＹＳは、生産ラインなどに組み込まれ、トレーなどにバラ積みされた検出対象物（ワークＷ）を１個ずつ把持するような処理を行う。なお、図１には、理解を容易にするため、トレー内に２つのワークＷのみが存在する場合を図示するが、多数のワークＷが重なった状態で配置されていてもよい。
【００２５】
ワークＷは、第１の径を有する軸部分と、軸部分の一端に設けられた第１の径より大きな第２の径を有する頭部分とからなる形状を有している。このようなワークＷの典型例としては、ネジ、ボルト、釘などが挙げられる。作業ラインにおいて、このようなワークＷは、図示しない上流側の製造装置などから搬送される場合が多いため、そのトレー内での向きはランダムになっているものとする。
【００２６】
たとえば、このネジを用いて製品の固定などを行う作業工程を考えると、ロボットでネジを把持した上で、当該ネジの頭部分（ネジ穴が形成されている部分）に対して、別の機構を用いてドライバなどを挿入して回転させる必要がある。そのため、ワークＷがいずれの方向（位置）に存在するのか、および、いずれの向きに頭部分が存在するのかを認識する必要がある。そこで、本実施の形態に係る画像処理装置１００は、このようなニーズに対応するため、ワークＷについて頭部分の位置および軸部分の方向を算出する。もちろん、画像処理装置１００の用途はこれに限られない。
【００２７】
なお、以下の説明では、主として、軸部分として円筒形状を有するワークＷを想定して説明を行うが、多角形柱の軸部分を有するワークＷであっても同様に適用できる。また、頭部分については、後述するように、撮像して得られた画像内において反射によって局所的に明るくなるような形状であればどのようなものであっても適用できる。そのため、その断面は任意の形状のものを採用することができ、その大きさなども特に制限されるものではない。
【００２８】
図１に示すように、本実施の形態に係る把持システムＳＹＳは、画像処理装置１００と、ロボットコントローラ２００と、ロボット３００とを含む。画像処理装置１００には、プロジェクタ（照明装置）７および撮像装置８が接続されている。
【００２９】
後述するように、プロジェクタ７は、一種の面光源として機能するとともに、画像処理装置１００からの指示に従って任意の濃淡パターンの照明光を所定位置（ワークＷを含むトレーが配置される位置）に投影できるものとする。この任意の濃淡パターンは、照射面内で明るさが均一であるパターンおよび照射面内の所定方向に沿って明るさが周期的に変化するパターンを含む。
【００３０】
撮像装置８は、プロジェクタ７によって照射された照明光がワークＷの表面で反射した光を撮像する。そして、撮像装置８は、このワークＷからの反射光（ワークＷの像）を示す画像（以下、「入力画像」とも称す。）を出力する。
【００３１】
本実施の形態においては、プロジェクタ７と撮像装置８との間の相対的な位置姿勢関係は既知であるとする。すなわち、プロジェクタ７が照明光を照射する方向およびその配置位置と、撮像装置８の視線方向およびその配置位置とは、予め取得されているものとする。なお、このようなプロジェクタ７と撮像装置８との間の相対的な位置姿勢関係は、キャリブレーション処理によって得られるキャリブレーションデータに反映される。このキャリブレーションデータの具体的な内容としては、プロジェクタ７と撮像装置８との三次元的な位置姿勢（三次元座標上の座標値（ｘ，ｙ，ｚ）および角度（α，β，γ））やそれらの視野角など情報を含む。
【００３２】
プロジェクタ７は、主要なコンポーネントとして、ＬＥＤ（Light Emitting Diode）やハロゲンランプなどの光源と、プロジェクタ７の照射面の側に配置されたフィルタとを含む。プロジェクタ７に用いられる光源は、波長範囲が比較的広いものが好ましい。また、フィルタは、後述するような三次元計測に必要な濃淡パターンを発生させるものであり、画像処理装置１００などからの指令に従って、面内の透光率を任意に変化させることができる。
【００３３】
撮像装置８は、主要なコンポーネントとして、レンズなどの光学系と、ＣＣＤ（Coupled Charged Device）やＣＭＯＳ（Complementary Metal Oxide Semiconductor）センサといった撮像素子とを含む。
【００３４】
画像処理装置１００は、典型的には、汎用的なアーキテクチャを有しているコンピュータであり、予めインストールされたプログラム（命令コード）を実行することで、本実施の形態に係る画像処理機能を提供する。このようなプログラムは、典型的には、各種記録媒体などに格納された状態で流通し、あるいは、ネットワークなどを介して画像処理装置１００にインストールされる。
【００３５】
このような汎用的なコンピュータを利用する場合には、本実施の形態に係る機能を提供するためのアプリケーションに加えて、コンピュータの基本的な機能を提供するためのＯＳ（Operating System）がインストールされていてもよい。この場合には、本実施の形態に係るプログラムは、ＯＳの一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。すなわち、本実施の形態に係るプログラム自体は、上記のようなモジュールを含んでおらず、ＯＳと協働して処理が実行されてもよい。本実施の形態に係るプログラムとしては、このような一部のモジュールを含まない形態であってもよい。
【００３６】
さらに、本実施の形態に係るプログラムは、他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には、上記のような組合せられる他のプログラムに含まれるモジュールを含んでおらず、当該他のプログラムと協働して処理が実行される。すなわち、本実施の形態に係るプログラムとしては、このような他のプログラムに組込まれた形態であってもよい。なお、プログラムの実行により提供される機能の一部もしくは全部を専用のハードウェア回路として実装してもよい。
【００３７】
図２は、本発明の実施の形態に係る画像処理装置１００の概略構成図である。図２を参照して、画像処理装置１００は、演算処理部であるＣＰＵ（Central Processing Unit）１１０と、記憶部としてのメインメモリ１１２およびハードディスク１１４と、カメラインターフェイス１１６と、入力インターフェイス１１８と、表示コントローラ１２０と、プロジェクタインターフェイス１２２と、通信インターフェイス１２４と、データリーダ／ライタ１２６とを含む。これらの各部は、バス１２８を介して、互いにデータ通信可能に接続される。
【００３８】
ＣＰＵ１１０は、ハードディスク１１４にインストールされたプログラム（コード）をメインメモリ１１２に展開して、これらを所定順序で実行することで、各種の演算を実施する。メインメモリ１１２は、典型的には、ＤＲＡＭ（Dynamic Random Access Memory）などの揮発性の記憶装置であり、ハードディスク１１４から読み出されたプログラムに加えて、撮像装置８によって取得された入力画像、キャリブレーションデータ、計測結果に関する情報などを保持する。さらに、ハードディスク１１４には、各種設定値などが格納されてもよい。なお、ハードディスク１１４に加えて、あるいは、ハードディスク１１４に代えて、フラッシュメモリなどの半導体記憶装置を採用してもよい。
【００３９】
カメラインターフェイス１１６は、ＣＰＵ１１０と撮像装置８との間のデータ伝送を仲介する。すなわち、カメラインターフェイス１１６は、ワークＷを撮像して入力画像を生成するための撮像装置８と接続される。より具体的には、カメラインターフェイス１１６は、１つ以上の撮像装置８と接続が可能であり、撮像装置８からの入力画像を一時的に蓄積するための画像バッファ１１６ａを含む。そして、カメラインターフェイス１１６は、画像バッファ１１６ａに所定コマ数の入力画像が蓄積されると、その蓄積された入力画像をメインメモリ１１２へ転送する。また、カメラインターフェイス１１６は、ＣＰＵ１１０が発生した内部コマンドに従って、撮像装置８に対して撮像コマンドを与える。
【００４０】
入力インターフェイス１１８は、ＣＰＵ１１０とマウス１０４、キーボード、タッチパネルなどの入力部との間のデータ伝送を仲介する。すなわち、入力インターフェイス１１８は、ユーザが入力部を操作することで与えられる操作指令を受付ける。
【００４１】
表示コントローラ１２０は、表示装置の典型例であるディスプレイ１０２と接続され、ＣＰＵ１１０における処理結果などをユーザに通知する。すなわち、表示コントローラ１２０は、ディスプレイ１０２に接続され、当該ディスプレイ１０２での表示を制御する。
【００４２】
プロジェクタインターフェイス１２２は、ＣＰＵ１１０とプロジェクタ７との間のデータ伝送を仲介する。より具体的には、プロジェクタインターフェイス１２２は、ＣＰＵ１１０が発生した内部コマンドに従って、プロジェクタ７に対して照明コマンドを与える。
【００４３】
通信インターフェイス１２４は、ＣＰＵ１１０とコンソール（あるいは、パーソナルコンピュータやサーバ装置）などとの間のデータ伝送を仲介する。通信インターフェイス１２４は、典型的には、イーサネット（登録商標）やＵＳＢ（Universal Serial Bus）などからなる。
【００４４】
データリーダ／ライタ１２６は、ＣＰＵ１１０と記録媒体であるメモリカード１０６との間のデータ伝送を仲介する。すなわち、メモリカード１０６には、画像処理装置１００で実行されるプログラムなどが格納された状態で流通し、データリーダ／ライタ１２６は、このメモリカード１０６からプログラムを読出す。また、データリーダ／ライタ１２６は、ＣＰＵ１１０の内部指令に応答して、撮像装置８によって取得された入力画像および／または画像処理装置１００における処理結果などをメモリカード１０６へ書込む。なお、メモリカード１０６は、ＣＦ（Compact Flash）、ＳＤ（Secure Digital）などの汎用的な半導体記憶デバイスや、フレキシブルディスク（Flexible Disk）などの磁気記憶媒体や、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory）などの光学記憶媒体等からなる。
【００４５】
また、画像処理装置１００には、必要に応じて、プリンタなどの他の出力装置が接続されてもよい。
【００４６】
再度図１を参照して、ロボット３００は、ワークＷを把持するためのハンド機構と、当該ハンド機構を任意の位置および方向に位置決めするための関節機構とを含む。ロボット３００は、ロボットコントローラ２００によってその動作が制御される。
【００４７】
ロボットコントローラ２００は、画像処理装置１００によって算出されたワークＷの中心位置（中心軸）を示す情報に基づいて、ワークＷの位置や姿勢を認識するとともに、当該認識された各ワークＷの位置や姿勢に基づいて、ロボット３００のハンド機構を適切な位置および方向に位置決めするための指令を生成し、ロボット３００へ出力する。この指令に応答して、ロボット３００は、ワークＷの把持動作を開始する。
【００４８】
《Ｃ．全体処理》
図３は、本実施の形態に係る画像処理装置１００において実行される全体処理手順を示すフローチャートである。図３に示す各ステップは、基本的には、画像処理装置１００のＣＰＵ１１０によって実行される。
【００４９】
図３を参照して、画像処理装置１００のＣＰＵ１１０は、前処理を実行する（ステップＳ１）。この前処理は、バラ積み状態の少なくとも１つのワークＷを撮像した入力画像を取得する処理を含む。この入力画像の取得方法の典型例としては、図１に示すような撮像装置８を用いて撮像された画像を画像処理装置１００に入力する方法が挙げられる。但し、撮像装置８を用いて撮像して得られた入力画像を蓄積しておき、事後的に画像処理装置１００に入力するような形態であってもよい。このような処理方法は、ワークＷに対する把持動作に異常があった場合などの原因究明に利用されるときなどに好適である。
【００５０】
さらに、本実施の形態においては、ワークＷの周囲からの外乱光の影響を排除するために、シェーディング画像が生成される。このシェーディング画像は、プロジェクタ７から照明光を照射した状態（環境光＋照明光）で撮像して得られる画像と、プロジェクタ７から照明光を照射していない状態（環境光のみ）で撮像して得られる画像との差分によって生成される。言い換えれば、ステップＳ１に示す前処理は、少なくとも１つのワークＷに対して照明光を照射しない状態で撮像装置８により取得された画像と、当該少なくとも１つのワークＷに対して照明光を照射した状態で撮像装置８により取得された画像との差分から入力画像を生成する処理を含む。このシェーディング画像生成処理の詳細については、後述する。
【００５１】
前処理の実行後、画像処理装置１００のＣＰＵ１１０は、入力画像内の軸領域抽出処理を実行する（ステップＳ２）。この軸領域抽出処理は、入力画像に含まれるワークＷの軸部分を特定するための処理である。すなわち、軸領域抽出処理は、入力画像から、軸部分に相当する領域を軸領域として抽出する処理を含む。このワークＷの軸部分に対応する領域を「軸領域」とも称す。この軸領域抽出処理の詳細については、後述する。
【００５２】
軸領域抽出処理の実行後、画像処理装置１００のＣＰＵ１１０は、入力画像内の頭候補抽出処理を実行する（ステップＳ３）。この頭候補抽出処理は、入力画像に含まれるワークＷの頭部分を特定するための処理である。後述するように、この頭部分は、入力画像内の明るさ（輝度）に基づいて抽出される。頭部分の表面では法線が色々な方向となっているので、頭部分に対応する領域の輝度変化が相対的に大きくなる。そのため、このような現象を入力画像内で捉えて、頭部分を特定する。このように、頭候補抽出処理は、入力画像内の明るさの変化からワークＷの頭部分の候補位置を抽出する処理を含む。上述したように、頭候補抽出処理では、入力画像内の明るさに基づいて頭部分（の候補位置）を抽出するので、誤って検出された位置（ノイズ成分）も含まれ得る。このようなノイズ成分を含む候補位置から、後述するような処理によって、ワークＷの確からしい頭部分が抽出される。
【００５３】
上述したステップＳ１〜Ｓ３までの処理が二次元処理（二次元画像処理）に係る。
続いて、画像処理装置１００のＣＰＵ１１０は、三次元座標計測処理を実行する（ステップＳ４）。この三次元座標計測処理は、ステップＳ２およびＳ３において抽出された、ワークＷの軸領域および頭候補についての三次元座標値を計測する処理である。二次元画像処理において抽出された軸領域および頭候補の二次元座標値については取得されているので、本質的には、これらについての高さ情報が取得される。すなわち、三次元座標計測処理は、ワークＷの軸領域および候補位置についての高さ情報を取得する処理を含む。
【００５４】
このような三次元座標計測処理の一例として、本実施の形態においては位相シフト法を採用する。位相シフト法を採用することで、上述のステップＳ１の前処理に必要なプロジェクタ（照明装置）７および撮像装置８を利用して、三次元座標値を取得できるので、装置が簡素化できるという利点がある。
【００５５】
もちろん、ワークＷの軸領域および頭候補についての三次元座標値（高さ情報）を取得できれば、どのような三次元座標計測処理を採用してもよい。たとえば、位相シフト法に代えて、空間コード化法などを採用することもできる。さらに、画像処理装置１００とは別の計測装置を用いて、ワークＷの軸領域および頭候補についての三次元座標値を取得し、この取得された三次元座標値を画像処理装置１００に入力するようにしてもよい。この三次元座標計測処理（位相シフト法）の詳細については、後述する。
【００５６】
三次元座標計測処理の実行後、画像処理装置１００のＣＰＵ１１０は、三次元座標系での頭候補判別処理を実行する（ステップＳ５）。この頭候補判別処理は、ステップＳ２において抽出された軸領域の三次元座標値と、ステップＳ３において抽出された頭候補の三次元座標値との相対的な位置関係を考慮して、各軸領域について、頭候補のうち頭部分に相当するものを判別する処理である。より具体的には、頭候補判別処理では、ワークＷの形状を考慮して、ある軸領域のいずれかの端から所定範囲内に存在する頭候補のみを確からしいものとして抽出する。このように、頭候補判別処理は、軸領域との間の相対的な位置関係から、軸領域に対応するワークＷの頭部分に相当する位置を候補位置から抽出する処理を含む。
【００５７】
頭候補判別処理の実行後、画像処理装置１００のＣＰＵ１１０は、出力処理を実行する（ステップＳ６）。この出力処理は、ワークＷについて頭部分の位置および軸部分の方向の情報をロボットコントローラ２００（図２）などへ出力する処理である。この出力される頭部分の位置情報は、三次元座標値を示す値を含み、軸部分の方向の情報は、三次元空間上のベクトルを示す値を含む。より具体的には、出力処理は、ワークＷの軸領域の高さ情報（三次元座標値）から対応するワークＷの軸部分の方向を決定する処理を含む。
【００５８】
なお、画像処理装置１００が三次元計測によって取得する座標系と、ロボット３００の処理において利用される座標系とは一致していない場合も多いので、ロボット３００が扱う三次元空間上の座標値に変換して出力することが好ましい。
【００５９】
また、複数のワークＷがバラ積みされているような状況では、複数のワークＷについて中心位置の情報が取得された場合には、それぞれのワークＷを識別するための情報とともに、対応する中心位置の情報を出力するようにしてもよい。この場合、ロボットコントローラ２００（図２）などへの出力を考慮すると、複数のワークＷが存在した場合には、各ワークＷについて個別に出力されることが好ましい。そのため、ステップＳ６の出力処理においては、軸領域と対応して抽出された少なくとも１つ候補位置との組の各々について、頭部分の位置および軸部分を関連付けて出力する処理を含めることが好ましい。
【００６０】
あるいは、最上部に位置する、すなわち算出された中心位置が最も確からしいワークＷについての情報のみを出力してもよい。図１に示すような把持システムＳＹＳでは、このワークＷの中心位置の情報が出力されることに伴って、ロボット３００が最上部のワークＷを把持するので、当該ワークＷが取り除かれた状態で再度計測処理を実行するようにしてもよい。
【００６１】
なお、図３に示すフローチャートにおいて、ステップＳ２およびＳ３（軸領域抽出処理および頭候補抽出処理）と、ステップＳ４（三次元座標計測処理）とを並列的に実行するようにしてもよい。
【００６２】
《Ｄ．前処理》
まず、図３に示す前処理（ステップＳ１）の詳細について説明する。上述したように、前処理は、環境光から撮像装置８に入射する光の影響を取り除き、プロジェクタ７からの照明光がワークＷで反射して生じる光（反射光）のみを観測するための処理である。このような環境光の影響を取り除くため、プロジェクタ７から照明光を照射していない状態で取得される画像と、プロジェクタ７から照明光を照射している状態で取得される画像との差分から差分画像（シェーディング画像）が生成される。
【００６３】
図４は、本発明の実施の形態に係る前処理の処理例を示す図である。図４を参照して、本実施の形態に係る画像処理方法においては、ワークＷの周囲からの外乱光（環境光）の影響を排除するために、（ｃ）シェーディング画像が生成される。より具体的には、プロジェクタ７から白色パターンを照明光として照射した状態で撮像される画像（図４に示す（ａ）白色パターン投影＋環境光画像）が取得される。白色パターンとは、照射面内における濃淡が均一とみなせるようなパターンを意味し、その照射面内におけるスペクトルの範囲や長さについて特に限定されるものではない。したがって、その照射面内が赤色や青色の光で均一化されているようなパターンを用いてもよい。
【００６４】
また、プロジェクタ７から照明光も照射していない状態で撮像される画像（図４に示す（ｂ）環境光画像）が取得される。
【００６５】
そして、これらの画像間の差分が計算されることで、（ｃ）シェーディング画像が生成される。この画像間の差分の計算とは、両画像の間で対応する画素についての色情報（たとえば、Ｒ，Ｇ，Ｂの各濃淡値）を減算するような処理を含む。
【００６６】
このような前処理については、特に、太陽光などの時間的に変化する環境光が撮像装置８の視野に入射しているような状況で有効である。言い換えれば、環境光が安定しており、プロジェクタ７が照射する照明光に対して相対的に小さいものであれば、このような前処理を省略してもよい。この場合には、図４に示す（ａ）白色パターン投影＋環境光画像のみで以降の処理を行ってもよい。
【００６７】
《Ｅ．軸領域抽出処理》
次に、図３に示す軸領域抽出処理（ステップＳ２）の詳細について説明する。上述したように、軸領域抽出処理は、入力画像に含まれるワークＷの軸部分を特定するための処理である。なお、入力画像としては、上述したような処理によって得られるシェーディング画像が用いられる。
【００６８】
このような軸領域抽出処理の実装形態としては種々の方法、たとえばパターンマッチングなどの方法を採用することができるが、本実施の形態においては、セグメンテーション処理を利用する。このようなセグメンテーション処理は、入力されたシェーディング画像（入力画像）を所定の規則で分割することで、軸領域を抽出する。セグメンテーション処理のより具体的に実装形態としては、公知の各種の方法を採用することができる。シンプルな方法としては、入力画像内で明るさ（輝度または明度）がほぼ同様の値をもつ領域を特定する方法などが挙げられる。
【００６９】
本実施の形態においては、このようなセグメンテーション処理の一例として、"Normalized Cuts"法を採用する。この"Normalized Cuts"法の詳細については、「Jianbo Shi and Jitendra Malik, "Normalized Cuts and Image Segmentation", IEEE Transaction on Pattern Analysis and Machine Intelligence, Vol. 22, No. 8, August 2000」などを参照されたい。
【００７０】
図５は、本発明の実施の形態に係る軸領域抽出処理の処理例を示す図である。図５に示す（ａ）入力画像に対して、上述のセグメンテーション処理の一例である"Normalized Cuts"法を適用することで、（ｂ）セグメンテーション結果のような結果画像が生成される。このようなセグメンテーション結果に対して、ワークＷの形状に応じた条件を適用して、領域を抽出すると、（ｃ）軸領域抽出結果のような結果画像が生成される。基本的には、この抽出された軸領域について、以下に説明するような処理が実行される。この抽出された軸領域は、入力画像上の二次元座標系における座標値を用いて、その範囲が特定される。
【００７１】
《Ｆ．頭候補抽出処理》
次に、図３に示す頭候補抽出処理（ステップＳ３）の詳細について説明する。この頭候補抽出処理は入力画像に含まれるワークＷの頭部分を特定するための処理である。本実施の形態においては、二段階の処理を経ることで、頭候補が抽出される。
【００７２】
より具体的には、第一段階の処理として、入力画像内の輝度変化に基づいて、頭候補が抽出される。この第一段階の処理では、入力画像内において隣接する領域に比較して、相対的に明るい位置が頭部分の候補位置として抽出される。
【００７３】
続く第二段階の処理として、図３のステップＳ２において先に抽出される軸領域との相対位置関係を利用して、頭部分の候補位置がさらに絞り込まれる。この第二段階の処理では、入力画像内において相対的に明るい位置のうち、先に抽出されたいずれかの軸領域の両端から予め定められた範囲内に存在するものが頭部分の候補位置として絞り込まれる。
【００７４】
以下、これらの処理の詳細について説明する。
（ｆ１：入力画像内の輝度変化に基づく抽出処理）
上述したように、まず、入力画像内の輝度変化に基づいて頭候補が抽出される。ワークＷの頭部分の形状は、半球状のものなど、その表面の法線が色々な方向となっているものが多い。そのため、この半球状の表面で反射する光によって、入力画像内では頭部分に対応する領域の輝度変化が相対的に大きくなり、かつ入力画像全体として見れば、点状に観測されることになる。
【００７５】
この第一段階の処理では、このような現象を入力画像内で捉えて、頭部分を特定する。すなわち、入力画像内において、周辺の領域から独立して単独で存在し、かつ、明るさ（輝度）の強い点が抽出される。入力画像からこのような輝度変化が相対的に大きく、点状に分布する部分を、入力画像についてのヘッシアンＨの値から抽出する。
【００７６】
入力画像（二次元画像）の縦方向および横方向をそれぞれｘ方向およびｙ方向とし、各画素の輝度をｆで表すと、ヘッシアンＨの行列式は、ｘ方向および／またはｙ方向の二階偏微分を用いて、以下のように表すことができる。
【００７７】
【数１】
0005757157.tif 000002
【００７８】
さらに、この各画素位置について算出されるヘッシアン値に対して、所定のしきい値処理をすることで、すなわち、算出されたヘッシアン値が所定のしきい値を超える位置のみを抽出することで、頭候補を抽出することができる。
【００７９】
図６は、本発明の実施の形態に係る頭候補抽出処理の第一段階の処理結果の一例を示す図である。図６（ａ）には、入力画像について算出されたヘッシアン値の大きさを画像化して示す。図６（ｂ）は、頭候補の抽出結果を示す図である。すなわち、図６（ｂ）には、図６（ａ）に示されるヘッシアン値のうち、所定のしきい値を超えた位置を入力画像に重ね合わせて示す。
【００８０】
このようにして、第一段階として、ワークＷの頭部分の位置となる候補が抽出される。
（ｆ２：軸領域の両端との相対位置に基づく抽出処理）
続いて、軸領域の両端との相対位置に基づいて、第一段階で抽出された頭候補が絞られる。すなわち、第一段階において説明した入力画像内の輝度変化に基づいて抽出される頭候補は、その数が多くなりすぎる場合があり、かつ、誤って抽出されたものも含まれ得る。そこで、第二段階として頭候補を選別する。
【００８１】
より具体的には、先に抽出された軸領域から、ワークＷの軸部分の終端位置と各頭候補の位置とを比較し、両者の間が所定距離内にあれば、有効な頭候補として選別する。
【００８２】
図７は、本発明の実施の形態に係る頭候補抽出処理の第二段階の処理内容を説明するための図である。図７を参照して、ワークＷの軸領域として抽出された範囲の両端から所定範囲（典型的には、端からの距離がｄ以内で、かつ、軸領域を基準に設定される角度θ内の範囲）に存在する頭候補が採用される。すなわち、図７においては、軸領域の両端からハッチングで示される範囲内に存在する頭候補のみが有効なものとして採用される。
【００８３】
（ｆ３：処理手順）
図８は、本実施の形態に係る画像処理装置１００において実行される頭候補抽出処理のより詳細な手順を示すフローチャートである。図８に示す処理手順は、図３に示すステップＳ３の処理内容をより詳細に示すものである。
【００８４】
図８を参照して、画像処理装置１００のＣＰＵ１１０は、入力画像についてのヘッシアン値を算出する（ステップＳ３１）。続いて、ＣＰＵ１１０は、ステップＳ３１において算出された各画素についてのヘッシアン値のうち所定のしきい値を超えているものを抽出し、抽出された画素を頭候補として設定する（ステップＳ３２）。
【００８５】
続いて、ＣＰＵ１１０は、ステップＳ２において抽出された軸領域のうち対象となる軸領域を選択する（ステップＳ３３）。続いて、ＣＰＵ１１０は、対象の軸領域について有効な頭候補が存在すべき範囲（図７に示すハッチングの範囲）を設定する（ステップＳ３４）。さらに、ＣＰＵ１１０は、ステップＳ３２において頭候補として設定した画素のうち、ステップＳ３４において設定した範囲内に存在するものを選別する（ステップＳ３５）。そして、選別した画素に対応する座標値（すなわち、頭候補の位置）を現在対象として選択している軸領域に対応付けて記憶する（ステップＳ３６）。なお、対象として選択している軸領域の範囲内に頭候補が全く存在しない場合には、当該軸領域は有効なものとはみなせないので、破棄するようにしてもよい。実質的には、ステップＳ３６において、そのような軸領域に対応する頭候補が記憶されないので、以降の処理においても利用されなくなる。
【００８６】
その後、ＣＰＵ１１０は、ステップＳ２において抽出された軸領域のすべてを対象として選択したか否かを判断する（ステップＳ３７）。ステップＳ２において抽出された軸領域のうち対象として選択されていないものがあれば（ステップＳ３７においてＮＯ）、ＣＰＵ１１０は、次の軸領域を対象として選択し（ステップＳ３８）、ステップＳ３４以下の処理を繰返す。
【００８７】
一方、ステップＳ２において抽出された軸領域のうちすべてを対象として選択していれば（ステップＳ３７においてＹＥＳ）、図３に示すステップＳ４以下の処理が引き続いて実行される。
【００８８】
《Ｇ．三次元座標計測処理》
次に、図３に示す三次元座標計測処理（ステップＳ４）の詳細について説明する。上述したように、三次元座標計測処理は、ワークＷについて抽出された軸領域および頭候補についての三次元座標値を取得するための処理である。本実施の形態においては、このような三次元座標値を取得する処理の具体例として、位相シフト法が採用される。この位相シフト法は、照射面内において正弦波状に濃淡を変化させたパターンを有する照明光を照射した状態で撮像された画像（正弦波投影画像）を用いる方法である。
【００８９】
より具体的には、照射面内の濃淡の変化周期や位相を異ならせたパターンを複数用意し、それぞれのパターンを照射したときにそれぞれ撮像される画像を正弦波投影画像群として取得する。そして、これらの正弦波投影画像間における対応する部分の明るさ（輝度や明度）の変化に基づいて、各部分の高さ情報（三次元座標値）が算出される。
【００９０】
図９は、本発明の実施の形態に係る三次元座標計測処理に用いられるパターンの一例を示す図である。図１０は、本発明の実施の形態に係る三次元座標計測処理の処理例を示す図である。
【００９１】
図９（ａ）〜（ｄ）に示すように、位相シフト法では、照射面内における濃淡パターンをその変化周期や位相を異ならせた複数のパターンが用いられる。このように異なる複数の濃淡パターンを用いることで、計測レンジを広げつつ計測対象物の三次元計測を行うことができる。
【００９２】
このような位相シフト法によって、図１０の（ａ）正弦波投影画像群から（ｂ）高さ画像を生成することができる。なお、図１０には、理解を容易化するために、高さ情報を色情報（濃淡変化）で示した高さ画像を例示するが、位相シフト法においては、各部の高さ情報を含む三次元座標値が取得されることになる。
【００９３】
このように、本実施の形態に係る三次元座標計測処理においては、ワークＷに対して、プロジェクタ７が所定方向から複数の異なる濃淡パターンを照射するとともに、それぞれの照射時に撮像装置８によりそれぞれ撮像された複数の画像を用いて高さ情報が取得される。
【００９４】
《Ｈ．頭候補判別処理》
次に、図３に示す頭候補判別処理（ステップＳ５）の詳細について説明する。上述したように、頭候補判別処理は、軸領域の各々に対応付けられている頭候補のうち、頭部分であるとされる確率の高いものを判別する処理である。この頭候補判別処理については、軸領域および頭候補の三次元情報（三次元座標値）を利用して、ワークＷの確からしい頭部分が判別される。なお、１つの軸領域について、複数の頭候補が判別されてもよい。
【００９５】
上述の頭候補抽出処理の手順を示すフローチャート（図８）のステップＳ３６において説明したように、軸領域（ワークＷの軸部分）の各々と対応する頭候補とは、先に関連付けて記憶される。本実施の形態に係る頭候補判別処理においては、これらを１セット（一組）として、それぞれに三次元座標値を付与した上で、三次元座標系における相対的な位置関係から、頭候補のうち有効なものが判定される。より具体的には、軸領域の表面における三次元座標値、頭候補の三次元座標値、および撮像装置８が配置される三次元座標値を用いて、これらの間の相対的な位置関係を考慮して判別する。
【００９６】
特に、本実施の形態に係る頭候補判別処理においては、「頭部分（頭候補）は軸部分の表面（軸領域）よりも撮像装置８の側に存在する」という基本的な判定基準を採用する。これは、ネジ、ボルト、釘などのワークＷについてみれば、頭部分の径が軸部分に対してより大きいので、バラ積みされた状態でその上部などから撮像装置８を用いて撮像した場合には、頭部分の表面の方が軸部分の表面より撮像装置８側に位置するためである。
【００９７】
すなわち、本実施の形態においては、入力画像は、少なくとも１つのワークＷに対して予め定められた距離だけ離れた位置に配置された撮像装置８を用いて撮像することで取得され、頭部分に相当する位置を頭候補（の位置）から抽出する処理（頭候補判別処理）においては、軸領域に比較して撮像装置８の側に位置する頭候補（候補位置）を頭部分に相当する位置として抽出する処理を含む。
【００９８】
図１１は、本発明の実施の形態に係る頭候補判別処理においてＯＫと判別される条件を模式的に示す図である。図１２は、本発明の実施の形態に係る頭候補判別処理においてＮＧと判別される条件を模式的に示す図である。
【００９９】
図１１（ａ）を参照して、軸領域端の片方にのみに判定基準を満たす頭候補が存在する場合に、対象の軸領域と対応する頭候補との組について、判定基準を満たすと判断される。なお、図１１（ｂ）に示すように、軸領域端の片方にのみ存在するのであれば、判定基準を満たす頭候補が２つ以上存在してもよい。この場合には、これらの判定基準を満たす複数の頭候補から、共通の頭部分を特定することができる。
【０１００】
これに対して、図１２（ａ）に示すように、軸領域端の両方に判定基準を満たす頭候補が存在する場合には、本来のワークＷの形状に合致しないので、判定基準を満たさないと判断される。判定基準を満たさないと判断された場合には、対象の軸領域については頭候補（頭部分）が存在しないと出力される。
【０１０１】
また、図１２（ａ）に示すように、軸領域端のいずれにも判定基準を満たす頭候補が存在しない場合にも、本来のワークＷの形状に合致しないので、判定基準を満たさないと判断される。判定基準を満たさないと判断された場合には、対象の軸領域については頭候補（頭部分）が存在しないと出力される。
【０１０２】
軸領域と頭候補とからなる組の各々に対して、図１１および図１２に示す判定基準を用いて、頭候補判別処理が繰返し実行される。そして、判定基準を満たす頭候補が存在する軸領域についてのみ、軸領域に対応する軸部分と頭候補に対応する頭部分との組をあるワークＷから得られた情報として出力する。
【０１０３】
《Ｉ．出力処理》
次に、図３に示す出力処理（ステップＳ６）の詳細について説明する。上述したように、出力処理は、ワークＷについて頭部分の位置および軸部分の方向の情報をロボットコントローラ２００（図２）などへ出力する処理である。
【０１０４】
より具体的には、上述の頭候補判別処理によって得られた、頭部分と軸部分との各組について、頭部分の三次元座標値と軸部分の方向とが算出および出力される。
【０１０５】
なお、あらかじめワークＷの設計情報をＣＡＤデータなどから取得しておき、算出された頭部分の三次元座標値と軸部分の方向とを、当該ＣＡＤデータを基準とした偏差の情報として出力してもよい。たとえば、ＣＡＤデータに記載のワークＷの配置位置および配置方向を基準として、検出されたワークＷの位置変位量および回転変位量とを出力するようにしてもよい。このような変位出力のデータ形式としては、位置変位量を示す（ｘ，ｙ，ｚ）が出力されるとともに、回転変位量を示す（α，β，γ）が出力される。
【０１０６】
もちろん、上述したようなデータ出力の形態に限定されることなく、出力先の使用用途に応じた形式でデータを出力すればよい。
【０１０７】
《Ｊ．計測例》
図１３は、本発明の実施の形態に係る画像処理によって生成された認識結果の一例を示す図である。図１３に示す認識結果は、複数のワークＷ（図４に示すような多数のボルト）がバラ積みされている状態を撮像した入力画像から得られたものである。なお、図１３に示す線は、上述した処理によって算出されたワークＷの軸部分の位置および方向を示し、その周辺に描かれている円は、検出された頭部分の位置や方向などを示す。
【０１０８】
このように、本実施の形態に係る画像処理方法によれば、比較的短時間で、任意の方向に配置されているワークＷの位置およびその中心軸を決定することができる。ワークＷの頭部分の位置および軸部分の方向をより短時間で算出できる。
【０１０９】
《Ｋ．変形例》
上述の説明では、各ワークＷについて、算出された頭部分の位置および頭部分の方向などをそのまま出力するような形態について説明したが、いずれの一方の情報のみを出力するようにしてもよい。あるいは、これらの情報にさらに別の情報を付加した出力してもよい。
【０１１０】
《Ｌ．利点》
本実施の形態に係る画像処理装置によれば、二次元画像に対する画像処理と、同一のワークＷに対する三次元座標計測処理とを組合せることで、第１の径を有する軸部分と、軸部分の一端に設けられた第１の径より大きな第２の径を有する頭部分とを含むワークＷについて、その頭部分の位置およびその軸部分の方向をより高速に算出することができる。
【０１１１】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１１２】
７  プロジェクタ
８  撮像装置
１００  画像処理装置
１０２  ディスプレイ
１０４  マウス
１０６  メモリカード
１１０  ＣＰＵ
１１２  メインメモリ
１１４  ハードディスク
１１６  カメラインターフェイス
１１６ａ  画像バッファ
１１８  入力インターフェイス
１２０  表示コントローラ
１２２  プロジェクタインターフェイス
１２４  通信インターフェイス
１２６  データリーダ／ライタ
１２８  バス
２００  ロボットコントローラ
３００  ロボット
ＳＹＳ  把持システム
Ｗ  ワーク
【図１】
0005757157.tif 000003
【図２】
0005757157.tif 000004
【図３】
0005757157.tif 000005
【図８】
0005757157.tif 000006
【図１１】
0005757157.tif 000007
【図１２】
0005757157.tif 000008
【図１３】
0005757157.tif 000009
【図４】
0005757157.tif 000010
【図５】
0005757157.tif 000011
【図６】
0005757157.tif 000012
【図７】
0005757157.tif 000013
【図９】
0005757157.tif 000014
【図１０】
0005757157.tif 000015