(57)【特許請求の範囲】
【請求項１】
コンピュータにより実行する、ビュー・ベースの物体認識分類器をトレーニングするための方法であって、前記方法は、
三次元モデルと、複数のレンダリングパラメータの値からなるセットと、に基づいて生成される複数の画像からなる、画像の初期トレーニングセットを生成するステップであって、前記複数のレンダリングパラメータが、視点の方位角位置、視点の高度位置、光学軸回りの視点の回転、の少なくとも一つを含むステップと、
前記初期トレーニングセットを使用して、分類器をトレーニングするステップと、
前記分類器の精度を判定するステップと、 
前記分類器の出力の一つ以上のローカルミニマムのセットを判定するステップと、
前記ローカルミニマムのセットのそれぞれのローカルミニマムに関連付けられた複数のレンダリングパラメータの値からなるセットを決定するステップであって、前記ローカルミニマムに関連付けられた複数のレンダリングパラメータが、視点の方位角位置、視点の高度位置、光学軸回りの視点の回転、の少なくとも一つを含むステップと、
前記ローカルミニマムのセットのそれぞれのローカルミニマムについて、前記三次元モデルと前記決定された複数のレンダリングパラメータの値からなるセットに基づいて、追加の画像を生成するステップと、
前記初期トレーニングセットと前記追加で生成された画像を使用して、前記分類器をトレーニングするステップと、を含むことを特徴とする方法。
【請求項２】
前記分類器は、統計的分類器を含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記分類器は、サポートベクターマシーンを含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記分類器は、画像の光諧調度のヒストグラムの特徴ベクトルに基づいて、前記画像を分類することを特徴とする請求項１に記載の方法。
【請求項５】
前記レンダリングパラメータが、点光源の方位角位置、点光源の高度位置、周辺光と点光源間の光強度比を含むグループのうちの一つの要素を更に含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記初期トレーニングセット内の画像のためのレンダリングパラメータの値は、ランダム又は疑似ランダムに決定されることを特徴とする請求項１に記載の方法。
【請求項７】
前記初期トレーニングセット内の画像は、前記画像が肯定例か否定例かを示すラベルに関連付けられていることを特徴とする請求項１に記載の方法。
【請求項８】
前記分類器の出力の前記一つ以上のローカルミニマのセットを決定するステップは、最適化アルゴリズムを実行するステップを含むことを特徴とする請求項１に記載の方法。
【請求項９】
プロセッサによって実行された時、プロセッサにビュー・ベースの物体認識分類器をトレーニングするための方法を実行させる命令がコード化された、機械が読み取り可能な記憶媒体であって、前記方法は、
三次元モデルと、複数のレンダリングパラメータの値からなるセットと、に基づいて生成される複数の画像からなる、画像の初期トレーニングセットを生成するステップであって、前記複数のレンダリングパラメータが、視点の方位角位置、視点の高度位置、光学軸回りの視点の回転、の少なくとも一つを含むステップと、
前記初期トレーニングセットを使用して、分類器をトレーニングするステップと、
前記分類器の精度を判定するステップと、 
前記分類器の出力の一つ以上のローカルミニマムのセットを判定するステップと、
前記ローカルミニマムのセットのそれぞれのローカルミニマムに関連付けられた複数のレンダリングパラメータの値からなるセットを決定するステップであって、前記ローカルミニマムに関連付けられた複数のレンダリングパラメータが、視点の方位角位置、視点の高度位置、光学軸回りの視点の回転、の少なくとも一つを含むステップと、
前記ローカルミニマムのセットのそれぞれのローカルミニマムについて、前記三次元モデルと前記決定された複数のレンダリングパラメータの値からなるセットに基づいて、追加の画像を生成するステップと、
前記初期トレーニングセットと前記追加で生成された画像を使用して、前記分類器をトレーニングするステップと、を含むことを特徴とする機械が読み取り可能な記憶媒体。
【請求項１０】
前記分類器は、統計的分類器を含むことを特徴とする請求項９に記載の記憶媒体。
【請求項１１】
前記分類器は、サポートベクターマシーンを含むことを特徴とする請求項９に記載の記憶媒体。
【請求項１２】
前記分類器は、画像の光諧調度のヒストグラムの特徴ベクトルに基づいて、前記画像を分類することを特徴とする請求項９に記載の記憶媒体。
【請求項１３】
レンダリングパラメータが、点光源の方位角位置、点光源の高度位置、周辺光と点光源間の光強度比を含むグループのうちの一つの要素を更に含むことを特徴とする請求項９に記載の記憶媒体。
【請求項１４】
前記初期トレーニングセット内の画像のためのレンダリングパラメータの値は、ランダム又は疑似ランダムに決定されることを特徴とする請求項９に記載の記憶媒体。
【請求項１５】
前記初期トレーニングセット内の画像は、前記画像が肯定例か否定例かを示すラベルと関連付けられていることを特徴とする請求項９に記載の記憶媒体。
【請求項１６】
前記分類器の出力の前記一つ以上のローカルミニマのセットを決定するステップは、最適化アルゴリズムを実行するステップを含むことを特徴とする請求項９に記載の記憶媒体。
【請求項１７】
三次元モデルと、複数のレンダリングパラメータの値からなるセットと、に基づいて生成される複数の画像からなる、画像の初期トレーニングセットを生成するステップであって、前記複数のレンダリングパラメータが、視点の方位角位置、視点の高度位置、光学軸回りの視点の回転、の少なくとも一つを含むステップと、
前記初期トレーニングセットを使用して、分類器をトレーニングするステップと、
前記分類器の精度を判定するステップと、 
前記分類器の出力の一つ以上のローカルミニマムのセットを判定するステップと、
前記ローカルミニマムのセットのそれぞれのローカルミニマムに関連付けられた複数のレンダリングパラメータの値からなるセットを決定するステップであって、前記ローカルミニマムに関連付けられた複数のレンダリングパラメータが、視点の方位角位置、視点の高度位置、光学軸回りの視点の回転、の少なくとも一つを含むステップと、
前記ローカルミニマムのセットのそれぞれのローカルミニマムについて、前記三次元モデルと前記決定された複数のレンダリングパラメータの値からなるセットに基づいて、追加の画像を生成するステップと、
前記初期トレーニングセットと前記追加で生成された画像を使用して、前記分類器をトレーニングするステップと、を含む方法を実行する、機械が読み取り可能な命令がコード化された、機械が読み取り可能な記憶媒体と、
前記機械が読み取り可能な記憶媒体にコード化された、機械が読み取り可能な命令を実行するようになされたプロセッサとを含むことを特徴とする、ビュー・ベースの物体認識分類器をトレーニングするためのシステム。 
【請求項１８】
レンダリングパラメータが、点光源の方位角位置、点光源の高度位置、周辺光と点光源間の光強度比を含むグループのうちの一つの要素を更に含むことを特徴とする請求項１７に記載のシステム。
【請求項１９】
前記初期トレーニングセット内の画像のためのレンダリングパラメータの値は、ランダム又は疑似ランダムに決定されることを特徴とする請求項１７に記載のシステム。
【請求項２０】
前記初期トレーニングセット内の画像は、前記画像が肯定例か否定例かを示すラベルに関連付けられていることを特徴とする請求項１７に記載のシステム。
【発明の詳細な説明】
【関連出願】
【０００１】
本願は、「３Ｄモデルを使用した物体認識」という発明の名称の米国特許仮出願番号６１/２２２,２４５（出願日２００９年７月１日）の優先権を主張するものであり、その記載の全てを本明細書に引用する。
【技術分野】
【０００２】
本発明は、物体認識を含むマシンビジョンに関するものであり、より詳しくは、ビュー・ベースの物体認識を実行できるように分類器をトレーニングする技術に関するものである。
【背景技術】
【０００３】
ここ数年、物体認識の分野では、各クラスごと数個の例から、何百もの物体のクラスを認識するように学習するシステムを構築するという課題に取り組んでいる。これらのシステムを評価するために使われる標準的なデータのセットは（物体検出における初期の取り組みで使われた、細かく分類された何千もの物体の画像のセットに対して）、平均で各クラスごとに二百個未満の画像を有するだけである。そのような数の少ないデータのセットに基づいて評価を行うことは、本質的に問題がある。そのテストの結果は、一般化できないし、誤った解釈を招く可能性もあるからである。
【０００４】
手入力で注釈付けられた自然画像を記憶した、データ量の多いデータベースを作る取組もされてきた。しかしながら、画像が幾分恣意的に選択されることと、グランドトルースがないことから、姿勢、スケール、位置、照明に対する不変性などの、物体認識システムの特定の性質を体系的に分析するのが困難であった。これらの問題を解決した、形状を基にした物体認識用のデータベースが、ニューヨーク大学クーラント研究所で開発されたNORBである。（NORBにおいては）、物体の画像は、視点と照明を考慮して撮像される。物体の回転、背景、「ディストラクタ」などを変更した、画像のバリエーションを増やすために、その画像は合成的に修正される。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
画像生成制御の考え方をもう一歩進めると、現実的な三次元（３D）コンピュータグラフィックモデルからレンダリングされた完全合成画像に至る。いくつかのビュー・ベースの物体認識システムは、合成画像によってトレーニングされ、評価されてきた。少なくとも１つの顔認識システムと１つの物体認識システムは、３Ｄモデルの画像でトレーニングされ、実際の画像でテストされてきた。３Ｄモデルはまた、物体認識への生成的アプローチにおいても使用されてきた。その生成的アプローチにおいては、合成画像が所与の写真画像に最も合うように、レンダリングパラメータの値が最適化される。（しかし）、この合成解析のアプローチにおいては、ローカルミニマに陥ることを避けるために、レンダリングパラメータの値の初期の推定値の精度が高くなくてはならないため、多くの物体認識、検出タスクにとって不適当である。
【課題を解決するための手段】
【０００６】
（本発明の）ビュー・ベースの物体認識システムは、物体の外見のモデルを使用して、所与の画像にその物体があるかどうかを判定する。ビュー・ベースの物体認識システムは、トレーニングデータのセットを使用してシステムをトレーニングするとき、そのモデルを生成（学習）する。トレーニングデータのセットは、肯定例の画像（つまり、ターゲットとなる物体が存在している画像例）と否定例の画像（つまり、ターゲットとなる物体が存在していない画像例）を含んでいる。それぞれのトレーニング画像は、その画像が肯定例の画像か否定例の画像かについて、正しくラベル付けされている。
【０００７】
他のあらゆる画像と同じように、トレーニング画像は、自然画像か合成画像のどちらかである。自然画像は現実世界の物体の外見を忠実に表わすものであり、例えば、カメラや他の画像センサを使用してその物体の写真を撮ることにより生成される。合成画像は、自然画像以外のあらゆる画像である。例えば、合成画像は、コンピュータ支援設計（CAD）モデルをレンダリングすることにより生成される。合成画像を使用して、ビュー・ベースの物体認識システムをトレーニングすることは（自然画像を使用してトレーニングすることに対して）、いくつかの利点がある。
【０００８】
本明細書では、反復トレーニングプロセスの中で、合成トレーニング画像の生成が制御される、「能動学習」という方法を提示する（「能動学習」という用語は、本明細書では、自身のトレーニングデータを能動的に生成する学習方法という意味で使用されている）。能動学習の第一義的な考え方は、低次元レンダリング空間において、重要で有益な物体の画像を見つけ、その物体の画像をトレーニングセットに反復的に加えることである。それぞれの反復処理においては、（所与の画像のデータベースからある特定のサンプル画像を加えることにより）分類器を「ブートストラップ」する代わりに、新しい画像が生成される。（画像数の）少ないトレーニングセットが、レンダリングパラメータの低次元空間における、分類器の出力のローカルミニマを探すことにより、反復的に生成される。
【０００９】
一実施形態においては、能動学習方法は、ビュー・ベースの物体認識のための小型 分類器をトレーニングする。初期トレーニングセットが生成され、そのトレーニングセットを使用して、分類器をトレーニングする。低次元レンダリング空間における分類器の出力のローカルミニマが発見され、画像はそのローカルミニマでレンダリングされる。新しくレンダリングされた画像は、トレーニングセットに付け加えられる。修正されたトレーニングセットを使用して、分類器が再度トレーニングされるように、この処理が繰り返される。
【００１０】
本明細書で記載された特徴及び利点は、包括的なものではない。特に、当業者は、図面、明細書、請求の範囲を参照することにより、多くの付加的な特徴と利点を理解するだろう。
【図面の簡単な説明】
【００１１】
【図１】図１は、本発明の一実施形態による、ビュー・ベースの物体認識のための小型分類器をトレーニングする能動学習方法のフローチャートを示す図である。
【図２】図２は、本発明の一実施形態による５つのコンピュータグラフィックのモデルを示す図である。
【図３】図３は、図２に示された本発明の一実施形態による５つのモデルのプリントアウトの写真を示す図である。
【図４】図４は、図１に示した本発明の一実施形態による能動学習方法を実行するためのシステムのブロック図である。
【図５】図５は、本発明の一実施形態による、スケーリングとスムージングが行われた後のレンダリングされた画像の例を示す図である。
【図６】図６は、本発明の一実施形態による、初期に選択された画像と近傍のローカルミニマにおける画像を示す図である。
【００１２】
図面は、説明を目的として、本発明の様々な実施形態を示している。当業者は、以降の説明から、本明細書に記載された本発明の精神から逸脱することなく、本明細書に記載された構造及び方法に代わる実施形態を用いることができることを容易に理解するであろう。
【発明を実施するための形態】
【００１３】
以下に、添付の図面を参照して様々な実施形態を説明する。図面中、同じ参照番号を付したものはまったく同一もしくは機能的に類似した構成要素を表している。また、各参照番号の最左端の数字は、その参照番号が初めて使われた図面に対応している。
【００１４】
明細書中の「一実施形態」もしくは「実施形態」という言葉は、実施形態と関連して説明されるある特定の機能、構造、特徴が本発明の実施形態の少なくとも一つに含まれる、という意味であり、常に同一の実施形態を表すものではない。
【００１５】
以下の詳細な説明には、コンピュータ・メモリ内のデータビット操作のアルゴリズム及び記号表現によって表された部分がある。このようなアルゴリズム記述及び表現は、データ処理技術分野において、当業者が研究内容を他の当業者に最も効率的に伝えるために用いる手段である。あるアルゴリズムがあり、それが概して期待した結果に至る筋の通ったステップの系列だと理解されるとする。それらのステップは、物理量の物理的処理を要するステップである。必ずという訳ではないが、これらの物理量は記憶、転送、結合、比較、その他処理が可能な電気的または磁気的信号の形をとるのが普通である。これらの信号をビット、値、要素、記号、文字、術語、番号などで表わすのが、主に慣用上の理由から便利な場合があることが分かっている。さらに、一般性を損なうわけではないが、物理量もしくは物理量を表したものの、物理的処理や変換を要するステップのある特定の配列を、モジュールもしくはコードデバイスなどと表すのが便利な場合があることが分かっている。
【００１６】
しかしながら、このような術語や同様の用語はすべて適切な物理量に関連付けられるべきであり、また、それら物理量に付けた便宜上のラベルに過ぎないということに留意すべきである。以下の説明より明らかなように、特に断わらない限り、”処理”、”演算”、”計算”、”判定”、”表示”などの術語によって論じられることは、コンピュータシステムのレジスタ及びメモリの内部の物理的（電子的）な量として表現されたデータを処理して、コンピュータシステムのメモリやレジスタ、その他同様の情報記憶装置、情報伝送装置又は表示装置の内部の同様に物理量として表現された他のデータへ変換する、コンピュータシステムや（特定の計算機などの）同様の電子的演算装置の作用及びプロセスを意味する。
【００１７】
本発明のある側面は、アルゴリズムの形で記述されたプロセス・ステップ及び命令を含んでいる。本発明におけるそれらのプロセス・ステップ及び命令は、ソフトウェア、ファームウェア、もしくはハードウェアのいずれでも実現することが可能であり、ソフトウェアによって実現する場合、ダウンロードして様々なオペレーティングシステム上の各種プラットフォームに駐在させて動作させることも出来る。本発明は、コンピュータシステムで実行可能なコンピュータプログラム内にあってもよい。
【００１８】
本発明は、本明細書に述べた処理を実行するための装置にも関係するものである。このような装置は、所要目的（たとえば、特定のコンピュータ）のために専用に作られてもよいし、汎用コンピュータを内蔵のコンピュータ・プログラムによって選択駆動もしくは再構成したものでもよい。そのようなコンピュータ・プログラムは、コンピュータが読み取り可能な記憶媒体、限定するわけではないが例えば、フロッピー（登録商標）ディスク、光ディスク、ＣＤ−ＲＯＭ、光磁気ディスクなどの任意の種類のディスク、リードオンリーメモリ（ＲＯＭ）やランダムアクセスメモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気カード又は光カードなど、コンピュータのシステムバスに接続された電子的命令の記憶に適した任意種類の媒体に格納することができる。メモリは、情報、データまたはプログラムを記憶可能な、上述した機器もしくはその他の機器でありうる。さらに、明細書中でコンピュータと呼ばれるものは、１つのプロセッサのみを含むものでもよいし、演算能力の向上のために設計されたマルチプロセッサ構成を実装したものでもよい。
【００１９】
本明細書で提示したアルゴリズム及び表示は、本質的に、いかなる特定のコンピュータ、その他の装置とも関わりがない。様々な汎用マシンを、本明細書に述べる内容に従ったプログラムで使用し得るが、所要の手順のステップの実行のために、より特化した装置を作るほうが好都合であるかもしれない。そのような多様なシステムに必要とされる構造は以下の説明から明らかになろう。さらに、どのような特定のプログラミング言語とも関連付けることなく本発明を説明する。本明細書に述べる本発明の内容を実現するために様々なプログラミング言語を使用し得ることを理解されよう。本明細書における、特定のプログラミング言語に関する言及は、本発明の実施可能性及び最良の実施形態を開示するためである。
【００２０】
さらに、本明細書における用語は原則的に可読性及び説明の便宜上選択されたものであり、発明の主題を特定、制限するために選択されたものではない。したがって、本発明の開示は説明のためのものであり、請求の範囲に記載された発明の範囲を制限するものではない。
【００２１】
本明細書では、本発明の特定の実施形態と適用例を説明するが、本発明は、明細書に記載される構成や構成要素と正確に一致するものに限定されるわけではなく、添付の請求の範囲に定義される、本発明の精神と範囲から逸脱することなく、本発明の方法及び装置の配置、動作および詳細部について様々な修正や変更を行うことができることを理解されたい。
【００２２】
ビュー・ベースの物体認識システムは、所与の画像の中に物体があるかどうかを判定するために、物体の外観のモデルを使用する。そのモデルは、画像中のその物体の、様々な条件下（例えば、様々な姿勢や照明）における外観を表すものである。ビュー・ベースの物体認識システムは、トレーニングデータセットを使用してトレーニングされるときに、そのモデルを生成（学習）する。そのトレーニングデータのセットは、肯定例である画像（つまり、対象物体がある）と否定例である（つまり、対象物体がない）画像とを含んでいる。それぞれのトレーニング画像は、自身が肯定例か否定例かということについて、正しくラベル付けされている。
【００２３】
他の画像と同様に、トレーニング画像は、自然画像であってもよいし合成画像であってもよい。自然画像は、現実世界の物体の外観を忠実に表現したものであり、例えば、カメラや画像センサを使用して物体の写真をとることにより生成されるものである。合成画像は、自然画像以外のあらゆる画像である。合成画像の一つのタイプは、自然画像に基づいて生成される。例えば、何らかの方法で自然画像を歪めたり、変形させたりして、合成画像を生成することが出来る。他のタイプの合成画像は、自然画像とは無関係に生成されるものである。例えば、コンピュータ支援設計（CAD）モデルをレンダリングして、合成画像を生成することができる。これらの２つのタイプの合成画像を区別するために、第１のタイプの合成画像は、（自然画像に基づいて生成されているため）、部分合成画像と称し、第２のタイプの合成画像は（自然画像とは無関係に生成されているため）、完全合成画像と称する.
【００２４】
合成画像を使用してビュー・ベースの物体認識システムをトレーニングすることは（自然画像を使用することに比べて）、いくつかの利点がある。まず始めに、多数のトレーニング画像を自動で生成することが可能であるということである。次に、内部または外部カメラのパラメータ、照明、景色の構成、景色の変化などを含む、画像生成パラメータを完全に制御できるということが挙げられる。最後に、それぞれの物体の位置、スケール、方向に関して、グラウンドトルースが既知であるということである。映像のシーケンスにおいては、フレームレート、カメラの動き、物体の動きが既知である。
【００２５】
ビュー・ベースの物体認識の課題を解決するために、統計的分類器などの、教師付き機械学習方法が使用されてきた。完全合成トレーニング画像（例えば、三次元（３D）モデルに基づいて生成された画像）を使用して、ビュー・ベースの分類器をトレーニングする場合を考えてみる。そのトレーニングは、２つの課題に遭遇する可能性がある。まず第一に、トレーニングセットが大きくなってしまい、それにより、学習アルゴリズムが中断されてしまう可能性があることが挙げられる。第二に、解が少なくないため、ランタイムに分類器が遅くなるということが挙げられる。現代の機械学習アルゴリズムの最も大きなグループの一つは、カーネルベースの機械学習アルゴリズムのグループであり、カーネルベースの機械学習アルゴリズムは、サポートベクターマシーンなどを含んでいる。Ｎ×Ｎのサイズの二次行列（Ｎは、カーネルベースの機械学習アルゴリズムを「中断」する可能性のあるサンプルの数である）を算出することが出来る（O. Chapelle著、「Training a Support Vector Machine in the Primal」、Neural Computation、第１９巻５号、１１５５-１１７８ページ、２００７三月発行参照）。カーネルアルゴリズムにおける計算時間は、サンプルの数の多項式であるため、多大な数のサンプルは、トレーニングを遅くしてしまう。ランタイムにおける計算時間は、サポートベクターマシーン（及び他のカーネルベースのアルゴリズム）によってもまた影響を受ける。分類結果を算出する際に使用するトレーニングデータポイントの数は、トレーニングセットの数に対して線形的に増加する。基本的に、分類時におけるランタイムの計算時間は、トレーニングサンプルのサイズに対して線形的である。必要とされているのは、わずかなデータのセットから、小型分類器をトレーニング（例えば、構築または算出）することが可能な技術である。
【００２６】
ここで、「能動学習」方法について説明する。「能動学習」においては、反復的なトレーニングプロセスにおいて、合成トレーニング画像の生成が制御される（機械学習の分野において、「能動学習」という言葉は隠されたラベルのついたデータからの学習という意味で使用されることに注意されたい。本明細書では、「能動学習」という用語は、それとは違う意味で使われており、自身のトレーニングデータを自発的に生成する学習方法という意味で使われている）。能動学習の第一義的な考え方は、低次元レンダリング空間における重要で有益な物体の画像を発見し、それらの物体の画像を反復的にトレーニングセットに加えることである。それぞれの反復処理においては（所与の画像のデータベースから、特定のサンプル画像を加えることによって）、分類器を「ブートストラップ」する代わりに、新しい画像が生成される。（画像の数が）少ないトレーニングセットは、レンダリングパラメータの低次元空間における分類器の出力のローカルミニマを探すことにより反復的に生成される。
【００２７】
図１は、本発明の一実施形態による、ビュー・ベースの物体認識のための小型分類器をトレーニングする能動学習方法のフローチャートを示している。ステップ１１０では、初期トレーニングセットが生成される。ステップ１２０では、トレーニングセットを使用して、分類器がトレーニングされる。ステップ１３０では、低次元レンダリング空間における、分類器の出力のローカルミニマが発見される。ステップ１４０では、画像がローカルミニマでレンダリングされる。ステップ１５０では、新しくレンダリングされた画像が、そのトレーニングセットに加えられる。ステップ１６０では、修正されたトレーニングセットを使用して分類器を再度トレーニングするように、ステップ１２０から上記の処理が繰り返される。
【００２８】
分類タスクと図１に示した能動学習方法を実行するためのシステムの一例を使用して、ステップ１１０から１６０について以下に詳述する。この例においては、物体認識は５つのクラスの物体に対して実行される。それぞれの物体は、３０,０００の表面三角形を有する質感のない３Dモデルによって表されている。図２は、本発明の一実施形態による５つのコンピュータグラフィックモデルを示している。図２において、この例示されたモデルは、（左から右へ）女神アフロディーテの胸部、横たわっている熊、立位の象、立位の馬、靴のソールを表している。この５つのモデルは、自然画像で物体認識システムをテストすることができるように、それぞれ３Ｄプリンタでプリントアウトされる。図３は、本発明の一実施形態による、５つのプリントアウトされたモデルの写真を示している。
【００２９】
この例において、（合成画像、自然画像ともに）画像を生成するために、（仮想であろうが、実際であろうが）カメラの視点をそのモデルの中心に向かわせながら、カメラの視点をそのモデルの周りの球面上で移動させる。そのモデルは、（そのモデルの球面上に位置させることができる）点光源と周辺光によって照らされる。この画像生成の設定により、低次元のレンダリング空間（具体的には、六次元レンダリング空間）が生成される。６つのレンダリングパラメータは、１）方位角における視点の位置、２）高度における視点の高さ位置、３）光学軸回りの視点の回転、４）方位角における点光源の位置、５）高度における点光源の高さ位置、６）周辺光と点光源の光強度の比である。
【００３０】
図４は、図１に示す能動学習方法を実行するための、本発明の一実施形態によるシステムのブロック図である。システム４００は、ビュー・ベースの物体認識のための小型分類器をトレーニングすることが出来る。図示されたシステム４００は、能動学習モジュール４０５、レンダラー４１０、分類器トレーナー４１５、分類器テスター４２０、記憶部４２５及びオペレーティングシステムツール４３０を備える。
【００３１】
一実施形態においては、能動学習モジュール４０５ （およびそのコンポーネントモジュール）、レンダラー４１０、分類器トレーナー４１５、分類器テスター４２０、オペレーティングシステムツール４３０は、一つ以上のコンピュータが読み取り可能な記憶媒体に記憶され、一つ以上のプロセッサで実行される、一つ以上のコンピュータプログラムモジュールである。記憶部４２５（及びその内容）は、一つ以上のコンピュータが読み取り可能な記憶媒体に格納されている。加えて、能動学習モジュール４０５（及びそのコンポーネントモジュール）、レンダラー４１０、分類器トレーナー４１５、分類器テスター４２０、オペレーティングシステムツール４３０及び記憶部４２５は、少なくともデータを互いに送受可能な程度に、互いに通信可能に接続されている。一実施形態においては、オペレーティングシステムツール４３０は、パーソナルコンピュータ上のオペレーティングシステムの一つ以上のパーツとして実行され、能動学習モジュール４０５、レンダラー４１０、分類器トレーナー４１５、分類器テスター４２０は、同じパーソナルコンピュータで実行される。
【００３２】
図示された記憶部４２５は、分類器４４５、トレーニングセット４５０、一つ以上の３Dモデル４６０を記憶している。分類器４４５は、サポートベクターマシーン（SVM）などの、統計的分類器または最近近傍分類器である。一実施形態においては、分類器４４５は、ガウスカーネルを有するサポートベクターマシンである。サポートベクターマシンパラメータの値は、初期実験により最適化され、その後固定したまま維持される（例えば、s = ２:０、C = IO、ただし、sはカーネル幅を表し、Cは、エラーコストを表している）。サポートベクターマシについては、V. Vapnik著、「Statistical Learning Theory」、Wiley-Interscience、１９９８年発刊に説明がある。サポートベクターマシンの実装には、例えば、LIBサポートベクターマシンライブラリなどがある（C-C. Chang et al著、「LIB Support Vector Machine: a Library for Support Vector Machines」、２００１発刊参照）。
【００３３】
分類器４４５は、画像特徴値のベクトル「特徴ベクトル」を使用して、動作する。濃淡値、正規化濃淡値、もしくは光の諧調度のヒストグラムなどの任意の画像特徴を使用することが出来る。一実施形態においては、特徴ベクトルとして、方向ヒストグラムや、光諧調度のヒストグラムが使用される。それらのヒストグラムは、２３x２３画像の中の５つの固定位置で算出され、ユニット長さに正規化された６４０次元特徴ベクトルとなる。１２８次元ヒストグラムは、（９/９）、（１５/９）、（１２/１２）、（９/１５）、（１５/１５）の （x/y） 位置にて算出される。
【００３４】
分類器４４５は、分類器トレーナー４１５を使用して、トレーニングされ、分類器テスター４２０を使用して、テストされる。
【００３５】
トレーニングセット４５０は、分類器トレーナー４１５を使用して分類器４４５をトレーニングするのに使う画像の集合である。トレーニングセット４５０における画像は、レンダラー４１０を使用して３Ｄモデル４６０をレンダリングすることによって生成された合成画像である。
【００３６】
３Ｄモデル４６０は、三次元物体のモデルであり、レンダラー４１０を使用してレンダリングして、合成画像を生成することが出来る。
【００３７】
オペレーティングシステムツール４３０は、 乱数生成器４５５を備えている。乱数生成器４５５は乱数（もしくは擬似乱数）を生成することが可能である。
【００３８】
レンダラー４１０は、３Ｄモデル４６０をレンダリングすることが出来る、Blender （３Ｄモデリングおよびレンダリングのためのオープンソース・ソフトウェアパッケージ）などの、従来のソフトウェアアプリケーションである。レンダラー４１０は、レンダリングパラメータの値のセットに基づいて、モデル４６０をレンダリングする。上述した例においては、６つのレンダリングパラメータ（方位角及び高度における視点の位置、光軸回りの視点の回転、方位角及び高度における点光源の位置、周辺光と点光源の間の光強度の比）がある。
【００３９】
一実施形態においては、レンダラー４１０は、１００×１００ピクセルの解像度で３Ｄモデル４６０をレンダリングする。レンダラー４１０は、また、レンダリングされた（合成）画像をスケーリングおよびスムージングすることにより、２３×２３ピクセル濃淡（合成）画像を生成する。図５は、本発明の一実施形態による、スケーリングとスムージングが施された後のレンダリングされた（合成）画像の例を示している。
【００４０】
分類器トレーナー４１５は、トレーニングセット４５０（例えば、トレーニング画像のセット）が与えられれば、分類器４４５をトレーニングすることが出来る、従来からあるソフトウェアアプリケーションである。
【００４１】
分類器テスター４２０は、分類器４４５をテストして、分類器の分類精度を判定することが出来る、従来のソフトウェアアプリケーションである。一実施形態において、分類器４４５は、各クラスごとに、レンダリングパラメータの低次元空間からランダムに描かれた４０,０００の画像を使用してテストされる。分類器の出力は、サポートベクターマシンの実数値の出力を使用することにより算出される（ネガティブクラス（ラベル「ー１」）のサンプルに関しては、出力値は−１を乗算される）。（そして）、各クラスにおける最も難しい画像（例えば、最低精度を有する１００個の画像）が判定される。
【００４２】
能動学習モジュール４０５は、コントロールモジュール４３５及びローカルミニマファインダ４４０を備えている。コントロールモジュール４３５は、能動学習モジュール４０５の動作をコントロールして、能動学習モジュール４０５にビュー・ベースの物体認識のための小型分類器４４５をトレーニングさせる。図１を参照して、コントロールモジュール４３５について詳述する。
【００４３】
ローカルミニマファインダ４４０は、低次元レンダリング空間における分類器の出力のローカルミニマ（及びそれらに対応するレンダリングパラメータの値）を発見する。１つのセットの画像（例、各クラスから最も難しい１００個の画像）が、最適化アルゴリズム（例、ネルダメッドシンプレックスアルゴリズム）の初期点として使われる。６つのレンダリングパラメータの値は、全ての画像に関して既知であることに注意されたい。レンダリング空間における分類器の出力のローカルミニマ（及びそれらに対応するレンダリングパラメータの値）を発見するために、アルゴリズムが幾度も（例えば、１０回）反復して実行される。分類器の出力は、サポートベクターマシンの実数値の出力（ネガティブクラス（ラベル「-１」）のサンプルについては、出力は-１が乗算される）を使用して算出される。図６は、本発明の一実施形態による、初期に選択された（つまり、初期点の）画像と近傍ローカルミニマにおける画像を示している。図６においては、初期画像が上側に、近傍ローカルミニマにおける画像が下側になるように、各ペアの例を垂直に配置している。
【００４４】
一般的に、能動学習は、対象の画像をランダムに選択してトレーニングする場合に比べて、大幅に少ないトレーニングセットとサポートベクトルしか使わないにも関わらずに、エラー率は、対象の画像をランダムに選択してトレーニングする場合と同じになる（例、同一エラー率）。言い換えると、能動学習は、「小型」分類器をトレーニングすると言える。
【００４５】
図１に戻り、ステップ１１０では初期トレーニングセット４５０が生成される。初期トレーニングセット４５０は、一つ以上の合成画像を有している。レンダラー４１０は、３Ｄモデル４６０とレンダリングパラメータの値のセットに基づいて、それぞれの合成画像を生成する。一実施形態において、初期トレーニングセット４５０は、レンダリングパラメータの低次元空間からランダムに選ばれたサンプルによって構成されている。
【００４６】
一実施形態においては、コントロールモジュール４３５がステップ１１０を実行する。例えば、コントロールモジュール４３５は、乱数生成器４５５を使用して、レンダリングパラメータのそれぞれについて、ランダムに選ばれた値を得る（上述した例においては、６つのレンダリングパラメータがあるため、ランダムに選ばれたサンプルの一つ一つは、これらの６つのパラメータについて、それぞれ一つづつランダムに選択された値を有する）。コントロールモジュール４３５は、次に、レンダリングパラメータの値に基づいて、レンダラー４１０を使用して、３Ｄモデル４６０の合成画像を生成する。そして、その合成画像が、初期トレーニングセット４５０に加えられる。一実施形態において、初期トレーニングセット４５０は、各クラスについて２００個のサンプル（例えば、各３Ｄモデル４６０について、２００個の合成画像）を有している。
【００４７】
ステップ１２０において、トレーニングセット４５０を使用して、分類器４４５をトレーニングする。一実施形態においては、コントロールモジュール４３５は、ステップ１２０を実行する。例えば、コントロールモジュール４３５は、分類器トレーナー４１５を使って、トレーニングセット４５０を使用して分類器４４５をトレーニングする。ステップ１２０が最初に実行される時、トレーニングセット４５０は初期トレーニングセットである。ステップ１２０が二回目以降に実行される時は、ステップ１５０と合わせて以下に説明するように、トレーニングセット４５０は修正されているはずである。
【００４８】
ステップ１３０では、低次元レンダリング空間における分類器の出力のローカルミニマが発見される。一実施形態においては、コントロールモジュール４３５は、ステップ１３０を実行する。例えば、コントロールモジュール４３５は、まず、分類器テスター４２０を使用して、分類器４４５をテストし、分類器の分類精度を決定する。分類器テスター４２０は、各クラスから最も難しい画像（例えば、最低精度を有する１００個の画像）を決定する。コントロールモジュール４３５は、その次に、ローカルミニマファインダ４４０を使用して、その最も難しい画像を初期点として、分類器の出力のローカルミニマ（及びそれらに対応するレンダリングパラメータの値）を見つける。
【００４９】
ステップ１４０において、画像が、ローカルミニマにおいて（それらに対応するレンダリングパラメータの値を使用して）描画される。一実施形態において、コントロールモジュール４３５は、ステップ１４０を実行する。例えば、コントロールモジュール４３５は、レンダラー４１０を使用して、ステップ１３０で発見されたローカルミニマで、物体の画像（合成画像）をレンダリングする。一実施形態においては、２００個の物体の画像がレンダリングされる。コントロールモジュール４３５はまた、レンダリングされた画像の方向ヒストグラムを算出する。方向ヒストグラムは、物体の特徴（つまり、分類の基礎）として使われる。
【００５０】
ステップ１５０では、新しくレンダリングされた画像が、トレーニングセットに加えられる。一実施形態においては、コントロールモジュール４３５は、ステップ１５０を実行する。例えば、コントロールモジュール４３５は、（ステップ１４０にて生成された）新しくレンダリングされた画像を適切に記憶することによって、新しくレンダリングされた画像をトレーニングセット４５０に追加する。これにより、ステップ１４０でレンダリングされた画像と、ステップ１２０で分類器をトレーニングする際に使われた画像の両方を含む修正トレーニングセット４５０が生成される。
【００５１】
ステップ１６０では、ステップ１２０から処理が繰り返され、修正されたトレーニングセット４５０を使用して分類器４４５がトレーニングされる。
【００５２】
本発明は、ある実施形態を参照して、詳細に説明してきたが、当業者が理解するように、他の実施形態も可能である。例えば、他の実施形態が、「Object recognition with ３Ｄmodels」  B. Heisele, G. Kim、A. Meyer著、Proceedings of the ２００９ British Machine Vision Conference （BMVC）, London, England, September７-１０に記載されており、その記載を本明細書に引用する。
【図１】
0005352738.tif 000002
【図４】
0005352738.tif 000003
【図２】
0005352738.tif 000004
【図３】
0005352738.tif 000005
【図５】
0005352738.tif 000006
【図６】
0005352738.tif 000007