JP2012160178A - オブジェクト認識デバイス、オブジェクト認識を実施する方法および動的アピアランスモデルを実施する方法 - Google Patents

オブジェクト認識デバイス、オブジェクト認識を実施する方法および動的アピアランスモデルを実施する方法 Download PDF

Info

Publication number
JP2012160178A
JP2012160178A JP2012007813A JP2012007813A JP2012160178A JP 2012160178 A JP2012160178 A JP 2012160178A JP 2012007813 A JP2012007813 A JP 2012007813A JP 2012007813 A JP2012007813 A JP 2012007813A JP 2012160178 A JP2012160178 A JP 2012160178A
Authority
JP
Japan
Prior art keywords
node
image
current
training
aam
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2012007813A
Other languages
English (en)
Inventor
Seal Derek
シール デレック
Jing Xiao
ザオ ジング
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Publication of JP2012160178A publication Critical patent/JP2012160178A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • G06V40/169Holistic features and representations, i.e. based on the facial image taken as a whole
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/231Hierarchical techniques, i.e. dividing or merging pattern sets so as to obtain a dendrogram
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/762Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
    • G06V10/7625Hierarchical techniques, i.e. dividing or merging patterns to obtain a tree-like representation; Dendograms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Image Analysis (AREA)

Abstract

【課題】真のサンプル画像の広範で大きなライブラリーを用いてトレーニングする場合に、より高速な位置合わせプロセスを備えたAAMを提供する。
【解決手段】トレーニングライブラリーのトレーニング画像を、各親ノードのトレーニング画像が特有の特徴の類似性にしたがって二つの子ノードに分割された階層ツリーに配置することにより、動的アピアランスモデル(AAM)が築かれる。各リーフノードの対応するトレーニング画像を使用して、リーフノードにつき一つのAAMが構築される。動作時には、ルートノードから開始して、テスト画像が各親ノードの二つの子ノードと比較され、テスト画像に最も厳密にマッチするモデル画像のノードパスをたどる。テスト画像があるリーフノードに関連付けられることから選択されるAAMに、テスト画像が提示される。選択されたAAMの出力画像は、十分な位置合わせが達成されなければ、階層ツリーに再提示されうる。
【選択図】図3

Description

