(57)【要約】【課題】本発明は、簡易な構成で、エッジ部分の画像解析により対象体の３次元位置・姿勢認識が可能な３次元位置・姿勢認識装置、３次元位置・姿勢認識方法、３次元位置・姿勢認識プログラムの提供を目的とする。【解決手段】本発明にかかる３次元位置・姿勢認識装置は、第１画像と、第２画像とのうち少なくとも一方に撮像された対象体１の画像要素を解析し、対象体１におけるエッジの方向を検出する検出手段４と、検出結果に基づいて、第１撮像手段２及び第２撮像手段３のうち少なくとも一方と対象体１との相対位置を変化させるか否かを判断する判断手段５と、第１撮像手段２及び第２撮像手段３のうち少なくとも一方を、対象体１に対して相対的に移動させる移動手段６とを備えることを特徴とする。【選択図】図１
2012202732.tif 000002
【特許請求の範囲】
【請求項１】
対象体の画像を撮像する第１及び第２撮像手段と、
前記第１撮像手段において撮像した第１画像と、前記第２撮像手段において撮像した第２画像とのうち少なくとも一方に撮像された前記対象体の画像要素を解析し、前記対象体におけるエッジの方向を検出する検出手段と、
前記検出手段における検出結果に基づいて、前記第１及び第２撮像手段のうち少なくとも一方と前記対象体との相対位置を変化させるか否かを判断する判断手段と、
前記判断手段が前記相対位置を変化させると判断した場合、前記第１及び第２撮像手段のうち少なくとも一方を、前記対象体に対して相対的に移動させる移動手段とを備え、
前記相対的な移動が行われた場合には、前記第１及び第２撮像手段は、再度前記対象体の画像を撮像して前記第１画像及び前記第２画像のうち少なくとも一方を更新し、
前記第１画像及び前記第２画像に基づいて、前記対象体の３次元位置・姿勢認識処理を行う認識手段をさらに備えることを特徴とする、
３次元位置・姿勢認識装置。
【請求項２】
前記第１撮像手段の配置位置と前記第２撮像手段の配置位置とを通る視差方向軸の、前記第１画像上又は前記第２画像上に射影した成分に沿う方向を、画像上の視差方向とし、
前記判断手段が、検出された前記エッジの方向と前記画像上の視差方向との平行度合いに基づいて、前記第１及び第２撮像手段のうち少なくとも一方と前記対象体との前記相対位置を変化させるか否かを判断することを特徴とする、
請求項１に記載の３次元位置・姿勢認識装置。
【請求項３】
前記画像上の視差方向と平行とみなされる前記エッジ数の、全エッジ数に対する割合が閾値以上である場合に、
前記判断手段が、前記第１及び第２撮像手段のうち少なくとも一方と前記対象体との前記相対位置を変化させるように判断することを特徴とする、
請求項２に記載の３次元位置・姿勢認識装置。
【請求項４】
所定の基準によって前記画像上の視差方向と平行とみなされる前記エッジの合計長さの、全エッジの合計長さに対する割合が閾値以上である場合に、
前記判断手段が、前記第１及び第２撮像手段のうち少なくとも一方と前記対象体との前記相対位置を変化させるように判断することを特徴とする、
請求項２又は３に記載の３次元位置・姿勢認識装置。
【請求項５】
前記移動手段が、前記第１及び第２撮像手段のうち少なくとも一方を、前記第１及び第２撮像手段のうち少なくとも一方の光軸と垂直で、かつ、前記視差方向軸と垂直な方向成分を含むように移動させることを特徴とする、
請求項２〜４のいずれかに記載の３次元位置・姿勢認識装置。
【請求項６】
前記移動手段が、前記第１及び第２撮像手段の双方を、前記第１及び第２撮像手段の前記光軸の角二等分線に沿う中央光軸を中心に回転移動させることを特徴とする、
請求項５に記載の３次元位置・姿勢認識装置。
【請求項７】
前記移動手段が、前記対象体を、前記第１及び第２撮像手段の光軸の角二等分線に沿う中央光軸を中心に、回転移動させることを特徴とする、
請求項２〜４のいずれかに記載の３次元位置・姿勢認識装置。
【請求項８】
対象体の画像を撮像する撮像手段と、
前記撮像手段において撮像した第１画像に撮像された前記対象体の画像要素を解析して前記対象体におけるエッジの方向を検出し、前記撮像手段を移動させる予定移動位置を選定する移動位置選定手段と、
前記予定移動位置に前記撮像手段を移動させる移動手段とを備え、
前記撮像手段は、前記移動手段によって移動された後、再度、前記対象体の画像である第２画像を撮像し、
前記第１画像及び前記第２画像に基づいて、前記対象体の３次元位置・姿勢認識処理を行う認識手段をさらに備えることを特徴とする、
３次元位置・姿勢認識装置。
【請求項９】
前記撮像手段の移動前後の配置位置を通る予定視差方向軸の、前記第１画像上に射影した成分に沿う方向を、画像上の予定視差方向とし、
前記移動位置選定手段が、検出した前記エッジの方向と前記画像上の予定視差方向との平行度合いに基づいて、前記撮像手段を移動させる予定移動位置を選定することを特徴とする、
請求項８に記載の３次元位置・姿勢認識装置。
【請求項１０】
前記移動位置選定手段が、前記画像上の予定視差方向と平行とみなされる前記エッジ数の、全エッジ数に対する割合が閾値未満となるような配置位置を、前記撮像手段を移動させる前記予定移動位置に選定することを特徴とする、
請求項９に記載の３次元位置・姿勢認識装置。
【請求項１１】
前記移動位置選定手段が、前記画像上の予定視差方向と平行とみなされる前記エッジの合計長さの、全エッジの合計長さに対する割合が閾値未満となるような配置位置を、前記撮像手段を移動させる前記予定移動位置に選定することを特徴とする、
請求項９又は１０に記載の３次元位置・姿勢認識装置。
【請求項１２】
前記認識手段は、前記第１画像と前記第２画像とにおける前記対象体のエッジに基づいてステレオマッチングを行い、前記対象体の３次元位置・姿勢認識処理を行うことを特徴とする、
請求項１〜１１のいずれかに記載の３次元位置・姿勢認識装置。
【請求項１３】
コンピュータにインストールされて実行されることにより、前記コンピュータを請求項１〜１２のいずれかに記載の３次元位置・姿勢認識装置として機能させることを特徴とする、
３次元位置・姿勢認識プログラム。
【請求項１４】
（ａ）互いに異なる第１位置と第２位置とから対象体の画像を撮像する工程と、
（ｂ）前記第１位置で撮像した第１画像と、前記第２位置で撮像した第２画像とのうち少なくとも一方に撮像された前記対象体の画像要素を解析し、前記対象体におけるエッジの方向を検出する工程と、
（ｃ）前記工程（ｂ）における検出結果に基づいて、前記第１位置及び第２位置のうち少なくとも一方と前記対象体との相対位置を変化させるか否かを判断する工程と、
（ｄ）前記工程（ｃ）において前記相対位置の移動が必要と判断した場合、前記相対位置を移動させる工程と、
（ｅ）前記相対位置が移動された場合、前記相対位置の移動後の前記第１位置と前記第２位置とから再度前記対象体の画像を撮像して、前記第１画像及び前記第２画像のうち少なくとも一方を更新する工程と、
（ｆ）前記第１画像及び前記第２画像に基づいて、前記対象体の３次元位置・姿勢認識処理を行う工程とを備えることを特徴とする、
３次元位置・姿勢認識方法。
【請求項１５】
前記第１位置と前記第２位置とを通る視差方向軸の、前記第１画像上又は前記第２画像上に射影した成分に沿う方向を、画像上の視差方向とし、
前記工程（ｃ）が、検出された前記エッジの方向と前記画像上の視差方向との平行度合いに基づいて、前記相対位置を変化させるか否かを判断する工程であることを特徴とする、
請求項１４に記載の３次元位置・姿勢認識方法。
【請求項１６】
前記第１位置と前記第２位置とにおける撮像が、第１及び第２撮像手段によってそれぞれ行われることを特徴とする、
請求項１４又は１５に記載の３次元位置・姿勢認識方法。
【請求項１７】
前記第１位置と前記第２位置とにおける撮像が、単一の撮像手段を移動させて行う時差撮像であることを特徴とする、
請求項１４又は１５に記載の３次元位置・姿勢認識方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は３次元位置・姿勢認識装置、３次元位置・姿勢認識方法、３次元位置・姿勢認識プログラムに関し、特に、３次元位置・姿勢認識に適する画像の撮像に関する。
【背景技術】
【０００２】
産業用ロボット等を用いて精密機械部品等の組立てを行う場合、当該部品等の３次元位置・姿勢を認識して、ピッキング等を行う必要がある。ここで３次元位置・姿勢とは、対象体の空間位置及び空間姿勢のうち少なくとも一方（典型的には双方）を含む座標値の組として定義されるものである。その場合、例えば、部品等の画像を撮像し、当該画像を処理するステレオ法や、光切断法等を用いる３次元計測装置を利用して、組立てに用いる部品の３次元位置・姿勢認識処理を行う。
【０００３】
従来から、この３次元位置・姿勢認識の精度を高めるために、例えば特許文献１に示されるように、同定した部品等（対象体）に応じて計測方法を変更したり、また特許文献２に示されるように、回転対称性を持たない多角形マークを部品等（対象体）に取り付けて、複数回の画像取得を行ったりしていた。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平７−９８２１７号公報
【特許文献２】特開２０１０−１１２７２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
比較的安価で簡易に用いることができるのは、撮像した左右画像の対応点を求め、その視差情報から距離を計算するステレオマッチングである。ステレオマッチングを用いる場合には、撮像手段として２台のカメラ等を用いて画像を撮像し、対象体の例えばエッジ部分を画像解析していくが、それぞれの画像上の視差方向と平行なエッジ（以下、平行エッジ）が対象体に含まれる場合、当該平行エッジ部分では、ステレオマッチングの精度が低下するという問題があった。ここで画像上の視差方向は、一方のカメラの配置位置と他方のカメラの配置位置とを通る軸（以下、視差方向軸とする）の、左右画像上に射影した成分に沿う方向とする。
【０００６】
左右画像における対応点を求める際、まず、左右画像間のレンズの歪みやカメラの傾き等を考慮した画像補正をする。そして、前述の画像上の視差方向とは垂直な画像上の高さ方向を定義し、その高さ方向の等しいブロック範囲の画像について、画像上の視差方向に沿って検索する。この検索において、ブロック範囲の画像の一致度が高い点を対応点とする。このため、画像上の視差方向に沿う平行エッジがあると、その部分では同程度の一致度を持つ点が直線的に連続することになり、一致度が高まる適切な１点を特定できないため、当該問題が生じる。
【０００７】
対象体の表面にテクスチャ等がある場合には、当該テクスチャ部分を利用して対応点を特定することも可能であるが、対象体にそのようなテクスチャがないことも多々あり、エッジ部分を用いて適切に対応点を求める必要があった。
【０００８】
また当該問題は、撮像に用いるカメラをさらに増やすことによって解決することも可能であるが、カメラが増えることにより画像処理等がさらに複雑となり、処理時間も増大してしまう。また、装置のコスト等の増大も生じることとなるため好ましくない。
【０００９】
本発明は上記のような問題を解決するためになされたものであり、簡易な構成で、エッジ部分の画像解析により対象体の３次元位置・姿勢認識が可能な３次元位置・姿勢認識装置、３次元位置・姿勢認識方法、３次元位置・姿勢認識プログラムの提供を目的とするものである。
【課題を解決するための手段】
【００１０】
請求項１の発明である３次元位置・姿勢認識装置は、対象体の画像を撮像する第１及び第２撮像手段と、前記第１撮像手段において撮像した第１画像と、前記第２撮像手段において撮像した第２画像とのうち少なくとも一方に撮像された前記対象体の画像要素を解析し、前記対象体におけるエッジの方向を検出する検出手段と、前記検出手段における検出結果に基づいて、前記第１及び第２撮像手段のうち少なくとも一方と前記対象体との相対位置を変化させるか否かを判断する判断手段と、前記判断手段が前記相対位置を変化させると判断した場合、前記第１及び第２撮像手段のうち少なくとも一方を、前記対象体に対して相対的に移動させる移動手段とを備え、前記相対的な移動が行われた場合には、前記第１及び第２撮像手段は、再度前記対象体の画像を撮像して前記第１画像及び前記第２画像のうち少なくとも一方を更新し、前記第１画像及び前記第２画像に基づいて、前記対象体の３次元位置・姿勢認識処理を行う認識手段をさらに備えることを特徴とする。
【００１１】
請求項２の発明は、請求項１に記載の３次元位置・姿勢認識装置であって、前記第１撮像手段の配置位置と前記第２撮像手段の配置位置とを通る視差方向軸の、前記第１画像上又は前記第２画像上に射影した成分に沿う方向を、画像上の視差方向とし、前記判断手段が、検出された前記エッジの方向と前記画像上の視差方向との平行度合いに基づいて、前記第１及び第２撮像手段のうち少なくとも一方と前記対象体との前記相対位置を変化させるか否かを判断することを特徴とする。
【００１２】
請求項３の発明は、請求項２に記載の３次元位置・姿勢認識装置であって、前記画像上の視差方向と平行とみなされる前記エッジ数の、全エッジ数に対する割合が閾値以上である場合に、前記判断手段が、前記第１及び第２撮像手段のうち少なくとも一方と前記対象体との前記相対位置を変化させるように判断することを特徴とする。
【００１３】
請求項４の発明は、請求項２又は３に記載の３次元位置・姿勢認識装置であって、所定の基準によって前記画像上の視差方向と平行とみなされる前記エッジの合計長さの、全エッジの合計長さに対する割合が閾値以上である場合に、前記判断手段が、前記第１及び第２撮像手段のうち少なくとも一方と前記対象体との前記相対位置を変化させるように判断することを特徴とする。
【００１４】
請求項５の発明は、請求項２〜４のいずれかに記載の３次元位置・姿勢認識装置であって、前記移動手段が、前記第１及び第２撮像手段のうち少なくとも一方を、前記第１及び第２撮像手段のうち少なくとも一方の光軸と垂直で、かつ、前記視差方向軸と垂直な方向成分を含むように移動させることを特徴とする。
【００１５】
請求項６の発明は、請求項５に記載の３次元位置・姿勢認識装置であって、前記移動手段が、前記第１及び第２撮像手段の双方を、前記第１及び第２撮像手段の前記光軸の角二等分線に沿う中央光軸を中心に回転移動させることを特徴とする。
【００１６】
請求項７の発明は、請求項２〜４のいずれかに記載の３次元位置・姿勢認識装置であって、前記移動手段が、前記対象体を、前記第１及び第２撮像手段の光軸の角二等分線に沿う中央光軸を中心に、回転移動させることを特徴とする。
【００１７】
また、請求項８の発明は、３次元位置・姿勢認識装置であって、対象体の画像を撮像する撮像手段と、前記撮像手段において撮像した第１画像に撮像された前記対象体の画像要素を解析して前記対象体におけるエッジの方向を検出し、前記撮像手段を移動させる予定移動位置を選定する移動位置選定手段と、前記予定移動位置に前記撮像手段を移動させる移動手段とを備え、前記撮像手段は、前記移動手段によって移動された後、再度、前記対象体の画像である第２画像を撮像し、前記第１画像及び前記第２画像に基づいて、前記対象体の３次元位置・姿勢認識処理を行う認識手段をさらに備えることを特徴とする。
【００１８】
請求項９の発明は、請求項８に記載の３次元位置・姿勢認識装置であって、前記撮像手段の移動前後の配置位置を通る予定視差方向軸の、前記第１画像上に射影した成分に沿う方向を、画像上の予定視差方向とし、前記移動位置選定手段が、検出した前記エッジの方向と前記画像上の予定視差方向との平行度合いに基づいて、前記撮像手段を移動させる予定移動位置を選定することを特徴とする。
【００１９】
請求項１０の発明は、請求項９に記載の３次元位置・姿勢認識装置であって、前記移動位置選定手段が、前記画像上の予定視差方向と平行とみなされる前記エッジ数の、全エッジ数に対する割合が閾値未満となるような配置位置を、前記撮像手段を移動させる前記予定移動位置に選定することを特徴とする。
【００２０】
請求項１１の発明は、請求項９又は１０に記載の３次元位置・姿勢認識装置であって、前記移動位置選定手段が、前記画像上の予定視差方向と平行とみなされる前記エッジの合計長さの、全エッジの合計長さに対する割合が閾値未満となるような配置位置を、前記撮像手段を移動させる前記予定移動位置に選定することを特徴とする。
【００２１】
請求項１２の発明は、請求項１〜１１のいずれかに記載の３次元位置・姿勢認識装置であって、前記認識手段は、前記第１画像と前記第２画像とにおける前記対象体のエッジに基づいてステレオマッチングを行い、前記対象体の３次元位置・姿勢認識処理を行うことを特徴とする。
【００２２】
また、請求項１３の発明は、３次元位置・姿勢認識プログラムであって、コンピュータにインストールされて実行されることにより、前記コンピュータを請求項１〜１２のいずれかに記載の３次元位置・姿勢認識装置として機能させることを特徴とする。
【００２３】
また、請求項１４の発明は、３次元位置・姿勢認識方法であって、（ａ）互いに異なる第１位置と第２位置とから対象体の画像を撮像する工程と、（ｂ）前記第１位置で撮像した第１画像と、前記第２位置で撮像した第２画像とのうち少なくとも一方に撮像された前記対象体の画像要素を解析し、前記対象体におけるエッジの方向を検出する工程と、（ｃ）前記工程（ｂ）における検出結果に基づいて、前記第１位置及び第２位置のうち少なくとも一方と前記対象体との相対位置を変化させるか否かを判断する工程と、（ｄ）前記工程（ｃ）において前記相対位置の移動が必要と判断した場合、前記相対位置を移動させる工程と、（ｅ）前記相対位置が移動された場合、前記相対位置の移動後の前記第１位置と前記第２位置とから再度前記対象体の画像を撮像して、前記第１画像及び前記第２画像のうち少なくとも一方を更新する工程と、（ｆ）前記第１画像及び前記第２画像に基づいて、前記対象体の３次元位置・姿勢認識処理を行う工程とを備えることを特徴とする。
【００２４】
請求項１５の発明は、請求項１４に記載の３次元位置・姿勢認識方法であって、前記第１位置と前記第２位置とを通る視差方向軸の、前記第１画像上又は前記第２画像上に射影した成分に沿う方向を、画像上の視差方向とし、前記工程（ｃ）が、検出された前記エッジの方向と前記画像上の視差方向との平行度合いに基づいて、前記相対位置を変化させるか否かを判断する工程であることを特徴とする。
【００２５】
請求項１６の発明は、請求項１４又は１５に記載の３次元位置・姿勢認識方法であって、前記第１位置と前記第２位置とにおける撮像が、第１及び第２撮像手段によってそれぞれ行われることを特徴とする。
【００２６】
請求項１７の発明は、請求項１４又は１５に記載の３次元位置・姿勢認識方法であって、前記第１位置と前記第２位置とにおける撮像が、単一の撮像手段を移動させて行う時差撮像であることを特徴とする。
【発明の効果】
【００２７】
請求項１ないし１７のいずれの発明においても、撮像によって得た画像上で当該対象体のエッジの方向を判定し、そのエッジ方向に応じて、取得済の画像をそのまま使用するか、それとも、撮像位置と対象体との相対位置を変化させてから再撮像を行うか、という判断を行う。このため、当初に撮像した方向とエッジ方向との関係に応じて、マッチングに適した左右画像を得ることができるので、効率的な対象体の３次元位置・姿勢認識が可能となる。
【００２８】
特に請求項２の発明によれば、判断手段が、検出されたエッジの方向と画像上の視差方向との平行度合いに基づいて、第１及び第２撮像手段のうち少なくとも一方と対象体との相対位置を変化させるか否かを判断することにより、平行エッジとなってしまうエッジが検出されることを抑制し、画像上の視差方向と平行とみなされないエッジを用いて３次元位置・姿勢認識処理ができるので、３次元位置・姿勢認識の効率が向上する。
【００２９】
特に請求項５の発明によれば、移動手段が、第１及び第２撮像手段のうち少なくとも一方を、第１及び第２撮像手段のうち少なくとも一方の光軸と垂直で、かつ、視差方向軸と垂直な方向成分を含むように移動させることにより、視差方向軸の射影成分である画像上の視差方向を第１画像上、第２画像上で回転させ、画像上の平行エッジを平行とみなされないエッジとすることができ、ステレオマッチングの際、平行エッジにおいて誤認していた対応点を、適切に認識することができる。
【００３０】
また、請求項８の発明によれば、第１画像に撮像された対象体を解析して前記対象体におけるエッジの方向を検出し、撮像手段を移動させる予定移動位置を選定する移動位置選定手段と、前記予定移動位置に前記撮像手段を移動させる移動手段とを備え、前記撮像手段は、前記移動手段によって移動された後、再度、前記対象体の画像である第２画像を撮像することにより、撮像手段が１つの場合であっても、検出した対象体のエッジ方向に応じて、第２画像を撮像する際の撮像手段の配置位置を選定し、マッチングに適した左右画像を得ることができるので、エッジ部分の解析により、効率的な対象体の３次元位置・姿勢認識が可能となる。
【００３１】
特に請求項９の発明によれば、移動位置選定手段が、検出したエッジの方向と画像上の予定視差方向との平行度合いに基づいて、撮像手段を移動させる予定移動位置を選定することにより、移動後に平行エッジが検出されることを抑制し、画像上の視差方向と平行とみなされないエッジを用いて３次元位置・姿勢認識処理ができるので、３次元位置・姿勢認識の効率が向上する。
【図面の簡単な説明】
【００３２】
【図１】第１実施形態にかかる３次元位置・姿勢認識装置の機能ブロック図である。
【図２】第１実施形態にかかる３次元位置・姿勢認識装置の構成図である。
【図３】第１実施形態にかかる３次元位置・姿勢認識装置の動作を示すフローチャートである。
【図４】第１実施形態にかかる、３次元位置・姿勢認識装置の動作を説明する図である。
【図５】第１実施形態にかかる、３次元位置・姿勢認識装置の動作を説明する図である。
【図６】第２実施形態にかかる３次元位置・姿勢認識装置の機能ブロック図である。
【図７】第２実施形態にかかる３次元位置・姿勢認識装置の構成図である。
【図８】第２実施形態にかかる３次元位置・姿勢認識装置の動作を示すフローチャートである。
【図９】３次元位置・姿勢認識処理の例を示す図である。
【図１０】３次元位置・姿勢認識処理の例を示す図である。
【発明を実施するための形態】
【００３３】
＜Ａ．第１実施形態＞
＜Ａ−１．前提技術＞
まず本発明の前提技術として、ステレオマッチングによる３次元位置・姿勢認識処理を行う場合の例を以下に示す。
【００３４】
前述のとおり、ステレオマッチングを行う場合、マッチングに用いる左右画像に撮像された対象体１が、平行エッジを有しているかが問題となる。
【００３５】
すなわち図９（ａ）に示すように、画像上の視差方向１００と平行な平行エッジを含む対象体１の左右画像を用いた場合、平行エッジに対応する計測点群は図９（ｂ）のように本来の位置から散らばってしまい、対応点が正しく認識されていないことが分かる。これらの誤認した計測点群がノイズとなり、結果的に３次元モデルとのマッチングに失敗してしまう確率が高まることになる。
【００３６】
一方図１０（ａ）に示すように、平行エッジを含まない対象体１の左右画像を用いた場合、図９（ｂ）のような計測点群の散らばりはなく、適切に対応点が認識されていることが分かる（図１０（ｂ）参照）。よって、３次元モデルとのマッチングが成功する確率が高まる。
【００３７】
よって、適切にステレオマッチングを行い、対象体１の３次元位置・姿勢を認識するためには、平行エッジを含まない状態で左右画像を取得し、対応点を適切に認識することが必要となることが分かる。よって以下に、当該課題を解決しうる３次元位置・姿勢認識装置、及びその方法、プログラムについて示す。
【００３８】
＜Ａ−２．構成＞
図１は、本発明にかかる３次元位置・姿勢認識装置の構成ブロック図である。図１に示すように３次元位置・姿勢認識装置２００は、対象体１の画像を撮像する第１撮像手段２、第２撮像手段３と、第１撮像手段２において撮像された第１画像、第２撮像手段３において撮像された第２画像を取得し、平行エッジを検出する検出手段４とを備える。平行エッジを検出する画像は、第１画像、第２画像のいずれでもよい。
【００３９】
さらに３次元位置・姿勢認識装置２００は、検出手段４における検出結果に基づいて、第１撮像手段２、第２撮像手段３のいずれか一方と対象体１との相対位置を変化させるか否かを判断する判断手段５と、第１撮像手段２及び第２撮像手段３のうち少なくとも一方又は対象体１を移動させる、すなわち、第１撮像手段２及び第２撮像手段３のうち少なくとも一方を、対象体１に対して相対的に移動させる移動手段６と、第１画像と第２画像とに基づいて、対象体１の３次元位置・姿勢認識処理を行う認識手段７とを備える。
【００４０】
第１撮像手段２、第２撮像手段３は、具体的にはステレオカメラ等で実現され、対象体１を異なる方向から撮像する。
【００４１】
検出手段４は、左右画像、すなわち前述の第１画像、第２画像において対象体１の画像要素を解析してエッジの方向を検出し、画像上の視差方向と平行とみなされる平行エッジを検出する。ここで、平行エッジは、厳密に画像上の視差方向と平行である必要はなく、対応点の認識に影響を与える程度の平行度合いの方向を持つエッジを含む概念である。対応点の認識に影響を与える範囲としては、例えば事前に様々な角度方向のエッジの対応点を実際に計測、又はシミュレーションによって求めておき、対応点の誤認が多くなる角度範囲をその範囲とすることができる。この角度範囲を平行度閾値とする。平行度閾値の決定においては、カメラの画質、分解能、平行化画像とした場合の補正の誤差等も考慮することが望ましく、ユーザーが任意に設定することも可能である。
【００４２】
平行度閾値は、閾値記憶手段８において記憶しておくことができ、検出手段４は、エッジの方向を検出し平行エッジを検出する際に、参照することができる。
【００４３】
判断手段５は、検出手段４における平行エッジの検出結果に基づいて、対応点が適切に認識できない場合に、第１撮像手段２、第２撮像手段３のいずれか一方と対象体１との相対位置を変化させるよう判断する。
【００４４】
判断手段５は、対応点が適切に認識できるか否かの判断に際し、予め実験等の結果から設定され、閾値記憶手段８において記憶されている認識閾値を参照することができる。認識閾値とは、例えば対象体１の全エッジ数に対する平行エッジ数の割合のデータ、又は、全エッジの合計長さに対する平行エッジの合計長さの割合のデータ等であり、その値以上になるとマッチングの失敗が多くなるという上限値である。認識閾値の設定については、例えば事前に様々な割合、合計長さ等の平行エッジを用いて３次元モデルとのマッチング処理を行い、マッチングの失敗が多くなるときの平行エッジの割合、合計長さ等を閾値として設定することができる。
【００４５】
なお、上記の閾値記憶手段８は、３次元位置・姿勢認識装置２００に備えられていても、外部の記憶装置等に備えられていてもよい。図１においては、外部の記憶装置等に備えられており、通信等により適宜利用する場合を示している。
【００４６】
判断手段５において相対位置を変化させるよう判断され、第１撮像手段２、第２撮像手段３、対象体１のいずれかが移動された場合、第１撮像手段２、第２撮像手段３は、移動後の相対位置関係において再度対象体１を撮像する。そして、移動前に撮像した第１画像及び第２画像のうち少なくとも一方を更新し、新たに撮像した画像をそれぞれ第１画像、第２画像として認識手段７に渡す。
【００４７】
認識手段７は、撮像された第１画像、第２画像に基づいて、若しくは、再度画像が撮像された場合には更新された第１画像、第２画像に基づいて、マッチング処理を行い、３次元位置・姿勢認識処理を行う。マッチング処理には３次元モデルを用いることができ、３次元モデルとしては、対象体１が工業製品の場合にはそのＣＡＤデータ等を利用可能である。
【００４８】
図２は、本発明にかかる３次元位置・姿勢認識装置のハードウェア構成を示す図である。図２においては、図１における第１撮像手段２、第２撮像手段３がそれぞれカメラ１０２、カメラ１０３に対応し、それぞれが産業用ロボット３００に備えられている場合を示している。
【００４９】
図２に示すように産業用ロボット３００は、第１撮像手段２、第２撮像手段３に対応するカメラ１０２、カメラ１０３を右アーム１１Ｒ先端の右ハンド１２Ｒに取り付けられている。
【００５０】
ただし、このようなロボットに第１撮像手段２、第２撮像手段３が備えられる場合に限定されるものではなく、第１撮像手段２、第２撮像手段３と対象体１との相対位置を変化させることができる構成であれば、カメラが壁面に固定される場合等であってもよい。また、左アーム１１Ｌ先端にも左ハンド１２Ｌが備えられ、双腕の構造となっているが、双方のアームが必ずしも必要ではなく、一方のアームのみが備えられる場合であってもよい。また、カメラ１０２、カメラ１０３は、図２に示すように右ハンド１２Ｒにともに備えられていてもよいが、左ハンド１２Ｌにともに備えられていてもよく、それぞれのカメラがそれぞれのハンドに備えられる場合であってもよい。
【００５１】
さらに、カメラの備えられる位置もハンドである必要はないが、カメラを移動させる場合には、例えば、可動する首部１４に取り付けられた頭部１５のように、ロボットの可動部分を任意に選択して取り付けることが望ましい。ただし、対象体１との相対位置を変更するために対象体１自体の配置位置を変更する場合には、可動部分に取り付ける必要もないので、胴部１３等に取り付けられていてもよい。
【００５２】
検出手段４、判断手段５、移動手段６、認識手段７は、コンピュータ１０において実現することができる。具体的には、３次元位置・姿勢認識装置２００としての機能を実現させるプログラムが、予めこのコンピュータ１０にインストールされる。
【００５３】
検出手段４は、カメラ１０２、カメラ１０３において撮像した第１画像、第２画像に基づいて、対象体１（部品等）のエッジの方向を検出し、平行エッジを検出する。
【００５４】
移動手段６は、判断手段５において相対位置の変化が必要と判断された場合には、ロボットの右アーム１１Ｒ、及び右ハンド１２Ｒを動作させ、適切な位置、方向から再度対象体１の撮像ができるようにカメラ１０２、カメラ１０３を移動させる。ハンド部分にカメラ１０２、カメラ１０３が取り付けられている場合は、移動の自由度が高いため有利である。
【００５５】
閾値記憶手段８は、同様にコンピュータ１０において実現されることも可能であるが、データベースとして外部の記憶装置等によって実現される場合であってもよい。
【００５６】
＜Ａ−３．動作＞
次に、本発明にかかる３次元位置・姿勢認識装置２００の動作の流れを図３に示す。
【００５７】
図３に示すように、まず、対象体１の画像を撮像するため、カメラ１０２、カメラ１０３が取り付けられた右ハンド１２Ｒを移動し、それぞれのカメラ１０２、カメラ１０３の撮像可能範囲に対象体１を入れる。そして、カメラ１０２、カメラ１０３それぞれが異なる方向から対象体１の画像を撮像する（ステップＳ１）。撮像した画像はそれぞれ、第１画像、第２画像とする。
【００５８】
次に、コンピュータ１０における検出手段４は、第１画像及び第２画像のうち少なくとも一方における対象体１の画像要素を解析し、エッジを検出する。さらにエッジの方向成分を検出する（ステップＳ２）。エッジ検出及びエッジ方向の検出は、例えばＳｏｂｅｌ演算子等を用いて算出することができる。
【００５９】
さらに検出手段４は、検出したエッジ方向のうち、画像上の視差方向と平行な平行エッジを検出し、例えば、平行エッジ数の、全エッジ数に対する割合を算出する（ステップＳ３）。その際、平行エッジとみなす基準として、閾値記憶手段８に記憶された平行閾値を参照することができる。なお、平行エッジの合計長さの、全エッジの合計長さに対する割合を算出することもできる。
【００６０】
次に、コンピュータ１０における判断手段５は、ステップＳ３で算出した値が、予め設定した認識閾値以上であるか否かを判断する（ステップＳ４）。すなわち、エッジ方向と画像上の視差方向１００との平行度合いが高いか否かを判断する。認識閾値以上である場合、すなわち、マッチングの失敗確率が高まると判断できる場合には、ステップＳ５へ進む。認識閾値未満である場合には、ステップＳ６へ進む。
【００６１】
ステップＳ５においては、コンピュータ１０における移動手段６が、カメラ１０２、カメラ１０３が取り付けられた右ハンド１２Ｒを動作させ、カメラ１０２、カメラ１０３を移動させる。ここで、本発明においては、カメラ１０２、カメラ１０３、対象体１の相対位置を変化させることができればよいので、移動手段６が、例えば左ハンド１２Ｌを使って対象体１を移動させることも可能であるが、以下では特に、カメラ１０２、カメラ１０３を移動させる場合の動作を詳細に示す。
【００６２】
図４、図５は、ステップＳ５における動作を説明する図である。
【００６３】
ステップＳ４において認識閾値以上であると判断される第１画像、第２画像は、例えば図４（ａ）に示すような画像である。図４（ａ）においては、対象体１と、画像上の視差方向１００とが示されている。図４（ａ）に示されるように、対象体１の図面中横方向に延在するエッジと、画像上の視差方向１００とが平行になっている。なお、エッジと画像上の視差方向１００とは、完全に平行である必要はなく、前述の平行エッジとみなせる範囲内の角度を持っていてもよい。
【００６４】
ここで、図５に示すようにカメラ１０２、カメラ１０３、対象体１が配置されるとき、カメラ１０２の光軸１１０、カメラ１０３の光軸１１１、２台のカメラの配置位置を通る視差方向軸１１２をそれぞれ図のように概念的に表すことができる。
【００６５】
ところで、図４（ａ）における画像上の視差方向１００と対象体１のエッジとが平行とならないようにするためには、画像上の視差方向１００を画像上で回転させればよい。すなわち、図４（ｂ）のような状態にできればよい。
【００６６】
このことを図５におきかえると、画像上の視差方向１００は、視差方向軸１１２を画像上に射影した成分に沿う方向であるので、画像上の視差方向１００が回転するように視差方向軸１１２を回転させればよい。
【００６７】
具体的には、光軸１１０及び光軸１１１のうち少なくとも一方と垂直で、かつ、視差方向軸１１２に垂直な方向成分を含むように、カメラ１０２及びカメラ１０３のうち少なくとも一方を移動させればよい。すなわち、紙面垂直方向の成分を含むように移動させればよい。その成分を含んでいれば、移動の態様は回転移動等でもよく、紙面表方向、裏方向どちらでもよい。また移動の度合いは、平行エッジとみなされたエッジが、平行エッジとみなされる角度範囲を脱する程度でよいが、移動によって他のエッジが平行エッジとみなされないように考慮する。
【００６８】
ここで、光軸１１０と光軸１１１の角二等分線に沿う軸を中央光軸１１３とすると、この中央光軸１１３を中心として、カメラ１０２、カメラ１０３の双方が回転するように移動させてもよい。このように移動すれば、対象体１をそれぞれのカメラ１０２、カメラ１０３の撮像可能範囲から外すことを抑制しつつ、画像上の視差方向１００を回転させることができる。中央光軸１１３が、対象体１の重心、又は座標中心を通る場合が特に望ましい。
【００６９】
また、双方のカメラ１０２、カメラ１０３と対象体１との相対位置を変化させることが必要であるため、カメラ１０２、カメラ１０３を動かすことなく対象体１を回転させることで、画像上の視差方向１００を回転させてもよい。例えば中央光軸１１３を中心として回転させることで、画像上の視差方向１００を回転させることができる。
【００７０】
ステップＳ５において画像上の視差方向１００を回転させた後、ステップＳ１に戻り、再度カメラ１０２、カメラ１０３を用いて対象体１の画像を撮像する。撮像した画像はそれぞれ、第１画像、第２画像として更新する。そして、同様にステップＳ２において、エッジの方向成分を検出し、ステップＳ３、ステップＳ４において、認識閾値を超えないか判断する。超えない場合には、ステップＳ６に進む。
【００７１】
ステップＳ６においては、得られた第１画像、第２画像を用いてステレオマッチングを行い、対象体１の３次元位置・姿勢認識処理を行う。対象体１が複数ある場合には、個々の対象体１に対してそれぞれ同様の動作を行うことができる。
【００７２】
＜Ａ−４．効果＞
本発明にかかる第１実施形態によれば、３次元位置・姿勢認識装置において、第１画像及び第２画像のうち少なくとも一方に撮像された対象体１の画像要素を解析し、対象体１におけるエッジの方向を検出する検出手段４と、検出結果に基づいて、第１撮像手段２及び第２撮像手段３のうち少なくとも一方と対象体１との相対位置を変化させるか否かを判断する判断手段５と、第１撮像手段２及び第２撮像手段３のうち少なくとも一方を、対象体１に対して相対的に移動させる移動手段６とを備えることで、検出した対象体１のエッジ方向に応じて、第１撮像手段２、第２撮像手段３を適切な位置に配置し、マッチングに適した左右画像を得ることができるので、エッジ部分の解析により、効率的な対象体１の３次元位置・姿勢認識が可能となる。
【００７３】
また、本発明にかかる第１実施形態によれば、３次元位置・姿勢認識装置において、判断手段５が、検出されたエッジの方向と画像上の視差方向１００との平行度合いに基づいて、第１撮像手段２及び第２撮像手段３のうち少なくとも一方と対象体１との相対位置を変化させるか否かを判断することで、平行エッジとなってしまうエッジが検出されることを抑制し、画像上の視差方向１００と平行とみなされないエッジを用いて３次元位置・姿勢認識処理ができるので、３次元位置・姿勢認識の効率が向上する。
【００７４】
また、本発明にかかる第１実施形態によれば、３次元位置・姿勢認識装置において、移動手段６が、第１撮像手段２及び第２撮像手段３のうち少なくとも一方を、第１撮像手段２及び第２撮像手段３のうち少なくとも一方の光軸１１０、光軸１１１と垂直で、かつ、視差方向軸１１２と垂直な方向成分を含むように移動させることで、視差方向軸１１２の射影成分である画像上の視差方向１００を第１画像上、第２画像上で回転させ、画像上の平行エッジを平行とみなされないエッジとすることができ、ステレオマッチングの際、平行エッジにおいて誤認していた対応点を、適切に認識することができる。
【００７５】
＜Ｂ．第２実施形態＞
＜Ｂ−１．構成＞
図６は、本発明にかかる３次元位置・姿勢認識装置の構成ブロック図である。実施の形態１と同様の構成については同一の符号を用い、重複する説明は省略する。
【００７６】
図６に示すように３次元位置・姿勢認識装置２０１は、対象体１の画像を撮像する単一の撮像手段２０と、撮像手段２０において撮像された第１画像を取得し、撮像手段２０の予定移動位置を選定する移動位置選定手段４０とを備える。
【００７７】
さらに３次元位置・姿勢認識装置２０１は、移動位置選定手段４０において選定した予定移動位置に、撮像手段２０を移動させる移動手段６０と、第１画像と第２画像とに基づいて、対象体１の３次元位置・姿勢認識処理を行う認識手段７とを備える。
【００７８】
撮像手段２０は、移動された後に、異なる方向から再度対象体１を撮像する。撮像した画像を第２画像とする。換言すれば、この第２実施形態は、第１実施形態のように２つの位置（互いに異なる第１位置および第２位置）のそれぞれに撮像手段を配置してほぼ同時に撮像を行う並行撮像方式ではなく、単一の撮像手段２０をそれら第１位置と第２位置との間で移動させて、異なる時刻に同一の対象体を撮像するような時差撮像方式となっている。撮像の対象体が静止している場合には、このような時差撮像であっても第１画像と第２画像との対応をとることができるから、対象体１の３次元位置・姿勢認識処理を行うことが十分に可能である。
【００７９】
図７は、本発明にかかる３次元位置・姿勢認識装置２０１のハードウェア構成を示す図である。なお図７においては、図６における撮像手段２０に対応するカメラ１０２が産業用ロボット３０１に備えられている場合を示しているが、このようなロボットに撮像手段２０が備えられる場合に限定されるものではなく、撮像手段２０の配置位置を変化させることができる構成であればよい。
【００８０】
図７に示すように産業用ロボット３０１は、撮像手段２０に対応するカメラ１０２を右アーム１１Ｒ先端の右ハンド１２Ｒに取り付けられている。
【００８１】
なお、左アーム１１Ｌ先端にも左ハンド１２Ｌが備えられているが、双方のアームが必ずしも必要ではなく、一方のアームが備えられる場合であってもよい。また、カメラ１０２は、左ハンド１２Ｌに備えられていてもよい。
【００８２】
移動位置選定手段４０、移動手段６０、認識手段７は、コンピュータ１０において実現することができる。具体的には、３次元位置・姿勢認識装置２０１としての機能を実現させるプログラムが、予めこのコンピュータ１０にインストールされる。
【００８３】
移動位置選定手段４０は、カメラ１０２において撮像した第１画像に基づいて、対象体１（部品等）のエッジの方向を検出し、カメラ１０２を移動させる予定移動位置を選定する。
【００８４】
移動手段６０は、ロボットの右アーム１１Ｒ、及び右ハンド１２Ｒの動作させ、予定移動位置へカメラ１０２を移動させる。
【００８５】
＜Ｂ−２．動作＞
次に、本発明にかかる３次元位置・姿勢認識装置２０１の動作の流れを図８に示す。
【００８６】
図８に示すように、まず、対象体１の画像を撮像するため、カメラ１０２が取り付けられた右ハンド１２Ｒを動作させ、カメラ１０２の撮像可能範囲に対象体１を入れる。そして対象体１の画像を撮像する（ステップＳ１０）。撮像した画像は第１画像とする。
【００８７】
次に、コンピュータ１０における移動位置選定手段４０は、第１画像における対象体１を解析し、エッジを検出する。さらにエッジの方向成分を検出する（ステップＳ１１）。エッジ検出及びエッジ方向の検出は、例えばＳｏｂｅｌ演算子等を用いて算出することができる。
【００８８】
次に移動位置選定手段４０は、カメラ１０２を移動させる予定移動位置を選定する（ステップＳ１２）。まず、カメラ１０２を移動させる予定移動位置を仮に設定し、その予定移動位置と、現在カメラ１０２が配置されている配置位置とを通る軸を予定視差方向軸とする。さらに、予定視差方向軸の、第１画像上に射影した成分に沿う方向を画像上の予定視差方向とする。そして、画像上の予定視差方向に平行とみなされる予定平行エッジを、閾値記憶手段８における平行閾値を参照して検出する。
【００８９】
そして、予定平行エッジが閾値記憶手段８における認識閾値以上となるかどうかを評価する。すなわち、エッジ方向と画像上の予定視差方向との平行度合いが高いか否かを評価する。認識閾値以上となる場合には、仮に設定した予定移動位置を変更して同様の評価を行う。この評価を、予定平行エッジが認識閾値未満となるまで繰り返す。予定平行エッジが認識閾値未満となる予定移動位置を見つけたら、その位置をカメラ１０２の予定移動位置として選定する。
【００９０】
次に、コンピュータ１０における移動手段６が、カメラ１０２が取り付けられた右ハンド１２Ｒの動作させ、カメラ１０２をその予定移動位置に移動させる（ステップＳ１３）。
【００９１】
次に、移動させたカメラ１０２を用いて、再度対象体１の画像を撮像する。撮像した画像を第２画像とする。第２画像は、第１画像とは異なる方向から撮像した画像である（ステップＳ１４）。
【００９２】
次に、得られた第１画像、第２画像を用いてステレオマッチングを行い、対象体１の３次元位置・姿勢認識処理を行う（ステップＳ１５）。対象体１が複数ある場合には、個々の対象体１に対してそれぞれ同様の動作を行うことができる。
【００９３】
＜Ｂ−３．効果＞
本発明にかかる第２実施形態によれば、３次元位置・姿勢認識装置において、第１画像に撮像された対象体１の画像要素を解析して対象体１におけるエッジの方向を検出し、撮像手段２０を移動させる予定移動位置を選定する移動位置選定手段４０と、予定移動位置に撮像手段２０を移動させる移動手段６０とを備え、撮像手段２０は、移動手段６０によって移動された後、再度、対象体１の画像である第２画像を撮像することで、撮像手段が１つの場合であっても、検出した対象体１のエッジ方向に応じて、第２画像を撮像する際の撮像手段２０の配置位置を選定し、マッチングに適した左右画像を得ることができるので、エッジ部分の解析により、効率的な対象体１の３次元位置・姿勢認識が可能となる。
【００９４】
また、本発明にかかる第２実施形態によれば、３次元位置・姿勢認識装置において、移動位置選定手段４０が、検出したエッジの方向と画像上の予定視差方向との平行度合いに基づいて、撮像手段２０を移動させる予定移動位置を選定することで、移動後に平行エッジが検出されることを抑制し、画像上の視差方向１００と平行とみなされないエッジを用いて３次元位置・姿勢認識処理ができるので、３次元位置・姿勢認識の効率が向上する。
【００９５】
＜Ｃ．変形例＞
第１実施形態における２つの撮像手段（第１撮像手段２および第２撮像手段３）のうち、一方（たとえば第１撮像手段２）だけを移動させて再撮像を行う場合には、移動を行わない第２撮像手段３で再撮像して得た画像は、最初にこの第２撮像手段３で得た画像と実質的に同一であるか、あるいは当該画像のフレーム内の回転が加わっているだけである。
【００９６】
このため、このような場合には、移動を行わない撮像手段については再撮像は行わず、当該撮像手段による最初の撮像で得た画像を３次元位置・姿勢認識用に流用することもできる。第２実施形態についても同様である。このため、再撮像は２つの撮像手段のうちの少なくとも一方（２つのカメラのうちの少なくとも一方）で行えばよいことになる。
【符号の説明】
【００９７】
１  対象体
２  第１撮像手段
３  第２撮像手段
４  検出手段
５  判断手段
６，６０  移動手段
７  認識手段
８  閾値記憶手段
１０  コンピュータ
１１Ｌ  左アーム
１１Ｒ  右アーム
１２Ｌ  左ハンド
１２Ｒ  右ハンド
１３  胴部
１４  首部
１５  頭部
２０  撮像手段
４０  移動位置選定手段
１００  視差方向
１０２，１０３  カメラ
１１０，１１１  光軸
１１２  視差方向軸
１１３  中央光軸
２００，２０１  ３次元位置・姿勢認識装置
３００，３０１  産業用ロボット
【図１】
2012202732.tif 000003
【図２】
2012202732.tif 000004
【図３】
2012202732.tif 000005
【図４】
2012202732.tif 000006
【図５】
2012202732.tif 000007
【図６】
2012202732.tif 000008
【図７】
2012202732.tif 000009
【図８】
2012202732.tif 000010
【図９】
2012202732.tif 000011
【図１０】
2012202732.tif 000012