(57)【特許請求の範囲】
【請求項１】
入力層及び出力層を含む複数の処理層を有し、各前記処理層が複数のユニットを含み、前記入力層に入力された入力画像に含まれる人物の顔の位置を示す出力画像を前記出力層から出力する、ニューラルネットワークと、
人物の顔を含む第１の画像を取得する取得手段と、
前記第１の画像を前記入力層に入力することにより、前記第１の画像を教師画像として用いた学習によって、異なる前記処理層に属する各前記ユニット間の重み付け値を設定する設定手段と、
を備え、
各前記ユニットの出力値Ｙは、パラメータμ（≧１）と自身のユニット値Ｘとを用いて、
【数８】
0005513960.tif 000007
と定義され、
前記設定手段は、パラメータμの値が互いに異なる値に設定された複数の処理系統によって、前記重み付け値の組をそれぞれ求め、得られた複数の組の中から最適な組を選択し、
前記設定手段は、前記複数の組のうち、学習回数の増加に伴って教師信号と出力信号との誤差が低下し、かつ人物の顔の検知率が最も高い組を、前記最適な組として選択する、画像処理装置。
【請求項２】
入力層及び出力層を含む複数の処理層を有し、各前記処理層が複数のユニットを含み、前記入力層に入力された入力画像に含まれる人物の顔の位置を示す出力画像を前記出力層から出力する、ニューラルネットワークと、
人物の顔を含む第１の画像を取得する取得手段と、
前記第１の画像を前記入力層に入力することにより、前記第１の画像を教師画像として用いた学習によって、異なる前記処理層に属する各前記ユニット間の重み付け値を設定する設定手段と、
第２の画像を記憶する記憶手段と、
を備え、
前記設定手段は、学習回数の増加に伴う教師信号と出力信号との誤差の低下の度合いが所定値未満となった場合に、前記記憶手段から読み出した前記第２の画像を前記入力層に入力することにより、前記重み付け値の設定処理を継続する、画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に関し、特に、階層型ニューラルネットワークを用いた画像処理装置に関する。
【背景技術】
【０００２】
画像内に含まれる人物の顔を検知するための、階層型ニューラルネットワークを用いた画像処理装置の開発が進められている。当該画像処理装置においては、ニューラルネットワークの入力層に入力画像が入力され、出力層からは、入力画像に含まれる人物の顔の中心位置を示す出力画像（例えば、顔の中心位置に対応する画素が白く表示され、その他の領域の画素が黒く表示された画像）が出力される。
【０００３】
なお、階層型ニューラルネットワークを用いた顔検知技術については、例えば下記特許文献１，２に開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−３１４４０号公報
【特許文献２】特開２００６−１１９７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
階層型ニューラルネットワークは、それぞれが複数のニューロン（以下「ユニット」と称す）を含む複数の処理層（入力層、中間層、及び出力層）を有する。入力層に含まれる各ユニットと中間層に含まれる各ユニットとの間には、ユニット間の結合強度を示す重み付け値が設定され、同様に、中間層に含まれる各ユニットと出力層に含まれる各ユニットとの間には、ユニット間の結合強度を示す重み付け値が設定される。ニューラルネットワークの学習においては、人物の顔の位置が既知である教師画像を入力層に入力し、その顔の位置が反映された適切な出力画像が出力層から出力されるように、各ユニット間の重み付け値が設定される。
【０００６】
一般的にニューラルネットワークにおいては、より多くの画像を用いて学習を行うことによって、各ユニット間の重み付け値がより良く設定され、顔検知の精度が向上する。しかしながら、多くの画像を収集することは現実的に困難を伴うことがあり、準備できた画像の数が少ない場合には、各ユニット間の重み付け値の設定が不十分となって、顔検知の精度が低下する。
【０００７】
本発明はかかる事情に鑑みて成されたものであり、準備できた画像の数が少ない場合であっても、顔検知の精度を向上することが可能な画像処理装置を得ることを目的とするものである。
【課題を解決するための手段】
【００２０】
本発明の第１の態様に係る画像処理装置は、入力層及び出力層を含む複数の処理層を有し、各前記処理層が複数のユニットを含み、前記入力層に入力された入力画像に含まれる人物の顔の位置を示す出力画像を前記出力層から出力する、ニューラルネットワークと、人物の顔を含む第１の画像を取得する取得手段と、前記第１の画像を前記入力層に入力することにより、前記第１の画像を教師画像として用いた学習によって、異なる前記処理層に属する各前記ユニット間の重み付け値を設定する設定手段と、を備え、各前記ユニットの出力値Ｙは、パラメータμ（≧１）と自身のユニット値Ｘとを用いて、
【数２】
0005513960.tif 000002
と定義され、前記設定手段は、パラメータμの値が互いに異なる値に設定された複数の処理系統によって、前記重み付け値の組をそれぞれ求め、得られた複数の組の中から最適な組を選択し、前記設定手段は、前記複数の組のうち、学習回数の増加に伴って教師信号と出力信号との誤差が低下し、かつ人物の顔の検知率が最も高い組を、前記最適な組として選択することを特徴とするものである。