本発明は動的アピアランスモデル(active appearance model)すなわちAAMマシンおよび方法に関する。より具体的には、トレーニングフェーズが、一つの大きなAAMとは対照的に複数の小さなAAMの使用により入力テスト画像をより速く位置合わせできる複数のより小さなAAMを作成し、オブジェクトのクラスの外れ値の真の例へのより良いサポートを提供することによって通常よりも大きな範囲の入力テスト画像を位置合わせすることがさらに可能である、AAMアプローチに関する。
コンピュータービジョンの分野においては、画像が取り込まれるだけでなく、コンピューターが取込画像内の様々な特徴を識別しラベル付けできることが一般に望ましい。基本的に、コンピュータービジョンの目標は、コンピューターが、取込画像のコンテンツを「理解する」ことである。
取込画像内の特徴識別のための様々なアプローチが公知である。初期のアプローチは、形状を識別する概念に集中した。例えば、レンチまたはレンチの一種等の特定のアイテムを識別することが目標であれば、様々な種類の許容可能なレンチのライブラリー(すなわち「真の」レンチの画像として定義される「真の例」)が作成される。これらの真の例の中のレンチの輪郭形状が格納され、取込画像に対して許容可能な形状の探索が実行される。この形状探索のアプローチは、許容可能な形状の網羅的なライブラリーを有し、ライブラリーが大きすぎず、取込画像の対象が予め定義された真の形状から逸脱しない場合に成功した。
しかし、複雑な探索ではこのアプローチは有効でない。このアプローチの限界は、画像内で探索されている対象が静止しておらず、変化しやすい場合に、直ちに明らかになる。例えば、人間の顔は明確な特性を有するが、それがとりうる容易に定義可能な数の形状および/またはアピアランスを有しない。アピアランスという用語は、本明細書において、オブジェクト全体の色および/または明度差や光源の差、ならびに他の表面/テクスチャーの相違をさすために用いられることを理解されたい。人間の顔を理解する難しさは、人生の通常の過程で感情、表情、話し方、年齢などの変化により、形状の歪みおよび/またはアピアランスの変化を生じやすいことを考慮すると、さらに深刻になる。人間の顔およびその多くのバリエーションの網羅的なライブラリーをコンパイルすることが実際上不可能であることは、自明である。
人間の顔等、形状およびアピアランスが変化するオブジェクトの画像認識における最近の開発は、T.F.CootesおよびC.J.Taylorによる“Statistical Models of Appearance for Computer Vision”,(以下にCootes等),Imaging Science and Biomedical Engineering,University of Manchester,Manchester M13 9PT,U.K.email:t.cootes@man.ac.uk,http://www.isbe.man.ac.uk,March 8,2004中に論じられており、参照により全体として本明細書に組み込まれる。
Cootes等は、機械が「見る」ものについて理解できるためには、画像されている予想の構造を記述しラベル付けするモデルを活用しなければならないと説明する。過去には、モデルベースのビジョンが人工オブジェクトの画像にうまく適用されているが、その使用は、複雑で変動する傾向のある自然の対象の画像を解釈する際により困難であると判明している。主な問題は、検査対象の変動性である。有用であるためにはモデルが特定される必要がある、すなわちモデル化対象の真の例だけを表さなればならない。しかし、変動するオブジェクトを識別するためには、モデルが一般的であり、それが表すオブジェクトのクラスの任意のもっともらしい真の例を表すことが必要である。
最近の開発は、この明白な矛盾が、形状およびアピアランスの変動性の特定のパターンを取り込める統計モデルにより対処されうることを示している。これらの統計モデルを画像解釈において直接用いうることが、さらに示されている。
静的にモデルの適用を促進するために、解釈される対象が、典型的にクラスに分けられる。これにより、統計解析が特定のクラスの特性の事前知識を用いてその識別およびラベル付けを促進し、構造的複雑さ、ノイズ、または欠測データにより生じる混乱を克服することも可能になる。
加えて、取込画像内の識別およびラベル付けされた対象のさらなる処理を促進するために、識別された対象が、探索されているオブジェクトのクラスの「モデル」または「正規」形状に変形される(すなわちフィッティングされる)ことが有益である。このモデルまたは正規形状は、所定の形状およびサイズであり、所定の形状内の所定の位置での特有の特徴を識別するラベルの情報または一覧表を有するのが好ましい。例えば、人間の顔は大幅に変動しうるが、標準形状およびサイズに適合されうる。標準形状およびサイズに適合されてから、変形された顔がさらに処理されて、表情、視線方向、顔が帰属する個体などが決定されうる。
このタイプの位置合わせを使用する方法が、動的形状モデル(active shape model)である。図1に関して、動的形状モデルは、所定の顔モデル1Aおよび各々が対応する変形制約を有する所定の変形パラメーターのリストを使用して、顔モデルを伸長させ、対象画像2との位置合わせを試みるように移動させうる。同等に、所定の変形パラメーターのリストが対象画像2に適用され、顔モデル1Aとの位置合わせを試みるように移動および変形させうる。この代替的アプローチは、対象画像2が顔モデル1Aに位置合わせされるとともに、同時に顔モデル1Aの形状およびサイズにフィッティングされるという付加的利点を有する。したがって、位置合わせが完了すると、フィッティングされた画像は既にさらなる処理に好適な状態になっている。
説明のため、図1は、顔モデル1Aが対象顔2にフィッティングされているのを示す。図1の例は、説明のために誇張されたケースである。典型的な顔モデル1Aは、その中の他のポイントに対して、その許容可能な変形ポイントに関する制約を有することとなることを理解されたい。例えば、顔モデルを位置合わせすることが、左目を1インチ上に移動させ、右目を1インチ下に移動させることを意味する場合は、結果として得られる位置合わせされた画像は、おそらく人間の顔ではないと思われ、したがってそのような変形は典型的に許容可能でない。
図1の例においては、顔モデル1Aが、画像3に示すように、所定の関心のある地点の傍にまず大雑把に配置され、対象顔2の中心付近に典型的に配置される。画像4に示すように、顔モデル1Aを一方向または別方向へ移動することから生じるずれの分量と、所定の数方向のいずれかへのサイズ乗数を調節した結果とを比較することにより、顔モデル1Aをより良く位置合わせする方法を決定できる。目的は、画像5に示されるように、瞳孔、鼻孔、口角などの所定のランドマークを可能な限り近くに位置合わせすることである。最終的には、十分な数のこのようなランドマークポイントが位置合わせされた後には、対象画像2がモデル画像1A上へ歪められて、特定の目的を達成するためにさらに処理されうる、関心のあるポイント(目の特徴、鼻の特徴、口の特徴、頬の構造などの輪郭等)が識別およびラベル付けされた所定の形状およびサイズのフィッティングされた画像6が得られる。
T.F.Cootes及びC.J.Taylorによる「コンピュータービジョンのためのアピアランスの統計モデル(Statistical Models of Appearance for Computer VIsion)、Imaging Science and Biomedical Engineering,University of Manchester,Manchester M13 9PT,2004年3月8日
しかし、このアプローチは、例えば陰影、色、またはテクスチャーの変化等のアピアランスの変化を考慮しない。オブジェクトの形状およびアピアランスを一緒に考慮する、より全体観的または包括的なアプローチが、動的アピアランスモデル(AAM)である。Cootes等はアピアランスのグレーレベル(または陰)の特徴に主に集中しているように見えるが、AAMが、顔モデル(モデル形状パラメーターおよびモデルアピアランスパラメーターの両方を含む)の対象顔上への最良の位置合わせを探索すると同時に、形状およびアピアランスのずれを最小化する、という基本的原理を論じている。換言すれば、AAMは、予想される構造の形状、その空間関係、およびそのグレーレベルアピアランス(またはより一般的に、RGB値等の色値アピアランス)についての知識を適用して、自動化されたシステムをもっともらしい解釈に制限する。AAMが、探索されるオブジェクトのリアルな画像を生成できるのが理想的である。個体の表情を変化させる等により、任意の個体の説得力のある画像を生成できる顔モデルが例である。AAMは、解釈をマッチング問題として定式化することによりこれを達成する。解釈する画像が与えられたら、もっともらしいバリエーションに可能な限り類似する「想像画像」を生成するようにモデルのパラメーターを調節することにより、構造が位置付けおよびラベル付けされる。
AAMは有用なアプローチであるが、AAMの実装は依然としていくつかの課題をもたらす。例えば、AAMマシンは、その所定のパラメーターの範囲内で「フィット」を見つけられる限り、フィッティングされた画像はマッチ(すなわち、もっともらしいバリエーションの真の例)であるとみなす。しかし、フィッティングされた画像が実際に真の例であるという保証はない。
換言すれば、AAMマシンが対象入力画像をモデル画像と位置合わせしたように見えても、結果として得られた位置合わせされた画像は、探索されているオブジェクトのクラスの真の表示ではないかもしれない。例えば、モデル画像の最初の位置が対象入力画像からあまりに遠くずれている場合は、モデル画像が対象入力画像上に誤って位置合わせされうる。これにより、歪められた出力画像の歪んだ真でない表示がもたらされると考えられる。
AAMマシンの他の限界は、区別パラメーターを定義し、パラメーターの許容可能な歪みを定義するために、真のサンプルのトレーニングライブラリーに統計解析を適用するために必要とされるコンピューティングの複雑さに関する。適用される統計解析の性質上、結果は、トレーニングライブラリーの中の画像の一部分との位置合わせだけを許容する。探索されているオブジェクトのクラスが幅広く変動しやすい場合には、形状モデル画像またはアピアランスモデル画像を、統計解析により定義されるノルムを超えた特性を有する入力された対象画像に対して適切に位置合わせすることは可能でないかもしれない。これは、形状モデル画像およびアピアランスモデル画像が構築されるトレーニングライブラリーの中の画像であっても言える。典型的には、構築されたモデル画像は、トレーニングライブラリーの中のサンプル画像のわずか90%〜95%に対してしか位置合わせできない。
本発明の目的は、特に真のサンプル画像の広範で大きなライブラリーを用いてトレーニングする場合に、より高速な位置合わせプロセスを備えたAAMを提供することである。
本発明の別の目的は、真の外れ値のサンプルを含むオブジェクトの特定のクラスのより多数の真のサンプルをより良く位置合わせすることが可能なAAMを提供することである。
本発明のオブジェクト認識デバイスは、入力テスト画像におけるオブジェクトのクラスを認識するためのオブジェクト認識デバイスであって、
前記オブジェクト認識デバイスは、
前記入力テスト画像を受け取るための入力と、
複数の動的アピアランスモデル処理ブロック(AAM)であって、前記複数のAAMの各々が、独立したデジタルトレーニング画像の異なるグループによりトレーニングされており、トレーニング画像の全てのグループの各トレーニング画像が、前記オブジェクトのクラスの特有の特徴の共通の所定のセットが識別されラベル付けされた、前記オブジェクトのクラスの真の例を有し、トレーニング画像の各グループが、トレーニング画像の他のグループの前記特定の特質とは異なる選択された特有の特徴における特定の特質を共有することにより異なり、前記複数のAAMの各々が、それがトレーニングされる前記トレーニング画像のグループの前記特定の特質を反映する、対応するモデル画像および対応する統計モデルフィッティング関数を有する、AAMと、
データ処理モジュールと、を有し、
前記データ処理モジュールは、
(a)前記入力テスト画像をcurrent_imageとして定義するステップと、
(b)前記current_imageを、前記複数のAAMの中から選択される選択されたAAMに適用するステップであり、前記選択されたAAMが、前記選択されないAAMに対応する前記モデル画像と比較して、前記current_imageに最も厳密にマッチする対応するモデル画像を有し、前記選択されたAAMが前記current_imageを処理して、中間の位置合わせされた画像を生成する、ステップと、
(c)IF前記中間の位置合わせされた画像と所定のモデル画像とのずれの程度が、所定の最大程度より大きいなら、
THEN前記中間の位置合わせされた画像を前記current_imageとして定義し、ステップ(b)に戻り、
ELSEそうでなければ、前記中間の位置合わせされた画像を前記オブジェクトのクラスの成功した認識として出力するステップと、を実施することを特徴とする。
また、本発明のオブジェクト認識デバイスにおいて、前記ステップ(c)において、前記IF文の中で、前記所定のモデル画像が、前記選択されたAAMの対応するモデル画像であることを特徴とする。
また、本発明のオブジェクト認識デバイスにおいて、前記ステップ(c)において、前記IF文の中で、前記所定のモデル画像が、前記複数のAAMの全てをトレーニングするために用いられるトレーニング画像の全ての前記グループの組み合わせから作成されるモデル画像であることを特徴とする。
また、本発明のオブジェクト認識デバイスにおいて、前記ステップ(c)において、前記IF文が、
AND IFステップ(b)が固定最大サイクルカウント未満実行されているなら、
をさらに含むことを特徴とする。
また、本発明のオブジェクト認識デバイスにおいて、前記ステップ(c)において、前記IF文が、
AND IF前記ずれの程度が、ステップ(b)の直前の適用で得られた前記ずれの程度より小さいなら、
をさらに含むことを特徴とする。
また、本発明のオブジェクト認識デバイスにおいて、前記ステップ(b)において、前記選択されたAAMが、その反映される特定の特質が前記current_image上の同じ特質に最も厳密にマッチする統計モデルフィッティング関数を有することを特徴とする。
また、本発明のオブジェクト認識デバイスにおいて、前記ステップ(b)において、前記current_imageと前記選択されたAAMに対応する前記モデル画像とのずれの程度が、前記current_imageと前記複数のAAMのその他全てに対応する前記モデル画像とのずれの程度より小さいことを特徴とする。
また、本発明のオブジェクト認識デバイスにおいて、(A)前記複数のAAMの別々の一つが階層ツリーの対応する別々のリーフノードに一対一の関係で関連付けられた前記階層ツリーパスを通じて、前記複数のAAMがアクセス可能であり、前記階層ツリーが、
(1)前記複数のAAMの全ての前記トレーニングにおいて使用される前記独立したトレーニング画像の全てを含むトレーニング画像の広範なライブラリーに関連付けられたルートノードと、
(2)前記ルートノードから前記リーフノードの各々へ下方に向かう複数の階層レベルであり、各リーフノードが前記ルートノードから各リーフノードへのリンクパスの前記終端ノード(すなわち最下ノード)であり、前記ルートノードから各リーフノードへの各リンクパスに沿った各内部ノードが、少なくとも左の子ノードと右の子ノードとを有する親ノードである、複数の階層レベルと、を有し、
(3)前記広範なライブラリーが、前記ルートノードから各リーフノードへ下方に向かって進むにしたがい、トレーニング画像の複数のより小さなグループに段階的に分割され、リーフノードに関連付けられたトレーニング画像の各グループが、前記リーフノードの関連付けられたAAMの前記トレーニングにおいて使用される独立したトレーニング画像の前記異なるグループであり、
(4)親ノードからその左の子ノードおよび右の子ノードへの各段階的な深さレベルの変化で、前記親ノードの関連付けられたトレーニング画像のグループが、前記トレーニング画像の特有の特徴の類似性にしたがって、左および右の子ノードにつき一つの、二つのより小さなグループに分割され、各より小さなグループが、その対応する子ノードに関連付けられ、
(5)各子ノードが、それに関連付けられた前記トレーニング画像から作成される対応するノードモデル画像を有し、
(B)前記ステップ(b)における前記複数のAAMの中からのAAMの前記選択が、
(i)前記ルートノードをcurrent_nodeとして定義するステップと、
(ii)IF前記current_imageが、前記current_nodeの右の子ノードよりも左の子ノードに関連付けられた前記ノードモデル画像により厳密にマッチするなら、THEN前記current_nodeを前記左の子ノードとして再定義し、ELSEそうでなければ、前記current_nodeを前記右の子ノードとして再定義する、ステップと、
(iii)IF前記current_nodeがリーフノードなら、THEN前記current_nodeに関連付けられた前記AAMを選択して前記current_imageを受け取り、ELSEそうでなければ、ステップ(ii)に戻るステップと、を含むことを特徴とする。
また、本発明のオブジェクト認識デバイスにおいて、前記複数のAAMの前記トレーニングが、
(i)トレーニング画像の前記異なるグループの全ての前記独立したトレーニング画像の全てを含む広範なトレーニングライブラリーにアクセスするステップと、
(ii)前記広範なトレーニングライブラリーの全てのトレーニング画像を、前記トレーニング画像の所定の特定の特有の特徴(単数または複数)の類似性の程度にしたがって、階層ツリー構造に配置するステップであり、前記階層ツリー構造が、ルートノード(すなわち最上ノード)と、複数の内部ノードと、複数のリーフノード(すなわち終端ノード)とを有し、前記内部ノードが、前記ルートノードから各リーフノードへのリンクパスを定義し、前記リーフノードの数が、各リーフノードでの前記トレーニング画像の数が所定の最大数より大きくないように選択される、ステップと、
(iii)各個別のリーフノードに関連付けられた前記トレーニング画像だけを使用してリーフノードごとに別々のAAMを作成するステップであり、こうして作成された前記AAMのコレクションが、前記複数の動的アピアランスモデル処理ブロック、AAMである、ステップと、を含む、ことを特徴とする。
また、本発明のオブジェクト認識デバイスにおいて、前記ステップ(ii)が、
(I)前記ルートノードを定義し、それに広範なトレーニングライブラリーの全体を関連付けるステップと、
(II)前記ルートノードをcurrent_nodeとして定義するステップと、
(III)メモリーポインターcurrent_node_depthを、前記ルートノードの前記ノード深さとして定義するステップと、
(IV)必要に応じて、子ノードを作成するために、前記current_nodeに処理シーケンスを適用するステップと、
(V)IF前記current_node_depthの全てのノードが処理されていないなら、THEN current_nodeをcurrent_node_depthで未処理の次のノードとして再定義し、ステップ(IV)に戻るステップと、
(VI)IF前記current_node_depthの下の深さレベルに他のノードがあるなら、THEN current_node_depthを前記次のより低い深さレベルにインクリメントし、current_nodeをcurrent_node_depthで未処理の次のノードとして再定義し、ステップ(IV)に戻るステップと、を含むことを特徴とする。
また、本発明のオブジェクト認識デバイスにおいて、前記ステップ(IV)において、前記処理シーケンスが、
IF前記current_nodeに関連付けられた前記トレーニング画像の数が、max_image_countより大きくないなら、
THEN前記current_nodeに関連付けられた前記トレーニング画像だけを使用してAAMを作成し、前記current_nodeをリーフノードとして定義し、前記作成されたAAMを前記current_nodeに関連付け、
ELSEそうでなければ、
前記current_nodeに関連付けられた前記トレーニング画像だけを使用してモデル画像を作成し、
前記current_nodeの関連付けられたトレーニング画像を、その関連付けられたトレーニング画像の特有の特徴の類似性にしたがって、トレーニング画像の少なくとも第一および第二グループにサブ分割し、
前記current_nodeの下にリンクされた第一子ノードを作成し、トレーニング画像の前記第一グループを前記第一子ノードに関連付け、
前記current_nodeの下にリンクされた第二子ノードを作成し、
トレーニング画像の前記第二グループを、前記第二子ノードに関連付ける、
ステップを含むことを特徴とする。
一方、本発明の入力テスト画像内のオブジェクトのクラスを認識するためにオブジェクト認識を実施する方法は、
前記入力テスト画像を受け取るステップと、
複数の動的アピアランスモデル処理ブロック(AAM)を提供するステップであって、前記複数のAAMの各々が、独立したトレーニング画像の異なるグループによりトレーニングされており、トレーニング画像の全てのグループ内の各トレーニング画像が、前記オブジェクトのクラスの特有の特徴の共通の所定のセットが識別されラベル付けされた前記オブジェクトのクラスの真の例を有し、トレーニング画像の各グループが、トレーニング画像の他のグループの前記特定の特質とは異なる、選択された特有の特徴における特定の特質を共有することにより異なり、前記複数のAAMの各々が、トレーニングされるトレーニング画像の前記グループの前記特定の特質を反映する対応するモデル画像および対応する統計モデルフィッティング関数を有する、ステップと、
以下のデータ処理ステップ(a)乃至(c)を実施するステップと、を有することを特徴とする。
(a)前記入力テスト画像をcurrent_imageとして定義するステップと、
(b)前記current_imageを前記複数のAAMの中から選択される選択されたAAMに適用するステップであり、前記選択されたAAMが、前記選択されないAAMに対応する前記モデル画像と比較して、前記current_imageに最も厳密にマッチする対応するモデル画像を有し、前記選択されたAAMが前記current_imageを処理して中間の位置合わせされた画像を生成する、ステップと、
(c)IF前記中間の位置合わせされた画像と所定のモデル画像とのずれの程度が所定の最大程度より大きいなら、
THEN前記中間の位置合わせされた画像を前記current_imageとして定義し、ステップ(b)に戻り、
ELSEそうでなければ、前記中間の位置合わせされた画像を前記オブジェクトのクラスの成功した認識として出力するステップ。
また、本発明のオブジェクト認識を実施する方法において、前記ステップ(c)において、前記IF文の中で、前記所定のモデル画像が、前記選択されたAAMの対応するモデル画像であることを特徴とする。
また、本発明のオブジェクト認識を実施する方法において、前記ステップ(c)において、前記IF文の中で、前記所定のモデル画像が、前記複数のAAMの全てをトレーニングするために用いられるトレーニング画像の全ての前記グループの組み合わせから作成されるモデル画像であることを特徴とする。
また、本発明のオブジェクト認識を実施する方法において、前記ステップ(c)において、前記IF文が、
AND IFステップ(b)が固定最大サイクルカウント未満実行されているなら、
をさらに含むことを特徴とする。
また、本発明のオブジェクト認識を実施する方法において、前記ステップ(c)において、前記IF文が、
AND IF前記ずれの程度が、ステップ(b)の直前の適用で得られた前記ずれの程度より小さいなら、
をさらに含むことを特徴とする。
また、本発明のオブジェクト認識を実施する方法において、前記ステップ(b)において、前記選択されたAAMが、その反映される特定の特質が前記current_image上の同じ特質に最も厳密にマッチする統計モデルフィッティング関数を有することを特徴とする。
また、本発明のオブジェクト認識を実施する方法において、前記ステップ(b)において、前記current_imageと前記選択されたAAMに対応する前記モデル画像とのずれの程度が、前記current_imageと前記複数のAAMのその他全てに対応する前記モデル画像とのずれの程度より小さいことを特徴とする。
また、本発明のオブジェクト認識を実施する方法において、
(A)前記複数のAAMの別々の一つが階層ツリーの対応する別々のリーフノードに一対一の関係で関連付けられた前記階層ツリーパスを通じて、前記複数のAAMがアクセス可能であり、前記階層ツリーが、
(1)前記複数のAAMの全ての前記トレーニングにおいて使用される前記独立したトレーニング画像の全てを含むトレーニング画像の広範なライブラリーに関連付けられたルートノードと、
(2)前記ルートノードから前記リーフノードの各々へ下方に向かう複数の階層レベルであり、各リーフノードが前記ルートノードから各リーフノードへのリンクパスの前記終端ノード(すなわち最下ノード)であり、前記ルートノードから各リーフノードへの各リンクパスに沿った各内部ノードが、左の子ノードと右の子ノードとを有する親ノードである、複数の階層レベルと、を有し、
(3)前記広範なライブラリーが、前記ルートノードから各リーフノードへ下方に向かって進むにしたがい、トレーニング画像の複数のより小さなグループに段階的に分割され、リーフノードに関連付けられたトレーニング画像の各グループが、前記リーフノードの関連付けられたAAMの前記トレーニングにおいて使用される独立したトレーニング画像の前記異なるグループであり、
(4)親ノードからその左の子ノードおよび右の子ノードへの各段階的な深さレベルの変化で、前記親ノードの関連付けられたトレーニング画像のグループが、前記トレーニング画像の特有の特徴の類似性にしたがって、左および右の子ノードにつき一つの、二つのより小さなグループに分割され、各より小さなグループが、その対応する子ノードに関連付けられ、
(5)各子ノードが、それに関連付けられた前記トレーニング画像から作成される対応するノードモデル画像を有し、
(B)前記ステップ(b)における前記複数のAAMの中からのAAMの前記選択が、
(i)前記ルートノードをcurrent_nodeとして定義するステップと、
(ii)IF前記current_imageが、前記current_nodeの右の子ノードよりも左の子ノードに関連付けられた前記ノードモデル画像により厳密にマッチするなら、THEN前記current_nodeを前記左の子ノードとして再定義し、ELSEそうでなければ、前記current_nodeを前記右の子ノードとして再定義する、ステップと、
(iii)IF前記current_nodeがリーフノードなら、THEN前記current_nodeに関連付けられた前記AAMを選択して前記current_imageを受け取り、ELSEそうでなければ、ステップ(ii)に戻るステップと、を含むことを特徴とする。
また、本発明のオブジェクト認識を実施する方法において、前記複数のAAMの前記トレーニングが、
(i)トレーニング画像の前記異なるグループの全ての前記独立したトレーニング画像の全てを含む広範なトレーニングライブラリーにアクセスするステップと、
(ii)前記広範なトレーニングライブラリーの全てのトレーニング画像を、前記トレーニング画像の所定の特定の特有の特徴(単数または複数)の類似性の程度にしたがって、階層ツリー構造に配置するステップであり、前記階層ツリー構造が、ルートノード(すなわち最上ノード)と、複数の内部ノードと、複数のリーフノード(すなわち終端ノード)とを有し、前記内部ノードが、前記ルートノードから各リーフノードへのリンクパスを定義し、前記リーフノードの数が、各リーフノードでの前記トレーニング画像の数が所定の最大数より大きくないように選択される、ステップと、
(iii)各個別のリーフノードに関連付けられた前記トレーニング画像だけを使用してリーフノードごとに別々のAAMを作成するステップであり、こうして作成された前記AAMのコレクションが、前記複数の動的アピアランスモデル処理ブロック、AAMである、ステップと、を含むことを特徴とする。
また、本発明のオブジェクト認識を実施する方法において、前記ステップ(ii)が、
(I)前記ルートノードを定義し、それに広範なトレーニングライブラリーの全体を関連付けるステップと、
(II)前記ルートノードをcurrent_nodeとして定義するステップと、
(III)メモリーポインターcurrent_node_depthを、前記ルートノードの前記ノード深さとして定義するステップと、
(IV)必要に応じて、子ノードを作成するために、前記current_nodeに処理シーケンスを適用するステップと、
(V)IF前記current_node_depthの全てのノードが処理されていないなら、THEN current_nodeをcurrent_node_depthで未処理の次のノードとして再定義し、ステップ(IV)に戻るステップと、
(VI)IF前記current_node_depthの下の深さレベルに他のノードがあるなら、THEN current_node_depthを前記次のより低い深さレベルにインクリメントし、current_nodeをcurrent_node_depthで未処理の次のノードとして再定義し、ステップ(IV)に戻るステップと、を含むことを特徴とする。
また、本発明のオブジェクト認識を実施する方法において、前記ステップ(IV)において、前記処理シーケンスが、
IF前記current_nodeに関連付けられた前記トレーニング画像の数が、max_image_countより大きくないなら、または、if前記トレーニング画像の分散が所定の最大値より大きくないなら、if前記current_nodeに関連付けられた前記トレーニング画像の間の前記距離が、独立したトレーニング画像の前記異なるグループの全ての前記画像の前記平均の所定の最大値より大きくないなら、
THEN前記current_nodeに関連付けられた前記トレーニング画像だけを使用してAAMを作成し、前記current_nodeをリーフノードとして定義し、前記作成されたAAMを前記current_nodeに関連付け、
ELSEそうでなければ、
前記current_nodeに関連付けられた前記トレーニング画像だけを使用してモデル画像を作成し、
前記current_nodeの関連付けられたトレーニング画像を、その関連付けられたトレーニング画像の特有の特徴の類似性にしたがって、トレーニング画像の第一および第二グループにサブ分割し、
前記current_nodeの下にリンクされた第一子ノードを作成し、トレーニング画像の前記第一グループを前記第一子ノードに関連付け、
前記current_nodeの下にリンクされた第二子ノードを作成し、トレーニング画像の前記第二グループを、前記第二子ノードに関連付ける、
ステップを含むことを特徴とする。
ここで、本発明の動的アピアランスモデルを実施する方法は、入力テスト画像内のオブジェクトのクラスの認識のために動的アピアランスモデルを実施する方法であって、
(i)複数の独立したトレーニング画像を含む広範なトレーニングライブラリーにアクセスするステップであり、各トレーニング画像が、前記オブジェクトのクラスの特有の特徴の共通の所定のセットが識別されラベル付けされた前記オブジェクトのクラスの真の例を有する、ステップと、
(ii)前記広範なトレーニングライブラリーの全てのトレーニング画像を、前記トレーニング画像の所定の特定の特有の特徴(単数または複数)の類似性にしたがって、階層ツリー構造に配置するステップであり、前記階層ツリー構造が、ルートノード(すなわち最上ノード)と、複数の内部ノードと、複数のリーフノード(すなわち終端ノード)とを有し、前記内部ノードが、前記ルートノードから各リーフノードへのリンクパスを定義し、前記ルートノードから各リーフノードへの各リンクパスに沿った各内部ノードが、左の子ノードと右の子ノードとを有する親ノードであり、前記階層ツリーの中の親ノードからその左の子ノードおよび右の子ノードへの各段階的な深さレベルの変化で、前記親ノードの関連付けられたトレーニング画像のグループが、前記トレーニング画像の特有の特徴の類似性にしたがって、左および右の子ノードにつき一つの、二つのより小さなグループに分割され、トレーニング画像の各より小さなグループが、その対応する子ノードに関連付けられ、各子ノードが、その関連付けられたトレーニング画像から作成される対応するノードモデル画像を有し、前記リーフノードの数が、各リーフノードでの前記トレーニング画像の数が所定の最大数より大きくないように選択され、各リーフノードの前記トレーニング画像が、他のリーフノードの前記トレーニング画像の前記特定の特質とは異なる、選択された特有の特徴における特定の特質を共有する、ステップと、
(iii)各個別のリーフノードに関連付けられた前記トレーニング画像だけを使用して、各リーフノードにつき一つの複数の動的アピアランスモデル、AAMブロックを作成するステップであり、前記複数のAAMブロックの各々が、トレーニングされる前記トレーニング画像の前記特定の特質を反映する対応するモデル画像および対応する統計モデルフィッティング関数を有する、ステップと、
(iv)以下の(a)乃至(c)を実施するステップと、を有することを特徴とする。
(a)前記入力テスト画像をcurrent_imageとして定義するステップと、
(b)前記current_imageを前記複数のAAMブロックの中から選択される選択されたAAMブロックに適用するステップであり、前記選択されたAAMブロックが、前記選択されないAAMブロックに対応する前記モデル画像と比較して、前記current_imageに最も厳密にマッチする対応するモデル画像を有し、前記選択されたAAMブロックが前記current_imageを処理して中間の位置合わせされた画像を生成する、ステップと、
(c)IF前記中間の位置合わせされた画像と所定のモデル画像とのずれの程度が所定の最大程度より大きいなら、
THEN前記中間の位置合わせされた画像を前記current_imageとして定義し、ステップ(b)に戻り、
ELSEそうでなければ、前記中間の位置合わせされた画像を前記オブジェクトのクラスの成功した認識として出力するステップ。
また、本発明の動的アピアランスモデルを実施する方法において、前記ステップ(ii)が、
(I)前記ルートノードを定義し、それに広範なトレーニングライブラリーの全体を関連付ける、ステップと、
(II)前記ルートノードをcurrent_nodeとして定義するステップと、
(III)メモリーポインターcurrent_node_depthを、前記ルートノードの前記ノード深さとして定義するステップと、
(IV)必要に応じて、子ノードを作成するために、前記current_nodeに処理シーケンスを適用するステップと、
(V)IF前記current_node_depthの全てのノードが処理されていないなら、THEN current_nodeをcurrent_node_depthで未処理の次のノードとして再定義し、ステップ(IV)に戻る、ステップと、
(VI)IF前記current_node_depthの下の深さレベルに他のノードがあるなら、THEN current_node_depthを前記次のより低い深さレベルにインクリメントし、current_nodeを、current_node_depthで未処理の次のノードとして再定義し、ステップ(IV)に戻るステップと、を含むことを特徴とする。
また、本発明の動的アピアランスモデルを実施する方法において、前記ステップ(IV)において、前記処理シーケンスが、
IF前記current_nodeに関連付けられた前記トレーニング画像の数が、max_image_countより大きくないなら、
THEN前記current_nodeをリーフとして定義し、
ELSEそうでなければ、
前記current_nodeに関連付けられた前記トレーニング画像だけを使用してモデル画像を作成し、
前記current_nodeの関連付けられたトレーニング画像を、その関連付けられたトレーニング画像の特有の特徴の類似性にしたがって、トレーニング画像の第一および第二グループにサブ分割し、
前記current_nodeの下にリンクされた第一子ノードを作成し、トレーニング画像の前記第一グループを前記第一子ノードに関連付け、
前記current_nodeの下にリンクされた第二子ノードを作成し、トレーニング画像の前記第二グループを、前記第二子ノードに関連付ける、
ステップを含むことを特徴とする。
また、本発明の動的アピアランスモデルを実施する方法において、
前記ステップ(c)において、前記IF文の中で、前記所定のモデル画像が、前記選択されたAAMブロックの対応するモデル画像であることを特徴とする。
また、本発明の動的アピアランスモデルを実施する方法において、前記ステップ(c)において、前記IF文の中で、前記所定のモデル画像が、前記複数のAAMブロックの全てをトレーニングするために用いられるトレーニング画像の全ての前記グループの組み合わせから作成されるモデル画像であることを特徴とする。
また、本発明の動的アピアランスモデルを実施する方法において、前記ステップ(c)において、前記IF文が、
AND IFステップ(b)が固定最大サイクルカウント未満実行されているなら、
をさらに含むことを特徴とする。
また、本発明の動的アピアランスモデルを実施する方法において、前記処理ステップ(b)において、前記選択されるAAMブロックが、以下のサブステップ(i)乃至(iii)に従って選択されることを特徴とする。
(i)前記ルートノードをcurrent_nodeとして定義するステップと、
(ii)IF前記current_imageが、前記current_nodeの右の子ノードよりも左の子ノードに関連付けられた前記ノードモデル画像により厳密にマッチするなら、THEN前記current_nodeを前記左の子ノードとして再定義し、ELSEそうでなければ、前記current_nodeを前記右の子ノードとして再定義する、ステップと、
(iii)IF前記current_nodeがリーフノードなら、THEN前記current_nodeに関連付けられた前記AAMブロックを選択して前記current_imageを受け取り、ELSEそうでなければ、サブステップ(ii)に戻るステップ。
顔モデルを入力テスト画像の顔にフィッティングするための、フィッティング動作の例を示す図である。 顔モデルの構築において、トレーニング画像のライブラリーを組み合わせるステップを示す図である。 トレーニング目的でのトレーニング画像のトレーニングライブラリーへのアクセスを有する動的アピアランスモデル(AAM)マシンの構造を示す図である。 通常動作の間のAAMを示す図である。 複数の形状を組み合わせることに対する、L2‐ノルムアプローチの使用を示す図である。 複数の形状を組み合わせることに対する、L1‐ノルムアプローチの使用を示す図である。 顔モデルに対する入力画像の位置合わせの例を示す図である。 顔モデルに入力画像を位置合わせするための反復プロセスにおけるステージのいくつかを示す図である。 統計モデルフィッティング関数による、位置合わせプロセスを示す図である。 統計モデルフィッティング関数による、位置合わせプロセスを示す図である。 位置合わせ不良の顔モデルの二つの例を示す図である。 1‐AAMマシンのいくつかの利点を示す図である。 正規顔分類器を組み込むように変更されたAAMを示す図である。 正規顔分類器をトレーニングするためのトレーニング画像のライブラリーを示す図である。 正規顔分類器のため特定タイプのトレーニング技術を実施するための処理ステージを示す図である。 複数の統計フィッティング対によりトレーニング画像のトレーニングライブラリー内のより高い割合の画像をフィッティングできるAAMマシンを作成する(トレーニングする)ためのAAM構造(または方法)を示し、各対が、モデル画像および対応する統計モデルフィッティング関数を含む図である。 図16の実施形態の代わりの配置を示す図である。 図16の実施形態の現在好ましい実装を示す図である。 図16〜18の実施形態の実装におけるプロセスフローを示す図である。 図16〜19のプロセスフローを記載したフローチャートである。 複数のより小さなAAMの選択的な順次適用により、トレーニング画像のトレーニングライブラリー内の高い割合の画像をフィッティングできるマシンを作成する(トレーニングする)ための動的アピアランスモデル構造(または方法)を示す図である。 図21の構造の一般的なプロセスフローを記載したフローチャートである。 図21の一般的構造のより詳細な実装である。 動作中の図23の構造のプロセスフローを示す図である。 図23の構造のトレーニングの一般的プロセスを示すフローチャートを示す図である。 図25のフローチャートのステップ173のより詳細な記載を示す図である。 図26のフローチャートのステップ181のより詳細な記載を示す図である。 オペレーションフェーズの図23の構造のデータフローを示すフローチャートを示す図である。 図23の構造の別のサンプル実装である。 図23の構造の別のサンプル実装である。
図2および3を参照すると、動的アピアランスモデルマシン(AAM)25は使用されうる前に、オブジェクトの特定のクラスを認識するようにまずトレーニングされなければならない。説明のため、以下の議論ではAAM25が人間の顔の特定の特徴を認識するように設計されていると仮定するが、本発明は任意のオブジェクトのクラスに適用されうることを理解されたい。
顔モデル1は、個々のトレーニング画像11_1〜11_n(すなわち有効な顔の真の例)のトレーニングライブラリー31から構築されうる。典型的には、個人が、各トレーニング画像の各サンプル顔上に「ランドマーク」ポイントを手動で配置して、表されているオブジェクトのクラスに特有の特定の特徴の輪郭を描く。ランドマークポイントは、ランドマークポイントが全てのトレーニング画像に共通するオブジェクトのクラスの中の区別可能な特徴の輪郭を描くような方法で、選択されるのが理想的である。
例えば、人間の顔のクラスの共通の特徴は、目でありうる。顔トレーニング画像において人間の目のアピアランスのモデルを築くときには、目の端にランドマークポイントが配置されうる。これらの特徴は、各トレーニング画像において識別するのが容易なためである。しかし、ランドマークポイントに加えて、AAM25は、各トレーニング画像の様々なパッチ(または領域)でのアピアランスデータ(すなわち陰影データおよび/または色データおよび/またはテクスチャーデータなど)も活用して、顔モデル1の中の対応するパッチにつき許容可能なアピアランスの分布範囲を作成する。このアピアランスデータは、全体的統計解析において付加的特徴を構成する。
上述のように、動的アピアランスモデルマシン、AAM25は、オペレーションフェーズで使用されうる前に、トレーニングフェーズを経る。トレーニングフェーズにおいては、AAM25は、それが認識することが企図されるオブジェクトのクラス(すなわち本例においては人間の顔)のモデル画像および統計モデルを作成する。オペレーションフェーズにおいては、AAM25は、モデル画像および統計モデルを使用して、入力テスト画像の中のそのオブジェクトの特定のクラスを探索する(図3には示されていない)。
このトレーニングフェーズにおいては、AAM25は、トレーニング画像(11_1〜11_n)のトレーニングライブラリー31にアクセスを有するが、その各々は、AAM25が認識するために「学習する」ことが企図されるオブジェクトのクラスの例を有する。本例においては、AAM25が人間の顔クラスを識別するようにトレーニングされていると仮定されるので、トレーニングライブラリー31は複数の真の顔のトレーニング画像(11_1〜11_n)からなり、その各々が人間の顔の対象の特有の特徴の輪郭を描くランドマークポイントを有する。トレーニング画像11_1〜11_nは、互いに独立しているのが(すなわち一人の人間の対象の連続的ビデオキャプチャではなく、異なる人間の対象の例であり、および/または異なる表情および/またはアピアランスを有するなどが)好ましい。ライブラリー31は、AAM25の内部および/または外部のメモリーストアに収容されうる。
AAMマシン25がコンピューティングデバイスおよび/またはデータ処理デバイスにより具体化されうることを理解されたい。従来技術において一般に知られているように、そのようなコンピューティングデバイスおよびデータ処理デバイスは、一つ以上の中央処理ユニット、演算ユニット、レジスター、クロック、メモリー、入力/出力インターフェイス、GPU、ASIC、PLA、FPLA、バス、バスインターフェイス、ネットワーク接続、コントローラー、入力/出力デバイス、ディスプレイなどを含みうる。
AAM25は、学習モジュール27および位置合わせモジュール29を含む。トレーニングフェーズにおいては、学習モジュール27がトレーニングライブラリー31を調べ、統計解析を使用して、トレーニングライブラリー31の中のトレーニング画像からの情報を組み合わせることにより、顔モデル1を作成する。学習モジュール27が、顔モデル1の形状およびアピアランス特徴を定義する統計モデルフィッティング関数のための変形パラメーター(すなわち定義された制約を伴う可変特徴パラメーター)も定義するのが好ましい。変形パラメーターは、顔モデル1の形状およびアピアランスがトレーニングライブラリー31の中のトレーニング画像の大部分と位置合わせされるのに十分に歪められるのを許容するようなものであるのが好ましい。
オペレーションフェーズにおいては、位置合わせモジュール29がモデルフィッティング関数を最適化して、顔モデル1を、図示されていない入力テスト画像の中の人間の顔の可能性のある表示に対してフィッティングする(すなわち歪める、または位置合わせする)ことを試み、位置合わせされた(すなわちフィッティングされた)顔(出力画像)28を出力する。
位置合わせモジュール29は、トレーニングフェーズの間に学習モジュール27からの結果をテストするためにも用いられうる。トレーニングフェーズにおいて、位置合わせモジュール29が、ライブラリー31の中の全てのトレーニング画像上へ顔モデル1を歪める(または同等に、顔モデル1上へトレーニング画像を歪める)ことを試みるために使用されうる。これは、学習モジュール27により生成されるモデルパラメーターの有効性の尺度を提供するだろう。典型的には、位置合わせモジュール29は、顔モデル1をライブラリー31の中のトレーニング画像の90%〜95%に対してしかうまく位置合わせできない。
オペレーションフェーズにおいて位置合わせモジュール29は、顔モデル1を調節して人間の顔の入力テスト画像に位置合わせしうるため、結果として得られる位置合わせされた顔28は、効果的に顔モデル1上に「歪められ」(またはフィッティングされ)ている入力テスト画像の表示である。加えて、入力テスト画像が顔モデル1上にフィッティングされるので、結果として得られる位置合わせされた顔28は、顔モデル1と同じ既知のサイズおよび形状を有し、その様々な特有の形状特徴(すなわち目、瞳孔、鼻、口輪郭、顎、眉など)およびアピアランス特徴が識別され、ラベル付けされ、マッピングされる(すなわちその位置が識別される)。位置合わせされた顔28はこうして、必要に応じたさらなる処理のために理想的な状態にある。
トレーニングフェーズにおいては、上述の通り、学習モジュール27が、入力テスト画像に顔モデル1をフィッティングまたは位置合わせするために使用される統計モデルの変形パラメーターを定義する。このプロセスにおける最初のステップは典型的に、トレーニングライブラリー31の中の多くのトレーニング画像11_1〜11_nを位置合わせして、トレーニング画像の特有の特徴の間のバリエーションの範囲を確立することである。このプロセスは典型的に、距離の平方和を活用する。換言すれば、トレーニングフェーズの間にトレーニングライブラリー31の中の多くのトレーニング画像を位置合わせするために、L2‐ノルムアプローチが典型的に用いられる。これは大体、トレーニングライブラリー31の中のトレーニング画像の平均化と考えられうる。距離の平方和は、関心のある領域におけるバリエーションがより等間隔になるように、トレーニング画像をセンタリングする利点がある。このL2‐ノルムアプローチの図解例が、図5に楕円形状51〜55を用いて示される。
図5を参照すると、説明のため五つの楕円形状51〜55が示される。公知技術のプロクルステス分析法等、L2‐ノルムアプローチを形状位置合わせに使用することにより、楕円が第一クラスター56に有効にセンタリングされる。それから平均形状57が定義されうる。双頭矢印は、異なる楕円形状51〜55の平均形状57からのバリエーションを示す。
比較のために、図6は同じ楕円形状51〜55を示すが、今回はL1‐ノルムアプローチを使用して楕円形状51〜55が位置合わせされる。L1‐ノルムアプローチは、共通のエッジに沿って楕円形状51〜55を位置合わせすることを試みる。その結果、共通に位置合わせされたエッジ60を伴う第二クラスター59が作成される。したがって、第二クラスター59を使用して定義される平均形状61は、トレーニング形状のもの、すなわち楕円形状51〜55に類似した形状を有する可能性がより低い。さらに、図6の中の双頭矢印で示されるように、バリエーションの両極端は図5のアプローチよりはるかに顕著である可能性があり、非常に小さなバリエーションから非常に大きなバリエーションまで広がりうる。したがって、当技術分野では一般に、L2‐ノルムアプローチを使用し、L1‐ノルムアプローチを使用しないよう教示する。
図示はしていないが、プロクルステス分析により、トレーニングライブラリー31の中のトレーニング画像間のアピアランスバリエーションの平均化が同様に達成されうることを理解されたい。
図4を参照すると、図3と類似の全ての要素は類似の参照符号を有し上述されるが、オペレーションフェーズにおける一般的なAAM25の構造は、トレーニングライブラリー31を除外しうる。これは、トレーニングライブラリー31からの関連する画像情報が、トレーニングフェーズで学習モジュール27により定義される統計モデル(およびモデルパラメーター)により取り込まれただろうと考えられるためである。
動作時(すなわちオペレーションフェーズ)においては、AAM25に提示される予定の新たな入力画像(すなわち入力テスト画像)21が、AAM25への提示前に、任意に前処理されうる。この前処理には、AAM25が認識するようにトレーニングされるタイプのオブジェクト(すなわちオブジェクトのクラス)(すなわち本例では人間の顔)が、入力テスト画像21の中に実際に存在するかの最初の決定が含まれうる。これは、従来技術において一般に公知の顔検出アルゴリズムにより達成されうる。このプロセスは、入力テスト画像21の中のより容易に識別可能な特有の顔特徴のいくつかで少なくとも数個のランドマークポイントも加えて、前処理された画像23を作成しうる。位置合わせモジュール29は、前処理された画像23を受け取り(あるいは直接入力テスト画像21を受け取り)、モデルフィッティング関数を最適化して顔モデル1を前処理された画像23に位置合わせする(すなわち歪める、またはフィッティングする)ことを試み、位置合わせされた(すなわちフィッティングされた)顔30を出力する。すなわち、位置合わせモジュール29は、形状およびアピアランスのずれを同時に最小化することにより、その入力画像(すなわち入力テスト画像21または前処理された画像23)に対して、顔モデル1(形状およびアピアランスパラメーターの両方を含む)の最善の位置合わせを探索する。
このタイプの位置合わせの例が、図7に示される。様々なランドマークポイントが人間の顔の様々な特有の特徴をハイライトしている、前処理された画像41が示される。説明のため、画像43はランドマークポイントだけを示す。図示されていない顔モデルを、前処理された画像41に位置合わせした結果が、出力されたフィッティングされた顔45である。出力されたフィッティングされた顔45において、形状およびアピアランス特徴の両方が位置合わせまたはフィッティングされていることに注意されたい。
追加の例として、顔モデルの入力テスト画像の上への位置合わせプロセスの様々なステージを示す四つの画像対71〜77が、図8に示される。各画像対の中で、左の画像はランドマークポイントによりハイライトされた顔モデルの形状位置合わせを示し、右の画像は入力画像上への顔モデルの形状およびアピアランスの両方の位置合わせを示す。画像対71は、入力画像上の顔モデルの最初の位置を示す。画像対73は、制約しないAAM探索の結果を示す。画像対75は、右目中心を制約した結果を示し、画像対77は右目中心および左眉を固定した結果を示す。画像対77に示されるように、エラーが最小化されるにしたがい、顔モデルが入力テスト画像により良く位置合わせされる。
位置合わせプロセスの中の統計的最適化の詳細な説明は、本論の範囲外であるが、参照のために本明細書に概観を述べる。位置合わせプロセスは、各反復における最適化の小さな改善が得られる、反復プロセスである。典型的に反復プロセスは、さらなる改善または所定の最小閾値より大きな改善が達成できないときに終了する。典型的に位置合わせモジュール29は、位置合わせにL2‐ノルムアプローチを使用する。
形状がd次元のnポイントにより記述される場合、その形状は、個々のポイントの位置ベクトルの要素を連結することにより形成されるnd要素ベクトルにより表されうる。例えば、2次元(2D)画像では、nのランドマークポイント{(xi,yi)}を、一つの例で2nの要素ベクトルx、x=(x1,…,xn, y1,…,yn)として表せる。iのトレーニング画像を前提とすると、iのこのようなベクトルが生成されることとなる。そして、上記のようにサンプル画像が位置合わせされる。問題を簡単にするために、データの次元がndからより扱いやすいものに減少されるのが好ましい。典型的にはこれは、データにPrincipal Component Analysis(PCA)を適用することにより達成される。データは、nd次元空間にポイントクラウドを形成する。PCAは、このクラウドの主軸を計算し、ndより少ないパラメーターのモデルを使用して元のポイントの任意のものを近似することを可能にする。結果は、オブジェクトサンプルの形状バリエーションの線形モデルである。
オブジェクトまたは構造の完全な画像を作成するためには、その形状およびそのアピアランス(すなわち、オブジェクトの領域全体の光強度のパターンおよび/または色バリエーション)の両方がモデル化されることが必要である。画像パッチ全体のアピアランスの統計モデルを築くために、各トレーニング画像が、その基準ポイントが平均形状(すなわち顔モデル)にマッチするように歪められる。これは、従来技術において周知のように三角分割を使用して行われうる。それから、平均形状によりカバーされた領域全体の形状正規化画像から強度情報が抽出されて、アピアランスベクトルが形成される。
例えば図9では、S0およびA0が、顔モデル72の形状およびアピアランスを定義しうる。PCAにより、形状バリエーションの程度S、およびアピアランスバリエーションの程度Tが得られる。したがって、形状のずれS’は、S’=S−S0として定義されうる。PCA(S’)が固有値の配列を生成するため、これをPλsと記述でき、Pは固有ベクトルであり、λsは投影係数である。この表記を用いると、S=S0+Pλsである。同様に、アピアランスT’のずれは、T’=T−A0として定義されうる。再び、PCA(T’)は固有値の配列を生じ、これはAλaと記述でき、Aは固有ベクトルであり、λaは投影係数である。この表記を用いると、T=A0+Aλaである。
図10は、反復の一部として実施されうるような位置合わせプロセスを示す。顔モデル72が、まず入力テスト画像I上に配置される。顔モデル72の境界内にある入力画像Iの部分が識別され、形状のずれが関数W(I;p)により定義され、式中pは、Pの固有ベクトルに対応する係数である。それから位置合わせ目的が、
として定義されうる。複数の反復後、位置合わせが最適化されて位置合わせされた出力顔74が得られる。
上述のように、顔モデルを位置合わせするために、典型的にL2‐ノルムアプローチが使用される。これは、L2‐AAMと称されうる。しかし出願人は、L1‐ノルムアプローチを用いて、より確かな位置合わせが達成可能であることを発見し、これを本明細書においてL1‐AAMと称する。
目的は、L1最小化を使用して各反復の間にAAMパラメーター更新を計算することである。これは、L2目的をL1最小化問題として表しなおすことにより達成される。各反復が、形状パラメーターpおよびアピアランスパラメーターλを更新する。L1‐ノルム最小化アプローチを使用する利点は、最適解がスパースエラーベクトルE=(Aλ−I)をもたらすことであり、従来技術において公知のように、式中Aはアピアランスベース(すなわち顔モデルの現在の反復)であり、Iは形状正規化モデルに歪められた位置合わせされる予定の入力画像(すなわち入力テスト画像または前処理された入力テスト画像)である。
2‐AAMは、その目的を、
として定義しうる。
この目的は、以下のように、L1‐AAMとして再定義でき、
式中A0=平均アピアランス;(A0+Aλ)=顔の再構築;SD=形状係数の最急降下行列;A=アピアランスベース(固有ベクトル);C(λ)=現在のアピアランスパラメーターに依存する係数行列;p、Δp=形状投影係数および更新;λ、Δλ=アピアランス投影係数および更新;およびI(p)=現在の形状パラメーターに基づく画像から抽出されるアピアランスである。本質的に、L1‐AAMはL1‐ノルム(すなわちl1)に関して最小化するが、L2‐AAMはL2‐ノルム(すなわちl2)に関して最小化する。
二つのアプローチの間の基本的な違いは、L2‐ノルムがガウスノイズに対してロバストである一方、L1‐ノルムは外れ値ノイズに対してロバストであることである。すなわち、L1‐ノルムは、オクルージョンおよび異質のアーチファクトにより良く対処できる。L1‐ノルム公式化におけるアピアランスベースAは、理想的にはトレーニングデータのL1‐分解により計算されねばならない。
現在のL1‐AAMマシンの利益のいくつかを反復するために、L1‐AAMミニマイザーに対する解は、L2‐ノルムよりもスパースな解を見つける。したがって、
に対する解xは、スパースエラーE=y−Axをもたらすはずである。加えて、パフォーマンスを改善するために、アピアランスベーシスはL1‐分解により計算されねばならない。
これらの利点の視覚的説明が、図12A〜12Cに示される。図12Aは、L1‐ノルムがオクルージョンに対してロバストであり、外れ値に自然に対処することを示す。図12Bは、L1‐ノルムがさらにより小さなモデルサイズ(またはサブサンプリングされたモデルピクセル)に対処でき、したがってより高速な位置合わせを達成しうることを示す。図12Cは、L1‐AAMにおいて、類似のオブジェクトがアピアランスベースにより非常にうまく表されることを示す。
図4に関して上で説明されるように、動的アピアランスモデル25は、位置合わせされた顔30を生成する。しかし、生成された位置合わせされた顔30が、もっともらしい顔の真の表示(すなわち真の顔の現実的な例)となることは保証されない。位置合わせプロセスにおいて顔モデルの開始位置が良くない等の様々な状況により、不良な位置合わせがなされかねず、その結果、真の位置合わせされた顔としての出力であるにもかかわらず、真でない顔が出力されかねない。位置合わせ不良の顔モデルの例が、図11に示される。図11の両方の例において、顔モデルが入力テスト画像の半分に位置合わせされ、薄い顔輪郭により示されるように、歪んだ真でない顔がもたらされている。
真でない位置合わせされた顔を出力するのを回避するために、標準のAAMマシンが、生成された位置合わせされた顔がAAMマシンの出力に送られる前に、位置合わせユニット29により生成される位置合わせされた顔の妥当性を検証するための正規顔分類器を組み込むように変更されることが目下提唱される。本例のAAMが認識するようにトレーニングされるオブジェクトのクラスが人間の顔のクラスであるために、正規顔分類器が提唱されることが理解されねばならない。しかし一般に、AAMマシンがオブジェクトの任意の特定のクラスの画像を処理するようにトレーニングされる場合に、分類器は、位置合わせモジュールにより生成された位置合わせされた画像がオブジェクトの特定のクラスの真の表示であるかを決定するためにトレーニングされる正規クラス分類器となる。
図13を参照すると、図3および4のものと類似の全ての要素は類似の参照符号を有し上に説明されているが、本AAM25は、正規顔分類器34を組み込み、これが位置合わせモジュール29から出力される位置合わせされた顔33を受け取り、それを真の顔または真でない顔として分類する。正規顔分類器34が位置合わせされた顔33を真の顔と分類すれば、位置合わせは成功とみなされ、位置合わせされた顔33がAAM25から出力画像35として出力される。正規顔分類器34が位置合わせされた顔33を真でない顔と分類すれば、位置合わせは失敗とみなされ、AAM位置合わせは停止または再初期化される、すなわち次の入力画像が得られる。例えば本AAM25が顔の動きを追跡するシステム内にあり、AAM25が人間の対象から最初に取り込まれた画像を正確に位置合わせするのに失敗すると、AAM25の再初期化には、その人間の対象の新規の画像を取り込み、位置合わせプロセスを再試行するステップが含まれる。
従来技術において周知のように、正規顔分類器34等の分類器は、複数の真のサンプル81(すなわち本例においては真の顔のサンプル)と複数の真でないサンプル82(すなわち真でない顔のサンプル)とを有するライブラリー83によりトレーニングされる。正規顔分類器34は、ライブラリー83の真および真でないサンプルを検討した後に、真の顔と真でない顔を区別できる特性を識別するようになるのが理想的である。
好ましい実施形態においては、トレーニングライブラリー31の中のトレーニング画像(図3参照)が、ライブラリー83の構築において使用される。すなわち、真のサンプル81は、トレーニングライブラリー31からのトレーニング画像11_1〜11_nを含み(または少なくとも部分的に含み)、真でないサンプル82は、トレーニングライブラリー31のトレーニング画像に歪みを導入することにより構築される。このアプローチの利点は、トレーニング画像11_1〜11_nの中の特有の特徴が事前に手動で識別され画定され(図2を参照)、その結果正規顔分類器34のトレーニングの間に、正規顔分類器34がオブジェクトの特定のクラスの識別された特有の特徴に集中することがより見込まれる(または確実である)ことである。
AAM25がライブラリー83の構築において用いられるのが、さらに好ましい。この場合は、AAM25を用いて、ライブラリー31の中の各トレーニング画像(または少なくとも顔モデルがうまく位置合わせされるもの)の位置合わせされた顔が構築される。これにより、ライブラリー83がフィッティングされた顔のライブラリー(すなわち事前に位置合わせされた顔のライブラリー)となる。真のサンプル81が、真のフィッティングされた顔を含み、真でないサンプル82が、歪められているがフィッティングされた顔と同じサイズおよび周囲輪郭を維持する真のフィッティングされた顔を含むのが、さらに好ましい。これにより、フィッティングされた顔のライブラリー83の中の全ての画像(真のサンプル81および真でないサンプル82の両方)が、顔モデル1および位置合わせモジュール29により生成される位置合わせされた顔33と同じサイズおよび周囲輪郭を有するため、正規顔分類器34のトレーニングがさらに促進される。
通常動作においては、正規顔分類器34が位置合わせモジュール29から出力される位置合わせされた顔33を検査するため、位置合わせされた顔33と同じサイズおよび周囲輪郭を有するフィッティングされた顔のライブラリー83で正規顔分類器34をトレーニングすることにより、正規顔分類器34の成功率がさらに改善される。すなわち、正規顔分類器34が位置合わせされた顔33を真の顔としてまたは真でない顔として正しく分類する割合が、フィッティングされていない顔のライブラリーにより正規顔分類器34をトレーニングするのに対して、改善される。
しかし、(必ずしもトレーニングライブラリー31からのものではない)適切なトレーニング画像の任意のライブラリーが、正規顔分類器34をトレーニングするために用いられうることを理解されたい。とはいえ、トレーニング画像11_1〜11_nがAAM25に提示されて、フィッティングされた顔のライブラリー83が作成されるのが好ましい。作成されたフィッティングされた顔が手動で真の顔と承認されて、真の顔のポジティブトレーニングセット81が構築された後、真の顔に歪みを導入して真でない顔のネガティブトレーニングセット82を構築することにより、真でない顔のサンプルが構築される。二つのトレーニングセット81および82が組み合わせられて、フィッティングされた顔のライブラリー83が作成され、これが正規顔分類器34をトレーニングするために用いられる。
図14を参照すると、フィッティングされた顔のライブラリー83は、グラウンドトゥルースの完全にラベル付けされたサンプル顔から構築されるのが好ましい真の顔のサンプルのポジティブトレーニングセット81を含み、ポジティブ顔サンプルの形状パラメーターをランダムに混乱させることにより算出されるのが好ましい真でない顔のサンプルのネガティブトレーニングセット82を含む。混乱は形状モデル固有値に関するのがさらに好ましい。ポジティブ顔サンプル81に所定の転位、スケール、および回転オフセットを適用することにより、ネガティブトレーニングセット82のための追加の真でないサンプルが作成されうる。
ポジティブサンプルよりも多くのネガティブサンプルが正規顔分類器34の構築において使用されるのが、目下好ましい。特に、ネガティブ対ポジティブトレーニングサンプルの10:1の比が好ましい。
図15を参照すると、図13および14と類似の全ての要素は類似の参照符号を有し上述されるが、処理ステージ90は、正規顔分類器34をトレーニングするために、当技術分野で周知のHaar特徴および/またはエイダブースティングを使用することが目下好ましい。あるいは、当技術分野で周知のように、サポートベクトルマシン(SVM:support vector machine)または線形判別分析(LDA:linear discriminant analysis)も、正規顔分類器34を作成するために用いられうる。正規顔分類器34をトレーニングする具体的方法は本発明にとって重要でなく、分類器技術および分類器トレーニングの技術分野における任意の公知技術を用いて正規顔分類器34をトレーニングしうることを理解されたい。
位置合わせされた顔33は、位置合わせモジュール29から出力されるが、所定の形状およびサイズを有し、これにより分類プロセスが促進されることが留意される。すなわち、顔モデル1(すなわち正規画像)が顔探索サイズを予め定義する。これにより、正規顔分類器34が画像の一つのスケールを考慮すれば足りるため、効率が改善される。
代替的実施形態では、統合画像およびカスケード型弱分類器が、効率を改善するために用いられうる。このアプローチは、当技術分野で周知のViolaおよびJones顔検出器を活用しうる。
したがって、AAM25に正規顔分類器34を統合することにより、典型的なAAM位置合わせエラー技術を使用して可能であるよりも高い信頼性を達成しうる。
上述のL1‐AAMは、よりロバストな位置合わせを提供し、正規顔分類器の一般のAAMの構造への統合により、AAMが誤ったポジティブ出力を生成する確率が減少する(すなわち、AAMがオブジェクトのクラスの真でない例を生成する可能性が減少する)。
一般のAAMのもう一つの欠陥は、上述のように、AAMにおいて使用される統計モデルフィッティング関数の性質により、統計モデルフィッティング関数により定義される形状およびテクスチャーのノルムの中に対象がある入力画像だけが、モデル画像に位置合わせされうることである。
例えば、上述の顔フィッティングの実装においては、学習モデル27は、トレーニングライブラリー31の中の全てのトレーニング画像を概して平均することにより顔モデル1を作成し(図3参照)、可能なバリエーションの大多数にフィッティングするように設計された統計モデルフィッティング関数を定義し、これがノルムを定義する。このノルムの外のサンプルは棄却される。しかし、統計モデルフィッティング関数がフィッティングできない外れ値(すなわちノルムの外の真の例)が常に存在する。例えば、定義された統計モデルフィッティング関数は、典型的には統計モデルフィッティング関数が定義されるトレーニングライブラリー31の中のトレーニング画像の90%〜95%しかフィッティングできないことが上に説明される。
この問題は、トレーニング画像の数が拡大されるにしたがってさらに深刻になる。トレーニングライブラリー31は、典型的に200〜300未満のトレーニング画像からなる。トレーニングライブラリー31が、より多数の真のバリエーションを認識できるAAMを作成する努力において数千(または数百万)のトレーニング画像を含むように拡大された場合、結果として得られるAAMの統計モデルフィッティング関数がフィッティングできる拡大されたトレーニングライブラリー31の中のトレーニング画像は、さらに少ない割合になるだろう。これは、拡大されたトレーニングライブラリー31が、統計モデルフィッティング関数がフィッティングできないより多数の外れ値(すなわち極端な真の例のより大きなサンプル)を含むと考えられることが原因である。したがって結果は、理論的に言えば、より信頼性が高いAAMを作成するよりは、その拡大されたトレーニングライブラリー31の中のフィッティングできるトレーニング画像の割合に関して信頼性のより低いAAMとなる。
以下は、1000を超える独立したトレーニング画像(すなわちビデオシーケンスから得られない画像)からなることが好ましい拡大されたトレーニングライブラリー31に対処しうまく学習でき、拡大されたトレーニングライブラリー31のサイズにより真に制限されないAAM構造を記載する。以下の構造は、拡大されたトレーニングライブラリー31の中のAAMがうまくフィッティングできる画像の割合を任意の所与の最低割合に、必要に応じて最大100%まで改善することがさらに可能である。
目下好適なAAM構造を記載する前に、好適なAAMをトレーニングする新規の方法をまず記載することが有益である。本方法は、一連の統計モデルフィッティング関数を作成し、その各々が、拡大されたトレーニング画像のライブラリーの中のトレーニング画像の一部分に基づく。各統計モデルフィッティング関数が順々に同じAAM25を使用して(すなわち同じ学習および位置合わせモジュール27および29を使用して)構築されうるが、図16は明確化のため一連のAAM25_1〜25_4を伴う実施形態を示す。任意の数のAAMを本発明において使用でき、単に説明のために四つのAAMが示されていることを理解されたい。AAM25_1〜25_4の各々が、個別の異なる顔モデルおよび対応する統計モデルフィッティング関数を生成するが、これは本明細書において、AAM25_1〜25_4に対応してモデル#1〜モデル#4とラベル付けされる。
トレーニング画像の全体の最初の広範なライブラリーは、数千のサンプルの真の画像を含むのが好ましいが、トレーニング画像の第一セットにまとめられ、SET1(31_1)と識別される。第一AAM25_1の中の学習モジュール27_1が、SET1 31_1にアクセスして、第一顔モデルおよび第一統計モデルフィッティング関数(すなわちモデル#1)を作成する。この第一顔モデルおよび第一統計モデルフィッティング関数が、第一統計フィッティング対を構成する。それから、AAM25_1の中の位置合わせモジュール29_1が、第一統計フィッティング対を使用して、SET1の中の一つ一つ全てのサンプル画像をフィッティングすることを試みる。すなわち、位置合わせモジュール29_1は、第一統計モデルフィッティング関数を使用して、SET1の中の一つ一つ全てのサンプル画像を第一顔モデルにフィッティングすることを試みる。位置合わせモジュール29_1がフィッティングに失敗した各サンプル画像(第一セットからの非マッチ画像、あるいは、SET1からの非マッチ画像)は、画像の第二セット、SET2に出力される。しかし、各フィッティングされた画像は、位置合わせされた出力画像28として出力される。
しかし、本実施形態においては、目下のAAMが複数のサブAAM(25_1〜25_4)を含み、全てが同じ出力を共有するため、それぞれの出力は、フィッティングされた画像を現在出力している特定のサブAAMだけからの出力を選択するマルチプレクサ22を通過しうる。
画像の第二セットSET2は、トレーニング画像の新規のライブラリー(すなわち新規のサブライブラリー)を構成し、再処理のためにAAM25_1に提示されうるが、図の簡略化のため、SET2が第二AAM25_2に適用されるのが示される。第一AAM25_2の中の学習モジュール27_2が、SET2(31_2)にアクセスして、第二顔モデルおよび第二統計モデルフィッティング関数(すなわちモデル#2)を作成する。
それから、AAM25_2の中の位置合わせモジュール29_2が、第二統計モデルフィッティング関数を使用して、SET2の中の一つ一つ全てのサンプル画像(SET1からの非マッチトレーニング画像)を第二顔モデルにフィッティングすることを試みる。位置合わせモジュール29_2がフィッティングに失敗した各サンプル画像(第二セットからの非マッチ画像、あるいは、SET2からの非マッチ画像)は、画像の第三セット、SET3(31_3)に出力される。しかし、各フィッティングされた画像は、位置合わせされた出力画像28として出力される。この第二顔モデルおよび第二統計モデルフィッティング関数は、第二統計フィッティング対を構成する。画像の第三セットSET3(31_3)は、トレーニング画像の新規のライブラリーを構成し、再処理のためAAM25_1に提示されうるが、図の簡略化のため、SET3が第三AAM25_3に適用されるのが示される。第三AAM25_3の中の学習モジュール27_3が、SET3(31_3)にアクセスして、第三顔モデルおよび第三統計モデルフィッティング関数(すなわちモデル#3)を作成する。この第三顔モデルおよび第三統計モデルフィッティング関数が、第三統計フィッティング対を構成する。それから、AAM25_3の中の位置合わせモジュール29_3が、第三統計モデルフィッティング関数を使用して、SET3の中の一つ一つ全てのサンプル画像(SET2からの非マッチトレーニング画像)を、第三顔モデルにフィッティングすることを試みる。位置合わせモジュール29_3がフィッティングに失敗した各サンプル画像(第三セットからの非マッチ画像、あるいは、SET3からの非マッチ画像)は、画像の第四セットSET4(31_4)に出力される。しかし、各フィッティングされた画像は、位置合わせされた出力画像28として出力される。
第四画像セットSET4(31_4)は、トレーニング画像の新規のライブラリー(または等価の新規のサブライブラリー)を構成し、再処理のためAAM25_1に提示されうるが、以前と同様に、説明のためにSET4が第四AAM25_4に適用されるのが示される。第四AAM25_4の中の学習モジュール27_4が、SET4(31_4)にアクセスして、第四顔モデルおよび第四統計モデルフィッティング関数(すなわちモデル#4)を作成する。この第四顔モデルおよび第四統計モデルフィッティング関数が、第四統計フィッティング対を構成する。それから、AAM25_4の中の位置合わせモジュール29_4が、第四統計モデルフィッティング関数を使用して、SET4の中の一つ一つ全てのサンプル画像(SET3からの非マッチトレーニング画像)を第四顔モデルにフィッティングすることを試みる。各フィッティングされた画像が、位置合わせされた出力画像28として出力される。位置合わせモジュール29_4がフィッティングに失敗した各サンプル画像は、破棄されうる。しかし、AAMのさらなるステージが所望される場合には、それらはさらなる処理のため第五画像セットに出力されうる。トレーニング画像の最初の広範なライブラリー(SET1,31_1)の中の全画像の所望の割合がフィッティングされるまで、ステージの数が増加されうることを理解されたい。
図17を参照すると、図3、4および16と類似の全ての要素は類似の参照符号を有し上述されるが、代替的実施形態は、共通の位置合わせモジュール29を共有する複数の学習モジュール27_1〜27_4を伴うAAM25からなりうる。以前と同様に、トレーニング画像の全体の最初の広範なライブラリーは、数千のサンプルの真の画像を含むのが好ましく、トレーニング画像の第一セットにまとめられ、SET1(31_1)と識別される。AAM25の中の学習モジュール27_1が、SET1 31_1にアクセスして、第一顔モデルおよび対応する第一統計モデルフィッティング関数(すなわちモデル#1、または等価に、第一統計フィッティング対)を作成する。それから、位置合わせモジュール29が、第一統計モデルフィッティング関数を使用して、SET1の中の一つ一つ全てのサンプル画像を第一顔モデルにフィッティングすることを試みる。各フィッティングされた画像が位置合わせされた出力画像28として出力され、位置合わせモジュール29がフィッティングに失敗した各サンプル画像が、第二画像セットSET2(31_2)に出力される。
また以前と同様に、第二画像セットSET2が、トレーニング画像の新規のライブラリーを構成する。それから第二学習モジュール27_2が、SET2(31_2)にアクセスして、第二顔モデルおよび第二統計モデルフィッティング関数(すなわちモデル#2、または等価に、第二統計フィッティング対)を作成する。位置合わせモジュール29が、第二統計モデルフィッティング関数を使用して、SET2の中の一つ一つ全てのサンプル画像(SET1からの非マッチトレーニング画像)を第二顔モデルにフィッティングすることを試みる。各フィッティングされた画像が、位置合わせされた出力画像28として出力されればよく、位置合わせモジュール29がフィッティングに失敗した各サンプル画像が、第三画像セットSET3(31_3)に出力される。
それから、第三学習モジュール27_3がSET3(31_3)にアクセスして、第三顔モデルおよび第三統計モデルフィッティング関数(すなわちモデル#3、または等価に、第三統計フィッティング対)を作成する。位置合わせモジュール29が再び第二統計モデルフィッティング関数を使用して、SET3の中の一つ一つ全てのサンプル画像(SET2からの非マッチトレーニング画像)を第二顔モデルにフィッティングすることを試み、フィッティングされた顔を出力しうる。位置合わせモジュール29がフィッティングに失敗した各サンプル画像を用いて、第四画像セットSET4(31_4)が定義される。
第四画像セットSET4(31_4)が、トレーニング画像の新規のライブラリーを構成し、学習モジュール27_4に提示されて、第四顔モデルおよび第四統計モデルフィッティング関数(すなわちモデル#4、または等価に、第四統計フィッティング対)が作成される。それから位置合わせモジュール29が、第四統計モデルフィッティング関数を使用して、SET4の中の一つ一つ全てのサンプル画像(SET3からの非マッチトレーニング画像)を第四顔モデルにフィッティングすることを試みる。各フィッティングされた画像が、位置合わせされた出力画像28として出力されうる。位置合わせモジュール29_4がフィッティングに失敗した各サンプル画像は、破棄されうる。しかしまた以前と同様に、学習モジュールのさらなるステージが所望される場合には、位置合わせモジュール29は、フィッティングできない画像をさらなる処理のため第五画像セットに出力しうる。トレーニング画像の最初の広範なライブラリー(SET1,31_1)の中の全画像の所望の割合がフィッティングされるまで、学習モジュールの数が増加されうることを理解されたい。
第三実施形態が図18に示されており、図3、4、16および17のものと類似の全ての要素は類似の参照符号を有し上述される。本実施形態では、AAM25の適用を繰り返し、各サイクルの間に別々のモデルが作成されることにより、複数のモデル(すなわちモデル#1〜#4)が作成される。それから、各作成されたモデルが、順に、好ましくは作成された順に、アクセスされうる。本例は四つのモデルの作成を示すため、図18の構造は、少なくとも四つのサイクルを経、四つのモデルの各々が、個々に順に、好ましくは固定された予め定められた順にアクセスされる。
以前と同様に、トレーニング画像の全体の最初の広範なライブラリー31_1は、数千のサンプルの真の画像を含むのが好ましいが、トレーニング画像の第一セットにまとめられ、これがSET1と識別される。AAM25は、トレーニングのためSET1へのアクセスを与えられる。第一サイクルは、学習モジュール27をSET1にアクセスさせることにより典型的なAAMプロセスにしたがい、第一顔モデルおよび第一統計モデルフィッティング関数を作成し、これが集合的にモデル#1と識別される。
理解されるように、モデル#1〜モデル#4の各々が、その個別の統計モデルフィッティング関数を使用して、SET1からの異なる数の画像を、その個別の顔モデルに「フィッティング」または位置合わせしうる。これが言えるのは、四つのモデルの各々の違いのためだけでなく、各モデルが広範なライブラリー31_1からの画像の異なる割合(すなわち段階的に小さくなるプール)から作成されるためでもある。SET1の最大数の画像(または最大割合の画像)をフィッティングできるモデルが、学習モジュール1として識別され、アクセスシーケンスの第一モデルであるのが好ましい。SET1の次に多い数の画像(または次に大きな割合の画像)をフィッティングできるモデルが、学習モジュール2として識別され、アクセスシーケンスの次のモデルである、等々のようにして固定されたアクセスシーケンスが確立される。したがって本例では、学習モジュール4はシーケンスの最後のモデルをさし、SET1の最小数の画像をフィッティングまたは位置合わせできるモデルであり、学習モジュール3はSET1の次に小さい数の画像をフィッティングできるモデルをさす。本場合には第一サイクルから、このサイクルの間に使用されるライブラリーのサイズが最も大きい(すなわち、トレーニング画像の全体の広範なライブラリー31_1を含む)ため、最大数の位置合わせされた画像が生じると仮定される。説明を簡単にするため、処理の各サイクルの間に作成されるモデルは、先行したサイクルより少ない数の画像を位置合わせできる現在のアクセスシーケンスの終わりに付加されるとさらに仮定される。したがって学習モジュール1、2、3および4はモデル#1、#2、#3および#4にそれぞれ対応するアクセスシーケンスを確立する。
したがって第一サイクルの間には、学習モジュール27が、広範なライブラリー31_1(すなわちSET1)全体にアクセスし、第一顔モデルおよび第一統計モデルフィッティング関数を作成し、これが「モデル#1」として格納される。位置合わせモジュール29がその後モデル#1を用いて、SET1の中の一つ一つ全ての画像を位置合わせすることを試みる。位置合わせモジュールが位置合わせに失敗した任意の画像は、NEWライブラリーSET90に集められる。位置合わせモジュール29がSET1の中の全ての画像にアクセスした後、次のサイクルが開始する。
この次のサイクルでは、学習モジュール27が、NEWライブラリーSET90の中の全ての画像にアクセスする。SET1はもう使用されない。学習モジュール27は、第二顔モデルおよび第二統計モデルフィッティング関数を作成し、これが「モデル#2」として格納される。位置合わせモジュール29がその後モデル#2を用いてNEWライブラリーSET90の中の一つ一つ全ての画像を位置合わせすることを試みる。位置合わせモジュールが位置合わせに失敗した任意の画像は、将来の使用のために識別される。位置合わせされた全ての画像は、破棄されうる。したがって、現在の第二サイクルの最後には、サイクル2の間にうまく位置合わせされなかった全ての画像がNEWライブラリーSET90に集められる。
SET1およびNEWライブラリーSET1のための別々の識別されたメモリースペース31_1および90は、説明のために示されることを理解されたい。必要に応じて、SET1の中の位置合わせに失敗した各画像が次のサイクルの間の使用のためにフラグされ、先行サイクルの間に既にうまく位置合わせされた任意の画像が将来のサイクルにおける使用から破棄される限り、SET1に対応する同じメモリースペース31_1が全てのサイクルの間に使用されうる。
次のサイクル(本例のサイクル3)の間には、学習モジュール27が、いずれの先行サイクルの間にもうまく位置合わせされなかった残りの画像に再びアクセスして、第三顔モデルおよび第三統計モデルフィッティング関数を作成し、これが「モデル#3」として集合的に保存される。それから位置合わせモジュール29がモデル#3を用いて、以前に位置合わせされていない全画像を位置合わせすることを試みる。位置合わせモジュール29が位置合わせに失敗した全ての画像が、将来の使用のためマークされ、NEWライブラリーSET90に集められうる。
このプロセスが第四サイクルの間にリピートされてモデル#4が作成される。この第四サイクルの間には、学習モジュール27が、全先行サイクルの間にうまく位置合わせされなかった残りの画像を用いて、第四顔モデルおよび対応する第四統計モデルフィッティング関数を作成する。それから、位置合わせモジュール29が、NEWライブラリーSET90の中の残りの画像を位置合わせすることを試みて、SET1の画像の目標割合の位置合わせを達成するために追加のサイクルが必要かを決定しうる。
すなわち、以前に定義されたモデルのいずれかを使用してSET1の中の全画像の所望の割合がうまく位置合わせされるまで、サイクルがリピートされうる。例えば、四サイクルの後でSET1の中の全ての画像の98%が位置合わせされたが、目標位置合わせ割合が99%である場合は、99%の目標割合が達成されるまで追加のサイクルが適用されうる。
なお、各後続サイクルの間には、顔モデルおよびその対応する統計モデルフィッティング関数の作成において使用される画像のプールは、より多数の外れ値特徴を有する画像を使用して定義される。したがって、各後で作成される顔モデルおよび対応する統計モデルフィッティング関数は、外れ値画像の特定の真の例を識別するのにより適している。
SET1の中の最大数の画像を位置合わせしたモデルは、学習モジュール1と指定される。本場合には、モデル#1が最大割合の位置合わせされた画像を有すると仮定され、したがってこれが学習モジュール1と指定される。モデル#2がSET1の画像の次に多い位置合わせ数を達成すると仮定すると、それは学習モジュール2と指定される。同様に、モデル#3およびモデル#4は、SET1の次のより低い二つの数の画像を位置合わせするので、学習モジュール1および学習モジュール2とそれぞれ指定される。
これにより、動作時に(学習モジュール#1、または学習モジュール#2、または学習モジュール#3、または学習モジュール#4に対応する)四つの学習モジュール91〜94のいずれかを利用することを選択できる、モジュラーまたは可変学習モジュール#n95が形成される。説明のため、#nは、任意の所与のサイクルの間に学習モジュール91〜94のいずれが使用されているかを示すための変数と考えられうる。
動作時の本AAMの例が図19に示され、図3、4および16〜18のものと類似の全ての要素は類似の参照符号を有し上に定義される。
動作時には、AAM25に提示される予定の新規の入力画像(または新規のテスト画像)21が任意に前処理されて、AAM25が認識するようトレーニングされるオブジェクトのクラスの中のオブジェクト(すなわち本例においては顔)が、入力画像21の中に実際に存在するかが決定されうる。これは、従来技術において一般に公知の顔検出アルゴリズムにより達成されうる。このプロセスは、入力画像21の中のより容易に識別可能な特有の顔特徴のいくつかで数個のランドマークポイントを任意に加えて、前処理された画像23を作成しうる。
本実施形態は可変学習モジュール#n95を利用するが、これは複数の異なる学習モジュール91〜94の一つを動作時に選択する。AAM25がその受け取った画像(入力画像21または前処理された画像23)を位置合わせすることを複数回試み、可変学習モジュール#n95が、各試行の間に利用可能な複数の学習モジュール91〜94のうちの異なる一つを選択するのが理想的である。本実施形態においては、学習モジュール91〜94のいずれの使用もリピートしないことは望ましくなく、したがって利用可能な学習モジュール91〜94の数により、以下で入力画像21または前処理された画像23であると仮定されるその受け取った画像をAAM25が位置合わせすることを何度試みるかが決定される。
カウンターN(すなわちレジスター97)が、AAM25が前処理された画像23を位置合わせすることを試みる際に使用した異なる学習モジュール91〜94の数を記録する。その使用をさらに促進するために、学習モジュール#1〜学習モジュール#4は、各々が位置合わせできた最初の広範なライブラリー31_1(図18参照)の中の画像の数に関する有効性の順に配置されていると仮定した。したがって、学習モジュール#1は、前処理された画像23を位置合わせする最も大きな可能性があり、学習モジュール#2が次に大きな可能性がある、等々となる。これらの仮定を用いて、カウンターNはさらに、学習モジュール#1、または学習モジュール#2、または学習モジュール#3、または学習モジュール#4のいずれがAAM25により現在用いられているかを示すと考えられうる。
AAM25が前処理された画像23をまず受け取るとき、カウンターNはN=1にセットされ、可変学習モジュール#n95が学習モジュール#1を使用に選択することを示す。したがって位置合わせモジュール29が、学習モジュール#1により定義される顔モデルおよび統計モデルフィッティング式を使用して、前処理された画像23を位置合わせすることを試みる。位置合わせが成功なら(決定ポイント97=YES)、位置合わせされた顔30が出力され、現在の位置合わせプロセスが終了する。位置合わせが失敗すると(決定ポイント97=NO)、カウンターNが一インクリメントされ(N=N+1)、カウンターNが最大カウント数より大きい値を有するかが決定される(決定ポイント101)。本例では、可変学習モジュール#n95は、四つの異なる学習モジュール91〜94の中から選択できるので、最大カウントが4にセットされるのが好ましい。カウンターNが4より大きければ、これは学習モジュール91〜94の全てが既に試行され、いずれも前処理された画像23を位置合わせするのに成功しなかったことを示す。その場合位置合わせプロセスは失敗したものとみなされ、位置合わせされた画像を生成せずにプロセスが終了する。
しかし、カウンターNが最大カウントの4より大きくなければ、次の並びの学習モジュール91〜94が試行されることを示す。そして可変学習モジュール#n、95が、カウンターNにより示される学習モジュール91〜94を選択し、AAM25が前処理された画像23を位置合わせすることを再び試みる。本場合には、Nは2の値までインクリメントされ、したがって位置合わせモジュール29は学習モジュール#2により定義される顔モデルおよび統計モデルフィッティング関数を使用して、前処理された画像23を位置合わせすることを試みる。位置合わせが成功なら、位置合わせされた画像30が出力され、プロセスが終了する。位置合わせが成功でなければ、カウンターNをインクリメントし、列の次に並ぶ学習モジュールを選択することによりプロセスがリピートする。本例では、Nは3の値までインクリメントされることができ、可変学習モジュール#n、95は、次の試行で学習モジュール#3を選択する。
このようにして位置合わせモジュール29は学習モジュール91〜94の各々を順々に試行し、位置合わせが達成されるまで、または全ての学習モジュール91〜94が試行されるまで、前処理された画像23を位置合わせすることを毎回試みる。このプロセスが、図20にまとめられている。
図20を参照すると、第一ステップ111は、位置合わせのために新規の入力画像を受け取ることである。次の二つのステップは、上で説明したように任意である。必要に応じて、新規の入力画像の最初の検査がステップ113で行われて、受け取られた新規の入力画像が、AAMが認識するようにトレーニングされるオブジェクトのクラスの中のオブジェクトを表現するかを決定しうる。本例では、ステップ113は、受け取られた新規の入力画像が人間の顔を表現するかを決定する。表現しない場合は、処理はステップ111に戻って次の入力画像にアクセスし、または終結しうる。受け取られた新規の入力画像が人間の顔を表現するなら(ステップ113=YES)、任意のステップ115で、受け取られた入力画像の中のより容易に識別可能な特有の特徴のいくつかの上にマーカーが配置されて、前処理された画像が作成されうる。
カウンターNはステップ117で1に初期化され、ステップ119が、カウンターNが所定の最大カウント値より大きいかを決定する。上で説明したように、最大カウント値は、可変学習モジュール#n95の中の利用可能な学習モジュールの数に等しい(すなわち上の例においてはモデル#1〜#4の数に等しい)のが好ましい。これは第一サイクルであるため、カウンターNは最大カウント値よりまだ大きくなく、プロセスはステップ123へ進む。
ステップ123においては、利用可能な学習モジュールの一つ(好ましくは学習モジュールナンバーN)が選択され、位置合わせモジュールが、学習モジュールNにより定義される顔モデルおよび統計モデルフィッティング関数を利用して、前処理された画像を顔モデルに位置合わせすることを試みる。位置合わせが成功であるとステップ125において決定されると、位置合わせされた顔がステップ129で出力され、処理はステップ130で終了し、あるいはステップ111へ戻って処理のために他の入力画像にアクセスしうる。
位置合わせが失敗したとステップ125により決定されると、カウンターNがインクリメントされ、ステップ119が、Nが現在所定の最大カウント値より大きいかを決定する。Nが所定の最大カウント値より大きければ、全ての利用可能なモデル#1〜#3(すなわち、可変学習モジュール#n、95が選択できる全ての利用可能な学習モジュール)が試行され、いずれも前処理された画像をうまく位置合わせできなかったことを示す。したがって、全体的位置合わせプロセスは失敗したとみなされ(ステップ121)、プロセスはステップ130で終了し、あるいはステップ111に戻って処理のために他の入力画像にアクセスしうる。
Nが最大カウント値より大きくなければ(ステップ119=NO)、利用可能な学習モジュールのラインシーケンスの次の学習モジュールが選択され、位置合わせモジュールがそれを用いて新たに位置合わせを試みる。
このプロセスは、全ての利用可能な学習モジュールが試行されるまで(すなわちカウンターNが所定の最大カウント値より大きい値までインクリメントされるまで)、または位置合わせモジュールが前処理された画像をうまく位置合わせするまで続く。
より多数の真の外れ値の例を位置合わせできるAAMマシンにおいてトレーニング画像の大きな広範なトレーニングライブラリーに対処する別の新しい方法は、分割統治アプローチをとることである。大きなトレーニングライブラリーは、学習モジュールにより作成される統計モデルフィッティング関数が複雑になり、(トレーニング画像のある割合がその統計モデルフィッティング関数によりフィッティングされないことを考慮すると)多数の可能な真の例をフィッティングすることが可能でないことを意味する。したがって、結果として得られる広範なAAMは典型的に、多数の外れ値の真の例を位置合わせできないことになる。加えて、統計モデルフィッティング関数が、より多数の真の例を組み込むために比較的複雑になるため、広範なAAMの中の位置合わせモジュールは、入力テスト画像を位置合わせすることを試みる際に統計モデルフィッティング関数を最適化するために必要な時間もより多くなる。本発明は、入力テスト画像を位置合わせするのに必要な時間を減らし、より多数の外れ値の真の例にうまく対応することを模索する。
本アプローチは、より長いセットアップ/トレーニングフェーズとひきかえに、単一の広範なAAMを複数のより小さなAAMで置き換える。基本的に、トレーニング画像の広範なライブラリーが、まず複数のより小さなトレーニングサブライブラリーに分割され、より小さなトレーニングサブライブラリーの各々につき別々のAAMが作成される。トレーニング画像が特定された特性にしたがってグループ分けされ、各グループが別々のトレーニングサブライブラリーを構成するのが好ましい。
選択されたAAMの順次適用により、入力テスト画像の適切な位置合わせを達成できる。すなわち、入力テスト画像が第一小AAMに提示されると、第一小AAMにより生成された中間の位置合わせされた画像が、順に第二小AAMに適用される。第二AAMから得られる位置合わせされた出力画像が、入力テスト画像の十分な位置合わせを達成しなければ、第二小AAMから得られた位置合わせされた出力画像が順に第三小AAMに適用される、等々となる。
AAMの選択およびシーケンスは、入力テスト画像自体に依存する。好ましくは、入力テスト画像の位置合わせで使用されるAAMの選択およびシーケンスは、選択されたAAMの各適用により、結果として得られる位置合わせされた出力画像が、最終的な位置合わせされた画像に次第に近づいていくようなものである。
図21を参照すると、入力テスト画像158に描写されたオブジェクトのクラス(本例では人間の顔)を認識するための本発明によるオブジェクト認識デバイス160の一つの実装は、上でAAMのオペレーションフェーズの記載において説明されるように入力テスト画像158の中で人間の顔がうまく識別されモデル画像にフィッティングされたものと仮定して、入力テスト画像158を受け取るための入力152と、最適化された位置合わせ画像180を出力するための出力154とを含む。すなわち、オブジェクト認識デバイス160が、識別するようトレーニングされるオブジェクトのクラス(すなわち人間の顔)の成功した認識として、最適化された位置合わせ画像180を出力する。
本実施形態のトレーニングフェーズの中では、トレーニング画像の大きな広範なライブラリー(図示せず)が、トレーニング画像のグループに分割されているだろう。上で説明したように、広範なライブラリーのトレーニング画像(すなわちトレーニング画像の全グループの全ての画像の組み合わせ)の中の各トレーニング画像は、人間の顔の真の例を有し、各トレーニング画像の中で人間の顔の特有の特徴の所定のセットが識別されラベル付けされる。トレーニング画像の広範なライブラリーの中のトレーニング画像は、選択された特有の特徴(単数または複数)のいくつかの共有される特質(単数または複数)にしたがってグループ分けされ、その結果各グループの中の画像が、特定の特質(単数または複数)により定義される類似性を互いに有するのが好ましい。例えば、グループの中のトレーニング画像は、類似の顔形状、鼻形状、口形状、特定エリアのテクスチャートーン(単数または複数)、視線方向、シャドウィング、不明瞭領域等、または特徴特質の任意の組み合わせを有しうる。このようにして、トレーニング画像の各グループは、各グループの決定的な特有の特質にしたがって他と異なっている。すなわち、各トレーニング画像グループは、選択された特有の特徴(単数または複数)の共有する特質のリストにより区別される。
トレーニング画像のグループへのソートが手動で実施される場合には、これらの特質は、ソートを行う個人(単数または複数)により決定されうる主観的なものでありうる。しかしこのソートは、代替的に所定の基準にしたがって自動化されうる。
本例では、オブジェクト認識デバイス160が、八つの動的アピアランスモデル処理ブロック(すなわち八つのAAM)162、164、166、168、170、172、174、および176を含むのが示される。しかし、任意の数のAAMが本発明の範囲内で想定されることを理解されたい。各AAM処理ブロックは、それ自体の対応する学習モジュール(図示せず)および対応する位置合わせモジュール(図示せず)を含む。上で説明したように、各AAM処理ブロックの中で、その対応する学習モジュールは、その対応するトレーニング画像のグループ(すなわちその対応するトレーニング画像のサブライブラリー)から、対応するモデル画像および統計モデルフィッティング関数を作成する。これも上で説明したように、各AAM処理ブロックの中で、その対応する位置合わせモジュールは、複数の反復によりその対応する統計モデルフィッティング関数を最適化することにより、その対応するモデル画像を入力画像に位置合わせすることを試みる。
各グループの中のトレーニング画像がいくつかの特有の特徴(単数または複数)における際立った特質を共有するため、各AAM処理ブロックの結果として得られるモデル画像および統計モデルフィッティング関数は、それがトレーニングされるトレーニング画像のグループの特定の特質を反映する。したがって、各AAM処理ブロックのモデル画像は異なり、異なるモデル画像が、それらの反映された(すなわちハイライトまたは強調された)特有の特質により互いから区別される。
したがって、各AAM処理ブロックは、その特定化された特有の特質を識別するようにトレーニングされる。基本的に、オブジェクトの特定のクラス(すなわち人間の顔)の真の外れ値の例が、ノルムからの形状/テクスチャーの偏差により特徴づけられるため、また、トレーニング画像の広範なライブラリーの中のこのような偏差を有するトレーニング画像が一緒のグループに分けられてそれら自体のグループ(すなわちそれら自体のトレーニングサブライブラリー)を形成しうるため、このようなグループから作成される結果として得られるAAM処理ブロックは、探索されるオブジェクトの真の例におけるこのような偏差を識別するように有効にトレーニングされる。さらに、グループが全体的な広範なライブラリーより少ない数のトレーニング画像を含むことから、各結果として得られるAAM処理ブロックは、比較的簡単化されたモデル画像および統計モデルフィッティング関数を有し、その対応する位置合わせモジュールのより高速な実行がもたらされる。したがって本発明は、オブジェクトの特定クラスの真の外れ値のケースをより大きな範囲で認識できるだけでなく、より高速な性能も達成できる。
本例では、広範なトレーニングライブラリーは八つのトレーニング画像グループに分割され(図示せず)、八つのAAM処理ブロック162、164、166、168、170、172、174、および178の各々が、トレーニング画像の各八つのグループの対応する一つを使用してトレーニングされる。したがって各AAMが、異なるモデル画像および統計モデルフィッティング関数を有する。
必要に応じて、元の広範なライブラリーの全ての画像を使用して全体的モデル画像150が構築されうる。すなわち、全体的モデル画像150は、全てのAAM処理ブロックをトレーニングするために用いられる全ての画像グループの全ての画像の組み合わせを使用して構築される。
動作時には、入力テスト画像の十分な位置合わせを達成するために、利用可能なAAM処理ブロックの一つ以上を利用することが必要でありうる。図21のイラスト例においては、入力テスト画像158が、入力テスト画像158に最も厳密に類似する(すなわちマッチする)モデル画像を有することから(またはその反映された特定の特質が入力テスト画像158上の同じ特質に最も厳密にマッチする統計モデルフィッティング関数を有することから)選択される第一AAM処理ブロックに提示される。これは、入力テスト画像をAAM処理ブロック162〜176の各々のモデル画像と比較して、対応するモデル画像が入力テスト画像158に最も厳密に類似するAAMを識別することにより決定されうる。類似(マッチング)の程度は、(例えば図10に関して上で説明される)ずれの程度を用いて得られる。
本例では、AAM162が、入力テスト画像158に最も厳密にマッチするモデル画像を有することから、AAM162〜176の全ての中から選択されると仮定される。AAM164は、中間の位置合わせされた画像(図示せず)を出力する。それから、この中間の位置合わせされた画像が十分な位置合わせを達成しているかを決めるための決定がなされる。
この決定は、この中間の位置合わせされた画像とAAM162のモデル画像とのずれの程度(あるいは、この中間の位置合わせされた画像と全体的モデル画像150とのずれの程度)を得ることによりなされうる。このずれの程度が所定の最大程度より大きくなければ、位置合わせは十分とみなされ、出力154を介して中間の位置合わせ画像を出力することにより処理が終了する。入力テスト画像158を位置合わせする試みにおいて所定の数のAAMが順にアクセスされた場合、または現在のAAMから得られる位置合わせの程度が、直前にアクセスされたAAMから達成された位置合わせの程度より良くない場合にも、処理が終了しうる。すなわち、別のAAMの追加の適用により、直前にアクセスされたAAMにより達成されたものを上回る位置合わせの改善が達成されない場合には、処理が終了しうる。
処理終結の条件のいずれも満たされず、AAM162により出力される中間の位置合わせされた画像から得られる位置合わせの程度が、所定の最大程度より大きいと仮定すると、この中間の位置合わせされた画像が、別のAAMに提示される。上で説明したように、モデル画像がそれに最も厳密に類似する(すなわちマッチする)AAMに提示されるのが好ましい。本例では、AAM162から出力された中間の位置合わせされた画像は、AAM172に提示されると仮定される。
それから上記のプロセスがリピートする。再び、処理終結の条件のいずれも満たされず、AAM172により出力される中間の位置合わせされた画像から得られる位置合わせの程度が、所定の最大程度より大きいと仮定すると、AAM172から出力された中間の位置合わせされた画像は、別のAAMに提示される。本例では、AAM172から出力された中間の位置合わせされた画像は、AAM170のモデル画像に最も厳密にマッチし、したがってさらなる処理のためにAAM170に提示されると仮定される。
再び、処理終結の条件のいずれも満たされず、AAM170から出力される中間の位置合わせされた画像から得られる位置合わせの程度が、所定の最大程度より大きいと仮定すると、AAM170からの中間の位置合わせされた画像は、別のAAMに提示される。本例では、AAM170から出力された中間の位置合わせされた画像は、AAM166のモデル画像に最も厳密にマッチし、したがってさらなる処理のためにAAM166に提示されると仮定される。
本例は、AAM166から出力される中間の位置合わせされた画像180が十分な位置合わせを達成しており(すなわち、その位置合わせの程度が所定の最大程度より大きくない)、したがってAAM166により生成される中間の位置合わせされた画像を出力154へ送り、処理が終了すると仮定する。
AAM選択シーケンスが、図21に示されないデータ処理モジュールまたはデータ制御モジュールにより制御されうることを理解されたい。AAM選択シーケンスを制御するためにこのようなデータ処理モジュールにより実施可能な一般的なデータフローが、図22に示される。まず、選択されたAAMに提示される予定の入力画像が受け取られる(ステップ200)。必要に応じて、二つの変数がセットされうる(ステップ202)。第一変数current_imageは、どの画像が現在処理されているかを示す。したがってcurrent_imageは、最初は入力画像にセットされる。変数cycle_countを用いて、ステップ204を何回繰り返したかを記録しうる。ステップ204にまだ達していないため、cycle_countは、最初はゼロにセットされる。
ステップ204においては、多くのAAMの対応するモデル画像のうちいずれがcurrent_imageに最も厳密にマッチするかに基づいて、AAMが選択される。これは上で説明したように、current_imageと各AAMの対応するモデル画像とのずれの程度を比較することにより決定されうる。あるいは、対応する統計モデルフィッティング関数が、current_image上の類似の特質に最も厳密にマッチする特定の特質を識別するのに最適であるAAMを識別することにより、この決定がなされる。それから、current_imageが選択されたAAMに提示され、これが中間の位置合わせされた画像を生成する。
ステップ204の処理を終えると、変数cycle_countがインクリメントされうる(ステップ206)。ステップ208は、cycle_countが所定の最大値に達したかをチェックする。基本的にこれは、中間の位置合わせされた画像を別のAAMに何回提示し続けられるかについて上限を配置する。最大カウントに達していれば(ステップ208=YES)、現在の中間の位置合わせされた画像がオブジェクトのクラス、すなわち人間の顔の成功した認識として出力されうる(ステップ216)。最大カウントに達していなければ(ステップ208=NO)、処理はステップ210へと続く。
ステップ210においては、データ処理モジュールが、中間の位置合わせされた画像と選択されたAAMの対応するモデル画像(または画像の全グループの組み合わせから作成されたモデル画像)とのずれの程度が、所定の最大値より小さいかを決定する。小さければ(ステップ210=YES)、処理が終了し、中間画像がオブジェクトのクラスの成功した認識として出力されうる(ステップ216)。もしそうでないなら(ステップ210=NO)、さらなる処理が必要となりうる。
ステップ212はまず、現在のサイクルにおいて直前のサイクルと比較して改善が達成されたかを決定する。ステップ212=NOであれば、現在の反復において全く改善が実現されなかった(または改善が所定の最低値より小さい)ことを示し、その場合には処理が終了し、現在の中間の位置合わせされた画像が、オブジェクトのクラスの成功した認識として出力されうる(ステップ216)。
しかし、改善が達成されていれば(ステップ212=YES)、変数current_imageが現在の中間の位置合わせされた画像にセットされ(ステップ214)、処理は別のサイクルのためステップ204に戻る。
図21および22のアプローチは、各反復でcurrent_imageが全てのAAMのモデル画像と比較されて、current_imageがいずれのAAMに提示されるべきか決定されることを要する。多数のAAMがある場合には、この選択プロセスは時間がかかりすぎうる。図23に示される代替的アプローチは、シーケンスの次のAAMを選択するためにcurrent_imageが比較されねばならないモデル画像の数を減らす(すなわち、チェックされる必要のあるAAMの数を減らす)ために、階層ツリーアプローチを使用する。
図23を参照すると、目下好適なアプローチにおいては、トレーニング画像の大きな広範なトレーニングライブラリー140が、階層ツリー構造139に分割されるのが好ましい。このプロセスは、手動で達成されまたは自動化されうる。階層ツリー139は、トレーニング画像に示されるオブジェクトのクラスの特定の(所定の)特有の特徴の類似点にしたがってノード間のリンクパスを定義するのが好ましい。本例では、オブジェクトのクラスが人間の顔であり、各トレーニング画像の中の人間の顔の特定の特有の特徴が手動で識別されマッピングされていると仮定する。説明のため、広範なライブラリー140の全体から構築されたルートモデル画像F1が示されているが、上で説明したようにルートモデル画像F1の作成は任意でありうる。
階層ツリー139の構築においては、広範なトレーニングライブラリー140がまず、特定の特有の特徴(単数または複数)の類似性(または非類似性)にしたがって、トレーニング画像の少なくとも二つのグループ141および142に分割される。例えば、顔形状、鼻形状、口形状、特定エリアのテクスチャートーン(単数または複数)、視線方向、シャドウィング、不明瞭領域の特有の特徴にしたがって、またはそのような特徴の任意の組み合わせにしたがって、画像が分割されうる。好ましくは、リーフノード(すなわち階層ツリー139において最下ノード)を構成するトレーニング画像の全てのグループが、所定の最大数より多くのトレーニング画像を有してはならない。画像のグループが所定の最大数より少ないトレーニング画像を有していた場合、それはリーフノードに指定されて固定されうる。(画像数がトレーニング画像の所定の最大数よりすでに小さい場合であっても)画像グループがさらに分割されるべき場合を決定するための他の基準は、ルートモデル画像F1等のノルムからの分散の程度または最大距離である。しかし、グループが所定の最大数より多くのトレーニング画像を有していた場合には、さらなる分割の対象となる親ノードに指定される。
したがって、広範なライブラリー140がグループ141および142に分割された後、グループ141および142の各々のトレーニング画像の数がチェックされて、いずれかのグループが許容可能な最大数より少ないトレーニング画像を有するかが決定される。有する場合には、それがリーフノードと指定される。最大許容可能数より多くを有していれば親ノードに指定され、その下に追加の子ノードが構築される。
階層ツリー構造においては、従来技術において周知のように、ルートノードが階層ツリーにおいて最上ノードであり、親ノードはその下にリンクされた少なくとも一つの他のノードを有するノードであり、子ノードはその上の親ノードにリンクされたノードであり、リーフノードはその下に子ノードのないノードである。リーフノードは事実上、ルートノードから下方に向かうリンクパス(またはブランチパス)に沿った最下ノードである。作成されたトレーニング画像のグループが、許容可能最大数より多くのトレーニング画像を有していれば、それは新規の親ノードと定義され、そのトレーニング画像が、この新規の親ノードの下に(リンクされた)二つの子ノードを構成する二つの新規のより小さなグループに分割される。この分割プロセスは、許容可能最大数を上回るトレーニング画像を有していないグループだけになるまで続く。
図の簡略化のために、図23の例では、トレーニング画像の各最終グループ(すなわち各リーフノード)の中に許容可能なトレーニング画像の最大数が、10のトレーニング画像であると仮定され、最初の広範なトレーニングライブラリー140が合計22のレーニング画像を有するとさらに仮定される。しかし、これらの数は説明の便宜のためにすぎず、実際には広範なトレーニングライブラリー140は、数百または数千のトレーニング画像を有しうることを理解されたい。本発明の目下好適な実際的適用においては、広範なトレーニングライブラリー140は、1000の独立した画像(すなわちビデオシーケンスから得られる連続的画像でない)を有する。
本例では、第一の構築されたグループ141は12のトレーニング画像を有し、第二の構築されたグループ142は10のトレーニング画像を有する。第二グループ142は10のトレーニング画像を有する(すなわち最大許容可能数を上回るトレーニング画像を有しない)のでリーフノードに指定され、それ以上分割されない。
第二グループ142の画像だけを使用して、新規のAAM151が定義される。以前のようにこれは、第二グループ142の10のトレーニング画像全ての特有の特徴を使用して顔モデルF2および統計モデルフィッティング関数を構築する学習モジュール(図示せず)により達成される。説明の簡単のため、顔モデルF2は、第二グループ142により定義されるリーフノードと互換可能に用いられる。したがって、F2がリーフノード1を定義する。上で説明したように、AAM151の中の位置合わせモジュール(図示せず)がその後この統計モデルフィッティング関数を活用して、受け取られた入力画像を位置合わせする。
他方で、第一グループ141は最大許容数より多くのトレーニング画像(すなわち10を上回るトレーニング画像)を有する。したがってこれは親ノードになるよう指定され、その12の画像は、二つの新規のグループ145および147に、その親ノードF1を分割するのに使用されたのと同じまたは他の特有の特徴(単数または複数)にしたがって、さらに分割される。
以前と同様に、第一グループ141の12の画像は、各新規のグループ145および147のトレーニング画像がいくつかの類似の特有の特徴(単数または複数)を共有するように、類似性にしたがって分けられる。まず、第一グループ141の中の12のトレーニング画像全ての特有の特徴を組み合わせて、新規の顔モデルF3が作成される。再び説明を簡単にするため、本明細書においてF3は、第一グループ141により定義される親ノードをさすために用いられる。したがって新規の顔モデルF3は新規の親ノードであり、ルートノードF1の下の子ノードでもある。
本例では、第一グループ141の中の12のトレーニング画像が、新規のグループ145および147に分割される。グループ145は5のトレーニング画像を有し、グループ147は7のトレーニング画像を有する。グループ145および147の両方が最大許容可能数の10より少ないトレーニング画像を有するので、両方ともリーフノードになり、いずれの下にもさらなる子ノードは伴わない。グループ145および147の両方がリーフノードを定義するため、グループ145および147の各々につき別々の対応するAAMが構築され、AAM153およびAAM155がそれぞれもたらされる。
第二AAM153は、グループ145の中のトレーニング画像だけを使用して構築され、第三AAM155は、グループ147の中だけのトレーニング画像を使用して構築される。以前のようにAAM153の構築には、グループ145のトレーニング画像だけの特有の特徴を使用して新規のモデル画像F4および新規の統計モデルフィッティング関数を定義する学習モジュール(図示せず)を、対応する位置合わせモジュール(図示せず)の構築とともに伴う。同様に、AAM155の構築には、グループ147のトレーニング画像だけの特有の特徴を使用して別の新規のモデル画像F5および別の新規の統計モデルフィッティング関数を定義する新規の学習モジュール(図示せず)の構築を、別の対応する位置合わせモジュール(図示せず)の構築とともに伴う。
したがって、階層ツリー139の構築の終了までには、最初の広範なトレーニングライブラリー140は、複数のより小さなグループ(またはサブライブラリー)142、145および147に分割され、サブライブラリー142、145および147の各々につき別々のAAM(それぞれ151、153および155)が構築されている。加えて、元の広範なトレーニングライブラリー140から切り分けられたトレーニング画像の異なるサブセット(すなわちグループ)から構築される顔モデル(F2〜F5)により、各子ノードが定義される。上で説明したように、ルートノードのモデル画像F1は、広範なトレーニングライブラリー140全体から任意に構築されてもよい。
階層ツリー139ならびに(各々が対応するリーフノードF2、F4およびF5とそれぞれ一対一の関係を有する)三つの全てのAAM151、153、および155が完成すると、以下のように階層ツリー139を用いて入力画像が位置合わせされうる。
図24は、入力テスト画像161を位置合わせするための階層ツリー139の実装を示す。図24においては、図23と類似の全ての要素は類似の参照符号を有し上述される。まず入力テスト画像161が、ルートノードF1の下の二つのモデル画像と比較される。すなわち、入力テスト画像161がF2およびF3と比較されて、モデル画像F2およびF3との類似性の程度が確認され、これにより入力テスト画像161がモデル画像F2またはF3によりマッチするかが決定される。これは例えば、図10に関して上述されるずれ決定技術により、または公知技術の他の任意の方法により達成されうる。
本例では、入力テスト画像161がF3により類似すると仮定され、したがって階層ツリー161を下るパスはノードF3へ進む。F3はリーフノードではないので、現在処理されている画像(すなわち入力テスト画像161)が、F3の二つの子ノードF4およびF5と比較される。すなわち、入力テスト画像161がモデル画像F4およびF5と比較されて、入力テスト画像161が二つのモデル画像のいずれにより厳密に類似するかが決定される。目下では、入力テスト画像161はモデル画像F4により厳密にマッチすると仮定され、階層ツリー139を下に進んでノードF4へと進む。
ノードF4はリーフノードである(すなわち下に子ノードを有しない)ため、入力テスト画像161は、AAM153(すなわちノードF4に関連付けられたAAM)に提示される。AAM153は上述のように入力テスト画像161を位置合わせすることを試み、第一位置合わせされた画像163を出力する。今度は、AAM153により出力された第一位置合わせされた画像163が、入力テスト画像161の十分な位置合わせを提供するか、またはさらなる処理が必要かが、決定される。この決定は、AAM153がその位置合わせを成功とみなしたかを検証することにより、または第一位置合わせされた画像163のF4との(あるいはF1との)類似性(すなわちずれ)をチェックすることにより行われうる。十分な位置合わせが達成されていれば、処理は終了し、第一位置合わせされた画像163が、全体的な位置合わせされた画像として出力される。位置合わせが十分でない(すなわち位置合わせの程度が所定の明細外)とみなされると、第一位置合わせされた画像163が、第二反復のため階層ツリー139に再提示される。
この第二反復においては、第一位置合わせされた画像163がF2およびF3と比較されて、二つのモデル画像のいずれにより厳密にマッチする(すなわち類似する)かが決定される。本例では、第一位置合わせされた画像163が、F3よりF2とより厳密な位置合わせを有すると仮定され、したがって階層ツリー139を下に進んでノードF2へと進む。ノードF2はリーフノードであるため、第一位置合わせ画像163が、位置合わせのためにAAM151に提示される。AAM151は第二位置合わせされた画像165を出力し、その後これがチェックされて、十分な位置合わせが達成されているか、またはさらなる処理が必要かが、決定される。以前と同様にこの決定は、AAM152が第二位置合わせ画像165を有効とみなしたかを検証することによりなされればよく、または第二位置合わせされた画像165のモデル画像F2(またはモデル画像F1)との類似性の程度(またはずれ、すなわちミスマッチ)を得ることにより決定されうる。十分な位置合わせが達成されていれば(または位置合わせの程度が直前の反復から改善されていなければ、または所定の数の反復が実行されていれば)、処理が終了する。位置合わせが十分でない(すなわち位置合わせの程度が所定の明細外)とみなされれば、第二位置合わせされた画像165が、第三の反復のため階層ツリー139に再提示される。
以前と同様にこの第三反復は、階層ツリー139の一番上で、第二位置合わせされた画像165のモデル画像F2およびモデル画像F3とのずれを比較することにより開始する。本例では、第二位置合わせされた画像165はモデル画像F3によりマッチすると仮定され、階層ツリー139を下に進んでノードF3へと進む。ノードF3はリーフノードでないため、第二位置合わせされた画像165はそれからF3の子ノードF4とおよびF5と比較される。すなわち、第二位置合わせされた画像165がモデル画像F4と、そしてモデル画像F5と比較されて、これらの二つのモデル画像のいずれに最も厳密にマッチする(すなわちより位置が合う)かが決定される。本例においては、第二位置合わせされた画像165はモデル画像F5とより厳密に位置が合うと仮定され、したがって階層ツリー139を下に進んでノードF5へと進む。
ノードF5では、第二位置合わせされた画像165がAAM155に提示されるが、これはノードF5に関連付けられたAAMである。以前と同様に、AAM155が第二位置合わせされた画像165をそのモデル画像F5と位置合わせすることを試み、第二位置合わせ画像165を位置合わせするのに成功すれば、AAM155は第三位置合わせされた画像(図示せず)を出力する。以前と同様に、十分な位置合わせが達成されているかを決定するための、決定がなされうる。また以前と同様にこの決定は、AAM155がその出力第三位置合わせ画像を成功した位置合わせとみなすかに基づいて、または第三位置合わせ画像とモデル画像F5(またはモデル画像F1)との間のずれの程度により、なされうる。十分な位置合わせが達成されていれば(または位置合わせの程度が直前の反復から改善していなければ、または反復の所定の最大数が実行されていれば)、処理が終了する。そうでなければ、第三位置合わせされた画像が、第四の反復のため階層ツリー139に再提示されうる、等々となる。
本例においては三回の反復が記載され、広範なライブラリー140の22全ての元のトレーニング画像からの情報を有効に活用したが、これは説明目的にすぎない。より実際的な適用においては、広範なライブラリー140は数千の独立した真のサンプル画像を有し得、各リーフノードに限定される画像の最大数は100の画像でありうる。実際には、真の外れ値の例のテスト画像を含む入力テスト画像を適切に位置合わせするために5〜10回の反復が典型的に十分であることが分かっている。各リーフノードの各(比較的)小さなAAMは、広範なトレーニングライブラリー140の中の全てのトレーニングライブラリーの全体から構築される単一の広範なAAMよりもはるかに複雑度が低いため、処理時間が減じられ、より多数の真の外れ値の画像を位置合わせする際の精度が高められる。
図23および24に示されるような階層的AAMをトレーニングするためのプロセスの概要が、図25に示される。第一ステップ171は、ラベル付けされ識別されたオブジェクトのクラス(すなわち人間の顔)の特有の特徴を各々が有する、真のトレーニング画像のトレーニングライブラリーにアクセスすることである。このトレーニングライブラリーは、多数のトレーニング画像を有する広範なトレーニングライブラリーであるのが好ましい。次に、ステップ173において階層ツリーが構築される。基本的に、広範なトレーニングライブラリーのトレーニング画像が、トレーニング画像の所定の特定の特有の特徴(単数または複数)の類似性にしたがって(例えば一つ以上の類似性または非類似性の程度にしたがって)、階層ツリー構造に配置される。階層ツリー構造は、ルートノード(すなわち最上ノード)と、複数の内部ノード(すなわち少なくとも上に親ノードと下に子ノードを有するノード)と、複数のリーフノード(すなわち下に子ノードのない終端ノードまたは最下ノード)とを有するように構築される。内部ノードは、ルートノードからリーフノードの各々へのリンクパスを定義する。各非リーフノードでは、トレーニング画像が、特有の特徴(単数または複数)のいくつかの類似性にしたがって、少なくとも二つの画像グループに分割され、少なくとも二つのグループの各々が子ノードを定義する。各リーフノードのサンプル画像の数が所定の最大数より大きくないように、リーフノードの数が選択される。最後にステップ175で、各個別のリーフノードに関連付けられたトレーニング画像だけを使用して、リーフノードごとに別々のAAMが作成される。
図23に関して階層ツリーの好ましい構築の説明を上に提供したが、ステップ173を実施する(すなわち階層ツリーを構築する)ための代替的説明が図26に示される。
図26を参照すると、最初のステップ177でルートノードが定義され、トレーニング画像の広範なトレーニングライブラリーの全体がそれに関連付けられる。ステップ179において、二つの変数が開始されうる。第一変数「current_node」は、作業されている現在のノードを指示し、最初は現在構築されている唯一のノードであるルートノードにセットされる。図23に関して上で説明したように、階層ツリーは、最上ノード(すなわちルートノード)から各最下ノード(すなわち各リーフノード)へ下るパスに、複数のレベルの内部ノードを有しうる。階層ツリーにおいて「深さ」という用語は、ルートノードから下方へ向けて横断される特定のレベルを記述するために用いられうる。したがって第二変数「current_node_depth」は、current_nodeが位置するルートノードから下った深さレベルを識別するために用いられうる。ルートノードがこれまでに構築されている唯一のノードであるため、変数current_node_depthは、最初はルートノードのノード深さにセットされる。
ステップ181においてはcurrent_nodeが処理されるが、これは、現在のノードに関連付けられたトレーニング画像の数がリーフノードとして分類されるには多すぎれば、current_nodeに関連付けられたトレーニング画像が、特定の特有の特徴(単数または複数)の類似性にしたがって二つのグループに分割されることを意味する。処理はさらに、二つの新規に作成されたグループのいずれかのトレーニング画像の数が、所定の最大数より大きいかを決定するステップを含む。グループのトレーニング画像の数が最大数より大きくなければ、そのグループはcurrent_nodeの下のリーフノードに指定される。グループの画像の数が最大数より大きければ、そのグループは、current_nodeの非リーフの子ノードに指定される。
current_nodeの処理後は、横に移動して同じ深さの他のノードをcurrent_nodeとして処理しうる。このようにして、階層ツリーの次のレベルへ下方に向かって進む前に共通のレベルの全てのノードが処理される。これを行うために、ステップ183がまず、現在の深さレベルにステップ181にしたがって処理されていない他のノードがあるかを決定する。現在の深さレベルのノードが全て処理されていなければ(ステップ183=NO)、ステップ185が、現在のレベルの未処理の次のノードにcurrent_nodeを再付与し、ステップ181に戻ってその次のノードを処理する。このようにして、現在の深さレベルの全てのノードがステップ181の処理に適用されるまでステップ181〜185が繰り返す。
現在の深さレベルの全てのノードが処理されると(ステップ183=Yes)、ステップ187が、current_nodeの下の次の深さレベルに非リーフの子ノードがあるかをチェックする。あれば(ステップ187=Yes)、ステップ189でcurrent_node_depthを次のより低い深さレベルにインクリメントすることにより階層ツリーの次のより低い深さレベルへ進む。それから処理はステップ185へ進み、current_node_depthの中で未処理のノードにcurrent_nodeが付与される。
しかし、current_nodeの下に非リーフノードがなければ(ステップ187=NO)、階層ツリーは完了し、プロセスが終了する(ステップ190)。
ステップ181で使用される処理の実装の例は、図23に関して上述したが、図27に別の説明が提供される。最初のステップ191がまず、current_nodeに関連付けられたトレーニング画像の数が、許容可能な画像の最大数より大きい(すなわちmax_image_countより大きい)かを、決定する。大きくなければ(ステップ191=NO)、current_nodeはリーフノードであり、ステップ192でそのリーフノードに関連付けられたトレーニング画像を使用してAAMが構築される。あるいは、ステップ191=NOの場合に、current_nodeに関連付けられたトレーニング画像により作成されたモデル画像の分散の程度、またはこの作成されたモデル画像の最大距離が、平均モデル画像からの最大距離より大きいかをチェックして、それが複数ノードにさらに分けられるべきかをなお決定することもできる。しかし、これらの代替的基準が使用されないと仮定すると、ステップ181の処理は終了し、処理は図26のステップ183へ進みうる。
あるいは、ステップ191=YESなら、current_nodeに関連付けられたサンプル画像の数がmax_image_countより大きいことを意味するが、その場合にはcurrent_nodeに関連付けられたトレーニング画像を使用して新規のモデル画像が作成される(ステップ193)。加えて、current_nodeの関連付けられたサンプル画像が、トレーニング画像の必要に応じてあらかじめ特定されうる特有の特徴(単数または複数)の類似性(または非類似性)にしたがって、サンプル画像の少なくとも第一および第二グループにサブ分割される(ステップ195)。
サンプル画像の第一および第二グループだけが作成される場合には、current_nodeの下にリンクされた第一子ノードが作成され、サンプル画像の第一グループがこの第一子ノードに関連付けられる(ステップ196)。同様に、第二子ノードがcurrent_nodeの下にリンクされて作成され、サンプル画像の第二グループが、第二子ノードに関連付けられる(ステップ197)。
あるいは、サンプル画像の第一および第二グループより多く作成される場合には、作成されるサンプル画像のグループにつき別々の子ノードが作成される。各作成される子ノードはcurrent_nodeの下にリンクされて作成され、それが作成されたサンプル画像のグループが、作成された子ノードに関連付けられる。
これがステップ181の処理を終了させ、それから進みは図26のステップ183へと続きうる。
動作時の入力テスト画像を位置合わせするための階層ツリーの使用は、図24に関して上述したが、説明を簡単にするために、図28に第二の説明が提供される。
図28を参照すると、新規の入力テスト画像(すなわち新規の入力画像)が受け取られ、メモリーポインター(すなわち変数)current_imageが、新規に受け取られた入力テスト画像を指示するように作成される(ステップ201)。以前のように変数current_nodeは、現在処理されているノードを指示するために用いられうる。階層ツリーを通じた進みがこのルートノードで開始するため、current_nodeは、最初はルートノードにセットされる(ステップ203)。現在のノードがルートノードであるため、この第一反復においてはcurrent_nodeの下に少なくとも二つの子ノードがあると仮定される。便宜のために、current_nodeの下の二つの子ノードは、左の子ノードおよび右の子ノードとして識別されるが、current_nodeの下に二つ以上の子ノードがある場合には他の適切な命名規則が使用されうることを理解されたい。
ステップ205においては、current_imageが、その子ノードの各々に関連付けられたモデル画像と比較され、次の処理ステップは、current_imageと最も類似する(すなわち、より良くマッチする、またはより厳密に位置合わせされる)子ノードへ進む。本例では二つだけの子ノードが用いられると仮定されるので、current_imageが左の子ノードにより厳密にマッチすれば(ステップ205=LEFT)、階層ツリーを通じた進みは次のより低いレベルへ進み、current_nodeが左の子ノードにセットされる(ステップ207)。逆にcurrent_imageが右の子ノードにより厳密にマッチすれば(ステップ205=RIGHT)、階層ツリーを通じた進みは次のより低いレベルへ進むが、current_nodeは右の子ノードにセットされる(ステップ209)。
この時点で(ステップ211)、current_nodeがリーフノード(すなわち最下ノード)であるかが決定される。現在のノードがリーフノードでなければ(ステップ211=NO)、current_nodeのレベルの下に少なくとももう一つの階層レベルがあり、処理はステップ205に戻って、current_imageをcurrent_nodeの下の左および右の子ノードに関連付けられたモデル画像と比較する。しかし、現在のノードがリーフノードであれば(ステップ211=YES)、処理はステップ213へ進み、current_imageがcurrent_nodeに関連付けられたAAMに提示され、これにより関連付けられたAAMから出力される新規の位置合わせされた画像が作成される。
上で説明したように、新規の入力テスト画像の十分な位置合わせが達成された時を決定するための複数の方法がある。四つの方法(またはこれらの組み合わせ)が、図21〜24に関して上述される。第一の方法は、反復の数を5等の最大サイクル数に制限することであるが、実際には5〜10のサイクルが十分であることが分かっている。第二の方法は、ずれの最小許容可能程度を確立し、(現在のリーフノードのモデル画像との、あるいはルートノードのモデル画像との)ずれの最小許容可能程度が達成された時に階層ツリーを通じたサイクリングを終了することである。第三の方法は、現在の反復後に直前の反復と比較してずれのさらなる減少が達成されない時に階層ツリーを通じたサイクリングを終了することである。第四の方法は、リーフノードの関連付けられたAAMの、入力画像をうまく位置合わせしたかの決定を、さらなる反復を続行すべきかの決定に組み込むことである。これらの方法は組み合わせられて、合理的処理時間の中でいつ位置合わせが達成されたかのよりロバストな決定が行われうる。例示として、図28の例は、階層ツリーを通じた別のサイクルが正当化されるかの決定に最初の三つの方法を組み込んでいる。
ステップ215においては、階層ツリーを通じたサイクルの数が最大許容サイクル数に達しているかを決定する。達していれば(ステップ215=YES)、処理が終了し(ステップ219)、current_imageが、全体的な位置合わせされた画像として出力されうる。しかし、現在のサイクルカウントが最大数を上回っていなければ、処理はステップ221へ進む。
ステップ221においては、新規の位置合わせされた画像と現在のリーフノードの(またはルートノードの)モデル画像とのずれの程度が、所定の最大値のずれの程度と比較される。そのほうが大きければ(ステップ221=YES)、処理はステップ223へ続き、そうでなければ(ステップ221=NO)処理は終了し(ステップ219)、current_imageが全体的な位置合わせされた画像として出力されうる。
ステップ223においては、直前のサイクル以来、所定の最低限の位置合わせの改善が現在のサイクルにおいて達成されたかが決定される。最低限の改善が達成されていなければ(ステップ223=NO)、処理は終了し(ステップ219)、current_imageが全体的な位置合わせされた画像として出力されうる。しかし、最低限の改善が達成されていれば(ステップ223=YES)、ステップ217で、current_image変数が現在の新規の位置合わせされた画像を指示するように更新され、この新規のcurrent_imageがステップ203で階層ツリーの一番上に提示されて、階層ツリーを通じた新規のサイクルが開始される。
図29は、各リーフノード233の下の線および点のリストとして示される、より多くのトレーニング画像から構築された階層ツリーの別の例を示す(説明を簡単にするため、リーフノードのいくつかだけがラベル付けされている)。図23のケースのように、リーフノードごとに別々のAAMが構築される。本例では、階層ツリー231はmのリーフノードを有し、したがって、AAM1〜AAMmとして示されるmのAAMを有する。ルートノード235の下の任意のレベルにリーフノードが見られうるが、階層ツリー231は、ルートノード235の下に八レベルの深さを有する。
図23の階層ツリー139の場合のように、ツリー構造は自然に類似の顔を集める。したがって、AAM学習プロセスの間にサンプルトレーニング顔が集められて、各リーフノードで別々の特定化されたAAMがトレーニングされる。各リーフノードのAAMは、いくつかの共通の特有の特質(単数または複数)を有する対応するトレーニング画像のグループによってトレーニングされるため、特定化される。動作時には、入力テスト画像に最も厳密にマッチするAAMモデル画像を見つけるために階層ツリーが探索され、見つけられたAAMに入力テスト画像が提示される。結果として得られた位置合わせされた画像が、十分な位置合わせを達成しなければ、結果として得られた位置合わせされた画像が、継続した処理のため階層ツリーに新たに提示される。これには、階層ツリーを通した複数のサイクル探索が必要でありうる。任意に、抽出された顔テクスチャーまたはエラー画像を用いて、最も厳密にマッチするAAM顔モデルを識別しうる。
階層ツリー240の実際の探索の例示が、図30に示される。この例では、入力テスト画像241の全体的位置合わせ出力を達成するために三回の反復が必要である。第一の反復は、ルートノード251から六レベル下ってリーフノードLN1までのパスをたどり、その関連付けられたAAM(AAM_A)の適用により、第一中間の位置合わせされた画像243が生成される。第一中間の位置合わせされた画像243は十分な位置合わせを提供しないため、第一中間の位置合わせされた画像243が、第二の反復のためにルートノード251に提示される。
この第二の反復は、ルートノード251から五レベル下ってリーフノードNL2へのパスをたどり、その関連付けられたAAM(AAM_B)の適用により、第二中間の位置合わせされた画像245を生成する。再び、第二中間の位置合わせされた画像245は十分な位置合わせを提供しないため、第二中間の位置合わせされた画像245が、第三の反復のためにルートノード251に提示される。
この第三の反復は、ルートノード251から六レベル下ってリーフノードNL3へのパスをたどり、その関連付けられたAAM(AAM_C)の適用により、第三中間の位置合わせされた画像が生成される(図示せず)。この場合、第三中間の位置合わせされた画像は、十分な位置合わせの所定の基準を満たし、全体的位置合わせされた出力画像とみなされる。
本発明がいくつかの特定の実施形態とともに記載されているが、当業者には当然のことながら、前述の説明を考慮すれば多くのさらなる代替物、変形例およびバリエーションが明らかとなる。したがって本明細書に記載された本発明は、添付の請求項の範囲内で、全てのそのような代替物、変形例、適用およびバリエーションを包含することを企図する。
25…動的アピアランスモデルマシン、27…学習モジュール、29…位置合わせモジュール、31…トレーニングライブラリー、35…出力画像、81…真のサンプル、82…真でないサンプル、83…ライブラリー、90…処理ステージ。

Claims (29)

  1. 入力テスト画像におけるオブジェクトのクラスを認識するためのオブジェクト認識デバイスであって、
    前記オブジェクト認識デバイスは、
    前記入力テスト画像を受け取るための入力手段と、
    複数の動的アピアランスモデル処理(AAM)を行う手段であって、前記複数のAAMの各々が、独立したデジタルトレーニング画像の異なるグループによりトレーニングされており、トレーニング画像の全てのグループの各トレーニング画像が、前記オブジェクトのクラスの特有の特徴の共通の所定のセットが識別されラベル付けされた、前記オブジェクトのクラスの真の例を有し、トレーニング画像の各グループが、トレーニング画像の他のグループの前記特定の特質とは異なる選択された特有の特徴における特定の特質を共有することにより異なり、前記複数のAAMの各々が、それがトレーニングされる前記トレーニング画像のグループの前記特定の特質を反映する、対応するモデル画像および対応する統計モデルフィッティング関数を有する、手段と、
    データ処理モジュールと、を有し、
    前記データ処理モジュールは、
    (a)前記入力テスト画像をcurrent_imageとして定義するステップと、
    (b)前記current_imageを、前記複数のAAMの中から選択される選択されたAAMに適用するステップであり、前記選択されたAAMが、前記選択されないAAMに対応する前記モデル画像と比較して、前記current_imageに最も厳密にマッチする対応するモデル画像を有し、前記選択されたAAMが前記current_imageを処理して、中間の位置合わせされた画像を生成する、ステップと、
    (c)以下のIF文、THEN文およびELSE文によるステップと、を実施する、オブジェクト認識デバイス。
    (IF文)前記中間の位置合わせされた画像と所定のモデル画像とのずれの程度が、所定の最大程度より大きいなら、
    (THEN文)前記中間の位置合わせされた画像を前記current_imageとして定義し、ステップ(b)に戻り、
    (ELSE文)そうでなければ、前記中間の位置合わせされた画像を前記オブジェクトのクラスの成功した認識として出力するステップと、
  2. 前記ステップ(c)において、前記IF文の中で、前記所定のモデル画像は、前記選択されたAAMの対応するモデル画像である、請求項1に記載のオブジェクト認識デバイス。
  3. 前記ステップ(c)において、前記IF文の中で、前記所定のモデル画像は、前記複数のAAMの全てをトレーニングするために用いられるトレーニング画像の全ての前記グループの組み合わせから作成されるモデル画像である、請求項1に記載のオブジェクト認識デバイス。
  4. 前記ステップ(c)において、前記IF文が、
    AND IFステップ(b)が固定最大サイクルカウント未満実行されているなら、
    をさらに含む、請求項1に記載のオブジェクト認識デバイス。
  5. 前記ステップ(c)において、前記IF文が、
    AND IF前記ずれの程度が、ステップ(b)の直前の適用で得られた前記ずれの程度より小さいなら、
    をさらに含む、請求項1に記載のオブジェクト認識デバイス。
  6. 前記ステップ(b)において、前記選択されたAAMが、その反映される特定の特質が前記current_image上の同じ特質に最も厳密にマッチする統計モデルフィッティング関数を有する、請求項1に記載のオブジェクト認識デバイス。
  7. 前記ステップ(b)において、前記current_imageと前記選択されたAAMに対応する前記モデル画像とのずれの程度が、前記current_imageと前記複数のAAMのその他全てに対応する前記モデル画像とのずれの程度より小さい、請求項1に記載のオブジェクト認識デバイス。
  8. (A)前記複数のAAMの別々の一つが階層ツリーの対応する別々のリーフノードに一対一の関係で関連付けられた前記階層ツリーパスを通じて、前記複数のAAMがアクセス可能であり、前記階層ツリーが、
    (1)前記複数のAAMの全ての前記トレーニングにおいて使用される前記独立したトレーニング画像の全てを含むトレーニング画像の広範なライブラリーに関連付けられたルートノードと、
    (2)前記ルートノードから前記リーフノードの各々へ下方に向かう複数の階層レベルであり、各リーフノードが前記ルートノードから各リーフノードへのリンクパスの前記終端ノードであり、前記ルートノードから各リーフノードへの各リンクパスに沿った各内部ノードが、少なくとも左の子ノードと右の子ノードとを有する親ノードである、複数の階層レベルと、を有し、
    (3)前記広範なライブラリーが、前記ルートノードから各リーフノードへ下方に向かって進むにしたがい、トレーニング画像の複数のより小さなグループに段階的に分割され、リーフノードに関連付けられたトレーニング画像の各グループが、前記リーフノードの関連付けられたAAMの前記トレーニングにおいて使用される独立したトレーニング画像の前記異なるグループであり、
    (4)親ノードからその左の子ノードおよび右の子ノードへの各段階的な深さレベルの変化で、前記親ノードの関連付けられたトレーニング画像のグループが、前記トレーニング画像の特有の特徴の類似性にしたがって、左および右の子ノードにつき一つの、二つのより小さなグループに分割され、各より小さなグループが、その対応する子ノードに関連付けられ、
    (5)各子ノードが、それに関連付けられた前記トレーニング画像から作成される対応するノードモデル画像を有し、
    (B)前記ステップ(b)における前記複数のAAMの中からのAAMの前記選択が、
    (i)前記ルートノードをcurrent_nodeとして定義するステップと、
    (ii)前記current_imageが、前記current_nodeの右の子ノードよりも左の子ノードに関連付けられた前記ノードモデル画像により厳密にマッチするなら、前記current_nodeを前記左の子ノードとして再定義し、そうでなければ、前記current_nodeを前記右の子ノードとして再定義する、ステップと、
    (iii)前記current_nodeがリーフノードなら、前記current_nodeに関連付けられた前記AAMを選択して前記current_imageを受け取り、そうでなければ、ステップ(ii)に戻るステップと、を含む、請求項1に記載のオブジェクト認識デバイス。
  9. 前記複数のAAMの前記トレーニングが、
    (i)トレーニング画像の前記異なるグループの全ての前記独立したトレーニング画像の全てを含む広範なトレーニングライブラリーにアクセスするステップと、
    (ii)前記広範なトレーニングライブラリーの全てのトレーニング画像を、前記トレーニング画像の所定の特定の特有の特徴の類似性の程度にしたがって、階層ツリー構造に配置するステップであり、前記階層ツリー構造が、ルートノードと、複数の内部ノードと、複数のリーフノードとを有し、前記内部ノードが、前記ルートノードから各リーフノードへのリンクパスを定義し、前記リーフノードの数が、各リーフノードでの前記トレーニング画像の数が所定の最大数より大きくないように選択される、ステップと、
    (iii)各個別のリーフノードに関連付けられた前記トレーニング画像だけを使用してリーフノードごとに別々のAAMを作成するステップであり、こうして作成された前記AAMのコレクションが、前記複数の動的アピアランスモデル処理ブロック、AAMである、ステップと、を含む、請求項1に記載のオブジェクト認識デバイス。
  10. 前記ステップ(ii)が、
    (I)前記ルートノードを定義し、それに広範なトレーニングライブラリーの全体を関連付けるステップと、
    (II)前記ルートノードをcurrent_nodeとして定義するステップと、
    (III)メモリーポインターcurrent_node_depthを、前記ルートノードの前記ノード深さとして定義するステップと、
    (IV)必要に応じて、、子ノードを作成するために、前記current_nodeに処理シーケンスを適用するステップと、
    (V)前記current_node_depthの全てのノードが処理されていないなら、current_nodeをcurrent_node_depthで未処理の次のノードとして再定義し、ステップ(IV)に戻るステップと、
    (VI)前記current_node_depthの下の深さレベルに他のノードがあるなら、current_node_depthを前記次のより低い深さレベルにインクリメントし、current_nodeをcurrent_node_depthで未処理の次のノードとして再定義し、ステップ(IV)に戻るステップと、を含む、請求項9に記載のオブジェクト認識デバイス。
  11. 前記ステップ(IV)において、前記処理シーケンスが、
    前記current_nodeに関連付けられた前記トレーニング画像の数が、max_image_countより大きくないなら、
    前記current_nodeに関連付けられた前記トレーニング画像だけを使用してAAMを作成し、前記current_nodeをリーフノードとして定義し、前記作成されたAAMを前記current_nodeに関連付け、
    そうでなければ、
    前記current_nodeに関連付けられた前記トレーニング画像だけを使用してモデル画像を作成し、
    前記current_nodeの関連付けられたトレーニング画像を、その関連付けられたトレーニング画像の特有の特徴の類似性にしたがって、トレーニング画像の少なくとも第一および第二グループにサブ分割し、
    前記current_nodeの下にリンクされた第一子ノードを作成し、トレーニング画像の前記第一グループを前記第一子ノードに関連付け、
    前記current_nodeの下にリンクされた第二子ノードを作成し、
    トレーニング画像の前記第二グループを、前記第二子ノードに関連付ける、
    ステップを含む、請求項10に記載のオブジェクト認識デバイス。
  12. 入力テスト画像内のオブジェクトのクラスを認識するためにオブジェクト認識を実施する方法であって、
    前記入力テスト画像を受け取るステップと、
    複数の動的アピアランスモデル処理ブロック(AAM)を提供するステップであって、前記複数のAAMの各々が、独立したトレーニング画像の異なるグループによりトレーニングされており、トレーニング画像の全てのグループ内の各トレーニング画像が、前記オブジェクトのクラスの特有の特徴の共通の所定のセットが識別されラベル付けされた前記オブジェクトのクラスの真の例を有し、トレーニング画像の各グループが、トレーニング画像の他のグループの前記特定の特質とは異なる、選択された特有の特徴における特定の特質を共有することにより異なり、前記複数のAAMの各々が、トレーニングされるトレーニング画像の前記グループの前記特定の特質を反映する対応するモデル画像および対応する統計モデルフィッティング関数を有する、ステップと、
    以下のデータ処理ステップ(a)乃至(c)を実施するステップと、を有するオブジェクト認識を実施する方法。
    (a)前記入力テスト画像をcurrent_imageとして定義するステップと、
    (b)前記current_imageを前記複数のAAMの中から選択される選択されたAAMに適用するステップであり、前記選択されたAAMが、前記選択されないAAMに対応する前記モデル画像と比較して、前記current_imageに最も厳密にマッチする対応するモデル画像を有し、前記選択されたAAMが前記current_imageを処理して中間の位置合わせされた画像を生成する、ステップと、
    (c)以下のIF文、THEN文およびELSE文によるステップ。
    (IF文)前記中間の位置合わせされた画像と所定のモデル画像とのずれの程度が所定の最大程度より大きいなら、
    (THEN文)前記中間の位置合わせされた画像を前記current_imageとして定義し、ステップ(b)に戻り、
    (ELSE文)そうでなければ、前記中間の位置合わせされた画像を前記オブジェクトのクラスの成功した認識として出力するステップ。
  13. 前記ステップ(c)において、前記IF文の中で、前記所定のモデル画像が、前記選択されたAAMの対応するモデル画像である、請求項12に記載のオブジェクト認識を実施する方法。
  14. 前記ステップ(c)において、前記IF文の中で、前記所定のモデル画像が、前記複数のAAMの全てをトレーニングするために用いられるトレーニング画像の全ての前記グループの組み合わせから作成されるモデル画像である、請求項12に記載のオブジェクト認識を実施する方法。
  15. 前記ステップ(c)において、前記IF文が、
    AND IFステップ(b)が固定最大サイクルカウント未満実行されているなら、
    をさらに含む、請求項12に記載のオブジェクト認識を実施する方法。
  16. 前記ステップ(c)において、前記IF文が、
    AND IF前記ずれの程度が、ステップ(b)の直前の適用で得られた前記ずれの程度より小さいなら、
    をさらに含む、請求項12に記載のオブジェクト認識を実施する方法。
  17. 前記ステップ(b)において、前記選択されたAAMが、その反映される特定の特質が前記current_image上の同じ特質に最も厳密にマッチする統計モデルフィッティング関数を有する、請求項12に記載のオブジェクト認識を実施する方法。
  18. 前記ステップ(b)において、前記current_imageと前記選択されたAAMに対応する前記モデル画像とのずれの程度が、前記current_imageと前記複数のAAMのその他全てに対応する前記モデル画像とのずれの程度より小さい、請求項12に記載のオブジェクト認識を実施する方法。
  19. (A)前記複数のAAMの別々の一つが階層ツリーの対応する別々のリーフノードに一対一の関係で関連付けられた前記階層ツリーパスを通じて、前記複数のAAMがアクセス可能であり、前記階層ツリーが、
    (1)前記複数のAAMの全ての前記トレーニングにおいて使用される前記独立したトレーニング画像の全てを含むトレーニング画像の広範なライブラリーに関連付けられたルートノードと、
    (2)前記ルートノードから前記リーフノードの各々へ下方に向かう複数の階層レベルであり、各リーフノードが前記ルートノードから各リーフノードへのリンクパスの前記終端ノード(すなわち最下ノード)であり、前記ルートノードから各リーフノードへの各リンクパスに沿った各内部ノードが、左の子ノードと右の子ノードとを有する親ノードである、複数の階層レベルと、を有し、
    (3)前記広範なライブラリーが、前記ルートノードから各リーフノードへ下方に向かって進むにしたがい、トレーニング画像の複数のより小さなグループに段階的に分割され、リーフノードに関連付けられたトレーニング画像の各グループが、前記リーフノードの関連付けられたAAMの前記トレーニングにおいて使用される独立したトレーニング画像の前記異なるグループであり、
    (4)親ノードからその左の子ノードおよび右の子ノードへの各段階的な深さレベルの変化で、前記親ノードの関連付けられたトレーニング画像のグループが、前記トレーニング画像の特有の特徴の類似性にしたがって、左および右の子ノードにつき一つの、二つのより小さなグループに分割され、各より小さなグループが、その対応する子ノードに関連付けられ、
    (5)各子ノードが、それに関連付けられた前記トレーニング画像から作成される対応するノードモデル画像を有し、
    (B)前記ステップ(b)における前記複数のAAMの中からのAAMの前記選択が、
    (i)前記ルートノードをcurrent_nodeとして定義するステップと、
    (ii)前記current_imageが、前記current_nodeの右の子ノードよりも左の子ノードに関連付けられた前記ノードモデル画像により厳密にマッチするなら、前記current_nodeを前記左の子ノードとして再定義し、そうでなければ、前記current_nodeを前記右の子ノードとして再定義する、ステップと、
    (iii)前記current_nodeがリーフノードなら、前記current_nodeに関連付けられた前記AAMを選択して前記current_imageを受け取り、そうでなければ、ステップ(ii)に戻るステップと、を含む、請求項12に記載のオブジェクト認識を実施する方法。
  20. 前記複数のAAMの前記トレーニングが、
    (i)トレーニング画像の前記異なるグループの全ての前記独立したトレーニング画像の全てを含む広範なトレーニングライブラリーにアクセスするステップと、
    (ii)前記広範なトレーニングライブラリーの全てのトレーニング画像を、前記トレーニング画像の所定の特定の特有の特徴の類似性の程度にしたがって、階層ツリー構造に配置するステップであり、前記階層ツリー構造が、ルートノードと、複数の内部ノードと、複数のリーフノードとを有し、前記内部ノードが、前記ルートノードから各リーフノードへのリンクパスを定義し、前記リーフノードの数が、各リーフノードでの前記トレーニング画像の数が所定の最大数より大きくないように選択される、ステップと、
    (iii)各個別のリーフノードに関連付けられた前記トレーニング画像だけを使用してリーフノードごとに別々のAAMを作成するステップであり、こうして作成された前記AAMのコレクションが、前記複数の動的アピアランスモデル処理ブロック、AAMである、ステップと、を含む、請求項12に記載のオブジェクト認識を実施する方法。
  21. 前記ステップ(ii)が、
    (I)前記ルートノードを定義し、それに広範なトレーニングライブラリーの全体を関連付けるステップと、
    (II)前記ルートノードをcurrent_nodeとして定義するステップと、
    (III)メモリーポインターcurrent_node_depthを、前記ルートノードの前記ノード深さとして定義するステップと、
    (IV)必要に応じて、子ノードを作成するために、前記current_nodeに処理シーケンスを適用するステップと、
    (V)前記current_node_depthの全てのノードが処理されていないなら、current_nodeをcurrent_node_depthで未処理の次のノードとして再定義し、ステップ(IV)に戻るステップと、
    (VI)前記current_node_depthの下の深さレベルに他のノードがあるなら、current_node_depthを前記次のより低い深さレベルにインクリメントし、current_nodeをcurrent_node_depthで未処理の次のノードとして再定義し、ステップ(IV)に戻るステップと、を含む請求項20に記載のオブジェクト認識を実施する方法。
  22. 前記ステップ(IV)において、前記処理シーケンスが、
    前記current_nodeに関連付けられた前記トレーニング画像の数が、max_image_countより大きくないなら、または、if前記トレーニング画像の分散が所定の最大値より大きくないなら、if前記current_nodeに関連付けられた前記トレーニング画像の間の前記距離が、独立したトレーニング画像の前記異なるグループの全ての前記画像の前記平均の所定の最大値より大きくないなら、
    前記current_nodeに関連付けられた前記トレーニング画像だけを使用してAAMを作成し、前記current_nodeをリーフノードとして定義し、前記作成されたAAMを前記current_nodeに関連付け、
    そうでなければ、
    前記current_nodeに関連付けられた前記トレーニング画像だけを使用してモデル画像を作成し、
    前記current_nodeの関連付けられたトレーニング画像を、その関連付けられたトレーニング画像の特有の特徴の類似性にしたがって、トレーニング画像の第一および第二グループにサブ分割し、
    前記current_nodeの下にリンクされた第一子ノードを作成し、トレーニング画像の前記第一グループを前記第一子ノードに関連付け、
    前記current_nodeの下にリンクされた第二子ノードを作成し、トレーニング画像の前記第二グループを、前記第二子ノードに関連付ける、
    ステップを含む、請求項21に記載のオブジェクト認識を実施する方法。
  23. 入力テスト画像内のオブジェクトのクラスの認識のために動的アピアランスモデルを実施する方法であって、
    (i)複数の独立したトレーニング画像を含む広範なトレーニングライブラリーにアクセスするステップであり、各トレーニング画像が、前記オブジェクトのクラスの特有の特徴の共通の所定のセットが識別されラベル付けされた前記オブジェクトのクラスの真の例を有する、ステップと、
    (ii)前記広範なトレーニングライブラリーの全てのトレーニング画像を、前記トレーニング画像の所定の特定の特有の特徴の類似性にしたがって、階層ツリー構造に配置するステップであり、前記階層ツリー構造が、ルートノードと、複数の内部ノードと、複数のリーフノードとを有し、前記内部ノードが、前記ルートノードから各リーフノードへのリンクパスを定義し、前記ルートノードから各リーフノードへの各リンクパスに沿った各内部ノードが、左の子ノードと右の子ノードとを有する親ノードであり、前記階層ツリーの中の親ノードからその左の子ノードおよび右の子ノードへの各段階的な深さレベルの変化で、前記親ノードの関連付けられたトレーニング画像のグループが、前記トレーニング画像の特有の特徴の類似性にしたがって、左および右の子ノードにつき一つの、二つのより小さなグループに分割され、トレーニング画像の各より小さなグループが、その対応する子ノードに関連付けられ、各子ノードが、その関連付けられたトレーニング画像から作成される対応するノードモデル画像を有し、前記リーフノードの数が、各リーフノードでの前記トレーニング画像の数が所定の最大数より大きくないように選択され、各リーフノードの前記トレーニング画像が、他のリーフノードの前記トレーニング画像の前記特定の特質とは異なる、選択された特有の特徴における特定の特質を共有する、ステップと、
    (iii)各個別のリーフノードに関連付けられた前記トレーニング画像だけを使用して、各リーフノードにつき一つの複数の動的アピアランスモデル、AAMブロックを作成するステップであり、前記複数のAAMブロックの各々が、トレーニングされる前記トレーニング画像の前記特定の特質を反映する対応するモデル画像および対応する統計モデルフィッティング関数を有する、ステップと、
    (iv)以下の(a)乃至(c)を実施するステップと、を有する動的アピアランスモデルを実施する方法。
    (a)前記入力テスト画像をcurrent_imageとして定義するステップと、
    (b)前記current_imageを前記複数のAAMブロックの中から選択される選択されたAAMブロックに適用するステップであり、前記選択されたAAMブロックが、前記選択されないAAMブロックに対応する前記モデル画像と比較して、前記current_imageに最も厳密にマッチする対応するモデル画像を有し、前記選択されたAAMブロックが前記current_imageを処理して中間の位置合わせされた画像を生成する、ステップと、
    (c)以下のIF文、THEN文およびELSE文によるステップ。
    (IF文)前記中間の位置合わせされた画像と所定のモデル画像とのずれの程度が所定の最大程度より大きいなら、
    (THEN文)前記中間の位置合わせされた画像を前記current_imageとして定義し、ステップ(b)に戻り、
    (ELSE文)そうでなければ、前記中間の位置合わせされた画像を前記オブジェクトのクラスの成功した認識として出力するステップ。
  24. 前記ステップ(ii)が、
    (I)前記ルートノードを定義し、それに広範なトレーニングライブラリーの全体を関連付ける、ステップと、
    (II)前記ルートノードをcurrent_nodeとして定義するステップと、
    (III)メモリーポインターcurrent_node_depthを、前記ルートノードの前記ノード深さとして定義するステップと、
    (IV)必要に応じて、子ノードを作成するために、前記current_nodeに処理シーケンスを適用するステップと、
    (V)前記current_node_depthの全てのノードが処理されていないなら、current_nodeをcurrent_node_depthで未処理の次のノードとして再定義し、ステップ(IV)に戻る、ステップと、
    (VI)前記current_node_depthの下の深さレベルに他のノードがあるなら、current_node_depthを前記次のより低い深さレベルにインクリメントし、current_nodeを、current_node_depthで未処理の次のノードとして再定義し、ステップ(IV)に戻るステップと
    を含む、請求項23に記載の動的アピアランスモデルを実施する方法。
  25. 前記ステップ(IV)において、前記処理シーケンスが、
    前記current_nodeに関連付けられた前記トレーニング画像の数が、max_image_countより大きくないなら、
    前記current_nodeをリーフとして定義し、
    そうでなければ、
    前記current_nodeに関連付けられた前記トレーニング画像だけを使用してモデル画像を作成し、
    前記current_nodeの関連付けられたトレーニング画像を、その関連付けられたトレーニング画像の特有の特徴の類似性にしたがって、トレーニング画像の第一および第二グループにサブ分割し、
    前記current_nodeの下にリンクされた第一子ノードを作成し、トレーニング画像の前記第一グループを前記第一子ノードに関連付け、
    前記current_nodeの下にリンクされた第二子ノードを作成し、トレーニング画像の前記第二グループを、前記第二子ノードに関連付ける、
    ステップを含む、請求項24に記載の動的アピアランスモデルを実施する方法。
  26. 前記ステップ(c)において、前記IF文の中で、前記所定のモデル画像が、前記選択されたAAMブロックの対応するモデル画像である、請求項23に記載の動的アピアランスモデルを実施する方法。
  27. 前記ステップ(c)において、前記IF文の中で、前記所定のモデル画像が、前記複数のAAMブロックの全てをトレーニングするために用いられるトレーニング画像の全ての前記グループの組み合わせから作成されるモデル画像である、請求項23に記載の動的アピアランスモデルを実施する方法。
  28. 前記ステップ(c)において、前記IF文が、
    AND IFステップ(b)が固定最大サイクルカウント未満実行されているなら、
    をさらに含む、請求項23に記載の動的アピアランスモデルを実施する方法。
  29. 前記処理ステップ(b)において、前記選択されるAAMブロックが、以下のサブステップ(i)乃至(iii)に従って選択される請求項23に記載の動的アピアランスモデルを実施する方法。
    (i)前記ルートノードをcurrent_nodeとして定義するステップと、
    (ii)前記current_imageが、前記current_nodeの右の子ノードよりも左の子ノードに関連付けられた前記ノードモデル画像により厳密にマッチするなら、前記current_nodeを前記左の子ノードとして再定義し、そうでなければ、前記current_nodeを前記右の子ノードとして再定義する、ステップと、
    (iii)前記current_nodeがリーフノードなら、前記current_nodeに関連付けられた前記AAMブロックを選択して前記current_imageを受け取り、そうでなければ、サブステップ(ii)に戻るステップ。
JP2012007813A 2011-01-31 2012-01-18 オブジェクト認識デバイス、オブジェクト認識を実施する方法および動的アピアランスモデルを実施する方法 Pending JP2012160178A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/017,891 US8306257B2 (en) 2011-01-31 2011-01-31 Hierarchical tree AAM
US13/017,891 2011-01-31

Publications (1)

Publication Number Publication Date
JP2012160178A true JP2012160178A (ja) 2012-08-23

Family

ID=46577403

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012007813A Pending JP2012160178A (ja) 2011-01-31 2012-01-18 オブジェクト認識デバイス、オブジェクト認識を実施する方法および動的アピアランスモデルを実施する方法

Country Status (2)

Country Link
US (1) US8306257B2 (ja)
JP (1) JP2012160178A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016505298A (ja) * 2012-12-06 2016-02-25 シーメンス プロダクト ライフサイクル マネージメント ソフトウェアー インコーポレイテッドSiemens Product Lifecycle Management Software Inc. 空間コンテキストに基づく三次元イメージにおける多物体の自動的なセグメンテーション
JP2016170624A (ja) * 2015-03-12 2016-09-23 富士通株式会社 補正装置、補正方法および補正プログラム

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI444078B (zh) * 2011-08-12 2014-07-01 Nat Univ Tsing Hua 一種睡眠狀態與重新連線機制於網路系統與方法
KR101175597B1 (ko) * 2011-09-27 2012-08-21 (주)올라웍스 아다부스트 학습 알고리즘을 이용하여 얼굴 특징점 위치를 검출하기 위한 방법, 장치, 및 컴퓨터 판독 가능한 기록 매체
US20140050392A1 (en) * 2012-08-15 2014-02-20 Samsung Electronics Co., Ltd. Method and apparatus for detecting and tracking lips
US9111133B2 (en) * 2013-03-13 2015-08-18 Google Inc. Use of unknown user data for identifying known users
JP6051991B2 (ja) * 2013-03-21 2016-12-27 富士通株式会社 信号処理装置、信号処理方法、及び信号処理プログラム
US8958651B2 (en) * 2013-05-30 2015-02-17 Seiko Epson Corporation Tree-model-based stereo matching
CN106575365B (zh) 2014-02-28 2020-09-22 河谷控股Ip有限责任公司 对象识别特点分析系统和方法
WO2015197029A1 (zh) * 2014-06-27 2015-12-30 北京奇虎科技有限公司 一种人脸相似度识别方法和系统
US9275309B2 (en) * 2014-08-01 2016-03-01 TCL Research America Inc. System and method for rapid face recognition
US9589175B1 (en) 2014-09-30 2017-03-07 Amazon Technologies, Inc. Analyzing integral images with respect to Haar features
US9633250B2 (en) * 2015-09-21 2017-04-25 Mitsubishi Electric Research Laboratories, Inc. Method for estimating locations of facial landmarks in an image of a face using globally aligned regression
US10997462B2 (en) * 2018-04-04 2021-05-04 Canon Virginia, Inc. Devices, systems, and methods for clustering reference images for non-destructive testing
CN108614894B (zh) * 2018-05-10 2021-07-02 西南交通大学 一种基于最大生成树的人脸识别数据库构成方法
CN109934179B (zh) * 2019-03-18 2022-08-02 中南大学 基于自动特征选择和集成学习算法的人体动作识别方法
CN110198522B (zh) * 2019-06-14 2020-11-03 拉扎斯网络科技(上海)有限公司 数据传输的方法、装置、电子设备及计算机可读存储介质
US11477429B2 (en) * 2019-07-05 2022-10-18 Electronics And Telecommunications Research Institute Method for processing immersive video and method for producing immersive video
US11039676B2 (en) * 2019-07-21 2021-06-22 Shaobo Kuang System and method for selecting or recommending skincare, haircare, beauty or fashion products
CN114424212A (zh) * 2019-09-24 2022-04-29 谷歌有限责任公司 基于距离的学习置信度模型
US11379978B2 (en) 2020-07-14 2022-07-05 Canon Medical Systems Corporation Model training apparatus and method
CN114065877B (zh) * 2022-01-13 2022-06-10 易旺(北京)企业管理有限公司 茶田茶叶成熟度识别方法及设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7680330B2 (en) * 2003-11-14 2010-03-16 Fujifilm Corporation Methods and apparatus for object recognition using textons

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016505298A (ja) * 2012-12-06 2016-02-25 シーメンス プロダクト ライフサイクル マネージメント ソフトウェアー インコーポレイテッドSiemens Product Lifecycle Management Software Inc. 空間コンテキストに基づく三次元イメージにおける多物体の自動的なセグメンテーション
JP2016170624A (ja) * 2015-03-12 2016-09-23 富士通株式会社 補正装置、補正方法および補正プログラム

Also Published As

Publication number Publication date
US8306257B2 (en) 2012-11-06
US20120195495A1 (en) 2012-08-02

Similar Documents

Publication Publication Date Title
JP2012160178A (ja) オブジェクト認識デバイス、オブジェクト認識を実施する方法および動的アピアランスモデルを実施する方法
Valle et al. A deeply-initialized coarse-to-fine ensemble of regression trees for face alignment
Deng et al. The menpo benchmark for multi-pose 2d and 3d facial landmark localisation and tracking
JP6891351B2 (ja) 多特徴検索と変形に基づく人体髪型の生成方法
Cao et al. 3D aided duet GANs for multi-view face image synthesis
Dai et al. A 3d morphable model of craniofacial shape and texture variation
US7711156B2 (en) Apparatus and method for generating shape model of object and apparatus and method for automatically searching for feature points of object employing the same
Cheng et al. Exploiting effective facial patches for robust gender recognition
CN111339990B (zh) 一种基于人脸特征动态更新的人脸识别系统和方法
Danelakis et al. A survey on facial expression recognition in 3D video sequences
Valle et al. Face alignment using a 3D deeply-initialized ensemble of regression trees
WO2015180042A1 (en) Learning deep face representation
US8311319B2 (en) L1-optimized AAM alignment
Gogić et al. Regression-based methods for face alignment: A survey
CN110598638A (zh) 模型训练方法、人脸性别预测方法、设备及存储介质
US8144976B1 (en) Cascaded face model
CN110598595B (zh) 一种基于人脸关键点和姿态的多属性人脸生成算法
Zhou et al. Automatic landmark location with a combined active shape model
CN111144469B (zh) 基于多维关联时序分类神经网络的端到端多序列文本识别方法
Ke et al. SRN: Side-output residual network for object reflection symmetry detection and beyond
Paterson et al. 3D head tracking using non-linear optimization.
CN114627531A (zh) 一种基于人脸重构和Gabor遮挡字典的人脸识别方法
Jaiswal et al. Brief description of image based 3D face recognition methods
Hahmann et al. Combination of facial landmarks for robust eye localization using the Discriminative Generalized Hough Transform
Zamuner et al. A pose-adaptive constrained local model for accurate head pose tracking