説明

画像処理装置、画像処理方法、プログラム、記憶媒体

【課題】 画像中における被写体の個体識別をより高精度に行うための技術を提供すること。
【解決手段】 撮像部1は、被写体を含む画像を取得する。状態検出部4は、この画像中における被写体の状態を検出する。個体認識処理部5は、複数の個体識別処理モジュールのうち、状態検出部4が検出した状態に対応する個体識別処理モジュールを決定する。そして個体認識処理部5は、画像中における被写体に対して、決定した個体識別処理モジュールによる個体識別処理を行うことで、被写体の個体識別を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、認識技術に関するものである。
【背景技術】
【0002】
様々な条件下で物体を認識する技術として、特許文献1に開示されている技術がある。特許文献1には、画像中の動領域を検出し、その領域に形状モデルの当てはめによるモデル適合を行う認識技術が開示されている。
【0003】
また、特許文献2には、顔の向きに対応した顔画像を登録しておき、それぞれの向きの画像に対する入力画像の照合スコアを算出し、照合スコアの高い向きに対応した変形パラメータを選択し、正面顔に変換してモデル画像と照合する技術が開示されている。
【0004】
非特許文献1には、3次元CGモデルを実写画像から生成し、様々な顔の向きに対応した顔画像を生成してサポートベクトルマシンをトレーニングし、向きや照明変動によらない顔認識を検討している。
【特許文献1】特開平10−275237号公報
【特許文献2】特開2003−263639号公報
【非特許文献1】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
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、上記従来技術では、同じクラスの物体(例えば人物)のポーズ、表情、照明条件などに関する様々な状態に対応し、且つ、状態の種類と識別するべき個体数がともに増加しても個体識別を効率的かつ高精度に行う、ということが困難であった。
【0006】
本発明は以上の問題に鑑みてなされたものであり、画像中における被写体の個体識別をより高精度に行うための技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を備える。
【0008】
即ち、被写体を含む画像を取得する取得手段と、
前記画像中における前記被写体の状態を検出する検出手段と、
複数の個体識別処理モジュールのうち、前記検出手段が検出した状態に対応する個体識別処理モジュールを決定する決定手段と、
前記画像中における前記被写体に対して、前記決定手段が決定した個体識別処理モジュールによる個体識別処理を行うことで、前記被写体の個体識別を行う処理手段と
を備えることを特徴とする。
【0009】
本発明の目的を達成するために、例えば、本発明の画像処理方法は以下の構成を備える。
【0010】
即ち、被写体を含む画像を取得する取得工程と、
前記画像中における前記被写体の状態を検出する検出工程と、
複数の個体識別処理モジュールのうち、前記検出工程で検出した状態に対応する個体識別処理モジュールを決定する決定工程と、
前記画像中における前記被写体に対して、前記決定工程で決定した個体識別処理モジュールによる個体識別処理を行うことで、前記被写体の個体識別を行う処理工程と
を備えることを特徴とする。
【発明の効果】
【0011】
本発明の構成によれば、画像中における被写体の個体識別をより高精度に行うことができる。
【発明を実施するための最良の形態】
【0012】
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
【0013】
[第1の実施形態]
図1は、本実施形態に係る画像処理装置の機能構成を示すブロック図である。
【0014】
撮像部1は、レンズ等の結像光学系、典型的にはCCDまたはCMOSイメージセンサにより構成されている映像センサ、センサ信号処理回路、センサ駆動回路等により構成されている。外界の光は結像光学系、映像センサを介して電気信号に変換される。そして、映像センサは、センサ駆動回路からの読み出し制御信号を受けると、この制御信号により指示された映像信号(例えば、サブサンプリング、ブロック読み出しして得られる信号)をメモリ2に対して出力する。即ち、撮像部1による撮像画像はデータとしてメモリ2に送出される。このようにして、撮像部1により撮像された動画像を構成する各フレーム(撮像画像)はメモリ2に送出される。
【0015】
メモリ2には、撮像部1から送出された画像のデータや、後述する各処理に用いる各種のデータが格納されている。
【0016】
物体検出部3は、メモリ2に保持されている撮像画像中に写っている1以上の被写体を検出する処理を行う。物体検出部3は、専用の処理チップ(IP、ASIC等)や、ミドルウエア、DSP、リコンフィギュラブルプロセッサ内部において実行されるプログラムのモジュール等により実現することができる。
【0017】
状態検出部4は、物体検出部3が検出した被写体の状態を検出する処理を行う。
【0018】
個体認識処理部5は、物体検出部3が検出した被写体に対して、状態検出部4が検出した状態に応じた個体識別処理を行う。
【0019】
操作部6は、ボタン群により構成されており、本装置の操作者はこのボタン群を操作することで、物体検出部3が検出する対象となる被写体の種類等を指示することができる。
【0020】
ディスプレイ7は、例えば、液晶画面により構成されており、各種の情報を表示することができる。
【0021】
画像記録部9は、画像を保存するメモリや、このメモリへのアクセス制御を行うための各種の機器により構成されている。より詳しくは、撮像部1が撮像した画像のうち、保存する画像が操作部6を用いて指示された場合には、この指示された画像はこの画像記録部9に保存されることになる。
【0022】
制御部8は、上述の各部の動作制御を行う。
【0023】
なお、上記各部は全てハードウェアでもって実現しても良いし、その一部をソフトウェアでもって実現しても良い。例えば、物体検出部3、状態検出部4、個体認識処理部5をハードウェアでもって実現する場合、これらは、専用回路(ASIC)、プロセッサ(リコンフィギュラブルプロセッサ、DSP、CPU等)等により構成される。
【0024】
以下では、本実施形態に係る画像処理装置が、画像から検出する被写体のカテゴリを「人物の顔」として説明するが、被写体をその他のものにしても、以下説明する処理の基本的な部分については同じである。
【0025】
なお、検出対象の被写体のカテゴリを操作部6を用いて選択する場合には、例えば、次のような方法がある。検出対象の被写体のカテゴリとして選択可能なカテゴリの一覧を、ディスプレイ7の表示画面上にメニューとして表示させ、操作者は操作部6を用いて、そのメニュー表示されたカテゴリの中から1以上を選択する。
【0026】
図2は、物体検出部3のより詳細な機能構成を示すブロック図である。同図に示す如く、物体検出部3は、特徴抽出部32、モデルデータ記憶部31、マッチング処理部33により構成されている。
【0027】
特徴抽出部32は、メモリ2から画像のデータを読み出すと、この画像中の各位置(サンプリング点)において、幾何学的特徴またはその他の特徴(例えば、色、動きベクトル情報など)を抽出する。マッチング処理部33は、特徴量ベースでのモデルデータとのマッチング或いはテンプレートマッチング等を行い、その結果に基づいて、人物の顔を検出する処理を行う。顔が検出されると、入力画像中でその顔が検出された位置を出力する。尚、この検出の際には、検出した「人物の顔」の領域が、どれだけ「人物の顔」に近いのかを示す値(類似度)を求める。
【0028】
なお、人物の顔に関するモデルデータとしては、顔画像データ、主成分分析や独立成分分析により得られる顔全体に関する所定の特徴ベクトルデータ、または顔の目、口などの個々の顔に特徴的な領域に関する局所的特徴データを用いる。モデルデータは、モデルデータ記憶部31に格納されており、マッチング処理部33はこの格納されているデータを用いて、人物の顔の検出処理を行う。
【0029】
マッチング処理部33が行う処理には、例えば、特開平9−130714号公報に開示されている技術を用いることができる。この技術では、被写体距離に応じたサイズのテンプレートモデル画像を生成し、これを用いて画面内を走査しながら、各位置で正規化相関係数などを計算することにより入力画像の局所部分とモデルデータとの類似度分布を算出する。
【0030】
また、マッチング処理部33が行う処理には、特許3078166号公報に開示されている局所的特徴の空間配置関係に基づくアルゴリズムや、特開2002−8032号公報に開示されている畳み込み神経回路網をベースにしたアルゴリズム等を用いることができる。一般的には、類似度分布の最大値が所定の閾値を越していれば、そのカテゴリに属するパターンが検出されたことになる。
【0031】
被写体検出の処理時間短縮のために、予め前処理として時系列画像データから公知の方法による一次特徴量(動きベクトル、色情報などの低次特徴量)抽出を行っておき、被写体が存在する可能性の高い候補領域を抽出して探索範囲の絞込みを行っておいてもよい。例えば、色情報に基づき、予め登録してあるモデル画像データの要部の色彩(例えば、人物の肌色など)に近い色彩を有する画像領域を閾値処理により抽出してもよい。或いは(更には、それらの画像領域の中で)、一定サイズ以上のまとまった動きベクトル量を有する領域、人物の頭部に類似する検出領域などを被写体候補領域として抽出すればよい。
【0032】
なお、本実施形態では、撮像部1は所定位置に固定されているものとする。手持ち撮影するなど、固定しない場合には、撮像部1そのものの動きに伴うグローバルな動きベクトル量(Ego-motion ベクトル)を抽出し、それを全体の動きベクトル分布から相殺した後に動きベクトル量に基づく領域分割を行う。これにより人物など動きのある被写体の候補領域を求めることができる。
【0033】
次に、状態検出部4の動作について説明する。本実施形態では、検出対象の被写体を「人物の顔」としているので、状態検出部4は人物の顔の表情や向きなどの状態に関する状態クラスの検出を行う。
【0034】
状態検出部4は先ず、物体検出部3が検出した「人物の顔」とおぼしき領域(顔領域)から、顔の目尻、口元等、表情や顔の向き検出に有効な部位の特徴点の検出を行う。より詳しくは、顔領域を所定サイズに正規化した上で、これら特徴点の過去フレーム(非笑顔)での特徴点と現フレームでの顔領域から得られる特徴点とに基づいて表情検出処理(例えば、金田、森、御手洗、真継、「顔検出Convolutional Neural Network を用いた自動表情認識システム」第2回情報科学技術フォーラム、119−121、2003年などを参照)を行うと共に、顔の向きの検出を行う。その結果、状態クラスとしては、「斜め向き・無表情」などのように検出される。
【0035】
図8は、状態検出部4による検出処理を説明する図である。同図に示す如く、状態検出部4は、ユーザが指定した検出対象の被写体(人物の顔)を大分類の状態クラスとした場合に、中分類、小分類のレベルで状態検出を行う。状態クラスとしては、物体検出部3が検出する被写体の種類に応じて、例えば本実施形態のように人物の顔であれば表情、顔の向きなど(中分類)が予め分類され、状態検出部4内に格納されている。これにより、状態検出部4は顔の表情や向きの検出を行う。図8に示すように、顔の向きとしてはパン方向、ティルト方向に細分化されたクラス(小分類)が予め定められている。また、顔の表情としては、微笑み、冷笑、大笑い、愛想笑い等に細分化されたクラス(小分類)が予め定められている。
【0036】
次に、個体認識処理部5の動作について説明する。個体認識処理部5は、物体検出部3が検出した顔領域に対して、状態検出部4が検出した状態クラスに応じた個体識別処理を行う。図4は、個体認識処理部5の構成を示すブロック図である。
【0037】
図4に示す如く、状態クラスは(大クラス、中クラス、小クラス)の形式で木構造に予め分類され、個体認識処理部5は、大クラス毎の処理モジュール群を保持している。同図では大クラスとしてのクラスA、クラスB、…クラスXのそれぞれの処理モジュール群400〜402が状態検出部4内に保持されている。なお、状態クラスの分類形式は、このような木構造以外の他の形式であってもよいことはいうまでもない。
【0038】
例えば、処理モジュール群401が、人物の顔に対する個体識別処理を行うための処理モジュール群である場合には、個体認識処理部5はこの処理モジュール群401を選択する。そして、更に、状態検出部4が検出した状態クラス(例えば「正面・笑顔」)に対応する処理モジュールが、同図の「クラス(B.1.2)個体識別処理モジュール」である場合、個体認識処理部5はこの処理モジュールを選択する。このように、個体認識処理部5は、状態検出部4が検出した状態クラスに応じた個体識別処理モジュールを選択し、この選択した処理モジュールを用いて、物体検出部3が検出した顔領域に対する個体認識処理を行う。
【0039】
なお、図4に示した各処理モジュールは、個体認識処理部5が備えることに限定するものではなく、制御部8内にハードIPコアとして設けたり、メモリ2内にプログラムとして保持させるようにしても良い。
【0040】
また、各状態クラスに対応した処理モジュールは、対応する特定状態クラスを中心としたある程度広い識別性能を有する。即ち、「正面・笑顔」に特化した処理モジュールであっても、ある程度顔の向きや比較的広範な笑顔の範囲(微笑み〜大きく口を開けて笑う顔まで)の中で変動にロバストな個体識別が可能となるように、予め学習により生成されている。
【0041】
そのような処理モジュールとしては、例えば特定の状態クラスにある特定の二人の顔を識別するようなサポートベクトルマシンを学習により生成して用いる。学習は、特定状態クラス(ここでは、正面・笑顔)を中心とするある範囲の顔を用いる。例えば、正面から±20度の範囲で顔の向きが横向きになっている顔であって、大きく口を開けていない様々な笑顔を含むような、ある程度広範な顔を用いる。そして、特定の二人に関するそのような顔データセット用いて、その二人を識別するようにサポートベクトルマシンをトレーニングする。なお、いわゆるone-against-allタイプのサポートベクトルマシンを生成してもよい。この場合、識別する個体数だけサポートベクトルマシンをトレーニングにより生成すればよい。
【0042】
ここでは、この特定の状態クラスについてこのようなバイナリの識別を行うサポートベクトルマシンを全てのペアの組み合わせ数だけ学習により生成する。認識処理の時には、全てのペアの組み合わせについて実行するのではなく、文献(Guo, Li, and Chan “Face Recognition by Support Vector Machines, in Proc. of 14th International Conf. on Automatic Face and Gesture Recognition, 2000)に示されるように2本木認識方式を用いれば、(クラス数−1)回の比較をすればよい。
【0043】
図3は、本実施形態に係る画像処理装置が行う個体識別処理のフローチャートである。なお、同図のフローチャートに従った処理を、画像処理装置を構成する各部に行わせるためのプログラムやデータは、制御部8内の不図示のメモリに格納されている。そして、制御部8内の不図示のCPUがこのプログラムを用いて処理を実行することで、本実施形態に係る画像処理装置は以下説明する各処理を実行する。
【0044】
本装置のユーザは以下の処理に先立って、ディスプレイ7に表示されている「検出対象の被写体のカテゴリを選択する為のメニュー」を見て、これから個体識別処理を行う対象の被写体のカテゴリを操作部6を用いて選択する。この選択指示は制御部8に送出されるので、制御部8はこの選択指示を受けると、ステップS1で、検出対象の被写体のカテゴリを決定する。上述の例では、「人物の顔」を検出対象の被写体のカテゴリとして設定する。被写体のカテゴリとしては、「車両」や「ペット」などを設定できるようにしてもよい。なお、その設定方法については上記方法に限定するものではなく、様々な形態が考えられる。
【0045】
次にステップS2では、撮像部1により撮像された画像をメモリ2に取得する。なお、画像処理装置の構成によっては、画像の取得形態は撮像以外にも画像データベースからの読み出しなど様々なものが考えられるので、本ステップでは様々な処理形態が考えられる。
【0046】
ステップS3では、物体検出部3は、ステップS2でメモリ2に取得した画像中で、ステップS1で設定したカテゴリの被写体を検出する処理を行う。この検出処理では、特許3078166号公報に開示されている局所的特徴の空間配置関係に基づくアルゴリズムや、特開2002−8032号公報に開示されている畳み込み神経回路網をベースにしたアルゴリズムなどが用いられる。係る処理によれば、背景からの被写体の分離と検出とを並行して行うことができる。また、被写体のサイズや向きが変動してもロバストに検出することができる。
【0047】
次にステップS4では、状態検出部4は、ステップS3で検出した被写体の状態クラスを検出する処理を行う。状態クラスは、被写体の動的状態と静的状態を含み、被写体の種類ごとに決まっているものとする。例えば、被写体が人物である場合、状態クラスとしては表情(笑顔、泣き顔、驚き顔、など)や顔の向き・姿勢などがある。表情や顔の向き・姿勢の認識は公知の画像認識技術を用いることにより検出することができる。
【0048】
即ち、詳しくは上述の通りであるが、図8に示したような構造における各分類レベルにおいて、被写体の中分類における状態、小分類における状態を検出する。同図では、顔について中分類では向きと表情とを検出し、向きについて小分類ではその角度(パン、ティルト)、表情について小分類では微笑み、冷笑、大笑い、愛想笑い等の何れかを検出する。
【0049】
図3に戻って、次に、ステップS5では、個体認識処理部5は、自身若しくはその他のメモリ内などに保持されている個体識別処理モジュール群のうち、ステップS4で検出した状態クラスに対応する個体識別処理モジュールを選択する処理を行う。各処理モジュールは上述の通り、対応する状態クラスにおける被写体に対する個体識別処理を行うために学習されている。そのため、本ステップで選択する処理モジュールは、ステップS4で検出した状態クラスについて学習されており、この状態クラスにおける被写体に対する個体識別処理を可能にするものである。
【0050】
例えば、表情についてステップS4で検出された状態クラスが笑顔である場合には、ステップS5では、笑顔の顔について個体識別処理を行うための個体識別処理モジュールを選択する。
【0051】
このようにすることにより、様々な状態クラスに対応しつつ、高精度な個体識別を行うことができる。また、識別すべき被写体の数が増えても、全ての状態クラスを含む画像データから探索する場合と比べて処理効率の劣化を大幅に少なくすることができる。
【0052】
そしてステップS6では、個体認識処理部5は、ステップS5で選択された処理モジュールを用いて、ステップS3で検出した被写体に対する個体識別処理を行う。
【0053】
なお、ステップS3で検出した被写体の数が複数である場合には、ステップS4〜S6の処理は、この検出されたそれぞれの被写体について行うことになる。すなわち、被写体の状態クラスの検出、検出された状態クラスに対応する個体識別処理モジュールの選択、選択されたモジュールによる個体識別処理を、個々の被写体について行う。
【0054】
このように、予め設定された種類の状態クラス(表情の種類、顔の向きなど)の何れに属するかの判定(比較的軽い処理)を個体認識に先立って行うことにより、特徴空間内での個体識別のための探索範囲が効率的に絞り込まれる。その後に検出された状態クラスに特化して生成された処理モジュールによる識別動作を実行することにより、全ての状態クラスを含む集合の中で個体識別を行う場合と比べて、より効率的にかつ高い精度での認識が可能となる。
【0055】
<変形例>
上述したサポートベクトルマシンなどの学習による処理モジュールの生成を、全てのペアの全ての状態クラスについて予め行っておくのは困難となる場合がある。そこで、処理モジュールの生成は、個体識別ができなかった人物について、事後的かつ蓄積的に生成するようにしてもよい。例えば、ステップS6における個体認識処理の結果、この認識結果の信頼度が所定値以下である場合には、ステップS5で選択した処理モジュールの再学習を行う。
【0056】
図10は、図3に示した処理に加え、個体認識処理の結果に応じて、個体認識処理で用いた処理モジュールの再学習を行うか否かを判断し、その判断結果によっては再学習を行う処理のフローチャートである。なお、ステップS100〜ステップS105における処理はそれぞれ、上記ステップS1〜ステップS6と同じであるので、説明は省略する。しかし、ステップS105では、ステップS6における個体認識処理を行うと共に、行った個体認識処理の信頼度を求める。この信頼度は、例えば、個体認識処理をニューラルネットワークにより行う場合には、最終出力層における出力値を信頼度とすれば良い。
【0057】
また、この信頼度は、ステップS6における上記処理の結果を表示したディスプレイ7をユーザが見て判断し、ユーザがこの判断の結果、信頼できる(信頼度=1)か信頼できない(信頼度=0)の何れかを操作部6を用いて入力しても良い。もちろん、アナログ値としての信頼度を入力しても良い。
【0058】
そしてステップS106では、制御部8が、信頼度が所定の閾値を越えているか否かを判断し、越えている(個体認識できた)場合には本処理を終了するのであるが、越えていない(個体認識できなかった)場合には処理をステップS107に進める。ステップS107では、ステップS104で選択した処理モジュールの再学習を行う。具体的には、ステップS101で取得した画像と、正しい個体識別結果と、を教師データとして追加し、この画像について正しい個体認識処理結果が出力されるように、ステップS104で選択した処理モジュールの再学習を行う。
【0059】
各個体識別処理モジュールとしては、以上のサポートベクトルマシンをベースにした方法のほかに階層的神経回路網や統計的パターン認識の手法を用いても良い。例えば、階層的神経回路網として畳み込み神経回路網を用いた方法(文献:Lawrence et al., “Face Recognition: A Convolutional Neural-Network Approach, IEEE Transactions on Neural Networks, vol.8, pp.98-113, 1997)をベースにしてもよい。この場合、状態クラス毎に学習用顔画像データを用意し、教師付き学習を行って個体認識用処理モジュールを生成すればよい。
【0060】
このように顔の識別時と学習時とで、ともに先ず状態クラス(顔の向きや表情など)を判定する。その結果に基づいて特定の状態クラスに特化した処理モジュールの生成を行うか、或いは学習済みの特定の処理モジュールを選択的に起動(必ずしも一つの処理モジュールとは限らない)して個体の識別を行う。選択的起動の仕方としては、検出された状態クラスを中心としてその近傍にあるクラスに対応する個体識別処理モジュールの起動を行っても良い。
【0061】
[第2の実施形態]
本実施形態は、第1の実施形態で検出したような状態クラスの時系列的な変化のパターンを、被写体(人物)の特定の動作パターン(の内容)を表す状態クラス(動作クラス)として検出し、その動作状態クラスにおいて個体識別を行う点が、第1の実施形態とは異なる。
【0062】
図5は、本実施形態に係る画像処理装置の機能構成を示すブロック図である。同図に示した構成は、図1に示した構成に、動作検出部35を加えたものとなっている。従って、図5に示した撮像部21、メモリ22、制御部28、物体検出部23、状態検出部24、個体認識処理部25、操作部26、ディスプレイ27、画像記録部29はそれぞれ、図1に示した撮像部1、メモリ2、制御部8、物体検出部3、状態検出部4、個体認識処理部5、操作部6、ディスプレイ7、画像記録部9と同様のものである。
【0063】
動作検出部35は、被写体の動作パターン(歩き方、座り方、首の振り方、腕組みや足組みのポーズのとり方など)を検出するものである。この動作パターン検出のために用いる動作パターン照合用モデルデータとしては、動作パターンを記述する時系列データを用いる。具体的には、動物体の各部位の特徴点位置(3次元空間に時間軸を加えた4次元空間または映像センサ面への投影2次元空間に時間軸を加えた3次元空間における)の変化パターンを用いる。
【0064】
また、第1の実施形態では個体認識処理部5は、状態検出部4が検出した状態クラスのみに基づいて、使用する個体認識処理モジュールを決定していた。これに対し、個体認識処理部25は、状態検出部24が検出した状態クラスに加え、動作検出部35が検出した動作パターンに基づいて、使用する個体認識処理モジュールを決定する。
【0065】
また、物体検出部23は、第1の実施形態における物体検出部3と同様に人物の身体各部や車等を検出すると共に、ラケット、ボールその他の道具などの検出が可能な、予め登録された限定的種類でのマルチカテゴリ対応の物体検出機能を有する。
【0066】
図6は、本実施形態に係る画像処理装置が行う個体識別処理のフローチャートである。なお、同図のフローチャートに従った処理を、画像処理装置を構成する各部に行わせるためのプログラムやデータは、制御部28内の不図示のメモリに格納されている。そして、制御部28内の不図示のCPUがこのプログラムを用いて処理を実行することで、本実施形態に係る画像処理装置は以下説明する各処理を実行する。
【0067】
ステップS20〜ステップS23の各ステップにおける処理はそれぞれ、上記ステップS1〜ステップS4と同じであるので、説明は省略する。
【0068】
ステップS24では、ステップS23における状態クラスの検出処理で得られる特徴点または状態クラスの時系列データに基づいて、被写体の動作パターンの検出処理を行う。本ステップにおける処理の詳細については後述する。
【0069】
そしてステップS25では、個体認識処理部25は、自身若しくはその他のメモリ内に保持されている個体識別処理モジュール群のうち、ステップS23で検出された状態クラス及びステップS24で検出された動作パターン、に対応する個体識別処理モジュールを選択する処理を行う。
【0070】
そしてステップS26では、個体認識処理部25は、ステップS25で選択された処理モジュールを用いて、ステップS22で検出した被写体に対する個体識別処理を行う。
【0071】
次に、上記ステップS24における、動作検出部35が行う処理について説明する。
【0072】
動作検出部35が検出する動作パターンとは、被写体が人物や動物であるときにはその身体動作を指す。例えばある種のスポーツにおける特定の動作パターン(ゴルフ、テニス、野球でのスイングをしているときの動作など)、ダンスにおける特定の振り、或いは、特定の意味を持ったジェスチャや手振りなどである。
【0073】
人物の類型化された動作の検出のための認識処理は、公知の技術(例えば連続ダイナミックプログラミング、隠れマルコフモデル、ベイジアンネットワークなど)を使えばよい。本実施形態では特定クラスの動作パターンの特徴と動作中のある時刻での(第1の実施形態の意味での)状態クラスの特徴とを用いる。そして動作のくせや人物などの容姿の全体的特徴(例えば、シルエットなど)に基づき、その動作や容姿の全体的特徴に特化した個体識別モジュールを用いて個体認識を行う。
【0074】
このようにすることにより、一枚の画像からの静的な見え方だけでは識別が難しい場合(例えば、照明条件が悪い、被写体が遠距離にいて画面中のサイズが小さく顔の特徴が判別し難い、など)に個体認識の精度を高くすることができる。
【0075】
ここで例として、特定クラスA(状態クラスと動作クラス)が検出され、検出された特定クラスAに対応する個体認識処理モジュールが選択されたとする。図9は、この個体認識処理モジュールの機能構成を示すブロック図である。
【0076】
同図において25Aは特定クラスAに対応する個体認識処理モジュールである。
【0077】
状態クラスと動作クラスの重み決定部250Aは、第1の実施形態と同様の特定状態クラスでの画像データと動作特徴に関する時系列データとを入力して、両者の信頼度を推定し、その信頼度に基づき両データの重み値を決定する。
【0078】
状態クラスの信頼度は被写体検出時の信頼度(例えば、検出出力レベル)、顔(被写体)サイズ、顔(被写体)の向き、画像のコントラストなどの値によって前もってルックアップテーブルとして設定され、メモリ2等に格納されている。推定された動作クラスの信頼度についても、被写体のサイズ、被写体検出時の信頼度(検出レベルなど)、時系列データの信頼度(SN比など)に基づき予めルックアップテーブル形式でメモリ2などに格納されている。
【0079】
特定の動作クラスに特化した個体識別処理モジュール251Aは、特定の身体動作に関する特徴(手や足の位置、首の角度など)の時系列データにおける波形形状や周波数特徴などを反映する特徴量をウエーブレット変換などにより抽出する。そして、その特徴量に基づいてパターン認識の手法(例えばニューラルネットワーク、ベイジアンネットワーク、連続DPなど)により個人差を検出する。
【0080】
一方、特定の状態クラスに特化した個体識別処理モジュール252Aは、顔の向きや表情などの特定状態クラスにおける個体識別処理、即ち第1の実施形態と同様の処理を行う。
【0081】
総合判定部253Aは、上記2つの個体識別処理モジュール251A、252Aの出力(識別ラベルまたは名称とその確からしさを示す値)に前述した状態クラスと動作クラスごとの重み係数値を乗算して、重み付き識別結果をそれぞれ算出する。そして、値の大きい方の識別結果(ラベルまたは名称)を最終的な個体識別結果として出力する。なお、時系列データに基づく識別は主眼ではないので、これに関する詳細な説明は省略する。
【0082】
以上のように歩き方など動作の特徴に基づいて行う人物の識別の方が、特定の向きや表情の顔画像など、特定状態クラスの画像データ上の特徴に基づいて行う場合と比べて容易な場合を自動的に判別して、識別性能を上げることができる。
【0083】
なお、上記ステップS24における処理では、上記ステップS23で検出された状態クラスの時系列データ、頭部位置、顔の向きやサイズ、手首、手先の位置等の特徴量に関する時系列データを用いて行う。
【0084】
顔の向きやサイズが予め定めた範囲内(例えば、正面±20度以内、サイズ:30x30画素以上)にある場合、動作検出処理は中断し、第1の実施形態と同様にこの状態クラスにおける個体識別モジュールを選択的に起動しても良い。
【0085】
頭部の検出は、例えば、顔検出等に用いた畳み込み神経回路網(CNN)を用い、頭頂部、前頭部、後頭部を検出するモジュールをそれぞれ第一階層レベルに学習により形成し、頭部検出を行うモジュールを第二階層レベルに学習により形成する。頭部以外の人体各部、及びラケットやバットなどの道具の検出も同様に階層的に複雑化する局所的な特徴の空間配置関係等の検出を同様に畳み込み神経回路網などを用いて実現する事が出来る。なお、これらの被写体検出処理に色成分や局所的な空間周波数情報を用いてもよいことはいうまでもない。
【0086】
球技のようにラケットやバットなどの道具を用いたスイング動作は個人差があり、その個人差を反映する動作パターンの検出処理は、先ず、人体の顔の向きと手首(または掌や手先)の位置、及び道具(ラケットなど)の位置と姿勢の検出を行う。更に、それらの特徴点が所定の視点位置から見た画像上で予め定められた相対位置関係の条件を保持しながら、所定範囲の軌道(例えば、扁平楕円で近似されるパターン)を巡回的に描いて推移することを検知すればよい。ここで、相対位置関係の条件とは、例えば、頭部位置を基準とした手首の位置が検出された頭部のサイズを単位とした一定距離範囲内、例えば、7単位距離以内にあることなどである。
【0087】
図7は、動作検出部35の機能構成を示すブロック図である。同図に示す如く、動作検出部35は、頭部検出部350、顔の位置・向き検出部351、手首(手先、足首、足の先等)の位置・向き検出部352、道具等の位置・向き検出部353、動作カテゴリ判定部355を有する。
【0088】
動作カテゴリ判定部355は、頭部の位置、顔の向き、手首(掌、手先)の位置、などに関する時系列データを各部350〜353から入力し、動作クラスを判定するニューラルネットワークモデル(自己組織化マップなど)やベイジアンネットワークモデル、連続DPモデルなどから構成される。
【0089】
以上説明したように、上記各実施形態によれば、被写体の容姿や身体動作などの状態クラスを検出し、その検出結果に基づいて特定の状態クラスに特化した識別モジュールを選択的に起動して個体識別をするので、網羅的に行う場合と比べて識別処理の高効率化と高精度化をもたらすことができる。
【0090】
また、上記各実施形態における技術内容は適宜組み合わせても良い。
【0091】
[その他の実施形態]
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【0092】
また、コンピュータが読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0093】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0094】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【0095】
【図1】本発明の第1の実施形態に係る画像処理装置の機能構成を示すブロック図である。
【図2】物体検出部3のより詳細な機能構成を示すブロック図である。
【図3】本発明の第1の実施形態に係る画像処理装置が行う個体識別処理のフローチャートである。
【図4】個体認識処理部5の構成を示すブロック図である。
【図5】本発明の第2の実施形態に係る画像処理装置の機能構成を示すブロック図である。
【図6】本発明の第2の実施形態に係る画像処理装置が行う個体識別処理のフローチャートである。
【図7】動作検出部35の機能構成を示すブロック図である。
【図8】状態検出部4による検出処理を説明する図である。
【図9】個体認識処理モジュールの機能構成を示すブロック図である。
【図10】図3に示した処理に加え、ステップS6における処理の結果に応じて、個体認識処理で用いた処理モジュールの再学習を行うか否かを判断し、その判断結果によっては再学習を行う処理のフローチャートである。

