(57)【要約】      （修正有）【課題】照明変化がある場合でも、鏡面反射物体の姿勢を推定する。【解決手段】環境内の３Ｄ鏡面反射物体１０１の３Ｄ姿勢推定の前処理ステップにおいて、物体１０１の３Ｄモデル及び該物体の姿勢のセットを使用して２Ｄ基準画像対のセットを生成する。各基準画像対は姿勢のうちの１つに関連付けられる。次に、物体の２Ｄ入力画像対を取得する。２Ｄ入力画像対内の特徴と各２Ｄ基準画像対内の特徴とを、概算コスト関数を使用して比較することによって物体の大まかな３Ｄ姿勢を推定する。オプションで、概算推定値を精密コスト関数を使用して精緻化する。【選択図】図１
2010243478.tif 000002
【特許請求の範囲】
【請求項１】
環境内の３Ｄ物体の３Ｄ姿勢を推定する方法であって、該物体は鏡面反射表面を有し、該方法のステップを実施するプロセッサを備え、該方法は、
前記物体の３Ｄモデル及び該物体の姿勢のセットを使用して２Ｄ基準画像対のセットをレンダリングするステップであって、各基準画像対は前記姿勢のうちの１つに関連付けられる、ステップと、
前記物体の２Ｄ入力画像対を取得するステップと、
前記２Ｄ入力画像対内の特徴と各２Ｄ基準画像対内の特徴とを、それらの特徴をマッチングするコスト関数を使用して比較することによって、前記物体の３Ｄ姿勢を推定するステップと、
を含む、方法。
【請求項２】
前記２Ｄ入力画像は、非線形強度応答を有するカメラによって取得される単一の画像から得られる、請求項１に記載の方法。
【請求項３】
前記３Ｄ姿勢は、３Ｄ並進ベクトル（Ｘ，Ｙ，Ｚ）及び配向に関する３Ｄオイラー角（μ，φ，σ）によって定義される、請求項１に記載の方法。
【請求項４】
前記姿勢を精密コスト関数を使用して精緻化することをさらに含む、請求項１に記載の方法。
【請求項５】
前記特徴は鏡面反射に起因する画像処理強度によって得られる、請求項１に記載の方法。
【請求項６】
基準鏡面反射強度は、鏡の双方向反射分布関数（ＢＲＤＦ）又は何らかの他の既知のＢＲＤＦを使用することによってレンダリングされる、請求項５に記載の方法。
【請求項７】
前記方法は、
前記環境内に鏡状球体を配置すること、
前記鏡状球体の周囲の前記環境の反射を介して環境マップ画像を取得すること、及び
２Ｄプレノプティック関数を使用して前記環境マップ画像から環境マップを構築することであって、該２Ｄプレノプティック関数は前記周囲の外観をモデリングし、前記基準画像は前記環境マップを反射する前記物体の３Ｄモデルからレンダリングされる、こと、
をさらに含む、請求項５に記載の方法。
【請求項８】
前記環境マップを構築するために、前記環境の画像セットを取得すると共に該画像セットからモザイクを生成することをさらに含む、請求項７に記載の方法。
【請求項９】
前記入力画像を取得する間に使用される露光量は異なる、請求項１に記載の方法。
【請求項１０】
短時間露光は約１／６０秒であり、長時間露光は約１／４秒であり、カメラ口径は周辺照度に合わせて調整され、それによって、長時間露光によって標準強度を有する画像が作成される、請求項９に記載の方法。
【請求項１１】
前記姿勢は以下の式を解くことによって得られ、
【数１】
2010243478.tif 000020
ただし、
【数２】
2010243478.tif 000021
は初期姿勢の並進及びオイラー角を表し、ＣＲ（）は概算コスト関数であり、それぞれ、ＩＬ及びＲＬは長時間露光入力画像及び長時間露光基準画像であり、ＩＳ及びＲＳは短時間露光入力画像及び短時間露光基準画像であり、引数ｍｉｎは最小値を与える引数を返す関数であり、内側の最小値は外側の最小値の前に求められる、請求項５に記載の方法。
【請求項１２】
前記概算関数は以下であり、
【数３】
2010243478.tif 000022
ただし、λは制御パラメータであり、Ｃ１（）及びＣ２（）はそれぞれ、長時間露光画像及び短時間露光画像に関するコスト関数である、請求項１１に記載の方法。
【請求項１３】
Ｃ１（）に対してハイライト画素が使用され、該ハイライト画素は、二値化処理を行って対応する二値画像を作成することによって求められ、前記方法は、
前記二値画像に距離変換を適用することによって、対応する基準距離画像ＤＲ及び入力距離画像ＤＩを構築することをさらに含む、請求項１２に記載の方法。
【請求項１４】
前記コスト関数Ｃ１（）は以下であり、
【数４】
2010243478.tif 000023
ただし、（ｘ，ｙ）は投影点であり、（ｕ，ｖ）は画素座標であり、Ｎｈｉｇｈｌｉｇｈｔは総和のための画素数を表し、Ｓは短時間露光を表す、請求項１３に記載の方法。
【請求項１５】
前記コスト関数Ｃ２（）は以下であり、
【数５】
2010243478.tif 000024
ただし、ＮＣＣは正規化相互相関を表し、Ｌは長時間露光を表す、請求項１２に記載の方法。
【請求項１６】
（Ｘ，Ｙ）は並進を表し、（μ，φ，σ）は前記精密な姿勢のオイラー角を表し、前記精密コスト関数は以下であり、
【数６】
2010243478.tif 000025
ただし、（ｕ，ｖ）は前記入力画像Ｉ及び前記基準画像Ｒの画素座標であり、ＮＣＣは正規化相互相関を表し、Ｌは長時間露光を表す、請求項１５に記載の方法。
【請求項１７】
前記特徴は鏡面反射フローである、請求項１に記載の方法。
【請求項１８】
前記鏡面反射フローは、前記２Ｄ入力画像を取得するカメラの所定の観察方向を中心とした前記環境の回転に起因する、請求項１７に記載の方法。
【請求項１９】
前記鏡面反射フローは、ブロックマッチング及び色分けされた環境マップを使用して求められる、請求項１７に記載の方法。
【請求項２０】
（Ｘ，Ｙ）は並進を表し、（μ，φ，σ）は前記姿勢のオイラー角を表し、前記概算コスト関数は以下であり、
【数７】
2010243478.tif 000026
ただし、λは制御パラメータであり、Ｃ１（）及びＣ２（）はそれぞれ、動き分割及び前記鏡面反射フローに基づくコスト関数であり、Ｒ及びＩはそれぞれ、前記基準画像及び前記入力画像を表す、請求項１７に記載の方法。
【請求項２１】
前記鏡面反射フローの大きさを二値化処理することによって取得される前記二値画像及び距離変換から、対応する基準距離画像ＤＲ及び入力距離画像ＤＩを構築することをさらに含み、前記コスト関数Ｃ１（）は以下であり、
【数８】
2010243478.tif 000027
ただし、（ｘ，ｙ）は投影点であり、（ｕ，ｖ）は画素座標であり、総和は基準画像Ｒの動き分割画素に関して実行され、Ｎｍｏｔｉｏｎはこのような画素の数を表す、請求項２０に記載の方法。
【請求項２２】
前記基準鏡面反射フロー画像Ｒと前記入力鏡面反射フロー画像Ｉとを比較することであって、前記入力鏡面反射フローベクトルと前記基準鏡面反射フローベクトルとの差分が小さな閾値未満である異常値でない画素を探索する、比較することをさらに含み、前記コスト関数Ｃ２（）は以下であり、
【数９】
2010243478.tif 000028
ただし、Ｍは異常値でない画素の集合である、請求項２０に記載の方法。
【請求項２３】
（Ｘ，Ｙ）は並進を表し、（μ，φ，σ）は前記３Ｄ姿勢のオイラー角を表し、前記精密コスト関数は以下であり、
【数１０】
2010243478.tif 000029
ただし、（ｕ，ｖ）は画素座標であり、Ｒは前記基準画像であり、姿勢パラメータ（θ，φ，σ，Ｘ，Ｙ）を有し、Ｎｍａｓｋはステンシル数を表し、ステンシルは物体のセグメンテーションマスクとして定義される、請求項１７に記載の方法。
【請求項２４】
前記回転は約±５度である、請求項１８に記載の方法。
【請求項２５】
各２Ｄ入力画像対は、単一の高ダイナミックレンジ画像から生成される、請求項１に記載の方法。
【請求項２６】
２Ｄ入力画像と２Ｄ基準画像の各対は、様々な露光量を用いて収集される画像のセットから生成される、請求項１に記載の方法。
【請求項２７】
前記推定される姿勢に従って、ロボットアームを使用して容器から前記物体を取り出すことをさらに含む、請求項１に記載の方法。
【請求項２８】
前記容器は単一の物体又は複数の物体を含む、請求項２７に記載の方法。
【請求項２９】
前記３Ｄ姿勢は６段階自由度を有する、請求項１に記載の方法。
【請求項３０】
前記姿勢を推定する間に前記入力画像において前記物体を分割することをさらに含む、請求項１に記載の方法。
【請求項３１】
前記姿勢を推定する間に前記入力画像において前記物体の反射率を推定することをさらに含む、請求項１に記載の方法。
【請求項３２】
前記入力画像は前記物体の複数のビューから取得される、請求項１に記載の方法。
【請求項３３】
照射源を用いてシーンを能動的に照射することをさらに含む、請求項１に記載の方法。
【請求項３４】
照射源を用いて周囲を能動的に照射することをさらに含む、請求項１に記載の方法。
【請求項３５】
前記照射源は１つ又は複数の投影機を含む、請求項３３に記載の方法。
【請求項３６】
前記入力画像は鏡面反射成分の推定に偏光を使用して取得される、請求項１に記載の方法。
【請求項３７】
シーンを異なる複数の色を用いて照射すると共に、色毎に独立して前記方法を実施することをさらに含む、請求項１に記載の方法。
【請求項３８】
反射率は鏡状である、請求項６に記載の方法。
【請求項３９】
前記他の既知のＢＲＤＦは前記物体のものである、請求項６に記載の方法。
【請求項４０】
前記入力画像は前記ロボットアーム上に搭載されるカメラによって取得される、請求項２７に記載の方法。
【請求項４１】
前記容器は能動的な照明を備える、請求項２７に記載の方法。
【請求項４２】
環境内の３Ｄ物体の３Ｄ姿勢を推定する装置であって、該物体は鏡面反射表面を有し、該装置は、
前記物体の３Ｄモデル及び該物体の姿勢のセットを使用して２Ｄ基準画像対のセットをレンダリングするように構成されるレンダリングエンジンであって、各基準画像対は前記姿勢のうちの１つに関連付けられる、レンダリングエンジンと、
前記物体の２Ｄ入力画像対を取得するように構成されるカメラと、
プロセッサ内に実装され、前記２Ｄ入力画像対内の特徴と各２Ｄ基準画像対内の特徴とを、それらの特徴をマッチングするコスト関数を使用して比較することによって前記物体の３Ｄ姿勢を推定する手段と、
を備える、装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、包括的には物体の３Ｄ姿勢を推定することに関し、より詳細には鏡面反射物体の３Ｄ姿勢を推定することに関する。
【背景技術】
【０００２】
姿勢推定
３次元（３Ｄ）姿勢推定は、物体のロケーション及び角度配向を求める。一般的な姿勢推定方法は、２Ｄテクスチャ画像及び３Ｄ距離画像のような幾つかの手掛りに依存する。テクスチャ画像に基づく方法は、テクスチャが環境の変動に対し不変であると仮定する。しかしながら、この仮定は、照明変化又は陰影が存在する場合には真でない。通常、これらの方法のほとんどは鏡面反射性の物体を扱うことができない。
【０００３】
距離画像に基づく方法は、物体の外観とは無関係の３Ｄ情報を利用するため、これらの問題のうちの幾つかを克服することができる。しかしながら、距離取得機器は単純なカメラよりも高価である。
【０００４】
鏡面反射物体
幾つかの物体に関して、３Ｄ形状を再構築するのは非常に困難である。たとえば、鏡状物体又は光沢金属性物体のような鏡面反射性の高い物体の３Ｄ形状を回復することは困難であり、信頼度が低いことが既知である。
【０００５】
反射による手掛りは、テクスチャ又は距離による手掛りよりも姿勢変化に対する感度が高い。したがって、反射による手掛りによって、姿勢パラメータを非常に正確に推定することが可能になる。しかしながら、反射による手掛りが、姿勢の精緻化のみでなく、全体的な姿勢推定、すなわち物体検出、物体分割、及び大まかな物体姿勢推定に適用可能であるか否かは定かでない。
【０００６】
従来技術による方法は通常、外観に基づく。外観は、照明、陰影、及びスケールによる影響を受ける。したがって、これらの方法にとって、部分遮蔽、クラッタシーン、及び大きな姿勢変動のような関連する課題を克服することは困難である。これらの問題に対処するために、これらの方法は、点、線、及びシルエットのような照明に無関係の特徴、又は正規化相互相関（ＮＣＣ）のような照度の影響を受けないコスト関数を使用する。しかしながら、これらの方法が成功するためには、物体が十分にテクスチャ化される必要がある。特に鏡面反射物体に関して、激しい照明変化は依然として問題である。
【０００７】
様々な方法が、光源の歪んだ反射の識別及び追跡、並びに既知の特殊な特徴から、わずかな局所形状情報を導出する。光路三角測量の通常の枠組みを使用して密度測定値も得ることができる。しかしながら、これらの方法は通常、正確な較正を実施すると共に、物体の周囲の環境を制御する必要があり、場合によっては、多くの入力画像を必要とする。
【０００８】
鏡面反射物体の再構築のための幾つかの方法は、環境較正を必要としない。これらの方法は、画像平面上の鏡面反射フロー（specular flow）を引き起こす小さな環境の動きを想定する。これらの方法では、鏡面反射フローを利用して未知の複雑な照明における鏡面反射形状の推測を単純化する。しかしながら、一対の線形偏微分方程式を解かなくてはならず、通常これは、実世界の応用においては簡単に推定されない初期状態を必要とする。
【０００９】
鏡面反射に基づいて姿勢を推定する１つの方法は、短い画像シーケンス及び標準的なテンプレートマッチングプロシージャによって計算される初期姿勢推定値を使用する。拡散成分及び鏡面反射成分はフレーム毎に分離され、推定される鏡面反射画像から環境マップが導出される。次に、姿勢推定プロセスの正確度を高めるために環境マップ及び画像テクスチャが同時に位置合わせされる。
【発明の概要】
【課題を解決するための手段】
【００１０】
本発明の実施の形態は、プロセッサ内で実施される、環境内の３Ｄ鏡面反射物体の３Ｄ姿勢を推定する方法及びシステムを提供する。推定の基礎となるのは、２Ｄカメラによって取得される鏡面反射物体の２Ｄ画像内の特徴をマッチングすることである。画像は従来のカメラ又は高ダイナミックレンジ（ＨＤＲ）カメラによって取得することができる。ＨＤＲカメラによって、広範囲にわたるシーンの輝度を画像内で正確に取得することができる。
【００１１】
前処理ステップにおいて、物体の３Ｄモデル及び物体の可能性のある姿勢のセットから特徴が生成される。３Ｄモデルの各姿勢に関して、特徴は（ａ）単一のＨＤＲ画像、（ｂ）２つの異なる露光設定を表す基準画像対、（ｃ）ＨＤＲ画像及び非線形強度応答を有するカメラにより取得された二値化処理された（thresholded）二値画像、又は（ｄ）鏡面反射フロー画像とすることができる。
【００１２】
画像対は単一のＨＤＲ画像から導出することができることに留意されたい。正確度を高めるために、画像を多数の異なる露光量に関して取得することができる。
【００１３】
次に、物体の入力画像対が取得される。この対は、２つの画像を、一方を短時間露光で、他方を長時間露光で取得することによって得ることができるか、又は短時間露光及び長時間露光のシミュレートを通じて単一のＨＤＲカメラ画像から得ることができる。入力特徴は入力画像から計算される。物体の初期３Ｄ姿勢は、第１のコスト関数を使用して、入力画像対内の特徴と基準画像対内の特徴と比較することによって推定される。
【００１４】
オプションで、第２のコスト関数を使用して物体の３Ｄ姿勢を精緻化することができる。データベースが可能性のある大部分の姿勢に関する多数の基準画像を格納している場合、初期姿勢推定は精密で正確なものとなることに留意されたい。たとえば、データベースが約１０００個の姿勢を含む場合、推定値は概算となり、データベースが１００００００個の姿勢を格納している場合、推定値はより精密である。
【００１５】
一実施の形態では、特徴は画像内の鏡面反射強度である。３つ（ＲＧＢ）のチャネルが使用される場合、鏡面反射強度特徴は色を有する。これによって、特徴をより区別可能なものにすることができる。２Ｄ環境マップを構築するために、小さな鏡状球体が環境内に配置され、画像対が、たとえば一方が短時間露光で、他方が長時間露光で取得されるか、又はたとえば、短時間露光及び長時間露光のシミュレートを通じて双方が単一のＨＤＲカメラ画像から得られる。球体は物体を有するか又は有しないシーン内に配置することができる。鏡面反射に基づく他の特徴は本発明の範囲内にある。
【００１６】
各鏡状球体画像を使用して２Ｄ環境マップが構築される。このマップを使用して基準画像対が生成される。その後、基準画像は入力画像対と比較されて、鏡面反射物体の３Ｄ姿勢が推定される。環境マップを前処理中に構築するか、又は変化する照度に適応させるために入力画像が取得される間に構築することができることに留意されたい。
【００１７】
別の実施の形態では、特徴は画像内の鏡面反射フローである。鏡面反射フローはオプティカルフローの特殊なケースである。環境又はカメラのいずれかにおいて動きを引き起こすことによって、３Ｄ姿勢のセットに関して鏡面反射フローが生成される。入力画像から入力鏡面反射フローも計算される。その後、基準鏡面反射フロー画像は入力鏡面反射フロー画像と比較され、鏡面反射物体の３Ｄ姿勢が推定される。上述したように、概算コスト関数及び精密なコスト関数を使用して、大まかな姿勢から精密な姿勢が推定される。
【発明の効果】
【００１８】
本発明は、鏡面反射を利用して、物体の３Ｄモデルを使用して３Ｄ物体の３Ｄ姿勢を全体的に推定する。本方法は、テクスチャがなく鏡面反射性の高い物体のような難解な物体に対処することができる。本方法は単純なマッチングコスト関数及び最適化手順を使用し、それによって本方法をグラフィックプロセッサユニット（ＧＰＵ）上で実施して性能を改善することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施の形態による鏡面反射強度情報を使用して鏡面反射物体の３Ｄ姿勢を推定する方法の流れ図である。
【図２】本発明の実施の形態による鏡面反射フロー情報を使用して鏡面反射物体の３Ｄ姿勢を推定する方法の流れ図である。
【図３】本発明の実施の形態による入射光線を使用するステンシル選択の概略図である。
【図４】信頼度の高い画素及び信頼度の低い画素を有する基準画像の例である。
【発明を実施するための形態】
【００２０】
システム及び方法の概要
図１は、プロセッサ１００において実施される、環境１０２内の物体１０１の３Ｄ姿勢を推定する方法の流れ図である。ここで、物体は鏡面反射表面を有する。この実施の形態において、特徴は鏡面反射強度である。３つ（ＲＧＢ）のチャネルが使用される場合、組み合わされる鏡面反射強度は色を有する。環境の２次元（２Ｄ）画像はカメラ１０３によって取得される。一実施の形態では、カメラは高ダイナミックレンジ（ＨＤＲ）を有する。代替的に、カメラは偏光を使用して鏡面反射成分を推定することができる。
【００２１】
３Ｄ姿勢は、カメラの座標系における３Ｄ並進ベクトル（Ｘ，Ｙ，Ｚ）及び配向に関する３Ｄオイラー角（μ，φ，σ）によって定義される。
【００２２】
一用途において、ロボットアーム１０５を使用して容器（bin）１０６から物体を取り出すのに３Ｄ姿勢が使用される。たとえば、製造用途において、容器は複数の同一の物体を含み、それらの物体は自身の推定される姿勢に従って一度に１つずつ取り上げられ、操作される。この実施の形態では、カメラをロボットアーム上に取り付けることが有利であろう。
【００２３】
物体は、光沢金属性物体のように、鏡状表面を有し、テクスチャがなく鏡面反射性が高い。したがって、本方法が利用可能なデータは、２Ｄ画像における物体に対する鏡面反射のみである。物体とカメラとの間の距離はＺ≒Ｚ０である。この距離を使用して、投影の尺度を求めることができる。さらに、この距離は、レーザー投影、ステレオカメラ、又は任意の他の従来の方法を使用して推定することもできる。
【００２４】
本方法は、２Ｄ画像における低レベルの特徴を使用して以下のように３Ｄ姿勢を推定する。本方法は、多数の可能性のある姿勢の変形１２２に関する予期される表面反射率の双方向反射分布関数（ＢＲＤＦ）を使用して、３Ｄモデル１２１から基準画像１２５を生成する。ステップ１１０及び１２０は１回の前処理ステップとすることができる。物体のＢＲＤＦが既知である場合、ＢＲＤＦを使用して画像を生成することができる。
【００２５】
２Ｄ入力画像１３１はカメラシステムによって取得され、次に基準画像と比較されて、鏡面反射物体の最も適合する３Ｄ姿勢１５１が求められる。このモデルは、ＣＡＤ／ＣＡＭモデル、多角形モデル、又は任意の他の適切なモデルとすることができる。
【００２６】
鏡面反射強度特徴
一実施の形態では、物体を有するか又は有しない環境１０２内に小さな鏡状球体が配置される。次に、取得されるこの鏡状球体の２Ｄ画像を使用して、照度情報を表す環境マップ１１１を生成することができる。
【００２７】
別の実施の形態では、環境のモザイク（又は全景）を作成するために、環境のカメラ画像のセットが登録される。この環境のモザイク又は全景を使用して、環境照度情報を表す環境マップ１１１を作成することができる。
【００２８】
この照度情報を使用して、入力画像との比較に使用される基準鏡面反射画像１２５を生成することができる（１２０）。
【００２９】
環境照度は複数の光源、たとえば天井灯、窓、又は容器上のライトの照明を有することができる。さらに、ライトは様々な色、たとえば赤、緑、及び青を有することができる。この場合、コスト関数はライトの色毎に独立して計算される。次に、Ｒコスト関数、Ｇコスト関数、及びＢコスト関数の合計を最小にするように姿勢が得られる。
【００３０】
光源を使用して、たとえば１つ又は複数の投影機から天井においてパターンを投影することによって、環境照度を能動的に強化すると共に操作することもできる。
【００３１】
鏡面反射フロー特徴
別の実施の形態では、本方法は特徴として鏡面反射フローを使用する。鏡面反射フローは、物体、カメラ、又は環境の動きによって引き起こされるオプティカルフローとして定義される。鏡面反射フローは照明状態を変化させることにではなく、物体の動き、形状、及び姿勢を変化させることに依存する。したがって、鏡面反射フローを、姿勢推定のための、照度に無関係の特徴として使用することができる。
【００３２】
環境マップに基づく手法
図１に示すように、物体の３Ｄ姿勢を推定する前に、球体の鏡状物体の画像を処理することによって、環境１０２の一対の環境マップＥＬ及びＥＳ１１１を取得する（１１０）。これらのマップはそれぞれ、たとえば約１／４秒及び１／６０秒の長時間露光及び短時間露光を有する。同じ長時間露光及び短時間露光において、入力画像ＩＬ及びＩＳ１３１を取得する（１３０）。代替的に、ＥＬ画像及びＥＳ画像、並びにＩＬ画像及びＩＳ画像は、長時間露光及び短時間露光を介した処理シミュレーションによって続かれるＨＤＲカメラ１０３を使用して取得された単一の画像から得ることができる。
【００３３】
初期姿勢推定
基準鏡面反射画像の生成
物体の３Ｄモデル１２１及び一対の環境マップＥＬ及びＥＳ１１１から、物体の可能性のある姿勢に対応する多数の所定の姿勢１２２に関して基準画像１２５が生成される。
【００３４】
この目的のためにオイラー角を均一に且つ高密度でサンプリングして、多数の、たとえば２５０００個の姿勢を定義する。基準画像は、ロケーション（０，０，Ｚ０）における様々なオイラー角（μ，φ，σ）に関するＲＬ及びＲＳである。相互反射及び自己遮蔽を無視することによって、反射マッピングを適用することによってＥＬ及びＥＳから完全鏡面反射画像を生成することができる。これはテクスチャマッピングの特殊なケースである。
【００３５】
基準画像は、姿勢の非均一サンプリングによって生成することもできる。これは所与の物体の姿勢分布に依存することもできる。
【００３６】
基準鏡面反射画像１２５は、３Ｄロケーション及びカメラに対する物体の配向に依存する。しかしながら、カメラは小さい視野１０４を有し、物体の奥行きは既知である。したがって、異なる複数の３Ｄロケーションから生成される基準鏡面反射画像間の差異は無視することができる。これは初期姿勢推定１４０には十分である。入力画像を、より高い正確度のために複数のビューから得ることもできることに留意されたい。
【００３７】
入力画像１３１を、基準鏡面反射画像１２５と比較し、以下を解くことによって３Ｄ姿勢１４１を推定する（１４０）。
【００３８】
【数１】
2010243478.tif 000003
【００３９】
ただし、
【００４０】
【数２】
2010243478.tif 000004
【００４１】
は初期姿勢１４１を表し、ＣＲ（）は比較のための概算コスト関数１３９であり、引数ｍｉｎは最小値を生み出す引数を返す関数であり、内側の最小値は外側の最小値の前に求められる。所定の基準姿勢がより精密に、たとえば１００００００個の姿勢にサンプリングされる場合、初期姿勢推定値は概算であるとみなされる必要はなく、精緻化される必要がない。
【００４２】
コスト関数１３９は、以下である。
【００４３】
【数３】
2010243478.tif 000005
【００４４】
ただし、λは制御パラメータであり、Ｃ１（）及びＣ２（）はそれぞれ、長時間露光画像及び短時間露光画像に関するコスト関数である。これらの項を得るために、３Ｄ並進ベクトル（Ｘ，Ｙ，Ｚ０）が２Ｄ画像平面上に投影され、基準画像が投影点（ｘ，ｙ）に動かされる。次に、並進基準画像の各対が、対応する入力画像対と比較される。
【００４５】
本明細書において使用される場合、コスト関数は、入力画像特徴及び基準画像特徴（鏡面反射強度又は鏡面反射フロー）が各基準姿勢に対し良好にマッチングする度合いを測定する。
【００４６】
ハイライト画素に基づいたコスト関数
通常、鏡面反射画像はハイライト画素と非ハイライト画素とを含む。ハイライト画素は、ランプ又は窓のような高強度の入射光を有する光源に対応する。したがって、画素値は通常飽和している。
【００４７】
ハイライト画素は第１項Ｃ１（）に使用される。物体は鏡面反射性が高いため、ハイライト画素は、短時間露光画像（又はＨＤＲ画像）に対し二値化処理を適用して二値画像を作成することによって抽出することができる。
【００４８】
二値画像及び距離変換を使用して、入力ハイライト画像及び基準ハイライト画像にそれぞれ対応する距離画像ＤＩ及びＤＲを構築する。この距離変換は、二値画像を正確にマッチングするのに役立つ。コスト関数Ｃ１（）は以下のように定義される。
【００４９】
【数４】
2010243478.tif 000006
【００５０】
ただし、（ｕ，ｖ）は画素座標であり、Ｎｈｉｇｈｌｉｇｈｔは総和が実行される画素数を表す。基準ハイライト画素及びそれらの１画素隣りの画素が、計算のためのステンシルとして使用される。
【００５１】
二値画像を作成するための新たな閾値を使用して、２対以上のＤＩ画像及びＤＲ画像を生成することができることは理解されたい。コストは、全てのそのような対を同時に考察するように変更される。
【００５２】
ハイライトに基づくコスト関数は以下の利点を有する。第１に、ハイライトは通常、入力画像において非常にわずかであるため、それらのハイライトを物体のロケーションに対する強力な制約として使用することができる。第２に、コスト関数は全鏡面反射画素を使用する従来のコスト関数のコスト関数よりも平滑である。第３に、ハイライトのステンシルは非常に少数の画素しか含まないため、このコストの計算を効率的に行うことができる。最小化は任意の適切な最適化手順を使用して実施することができる。一実施の形態では、滑降シンプレックス最小化が使用される。滑降シンプレックス最小化法は、非常に高速に且つ安定して大域最小値に良好に収束する。
【００５３】
全鏡面反射画素に基づくコスト関数
第２項Ｃ２（）は全鏡面反射画素を考察する。
【００５４】
【数５】
2010243478.tif 000007
【００５５】
ただし、ＮＣＣは正規化相互相関（ＮＣＣ）を表す。ここで、物体のセグメンテーションマスクをＮＣＣのためのステンシルとして使用することができる。しかしながら、幾何学的に信頼度の高い鏡面反射画素のみをステンシルとして使用することによって、実行時により良好な結果が生み出される。
【００５６】
大きなダイナミックレンジを扱うために、コスト計算の前に、画素強度を新たな空間、たとえば対数応答（又は指数応答）に変換して、それによって鏡面反射画素の重要度を低くする（又は高くする）ことができることは理解されたい。
【００５７】
図３に示すように、幾何学的ステンシル選択は以下の通りである。まず、基準画像内の画素毎に入射光線
【００５８】
【数６】
2010243478.tif 000008
【００５９】
が推定される。ここで、反射光線
【００６０】
【数７】
2010243478.tif 000009
【００６１】
及び該反射光線の表面法線
【００６２】
【数８】
2010243478.tif 000010
【００６３】
は既知である。反射の法則から、入射光線は以下によって表される。
【００６４】
【数９】
2010243478.tif 000011
【００６５】
次に、照射方向を考察することによって画素情報の信頼度を定義することができる。基準画像例１２５に関して図４に示すように、ｉ１からの照射は信頼度が高く（４０１）、ｉ２からの照射は信頼度が低い。照射方向は、カメラ座標系の仰角
【００６６】
【数１０】
2010243478.tif 000012
【００６７】
及び方位角
【００６８】
【数１１】
2010243478.tif 000013
【００６９】
によって表される。
【００７０】
小さな仰角を有する照射は通常、大きな仰角を有する照射より信頼度が低い。これは、鏡面反射物体間の相互反射、及び環境内で異なる背景を使用することのような環境マップの変化に起因する。最後に、式（４）のステンシルの場合、信頼度の高い鏡面反射画素、すなわち９０度よりも大きい仰角における入射光線を有する画素のみが使用される。
【００７１】
全体手順
姿勢推定のための全体方法は以下の通りである。まず、基準鏡面反射画像１２５が生成される。可能性のある姿勢１２２毎に、最適並進パラメータが得られる。滑降シンプレックス法のための初期点として、入力画像の任意の３つの端点が使用される。制御パラメータλが０から１に変更される。これは、並進が、ハイライト画素のみを使用して大まかに最適化され、また、その後、全鏡面反射画素を考察して改善されることを意味する。並進最適化の後、多くの並進最適化姿勢及びそれらに関連付けられるコスト値が存在する。最小コスト値は、最適回転パラメータ
【００７２】
【数１２】
2010243478.tif 000014
【００７３】
のためのものである。
【００７４】
オプションの姿勢精緻化
大まかな初期姿勢１４１を推定した（１４０）後、姿勢パラメータを継続して最適化することによって、該姿勢パラメータをさらに精緻化する（１５０）ことができる。並進姿勢は大まかな姿勢推定における滑降シンプレックス法によって既に継続して最適化されているため、以下のコスト関数１４９を使用して回転姿勢のみを精緻化すればよい。
【００７５】
【数１３】
2010243478.tif 000015
【００７６】
ただし、Ｒは長時間露光環境マップＥＬを用いて得られる基準画像である。この最適化は最急降下法を使用する。
【００７７】
鏡面反射フローに基づく手法
図２は、オプティカルフローがマッチングのための特徴として使用される方法を示す。通常、オプティカルフローは、カメラと環境との間の相対的な動きによって生じる、環境内の明示的な動きのパターンである。この実施の形態では、オプティカルフローは、環境の動きによって又はカメラの動きを介してのいずれかによって引き起こされると想定される。
【００７８】
既知の方向、たとえばカメラ１０３の観察方向を中心とした環境の定義済みの小さな回転によって２つの入力画像を生成する（２１０）。代替的に、３つ以上の画像を使用することができる。
【００７９】
次に、これらの２つの画像間の鏡面反射フローを求めて、各画素に関する２Ｄ変位ベクトルを含む入力鏡面反射画像Ｉ２３１を得る。ブロックマッチング法を使用して鏡面反射フローを求める。
【００８０】
通常、鏡面反射フローは、物体１０１、環境１０２、又はカメラ１０３の動きによって引き起こすことができる。この説明の単純化のために、環境の動きのみが説明されるが、鏡面反射フローは物体１０１、環境１０２、又はカメラ１０３の動きによって引き起こされている可能性があることが想定される。カメラと物体との間の相対姿勢は固定であるため、鏡面反射フローは鏡面反射画素においてのみ観察される。したがって、この動きによる手掛りは、鏡面反射フローが存在するか否かを指示し、物体のロケーションを強力に制約するのに使用することができる。
【００８１】
姿勢推定
基準鏡面反射フローの生成
大まかな姿勢推定２４０のために、様々な姿勢１２２のうちの各姿勢において、上述したようにロケーション（０，０，Ｚ０）に関して２つ以上の鏡面反射画像を生成する（２２０）が、今回は、わずかに、たとえば±５度回転している色分けされた環境マップを使用する。色分けされた環境は、測定されるのではなくシミュレートされている。色分けされた環境によって、２つの画像間の正確な画素の対応を求めることが可能になり、それによってオプティカルフローが簡単且つ完全に計算される。結果としてのオプティカルフロー画像を使用して基準画像Ｒ２２５を生成する。
【００８２】
姿勢最適化
基準画像２２５を取得された（２３０）入力鏡面反射フロー画像Ｉ２３１と比較し、コスト関数２３９を最小化することによって３Ｄ姿勢２４１を推定する（２４０）。
【００８３】
【数１４】
2010243478.tif 000016
【００８４】
ただし、Ｃ１（）及びＣ２（）はそれぞれ、動き分割及び鏡面反射フローに基づくコスト関数である。最適化手順を使用してコスト関数を最小化する並進推定値及び回転推定値が計算される。一実施の形態では、滑降シンプレックス法を使用して、最初に並進（Ｘ，Ｙ）が各回転に対して最適化される。次に、全てのコスト値を比較することによって回転が最適化される。
【００８５】
動き分割に基づくコスト関数
動き分割は、各画素に関して非ゼロ鏡面反射フローが存在するか否かを指示する二値画像として定義される。ＤＩ及びＤＲは入力画像Ｉ２３１及び基準鏡面反射フロー画像Ｒ２２５の動き分割から構築される距離変換画像を表すものとする。コスト関数Ｃ１（）は以下となる。
【００８６】
【数１５】
2010243478.tif 000017
【００８７】
ただし、総和は、基準画像Ｒの動き分割画素に関して実行され、Ｎｍｏｔｉｏｎはこのような画素の数を表す。姿勢推定及び物体分割を同時に実行することができることは理解されたい。
【００８８】
鏡面反射フローに基づくコスト関数
式（６）における第２コスト項Ｃ２（）は、入力画像Ｉ（ｕ，ｖ）２３１を並進された基準画像Ｒ２２５と比較することによって構築される。実際の用途におけるノイズが多くテクスチャのない領域に起因して、入力画像は多くの異常値を含む。異常値画素は、画像内の他の（異常値でない（inlier））画素と整合しない画素である。したがって、差分二乗和（ＳＳＤ）のような単純なマッチングコストは良好に機能しない。そうではなく、コスト関数は異常値でない画素の数に基づく。
【００８９】
第１に、異常値でない画素とは、入力鏡面反射フローベクトルＩ（ｕ，ｖ）と基準鏡面反射フローベクトルＲとの差が小さな閾値、たとえば１．０未満である画素である。コスト関数Ｃ２（）は以下となる。
【００９０】
【数１６】
2010243478.tif 000018
【００９１】
ただし、Ｍは異常値でない画素の集合である。
【００９２】
全体手順
鏡面反射フローに基づく手法は、鏡面反射強度に基づく手法と同じ全体方法を使用する。基準画像２２５は、モデル１２１及び可能性のある姿勢１２２を使用して生成される。滑降シンプレックス法を使用して基準画像毎に最適な並進が推定される。ここで、制御パラメータは０〜１で変動する。次に、全ての並進最適化された姿勢が比較されて、最適な回転が求められる。
【００９３】
オプションの姿勢精緻化
大まかな姿勢２４１を推定した（２４０）後、オプションで、コスト関数２４９を最小化することによって回転姿勢パラメータを継続して精緻化する（２５０）。
【００９４】
【数１７】
2010243478.tif 000019
【００９５】
ただし、Ｒは、姿勢パラメータ（θ，φ，σ，Ｘ，Ｙ）を有する基準画像であり、Ｎｍａｓｋはステンシル内の画素数を表す。ステンシルは物体のセグメンテーションマスクとして定義される。
【００９６】
本発明を好ましい実施の形態の例として説明してきたが、本発明の精神及び範囲内で様々な他の適応及び変更を行うことができることは理解されたい。
【００９７】
したがって、添付の特許請求の範囲の目的は、本発明の真の精神及び範囲内に入るすべての変形及び変更を包含することである。
【図１】
2010243478.tif 000030
【図２】
2010243478.tif 000031
【図３】
2010243478.tif 000032
【図４】
2010243478.tif 000033
【外国語明細書】
2010243478.tif 000034
2010243478.tif 000035
2010243478.tif 000036
2010243478.tif 000037
2010243478.tif 000038
2010243478.tif 000039
2010243478.tif 000040
2010243478.tif 000041
2010243478.tif 000042
2010243478.tif 000043
2010243478.tif 000044
2010243478.tif 000045
2010243478.tif 000046
2010243478.tif 000047
2010243478.tif 000048
2010243478.tif 000049
2010243478.tif 000050
2010243478.tif 000051
2010243478.tif 000052
2010243478.tif 000053
2010243478.tif 000054
2010243478.tif 000055
2010243478.tif 000056
2010243478.tif 000057
2010243478.tif 000058
2010243478.tif 000059
2010243478.tif 000060
2010243478.tif 000061
2010243478.tif 000062
2010243478.tif 000063
2010243478.tif 000064
2010243478.tif 000065
2010243478.tif 000066