(57)【要約】  【目的】  高速，高精度に画像データをクラスタリングする。  【構成】  与えられる画像データによって表される画像中に人物の顔画像が含まれているかどうかが，顔検出回路11によって検出される。顔画像が検出された場合に，検出された顔画像を含む領域が，顔近傍領域切出し回路13によって区画される（切り出される）。区画（切り出された）領域を表す画像データのデータ配列が，画像データ配列変換回路14によって，その中央から周囲に向かって渦巻状になるように並べ替えられる。データ配列が並べ替えられた区画領域画像データによって表される画像の中央から段階的に周縁に向けて広がる複数の画像領域のそれぞれについて，画像領域を構成する画素から得られる特徴ベクトルに基づいて，各画素が，特徴ベクトル空間に規定されるクラスタにクラスタリングされる。  【選択図】  図３
2006146775.tif 000002
【特許請求の範囲】
【請求項１】
与えられる画像データによって表される画像中に特定画像が含まれているかどうかを検出する特定画像検出手段，
上記特定画像検出手段によって特定画像が検出された場合に，上記画像データの配列順序を，検出された特定画像の一点を中心にして，その中心から周縁方向に向かう順序に変換するデータ配列変換手段，
上記データ配列変換手段によって変換されたデータ配列を持つ画像データを用いて，上記特定画像の一点を中心にして段階的に周縁に向けて広がる複数の画像領域のそれぞれについて，画像領域を構成する画素から得られる特徴ベクトルに基づいて，各画素を特徴ベクトル空間に規定されるクラスタにクラスタリングするクラスタリング手段，および
上記段階的な画像領域のそれぞれについて，小さい画像領域から順番に，画像領域を構成する各画素をクラスタリングするように上記クラスタリング手段を制御するクラスタリング制御手段，
を備えた画像データのクラスタリング装置。
【請求項２】
上記特定画像検出手段によって特定画像が検出された場合に，検出された特定画像を含み，かつ上記特定画像の周辺までの広がりをもつ領域を，上記画像データから区画する特定画像周辺領域区画手段をさらに備え，
上記データ配列変換手段は，
上記特定画像周辺領域区画手段によって区画された特定画像周辺領域画像を表すデータの配列順序を，その中心から周縁方向に向かう順序に変換するものであり，
上記クラスタリング手段は，
上記データ配列変換手段によって変換されたデータ配列を持つ特定画像周辺領域画像データを用いて，特定画像周辺領域画像の中心の画素から段階的に周縁に向けて広がる複数の画像領域のそれぞれについて，画像領域を構成する画素から得られる特徴ベクトルに基づいて，各画素を特徴ベクトル空間に規定されるクラスタにクラスタリングするものである，
請求項１に記載のクラスタリング装置。
【請求項３】
画素から得られる特徴ベクトルと，特徴ベクトル空間において規定された一または複数のクラスタのそれぞれを代表する代表ベクトルとの距離を算出する第１の距離算出手段を備え，
上記クラスタリング手段は，
上記第１の距離算出手段によって算出された距離に基づいて，その距離が最も小さいクラスタにその画素を属させるものである，
請求項１に記載のクラスタリング装置。
【請求項４】
クラスタに属する画素のそれぞれの特徴ベクトルに基づいて，そのクラスタの重心を算出する手段，および
算出された重心を表すベクトルを，そのクラスタの代表ベクトルに設定する代表ベクトル再設定手段，
を備えた請求項３に記載のクラスタリング装置。
【請求項５】
上記代表ベクトル再設定手段によって設定されたクラスタの代表ベクトルと，そのクラスタに属する画素のそれぞれの特徴ベクトルとの距離を算出する第２の距離算出手段，および
上記第２の距離算出手段によって算出された距離が所定値よりも大きい場合に，そのような距離をもつ画素のうち，最も大きい距離の画素についての特徴ベクトルを新たな代表ベクトルとして規定することによって，新たなクラスタを追加するクラスタ追加手段，
を備えた請求項４に記載のクラスタリング装置。
【請求項６】
上記請求項１から５のいずれか一項に記載のクラスタリング装置を備え，
上記クラスタリング手段および上記クラスタリング制御手段によって特徴ベクトル空間に規定されたクラスタのうち，上記特定画像の一点の画素，または上記特定画像周辺領域画像の中心の画素が属するクラスタに属する画素群を，上記画像データによって表される画像または上記特定画像周辺領域画像データによって表される特定画像周辺領域画像から抽出する抽出手段，
を備えた画像処理装置。
【請求項７】
上記請求項１から５のいずれか一項に記載のクラスタリング装置を備え，
上記クラスタリング手段および上記クラスタリング制御手段によって特徴ベクトル空間に規定されたクラスタに属する画素群を，クラスタ単位で，上記画像データによって表される画像または上記特定画像周辺領域画像データによって表される特定画像周辺領域画像から抽出する抽出手段，
を備えた画像処理装置。
【請求項８】
クラスタ単位で抽出された複数の画素群のうち，隣接する画素群間のエッジを検出するエッジ検出手段，および
上記エッジ検出手段によってエッジが検出されなかった場合に，その隣接する画素群を統合して一つの画素群にまとめる統合手段，
をさらに備えた請求項７に記載の画像処理装置。
【請求項９】
与えられる画像データによって表される画像中に特定画像が含まれているかどうかを検出し，
特定画像が検出された場合に，上記画像データの配列順序を，検出された特定画像の一点を中心にして，その中心から周縁方向に向かう順序に変換し，
変換したデータ配列を持つ画像データを用いて，上記特定画像の一点を中心にして段階的に周縁に向けて広がる複数の画像領域のそれぞれについて，画像領域を構成する画素から得られる特徴ベクトルに基づいて，各画素を特徴ベクトル空間に規定されるクラスタにクラスタリングし，
上記クラスタリングを，上記段階的な画像領域のそれぞれについて，小さい画像領域から順番に行う，
画像データのクラスタリング方法。
【請求項１０】
与えられる画像データによって表される画像中に特定画像が含まれているかどうかを検出する特定画像検出処理，
上記特定画像検出処理によって特定画像が検出された場合に，上記画像データの配列順序を，検出された特定画像の一点を中心にして，その中心から周縁方向に向かう順序に変換するデータ配列変換処理，
上記データ配列変換処理によって変換されたデータ配列を持つ画像データを用いて，上記特定画像の一点を中心にして段階的に周縁に向けて広がる複数の画像領域のそれぞれについて，画像領域を構成する画素から得られる特徴ベクトルに基づいて，各画素を特徴ベクトル空間に規定されるクラスタにクラスタリングするクラスタリング処理，および
上記段階的な画像領域のそれぞれについて，小さい画像領域から順番に，画像領域を構成する各画素をクラスタリングするように上記クラスタリング処理を制御するクラスタリング制御処理，
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は，画像データのクラスタリング装置および方法，ならびに画像データのクラスタリング・プログラムに関する。
【背景技術】
【０００２】
処理対象の画像データによって表される画像に含まれる類似する特徴を持つ画素群を，類似する特徴ごとに決定される特徴量空間中の代表点（クラスタ・センタ）に属するように分類（クラスタリング）する処理がある（非特許文献１）。また，クラスタリング結果を，画像データにフィードバックすることによって画像を分割する領域分割方法が，出願人によって提案されている（特願２００２−３７８９８９号）。
【０００３】
しかしながら，特定の被写体像に注目した場合，従来の領域分割方法では，その結果が最適になっているとは限らない。画像全体から代表点を決定し，この代表点を制御しているからである。たとえば，特定の被写体像に接するように，この被写体像に似た特徴の領域が画像中に存在していると，従来の領域分割方法では，それらの２つの領域に同一の代表点が割り当てられてしまい，この結果，領域が分割されない。また，画像全体に対して領域分割を行うと，時間がかかり処理が遅い。
【非特許文献１】長尾真，「画像認識論」，初版，コロナ社，昭和５８年２月１５日，p.p. 120〜126
【発明の開示】
【０００４】
この発明は，高精度に画像データをクラスタリングすることを目的とする。
【０００５】
この発明はまた，特定画像の領域を，高精度に区画することを目的とする。
【０００６】
またこの発明は，クラスタリングまたは特定画像領域の区画に要する処理時間を短くすることを目的とする。
【０００７】
この発明によるクラスタリング装置は，与えられる画像データによって表される画像中に特定画像が含まれているかどうかを検出する特定画像検出手段，上記特定画像検出手段によって特定画像が検出された場合に，上記画像データの配列順序を，検出された特定画像の一点を中心にして，その中心から周縁方向に向かう順序に変換するデータ配列変換手段，上記データ配列変換手段によって変換されたデータ配列を持つ画像データを用いて，上記特定画像の一点を中心にして段階的に周縁に向けて広がる複数の画像領域のそれぞれについて，画像領域を構成する画素から得られる特徴ベクトルに基づいて，各画素を特徴ベクトル空間に規定されるクラスタにクラスタリングするクラスタリング手段，および上記段階的な画像領域のそれぞれについて，小さい画像領域から順番に，画像領域を構成する各画素をクラスタリングするように上記クラスタリング手段を制御するクラスタリング制御手段を備えたことを特徴とする。
【０００８】
この発明による画像データのクラスタリング方法は，与えられる画像データによって表される画像中に特定画像が含まれているかどうかを検出し，特定画像が検出された場合に，上記画像データの配列順序を，検出された特定画像の一点を中心にして，その中心から周縁方向に向かう順序に変換し，変換したデータ配列を持つ画像データを用いて，上記特定画像の一点を中心にして段階的に周縁に向けて広がる複数の画像領域のそれぞれについて，画像領域を構成する画素から得られる特徴ベクトルに基づいて，各画素を特徴ベクトル空間に規定されるクラスタにクラスタリングし，上記クラスタリングを，上記段階的な画像領域のそれぞれについて，小さい画像領域から順番に行うことを特徴とする。
【０００９】
この発明は，上記クラスタリング方法をコンピュータに実行させるプログラム（コンピュータを，上記クラスタリング装置として機能させるプログラム）も提供している。この発明によるプログラムは，与えられる画像データによって表される画像中に特定画像が含まれているかどうかを検出する特定画像検出処理，上記特定画像検出処理によって特定画像が検出された場合に，上記画像データの配列順序を，検出された特定画像の一点を中心にして，その中心から周縁方向に向かう順序に変換するデータ配列変換処理，上記データ配列変換処理によって変換されたデータ配列を持つ画像データを用いて，上記特定画像の一点を中心にして段階的に周縁に向けて広がる複数の画像領域のそれぞれについて，画像領域を構成する画素から得られる特徴ベクトルに基づいて，各画素を特徴ベクトル空間に規定されるクラスタにクラスタリングするクラスタリング処理，および上記段階的な画像領域のそれぞれについて，小さい画像領域から順番に，画像領域を構成する各画素をクラスタリングするように上記クラスタリング処理を制御するクラスタリング制御処理をコンピュータに実行させるものである。
【００１０】
与えられる画像データによって表される画像（以下，入力画像という）中に，特定画像が存在すると，その特定画像の存在が検出される。特定画像は，入力画像中に含まれる特定の形状，構造，特徴，色等をもつ画像部分を意味し，たとえば，人物の顔を表す画像部分である。入力画像中に含まれる人物の顔を表す画像部分（一般的には，肌色の色相の画素を含む画像部分）は，たとえば，パターンマッチングによって検出される。
【００１１】
入力画像中に含まれる特定画像が検出されると，検出された特定画像の一点を中心にして，その中心から周縁方向に向かう順序となるように，上記画像データの配列順序が変換される。配列変換された画像データは，たとえば，検出された特定画像の一点（一画素）を中心にして，右回り（または左回り）に渦巻状に進み，画像の周縁の画素に至る，そのような順序のデータ配列をもつ。
【００１２】
クラスタリングは，特定画像の一点を中心にして，段階的に周縁に向けて広がる複数の画像領域のそれぞれについて行われる。配列変換された画像データは，特定画像の一点を中心にして，次第に周縁に広がるように配列されているので，配列変換された画像データの始点から，処理対象とする範囲までのデータ列の長さを段階的に長くすることによって，クラスタリングの処理対象範囲を，段階的に周縁に向けて広げることができる。クラスタリングは，小さい画像領域から順番に行われる。
【００１３】
上述のように，クラスタリングは，入力画像中に含まれる特定画像中の一点を中心にして，段階的に周縁方向に広がる各画像領域のそれぞれについて行われる。そして，その中心には，クラスタリングを必要とする画像部分（重要視される特定画像）をほぼ確実に含む。このため，特徴ベクトル空間に規定されるクラスタを，精度良く特徴ベクトル空間に規定することができる。すなわち，クラスタリングされるべき（分類されるべき）画素に対応するクラスタを確実に特徴ベクトル空間（クラスタリング空間）に規定することができるので，クラスタリングの精度を高めることができる。クラスタリングの処理対象範囲は，特定画像の一点を中心にして段階的に周縁に広げられるので，たとえば，特定画像とその背景（特定画像とは異なる部分）との境界部分が処理対象範囲となった段階において，新たなクラスタが比較的確実に追加されることになる。特定画像部分を構成する画素が属するクラスタと，背景部分を構成する画素が属するクラスタとを比較的精度よく分けることができるとともに，必要以上の数のクラスタが特徴ベクトル空間上に規定されることがない。
【００１４】
好ましくは，クラスタリング装置は，上記特定画像検出手段によって特定画像が検出された場合に，検出された特定画像を包含する領域（入力画像の一部である，たとえば矩形領域画像）を表す画像データを，上記画像データから区画する（切出す）手段を備える。区画された（切出された）画像データは，検出された特定画像を含み，かつ特定画像の周辺までの広がりをもつ領域を表す（以下，特定画像周辺領域画像と呼ぶ）。特定画像周辺領域画像を処理対象にしてクラスタリングを行うことにより，入力画像全体を処理対象にしてクラスタリングを行う場合に比べて，クラスタリングを高速に実行することができ，処理時間を短くすることができる。
【００１５】
初期状態においては，好ましくは，入力画像の上記一点の画素（または上記一点を含む周辺の複数の画素），または特定画像周辺領域画像の中央の画素（または中央部分の複数の画素）から得られる特徴ベクトルを利用して，初期状態のクラスタを規定しておく。上述のように，中央部分には，クラスタリングを必要とする重要な画像部分がほぼ確実に含まれているので，初期状態において規定されるクラスタを，精度のよいものにすることができる。
【００１６】
一実施態様では，画素から得られる特徴ベクトルと，特徴ベクトル空間において規定された一または複数のクラスタのそれぞれを代表する代表ベクトルとの距離を算出する第１の距離算出手段を備え，上記クラスタリング手段は，上記第１の距離算出手段によって算出された距離に基づいて，その距離が最も小さいクラスタにその画素を属させるものである。より類似する特徴に対応するクラスタに，入力画像，または特定画像周辺領域を構成する画素を属させることができる。
【００１７】
好ましくは，クラスタに属する画素のそれぞれの特徴ベクトルに基づいて，そのクラスタの重心を算出する手段，および算出された重心を表すベクトルを，そのクラスタの代表ベクトルに設定する代表ベクトル再設定手段がさらに設けられる。上述のように，クラスタを代表する代表ベクトルと，画素から得られる特徴ベクトルとの距離に基づいて，その画素が属するべきクラスタが決定されるので，クラスタに属する画素のそれぞれの特徴ベクトルに基づいて得られる重心を，そのクラスタの代表ベクトルとして再設定することによって，入力画像，または特定画像周辺領域画像に応じたクラスタを動的に規定することができ，より適切なクラスタに，入力画像，または特定画像周辺領域画像を構成する画素を属させることができる。
【００１８】
より好ましくは，上記代表ベクトル再設定手段によって再設定されたクラスタの代表ベクトルと，そのクラスタに属する画素のそれぞれの特徴ベクトルとの距離を算出する第２の距離算出手段，および上記第２の距離算出手段によって算出された距離が所定値よりも大きい場合に，そのような距離をもつ画素のうち，最も大きい距離の画素についての特徴ベクトルを新たな代表ベクトルとして規定することによって，新たなクラスタを追加するクラスタ追加手段が備えられる。
【００１９】
特徴ベクトル空間において，クラスタを代表する代表ベクトルと，画素から得られる特徴ベクトルとの距離が近いのであれば，上述したように，最も距離が近いクラスタにその画素を属させれば，適切なクラスタリング（分類）が実現される。この距離が遠い場合には，特徴ベクトル空間に規定されているクラスタのいずれかにその画素を属させるよりも，新たなクラスタを規定した方が，より精度のよいクラスタリング（分類）が実現される。既に規定されているいずれのクラスタからも距離が離れている画素が存在する場合に，新たなクラスタが追加されて規定されるので，より適切なクラスタリングを実現することができる。上記クラスタ追加手段は，所定値を超える距離を持つ複数の画素が存在する場合には，最も距離の長い画素についての特徴ベクトルを代表ベクトルとする新たなクラスタを追加する。
【００２０】
クラスタリングされた画素（特徴ベクトル空間に規定されたクラスタに属する画素（画素群））は，類似する特徴を持つ画素の集合であるから，各クラスタに属する画素（画素群）ごとに，入力画像を区画（分割）することによって，類似する特徴ごとにまとめられた領域（区画領域，分割領域）を得ることができる。クラスタリングによって得られる分割領域は，特定画像部分の抽出処理等に利用することができる。
【００２１】
一実施態様では，上記クラスタリング手段および上記クラスタリング制御手段によって特徴ベクトル空間に規定されたクラスタのうち，検出された特定画像の一点，または上記特定画像周辺領域画像の中心の画素が属するクラスタに属する画素群を，上記画像データによって表される入力画像または上記特定画像周辺領域画像データによって表される特定画像周辺領域画像から抽出する抽出手段がさらに備えられる。特定画像を含む画像領域を，入力画像（または特定画像周辺領域画像）から高精度に抽出することができる。たとえば，特定画像が人物の顔を表す画像部分（肌色画像部分）であれば，入力画像または特定画像周辺領域画像から，人物の顔を表す画像部分（肌色画像部分）を精度良く抽出することができる。
【００２２】
より一般的には，上記クラスタリング手段および上記クラスタリング制御手段によって特徴ベクトル空間に規定されたクラスタに属する画素群を，クラスタ単位で，上記画像データによって表される入力画像または上記特定画像周辺領域画像データによって表される特定画像周辺領域画像から抽出する抽出手段が備えられる。類似する特徴を持つ画素群ごとに分類された画像領域を得ることができる。
【００２３】
クラスタ単位で各クラスタに属する画素群を抽出する場合，好ましくは，クラスタ単位で抽出された複数の画素群のうち，隣接する画素群間のエッジを検出するエッジ検出手段，および上記エッジ検出手段によってエッジが検出されなかった場合に，その隣接する画素群を統合して一つの画素群にまとめる統合手段がさらに備えられる。エッジが存在しない領域間は近似する特徴を持つ領域である可能性が高く，そのような複数の領域が統合されることになる。
【実施例】
【００２４】
図１は，輝度成分Ｙ，および２つの色差成分Ｃｒ，Ｃｂによって規定される３次元の特徴量空間上（ベクトル空間上）に，画像データによって表される画像を構成する複数の画素のそれぞれをプロットしたもの（各画素の輝度成分（Ｙ），および色差成分Ｃｒ，Ｃｂによって特定されるプロット点）を示している。図２は，２つの色差成分Ｃｒ，Ｃｂによって規定される２次元の特徴量空間上に，画像データによって表される画像を構成する複数の画素のそれぞれをプロットしたもの（各画素の色差成分Ｃｒ，Ｃｂによって特定されるプロット点）を示している。
【００２５】
ディジタル・カメラ等によって得られる画像データによって表される画像を構成する複数の画素は，一般には，類似する輝度および色（色差）を持つ複数の画素群を含んでいる。たとえば，ＹＣｒＣｂによって規定される３次元の特徴量空間を利用したクラスタリングでは，輝度および色差が近似する画像（画素群）ごとに，クラスタが形成される（クラスタリングが行われる）。
【００２６】
人物の顔を例に挙げると，たとえば，人物の顔に含まれる肌色領域，黒色領域（眉，髪の毛など），赤色領域（唇，口の中）などが，近似する画像（画素群）となる。クラスタリングによって，これらの近似する複数の画素が複数のクラスタに分けられる。もちろん，肌色領域において影の部分と光が当たっている部分とがあれば（明るさの異なる部分があれば），肌色領域が２つのクラスタに分けられることもある。図１に示す例では３つのクラスタＣ1，Ｃ2，Ｃ3が形成され，これらの３つのクラスタＣ1，Ｃ2，Ｃ3のいずれかに，画像を構成する各画素が属している様子を示している。図２に示す例では，４つのクラスタＣ1,Ｃ2，Ｃ3およびＣ4のいずれかに，画像を構成する各画素が属している様子を示している。
【００２７】
クラスタは，特徴量空間によって規定される特徴量について類似する特徴量を有する画素の集合を規定する。このため，クラスタに基づいて画像データによって表される画像を分割すると（領域分割），分割された領域はそれぞれ類似する特徴（輝度，色等）を持つ画素の集合になる。
【００２８】
以下の実施例において説明する画像処理装置は，画像データによって表される画像をクラスタリングする機能を持つ。クラスタリングは所定の特徴量に基づいて行われ，３つの異なる特徴量を用いたクラスタリングでは，クラスタが規定される特徴量空間は３次のものとなり（図１），２つの異なる特徴量を用いるとクラスタが規定される特徴量空間は２次のものになる（図２）。以下の実施例では，クラスタリングを行う特徴量空間は，色差成分Ｃｒ，Ｃｂによって規定される２次元空間（２次元平面）として説明する。
【００２９】
図３は，画像処理装置１の電気的構成を示すブロック図である。図４および図５は，画像処理装置の処理の流れを示すフローチャートである。
【００３０】
画像処理装置１には，入力装置２（キーボード，マウス等）が接続されている。入力装置２が用いられて，次に説明する３つのパラメータ（顔検出最小サイズ，顔検出最小スコアおよび顔抽出最大個数）が入力される。３つのパラメータ（顔検出最小サイズ，顔検出最小スコアおよび顔抽出最大個数）に加えて，クラスタを形成するための特徴量の種類を規定するデータを，入力装置２から入力させるようにしてもよい。画像処理装置１には，記憶装置３（ハードディスク，フレキシブル・ディスク，ＣＤ−ＲＯＭ，メモリ・カード等）も接続されている。記憶装置３に記憶されている画像データが読み出され，読み出された画像データが画像処理装置１に与えられる（入力される）。以下，記憶装置３から読み出されて画像処理装置１に与えられる画像データを「入力画像データ」と言い，入力画像データによって表される画像を「入力画像」と呼ぶ（ステップ31）。
【００３１】
入力装置２が用いられて入力されるパラメータのうち，顔検出最小サイズおよび顔検出最小スコアは，顔検出回路11に与えられる。顔抽出最大個数は顔選択回路12に与えられる。
【００３２】
顔検出回路11は，パターンマッチングによって，入力画像中に，顔画像が含まれているかどうかを検出する回路である。人物の顔は，おおよそ楕円形の形状を持つので，楕円形の形状を持つパターン（一般には複数）を用意し，このパターンを用いてパターンマッチングを行う。
【００３３】
顔検出回路11に与えられる顔検出最小サイズは，顔検出処理において検出すべき最小の顔画像の大きさを示す。顔検出最小サイズよりも小さいサイズの顔画像は，検出対象から除外される。画素数または与えられる画像データによって表される画像の大きさに対する比によって，顔検出最小サイズが入力（指定）される。
【００３４】
顔検出回路11では，パターンマッチングによって得られるマッチングスコアが所定値以上である場合に，顔画像が検出されたことが判断される。顔検出回路11に与えられる顔検出最小スコアは，この所定値（顔画像が検出されたと判断するマッチングスコアの最低値）を表す。
【００３５】
顔抽出最大個数は，入力画像中に複数の顔画像が含まれており，顔検出回路11によって複数の顔画像が検出された場合に，その中から抽出すべき（その後の処理を行うべき）顔画像を選択するために用いられる。顔検出回路11によって検出された顔画像の個数が，顔抽出最大個数よりも多い場合に，その中から顔抽出最大個数の顔画像が選択され，選択された顔画像についての処理が行われる。
【００３６】
顔検出最小サイズ，顔検出最小スコアおよび顔抽出最大個数は，顔検出処理およびその後の画像処理装置１における処理の精度および処理速度に影響を与える。顔検出最小サイズが大きいと顔検出処理が高速になり，小さいと顔検出処理の精度が高精度になる。顔検出最小スコアが大きいと顔検出処理が高速になり，小さいと顔検出処理が高精度になる。顔抽出最大個数が大きいと，入力画像中に多数の顔画像が含まれ，かつそれらが顔検出回路11によって検出された場合に，多くの顔画像についてその後の画像処理装置１における処理が行われることになり，小さいと画像処理装置１の処理速度が高速になる（処理終了に至るまでの時間が短くなる）。画像処理装置１の処理速度および処理精度の両方の観点から，適切な（所望の）顔検出最小サイズ，顔検出最小スコアおよび顔抽出最大個数を入力（設定）すればよい。
【００３７】
上述のように，記憶装置３から読み出され，画像処理装置１に与えられた入力画像データは，顔検出回路11に入力する。顔検出回路11では，上述のようにパターンマッチングによって入力画像に含まれる顔画像を検出する（ステップ32）。顔検出回路11から出力される検出結果を表すデータには，検出された顔画像のおおよその中心を表すデータ（たとえば，相対的な座標），および顔画像のおおよその大きさを表すデータ（パターンマッチングによって用いられたパターンの大きさに基づく）が含まれる。
【００３８】
入力画像中に複数の顔画像が含まれている場合には，顔検出回路11によって複数の顔画像が検出されることもある。この場合には，顔検出回路11から検出された複数の顔画像のそれぞれについての，中心を表すデータおよび大きさを表すデータが出力される。
【００３９】
顔検出回路11から出力されたデータ（顔画像の中心を表すデータおよび大きさを表すデータ）は，顔選択回路12に与えられる。顔検出回路11から顔選択回路12に与えられるデータの数によって，検出された顔画像の個数が分かる。顔選択回路12は，顔検出回路11において検出された顔画像の個数と，上述の顔抽出最大個数とを比較する（ステップ33）。
【００４０】
検出された顔画像の個数が顔抽出最大個数以下である場合，顔選択回路12は特段の処理を行わない（ステップ33でNO）。
【００４１】
検出された顔画像の個数が顔抽出最大個数よりも多い場合，顔選択回路12は検出された複数の顔画像の中から，顔抽出最大個数の顔画像を選択する処理を行う（ステップ33でYES，ステップ34）。
【００４２】
たとえば，顔選択回路12は，検出された複数の顔画像のそれぞれの中心と，入力画像全体における中心との距離を算出し，算出された距離が短いものから順に，顔抽出最大個数分の顔画像を選択する。入力画像の中央に位置する顔画像ほど，重要な顔画像であるという経験則に基づいた選択処理である。もちろん，距離を用いた顔画像の選択以外にも，顔画像の大きさ，パターンマッチングのマッチングスコアの大きさ，その他の観点から顔画像を選択するようにしてもよい。
【００４３】
検出された顔画像の個数が顔抽出最大個数以下の場合には，検出されたすべての顔画像についての中心を表すデータおよび大きさを表すデータが，顔選択回路12から顔近傍領域切出し回路13に与えられる。検出された顔画像の個数が顔抽出最大個数よりも多い場合には，顔選択回路12によって選択された顔画像についての中心を表すデータおよび大きさを表すデータが，顔選択回路12から顔近傍領域切出し回路13に与えられる。
【００４４】
入力画像データは，顔近傍領域切出し回路13にも与えられる。顔近傍領域切出し回路13は，顔選択回路12から与えられた複数の顔画像のそれぞれについての中心を表すデータおよび大きさを表すデータを用いて，入力画像に含まれる顔画像を含む矩形領域（以下，顔近傍領域という）を切出す（区画する）処理を行う（ステップ35）。
【００４５】
図６(A) は入力画像Ｇの一例を，図６(B) は入力画像Ｇから切り出された（区画された）３つの矩形の顔近傍領域ｇ１，ｇ２，ｇ３をそれぞれ示している。顔近傍領域ｇ１，ｇ２，ｇ３のそれぞれの位置は，顔選択回路12から与えられた顔画像のそれぞれについての中心を表すデータに基づく。顔近傍領域ｇ１，ｇ２，ｇ３の大きさは，顔選択回路12から与えられた顔画像のそれぞれについての大きさを表すデータに基づく。顔近傍領域ｇ１，ｇ２，ｇ３のそれぞれについて，以下に説明するクラスタリングが行われることになる（ステップ36，図５）。以下の説明では，図６(B) に示す顔近傍領域ｇ１を取りあげて，クラスタリングを説明する。
【００４６】
顔近傍領域ｇ１を表すデータが，画像データ配列変換回路14および初期条件設定回路15に与えられる。
【００４７】
画像データ配列変換回路14は，顔近傍領域を表すデータのデータ配列を変換する回路である。図７(A)および図７(B)を参照して画像データ配列変換回路14の処理を説明する。
【００４８】
通常の画像データは，図７(A) に示すように，画像の左上隅に位置する画素から始まり，行方向の右向に進み，行方向の最終の画素に続いて次行の最も左に位置する画素から再び行方向の右向に進み，画像の右下隅に位置する画素に至るという順番で，画像データ（画素のそれぞれを表すデータ）が配列されている。
【００４９】
画像データ配列変換回路14は，上述の通常の画像データの配列を，画像の中心に位置する画素から始まり，右回り（左回りであってもよい）に順次外側に向けて広がる画像データ（画素データ）の配列に変換する。画像データ配列変換回路14によって，顔近傍領域データは，その中央に位置する画素から始まり，周縁に広がるような配列に変換される（図７(B)）（ステップ41）。
【００５０】
初期条件設定回路15は，特徴量空間に規定される初期状態のクラスタの初期代表ベクトル，および閾値を設定する（ステップ42）。代表ベクトルとは，クラスタを代表する値（ベクトル値）であってクラスタごとに存在する。初期代表ベクトルは，初期状態のクラスタについての代表ベクトルを意味する。
【００５１】
たとえば，配列変換された顔近傍領域ｇ１を表すデータの中央部分の数画素（たとえば，２×２の４画素）に基づいて，特徴ベクトル（この実施例では，色差成分Ｃｒ，Ｃｂ）が画素ごとに算出され，その平均値を成分とする１つのベクトル（色差成分Ｃｒ，Ｃｂ）が，初期代表ベクトルとされる。
【００５２】
代表ベクトルは，上述のようにクラスタを代表する値（ベクトル値）であり，クラスタごとに存在するので，初期条件設定回路15によって１つの初期代表ベクトルが設定（決定）された場合には，初期状態においては１つのクラスタ（初期状態のクラスタ）が，特徴量空間上（この実施例では，Ｃｒ，Ｃｂのベクトル空間上）に規定される。
【００５３】
２つ以上の初期代表ベクトルを，初期条件設定回路15において設定（決定）するようにしてもよい。たとえば，配列変換された顔近傍領域ｇ１を表すデータの中央部分の数画素（たとえば，２×２の４画素）に基づいて，特徴ベクトル（この実施例では，色差成分Ｃｒ，Ｃｂ）を画素ごとに算出し，その平均値を成分とする１つのベクトル（色差成分Ｃｒ，Ｃｂ）を原代表ベクトルとする。上記４画素のそれぞれから得られた特徴ベクトルと原代表ベクトルとの距離を求め，最大距離を示す特徴ベクトルを，初期代表ベクトルの一つ（第１候補）と決定する。さらに，残りの３つの特徴ベクトルのそれぞれと，上記原代表ベクトルおよび決定された初期代表ベクトルのうちいずれか距離が近い方についての距離を求め，最大距離を示す特徴ベクトルを初期代表ベクトルの一つとする（第２候補）。この処理を繰り返すことによって，第１〜第４候補の初期代表ベクトルが決定する。たとえば，候補順位が高い２つの初期代表ベクトルを利用する。
【００５４】
いずれにしても，入力画像データを利用して決定される初期代表ベクトルの数に応じた数のクラスタが，初期状態における特徴量空間上に形成されることになる。以下の説明では，初期代表ベクトルを一つとする。すなわち，特徴量空間上の初期状態のクラスタは一つであるとする。
【００５５】
閾値は，特徴量空間上において，クラスタを追加する（代表ベクトルを追加する）ときの基準になる。閾値は，たとえば，配列変換された顔近傍領域ｇ１を表すデータの中央部分の数画素（たとえば，２×２の４画素）に基づいて算出することができ，この場合には，各画素から得られる特徴ベクトル間の距離（ユークリッド距離）を算出し，最も長い距離を閾値として設定する。顔近傍領域ｇ１の周囲の各画素から得られる特徴ベクトルと，顔画像領域ｇ１の中心の画素の特徴ベクトルとの距離を算出し，最も近い距離を閾値としてもよい。閾値を用いた処理の詳細（クラスタ追加処理，代表ベクトル追加処理）については後述する。
【００５６】
次に，配列変換された顔近傍領域ｇ１を表すデータの中央部分から順番に，クラスタリングが行われる。
【００５７】
図８(A)〜(H)は，顔近傍領域ｇ１と，クラスタリングが行われる顔近傍画像中の対象範囲をそれぞれ示している。図９はクラスタリングが行われる画像データの範囲を模式的に示している。
【００５８】
画像処理装置１において，顔近傍領域を表すデータについてのクラスタリングは，複数回に分けて行われる。この実施例においては，８段階に分けて，顔近傍領域データのクラスタリング処理が行われる。
【００５９】
後述するように，画像処理装置１において行われるクラスタリングは，顔近傍領域ｇ１の中央部分を表す矩形の数画素を処理対象して第１段階目のクラスタリングが行われる（図８(A)）。第２段階目では顔近傍領域ｇ１の周縁方向に拡大された矩形範囲が，クラスタリングの処理対象範囲になる（図８(B)）。同様に，顔近傍領域ｇ１の周縁に順次拡大された矩形範囲のそれぞれが，第３段階目から第８段階目のクラスタリングにおける処理対象の範囲になる（図８(C)〜図８(H)）。顔近傍領域データは，その中央から周縁に向かうように画像データの配列が変換されているので，データ配列の観点から言えば，処理対象のデータ列が，次第に増加されていくことになる（図９）。
【００６０】
図10(A)〜図13に示す特徴量空間を参照しつつ，具体的に説明する。はじめに，第１段階目のクラスタリング処理が行われる。顔近傍領域を表すデータの中央部分の数画素（たとえば，８×８画素分の画像データ）（図８(A)参照）が顔近傍領域データから読出され（抽出され），一時記憶メモリ（図示略）に記憶される。読出された８×８画素分の画像データを処理対象にしたクラスタリングが行われる（ステップ43，44）。
【００６１】
クラスタ分類回路16によって８×８画素のそれぞれの特徴ベクトル（色差成分Ｃｒ，Ｃｂ）が算出され，各画素のそれぞれが，特徴量空間上に規定されているクラスタに分類される（ステップ45）。上述したように，この実施例においては，初期代表ベクトルは一つであり，初期状態における特徴量空間上のクラスタは一つである。このため，８×８画素（１６画素）は，いずれも，初期代表ベクトルを代表とするクラスタＣ1 に分類される（図10(A) ）。図10(A) において，初期代表ベクトルが白丸印によって，各画素の特徴量空間上のプロット点がバツ印によって示されている。なお，図10(A)において，クラスタＣ1の範囲を鎖線によって示しているが，これはクラスタＣ1に属している画素を分かりやすく示すためのものであって，この範囲そのものを表すデータが規定されていることを意味するものではない。このことは，後述する他の図面についても同様である。
【００６２】
代表ベクトル再設定回路17において，代表ベクトル（初期代表ベクトルを含む）の再設定処理が行われる（ステップ46）。代表ベクトルの再設定処理では，クラスタに分類された複数の画素のそれぞれの特徴ベクトルに基づく重心が算出され，この重心が新たな代表ベクトルとされる。すなわち，クラスタＣ1についての代表ベクトルである初期代表ベクトルに代えて，新たな代表ベクトルが決定される（図10(B)；代表ベクトルの移動を，矢印線によって示す）。決定された新たな代表ベクトルが，クラスタＣ1を代表する代表ベクトルとされる。
【００６３】
代表ベクトル追加回路18において，歪み量が，上述した閾値を超えているかどうかが判断される（ステップ47）。歪み量は，代表ベクトル再設定回路17によって再設定された，クラスタを代表する代表ベクトルと，クラスタに属する各画素の特徴ベクトルとの距離（ユークリッド距離）によって表される。歪み量が閾値を超えていない場合（歪み量が閾値を超えている画素が存在しない場合）には，変数ｉがインクリメントされる（ステップ47でNO，ステップ48でNO，ステップ50）（顔近傍領域を表すデータのすべてについての処理を終えていないので，ステップ48でNOとなる）。第２段階目のクラスタリングに進む。歪み量が閾値を超えている場合についての処理は後述する。
【００６４】
処理対象範囲が広げられた画像データが読込まれる（たとえば，図８(B)に示す矩形（１６×１６画素）の画像データ）（ステップ44）。１６×１６画素のそれぞれの特徴ベクトル（色差成分Ｃｒ，Ｃｂ）が算出され，各画素のそれぞれが特徴量空間上に規定されているクラスタに分類される（ステップ45）。特徴量空間に規定されているクラスタは一つであるので，すべての画素はクラスタＣ1に属することになる（図11(A)）。なお，図11(A) においては，分かりやすくするために，１６×１６画素のすべての画素のプロット点（ベクトル値）を図示していない（後述する他の図面においても同様）。
【００６５】
クラスタＣ1に分類された複数の画素の特徴ベクトルについての重心が算出され，この重心が新たな代表ベクトルとされる（ステップ46；図11(B)）。
【００６６】
次に，クラスタの代表ベクトル（再設定後の代表ベクトル）と，クラスタ分類後における各画素についての特徴ベクトルとの距離が算出される。上述した「歪み量」の算出である。クラスタ分類後における各画素についての歪み量が，定められた閾値を超えているかどうかが判断される（ステップ47）。
【００６７】
歪み量が閾値を超えている画素が存在する場合（ステップ47でYES ），代表ベクトル追加回路18は，最も歪み量が大きい画素の特徴ベクトルを，新たに代表ベクトルに加える（図11(B)参照）。すなわち，クラスタの数が増えることになる（ステップ49）（新たに加えられたクラスタを，クラスタＣ2とする）。
【００６８】
第３段階目のクラスタリングでは，たとえば，３２画素×３２画素（図８(C)参照）のそれぞれが，クラスタＣ1またはクラスタＣ2のうちのいずれかのクラスタに分類されることになる（図12参照）。２以上のクラスタが特徴量空間に規定されている場合には，各画素は，特徴量空間における距離が近い方のクラスタに分類される。
【００６９】
上述の処理が，第４〜第８段階目（図８(D)〜図８(H)）の範囲のそれぞれにおいて行われる。第８段階目のクラスタリングが終了すると，顔近傍領域ｇ１についてのクラスタリングが終了する（ステップ48でYES）。なお，第８段階目（最終）の画像データについて，歪み量が閾値を超える画素が存在した場合には（ステップ47でYES），代表ベクトル（クラスタ）を追加して，再度，第８段階目（最終）の画像データについてクラスタリングを行えばよい。
【００７０】
図13は，顔近傍領域ｇ１を表すデータについてクラスタリングを終えた後の特徴量空間およびクラスタの一例を示す（図13は，クラスタＣ1〜Ｃ5の５つのクラスタが生成されている様子を示している）。顔近傍領域ｇ１に含まれる画素の特徴に応じた分類（区分）が完成する。
【００７１】
顔近傍領域には顔画像部分が含まれており，顔近傍領域の中央部分には比較的確実に顔画像部分（肌色部分）が存在する。そして，顔近傍領域の中央から段階的に周縁に向けて広がる領域のそれぞれについて，顔画像部分が含まれている領域からそれ以外の領域が含まれている領域（たとえば，背景部分が含まれている領域）という順番で，クラスタリングが行われる。このため，必要不可欠なクラスタ（顔画像部分に対応する特徴を規定するクラスタ）は特徴量空間上に確実に規定され，顔画像部分以外の領域（背景部分など）が処理対象範囲に入った段階で，比較的確実にクラスタを増やすことができる。顔画像部分に対応する画素が属するクラスタと，顔画像部分以外の領域の画素が属するクラスタとを比較的確実に分けることができるとともに，必要以上の数のクラスタが特徴量空間上に規定されることもない。
【００７２】
各クラスタに属する画素は，類似する特徴を持つ画素の集合であるから，クラスタリングによって得られた各クラスタに属する画素をまとめて顔近傍領域ｇ１を分割（区画）すれば，類似する特徴量を持つ分割領域が生成される。図14(A) は顔近傍領域ｇ１を，図14(B) は，顔近傍領域ｇ１が，クラスタリングによって得られた複数のクラスタに属する画素ごとの領域に分割されている様子（分割領域が形成されている様子）を，それぞれ示している。
【００７３】
図４に戻って，クラスタリングが終了すると，領域統合回路19において，領域統合処理が行われる（ステップ37）。この領域統合処理ではクラスタリングによって細かく分類（分割）されすぎた領域が統合される。たとえば，クラスタリングによって特徴量空間上に形成された一のクラスタに属する複数の画素群と，他のクラスタに属する複数の画素群との間のエッジを検出し，エッジが検出されなかった場合に，そのような２つのクラスタが統合される。図14(C) に，図14(B) に示す分割領域について統合処理が行われた後の様子を示す。
【００７４】
分割領域（統合後の分割領域）に基づいて，マスク作成回路20において，マスク画像データが生成される（ステップ38）。たとえば，分割領域のうち，人物の顔部分に対応する画素部分を「１」，その他の部分（髪の毛，口，背景，衣服など）に対応する画素部分を「０」とする２値データが，マスク作成回路20から出力される。マスク作成回路20から出力された２値データは，人物の顔画像部分（肌色部分）を精度良く特定したものであるので，マスク作成回路20から出力された２値データを利用することによって，人物の顔画像部分に着目した補正処理（輝度補正，濃度補正，その他の補正処理）等を精度良く行うことができる。
【００７５】
入力画像中に複数の顔画像が検出された場合には，上述の処理が，検出された顔画像ごとに行われる（ステップ39でNO）。検出されたすべての顔画像についての処理が終了すると，画像処理装置１の処理が終了する（ステップ39でYES）。
【００７６】
上述した実施例において，画像処理装置１を構成する回路の一部または全部を，プログラムによって実行するようにしてもよい。
【図面の簡単な説明】
【００７７】
【図１】ＹＣｒＣｂによって規定される３次元特徴量空間と，この特徴量空間に規定されたクラスタを示す。
【図２】ＣｒＣｂによって規定される２次元特徴量空間と，この特徴量空間に規定されたクラスタを示す。
【図３】画像処理装置の電気的構成を示すブロック図である。
【図４】画像処理装置の処理の流れを示すフローチャートである。
【図５】画像処理装置の処理の流れを示すフローチャートである。
【図６】（Ａ）は入力画像の一例を，（Ｂ）は入力画像から区画された顔画像部分を示す。
【図７】（Ａ）は一般的な画像についての画像データの配列構造を，（Ｂ）は配列変換された画像データの配列構造をそれぞれ示す。
【図８】（Ａ）から（Ｈ）は，クラスタリングが行われる範囲をそれぞれ示す。
【図９】クラスタリングが行われる範囲を示すデータ構造を模式的に示す。
【図１０】（Ａ）および（Ｂ）は，ＣｒＣｂによって規定される２次元特徴量空間と，この特徴量空間に規定されたクラスタを示す。
【図１１】（Ａ）および（Ｂ）は，ＣｒＣｂによって規定される２次元特徴量空間と，この特徴量空間に規定されたクラスタを示す。
【図１２】ＣｒＣｂによって規定される２次元特徴量空間と，この特徴量空間に規定されたクラスタを示す。
【図１３】ＣｒＣｂによって規定される２次元特徴量空間と，この特徴量空間に規定されたクラスタを示す。
【図１４】（Ａ）は入力画像を，（Ｂ）はクラスタリングによって領域分割された入力画像を，（Ｃ）は領域統合によって分割領域が統合された画像を，それぞれ示す。
【符号の説明】
【００７８】
１  画像処理装置
２  入力装置
３  記憶装置
11  顔検出回路
12  顔選択回路
13  顔近傍切出し回路
14  画像データ配列変換回路
15  初期条件設定回路
16  クラスタ分類回路
17  代表ベクトル再設定回路
18  代表ベクトル追加回路
19  領域統合回路
20  マスク作成回路
【図１】
2006146775.tif 000003
【図２】
2006146775.tif 000004
【図３】
2006146775.tif 000005
【図４】
2006146775.tif 000006
【図５】
2006146775.tif 000007
【図６】
2006146775.tif 000008
【図７】
2006146775.tif 000009
【図８】
2006146775.tif 000010
【図９】
2006146775.tif 000011
【図１０】
2006146775.tif 000012
【図１１】
2006146775.tif 000013
【図１２】
2006146775.tif 000014
【図１３】
2006146775.tif 000015
【図１４】
2006146775.tif 000016