(57)【要約】【課題】  サンプル画像を用いて学習した学習結果を用いて、識別対象画像に所定対象物が含まれるか否かを識別するに際し、誤検出を少なくする。【解決手段】  識別対象画像に顔が含まれるか否かを識別するために多数のサンプル画像を用いて学習を行った参照データＲ１を用いて、識別対象画像に顔が含まれるか否かを識別する。１つのサンプル画像について縦方向に縮小したサンプル画像および横方向に拡大したサンプル画像を作成し、これらについても学習を行う。これにより、上下を向いた顔についても識別対象画像に含まれるか否かを識別できる。【選択図】          図１
2005250772.tif 000002
【特許請求の範囲】
【請求項１】
ほぼ正面を向いた所定対象物を含む所定サイズを有する複数のサンプル画像と、前記所定対象物を含まない前記所定サイズを有する複数のサンプル画像とからなるサンプル画像群について、各サンプル画像を段階的に変形させつつ変形の各段階において前記サンプル画像のそれぞれに含まれる、前記所定対象物の識別に用いる少なくとも１つの特徴量をマシンラーニングの手法により学習することにより得られた参照データを参照して、識別対象画像の前記特徴量の入力により該識別対象画像に前記所定対象物が含まれるか否かを識別する識別手段を備えた対象物識別装置において、
前記参照データが前記サンプル画像を縦および横方向について異なる拡大率により拡大縮小するように変形して学習されてなることを特徴とする対象物識別装置。
【請求項２】
前記所定対象物が顔であり、前記縦方向の拡大率が１より小さく、前記横方向の拡大率が１より大きいことを特徴とする請求項１記載の対象物識別装置。
【請求項３】
前記少なくとも１つの特徴量は、画像上の各画素における勾配ベクトルの方向、該勾配ベクトルの大きさおよび色情報の少なくとも１つであることを特徴とする請求項１または２記載の対象物識別装置。
【請求項４】
ほぼ正面を向いた所定対象物を含む所定サイズを有する複数のサンプル画像と、前記所定対象物を含まない前記所定サイズを有する複数のサンプル画像とからなるサンプル画像群について、各サンプル画像を段階的に変形させつつ変形の各段階において前記サンプル画像のそれぞれに含まれる、前記所定対象物の識別に用いる少なくとも１つの特徴量をマシンラーニングの手法により学習することにより得られた参照データを参照して、識別対象画像の前記特徴量の入力により該識別対象画像に前記所定対象物が含まれるか否かを識別する対象物識別方法において、
前記参照データが前記サンプル画像を縦および横方向について異なる拡大率により拡大縮小するように変形して学習されてなることを特徴とする対象物識別方法。
【請求項５】
ほぼ正面を向いた所定対象物を含む所定サイズを有する複数のサンプル画像と、前記所定対象物を含まない前記所定サイズを有する複数のサンプル画像とからなるサンプル画像群について、各サンプル画像を段階的に変形させつつ変形の各段階において前記サンプル画像のそれぞれに含まれる、前記所定対象物の識別に用いる少なくとも１つの特徴量をマシンラーニングの手法により学習することにより得られた参照データを参照して、識別対象画像の前記特徴量の入力により該識別対象画像に前記所定対象物が含まれるか否かを識別する手順を有する対象物識別方法をコンピュータに実行させるためのプログラムにおいて、
前記参照データが前記サンプル画像を縦および横方向について異なる拡大率により拡大縮小するように変形して学習されてなることを特徴とするプログラム。
【請求項６】
ほぼ正面を向いた所定対象物を含む所定サイズを有する複数のサンプル画像と、前記所定対象物を含まない前記所定サイズを有する複数のサンプル画像とからなるサンプル画像群について、各サンプル画像を段階的に変形させつつ変形の各段階において前記サンプル画像のそれぞれに含まれる、前記所定対象物の識別に用いる少なくとも１つの特徴量をマシンラーニングの手法により学習することにより得られた参照データを参照して、識別対象画像の前記特徴量の入力により該識別対象画像に前記所定対象物が含まれるか否かを識別するための識別手段を備えた対象物識別装置の前記参照データの学習を行う学習方法であって、
前記変形として、前記サンプル画像の縦および横方向についての異なる拡大率による拡大縮小を含むことを特徴とする学習方法。
【請求項７】
ほぼ正面を向いた所定対象物を含む所定サイズを有する複数のサンプル画像と、前記所定対象物を含まない前記所定サイズを有する複数のサンプル画像とからなるサンプル画像群について、各サンプル画像を段階的に変形させつつ変形の各段階において前記サンプル画像のそれぞれに含まれる、前記所定対象物の識別に用いる少なくとも１つの特徴量をマシンラーニングの手法により学習することにより得られた参照データを参照して、識別対象画像の前記特徴量の入力により該識別対象画像に前記所定対象物が含まれるか否かを識別するための識別手段を備えた対象物識別装置の前記参照データの学習を行う学習方法をコンピュータに実行させるためのプログラムであって、
前記変形の手順として、前記サンプル画像の縦および横方向についての異なる拡大率による拡大縮小を含むことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像に顔等の所定対象物が含まれるか否かを識別する対象物識別装置および対象物識別装置の学習を行う学習方法並びに学習方法をコンピュータに実行させるためのプログラムに関するものである。
【背景技術】
【０００２】
デジタルカメラにおいて取得した画像データや、フイルムに記録された画像を読み取ることにより取得した画像データを、プリント等のハードコピーとしてあるいはディスプレイ上にソフトコピーとして再現することが行われている。このような画像データにより表される画像は人物の顔が含まれることが多く、顔が適切な明るさや色を有するものとなるように画像データに対して明るさ、階調、色、シャープネス等を修正したり、赤目を修正する画像処理を施すことが行われている。このように画像データに対して画像処理を施す場合には、画像データにより表される画像から人物の顔に対応する顔領域を検出する必要がある。このため、画像に顔等の所定対象物が含まれるか否かを識別する各種方法が提案されている。
【０００３】
例えば非特許文献１は、顔を検出する際に用いられる特徴量である輝度値を正規化し、顔について学習を行ったニューラルネットワークの学習結果を参照して、画像に顔が含まれるか否かを識別する手法である。また非特許文献２は、画像中に含まれるエッジのような高周波成分を対象物の検出に使用する特徴量として求めてこの特徴量を正規化し、ブースティングと称されるマシンラーニング（machine learning）の手法を用いての特徴量についての学習結果を参照して、画像に対象物が含まれるか否かを識別する手法である。これら非特許文献１，２の手法は、顔等の対象物の検出に使用する特徴量を正規化しているため、画像に対象物が含まれるか否かを精度よく識別することができる。
【０００４】
また、所定対象物であることが分かっている複数のサンプル画像と、所定対象物でないことが分かっている複数のサンプル画像とからなる多数のサンプル画像群のそれぞれから算出された特徴量を、マシンラーニングの手法によりあらかじめ学習することにより得られた、特徴量の入力により所定対象物が含まれる識別対象画像と所定対象物が含まれない識別対象画像とを識別するための基準値を出力する複数の識別器を備え、この複数の識別から出力された基準値の重み付け総和があらかじめ定めた閾値を超えた場合に、識別対象画像に所定対象物が含まれると識別する手法が本出願人により提案されている（特許文献２〜４参照）。この特許文献２から４に記載された手法を用いることにより、例えば、サンプル画像として顔を学習させた場合には、識別対象画像に顔が含まれるか否かを良好に識別することができる。
【０００５】
また、サンプル画像を段階的に拡大縮小したり、段階的に回転したりすることによりサンプル画像を段階的に変形し、変形の各段において得られるサンプル画像を用いて学習を行っているため、識別対象画像に含まれる顔の縮率が異なったり、多少回転していても、識別対象画像に顔が含まれるか否かを検出することができる。
【非特許文献１】Henry A. Rowley, Shumeet Baluja, and Takeo Kanada, "Neural Network-Based Face Detection", volume 20, number 1, pages 23-38, January 1998.
【非特許文献２】Rainer Lienhart, Jochen Maydt, "An Extended Set of Haar-like Features for Rapid Object Detection", International Conference on Image Processing.
【特許文献１】特開平５−２８２４５７号公報
【特許文献２】特願２００３−３１６９２４号
【特許文献３】特願２００３−３１６９２５号
【特許文献４】特願２００３−３１６９２６号
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、上記特許文献２〜４の手法において、サンプル画像として顔の画像を用いた場合、サンプル画像は大人が正面を向いた顔を含む割合が高い。このため、特許文献２〜４に記載された手法を用いた場合においては、大人が正面を向いた顔を含む識別対象画像については、非常に高い検出率により顔が含まれるか否かを識別することができる。しかしながら、左右を向いていたり、上や下を向いている顔が含まれる識別対象画像については、顔が含まれているにもかかわらず、顔が含まれないと検出してしまう誤検出が多くなる。また、子供の顔は大人の顔と比較して、両目の間隔に対する鼻および口の位置関係が短い傾向にあるため、子供の顔を含む識別対象画像についても誤検出が多くなるという問題がある。
【０００７】
本発明は上記事情に鑑みなされたものであり、誤検出を少なくすることを目的とする。
【課題を解決するための手段】
【０００８】
本発明による対象物識別装置は、ほぼ正面を向いた所定対象物を含む所定サイズを有する複数のサンプル画像と、前記所定対象物を含まない前記所定サイズを有する複数のサンプル画像とからなるサンプル画像群について、各サンプル画像を段階的に変形させつつ変形の各段階において前記サンプル画像のそれぞれに含まれる、前記所定対象物の識別に用いる少なくとも１つの特徴量をマシンラーニングの手法により学習することにより得られた参照データを参照して、識別対象画像の前記特徴量の入力により該識別対象画像に前記所定対象物が含まれるか否かを識別する識別手段を備えた対象物識別装置において、
前記参照データが前記サンプル画像を縦および横方向について異なる拡大率により拡大縮小するように変形して学習されてなることを特徴とするものである。
【０００９】
「所定対象物」とは、ほぼ一定形状をなしており、ほぼ一定の大きさとなるようにサイズを揃えることが可能な対象物が挙げられる。具体的には、人物の顔、車両および道路標識等を所定対象物とすることができる。
【００１０】
「変形」とは、縦および横方向についての異なる拡大率により拡大縮小とともに、識別対象画像の拡大、縮小および回転の少なくとも１つを含む。
【００１１】
「特徴量」とは、画像の特徴を表すパラメータを指し、その画像における各画素の濃度勾配を表す勾配ベクトル、各画素の色情報（色相、彩度）、濃度、テクスチャーの特徴、奥行情報、その画像に含まれるエッジの特徴等、いかなる特徴を表すものであってもよい。
【００１２】
「マシンラーニング（machine learning）」とは、計算機を使用してパターンの識別を行う識別器を生成する手法のことであり、機械による学習（機械学習）または単に学習と称される。マシンラーニングの手法としては、例えば、ニューラルネットワーク、サポートベクタマシン、最近傍識別器、およびブースティング等の手法が挙げられる。
【００１３】
なお、本発明による対象物識別装置においては、前記少なくとも１つの特徴量は、画像上の各画素における勾配ベクトルの方向、該勾配ベクトルの大きさおよび色情報の少なくとも１つであってもよい。
【００１４】
「勾配ベクトル」とは、画像の各画素における濃度が変化する方向および変化の大きさを表すものである。
【００１５】
本発明による対象物学習方法は、ほぼ正面を向いた所定対象物を含む所定サイズを有する複数のサンプル画像と、前記所定対象物を含まない前記所定サイズを有する複数のサンプル画像とからなるサンプル画像群について、各サンプル画像を段階的に変形させつつ変形の各段階において前記サンプル画像のそれぞれに含まれる、前記所定対象物の識別に用いる少なくとも１つの特徴量をマシンラーニングの手法により学習することにより得られた参照データを参照して、識別対象画像の前記特徴量の入力により該識別対象画像に前記所定対象物が含まれるか否かを識別する対象物識別方法において、
前記参照データが前記サンプル画像を縦および横方向について異なる拡大率により拡大縮小するように変形して学習されてなることを特徴とするものである。
【００１６】
本発明による学習方法は、ほぼ正面を向いた所定対象物を含む所定サイズを有する複数のサンプル画像と、前記所定対象物を含まない前記所定サイズを有する複数のサンプル画像とからなるサンプル画像群について、各サンプル画像を段階的に変形させつつ変形の各段階において前記サンプル画像のそれぞれに含まれる、前記所定対象物の識別に用いる少なくとも１つの特徴量をマシンラーニングの手法により学習することにより得られた参照データを参照して、識別対象画像の前記特徴量の入力により該識別対象画像に前記所定対象物が含まれるか否かを識別するための識別手段を備えた対象物識別装置の前記参照データの学習を行う学習方法であって、
前記変形として、前記サンプル画像の縦および横方向についての異なる拡大率による拡大縮小を含むことを特徴とするものである。
【００１７】
なお、本発明による対象物識別方法および学習方法をコンピュータに実行させるためのプログラムとして提供してもよい。
【発明の効果】
【００１８】
本発明によれば、サンプル画像を段階的に変形させつつ参照データを学習する際に、サンプル画像が縦および横方向について異なる拡大率により拡大縮小されて変形される。このため、本発明による対象物識別装置においては、実質的にほぼ正面を向いた所定対象物の縦および横方向についての縮率が異なるサンプル画像についても参照データの学習がなされることとなる。ここで、左右を向いた所定対象物は、正面を向いた所定対象物と比較して横方向にのみ縮小されたものとなる。一方、上下を向いた所定対象物は、正面を向いた所定対象物と比較して縦方向にのみ縮小されたものとなる。このため、本発明による対象物識別装置によれば、識別対象画像に左右または上下方向を向いた所定対象物が含まれている場合であっても、その識別対象画像には所定対象物が含まれると識別することができる。
【００１９】
とくに、所定対象物を顔とした場合において、子供の顔は大人の顔と比較して、両目の間隔に対する目と口の距離が短い傾向にある。本発明において、所定対象物を顔とした場合において、縦方向の拡大率を１より小さく、横方向の拡大率を１より大きくすることにより、子供の顔あるいは大人でも上下を向いた顔が識別対象画像に含まれるか否かを識別することができる。
【００２０】
また、少なくとも１つの特徴量を画像上の各画素における勾配ベクトルの方向、大きさおよび色情報の少なくとも１つとすることにより、識別対象画像に含まれる比較的算出しやすい特徴量を用いて精度よく構成部品の位置を識別できる。
【発明を実施するための最良の形態】
【００２１】
以下、図面を参照して本発明の実施形態について説明する。図１は本発明の実施形態による対象物識別装置の構成を示す概略ブロック図である。図１に示すように、本実施形態による対象物識別装置１は、識別対象画像を表す識別対象画像データＳ０の入力を受け付ける画像入力部２、識別対象画像データＳ０により表される識別対象画像（以下画像についても参照符号Ｓ０を用いる）Ｓ０から特徴量Ｃ１を算出する特徴量算出部４、後述する参照データＲ１が格納されているメモリ６、特徴量算出部４が算出した特徴量Ｃ１とメモリ６内の参照データＲ１とに基づいて、識別対象画像Ｓ０に所定対象物である人物の顔が含まれているか否かを識別する識別部８、並びに識別部８による識別結果を出力する出力部１０とを備える。
【００２２】
特徴量算出部４は、顔の識別に用いる特徴量Ｃ１を識別対象画像Ｓ０から算出する。具体的には、特徴量Ｃ１として、識別対象画像Ｓ０の勾配ベクトル（すなわち方向および大きさ）を算出する。以下、勾配ベクトルの算出について説明する。まず、特徴量算出部４は、識別対象画像Ｓ０に対して図２（ａ）に示す水平方向のエッジ検出フィルタによるフィルタリング処理を施して識別対象画像Ｓ０における水平方向のエッジを検出する。また、特徴量算出部４は、識別対象画像Ｓ０に対して図２（ｂ）に示す垂直方向のエッジ検出フィルタによるフィルタリング処理を施して識別対象画像Ｓ０における垂直方向のエッジを検出する。そして、識別対象画像Ｓ０上の各画素における水平方向のエッジの大きさＨおよび垂直方向のエッジの大きさＶとから、図３に示すように、各画素における勾配ベクトルＫを算出する。
【００２３】
そして、この勾配ベクトルＫを特徴量Ｃ１とする。具体的には勾配ベクトルＫの所定方向（例えば図３におけるｘ方向）を基準とした０から３５９度の値および大きさを特徴量Ｃ１とする。
【００２４】
なお、このようにして算出された勾配ベクトルＫは、図４（ａ）に示すような人物の顔の場合、図４（ｂ）に示すように、目および口のように暗い部分においては目および口の中央を向き、鼻のように明るい部分においては鼻の位置から外側を向くものとなる。また、口よりも目の方が濃度の変化が大きいため、勾配ベクトルＫの大きさは口よりも目の方が大きくなる。
【００２５】
ここで、特徴量Ｃ１である勾配ベクトルＫの大きさは正規化される。この正規化は、識別対象画像Ｓ０内の全画素における勾配ベクトルＫの大きさのヒストグラムを求め、その大きさの分布が識別対象画像Ｓ０の各画素が取り得る値（８ビットであれば０〜２５５）に均一に分布されるようにヒストグラムを平滑化して勾配ベクトルＫの大きさを修正することにより行う。例えば、勾配ベクトルＫの大きさが小さく、図５（ａ）に示すように勾配ベクトルＫの大きさが小さい側に偏ってヒストグラムが分布している場合には、大きさが０〜２５５の全領域に亘るものとなるように勾配ベクトルＫの大きさを正規化して図５（ｂ）に示すようにヒストグラムが分布するようにする。なお、演算量を低減するために、図５（ｃ）に示すように、勾配ベクトルＫのヒストグラムにおける分布範囲を例えば５分割し、５分割された頻度分布が図５（ｄ）に示すように０〜２５５の値を５分割した範囲に亘るものとなるように正規化することが好ましい。
【００２６】
ここで、撮影を行う際には、照明の明るさや照明の方向が撮影時の条件に応じて様々であるため、明るさや照明の方向は識別対象画像Ｓ０ごとに異なる。このように明るさや照明の方向が異なる識別対象画像Ｓ０のそれぞれについてそのまま勾配ベクトルＫを求めていたのでは、同じ顔であるのに目の位置における勾配ベクトルの大きさが異なってしまい、顔が含まれるか否かを精度よく識別することができない。このため、本実施形態においては、勾配ベクトルＫの大きさを識別対象画像Ｓ０の全体について正規化している。
【００２７】
なお、特徴量算出部４は、後述するように識別対象画像Ｓ０の変形の各段階において特徴量Ｃ１を算出する。
【００２８】
メモリ６内に格納されている参照データＲ１は、後述するサンプル画像上の所定位置における複数画素の組み合わせからなる複数種類の画素群のそれぞれについて、各画素群を構成する各画素における特徴量Ｃ１の組み合わせに対する識別条件を規定したものである。
【００２９】
参照データＲ１中の、各画素群を構成する各画素における特徴量Ｃ１の組み合わせおよび識別条件は、顔であることが分かっている複数のサンプル画像と顔でないことが分かっている複数のサンプル画像とからなるサンプル画像群の学習により、あらかじめ決められたものである。
【００３０】
なお、本実施形態においては、顔であることが分かっているサンプル画像として、３０×３０画素サイズを有し、顔が垂直に立って正面を向き、両目の中心間の距離が１０画素のサンプル画像を用いる。また、本実施形態においては、１つのサンプル画像について、図６に示すように両目の中心間の距離を９画素および１１画素となるように拡大縮小したサンプル画像、縦方向に０．９倍〜０．７倍の範囲において０．１倍単位で縮小した（すなわち、縦方向の拡大率が０．９，０．８，０．７）サンプル画像、および横方向に１．１〜１．２倍の範囲おいて０．１倍単位で拡大した（すなわち、横方向の拡大率が１．１，１．２）サンプル画像を作成する。なお、図６においては、縦方向に０．７倍したサンプル画像および横方向に１．２倍したサンプル画像のみを示す。さらに、図７および図８に示すように、これら８種類のサンプル画像について、垂直に立った顔を基準として平面上±１５度の範囲において３度単位で段階的に回転させた（すなわち、回転角度が−１５度，−１２度，−９度，−６度，−３度，０度，３度，６度，９度，１２度，１５度）サンプル画像を作成し、これを学習に用いる。なお、図７および図８においては−１５度、０度および＋１５度に回転させたサンプル画像のみを示す。
【００３１】
これにより、１つの顔の画像につきサンプル画像は８×１１＝８８通り用意されることとなる。ここで、顔が垂直に立った状態において上下方向における目の位置はすべてのサンプル画像において同一である。
【００３２】
また、サンプル画像の変形時における回転の中心はサンプル画像の対角線の交点である。また、拡大縮小および回転させたサンプル画像については、サイズが３０×３０画素となるように拡大および回転後の画像の周囲を削除する、あるいは縮小および回転後の画像の周囲にその周辺画素の画素値を用いて画素を補間する。
【００３３】
なお、顔でないことが分かっているサンプル画像としては、３０×３０画素サイズを有する任意の画像を用いるものとする。
【００３４】
ここで、顔であることが分かっているサンプル画像として、両目の中心間距離が１０画素であり、平面上の回転角度が０度（すなわち顔が垂直な状態）のもののみを用いて学習を行った場合、参照データＲ１を参照して顔が含まれると識別されるのは、両目の中心間距離が１０画素で全く回転していない識別対象画像Ｓ０のみである。識別対象画像Ｓ０に含まれる可能性がある顔のサイズは一定ではないため、顔が含まれるか否かを識別する際には、後述するように識別対象画像Ｓ０を拡大縮小して、サンプル画像のサイズに適合するサイズの顔を識別できるようにしている。しかしながら、両目の中心間距離を正確に１０画素とするためには、識別対象画像Ｓ０のサイズを拡大率として例えば１．１単位で段階的に拡大縮小しつつ識別を行う必要があるため、演算量が膨大なものとなる。
【００３５】
また、識別対象画像Ｓ０に含まれる可能性がある顔は、図９（ａ）に示すように平面上の回転角度が０度のみではなく、図９（ｂ）、（ｃ）に示すように回転している場合もある。また、図９（ｄ）に示すように上を向いたり、図９（ｅ）に示すように下を向いている場合もあり、図９（ｆ）に示すように子供の顔である場合もある。
【００３６】
しかしながら、両目の中心間距離が１０画素であり、顔の回転角度が０度のサンプル画像のみを使用して学習を行った場合、顔であるにも拘わらず、図９（ｂ）、（ｃ）に示すように回転した顔、図９（ｄ），（ｅ）に示すように上下を向いた顔、さらには大人と比較して、両目の間隔に対する目と口の距離が短い傾向にある子供の顔については識別を行うことができなくなってしまう。
【００３７】
このため、本実施形態においては、顔であることが分かっているサンプル画像として、図６〜図８に示すように両目の中心間距離が９，１０，１１画素であり、各距離において平面上±１５度の範囲にて３度単位で段階的に顔を回転させたサンプル画像、並びに両目の中心間距離が１０画素のサンプル画像について縦方向に０．９〜０．７倍の範囲にて０．１倍単位にて段階的に縮小したサンプル画像、および横方向に１．１倍〜１．２倍の範囲にて０．１倍単位にて段階的に拡大したサンプル画像を平面上±１５度の範囲にてそれぞれ３度単位で段階的に顔を回転させたサンプル画像を用いて、参照データＲ１の学習に許容度を持たせるようにしたものである。これにより、識別対象画像Ｓ０を、拡大率として１１／９単位で段階的に拡大縮小すればよいため、識別対象画像Ｓ０のサイズを例えば拡大率として１．１単位で段階的に拡大縮小する場合と比較して、演算時間を低減できる。また、図９（ｂ）、（ｃ）に示すように回転している顔および図９（ｄ），（ｅ）に示すように上下を向いた顔さらには図９（ｆ）に示すように子供の顔も識別することができる。
【００３８】
以下、図１０のフローチャートを参照しながらサンプル画像群の学習手法の一例を説明する。
【００３９】
学習の対象となるサンプル画像群は、顔であることが分かっている複数のサンプル画像と、顔でないことが分かっている複数のサンプル画像とからなる。なお、顔であることが分かっているサンプル画像は、上述したように１つのサンプル画像につき８８通りに変形したものを用いる。各サンプル画像には、重みすなわち重要度が割り当てられる。まず、すべてのサンプル画像の重みの初期値が等しく１に設定される（ステップＳ１）。
【００４０】
次に、サンプル画像における複数種類の画素群のそれぞれについて識別器が作成される（ステップＳ２）。ここで、それぞれの識別器とは、１つの画素群を構成する各画素における特徴量Ｃ１の組み合わせを用いて、顔の画像と顔でない画像とを識別する基準を提供するものである。本実施形態においては、１つの画素群を構成する各画素における特徴量Ｃ１の組み合わせについてのヒストグラムを識別器として使用する。
【００４１】
図１１を参照しながらある識別器の作成について説明する。図１１の左側のサンプル画像に示すように、この識別器を作成するための画素群を構成する各画素は、顔であることが分かっている複数のサンプル画像上における、右目の中心にある画素Ｐ１、右側の頬の部分にある画素Ｐ２、額の部分にある画素Ｐ３および左側の頬の部分にある画素Ｐ４である。なお、ある識別器を作成するための画素群を構成する各画素の座標位置はすべてのサンプル画像において同一である。そして顔であることが分かっているすべてのサンプル画像について全画素Ｐ１〜Ｐ４における特徴量Ｃ１の組み合わせが求められ、そのヒストグラムが作成される。ここで、特徴量Ｃ１は勾配ベクトルＫの方向および大きさを表すが、勾配ベクトルＫの方向は０〜３５９の３６０通り、勾配ベクトルＫの大きさは０〜２５５の２５６通りあるため、これをそのまま用いたのでは、組み合わせの数は１画素につき３６０×２５６通りの４画素分、すなわち（３６０×２５６）4通りとなってしまい、学習および検出のために多大なサンプルの数、時間およびメモリを要することとなる。このため、本実施形態においては、勾配ベクトルの方向を０〜３５９を０〜４４と３１５〜３５９（右方向、値：０），４５〜１３４（上方向値：１），１３５〜２２４（左方向、値：２），２２５〜３１４（下方向、値３）に４値化し、勾配ベクトルの大きさを３値化（値：０〜２）する。そして、以下の式を用いて組み合わせの値を算出する。
【００４２】
組み合わせの値＝０（勾配ベクトルの大きさ＝０の場合）
組み合わせの値＝（（勾配ベクトルの方向＋１）×勾配ベクトルの大きさ（勾配ベクトルの大きさ＞０の場合）
これにより、組み合わせ数が９4通りとなるため、特徴量Ｃ１のデータ数を低減できる。
【００４３】
同様に、顔でないことが分かっている複数のサンプル画像についても、ヒストグラムが作成される。なお、顔でないことが分かっているサンプル画像については、顔であることが分かっているサンプル画像上における上記画素Ｐ１〜Ｐ４の位置に対応する画素（同様に参照符号Ｐ１〜Ｐ４を用いる）が用いられる。これらの２つのヒストグラムが示す頻度値の比の対数値を取ってヒストグラムで表したものが、図１１の一番右側に示す、識別器として用いられるヒストグラムである。この識別器のヒストグラムが示す各縦軸の値を、以下、識別ポイントと称する。この識別器によれば、正の識別ポイントに対応する特徴量Ｃ１の分布を示す画像は顔である可能性が高く、識別ポイントの絶対値が大きいほどその可能性は高まると言える。逆に、負の識別ポイントに対応する特徴量Ｃ１の分布を示す画像は顔でない可能性が高く、やはり識別ポイントの絶対値が大きいほどその可能性は高まる。ステップＳ２では、識別に使用され得る複数種類の画素群を構成する各画素における特徴量Ｃ１の組み合わせについて、上記のヒストグラム形式の複数の識別器が作成される。
【００４４】
続いて、ステップＳ２で作成した複数の識別器のうち、画像が顔であるか否かを識別するのに最も有効な識別器が選択される。最も有効な識別器の選択は、各サンプル画像の重みを考慮して行われる。この例では、各識別器の重み付き正答率が比較され、最も高い重み付き正答率を示す識別器が選択される（ステップＳ３）。すなわち、最初のステップＳ３では、各サンプル画像の重みは等しく１であるので、単純にその識別器によって画像が顔であるか否かが正しく識別されるサンプル画像の数が最も多いものが、最も有効な識別器として選択される。一方、後述するステップＳ５において各サンプル画像の重みが更新された後の２回目のステップＳ３では、重みが１のサンプル画像、重みが１よりも大きいサンプル画像、および重みが１よりも小さいサンプル画像が混在しており、重みが１よりも大きいサンプル画像は、正答率の評価において、重みが１のサンプル画像よりも重みが大きい分多くカウントされる。これにより、２回目以降のステップＳ３では、重みが小さいサンプル画像よりも、重みが大きいサンプル画像が正しく識別されることに、より重点が置かれる。
【００４５】
次に、それまでに選択した識別器の組み合わせの正答率、すなわち、それまでに選択した識別器を組み合わせて使用して各サンプル画像が顔の画像であるか否かを識別した結果が、実際に顔の画像であるか否かの答えと一致する率が、所定の閾値を超えたか否かが確かめられる（ステップＳ４）。ここで、組み合わせの正答率の評価に用いられるのは、現在の重みが付けられたサンプル画像群でも、重みが等しくされたサンプル画像群でもよい。所定の閾値を超えた場合は、それまでに選択した識別器を用いれば画像が顔であるか否かを十分に高い確率で識別できるため、学習は終了する。所定の閾値以下である場合は、それまでに選択した識別器と組み合わせて用いるための追加の識別器を選択するために、ステップＳ６へと進む。
【００４６】
ステップＳ６では、直近のステップＳ３で選択された識別器が再び選択されないようにするため、その識別器が除外される。
【００４７】
次に、直近のステップＳ３で選択された識別器では顔であるか否かを正しく識別できなかったサンプル画像の重みが大きくされ、画像が顔であるか否かを正しく識別できたサンプル画像の重みが小さくされる（ステップＳ５）。このように重みを大小させる理由は、次の識別器の選択において、既に選択された識別器では正しく識別できなかった画像を重要視し、それらの画像が顔であるか否かを正しく識別できる識別器が選択されるようにして、識別器の組み合わせの効果を高めるためである。
【００４８】
続いて、ステップＳ３へと戻り、上記したように重み付き正答率を基準にして次に有効な識別器が選択される。
【００４９】
以上のステップＳ３からＳ６を繰り返して、顔が含まれるか否かを識別するのに適した識別器として、特定の画素群を構成する各画素における特徴量Ｃ１の組み合わせに対応する識別器が選択されたところで、ステップＳ４で確認される正答率が閾値を超えたとすると、顔が含まれるか否かの識別に用いる識別器の種類と識別条件とが確定され（ステップＳ７）、これにより参照データＲ１の学習を終了する。
【００５０】
なお、上記の学習手法を採用する場合において、識別器は、特定の画素群を構成する各画素における特徴量Ｃ１の組み合わせを用いて顔の画像と顔でない画像とを識別する基準を提供するものであれば、上記のヒストグラムの形式のものに限られずいかなるものであってもよく、例えば２値データ、閾値または関数等であってもよい。また、同じヒストグラムの形式であっても、図１１の中央に示した２つのヒストグラムの差分値の分布を示すヒストグラム等を用いてもよい。
【００５１】
また、学習の方法としては上記手法に限定されるものではなく、ニューラルネットワーク等他のマシンラーニングの手法を用いることができる。
【００５２】
識別部８は、複数種類の画素群を構成する各画素における特徴量Ｃ１の組み合わせのすべてについて参照データＲ１が学習した識別条件を参照して、各々の画素群を構成する各画素における特徴量Ｃ１の組み合わせについての識別ポイントを求め、すべての識別ポイントを総合して識別対象画像Ｓ０に顔が含まれるか否かを識別する。この際、特徴量Ｃ１である勾配ベクトルＫの方向は４値化され大きさは３値化される。本実施形態では、すべての識別ポイントを加算して、その加算値の正負によって識別を行うものとする。例えば、識別ポイントの総和が正の値である場合には識別対象画像Ｓ０には顔が含まれると識別し、負の値である場合には顔は含まれないと識別する。
【００５３】
ここで、識別対象画像Ｓ０のサイズは３０×３０画素のサンプル画像とは異なり、各種サイズを有するものとなっている。また、顔が含まれる場合、平面上における顔の回転角度が０度であるとは限らない。このため、識別部８は、図１２に示すように、識別対象画像Ｓ０を縦または横のサイズが３０画素となるまで段階的に拡大縮小するとともに平面上で段階的に３６０度回転させつつ（図１２においては縮小する状態を示す）、各段階において拡大縮小された識別対象画像Ｓ０上に３０×３０画素サイズのマスクＭを設定し、マスクＭを拡大縮小された識別対象画像Ｓ０上において１画素ずつ移動させながら、マスク内の画像が顔の画像であるか否かの識別を行うことにより、識別対象画像Ｓ０に顔が含まれるか否かを識別する。
【００５４】
なお、参照データＲ１の生成時に学習したサンプル画像として両目の中心位置の画素数が９，１０，１１画素のものを使用しているため、識別対象画像Ｓ０の拡大縮小時の拡大率は１１／９とすればよい。また、参照データＲ１の生成時に学習したサンプル画像として、顔を平面上で±１５度の範囲において回転させたものを使用しているため、識別対象画像Ｓ０は３０度単位で３６０度回転させればよい。
【００５５】
ここで、特徴量算出部４は、識別対象画像Ｓ０の拡大縮小および回転という変形の各段階において特徴量Ｃ１を算出する。
【００５６】
そして、識別部８は、識別対象画像Ｓ０に顔が含まれるか否かの識別を、識別対象画像Ｓ０の拡大縮小および回転の全段階の識別対象画像Ｓ０について行い、一度でも顔が含まれると識別された場合には、識別対象画像Ｓ０には顔が含まれると識別する。また、顔が含まれると一度も識別されなかった場合には、識別対象画像Ｓ０には顔が含まれないと識別する。
【００５７】
出力部１０は、識別部８が識別対象画像Ｓ０に顔が含まれないと識別した場合に、識別対象画像Ｓ０には顔が含まれない旨の識別結果を出力する。一方、識別部８が識別対象画像Ｓ０に顔が含まれると識別した場合、顔が含まれると識別された段階におけるサイズおよび回転角度の識別対象画像Ｓ０から、顔が含まれると識別されたマスクＭの位置に対応する３０×３０画素の領域を顔として抽出し、抽出された顔の画像を表す顔画像データＳ１を出力する。
【００５８】
次いで、本実施形態において行われる処理について説明する。図１３は本実施形態において行われる処理を示すフローチャートである。まず、画像入力部２が識別対象画像データＳ０の入力を受け付ける（ステップＳ１１）。この際、多数の画像に関する一連の画像データＳ０の入力を連続的に受け付けてもよい。次いで、特徴量算出部４が識別対象画像Ｓ０の拡大縮小および回転の各段階において、識別対象画像Ｓ０の勾配ベクトルＫを特徴量Ｃ１として算出する（ステップＳ１２）。そして、識別部８がメモリ６から参照データＲ１を読み出し（ステップＳ１３）、識別対象画像Ｓ０に顔が含まれるか否かの識別を行う（ステップＳ１４）。
【００５９】
識別により識別対象画像Ｓ０に顔が含まれると識別された場合、出力部１０が識別対象画像Ｓ０から識別された顔を抽出し、抽出された顔の画像を表す顔画像データＳ１を出力し（ステップＳ１５）、処理を終了する。なお、複数の顔を抽出してもよい。一方、識別対象画像Ｓ０に顔が含まれないと識別された場合、出力部１０がその旨を表す識別結果を出力し（ステップＳ１６）、処理を終了する。
【００６０】
このように、本実施形態においては、サンプル画像を段階的に変形させつつ学習する際に、元のサンプル画像を縦方向にのみ縮小したサンプル画像および横方向にのみ拡大したサンプル画像を用いているため、本実施形態による対象物識別装置においては、実質的に顔が上下方向につぶれたサンプル画像についても学習がなされることとなる。ここで、上または下を向いた顔は、正面を向いた顔と比較して縦方向に縮小され、その結果、横方向につぶれたものとなる。このため、識別対象画像Ｓ０に上下方向を向いた顔が含まれている場合であっても、その識別対象画像には顔が含まれると識別することができる。
【００６１】
とくに、子供の顔は大人の顔と比較して、両目の間隔に対する目と口の距離が短い傾向にある。本実施形態において、サンプル画像を縦方向の拡大率を１より小さく、横方向の拡大率を１より大きくするよう変形しているため、子供の顔が識別対象画像Ｓ０に含まれるか否かを識別することができる。
【００６２】
なお、上記実施形態においては、縦方向に縮小したサンプル画像および横方向に拡大したサンプル画像を用いて学習を行っているが、縦方向に縮小したサンプル画像および横方向に拡大したサンプル画像のいずれか一方のみを用いて学習を行ってもよい。また、横方向の拡大率が縦方向の拡大率よりも大きければ、縦方向の拡大率を１より大きくしてもよい。
【００６３】
また、上記実施形態においては、縦方向にのみ縮小するおよび横方向にのみ拡大してサンプル画像を変形しているが、これに代えて、あるいはこれに加えて図１４（ａ）に示すように縦方向に拡大したサンプル画像および／または横方向に縮小したサンプル画像を作成して、これを学習に用いてもよい。このようなサンプル画像を用いることにより、実質的に顔が左右方向につぶれたサンプル画像についても学習がなされることとなる。ここで、左右を向いた顔は、正面を向いた顔と比較して横方向に実質的に縮小され、その結果、左右方向につぶれたものとなる。このため、識別対象画像Ｓ０に左右を向いた顔が含まれている場合であっても、その識別対象画像には顔が含まれると識別することができる。なお、この場合においても、縦方向の拡大率が横方向の拡大率よりも大きければ、横方向の拡大率を１より大きくしてもよい。
【００６４】
また、上記実施形態においては、参照データＲ１は対象物識別装置１内のメモリ６に格納されているものとしたが、特徴量算出部４および識別部８が参照データＲ１にアクセスできる限り、参照データＲ１は、対象物識別装置１とは別個の装置やＣＤ−ＲＯＭ等の差替可能な媒体に記憶されたものであってもよい。
【００６５】
また、上記実施形態においては、特徴量Ｃ１として勾配ベクトルＫの傾きを用いているが、識別対象画像Ｓ０の色相や彩度等の色情報を特徴量Ｃ１として用いてもよい。
【００６６】
また、上記実施形態においては、顔を識別対象物として識別対象画像Ｓ０に顔が含まれるか否かを識別しているが、ほぼ一定形状をなしており、参照データの学習を行う際にサイズを揃えることが可能な自動車や道路標識等を識別の対象物としてもよい。
【００６７】
また、上記実施形態においては、出力部１０が識別対象画像Ｓ０から顔を抽出しているが、識別対象画像Ｓ０における顔の位置を表す顔位置情報（例えば識別された顔を囲む矩形領域の四隅の座標）を識別対象画像データＳ０に付与し、顔位置情報が付与された識別対象画像データＳ０を出力してもよい。ここで、顔位置情報を識別対象画像データＳ０に付与するには、識別対象画像データＳ０のヘッダやタグに顔位置情報を記述したり、識別対象画像データＳ０とファイル名が同一で拡張子が異なる例えばテキストファイルに顔位置情報を記述して、識別対象画像データＳ０とテキストファイルとを一体不可分とする手法を用いることができる。なお、識別対象画像Ｓ０には顔が含まれないと識別された場合には、その識別結果を表す識別情報を識別対象画像データＳ０に付与して出力してもよい。
【００６８】
また、顔を抽出するのに代えて、識別した顔についてストロボを用いた撮影により赤目となっているか否かを検出し、赤目を修正する処理を行うようにしてもよい。
【００６９】
また、上記実施形態においては、本実施形態による対象物識別装置１を単独で用いているが、デジタルカメラ等の撮像装置や、プリンタ等の出力装置に本実施形態による対象物識別装置１を設け、撮像装置が取得した画像データや出力装置から出力する画像データにより表される画像から顔を抽出し、上記赤目修正処理や顔に対して画質を向上させる処理（階調処理、色補正処理、シャープネス処理等）を施すようにしてもよい。
【００７０】
以上、本発明の実施形態に係る装置について説明したが、コンピュータを、上記の画像入力部２、特徴量算出部４、メモリ６、識別部８、および出力部１０に対応する手段として機能させ、識別対象画像Ｓ０に顔が含まれるか否かを識別する処理を行わせるプログラムも、本発明の実施形態の１つである。また、そのようなプログラムを記録したコンピュータ読取可能な記録媒体も、本発明の実施形態の１つである。これらの場合においても、参照データは、プログラム内あるいは同一の記録媒体内に含まれているものであってもよいし、外部の装置や別個の媒体から提供されるものであってもよい。
【図面の簡単な説明】
【００７１】
【図１】本発明の実施形態による対象物識別装置の構成を示す概略ブロック図
【図２】（ａ）は水平方向のエッジ検出フィルタを示す図、（ｂ）は垂直方向のエッジ検出フィルタを示す図
【図３】勾配ベクトルの算出を説明するための図
【図４】（ａ）は人物の顔を示す図、（ｂ）は（ａ）に示す人物の顔の目および口付近の勾配ベクトルを示す図
【図５】（ａ）は正規化前の勾配ベクトルの大きさのヒストグラムを示す図、（ｂ）は正規化後の勾配ベクトルの大きさのヒストグラムを示す図、（ｃ）は５値化した勾配ベクトルの大きさのヒストグラムを示す図、（ｄ）は正規化後の５値化した勾配ベクトルの大きさのヒストグラムを示す図
【図６】顔であることが分かっているサンプル画像の例を示す図（その１）
【図７】顔であることが分かっているサンプル画像の例を示す図（その２）
【図８】顔であることが分かっているサンプル画像の例を示す図（その３）
【図９】顔の変形を説明するための図
【図１０】参照データの学習手法を示すフローチャート
【図１１】識別器の導出方法を示す図
【図１２】識別対象画像の段階的な変形を説明するための図
【図１３】本実施形態において行われる処理を示すフローチャート
【図１４】顔であることが分かっているサンプル画像の例を示す図（その４）
【符号の説明】
【００７２】
１    対象物識別装置
２    画像入力部
４    特徴量算出部
６    メモリ
８    識別部
１０    出力部
【図１】
2005250772.tif 000003
【図２】
2005250772.tif 000004
【図３】
2005250772.tif 000005
【図４】
2005250772.tif 000006
【図５】
2005250772.tif 000007
【図６】
2005250772.tif 000008
【図７】
2005250772.tif 000009
【図８】
2005250772.tif 000010
【図９】
2005250772.tif 000011
【図１０】
2005250772.tif 000012
【図１１】
2005250772.tif 000013
【図１２】
2005250772.tif 000014
【図１３】
2005250772.tif 000015
【図１４】
2005250772.tif 000016