(57)【特許請求の範囲】
【請求項１】
被写体を撮影し、第１の画像を取得する第１の撮影手段と、
前記第１の撮影手段と異なる撮影条件で前記被写体を撮影し、第２の画像を取得する第２の撮影手段と、
前記第１の画像及び前記第２の画像から顔領域を検出する顔検出器と、
前記第２の画像から検出された顔領域に対応する位置にある前記第１の画像の領域が顔領域として検出されていない場合は、前記第１の画像の前記領域を未検出領域として抽出する未検出領域抽出手段と、
前記未検出領域に基づき、前記未検出領域が顔領域として検出されるように前記顔検出器の学習を行う学習手段と、
を備えたことを特徴とする撮像装置。
【請求項２】
前記第１の撮影手段は、ストロボ発光なしの条件で前記被写体を撮影し、
前記第２の撮影手段は、ストロボ発光ありの条件で前記被写体を撮影する、
ことを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記第２の撮影手段は、前記第１の撮影手段と異なる露出値で前記被写体を撮影する、
ことを特徴とする請求項１に記載の撮像装置。
【請求項４】
顔画像を複数格納する学習用画像データベースと、
前記未検出領域の画像を前記学習用画像データベースに追加する画像追加手段と、
を備え、
前記学習手段は、前記未検出領域の画像が追加された前記学習用画像データベースを用いて前記顔検出器の学習を行う、
ことを特徴とする請求項１から３のいずれか一つに記載の撮像装置。
【請求項５】
前記未検出領域に顔が含まれることの確からしさを示す確信度を算出する確信度算出手段を備え、
前記画像追加手段は、前記確信度が所定値よりも大きい場合に前記未検出領域の画像を前記学習用画像データベースに追加する、
ことを特徴とする請求項４に記載の撮像装置。
【請求項６】
前記未検出領域に顔が含まれるか否かを確認する確認手段を備え、
前記画像追加手段は、前記未検出領域に顔が含まれることが確認された場合に前記未検出領域の画像を前記学習用画像データベースに追加する、
ことを特徴とする請求項４に記載の撮像装置。
【請求項７】
前記第１の画像及び前記第２の画像から顔領域を検出する第２の顔検出器と、
前記顔検出器、前記第２の顔検出器のいずれを用いて顔検出を行うかを選択する選択手段と、
を備えたことを特徴とする請求項１から６のいずれか一つに記載の撮像装置。
【請求項８】
被写体を撮影し、第１の画像を取得する第１の撮影処理と、
前記第１の撮影処理と異なる撮影条件で前記被写体を撮影し、第２の画像を取得する第２の撮影処理と、
前記第１の画像及び前記第２の画像から顔領域を検出する顔検出処理と、
前記第２の画像から検出された顔領域に対応する位置の前記第１の画像の領域が顔領域として検出されていない場合は、前記第１の画像の前記領域を未検出領域として抽出する未検出領域抽出処理と、
前記未検出領域に基づき、前記未検出領域が顔領域として検出されるように前記顔検出器の学習を行う学習処理と、
を含むことを特徴とする撮像プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像から顔領域を検出する技術に関する。
【背景技術】
【０００２】
近年、顔検出処理の自動化が進み、顔検出器を搭載したデジタルカメラが増えてきている。デジタルカメラに顔検出器を搭載することにより、被写体となる人物の顔に対してピント、露出値を自動的に最適化する自動焦点制御・自動露出制御が可能になり、人物の顔を綺麗に撮影することができる。
【０００３】
顔検出器としては、複数の識別器をカスケード接続するViolaらが提案する顔検出器（非特許文献１）の他、ニューラルネットワークを用いた顔検出器（特許文献１）などが用いられている。
【非特許文献１】P. Viola and M. Jones. "Rapid Object Detection Using a Boosted Cascade of Simple Features," in Proc. of CVPR, vol.1, ppp.511-518, December, 2001
【特許文献１】特開2006-301779公報
【特許文献２】特開2003-323615公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
デジタルカメラなどの製品には学習済みの顔検出器が製品に搭載される。しかしながら、顔検出器の学習は標準的な顔の画像を用いて所望の検出精度が得られるように行われるため、あらゆる人物の顔について高い検出精度が得られるわけではない。したがって、ユーザーによっては、家族や知人といった被写体となる頻度の高い人物の顔が検出されにくいといった場合も生じうる。
【０００５】
この点に関して特許文献２では、被写体となる頻度が高い人物の特徴をユーザーに入力させることで、当該人物の顔の顔検出精度を向上させている。しかしながら、このような操作をユーザーに求める手法では手間がかかる。
【０００６】
本発明は、このような従来技術の技術的課題を鑑みてなされたもので、ユーザーに負担をかけずに、被写体となる頻度の高い人物の顔の顔検出精度を向上させることを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る撮像装置は、被写体を撮影し、第１の画像を取得する第１の撮影手段と、前記第１の撮影手段と異なる撮影条件で前記被写体を撮影し、第２の画像を取得する第２の撮影手段と、前記第１の画像及び前記第２の画像から顔領域を検出する顔検出器と、前記第２の画像から検出された顔領域に対応する位置にある前記第１の画像の領域が顔領域として検出されていない場合は、前記第１の画像の前記領域を未検出領域として抽出する未検出領域抽出手段と、前記未検出領域に基づき、前記未検出領域が顔領域として検出されるように前記顔検出器の学習を行う学習手段と、を備える。
【発明の効果】
【０００８】
本発明によれば、撮影条件（ストロボ発光の有無、露出値、解像度等）の異なる第１及び第２の画像からそれぞれ顔領域を検出し、第２の画像から検出された顔領域に対応する位置にある第１の画像の領域が顔領域として検出されなかった場合、第１の画像の当該領域が未検出領域として抽出され、当該領域が顔領域として検出されるように顔検出器の学習が行われる。学習が進めば、被写体となる頻度の高い人物の顔であれば第１の画像からでも顔領域として検出できるようになり、被写体となる頻度の高い人物の顔の検出精度が向上する。
【発明を実施するための最良の形態】
【０００９】
以下、添付図面を参照しながら本発明の実施形態について説明する。
【００１０】
図１は、本発明に係る顔検出装置が搭載されたデジタルカメラの概略構成図である。
【００１１】
光学系１はレンズ、絞りで構成され、撮像部２はCCDやCMOSなどの電荷撮像素子で構成される。光学系１を介して撮像部２で撮影された画像（以下、「スルー画像」という。）は、A/Dコンバータ３でリアルタイムにデジタル信号に変換され、制御部４に送られる。
【００１２】
制御部４は、マイクロプロセッサを中心として構成され、一時メモリ４１、顔検出器４２を備える。また、制御部４は、撮像部２で撮影された画像をスルー画像（第１の画像）として一時メモリ４１に逐次記録するとともに、スルー画像をカメラの背面に設けられた液晶モニタ５に表示する。カメラの上面及び背面にはボタン、ダイヤル等からなる操作部９が設けられており、ユーザーは液晶モニタ５に表示されるメニュー画面、撮影された画像のサムネイル画像等を見ながら各種操作を行うことができる。
【００１３】
制御部４に接続される学習用画像データベース６には、複数の画像がそれぞれ顔画像、非顔画像のいずれかであることを示す教師信号と対応付けられた状態で格納されており、学習用画像データベース６は顔検出器４２の学習を行う際に用いられる。顔検出器４２の学習方法については後述する。
【００１４】
制御部４は、顔検出器４２をスルー画像に対して適用し、スルー画像から顔領域を検出する。そして、制御部４は、検出された顔領域の位置（中心位置）、大きさに基づき、検出された顔領域に対してピント、露出値が最適になるように、自動焦点（ＡＦ）・自動露出（ＡＥ）制御部１０に信号を送り、レンズの位置、絞りを調節する。
【００１５】
ユーザーがレリーズボタン７を押すと、スルー画像に基づき逆光判定を行い、逆光と判定した場合はストロボ装置１１を発光させる。そして、制御部４は、撮像部２で撮影された画像を本撮影画像（第２の画像）としてフラッシュメモリ８に記録する。
【００１６】
制御部４は、ストロボ発光が行われた場合は、本撮影画像に対して顔検出器４２を再度適用し、本撮影画像から顔領域を検出する。そして、制御部４は、スルー画像からの顔検出結果と本撮影画像からの顔検出結果とを比較し、本撮影画像から検出された顔領域に対応する位置にあるスルー画像の領域が顔領域として検出されていない場合は、スルー画像の当該領域を未検出領域として抽出し、抽出された未検出領域の画像を顔画像であることを示す教師信号の値１と対応づけて学習用画像データベース６に追加する。
【００１７】
制御部４は、学習用画像データベース６に追加された画像の数が所定数に達したところで、追加された未検出領域の画像が顔領域として検出されるよう、顔検出器４２の学習を行う。
【００１８】
顔検出器４２についてさらに説明すると、顔検出器４２はViolaらが提案する方法を用いた顔検出器であり、Adaboostアルゴリズムによって生成される複数の識別器Hk(k=1〜S）を、図２に示すようにカスケード接続した構造を有している。
【００１９】
画像のある領域が顔領域か否かを判断するには、まず、１段目の識別器H1でその領域が顔領域か否か判定する。顔領域でないと判定した場合は処理を終了し、顔領域と判定した場合は２段目の識別器H2に進む。そして、２段目以降の識別器Hkでも顔領域か否かの判定を行い、顔領域でないと判定した場合は処理を終了し、顔領域と判定した場合のみ次の段へと進む。
【００２０】
したがって、顔検出器４２は、最終段の識別器HSまで顔領域であるとの判定が続いた場合のみその領域が顔領域であると判定するので、高い検出精度が得られる。その一方で、途中の段で顔領域でないと判定した場合は直ちに処理が終了するので、高い処理速度が得られる。
【００２１】
識別器Hkは、それぞれ複数の弱識別器を線形結合することによって構成される。弱識別器は図３に示すような黒矩形と白矩形からなる矩形フィルターと閾値θの組である。弱識別器は、矩形フィルターを顔検出の対象となる領域に重ね合わせ、黒矩形に対応する領域内の輝度値の和と白矩形に対応する領域内の輝度値の和との差が閾値θよりも大きいか判断し、閾値θよりも大きいときは顔であることを示す１、小さいときは非顔であることを示す０を出力する。
【００２２】
顔検出の対象となる領域が識別器Hkに入力されると、識別器Hkは、弱識別器の出力にその弱識別器の信頼度αを掛けた値の総和を算出し、その総和から所定の閾値ThTを減じた値を確信度Conv(k)として算出する。確信度Conv(k)は、その領域に顔が含まれていることの確かさを表す値である。そして、識別器Hkは、確信度Conv(k)が正の場合は当該領域が顔領域と判定して＋１を出力し、負の場合は非顔領域であると判定して−１の値を出力する。
【００２３】
図４は識別器Hkを生成する処理の内容を示したフローチャートである。識別器Hkを構成する弱識別器の選出はAdaboostアルゴリズムにより行われ、識別器Hkが学習用画像データベース６に格納されている画像に対して所望の精度で顔、非顔の判断ができるようになるまで繰り返される。添え字tは識別器Hkの更新回数（弱識別器を識別器Hkに追加した回数）であり、初期値は１である。
【００２４】
これによると、まず、ステップＳ１では、次式（１）により、学習用画像データベース６に格納されている各画像の重みを初期値W1(i)に設定する。iは各画像に割り当てられる通し番号であり、Nは学習用画像データベース６に格納されている画像の総数である。
【００２５】
【数１】
0004772756.tif 000002
ステップＳ２では、様々な弱識別器を全画像に対して適用し、次式（２）により誤り率εtを算出する。
【００２６】
【数２】
0004772756.tif 000003
ステップＳ３では、誤り率εtが最小になる弱識別器を、識別器Hkを構成する弱識別器htとして選出する。そして、選出された弱識別器htを識別器Hkに追加し、識別器Hkを更新する。
【００２７】
ステップＳ４では、選出された弱識別器htの誤り率εtに基づき、次式（３）により選出された弱識別器htの信頼度αtを算出する。
【００２８】
【数３】
0004772756.tif 000004
ステップＳ５では、選出された弱識別器htの信頼度αtに基づき、弱識別器htが判定を誤った画像の重みWt(i)を次式（４）により増加させ、逆に、判定が正しかった画像の重みWt(i)を次式（５）によって減少させる。さらに、更新後の重みWt(i)をそれらの総和で割って重みWt(i)を正規化する。
【００２９】
【数４】
0004772756.tif 000005
【００３０】
【数５】
0004772756.tif 000006
ステップＳ６では、次式（６）により、弱識別器htを全画像に適用し、その結果に対応する信頼度αtを掛けた値の総和を求め、その総和から閾値ThTを引いた値を確信度Conv(k)として算出する。xは画像の輝度情報である。確信度Conv(k)は、０から１の間に正規化されるように、シグモイド関数を施してもよく、最大値で割ってもよい。
【００３１】
【数６】
0004772756.tif 000007
ステップＳ７では、全画像について確信度Conv(k)の符号の正負に応じて顔検出対象となる領域が顔領域か否かを判断する。そして、顔領域、非顔領域の判断が正しく行われた画像の数を学習用画像データベースに格納されている画像の総数Nで割って、検出精度を算出する。
【００３２】
ステップＳ８では、所望の検出精度が得られているか判断する。所望の検出精度が得られている場合はステップＳ９に進む。
【００３３】
ステップＳ９では、次式（７）により識別器Hkを構成する。
【００３４】
【数７】
0004772756.tif 000008
識別器Hkは、画像のある領域の輝度情報が入力されると式（６）により確信度Conv(k)を算出し、確信度Conv(k)の符号が正の場合は当該領域が顔領域と判定して＋１を出力し、負の場合は非顔領域と判定して−１を出力する。
【００３５】
なお、通常、カスケード処理では前段の情報を持ち越さない場合が多いが、識別器Hkにおいて１段目からk段目の確信度Conv(k)の総和を次式（８）により算出し、Convsumの符号によって顔領域、非顔領域を判断するようにしてもよい。このように確信度Conv(k)の総和をとり、以前の段で算出した確信度も反映させたほうが、経験上、高い検出精度を得ることができることがわかっている。
【００３６】
【数８】
0004772756.tif 000009
一方、ステップＳ８で所望の検出精度が得られていないと判断された場合は、更新回数ｔに１が加算され、ステップＳ２に戻って新たな弱識別器の選出及び選出した弱識別器の識別器Hkへの追加が行われる。弱識別器の追加は所望の検出精度が得られるまで繰り返し行われる。
【００３７】
続いて撮影時のデジタルカメラの撮影時の処理内容について説明する。
【００３８】
図５は制御部４の処理内容を示したフローチャートである。この処理は、デジタルカメラが撮影モードにあるときに、制御部４において繰り返し実行される。
【００３９】
これによると、ステップＳ１１では、撮像部２でスルー画像を撮影し、液晶モニタ５に撮影したスルー画像を表示する。
【００４０】
ステップＳ１２では、一時メモリ４１に格納されているスルー画像を消去し、新たに撮影されたスルー画像を一時メモリ４１に保存する。
【００４１】
ステップＳ１３では、一時メモリ４１に保存されているスルー画像に対して顔検出器４２を適用し、スルー画像から顔領域を検出する。顔領域が検出された場合は、液晶モニタ５に当該領域を囲む矩形の枠を表示し、ユーザーに顔領域が検出されたことを示す。
【００４２】
ステップＳ１４では、検出された顔領域の位置、大きさ情報に基づき、ＡＦ・ＡＥ制御部１０を介してレンズ位置、絞りを調節し、検出された顔領域についてピント、露出値を最適化する。
【００４３】
ステップＳ１５ではレリーズボタン７が押されたか判断する。レリーズボタン７が押された場合はステップＳ１６に進む。そうでない場合はステップＳ１１に戻り、スルー画像の撮影及びスルー画像からの顔領域の検出を繰り返す。
【００４４】
ステップＳ１６では逆光判定を行う。逆光か否かは、例えば、スルー画像における中心部と周辺部の輝度差に基づき行い、周辺部よりも中心部の方が暗いと逆光と判定する。逆光と判定した場合はステップＳ１７に進み、逆光でないと判定した場合はステップＳ２５に進む。
【００４５】
ステップＳ１７ではストロボ装置１１を発光させる。
【００４６】
ステップＳ１８では本撮影を行う。このとき、顔検出器４２で検出された顔領域について既にピント、露出値が既に最適化されているので、本撮影では被写体となっている人物の顔が綺麗に撮影される。
【００４７】
ステップＳ１９では撮影された画像を本撮影画像としてフラッシュメモリ８に保存する。
【００４８】
ステップＳ２０ではフラッシュメモリ８に保存されているストロボ発光ありの本撮影画像に対して顔検出器４２を適用し、本撮影画像から顔領域を検出する。
【００４９】
ステップＳ２１では、スルー画像からの顔検出結果と本撮影画像からの顔検出結果とを比較し、本撮影画像から検出された顔領域に対応する位置にあるスルー画像の領域が顔領域として検出されていない場合は、スルー画像の当該領域を未検出領域として抽出する。図６はそのときの様子を示したものである。この例では、被写体となっている３人の顔のうち、画面右下の人物の顔を囲む矩形領域が未検出領域として抽出される。
【００５０】
ステップＳ２２では、抽出された未検出領域の画像が、顔画像であることを示す教師信号の値１と対応付けられ、学習用画像データベース６に格納される。
【００５１】
なお、未検出領域の画像を無条件に学習用画像データベース６に顔画像として格納するようにすると、本撮影画像における顔を含まない領域を顔検出器４２が顔領域であると誤判定した場合に非顔画像が顔画像として学習用画像データベース６に格納されてしまい、その後の顔検出器４２の学習結果に悪影響を及ぼす。
【００５２】
そこで、ステップＳ２２では、抽出された未検出領域に対応する本撮影画像の領域が顔検出器４２によって顔領域と判定されたときの確信度が所定値以上か否かを判断し、所定値以上である場合に抽出された未検出領域の画像を学習用画像データベース６に格納するようにしてもよい。
【００５３】
あるいは、抽出された未検出領域の画像を液晶モニタ５に表示し、ユーザーが当該画像に顔が含まれていることを確認した上で、ユーザーが操作部９を操作し、抽出された未検出領域の画像を顔画像として学習用画像データベース６に追加するようにしてもよい。このとき、未検出領域に顔が含まれていない場合は、当該画像を非顔画像であることを示す教師信号の値０と対応付け、非顔画像として学習用画像データベース６に追加するようにしてもよい。
【００５４】
ステップＳ２３では、追加された画像の個数が所定数に達したか判断し、所定数に達している場合は顔検出器４２の学習を行う。追加された画像の個数が所定数に達した場合に学習を行うのは、学習による演算負荷を考慮したものである。
【００５５】
顔検出器４２の学習は、未検出領域の画像が追加された学習用画像データベース６を用い、図４に示した処理を再度実行して顔検出器４２を作り直すことで行われる。学習は未検出領域が顔領域として検出されるように行われるので、作り直された顔検出器４２では、それまで顔領域として検出されなかった未検出領域の画像が顔領域として検出されるようになる。
【００５６】
ステップＳ２４では撮影を終了するか判断し、撮影を終了する場合は処理を終了し、終了しない場合はステップＳ１１に戻る。
【００５７】
一方、ステップＳ１６で逆光ではないと判定して進んだステップＳ２５では、ストロボ装置１１を発光させることなく本撮影を行い、ステップＳ２６で本撮影画像をフラッシュメモリ８に保存する。このときスルー画像と本撮影画像の撮影条件には差がないため、顔検出器４２の学習は行わない。
【００５８】
以上の構成によれば、スルー画像と本撮影画像からそれぞれ顔領域を検出し、本撮影画像では顔領域として検出されたがスルー画像の対応する領域が顔領域として検出されなかった場合に、スルー画像の当該領域を未検出領域として抽出し、当該領域が顔領域として検出されるように顔検出器４２の学習が行われる。
【００５９】
逆光時のスルー画像からの顔検出は露出アンダーのため失敗することが多いが、ストロボ発光して撮影される本撮影画像からの顔検出は成功しやすい。このため、両画像からの顔検出の結果を比較すれば、スルー画像から検出できなかった領域を未検出領域として抽出することができ、これが顔領域として検出されるように顔検出器４２の学習を行うことで、スルー画像からの顔検出の精度を向上させることができる。
【００６０】
学習は実際に撮影された人物の顔に基づき行われるので、学習が進むにつれ、被写体となる頻度の高い人物の顔の検出精度が向上する。また、顔検出器４２の学習はユーザーが意識しないうちに行われ、ユーザーへの負担も少ない。
【００６１】
なお、上記実施形態では、逆光判定時にストロボ装置１１を発光させるようにしているが、逆光判定を行うことなくストロボ装置１１を強制的に発光させてストロボ発光ありの本撮影画像を撮影し、この画像からの顔検出結果とスルー画像からの顔検出結果を比較するようにしてもよい。あるいは、ストロボ発光ありとなしの場合についてそれぞれ本撮影を行い、両画像からの顔検出結果を比較するようにしてもよい。
【００６２】
また、撮影条件の異なる２つの画像としてストロボ発光なしのスルー画像とストロボ発光ありの本撮影画像を用いているが、そのような撮影条件の異なる２つの画像はこれに限らず、露出値、解像度等、撮影条件が何かしら異なる画像であればよい。
【００６３】
例えば、露出値が異なる複数の画像を撮影するオートブラケット撮影を行うデジタルカメラであれば、露出値の異なる複数の画像の顔検出結果に基づき顔検出器４２の学習を行う。
【００６４】
図７は、オートブラケット撮影によって得られる複数の画像から顔検出器４２の学習を行う場合のフローチャートであり、図５に示したフローチャートに代えて制御部４で実行される。
【００６５】
図５に示したフローチャートとはレリーズボタン７が押された後の処理が異なる。同一の処理には同一の参照符号を付して説明を省略し、異なる部分についてのみ説明すると、レリーズボタン７が押された後のステップＳ３１では、オートブラケットモードでの撮影か否かを判断し、オートブラケットモードであるときにステップＳ３２に進む。
【００６６】
ステップＳ３２では、自動露出によって得られた露出値を基準として露出値をアンダー側及びオーバー側に変更するようＡＦ・ＡＥ制御部１０に指示を出し、撮像部２では露出値の異なる複数の画像を撮影する。
【００６７】
ステップＳ３４では、露出値の異なる複数の画像それぞれに対して顔検出器４２を適用し、複数の画像それぞれから顔領域を検出する。
【００６８】
ステップＳ３５では、複数の画像からの顔検出結果を比較し、ある画像から検出された顔領域に対応する位置にある別の画像の領域が顔領域として検出されていない場合は、別の画像の当該領域を未検出領域として抽出する。
【００６９】
以後の処理は、図５に示したフローチャートと同じであり、ステップＳ２２では、抽出された未検出領域の画像が学習用画像データベース６に格納され、ステップＳ２３では、追加された画像の個数が所定数に達している場合に顔検出器４２の学習を行う。
【００７０】
なお、上記学習により検出精度の向上が期待できる対象は特定の人物の顔に限らない。例えば、犬、猫等のペットの写真をよく撮影する場合でも、ペットの顔をストロボ発光ありのときに顔検出器４２で検出することができれば、撮影されたペットの顔の画像が顔画像として学習用画像データベース６に追加され、顔検出器４２の学習が行われるので、顔検出器４２によるペットの顔の検出精度を向上させることも可能である。
【００７１】
また、ここでは顔検出器４２を構成する識別器Hkを作り直すことで学習しているが、学習の方法はこれに限らない。例えば、非顔と判定された領域が正しく顔領域として検出されるように、誤った検出を行った弱識別器の閾値θや信頼度αの値を変更するようにしてもよい。この方法によれば、顔検出器４２を作り直す学習方法にくらべ、演算負荷を下げることができる。
【００７２】
あるいは、識別器Hkを作り直す場合であっても、顔を含むにも関わらず非顔領域と判定された領域の画像に対する重みについては、他の画像に対する重みとは異なる制限を加える等の改変が可能である。例えば、非顔領域と判定されてしまった顔画像の重みについては、学習の途中で正しい判定を行った場合であっても、一定値よりも小さくならないような制限を加えたり、更新時には、常に、一定値より大きくなるような制限を加えたりする。こうすることで、この画像に対して正しい判定が行えるよう学習が進むことが期待される。
【００７３】
また、学習処理は制御部４の負担が大きいので、デジタルカメラの充電中等に学習させるようにしても良い。デジタルカメラの充電中等のユーザーが撮影を行わない時期に学習を行わせることで、学習による演算負荷が撮影動作に影響を及ぼすのを防止することができる。なお、学習のための演算は、制御部４ではなくデジタルカメラの充電器やクレードル側に設けられたプロセッサで行うようにしてもかまわない。
【００７４】
また、顔検出器をViolaらが提案する方法によらず他の方法によって構成してもかまわない。顔検出器は、例えば、ニューラルネットワークにより構成してもよく、この場合、学習は、顔を含むにも関わらず非顔画像と判定されてしまった画像を顔検出器に与え、正しく顔であるという判定値の＋１が出力されるように、中間層等の重みパラメータを更新すればよい。
【００７５】
また、図８に示すように、デジタルカメラ外部のネットワークに接続するための無線LAN、Bluetooth等の通信装置からなる通信部１２を設け、インターネット等のネットワークを通じて外部のサーバーから最新の学習結果を取り込み、最新の学習結果に基づき顔検出器４２を更新するようにしてもよい。
【００７６】
顔検出器４２の検出精度が向上すれば、スルー画像から検出できなかった顔領域がストロボ発光時の本撮影画像から顔領域として検出できる可能性が高くなり、顔検出器４２の学習がさらに進むので、結果として、被写体となる頻度の高い人物の顔の顔検出器４２による検出精度をさらに上げることができる。
【００７７】
さらに、顔検出器４２の未検出領域を、ネットワークを通じてサービスセンターに伝送するように構成し、サービスセンターのオペレータが顔領域、非顔領域の判定を行うようにしても良い。判定結果はネットワークを通じて教師信号としてデジタルカメラの制御部４に戻され、未検出領域の画像と対応付けられた状態で学習用画像データベース６に追加される。
【００７８】
この方法によれば、ユーザーの操作負担を増やすことなく、顔を含まない領域の画像が顔画像であるとして学習用画像データベース６に追加されるのを防止し、顔検出器の顔検出器４２の学習に悪影響を及ぼすのを防止できる。
【００７９】
また、顔検出器４２の学習が進みすぎると、普段撮影しない人物の顔の検出精度が下がるため、撮影シーンによっては顔検出が正しく行われない可能性がある。これを回避するには図９に示すように、２つの顔検出器４２、４３を用意しておき、一方の顔検出器４２に対してのみ学習を行い、他方の顔検出器（第２の顔検出器）４３に対しては学習を行わないようにする。そして、ユーザーが撮影シーンに応じて学習後の顔検出器４２、未学習の顔検出器４３のいずれかを操作部９を操作することで選択できるようにする。
【００８０】
この構成によれば、未学習の顔検出器４３を選択するようにすれば、未学習の顔検出器４３を用いてスルー画像から顔検出が行われるので、普段撮影しない人物を撮影する場合であっても所定レベル以上の検出精度が得られる。
【００８１】
また、学習用画像データベース６に格納されている画像をメンテナンスする機能をデジタルカメラに持たせるようにしてもよい。例えば、液晶モニタ５に学習用画像データベース６に格納されている画像を教師信号とともにサムネイル表示し、顔を含まない画像の教師信号の値が顔画像を示す１になっている場合は、ユーザーが操作部９を操作することで、当該画像の教師信号の値を０に書き換える（その逆も可）、あるいは、当該画像を学習用画像データベース６から削除できるようにしてもよい。これにより、被写体となる頻度の高い人物の顔の検出精度をさらに上げることが可能である。
【００８２】
以上、本発明の実施形態について説明したが、上記実施形態は本発明の適用例の一つを示したに過ぎず、本発明の技術的範囲を上記実施形態の具体的構成に限定する趣旨ではない。
【図面の簡単な説明】
【００８３】
【図１】本発明に係るデジタルカメラの概略構成図である。
【図２】顔検出器を説明するための図である。
【図３】弱識別器を構成する矩形フィルターの例である。
【図４】識別器を生成する処理の内容を示したフローチャートである。
【図５】撮影時の制御部の処理内容を示したフローチャートである。
【図６】顔検出器による顔検出結果のイメージである。
【図７】撮影時の制御部の別の処理内容を示したフローチャートである。
【図８】本発明の一部変更例である。
【図９】同じく本発明の一部変更例である。
【符号の説明】
【００８４】
４    制御部
６    学習用画像データベース
１１  ストロボ装置
４２  顔検出器
４３  顔検出器（第２の顔検出器）
【図１】
0004772756.tif 000010
【図２】
0004772756.tif 000011
【図３】
0004772756.tif 000012
【図４】
0004772756.tif 000013
【図５】
0004772756.tif 000014
【図６】
0004772756.tif 000015
【図７】
0004772756.tif 000016
【図８】
0004772756.tif 000017
【図９】
0004772756.tif 000018