"物体の姿勢を求める方法であって、前記姿勢は、前記物体の位置及び向きであり、前記物体は、鏡面反射性であり、前記方法は、前記物体の画像の複数の組をカメラにより取得するステップであって、前記物体は、湾曲した領域を有し、前記湾曲した領域の曲度は、r/D≪0.01であり、ここで、rは前記湾曲した領域の特定の点における半径であり、Dは前記湾曲した領域の中心と、前記カメラとの間の距離であり、前記カメラは、前記画像の各前記組に関して異なる視点にあり、各前記組における各前記画像は、シーンが異なる方向から照明されている間に取得される、取得するステップと、各前記画像から特徴の組を抽出するステップであって、前記特徴は、前記カメラに向かう法線を有する前記湾曲した領域上の前記特定の点に対応する、抽出するステップと、各前記画像に関して前記特定の点にパラメトリック形状を当てはめるステップと、前記パラメトリック形状に対して幾何学的制約を適用するステップであって、前記物体の前記姿勢を求める、適用するステップと、を含む物体の姿勢を求める方法。前記カメラはロボットのアーム上に配置され、前記方法は、前記姿勢に応じて前記物体を把持するステップ、をさらに含む、請求項1に記載の物体の姿勢を求める方法。前記カメラは、レンズの周囲に配置された点光源の組を有する、請求項1に記載の物体の姿勢を求める方法。前記物体は、複数の同一物体と共にビンに配置される、請求項1に記載の物体の姿勢を求める方法。前記特定の点における曲率Kは、K=1/rであり、ここで、rは半径である、請求項1に記載の物体の姿勢を求める方法。前記曲率はガウス曲率であり、主曲率の積k1k2である、請求項5に記載の物体の姿勢を求める方法。前記照明は、前記点光源の組から行われ、前記画像の各前記組は、周囲光で取得される周囲画像を含み、前記周囲画像を前記組の他の画像のそれぞれから減算するステップと、前記減算後に最小照明画像を決定するステップと、前記最小照明画像から比画像を決定するステップであって、鏡面反射を検出する、決定するステップと、をさらに含む、請求項3に記載の物体の姿勢を求める方法。前記物体はネジであり、前記湾曲した領域は、円錐形の渦巻き状のネジ山に対応する、請求項1に記載の物体の姿勢を求める方法。前記物体はボルトであり、前記湾曲した領域は、螺旋状のネジ山に対応する、請求項1に記載の物体の姿勢を求める方法。前記パラメトリック形状は直線であり、前記直線は、前記カメラの中心と、前記物体の軸とを結合する平面上にある、請求項1に記載の物体の姿勢を求める方法。前記当てはめは、ランダムサンプルコンセンサス法RANSACの変形を用いる、請求項1に記載の物体の姿勢を求める方法。前記幾何学的制約は、1本の直線で交わる3つの平面の依存性から生じるランク2制約であり、前記物体の前記姿勢を求めるために用いられる、請求項1に記載の物体の姿勢を求める方法。物体の姿勢を求めるシステムであって、前記姿勢は、前記物体の位置及び向きであり、前記物体は、鏡面反射性であり、前記システムは、前記物体の画像の複数の組を取得するカメラであって、前記物体は、湾曲した領域を有し、前記湾曲した領域の曲度は、r/D≪0.01であり、ここで、rは前記湾曲した領域の特定の点における半径であり、Dは前記湾曲した領域の中心と、前記カメラとの間の距離であり、前記カメラは、前記画像の各前記組に関して異なる視点にあり、各前記組における各前記画像は、シーンが異なる方向から照明されている間に取得される、カメラと、各前記画像から特徴の組を抽出する手段であって、前記特徴は、前記カメラに向かう法線を有する前記湾曲した領域上の前記特定の点に対応する、抽出する手段と、各前記画像に関して前記特定の点にパラメトリック形状を当てはめる手段と、前記パラメトリック形状に幾何学的制約を適用する手段であって、前記物体の前記姿勢を求める、適用する手段と、を備える物体の姿勢を求めるシステム。前記物体は、複数の同一物体と共にビンに配置される、請求項13に記載の物体の姿勢を求めるシステム。ロボットのアームであって、前記カメラは、前記アーム上に配置される、アームと、前記姿勢に応じて前記物体を把持する手段と、をさらに備える、請求項13に記載の物体の姿勢を求めるシステム。上述のように、鏡面反射は一般に、マシーンビジョン方法ではノイズ源として扱われてきた。ほとんどの方法は、鏡面反射を特定し、ノイズとして除去する。鏡面反射性の高い鏡状の表面に対する1つの画像不変な方法は、湾曲のない領域では面法線が変化しないという事実を利用する。ほとんどの産業用物体の場合、これは、あまり実用的な特徴ではない。なぜなら、物体は通常、いくつかの平面及びいくつかの角から成り、これらの物体に関する特徴的な情報は、それらの角及び接合部にあるからである。本発明の実施の形態は、2D画像から3D物体及びそれらの6D姿勢を特定する方法及びシステムを提供する。この方法及びシステムは、コンピュータービジョン支援によるロボット組み立てに用いることができる。具体的には、それらの物体は、鏡面反射性が高い、すなわち鏡状である。照明源が移動すると、鏡面ハイライトは、表面の曲率に反比例する距離を移動する。これにより、本発明では、これらの領域を抽出し、これらの領域を物体の特徴として用いることができる。本発明では、マルチフラッシュカメラMFC:MultiFlashCameraを、移動する照明源として用いる。本発明では、複数の視点から画像を取得すると、物体を三角測量し、その6D姿勢を得ることができる。把持アームを有するロボットシステムにおいて、本発明では、雑然としたビン内の光沢のあるネジ又はボルトの自動検出及び姿勢推定を行い、0.5mm未満の位置誤差及び0.8°未満の向き誤差を達成することができる。例示的な応用において、物体は、雑然としたビンにおける小型の金属ネジである。ネジは、多くの製造工程において用いられる物体の最も基本的な種類を成す。毎年、ネジ山のあるネジが、あらゆる他の機械部品よりも多く生産されている。従来の組み立てラインでは、ネジは、部品ホルダーに既知の姿勢で配置され、ロボットグリッパーがこれらのネジを操作する。この動作は、部品供給機のような、ネジの種類毎に特別に設計されたハードウェアを必要とするか、又は手作業で行われる。大多数のネジは金属製で光沢があるため、従来のマシーンビジョン方法では容易に処理することができない。さらに、ビンにおけるネジの姿勢推定は、雑然さ及び遮蔽のために、非常に困難な問題である。本発明の方法によれば、物体の鏡面反射特徴を、雑然としたビンの画像から抽出することができる。本発明では、複数の画像中の同一のネジから得た特徴を照合することによってネジの姿勢を推定する。この照合は、ビン全体が、様々な姿勢の同一のネジの多くのインスタンスを含むため、特に難しい。この問題を解決するために、本発明では、1本の直線で交わる3つの平面の依存性からランク2制約を用いて、姿勢推定のための対応関係及び三角測量を確立する。本発明は、鏡面反射物体の姿勢を求めるために用いることができる。鏡面反射性の高い物体における曲率の高い領域は、照明源の位置にほとんど無関係の鏡面反射を生じ、鏡面反射は、物体の検出及び姿勢推定のための独特な特徴として使用することができる。本発明では、安価なマルチフラッシュカメラを用いて、そのような鏡面反射特徴を確実に検出する。本発明では、ネジを例示的な部品として用い、三角測量を用いた姿勢推定のための2つのビューに基づく方法及び3つのビューに基づく方法を開発する。この方法は、産業用ロボットに実施され、3Dの姿勢推定のために非常に高い位置及び角度の精度を有する。本発明では、鏡面反射をノイズとして扱わず、むしろ、鏡面反射物体を検出及び認識し、鏡面反射物体と相互作用する能力を高めることができ、そして実際に高める特徴として扱う。鏡面反射物体上の曲率の高い領域では、これは、マシーンビジョン作業を確実に行うために用いることができる、非常に一貫性がありロバストな特徴となる。物体における曲率の高い領域は、広い角度範囲にわたる法線を有するため、これらの領域は、照明位置に関係なく、ほとんど常に鏡面反射を生成する。これらの鏡面反射の検出は、物体の表面上の曲率の非常に高い領域を示すように機能する。マルチフラッシュカメラの使用は、これらの鏡面反射特徴の検出及び抽出を支援する。これらの曲率の高い領域は、産業用物体に独特なシグネチャを与え、このシグネチャは、物体の検出、認識、及び姿勢推定に用いることができる。システムの概略図1は、本発明の実施形態による、物体の姿勢を求めるシステム100及び方法200を示す。特に、物体は、同一のネジのビン105に配置された金属製のネジ又はボルト102である。例えば、ビンは、約200個の25mmのM4ネジを含むISO68-1及びISO261を参照。本発明では、マルチフラッシュカメラ120が取り付けられた6軸の産業用ロボットアーム110を用いる。MFCは、レンズの周囲に配置された複数の点光源を有し、シーンを各光源で照明しながら画像を取得する参照により本明細書中に援用する米国特許第7,738,725号を参照。MFCは、市松格子パターンを用いて内部校正及び外部校正の双方をされる。グリッパー-カメラの校正は、ロボットアームがグリッパーを用いて物体と相互作用すると共に物体を把持することができるように行われる。図2は、方法200のステップを示す。この方法は、当該技術分野において知られているような、メモリ及び入出力インターフェースを含むプロセッサにおいて行うことができる。本発明では、N個の照明源及び複数の視点の各々に関してビンの画像を取得し210、鏡面反射特徴を抽出する220。図2は、本発明の方法200の概略を示す。本発明では、複数の視点の画像にわたって、同一のネジに対応する直線を特定し230、ネジの3D軸を再構成すること250によってネジの姿勢を推定する。次に、グリッパーが、推定された姿勢を用いてネジを把持し240、以後の組み立て作業を行う。鏡面反射特徴の抽出反射分析図3は、本発明による、カメラ120及び光源301の分析を概略的に示す。点Pが、任意の一次元曲線C上に配置される。点Pにおける接触円の半径をrとする。すると、Pにおける曲率Kは、次のように表される。点Pにおけるε球近傍を考える。εが十分に小さい場合、本発明における分析の目的のため、この近傍の曲率は一定であるとみなす。本発明では、接触円Oの中心を原点とし、Y軸がPを通り、X軸がTに直交する2次元座標軸を考える。このε球は曲線Cと、A及びBにおいて交わり、次の式が成り立つ。ここで、Y軸上のカメラからAに向かう光線を考える。カメラ中心は0,y0上にあり、y0≫εとする。これは、カメラ中心から到来する光線が、図3に示すようにY軸302に平行であると考えられることを意味する。この光線は、Aにおける法線と角度θを成し、この法線から角度θで反射される。対称的な分析は、点Bに関しても成り立つ。これは、光源が[-2θ2θ]の円錐内の任意の場所に配置されれば、カメラは、このε近傍から鏡面反射を受け取ることを示す。固定円錐[-2θ2θ]の場合、遠くにあるカメラの仮定を用いることによって、ε近傍の大きさは、点の曲率ε=2/ksinθ/2に反比例する。曲率が大きくなるほど、点の小近傍内で反射が見えるようになる図4Aを参照。対照的に、湾曲がほとんど平坦である場合、すなわち、曲率がゼロに近い場合、点の近傍内で反射は見えなくなる図4Bを参照。以下では、この事実を利用し、物体の曲率の高い領域上の特徴点を検出する方法を説明する。この分析は、鏡状の反射を仮定する。鏡面反射ローブを考えると、この光線の円錐は、さらに2σだけ増やすことができ、ここで、σは鏡面反射ローブの幅である。この分析は、2次元表面Sに拡張することができる。主曲率は、所与の点において様々な方向に沿って測定した曲率の最小値及び最大値として定義される。表面のガウス曲率Kは、次式で表される主曲率の積である。同様に、2次元表面の場合、反射は、点のガウス曲率が大きくなるほど、点のより小さな近傍内で見えるようになる。小近傍内で反射を観測するには、両方の主曲率が大きくなければならない。例えば、半径の小さな球は、その球上の全ての点で、その両方の主曲率が大きなk1=k2=1/r表面である。したがって、反射が小近傍内で見える。対照的に、円筒形の物体上の点のガウス曲率は、表面が1つの方向にしか曲がらないため、ゼロである。したがって、反射が直近傍内で見えない場合がある。MFCに基づく特徴抽出特徴抽出工程は、両方の方向に、すなわち両方の主曲率に沿って曲がり、法線がカメラに向かう、ガウス曲率が大きい鏡面反射面上の点を決定する。2番目の要件は制約のように見えるが、実際に、曲率の高い領域は、面法線の大きな集合にわたる。これらの特徴は、後述する3D再構成及び姿勢推定に十分な情報を提供する。MFCは、カメラの周囲に円形に配置された8個の点光源LEDを含むアクティブ照明に基づくカメラである。カメラの周囲の異なるLEDが点滅するにつれて、表面上の鏡面ハイライトが、局所曲率に応じて移動する。上記の分析から、鏡面ハイライトが、表面曲率の高い全ての点に関して、非常に局所的な近傍に残ることは明らかである。本発明では、この手掛かりを利用して、カメラに向かう法線を有する物体上の高い曲率領域に対応する画素を検出する。これらの画素は、物体の3D形状及びそのカメラに対するその相対的な姿勢の両方に特有の特徴として働く。本発明の鏡面反射特徴の抽出工程は、次の通りである。本発明では、8個のフラッシュに対応する8枚の画像を取得する。これを3つの視点に関して繰り返す。フラッシュを用いない画像も1枚取得する。次に、フラッシュを用いない周囲画像を各フラッシュ画像から減算し、周囲照明の効果を除去する。したがって、合計で25枚の画像3×81となる。周囲光の減算後、i番目のLEDのフラッシュ時間中に画像Iiを取得する。画像Ii中の各画素における最小強度を用いて、最小照明画像Iminx,y=miniIix,yを構築する。この最小照明画像は、地表面アルベドと同様である。本発明で考慮する表面は、鏡面反射性が高く、鏡面ハイライトは、画像間を移動するため、最小照明画像は、全ての鏡面反射領域に関して暗く見える。本発明では、周囲減算画像対最小照明画像の比画像RIi=Ii/Iminを決定する。理想的には、鏡面ハイライトを有する領域における比の値は1より遥かに大きいが、非ハイライト領域における比の値は、1に近いままである。この情報を利用して、各フラッシュ画像におけるハイライト領域鏡面反射を検出する。上述したように、変化するフラッシュ位置により、図4Aに示すように、曲率の高い領域では鏡面ハイライトは小近傍内にとどまる一方、図4Bに示すように、曲率の低い平坦な領域ではハイライトは大きく移動する。本発明では、ε近傍を選択し、このε近傍内で鏡面ハイライトが観測されたフラッシュ画像の枚数を決定する。曲率の高い領域に対応する画素の場合、鏡面ハイライトはε近傍内にとどまるため、鏡面ハイライトは、このε近傍内の全てのMFC画像において観測される。低曲率領域に対応する画素の場合、鏡面ハイライトは、ε近傍の外に移動するため、このε近傍内で鏡面ハイライトが観測される画像の枚数は、8枚未満となる。均等拡散面に対応する画素は、最小画像に対する正規化のため、自動的にフィルタリングされる。姿勢推定ネジ及びボルト上の鏡面反射特徴ネジ及びボルトは通常、実質的に円筒形状の物体である。本明細書中で定義するように、実質的に円筒形とは、円錐形の物体、及び物体の円の直径がその長さよりも実質的に小さく、物体がその軸に関して対称である、任意の物体を含む。上述したように、物体の軸に垂直な方向の曲率は高いが、この軸に平行な方向の曲率は小さい。これにより、物体のガウス曲率は小さくなる。次に、表面にネジ山を加える影響を考える。ネジ山ネジ山は通常、螺旋又は円錐形の渦巻きとして近似され、軸に略平行な方向においても、物体の本体上の全ての点に対して高い曲度を与える。これにより、照明方向に関係なく、ε近傍において鏡面ハイライトが確実に見えるようになる。鏡面反射特徴は、上述のように抽出される。したがって、ネジ山の影響は、ネジ又はボルトの局所領域を、曲度の高い又は面法線の変化度の高い実質的に球状420に見せることである。この現象を図4Cに示す。例えば、180°の曲率が画像中の50個~10個の画素にわたって見える場合、曲度は高い一方、曲率が100画素にわたって広がっている場合、曲度は小さい。図4Dはさらに、ネジ山の小さな断面部分に関してこの影響を示す。ここで、k1及びk2は主曲率であり、領域420は、球状に見える。図1に示すように、ネジの形状は実質的に円筒形である。上記のように、本発明における定義では、円筒形の物体は、円錐形の物体を含む。円柱の表面上の直線501は、検出された鏡面反射特徴を表す。値πは、これらの直線がカメラC1及びC2の中心と形成する直線を表す。鏡面反射特徴は、カメラに向かう法線を有する曲率の高い領域上で検出される。ネジの形状を螺旋で近似すると、カメラに対向する螺旋上の複数の点は、直線に沿って配置される。さらに、この直線は、カメラの中心とネジの軸とを結合する平面上にある。例えば、表面は、曲度がr/D≪0.01である場合、大きく湾曲している。ここで、rは、特定の点における湾曲した領域の半径であり、Dは、湾曲した領域の中心とカメラとの間の距離である。本発明では、ネジ上の鏡面反射特徴を線分で表す。パラメトリック形状の当てはめのために、本発明では、よく知られたランダムサンプルコンセンサスRANdomSAmpleConsensus:RANSAC法の変形を用いる。RANSACは、外れ値を含む観測データの集合からモデルのパラメーターを推定するための反復法である。これは、非決定的であり、反復回数に基づいて或る程度の確率を有する合理的な結果を生成する。RANSAC法は、点及びそれらの方向の小さな部分集合を選択することによって様々な直線を最初に仮定する。直線のサポートsupportは、小さな残差内の直線の方程式を満たし連続構造を形成する点の集合によって与えられる。最大のサポートを有する線分が保持され、サポートが数個の点よりも小さくなるまで、より小さな集合を用いてこの手順が繰り返される。RANSAC法は、線分毎に正常点inlierpointsを提供する。次に、本発明では、この正常点に対して最小二乗推定を用いて各線分を精緻化する。姿勢推定本発明では、ネジの姿勢を推定するために、ネジの位置及び向き姿勢を一意に決定するネジの軸に対応する3D直線を再構成する。本発明では、複数のカメラ視点から鏡面反射特徴を決定する。上述したように、検出された鏡面反射線分は、図5に示すように、i番目のカメラの投影中心と、ネジの軸とを結合する平面πi上にある。ネジの軸に対応する3D直線の再構成は、これらの平面の交差によって与えられる。3つの視点を用いた3D直線の再構成3Dのパラメトリック直線と、複数の視点に関して取得された画像におけるその対応する投影との間の対応関係は、よく知られている。本発明では、直線パラメトリック形状に幾何的制約を適用し、3つの視点にわたって同一のネジに対応する直線を決定すると共に、3Dの直線を再構成する。線投影の幾何学的性質3つの視点で撮像される3空間における直線Lを考える。liをビューiにおけるLの投影とし、Piをビューiの投影行列とする。投影行列を用いて、ワールド座標系におけるカメラ中心を通る光線に画像点を逆投影することができる。画像平面における直線の両方の端点は、個別の光線として逆投影することができる。代替的に、画像線liの逆投影は、πiとしてビューiにおける平面に対応する。式中、A~Dは任意の定数である。対応関係の決定ビンには複数のネジがあるため、異なる視点から同一のネジに対応する直線を特定する必要がある。本発明では、3つの任意の平面は通常、単一の直線において交わらないという特性を用いて、対応関係を得る。この幾何学的な交差制約は、3つの平面の係数によって定義される4×3の行列はランク2でなければならないという要件によって表される。この幾何学的制約は、式5の4つの3×3の部分行列の行列式がゼロである場合に満足される。実際には、対応関係にある直線でさえ、画像測定値におけるノイズのため、これらの部分行列の行列式はゼロではなく小さい。したがって、本発明では、3本一組の直線毎に4つの行列式の値の合計を対応関係コストとして決定し、最小コストを選択する。3D直線の再構成本発明では、同一のネジに対応する3本の直線を決定した後に、ネジの軸を通る3D直線を決定する。3Dにおける直線の方程式は、であり、式中、X0は直線上の点であり、X1は直線の方向である。直線の方向は、可能であれば、全ての平面の法線に垂直なものとして決定される。これは、AX1=0を解くことによって得ることができる。最小二乗の意味での最適解は、行列Aの最小特異値に対応する右特異ベクトルによって与えられる。本発明では、X0を、3つの平面に最も近い点として選択する。この点は、AX0=-bの最小二乗解により見つけることができる。退化構成2つの平面が平行に近い場合、他方の平面に関係なく、式5の行列のランクは2に近く、対応関係を決定することが難しくなる。したがって、本発明では、それら2つの平面の法線間の角度を確認することによって、そのような平面の対は無視する。これは主に、ネジの軸が2つのカメラ位置間の平行移動と揃っている場合に生じる。3つのカメラ視点をランダムに選択すれば、カメラ対間の3つの平行移動方向の全てが退化方向になる。これを避けるために、本発明では、カメラを直線上で移動させ、これにより、退化方向が1つだけになるようにする。さらに、本発明では、この移動方向を変化させて、以後のピッキング中に様々な姿勢のネジを処理する。2つの視点を用いた3D直線の再構成2つの視点からの2つの非退化平面が常に直線上で交差しているため、2つの視点を用いた対応関係の決定は通常、難しい。しかし、対応関係は、3D直線がワールド座標系における何らかの平面の周囲にあると仮定すれば決定することができる。したがって、本発明では、Z=Z0平面を2つの視野平面と共に用いて、3つのビューの場合と同じ方法で対応関係コストを求める。このコストは、Z位置がZ0に近く、角度が水平に近いネジに有利である。本発明では、対応関係を決定した後、3D直線を2つの視野平面の交差として、Z=Z0平面を用いることなく再構成する。位置の推定本発明では、式6を用いて3D直線を再構成した後、各ビューにおける2D直線の端点を逆投影し、逆投影された視線光線viewingrayと、再構成された3D直線との間の交差点を決定することによって、ネジに対応する線分を求める。さらに、本発明では、再構成された線分の長さをネジの物理的な長さと比較することによって、再構成された線分を検証する。線分の中心は、3Dの把持位置として選択される。最後に、本発明では、ネジの頭に対応する線分の端点を決定する。まず、本発明では、全ての視点において最大画像を決定する。これは単純に、8枚の画像にわたる画素毎の最大値である。ネジの頭は、ネジの本体に比べて比較的曲率の低い滑らかな領域である。したがって、ネジの頭の鏡面ハイライトは、より大きな近傍において移動し、交互の点滅が、ネジの先端に比べて、最大画像においてより明るいパッチを生じる。本発明を好ましい実施形態の例として説明してきたが、本発明の精神及び範囲内で様々な他の適応及び修正を行うことができることが理解されるべきである。したがって、添付の特許請求の範囲の目的は、本発明の真の精神及び範囲内に入る、そのような変形及び修正を全て網羅することである。"