(57)【要約】【課題】自律的な動作によりながら、かつ効率的に、所望の種類の被写体が撮像されている部分を抽出することのできる画像処理装置を提供する。【解決手段】処理対象となった画像データから、所望の種類の被写体が撮像された部分を抽出する画像処理装置であって、制御部１１が、処理対象となった画像データの一部領域を選択し、当該選択した一部領域について所定の特徴量を演算し、当該特徴量が予め定められたルールを満足する場合に、当該一部領域を含む所定領域を抽出候補領域として画定し、当該画定された抽出候補領域に対して、事前に行われた学習によって獲得された分類装置を用いて所定処理を行い、所望の種類の被写体が撮像されている領域を選択して出力する。【選択図】　　　　図１
2004062505.tif 000002
【特許請求の範囲】
【請求項１】
処理対象となった画像データから、所望の種類の被写体が撮像された部分を抽出する画像処理装置であって、
前記処理対象となった画像データの少なくとも一部を抽出候補領域として抽出する予備抽出手段と、
前記抽出候補領域の各々について、事前に行われた学習によって獲得された分類装置を用いて所定処理を行い、前記抽出候補領域のうち、前記所望の種類の被写体が撮像されている領域を選択して出力する本抽出手段と、
を含み、
前記予備抽出手段が、処理対象となった画像データの一部領域を選択し、当該選択した一部領域について所定の特徴量を演算し、当該特徴量が予め定められたルールを満足する場合に、当該一部領域を含む所定領域を抽出候補領域として画定する、
ことを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
前記予備抽出手段は、処理対象となった画像データから重複を許しながら、前記一部領域を複数選択して、各一部領域についての特徴量を演算することを特徴とする画像処理装置。
【請求項３】
請求項１または２に記載の画像処理装置において、
前記特徴量は、前記一部領域に含まれる画素値のエントロピーであることを特徴とする画像処理装置。
【請求項４】
請求項１または２に記載の画像処理装置において、
前記予備抽出手段は、前記選択した一部領域に含まれる各画素値の輝度値を所定の輝度区間に分類し、当該輝度区間ごとの輝度値の出現頻度を示す輝度ヒストグラムを生成し、当該輝度ヒストグラムの出現頻度の総和を前記特徴量として演算することを特徴とする画像処理装置。
【請求項５】
請求項４に記載の画像処理装置において、
前記輝度ヒストグラムを連続的関数で近似的に表現し、前記近似的な連続的関数の積分として総和を演算し、これにより特徴量を演算する、ことを特徴とする画像処理装置。
【請求項６】
請求項４または５に記載の画像処理装置において、
前記輝度区間の幅を調整可能としたことを特徴とする画像処理装置。
【請求項７】
処理対象となった画像データから、所望の種類の被写体が撮像された部分を抽出する画像処理装置であって、
前記処理対象となった画像データの少なくとも一部を抽出候補領域として抽出する予備抽出手段と、
前記抽出候補領域の各々について、事前に行われた学習によって獲得された分類装置を用いて所定処理を行い、前記抽出候補領域のうち、前記所望の種類の被写体が撮像されている領域を選択して出力する本抽出手段と、
を含み、
前記予備抽出手段が、処理対象となった画像データから所定サイズの一部領域を順次選択し、選択した一部領域の各々について所定の特徴量を演算するとともに、当該特徴量のデータを配列して生成されるマップデータであって、当該特徴量の演算に用いられた一部領域が、前記画像データの内で占める位置との関係において定められる位置に、前記演算した特徴量を配置した特徴量のマップデータを生成し、当該特徴量のマップデータにおいて、予め定められたルールにより定められる順序で、抽出候補領域を順次画定する
ことを特徴とする画像処理装置。
【請求項８】
処理対象となった画像データから、所望の種類の被写体が撮像された部分を抽出する画像処理方法であって、
前記処理対象となった画像データの少なくとも一部を抽出候補領域として抽出する予備抽出工程と、
前記抽出候補領域の各々について、事前に行われた学習によって獲得された分類装置を用いて所定処理を行い、前記抽出候補領域のうち、前記所望の種類の被写体が撮像されている領域を選択して出力する本抽出工程と、
を含み、
前記予備抽出工程において、処理対象となった画像データの一部領域を選択し、当該選択した一部領域について所定の特徴量を演算し、当該特徴量が予め定められたルールを満足する場合に、当該一部領域を含む所定領域を抽出候補領域として画定する、
ことを特徴とする画像処理方法。
【請求項９】
請求項８に記載の画像処理方法において、
前記予備抽出工程では、前記選択した一部領域に含まれる各画素値の輝度値を所定の輝度区間に分類し、当該輝度区間ごとの輝度値の出現頻度を示す輝度ヒストグラムを生成し、当該輝度ヒストグラムの出現頻度の総和を前記特徴量として演算することを特徴とする画像処理方法。
【請求項１０】
請求項９に記載の画像処理方法において、
前記輝度ヒストグラムを連続的関数で近似的に表現し、前記近似的な連続的関数の積分として総和を演算し、これにより特徴量を演算する、ことを特徴とする画像処理方法。
【請求項１１】
請求項９または１０に記載の画像処理方法において、
前記輝度区間の幅を調整可能としたことを特徴とする画像処理方法。
【請求項１２】
処理対象となった画像データから、所望の種類の被写体が撮像された部分を抽出する画像処理方法であって、
前記処理対象となった画像データの少なくとも一部を抽出候補領域として抽出する予備抽出工程と、
前記抽出候補領域の各々について、事前に行われた学習によって獲得された分類装置を用いて所定処理を行い、前記抽出候補領域のうち、前記所望の種類の被写体が撮像されている領域を選択して出力する本抽出工程と、
を含み、
前記予備抽出工程において、処理対象となった画像データから所定サイズの一部領域を順次選択させ、選択した一部領域の各々について所定の特徴量を演算させるとともに、当該特徴量のデータを配列して生成されるマップデータであって、当該特徴量の演算に用いられた一部領域が、前記画像データの内で占める位置との関係において定められる位置に、前記演算した特徴量を配置した特徴量のマップデータ、を生成させ、当該特徴量のマップデータにおいて、予め定められたルールにより定められる順序で、抽出候補領域を順次画定させる
ことを特徴とする画像処理方法。
【請求項１３】
処理対象となった画像データから、所望の種類の被写体が撮像された部分を抽出する画像処理プログラムであって、コンピュータに、
前記処理対象となった画像データの少なくとも一部を抽出候補領域として抽出する予備抽出手順と、
前記抽出候補領域の各々について、事前に行われた学習によって獲得された分類装置を用いて所定処理を行い、前記抽出候補領域のうち、前記所望の種類の被写体が撮像されている領域を選択して出力する本抽出手順と、
を実行させ、
前記予備抽出手順においては、処理対象となった画像データの一部領域を選択させ、当該選択した一部領域について所定の特徴量を演算させ、当該特徴量が予め定められたルールを満足する場合に、当該一部領域を含む所定領域を抽出候補領域として画定させる
ことを特徴とする画像処理プログラム。
【請求項１４】
処理対象となった画像データから、所望の種類の被写体が撮像された部分を抽出する画像処理プログラムであって、コンピュータに、
前記処理対象となった画像データの少なくとも一部を抽出候補領域として抽出する予備抽出手順と、
前記抽出候補領域の各々について、事前に行われた学習によって獲得された分類装置を用いて所定処理を行い、前記抽出候補領域のうち、前記所望の種類の被写体が撮像されている領域を選択して出力する本抽出手順と、
を実行させ、
前記予備抽出手順において、処理対象となった画像データから所定サイズの一部領域を順次選択させ、選択した一部領域の各々について所定の特徴量を演算させるとともに、当該特徴量のデータを配列して生成されるマップデータであって、当該特徴量の演算に用いられた一部領域が、前記画像データの内で占める位置との関係において定められる位置に、前記演算した特徴量を配置した特徴量のマップデータを生成させ、当該特徴量のマップデータにおいて、予め定められたルールにより定められる順序で、抽出候補領域を順次画定させる
ことを特徴とする画像処理プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、処理対象となった画像データから所望の種類の被写体、例えば人の顔部分が撮像されている部分を選択的に抽出する画像処理装置に関する。
【０００２】
【従来の技術】
［背景］
近年、ディジタル画像処理に用いられる各種素子や装置の性能が飛躍的に向上しており、これに伴って画像データがますます高精度になってきている。そのため、従来では画質の問題から適用されていなかったような分野においても、画像データの利用が促進されるようになり、画像データの流通量も年々増大しているのが実情である。このような背景の下、大量の画像データを取り扱うにあたり、簡便かつ効率的に各画像データを特徴づける部分的画像を抽出して画像データの検索を容易にしたり、また広い画角でカメラによって撮像された画像データから部分的な画像データを抽出して種々の利用に供したいという要求が現れてくるものと予想される。
【０００３】
［画像データの検索を容易にするための関連技術］
画像データの検索においては、予め各画像データにキーワードや撮像日時といった文字列データを関連づけておき、この文字列データを検索の対象とするものがある。また、サムネイルと呼ばれる縮小画像データを生成しておき、検索の際にはこれを並べて表示し、検索の用に供するというものがある。
【０００４】
［部分的画像データ抽出の関連技術］
また、部分的な画像データを抽出するために、ユーザに画像データのうち、抽出の対象となる部分を選択させ、これをそれぞれ切り出すという装置がある。
【０００５】
【発明が解決しようとする課題】
しかしながら、上記関連技術では、それぞれ次のような点で問題がある。まず、画像データの検索を容易にするための関連技術においては、文字列データの設定を一々行うのでは大量の画像データを処理する際にユーザの操作負担が大きく、利便性が低い。また、サムネイルでは詳細な部分が欠落してしまうため、例えば何人もの人が入れ替わりで撮影されているような一連の写真の画像データを取り扱うに際して、誰が撮像されているのかが分かりにくくなるなどの点で、利便性が低い。また、部分的な画像データを抽出する関連技術においては、抽出領域の画定を人手で行うため、大量の画像データを処理する際のユーザの操作負担が大きく、利便性が低い。
【０００６】
そこで、自律的動作によって画像データがどのようなものかを特徴づけたり、特徴的な部分を特定して抽出したりといった画像処理装置の実現が望まれる。
【０００７】
［自律的動作をする画像分類装置］
例えば与えられた複数の画像データ群を、撮像されている内容を基に自律的に分類する技術があれば、処理対象となった元の画像データを所定サイズのウインドウで切り出し、このウインドウを１ピクセルずつ移動させながら元の画像データから部分的画像データ群を取り出し、各部分的画像データ群を自律的動作により分類して、所望の被写体が撮像されている部分的画像データを選択的に抽出することは可能と考えられる。
【０００８】
具体的に比較的自律的にクラスタリング処理を行うための方法として、入力画像データを格子空間マップ上で分類整理するものがある。この分類整理のためには、例えば自己組織化特徴マッピング（以下、ＳＯＭと略す）（Ｔ．　コホーネン　Ｓｅｌｆ−ｏｒｇａｎｉｚｉｎｇ　ｆｏｒｍａｔｉｏｎ　ｏｆ　ｔｏｐｏｌｏｇｉｃａｌｌｙ　ｃｏｒｒｅｃｔ　ｆｅａｔｕｒｅ　ｍａｐｓ．　Ｂｉｏｌｏｇｉｃａｌ　Ｃｙｂｅｒｎｅｔｉｃｓ，　１９８２）を利用している。このＳＯＭは、データが入力される入力層と、格子空間マップの競合層とからなる２階層のネットワークで、入力はある重みづけがされ、各格子に入力される。入力各成分についての重みづけをまとめたものを重みベクトルと称する。
【０００９】
当初、重みベクトルは次の方法で初期化される。すなわち、上記コホーネンの文献に示されるように、学習の対象となる複数の入力ベクトル（ここでの特徴量セットに相当する）の中からプロトタイプ数と同数の入力ベクトルＩをランダムに選び出し、各格子の重みベクトルの初期化を行う。また、同じく、コホーネンによれば、各重みベクトルに乱数で初期値を設定することとしても構わない。
【００１０】
次に、重みベクトルの学習を行う。この学習課程においては、学習用の特徴量セットが生成され、当該学習用特徴量セットと格子空間上の各格子の重みベクトルとの所定測度（例えばユークリッド距離）が演算される。そして各格子のうち、関係が最大（測度が最小）となる格子（勝利ノード）を見いだす。そして格子空間上、その格子（勝利ノード）に対し近傍に存在する各格子について、学習用特徴量セットとの測度が小さくなるように、その重みベクトルを補正する。このような重みベクトルの補正を行いつつ学習を繰り返すことで、互いに類似する特徴量からなる特徴量セットに対し、最小測度を有する格子が特定の領域に集中するようになり、データの分類に適用可能な状態となる。ここで、重みベクトルを補正する対象となる格子を選ぶにあたり、勝利ノードからのマップ上の距離を用いる。また、補正量は、勝利ノードｃからの距離に応じて変化させることが好ましく、補正量の大きさも変更可能としておくことが好ましい。一般的には、次の（１）式のように近隣のノードの重みベクトルＩに近づくよう重みベクトルｗを補正する。
【数１】
2004062505.tif 000003
なお、
【数２】
2004062505.tif 000004
【００１１】
ここで、α（ｔ）は、補正量の大きさを支配する量で、学習係数と呼ばれる。また、σ（ｔ）は、重みベクトルを修正する範囲の変化を決定する関数であり、近傍関数と呼ばれる。これらは時間ｔに対し、ともに単調減少する関数である。勝者ノードを中心にマップ上のノード間距離Ｒｍａｘが、
【数３】
2004062505.tif 000005
の範囲に属する格子について（１）式による補正が行われるが、学習の繰り返しの中で、Ｒｍａｘはσ（ｔ）によって減少する。近傍関数σ（ｔ）としては、トライアングル型、レクトアングル型（四角）、メキシカンハット型等の関数を用いる。この近傍関数σ（ｔ）の選択によっても、学習結果に影響があることが知られている。なお、ｔは、「時刻」であり、特徴量セットが入力されるごとにインクリメントされる。また、｜｜ｒｃ−ｒｊ｜｜は、勝利ノードと、重みベクトルの補正対象ノードの間のノルム（距離）である。
【００１２】
しかし、上記技術をそのまま適用したのでは、直ちに自律的なデータ分類を行うことはできない。自律的なデータ分類を実現するには、まず、学習後の格子空間マップが適切なものであるかの判断が必要である。すなわち、（１）最適な格子空間マップを獲得する方法が必要である。また、当該学習後の格子空間マップを利用してデータ分類を行うときには、分類の基準となる境界線を上記格子空間上に形成し、分類対象として与えられたデータについての特徴量セットに対して最小測度を有する格子が、どの境界線内に属するか（この境界線で区切られた格子空間上の領域を以下、クラスタと呼ぶ）に基づき、当該データを分類することが適切である。すなわち、（２）クラスタの境界を決定する方法も求められる。
【００１３】
このうち、（１）最適な格子空間マップを獲得する方法として、コホーネンは、平均量子化誤差が最小となるマップを選択するという方法を提案している。つまり、学習条件を互いに異ならせて形成した複数の格子空間マップのうち、平均量子化誤差が最小のものを選択し、これを近似的に最適な格子空間マップとするのである。この方法によると、入力される特徴量セットの空間のトポロジーがマップのトポロジーに反映されない。いわば、トポロジーの保存度が低い。これは、クラスタリングの方法によっては誤分類に結びつくこともある。
【００１４】
トポロジーの保存に配慮したものとして、トポロジー関数（ｔｏｐｏｇｒａｐｈｉｃ　ｆｕｎｃｔｉｏｎ）と呼ばれる所定の指標を学習中にモニタし、これにより学習条件を制御して適切なマップを形成する技術（Ａｕｔｏ−ＳＯＭ法）も開発されている。しかし、トポロジー関数の演算自体が負荷の高い処理であるため、学習時間が長くなる問題点がある。
【００１５】
次に（２）クラスタの境界を自律的に決定する方法としては、Ｕ−Ｍａｔｒｉｘ（Ｕｎｉｆｉｅｄ　Ｄｉｓｔａｎｃｅ　Ｍａｔｒｉｘ　Ｍｅｔｈｏｄｓ）法と呼ばれる方法や、ポテンシャル法と呼ばれる方法が研究されている。ここで、Ｕ−Ｍａｔｒｉｘ法については、Ａ．Ｕｌｔｓｃｈ　ｅｔ．　ａｌ．，　”Ｋｎｏｗｌｅｄｇｅ　Ｅｘｔｒａｃｔｉｏｎ　ｆｒｏｍ　Ａｒｔｉｆｉｃｉａｌ　Ｎｅｕｒａｌ　Ｎｅｔｗｏｒｋｓ　ａｎｄ　Ａｐｐｌｉｃａｔｉｏｎｓ”，Ｐｒｏｃ．Ｔｒａｎｓｐｕｔｅｒ　Ａｎｗｅｎｄｅｒ　Ｔｒｅｆｆｅｎ／　Ｗｏｒｌｄ　Ｔｒａｎｓｐｕｔｅｒ　Ｃｏｎｇｒｅｓｓ　ＴＡＴ／ＷＴＣ　９３　Ａａｃｈｅｎ，　Ｓｐｒｉｎｇｅｒ　１９９３に詳しく開示されている。Ｕ−Ｍａｔｒｉｘでは、マップ上で隣接する２つの格子間の距離を次のように定義する。すなわち、当該２つの格子の各重みベクトルの成分毎の差について、その絶対値を総和したものや、当該差の二乗平均などを距離として定義するのである。すると、類似性の高い特徴量セットにそれぞれ強く結合（重みベクトルが特徴量セットに近い値を持つもの、このようなものを以下、「特徴量セットにプロトタイピングされている」と表現する）している隣接格子間、つまり、類似性の高い２つの特徴量セットのそれぞれにプロトタイピングされている隣接格子間の上記距離は小さくなり、類似性の低い２つの特徴量セットのそれぞれにプロトタイピングされている隣接格子間の距離は大きくなる。そこでこの距離の大きさを高さとした３次元的な面を考えると、互いに類似する特徴量セットにプロトタイピングされた格子間に対応する面の高さは低くなり「谷」を形成するのに対し、互いに異なる特徴量セットにプロトタイピングされた格子間に対応する面の高さは高くなり「山」を形成する。従ってこの「山」に沿って境界線を形成すれば、類似性の高い特徴量セットにプロトタイピングされている格子の集合（クラスタ）を規定できる。Ｕ−Ｍａｔｒｉｘは、いわば、自己組織化マップでは入力空間での距離が保存されない点を補強したものであるということができる。
【００１６】
しかしＵ−Ｍａｔｒｉｘは、「山」と「谷」との高低差が明瞭であれば境界を規定できるものの、現実の情報処理では「山」と「谷」との高低差は期待されるほど明瞭にならず、３次元面の高さはゆるやかに変化することも多い。この場合には、人為的に境界線を設定する必要があって、必ずしも自律的に境界が決定できるわけではない。
【００１７】
一方のポテンシャル法は、Ｄ．Ｃｏｏｍａｎｓ，　Ｄ．Ｌ．Ｍａｓｓａｒｔ，Ａｎａｌ．Ｃｈｅｍ．Ａｃｔａ．，５−３，２２５−２３９（１９８１）に開示されているもので、事前に定めたポテンシャル関数を用いて、入力データに対する関数の値を重ね合わせて入力データを近似的に表現する母集団の確率密度関数を推定し、重なりあいの少ない部分を境界として決定するというものである。ポテンシャル関数としてはガウシアン型の関数とすることが多い。具体的には、Ｎ個の入力ベクトルからなる入力データ群があるとき、それぞれＫ次元の大きさを持つとするとｌ番目の入力データが他の入力データから受ける平均的なポテンシャル（ｌ番目入力が全体の入力集合に対する寄与率）Ψｌを次の（２），（３）式によって定義する。
【数４】
2004062505.tif 000006
【００１８】
尚、ｘｋｌはｌ番目入力のｋ番目の成分を意味する。また、αはスムージングパラメータで分類されるクラスタの数に影響を与える。従って、ポテンシャル法では、その分布形状を仮定する分布関数の最適化や、各種パラメータの最適化が入力ベクトル集合ごとに求められ、要するに分類対象となるデータの特性について事前に知識が必要であるうえ、人為的調整が不可欠となる。また、このポテンシャル法では、入力データから得られる特徴量セットが高次元になると、それについて適切な確率密度分布を求めるにはサンプルが多数なければならず、少数の格子からなるマップに対しての適用が困難であるという問題点がある。つまり、ポテンシャル法についても、必ずしも自律的に境界が決定できるわけではない。
【００１９】
これらの問題点を解決するため、例えば特開平７−２３４８５４号公報、特開平８−３６５５７号公報、「自己組織化特徴マップ上のデータ密度ヒストグラムを用いた教師無しクラスタ分類法」，電子情報通信学会論文誌Ｄ−ＩＩ　Ｖｏｌ．Ｊ７９−ＤＩＩＮｏ．７　ｐｐ．１２８０−１２９０，　１９９６年７月などに開示された技術が研究されている。しかしながら、どの技術においても、入力されるデータの構成自体や、マッピングの結果において、分類に使いたい特徴が十分な距離をあけて各格子にプロトタイピングされることを前提としており、画像データの分類において例えば見られるような、分類してほしい特徴毎の分布形状の差異や重なり、その特徴にプロトタイピングされている格子のマップ上の位置の重心間の距離にばらつきがある場合などでは、マップ上でクラスタの境界が複雑に入り組むため、適切なクラスタリングができなくなる。
【００２０】
さらに、関連技術においては、マップ上の格子の数については研究の過程で経験的に決定するだけで、実際の用途に適合した適切な格子の数を決定するといったことは配慮されていなかった。しかしながら、適切な数よりも格子の数が少ない場合、クラスタ境界部の格子と、別のクラスタに属するべき特徴量セットが強く結合されてしまう場合があり、この場合は分類誤りが多くなる。この点について、格子の数を追加／削減して平均量子化誤差が所定量を下回るようにするという技術が、Ｊａｍｅｓ　Ｓ．　Ｋｉｒｋ　ｅｔ．　ａｌ．　”Ａ　Ｓｅｌｆ−Ｏｒｇａｎｉｚｅｄ　Ｍａｐ　ｗｉｔｈ　Ｄｙｎａｍｉｃ　Ａｒｃｈｉｔｅｃｔｕｒｅ　ｆｏｒ　Ｅｆｆｉｃｉｅｎｔ　Ｃｏｌｏｒ　Ｑｕａｎｔｉｚａｔｉｏｎ”，　ＩＪＣＮＮ’０１，　２１２８−２１３２に開示されている。尤も、この技術では、入力データに対応する特徴量セットの空間でのデータ分布を写像した格子が追加等されるだけなので、データ分類において重要となる、クラスタ境界付近の格子の数を増大させるというようなことには配慮されていない。そこで例えば当初から格子の数を多くしておくこととしてもよいが、この場合、計算時間が長くなって実用的でない。
【００２１】
［従来の自律的分類装置の問題点］
このように、上記従来の自律的分類装置を利用しようとする場合、画像データの分類自体が負荷の大きい処理であり、従って処理対象となった画像データから取り出した部分画像の量が多い場合には現実的な時間内に処理が終了しない。一般に、写真として撮影された画像データでは、１０００×１０００を越える画素数を有しており、ここから例えば１００×１００の部分画像を１ピクセルずつずらしながら取り出したとすると、９００×９００個＝８１万個もの部分画像を、各処理対象画像データごとに処理しなければならなくなる。
【００２２】
本発明は上記実情に鑑みて為されたもので、自律的な動作によりながら、かつ効率的に、所望の種類の被写体が撮像されている部分を抽出することのできる画像処理装置を提供することを、その目的の一つとする。
【００２３】
【課題を解決するための手段】
上記従来例の問題点を解決するための本発明は、処理対象となった画像データから、所望の種類の被写体が撮像された部分を抽出する画像処理装置であって、前記処理対象となった画像データの少なくとも一部を抽出候補領域として抽出する予備抽出手段と、前記抽出候補領域の各々について、事前に行われた学習によって獲得された分類装置を用いて所定処理を行い、前記抽出候補領域のうち、前記所望の種類の被写体が撮像されている領域を選択して出力する本抽出手段と、を含み、前記予備抽出手段が、処理対象となった画像データの一部領域を選択し、当該選択した一部領域について所定の特徴量を演算し、当該特徴量が予め定められたルールを満足する場合に、当該一部領域を含む所定領域を抽出候補領域として画定する、ことを特徴としている。
【００２４】
またここで、予備抽出手段は、処理対象となった画像データから重複を許しながら、前記一部領域を複数選択して、各一部領域についての特徴量を演算することとするのも好ましい。さらに、特徴量は、前記一部領域に含まれる画素値のエントロピーであってもよい。
【００２５】
また別の態様では、予備抽出手段は、前記選択した一部領域に含まれる各画素値の輝度値を所定の輝度区間に分類し、当該輝度区間ごとの輝度値の出現頻度を示す輝度ヒストグラムを生成し、当該輝度ヒストグラムの出現頻度の総和を前記特徴量として演算することとした。ここで、さらに前記輝度ヒストグラムを連続的関数で近似的に表現し、前記近似的な連続的関数の積分として総和を演算し、これにより特徴量を演算する、こととするのも好ましい。さらに前記輝度区間の幅を調整可能としたこととしても好ましい。
【００２６】
また、本発明のある態様によると、処理対象となった画像データから、所望の種類の被写体が撮像された部分を抽出する画像処理装置であって、前記処理対象となった画像データの少なくとも一部を抽出候補領域として抽出する予備抽出手段と、前記抽出候補領域の各々について、事前に行われた学習によって獲得された分類装置を用いて所定処理を行い、前記抽出候補領域のうち、前記所望の種類の被写体が撮像されている領域を選択して出力する本抽出手段と、を含み、前記予備抽出手段が、処理対象となった画像データから所定サイズの一部領域を順次選択し、選択した一部領域の各々について所定の特徴量を演算するとともに、当該特徴量のデータを配列して生成されるマップデータであって、当該特徴量の演算に用いられた一部領域が、前記画像データの内で占める位置との関係において定められる位置に、前記演算した特徴量を配置した特徴量のマップデータを生成し、当該特徴量のマップデータにおいて、予め定められたルールにより定められる順序で、抽出候補領域を順次画定することとした。
【００２７】
また、本発明の別の態様によると、処理対象となった画像データから、所望の種類の被写体が撮像された部分を抽出する画像処理方法であって、前記処理対象となった画像データの少なくとも一部を抽出候補領域として抽出する予備抽出工程と、前記抽出候補領域の各々について、事前に行われた学習によって獲得された分類装置を用いて所定処理を行い、前記抽出候補領域のうち、前記所望の種類の被写体が撮像されている領域を選択して出力する本抽出工程と、を含み、前記予備抽出工程において、処理対象となった画像データの一部領域を選択し、当該選択した一部領域について所定の特徴量を演算し、当該特徴量が予め定められたルールを満足する場合に、当該一部領域を含む所定領域を抽出候補領域として画定する、こととした。
【００２８】
ここで、予備抽出工程では、前記選択した一部領域に含まれる各画素値の輝度値を所定の輝度区間に分類し、当該輝度区間ごとの輝度値の出現頻度を示す輝度ヒストグラムを生成し、当該輝度ヒストグラムの出現頻度の総和を前記特徴量として演算することも好ましい。さらに、前記輝度ヒストグラムを連続的関数で近似的に表現し、前記近似的な連続的関数の積分として総和を演算し、これにより特徴量を演算する、ことも好ましい。さらに、前記輝度区間の幅を調整可能としても好ましい。
【００２９】
さらに、本発明の別の態様では、処理対象となった画像データから、所望の種類の被写体が撮像された部分を抽出する画像処理方法であって、前記処理対象となった画像データの少なくとも一部を抽出候補領域として抽出する予備抽出工程と、前記抽出候補領域の各々について、事前に行われた学習によって獲得された分類装置を用いて所定処理を行い、前記抽出候補領域のうち、前記所望の種類の被写体が撮像されている領域を選択して出力する本抽出工程と、を含み、前記予備抽出工程において、処理対象となった画像データから所定サイズの一部領域を順次選択させ、選択した一部領域の各々について所定の特徴量を演算させるとともに、当該特徴量のデータを配列して生成されるマップデータであって、当該特徴量の演算に用いられた一部領域が、前記画像データの内で占める位置との関係において定められる位置に、前記演算した特徴量を配置した特徴量のマップデータ、を生成させ、当該特徴量のマップデータにおいて、予め定められたルールにより定められる順序で、抽出候補領域を順次画定させることとした。
【００３０】
さらに、本発明の別の態様は、処理対象となった画像データから、所望の種類の被写体が撮像された部分を抽出する画像処理プログラムであって、コンピュータに、前記処理対象となった画像データの少なくとも一部を抽出候補領域として抽出する予備抽出手順と、前記抽出候補領域の各々について、事前に行われた学習によって獲得された分類装置を用いて所定処理を行い、前記抽出候補領域のうち、前記所望の種類の被写体が撮像されている領域を選択して出力する本抽出手順と、を実行させ、前記予備抽出手順においては、処理対象となった画像データの一部領域を選択させ、当該選択した一部領域について所定の特徴量を演算させ、当該特徴量が予め定められたルールを満足する場合に、当該一部領域を含む所定領域を抽出候補領域として画定させることを特徴とする。
【００３１】
本発明のさらに別の態様は、処理対象となった画像データから、所望の種類の被写体が撮像された部分を抽出する画像処理プログラムであって、コンピュータに、前記処理対象となった画像データの少なくとも一部を抽出候補領域として抽出する予備抽出手順と、前記抽出候補領域の各々について、事前に行われた学習によって獲得された分類装置を用いて所定処理を行い、前記抽出候補領域のうち、前記所望の種類の被写体が撮像されている領域を選択して出力する本抽出手順と、を実行させ、前記予備抽出手順において、処理対象となった画像データから所定サイズの一部領域を順次選択させ、選択した一部領域の各々について所定の特徴量を演算させるとともに、当該特徴量のデータを配列して生成されるマップデータであって、当該特徴量の演算に用いられた一部領域が、前記画像データの内で占める位置との関係において定められる位置に、前記演算した特徴量を配置した特徴量のマップデータを生成させ、当該特徴量のマップデータにおいて、予め定められたルールにより定められる順序で、抽出候補領域を順次画定させることを特徴とする。
【００３２】
【発明の実施の形態】
本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係る画像処理装置は一般的なコンピュータを用いて実現できる。すなわち、本実施の形態の画像処理装置は、図１に示すように、制御部１１と、記憶部１２と、入出力インタフェース１３と、操作部１４と、表示部１５とを含んで構成されている。なお、記憶部１２には、ＲＡＭ（Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）といったメモリ素子のほか、ハードディスクやＣＤ−ＲＯＭなどのプログラムをコンピュータ読み取り可能に保持する記憶媒体が含まれる。
【００３３】
制御部１１は、記憶部１２に格納されている画像処理プログラムに従って動作し、入出力インタフェース１３を介して入力される、処理対象画像データに対して所定の処理を実行する。この画像処理の内容については、後に詳しく述べる。また、この制御部１１は、操作部１４から入力される指示に従って、当該画像処理の結果を表示部１５に表示し、または入出力インタフェース１３を介して外部に出力する。
【００３４】
記憶部１２は、制御部１１により実行されるプログラムを保持している。またこの記憶部１２は、制御部１１の画像処理の過程で必要となるデータを保持する、ワークメモリとしても動作する。入出力インタフェース１３は、外部から入力される画像データを制御部１１に出力する。また、この入出力インタフェース１３は、制御部１１から入力される指示に従って、制御部１１から入力される種々のデータを外部に出力する。操作部１４は、キーやマウスなどを含み、ユーザからの操作の内容を制御部１１に伝達する。表示部１５は、ＣＲＴや液晶ディスプレイなどであり、制御部１１から入力される指示に従って情報を表示する。
【００３５】
［画像処理の内容］
ここで、制御部１１が実行する画像処理の具体内容について説明する。本実施の形態における制御部１１により実行される画像処理の内容は、所望の種類の被写体が撮像されていると推定される部分的な画像データを予備的に抽出する予備抽出処理と、予備抽出処理により抽出された部分的な画像データから所望の種類の被写体が撮像されている部分を選抜する本抽出処理とを含んでなる。そこで、以下に、予備抽出処理と、本抽出処理とを区別して説明する。なお、以下の説明においては理解をしやすくするため、処理対象画像データは写真の画像データであるとし、所望の種類の被写体は、人物の顔部分であるとして説明をする。
【００３６】
［予備抽出処理］
本実施の形態の予備抽出処理を行うプログラムモジュールは、図２に示すように、補正部２１と、特徴量マップ生成部２２と、抽出候補部分画定部２３とを含んで構成されている。補正部２１は、処理対象画像データをグレースケールの画像データに変換し、変換後の画像データに対して、コントラストの補正処理を行う。具体的にこのコントラストの補正処理としては、画像データ内の各ピクセルの輝度の出現頻度（ヒストグラム）を等化する処理がある。
【００３７】
特徴量マップ生成部２２は、画像データの一部領域として、予め定められたサイズｎ×ｎ′ピクセルの領域を画定し、これを所定のｄピクセルずつ移動させつつ、互いに重複するｎ×ｎ′ピクセルの一部領域を順次画定する。ここでｎ＝ｎ′とすることができ、例えばｎ＝ｎ′＝９として以下の説明を行う。また、ｄはｎより小であること（画定される一部領域に重複を許すこと）が好ましい。ここでは例えばｄ＝３とする。
【００３８】
具体的に特徴量マップ生成部２２の処理を行う制御部１１は、図３に示すように、処理対象の画像データについて、ｎ×ｎ′の一部領域（いわば特徴量算出用の領域）を画定し（Ｓ１）、各一部領域について輝度のヒストグラムを算出する（Ｓ２）。そして、このヒストグラムに基づいて特徴量の一例としてのエントロピーを演算して、一部領域の中心座標の情報（元の画像データ上での一部領域の位置に関係する情報）に関連づけて記憶部１２に格納する（Ｓ３）。エントロピーの演算は具体的には、ヒストグラムに現れる各頻度の値を累算してエントロピーとすることができる。次に、処理Ｓ１で画定した一部領域を移動する（Ｓ４）。この移動は、例えば図４に示すように、画像データ上で左上側から順に、ｄピクセルずつずらしながら右へ水平移動し、右端に到達したらｄピクセルだけ下へ垂直移動し、左端へ戻って処理を続ける。こうして左上端から右下端までを走査する。
【００３９】
そして制御部１１は画像データの走査を完了したか否か（全一部領域を処理したか否か）を判断し（Ｓ５）、走査を完了していなければ（Ｎｏならば）、移動後の一部領域を画定するべく処理Ｓ１に戻って処理を続ける。また、処理Ｓ５において、走査を完了した（全一部領域を処理した）ならば（Ｙｅｓならば）、処理Ｓ３で格納したエントロピーの出現頻度（特徴量ヒストグラム）を演算し（Ｓ６）、出現頻度の値ｅがｅ１≦ｅ≦ｅ２（ここでｅ１は、演算されたエントロピーの出現頻度の最大値のｐ％の値、ｅ２は、同じくエントロピーの最大値のｐ′％の値、ここでは例えばｐ＝３０、ｐ′＝１０とする）となるようなエントロピーの値を有する一部領域を有効領域として選択する（Ｓ７）。
【００４０】
そして、処理Ｓ３で記憶部１２に格納した各特徴量とともに関連づけられている一部領域の中心座標の情報を利用して、演算した特徴量をマトリクス状に配置してマップデータ（特徴量マップ）を生成する。こうして生成された特徴量マップは、模式的には図５に示すように、各ピクセルの値が特徴量であるような、一種のグレースケールの画像データとなる。ここで、特徴量マップ上には、有効領域の特徴量だけを含めるようにしてもよい。
【００４１】
抽出候補部分画定部２３は、特徴量マップ生成部２２によって生成された特徴量マップを参照しながら、抽出候補部分を画定する。制御部１１は、この抽出候補部分画定部２３の処理として具体的に図６に示すように、特徴量マップ上でｍ×ｍ′ピクセルに対応する領域を画定し（Ｓ１１）、この画定した領域に含まれる特徴量に基づく所定の統計演算を行う。そして、その結果を画定した領域に関する統計値として設定する（Ｓ１２）。ここでｍ＝５５、ｍ′＝５５であるとして以下説明する。このように、ｍ，ｍ′＞ｎ，ｎ′としているのは、人物の顔を抽出の対象とする場合、ｎ×ｎ′のように小さい（エントロピーの計算がしやすい）領域をそのまま用いると、輪郭部分のようにエントロピーの高い領域が拾われてしまうだけであるのに対して、比較的大きいサイズの領域を用いれば、エントロピーの高い領域で囲まれた（すなわち輪郭で囲まれた）人間の顔部分が、全体の中でエントロピーの高い領域となり、人間の顔部分を捉えやすくなるからである。従って、このｍ，ｍ′の値は、処理対象画像データの中で一般的に人の顔がどの程度のサイズで含まれているかによって設定可能としておくことが好ましい。つまり、このｍ，ｍ′の値は、抽出したい種類の被写体の画像データ上の大きさに応じて適応的に変更設定できるようにしておく。この設定は、予め行っておいてもよいし、操作部１４を通じてユーザがその都度設定してもよい。さらに、ある態様においては、このｍ，ｍ′の値を特徴量マップにおける特徴量の分布（例えばエントロピーの分布に応じて）適応的に変更してもよい。この場合、抽出する領域は、エントロピーの部分的な分布状況によって異なることとなり、一つの処理対象画像データ内であっても、部分によってはｍ，ｍ′の値がそれぞれ異なることとなる。したがってこの場合は、人の顔が含まれている可能性の場所を示すのみではなく、そのサイズ情報も抽出可能となる。
【００４２】
制御部１１は、処理Ｓ１２で演算した統計値が所定のしきい値Ｔｈを越えているか否かを判断し（Ｓ１３）、越えていれば（Ｙｅｓならば）、この時点で画定している領域の中心座標を記憶部１２に格納する（Ｓ１４）。この処理Ｓ１４の処理が予め定められたルールを満足する領域の選択に相当する。そして制御部１１は、処理Ｓ１１で画定した領域を特徴量マップ上で順次移動させる（Ｓ１５）。ここで移動量Ｄが、例えば１ピクセルとすると、１ピクセルだけ画定した領域を特徴量マップ上で右へ移動させる。そして特徴量マップ上で右端まで到達すると、次に同じくＤ＝１ピクセルだけ下へ移動して、左端から順次右端まで移動していく。こうして左上端から右下端まで特徴量マップを走査する。
【００４３】
そして制御部１１は、特徴量マップの走査が完了したか否かを調べ（Ｓ１６）、完了していれば（Ｙｅｓならば）、処理を終了する。また、処理Ｓ１６において完了していなければ（Ｎｏならば）、処理Ｓ１１に戻って移動後の領域について処理を続ける。なお、処理Ｓ１３において、統計値がしきい値Ｔｈを越えていなければ（Ｎｏならば）、処理Ｓ１５に移行する。
【００４４】
ここで、処理Ｓ１２における統計値としては、ｍ×ｍ′領域内の特徴量の平均値、最大値、参照量との類似度の値などがある。また統計値として平均値を採用する場合、しきい値Ｔｈは、特徴量マップ全体の特徴量に関する統計量、例えば中央値とする。
【００４５】
なお、ここでは抽出候補領域を画定する情報としてその領域の中心座標を用いているが、当該中心座標を中心とした所定領域の左上座標及び右下座標など、領域そのものを画定する情報を、抽出候補領域を画定する情報として出力するようにしてもよい。こうして出力される情報は、後に説明する本抽出処理において利用される。
【００４６】
［特徴量マップの高精度化］
さらに、特徴量を高精度化するために、処理Ｓ２で演算する輝度ヒストグラムに対して所定の処理を行って、それから特徴量たるエントロピーを演算するようにしてもよい。すなわち、エントロピーの値は本来連続量であるのに対して、処理Ｓ２，Ｓ３での演算は離散量として演算されている。そこで、処理Ｓ２において演算した輝度ヒストグラムを連続的関数で近似的に表現し、この近似的な連続的関数の積分として総和をヒストグラムとして演算するようにしてもよい。この近似は最も簡便には、図７に示すように、ヒストグラム（実線）に対する一次近似（包絡線；破線）とすればよい。また、ヒストグラムの値を所定の内挿法で内挿して二次以上の近似を行ってもよい。
【００４７】
このようにすると、単なる総和においてはヒストグラムのピーク位置同士の相対的関係が配慮されなくなるのに対して、近似関数の積分とすることで、ピーク位置同士の相対的距離等が積分結果に寄与するようになるので、エントロピープロファイルが高精度化される。この状況を図８に示す。元の特徴量マップ（ａ）に対して、一次近似の結果を利用した特徴量マップ（ｂ）では、輪郭部分が背景部分に比べて浮き上がっている。
【００４８】
さらに、別の高精度化の方法として、次の方法がある。すなわち、上述の方法では輪郭や、顔に含まれている目鼻等の部分でエントロピー値が高くなり、これらの部分を中心的に顔らしい部分として抽出してしまう。そこで、処理Ｓ２で生成するヒストグラムの区間を広げて、輪郭も顔内部も略同一の特徴量を有するようにすれば、輪郭がなくなってベタの顔なり、候補として画定する領域の中心が、顔の中心部分に近くなると期待できる。これは周囲になるべくエントロピーの高い部分が多い方が処理Ｓ１１で画定する領域内での特徴量（エントロピー）がより高くなるからである。
【００４９】
具体的にヒストグラムの区間（輝度区間）の幅を広く調整可能とするというのは、例えば２５６諧調のグレースケール画像データであれば、輝度の値は０〜２５５までの２５５個であるが、これを例えば「５」単位にまとめ、０〜４，５〜９，…と区間を５１個に分け、０〜４の輝度を有するピクセルの数をカウントして、当該区間の出現頻度とする。このようにして演算される特徴量マップは図８（ｃ）に示すようになる。
【００５０】
［特徴量の他の例］
また、ここでは特徴量としてエントロピーを用いているが、輪郭検出情報や、コリレーションなどの広く知られた物理量を用いても構わない。
【００５１】
［予備抽出処理の他の例］
また、ここまでの説明では予備抽出処理として、図６に示したように、特徴量の統計量をさらに利用して抽出候補となる領域を画定するようにしていたが、これに代えて、特徴量マップをそのまま用いて抽出候補領域を画定するようにしてもよい。この場合には、例えば特徴量マップとしてのエントロピーのマップ上で、エントロピーが所定のしきい値より高い部分を抽出候補の領域の中心座標として出力する。この処理が特徴量マップをそのまま用いるときの、本発明にいう所定のルールを満足する領域を画定する処理に相当する。また、この場合にしきい値の高い順に順序づけて出力するようにしてもよい。
【００５２】
［本抽出処理］
次に、制御部１１による本抽出処理について説明する。本抽出処理では、制御部１１は、ＳＯＭを利用した学習処理によって獲得された分類装置を用いて所定処理を行い、抽出候補領域のうち、所望の種類の被写体が撮像されている領域を選択して出力する。なお、予備的に抽出される抽出候補領域は、互いに重複した領域を多く含んでいると考えられる。すなわち、同じ正面向きの顔の部分であっても、左耳近傍を中心にした領域と、鼻を中心にした領域と、右耳を中心にした領域とで異なる抽出候補領域として画定される場合がある。この場合に、すべての抽出候補領域を分類装置で処理すると、分類装置の処理負荷が大きくなると考えられる。そこで、制御部１１は、本抽出処理にあたり、次の処理によって一つの顔について一つの抽出候補領域を分類装置で処理することができるようにすることも好ましい。
【００５３】
すなわち、制御部１１は処理Ｓ１４において記憶部１２に格納した各中心座標の情報を利用して、図９に示す処理を行う。なお、記憶部１２に格納された中心座標の情報は、特徴量マップ上の座標の値となっているので、当該座標の値に対応する特徴量マップ上の「ピクセル」について、その「ピクセル」が処理対象画像データの対応する座標（処理Ｓ３において保持した当該「ピクセル」の演算に用いられた一部領域の中心座標）へ変換する。
【００５４】
制御部１１は、まず処理対象画像データと同一サイズのブーリアン値の配列（以下、ゲイジングマップ（Ｇａｚｉｎｇ　Ｍａｐ；注視領域マップ）と呼ぶ）を生成する。なお、各ブーリアン値は「ｆａｌｓｅ（偽）」に初期設定しておく。そして、各ブーリアン値のうち、処理Ｓ１４で記憶部１２に格納した（変換後の）中心座標の情報に応じて、各中心座標の周囲±Ｅピクセルの領域のブーリアン値を「Ｔｒｕｅ（真）」に初期設定する（Ｓ２１）。ここでＥは、例えば５５とする。この値は処理対象画像データのサイズに応じて決定することとするのも好ましい。この場合は、中心座標を中心とした１１０×１１０ピクセルの領域のブーリアン値が真に設定される。
【００５５】
次に、各中心座標を順次読み出して、当該中心座標に対応するゲイジングマップ上のブーリアン値を参照して、それが真であるか否かを調べる（Ｓ２２）。ここでブーリアン値が真でなければ（Ｎｏならば）、次の中心座標を読み出して処理Ｓ２２の処理を続ける。また、処理Ｓ２２においてブーリアン値が真であれば（Ｙｅｓであれば）、処理対象の画像データ上、当該中心座標を中心とした所定領域（例えば当該中心座標を中心にした２Ｅ×２Ｅピクセルの矩形領域）の部分の画像データに対して後に説明する分類装置による処理を行う（Ｓ２３）。そして分類装置によって、当該部分的な画像データが所望の種類の被写体（ここでは顔）であると分類されたか否かを調べ（Ｓ２４）、顔として分類されたとき（Ｙｅｓのとき）には、ゲイジングマップ上で、当該中心座標を中心にした±Ｅの領域（当該中心座標を中心にした２Ｅ×２Ｅの矩形領域）のブーリアン値を偽に設定する（Ｓ２５）。これにより当該部分が再度分類装置より処理されることがなくなる。そして制御部１１は、ゲイジングマップ上で真となっているブーリアン値が残っているか否かを調べ（Ｓ２６）、残っていれば（Ｙｅｓならば）、処理Ｓ２２に戻って処理を続ける。また、処理Ｓ２６において残っていなければ（Ｎｏならば、つまりゲイジングマップ上のすべてのブーリアン値が偽となったならば）、処理を終了する。
【００５６】
一方、処理Ｓ２４において、顔と分類されなければ（Ｎｏならば）、現在処理している中心座標の周囲の所定座標について分類装置による分類処理を行ったか否かを調べる（Ｓ２７）。ここで、既に分類装置による分類処理を行っていれば（Ｙｅｓならば）、ゲイジングマップ上で、中心座標を中心にした±ｅの領域（２ｅ×２ｅの矩形領域）のブーリアン値を偽に設定する（Ｓ２８）。ここでｅの値はＥとは異なり、例えばｅ＜Ｅであり、具体的にはｅ＝９であるとする。そして制御部１１は、処理Ｓ２６に移行して処理を続ける（Ｂ）。
【００５７】
さらに、処理Ｓ２７において、分類装置による分類処理を行っていなければ（Ｎｏならば）、中心座標の周囲±（ｅ＋１）ピクセルの矩形領域を例えば渦巻き状（矩形状の周囲を時計回りまたは反時計回り）に順次選択し（Ｓ２９）、当該選択したピクセルを中心とした所定領域に対する分類処理を実行させるべく処理Ｓ２３に移行する（Ａ）。すなわち、処理Ｓ２７及びＳ２９により、中心座標周辺の±ｅピクセルについて、それらを中心にした所定領域に対する分類処理が実行されるのである。
【００５８】
［分類装置］
ここで、制御部１１の分類装置としての動作について説明する。分類装置としてのプログラムは例えば、図１０に示すように、マップ生成部３０と、クラスタ境界決定部３５とを含むものを用いることができる。ここでマップ生成部３０は、ＳＯＭ学習部３１と、マップ選択部３２と、学習条件設定部３３と、プロトタイプ追加部３４とを含む。制御部１１は、このプログラムを記憶部１２から読み出して実行する。
【００５９】
このプログラムの機能は、次のようになる。まずマップ生成部３０は、自己組織化マッピング（ＳＯＭ）により、プロトタイプマップを形成し、形成したプロトタイプマップの情報をクラスタ境界決定部３５に出力する。クラスタ境界決定部３５は、このプロトタイプマップに対し、各プロトタイプをクラスタに分類する。以下、これらの各部についての動作を分けて詳しく述べる。
【００６０】
［マップ生成］
まず、マップ生成部３０のＳＯＭ学習部３１は、学習条件設定部３３から入力される複数（例えばＭセット（Ｍは２以上の整数））の学習条件のセットの各々に対応するＭ個のプロトタイプマップ候補を生成する。各マップ候補は、各プロトタイプを特定する情報に対して、そのプロトタイプと特徴量セットの成分の各々との関係重みの情報を関連づけたものである。本実施の形態においては、マップを構成するプロトタイプは必ずしも格子点状に配列されている必要はない（この場合、プロトタイプを特定する情報にプロトタイプのマップ上の座標情報が含まれてもよい）が、以下の説明では簡単のため、格子点状に配列されているものとして説明する。
【００６１】
マップ選択部３２は、各マップ候補を量子化誤差（ＱＥ）と、トポロジカル・プロダクト（以下、ＴＰと呼ぶ）とを演算して、これらに基づき、クラスタ決定に適したマップを一つ、チャンピオンマップとして選択する。ここで、量子化誤差は、次の（４）式で演算される。
【数５】
2004062505.tif 000007
【００６２】
（４）式において、Ｐはマップ学習に用いる特徴量セットの数（つまり学習パターン数）であり、Ｅｊは、ｊ番目の特徴量セットベクトルであり、Ｗｃは、ｊ番目の特徴量セットベクトルに対しての勝利ノードの重みベクトルである。なお、この量子化誤差については、コホーネンらにより広く知られたものであるので、その詳細な説明を省略する。
【００６３】
また、ＴＰは、次の（５）式で演算される。
【数６】
2004062505.tif 000008
【００６４】
このＴＰは、入力層での空間（特徴量セットの空間）と、競合層での空間（プロトタイプの空間）との相対的位置関係が一致するほど小さい値となるもので、バウアー（Ｂａｕｅｒ）らによって、Ｂａｕｅｒ，　Ｈ．Ｕ．，　ａｎｄ　Ｐａｗｅｌｚｉｋ，　Ｋ．Ｒ．，（１９９２），　”Ｑｕａｎｔｉｆｙｉｎｇ　ｔｈｅ　ｎｅｉｇｈｂｏｒｈｏｏｄ　ｐｒｅｓｅｒｖａｔｉｏｎ　ｏｆ　ｓｅｌｆ−ｏｒｇａｎｉｚｉｎｇ　ｆｅａｔｕｒｅ　ｍａｐｓ．”　ＩＥＥＥ　Ｔｒａｎｓ．　Ｎｅｕｒａｌ　Ｎｅｔｗｏｒｋｓ，　３，　５７０−５７９などの論文で提案されているものである。
【００６５】
マップ選択部３２は、これらＱＥとＴＰとの値を用いて、次の（６）式にて演算されるスコア値が小さいものをチャンピオンマップＭＡＰｃとして選択し、その選択結果を出力する。
【数７】
2004062505.tif 000009
【００６６】
つまり、
【数８】
2004062505.tif 000010
である。
【００６７】
また、マップ選択部３２は、当初は、このチャンピオンマップの選択結果を後段のクラスタ境界決定部２２には出力せず、少なくとも一度、学習条件設定部３３に出力する。そして事前に設定された回数だけ繰返してチャンピオンマップの選択を行った後に、その時点での選択結果をクラスタ境界決定部３５に出力する。
【００６８】
学習条件設定部３３は、学習条件として例えば学習用の入力データの数（学習の回数）Ｎと、近傍距離σ（ｔ）と、学習係数α（ｔ）とのセットをＭセット出力する。この学習条件設定部３３は、当初はこれらの値や関数（Ｎ，σ（ｔ），α（ｔ））をランダムなパラメータに基づいて決定するか、事前に定められたセット（プリセット）として決定する。また、この学習条件設定部３３は、マップ選択部３２からチャンピオンマップの選択結果の入力を受けて、当該選択結果のマップ候補に対応する学習条件のセットを取出す。そして、この取出した学習条件のセットを基準として、さらにＭ個の学習条件のセットを生成して設定し、ＳＯＭ学習部３１に出力する。
【００６９】
なお、プロトタイプ追加部３４は、クラスタ境界決定がされた後に、プロトタイプマップの所定の位置にプロトタイプを追加してさらに学習を行わせるものであるが、クラスタ境界決定部３５の動作に関係するので、後に詳しく説明する。
【００７０】
ここで、マップ生成部３０における学習の動作について説明する。当初、学習条件設定部３３がランダムな、又は事前に定められたパラメータを用いて学習条件のセットを複数（例えばＭセット）生成して出力する。ＳＯＭ学習部３１は、学習条件設定部３３が出力する各学習条件のセットに応じてＭ個のプロトタイプマップの候補（マップ候補）を生成し、マップ選択部３２に出力する。マップ選択部３２は、これらのマップ候補の中から、量子化誤差とＴＰとの双方を用いて学習状態がクラスタリングに対して好適となっているマップ（チャンピオンマップ）を選択し、その選択結果を学習条件設定部３３に出力する。すると、学習条件設定部３３が当該チャンピオンマップの生成に用いられた学習条件に基づき、新たな学習条件のセットを複数生成し、再度ＳＯＭ学習部３１に出力して複数のマップ候補を生成させる。
【００７１】
このようにして、マップ候補の生成、チャンピオンマップの選択、学習条件の再設定という動作を所定の回数だけ繰返し、その結果得られたチャンピオンマップがクラスタの境界設定対象マップとしてクラスタ境界決定部３５に出力される。
【００７２】
［クラスタ境界決定］
クラスタ境界決定部３５は、マップ生成部３０から入力される境界設定対象となったマップについて、図１１に示すような処理を実行する。具体的にクラスタ境界決定部２２は、入力されたマップに含まれるプロトタイプの各々に固有の番号を割当てて、仮のクラスタリング結果を生成する（Ｓ３１）。この番号は、所定の順序に「１」から順に「Ｐ」（プロトタイプの数をＰとする）まで番号を振ったものでよい。この番号が仮のクラスタ番号となる。すなわち、当初は、各プロトタイプが互いに異なるクラスタに分類される。
【００７３】
次に、クラスタ境界決定部２２は、プロトタイプペアを抽出し、抽出したプロトタイプペアに係る各プロトタイプの重みベクトル間の類似度を計算する（Ｓ３２）。この計算の結果は、類似度テーブルとして記憶部１２に格納される。ここでプロトタイプペアというのは、各プロトタイプを順次注目プロトタイプとして選択し、注目プロトタイプと、他のプロトタイプとのすべての組み合せを採ったもの、すなわち２つのプロトタイプの組み合せ（ｃｏｍｂｉｎａｔｉｏｎ）のすべてをいっている。またここで類似度とは、各重みベクトルの成分ごとの差の二乗和（距離）を用いる。
【００７４】
この類似度をクラス（所定の数値範囲ごと）に分類して、各クラスごとの出現頻度の情報を生成し（図１２）、この出現頻度が最大となった距離をＣｄとし、所定の「０」に近い微小量δを決定しておく。あるいは、出現頻度が最大となる距離より短くかつ頻度が減少から増加に転じる最大の距離をＣｄとしてもよい。
【００７５】
次に、クラスタ番号の更新処理を開始する（Ｓ３３）。このクラスタ番号更新処理は、図１３に示すようなものであるが、ここでは簡単のため、クラスタの境界を決定しようとするプロトタイプマップとして３×３の格子マップがあるとして説明する。当初プロトタイプマップに対しては処理Ｓ３１にて、３×３＝９個のプロトタイプにそれぞれ図１４（ａ）に示すような「１」〜「９」の固有の番号を割当ててある。
【００７６】
クラスタ境界決定部３５は、各プロトタイプを順次、注目プロトタイプとして選択する（Ｓ４１）。そして、当該注目プロトタイプに隣接する（仮にクラスタリングされたプロトタイプマップ上で所定距離内の）プロトタイプの属しているクラスタを選択し（Ｓ４２）、当該選択したクラスタに属するプロトタイプを抽出する（Ｓ４３）。
【００７７】
図１４の例では例えば左下側の「１」を注目プロトタイプとして、それに隣接するクラスタの番号「１」，「４」，「５」，「２」のそれぞれについて、各クラスタに属するプロトタイプを選択することになる。そして、クラスタ境界決定部３５は、処理Ｓ４２にて選択したクラスタに属する各プロトタイプと注目プロトタイプとの測度としての相関量を次の（７）式（類似度の低下に伴い、所定微分値より急速に「０」に漸近する関数）を用いて演算し（Ｓ４４）、この相関量に基づき注目プロトタイプの属するクラスタを決定する。
【数９】
2004062505.tif 000011
【００７８】
ここで、ｙ＊は、注目プロトタイプの重みベクトルであり、ｙｉは、ｉ番目のプロトタイプの重みベクトルである。また、χは、プロトタイプベクトルの集合であり、χ（ｃ）は、クラスタ番号ｃのプロトタイプベクトルの集合である。また、αの決定に用いられるＣｄ，δは、処理Ｓ３２にて得たものであり、Ｌｎは、自然対数を表す。すなわち、（７）式は、注目プロトタイプと、クラスタ番号ｃに属するプロトタイプとの距離の総和を全体平均で除したもので、注目プロトタイプと、クラスタｃの相関量を表し、クラスタｃの中に注目プロトタイプとの重みベクトル間の相関量の大きいプロトタイプが多いほど（７）式は、大きい値となる。
【００７９】
クラスタ境界決定部３５は、（７）式が最も大きい値となるクラスタの番号を、注目プロトタイプのクラスタ番号として仮決定し（Ｓ４５）、この仮決定の内容を記憶する（Ｓ４６）。
【００８０】
ここで図１４（ａ）に示したクラスタ「１」に分類されたプロトタイプが注目プロトタイプである場合、隣接プロトタイプとして「１」に属するプロトタイプについては、当初は他のプロトタイプがないので、演算されず、「４」に属するプロトタイプ、「５」に属するプロトタイプ、「２」に属するプロトタイプとの間の相関量が演算され、例えば「４」に属するプロトタイプとの距離が最も短い場合、注目プロトタイプの属するクラスタを「１」から「４」に変更する（図１４（ｂ））。ここで隣接するプロトタイプだけでなく、全プロトタイプとの演算を行ってもよい。そのようにすると、プロトタイプマップ上は距離があるが、重みベクトル間の距離は小さいというようなプロトタイプを同一クラスタにまとめることができる。しかしながら、このようにすると、計算時間が大きくなるので、ここでは事前にＴＰを用いた評価を加味してプロトタイプマップ上の距離と、重みベクトル間の距離とが大きく違わないようなマップを選択したのである。
【００８１】
そしてクラスタ境界決定部３５は、すべてのプロトタイプを注目プロトタイプとして選択したか否かを調べ（Ｓ４７）、まだ選択されていないプロトタイプがあれば（Ｎｏならば）、処理Ｓ４１に戻って処理を続ける。また、処理Ｓ４７において、すべてのプロトタイプが選択されているならば（Ｙｅｓならば）、クラスタ番号更新の処理を終了する。
【００８２】
クラスタ境界決定部３５は、図１１に示す処理に戻り、このようにして仮決定した内容と、更新処理前のクラスタ番号とを比較し、クラスタ番号に変化があったか（クラスタ番号がまだ収束していないか）を調べ（Ｓ３４）、変化があった場合には（Ｙｅｓならば）、当該仮決定した内容を新たに仮のクラスタリング結果とし、処理Ｓ３３を繰返して実行する。また、処理Ｓ３４にて変化がなければ（Ｎｏならば）、すなわち収束したならば、現在のクラスタリング結果を出力する。
【００８３】
［プロトタイプの追加］
本実施の形態において特徴的なことは、クラスタ境界決定部３５がクラスタリング結果を直ちに最終的な結果として出力せず、少なくとも１度、マップ生成部３０のプロトタイプ追加部３４に戻して出力できることである。プロトタイプ追加部３４は、クラスタリング結果を参照して、クラスタの境界部に新規プロトタイプを生成して、再度学習を行わせるべく、ＳＯＭ学習部３１に当該新規プロトタイプ追加後のプロトタイプマップを出力する。この際の学習は、微調整を目的とするものなので、例えばクラスタリング前の学習ではα（ｔ）＝０．２、σ（ｔ）＝２．０と初期設定して、７００パターンを１００００回学習するよう学習条件パラメータが設定されていた場合でも、新規プロトタイプ追加後の学習では、α（ｔ）＝０．００２、σ（ｔ）＝１．０、パターンの繰返し入力が１００といった学習条件パラメータで構わない。
【００８４】
具体的に、図１４（ａ）のように当初仮にクラスタリングされていたプロトタイプマップに対して、クラスタ境界決定部３５が、クラスタ図１４（ｃ）のようなクラスタリング結果を出力したとすると、この「４」と「６」との境界に新規プロトタイプを形成する（図１４（ｄ））。ここで図１４（ｄ）では、理解のために先のクラスタリング結果を括弧つきで示したが、このようにプロトタイプを追加した後は、先のクラスタリング結果は無意味なものである。
【００８５】
なお、新規プロトタイプは、必ずしもクラスタ境界に沿って全体的に追加しなければならないものではなく、その少なくとも一部に追加するものであっても構わない。この場合において、追加する部分としては、学習入力ベクトル（パターン）に対して最も距離の短い、最近接プロトタイプとなった回数（パターンの数）に基づいて決定することが好ましい。ＳＯＭ学習やＶＱ学習といった学習方法では、Ｕ−Ｍａｔｒｉｘ法が利用するように、クラスタの中心部ではプロトタイプの密度が大きくなり、クラスタ境界部ではプロトタイプの密度が小さくなる。従って、学習入力パターンに対して最近接プロトタイプとなる機会が少なく、所定の閾値以下の場合、つまりプロトタイプの密度が所定のしきい値よりも低い部分は、クラスタ境界近傍のプロトタイプとみなすことができる。そこで、当該部分に新規プロトタイプを追加するようにすれば、境界全体に沿って追加することがなくなり、再度の学習や、再度のクラスタリングにかかる効率を向上できる。
【００８６】
また、追加する新規プロトタイプの重みベクトルを決定するには、追加しようとする位置（例えば境界部分）近傍の既存プロトタイプの重みベクトルに対する所定の統計演算結果（例えば算術平均値）により重みベクトルを決定する。
【００８７】
［分類処理の動作］
次に、この分類処理を行う制御部１１の動作について説明する。分類処理に先立ち、本実施形態の画像処理装置は、分類装置を学習により獲得する。このためには、まず、学習条件設定部３３が複数の学習条件パラメータのセットＳ１，Ｓ２，…ＳＭを出力して、ＳＯＭ学習部３１において当該学習条件パラメータのセットの数に対応した（Ｍ個の）プロトタイプマップが生成される。ＳＯＭ学習部３１は、外部から入力される学習画像データに基づき所定の特徴量ベクトルを生成し、各プロトタイプマップの各プロトタイプと当該特徴量ベクトルの各成分との結合重みを調整する。ＳＯＭ学習部３１のこの動作は、コホーネンらの記述により広く知られたものである。学習画像データは、予め顔全体を含む領域を切り出した画像データのサンプルとすればよい。
【００８８】
ＳＯＭ学習部３１により生成された複数のプロトタイプマップは、マップ選択部３２に出力され、マップ選択部３２が各マップに含まれるプロトタイプに関する演算から、量子化誤差（ＱＥ）及びトポロジカル・プロダクト（ＴＰ）に基づき、量子化誤差が低く、ＴＰにより示される入力層での空間（特徴量セットの空間）と、競合層での空間（プロトタイプの空間）との相対的位置関係の一致度、すなわち、重みベクトル間の距離と、競合層での距離との一致度が高いマップを選択する。これにより、類似する画像データに反応するプロトタイプ間のマップ上の距離が小さくなる。
【００８９】
そして選択されたマップの学習に用いられた学習条件パラメータのセットに基づき、学習条件設定部３３が再度学習条件パラメータのセットを複数生成してＳＯＭ学習部３１に出力し、複数のマップが再度生成され、その中から、ＱＥ及びＴＰに基づくマップ選択が行われる。こうして、学習条件パラメータが再帰的に調整され、マップの学習形成が再帰的に行われる。
【００９０】
このような再帰的学習の結果得られたマップについて、クラスタ境界決定部３５が、マップ上のプロトタイプを順次選択し、その選択したプロトタイプとそれに隣接するプロトタイプとの間の相関量が大きいもの同士を一つのクラスタにまとめる。つまり、プロトタイプのマップ上での隣接関係及び相関量によって各プロトタイプの属するクラスタが決定される。そして、この処理を繰返し実行して、クラスタリングの結果が収束したところで、そのクラスタリングの結果をプロトタイプ追加部３４に出力する。
【００９１】
プロトタイプ追加部３４がクラスタの境界部分に新規プロトタイプを追加したマップを生成して、このマップをＳＯＭ学習部３１に出力し、所定の学習条件を設定して再度学習を行わせる。この際は学習条件パラメータのセットは１つだけでよく、従ってマップは一つだけで構わない。そこで、この一つのマップの学習処理が完了すると、当該マップを（マップ選択部３２を介することなく）そのままクラスタ境界決定部３５に出力し、クラスタ境界決定部３５が改めてクラスタリングの処理を行う。そしてこのクラスタリングの処理の結果としてマップが獲得される。
【００９２】
こうして学習により分類装置のマップが獲得されると、分類処理が可能となる。すなわち図９に示した処理Ｓ２３においては、分類対象として特定された、中心座標を中心とした所定サイズの画像データに対して特徴量ベクトルを生成し、この特徴量ベクトルに対して最も結合重みの大きいプロトタイプ（入力された画像データに反応するプロトタイプ）を見いだす。そして当該プロトタイプの属するクラスタの番号が、当該画像データの分類番号となる。これにより、互いに類似する画像データ（例えば顔の画像データ同士）に対して特定の分類番号が決定され、互いに異なる画像データ（例えば「顔」と顔に見えなくはないが、顔でないものとの画像データの各々）に対しては、異なる分類番号が決定されて出力される。
【００９３】
このような分類装置によると、人間が介入してパラメータを設定することなく、自律的に学習とクラスタリングとが行われる。また、プロトタイプの数が不足していれば、自律的にクラスタ境界部分にプロトタイプが追加され、適切な数のプロトタイプでの学習、分類処理が実行される。
【００９４】
［分類処理のさらなる利用の例］
なお、こうした分類処理の結果、顔画像であっても、互いに異なる分類番号が決定される場合もある。これは例えば処理対象画像データがフラッシュを用いて撮影したものであったか否か等、撮影条件に応じて分類が異なったり、また、口を開いている顔や閉じている顔といった表情に応じて分類が異なったりするためである。そこで、付与された分類番号をそのまま出力することで、撮影条件や表情等の相違をも含めた顔の分類を達成できる。
【００９５】
［分類処理結果の分析］
なお、分類処理の結果、顔画像として分類されたか否かを判断するためには、ユーザが顔画像の分類番号を記憶部１２に設定して格納することもできる。しかしながら、さらに所定の処理を行うことで、顔画像であるか否かを学習により自律的に判断させることとしてもよい。この場合において、顔画像によって学習して獲得した重みベクトルによる検出器（顔検出器）と、顔画像でないものによって学習して獲得した重みベクトルによる検出器（反例検出器）とを用い、これらの判断を総合して、顔検出器により顔と判断され、かつ反例検出器により「顔以外でない」と判断された場合に「顔」であると分類することとしてもよい。
【００９６】
［全体的動作］
本実施の形態の画像処理装置の全体的動作は、従って次のようなものとなる。すなわち、本実施の形態の画像処理装置は、例えば写真を対象とし、その写真の中に撮影されている人物の顔を抽出する。そこで、制御部１１が処理対象として入力される写真のスキャン画像データからエントロピー等の特徴量のマップを利用して抽出候補領域を画定する。この画定された抽出候補領域は、顔画像とそうでないものとを少なくとも分類するよう予め学習させておいた分類装置（これも制御部１１によって実行されるソフトウエアとして実現される）によって分類される。そしてさらに、顔検出器（及び反例検出器）を含む検出器（これもまた制御部１１により実行されるソフトウエアとして実現される）によって顔であるか否かが判断され、顔であると判断された場合に、当該領域（処理Ｓ２３の分類処理に供された、中心座標を中心とする所定サイズの領域）の画像データが顔画像として抽出され、処理対象となった元の画像データと関連づけられて記憶部１２に格納される。この結果は、外部インタフェース１３を介して外部のデータベースに登録されてもよいし、表示部１５に表示出力されてもよい。
【００９７】
さらに、色補正といった画像処理分野への応用は、容易に想定できるが写真入力の変わりにビデオカメラからのフレームイメージを入力することによって、例えば、撮影現場の人の有無や何人の人物がそこにいるか等の情報を自動的に獲得することも可能となる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係る画像処理装置の一例を表す構成ブロック図である。
【図２】予備抽出処理を行うプログラムの一例を表す機能ブロック図である。
【図３】予備抽出処理の内容の一例を表すフローチャート図である。
【図４】一部領域による走査の状態の例を表す説明図である。
【図５】特徴量マップの模式的な例を表す説明図である。
【図６】予備抽出処理の内容の一例を表すフローチャート図である。
【図７】輝度ヒストグラムに対する近似関数の生成状態を表す説明図である。
【図８】特徴量マップの高精度化処理の結果の例を表す説明図である。
【図９】本抽出処理に対する画像データの入力を行う部分の処理の例を表すフローチャート図である。
【図１０】本抽出処理で用いられる分類装置の一例を表す機能ブロック図である。
【図１１】本抽出処理で用いられる分類装置の処理の例を表すフローチャート図である。
【図１２】分類装置の処理の例を表す説明図である。
【図１３】本抽出処理で用いられる分類装置の処理の例を表すフローチャート図である。
【図１４】分類装置の処理状態の例を表す説明図である。
【符号の説明】
１１　制御部、１２　記憶部、１３　入出力インタフェース、１４　操作部、１５　表示部、２１　補正部、２２　特徴量マップ生成部、２３　抽出候補部分画定部、３０　マップ生成部、３１　ＳＯＭ学習部、３２　マップ選択部、３３
学習条件設定部、３４　プロトタイプ追加部、３５　クラスタ境界決定部。
【図１】
2004062505.tif 000012
【図２】
2004062505.tif 000013
【図３】
2004062505.tif 000014
【図４】
2004062505.tif 000015
【図５】
2004062505.tif 000016
【図６】
2004062505.tif 000017
【図７】
2004062505.tif 000018
【図８】
2004062505.tif 000019
【図９】
2004062505.tif 000020
【図１０】
2004062505.tif 000021
【図１１】
2004062505.tif 000022
【図１２】
2004062505.tif 000023
【図１３】
2004062505.tif 000024
【図１４】
2004062505.tif 000025