【特許請求の範囲】
【請求項1】
被写体を含む画像を取得する取得手段と、
前記画像中における前記被写体の状態を検出する検出手段と、
複数の個体識別処理モジュールのうち、前記検出手段が検出した状態に対応する個体識別処理モジュールを決定する決定手段と、
前記画像中における前記被写体に対して、前記決定手段が決定した個体識別処理モジュールによる個体識別処理を行うことで、前記被写体の個体識別を行う処理手段と
を備えることを特徴とする画像処理装置。
【請求項2】
前記取得手段は、前記被写体を撮像することで前記画像を取得することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記画像中に複数の被写体が含まれている場合には、前記検出手段、前記決定手段、前記処理手段による一連の処理を、個々の被写体について行うことを特徴とする請求項1に記載の画像処理装置。
【請求項4】
前記決定手段は、複数種の被写体のそれぞれに対応する個体識別処理モジュール群を保持しており、個体識別処理モジュール群には、対応する被写体のそれぞれの状態に対応する個体識別処理モジュールが含まれており、
前記決定手段は、保持している個体識別処理モジュール群のうち、前記画像中の被写体に対応する個体識別処理モジュール群から、前記検出手段が検出した状態に対応する個体識別処理モジュールを決定することを特徴とする請求項1に記載の画像処理装置。
【請求項5】
更に、
前記処理手段が、前記画像中における前記被写体の個体識別ができなかった場合には、前記決定手段が決定した個体識別処理モジュールに対して再学習を行わせることで、前記処理手段に前記被写体に対する個体識別処理を可能にさせる手段を備えることを特徴とする請求項1に記載の画像処理装置。
【請求項6】
更に、前記画像中における被写体の動作パターンを検出する動作検出手段を備え、
前記決定手段は、前記検出手段が検出した状態に加え、前記動作検出手段が検出した動作パターンに対応する個体識別処理モジュールを決定することを特徴とする請求項1に記載の画像処理装置。
【請求項7】
前記被写体は人物であり、前記状態は当該人物の表情の種類または顔の向きであることを特徴とする請求項1に記載の画像処理装置。
【請求項8】
前記被写体は人物または動物であり、前記状態は当該被写体の姿勢であることを特徴とする請求項1に記載の画像処理装置。
【請求項9】
更に前記被写体に関する前記状態の変化パターンの表す動作を検出する動作検出手段を備え、
前記動作検出手段が特定の動作を検出した場合に、前記決定手段は、前記複数の個体識別処理モジュールのうち、当該特定の動作に対応する個体識別処理モジュールを決定することを特徴とする請求項1に記載の画像処理装置。
【請求項10】
前記個体識別処理モジュールはサポートベクトルマシンを用いることを特徴とする請求項1に記載の画像処理装置。
【請求項11】
前記個体識別処理モジュールは階層的神経回路網または畳み込み神経回路網を用いることを特徴とする請求項1に記載の画像処理装置。
【請求項12】
被写体を含む画像を取得する取得工程と、
前記画像中における前記被写体の状態を検出する検出工程と、
複数の個体識別処理モジュールのうち、前記検出工程で検出した状態に対応する個体識別処理モジュールを決定する決定工程と、
前記画像中における前記被写体に対して、前記決定工程で決定した個体識別処理モジュールによる個体識別処理を行うことで、前記被写体の個体識別を行う処理工程と
を備えることを特徴とする画像処理方法。
【請求項13】
コンピュータに請求項12に記載の画像処理方法を実行させるためのプログラム。
【請求項14】
請求項13に記載のプログラムを格納したことを特徴とする、コンピュータ読み取り可能な記憶媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2008−9914(P2008−9914A)
【公開日】平成20年1月17日(2008.1.17)
【国際特許分類】
【出願番号】特願2006−182180(P2006−182180)
【出願日】平成18年6月30日(2006.6.30)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】