(57)【要約】      （修正有）【課題】真のサンプル画像の広範で大きなライブラリーを用いてトレーニングする場合に、より高速な位置合わせプロセスを備えたＡＡＭを提供する。【解決手段】トレーニングライブラリーのトレーニング画像を、各親ノードのトレーニング画像が特有の特徴の類似性にしたがって二つの子ノードに分割された階層ツリーに配置することにより、動的アピアランスモデル（ＡＡＭ）が築かれる。各リーフノードの対応するトレーニング画像を使用して、リーフノードにつき一つのＡＡＭが構築される。動作時には、ルートノードから開始して、テスト画像が各親ノードの二つの子ノードと比較され、テスト画像に最も厳密にマッチするモデル画像のノードパスをたどる。テスト画像があるリーフノードに関連付けられることから選択されるＡＡＭに、テスト画像が提示される。選択されたＡＡＭの出力画像は、十分な位置合わせが達成されなければ、階層ツリーに再提示されうる。【選択図】図３
2012160178.tif 000002
【特許請求の範囲】
【請求項１】
入力テスト画像におけるオブジェクトのクラスを認識するためのオブジェクト認識デバイスであって、
前記オブジェクト認識デバイスは、
前記入力テスト画像を受け取るための入力手段と、
複数の動的アピアランスモデル処理（ＡＡＭ）を行う手段であって、前記複数のＡＡＭの各々が、独立したデジタルトレーニング画像の異なるグループによりトレーニングされており、トレーニング画像の全てのグループの各トレーニング画像が、前記オブジェクトのクラスの特有の特徴の共通の所定のセットが識別されラベル付けされた、前記オブジェクトのクラスの真の例を有し、トレーニング画像の各グループが、トレーニング画像の他のグループの前記特定の特質とは異なる選択された特有の特徴における特定の特質を共有することにより異なり、前記複数のＡＡＭの各々が、それがトレーニングされる前記トレーニング画像のグループの前記特定の特質を反映する、対応するモデル画像および対応する統計モデルフィッティング関数を有する、手段と、
データ処理モジュールと、を有し、
前記データ処理モジュールは、
（ａ）前記入力テスト画像をｃｕｒｒｅｎｔ＿ｉｍａｇｅとして定義するステップと、
（ｂ）前記ｃｕｒｒｅｎｔ＿ｉｍａｇｅを、前記複数のＡＡＭの中から選択される選択されたＡＡＭに適用するステップであり、前記選択されたＡＡＭが、前記選択されないＡＡＭに対応する前記モデル画像と比較して、前記ｃｕｒｒｅｎｔ＿ｉｍａｇｅに最も厳密にマッチする対応するモデル画像を有し、前記選択されたＡＡＭが前記ｃｕｒｒｅｎｔ＿ｉｍａｇｅを処理して、中間の位置合わせされた画像を生成する、ステップと、
（ｃ）以下のＩＦ文、ＴＨＥＮ文およびＥＬＳＥ文によるステップと、を実施する、オブジェクト認識デバイス。
（ＩＦ文）前記中間の位置合わせされた画像と所定のモデル画像とのずれの程度が、所定の最大程度より大きいなら、
（ＴＨＥＮ文）前記中間の位置合わせされた画像を前記ｃｕｒｒｅｎｔ＿ｉｍａｇｅとして定義し、ステップ（ｂ）に戻り、
（ＥＬＳＥ文）そうでなければ、前記中間の位置合わせされた画像を前記オブジェクトのクラスの成功した認識として出力するステップと、
【請求項２】
前記ステップ（ｃ）において、前記ＩＦ文の中で、前記所定のモデル画像は、前記選択されたＡＡＭの対応するモデル画像である、請求項１に記載のオブジェクト認識デバイス。
【請求項３】
前記ステップ（ｃ）において、前記ＩＦ文の中で、前記所定のモデル画像は、前記複数のＡＡＭの全てをトレーニングするために用いられるトレーニング画像の全ての前記グループの組み合わせから作成されるモデル画像である、請求項１に記載のオブジェクト認識デバイス。
【請求項４】
前記ステップ（ｃ）において、前記ＩＦ文が、
ＡＮＤ  ＩＦステップ（ｂ）が固定最大サイクルカウント未満実行されているなら、
をさらに含む、請求項１に記載のオブジェクト認識デバイス。
【請求項５】
前記ステップ（ｃ）において、前記ＩＦ文が、
ＡＮＤ  ＩＦ前記ずれの程度が、ステップ（ｂ）の直前の適用で得られた前記ずれの程度より小さいなら、
をさらに含む、請求項１に記載のオブジェクト認識デバイス。
【請求項６】
前記ステップ（ｂ）において、前記選択されたＡＡＭが、その反映される特定の特質が前記ｃｕｒｒｅｎｔ＿ｉｍａｇｅ上の同じ特質に最も厳密にマッチする統計モデルフィッティング関数を有する、請求項１に記載のオブジェクト認識デバイス。
【請求項７】
前記ステップ（ｂ）において、前記ｃｕｒｒｅｎｔ＿ｉｍａｇｅと前記選択されたＡＡＭに対応する前記モデル画像とのずれの程度が、前記ｃｕｒｒｅｎｔ＿ｉｍａｇｅと前記複数のＡＡＭのその他全てに対応する前記モデル画像とのずれの程度より小さい、請求項１に記載のオブジェクト認識デバイス。
【請求項８】
（Ａ）前記複数のＡＡＭの別々の一つが階層ツリーの対応する別々のリーフノードに一対一の関係で関連付けられた前記階層ツリーパスを通じて、前記複数のＡＡＭがアクセス可能であり、前記階層ツリーが、
（１）前記複数のＡＡＭの全ての前記トレーニングにおいて使用される前記独立したトレーニング画像の全てを含むトレーニング画像の広範なライブラリーに関連付けられたルートノードと、
（２）前記ルートノードから前記リーフノードの各々へ下方に向かう複数の階層レベルであり、各リーフノードが前記ルートノードから各リーフノードへのリンクパスの前記終端ノードであり、前記ルートノードから各リーフノードへの各リンクパスに沿った各内部ノードが、少なくとも左の子ノードと右の子ノードとを有する親ノードである、複数の階層レベルと、を有し、
（３）前記広範なライブラリーが、前記ルートノードから各リーフノードへ下方に向かって進むにしたがい、トレーニング画像の複数のより小さなグループに段階的に分割され、リーフノードに関連付けられたトレーニング画像の各グループが、前記リーフノードの関連付けられたＡＡＭの前記トレーニングにおいて使用される独立したトレーニング画像の前記異なるグループであり、
（４）親ノードからその左の子ノードおよび右の子ノードへの各段階的な深さレベルの変化で、前記親ノードの関連付けられたトレーニング画像のグループが、前記トレーニング画像の特有の特徴の類似性にしたがって、左および右の子ノードにつき一つの、二つのより小さなグループに分割され、各より小さなグループが、その対応する子ノードに関連付けられ、
（５）各子ノードが、それに関連付けられた前記トレーニング画像から作成される対応するノードモデル画像を有し、
（Ｂ）前記ステップ（ｂ）における前記複数のＡＡＭの中からのＡＡＭの前記選択が、
（ｉ）前記ルートノードをｃｕｒｒｅｎｔ＿ｎｏｄｅとして定義するステップと、
（ii）前記ｃｕｒｒｅｎｔ＿ｉｍａｇｅが、前記ｃｕｒｒｅｎｔ＿ｎｏｄｅの右の子ノードよりも左の子ノードに関連付けられた前記ノードモデル画像により厳密にマッチするなら、前記ｃｕｒｒｅｎｔ＿ｎｏｄｅを前記左の子ノードとして再定義し、そうでなければ、前記ｃｕｒｒｅｎｔ＿ｎｏｄｅを前記右の子ノードとして再定義する、ステップと、
（iii）前記ｃｕｒｒｅｎｔ＿ｎｏｄｅがリーフノードなら、前記ｃｕｒｒｅｎｔ＿ｎｏｄｅに関連付けられた前記ＡＡＭを選択して前記ｃｕｒｒｅｎｔ＿ｉｍａｇｅを受け取り、そうでなければ、ステップ（ii）に戻るステップと、を含む、請求項１に記載のオブジェクト認識デバイス。
【請求項９】
前記複数のＡＡＭの前記トレーニングが、
（ｉ）トレーニング画像の前記異なるグループの全ての前記独立したトレーニング画像の全てを含む広範なトレーニングライブラリーにアクセスするステップと、
（ii）前記広範なトレーニングライブラリーの全てのトレーニング画像を、前記トレーニング画像の所定の特定の特有の特徴の類似性の程度にしたがって、階層ツリー構造に配置するステップであり、前記階層ツリー構造が、ルートノードと、複数の内部ノードと、複数のリーフノードとを有し、前記内部ノードが、前記ルートノードから各リーフノードへのリンクパスを定義し、前記リーフノードの数が、各リーフノードでの前記トレーニング画像の数が所定の最大数より大きくないように選択される、ステップと、
（iii）各個別のリーフノードに関連付けられた前記トレーニング画像だけを使用してリーフノードごとに別々のＡＡＭを作成するステップであり、こうして作成された前記ＡＡＭのコレクションが、前記複数の動的アピアランスモデル処理ブロック、ＡＡＭである、ステップと、を含む、請求項１に記載のオブジェクト認識デバイス。
【請求項１０】
前記ステップ（ii）が、
（Ｉ）前記ルートノードを定義し、それに広範なトレーニングライブラリーの全体を関連付けるステップと、
（II）前記ルートノードをｃｕｒｒｅｎｔ＿ｎｏｄｅとして定義するステップと、
（III）メモリーポインターｃｕｒｒｅｎｔ＿ｎｏｄｅ＿ｄｅｐｔｈを、前記ルートノードの前記ノード深さとして定義するステップと、
（IV）必要に応じて、、子ノードを作成するために、前記ｃｕｒｒｅｎｔ＿ｎｏｄｅに処理シーケンスを適用するステップと、
（Ｖ）前記ｃｕｒｒｅｎｔ＿ｎｏｄｅ＿ｄｅｐｔｈの全てのノードが処理されていないなら、ｃｕｒｒｅｎｔ＿ｎｏｄｅをｃｕｒｒｅｎｔ＿ｎｏｄｅ＿ｄｅｐｔｈで未処理の次のノードとして再定義し、ステップ（IV）に戻るステップと、
（VI）前記ｃｕｒｒｅｎｔ＿ｎｏｄｅ＿ｄｅｐｔｈの下の深さレベルに他のノードがあるなら、ｃｕｒｒｅｎｔ＿ｎｏｄｅ＿ｄｅｐｔｈを前記次のより低い深さレベルにインクリメントし、ｃｕｒｒｅｎｔ＿ｎｏｄｅをｃｕｒｒｅｎｔ＿ｎｏｄｅ＿ｄｅｐｔｈで未処理の次のノードとして再定義し、ステップ（IV）に戻るステップと、を含む、請求項９に記載のオブジェクト認識デバイス。
【請求項１１】
前記ステップ（IV）において、前記処理シーケンスが、
前記ｃｕｒｒｅｎｔ＿ｎｏｄｅに関連付けられた前記トレーニング画像の数が、ｍａｘ＿ｉｍａｇｅ＿ｃｏｕｎｔより大きくないなら、
前記ｃｕｒｒｅｎｔ＿ｎｏｄｅに関連付けられた前記トレーニング画像だけを使用してＡＡＭを作成し、前記ｃｕｒｒｅｎｔ＿ｎｏｄｅをリーフノードとして定義し、前記作成されたＡＡＭを前記ｃｕｒｒｅｎｔ＿ｎｏｄｅに関連付け、
そうでなければ、
前記ｃｕｒｒｅｎｔ＿ｎｏｄｅに関連付けられた前記トレーニング画像だけを使用してモデル画像を作成し、
前記ｃｕｒｒｅｎｔ＿ｎｏｄｅの関連付けられたトレーニング画像を、その関連付けられたトレーニング画像の特有の特徴の類似性にしたがって、トレーニング画像の少なくとも第一および第二グループにサブ分割し、
前記ｃｕｒｒｅｎｔ＿ｎｏｄｅの下にリンクされた第一子ノードを作成し、トレーニング画像の前記第一グループを前記第一子ノードに関連付け、
前記ｃｕｒｒｅｎｔ＿ｎｏｄｅの下にリンクされた第二子ノードを作成し、
トレーニング画像の前記第二グループを、前記第二子ノードに関連付ける、
ステップを含む、請求項１０に記載のオブジェクト認識デバイス。
【請求項１２】
入力テスト画像内のオブジェクトのクラスを認識するためにオブジェクト認識を実施する方法であって、
前記入力テスト画像を受け取るステップと、
複数の動的アピアランスモデル処理ブロック（ＡＡＭ）を提供するステップであって、前記複数のＡＡＭの各々が、独立したトレーニング画像の異なるグループによりトレーニングされており、トレーニング画像の全てのグループ内の各トレーニング画像が、前記オブジェクトのクラスの特有の特徴の共通の所定のセットが識別されラベル付けされた前記オブジェクトのクラスの真の例を有し、トレーニング画像の各グループが、トレーニング画像の他のグループの前記特定の特質とは異なる、選択された特有の特徴における特定の特質を共有することにより異なり、前記複数のＡＡＭの各々が、トレーニングされるトレーニング画像の前記グループの前記特定の特質を反映する対応するモデル画像および対応する統計モデルフィッティング関数を有する、ステップと、
以下のデータ処理ステップ（ａ）乃至（ｃ）を実施するステップと、を有するオブジェクト認識を実施する方法。
（ａ）前記入力テスト画像をｃｕｒｒｅｎｔ＿ｉｍａｇｅとして定義するステップと、
（ｂ）前記ｃｕｒｒｅｎｔ＿ｉｍａｇｅを前記複数のＡＡＭの中から選択される選択されたＡＡＭに適用するステップであり、前記選択されたＡＡＭが、前記選択されないＡＡＭに対応する前記モデル画像と比較して、前記ｃｕｒｒｅｎｔ＿ｉｍａｇｅに最も厳密にマッチする対応するモデル画像を有し、前記選択されたＡＡＭが前記ｃｕｒｒｅｎｔ＿ｉｍａｇｅを処理して中間の位置合わせされた画像を生成する、ステップと、
（ｃ）以下のＩＦ文、ＴＨＥＮ文およびＥＬＳＥ文によるステップ。
（ＩＦ文）前記中間の位置合わせされた画像と所定のモデル画像とのずれの程度が所定の最大程度より大きいなら、
（ＴＨＥＮ文）前記中間の位置合わせされた画像を前記ｃｕｒｒｅｎｔ＿ｉｍａｇｅとして定義し、ステップ（ｂ）に戻り、
（ＥＬＳＥ文）そうでなければ、前記中間の位置合わせされた画像を前記オブジェクトのクラスの成功した認識として出力するステップ。
【請求項１３】
前記ステップ（ｃ）において、前記ＩＦ文の中で、前記所定のモデル画像が、前記選択されたＡＡＭの対応するモデル画像である、請求項１２に記載のオブジェクト認識を実施する方法。
【請求項１４】
前記ステップ（ｃ）において、前記ＩＦ文の中で、前記所定のモデル画像が、前記複数のＡＡＭの全てをトレーニングするために用いられるトレーニング画像の全ての前記グループの組み合わせから作成されるモデル画像である、請求項１２に記載のオブジェクト認識を実施する方法。
【請求項１５】
前記ステップ（ｃ）において、前記ＩＦ文が、
ＡＮＤ  ＩＦステップ（ｂ）が固定最大サイクルカウント未満実行されているなら、
をさらに含む、請求項１２に記載のオブジェクト認識を実施する方法。
【請求項１６】
前記ステップ（ｃ）において、前記ＩＦ文が、
ＡＮＤ  ＩＦ前記ずれの程度が、ステップ（ｂ）の直前の適用で得られた前記ずれの程度より小さいなら、
をさらに含む、請求項１２に記載のオブジェクト認識を実施する方法。
【請求項１７】
前記ステップ（ｂ）において、前記選択されたＡＡＭが、その反映される特定の特質が前記ｃｕｒｒｅｎｔ＿ｉｍａｇｅ上の同じ特質に最も厳密にマッチする統計モデルフィッティング関数を有する、請求項１２に記載のオブジェクト認識を実施する方法。
【請求項１８】
前記ステップ（ｂ）において、前記ｃｕｒｒｅｎｔ＿ｉｍａｇｅと前記選択されたＡＡＭに対応する前記モデル画像とのずれの程度が、前記ｃｕｒｒｅｎｔ＿ｉｍａｇｅと前記複数のＡＡＭのその他全てに対応する前記モデル画像とのずれの程度より小さい、請求項１２に記載のオブジェクト認識を実施する方法。
【請求項１９】
（Ａ）前記複数のＡＡＭの別々の一つが階層ツリーの対応する別々のリーフノードに一対一の関係で関連付けられた前記階層ツリーパスを通じて、前記複数のＡＡＭがアクセス可能であり、前記階層ツリーが、
（１）前記複数のＡＡＭの全ての前記トレーニングにおいて使用される前記独立したトレーニング画像の全てを含むトレーニング画像の広範なライブラリーに関連付けられたルートノードと、
（２）前記ルートノードから前記リーフノードの各々へ下方に向かう複数の階層レベルであり、各リーフノードが前記ルートノードから各リーフノードへのリンクパスの前記終端ノード（すなわち最下ノード）であり、前記ルートノードから各リーフノードへの各リンクパスに沿った各内部ノードが、左の子ノードと右の子ノードとを有する親ノードである、複数の階層レベルと、を有し、
（３）前記広範なライブラリーが、前記ルートノードから各リーフノードへ下方に向かって進むにしたがい、トレーニング画像の複数のより小さなグループに段階的に分割され、リーフノードに関連付けられたトレーニング画像の各グループが、前記リーフノードの関連付けられたＡＡＭの前記トレーニングにおいて使用される独立したトレーニング画像の前記異なるグループであり、
（４）親ノードからその左の子ノードおよび右の子ノードへの各段階的な深さレベルの変化で、前記親ノードの関連付けられたトレーニング画像のグループが、前記トレーニング画像の特有の特徴の類似性にしたがって、左および右の子ノードにつき一つの、二つのより小さなグループに分割され、各より小さなグループが、その対応する子ノードに関連付けられ、
（５）各子ノードが、それに関連付けられた前記トレーニング画像から作成される対応するノードモデル画像を有し、
（Ｂ）前記ステップ（ｂ）における前記複数のＡＡＭの中からのＡＡＭの前記選択が、
（ｉ）前記ルートノードをｃｕｒｒｅｎｔ＿ｎｏｄｅとして定義するステップと、
（ii）前記ｃｕｒｒｅｎｔ＿ｉｍａｇｅが、前記ｃｕｒｒｅｎｔ＿ｎｏｄｅの右の子ノードよりも左の子ノードに関連付けられた前記ノードモデル画像により厳密にマッチするなら、前記ｃｕｒｒｅｎｔ＿ｎｏｄｅを前記左の子ノードとして再定義し、そうでなければ、前記ｃｕｒｒｅｎｔ＿ｎｏｄｅを前記右の子ノードとして再定義する、ステップと、
（iii）前記ｃｕｒｒｅｎｔ＿ｎｏｄｅがリーフノードなら、前記ｃｕｒｒｅｎｔ＿ｎｏｄｅに関連付けられた前記ＡＡＭを選択して前記ｃｕｒｒｅｎｔ＿ｉｍａｇｅを受け取り、そうでなければ、ステップ（ii）に戻るステップと、を含む、請求項１２に記載のオブジェクト認識を実施する方法。
【請求項２０】
前記複数のＡＡＭの前記トレーニングが、
（ｉ）トレーニング画像の前記異なるグループの全ての前記独立したトレーニング画像の全てを含む広範なトレーニングライブラリーにアクセスするステップと、
（ii）前記広範なトレーニングライブラリーの全てのトレーニング画像を、前記トレーニング画像の所定の特定の特有の特徴の類似性の程度にしたがって、階層ツリー構造に配置するステップであり、前記階層ツリー構造が、ルートノードと、複数の内部ノードと、複数のリーフノードとを有し、前記内部ノードが、前記ルートノードから各リーフノードへのリンクパスを定義し、前記リーフノードの数が、各リーフノードでの前記トレーニング画像の数が所定の最大数より大きくないように選択される、ステップと、
（iii）各個別のリーフノードに関連付けられた前記トレーニング画像だけを使用してリーフノードごとに別々のＡＡＭを作成するステップであり、こうして作成された前記ＡＡＭのコレクションが、前記複数の動的アピアランスモデル処理ブロック、ＡＡＭである、ステップと、を含む、請求項１２に記載のオブジェクト認識を実施する方法。
【請求項２１】
前記ステップ（ii）が、
（Ｉ）前記ルートノードを定義し、それに広範なトレーニングライブラリーの全体を関連付けるステップと、
（II）前記ルートノードをｃｕｒｒｅｎｔ＿ｎｏｄｅとして定義するステップと、
（III）メモリーポインターｃｕｒｒｅｎｔ＿ｎｏｄｅ＿ｄｅｐｔｈを、前記ルートノードの前記ノード深さとして定義するステップと、
（IV）必要に応じて、子ノードを作成するために、前記ｃｕｒｒｅｎｔ＿ｎｏｄｅに処理シーケンスを適用するステップと、
（Ｖ）前記ｃｕｒｒｅｎｔ＿ｎｏｄｅ＿ｄｅｐｔｈの全てのノードが処理されていないなら、ｃｕｒｒｅｎｔ＿ｎｏｄｅをｃｕｒｒｅｎｔ＿ｎｏｄｅ＿ｄｅｐｔｈで未処理の次のノードとして再定義し、ステップ（IV）に戻るステップと、
（VI）前記ｃｕｒｒｅｎｔ＿ｎｏｄｅ＿ｄｅｐｔｈの下の深さレベルに他のノードがあるなら、ｃｕｒｒｅｎｔ＿ｎｏｄｅ＿ｄｅｐｔｈを前記次のより低い深さレベルにインクリメントし、ｃｕｒｒｅｎｔ＿ｎｏｄｅをｃｕｒｒｅｎｔ＿ｎｏｄｅ＿ｄｅｐｔｈで未処理の次のノードとして再定義し、ステップ（IV）に戻るステップと、を含む請求項２０に記載のオブジェクト認識を実施する方法。
【請求項２２】
前記ステップ（IV）において、前記処理シーケンスが、
前記ｃｕｒｒｅｎｔ＿ｎｏｄｅに関連付けられた前記トレーニング画像の数が、ｍａｘ＿ｉｍａｇｅ＿ｃｏｕｎｔより大きくないなら、または、ｉｆ前記トレーニング画像の分散が所定の最大値より大きくないなら、ｉｆ前記ｃｕｒｒｅｎｔ＿ｎｏｄｅに関連付けられた前記トレーニング画像の間の前記距離が、独立したトレーニング画像の前記異なるグループの全ての前記画像の前記平均の所定の最大値より大きくないなら、
前記ｃｕｒｒｅｎｔ＿ｎｏｄｅに関連付けられた前記トレーニング画像だけを使用してＡＡＭを作成し、前記ｃｕｒｒｅｎｔ＿ｎｏｄｅをリーフノードとして定義し、前記作成されたＡＡＭを前記ｃｕｒｒｅｎｔ＿ｎｏｄｅに関連付け、
そうでなければ、
前記ｃｕｒｒｅｎｔ＿ｎｏｄｅに関連付けられた前記トレーニング画像だけを使用してモデル画像を作成し、
前記ｃｕｒｒｅｎｔ＿ｎｏｄｅの関連付けられたトレーニング画像を、その関連付けられたトレーニング画像の特有の特徴の類似性にしたがって、トレーニング画像の第一および第二グループにサブ分割し、
前記ｃｕｒｒｅｎｔ＿ｎｏｄｅの下にリンクされた第一子ノードを作成し、トレーニング画像の前記第一グループを前記第一子ノードに関連付け、
前記ｃｕｒｒｅｎｔ＿ｎｏｄｅの下にリンクされた第二子ノードを作成し、トレーニング画像の前記第二グループを、前記第二子ノードに関連付ける、
ステップを含む、請求項２１に記載のオブジェクト認識を実施する方法。
【請求項２３】
入力テスト画像内のオブジェクトのクラスの認識のために動的アピアランスモデルを実施する方法であって、
（ｉ）複数の独立したトレーニング画像を含む広範なトレーニングライブラリーにアクセスするステップであり、各トレーニング画像が、前記オブジェクトのクラスの特有の特徴の共通の所定のセットが識別されラベル付けされた前記オブジェクトのクラスの真の例を有する、ステップと、
（ii）前記広範なトレーニングライブラリーの全てのトレーニング画像を、前記トレーニング画像の所定の特定の特有の特徴の類似性にしたがって、階層ツリー構造に配置するステップであり、前記階層ツリー構造が、ルートノードと、複数の内部ノードと、複数のリーフノードとを有し、前記内部ノードが、前記ルートノードから各リーフノードへのリンクパスを定義し、前記ルートノードから各リーフノードへの各リンクパスに沿った各内部ノードが、左の子ノードと右の子ノードとを有する親ノードであり、前記階層ツリーの中の親ノードからその左の子ノードおよび右の子ノードへの各段階的な深さレベルの変化で、前記親ノードの関連付けられたトレーニング画像のグループが、前記トレーニング画像の特有の特徴の類似性にしたがって、左および右の子ノードにつき一つの、二つのより小さなグループに分割され、トレーニング画像の各より小さなグループが、その対応する子ノードに関連付けられ、各子ノードが、その関連付けられたトレーニング画像から作成される対応するノードモデル画像を有し、前記リーフノードの数が、各リーフノードでの前記トレーニング画像の数が所定の最大数より大きくないように選択され、各リーフノードの前記トレーニング画像が、他のリーフノードの前記トレーニング画像の前記特定の特質とは異なる、選択された特有の特徴における特定の特質を共有する、ステップと、
（iii）各個別のリーフノードに関連付けられた前記トレーニング画像だけを使用して、各リーフノードにつき一つの複数の動的アピアランスモデル、ＡＡＭブロックを作成するステップであり、前記複数のＡＡＭブロックの各々が、トレーニングされる前記トレーニング画像の前記特定の特質を反映する対応するモデル画像および対応する統計モデルフィッティング関数を有する、ステップと、
（iv）以下の（ａ）乃至（ｃ）を実施するステップと、を有する動的アピアランスモデルを実施する方法。
（ａ）前記入力テスト画像をｃｕｒｒｅｎｔ＿ｉｍａｇｅとして定義するステップと、
（ｂ）前記ｃｕｒｒｅｎｔ＿ｉｍａｇｅを前記複数のＡＡＭブロックの中から選択される選択されたＡＡＭブロックに適用するステップであり、前記選択されたＡＡＭブロックが、前記選択されないＡＡＭブロックに対応する前記モデル画像と比較して、前記ｃｕｒｒｅｎｔ＿ｉｍａｇｅに最も厳密にマッチする対応するモデル画像を有し、前記選択されたＡＡＭブロックが前記ｃｕｒｒｅｎｔ＿ｉｍａｇｅを処理して中間の位置合わせされた画像を生成する、ステップと、
（ｃ）以下のＩＦ文、ＴＨＥＮ文およびＥＬＳＥ文によるステップ。
（ＩＦ文）前記中間の位置合わせされた画像と所定のモデル画像とのずれの程度が所定の最大程度より大きいなら、
（ＴＨＥＮ文）前記中間の位置合わせされた画像を前記ｃｕｒｒｅｎｔ＿ｉｍａｇｅとして定義し、ステップ（ｂ）に戻り、
（ＥＬＳＥ文）そうでなければ、前記中間の位置合わせされた画像を前記オブジェクトのクラスの成功した認識として出力するステップ。
【請求項２４】
前記ステップ（ii）が、
（Ｉ）前記ルートノードを定義し、それに広範なトレーニングライブラリーの全体を関連付ける、ステップと、
（II）前記ルートノードをｃｕｒｒｅｎｔ＿ｎｏｄｅとして定義するステップと、
（III）メモリーポインターｃｕｒｒｅｎｔ＿ｎｏｄｅ＿ｄｅｐｔｈを、前記ルートノードの前記ノード深さとして定義するステップと、
（IV）必要に応じて、子ノードを作成するために、前記ｃｕｒｒｅｎｔ＿ｎｏｄｅに処理シーケンスを適用するステップと、
（Ｖ）前記ｃｕｒｒｅｎｔ＿ｎｏｄｅ＿ｄｅｐｔｈの全てのノードが処理されていないなら、ｃｕｒｒｅｎｔ＿ｎｏｄｅをｃｕｒｒｅｎｔ＿ｎｏｄｅ＿ｄｅｐｔｈで未処理の次のノードとして再定義し、ステップ（IV）に戻る、ステップと、
（VI）前記ｃｕｒｒｅｎｔ＿ｎｏｄｅ＿ｄｅｐｔｈの下の深さレベルに他のノードがあるなら、ｃｕｒｒｅｎｔ＿ｎｏｄｅ＿ｄｅｐｔｈを前記次のより低い深さレベルにインクリメントし、ｃｕｒｒｅｎｔ＿ｎｏｄｅを、ｃｕｒｒｅｎｔ＿ｎｏｄｅ＿ｄｅｐｔｈで未処理の次のノードとして再定義し、ステップ（IV）に戻るステップと
を含む、請求項２３に記載の動的アピアランスモデルを実施する方法。
【請求項２５】
前記ステップ（IV）において、前記処理シーケンスが、
前記ｃｕｒｒｅｎｔ＿ｎｏｄｅに関連付けられた前記トレーニング画像の数が、ｍａｘ＿ｉｍａｇｅ＿ｃｏｕｎｔより大きくないなら、
前記ｃｕｒｒｅｎｔ＿ｎｏｄｅをリーフとして定義し、
そうでなければ、
前記ｃｕｒｒｅｎｔ＿ｎｏｄｅに関連付けられた前記トレーニング画像だけを使用してモデル画像を作成し、
前記ｃｕｒｒｅｎｔ＿ｎｏｄｅの関連付けられたトレーニング画像を、その関連付けられたトレーニング画像の特有の特徴の類似性にしたがって、トレーニング画像の第一および第二グループにサブ分割し、
前記ｃｕｒｒｅｎｔ＿ｎｏｄｅの下にリンクされた第一子ノードを作成し、トレーニング画像の前記第一グループを前記第一子ノードに関連付け、
前記ｃｕｒｒｅｎｔ＿ｎｏｄｅの下にリンクされた第二子ノードを作成し、トレーニング画像の前記第二グループを、前記第二子ノードに関連付ける、
ステップを含む、請求項２４に記載の動的アピアランスモデルを実施する方法。
【請求項２６】
前記ステップ（ｃ）において、前記ＩＦ文の中で、前記所定のモデル画像が、前記選択されたＡＡＭブロックの対応するモデル画像である、請求項２３に記載の動的アピアランスモデルを実施する方法。
【請求項２７】
前記ステップ（ｃ）において、前記ＩＦ文の中で、前記所定のモデル画像が、前記複数のＡＡＭブロックの全てをトレーニングするために用いられるトレーニング画像の全ての前記グループの組み合わせから作成されるモデル画像である、請求項２３に記載の動的アピアランスモデルを実施する方法。
【請求項２８】
前記ステップ（ｃ）において、前記ＩＦ文が、
ＡＮＤ  ＩＦステップ（ｂ）が固定最大サイクルカウント未満実行されているなら、
をさらに含む、請求項２３に記載の動的アピアランスモデルを実施する方法。
【請求項２９】
前記処理ステップ（ｂ）において、前記選択されるＡＡＭブロックが、以下のサブステップ（ｉ）乃至（iii）に従って選択される請求項２３に記載の動的アピアランスモデルを実施する方法。
（ｉ）前記ルートノードをｃｕｒｒｅｎｔ＿ｎｏｄｅとして定義するステップと、
（ii）前記ｃｕｒｒｅｎｔ＿ｉｍａｇｅが、前記ｃｕｒｒｅｎｔ＿ｎｏｄｅの右の子ノードよりも左の子ノードに関連付けられた前記ノードモデル画像により厳密にマッチするなら、前記ｃｕｒｒｅｎｔ＿ｎｏｄｅを前記左の子ノードとして再定義し、そうでなければ、前記ｃｕｒｒｅｎｔ＿ｎｏｄｅを前記右の子ノードとして再定義する、ステップと、
（iii）前記ｃｕｒｒｅｎｔ＿ｎｏｄｅがリーフノードなら、前記ｃｕｒｒｅｎｔ＿ｎｏｄｅに関連付けられた前記ＡＡＭブロックを選択して前記ｃｕｒｒｅｎｔ＿ｉｍａｇｅを受け取り、そうでなければ、サブステップ（ii）に戻るステップ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は動的アピアランスモデル（ａｃｔｉｖｅ  ａｐｐｅａｒａｎｃｅ  ｍｏｄｅｌ）すなわちＡＡＭマシンおよび方法に関する。より具体的には、トレーニングフェーズが、一つの大きなＡＡＭとは対照的に複数の小さなＡＡＭの使用により入力テスト画像をより速く位置合わせできる複数のより小さなＡＡＭを作成し、オブジェクトのクラスの外れ値の真の例へのより良いサポートを提供することによって通常よりも大きな範囲の入力テスト画像を位置合わせすることがさらに可能である、ＡＡＭアプローチに関する。
【背景技術】
【０００２】
コンピュータービジョンの分野においては、画像が取り込まれるだけでなく、コンピューターが取込画像内の様々な特徴を識別しラベル付けできることが一般に望ましい。基本的に、コンピュータービジョンの目標は、コンピューターが、取込画像のコンテンツを「理解する」ことである。
【０００３】
取込画像内の特徴識別のための様々なアプローチが公知である。初期のアプローチは、形状を識別する概念に集中した。例えば、レンチまたはレンチの一種等の特定のアイテムを識別することが目標であれば、様々な種類の許容可能なレンチのライブラリー（すなわち「真の」レンチの画像として定義される「真の例」）が作成される。これらの真の例の中のレンチの輪郭形状が格納され、取込画像に対して許容可能な形状の探索が実行される。この形状探索のアプローチは、許容可能な形状の網羅的なライブラリーを有し、ライブラリーが大きすぎず、取込画像の対象が予め定義された真の形状から逸脱しない場合に成功した。
【０００４】
しかし、複雑な探索ではこのアプローチは有効でない。このアプローチの限界は、画像内で探索されている対象が静止しておらず、変化しやすい場合に、直ちに明らかになる。例えば、人間の顔は明確な特性を有するが、それがとりうる容易に定義可能な数の形状および／またはアピアランスを有しない。アピアランスという用語は、本明細書において、オブジェクト全体の色および／または明度差や光源の差、ならびに他の表面／テクスチャーの相違をさすために用いられることを理解されたい。人間の顔を理解する難しさは、人生の通常の過程で感情、表情、話し方、年齢などの変化により、形状の歪みおよび／またはアピアランスの変化を生じやすいことを考慮すると、さらに深刻になる。人間の顔およびその多くのバリエーションの網羅的なライブラリーをコンパイルすることが実際上不可能であることは、自明である。
【０００５】
人間の顔等、形状およびアピアランスが変化するオブジェクトの画像認識における最近の開発は、Ｔ．Ｆ．ＣｏｏｔｅｓおよびＣ．Ｊ．Ｔａｙｌｏｒによる“Ｓｔａｔｉｓｔｉｃａｌ  Ｍｏｄｅｌｓ  ｏｆ  Ａｐｐｅａｒａｎｃｅ  ｆｏｒ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ”，（以下にＣｏｏｔｅｓ等），Ｉｍａｇｉｎｇ  Ｓｃｉｅｎｃｅ  ａｎｄ  Ｂｉｏｍｅｄｉｃａｌ  Ｅｎｇｉｎｅｅｒｉｎｇ，Ｕｎｉｖｅｒｓｉｔｙ  ｏｆ  Ｍａｎｃｈｅｓｔｅｒ，Ｍａｎｃｈｅｓｔｅｒ  Ｍ１３  ９ＰＴ，Ｕ．Ｋ．ｅｍａｉｌ：ｔ．ｃｏｏｔｅｓ＠ｍａｎ．ａｃ．ｕｋ，ｈｔｔｐ：／／ｗｗｗ．ｉｓｂｅ．ｍａｎ．ａｃ．ｕｋ，Ｍａｒｃｈ  ８，２００４中に論じられており、参照により全体として本明細書に組み込まれる。
【０００６】
Ｃｏｏｔｅｓ等は、機械が「見る」ものについて理解できるためには、画像されている予想の構造を記述しラベル付けするモデルを活用しなければならないと説明する。過去には、モデルベースのビジョンが人工オブジェクトの画像にうまく適用されているが、その使用は、複雑で変動する傾向のある自然の対象の画像を解釈する際により困難であると判明している。主な問題は、検査対象の変動性である。有用であるためにはモデルが特定される必要がある、すなわちモデル化対象の真の例だけを表さなればならない。しかし、変動するオブジェクトを識別するためには、モデルが一般的であり、それが表すオブジェクトのクラスの任意のもっともらしい真の例を表すことが必要である。
【０００７】
最近の開発は、この明白な矛盾が、形状およびアピアランスの変動性の特定のパターンを取り込める統計モデルにより対処されうることを示している。これらの統計モデルを画像解釈において直接用いうることが、さらに示されている。
【０００８】
静的にモデルの適用を促進するために、解釈される対象が、典型的にクラスに分けられる。これにより、統計解析が特定のクラスの特性の事前知識を用いてその識別およびラベル付けを促進し、構造的複雑さ、ノイズ、または欠測データにより生じる混乱を克服することも可能になる。
【０００９】
加えて、取込画像内の識別およびラベル付けされた対象のさらなる処理を促進するために、識別された対象が、探索されているオブジェクトのクラスの「モデル」または「正規」形状に変形される（すなわちフィッティングされる）ことが有益である。このモデルまたは正規形状は、所定の形状およびサイズであり、所定の形状内の所定の位置での特有の特徴を識別するラベルの情報または一覧表を有するのが好ましい。例えば、人間の顔は大幅に変動しうるが、標準形状およびサイズに適合されうる。標準形状およびサイズに適合されてから、変形された顔がさらに処理されて、表情、視線方向、顔が帰属する個体などが決定されうる。
【００１０】
このタイプの位置合わせを使用する方法が、動的形状モデル（ａｃｔｉｖｅ  ｓｈａｐｅ  ｍｏｄｅｌ）である。図１に関して、動的形状モデルは、所定の顔モデル１Ａおよび各々が対応する変形制約を有する所定の変形パラメーターのリストを使用して、顔モデルを伸長させ、対象画像２との位置合わせを試みるように移動させうる。同等に、所定の変形パラメーターのリストが対象画像２に適用され、顔モデル１Ａとの位置合わせを試みるように移動および変形させうる。この代替的アプローチは、対象画像２が顔モデル１Ａに位置合わせされるとともに、同時に顔モデル１Ａの形状およびサイズにフィッティングされるという付加的利点を有する。したがって、位置合わせが完了すると、フィッティングされた画像は既にさらなる処理に好適な状態になっている。
【００１１】
説明のため、図１は、顔モデル１Ａが対象顔２にフィッティングされているのを示す。図１の例は、説明のために誇張されたケースである。典型的な顔モデル１Ａは、その中の他のポイントに対して、その許容可能な変形ポイントに関する制約を有することとなることを理解されたい。例えば、顔モデルを位置合わせすることが、左目を１インチ上に移動させ、右目を１インチ下に移動させることを意味する場合は、結果として得られる位置合わせされた画像は、おそらく人間の顔ではないと思われ、したがってそのような変形は典型的に許容可能でない。
【００１２】
図１の例においては、顔モデル１Ａが、画像３に示すように、所定の関心のある地点の傍にまず大雑把に配置され、対象顔２の中心付近に典型的に配置される。画像４に示すように、顔モデル１Ａを一方向または別方向へ移動することから生じるずれの分量と、所定の数方向のいずれかへのサイズ乗数を調節した結果とを比較することにより、顔モデル１Ａをより良く位置合わせする方法を決定できる。目的は、画像５に示されるように、瞳孔、鼻孔、口角などの所定のランドマークを可能な限り近くに位置合わせすることである。最終的には、十分な数のこのようなランドマークポイントが位置合わせされた後には、対象画像２がモデル画像１Ａ上へ歪められて、特定の目的を達成するためにさらに処理されうる、関心のあるポイント（目の特徴、鼻の特徴、口の特徴、頬の構造などの輪郭等）が識別およびラベル付けされた所定の形状およびサイズのフィッティングされた画像６が得られる。
【先行技術文献】
【非特許文献】
【００１３】
【非特許文献１】T.F.Cootes及びC.J.Taylorによる「コンピュータービジョンのためのアピアランスの統計モデル（Statistical Models of Appearance for Computer VIsion）、Imaging Science and Biomedical Engineering，University of Manchester，Manchester M13 9PT，２００４年３月８日
【発明の概要】
【発明が解決しようとする課題】
【００１４】
しかし、このアプローチは、例えば陰影、色、またはテクスチャーの変化等のアピアランスの変化を考慮しない。オブジェクトの形状およびアピアランスを一緒に考慮する、より全体観的または包括的なアプローチが、動的アピアランスモデル（ＡＡＭ）である。Ｃｏｏｔｅｓ等はアピアランスのグレーレベル（または陰）の特徴に主に集中しているように見えるが、ＡＡＭが、顔モデル（モデル形状パラメーターおよびモデルアピアランスパラメーターの両方を含む）の対象顔上への最良の位置合わせを探索すると同時に、形状およびアピアランスのずれを最小化する、という基本的原理を論じている。換言すれば、ＡＡＭは、予想される構造の形状、その空間関係、およびそのグレーレベルアピアランス（またはより一般的に、ＲＧＢ値等の色値アピアランス）についての知識を適用して、自動化されたシステムをもっともらしい解釈に制限する。ＡＡＭが、探索されるオブジェクトのリアルな画像を生成できるのが理想的である。個体の表情を変化させる等により、任意の個体の説得力のある画像を生成できる顔モデルが例である。ＡＡＭは、解釈をマッチング問題として定式化することによりこれを達成する。解釈する画像が与えられたら、もっともらしいバリエーションに可能な限り類似する「想像画像」を生成するようにモデルのパラメーターを調節することにより、構造が位置付けおよびラベル付けされる。
【００１５】
ＡＡＭは有用なアプローチであるが、ＡＡＭの実装は依然としていくつかの課題をもたらす。例えば、ＡＡＭマシンは、その所定のパラメーターの範囲内で「フィット」を見つけられる限り、フィッティングされた画像はマッチ（すなわち、もっともらしいバリエーションの真の例）であるとみなす。しかし、フィッティングされた画像が実際に真の例であるという保証はない。
【００１６】
換言すれば、ＡＡＭマシンが対象入力画像をモデル画像と位置合わせしたように見えても、結果として得られた位置合わせされた画像は、探索されているオブジェクトのクラスの真の表示ではないかもしれない。例えば、モデル画像の最初の位置が対象入力画像からあまりに遠くずれている場合は、モデル画像が対象入力画像上に誤って位置合わせされうる。これにより、歪められた出力画像の歪んだ真でない表示がもたらされると考えられる。
【００１７】
ＡＡＭマシンの他の限界は、区別パラメーターを定義し、パラメーターの許容可能な歪みを定義するために、真のサンプルのトレーニングライブラリーに統計解析を適用するために必要とされるコンピューティングの複雑さに関する。適用される統計解析の性質上、結果は、トレーニングライブラリーの中の画像の一部分との位置合わせだけを許容する。探索されているオブジェクトのクラスが幅広く変動しやすい場合には、形状モデル画像またはアピアランスモデル画像を、統計解析により定義されるノルムを超えた特性を有する入力された対象画像に対して適切に位置合わせすることは可能でないかもしれない。これは、形状モデル画像およびアピアランスモデル画像が構築されるトレーニングライブラリーの中の画像であっても言える。典型的には、構築されたモデル画像は、トレーニングライブラリーの中のサンプル画像のわずか９０％〜９５％に対してしか位置合わせできない。
【００１８】
本発明の目的は、特に真のサンプル画像の広範で大きなライブラリーを用いてトレーニングする場合に、より高速な位置合わせプロセスを備えたＡＡＭを提供することである。
【００１９】
本発明の別の目的は、真の外れ値のサンプルを含むオブジェクトの特定のクラスのより多数の真のサンプルをより良く位置合わせすることが可能なＡＡＭを提供することである。
【課題を解決するための手段】
【００２０】
本発明のオブジェクト認識デバイスは、入力テスト画像におけるオブジェクトのクラスを認識するためのオブジェクト認識デバイスであって、
前記オブジェクト認識デバイスは、
前記入力テスト画像を受け取るための入力と、
複数の動的アピアランスモデル処理ブロック（ＡＡＭ）であって、前記複数のＡＡＭの各々が、独立したデジタルトレーニング画像の異なるグループによりトレーニングされており、トレーニング画像の全てのグループの各トレーニング画像が、前記オブジェクトのクラスの特有の特徴の共通の所定のセットが識別されラベル付けされた、前記オブジェクトのクラスの真の例を有し、トレーニング画像の各グループが、トレーニング画像の他のグループの前記特定の特質とは異なる選択された特有の特徴における特定の特質を共有することにより異なり、前記複数のＡＡＭの各々が、それがトレーニングされる前記トレーニング画像のグループの前記特定の特質を反映する、対応するモデル画像および対応する統計モデルフィッティング関数を有する、ＡＡＭと、
データ処理モジュールと、を有し、
前記データ処理モジュールは、
（ａ）前記入力テスト画像をｃｕｒｒｅｎｔ＿ｉｍａｇｅとして定義するステップと、
（ｂ）前記ｃｕｒｒｅｎｔ＿ｉｍａｇｅを、前記複数のＡＡＭの中から選択される選択されたＡＡＭに適用するステップであり、前記選択されたＡＡＭが、前記選択されないＡＡＭに対応する前記モデル画像と比較して、前記ｃｕｒｒｅｎｔ＿ｉｍａｇｅに最も厳密にマッチする対応するモデル画像を有し、前記選択されたＡＡＭが前記ｃｕｒｒｅｎｔ＿ｉｍａｇｅを処理して、中間の位置合わせされた画像を生成する、ステップと、
（ｃ）ＩＦ前記中間の位置合わせされた画像と所定のモデル画像とのずれの程度が、所定の最大程度より大きいなら、
ＴＨＥＮ前記中間の位置合わせされた画像を前記ｃｕｒｒｅｎｔ＿ｉｍａｇｅとして定義し、ステップ（ｂ）に戻り、
ＥＬＳＥそうでなければ、前記中間の位置合わせされた画像を前記オブジェクトのクラスの成功した認識として出力するステップと、を実施することを特徴とする。
【００２１】
また、本発明のオブジェクト認識デバイスにおいて、前記ステップ（ｃ）において、前記ＩＦ文の中で、前記所定のモデル画像が、前記選択されたＡＡＭの対応するモデル画像であることを特徴とする。
【００２２】
また、本発明のオブジェクト認識デバイスにおいて、前記ステップ（ｃ）において、前記ＩＦ文の中で、前記所定のモデル画像が、前記複数のＡＡＭの全てをトレーニングするために用いられるトレーニング画像の全ての前記グループの組み合わせから作成されるモデル画像であることを特徴とする。
【００２３】
また、本発明のオブジェクト認識デバイスにおいて、前記ステップ（ｃ）において、前記ＩＦ文が、
ＡＮＤ  ＩＦステップ（ｂ）が固定最大サイクルカウント未満実行されているなら、
をさらに含むことを特徴とする。
【００２４】
また、本発明のオブジェクト認識デバイスにおいて、前記ステップ（ｃ）において、前記ＩＦ文が、
ＡＮＤ  ＩＦ前記ずれの程度が、ステップ（ｂ）の直前の適用で得られた前記ずれの程度より小さいなら、
をさらに含むことを特徴とする。
【００２５】
また、本発明のオブジェクト認識デバイスにおいて、前記ステップ（ｂ）において、前記選択されたＡＡＭが、その反映される特定の特質が前記ｃｕｒｒｅｎｔ＿ｉｍａｇｅ上の同じ特質に最も厳密にマッチする統計モデルフィッティング関数を有することを特徴とする。
【００２６】
また、本発明のオブジェクト認識デバイスにおいて、前記ステップ（ｂ）において、前記ｃｕｒｒｅｎｔ＿ｉｍａｇｅと前記選択されたＡＡＭに対応する前記モデル画像とのずれの程度が、前記ｃｕｒｒｅｎｔ＿ｉｍａｇｅと前記複数のＡＡＭのその他全てに対応する前記モデル画像とのずれの程度より小さいことを特徴とする。
【００２７】
また、本発明のオブジェクト認識デバイスにおいて、（Ａ）前記複数のＡＡＭの別々の一つが階層ツリーの対応する別々のリーフノードに一対一の関係で関連付けられた前記階層ツリーパスを通じて、前記複数のＡＡＭがアクセス可能であり、前記階層ツリーが、
（１）前記複数のＡＡＭの全ての前記トレーニングにおいて使用される前記独立したトレーニング画像の全てを含むトレーニング画像の広範なライブラリーに関連付けられたルートノードと、
（２）前記ルートノードから前記リーフノードの各々へ下方に向かう複数の階層レベルであり、各リーフノードが前記ルートノードから各リーフノードへのリンクパスの前記終端ノード（すなわち最下ノード）であり、前記ルートノードから各リーフノードへの各リンクパスに沿った各内部ノードが、少なくとも左の子ノードと右の子ノードとを有する親ノードである、複数の階層レベルと、を有し、
（３）前記広範なライブラリーが、前記ルートノードから各リーフノードへ下方に向かって進むにしたがい、トレーニング画像の複数のより小さなグループに段階的に分割され、リーフノードに関連付けられたトレーニング画像の各グループが、前記リーフノードの関連付けられたＡＡＭの前記トレーニングにおいて使用される独立したトレーニング画像の前記異なるグループであり、
（４）親ノードからその左の子ノードおよび右の子ノードへの各段階的な深さレベルの変化で、前記親ノードの関連付けられたトレーニング画像のグループが、前記トレーニング画像の特有の特徴の類似性にしたがって、左および右の子ノードにつき一つの、二つのより小さなグループに分割され、各より小さなグループが、その対応する子ノードに関連付けられ、
（５）各子ノードが、それに関連付けられた前記トレーニング画像から作成される対応するノードモデル画像を有し、
（Ｂ）前記ステップ（ｂ）における前記複数のＡＡＭの中からのＡＡＭの前記選択が、
（ｉ）前記ルートノードをｃｕｒｒｅｎｔ＿ｎｏｄｅとして定義するステップと、
（ii）ＩＦ前記ｃｕｒｒｅｎｔ＿ｉｍａｇｅが、前記ｃｕｒｒｅｎｔ＿ｎｏｄｅの右の子ノードよりも左の子ノードに関連付けられた前記ノードモデル画像により厳密にマッチするなら、ＴＨＥＮ前記ｃｕｒｒｅｎｔ＿ｎｏｄｅを前記左の子ノードとして再定義し、ＥＬＳＥそうでなければ、前記ｃｕｒｒｅｎｔ＿ｎｏｄｅを前記右の子ノードとして再定義する、ステップと、
（iii）ＩＦ前記ｃｕｒｒｅｎｔ＿ｎｏｄｅがリーフノードなら、ＴＨＥＮ前記ｃｕｒｒｅｎｔ＿ｎｏｄｅに関連付けられた前記ＡＡＭを選択して前記ｃｕｒｒｅｎｔ＿ｉｍａｇｅを受け取り、ＥＬＳＥそうでなければ、ステップ（ii）に戻るステップと、を含むことを特徴とする。
【００２８】
また、本発明のオブジェクト認識デバイスにおいて、前記複数のＡＡＭの前記トレーニングが、
（ｉ）トレーニング画像の前記異なるグループの全ての前記独立したトレーニング画像の全てを含む広範なトレーニングライブラリーにアクセスするステップと、
（ii）前記広範なトレーニングライブラリーの全てのトレーニング画像を、前記トレーニング画像の所定の特定の特有の特徴（単数または複数）の類似性の程度にしたがって、階層ツリー構造に配置するステップであり、前記階層ツリー構造が、ルートノード（すなわち最上ノード）と、複数の内部ノードと、複数のリーフノード（すなわち終端ノード）とを有し、前記内部ノードが、前記ルートノードから各リーフノードへのリンクパスを定義し、前記リーフノードの数が、各リーフノードでの前記トレーニング画像の数が所定の最大数より大きくないように選択される、ステップと、
（iii）各個別のリーフノードに関連付けられた前記トレーニング画像だけを使用してリーフノードごとに別々のＡＡＭを作成するステップであり、こうして作成された前記ＡＡＭのコレクションが、前記複数の動的アピアランスモデル処理ブロック、ＡＡＭである、ステップと、を含む、ことを特徴とする。
【００２９】
また、本発明のオブジェクト認識デバイスにおいて、前記ステップ（ii）が、
（Ｉ）前記ルートノードを定義し、それに広範なトレーニングライブラリーの全体を関連付けるステップと、
（II）前記ルートノードをｃｕｒｒｅｎｔ＿ｎｏｄｅとして定義するステップと、
（III）メモリーポインターｃｕｒｒｅｎｔ＿ｎｏｄｅ＿ｄｅｐｔｈを、前記ルートノードの前記ノード深さとして定義するステップと、
（IV）必要に応じて、子ノードを作成するために、前記ｃｕｒｒｅｎｔ＿ｎｏｄｅに処理シーケンスを適用するステップと、
（Ｖ）ＩＦ前記ｃｕｒｒｅｎｔ＿ｎｏｄｅ＿ｄｅｐｔｈの全てのノードが処理されていないなら、ＴＨＥＮ  ｃｕｒｒｅｎｔ＿ｎｏｄｅをｃｕｒｒｅｎｔ＿ｎｏｄｅ＿ｄｅｐｔｈで未処理の次のノードとして再定義し、ステップ（IV）に戻るステップと、
（VI）ＩＦ前記ｃｕｒｒｅｎｔ＿ｎｏｄｅ＿ｄｅｐｔｈの下の深さレベルに他のノードがあるなら、ＴＨＥＮ  ｃｕｒｒｅｎｔ＿ｎｏｄｅ＿ｄｅｐｔｈを前記次のより低い深さレベルにインクリメントし、ｃｕｒｒｅｎｔ＿ｎｏｄｅをｃｕｒｒｅｎｔ＿ｎｏｄｅ＿ｄｅｐｔｈで未処理の次のノードとして再定義し、ステップ（IV）に戻るステップと、を含むことを特徴とする。
【００３０】
また、本発明のオブジェクト認識デバイスにおいて、前記ステップ（IV）において、前記処理シーケンスが、
ＩＦ前記ｃｕｒｒｅｎｔ＿ｎｏｄｅに関連付けられた前記トレーニング画像の数が、ｍａｘ＿ｉｍａｇｅ＿ｃｏｕｎｔより大きくないなら、
ＴＨＥＮ前記ｃｕｒｒｅｎｔ＿ｎｏｄｅに関連付けられた前記トレーニング画像だけを使用してＡＡＭを作成し、前記ｃｕｒｒｅｎｔ＿ｎｏｄｅをリーフノードとして定義し、前記作成されたＡＡＭを前記ｃｕｒｒｅｎｔ＿ｎｏｄｅに関連付け、
ＥＬＳＥそうでなければ、
前記ｃｕｒｒｅｎｔ＿ｎｏｄｅに関連付けられた前記トレーニング画像だけを使用してモデル画像を作成し、
前記ｃｕｒｒｅｎｔ＿ｎｏｄｅの関連付けられたトレーニング画像を、その関連付けられたトレーニング画像の特有の特徴の類似性にしたがって、トレーニング画像の少なくとも第一および第二グループにサブ分割し、
前記ｃｕｒｒｅｎｔ＿ｎｏｄｅの下にリンクされた第一子ノードを作成し、トレーニング画像の前記第一グループを前記第一子ノードに関連付け、
前記ｃｕｒｒｅｎｔ＿ｎｏｄｅの下にリンクされた第二子ノードを作成し、
トレーニング画像の前記第二グループを、前記第二子ノードに関連付ける、
ステップを含むことを特徴とする。
【００３１】
一方、本発明の入力テスト画像内のオブジェクトのクラスを認識するためにオブジェクト認識を実施する方法は、
前記入力テスト画像を受け取るステップと、
複数の動的アピアランスモデル処理ブロック（ＡＡＭ）を提供するステップであって、前記複数のＡＡＭの各々が、独立したトレーニング画像の異なるグループによりトレーニングされており、トレーニング画像の全てのグループ内の各トレーニング画像が、前記オブジェクトのクラスの特有の特徴の共通の所定のセットが識別されラベル付けされた前記オブジェクトのクラスの真の例を有し、トレーニング画像の各グループが、トレーニング画像の他のグループの前記特定の特質とは異なる、選択された特有の特徴における特定の特質を共有することにより異なり、前記複数のＡＡＭの各々が、トレーニングされるトレーニング画像の前記グループの前記特定の特質を反映する対応するモデル画像および対応する統計モデルフィッティング関数を有する、ステップと、
以下のデータ処理ステップ（ａ）乃至（ｃ）を実施するステップと、を有することを特徴とする。
（ａ）前記入力テスト画像をｃｕｒｒｅｎｔ＿ｉｍａｇｅとして定義するステップと、
（ｂ）前記ｃｕｒｒｅｎｔ＿ｉｍａｇｅを前記複数のＡＡＭの中から選択される選択されたＡＡＭに適用するステップであり、前記選択されたＡＡＭが、前記選択されないＡＡＭに対応する前記モデル画像と比較して、前記ｃｕｒｒｅｎｔ＿ｉｍａｇｅに最も厳密にマッチする対応するモデル画像を有し、前記選択されたＡＡＭが前記ｃｕｒｒｅｎｔ＿ｉｍａｇｅを処理して中間の位置合わせされた画像を生成する、ステップと、
（ｃ）ＩＦ前記中間の位置合わせされた画像と所定のモデル画像とのずれの程度が所定の最大程度より大きいなら、
ＴＨＥＮ前記中間の位置合わせされた画像を前記ｃｕｒｒｅｎｔ＿ｉｍａｇｅとして定義し、ステップ（ｂ）に戻り、
ＥＬＳＥそうでなければ、前記中間の位置合わせされた画像を前記オブジェクトのクラスの成功した認識として出力するステップ。
【００３２】
また、本発明のオブジェクト認識を実施する方法において、前記ステップ（ｃ）において、前記ＩＦ文の中で、前記所定のモデル画像が、前記選択されたＡＡＭの対応するモデル画像であることを特徴とする。
【００３３】
また、本発明のオブジェクト認識を実施する方法において、前記ステップ（ｃ）において、前記ＩＦ文の中で、前記所定のモデル画像が、前記複数のＡＡＭの全てをトレーニングするために用いられるトレーニング画像の全ての前記グループの組み合わせから作成されるモデル画像であることを特徴とする。
【００３４】
また、本発明のオブジェクト認識を実施する方法において、前記ステップ（ｃ）において、前記ＩＦ文が、
ＡＮＤ  ＩＦステップ（ｂ）が固定最大サイクルカウント未満実行されているなら、
をさらに含むことを特徴とする。
【００３５】
また、本発明のオブジェクト認識を実施する方法において、前記ステップ（ｃ）において、前記ＩＦ文が、
ＡＮＤ  ＩＦ前記ずれの程度が、ステップ（ｂ）の直前の適用で得られた前記ずれの程度より小さいなら、
をさらに含むことを特徴とする。
【００３６】
また、本発明のオブジェクト認識を実施する方法において、前記ステップ（ｂ）において、前記選択されたＡＡＭが、その反映される特定の特質が前記ｃｕｒｒｅｎｔ＿ｉｍａｇｅ上の同じ特質に最も厳密にマッチする統計モデルフィッティング関数を有することを特徴とする。
【００３７】
また、本発明のオブジェクト認識を実施する方法において、前記ステップ（ｂ）において、前記ｃｕｒｒｅｎｔ＿ｉｍａｇｅと前記選択されたＡＡＭに対応する前記モデル画像とのずれの程度が、前記ｃｕｒｒｅｎｔ＿ｉｍａｇｅと前記複数のＡＡＭのその他全てに対応する前記モデル画像とのずれの程度より小さいことを特徴とする。
【００３８】
また、本発明のオブジェクト認識を実施する方法において、
（Ａ）前記複数のＡＡＭの別々の一つが階層ツリーの対応する別々のリーフノードに一対一の関係で関連付けられた前記階層ツリーパスを通じて、前記複数のＡＡＭがアクセス可能であり、前記階層ツリーが、
（１）前記複数のＡＡＭの全ての前記トレーニングにおいて使用される前記独立したトレーニング画像の全てを含むトレーニング画像の広範なライブラリーに関連付けられたルートノードと、
（２）前記ルートノードから前記リーフノードの各々へ下方に向かう複数の階層レベルであり、各リーフノードが前記ルートノードから各リーフノードへのリンクパスの前記終端ノード（すなわち最下ノード）であり、前記ルートノードから各リーフノードへの各リンクパスに沿った各内部ノードが、左の子ノードと右の子ノードとを有する親ノードである、複数の階層レベルと、を有し、
（３）前記広範なライブラリーが、前記ルートノードから各リーフノードへ下方に向かって進むにしたがい、トレーニング画像の複数のより小さなグループに段階的に分割され、リーフノードに関連付けられたトレーニング画像の各グループが、前記リーフノードの関連付けられたＡＡＭの前記トレーニングにおいて使用される独立したトレーニング画像の前記異なるグループであり、
（４）親ノードからその左の子ノードおよび右の子ノードへの各段階的な深さレベルの変化で、前記親ノードの関連付けられたトレーニング画像のグループが、前記トレーニング画像の特有の特徴の類似性にしたがって、左および右の子ノードにつき一つの、二つのより小さなグループに分割され、各より小さなグループが、その対応する子ノードに関連付けられ、
（５）各子ノードが、それに関連付けられた前記トレーニング画像から作成される対応するノードモデル画像を有し、
（Ｂ）前記ステップ（ｂ）における前記複数のＡＡＭの中からのＡＡＭの前記選択が、
（ｉ）前記ルートノードをｃｕｒｒｅｎｔ＿ｎｏｄｅとして定義するステップと、
（ii）ＩＦ前記ｃｕｒｒｅｎｔ＿ｉｍａｇｅが、前記ｃｕｒｒｅｎｔ＿ｎｏｄｅの右の子ノードよりも左の子ノードに関連付けられた前記ノードモデル画像により厳密にマッチするなら、ＴＨＥＮ前記ｃｕｒｒｅｎｔ＿ｎｏｄｅを前記左の子ノードとして再定義し、ＥＬＳＥそうでなければ、前記ｃｕｒｒｅｎｔ＿ｎｏｄｅを前記右の子ノードとして再定義する、ステップと、
（iii）ＩＦ前記ｃｕｒｒｅｎｔ＿ｎｏｄｅがリーフノードなら、ＴＨＥＮ前記ｃｕｒｒｅｎｔ＿ｎｏｄｅに関連付けられた前記ＡＡＭを選択して前記ｃｕｒｒｅｎｔ＿ｉｍａｇｅを受け取り、ＥＬＳＥそうでなければ、ステップ（ii）に戻るステップと、を含むことを特徴とする。
【００３９】
また、本発明のオブジェクト認識を実施する方法において、前記複数のＡＡＭの前記トレーニングが、
（ｉ）トレーニング画像の前記異なるグループの全ての前記独立したトレーニング画像の全てを含む広範なトレーニングライブラリーにアクセスするステップと、
（ii）前記広範なトレーニングライブラリーの全てのトレーニング画像を、前記トレーニング画像の所定の特定の特有の特徴（単数または複数）の類似性の程度にしたがって、階層ツリー構造に配置するステップであり、前記階層ツリー構造が、ルートノード（すなわち最上ノード）と、複数の内部ノードと、複数のリーフノード（すなわち終端ノード）とを有し、前記内部ノードが、前記ルートノードから各リーフノードへのリンクパスを定義し、前記リーフノードの数が、各リーフノードでの前記トレーニング画像の数が所定の最大数より大きくないように選択される、ステップと、
（iii）各個別のリーフノードに関連付けられた前記トレーニング画像だけを使用してリーフノードごとに別々のＡＡＭを作成するステップであり、こうして作成された前記ＡＡＭのコレクションが、前記複数の動的アピアランスモデル処理ブロック、ＡＡＭである、ステップと、を含むことを特徴とする。
【００４０】
また、本発明のオブジェクト認識を実施する方法において、前記ステップ（ii）が、
（Ｉ）前記ルートノードを定義し、それに広範なトレーニングライブラリーの全体を関連付けるステップと、
（II）前記ルートノードをｃｕｒｒｅｎｔ＿ｎｏｄｅとして定義するステップと、
（III）メモリーポインターｃｕｒｒｅｎｔ＿ｎｏｄｅ＿ｄｅｐｔｈを、前記ルートノードの前記ノード深さとして定義するステップと、
（IV）必要に応じて、子ノードを作成するために、前記ｃｕｒｒｅｎｔ＿ｎｏｄｅに処理シーケンスを適用するステップと、
（Ｖ）ＩＦ前記ｃｕｒｒｅｎｔ＿ｎｏｄｅ＿ｄｅｐｔｈの全てのノードが処理されていないなら、ＴＨＥＮ  ｃｕｒｒｅｎｔ＿ｎｏｄｅをｃｕｒｒｅｎｔ＿ｎｏｄｅ＿ｄｅｐｔｈで未処理の次のノードとして再定義し、ステップ（IV）に戻るステップと、
（VI）ＩＦ前記ｃｕｒｒｅｎｔ＿ｎｏｄｅ＿ｄｅｐｔｈの下の深さレベルに他のノードがあるなら、ＴＨＥＮ  ｃｕｒｒｅｎｔ＿ｎｏｄｅ＿ｄｅｐｔｈを前記次のより低い深さレベルにインクリメントし、ｃｕｒｒｅｎｔ＿ｎｏｄｅをｃｕｒｒｅｎｔ＿ｎｏｄｅ＿ｄｅｐｔｈで未処理の次のノードとして再定義し、ステップ（IV）に戻るステップと、を含むことを特徴とする。
【００４１】
また、本発明のオブジェクト認識を実施する方法において、前記ステップ（IV）において、前記処理シーケンスが、
ＩＦ前記ｃｕｒｒｅｎｔ＿ｎｏｄｅに関連付けられた前記トレーニング画像の数が、ｍａｘ＿ｉｍａｇｅ＿ｃｏｕｎｔより大きくないなら、または、ｉｆ前記トレーニング画像の分散が所定の最大値より大きくないなら、ｉｆ前記ｃｕｒｒｅｎｔ＿ｎｏｄｅに関連付けられた前記トレーニング画像の間の前記距離が、独立したトレーニング画像の前記異なるグループの全ての前記画像の前記平均の所定の最大値より大きくないなら、
ＴＨＥＮ前記ｃｕｒｒｅｎｔ＿ｎｏｄｅに関連付けられた前記トレーニング画像だけを使用してＡＡＭを作成し、前記ｃｕｒｒｅｎｔ＿ｎｏｄｅをリーフノードとして定義し、前記作成されたＡＡＭを前記ｃｕｒｒｅｎｔ＿ｎｏｄｅに関連付け、
ＥＬＳＥそうでなければ、
前記ｃｕｒｒｅｎｔ＿ｎｏｄｅに関連付けられた前記トレーニング画像だけを使用してモデル画像を作成し、
前記ｃｕｒｒｅｎｔ＿ｎｏｄｅの関連付けられたトレーニング画像を、その関連付けられたトレーニング画像の特有の特徴の類似性にしたがって、トレーニング画像の第一および第二グループにサブ分割し、
前記ｃｕｒｒｅｎｔ＿ｎｏｄｅの下にリンクされた第一子ノードを作成し、トレーニング画像の前記第一グループを前記第一子ノードに関連付け、
前記ｃｕｒｒｅｎｔ＿ｎｏｄｅの下にリンクされた第二子ノードを作成し、トレーニング画像の前記第二グループを、前記第二子ノードに関連付ける、
ステップを含むことを特徴とする。
【００４２】
ここで、本発明の動的アピアランスモデルを実施する方法は、入力テスト画像内のオブジェクトのクラスの認識のために動的アピアランスモデルを実施する方法であって、
（ｉ）複数の独立したトレーニング画像を含む広範なトレーニングライブラリーにアクセスするステップであり、各トレーニング画像が、前記オブジェクトのクラスの特有の特徴の共通の所定のセットが識別されラベル付けされた前記オブジェクトのクラスの真の例を有する、ステップと、
（ii）前記広範なトレーニングライブラリーの全てのトレーニング画像を、前記トレーニング画像の所定の特定の特有の特徴（単数または複数）の類似性にしたがって、階層ツリー構造に配置するステップであり、前記階層ツリー構造が、ルートノード（すなわち最上ノード）と、複数の内部ノードと、複数のリーフノード（すなわち終端ノード）とを有し、前記内部ノードが、前記ルートノードから各リーフノードへのリンクパスを定義し、前記ルートノードから各リーフノードへの各リンクパスに沿った各内部ノードが、左の子ノードと右の子ノードとを有する親ノードであり、前記階層ツリーの中の親ノードからその左の子ノードおよび右の子ノードへの各段階的な深さレベルの変化で、前記親ノードの関連付けられたトレーニング画像のグループが、前記トレーニング画像の特有の特徴の類似性にしたがって、左および右の子ノードにつき一つの、二つのより小さなグループに分割され、トレーニング画像の各より小さなグループが、その対応する子ノードに関連付けられ、各子ノードが、その関連付けられたトレーニング画像から作成される対応するノードモデル画像を有し、前記リーフノードの数が、各リーフノードでの前記トレーニング画像の数が所定の最大数より大きくないように選択され、各リーフノードの前記トレーニング画像が、他のリーフノードの前記トレーニング画像の前記特定の特質とは異なる、選択された特有の特徴における特定の特質を共有する、ステップと、
（iii）各個別のリーフノードに関連付けられた前記トレーニング画像だけを使用して、各リーフノードにつき一つの複数の動的アピアランスモデル、ＡＡＭブロックを作成するステップであり、前記複数のＡＡＭブロックの各々が、トレーニングされる前記トレーニング画像の前記特定の特質を反映する対応するモデル画像および対応する統計モデルフィッティング関数を有する、ステップと、
（iv）以下の（ａ）乃至（ｃ）を実施するステップと、を有することを特徴とする。
（ａ）前記入力テスト画像をｃｕｒｒｅｎｔ＿ｉｍａｇｅとして定義するステップと、
（ｂ）前記ｃｕｒｒｅｎｔ＿ｉｍａｇｅを前記複数のＡＡＭブロックの中から選択される選択されたＡＡＭブロックに適用するステップであり、前記選択されたＡＡＭブロックが、前記選択されないＡＡＭブロックに対応する前記モデル画像と比較して、前記ｃｕｒｒｅｎｔ＿ｉｍａｇｅに最も厳密にマッチする対応するモデル画像を有し、前記選択されたＡＡＭブロックが前記ｃｕｒｒｅｎｔ＿ｉｍａｇｅを処理して中間の位置合わせされた画像を生成する、ステップと、
（ｃ）ＩＦ前記中間の位置合わせされた画像と所定のモデル画像とのずれの程度が所定の最大程度より大きいなら、
ＴＨＥＮ前記中間の位置合わせされた画像を前記ｃｕｒｒｅｎｔ＿ｉｍａｇｅとして定義し、ステップ（ｂ）に戻り、
ＥＬＳＥそうでなければ、前記中間の位置合わせされた画像を前記オブジェクトのクラスの成功した認識として出力するステップ。
【００４３】
また、本発明の動的アピアランスモデルを実施する方法において、前記ステップ（ii）が、
（Ｉ）前記ルートノードを定義し、それに広範なトレーニングライブラリーの全体を関連付ける、ステップと、
（II）前記ルートノードをｃｕｒｒｅｎｔ＿ｎｏｄｅとして定義するステップと、
（III）メモリーポインターｃｕｒｒｅｎｔ＿ｎｏｄｅ＿ｄｅｐｔｈを、前記ルートノードの前記ノード深さとして定義するステップと、
（IV）必要に応じて、子ノードを作成するために、前記ｃｕｒｒｅｎｔ＿ｎｏｄｅに処理シーケンスを適用するステップと、
（Ｖ）ＩＦ前記ｃｕｒｒｅｎｔ＿ｎｏｄｅ＿ｄｅｐｔｈの全てのノードが処理されていないなら、ＴＨＥＮ  ｃｕｒｒｅｎｔ＿ｎｏｄｅをｃｕｒｒｅｎｔ＿ｎｏｄｅ＿ｄｅｐｔｈで未処理の次のノードとして再定義し、ステップ（IV）に戻る、ステップと、
（VI）ＩＦ前記ｃｕｒｒｅｎｔ＿ｎｏｄｅ＿ｄｅｐｔｈの下の深さレベルに他のノードがあるなら、ＴＨＥＮ  ｃｕｒｒｅｎｔ＿ｎｏｄｅ＿ｄｅｐｔｈを前記次のより低い深さレベルにインクリメントし、ｃｕｒｒｅｎｔ＿ｎｏｄｅを、ｃｕｒｒｅｎｔ＿ｎｏｄｅ＿ｄｅｐｔｈで未処理の次のノードとして再定義し、ステップ（IV）に戻るステップと、を含むことを特徴とする。
【００４４】
また、本発明の動的アピアランスモデルを実施する方法において、前記ステップ（IV）において、前記処理シーケンスが、
ＩＦ前記ｃｕｒｒｅｎｔ＿ｎｏｄｅに関連付けられた前記トレーニング画像の数が、ｍａｘ＿ｉｍａｇｅ＿ｃｏｕｎｔより大きくないなら、
ＴＨＥＮ前記ｃｕｒｒｅｎｔ＿ｎｏｄｅをリーフとして定義し、
ＥＬＳＥそうでなければ、
前記ｃｕｒｒｅｎｔ＿ｎｏｄｅに関連付けられた前記トレーニング画像だけを使用してモデル画像を作成し、
前記ｃｕｒｒｅｎｔ＿ｎｏｄｅの関連付けられたトレーニング画像を、その関連付けられたトレーニング画像の特有の特徴の類似性にしたがって、トレーニング画像の第一および第二グループにサブ分割し、
前記ｃｕｒｒｅｎｔ＿ｎｏｄｅの下にリンクされた第一子ノードを作成し、トレーニング画像の前記第一グループを前記第一子ノードに関連付け、
前記ｃｕｒｒｅｎｔ＿ｎｏｄｅの下にリンクされた第二子ノードを作成し、トレーニング画像の前記第二グループを、前記第二子ノードに関連付ける、
ステップを含むことを特徴とする。
【００４５】
また、本発明の動的アピアランスモデルを実施する方法において、
前記ステップ（ｃ）において、前記ＩＦ文の中で、前記所定のモデル画像が、前記選択されたＡＡＭブロックの対応するモデル画像であることを特徴とする。
また、本発明の動的アピアランスモデルを実施する方法において、前記ステップ（ｃ）において、前記ＩＦ文の中で、前記所定のモデル画像が、前記複数のＡＡＭブロックの全てをトレーニングするために用いられるトレーニング画像の全ての前記グループの組み合わせから作成されるモデル画像であることを特徴とする。
【００４６】
また、本発明の動的アピアランスモデルを実施する方法において、前記ステップ（ｃ）において、前記ＩＦ文が、
ＡＮＤ  ＩＦステップ（ｂ）が固定最大サイクルカウント未満実行されているなら、
をさらに含むことを特徴とする。
【００４７】
また、本発明の動的アピアランスモデルを実施する方法において、前記処理ステップ（ｂ）において、前記選択されるＡＡＭブロックが、以下のサブステップ（ｉ）乃至（iii）に従って選択されることを特徴とする。
（ｉ）前記ルートノードをｃｕｒｒｅｎｔ＿ｎｏｄｅとして定義するステップと、
（ii）ＩＦ前記ｃｕｒｒｅｎｔ＿ｉｍａｇｅが、前記ｃｕｒｒｅｎｔ＿ｎｏｄｅの右の子ノードよりも左の子ノードに関連付けられた前記ノードモデル画像により厳密にマッチするなら、ＴＨＥＮ前記ｃｕｒｒｅｎｔ＿ｎｏｄｅを前記左の子ノードとして再定義し、ＥＬＳＥそうでなければ、前記ｃｕｒｒｅｎｔ＿ｎｏｄｅを前記右の子ノードとして再定義する、ステップと、
（iii）ＩＦ前記ｃｕｒｒｅｎｔ＿ｎｏｄｅがリーフノードなら、ＴＨＥＮ前記ｃｕｒｒｅｎｔ＿ｎｏｄｅに関連付けられた前記ＡＡＭブロックを選択して前記ｃｕｒｒｅｎｔ＿ｉｍａｇｅを受け取り、ＥＬＳＥそうでなければ、サブステップ（ii）に戻るステップ。
【図面の簡単な説明】
【００４８】
【図１】顔モデルを入力テスト画像の顔にフィッティングするための、フィッティング動作の例を示す図である。
【図２】顔モデルの構築において、トレーニング画像のライブラリーを組み合わせるステップを示す図である。
【図３】トレーニング目的でのトレーニング画像のトレーニングライブラリーへのアクセスを有する動的アピアランスモデル（ＡＡＭ）マシンの構造を示す図である。
【図４】通常動作の間のＡＡＭを示す図である。
【図５】複数の形状を組み合わせることに対する、Ｌ2‐ノルムアプローチの使用を示す図である。
【図６】複数の形状を組み合わせることに対する、Ｌ1‐ノルムアプローチの使用を示す図である。
【図７】顔モデルに対する入力画像の位置合わせの例を示す図である。
【図８】顔モデルに入力画像を位置合わせするための反復プロセスにおけるステージのいくつかを示す図である。
【図９】統計モデルフィッティング関数による、位置合わせプロセスを示す図である。
【図１０】統計モデルフィッティング関数による、位置合わせプロセスを示す図である。
【図１１】位置合わせ不良の顔モデルの二つの例を示す図である。
【図１２】Ｌ1‐ＡＡＭマシンのいくつかの利点を示す図である。
【図１３】正規顔分類器を組み込むように変更されたＡＡＭを示す図である。
【図１４】正規顔分類器をトレーニングするためのトレーニング画像のライブラリーを示す図である。
【図１５】正規顔分類器のため特定タイプのトレーニング技術を実施するための処理ステージを示す図である。
【図１６】複数の統計フィッティング対によりトレーニング画像のトレーニングライブラリー内のより高い割合の画像をフィッティングできるＡＡＭマシンを作成する（トレーニングする）ためのＡＡＭ構造（または方法）を示し、各対が、モデル画像および対応する統計モデルフィッティング関数を含む図である。
【図１７】図１６の実施形態の代わりの配置を示す図である。
【図１８】図１６の実施形態の現在好ましい実装を示す図である。
【図１９】図１６〜１８の実施形態の実装におけるプロセスフローを示す図である。
【図２０】図１６〜１９のプロセスフローを記載したフローチャートである。
【図２１】複数のより小さなＡＡＭの選択的な順次適用により、トレーニング画像のトレーニングライブラリー内の高い割合の画像をフィッティングできるマシンを作成する（トレーニングする）ための動的アピアランスモデル構造（または方法）を示す図である。
【図２２】図２１の構造の一般的なプロセスフローを記載したフローチャートである。
【図２３】図２１の一般的構造のより詳細な実装である。
【図２４】動作中の図２３の構造のプロセスフローを示す図である。
【図２５】図２３の構造のトレーニングの一般的プロセスを示すフローチャートを示す図である。
【図２６】図２５のフローチャートのステップ１７３のより詳細な記載を示す図である。
【図２７】図２６のフローチャートのステップ１８１のより詳細な記載を示す図である。
【図２８】オペレーションフェーズの図２３の構造のデータフローを示すフローチャートを示す図である。
【図２９】図２３の構造の別のサンプル実装である。
【図３０】図２３の構造の別のサンプル実装である。
【発明を実施するための形態】
【００４９】
図２および３を参照すると、動的アピアランスモデルマシン（ＡＡＭ）２５は使用されうる前に、オブジェクトの特定のクラスを認識するようにまずトレーニングされなければならない。説明のため、以下の議論ではＡＡＭ２５が人間の顔の特定の特徴を認識するように設計されていると仮定するが、本発明は任意のオブジェクトのクラスに適用されうることを理解されたい。
【００５０】
顔モデル１は、個々のトレーニング画像１１＿１〜１１＿ｎ（すなわち有効な顔の真の例）のトレーニングライブラリー３１から構築されうる。典型的には、個人が、各トレーニング画像の各サンプル顔上に「ランドマーク」ポイントを手動で配置して、表されているオブジェクトのクラスに特有の特定の特徴の輪郭を描く。ランドマークポイントは、ランドマークポイントが全てのトレーニング画像に共通するオブジェクトのクラスの中の区別可能な特徴の輪郭を描くような方法で、選択されるのが理想的である。
【００５１】
例えば、人間の顔のクラスの共通の特徴は、目でありうる。顔トレーニング画像において人間の目のアピアランスのモデルを築くときには、目の端にランドマークポイントが配置されうる。これらの特徴は、各トレーニング画像において識別するのが容易なためである。しかし、ランドマークポイントに加えて、ＡＡＭ２５は、各トレーニング画像の様々なパッチ（または領域）でのアピアランスデータ（すなわち陰影データおよび／または色データおよび／またはテクスチャーデータなど）も活用して、顔モデル１の中の対応するパッチにつき許容可能なアピアランスの分布範囲を作成する。このアピアランスデータは、全体的統計解析において付加的特徴を構成する。
【００５２】
上述のように、動的アピアランスモデルマシン、ＡＡＭ２５は、オペレーションフェーズで使用されうる前に、トレーニングフェーズを経る。トレーニングフェーズにおいては、ＡＡＭ２５は、それが認識することが企図されるオブジェクトのクラス（すなわち本例においては人間の顔）のモデル画像および統計モデルを作成する。オペレーションフェーズにおいては、ＡＡＭ２５は、モデル画像および統計モデルを使用して、入力テスト画像の中のそのオブジェクトの特定のクラスを探索する（図３には示されていない）。
【００５３】
このトレーニングフェーズにおいては、ＡＡＭ２５は、トレーニング画像（１１＿１〜１１＿ｎ）のトレーニングライブラリー３１にアクセスを有するが、その各々は、ＡＡＭ２５が認識するために「学習する」ことが企図されるオブジェクトのクラスの例を有する。本例においては、ＡＡＭ２５が人間の顔クラスを識別するようにトレーニングされていると仮定されるので、トレーニングライブラリー３１は複数の真の顔のトレーニング画像（１１＿１〜１１＿ｎ）からなり、その各々が人間の顔の対象の特有の特徴の輪郭を描くランドマークポイントを有する。トレーニング画像１１＿１〜１１＿ｎは、互いに独立しているのが（すなわち一人の人間の対象の連続的ビデオキャプチャではなく、異なる人間の対象の例であり、および／または異なる表情および／またはアピアランスを有するなどが）好ましい。ライブラリー３１は、ＡＡＭ２５の内部および／または外部のメモリーストアに収容されうる。
【００５４】
ＡＡＭマシン２５がコンピューティングデバイスおよび／またはデータ処理デバイスにより具体化されうることを理解されたい。従来技術において一般に知られているように、そのようなコンピューティングデバイスおよびデータ処理デバイスは、一つ以上の中央処理ユニット、演算ユニット、レジスター、クロック、メモリー、入力／出力インターフェイス、ＧＰＵ、ＡＳＩＣ、ＰＬＡ、ＦＰＬＡ、バス、バスインターフェイス、ネットワーク接続、コントローラー、入力／出力デバイス、ディスプレイなどを含みうる。
【００５５】
ＡＡＭ２５は、学習モジュール２７および位置合わせモジュール２９を含む。トレーニングフェーズにおいては、学習モジュール２７がトレーニングライブラリー３１を調べ、統計解析を使用して、トレーニングライブラリー３１の中のトレーニング画像からの情報を組み合わせることにより、顔モデル１を作成する。学習モジュール２７が、顔モデル１の形状およびアピアランス特徴を定義する統計モデルフィッティング関数のための変形パラメーター（すなわち定義された制約を伴う可変特徴パラメーター）も定義するのが好ましい。変形パラメーターは、顔モデル１の形状およびアピアランスがトレーニングライブラリー３１の中のトレーニング画像の大部分と位置合わせされるのに十分に歪められるのを許容するようなものであるのが好ましい。
【００５６】
オペレーションフェーズにおいては、位置合わせモジュール２９がモデルフィッティング関数を最適化して、顔モデル１を、図示されていない入力テスト画像の中の人間の顔の可能性のある表示に対してフィッティングする（すなわち歪める、または位置合わせする）ことを試み、位置合わせされた（すなわちフィッティングされた）顔（出力画像）２８を出力する。
【００５７】
位置合わせモジュール２９は、トレーニングフェーズの間に学習モジュール２７からの結果をテストするためにも用いられうる。トレーニングフェーズにおいて、位置合わせモジュール２９が、ライブラリー３１の中の全てのトレーニング画像上へ顔モデル１を歪める（または同等に、顔モデル１上へトレーニング画像を歪める）ことを試みるために使用されうる。これは、学習モジュール２７により生成されるモデルパラメーターの有効性の尺度を提供するだろう。典型的には、位置合わせモジュール２９は、顔モデル１をライブラリー３１の中のトレーニング画像の９０％〜９５％に対してしかうまく位置合わせできない。
【００５８】
オペレーションフェーズにおいて位置合わせモジュール２９は、顔モデル１を調節して人間の顔の入力テスト画像に位置合わせしうるため、結果として得られる位置合わせされた顔２８は、効果的に顔モデル１上に「歪められ」（またはフィッティングされ）ている入力テスト画像の表示である。加えて、入力テスト画像が顔モデル１上にフィッティングされるので、結果として得られる位置合わせされた顔２８は、顔モデル１と同じ既知のサイズおよび形状を有し、その様々な特有の形状特徴（すなわち目、瞳孔、鼻、口輪郭、顎、眉など）およびアピアランス特徴が識別され、ラベル付けされ、マッピングされる（すなわちその位置が識別される）。位置合わせされた顔２８はこうして、必要に応じたさらなる処理のために理想的な状態にある。
【００５９】
トレーニングフェーズにおいては、上述の通り、学習モジュール２７が、入力テスト画像に顔モデル１をフィッティングまたは位置合わせするために使用される統計モデルの変形パラメーターを定義する。このプロセスにおける最初のステップは典型的に、トレーニングライブラリー３１の中の多くのトレーニング画像１１＿１〜１１＿ｎを位置合わせして、トレーニング画像の特有の特徴の間のバリエーションの範囲を確立することである。このプロセスは典型的に、距離の平方和を活用する。換言すれば、トレーニングフェーズの間にトレーニングライブラリー３１の中の多くのトレーニング画像を位置合わせするために、Ｌ2‐ノルムアプローチが典型的に用いられる。これは大体、トレーニングライブラリー３１の中のトレーニング画像の平均化と考えられうる。距離の平方和は、関心のある領域におけるバリエーションがより等間隔になるように、トレーニング画像をセンタリングする利点がある。このＬ2‐ノルムアプローチの図解例が、図５に楕円形状５１〜５５を用いて示される。
【００６０】
図５を参照すると、説明のため五つの楕円形状５１〜５５が示される。公知技術のプロクルステス分析法等、Ｌ2‐ノルムアプローチを形状位置合わせに使用することにより、楕円が第一クラスター５６に有効にセンタリングされる。それから平均形状５７が定義されうる。双頭矢印は、異なる楕円形状５１〜５５の平均形状５７からのバリエーションを示す。
【００６１】
比較のために、図６は同じ楕円形状５１〜５５を示すが、今回はＬ1‐ノルムアプローチを使用して楕円形状５１〜５５が位置合わせされる。Ｌ1‐ノルムアプローチは、共通のエッジに沿って楕円形状５１〜５５を位置合わせすることを試みる。その結果、共通に位置合わせされたエッジ６０を伴う第二クラスター５９が作成される。したがって、第二クラスター５９を使用して定義される平均形状６１は、トレーニング形状のもの、すなわち楕円形状５１〜５５に類似した形状を有する可能性がより低い。さらに、図６の中の双頭矢印で示されるように、バリエーションの両極端は図５のアプローチよりはるかに顕著である可能性があり、非常に小さなバリエーションから非常に大きなバリエーションまで広がりうる。したがって、当技術分野では一般に、Ｌ2‐ノルムアプローチを使用し、Ｌ1‐ノルムアプローチを使用しないよう教示する。
【００６２】
図示はしていないが、プロクルステス分析により、トレーニングライブラリー３１の中のトレーニング画像間のアピアランスバリエーションの平均化が同様に達成されうることを理解されたい。
【００６３】
図４を参照すると、図３と類似の全ての要素は類似の参照符号を有し上述されるが、オペレーションフェーズにおける一般的なＡＡＭ２５の構造は、トレーニングライブラリー３１を除外しうる。これは、トレーニングライブラリー３１からの関連する画像情報が、トレーニングフェーズで学習モジュール２７により定義される統計モデル（およびモデルパラメーター）により取り込まれただろうと考えられるためである。
【００６４】
動作時（すなわちオペレーションフェーズ）においては、ＡＡＭ２５に提示される予定の新たな入力画像（すなわち入力テスト画像）２１が、ＡＡＭ２５への提示前に、任意に前処理されうる。この前処理には、ＡＡＭ２５が認識するようにトレーニングされるタイプのオブジェクト（すなわちオブジェクトのクラス）（すなわち本例では人間の顔）が、入力テスト画像２１の中に実際に存在するかの最初の決定が含まれうる。これは、従来技術において一般に公知の顔検出アルゴリズムにより達成されうる。このプロセスは、入力テスト画像２１の中のより容易に識別可能な特有の顔特徴のいくつかで少なくとも数個のランドマークポイントも加えて、前処理された画像２３を作成しうる。位置合わせモジュール２９は、前処理された画像２３を受け取り（あるいは直接入力テスト画像２１を受け取り）、モデルフィッティング関数を最適化して顔モデル１を前処理された画像２３に位置合わせする（すなわち歪める、またはフィッティングする）ことを試み、位置合わせされた（すなわちフィッティングされた）顔３０を出力する。すなわち、位置合わせモジュール２９は、形状およびアピアランスのずれを同時に最小化することにより、その入力画像（すなわち入力テスト画像２１または前処理された画像２３）に対して、顔モデル１（形状およびアピアランスパラメーターの両方を含む）の最善の位置合わせを探索する。
【００６５】
このタイプの位置合わせの例が、図７に示される。様々なランドマークポイントが人間の顔の様々な特有の特徴をハイライトしている、前処理された画像４１が示される。説明のため、画像４３はランドマークポイントだけを示す。図示されていない顔モデルを、前処理された画像４１に位置合わせした結果が、出力されたフィッティングされた顔４５である。出力されたフィッティングされた顔４５において、形状およびアピアランス特徴の両方が位置合わせまたはフィッティングされていることに注意されたい。
【００６６】
追加の例として、顔モデルの入力テスト画像の上への位置合わせプロセスの様々なステージを示す四つの画像対７１〜７７が、図８に示される。各画像対の中で、左の画像はランドマークポイントによりハイライトされた顔モデルの形状位置合わせを示し、右の画像は入力画像上への顔モデルの形状およびアピアランスの両方の位置合わせを示す。画像対７１は、入力画像上の顔モデルの最初の位置を示す。画像対７３は、制約しないＡＡＭ探索の結果を示す。画像対７５は、右目中心を制約した結果を示し、画像対７７は右目中心および左眉を固定した結果を示す。画像対７７に示されるように、エラーが最小化されるにしたがい、顔モデルが入力テスト画像により良く位置合わせされる。
【００６７】
位置合わせプロセスの中の統計的最適化の詳細な説明は、本論の範囲外であるが、参照のために本明細書に概観を述べる。位置合わせプロセスは、各反復における最適化の小さな改善が得られる、反復プロセスである。典型的に反復プロセスは、さらなる改善または所定の最小閾値より大きな改善が達成できないときに終了する。典型的に位置合わせモジュール２９は、位置合わせにＬ2‐ノルムアプローチを使用する。
【００６８】
形状がｄ次元のｎポイントにより記述される場合、その形状は、個々のポイントの位置ベクトルの要素を連結することにより形成されるｎｄ要素ベクトルにより表されうる。例えば、２次元（２Ｄ）画像では、ｎのランドマークポイント｛（ｘi，ｙi）｝を、一つの例で２ｎの要素ベクトルｘ、ｘ＝（ｘ1，…，ｘn，  ｙ1，…，ｙn）として表せる。ｉのトレーニング画像を前提とすると、ｉのこのようなベクトルが生成されることとなる。そして、上記のようにサンプル画像が位置合わせされる。問題を簡単にするために、データの次元がｎｄからより扱いやすいものに減少されるのが好ましい。典型的にはこれは、データにＰｒｉｎｃｉｐａｌ  Ｃｏｍｐｏｎｅｎｔ  Ａｎａｌｙｓｉｓ（ＰＣＡ）を適用することにより達成される。データは、ｎｄ次元空間にポイントクラウドを形成する。ＰＣＡは、このクラウドの主軸を計算し、ｎｄより少ないパラメーターのモデルを使用して元のポイントの任意のものを近似することを可能にする。結果は、オブジェクトサンプルの形状バリエーションの線形モデルである。
【００６９】
オブジェクトまたは構造の完全な画像を作成するためには、その形状およびそのアピアランス（すなわち、オブジェクトの領域全体の光強度のパターンおよび／または色バリエーション）の両方がモデル化されることが必要である。画像パッチ全体のアピアランスの統計モデルを築くために、各トレーニング画像が、その基準ポイントが平均形状（すなわち顔モデル）にマッチするように歪められる。これは、従来技術において周知のように三角分割を使用して行われうる。それから、平均形状によりカバーされた領域全体の形状正規化画像から強度情報が抽出されて、アピアランスベクトルが形成される。
【００７０】
例えば図９では、Ｓ0およびＡ0が、顔モデル７２の形状およびアピアランスを定義しうる。ＰＣＡにより、形状バリエーションの程度Ｓ、およびアピアランスバリエーションの程度Ｔが得られる。したがって、形状のずれＳ’は、Ｓ’＝Ｓ−Ｓ0として定義されうる。ＰＣＡ（Ｓ’）が固有値の配列を生成するため、これをＰλsと記述でき、Ｐは固有ベクトルであり、λsは投影係数である。この表記を用いると、Ｓ＝Ｓ0＋Ｐλsである。同様に、アピアランスＴ’のずれは、Ｔ’＝Ｔ−Ａ0として定義されうる。再び、ＰＣＡ（Ｔ’）は固有値の配列を生じ、これはＡλaと記述でき、Ａは固有ベクトルであり、λaは投影係数である。この表記を用いると、Ｔ＝Ａ0＋Ａλaである。
【００７１】
図１０は、反復の一部として実施されうるような位置合わせプロセスを示す。顔モデル７２が、まず入力テスト画像Ｉ上に配置される。顔モデル７２の境界内にある入力画像Ｉの部分が識別され、形状のずれが関数Ｗ（Ｉ；ｐ）により定義され、式中ｐは、Ｐの固有ベクトルに対応する係数である。それから位置合わせ目的が、
【００７２】
【数１】
2012160178.tif 000003
として定義されうる。複数の反復後、位置合わせが最適化されて位置合わせされた出力顔７４が得られる。
【００７３】
上述のように、顔モデルを位置合わせするために、典型的にＬ2‐ノルムアプローチが使用される。これは、Ｌ2‐ＡＡＭと称されうる。しかし出願人は、Ｌ1‐ノルムアプローチを用いて、より確かな位置合わせが達成可能であることを発見し、これを本明細書においてＬ1‐ＡＡＭと称する。
【００７４】
目的は、Ｌ1最小化を使用して各反復の間にＡＡＭパラメーター更新を計算することである。これは、Ｌ2目的をＬ1最小化問題として表しなおすことにより達成される。各反復が、形状パラメーターｐおよびアピアランスパラメーターλを更新する。Ｌ1‐ノルム最小化アプローチを使用する利点は、最適解がスパースエラーベクトルＥ＝（Ａλ−Ｉ）をもたらすことであり、従来技術において公知のように、式中Ａはアピアランスベース（すなわち顔モデルの現在の反復）であり、Ｉは形状正規化モデルに歪められた位置合わせされる予定の入力画像（すなわち入力テスト画像または前処理された入力テスト画像）である。
【００７５】
Ｌ2‐ＡＡＭは、その目的を、
【００７６】
【数２】
2012160178.tif 000004
として定義しうる。
この目的は、以下のように、Ｌ1‐ＡＡＭとして再定義でき、
【００７７】
【数３】
2012160178.tif 000005
式中Ａ0＝平均アピアランス；（Ａ0＋Ａλ）＝顔の再構築；ＳＤ＝形状係数の最急降下行列；Ａ＝アピアランスベース（固有ベクトル）；Ｃ（λ）＝現在のアピアランスパラメーターに依存する係数行列；ｐ、Δｐ＝形状投影係数および更新；λ、Δλ＝アピアランス投影係数および更新；およびＩ（ｐ）＝現在の形状パラメーターに基づく画像から抽出されるアピアランスである。本質的に、Ｌ1‐ＡＡＭはＬ1‐ノルム（すなわちｌ1）に関して最小化するが、Ｌ2‐ＡＡＭはＬ2‐ノルム（すなわちｌ2）に関して最小化する。
【００７８】
二つのアプローチの間の基本的な違いは、Ｌ2‐ノルムがガウスノイズに対してロバストである一方、Ｌ1‐ノルムは外れ値ノイズに対してロバストであることである。すなわち、Ｌ1‐ノルムは、オクルージョンおよび異質のアーチファクトにより良く対処できる。Ｌ1‐ノルム公式化におけるアピアランスベースＡは、理想的にはトレーニングデータのＬ1‐分解により計算されねばならない。
【００７９】
現在のＬ1‐ＡＡＭマシンの利益のいくつかを反復するために、Ｌ1‐ＡＡＭミニマイザーに対する解は、Ｌ2‐ノルムよりもスパースな解を見つける。したがって、
【００８０】
【数４】
2012160178.tif 000006
に対する解ｘは、スパースエラーＥ＝ｙ−Ａｘをもたらすはずである。加えて、パフォーマンスを改善するために、アピアランスベーシスはＬ1‐分解により計算されねばならない。
【００８１】
これらの利点の視覚的説明が、図１２Ａ〜１２Ｃに示される。図１２Ａは、Ｌ1‐ノルムがオクルージョンに対してロバストであり、外れ値に自然に対処することを示す。図１２Ｂは、Ｌ1‐ノルムがさらにより小さなモデルサイズ（またはサブサンプリングされたモデルピクセル）に対処でき、したがってより高速な位置合わせを達成しうることを示す。図１２Ｃは、Ｌ1‐ＡＡＭにおいて、類似のオブジェクトがアピアランスベースにより非常にうまく表されることを示す。
【００８２】
図４に関して上で説明されるように、動的アピアランスモデル２５は、位置合わせされた顔３０を生成する。しかし、生成された位置合わせされた顔３０が、もっともらしい顔の真の表示（すなわち真の顔の現実的な例）となることは保証されない。位置合わせプロセスにおいて顔モデルの開始位置が良くない等の様々な状況により、不良な位置合わせがなされかねず、その結果、真の位置合わせされた顔としての出力であるにもかかわらず、真でない顔が出力されかねない。位置合わせ不良の顔モデルの例が、図１１に示される。図１１の両方の例において、顔モデルが入力テスト画像の半分に位置合わせされ、薄い顔輪郭により示されるように、歪んだ真でない顔がもたらされている。
【００８３】
真でない位置合わせされた顔を出力するのを回避するために、標準のＡＡＭマシンが、生成された位置合わせされた顔がＡＡＭマシンの出力に送られる前に、位置合わせユニット２９により生成される位置合わせされた顔の妥当性を検証するための正規顔分類器を組み込むように変更されることが目下提唱される。本例のＡＡＭが認識するようにトレーニングされるオブジェクトのクラスが人間の顔のクラスであるために、正規顔分類器が提唱されることが理解されねばならない。しかし一般に、ＡＡＭマシンがオブジェクトの任意の特定のクラスの画像を処理するようにトレーニングされる場合に、分類器は、位置合わせモジュールにより生成された位置合わせされた画像がオブジェクトの特定のクラスの真の表示であるかを決定するためにトレーニングされる正規クラス分類器となる。
【００８４】
図１３を参照すると、図３および４のものと類似の全ての要素は類似の参照符号を有し上に説明されているが、本ＡＡＭ２５は、正規顔分類器３４を組み込み、これが位置合わせモジュール２９から出力される位置合わせされた顔３３を受け取り、それを真の顔または真でない顔として分類する。正規顔分類器３４が位置合わせされた顔３３を真の顔と分類すれば、位置合わせは成功とみなされ、位置合わせされた顔３３がＡＡＭ２５から出力画像３５として出力される。正規顔分類器３４が位置合わせされた顔３３を真でない顔と分類すれば、位置合わせは失敗とみなされ、ＡＡＭ位置合わせは停止または再初期化される、すなわち次の入力画像が得られる。例えば本ＡＡＭ２５が顔の動きを追跡するシステム内にあり、ＡＡＭ２５が人間の対象から最初に取り込まれた画像を正確に位置合わせするのに失敗すると、ＡＡＭ２５の再初期化には、その人間の対象の新規の画像を取り込み、位置合わせプロセスを再試行するステップが含まれる。
【００８５】
従来技術において周知のように、正規顔分類器３４等の分類器は、複数の真のサンプル８１（すなわち本例においては真の顔のサンプル）と複数の真でないサンプル８２（すなわち真でない顔のサンプル）とを有するライブラリー８３によりトレーニングされる。正規顔分類器３４は、ライブラリー８３の真および真でないサンプルを検討した後に、真の顔と真でない顔を区別できる特性を識別するようになるのが理想的である。
【００８６】
好ましい実施形態においては、トレーニングライブラリー３１の中のトレーニング画像（図３参照）が、ライブラリー８３の構築において使用される。すなわち、真のサンプル８１は、トレーニングライブラリー３１からのトレーニング画像１１＿１〜１１＿ｎを含み（または少なくとも部分的に含み）、真でないサンプル８２は、トレーニングライブラリー３１のトレーニング画像に歪みを導入することにより構築される。このアプローチの利点は、トレーニング画像１１＿１〜１１＿ｎの中の特有の特徴が事前に手動で識別され画定され（図２を参照）、その結果正規顔分類器３４のトレーニングの間に、正規顔分類器３４がオブジェクトの特定のクラスの識別された特有の特徴に集中することがより見込まれる（または確実である）ことである。
【００８７】
ＡＡＭ２５がライブラリー８３の構築において用いられるのが、さらに好ましい。この場合は、ＡＡＭ２５を用いて、ライブラリー３１の中の各トレーニング画像（または少なくとも顔モデルがうまく位置合わせされるもの）の位置合わせされた顔が構築される。これにより、ライブラリー８３がフィッティングされた顔のライブラリー（すなわち事前に位置合わせされた顔のライブラリー）となる。真のサンプル８１が、真のフィッティングされた顔を含み、真でないサンプル８２が、歪められているがフィッティングされた顔と同じサイズおよび周囲輪郭を維持する真のフィッティングされた顔を含むのが、さらに好ましい。これにより、フィッティングされた顔のライブラリー８３の中の全ての画像（真のサンプル８１および真でないサンプル８２の両方）が、顔モデル１および位置合わせモジュール２９により生成される位置合わせされた顔３３と同じサイズおよび周囲輪郭を有するため、正規顔分類器３４のトレーニングがさらに促進される。
【００８８】
通常動作においては、正規顔分類器３４が位置合わせモジュール２９から出力される位置合わせされた顔３３を検査するため、位置合わせされた顔３３と同じサイズおよび周囲輪郭を有するフィッティングされた顔のライブラリー８３で正規顔分類器３４をトレーニングすることにより、正規顔分類器３４の成功率がさらに改善される。すなわち、正規顔分類器３４が位置合わせされた顔３３を真の顔としてまたは真でない顔として正しく分類する割合が、フィッティングされていない顔のライブラリーにより正規顔分類器３４をトレーニングするのに対して、改善される。  
【００８９】
しかし、（必ずしもトレーニングライブラリー３１からのものではない）適切なトレーニング画像の任意のライブラリーが、正規顔分類器３４をトレーニングするために用いられうることを理解されたい。とはいえ、トレーニング画像１１＿１〜１１＿ｎがＡＡＭ２５に提示されて、フィッティングされた顔のライブラリー８３が作成されるのが好ましい。作成されたフィッティングされた顔が手動で真の顔と承認されて、真の顔のポジティブトレーニングセット８１が構築された後、真の顔に歪みを導入して真でない顔のネガティブトレーニングセット８２を構築することにより、真でない顔のサンプルが構築される。二つのトレーニングセット８１および８２が組み合わせられて、フィッティングされた顔のライブラリー８３が作成され、これが正規顔分類器３４をトレーニングするために用いられる。
【００９０】
図１４を参照すると、フィッティングされた顔のライブラリー８３は、グラウンドトゥルースの完全にラベル付けされたサンプル顔から構築されるのが好ましい真の顔のサンプルのポジティブトレーニングセット８１を含み、ポジティブ顔サンプルの形状パラメーターをランダムに混乱させることにより算出されるのが好ましい真でない顔のサンプルのネガティブトレーニングセット８２を含む。混乱は形状モデル固有値に関するのがさらに好ましい。ポジティブ顔サンプル８１に所定の転位、スケール、および回転オフセットを適用することにより、ネガティブトレーニングセット８２のための追加の真でないサンプルが作成されうる。
【００９１】
ポジティブサンプルよりも多くのネガティブサンプルが正規顔分類器３４の構築において使用されるのが、目下好ましい。特に、ネガティブ対ポジティブトレーニングサンプルの１０：１の比が好ましい。
【００９２】
図１５を参照すると、図１３および１４と類似の全ての要素は類似の参照符号を有し上述されるが、処理ステージ９０は、正規顔分類器３４をトレーニングするために、当技術分野で周知のＨａａｒ特徴および／またはエイダブースティングを使用することが目下好ましい。あるいは、当技術分野で周知のように、サポートベクトルマシン（ＳＶＭ：ｓｕｐｐｏｒｔ  ｖｅｃｔｏｒ  ｍａｃｈｉｎｅ）または線形判別分析（ＬＤＡ：ｌｉｎｅａｒ  ｄｉｓｃｒｉｍｉｎａｎｔ  ａｎａｌｙｓｉｓ）も、正規顔分類器３４を作成するために用いられうる。正規顔分類器３４をトレーニングする具体的方法は本発明にとって重要でなく、分類器技術および分類器トレーニングの技術分野における任意の公知技術を用いて正規顔分類器３４をトレーニングしうることを理解されたい。
【００９３】
位置合わせされた顔３３は、位置合わせモジュール２９から出力されるが、所定の形状およびサイズを有し、これにより分類プロセスが促進されることが留意される。すなわち、顔モデル１（すなわち正規画像）が顔探索サイズを予め定義する。これにより、正規顔分類器３４が画像の一つのスケールを考慮すれば足りるため、効率が改善される。
【００９４】
代替的実施形態では、統合画像およびカスケード型弱分類器が、効率を改善するために用いられうる。このアプローチは、当技術分野で周知のＶｉｏｌａおよびＪｏｎｅｓ顔検出器を活用しうる。
【００９５】
したがって、ＡＡＭ２５に正規顔分類器３４を統合することにより、典型的なＡＡＭ位置合わせエラー技術を使用して可能であるよりも高い信頼性を達成しうる。
【００９６】
上述のＬ1‐ＡＡＭは、よりロバストな位置合わせを提供し、正規顔分類器の一般のＡＡＭの構造への統合により、ＡＡＭが誤ったポジティブ出力を生成する確率が減少する（すなわち、ＡＡＭがオブジェクトのクラスの真でない例を生成する可能性が減少する）。
【００９７】
一般のＡＡＭのもう一つの欠陥は、上述のように、ＡＡＭにおいて使用される統計モデルフィッティング関数の性質により、統計モデルフィッティング関数により定義される形状およびテクスチャーのノルムの中に対象がある入力画像だけが、モデル画像に位置合わせされうることである。
【００９８】
例えば、上述の顔フィッティングの実装においては、学習モデル２７は、トレーニングライブラリー３１の中の全てのトレーニング画像を概して平均することにより顔モデル１を作成し（図３参照）、可能なバリエーションの大多数にフィッティングするように設計された統計モデルフィッティング関数を定義し、これがノルムを定義する。このノルムの外のサンプルは棄却される。しかし、統計モデルフィッティング関数がフィッティングできない外れ値（すなわちノルムの外の真の例）が常に存在する。例えば、定義された統計モデルフィッティング関数は、典型的には統計モデルフィッティング関数が定義されるトレーニングライブラリー３１の中のトレーニング画像の９０％〜９５％しかフィッティングできないことが上に説明される。
【００９９】
この問題は、トレーニング画像の数が拡大されるにしたがってさらに深刻になる。トレーニングライブラリー３１は、典型的に２００〜３００未満のトレーニング画像からなる。トレーニングライブラリー３１が、より多数の真のバリエーションを認識できるＡＡＭを作成する努力において数千（または数百万）のトレーニング画像を含むように拡大された場合、結果として得られるＡＡＭの統計モデルフィッティング関数がフィッティングできる拡大されたトレーニングライブラリー３１の中のトレーニング画像は、さらに少ない割合になるだろう。これは、拡大されたトレーニングライブラリー３１が、統計モデルフィッティング関数がフィッティングできないより多数の外れ値（すなわち極端な真の例のより大きなサンプル）を含むと考えられることが原因である。したがって結果は、理論的に言えば、より信頼性が高いＡＡＭを作成するよりは、その拡大されたトレーニングライブラリー３１の中のフィッティングできるトレーニング画像の割合に関して信頼性のより低いＡＡＭとなる。
【０１００】
以下は、１０００を超える独立したトレーニング画像（すなわちビデオシーケンスから得られない画像）からなることが好ましい拡大されたトレーニングライブラリー３１に対処しうまく学習でき、拡大されたトレーニングライブラリー３１のサイズにより真に制限されないＡＡＭ構造を記載する。以下の構造は、拡大されたトレーニングライブラリー３１の中のＡＡＭがうまくフィッティングできる画像の割合を任意の所与の最低割合に、必要に応じて最大１００％まで改善することがさらに可能である。
【０１０１】
目下好適なＡＡＭ構造を記載する前に、好適なＡＡＭをトレーニングする新規の方法をまず記載することが有益である。本方法は、一連の統計モデルフィッティング関数を作成し、その各々が、拡大されたトレーニング画像のライブラリーの中のトレーニング画像の一部分に基づく。各統計モデルフィッティング関数が順々に同じＡＡＭ２５を使用して（すなわち同じ学習および位置合わせモジュール２７および２９を使用して）構築されうるが、図１６は明確化のため一連のＡＡＭ２５＿１〜２５＿４を伴う実施形態を示す。任意の数のＡＡＭを本発明において使用でき、単に説明のために四つのＡＡＭが示されていることを理解されたい。ＡＡＭ２５＿１〜２５＿４の各々が、個別の異なる顔モデルおよび対応する統計モデルフィッティング関数を生成するが、これは本明細書において、ＡＡＭ２５＿１〜２５＿４に対応してモデル＃１〜モデル＃４とラベル付けされる。
【０１０２】
トレーニング画像の全体の最初の広範なライブラリーは、数千のサンプルの真の画像を含むのが好ましいが、トレーニング画像の第一セットにまとめられ、ＳＥＴ１（３１＿１）と識別される。第一ＡＡＭ２５＿１の中の学習モジュール２７＿１が、ＳＥＴ１  ３１＿１にアクセスして、第一顔モデルおよび第一統計モデルフィッティング関数（すなわちモデル＃１）を作成する。この第一顔モデルおよび第一統計モデルフィッティング関数が、第一統計フィッティング対を構成する。それから、ＡＡＭ２５＿１の中の位置合わせモジュール２９＿１が、第一統計フィッティング対を使用して、ＳＥＴ１の中の一つ一つ全てのサンプル画像をフィッティングすることを試みる。すなわち、位置合わせモジュール２９＿１は、第一統計モデルフィッティング関数を使用して、ＳＥＴ１の中の一つ一つ全てのサンプル画像を第一顔モデルにフィッティングすることを試みる。位置合わせモジュール２９＿１がフィッティングに失敗した各サンプル画像（第一セットからの非マッチ画像、あるいは、ＳＥＴ１からの非マッチ画像）は、画像の第二セット、ＳＥＴ２に出力される。しかし、各フィッティングされた画像は、位置合わせされた出力画像２８として出力される。
【０１０３】
しかし、本実施形態においては、目下のＡＡＭが複数のサブＡＡＭ（２５＿１〜２５＿４）を含み、全てが同じ出力を共有するため、それぞれの出力は、フィッティングされた画像を現在出力している特定のサブＡＡＭだけからの出力を選択するマルチプレクサ２２を通過しうる。
【０１０４】
画像の第二セットＳＥＴ２は、トレーニング画像の新規のライブラリー（すなわち新規のサブライブラリー）を構成し、再処理のためにＡＡＭ２５＿１に提示されうるが、図の簡略化のため、ＳＥＴ２が第二ＡＡＭ２５＿２に適用されるのが示される。第一ＡＡＭ２５＿２の中の学習モジュール２７＿２が、ＳＥＴ２（３１＿２）にアクセスして、第二顔モデルおよび第二統計モデルフィッティング関数（すなわちモデル＃２）を作成する。
【０１０５】
それから、ＡＡＭ２５＿２の中の位置合わせモジュール２９＿２が、第二統計モデルフィッティング関数を使用して、ＳＥＴ２の中の一つ一つ全てのサンプル画像（ＳＥＴ１からの非マッチトレーニング画像）を第二顔モデルにフィッティングすることを試みる。位置合わせモジュール２９＿２がフィッティングに失敗した各サンプル画像（第二セットからの非マッチ画像、あるいは、ＳＥＴ２からの非マッチ画像）は、画像の第三セット、ＳＥＴ３（３１＿３）に出力される。しかし、各フィッティングされた画像は、位置合わせされた出力画像２８として出力される。この第二顔モデルおよび第二統計モデルフィッティング関数は、第二統計フィッティング対を構成する。画像の第三セットＳＥＴ３（３１＿３）は、トレーニング画像の新規のライブラリーを構成し、再処理のためＡＡＭ２５＿１に提示されうるが、図の簡略化のため、ＳＥＴ３が第三ＡＡＭ２５＿３に適用されるのが示される。第三ＡＡＭ２５＿３の中の学習モジュール２７＿３が、ＳＥＴ３（３１＿３）にアクセスして、第三顔モデルおよび第三統計モデルフィッティング関数（すなわちモデル＃３）を作成する。この第三顔モデルおよび第三統計モデルフィッティング関数が、第三統計フィッティング対を構成する。それから、ＡＡＭ２５＿３の中の位置合わせモジュール２９＿３が、第三統計モデルフィッティング関数を使用して、ＳＥＴ３の中の一つ一つ全てのサンプル画像（ＳＥＴ２からの非マッチトレーニング画像）を、第三顔モデルにフィッティングすることを試みる。位置合わせモジュール２９＿３がフィッティングに失敗した各サンプル画像（第三セットからの非マッチ画像、あるいは、ＳＥＴ３からの非マッチ画像）は、画像の第四セットＳＥＴ４（３１＿４）に出力される。しかし、各フィッティングされた画像は、位置合わせされた出力画像２８として出力される。
【０１０６】
第四画像セットＳＥＴ４（３１＿４）は、トレーニング画像の新規のライブラリー（または等価の新規のサブライブラリー）を構成し、再処理のためＡＡＭ２５＿１に提示されうるが、以前と同様に、説明のためにＳＥＴ４が第四ＡＡＭ２５＿４に適用されるのが示される。第四ＡＡＭ２５＿４の中の学習モジュール２７＿４が、ＳＥＴ４（３１＿４）にアクセスして、第四顔モデルおよび第四統計モデルフィッティング関数（すなわちモデル＃４）を作成する。この第四顔モデルおよび第四統計モデルフィッティング関数が、第四統計フィッティング対を構成する。それから、ＡＡＭ２５＿４の中の位置合わせモジュール２９＿４が、第四統計モデルフィッティング関数を使用して、ＳＥＴ４の中の一つ一つ全てのサンプル画像（ＳＥＴ３からの非マッチトレーニング画像）を第四顔モデルにフィッティングすることを試みる。各フィッティングされた画像が、位置合わせされた出力画像２８として出力される。位置合わせモジュール２９＿４がフィッティングに失敗した各サンプル画像は、破棄されうる。しかし、ＡＡＭのさらなるステージが所望される場合には、それらはさらなる処理のため第五画像セットに出力されうる。トレーニング画像の最初の広範なライブラリー（ＳＥＴ１，３１＿１）の中の全画像の所望の割合がフィッティングされるまで、ステージの数が増加されうることを理解されたい。
【０１０７】
図１７を参照すると、図３、４および１６と類似の全ての要素は類似の参照符号を有し上述されるが、代替的実施形態は、共通の位置合わせモジュール２９を共有する複数の学習モジュール２７＿１〜２７＿４を伴うＡＡＭ２５からなりうる。以前と同様に、トレーニング画像の全体の最初の広範なライブラリーは、数千のサンプルの真の画像を含むのが好ましく、トレーニング画像の第一セットにまとめられ、ＳＥＴ１（３１＿１）と識別される。ＡＡＭ２５の中の学習モジュール２７＿１が、ＳＥＴ１  ３１＿１にアクセスして、第一顔モデルおよび対応する第一統計モデルフィッティング関数（すなわちモデル＃１、または等価に、第一統計フィッティング対）を作成する。それから、位置合わせモジュール２９が、第一統計モデルフィッティング関数を使用して、ＳＥＴ１の中の一つ一つ全てのサンプル画像を第一顔モデルにフィッティングすることを試みる。各フィッティングされた画像が位置合わせされた出力画像２８として出力され、位置合わせモジュール２９がフィッティングに失敗した各サンプル画像が、第二画像セットＳＥＴ２（３１＿２）に出力される。
【０１０８】
また以前と同様に、第二画像セットＳＥＴ２が、トレーニング画像の新規のライブラリーを構成する。それから第二学習モジュール２７＿２が、ＳＥＴ２（３１＿２）にアクセスして、第二顔モデルおよび第二統計モデルフィッティング関数（すなわちモデル＃２、または等価に、第二統計フィッティング対）を作成する。位置合わせモジュール２９が、第二統計モデルフィッティング関数を使用して、ＳＥＴ２の中の一つ一つ全てのサンプル画像（ＳＥＴ１からの非マッチトレーニング画像）を第二顔モデルにフィッティングすることを試みる。各フィッティングされた画像が、位置合わせされた出力画像２８として出力されればよく、位置合わせモジュール２９がフィッティングに失敗した各サンプル画像が、第三画像セットＳＥＴ３（３１＿３）に出力される。
【０１０９】
それから、第三学習モジュール２７＿３がＳＥＴ３（３１＿３）にアクセスして、第三顔モデルおよび第三統計モデルフィッティング関数（すなわちモデル＃３、または等価に、第三統計フィッティング対）を作成する。位置合わせモジュール２９が再び第二統計モデルフィッティング関数を使用して、ＳＥＴ３の中の一つ一つ全てのサンプル画像（ＳＥＴ２からの非マッチトレーニング画像）を第二顔モデルにフィッティングすることを試み、フィッティングされた顔を出力しうる。位置合わせモジュール２９がフィッティングに失敗した各サンプル画像を用いて、第四画像セットＳＥＴ４（３１＿４）が定義される。
【０１１０】
第四画像セットＳＥＴ４（３１＿４）が、トレーニング画像の新規のライブラリーを構成し、学習モジュール２７＿４に提示されて、第四顔モデルおよび第四統計モデルフィッティング関数（すなわちモデル＃４、または等価に、第四統計フィッティング対）が作成される。それから位置合わせモジュール２９が、第四統計モデルフィッティング関数を使用して、ＳＥＴ４の中の一つ一つ全てのサンプル画像（ＳＥＴ３からの非マッチトレーニング画像）を第四顔モデルにフィッティングすることを試みる。各フィッティングされた画像が、位置合わせされた出力画像２８として出力されうる。位置合わせモジュール２９＿４がフィッティングに失敗した各サンプル画像は、破棄されうる。しかしまた以前と同様に、学習モジュールのさらなるステージが所望される場合には、位置合わせモジュール２９は、フィッティングできない画像をさらなる処理のため第五画像セットに出力しうる。トレーニング画像の最初の広範なライブラリー（ＳＥＴ１，３１＿１）の中の全画像の所望の割合がフィッティングされるまで、学習モジュールの数が増加されうることを理解されたい。
【０１１１】
第三実施形態が図１８に示されており、図３、４、１６および１７のものと類似の全ての要素は類似の参照符号を有し上述される。本実施形態では、ＡＡＭ２５の適用を繰り返し、各サイクルの間に別々のモデルが作成されることにより、複数のモデル（すなわちモデル＃１〜＃４）が作成される。それから、各作成されたモデルが、順に、好ましくは作成された順に、アクセスされうる。本例は四つのモデルの作成を示すため、図１８の構造は、少なくとも四つのサイクルを経、四つのモデルの各々が、個々に順に、好ましくは固定された予め定められた順にアクセスされる。
【０１１２】
以前と同様に、トレーニング画像の全体の最初の広範なライブラリー３１＿１は、数千のサンプルの真の画像を含むのが好ましいが、トレーニング画像の第一セットにまとめられ、これがＳＥＴ１と識別される。ＡＡＭ２５は、トレーニングのためＳＥＴ１へのアクセスを与えられる。第一サイクルは、学習モジュール２７をＳＥＴ１にアクセスさせることにより典型的なＡＡＭプロセスにしたがい、第一顔モデルおよび第一統計モデルフィッティング関数を作成し、これが集合的にモデル＃１と識別される。
【０１１３】
理解されるように、モデル＃１〜モデル＃４の各々が、その個別の統計モデルフィッティング関数を使用して、ＳＥＴ１からの異なる数の画像を、その個別の顔モデルに「フィッティング」または位置合わせしうる。これが言えるのは、四つのモデルの各々の違いのためだけでなく、各モデルが広範なライブラリー３１＿１からの画像の異なる割合（すなわち段階的に小さくなるプール）から作成されるためでもある。ＳＥＴ１の最大数の画像（または最大割合の画像）をフィッティングできるモデルが、学習モジュール１として識別され、アクセスシーケンスの第一モデルであるのが好ましい。ＳＥＴ１の次に多い数の画像（または次に大きな割合の画像）をフィッティングできるモデルが、学習モジュール２として識別され、アクセスシーケンスの次のモデルである、等々のようにして固定されたアクセスシーケンスが確立される。したがって本例では、学習モジュール４はシーケンスの最後のモデルをさし、ＳＥＴ１の最小数の画像をフィッティングまたは位置合わせできるモデルであり、学習モジュール３はＳＥＴ１の次に小さい数の画像をフィッティングできるモデルをさす。本場合には第一サイクルから、このサイクルの間に使用されるライブラリーのサイズが最も大きい（すなわち、トレーニング画像の全体の広範なライブラリー３１＿１を含む）ため、最大数の位置合わせされた画像が生じると仮定される。説明を簡単にするため、処理の各サイクルの間に作成されるモデルは、先行したサイクルより少ない数の画像を位置合わせできる現在のアクセスシーケンスの終わりに付加されるとさらに仮定される。したがって学習モジュール１、２、３および４はモデル＃１、＃２、＃３および＃４にそれぞれ対応するアクセスシーケンスを確立する。
【０１１４】
したがって第一サイクルの間には、学習モジュール２７が、広範なライブラリー３１＿１（すなわちＳＥＴ１）全体にアクセスし、第一顔モデルおよび第一統計モデルフィッティング関数を作成し、これが「モデル＃１」として格納される。位置合わせモジュール２９がその後モデル＃１を用いて、ＳＥＴ１の中の一つ一つ全ての画像を位置合わせすることを試みる。位置合わせモジュールが位置合わせに失敗した任意の画像は、ＮＥＷライブラリーＳＥＴ９０に集められる。位置合わせモジュール２９がＳＥＴ１の中の全ての画像にアクセスした後、次のサイクルが開始する。
【０１１５】
この次のサイクルでは、学習モジュール２７が、ＮＥＷライブラリーＳＥＴ９０の中の全ての画像にアクセスする。ＳＥＴ１はもう使用されない。学習モジュール２７は、第二顔モデルおよび第二統計モデルフィッティング関数を作成し、これが「モデル＃２」として格納される。位置合わせモジュール２９がその後モデル＃２を用いてＮＥＷライブラリーＳＥＴ９０の中の一つ一つ全ての画像を位置合わせすることを試みる。位置合わせモジュールが位置合わせに失敗した任意の画像は、将来の使用のために識別される。位置合わせされた全ての画像は、破棄されうる。したがって、現在の第二サイクルの最後には、サイクル２の間にうまく位置合わせされなかった全ての画像がＮＥＷライブラリーＳＥＴ９０に集められる。
【０１１６】
ＳＥＴ１およびＮＥＷライブラリーＳＥＴ１のための別々の識別されたメモリースペース３１＿１および９０は、説明のために示されることを理解されたい。必要に応じて、ＳＥＴ１の中の位置合わせに失敗した各画像が次のサイクルの間の使用のためにフラグされ、先行サイクルの間に既にうまく位置合わせされた任意の画像が将来のサイクルにおける使用から破棄される限り、ＳＥＴ１に対応する同じメモリースペース３１＿１が全てのサイクルの間に使用されうる。
【０１１７】
次のサイクル（本例のサイクル３）の間には、学習モジュール２７が、いずれの先行サイクルの間にもうまく位置合わせされなかった残りの画像に再びアクセスして、第三顔モデルおよび第三統計モデルフィッティング関数を作成し、これが「モデル＃３」として集合的に保存される。それから位置合わせモジュール２９がモデル＃３を用いて、以前に位置合わせされていない全画像を位置合わせすることを試みる。位置合わせモジュール２９が位置合わせに失敗した全ての画像が、将来の使用のためマークされ、ＮＥＷライブラリーＳＥＴ９０に集められうる。
【０１１８】
このプロセスが第四サイクルの間にリピートされてモデル＃４が作成される。この第四サイクルの間には、学習モジュール２７が、全先行サイクルの間にうまく位置合わせされなかった残りの画像を用いて、第四顔モデルおよび対応する第四統計モデルフィッティング関数を作成する。それから、位置合わせモジュール２９が、ＮＥＷライブラリーＳＥＴ９０の中の残りの画像を位置合わせすることを試みて、ＳＥＴ１の画像の目標割合の位置合わせを達成するために追加のサイクルが必要かを決定しうる。
【０１１９】
すなわち、以前に定義されたモデルのいずれかを使用してＳＥＴ１の中の全画像の所望の割合がうまく位置合わせされるまで、サイクルがリピートされうる。例えば、四サイクルの後でＳＥＴ１の中の全ての画像の９８％が位置合わせされたが、目標位置合わせ割合が９９％である場合は、９９％の目標割合が達成されるまで追加のサイクルが適用されうる。
【０１２０】
なお、各後続サイクルの間には、顔モデルおよびその対応する統計モデルフィッティング関数の作成において使用される画像のプールは、より多数の外れ値特徴を有する画像を使用して定義される。したがって、各後で作成される顔モデルおよび対応する統計モデルフィッティング関数は、外れ値画像の特定の真の例を識別するのにより適している。
【０１２１】
ＳＥＴ１の中の最大数の画像を位置合わせしたモデルは、学習モジュール１と指定される。本場合には、モデル＃１が最大割合の位置合わせされた画像を有すると仮定され、したがってこれが学習モジュール１と指定される。モデル＃２がＳＥＴ１の画像の次に多い位置合わせ数を達成すると仮定すると、それは学習モジュール２と指定される。同様に、モデル＃３およびモデル＃４は、ＳＥＴ１の次のより低い二つの数の画像を位置合わせするので、学習モジュール１および学習モジュール２とそれぞれ指定される。
【０１２２】
これにより、動作時に（学習モジュール＃１、または学習モジュール＃２、または学習モジュール＃３、または学習モジュール＃４に対応する）四つの学習モジュール９１〜９４のいずれかを利用することを選択できる、モジュラーまたは可変学習モジュール＃ｎ９５が形成される。説明のため、＃ｎは、任意の所与のサイクルの間に学習モジュール９１〜９４のいずれが使用されているかを示すための変数と考えられうる。
【０１２３】
動作時の本ＡＡＭの例が図１９に示され、図３、４および１６〜１８のものと類似の全ての要素は類似の参照符号を有し上に定義される。
【０１２４】
動作時には、ＡＡＭ２５に提示される予定の新規の入力画像（または新規のテスト画像）２１が任意に前処理されて、ＡＡＭ２５が認識するようトレーニングされるオブジェクトのクラスの中のオブジェクト（すなわち本例においては顔）が、入力画像２１の中に実際に存在するかが決定されうる。これは、従来技術において一般に公知の顔検出アルゴリズムにより達成されうる。このプロセスは、入力画像２１の中のより容易に識別可能な特有の顔特徴のいくつかで数個のランドマークポイントを任意に加えて、前処理された画像２３を作成しうる。
【０１２５】
本実施形態は可変学習モジュール＃ｎ９５を利用するが、これは複数の異なる学習モジュール９１〜９４の一つを動作時に選択する。ＡＡＭ２５がその受け取った画像（入力画像２１または前処理された画像２３）を位置合わせすることを複数回試み、可変学習モジュール＃ｎ９５が、各試行の間に利用可能な複数の学習モジュール９１〜９４のうちの異なる一つを選択するのが理想的である。本実施形態においては、学習モジュール９１〜９４のいずれの使用もリピートしないことは望ましくなく、したがって利用可能な学習モジュール９１〜９４の数により、以下で入力画像２１または前処理された画像２３であると仮定されるその受け取った画像をＡＡＭ２５が位置合わせすることを何度試みるかが決定される。
【０１２６】
カウンターＮ（すなわちレジスター９７）が、ＡＡＭ２５が前処理された画像２３を位置合わせすることを試みる際に使用した異なる学習モジュール９１〜９４の数を記録する。その使用をさらに促進するために、学習モジュール＃１〜学習モジュール＃４は、各々が位置合わせできた最初の広範なライブラリー３１＿１（図１８参照）の中の画像の数に関する有効性の順に配置されていると仮定した。したがって、学習モジュール＃１は、前処理された画像２３を位置合わせする最も大きな可能性があり、学習モジュール＃２が次に大きな可能性がある、等々となる。これらの仮定を用いて、カウンターＮはさらに、学習モジュール＃１、または学習モジュール＃２、または学習モジュール＃３、または学習モジュール＃４のいずれがＡＡＭ２５により現在用いられているかを示すと考えられうる。
【０１２７】
ＡＡＭ２５が前処理された画像２３をまず受け取るとき、カウンターＮはＮ＝１にセットされ、可変学習モジュール＃ｎ９５が学習モジュール＃１を使用に選択することを示す。したがって位置合わせモジュール２９が、学習モジュール＃１により定義される顔モデルおよび統計モデルフィッティング式を使用して、前処理された画像２３を位置合わせすることを試みる。位置合わせが成功なら（決定ポイント９７＝ＹＥＳ）、位置合わせされた顔３０が出力され、現在の位置合わせプロセスが終了する。位置合わせが失敗すると（決定ポイント９７＝ＮＯ）、カウンターＮが一インクリメントされ（Ｎ＝Ｎ＋１）、カウンターＮが最大カウント数より大きい値を有するかが決定される（決定ポイント１０１）。本例では、可変学習モジュール＃ｎ９５は、四つの異なる学習モジュール９１〜９４の中から選択できるので、最大カウントが４にセットされるのが好ましい。カウンターＮが４より大きければ、これは学習モジュール９１〜９４の全てが既に試行され、いずれも前処理された画像２３を位置合わせするのに成功しなかったことを示す。その場合位置合わせプロセスは失敗したものとみなされ、位置合わせされた画像を生成せずにプロセスが終了する。
【０１２８】
しかし、カウンターＮが最大カウントの４より大きくなければ、次の並びの学習モジュール９１〜９４が試行されることを示す。そして可変学習モジュール＃ｎ、９５が、カウンターＮにより示される学習モジュール９１〜９４を選択し、ＡＡＭ２５が前処理された画像２３を位置合わせすることを再び試みる。本場合には、Ｎは２の値までインクリメントされ、したがって位置合わせモジュール２９は学習モジュール＃２により定義される顔モデルおよび統計モデルフィッティング関数を使用して、前処理された画像２３を位置合わせすることを試みる。位置合わせが成功なら、位置合わせされた画像３０が出力され、プロセスが終了する。位置合わせが成功でなければ、カウンターＮをインクリメントし、列の次に並ぶ学習モジュールを選択することによりプロセスがリピートする。本例では、Ｎは３の値までインクリメントされることができ、可変学習モジュール＃ｎ、９５は、次の試行で学習モジュール＃３を選択する。
【０１２９】
このようにして位置合わせモジュール２９は学習モジュール９１〜９４の各々を順々に試行し、位置合わせが達成されるまで、または全ての学習モジュール９１〜９４が試行されるまで、前処理された画像２３を位置合わせすることを毎回試みる。このプロセスが、図２０にまとめられている。
【０１３０】
図２０を参照すると、第一ステップ１１１は、位置合わせのために新規の入力画像を受け取ることである。次の二つのステップは、上で説明したように任意である。必要に応じて、新規の入力画像の最初の検査がステップ１１３で行われて、受け取られた新規の入力画像が、ＡＡＭが認識するようにトレーニングされるオブジェクトのクラスの中のオブジェクトを表現するかを決定しうる。本例では、ステップ１１３は、受け取られた新規の入力画像が人間の顔を表現するかを決定する。表現しない場合は、処理はステップ１１１に戻って次の入力画像にアクセスし、または終結しうる。受け取られた新規の入力画像が人間の顔を表現するなら（ステップ１１３＝ＹＥＳ）、任意のステップ１１５で、受け取られた入力画像の中のより容易に識別可能な特有の特徴のいくつかの上にマーカーが配置されて、前処理された画像が作成されうる。
【０１３１】
カウンターＮはステップ１１７で１に初期化され、ステップ１１９が、カウンターＮが所定の最大カウント値より大きいかを決定する。上で説明したように、最大カウント値は、可変学習モジュール＃ｎ９５の中の利用可能な学習モジュールの数に等しい（すなわち上の例においてはモデル＃１〜＃４の数に等しい）のが好ましい。これは第一サイクルであるため、カウンターＮは最大カウント値よりまだ大きくなく、プロセスはステップ１２３へ進む。
【０１３２】
ステップ１２３においては、利用可能な学習モジュールの一つ（好ましくは学習モジュールナンバーＮ）が選択され、位置合わせモジュールが、学習モジュールＮにより定義される顔モデルおよび統計モデルフィッティング関数を利用して、前処理された画像を顔モデルに位置合わせすることを試みる。位置合わせが成功であるとステップ１２５において決定されると、位置合わせされた顔がステップ１２９で出力され、処理はステップ１３０で終了し、あるいはステップ１１１へ戻って処理のために他の入力画像にアクセスしうる。
【０１３３】
位置合わせが失敗したとステップ１２５により決定されると、カウンターＮがインクリメントされ、ステップ１１９が、Ｎが現在所定の最大カウント値より大きいかを決定する。Ｎが所定の最大カウント値より大きければ、全ての利用可能なモデル＃１〜＃３（すなわち、可変学習モジュール＃ｎ、９５が選択できる全ての利用可能な学習モジュール）が試行され、いずれも前処理された画像をうまく位置合わせできなかったことを示す。したがって、全体的位置合わせプロセスは失敗したとみなされ（ステップ１２１）、プロセスはステップ１３０で終了し、あるいはステップ１１１に戻って処理のために他の入力画像にアクセスしうる。
【０１３４】
Ｎが最大カウント値より大きくなければ（ステップ１１９＝ＮＯ）、利用可能な学習モジュールのラインシーケンスの次の学習モジュールが選択され、位置合わせモジュールがそれを用いて新たに位置合わせを試みる。
【０１３５】
このプロセスは、全ての利用可能な学習モジュールが試行されるまで（すなわちカウンターＮが所定の最大カウント値より大きい値までインクリメントされるまで）、または位置合わせモジュールが前処理された画像をうまく位置合わせするまで続く。
【０１３６】
より多数の真の外れ値の例を位置合わせできるＡＡＭマシンにおいてトレーニング画像の大きな広範なトレーニングライブラリーに対処する別の新しい方法は、分割統治アプローチをとることである。大きなトレーニングライブラリーは、学習モジュールにより作成される統計モデルフィッティング関数が複雑になり、（トレーニング画像のある割合がその統計モデルフィッティング関数によりフィッティングされないことを考慮すると）多数の可能な真の例をフィッティングすることが可能でないことを意味する。したがって、結果として得られる広範なＡＡＭは典型的に、多数の外れ値の真の例を位置合わせできないことになる。加えて、統計モデルフィッティング関数が、より多数の真の例を組み込むために比較的複雑になるため、広範なＡＡＭの中の位置合わせモジュールは、入力テスト画像を位置合わせすることを試みる際に統計モデルフィッティング関数を最適化するために必要な時間もより多くなる。本発明は、入力テスト画像を位置合わせするのに必要な時間を減らし、より多数の外れ値の真の例にうまく対応することを模索する。
【０１３７】
本アプローチは、より長いセットアップ／トレーニングフェーズとひきかえに、単一の広範なＡＡＭを複数のより小さなＡＡＭで置き換える。基本的に、トレーニング画像の広範なライブラリーが、まず複数のより小さなトレーニングサブライブラリーに分割され、より小さなトレーニングサブライブラリーの各々につき別々のＡＡＭが作成される。トレーニング画像が特定された特性にしたがってグループ分けされ、各グループが別々のトレーニングサブライブラリーを構成するのが好ましい。
【０１３８】
選択されたＡＡＭの順次適用により、入力テスト画像の適切な位置合わせを達成できる。すなわち、入力テスト画像が第一小ＡＡＭに提示されると、第一小ＡＡＭにより生成された中間の位置合わせされた画像が、順に第二小ＡＡＭに適用される。第二ＡＡＭから得られる位置合わせされた出力画像が、入力テスト画像の十分な位置合わせを達成しなければ、第二小ＡＡＭから得られた位置合わせされた出力画像が順に第三小ＡＡＭに適用される、等々となる。
【０１３９】
ＡＡＭの選択およびシーケンスは、入力テスト画像自体に依存する。好ましくは、入力テスト画像の位置合わせで使用されるＡＡＭの選択およびシーケンスは、選択されたＡＡＭの各適用により、結果として得られる位置合わせされた出力画像が、最終的な位置合わせされた画像に次第に近づいていくようなものである。
【０１４０】
図２１を参照すると、入力テスト画像１５８に描写されたオブジェクトのクラス（本例では人間の顔）を認識するための本発明によるオブジェクト認識デバイス１６０の一つの実装は、上でＡＡＭのオペレーションフェーズの記載において説明されるように入力テスト画像１５８の中で人間の顔がうまく識別されモデル画像にフィッティングされたものと仮定して、入力テスト画像１５８を受け取るための入力１５２と、最適化された位置合わせ画像１８０を出力するための出力１５４とを含む。すなわち、オブジェクト認識デバイス１６０が、識別するようトレーニングされるオブジェクトのクラス（すなわち人間の顔）の成功した認識として、最適化された位置合わせ画像１８０を出力する。
【０１４１】
本実施形態のトレーニングフェーズの中では、トレーニング画像の大きな広範なライブラリー（図示せず）が、トレーニング画像のグループに分割されているだろう。上で説明したように、広範なライブラリーのトレーニング画像（すなわちトレーニング画像の全グループの全ての画像の組み合わせ）の中の各トレーニング画像は、人間の顔の真の例を有し、各トレーニング画像の中で人間の顔の特有の特徴の所定のセットが識別されラベル付けされる。トレーニング画像の広範なライブラリーの中のトレーニング画像は、選択された特有の特徴（単数または複数）のいくつかの共有される特質（単数または複数）にしたがってグループ分けされ、その結果各グループの中の画像が、特定の特質（単数または複数）により定義される類似性を互いに有するのが好ましい。例えば、グループの中のトレーニング画像は、類似の顔形状、鼻形状、口形状、特定エリアのテクスチャートーン（単数または複数）、視線方向、シャドウィング、不明瞭領域等、または特徴特質の任意の組み合わせを有しうる。このようにして、トレーニング画像の各グループは、各グループの決定的な特有の特質にしたがって他と異なっている。すなわち、各トレーニング画像グループは、選択された特有の特徴（単数または複数）の共有する特質のリストにより区別される。
【０１４２】
トレーニング画像のグループへのソートが手動で実施される場合には、これらの特質は、ソートを行う個人（単数または複数）により決定されうる主観的なものでありうる。しかしこのソートは、代替的に所定の基準にしたがって自動化されうる。
【０１４３】
本例では、オブジェクト認識デバイス１６０が、八つの動的アピアランスモデル処理ブロック（すなわち八つのＡＡＭ）１６２、１６４、１６６、１６８、１７０、１７２、１７４、および１７６を含むのが示される。しかし、任意の数のＡＡＭが本発明の範囲内で想定されることを理解されたい。各ＡＡＭ処理ブロックは、それ自体の対応する学習モジュール（図示せず）および対応する位置合わせモジュール（図示せず）を含む。上で説明したように、各ＡＡＭ処理ブロックの中で、その対応する学習モジュールは、その対応するトレーニング画像のグループ（すなわちその対応するトレーニング画像のサブライブラリー）から、対応するモデル画像および統計モデルフィッティング関数を作成する。これも上で説明したように、各ＡＡＭ処理ブロックの中で、その対応する位置合わせモジュールは、複数の反復によりその対応する統計モデルフィッティング関数を最適化することにより、その対応するモデル画像を入力画像に位置合わせすることを試みる。
【０１４４】
各グループの中のトレーニング画像がいくつかの特有の特徴（単数または複数）における際立った特質を共有するため、各ＡＡＭ処理ブロックの結果として得られるモデル画像および統計モデルフィッティング関数は、それがトレーニングされるトレーニング画像のグループの特定の特質を反映する。したがって、各ＡＡＭ処理ブロックのモデル画像は異なり、異なるモデル画像が、それらの反映された（すなわちハイライトまたは強調された）特有の特質により互いから区別される。
【０１４５】
したがって、各ＡＡＭ処理ブロックは、その特定化された特有の特質を識別するようにトレーニングされる。基本的に、オブジェクトの特定のクラス（すなわち人間の顔）の真の外れ値の例が、ノルムからの形状／テクスチャーの偏差により特徴づけられるため、また、トレーニング画像の広範なライブラリーの中のこのような偏差を有するトレーニング画像が一緒のグループに分けられてそれら自体のグループ（すなわちそれら自体のトレーニングサブライブラリー）を形成しうるため、このようなグループから作成される結果として得られるＡＡＭ処理ブロックは、探索されるオブジェクトの真の例におけるこのような偏差を識別するように有効にトレーニングされる。さらに、グループが全体的な広範なライブラリーより少ない数のトレーニング画像を含むことから、各結果として得られるＡＡＭ処理ブロックは、比較的簡単化されたモデル画像および統計モデルフィッティング関数を有し、その対応する位置合わせモジュールのより高速な実行がもたらされる。したがって本発明は、オブジェクトの特定クラスの真の外れ値のケースをより大きな範囲で認識できるだけでなく、より高速な性能も達成できる。
【０１４６】
本例では、広範なトレーニングライブラリーは八つのトレーニング画像グループに分割され（図示せず）、八つのＡＡＭ処理ブロック１６２、１６４、１６６、１６８、１７０、１７２、１７４、および１７８の各々が、トレーニング画像の各八つのグループの対応する一つを使用してトレーニングされる。したがって各ＡＡＭが、異なるモデル画像および統計モデルフィッティング関数を有する。
【０１４７】
必要に応じて、元の広範なライブラリーの全ての画像を使用して全体的モデル画像１５０が構築されうる。すなわち、全体的モデル画像１５０は、全てのＡＡＭ処理ブロックをトレーニングするために用いられる全ての画像グループの全ての画像の組み合わせを使用して構築される。
【０１４８】
動作時には、入力テスト画像の十分な位置合わせを達成するために、利用可能なＡＡＭ処理ブロックの一つ以上を利用することが必要でありうる。図２１のイラスト例においては、入力テスト画像１５８が、入力テスト画像１５８に最も厳密に類似する（すなわちマッチする）モデル画像を有することから（またはその反映された特定の特質が入力テスト画像１５８上の同じ特質に最も厳密にマッチする統計モデルフィッティング関数を有することから）選択される第一ＡＡＭ処理ブロックに提示される。これは、入力テスト画像をＡＡＭ処理ブロック１６２〜１７６の各々のモデル画像と比較して、対応するモデル画像が入力テスト画像１５８に最も厳密に類似するＡＡＭを識別することにより決定されうる。類似（マッチング）の程度は、（例えば図１０に関して上で説明される）ずれの程度を用いて得られる。
【０１４９】
本例では、ＡＡＭ１６２が、入力テスト画像１５８に最も厳密にマッチするモデル画像を有することから、ＡＡＭ１６２〜１７６の全ての中から選択されると仮定される。ＡＡＭ１６４は、中間の位置合わせされた画像（図示せず）を出力する。それから、この中間の位置合わせされた画像が十分な位置合わせを達成しているかを決めるための決定がなされる。
【０１５０】
この決定は、この中間の位置合わせされた画像とＡＡＭ１６２のモデル画像とのずれの程度（あるいは、この中間の位置合わせされた画像と全体的モデル画像１５０とのずれの程度）を得ることによりなされうる。このずれの程度が所定の最大程度より大きくなければ、位置合わせは十分とみなされ、出力１５４を介して中間の位置合わせ画像を出力することにより処理が終了する。入力テスト画像１５８を位置合わせする試みにおいて所定の数のＡＡＭが順にアクセスされた場合、または現在のＡＡＭから得られる位置合わせの程度が、直前にアクセスされたＡＡＭから達成された位置合わせの程度より良くない場合にも、処理が終了しうる。すなわち、別のＡＡＭの追加の適用により、直前にアクセスされたＡＡＭにより達成されたものを上回る位置合わせの改善が達成されない場合には、処理が終了しうる。
【０１５１】
処理終結の条件のいずれも満たされず、ＡＡＭ１６２により出力される中間の位置合わせされた画像から得られる位置合わせの程度が、所定の最大程度より大きいと仮定すると、この中間の位置合わせされた画像が、別のＡＡＭに提示される。上で説明したように、モデル画像がそれに最も厳密に類似する（すなわちマッチする）ＡＡＭに提示されるのが好ましい。本例では、ＡＡＭ１６２から出力された中間の位置合わせされた画像は、ＡＡＭ１７２に提示されると仮定される。
【０１５２】
それから上記のプロセスがリピートする。再び、処理終結の条件のいずれも満たされず、ＡＡＭ１７２により出力される中間の位置合わせされた画像から得られる位置合わせの程度が、所定の最大程度より大きいと仮定すると、ＡＡＭ１７２から出力された中間の位置合わせされた画像は、別のＡＡＭに提示される。本例では、ＡＡＭ１７２から出力された中間の位置合わせされた画像は、ＡＡＭ１７０のモデル画像に最も厳密にマッチし、したがってさらなる処理のためにＡＡＭ１７０に提示されると仮定される。
【０１５３】
再び、処理終結の条件のいずれも満たされず、ＡＡＭ１７０から出力される中間の位置合わせされた画像から得られる位置合わせの程度が、所定の最大程度より大きいと仮定すると、ＡＡＭ１７０からの中間の位置合わせされた画像は、別のＡＡＭに提示される。本例では、ＡＡＭ１７０から出力された中間の位置合わせされた画像は、ＡＡＭ１６６のモデル画像に最も厳密にマッチし、したがってさらなる処理のためにＡＡＭ１６６に提示されると仮定される。
【０１５４】
本例は、ＡＡＭ１６６から出力される中間の位置合わせされた画像１８０が十分な位置合わせを達成しており（すなわち、その位置合わせの程度が所定の最大程度より大きくない）、したがってＡＡＭ１６６により生成される中間の位置合わせされた画像を出力１５４へ送り、処理が終了すると仮定する。
【０１５５】
ＡＡＭ選択シーケンスが、図２１に示されないデータ処理モジュールまたはデータ制御モジュールにより制御されうることを理解されたい。ＡＡＭ選択シーケンスを制御するためにこのようなデータ処理モジュールにより実施可能な一般的なデータフローが、図２２に示される。まず、選択されたＡＡＭに提示される予定の入力画像が受け取られる（ステップ２００）。必要に応じて、二つの変数がセットされうる（ステップ２０２）。第一変数ｃｕｒｒｅｎｔ＿ｉｍａｇｅは、どの画像が現在処理されているかを示す。したがってｃｕｒｒｅｎｔ＿ｉｍａｇｅは、最初は入力画像にセットされる。変数ｃｙｃｌｅ＿ｃｏｕｎｔを用いて、ステップ２０４を何回繰り返したかを記録しうる。ステップ２０４にまだ達していないため、ｃｙｃｌｅ＿ｃｏｕｎｔは、最初はゼロにセットされる。
【０１５６】
ステップ２０４においては、多くのＡＡＭの対応するモデル画像のうちいずれがｃｕｒｒｅｎｔ＿ｉｍａｇｅに最も厳密にマッチするかに基づいて、ＡＡＭが選択される。これは上で説明したように、ｃｕｒｒｅｎｔ＿ｉｍａｇｅと各ＡＡＭの対応するモデル画像とのずれの程度を比較することにより決定されうる。あるいは、対応する統計モデルフィッティング関数が、ｃｕｒｒｅｎｔ＿ｉｍａｇｅ上の類似の特質に最も厳密にマッチする特定の特質を識別するのに最適であるＡＡＭを識別することにより、この決定がなされる。それから、ｃｕｒｒｅｎｔ＿ｉｍａｇｅが選択されたＡＡＭに提示され、これが中間の位置合わせされた画像を生成する。
【０１５７】
ステップ２０４の処理を終えると、変数ｃｙｃｌｅ＿ｃｏｕｎｔがインクリメントされうる（ステップ２０６）。ステップ２０８は、ｃｙｃｌｅ＿ｃｏｕｎｔが所定の最大値に達したかをチェックする。基本的にこれは、中間の位置合わせされた画像を別のＡＡＭに何回提示し続けられるかについて上限を配置する。最大カウントに達していれば（ステップ２０８＝ＹＥＳ）、現在の中間の位置合わせされた画像がオブジェクトのクラス、すなわち人間の顔の成功した認識として出力されうる（ステップ２１６）。最大カウントに達していなければ（ステップ２０８＝ＮＯ）、処理はステップ２１０へと続く。
【０１５８】
ステップ２１０においては、データ処理モジュールが、中間の位置合わせされた画像と選択されたＡＡＭの対応するモデル画像（または画像の全グループの組み合わせから作成されたモデル画像）とのずれの程度が、所定の最大値より小さいかを決定する。小さければ（ステップ２１０＝ＹＥＳ）、処理が終了し、中間画像がオブジェクトのクラスの成功した認識として出力されうる（ステップ２１６）。もしそうでないなら（ステップ２１０＝ＮＯ）、さらなる処理が必要となりうる。
【０１５９】
ステップ２１２はまず、現在のサイクルにおいて直前のサイクルと比較して改善が達成されたかを決定する。ステップ２１２＝ＮＯであれば、現在の反復において全く改善が実現されなかった（または改善が所定の最低値より小さい）ことを示し、その場合には処理が終了し、現在の中間の位置合わせされた画像が、オブジェクトのクラスの成功した認識として出力されうる（ステップ２１６）。
【０１６０】
しかし、改善が達成されていれば（ステップ２１２＝ＹＥＳ）、変数ｃｕｒｒｅｎｔ＿ｉｍａｇｅが現在の中間の位置合わせされた画像にセットされ（ステップ２１４）、処理は別のサイクルのためステップ２０４に戻る。
【０１６１】
図２１および２２のアプローチは、各反復でｃｕｒｒｅｎｔ＿ｉｍａｇｅが全てのＡＡＭのモデル画像と比較されて、ｃｕｒｒｅｎｔ＿ｉｍａｇｅがいずれのＡＡＭに提示されるべきか決定されることを要する。多数のＡＡＭがある場合には、この選択プロセスは時間がかかりすぎうる。図２３に示される代替的アプローチは、シーケンスの次のＡＡＭを選択するためにｃｕｒｒｅｎｔ＿ｉｍａｇｅが比較されねばならないモデル画像の数を減らす（すなわち、チェックされる必要のあるＡＡＭの数を減らす）ために、階層ツリーアプローチを使用する。
【０１６２】
図２３を参照すると、目下好適なアプローチにおいては、トレーニング画像の大きな広範なトレーニングライブラリー１４０が、階層ツリー構造１３９に分割されるのが好ましい。このプロセスは、手動で達成されまたは自動化されうる。階層ツリー１３９は、トレーニング画像に示されるオブジェクトのクラスの特定の（所定の）特有の特徴の類似点にしたがってノード間のリンクパスを定義するのが好ましい。本例では、オブジェクトのクラスが人間の顔であり、各トレーニング画像の中の人間の顔の特定の特有の特徴が手動で識別されマッピングされていると仮定する。説明のため、広範なライブラリー１４０の全体から構築されたルートモデル画像Ｆ１が示されているが、上で説明したようにルートモデル画像Ｆ１の作成は任意でありうる。
【０１６３】
階層ツリー１３９の構築においては、広範なトレーニングライブラリー１４０がまず、特定の特有の特徴（単数または複数）の類似性（または非類似性）にしたがって、トレーニング画像の少なくとも二つのグループ１４１および１４２に分割される。例えば、顔形状、鼻形状、口形状、特定エリアのテクスチャートーン（単数または複数）、視線方向、シャドウィング、不明瞭領域の特有の特徴にしたがって、またはそのような特徴の任意の組み合わせにしたがって、画像が分割されうる。好ましくは、リーフノード（すなわち階層ツリー１３９において最下ノード）を構成するトレーニング画像の全てのグループが、所定の最大数より多くのトレーニング画像を有してはならない。画像のグループが所定の最大数より少ないトレーニング画像を有していた場合、それはリーフノードに指定されて固定されうる。（画像数がトレーニング画像の所定の最大数よりすでに小さい場合であっても）画像グループがさらに分割されるべき場合を決定するための他の基準は、ルートモデル画像Ｆ１等のノルムからの分散の程度または最大距離である。しかし、グループが所定の最大数より多くのトレーニング画像を有していた場合には、さらなる分割の対象となる親ノードに指定される。
【０１６４】
したがって、広範なライブラリー１４０がグループ１４１および１４２に分割された後、グループ１４１および１４２の各々のトレーニング画像の数がチェックされて、いずれかのグループが許容可能な最大数より少ないトレーニング画像を有するかが決定される。有する場合には、それがリーフノードと指定される。最大許容可能数より多くを有していれば親ノードに指定され、その下に追加の子ノードが構築される。
【０１６５】
階層ツリー構造においては、従来技術において周知のように、ルートノードが階層ツリーにおいて最上ノードであり、親ノードはその下にリンクされた少なくとも一つの他のノードを有するノードであり、子ノードはその上の親ノードにリンクされたノードであり、リーフノードはその下に子ノードのないノードである。リーフノードは事実上、ルートノードから下方に向かうリンクパス（またはブランチパス）に沿った最下ノードである。作成されたトレーニング画像のグループが、許容可能最大数より多くのトレーニング画像を有していれば、それは新規の親ノードと定義され、そのトレーニング画像が、この新規の親ノードの下に（リンクされた）二つの子ノードを構成する二つの新規のより小さなグループに分割される。この分割プロセスは、許容可能最大数を上回るトレーニング画像を有していないグループだけになるまで続く。
【０１６６】
図の簡略化のために、図２３の例では、トレーニング画像の各最終グループ（すなわち各リーフノード）の中に許容可能なトレーニング画像の最大数が、１０のトレーニング画像であると仮定され、最初の広範なトレーニングライブラリー１４０が合計２２のレーニング画像を有するとさらに仮定される。しかし、これらの数は説明の便宜のためにすぎず、実際には広範なトレーニングライブラリー１４０は、数百または数千のトレーニング画像を有しうることを理解されたい。本発明の目下好適な実際的適用においては、広範なトレーニングライブラリー１４０は、１０００の独立した画像（すなわちビデオシーケンスから得られる連続的画像でない）を有する。
【０１６７】
本例では、第一の構築されたグループ１４１は１２のトレーニング画像を有し、第二の構築されたグループ１４２は１０のトレーニング画像を有する。第二グループ１４２は１０のトレーニング画像を有する（すなわち最大許容可能数を上回るトレーニング画像を有しない）のでリーフノードに指定され、それ以上分割されない。
【０１６８】
第二グループ１４２の画像だけを使用して、新規のＡＡＭ１５１が定義される。以前のようにこれは、第二グループ１４２の１０のトレーニング画像全ての特有の特徴を使用して顔モデルＦ２および統計モデルフィッティング関数を構築する学習モジュール（図示せず）により達成される。説明の簡単のため、顔モデルＦ２は、第二グループ１４２により定義されるリーフノードと互換可能に用いられる。したがって、Ｆ２がリーフノード１を定義する。上で説明したように、ＡＡＭ１５１の中の位置合わせモジュール（図示せず）がその後この統計モデルフィッティング関数を活用して、受け取られた入力画像を位置合わせする。
【０１６９】
他方で、第一グループ１４１は最大許容数より多くのトレーニング画像（すなわち１０を上回るトレーニング画像）を有する。したがってこれは親ノードになるよう指定され、その１２の画像は、二つの新規のグループ１４５および１４７に、その親ノードＦ１を分割するのに使用されたのと同じまたは他の特有の特徴（単数または複数）にしたがって、さらに分割される。
【０１７０】
以前と同様に、第一グループ１４１の１２の画像は、各新規のグループ１４５および１４７のトレーニング画像がいくつかの類似の特有の特徴（単数または複数）を共有するように、類似性にしたがって分けられる。まず、第一グループ１４１の中の１２のトレーニング画像全ての特有の特徴を組み合わせて、新規の顔モデルＦ３が作成される。再び説明を簡単にするため、本明細書においてＦ３は、第一グループ１４１により定義される親ノードをさすために用いられる。したがって新規の顔モデルＦ３は新規の親ノードであり、ルートノードＦ１の下の子ノードでもある。
【０１７１】
本例では、第一グループ１４１の中の１２のトレーニング画像が、新規のグループ１４５および１４７に分割される。グループ１４５は５のトレーニング画像を有し、グループ１４７は７のトレーニング画像を有する。グループ１４５および１４７の両方が最大許容可能数の１０より少ないトレーニング画像を有するので、両方ともリーフノードになり、いずれの下にもさらなる子ノードは伴わない。グループ１４５および１４７の両方がリーフノードを定義するため、グループ１４５および１４７の各々につき別々の対応するＡＡＭが構築され、ＡＡＭ１５３およびＡＡＭ１５５がそれぞれもたらされる。
【０１７２】
第二ＡＡＭ１５３は、グループ１４５の中のトレーニング画像だけを使用して構築され、第三ＡＡＭ１５５は、グループ１４７の中だけのトレーニング画像を使用して構築される。以前のようにＡＡＭ１５３の構築には、グループ１４５のトレーニング画像だけの特有の特徴を使用して新規のモデル画像Ｆ４および新規の統計モデルフィッティング関数を定義する学習モジュール（図示せず）を、対応する位置合わせモジュール（図示せず）の構築とともに伴う。同様に、ＡＡＭ１５５の構築には、グループ１４７のトレーニング画像だけの特有の特徴を使用して別の新規のモデル画像Ｆ５および別の新規の統計モデルフィッティング関数を定義する新規の学習モジュール（図示せず）の構築を、別の対応する位置合わせモジュール（図示せず）の構築とともに伴う。
【０１７３】
したがって、階層ツリー１３９の構築の終了までには、最初の広範なトレーニングライブラリー１４０は、複数のより小さなグループ（またはサブライブラリー）１４２、１４５および１４７に分割され、サブライブラリー１４２、１４５および１４７の各々につき別々のＡＡＭ（それぞれ１５１、１５３および１５５）が構築されている。加えて、元の広範なトレーニングライブラリー１４０から切り分けられたトレーニング画像の異なるサブセット（すなわちグループ）から構築される顔モデル（Ｆ２〜Ｆ５）により、各子ノードが定義される。上で説明したように、ルートノードのモデル画像Ｆ１は、広範なトレーニングライブラリー１４０全体から任意に構築されてもよい。
【０１７４】
階層ツリー１３９ならびに（各々が対応するリーフノードＦ２、Ｆ４およびＦ５とそれぞれ一対一の関係を有する）三つの全てのＡＡＭ１５１、１５３、および１５５が完成すると、以下のように階層ツリー１３９を用いて入力画像が位置合わせされうる。
【０１７５】
図２４は、入力テスト画像１６１を位置合わせするための階層ツリー１３９の実装を示す。図２４においては、図２３と類似の全ての要素は類似の参照符号を有し上述される。まず入力テスト画像１６１が、ルートノードＦ１の下の二つのモデル画像と比較される。すなわち、入力テスト画像１６１がＦ２およびＦ３と比較されて、モデル画像Ｆ２およびＦ３との類似性の程度が確認され、これにより入力テスト画像１６１がモデル画像Ｆ２またはＦ３によりマッチするかが決定される。これは例えば、図１０に関して上述されるずれ決定技術により、または公知技術の他の任意の方法により達成されうる。
【０１７６】
本例では、入力テスト画像１６１がＦ３により類似すると仮定され、したがって階層ツリー１６１を下るパスはノードＦ３へ進む。Ｆ３はリーフノードではないので、現在処理されている画像（すなわち入力テスト画像１６１）が、Ｆ３の二つの子ノードＦ４およびＦ５と比較される。すなわち、入力テスト画像１６１がモデル画像Ｆ４およびＦ５と比較されて、入力テスト画像１６１が二つのモデル画像のいずれにより厳密に類似するかが決定される。目下では、入力テスト画像１６１はモデル画像Ｆ４により厳密にマッチすると仮定され、階層ツリー１３９を下に進んでノードＦ４へと進む。
【０１７７】
ノードＦ４はリーフノードである（すなわち下に子ノードを有しない）ため、入力テスト画像１６１は、ＡＡＭ１５３（すなわちノードＦ４に関連付けられたＡＡＭ）に提示される。ＡＡＭ１５３は上述のように入力テスト画像１６１を位置合わせすることを試み、第一位置合わせされた画像１６３を出力する。今度は、ＡＡＭ１５３により出力された第一位置合わせされた画像１６３が、入力テスト画像１６１の十分な位置合わせを提供するか、またはさらなる処理が必要かが、決定される。この決定は、ＡＡＭ１５３がその位置合わせを成功とみなしたかを検証することにより、または第一位置合わせされた画像１６３のＦ４との（あるいはＦ１との）類似性（すなわちずれ）をチェックすることにより行われうる。十分な位置合わせが達成されていれば、処理は終了し、第一位置合わせされた画像１６３が、全体的な位置合わせされた画像として出力される。位置合わせが十分でない（すなわち位置合わせの程度が所定の明細外）とみなされると、第一位置合わせされた画像１６３が、第二反復のため階層ツリー１３９に再提示される。
【０１７８】
この第二反復においては、第一位置合わせされた画像１６３がＦ２およびＦ３と比較されて、二つのモデル画像のいずれにより厳密にマッチする（すなわち類似する）かが決定される。本例では、第一位置合わせされた画像１６３が、Ｆ３よりＦ２とより厳密な位置合わせを有すると仮定され、したがって階層ツリー１３９を下に進んでノードＦ２へと進む。ノードＦ２はリーフノードであるため、第一位置合わせ画像１６３が、位置合わせのためにＡＡＭ１５１に提示される。ＡＡＭ１５１は第二位置合わせされた画像１６５を出力し、その後これがチェックされて、十分な位置合わせが達成されているか、またはさらなる処理が必要かが、決定される。以前と同様にこの決定は、ＡＡＭ１５２が第二位置合わせ画像１６５を有効とみなしたかを検証することによりなされればよく、または第二位置合わせされた画像１６５のモデル画像Ｆ２（またはモデル画像Ｆ１）との類似性の程度（またはずれ、すなわちミスマッチ）を得ることにより決定されうる。十分な位置合わせが達成されていれば（または位置合わせの程度が直前の反復から改善されていなければ、または所定の数の反復が実行されていれば）、処理が終了する。位置合わせが十分でない（すなわち位置合わせの程度が所定の明細外）とみなされれば、第二位置合わせされた画像１６５が、第三の反復のため階層ツリー１３９に再提示される。
【０１７９】
以前と同様にこの第三反復は、階層ツリー１３９の一番上で、第二位置合わせされた画像１６５のモデル画像Ｆ２およびモデル画像Ｆ３とのずれを比較することにより開始する。本例では、第二位置合わせされた画像１６５はモデル画像Ｆ３によりマッチすると仮定され、階層ツリー１３９を下に進んでノードＦ３へと進む。ノードＦ３はリーフノードでないため、第二位置合わせされた画像１６５はそれからＦ３の子ノードＦ４とおよびＦ５と比較される。すなわち、第二位置合わせされた画像１６５がモデル画像Ｆ４と、そしてモデル画像Ｆ５と比較されて、これらの二つのモデル画像のいずれに最も厳密にマッチする（すなわちより位置が合う）かが決定される。本例においては、第二位置合わせされた画像１６５はモデル画像Ｆ５とより厳密に位置が合うと仮定され、したがって階層ツリー１３９を下に進んでノードＦ５へと進む。
【０１８０】
ノードＦ５では、第二位置合わせされた画像１６５がＡＡＭ１５５に提示されるが、これはノードＦ５に関連付けられたＡＡＭである。以前と同様に、ＡＡＭ１５５が第二位置合わせされた画像１６５をそのモデル画像Ｆ５と位置合わせすることを試み、第二位置合わせ画像１６５を位置合わせするのに成功すれば、ＡＡＭ１５５は第三位置合わせされた画像（図示せず）を出力する。以前と同様に、十分な位置合わせが達成されているかを決定するための、決定がなされうる。また以前と同様にこの決定は、ＡＡＭ１５５がその出力第三位置合わせ画像を成功した位置合わせとみなすかに基づいて、または第三位置合わせ画像とモデル画像Ｆ５（またはモデル画像Ｆ１）との間のずれの程度により、なされうる。十分な位置合わせが達成されていれば（または位置合わせの程度が直前の反復から改善していなければ、または反復の所定の最大数が実行されていれば）、処理が終了する。そうでなければ、第三位置合わせされた画像が、第四の反復のため階層ツリー１３９に再提示されうる、等々となる。
【０１８１】
本例においては三回の反復が記載され、広範なライブラリー１４０の２２全ての元のトレーニング画像からの情報を有効に活用したが、これは説明目的にすぎない。より実際的な適用においては、広範なライブラリー１４０は数千の独立した真のサンプル画像を有し得、各リーフノードに限定される画像の最大数は１００の画像でありうる。実際には、真の外れ値の例のテスト画像を含む入力テスト画像を適切に位置合わせするために５〜１０回の反復が典型的に十分であることが分かっている。各リーフノードの各（比較的）小さなＡＡＭは、広範なトレーニングライブラリー１４０の中の全てのトレーニングライブラリーの全体から構築される単一の広範なＡＡＭよりもはるかに複雑度が低いため、処理時間が減じられ、より多数の真の外れ値の画像を位置合わせする際の精度が高められる。
【０１８２】
図２３および２４に示されるような階層的ＡＡＭをトレーニングするためのプロセスの概要が、図２５に示される。第一ステップ１７１は、ラベル付けされ識別されたオブジェクトのクラス（すなわち人間の顔）の特有の特徴を各々が有する、真のトレーニング画像のトレーニングライブラリーにアクセスすることである。このトレーニングライブラリーは、多数のトレーニング画像を有する広範なトレーニングライブラリーであるのが好ましい。次に、ステップ１７３において階層ツリーが構築される。基本的に、広範なトレーニングライブラリーのトレーニング画像が、トレーニング画像の所定の特定の特有の特徴（単数または複数）の類似性にしたがって（例えば一つ以上の類似性または非類似性の程度にしたがって）、階層ツリー構造に配置される。階層ツリー構造は、ルートノード（すなわち最上ノード）と、複数の内部ノード（すなわち少なくとも上に親ノードと下に子ノードを有するノード）と、複数のリーフノード（すなわち下に子ノードのない終端ノードまたは最下ノード）とを有するように構築される。内部ノードは、ルートノードからリーフノードの各々へのリンクパスを定義する。各非リーフノードでは、トレーニング画像が、特有の特徴（単数または複数）のいくつかの類似性にしたがって、少なくとも二つの画像グループに分割され、少なくとも二つのグループの各々が子ノードを定義する。各リーフノードのサンプル画像の数が所定の最大数より大きくないように、リーフノードの数が選択される。最後にステップ１７５で、各個別のリーフノードに関連付けられたトレーニング画像だけを使用して、リーフノードごとに別々のＡＡＭが作成される。
【０１８３】
図２３に関して階層ツリーの好ましい構築の説明を上に提供したが、ステップ１７３を実施する（すなわち階層ツリーを構築する）ための代替的説明が図２６に示される。
【０１８４】
図２６を参照すると、最初のステップ１７７でルートノードが定義され、トレーニング画像の広範なトレーニングライブラリーの全体がそれに関連付けられる。ステップ１７９において、二つの変数が開始されうる。第一変数「ｃｕｒｒｅｎｔ＿ｎｏｄｅ」は、作業されている現在のノードを指示し、最初は現在構築されている唯一のノードであるルートノードにセットされる。図２３に関して上で説明したように、階層ツリーは、最上ノード（すなわちルートノード）から各最下ノード（すなわち各リーフノード）へ下るパスに、複数のレベルの内部ノードを有しうる。階層ツリーにおいて「深さ」という用語は、ルートノードから下方へ向けて横断される特定のレベルを記述するために用いられうる。したがって第二変数「ｃｕｒｒｅｎｔ＿ｎｏｄｅ＿ｄｅｐｔｈ」は、ｃｕｒｒｅｎｔ＿ｎｏｄｅが位置するルートノードから下った深さレベルを識別するために用いられうる。ルートノードがこれまでに構築されている唯一のノードであるため、変数ｃｕｒｒｅｎｔ＿ｎｏｄｅ＿ｄｅｐｔｈは、最初はルートノードのノード深さにセットされる。
【０１８５】
ステップ１８１においてはｃｕｒｒｅｎｔ＿ｎｏｄｅが処理されるが、これは、現在のノードに関連付けられたトレーニング画像の数がリーフノードとして分類されるには多すぎれば、ｃｕｒｒｅｎｔ＿ｎｏｄｅに関連付けられたトレーニング画像が、特定の特有の特徴（単数または複数）の類似性にしたがって二つのグループに分割されることを意味する。処理はさらに、二つの新規に作成されたグループのいずれかのトレーニング画像の数が、所定の最大数より大きいかを決定するステップを含む。グループのトレーニング画像の数が最大数より大きくなければ、そのグループはｃｕｒｒｅｎｔ＿ｎｏｄｅの下のリーフノードに指定される。グループの画像の数が最大数より大きければ、そのグループは、ｃｕｒｒｅｎｔ＿ｎｏｄｅの非リーフの子ノードに指定される。
【０１８６】
ｃｕｒｒｅｎｔ＿ｎｏｄｅの処理後は、横に移動して同じ深さの他のノードをｃｕｒｒｅｎｔ＿ｎｏｄｅとして処理しうる。このようにして、階層ツリーの次のレベルへ下方に向かって進む前に共通のレベルの全てのノードが処理される。これを行うために、ステップ１８３がまず、現在の深さレベルにステップ１８１にしたがって処理されていない他のノードがあるかを決定する。現在の深さレベルのノードが全て処理されていなければ（ステップ１８３＝ＮＯ）、ステップ１８５が、現在のレベルの未処理の次のノードにｃｕｒｒｅｎｔ＿ｎｏｄｅを再付与し、ステップ１８１に戻ってその次のノードを処理する。このようにして、現在の深さレベルの全てのノードがステップ１８１の処理に適用されるまでステップ１８１〜１８５が繰り返す。
【０１８７】
現在の深さレベルの全てのノードが処理されると（ステップ１８３＝Ｙｅｓ）、ステップ１８７が、ｃｕｒｒｅｎｔ＿ｎｏｄｅの下の次の深さレベルに非リーフの子ノードがあるかをチェックする。あれば（ステップ１８７＝Ｙｅｓ）、ステップ１８９でｃｕｒｒｅｎｔ＿ｎｏｄｅ＿ｄｅｐｔｈを次のより低い深さレベルにインクリメントすることにより階層ツリーの次のより低い深さレベルへ進む。それから処理はステップ１８５へ進み、ｃｕｒｒｅｎｔ＿ｎｏｄｅ＿ｄｅｐｔｈの中で未処理のノードにｃｕｒｒｅｎｔ＿ｎｏｄｅが付与される。
【０１８８】
しかし、ｃｕｒｒｅｎｔ＿ｎｏｄｅの下に非リーフノードがなければ（ステップ１８７＝ＮＯ）、階層ツリーは完了し、プロセスが終了する（ステップ１９０）。
【０１８９】
ステップ１８１で使用される処理の実装の例は、図２３に関して上述したが、図２７に別の説明が提供される。最初のステップ１９１がまず、ｃｕｒｒｅｎｔ＿ｎｏｄｅに関連付けられたトレーニング画像の数が、許容可能な画像の最大数より大きい（すなわちｍａｘ＿ｉｍａｇｅ＿ｃｏｕｎｔより大きい）かを、決定する。大きくなければ（ステップ１９１＝ＮＯ）、ｃｕｒｒｅｎｔ＿ｎｏｄｅはリーフノードであり、ステップ１９２でそのリーフノードに関連付けられたトレーニング画像を使用してＡＡＭが構築される。あるいは、ステップ１９１＝ＮＯの場合に、ｃｕｒｒｅｎｔ＿ｎｏｄｅに関連付けられたトレーニング画像により作成されたモデル画像の分散の程度、またはこの作成されたモデル画像の最大距離が、平均モデル画像からの最大距離より大きいかをチェックして、それが複数ノードにさらに分けられるべきかをなお決定することもできる。しかし、これらの代替的基準が使用されないと仮定すると、ステップ１８１の処理は終了し、処理は図２６のステップ１８３へ進みうる。
【０１９０】
あるいは、ステップ１９１＝ＹＥＳなら、ｃｕｒｒｅｎｔ＿ｎｏｄｅに関連付けられたサンプル画像の数がｍａｘ＿ｉｍａｇｅ＿ｃｏｕｎｔより大きいことを意味するが、その場合にはｃｕｒｒｅｎｔ＿ｎｏｄｅに関連付けられたトレーニング画像を使用して新規のモデル画像が作成される（ステップ１９３）。加えて、ｃｕｒｒｅｎｔ＿ｎｏｄｅの関連付けられたサンプル画像が、トレーニング画像の必要に応じてあらかじめ特定されうる特有の特徴（単数または複数）の類似性（または非類似性）にしたがって、サンプル画像の少なくとも第一および第二グループにサブ分割される（ステップ１９５）。
【０１９１】
サンプル画像の第一および第二グループだけが作成される場合には、ｃｕｒｒｅｎｔ＿ｎｏｄｅの下にリンクされた第一子ノードが作成され、サンプル画像の第一グループがこの第一子ノードに関連付けられる（ステップ１９６）。同様に、第二子ノードがｃｕｒｒｅｎｔ＿ｎｏｄｅの下にリンクされて作成され、サンプル画像の第二グループが、第二子ノードに関連付けられる（ステップ１９７）。
【０１９２】
あるいは、サンプル画像の第一および第二グループより多く作成される場合には、作成されるサンプル画像のグループにつき別々の子ノードが作成される。各作成される子ノードはｃｕｒｒｅｎｔ＿ｎｏｄｅの下にリンクされて作成され、それが作成されたサンプル画像のグループが、作成された子ノードに関連付けられる。
【０１９３】
これがステップ１８１の処理を終了させ、それから進みは図２６のステップ１８３へと続きうる。
【０１９４】
動作時の入力テスト画像を位置合わせするための階層ツリーの使用は、図２４に関して上述したが、説明を簡単にするために、図２８に第二の説明が提供される。
【０１９５】
図２８を参照すると、新規の入力テスト画像（すなわち新規の入力画像）が受け取られ、メモリーポインター（すなわち変数）ｃｕｒｒｅｎｔ＿ｉｍａｇｅが、新規に受け取られた入力テスト画像を指示するように作成される（ステップ２０１）。以前のように変数ｃｕｒｒｅｎｔ＿ｎｏｄｅは、現在処理されているノードを指示するために用いられうる。階層ツリーを通じた進みがこのルートノードで開始するため、ｃｕｒｒｅｎｔ＿ｎｏｄｅは、最初はルートノードにセットされる（ステップ２０３）。現在のノードがルートノードであるため、この第一反復においてはｃｕｒｒｅｎｔ＿ｎｏｄｅの下に少なくとも二つの子ノードがあると仮定される。便宜のために、ｃｕｒｒｅｎｔ＿ｎｏｄｅの下の二つの子ノードは、左の子ノードおよび右の子ノードとして識別されるが、ｃｕｒｒｅｎｔ＿ｎｏｄｅの下に二つ以上の子ノードがある場合には他の適切な命名規則が使用されうることを理解されたい。
【０１９６】
ステップ２０５においては、ｃｕｒｒｅｎｔ＿ｉｍａｇｅが、その子ノードの各々に関連付けられたモデル画像と比較され、次の処理ステップは、ｃｕｒｒｅｎｔ＿ｉｍａｇｅと最も類似する（すなわち、より良くマッチする、またはより厳密に位置合わせされる）子ノードへ進む。本例では二つだけの子ノードが用いられると仮定されるので、ｃｕｒｒｅｎｔ＿ｉｍａｇｅが左の子ノードにより厳密にマッチすれば（ステップ２０５＝ＬＥＦＴ）、階層ツリーを通じた進みは次のより低いレベルへ進み、ｃｕｒｒｅｎｔ＿ｎｏｄｅが左の子ノードにセットされる（ステップ２０７）。逆にｃｕｒｒｅｎｔ＿ｉｍａｇｅが右の子ノードにより厳密にマッチすれば（ステップ２０５＝ＲＩＧＨＴ）、階層ツリーを通じた進みは次のより低いレベルへ進むが、ｃｕｒｒｅｎｔ＿ｎｏｄｅは右の子ノードにセットされる（ステップ２０９）。
【０１９７】
この時点で（ステップ２１１）、ｃｕｒｒｅｎｔ＿ｎｏｄｅがリーフノード（すなわち最下ノード）であるかが決定される。現在のノードがリーフノードでなければ（ステップ２１１＝ＮＯ）、ｃｕｒｒｅｎｔ＿ｎｏｄｅのレベルの下に少なくとももう一つの階層レベルがあり、処理はステップ２０５に戻って、ｃｕｒｒｅｎｔ＿ｉｍａｇｅをｃｕｒｒｅｎｔ＿ｎｏｄｅの下の左および右の子ノードに関連付けられたモデル画像と比較する。しかし、現在のノードがリーフノードであれば（ステップ２１１＝ＹＥＳ）、処理はステップ２１３へ進み、ｃｕｒｒｅｎｔ＿ｉｍａｇｅがｃｕｒｒｅｎｔ＿ｎｏｄｅに関連付けられたＡＡＭに提示され、これにより関連付けられたＡＡＭから出力される新規の位置合わせされた画像が作成される。
【０１９８】
上で説明したように、新規の入力テスト画像の十分な位置合わせが達成された時を決定するための複数の方法がある。四つの方法（またはこれらの組み合わせ）が、図２１〜２４に関して上述される。第一の方法は、反復の数を５等の最大サイクル数に制限することであるが、実際には５〜１０のサイクルが十分であることが分かっている。第二の方法は、ずれの最小許容可能程度を確立し、（現在のリーフノードのモデル画像との、あるいはルートノードのモデル画像との）ずれの最小許容可能程度が達成された時に階層ツリーを通じたサイクリングを終了することである。第三の方法は、現在の反復後に直前の反復と比較してずれのさらなる減少が達成されない時に階層ツリーを通じたサイクリングを終了することである。第四の方法は、リーフノードの関連付けられたＡＡＭの、入力画像をうまく位置合わせしたかの決定を、さらなる反復を続行すべきかの決定に組み込むことである。これらの方法は組み合わせられて、合理的処理時間の中でいつ位置合わせが達成されたかのよりロバストな決定が行われうる。例示として、図２８の例は、階層ツリーを通じた別のサイクルが正当化されるかの決定に最初の三つの方法を組み込んでいる。
【０１９９】
ステップ２１５においては、階層ツリーを通じたサイクルの数が最大許容サイクル数に達しているかを決定する。達していれば（ステップ２１５＝ＹＥＳ）、処理が終了し（ステップ２１９）、ｃｕｒｒｅｎｔ＿ｉｍａｇｅが、全体的な位置合わせされた画像として出力されうる。しかし、現在のサイクルカウントが最大数を上回っていなければ、処理はステップ２２１へ進む。
【０２００】
ステップ２２１においては、新規の位置合わせされた画像と現在のリーフノードの（またはルートノードの）モデル画像とのずれの程度が、所定の最大値のずれの程度と比較される。そのほうが大きければ（ステップ２２１＝ＹＥＳ）、処理はステップ２２３へ続き、そうでなければ（ステップ２２１＝ＮＯ）処理は終了し（ステップ２１９）、ｃｕｒｒｅｎｔ＿ｉｍａｇｅが全体的な位置合わせされた画像として出力されうる。
【０２０１】
ステップ２２３においては、直前のサイクル以来、所定の最低限の位置合わせの改善が現在のサイクルにおいて達成されたかが決定される。最低限の改善が達成されていなければ（ステップ２２３＝ＮＯ）、処理は終了し（ステップ２１９）、ｃｕｒｒｅｎｔ＿ｉｍａｇｅが全体的な位置合わせされた画像として出力されうる。しかし、最低限の改善が達成されていれば（ステップ２２３＝ＹＥＳ）、ステップ２１７で、ｃｕｒｒｅｎｔ＿ｉｍａｇｅ変数が現在の新規の位置合わせされた画像を指示するように更新され、この新規のｃｕｒｒｅｎｔ＿ｉｍａｇｅがステップ２０３で階層ツリーの一番上に提示されて、階層ツリーを通じた新規のサイクルが開始される。
【０２０２】
図２９は、各リーフノード２３３の下の線および点のリストとして示される、より多くのトレーニング画像から構築された階層ツリーの別の例を示す（説明を簡単にするため、リーフノードのいくつかだけがラベル付けされている）。図２３のケースのように、リーフノードごとに別々のＡＡＭが構築される。本例では、階層ツリー２３１はｍのリーフノードを有し、したがって、ＡＡＭ１〜ＡＡＭｍとして示されるｍのＡＡＭを有する。ルートノード２３５の下の任意のレベルにリーフノードが見られうるが、階層ツリー２３１は、ルートノード２３５の下に八レベルの深さを有する。
【０２０３】
図２３の階層ツリー１３９の場合のように、ツリー構造は自然に類似の顔を集める。したがって、ＡＡＭ学習プロセスの間にサンプルトレーニング顔が集められて、各リーフノードで別々の特定化されたＡＡＭがトレーニングされる。各リーフノードのＡＡＭは、いくつかの共通の特有の特質（単数または複数）を有する対応するトレーニング画像のグループによってトレーニングされるため、特定化される。動作時には、入力テスト画像に最も厳密にマッチするＡＡＭモデル画像を見つけるために階層ツリーが探索され、見つけられたＡＡＭに入力テスト画像が提示される。結果として得られた位置合わせされた画像が、十分な位置合わせを達成しなければ、結果として得られた位置合わせされた画像が、継続した処理のため階層ツリーに新たに提示される。これには、階層ツリーを通した複数のサイクル探索が必要でありうる。任意に、抽出された顔テクスチャーまたはエラー画像を用いて、最も厳密にマッチするＡＡＭ顔モデルを識別しうる。
【０２０４】
階層ツリー２４０の実際の探索の例示が、図３０に示される。この例では、入力テスト画像２４１の全体的位置合わせ出力を達成するために三回の反復が必要である。第一の反復は、ルートノード２５１から六レベル下ってリーフノードＬＮ１までのパスをたどり、その関連付けられたＡＡＭ（ＡＡＭ＿Ａ）の適用により、第一中間の位置合わせされた画像２４３が生成される。第一中間の位置合わせされた画像２４３は十分な位置合わせを提供しないため、第一中間の位置合わせされた画像２４３が、第二の反復のためにルートノード２５１に提示される。
【０２０５】
この第二の反復は、ルートノード２５１から五レベル下ってリーフノードＮＬ２へのパスをたどり、その関連付けられたＡＡＭ（ＡＡＭ＿Ｂ）の適用により、第二中間の位置合わせされた画像２４５を生成する。再び、第二中間の位置合わせされた画像２４５は十分な位置合わせを提供しないため、第二中間の位置合わせされた画像２４５が、第三の反復のためにルートノード２５１に提示される。
【０２０６】
この第三の反復は、ルートノード２５１から六レベル下ってリーフノードＮＬ３へのパスをたどり、その関連付けられたＡＡＭ（ＡＡＭ＿Ｃ）の適用により、第三中間の位置合わせされた画像が生成される（図示せず）。この場合、第三中間の位置合わせされた画像は、十分な位置合わせの所定の基準を満たし、全体的位置合わせされた出力画像とみなされる。
【０２０７】
本発明がいくつかの特定の実施形態とともに記載されているが、当業者には当然のことながら、前述の説明を考慮すれば多くのさらなる代替物、変形例およびバリエーションが明らかとなる。したがって本明細書に記載された本発明は、添付の請求項の範囲内で、全てのそのような代替物、変形例、適用およびバリエーションを包含することを企図する。
【符号の説明】
【０２０８】
２５…動的アピアランスモデルマシン、２７…学習モジュール、２９…位置合わせモジュール、３１…トレーニングライブラリー、３５…出力画像、８１…真のサンプル、８２…真でないサンプル、８３…ライブラリー、９０…処理ステージ。
【図５】
2012160178.tif 000007
【図６】
2012160178.tif 000008
【図９】
2012160178.tif 000009
【図１０】
2012160178.tif 000010
【図１２】
2012160178.tif 000011
【図１６】
2012160178.tif 000012
【図１７】
2012160178.tif 000013
【図１８】
2012160178.tif 000014
【図２０】
2012160178.tif 000015
【図２２】
2012160178.tif 000016
【図２５】
2012160178.tif 000017
【図２６】
2012160178.tif 000018
【図２７】
2012160178.tif 000019
【図２８】
2012160178.tif 000020
【図１】
2012160178.tif 000021
【図２】
2012160178.tif 000022
【図３】
2012160178.tif 000023
【図４】
2012160178.tif 000024
【図７】
2012160178.tif 000025
【図８】
2012160178.tif 000026
【図１１】
2012160178.tif 000027
【図１３】
2012160178.tif 000028
【図１４】
2012160178.tif 000029
【図１５】
2012160178.tif 000030
【図１９】
2012160178.tif 000031
【図２１】
2012160178.tif 000032
【図２３】
2012160178.tif 000033
【図２４】
2012160178.tif 000034
【図２９】
2012160178.tif 000035
【図３０】
2012160178.tif 000036