【文献】
PARK, Y. et al.,MULTIPLE 3D OBJECT TRACKING FOR AUGMENTED REALITY,7TH IEEE/ACM INTERNATIONAL SYMPOSIUM ON MIXED AND AUGMENTED REALITY,IEEE,2008年 9月15日,pp. 117 - 120
【文献】
GAO, J.,HYBRID TRACKING AND VISUAL SEARCH,PROCEEDINGS OF THE 16TH ACM INTERNATIONAL CONFERENCE ON MULTIMEDIA,ACM,2008年10月26日,pp. 909 - 912
(58)【調査した分野】(Int.Cl.,DB名)
少なくとも1つのキー画像(key image)を使用する、画像のシーケンス内の少なくとも1つのオブジェクトの表現のハイブリッド型追跡の、コンピュータのための方法であって、
前記少なくとも1つのオブジェクトの表現を含む画像の前記シーケンスの第1の画像および第2の画像を得るステップと、
前記少なくとも1つのオブジェクトの表現の少なくとも1つの一部を含む、前記第1の画像の少なくとも1つの第1の画像部分を識別するステップと、
前記少なくとも1つのキー画像から、前記少なくとも1つのオブジェクトの表現の少なくとも1つの一部を含む前記キー画像の少なくとも1つの第2の画像部分を取り出すステップと、
前記第1の画像の前記少なくとも1つの第1の画像部分に従って、前記第1の画像の前記少なくとも1つの第1の画像部分に類似する、前記第2の画像の少なくとも1つの第1の画像部分の相対姿勢を推定するステップと、
前記キー画像の前記少なくとも1つの第2の画像部分に類似する、前記第2の画像の少なくとも1つの第2の画像部分を探索するステップ(320、760、770)であって、探索するステップが第2の画像の少なくとも1つの第1の画像部分の相対姿勢に従って前記キー画像の少なくとも1つの第2の画像部分を前記第2の画像に再投影するステップを含む、ステップと、
前記第1の画像部分および前記第2の画像部分の相対姿勢に従って、前記少なくとも1つのオブジェクトの相対姿勢を推定するステップ(330、725、775)と
を含むことを特徴とする方法。
前記第1の画像の前記少なくとも1つの第1の画像部分を識別する前記ステップが、前記第1の画像の前記少なくとも1つの第1の画像部分を取り出すステップ(510)を含み、前記第2の画像の前記少なくとも1つの第1の画像部分の前記相対姿勢を推定する前記ステップが、前記第2の画像内で、前記第1の画像の前記少なくとも1つの第1の画像部分に類似する、前記第2の画像の前記少なくとも1つの第1の画像部分を探索するステップ(310、710、710’)を含む、請求項1に記載の方法。
前記第1の画像の前記少なくとも1つの第1の画像部分に類似する、前記第2の画像の前記少なくとも1つの第1の画像部分を探索する前記ステップが、KLTタイプの探索アルゴリズムを実装する、請求項2に記載の方法。
前記第1の画像の前記少なくとも1つの第1の画像部分に類似する、前記第2の画像の前記少なくとも1つの第1の画像部分を探索する前記ステップが、類似により画像部分を探索する少なくとも2つの異なるアルゴリズムを実装する、請求項8に記載の方法。
【背景技術】
【0002】
拡張現実の目的は、1つまたは複数の仮想オブジェクトをビデオストリームの画像の中に挿入することである。アプリケーションのタイプに応じて、これらの仮想オブジェクトの位置および方向が、画像により表されるシーンの外部データにより、たとえばゲームシナリオから直接得られる座標により、またはこのシーンの特定の要素に関連するデータ、たとえばプレーヤの手または背景の要素などのシーン内の特定の点の座標により決定されることができる。シーンの特定の要素に関連するデータにより位置および方向が決定されたとき、カメラの動き、またはシーン内のこれらの要素自体の動きに対してそのような要素を追跡する必要があることがある。
【0003】
オブジェクト認識アルゴリズム(object recognition algorithm)(またはオブジェクトインデクセーションアルゴリズム(object indexation algorithm))が、イメージセンサたとえばカメラから得られる画像または画像のシーケンス内に特定のオブジェクトの表現が存在することを識別することができるようにする。また、これらのアルゴリズムは、しばしばカメラの基準位置に対して認識されるオブジェクトの近似位置を決定することができる。
【0004】
実例として、Lausanne Federal Polytechnic schoolがそのようなアルゴリズムを開発した。初期化フェーズの間、記述子(descriptor)として知られる、オブジェクトの異なる表現の特徴的要素が、たとえば対象の点、および画像部分を形成する対象の点の近傍を含む集合が、記憶され、分類構造たとえば二分決定木に従って、またはFERNSタイプ決定構造としても知られる多分岐構造に従って編成される。認識フェーズの間、これらの構造は、画像内ですでに検出された対象の点の周囲で取り出される画像部分のピクセル(Picture Element(画素)の頭字語)の強度を比較することにより、画像内に表されるオブジェクトの簡単で高速な分類を提供する。
【0005】
画像内で高い値の方向勾配を有する位置を表す対象の点には、たとえばHarris、FAST、SURF(Speed−Up Robust Featuresの頭字語)、SIFT(Scale−Invariant Feature Transformの頭字語)、MSER(Maximally Stable External Regionの頭字語)、またはYAPE(Yet Another Point Extractorの頭字語)のタイプがある。
【0006】
すでに生成された決定構造に基づき、識別された対象の点に従って、解析された画像および初期化中に使用された画像から取り出される画像部分の間で実行されるマッチングが、データベース内に存在するオブジェクトとの対応を識別することができるようにする。これらの対応は、解析された画像内に表される1つまたは複数のオブジェクトの識別を決定し、近似姿勢(pose)を取り出すために使用されることができる。
【0007】
追跡アルゴリズム自体、幾何学情報が一般に利用できるオブジェクトの姿勢を、すなわち位置および方向を実際のシーンで非常に正確に見いだすために、または同等な方法で、たとえば画像解析の結果、カメラがオブジェクトを撮影するための外部の位置および方向のパラメータを見いだすために使用されることができる。
【0008】
実例として、ビデオストリーム内の現画像の対象の点と、システムの初期化時に得られるキーフレーム(keyframe)と呼ばれるキー画像(key image)の対象の点との、または可視追跡の実行中に更新されるキー画像の対象の点とのマッチングに基づく可視追跡アルゴリズムがある。これらのキー画像は、システム内に記録されるオブジェクトを特徴付ける。このとき、アルゴリズムは、3次元(3D)メッシュが3Dモデルの形で利用できるオブジェクトの姿勢を実際のシーンの中で見いだすため、または同等の方法で、カメラがオブジェクトを撮影するための外部の位置および方向のパラメータを見いだすために使用されることができる。
【0009】
現画像は、まず対象の点を検出するためにオペレータで処理される。次に、オブジェクトの姿勢を推定するために、これらの対象の点の周囲で取り出される画像部分が、記録された1つまたは複数のキー画像内ですでに検出された対象の点の周囲で取り出される画像部分と、画像のこれらの対の間の多数の対応またはマッチを見いだすために比較される。この目的のために、このとき、キー画像が3つの要素から、すなわちビデオストリームから取り込まれる画像、この画像内に出現する実際のオブジェクトの姿勢(方向および位置)、および画像を取り込むために使用されるカメラを特徴付ける固有パラメータからなる。キー画像は、追跡されるべきオブジェクトが、ポインティング装置たとえばマウスを使用する結果、手作業で置かれたビデオストリームから取り出される画像である。キー画像は、いくつかの画像内の同じオブジェクトの姿勢を特徴付けることが好ましい。キー画像は、「オフラインで」、すなわちパーマネント追跡アプリケーションモード以外で生成され、記録される。平面タイプのターゲットまたはオブジェクト、たとえば雑誌に対して、これらのキー画像は、オブジェクトの利用できる画像から、たとえばJPEGまたはビットマップのフォーマットで直接生成されることができることは注目に値する。
【0010】
追跡アプリケーションの初期化中に、オフラインキー画像は、アプリケーションを起動するときに選択されるパラメータに応じて、対象の点を配置するために処理される。これらのパラメータは、アプリケーションの各タイプの用法に対して経験的に指定され、実際の環境の特徴に従ってオブジェクトの姿勢のよりよい質の推定を得るために、検出およびマッチングのアプリケーションを適合させるために使用されることができる。次に、現画像内の実際のオブジェクトの表現が、オフラインキー画像の1つの中の同じオブジェクトの表現の姿勢に近い姿勢の状態にあるとき、マッチの数は大きくなる。このとき、オブジェクトの3次元モデルを実際のオブジェクトに重ね合わせることができるようにするアフィン変換(affine transformation)を見いだすことが可能である。
【0011】
そのような対応が確立されたとき、追跡アルゴリズムはパーマネントモードに切り換わる。オブジェクトの動きは、一方の画像から他方の画像まで追跡され、初期化中に選択されたオフラインキー画像に含まれる情報の結果、どんなドリフトも補償される。正確さのために、このオフラインキー画像は、前画像の推定された姿勢を使用して投影されることができることに留意されたい。したがって、この再投影は、現画像の表現に類似するオブジェクトの表現を含むキー画像を有することができるようにして、したがって、アルゴリズムが、対象の点、および回転に対してロバストではない記述子で動作することを可能にすることができる。
【0012】
一般に、画像の点pが、実際のシーンの点Pの投影、p〜P
I・P
E・T
p→c・Pであり、ここでP
Iはカメラの固有パラメータすなわちカメラの焦点距離、画像の中心、およびオフセットのマトリクスであり、P
Eはカメラの外部パラメータ、すなわち実際の空間内のカメラの位置のマトリクスであり、T
p→cは、追跡されるオブジェクトに関連する基準点と、カメラに付属する基準点との間の移動のマトリクスである。このとき、カメラの相対位置に対するオブジェクトの相対位置だけが考慮され、このことは、実際のシーンの基準点をカメラの光学的中心に配置することを意味する。その結果、関係p〜P
I・T
p→c・Pがもたらされる。マトリクスP
Iは既知であるので、したがって、追跡問題は、マトリクスT
p→c、すなわちカメラの基準点に対するオブジェクトの位置および方向を決定することにある。
【0013】
これを行うために、「誤差最小化(error minimization)」として知られるアルゴリズムが、幾何学的モデルでの3次元対応、ならびに現画像内およびキー画像内の2次元(2D)対応のすべてを使用して、T
p→cを推定するための最良解を見いだすために使用される。例として、測定誤差(誤った2D/3D対応)を除去することができるようにする、RANSAC(RANdom SAmple Consensusの頭字語)またはPROSAC(PROgressive SAmple Consensusの頭字語)のタイプのアルゴリズムが、最適解に向かって急速に収束するLevenberg−Marquardtタイプのアルゴリズムと組み合わせられることができ、再投影誤差を低減する。
【発明の概要】
【発明が解決しようとする課題】
【0014】
測定誤差が大きくなりすぎるとき、すなわち現画像と現在のキー画像の間のマッチの数が少なくなりすぎるとき、追跡はアンカップリングを起こし(オブジェクトの姿勢の推定がもはや十分整合性があるわけではないことが考えられる)、新しい初期化が必要である。
【0015】
画像のシーケンス内の特徴点を追跡し、時間的オプティカルフロー(optical flow)(オプティカルフローと呼ばれる)を、すなわち2つの連続する画像間のピクセルの動きを推定することができるようにする「KLT feature Tracker」と呼ばれるオブジェクト追跡アルゴリズムもある。したがって、この方法は、2つの画像間のこのピクセルの動きdを推定することにより、画像Iのピクセルuに最も類似すると思われる画像J内のピクセルvを見いだすことが意図される。換言すれば、ピクセルvの座標がv=u+d=[ux+dx、uy+dy]と表現されることができる。
【0016】
これらの記述子の探索および追跡の一実装形態がパブリックドメインで提案され、Intel社により開発されたOpenCV(Open Computer Visionの頭字語)という名称で公知である。この実装形態は、画像内の追跡されるオブジェクトの急速な動きに対する、またはカメラの急速な動きに対する解決策のロバストさを増大させるために、サブサンプリングされ平滑化された画像のピラミッドを使用することを具体的に提案する。
【0017】
より正確には、この場合、解決策は、最も類似する画像Jの画像部分p
2を探し出すことにより、画像Iの画像部分p
1の位置を見いだすことにある。この解決策に対して、第1の納得のゆく結果が見いだされたとき、動きの新しい推定が行われるピラミッド構造で反復が実行される。(たとえば画像センサにより得られる)初期画像が弁別されるまで、処理は繰り返される。
【0018】
しかしながら、これらの認識および追跡のアルゴリズムを使用することは、計算に関して特に費用がかかり、強力なプロセッサがなければ、たとえば、携帯電話などの軽量プラットフォームなどのシステムの性能に悪影響を及ぼす。さらに、これらのアルゴリズムは、一般にノイズに、急速な動きに、および明るさの変化に対するロバストさが不十分である。したがって、これらのアルゴリズムは、装置たとえば能力の低いプロセッサおよび不十分な品質の画像センサを備える携帯電話に実装するのに適さない。
【0019】
本発明は、上述の問題の少なくとも1つを解決することができるようにする。
【課題を解決するための手段】
【0020】
本発明の目的が、少なくとも1つのキー画像を使用する、画像のシーケンス内の少なくとも1つのオブジェクトの表現のハイブリッド型追跡のコンピュータの方法であり、方法は、
前記少なくとも1つのオブジェクトの表現を含む画像の前記シーケンスの第1の画像および第2の画像を得るステップと、
前記少なくとも1つのオブジェクトの表現の少なくとも1つの一部を含む、前記第1の画像の少なくとも1つの第1の画像部分を識別するステップと、
前記少なくとも1つのキー画像から、前記少なくとも1つのオブジェクトの表現の少なくとも1つの一部を含む前記キー画像の少なくとも1つの第2の画像部分を取り出すステップと、
前記第1の画像の前記少なくとも1つの第1の画像部分に従って、前記第1の画像の前記少なくとも1つの第1の画像部分に類似する、前記第2の画像の少なくとも1つの第1の画像部分の相対姿勢を推定するステップと、
前記キー画像の前記少なくとも1つの第2の画像部分に類似する、前記第1の画像または前記第2の画像の少なくとも1つの第2の画像部分を探索するステップと、
前記第1の画像部分および前記第2の画像部分の相対姿勢に従って、前記少なくとも1つのオブジェクトの相対姿勢を推定するステップと
を含む。
【0021】
したがって、本発明による方法は、大きな計算資源を必要とせずに、キー画像および前画像に従って、画像のシーケンス内のオブジェクトの表現を追跡することができるようにする。したがって、方法は、軽量プラットフォームたとえば携帯電話上に実装されることができる。
【0022】
特定の一実施形態によれば、前記第1の画像の前記少なくとも1つの第1の画像部分を識別する前記ステップは、前記第1の画像の前記少なくとも1つの第1の画像部分を取り出すステップを含み、前記第2の画像の前記少なくとも1つの第1の画像部分の前記相対姿勢を推定する前記ステップは、前記第2の画像内で、前記第1の画像の前記少なくとも1つの第1の画像部分に類似する、前記第2の画像の前記少なくとも1つの第1の画像を探索するステップを含む。
【0023】
したがって、本発明による方法は、画像解析によりキー画像および前画像に従って画像のシーケンス内のオブジェクトの表現を追跡することができるようにする。
【0024】
有利なことに、前記第1の画像の前記少なくとも1つの第1の画像部分に類似する、前記第2の画像の前記少なくとも1つの第1の画像部分を探索する前記ステップは、KLTタイプの探索アルゴリズムを実装する。したがって、画像部分の類似の探索は、費用のかかる再投影ステップを必要としない。
【0025】
前記少なくとも1つの第2の画像部分は、すでに決定された前記キー画像の少なくとも1つの対象の点に従って、前記少なくとも1つのキー画像から取り出されることが好ましい。したがって、方法は、オブジェクト追跡品質を最適化するために特異点を使用することができるようにする。
【0026】
有利なことに、方法はまた、必要とされる計算の量に関して、適切な対象の点を選択するために、前記少なくとも1つの対象の点を選択するステップを含む。有利なことに、方法はまた、結果の品質に関して、適切な対象の点を選択するために、前記少なくとも1つの選択された対象の点を検証するステップを含む。
【0027】
特定の一実施形態によれば、前記キー画像の前記少なくとも1つの第2の画像部分に類似する、前記第1の画像または前記第2の画像の少なくとも1つの第2の画像部分を探索する前記ステップは、よい品質の結果を効果的に得ることができるようにするKLTタイプのアルゴリズムを実装する。
【0028】
さらに特定の一実施形態によれば、前記キー画像の前記少なくとも1つの第2の画像部分に類似する、前記第1の画像または前記第2の画像の少なくとも1つの第2の画像部分を探索する前記ステップは、得られる結果の品質を改善するために、前記少なくとも1つのオブジェクトの推定される姿勢に従って、前記キー画像の前記少なくとも1つの第2の画像部分を再投影するステップを含む。
【0029】
さらに特定の一実施形態によれば、方法はまた、前記少なくとも1つの第2の画像内の少なくとも1つの対象の点を決定するステップを含む。
【0030】
さらに特定の一実施形態によれば、前記第1の画像の前記少なくとも1つの第1の画像部分に類似する、前記第2の画像の前記少なくとも1つの第1の画像部分を探索する前記ステップは、類似により画像部分を探索する少なくとも2つの異なるアルゴリズムを実装する。そのような実施形態は、追跡方法をよりロバストにすることができるようにする。
【0031】
さらに特定の一実施形態によれば、前記第2の画像の少なくとも1つの第1の画像部分の相対姿勢を推定する前記ステップ、および/または前記第1の画像または前記第2の画像の少なくとも1つの第2の画像部分を探索する前記ステップは、前画像に対して実行された、前記少なくとも1つのオブジェクトの相対姿勢推定の少なくとも1つの結果を使用して、姿勢を予測するステップを含む。したがって、本発明による方法は、必要とされる計算の質および量に関して結果を最適化するために、画像解析と予測計算を組み合わせることができるようにする。
【0032】
本発明の目的が、コンピュータ上でコンピュータプログラムが実行されたとき、上記で説明される方法のステップのそれぞれを実装するのに適した命令を含む前記コンピュータプログラムでもある。
【0033】
本発明の目的が、上記で説明される方法のステップのそれぞれを実装するのに適した手段を含む装置でもある。
【0034】
このコンピュータプログラムおよびこの装置により得られる有利な点は、上述の有利な点に類似する。
【0035】
本発明の別の有利な点、目的、および特徴が、添付図面を参照して、限定しない例により示される以下の詳細な説明から明らかになるであろう。
【発明を実施するための形態】
【0037】
図1は、本発明に従って画像のシーケンス内のオブジェクトの表現を追跡するためのハイブリッド型アルゴリズム100の一例における特定のステップを示す。
図1は初期化フェーズ105および定常状態110を含む。
【0038】
初期化フェーズ105の目的は、具体的には画像内のオブジェクトの1つまたは複数の表現を認識し(ステップ115)、これらのオブジェクトの姿勢を評価する(ステップ120)ことである。初期化フェーズは、
図2を参照してより詳細に説明される。
【0039】
定常状態110の間、表現が初期化中に識別されたオブジェクトが、これらのオブジェクトの姿勢を推定する(ステップ130)ために、画像のシーケンス内で追跡される(ステップ125)。定常状態は、
図3a、
図7、および
図9を参照してより詳細に説明される。この場合、追跡されるオブジェクトが定常状態の間に消えたとき、すなわちシステムがアンカップリングを起こしたとき、新しい初期化フェーズが実行されることが好ましいことが認められる。
【0040】
図2は、
図1で表される画像のシーケンス内のオブジェクトの表現を追跡するためのハイブリッド型アルゴリズム100の初期化フェーズ(105)の実装の一例を示す。
【0041】
上記で示されるように、初期化フェーズは、表現が画像センサ(たとえばカメラ)から得られる画像内に見える、このセンサの視野内に位置する1つまたは複数のオブジェクトを識別し、次に、識別されたオブジェクトのそれぞれに対する姿勢をできるだけ正確に提供することができるようにする。
【0042】
特定の一実施形態によれば、オブジェクトの識別およびオブジェクトの姿勢の推定は、対象の点の決定、および決定構造の使用に基づく。このとき、原理は、対象の点たとえば画像センサから得られる所与の画像内のFAST、YAPE、HARRIS、またはMSERのタイプの点を検出することができるようにするオペレータを適用することからなる。二分決定構造ですでに分類されたオブジェクトの点(「クラス」とも呼ばれる)とこれらの点の類似を示すことを意図し、かつ知識データベースを形成する確率リストを得るために、識別された対象の点の周囲に位置する画像部分が、使用される二分決定構造で記憶される画像部分と比較される。ロバストな結果を得て、かつ必要とされる計算資源を制限するために、FERNSタイプの決定構造が有利に使用される。
【0043】
このとき、初期化フェーズで使用される現画像200は、画像センサから得られる。現画像200は、ノイズの存在を低減するために(ノイズの存在は、二分決定構造の実行中に得られる統計結果を乱すことがある)、たとえば3×3のガウシアンフィルタを使用して平滑化される(ステップ205)ことが好ましい。
【0044】
軽量プラットフォームたとえば携帯電話にこのフィルタを実装するのを容易にするために、フィルタは最適化される。具体的には、そのような最適化は、フィルタリングがピクセル値のコーディングをオフセットすることにより実行されるように、2のべき乗の形で表されることができる対称フィルタを使用することにある。
【0045】
次のステップの目的は、現在の平滑化された画像内の対象の点を検出することである(ステップ210)。好ましい一実施形態によれば、検出される対象の点はFASTタイプである。
【0046】
このとき、FASTタイプの対象の点は、画像の各ピクセルの周囲の所定の周辺、たとえば16ピクセルを有するBresenhamの円(Bresenham’s circle)を生成することにより決定されることが想起されるべきである。これらの点のそれぞれは、中央ピクセルの強度より大きいまたは小さい強度を有する、この円に隣接するピクセルすべての数が、所定のしきい値(たとえば9、10、11、または12)よりも大きい場合、対象の点であると考えられる。また、一般に、所与の近傍内の最も適切な対象の点を選択するためだけに、後処理ステップが適用される。
【0047】
現画像の対象の点を検出した後、検出されたこれらの対象の点の周囲に位置する現画像の画像部分と、決定構造215ですでに記憶された対象の点に関連する画像部分との間の最良の対応225を決定するために、使用される決定構造215が実行される(ステップ220)。このとき、標準的方法で実行される決定構造の生成中に(ステップ230)、いくつかのオブジェクトが、多分同じ1組の構造で一緒にグループ化されたことがあり得ることが認められる。いくつかのオブジェクトを同じグループにグループ化することは、オブジェクトのそれぞれに対するマッチングおよび識別の誤差推定ステップの数を制限しながら、マッチング方法を最適化することが意図される。その結果、単一のサブセットの利用できるオブジェクトがステップ220の間に実行され、最も頻繁にマッチするオブジェクトとの対応だけが保持される。
【0048】
次に、最良マッチが選択される(ステップ235)。この目的のために、最も高い確率値で最大数のマッチを提示する、すでに選択されたグループに属するオブジェクトが選択される。
【0049】
次に、オブジェクト識別誤差を推定するために、RANSACタイプのアルゴリズムが、識別されたオブジェクトのモデルの対象の点を再投影するためにすでに選択されたマッチに対して使用される(ステップ240)。したがって、正しくマッチした対象の点が不足する場合、すなわち十分な数の検出された対象の点と、オブジェクトのモデルに基づく対象の点の再投影との間の誤差(inliersと呼ばれる)が、所与のしきい値Tよりも大きい場合(ステップ245)、現在のグループ内のどのオブジェクトも正しく識別されなかった。この場合、次のグループのオブジェクトに対して、前のステップが繰り返される(ステップ220から240)。能力の低いプラットフォームに関しては、最大可能数のオブジェクトを含むグループを使用することが有利である。しかしながら、理想的には、認識方法のロバストさを損なわないように、類似するテクスチャリング(texturation)を提示する2つのオブジェクトが分離されるべきであることに留意されたい。
【0050】
一方、正しくマッチする点が十分ある場合、識別されたオブジェクトの正確な姿勢250が、たとえばLevenberg−Marquardtアルゴリズムなどのアルゴリズムを使用することにより推定される(ステップ255)。
【0051】
図2を参照して説明される、この場合、多分岐構造の実装に基づく解決策は、現画像内で検出される対象の点のロバストなマッチング、オブジェクトを識別しオブジェクトの姿勢を推定するための限定された処理時間、および同じグループの構造の下でオブジェクトを一緒にグループ化する能力(認識されるべきオブジェクトの数が大きいときに重要である)を含む、数多くの有利な点を提示する。
【0052】
多分岐構造の構築は、オブジェクトのそれぞれにより占有されるメモリの量を制限することができるようにするように最適化されることが好ましい(オブジェクトを構造で表すために約100の点を適切に使用する必要があり、これら100の点は、典型的には約1Mbを占有する)。
【0053】
現画像内で1つまたは複数のオブジェクトが識別され、かつオブジェクトの推定される姿勢に整合性がある場合、すなわち十分な数のマッチが低い再投影誤差を有する場合、マッチおよびこれらの姿勢を使用してオブジェクト追跡方法を開始することができる。
【0054】
第1の実施形態によれは、追跡方法は、前画像からの再帰的情報、および追跡されるオブジェクトに対応する1つまたは複数のキー画像からの情報を使用する。このとき、キー画像が、オブジェクトの3次元姿勢に関連するオブジェクトの2次元表現であると考えられることができることが想起される。いくつかのキー画像が、いくつかの視点からオブジェクトを表すために使用されることができる。キー画像をいくつかから選択することは、追跡されるオブジェクトの表現の類似に、および/またはこれらのオブジェクトの推定される姿勢に基づく。
【0055】
図3aおよび
図3bは、この第1の実施形態を示す。
図3aは追跡アルゴリズムの特定のステップを表し、一方、
図3bはアルゴリズムの実装形態を示す。
【0056】
第1のステップ(ステップ300)は、現画像305内の対象の点を検出することにある。いくつかのタイプの対象の点が使用されることができるが、ここで使用される対象の点はFASTタイプである。したがって、対象の点は、軽量プラットフォームたとえば携帯電話に対して決定されることができる。
【0057】
このとき、前画像と現画像の間の相関を確立するために、すなわち前画像と現画像の対象の点の間の対応のリストを確立するために、検出された対象の点の周囲に位置する画像部分が、前画像315の対象の点(これらの対象の点は、前画像の処理中、または初期化中に決定された)の周囲で取り出される画像部分と比較される(ステップ310)。具体的には、この相関は、ZNCC(Zero−mean Normal Cross Correlationの頭字語)タイプの、画像部分の強度を比較するためのオペレータを使用して実行されてもよい。そのようにマッチした点のそれぞれが、キー画像内に対応する点を有し(再帰的に記憶される)、有利なことに、この対応する点は、方法の残りのステップのために非アクティブにされる。
【0058】
このとき、前画像の対象の点とマッチしない現画像の対象の点が、現画像と使用されるキー画像325の間の相関を確立するために使用される(これは、具体的には、前画像に基づき推定されるオブジェクトの姿勢に従って決定されることができる)。この目的のために、キー画像のアクティブな対象の点の周囲の画像部分が(すなわち前画像内に対応する点がない)、前画像に基づき推定される姿勢に従って再投影され、次に、前画像の対象の点とマッチしない現画像の対象の点に関連する画像部分と比較される(ステップ320)。この場合も、この相関は、具体的には、現画像に対して再投影された点と、現画像の隣接する点との間のZNCCタイプの画像部分の強度と比較するためのオペレータを使用して実行されることができる。
【0059】
次に、オブジェクトの姿勢が、現画像の対象の点の間で確立された、前画像およびキー画像の対象の点との対応を使用して推定される(ステップ330)。
【0060】
所定のしきい値を使って、キー画像の対応する3D座標を再投影することにより得られる理論的位置と現画像内で検出されマッチした点の位置を比較することにより、推定されるオブジェクトの姿勢を使用することにより、相関誤差が除去されることが好ましい。したがって、現画像の有効な対象の点だけが、次画像を処理するために使用される。
【0061】
使用されるキー画像の対象の点を使って実行される再帰的マッチの前に、前画像との再帰的マッチを実行することは、キー画像の大部分を再投影するのを避けることができるようにする。各再帰的マッチは、事実上、キー画像に対する参照を有し、すでにマッチしたキー画像の点は現画像に対して処理されない。これは、画像の再投影およびマッチングのオペレーションは計算に関して特に重荷になるので、処理時間の大きな節約をもたらす。
【0062】
このとき、前画像の画像部分に類似する現画像の画像部分の相対姿勢が、上記で説明されるような画像解析により推定されることができる場合、1組の前画像内に認められる類似する画像部分の姿勢の変化に基づく予測により推定されることもできることが認められる。
【0063】
この第1の実施形態は、非序に高速な処理を行うことができるようにするが、推定される姿勢は完全ではない。推定される姿勢を改善するために、KLTタイプのアルゴリズム(計算する能力に関する要件を制限するように修正されることが好ましい)を使用して、対象の点を追跡するステップを追加することが可能である。
【0064】
したがって、この第2の実施形態によれば、対象の点を追跡するステップ(ステップ310’)が、再帰的相関ステップ(ステップ310)の後に追加される。ステップ310’の目的は、現画像において、現画像の対象の点とマッチしない前画像の対象の点の動きを決定することである。
【0065】
このとき、再帰的相関(ステップ310)および対象の点の追跡(ステップ310’)に従って現画像内でマッチしないキー画像の対象の点だけが、現画像とキー画像の間の相関を決定するために再投影される(ステップ230)。
【0066】
オブジェクトの姿勢の推定は、
図3を参照して説明される推定と同様に実行される。
【0067】
図4は、この追跡アルゴリズムの実装形態を図式的に示す。
【0068】
この実施形態は、前の実施形態よりもよい結果を得ることができるようにする(推定される位置は、光学的不鮮明に対してより安定し、よりロバストである)。より少ない数の対象の点を使用することも可能である。それにもかかわらず、ドリフトが観測されることがある。また、再帰的マッチとKLTタイプのマッチの間のパラメータの割当に基づいて実装することはより複雑である。
【0069】
図5は、前画像と現画像の要素間のアフィン変換を推定するために、この実施形態で実装されるKLTタイプのアルゴリズムの一例を図式的に示す。この場合、KLTアルゴリズムは、KLTアルゴリズムが軽量プラットフォームたとえば携帯電話に実装されることができるようにするように修正される。
【0070】
第1のステップ(ステップ500)の目的は、現画像に対して画像の第1のピラミッドを、前画像に対して第2のピラミッドを構築することである。この場合、これらのピラミッドのそれぞれが5つのレベルを含み、最も低いレベルが、画像センサから得られる画像に対応する。
【0071】
有利なことに、画像は、サブサンプリング(画像の個々の寸法が、たとえば2分の1にされる)される前に、5×5カーネルのガウシアンフィルタで平滑化される。平滑化カーネルの係数は、実行される基本オペレーションの数を低減するために、整数、理想的には2のべき乗であることが好ましい。また、このとき、サブサンプリングは、双一次補間(bilinear interpolation)なしに実行され、双一次補完は、平滑化の結果、必要ない。
【0072】
前画像と現画像の間で考慮中の画像部分の動きを表す変数dxおよびdyが、ゼロに初期化される(ステップ505)。同様に、ピラミッドの現在のレベルを表すlevel変数が、最大値(nblevelsと呼ばれる)に、この場合は5に初期化される。このとき、変数dxおよびdyは、サブピクセル座標を、すなわちピクセルのサイズ未満の解像度で定義することができるようにすることが認められる。しかしながら、計算を簡略化するために、計算は、整数を処理するためだけに、最も近い倍率で実行される。
【0073】
次に、座標として(x、y)を有する、処理される対象の点を中心にする画像部分P
1が、ピラミッドのレベルlevelにある前画像から取り出される(ステップ510)。そのような画像部分は、典型的にはサイズ5×5ピクセルまたは7×7ピクセルを有する。
【0074】
次に、この画像部分のガウシアン微分係数が決定される(ステップ515)。この計算は、整数を使って作業するためだけに、最も近い倍率で実行されることが好ましい。
【0075】
次に、座標として(x+dx、y+dy)を有する点を中心する画像部分P
2が、ピラミッドのレベルlevelにある現画像から取り出される(ステップ520)。
【0076】
次に、変数dxおよびdyの値が、この場合Gauss−Newtonアルゴリズムに従って推定される(ステップ525)。このステップは、前画像の部分と現画像の部分の間の差を最小にする変数dxおよびdyを推定することができるようにする。この推定は、異なるレベルの画像スケールを使用する結果、大域的最小に導く局所的最小に向かう収束を可能にするように、数回反復される。この場合も、これらの計算に整数を使用することが、大きな性能向上を可能にする。
【0077】
次に、このアルゴリズムの所定の反復回数に到達したかどうか、および変数dxおよびdyが所定の範囲内にあるかどうかを決定するためにテストが実行される(ステップ530)。そうではない場合、前ステップ(ステップ520および525)が繰り返される。それ以外の場合、level変数が1だけ増分され(ステップ535)、ピラミッドのレベルすべてが処理されたかどうかを決定するために、テストが実行される(ステップ540)。ステップ510からステップ540は、変数dxおよびdyが最大解像度を有する画像に対して評価されるまで繰り返される。
【0078】
有利なことに、数少ない対象の点だけが、画像ピラミッドの低解像度スケールレベルで(すなわち上位レベルで)処理される。したがって、追跡されるオブジェクトの中心点だけが、最高レベル(たとえば40×30)で処理されることが好ましく、このオブジェクト上に一様に分散した4つの点が、直接下位レベル(たとえば80×60)で処理される。これらの上位スケールレベルは、2つの画像間の大きな動きを近似的に推定することができるようにする。このとき、下位スケールレベルは標準的方法で処理される。このとき、下位スケールレベルでの推定される並進(dx、dy)は、直接下位レベルに適用される。これらの下位レベルは、見いだされる点の位置を改良することができるようにする。
【0079】
第3の実施形態によれば、
図3を参照して説明される相関ステップ(ステップ310)は、
図4を参照して説明されるようなKLTタイプの対象の点を追跡するステップ(ステップ310’)により置換される。換言すれば、前画像と現画像の間で対象の点を追跡することは、KLTタイプのアルゴリズムだけを使用して実行される。
【0080】
図6は、この追跡アルゴリズムの実装形態を図式的に示す。
【0081】
この実施形態は、光学的不鮮明に対してもロバストで安定性のよい推定された姿勢を得ることができるようにする。より少数の対象の点を使用することも可能である。しかしながら、大きなドリフトが認められることがある。
【0082】
第4の実施形態によれば、追跡方法は、現画像内の任意の対象の点を検出することを必要とせず、KLTタイプのアルゴリズムだけを実装する。この実施形態は、安定かつロバストであり、上記で説明される修正されたKLTアルゴリズムを使用して、軽量プラットフォームたとえば携帯電話で、リアルタイムで実現されることができる。
【0083】
図7は、この第4の実施形態によるオブジェクト追跡アルゴリズムの特定のステップを図式的に示す。
【0084】
示されるように、すでに決定された点が、前画像および現画像の中に類似する画像部分を探し出すことにより再帰的に追跡される。このとき、これらの2D/3D対応の結果、姿勢が推定される(再帰的に追跡される点が、キー画像の対象の点に対する初期参照を保持することを考慮すると、3D座標はキー画像内の対象の点の位置により与えられる)。次に、新しい対象の点がキー画像内で選択され、対応する点が、次画像の処理を可能にするために、現画像内で探し出される。
【0085】
より正確には、第1のステップが、初期化フェーズ(ステップ710)の後に、前画像で識別された点705、またはキー画像とマッチした点を、現画像700内で追跡することからなる。このとき、点のこの追跡は、上記で説明される修正されたKLTオペレータを使用して実行される。この追跡は、前画像内でそのように識別された点のそれぞれに対して、現画像内の対応する点得ることができるようにする。
【0086】
そのように追跡された点は、一連の2D/3D対応(現画像内の点の2D位置、およびキー画像内の3D位置)を得ることができるようにする。上記で示されるように、このとき、これらの対応はサブピクセルの精度で推定される。
【0087】
次に、この1組の対応は、前画像と現画像の間で追跡されるオブジェクトの動きを特徴付ける6つの自由度(位置の3つの自由度、および向きの3つの自由度)を有する状態ベクトルを評価できるようにする姿勢推定方法(ステップ715、720、および725)で使用される。
【0088】
この目的のために、ステップの目的は、点の追跡から得られる誤ったマッチを除去する(ステップ720)ために使用されることができる第1の姿勢を推定する(ステップ715)ことである。このとき、姿勢は、前画像および現画像の点のマッチングに従って標準的方法で推定される。
【0089】
点の追跡から生じる誤ったマッチを除去するために、前画像内で識別され、評価された姿勢に従って再投影される点が、その姿勢に適合することを検証するために、最大の許可された再投影しきい値が使用される(たとえばユークリッド距離4ピクセル)。この目的のために、前画像内で識別された各点の3D座標が、すでに推定された姿勢を使用して投影される。再投影誤差は再投影された2D座標と、追跡される点の追跡された2D座標の間のユークリッド距離により与えられる。
【0090】
次に、現画像内の追跡されるオブジェクトの姿勢730が、正しくマッチした点735だけを使用して評価される(ステップ725)。
【0091】
任意選択で、追跡される点と再投影される点の間の距離に基づき、誤差重み付け関数を使用して、正しいと考えられる対応のそれぞれと重み付けを関連付けることが可能である。そのような誤差重み付けは、典型的には自乗された再投影誤差(または残差)および現在のサンプルに対して自乗された再投影誤差のすべてを使って推定される中央値の関数として計算される。したがって、重み付けの関数として正しくマッチした点に基づき、追跡されるオブジェクトの姿勢を改善することが可能である。これは、Gauss−Newtonアルゴリズムの反復のそれぞれに対する計算に直接影響を及ぼす。このステップの間、ドリフトする傾向がある点を、KLT追跡アルゴリズムを使って除去するために、最大の許可された再投影しきい値が(たとえばユークリッド距離1または2ピクセルまで)低減される。
【0092】
追跡されるオブジェクトの姿勢を推定した後、次画像内のオブジェクトを追跡するために使用される点765が決定される。有利なことに、これらの点は、現画像内で正しくマッチした、前画像から生じる点(すなわち再投影ステップの間に検証された点)、およびキー画像の対象の点を一緒にグループ化する。換言すれば、次画像内で使用される点は、前画像から現画像内で正しく追跡された点と、キー画像を使用して得られる新たな点の組合せである。点のこの組合せは、オブジェクト追跡方法でのドリフト/オブジェクト追跡方法に由来するドリフトを避けることができるようにする。
【0093】
使用されるべきキー画像の対象の点750は、現画像内の再投影によるキー画像の対象の点745から決定される(ステップ740)。キー画像の対象の点のいくつかのタイプの選択が実装されることができる。すなわち
キー画像のアクティブな対象の点を使用する(すなわち前画像に対応がない)。これは、多くの点がキー画像内で潜在的に利用できるので、最も費用のかかる解決策である。さらに、これらの対象の点が、異なるキー画像上で構築されるとき、初期化フェーズを改善するために、異なるスケールレベルで構築され、このことがキー画像上で利用できる対象の点の数をさらに増大させる。
現画像内の追跡されるオブジェクトのサイズの関数として対象の点を選択する。現画像内のオブジェクトのサイズは既知であるので(現画像内のピクセル単位の表面積)、最も適切なスケールに従って対象の点を選択することが可能である。たとえば、オブジェクトがカメラに近接しており、方法により処理される現画像が320×240ピクセルであるとき、この値(320×240)に最も近いスケールレベルに対応する対象の点を選択することが望ましいことがある。この選択は、追跡されるオブジェクトがカメラに対して接近している、または遠ざかっているとき、ロバストに追跡されることができる対象の点を識別することができるようにする。しかしながら、この方法では多くの対象の点が選択されることがあり、この方法は相当の計算量を伴うことがある。
キー画像と組み合わせられたグリッドに従って対象の点を選択する。この場合、対象の点を選択するために、サイズN×Mのグリッドがキー画像上に構築される。したがって、現画像上で見えるグリッドのセル当たり、好ましくは最も適切な対象の点を1つ選択することが可能である。たとえば、サイズ7×5のグリッドに対してキー画像の35の対象の点が選択されることができる。オブジェクトがカメラの視野を離れるとき、点選択アルゴリズムは、一定数の追跡される点を保持するために、グリッドのセル当たりいくつかの点を選択することができる。このグリッドには、オブジェクトの表面全体に一様に分散した対象の点の選択を可能にし(具体的には最後の推定される姿勢を安定させることができるようにする)、互いに近接する対象の点(役に立たないことがある)を選択することを避けるという二重の有利な点がある。
【0094】
次に、対象の点の周囲に位置する、キー画像の画像部分が、すでに推定された現在の姿勢情報に従って取り出され、再投影される(ステップ755)。再投影された画像部分は、一般に強度が大きく変化した現画像に非常に類似することが認められる。この再投影は、デスティネーション画像の各ピクセルに対して、サブピクセル座標が、2つの画像を連結する逆一次変換(reverse homographic transformation)の関数としてソース画像内に見いだされなければならないので、計算に関して費用がかかる。したがって、デスティネーション画像部分内の1つのピクセルが、ソース画像内の数ピクセルの補間に対応する。計算を最適化するために、補間は、有利なことに最近接技法(closest adjacent technique)を使用して置換されることができる。
【0095】
次のステップでは、現画像の対応する部分に類似する再投影された画像部分に関連する選択された対象の点を検証するためだけに、再投影されたキー画像の部分と現画像の対応する部分の間で比較が行われる(ステップ760)。この検証ステップは以下のステップを含むことができる。
現在の姿勢に対して、現画像内で再投影された選択される対象の点に関連する画像部分をマッチさせるステップ。キー画像と現画像の間の比色差が大きいことがあるので、KLT追跡方法は照明の変化に対してロバストであることが好ましい。
たとえばZNCCまたはSAD(Sum of Absolute Differencesの頭字語)のタイプのオペレータを使用して、行われるマッチを検証するステップ。画像部分の比較による検証のこのステップは、使用されるKLT追跡オペレータに関連するいかなるドリフトも避ける上で重要である。
【0096】
このように選択され検証された対象の点は、次画像内のオブジェクトを追跡するために使用される1組の再帰的点765に追加される。
【0097】
図8は、この追跡アルゴリズムの実装形態を図式的に示す。
【0098】
あるいは、特定のタイプのオブジェクト上に出現することがあるドリフトを避けるために、現画像内の追跡されるオブジェクトの姿勢が、次画像内のオブジェクトを追跡するために使用される点を選択し、検証した後に推定されることができる。これは、具体的には、オブジェクトが別個のアウトラインたとえば黒いエッジを有するときに認められることがある。KLT追跡方法により使用される対象の点は、これらのアウトラインを追跡し、不十分な2D/3D対応(outliersと呼ばれる)を与える傾向があり得るためである。
【0099】
図9は、第4の実施形態によるオブジェクト追跡アルゴリズムのそのような一変形形態の特定のステップを図式的に示す。
【0100】
前述のように、第1のステップ(ステップ710’)の目的は、前画像内で識別された点705、または初期化フェーズ後にキー画像とマッチした点を現画像700内で追跡することである。この場合も、このとき、点のこの追跡は、上記で説明される修正されたKLTオペレータを使用して実行される。修正されたKLTオペレータは、前画像内でそのように識別された点のそれぞれに対して、次画像内の対応する点を得ることができるようにする。
【0101】
次のステップ(ステップ740’)の目的は、キー画像内の対象の点を選択することである。このステップはステップ740に類似する。しかしながら、選択される対象の点は、現画像内の追跡されるオブジェクトの姿勢を推定するために使用されるので、この姿勢に対してではなく、多分、前画像に従って決定された姿勢に対して再投影される。
【0102】
再帰的点の追跡(ステップ710’)およびキー画像の点(ステップ740’)の追跡を改善し、簡略化するために、有利なことに、姿勢の予測のための線形モデルが使用されてもよい。したがって、前姿勢の履歴を使用して、現画像内で探し出される対象の点の位置を予測し、したがって、大きな画像のピラミッドを構築し実行する必要性を避けることが可能であり、最下位レベルの解像度はもはや必要とされない。
【0103】
選択された対象の点の周囲の画像部分は、これらの対象の点を現画像の対応する点とマッチさせるために、追跡アルゴリズムに、この場合KLTアルゴリズムに従って現画像の部分と比較されるために、前画像内の追跡されたオブジェクトの姿勢に従って取り出され、再投影される(ステップ770)。前画像の点と現画像の点の間のマッチに関しては、前画像のこれらの点と現画像の対応する点の間のアフィン変換を決定することができるようにするので、キー画像の点と現画像の対応する点の間のこれらのマッチは、キー画像の選択された対象の点と現画像の対応する点の間のアフィン変換を決定することができるようにする。
【0104】
前画像の点と現画像の対応する点の間のマッチ、およびキー画像の点と現画像の対応する点の間のマッチは、追跡されるオブジェクトの姿勢730’を標準的方法で決定することができるようにする(ステップ775)。
【0105】
上述の実施形態の1つに従って実装される、本明細書で説明される方法は、具体的には制限された処理資源を有するシステムたとえば携帯電話で、非平面状のオブジェクトを追跡するのに特に適している。したがって、方法は、たとえば画像のシーケンス内で顔を追跡するために使用されることができる。
【0106】
図10は、本発明を、具体的には
図1、
図2、
図3a、
図5、
図7、および
図9を参照して説明されるアルゴリズムを実装するのに適したハードウェアアーキテクチャの一例を示す。そのような装置は、たとえば携帯電話、パーソナルアシスタント、あるいは携帯型のパーソナルコンピュータまたはネットブックのタイプである。この場合、装置1000は、
中央処理装置またはマイクロプロセッサ1010(CPU)、
本発明を実装するために必要とされるプログラムを保持することができる読み出し専用メモリ1015(ROM)、
上述のプログラムの実行中に生成され修正される変数およびパラメータを記憶するのに適したレジスタを保持するランダムアクセスメモリまたはキャッシュメモリ1020(RAM)、および
データを送受信するのに適した通信インタフェース1050
を接続する通信バス1005を含む。
【0107】
装置1000はまた、
具体的には、入出力インタフェース(1055)を介してバス1005に接続される画像センサ(1060)により観測されるような実際のシーンを表示することができるようにし、好ましくは仮想オブジェクトにより拡張され、キーボードおよびマウス1030、あるいは別のポインティング装置たとえばタッチスクリーンまたは遠隔操作を使用して本発明によるプログラムと対話することができるユーザとのグラフィックインタフェースの役割を果たすことができるスクリーン1025、
上述のプログラム、および本発明に従って処理されたまたは処理されるべきデータ、たとえば訂正テーブルを記憶することができるハードディスク1035、および
メモリカード1045を収容し、本発明に従って処理されたまたは処理されるべきデータを読み書きすることができるメモリカードリーダ1040
といった要素を有することが好ましい。
【0108】
通信バスは、装置1000に含まれる、または装置1000に接続される異なる要素間の通信および相互運用性を提供する。バスの表現は限定的ではなく、具体的には、中央処理装置は、命令を直接または装置1000の別の要素を通して、装置1000の任意の要素に伝達することができる。
【0109】
プログラム可能装置が本発明による処理を実装することができるようにする各プログラム用機械コードが、たとえばハードディスク1035または読み出し専用メモリ1015に記憶されることができる。
【0110】
一変形形態によれば、メモリカード1045は、データを、具体的には検出されたイベントと呼び出されるコマンドの間のルックアップテーブル、およびさらに装置1000により読み出されるとハードディスク1035に記憶される上述のプログラム用機械コードも含むことができる。
【0111】
別の変形形態によれば、プログラム用機械コードは、上記で説明される方法と同一の方法で記憶されるように、少なくとも部分的にインタフェース1050を通して受信されることができる。
【0112】
より一般的には、1つまたは複数のプログラムが、実行される前に装置1000の記憶手段の1つの中にロードされることができる。
【0113】
中央処理装置1010は、本発明による1つまたは複数のプログラムの命令またはソフトウェアコードの部分の実行を指令および指示し、プログラムの命令は、ハードディスク1035、または読み出し専用メモリ1015、またはその他の上述の記憶要素に記憶される。電源が投入されたとき、不揮発性メモリたとえばハードディスク1035または読み出し専用メモリ1015に記憶される1つまたは複数のプログラムが、ランダムアクセスメモリ1020に転送され、このとき、ランダムアクセスメモリ1020は1つまたは複数のプログラム用機械コードを含む。
【0114】
当然、特定のニーズを満たすために、本発明の分野の当業者が上記の説明に修正を適用することができるであろう。