(57)【要約】【課題】  画像中における被写体の個体識別をより高精度に行うための技術を提供すること。【解決手段】  撮像部１は、被写体を含む画像を取得する。状態検出部４は、この画像中における被写体の状態を検出する。個体認識処理部５は、複数の個体識別処理モジュールのうち、状態検出部４が検出した状態に対応する個体識別処理モジュールを決定する。そして個体認識処理部５は、画像中における被写体に対して、決定した個体識別処理モジュールによる個体識別処理を行うことで、被写体の個体識別を行う。【選択図】  図１
2008009914.tif 000002
【特許請求の範囲】
【請求項１】
被写体を含む画像を取得する取得手段と、
前記画像中における前記被写体の状態を検出する検出手段と、
複数の個体識別処理モジュールのうち、前記検出手段が検出した状態に対応する個体識別処理モジュールを決定する決定手段と、
前記画像中における前記被写体に対して、前記決定手段が決定した個体識別処理モジュールによる個体識別処理を行うことで、前記被写体の個体識別を行う処理手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記取得手段は、前記被写体を撮像することで前記画像を取得することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記画像中に複数の被写体が含まれている場合には、前記検出手段、前記決定手段、前記処理手段による一連の処理を、個々の被写体について行うことを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記決定手段は、複数種の被写体のそれぞれに対応する個体識別処理モジュール群を保持しており、個体識別処理モジュール群には、対応する被写体のそれぞれの状態に対応する個体識別処理モジュールが含まれており、
前記決定手段は、保持している個体識別処理モジュール群のうち、前記画像中の被写体に対応する個体識別処理モジュール群から、前記検出手段が検出した状態に対応する個体識別処理モジュールを決定することを特徴とする請求項１に記載の画像処理装置。
【請求項５】
更に、
前記処理手段が、前記画像中における前記被写体の個体識別ができなかった場合には、前記決定手段が決定した個体識別処理モジュールに対して再学習を行わせることで、前記処理手段に前記被写体に対する個体識別処理を可能にさせる手段を備えることを特徴とする請求項１に記載の画像処理装置。
【請求項６】
更に、前記画像中における被写体の動作パターンを検出する動作検出手段を備え、
前記決定手段は、前記検出手段が検出した状態に加え、前記動作検出手段が検出した動作パターンに対応する個体識別処理モジュールを決定することを特徴とする請求項１に記載の画像処理装置。
【請求項７】
前記被写体は人物であり、前記状態は当該人物の表情の種類または顔の向きであることを特徴とする請求項１に記載の画像処理装置。
【請求項８】
前記被写体は人物または動物であり、前記状態は当該被写体の姿勢であることを特徴とする請求項１に記載の画像処理装置。
【請求項９】
更に前記被写体に関する前記状態の変化パターンの表す動作を検出する動作検出手段を備え、
前記動作検出手段が特定の動作を検出した場合に、前記決定手段は、前記複数の個体識別処理モジュールのうち、当該特定の動作に対応する個体識別処理モジュールを決定することを特徴とする請求項１に記載の画像処理装置。
【請求項１０】
前記個体識別処理モジュールはサポートベクトルマシンを用いることを特徴とする請求項１に記載の画像処理装置。
【請求項１１】
前記個体識別処理モジュールは階層的神経回路網または畳み込み神経回路網を用いることを特徴とする請求項１に記載の画像処理装置。
【請求項１２】
被写体を含む画像を取得する取得工程と、
前記画像中における前記被写体の状態を検出する検出工程と、
複数の個体識別処理モジュールのうち、前記検出工程で検出した状態に対応する個体識別処理モジュールを決定する決定工程と、
前記画像中における前記被写体に対して、前記決定工程で決定した個体識別処理モジュールによる個体識別処理を行うことで、前記被写体の個体識別を行う処理工程と
を備えることを特徴とする画像処理方法。
【請求項１３】
コンピュータに請求項１２に記載の画像処理方法を実行させるためのプログラム。
【請求項１４】
請求項１３に記載のプログラムを格納したことを特徴とする、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認識技術に関するものである。
【背景技術】
【０００２】
様々な条件下で物体を認識する技術として、特許文献１に開示されている技術がある。特許文献１には、画像中の動領域を検出し、その領域に形状モデルの当てはめによるモデル適合を行う認識技術が開示されている。
【０００３】
また、特許文献２には、顔の向きに対応した顔画像を登録しておき、それぞれの向きの画像に対する入力画像の照合スコアを算出し、照合スコアの高い向きに対応した変形パラメータを選択し、正面顔に変換してモデル画像と照合する技術が開示されている。
【０００４】
非特許文献１には、３次元CGモデルを実写画像から生成し、様々な顔の向きに対応した顔画像を生成してサポートベクトルマシンをトレーニングし、向きや照明変動によらない顔認識を検討している。
【特許文献１】特開平10−275237号公報
【特許文献２】特開2003−263639号公報
【非特許文献１】Huang et al. (2002) “Face Recognition Using Component-Based SVM Classification and Morphable Models” Lecture Notes in Computer Science  LNCS2388, pp.334-341, Springer-Verlag
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来技術では、同じクラスの物体（例えば人物）のポーズ、表情、照明条件などに関する様々な状態に対応し、且つ、状態の種類と識別するべき個体数がともに増加しても個体識別を効率的かつ高精度に行う、ということが困難であった。
【０００６】
本発明は以上の問題に鑑みてなされたものであり、画像中における被写体の個体識別をより高精度に行うための技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を備える。
【０００８】
即ち、被写体を含む画像を取得する取得手段と、
前記画像中における前記被写体の状態を検出する検出手段と、
複数の個体識別処理モジュールのうち、前記検出手段が検出した状態に対応する個体識別処理モジュールを決定する決定手段と、
前記画像中における前記被写体に対して、前記決定手段が決定した個体識別処理モジュールによる個体識別処理を行うことで、前記被写体の個体識別を行う処理手段と
を備えることを特徴とする。
【０００９】
本発明の目的を達成するために、例えば、本発明の画像処理方法は以下の構成を備える。
【００１０】
即ち、被写体を含む画像を取得する取得工程と、
前記画像中における前記被写体の状態を検出する検出工程と、
複数の個体識別処理モジュールのうち、前記検出工程で検出した状態に対応する個体識別処理モジュールを決定する決定工程と、
前記画像中における前記被写体に対して、前記決定工程で決定した個体識別処理モジュールによる個体識別処理を行うことで、前記被写体の個体識別を行う処理工程と
を備えることを特徴とする。
【発明の効果】
【００１１】
本発明の構成によれば、画像中における被写体の個体識別をより高精度に行うことができる。
【発明を実施するための最良の形態】
【００１２】
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
【００１３】
［第１の実施形態］
図１は、本実施形態に係る画像処理装置の機能構成を示すブロック図である。
【００１４】
撮像部１は、レンズ等の結像光学系、典型的にはCCDまたはCMOSイメージセンサにより構成されている映像センサ、センサ信号処理回路、センサ駆動回路等により構成されている。外界の光は結像光学系、映像センサを介して電気信号に変換される。そして、映像センサは、センサ駆動回路からの読み出し制御信号を受けると、この制御信号により指示された映像信号（例えば、サブサンプリング、ブロック読み出しして得られる信号）をメモリ２に対して出力する。即ち、撮像部１による撮像画像はデータとしてメモリ２に送出される。このようにして、撮像部１により撮像された動画像を構成する各フレーム（撮像画像）はメモリ２に送出される。
【００１５】
メモリ２には、撮像部１から送出された画像のデータや、後述する各処理に用いる各種のデータが格納されている。
【００１６】
物体検出部３は、メモリ２に保持されている撮像画像中に写っている１以上の被写体を検出する処理を行う。物体検出部３は、専用の処理チップ（IP、ASIC等）や、ミドルウエア、DSP、リコンフィギュラブルプロセッサ内部において実行されるプログラムのモジュール等により実現することができる。
【００１７】
状態検出部４は、物体検出部３が検出した被写体の状態を検出する処理を行う。
【００１８】
個体認識処理部５は、物体検出部３が検出した被写体に対して、状態検出部４が検出した状態に応じた個体識別処理を行う。
【００１９】
操作部６は、ボタン群により構成されており、本装置の操作者はこのボタン群を操作することで、物体検出部３が検出する対象となる被写体の種類等を指示することができる。
【００２０】
ディスプレイ７は、例えば、液晶画面により構成されており、各種の情報を表示することができる。
【００２１】
画像記録部９は、画像を保存するメモリや、このメモリへのアクセス制御を行うための各種の機器により構成されている。より詳しくは、撮像部１が撮像した画像のうち、保存する画像が操作部６を用いて指示された場合には、この指示された画像はこの画像記録部９に保存されることになる。
【００２２】
制御部８は、上述の各部の動作制御を行う。
【００２３】
なお、上記各部は全てハードウェアでもって実現しても良いし、その一部をソフトウェアでもって実現しても良い。例えば、物体検出部３、状態検出部４、個体認識処理部５をハードウェアでもって実現する場合、これらは、専用回路（ASIC）、プロセッサ（リコンフィギュラブルプロセッサ、DSP、CPU等）等により構成される。
【００２４】
以下では、本実施形態に係る画像処理装置が、画像から検出する被写体のカテゴリを「人物の顔」として説明するが、被写体をその他のものにしても、以下説明する処理の基本的な部分については同じである。
【００２５】
なお、検出対象の被写体のカテゴリを操作部６を用いて選択する場合には、例えば、次のような方法がある。検出対象の被写体のカテゴリとして選択可能なカテゴリの一覧を、ディスプレイ７の表示画面上にメニューとして表示させ、操作者は操作部６を用いて、そのメニュー表示されたカテゴリの中から１以上を選択する。
【００２６】
図２は、物体検出部３のより詳細な機能構成を示すブロック図である。同図に示す如く、物体検出部３は、特徴抽出部３２、モデルデータ記憶部３１、マッチング処理部３３により構成されている。
【００２７】
特徴抽出部３２は、メモリ２から画像のデータを読み出すと、この画像中の各位置（サンプリング点）において、幾何学的特徴またはその他の特徴（例えば、色、動きベクトル情報など）を抽出する。マッチング処理部３３は、特徴量ベースでのモデルデータとのマッチング或いはテンプレートマッチング等を行い、その結果に基づいて、人物の顔を検出する処理を行う。顔が検出されると、入力画像中でその顔が検出された位置を出力する。尚、この検出の際には、検出した「人物の顔」の領域が、どれだけ「人物の顔」に近いのかを示す値（類似度）を求める。
【００２８】
なお、人物の顔に関するモデルデータとしては、顔画像データ、主成分分析や独立成分分析により得られる顔全体に関する所定の特徴ベクトルデータ、または顔の目、口などの個々の顔に特徴的な領域に関する局所的特徴データを用いる。モデルデータは、モデルデータ記憶部３１に格納されており、マッチング処理部３３はこの格納されているデータを用いて、人物の顔の検出処理を行う。
【００２９】
マッチング処理部３３が行う処理には、例えば、特開平９−１３０７１４号公報に開示されている技術を用いることができる。この技術では、被写体距離に応じたサイズのテンプレートモデル画像を生成し、これを用いて画面内を走査しながら、各位置で正規化相関係数などを計算することにより入力画像の局所部分とモデルデータとの類似度分布を算出する。
【００３０】
また、マッチング処理部３３が行う処理には、特許３０７８１６６号公報に開示されている局所的特徴の空間配置関係に基づくアルゴリズムや、特開2002−8032号公報に開示されている畳み込み神経回路網をベースにしたアルゴリズム等を用いることができる。一般的には、類似度分布の最大値が所定の閾値を越していれば、そのカテゴリに属するパターンが検出されたことになる。
【００３１】
被写体検出の処理時間短縮のために、予め前処理として時系列画像データから公知の方法による一次特徴量（動きベクトル、色情報などの低次特徴量）抽出を行っておき、被写体が存在する可能性の高い候補領域を抽出して探索範囲の絞込みを行っておいてもよい。例えば、色情報に基づき、予め登録してあるモデル画像データの要部の色彩(例えば、人物の肌色など)に近い色彩を有する画像領域を閾値処理により抽出してもよい。或いは（更には、それらの画像領域の中で）、一定サイズ以上のまとまった動きベクトル量を有する領域、人物の頭部に類似する検出領域などを被写体候補領域として抽出すればよい。
【００３２】
なお、本実施形態では、撮像部１は所定位置に固定されているものとする。手持ち撮影するなど、固定しない場合には、撮像部１そのものの動きに伴うグローバルな動きベクトル量（Ego-motion  ベクトル）を抽出し、それを全体の動きベクトル分布から相殺した後に動きベクトル量に基づく領域分割を行う。これにより人物など動きのある被写体の候補領域を求めることができる。
【００３３】
次に、状態検出部４の動作について説明する。本実施形態では、検出対象の被写体を「人物の顔」としているので、状態検出部４は人物の顔の表情や向きなどの状態に関する状態クラスの検出を行う。
【００３４】
状態検出部４は先ず、物体検出部３が検出した「人物の顔」とおぼしき領域（顔領域）から、顔の目尻、口元等、表情や顔の向き検出に有効な部位の特徴点の検出を行う。より詳しくは、顔領域を所定サイズに正規化した上で、これら特徴点の過去フレーム（非笑顔）での特徴点と現フレームでの顔領域から得られる特徴点とに基づいて表情検出処理（例えば、金田、森、御手洗、真継、「顔検出Convolutional Neural Network を用いた自動表情認識システム」第2回情報科学技術フォーラム、119−121、2003年などを参照）を行うと共に、顔の向きの検出を行う。その結果、状態クラスとしては、「斜め向き・無表情」などのように検出される。
【００３５】
図８は、状態検出部４による検出処理を説明する図である。同図に示す如く、状態検出部４は、ユーザが指定した検出対象の被写体（人物の顔）を大分類の状態クラスとした場合に、中分類、小分類のレベルで状態検出を行う。状態クラスとしては、物体検出部３が検出する被写体の種類に応じて、例えば本実施形態のように人物の顔であれば表情、顔の向きなど（中分類）が予め分類され、状態検出部４内に格納されている。これにより、状態検出部４は顔の表情や向きの検出を行う。図８に示すように、顔の向きとしてはパン方向、ティルト方向に細分化されたクラス（小分類）が予め定められている。また、顔の表情としては、微笑み、冷笑、大笑い、愛想笑い等に細分化されたクラス（小分類）が予め定められている。
【００３６】
次に、個体認識処理部５の動作について説明する。個体認識処理部５は、物体検出部３が検出した顔領域に対して、状態検出部４が検出した状態クラスに応じた個体識別処理を行う。図４は、個体認識処理部５の構成を示すブロック図である。
【００３７】
図４に示す如く、状態クラスは（大クラス、中クラス、小クラス）の形式で木構造に予め分類され、個体認識処理部５は、大クラス毎の処理モジュール群を保持している。同図では大クラスとしてのクラスＡ、クラスＢ、…クラスＸのそれぞれの処理モジュール群４００〜４０２が状態検出部４内に保持されている。なお、状態クラスの分類形式は、このような木構造以外の他の形式であってもよいことはいうまでもない。
【００３８】
例えば、処理モジュール群４０１が、人物の顔に対する個体識別処理を行うための処理モジュール群である場合には、個体認識処理部５はこの処理モジュール群４０１を選択する。そして、更に、状態検出部４が検出した状態クラス（例えば「正面・笑顔」）に対応する処理モジュールが、同図の「クラス（Ｂ．１．２）個体識別処理モジュール」である場合、個体認識処理部５はこの処理モジュールを選択する。このように、個体認識処理部５は、状態検出部４が検出した状態クラスに応じた個体識別処理モジュールを選択し、この選択した処理モジュールを用いて、物体検出部３が検出した顔領域に対する個体認識処理を行う。
【００３９】
なお、図４に示した各処理モジュールは、個体認識処理部５が備えることに限定するものではなく、制御部８内にハードＩＰコアとして設けたり、メモリ２内にプログラムとして保持させるようにしても良い。
【００４０】
また、各状態クラスに対応した処理モジュールは、対応する特定状態クラスを中心としたある程度広い識別性能を有する。即ち、「正面・笑顔」に特化した処理モジュールであっても、ある程度顔の向きや比較的広範な笑顔の範囲（微笑み〜大きく口を開けて笑う顔まで）の中で変動にロバストな個体識別が可能となるように、予め学習により生成されている。
【００４１】
そのような処理モジュールとしては、例えば特定の状態クラスにある特定の二人の顔を識別するようなサポートベクトルマシンを学習により生成して用いる。学習は、特定状態クラス（ここでは、正面・笑顔）を中心とするある範囲の顔を用いる。例えば、正面から±20度の範囲で顔の向きが横向きになっている顔であって、大きく口を開けていない様々な笑顔を含むような、ある程度広範な顔を用いる。そして、特定の二人に関するそのような顔データセット用いて、その二人を識別するようにサポートベクトルマシンをトレーニングする。なお、いわゆるone-against-allタイプのサポートベクトルマシンを生成してもよい。この場合、識別する個体数だけサポートベクトルマシンをトレーニングにより生成すればよい。
【００４２】
ここでは、この特定の状態クラスについてこのようなバイナリの識別を行うサポートベクトルマシンを全てのペアの組み合わせ数だけ学習により生成する。認識処理の時には、全てのペアの組み合わせについて実行するのではなく、文献（Guo, Li, and Chan “Face Recognition by Support Vector Machines, in Proc. of 14th International Conf. on Automatic Face and Gesture Recognition, 2000）に示されるように２本木認識方式を用いれば、（クラス数−１）回の比較をすればよい。
【００４３】
図３は、本実施形態に係る画像処理装置が行う個体識別処理のフローチャートである。なお、同図のフローチャートに従った処理を、画像処理装置を構成する各部に行わせるためのプログラムやデータは、制御部８内の不図示のメモリに格納されている。そして、制御部８内の不図示のＣＰＵがこのプログラムを用いて処理を実行することで、本実施形態に係る画像処理装置は以下説明する各処理を実行する。
【００４４】
本装置のユーザは以下の処理に先立って、ディスプレイ７に表示されている「検出対象の被写体のカテゴリを選択する為のメニュー」を見て、これから個体識別処理を行う対象の被写体のカテゴリを操作部６を用いて選択する。この選択指示は制御部８に送出されるので、制御部８はこの選択指示を受けると、ステップＳ１で、検出対象の被写体のカテゴリを決定する。上述の例では、「人物の顔」を検出対象の被写体のカテゴリとして設定する。被写体のカテゴリとしては、「車両」や「ペット」などを設定できるようにしてもよい。なお、その設定方法については上記方法に限定するものではなく、様々な形態が考えられる。
【００４５】
次にステップＳ２では、撮像部１により撮像された画像をメモリ２に取得する。なお、画像処理装置の構成によっては、画像の取得形態は撮像以外にも画像データベースからの読み出しなど様々なものが考えられるので、本ステップでは様々な処理形態が考えられる。
【００４６】
ステップＳ３では、物体検出部３は、ステップＳ２でメモリ２に取得した画像中で、ステップＳ１で設定したカテゴリの被写体を検出する処理を行う。この検出処理では、特許３０７８１６６号公報に開示されている局所的特徴の空間配置関係に基づくアルゴリズムや、特開2002−8032号公報に開示されている畳み込み神経回路網をベースにしたアルゴリズムなどが用いられる。係る処理によれば、背景からの被写体の分離と検出とを並行して行うことができる。また、被写体のサイズや向きが変動してもロバストに検出することができる。
【００４７】
次にステップＳ４では、状態検出部４は、ステップＳ３で検出した被写体の状態クラスを検出する処理を行う。状態クラスは、被写体の動的状態と静的状態を含み、被写体の種類ごとに決まっているものとする。例えば、被写体が人物である場合、状態クラスとしては表情（笑顔、泣き顔、驚き顔、など）や顔の向き・姿勢などがある。表情や顔の向き・姿勢の認識は公知の画像認識技術を用いることにより検出することができる。
【００４８】
即ち、詳しくは上述の通りであるが、図８に示したような構造における各分類レベルにおいて、被写体の中分類における状態、小分類における状態を検出する。同図では、顔について中分類では向きと表情とを検出し、向きについて小分類ではその角度（パン、ティルト）、表情について小分類では微笑み、冷笑、大笑い、愛想笑い等の何れかを検出する。
【００４９】
図３に戻って、次に、ステップＳ５では、個体認識処理部５は、自身若しくはその他のメモリ内などに保持されている個体識別処理モジュール群のうち、ステップＳ４で検出した状態クラスに対応する個体識別処理モジュールを選択する処理を行う。各処理モジュールは上述の通り、対応する状態クラスにおける被写体に対する個体識別処理を行うために学習されている。そのため、本ステップで選択する処理モジュールは、ステップＳ４で検出した状態クラスについて学習されており、この状態クラスにおける被写体に対する個体識別処理を可能にするものである。
【００５０】
例えば、表情についてステップＳ４で検出された状態クラスが笑顔である場合には、ステップＳ５では、笑顔の顔について個体識別処理を行うための個体識別処理モジュールを選択する。
【００５１】
このようにすることにより、様々な状態クラスに対応しつつ、高精度な個体識別を行うことができる。また、識別すべき被写体の数が増えても、全ての状態クラスを含む画像データから探索する場合と比べて処理効率の劣化を大幅に少なくすることができる。
【００５２】
そしてステップＳ６では、個体認識処理部５は、ステップＳ５で選択された処理モジュールを用いて、ステップＳ３で検出した被写体に対する個体識別処理を行う。
【００５３】
なお、ステップＳ３で検出した被写体の数が複数である場合には、ステップＳ４〜Ｓ６の処理は、この検出されたそれぞれの被写体について行うことになる。すなわち、被写体の状態クラスの検出、検出された状態クラスに対応する個体識別処理モジュールの選択、選択されたモジュールによる個体識別処理を、個々の被写体について行う。
【００５４】
このように、予め設定された種類の状態クラス（表情の種類、顔の向きなど）の何れに属するかの判定（比較的軽い処理）を個体認識に先立って行うことにより、特徴空間内での個体識別のための探索範囲が効率的に絞り込まれる。その後に検出された状態クラスに特化して生成された処理モジュールによる識別動作を実行することにより、全ての状態クラスを含む集合の中で個体識別を行う場合と比べて、より効率的にかつ高い精度での認識が可能となる。
【００５５】
＜変形例＞
上述したサポートベクトルマシンなどの学習による処理モジュールの生成を、全てのペアの全ての状態クラスについて予め行っておくのは困難となる場合がある。そこで、処理モジュールの生成は、個体識別ができなかった人物について、事後的かつ蓄積的に生成するようにしてもよい。例えば、ステップＳ６における個体認識処理の結果、この認識結果の信頼度が所定値以下である場合には、ステップＳ５で選択した処理モジュールの再学習を行う。
【００５６】
図１０は、図３に示した処理に加え、個体認識処理の結果に応じて、個体認識処理で用いた処理モジュールの再学習を行うか否かを判断し、その判断結果によっては再学習を行う処理のフローチャートである。なお、ステップＳ１００〜ステップＳ１０５における処理はそれぞれ、上記ステップＳ１〜ステップＳ６と同じであるので、説明は省略する。しかし、ステップＳ１０５では、ステップＳ６における個体認識処理を行うと共に、行った個体認識処理の信頼度を求める。この信頼度は、例えば、個体認識処理をニューラルネットワークにより行う場合には、最終出力層における出力値を信頼度とすれば良い。
【００５７】
また、この信頼度は、ステップＳ６における上記処理の結果を表示したディスプレイ７をユーザが見て判断し、ユーザがこの判断の結果、信頼できる（信頼度＝１）か信頼できない（信頼度＝０）の何れかを操作部６を用いて入力しても良い。もちろん、アナログ値としての信頼度を入力しても良い。
【００５８】
そしてステップＳ１０６では、制御部８が、信頼度が所定の閾値を越えているか否かを判断し、越えている（個体認識できた）場合には本処理を終了するのであるが、越えていない（個体認識できなかった）場合には処理をステップＳ１０７に進める。ステップＳ１０７では、ステップＳ１０４で選択した処理モジュールの再学習を行う。具体的には、ステップＳ１０１で取得した画像と、正しい個体識別結果と、を教師データとして追加し、この画像について正しい個体認識処理結果が出力されるように、ステップＳ１０４で選択した処理モジュールの再学習を行う。
【００５９】
各個体識別処理モジュールとしては、以上のサポートベクトルマシンをベースにした方法のほかに階層的神経回路網や統計的パターン認識の手法を用いても良い。例えば、階層的神経回路網として畳み込み神経回路網を用いた方法（文献：Lawrence et al., “Face Recognition: A Convolutional Neural-Network Approach, IEEE Transactions on Neural Networks, vol.8, pp.98-113, 1997）をベースにしてもよい。この場合、状態クラス毎に学習用顔画像データを用意し、教師付き学習を行って個体認識用処理モジュールを生成すればよい。
【００６０】
このように顔の識別時と学習時とで、ともに先ず状態クラス（顔の向きや表情など）を判定する。その結果に基づいて特定の状態クラスに特化した処理モジュールの生成を行うか、或いは学習済みの特定の処理モジュールを選択的に起動（必ずしも一つの処理モジュールとは限らない）して個体の識別を行う。選択的起動の仕方としては、検出された状態クラスを中心としてその近傍にあるクラスに対応する個体識別処理モジュールの起動を行っても良い。
【００６１】
［第２の実施形態］
本実施形態は、第１の実施形態で検出したような状態クラスの時系列的な変化のパターンを、被写体（人物）の特定の動作パターン（の内容）を表す状態クラス（動作クラス）として検出し、その動作状態クラスにおいて個体識別を行う点が、第１の実施形態とは異なる。
【００６２】
図５は、本実施形態に係る画像処理装置の機能構成を示すブロック図である。同図に示した構成は、図１に示した構成に、動作検出部３５を加えたものとなっている。従って、図５に示した撮像部２１、メモリ２２、制御部２８、物体検出部２３、状態検出部２４、個体認識処理部２５、操作部２６、ディスプレイ２７、画像記録部２９はそれぞれ、図１に示した撮像部１、メモリ２、制御部８、物体検出部３、状態検出部４、個体認識処理部５、操作部６、ディスプレイ７、画像記録部９と同様のものである。
【００６３】
動作検出部３５は、被写体の動作パターン（歩き方、座り方、首の振り方、腕組みや足組みのポーズのとり方など）を検出するものである。この動作パターン検出のために用いる動作パターン照合用モデルデータとしては、動作パターンを記述する時系列データを用いる。具体的には、動物体の各部位の特徴点位置（３次元空間に時間軸を加えた４次元空間または映像センサ面への投影２次元空間に時間軸を加えた３次元空間における）の変化パターンを用いる。
【００６４】
また、第１の実施形態では個体認識処理部５は、状態検出部４が検出した状態クラスのみに基づいて、使用する個体認識処理モジュールを決定していた。これに対し、個体認識処理部２５は、状態検出部２４が検出した状態クラスに加え、動作検出部３５が検出した動作パターンに基づいて、使用する個体認識処理モジュールを決定する。
【００６５】
また、物体検出部２３は、第１の実施形態における物体検出部３と同様に人物の身体各部や車等を検出すると共に、ラケット、ボールその他の道具などの検出が可能な、予め登録された限定的種類でのマルチカテゴリ対応の物体検出機能を有する。
【００６６】
図６は、本実施形態に係る画像処理装置が行う個体識別処理のフローチャートである。なお、同図のフローチャートに従った処理を、画像処理装置を構成する各部に行わせるためのプログラムやデータは、制御部２８内の不図示のメモリに格納されている。そして、制御部２８内の不図示のＣＰＵがこのプログラムを用いて処理を実行することで、本実施形態に係る画像処理装置は以下説明する各処理を実行する。
【００６７】
ステップＳ２０〜ステップＳ２３の各ステップにおける処理はそれぞれ、上記ステップＳ１〜ステップＳ４と同じであるので、説明は省略する。
【００６８】
ステップＳ２４では、ステップＳ２３における状態クラスの検出処理で得られる特徴点または状態クラスの時系列データに基づいて、被写体の動作パターンの検出処理を行う。本ステップにおける処理の詳細については後述する。
【００６９】
そしてステップＳ２５では、個体認識処理部２５は、自身若しくはその他のメモリ内に保持されている個体識別処理モジュール群のうち、ステップＳ２３で検出された状態クラス及びステップＳ２４で検出された動作パターン、に対応する個体識別処理モジュールを選択する処理を行う。
【００７０】
そしてステップＳ２６では、個体認識処理部２５は、ステップＳ２５で選択された処理モジュールを用いて、ステップＳ２２で検出した被写体に対する個体識別処理を行う。
【００７１】
次に、上記ステップＳ２４における、動作検出部３５が行う処理について説明する。
【００７２】
動作検出部３５が検出する動作パターンとは、被写体が人物や動物であるときにはその身体動作を指す。例えばある種のスポーツにおける特定の動作パターン（ゴルフ、テニス、野球でのスイングをしているときの動作など）、ダンスにおける特定の振り、或いは、特定の意味を持ったジェスチャや手振りなどである。
【００７３】
人物の類型化された動作の検出のための認識処理は、公知の技術（例えば連続ダイナミックプログラミング、隠れマルコフモデル、ベイジアンネットワークなど）を使えばよい。本実施形態では特定クラスの動作パターンの特徴と動作中のある時刻での（第１の実施形態の意味での）状態クラスの特徴とを用いる。そして動作のくせや人物などの容姿の全体的特徴（例えば、シルエットなど）に基づき、その動作や容姿の全体的特徴に特化した個体識別モジュールを用いて個体認識を行う。
【００７４】
このようにすることにより、一枚の画像からの静的な見え方だけでは識別が難しい場合（例えば、照明条件が悪い、被写体が遠距離にいて画面中のサイズが小さく顔の特徴が判別し難い、など）に個体認識の精度を高くすることができる。
【００７５】
ここで例として、特定クラスＡ（状態クラスと動作クラス）が検出され、検出された特定クラスＡに対応する個体認識処理モジュールが選択されたとする。図９は、この個体認識処理モジュールの機能構成を示すブロック図である。
【００７６】
同図において２５Ａは特定クラスＡに対応する個体認識処理モジュールである。
【００７７】
状態クラスと動作クラスの重み決定部２５０Ａは、第１の実施形態と同様の特定状態クラスでの画像データと動作特徴に関する時系列データとを入力して、両者の信頼度を推定し、その信頼度に基づき両データの重み値を決定する。
【００７８】
状態クラスの信頼度は被写体検出時の信頼度（例えば、検出出力レベル）、顔（被写体）サイズ、顔（被写体）の向き、画像のコントラストなどの値によって前もってルックアップテーブルとして設定され、メモリ２等に格納されている。推定された動作クラスの信頼度についても、被写体のサイズ、被写体検出時の信頼度（検出レベルなど）、時系列データの信頼度（SN比など）に基づき予めルックアップテーブル形式でメモリ２などに格納されている。
【００７９】
特定の動作クラスに特化した個体識別処理モジュール２５１Ａは、特定の身体動作に関する特徴（手や足の位置、首の角度など）の時系列データにおける波形形状や周波数特徴などを反映する特徴量をウエーブレット変換などにより抽出する。そして、その特徴量に基づいてパターン認識の手法（例えばニューラルネットワーク、ベイジアンネットワーク、連続DPなど）により個人差を検出する。
【００８０】
一方、特定の状態クラスに特化した個体識別処理モジュール２５２Ａは、顔の向きや表情などの特定状態クラスにおける個体識別処理、即ち第１の実施形態と同様の処理を行う。
【００８１】
総合判定部２５３Ａは、上記２つの個体識別処理モジュール２５１Ａ、２５２Ａの出力（識別ラベルまたは名称とその確からしさを示す値）に前述した状態クラスと動作クラスごとの重み係数値を乗算して、重み付き識別結果をそれぞれ算出する。そして、値の大きい方の識別結果（ラベルまたは名称）を最終的な個体識別結果として出力する。なお、時系列データに基づく識別は主眼ではないので、これに関する詳細な説明は省略する。
【００８２】
以上のように歩き方など動作の特徴に基づいて行う人物の識別の方が、特定の向きや表情の顔画像など、特定状態クラスの画像データ上の特徴に基づいて行う場合と比べて容易な場合を自動的に判別して、識別性能を上げることができる。
【００８３】
なお、上記ステップＳ２４における処理では、上記ステップＳ２３で検出された状態クラスの時系列データ、頭部位置、顔の向きやサイズ、手首、手先の位置等の特徴量に関する時系列データを用いて行う。
【００８４】
顔の向きやサイズが予め定めた範囲内（例えば、正面±20度以内、サイズ：30x30画素以上）にある場合、動作検出処理は中断し、第１の実施形態と同様にこの状態クラスにおける個体識別モジュールを選択的に起動しても良い。
【００８５】
頭部の検出は、例えば、顔検出等に用いた畳み込み神経回路網（CNN）を用い、頭頂部、前頭部、後頭部を検出するモジュールをそれぞれ第一階層レベルに学習により形成し、頭部検出を行うモジュールを第二階層レベルに学習により形成する。頭部以外の人体各部、及びラケットやバットなどの道具の検出も同様に階層的に複雑化する局所的な特徴の空間配置関係等の検出を同様に畳み込み神経回路網などを用いて実現する事が出来る。なお、これらの被写体検出処理に色成分や局所的な空間周波数情報を用いてもよいことはいうまでもない。
【００８６】
球技のようにラケットやバットなどの道具を用いたスイング動作は個人差があり、その個人差を反映する動作パターンの検出処理は、先ず、人体の顔の向きと手首（または掌や手先）の位置、及び道具（ラケットなど）の位置と姿勢の検出を行う。更に、それらの特徴点が所定の視点位置から見た画像上で予め定められた相対位置関係の条件を保持しながら、所定範囲の軌道（例えば、扁平楕円で近似されるパターン）を巡回的に描いて推移することを検知すればよい。ここで、相対位置関係の条件とは、例えば、頭部位置を基準とした手首の位置が検出された頭部のサイズを単位とした一定距離範囲内、例えば、7単位距離以内にあることなどである。
【００８７】
図７は、動作検出部３５の機能構成を示すブロック図である。同図に示す如く、動作検出部３５は、頭部検出部３５０、顔の位置・向き検出部３５１、手首（手先、足首、足の先等）の位置・向き検出部３５２、道具等の位置・向き検出部３５３、動作カテゴリ判定部３５５を有する。
【００８８】
動作カテゴリ判定部３５５は、頭部の位置、顔の向き、手首（掌、手先）の位置、などに関する時系列データを各部３５０〜３５３から入力し、動作クラスを判定するニューラルネットワークモデル（自己組織化マップなど）やベイジアンネットワークモデル、連続DPモデルなどから構成される。
【００８９】
以上説明したように、上記各実施形態によれば、被写体の容姿や身体動作などの状態クラスを検出し、その検出結果に基づいて特定の状態クラスに特化した識別モジュールを選択的に起動して個体識別をするので、網羅的に行う場合と比べて識別処理の高効率化と高精度化をもたらすことができる。
【００９０】
また、上記各実施形態における技術内容は適宜組み合わせても良い。
【００９１】
［その他の実施形態］
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【００９２】
また、コンピュータが読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９３】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９４】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【００９５】
【図１】本発明の第１の実施形態に係る画像処理装置の機能構成を示すブロック図である。
【図２】物体検出部３のより詳細な機能構成を示すブロック図である。
【図３】本発明の第１の実施形態に係る画像処理装置が行う個体識別処理のフローチャートである。
【図４】個体認識処理部５の構成を示すブロック図である。
【図５】本発明の第２の実施形態に係る画像処理装置の機能構成を示すブロック図である。
【図６】本発明の第２の実施形態に係る画像処理装置が行う個体識別処理のフローチャートである。
【図７】動作検出部３５の機能構成を示すブロック図である。
【図８】状態検出部４による検出処理を説明する図である。
【図９】個体認識処理モジュールの機能構成を示すブロック図である。
【図１０】図３に示した処理に加え、ステップＳ６における処理の結果に応じて、個体認識処理で用いた処理モジュールの再学習を行うか否かを判断し、その判断結果によっては再学習を行う処理のフローチャートである。
【図１】
2008009914.tif 000003
【図２】
2008009914.tif 000004
【図３】
2008009914.tif 000005
【図４】
2008009914.tif 000006
【図５】
2008009914.tif 000007
【図６】
2008009914.tif 000008
【図７】
2008009914.tif 000009
【図８】
2008009914.tif 000010
【図９】
2008009914.tif 000011
【図１０】
2008009914.tif 000012