【００２１】
第１の態様に係る画像処理装置によれば、設定手段は、パラメータμの値が互いに異なる値に設定された複数の処理系統によって、各ユニット間の重み付け値の組をそれぞれ求める。そして、得られた複数の組の中から最適な組を選択する。従って、パラメータμの値が固定された一つの処理系統のみによって重み付け値を設定する場合と比較すると、より良い重み付け値を設定することが可能となる。
また、第１の態様に係る画像処理装置によれば、設定手段は、複数の組のうち、学習回数の増加に伴って教師信号と出力信号との誤差が低下し、かつ人物の顔の検知率が最も高い組を、最適な組として選択する。これにより、顔検知の精度を向上することが可能となる。

【００２２】
本発明の第２の態様に係る画像処理装置は、入力層及び出力層を含む複数の処理層を有し、各前記処理層が複数のユニットを含み、前記入力層に入力された入力画像に含まれる人物の顔の位置を示す出力画像を前記出力層から出力する、ニューラルネットワークと、人物の顔を含む第１の画像を取得する取得手段と、前記第１の画像を前記入力層に入力することにより、前記第１の画像を教師画像として用いた学習によって、異なる前記処理層に属する各前記ユニット間の重み付け値を設定する設定手段と、第２の画像を記憶する記憶手段と、を備え、前記設定手段は、学習回数の増加に伴う教師信号と出力信号との誤差の低下の度合いが所定値未満となった場合に、前記記憶手段から読み出した前記第２の画像を前記入力層に入力することにより、前記重み付け値の設定処理を継続することを特徴とするものである。
【００２３】
第２の態様に係る画像処理装置によれば、設定手段は、学習回数の増加に伴う教師信号と出力信号との誤差の低下の度合いが所定値未満となった場合に、記憶手段から読み出した第２の画像を入力層に入力することにより、重み付け値の設定処理を継続する。このように、誤差特性が収束してきた場合に新たな教師画像を自動で追加することによって、学習をさらに進めることができ、その結果、さらに適切な重み付け値を設定することが可能となる。
【発明の効果】
【００２４】
本発明によれば、準備できた画像の数が少ない場合であっても、顔検知の精度を向上することが可能な画像処理装置を得ることができる。
【図面の簡単な説明】
【００２５】
【図１】本発明の実施の形態に係る画像処理装置の構成を示すブロック図である。
【図２】図１に示した加工部を示す図である。
【図３】図１に示したニューラルネットワークの構成を示す図である。
【図４】入力層に入力される画像と、出力層から出力される画像とを示す図である。
【図５】ニューラルネットワークにおける複数の入力ユニットと一つの中間ユニットとを抜き出して示す図である。
【図６】図５に示したユニット値と出力値との関係を示す図である。
【図７】ニューラルネットワークの構成を示す図である。
【図８】学習回数に応じた誤差の変化状況の一例を示す図である。
【図９】学習回数に応じた誤差の変化状況の一例を示す図である。
【発明を実施するための形態】
【００２６】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。
【００２７】
図１は、本発明の実施の形態に係る画像処理装置１の構成を示すブロック図である。図１の接続関係で示すように、画像処理装置１は、ニューラルネットワーク２、記憶部３、取得部４、加工部５、設定部６、及び検知率算出部７を備えて構成されている。
【００２８】
ニューラルネットワーク２は、入力画像Ｓ６に人物の顔が含まれている場合に、その顔の位置を示す出力画像Ｓ７を出力する。記憶部３には、複数の画像が記憶されている。記憶部３には、人物の顔を含む画像のほか、人物の顔を含まない画像も記憶されている。取得部４は、記憶部３に記憶されている画像を画像データＳ１として読み出し、読み出した画像を画像データＳ２として加工部５に入力する。加工部５は、取得部４から入力された画像に対して所定の加工処理（詳細は後述する）を施すことにより、複数の画像を画像データＳ３として設定部６に入力する。ここで、加工部５は、取得部４から入力された画像自身も設定部６に入力してもよい。設定部６は、加工部５から入力された画像に基づいて、ニューラルネットワーク２の学習のために用いる教師画像を、画像データＳ５としてニューラルネットワーク２に入力する。検知率算出部７は、複数の入力画像Ｓ６をニューラルネットワーク２に入力し、入力画像Ｓ６の総数に対する、人物の顔の位置を正しく検知できた出力画像Ｓ７の数の割合（検知率）を求め、その検知率に関するデータＳ４を設定部６に入力する。
【００２９】
図２は、図１に示した加工部５を示す図である。加工部５には、図１に示した取得部４から画像データＳ２が入力される。加工部５は、人物の顔が含まれる画像データＳ２に対して様々な加工処理（ランダマイズ）を施すことにより、人物の顔が含まれる複数の画像データＳ３１，Ｓ３２，Ｓ３３，・・・，Ｓ３Ｍ（図１に示した画像データＳ３に相当する）を出力する。ランダマイズには、例えば、画像を拡大又は縮小する処理（アスペクト比の変更や解像度の変更を含む）、画像を任意の角度で回転させる処理、画像内における顔位置を変更する処理（トリミング領域の位置や大きさの変更を含む）、画像においてレンズ歪みを恣意的に付与する処理、画像においてノイズを恣意的に付与する処理、及び、画像において光源を恣意的に変更する処理（照度の変更や色温度の変更を含む）が含まれる。これらの各処理は、周知の画像処理技術によって実現することが可能である。
【００３０】
図３は、図１に示したニューラルネットワーク２の構成を示す図である。ニューラルネットワーク２は、複数の処理層を有する階層型のニューラルネットワークであり、複数の入力ユニットを含む入力層１０と、複数の中間ユニットを含む中間層１１と、複数の出力ユニットを含む出力層１２とを備えている。各入力ユニットには、設定部６から入力された画像データＳ５の各画素値（例えば輝度値）が入力される。各出力ユニットは、画像データＳ７の各画素値（例えば白又は黒）を出力する。
【００３１】
図４は、入力層１０に入力される画像２０と、出力層１２から出力される画像２１とを示す図である。画像２０には人物の顔が含まれている。画像２１は、画像２０に含まれる人物の顔の中心位置を示している。図４に示した画像２１の例では、顔の中心位置に対応する画素が白く表示され、その他の領域の画素が黒く表示されている。
【００３２】
図５は、ニューラルネットワーク２における複数の入力ユニット４０１，４０２，・・・，４０Ｎと一つの中間ユニット５０とを抜き出して示す図である。中間ユニット５０には、各入力ユニット４０１，４０２，・・・，４０Ｎからの出力値Ｙ１，Ｙ２，・・・，ＹＮが入力される。また、中間ユニット５０と各入力ユニット４０１，４０２，・・・，４０Ｎとの間には、重み付け値Ｗ１，Ｗ２，・・・，ＷＮがそれぞれ設定されている。
【００３３】
中間ユニット５０は、
【数３】
0005513960.tif 000003
なる演算を実行することにより、自身のユニット値Ｘを求める。ここで、θは、各中間ユニット５０に設定されたオフセット値である。
【００３４】
また、中間ユニット５０は、
【数４】
0005513960.tif 000004
なる演算を実行することにより、自身の出力値Ｙを求めて出力する。ここで、μは、ニューラルネットワーク２に設定されたパラメータである。なお、図５では複数の入力ユニットと一つの中間ユニットとの関係を示したが、複数の中間ユニットと一つの出力ユニットとの関係もこれと同様である。
【００３５】
画像処理装置１では、教師画像内に含まれる人物の顔の位置は既知であるため、その顔の位置を教師信号として与えることにより、各教師画像から適切な出力画像（図４参照）が得られるように、ニューラルネットワーク２の学習（つまり各ユニット間の重み付け値Ｗの設定）が行われる。
【００３６】
つまり、各出力ユニットに関して、教師信号と出力信号との誤差Ｅ（二乗誤差）を、
【数５】
0005513960.tif 000005
なる演算によって求める。ここで、Ｔは教師信号の値であり、Ｙは出力信号の値である。そして、誤差Ｅを用いて、重み付け値Ｗの修正量を、
【数６】
0005513960.tif 000006
なる演算によって求める。ここで、αは修正係数である。
【００３７】
図６は、図５に示したユニット値Ｘと出力値Ｙとの関係を示す図である。パラメータμ（≧１）の値の大小に応じて、ユニット値Ｘに対する出力値Ｙの反応の度合いが異なる。パラメータμの値が大きいほど、ユニット値Ｘが「０」の付近における曲線の傾斜は緩くなる。つまり、曲線の傾斜は、特性Ｌ１＞特性Ｌ２＞特性Ｌ３である。ニューラルネットワークにおいては、パラメータμの値を大きく設定するほど、学習に要する時間は増加するものの、汎化能力を高めることができる。
【００３８】
そこで、本実施の形態に係る画像処理装置１では、パラメータμの値が異なる複数の処理系統をニューラルネットワーク２に設け、それぞれの処理系統において並列に学習を行う。図７は、ニューラルネットワーク２の構成を示す図である。この例において、ニューラルネットワーク２は、パラメータμの値が「３」に設定された処理部３０Ａと、パラメータμの値が「９」に設定された処理部３０Ｂと、パラメータμの値が「１１」に設定された処理部３０Ｃとを備える。処理部３０Ａ〜３０Ｃは、図３に示した入力層１０、中間層１１、及び出力層１２をそれぞれ有する。処理部３０Ａ〜３０Ｃは、設定部６から画像データＳ５をそれぞれ入力し、画像データＳ７Ａ〜Ｓ７Ｃをそれぞれ出力する。そして、図１に示した設定部６は、処理部３０Ａ〜３０Ｃによって重み付け値Ｗの組をそれぞれ求め、得られた複数の組の中から最適な組を選択する。
【００３９】
一例として設定部６は、得られた複数の組のうち、学習回数の増加に伴って誤差Ｅが低下し、かつ人物の顔の検知率が最も高い組を、最適な組として選択する。
【００４０】
図８は、学習回数に応じた誤差Ｅの変化状況の一例を示す図である。図８に示した例では、パラメータμの値が「９」，「１１」に設定された処理部３０Ｂ，３０Ｃに対応する誤差特性Ｋ２，Ｋ３に関しては、学習回数Ｐの増加に伴って誤差Ｅが低下している。一方、パラメータμの値が「３」に設定された処理部３０Ａに対応する誤差特性Ｋ１に関しては、学習回数Ｐが増加しても誤差Ｅは低下していない。従って、設定部６は、処理部３０Ａによって求めた重み付け値Ｗの組を、選択の候補から除外する。なお、実際には誤差特性Ｋ１〜Ｋ３は小刻みに振動しているが、図面の簡略化のため、図８ではその振動の図示を省略している。
【００４１】
次に、図１に示した検知率算出部７は、学習回数Ｐが所定値（例えば１０００回）に達した時点で、複数の入力画像Ｓ６（望ましくは既に使用した教師画像とは異なる画像）を、処理部３０Ｂ，３０Ｃにそれぞれ入力する。そして、各処理部３０Ｂ，３０Ｃに関して、入力画像Ｓ６の総数に対する、人物の顔の位置を正しく検知できた出力画像Ｓ７の数の割合（検知率）を求める。そして、検知率算出部７は、各処理部３０Ｂ，３０Ｃの検知率に関するデータＳ４を設定部６に入力する。
【００４２】
設定部６は、処理部３０Ｂ，３０Ｃのうち検知率が高いほうの重み付け値Ｗの組を、上記最適な組として選択し、ニューラルネットワーク２に設定する。なお、この段階で選択の候補が三つ以上残っている場合には、三つ以上の組のうち検知率が最も高い組を上記最適な組として選択する。
【００４３】
また、本実施の形態に係る画像処理装置１は、ニューラルネットワーク２（又は図７に示した処理部３０Ａ〜３０Ｃ）の学習が進んで誤差特性が収束してきた場合に、新たな教師画像を自動的に追加することにより、ニューラルネットワーク２の学習をさらに継続させる機能を有する。
【００４４】
図９は、学習回数に応じた誤差Ｅの変化状況の一例を示す図である。図１，９を参照して、学習が進んで誤差特性Ｋが収束してきた場合（つまり、学習回数Ｐの増加に伴う誤差Ｅの低下の度合いΔＥが所定値未満となった場合）には、その旨の情報が取得部４に入力されることにより、取得部４は、既に教師画像として使用した画像とは異なる新たな画像を記憶部３から読み出す。ここで、取得部４が記憶部３から読み出す画像は、人物の顔を含まない画像であることが望ましい。これにより、顔でないパターンを顔でないと認識させる抑制学習を行うことができる。抑制学習を行う場合の教師信号は、全ての出力ユニットに関して例えば「０」となる。また、上述した検知率の算出のために使用した複数の入力画像Ｓ６のうち、顔でないのに顔であると誤検知されたパターンを含む画像を記憶部３に記憶しておき、その画像を抑制学習に使用してもよい。さらに、人物の顔に類似するが顔でないパターンを含む画像を記憶部３に記憶しておき、その画像を抑制学習に使用してもよい。
【００４５】
取得部４は、記憶部３から読み出した画像を新たな教師画像としてニューラルネットワーク２に入力し、ニューラルネットワーク２は、取得部４から入力された新たな教師画像に基づいて学習を継続する。
【００４６】
図９を参照して、学習回数ＰがＰ１〜Ｐ３の各時点で、新たな教示画像が追加されている。新たな教師画像が追加された直後において誤差Ｅは上昇するが、学習が進むにつれて誤差Ｅは徐々に低下し、やがて追加前の値よりも小さくなる。誤差特性Ｋが収束する度に新たな教師画像を追加して学習を継続させることにより、全体として誤差Ｅは徐々に低下する。
【００４７】
このように本実施の形態に係る画像処理装置１によれば、加工部５は、取得部４から入力された画像（画像データＳ２）に対して所定の加工処理を施すことにより、人物の顔を含む複数の画像（画像データＳ３）を生成する。そして、設定部６は、加工部５が生成した複数の画像（画像データＳ３）をニューラルネットワーク２の入力層１０に入力することにより、当該複数の画像を教師画像として用いた学習によって、各ユニット間の重み付け値Ｗを設定する。従って、準備できた画像（つまり記憶部３に記憶された画像）の数が少ない場合であっても、その画像を元に生成した複数の画像を教師画像として用いて学習を行うことができる。従って、各ユニット間の重み付け値Ｗを適切に設定することができ、その結果、顔検知の精度を向上することが可能となる。
【００４８】
また、本実施の形態に係る画像処理装置１によれば、取得部４から入力された画像（画像データＳ２）に対して加工部５が行う加工処理として、画像の拡大又は縮小、画像の回転、画像内における顔位置の変更、レンズ歪みの付与、ノイズの付与、及び光源変更等の加工処理を行うことにより、入力された画像（画像データＳ２）を元に複数の画像（画像データＳ３）を生成することが可能となる。
【００４９】
また、本実施の形態に係る画像処理装置１によれば、設定部６は、パラメータμの値が互いに異なる値に設定された複数の処理部３０Ａ〜３０Ｃ（図７参照）によって、各ユニット間の重み付け値Ｗの組をそれぞれ求める。そして、得られた複数の組の中から最適な組を選択する。従って、パラメータμの値が固定された一つの処理系統のみによって重み付け値Ｗを設定する場合と比較すると、より良い重み付け値Ｗを設定することが可能となる。
【００５０】
また、本実施の形態に係る画像処理装置１によれば、設定部６は、複数の組のうち、学習回数Ｐの増加に伴って教師信号と出力信号との誤差Ｅが低下し、かつ人物の顔の検知率が最も高い組を、最適な組として選択する。これにより、顔検知の精度を向上することが可能となる。
【００５１】
また、本実施の形態に係る画像処理装置１によれば、設定部６は、学習回数Ｐの増加に伴う教師信号と出力信号との誤差Ｅの低下の度合いが所定値未満となった場合に、記憶部３から読み出した新たな画像をニューラルネットワーク２の入力層１０に入力することにより、重み付け値Ｗの設定処理を継続する。このように、誤差特性Ｋが収束してきた場合に新たな教師画像を自動で追加することによって、学習をさらに進めることができ、その結果、さらに適切な重み付け値Ｗを設定することが可能となる。
【００５２】
また、本実施の形態に係る画像処理装置１によれば、誤差特性Ｋが収束してきた場合に新たに追加される画像は、人物の顔を含まない画像である。人物の顔を含まない画像を用いることにより、抑制学習を行うことができる。また、人物の顔を含まない画像に関しては、画像内における人物の顔の位置を教師信号として教示する処理が不要であるため、新たな画像の追加に伴う処理の負荷を軽減することが可能となる。
【符号の説明】
【００５３】
１  画像処理装置
２  ニューラルネットワーク
３  記憶部
４  取得部
５  加工部
６  設定部
７  検知率算出部
１０  入力層
１１  中間層
１２  出力層
３０Ａ〜３０Ｃ  処理部
【図１】
0005513960.tif 000008
【図２】
0005513960.tif 000009
【図３】
0005513960.tif 000010
【図４】
0005513960.tif 000011
【図５】
0005513960.tif 000012
【図６】
0005513960.tif 000013
【図７】
0005513960.tif 000014
【図８】
0005513960.tif 000015
【図９】
0005513960.tif 000016