(57)【要約】【課題】  計算量（処理時間）を大幅に増加させることなく、検出処理の精度を高める。【解決手段】  画像１の全領域を探索することにより赤目と推定される赤目候補を検出し（構成要素候補検出処理２）、検出された赤目候補の周辺を探索することにより、その赤目候補を含む顔を検出し（被写体検出処理３）、検出された顔に含まれる赤目候補の近傍に探索範囲を限定して、再度赤目を探索する。この際、検出された顔の向きや大きさから推定される向きおよび大きさの赤目のみが検出されるように判定条件を厳しくし、その厳しい判定条件の下でも赤目と判定された赤目候補のみを真の赤目とみなして位置を確定し（構成要素確定処理４）、その位置を検出結果５として出力する。【選択図】          図１
2006285944.tif 000002
【特許請求の範囲】
【請求項１】
所定の被写体を含む画像の中から、前記被写体を構成する所定の構成要素を検出する構成要素検出装置であって、
前記画像が備える特徴の中から前記構成要素が備える特徴を識別することによって前記構成要素と推定し得る構成要素候補を検出する構成要素候補検出部と、
前記構成要素候補検出部により検出された構成要素候補の周辺の画像が備える特徴の中から、前記所定の被写体が備える特徴を識別することによって、前記構成要素候補を含む被写体を検出する被写体検出部と、
前記被写体検出部により検出された被写体に含まれる前記構成要素候補の近傍の画像が備える特徴の中から、前記構成要素が備える特徴を前記構成要素候補検出部よりも高い精度で識別し、該特徴を備えた構成要素候補を構成要素として確定する構成要素確定部とを備えたことを特徴とする構成要素検出装置。
【請求項２】
前記被写体検出部は、検出特性が異なる複数種類の被写体検出処理を実行することができ、第１の被写体検出処理により被写体が検出されなかった場合に、該第１の被写体検出処理と検出特性が異なる第２の被写体検出処理を実行することを特徴とする請求項１記載の構成要素検出装置。
【請求項３】
前記構成要素確定部が、前記被写体検出部により検出された被写体の情報を利用して前記識別を行うことを特徴とする請求項１または２記載の構成要素検出装置。
【請求項４】
前記構成要素確定部が、前記被写体検出部により検出された被写体の向きと同じ向きを有する構成要素が備える特徴を備えた構成要素候補を構成要素として確定することを特徴とする請求項３記載の構成要素検出装置。
【請求項５】
前記構成要素確定部が、前記被写体検出部により検出された被写体の大きさから推定される大きさの構成要素が備える特徴を備えた構成要素候補を構成要素として確定することを特徴とする請求項３または４記載の構成要素検出装置。
【請求項６】
前記構成要素確定部が、前記構成要素候補検出部による第１の構成要素候補検出処理で検出された構成要素候補のうち前記構成要素確定部により構成要素として確定された構成要素候補の数を、前記被写体検出部により検出された被写体が備え得る前記構成要素の最大数と比較し、構成要素として確定された構成要素候補の数が前記最大数に満たない場合に、前記第１の構成要素候補検出処理よりも検出率が高い第２の構成要素候補検出処理を実行することを特徴とする請求項３から５のいずれか１項記載の構成要素検出装置。
【請求項７】
前記構成要素確定部が、検出された被写体に含まれる構成要素候補の近傍の画像が備える特徴の中から前記構成要素が備える特徴を識別する過程で得られた情報に基づいて、前記構成要素の位置を確定することを特徴とする請求項１から６のいずれか１項記載の構成要素検出装置。
【請求項８】
前記構成要素候補検出部は、画像上に判定対象範囲を設定する対象範囲設定手段と、該対象範囲設定手段により設定された判定対象範囲内の画像が前記構成要素を表しているか否かを、該判定対象範囲内の画像を構成する画素の値から算出し得る複数種類の特徴量に基づいて判定する判定手段を備え、
前記判定手段が、
前記複数種類の特徴量の算出式を、Ｋ番目（１≦Ｋ＜Ｎ, Ｎ＞１）のグループに含まれる特徴量の算出に要する計算量がＫ＋１番目の特徴量の算出に要する計算量以下となるように、Ｎ個のグループに分類して記憶し、
Ｋ番目のグループに含まれる特徴量に基づく判定で、前記判定対象範囲内の画像が前記構成要素を表していないと判定した場合には該判定対象範囲内の画像は前記構成要素を表していないという判定結果を出力し、
前記判定対象範囲内の画像が前記構成要素を表していると判定した場合には該判定対象範囲を対象としてＫ＋１番目のグループに含まれる特徴量に基づく判定を行い、
Ｎ番目のグループに含まれる特徴量に基づく判定において該判定対象範囲内の画像が前記構成要素を表していると判定した場合に、該判定対象範囲内の画像が前記構成要素を表しているという判定結果を出力することを特徴とする請求項１から７のいずれか１項記載の構成要素検出装置。
【請求項９】
前記判定手段が、前記対象範囲設定手段により設定された複数の判定対象範囲を対象としてＫ番目のグループに含まれる特徴量に基づく判定を行い、該判定において前記構成要素を表していると判定された判定対象範囲を対象としてＫ＋１番目のグループに含まれる特徴量に基づく判定を行うことを特徴とする請求項８記載の構成要素検出装置。
【請求項１０】
前記対象範囲設定手段が、前記判定手段により行われる判定のうち少なくとも一部の判定が行われるときに、判定対象範囲の位置と該判定対象範囲に最も近い判定対象範囲の位置とが２画素以上ずれるように判定対象範囲を設定することを特徴とする請求項８または９記載の構成要素検出装置。
【請求項１１】
前記判定手段が、前記対象範囲設定手段が所定の解像度で表された画像上に設定した判定対象範囲を対象としてＫ番目のグループに含まれる特徴量に基づく判定を行い、前記対象範囲設定手段が前記解像度よりも高い解像度で表された画像上に設定した判定対象範囲を対象としてＫ＋１番目のグループに含まれる特徴量に基づく判定を行うことを特徴とする請求項８または９記載の構成要素検出装置。
【請求項１２】
前記判定手段が、前記対象範囲設定手段により設定された複数の判定対象範囲を対象としてＫ番目のグループに含まれる特徴量に基づく判定を行い、該判定において構成要素を表していると判定された判定対象範囲および該判定対象範囲の周辺に該判定対象範囲と少なくとも一部が重なるように設定された複数の判定対象範囲を対象として、Ｋ＋１番目のグループに含まれる特徴量に基づく判定を行うことを特徴とする請求項１０または１１記載の構成要素検出装置。
【請求項１３】
Ｋ＋１番目のグループに含まれる特徴量の中に、Ｋ番目のグループに含まれる特徴量が少なくとも１つ含まれていることを特徴とする請求項１２記載の構成要素検出装置。
【請求項１４】
前記被写体検出部が、画像上に判定対象範囲を設定する対象範囲設定手段と、該対象範囲設定手段により設定された判定対象範囲内の画像が前記被写体を表しているか否かを、該判定対象範囲内の画像を構成する画素の値から算出し得る複数種類の特徴量に基づいて判定する判定手段を備え、
前記判定手段が、
前記複数種類の特徴量の算出式を、Ｋ番目（１≦Ｋ＜Ｎ, Ｎ＞１）のグループに含まれる特徴量の算出に要する計算量がＫ＋１番目の特徴量の算出に要する計算量以下となるように、Ｎ個のグループに分類して記憶し、
Ｋ番目のグループに含まれる特徴量に基づく判定で、前記判定対象範囲内の画像が前記被写体を表していないと判定した場合には該判定対象範囲内の画像は前記被写体を表していないという判定結果を出力し、
前記判定対象範囲内の画像が前記被写体を表していると判定した場合には該判定対象範囲を対象としてＫ＋１番目のグループに含まれる特徴量に基づく判定を行い、
Ｎ番目のグループに含まれる特徴量に基づく判定において該判定対象範囲内の画像が前記被写体を表していると判定した場合に、該判定対象範囲内の画像が前記被写体を表しているという判定結果を出力することを特徴とする請求項１から１３のいずれか１項記載の構成要素検出装置。
【請求項１５】
前記判定手段が、前記対象範囲設定手段により設定された複数の判定対象範囲を対象としてＫ番目のグループに含まれる特徴量に基づく判定を行い、該判定において前記被写体を表していると判定された判定対象範囲を対象としてＫ＋１番目のグループに含まれる特徴量に基づく判定を行うことを特徴とする請求項１４記載の構成要素検出装置。
【請求項１６】
前記対象範囲設定手段が、前記判定手段により行われる判定のうち少なくとも一部の判定が行われるときに、判定対象範囲の位置と該判定対象範囲に最も近い判定対象範囲の位置とが２画素以上ずれるように判定対象範囲を設定することを特徴とする請求項１４または１５記載の構成要素検出装置。
【請求項１７】
前記判定手段が、前記対象範囲設定手段が所定の解像度で表された画像上に設定した判定対象範囲を対象としてＫ番目のグループに含まれる特徴量に基づく判定を行い、前記対象範囲設定手段が前記解像度よりも高い解像度で表された画像上に設定した判定対象範囲を対象としてＫ＋１番目のグループに含まれる特徴量に基づく判定を行うことを特徴とする請求項１４または１５記載の構成要素検出装置。
【請求項１８】
前記判定手段が、前記対象範囲設定手段により設定された複数の判定対象範囲を対象としてＫ番目のグループに含まれる特徴量に基づく判定を行い、該判定において前記被写体を表していると判定された判定対象範囲および該判定対象範囲の周辺に該判定対象範囲と少なくとも一部が重なるように設定された複数の判定対象範囲を対象として、Ｋ＋１番目のグループに含まれる特徴量に基づく判定を行うことを特徴とする請求項１６または１７記載の構成要素検出装置。
【請求項１９】
Ｋ＋１番目のグループに含まれる特徴量の中に、Ｋ番目のグループに含まれる特徴量が少なくとも１つ含まれていることを特徴とする請求項１８記載の構成要素検出装置。
【請求項２０】
前記構成要素が生物の目であることを特徴とする請求項１から１９のいずれか１項記載の構成要素検出装置。
【請求項２１】
前記目の色が異常色であることを特徴とする請求項２０記載の構成要素検出装置。
【請求項２２】
前記被写体が生物の顔であることを特徴とする請求項２０または２１記載の構成要素検出装置。
【請求項２３】
画像上に判定対象範囲を設定する対象範囲設定手段と、該対象範囲設定手段により設定された判定対象範囲内の画像が所定の被検出物を表しているか否かを、該判定対象範囲内の画像を構成する画素の値から算出し得る複数種類の特徴量に基づいて判定する判定手段を備えた検出装置において、
前記判定手段が、
前記複数種類の特徴量の算出式を、Ｋ番目（１≦Ｋ＜Ｎ, Ｎ＞１）のグループに含まれる特徴量の算出に要する計算量がＫ＋１番目の特徴量の算出に要する計算量以下となるように、Ｎ個のグループに分類して記憶し、
Ｋ番目のグループに含まれる特徴量に基づく判定で、前記判定対象範囲内の画像が前記被検出物を表していないと判定した場合には該判定対象範囲内の画像は前記被検出物を表していないという判定結果を出力し、
前記判定対象範囲内の画像が前記被検出物を表していると判定した場合には該判定対象範囲を対象としてＫ＋１番目のグループに含まれる特徴量に基づく判定を行い、
Ｎ番目のグループに含まれる特徴量に基づく判定において該判定対象範囲内の画像が前記被検出物を表していると判定した場合に、該判定対象範囲内の画像が前記被検出物を表しているという判定結果を出力することを特徴とする検出装置。
【請求項２４】
所定の被写体を含む画像の中から、前記被写体を構成する所定の構成要素を検出する構成要素検出方法において、
前記画像が備える特徴の中から前記構成要素が備える特徴を識別することによって、前記構成要素と推定し得る構成要素候補を検出する第１の構成要素候補検出処理と、
検出された構成要素候補の周辺の画像が備える特徴の中から、前記所定の被写体が備える特徴を識別することによって、前記構成要素候補を含む被写体を検出する第１の被写体検出処理と、
検出された被写体に含まれる構成要素候補の近傍の画像が備える特徴の中から、前記構成要素が備える特徴を前記構成要素候補検出処理において行う識別よりも高い精度で識別し、該特徴を備えた構成要素候補を構成要素として確定する構成要素確定処理とを実行することを特徴とする構成要素検出方法。
【請求項２５】
前記第１の被写体検出処理により被写体が検出されなかった場合に、該第１の被写体検出処理と検出特性が異なる第２の被写体検出処理を実行することを特徴とする請求項２４記載の構成要素検出方法。
【請求項２６】
前記構成要素確定処理が、前記被写体検出処理において検出された被写体の情報を利用して前記識別を行う処理であることを特徴とする請求項２４または２５項記載の構成要素検出方法。
【請求項２７】
前記構成要素確定処理が、検出された被写体に含まれる構成要素候補の近傍の画像が備える特徴の中から、検出された被写体の向きと同じ向きを有する構成要素が備える特徴を備えた構成要素候補を構成要素として確定する処理であることを特徴とする請求項２６記載の構成要素検出方法。
【請求項２８】
前記構成要素確定処理が、検出された被写体に含まれる構成要素候補の近傍の画像が備える特徴の中から、検出された被写体の大きさから推定される大きさの構成要素が備える特徴を備えた構成要素候補を構成要素として確定する処理であることを特徴とする請求項２６または２７記載の構成要素検出方法。
【請求項２９】
前記第１の構成要素候補検出処理により検出された構成要素候補のうち前記構成要素確定処理において構成要素として確定された構成要素候補の数を、前記被写体検出処理において検出された被写体が備え得る前記構成要素の最大数と比較し、
前記構成要素として確定された構成要素候補の数が前記最大数に満たない場合に、前記第１の構成要素候補検出処理よりも検出率が高い第２の構成要素候補検出処理を実行し、
前記第２の構成要素候補検出処理において検出された構成要素候補について、前記構成要素確定処理を再度実行することを特徴とする請求項２６から２８のいずれか１項記載の構成要素検出方法。
【請求項３０】
前記構成要素確定処理が、検出された被写体に含まれる構成要素候補の近傍の画像が備える特徴の中から前記構成要素が備える特徴を識別する過程で得られた情報に基づいて、前記構成要素の位置を確定する処理であることを特徴とする請求項２４から２９のいずれか１項記載の構成要素検出方法。
【請求項３１】
前記第１および／または第２の構成要素候補検出処理は、画像上に判定対象範囲を設定し、該判定対象範囲内の画像が前記構成要素を表しているか否かを、該判定対象範囲内の画像を構成する画素の値から算出し得る複数種類の特徴量に基づいて判定することにより前記構成要素候補を検出する処理であって、
前記複数種類の特徴量の算出式を、Ｋ番目（１≦Ｋ＜Ｎ, Ｎ＞１）のグループに含まれる特徴量の算出に要する計算量がＫ＋１番目の特徴量の算出に要する計算量以下となるように、Ｎ個のグループに分類して記憶し、
Ｋ番目のグループに含まれる特徴量に基づく判定で、前記判定対象範囲内の画像が前記構成要素を表していないと判定した場合には該判定対象範囲内の画像は構成要素を表していないという判定結果を出力し、
前記判定対象範囲内の画像が前記構成要素を表していると判定した場合には該判定対象範囲を対象としてＫ＋１番目のグループに含まれる特徴量に基づく判定を行い、
Ｎ番目のグループに含まれる特徴量に基づく判定において該判定対象範囲内の画像が前記構成要素を表していると判定した場合に、該判定対象範囲内の画像が構成要素を表しているという判定結果を出力する処理であることを特徴とする請求項２４から３０のいずれか１項記載の構成要素検出方法。
【請求項３２】
前記構成要素候補検出処理において、複数の判定対象範囲を対象としてＫ番目のグループに含まれる特徴量に基づく判定を行い、該判定において前記構成要素を表していると判定された判定対象範囲を対象としてＫ＋１番目のグループに含まれる特徴量に基づく判定を行うことを特徴とする請求項３１記載の構成要素検出方法。
【請求項３３】
前記構成要素候補検出処理において、前記判定のうち少なくとも一部の判定が行われるときに、判定対象範囲の位置と該判定対象範囲に最も近い判定対象範囲の位置とが２画素以上ずれるように判定対象範囲を設定することを特徴とする請求項３１または３２記載の構成要素検出方法。
【請求項３４】
前記構成要素候補検出処理において、所定の解像度で表された画像上に設定した判定対象範囲を対象としてＫ番目のグループに含まれる特徴量に基づく判定を行い、前記解像度よりも高い解像度で表された画像上に設定した判定対象範囲を対象としてＫ＋１番目のグループに含まれる特徴量に基づく判定を行うことを特徴とする請求項３１または３２記載の構成要素検出方法。
【請求項３５】
前記構成要素候補検出処理において、複数の判定対象範囲を対象としてＫ番目のグループに含まれる特徴量に基づく判定を行い、該判定において構成要素を表していると判定された判定対象範囲および該判定対象範囲の周辺に該判定対象範囲と少なくとも一部が重なるように設定された複数の判定対象範囲を対象として、Ｋ＋１番目のグループに含まれる特徴量に基づく判定を行うことを特徴とする請求項３３または３４記載の構成要素検出方法。
【請求項３６】
前記構成要素候補検出処理において、Ｋ＋１番目のグループに含まれる特徴量の中に、Ｋ番目のグループに含まれる特徴量が少なくとも１つ含まれていることを特徴とする請求項３５記載の構成要素検出方法。
【請求項３７】
前記第１および／または第２の被写体検出処理は、画像上に判定対象範囲を設定し、該判定対象範囲内の画像が前記被写体を表しているか否かを、該判定対象範囲内の画像を構成する画素の値から算出し得る複数種類の特徴量に基づいて判定することにより前記被写体を検出する処理であって、
前記複数種類の特徴量の算出式を、Ｋ番目（１≦Ｋ＜Ｎ, Ｎ＞１）のグループに含まれる特徴量の算出に要する計算量がＫ＋１番目の特徴量の算出に要する計算量以下となるように、Ｎ個のグループに分類して記憶し、
Ｋ番目のグループに含まれる特徴量に基づく判定で、前記判定対象範囲内の画像が前記被写体を表していないと判定した場合には該判定対象範囲内の画像は前記被写体を表していないという判定結果を出力し、
前記判定対象範囲内の画像が前記被写体を表していると判定した場合には該判定対象範囲を対象としてＫ＋１番目のグループに含まれる特徴量に基づく判定を行い、
Ｎ番目のグループに含まれる特徴量に基づく判定において該判定対象範囲内の画像が前記被写体を表していると判定した場合に、該判定対象範囲内の画像が前記被写体を表しているという判定結果を出力する処理であることを特徴とする請求項２４から３６のいずれか１項記載の構成要素検出方法。
【請求項３８】
前記被写体検出処理において、複数の判定対象範囲を対象としてＫ番目のグループに含まれる特徴量に基づく判定を行い、該判定において前記構成要素を表していると判定された判定対象範囲を対象としてＫ＋１番目のグループに含まれる特徴量に基づく判定を行うことを特徴とする請求項３７記載の構成要素検出方法。
【請求項３９】
前記被写体検出処理において、前記判定のうち少なくとも一部の判定が行われるときに、判定対象範囲の位置と該判定対象範囲に最も近い判定対象範囲の位置とが２画素以上ずれるように判定対象範囲を設定することを特徴とする請求項３７または３８記載の構成要素検出方法。
【請求項４０】
前記被写体検出処理において、所定の解像度で表された画像上に設定した判定対象範囲を対象としてＫ番目のグループに含まれる特徴量に基づく判定を行い、前記解像度よりも高い解像度で表された画像上に設定した判定対象範囲を対象としてＫ＋１番目のグループに含まれる特徴量に基づく判定を行うことを特徴とする請求項３７または３８記載の構成要素検出方法。
【請求項４１】
前記被写体検出処理において、複数の判定対象範囲を対象としてＫ番目のグループに含まれる特徴量に基づく判定を行い、該判定において構成要素を表していると判定された判定対象範囲および該判定対象範囲の周辺に該判定対象範囲と少なくとも一部が重なるように設定された複数の判定対象範囲を対象として、Ｋ＋１番目のグループに含まれる特徴量に基づく判定を行うことを特徴とする請求項３９または４０記載の構成要素検出方法。
【請求項４２】
前記被写体検出処理において、Ｋ＋１番目のグループに含まれる特徴量の中に、Ｋ番目のグループに含まれる特徴量が少なくとも１つ含まれていることを特徴とする請求項４１記載の構成要素判定方法。
【請求項４３】
前記構成要素が生物の目であることを特徴とする請求項２４から４２のいずれか１項記載の構成要素検出方法。
【請求項４４】
前記目の色が異常色であることを特徴とする請求項４３記載の構成要素検出方法。
【請求項４５】
前記被写体が生物の顔であることを特徴とする請求項４３または４４記載の構成要素検出方法。
【請求項４６】
画像上に判定対象範囲を設定し、該判定対象範囲内の画像が所定の被検出物を表しているか否かを、該判定対象範囲内の画像を構成する画素の値から算出し得る複数種類の特徴量に基づいて判定することにより、前記被検出物を検出する検出方法において、
前記複数種類の特徴量の算出式を、Ｋ番目（１≦Ｋ＜Ｎ, Ｎ＞１）のグループに含まれる特徴量の算出に要する計算量がＫ＋１番目の特徴量の算出に要する計算量以下となるように、Ｎ個のグループに分類して記憶し、
Ｋ番目のグループに含まれる特徴量に基づく判定で、前記判定対象範囲内の画像が前記被検出物を表していないと判定した場合には該判定対象範囲内の画像は前記被検出物を表していないという判定結果を出力し、
前記判定対象範囲内の画像が前記被検出物を表していると判定した場合には該判定対象範囲を対象としてＫ＋１番目のグループに含まれる特徴量に基づく判定を行い、
Ｎ番目のグループに含まれる特徴量に基づく判定において該判定対象範囲内の画像が前記被検出物を表していると判定した場合に、該判定対象範囲内の画像が前記被検出物を表しているという判定結果を出力することを特徴とする検出方法。
【請求項４７】
所定の被写体を含む画像の中から、前記被写体を構成する所定の構成要素を検出する機能を提供するプログラムであって、コンピュータに、
前記画像が備える特徴の中から前記構成要素が備える特徴を識別することによって、前記構成要素と推定し得る構成要素候補を検出する第１の構成要素候補検出処理と、
検出された構成要素候補の周辺の画像が備える特徴の中から、前記所定の被写体が備える特徴を識別することによって、前記構成要素候補を含む被写体を検出する第１の被写体検出処理と、
検出された被写体に含まれる構成要素候補の近傍の画像が備える特徴の中から、前記構成要素が備える特徴を前記構成要素候補検出処理において行う識別よりも高い精度で識別し、該特徴を備えた構成要素候補を構成要素として確定する構成要素確定処理とを実行させることを特徴とする構成要素検出プログラム。
【請求項４８】
前記第１の被写体検出処理により被写体が検出されなかった場合に、前記コンピュータに、
前記第１の被写体検出処理と検出特性が異なる第２の被写体検出処理を実行させることを特徴とする請求項４７記載の構成要素検出プログラム。
【請求項４９】
前記構成要素確定処理として、前記被写体検出処理において検出された被写体の情報を利用して前記識別を行う処理をコンピュータに実行させることを特徴とする請求項４７または４８記載の構成要素検出プログラム。
【請求項５０】
前記構成要素確定処理として、検出された被写体に含まれる構成要素候補の近傍の画像が備える特徴の中から、検出された被写体の向きと同じ向きを有する構成要素が備える特徴を備えた構成要素候補を構成要素として確定する処理をコンピュータに実行させることを特徴とする請求項４９記載の構成要素検出プログラム。
【請求項５１】
前記構成要素確定処理として、検出された被写体に含まれる構成要素候補の近傍の画像が備える特徴の中から、検出された被写体の大きさから推定される大きさの構成要素が備える特徴を備えた構成要素候補を構成要素として確定する処理をコンピュータに実行させることを特徴とする請求項４９または５０記載の構成要素検出プログラム。
【請求項５２】
前記構成要素確定処理において、前記コンピュータに、
前記第１の構成要素候補検出処理により検出された構成要素候補のうち前記構成要素確定処理において構成要素として確定された構成要素候補の数を、前記被写体検出処理において検出された被写体が備え得る前記構成要素の最大数と比較させ、
前記構成要素として確定された構成要素候補の数が前記最大数に満たない場合に、前記第１の構成要素候補検出処理よりも検出率が高い第２の構成要素候補検出処理を実行させ、
前記第２の構成要素候補検出処理において検出された構成要素候補について、前記構成要素確定処理を再度実行させることを特徴とする請求項４９から５１のいずれか１項記載の構成要素検出プログラム。
【請求項５３】
前記構成要素確定処理として、検出された被写体に含まれる構成要素候補の近傍の画像が備える特徴の中から前記構成要素が備える特徴を識別する過程で得られた情報に基づいて、前記構成要素の位置を確定する処理をコンピュータに実行させることを特徴とする請求項４７から５２のいずれか１項記載の構成要素検出プログラム。
【請求項５４】
前記第１および／または第２の構成要素候補検出処理として、画像上に判定対象範囲を設定する対象範囲設定処理と、設定された判定対象範囲内の画像が瞳孔の少なくとも一部が赤く表示された構成要素を表しているか否かを、該判定対象範囲内の画像を構成する画素の値から算出し得る複数種類の特徴量に基づいて判定する判定処理とをコンピュータに実行させる構成要素検出プログラムであって、
前記複数種類の特徴量の算出式を、Ｋ番目（１≦Ｋ＜Ｎ, Ｎ＞１）のグループに含まれる特徴量の算出に要する計算量がＫ＋１番目の特徴量の算出に要する計算量以下となるように、Ｎ個のグループに分類して前記コンピュータが備える記憶媒体に記憶せしめ、
前記判定処理において、
前記コンピュータが、Ｋ番目のグループに含まれる特徴量に基づく判定で、前記判定対象範囲内の画像が前記構成要素を表していないと判定した場合には、該コンピュータに該判定対象範囲内の画像は前記構成要素を表していないという判定結果を出力させ、
前記コンピュータが、前記判定対象範囲内の画像が前記構成要素を表していると判定した場合には、該コンピュータに該判定対象範囲を対象としてＫ＋１番目のグループに含まれる特徴量に基づく判定を行わせ、
前記コンピュータが、Ｎ番目のグループに含まれる特徴量に基づく判定において該判定対象範囲内の画像が前記構成要素を表していると判定した場合に、該コンピュータに該判定対象範囲内の画像が前記構成要素を表しているという判定結果を出力させることを特徴とする請求項４７から５３のいずれか１項記載の構成要素検出プログラム。
【請求項５５】
前記判定処理において、前記コンピュータに、複数の判定対象範囲を対象としてＫ番目のグループに含まれる特徴量に基づく判定を行わせた後、該判定において前記構成要素を表していると判定された判定対象範囲の周辺に設定された判定対象範囲を対象としてＫ＋１番目のグループに含まれる特徴量に基づく判定を行わせることを特徴とする請求項５４記載の構成要素検出プログラム。
【請求項５６】
前記判定のうち少なくとも一部の判定を前記コンピュータに行わせるときに、前記対象範囲設定処理において、判定対象範囲の位置と該判定対象範囲に最も近い判定対象範囲の位置とが２画素以上ずれるように判定対象範囲を設定させることを特徴とする請求項５４または５５記載の構成要素検出プログラム。
【請求項５７】
前記判定処理において、前記コンピュータに、所定の解像度で表された画像上に設定した判定対象範囲を対象としてＫ番目のグループに含まれる特徴量に基づく判定を行わせた後、前記解像度よりも高い解像度で表された画像上に設定した判定対象範囲を対象としてＫ＋１番目のグループに含まれる特徴量に基づく判定を行わせることを特徴とする請求項５４または５５記載の構成要素検出プログラム。
【請求項５８】
前記判定処理において、前記コンピュータに、複数の判定対象範囲を対象としてＫ番目のグループに含まれる特徴量に基づく判定を行わせた後、該判定において前記構成要素を表していると判定された判定対象範囲および該判定対象範囲の周辺に該判定対象範囲と少なくとも一部が重なるように設定された複数の判定対象範囲を対象として、Ｋ＋１番目のグループに含まれる特徴量に基づく判定を行わせることを特徴とする請求項５６または５７記載の構成要素検出プログラム。
【請求項５９】
Ｋ＋１番目のグループに含まれる特徴量の中に、Ｋ番目のグループに含まれる特徴量が少なくとも１つ含まれていることを特徴とする請求項５８記載の構成要素検出プログラム。
【請求項６０】
前記第１および／または第２の被写体検出処理として、画像上に判定対象範囲を設定する対象範囲設定処理と、設定された判定対象範囲内の画像が前記被写体を表しているか否かを、該判定対象範囲内の画像を構成する画素の値から算出し得る複数種類の特徴量に基づいて判定する判定処理とをコンピュータに実行させることにより前記構成要素を検出する構成要素検出プログラムであって、
前記複数種類の特徴量の算出式を、Ｋ番目（１≦Ｋ＜Ｎ, Ｎ＞１）のグループに含まれる特徴量の算出に要する計算量がＫ＋１番目の特徴量の算出に要する計算量以下となるように、Ｎ個のグループに分類して前記コンピュータが備える記憶媒体に記憶せしめ、
前記判定処理において、
前記コンピュータが、Ｋ番目のグループに含まれる特徴量に基づく判定で、前記判定対象範囲内の画像が前記被写体を表していないと判定した場合には、該コンピュータに該判定対象範囲内の画像は前記被写体を表していないという判定結果を出力させ、
前記コンピュータが、前記判定対象範囲内の画像が前記被写体を表していると判定した場合には、該コンピュータに該判定対象範囲を対象としてＫ＋１番目のグループに含まれる特徴量に基づく判定を行わせ、
前記コンピュータが、Ｎ番目のグループに含まれる特徴量に基づく判定において該判定対象範囲内の画像が前記被写体を表していると判定した場合に、該コンピュータに該判定対象範囲内の画像が前記被写体を表しているという判定結果を出力させることを特徴とする請求項４７から５９のいずれか１項記載の構成要素検出プログラム。
【請求項６１】
前記判定処理において、前記コンピュータに、複数の判定対象範囲を対象としてＫ番目のグループに含まれる特徴量に基づく判定を行わせた後、該判定において前記被写体を表していると判定された判定対象範囲の周辺に設定された判定対象範囲を対象としてＫ＋１番目のグループに含まれる特徴量に基づく判定を行わせることを特徴とする請求項６０記載の構成要素検出プログラム。
【請求項６２】
前記判定のうち少なくとも一部の判定を前記コンピュータに行わせるときに、前記対象範囲設定処理において、判定対象範囲の位置と該判定対象範囲に最も近い判定対象範囲の位置とが２画素以上ずれるように判定対象範囲を設定させることを特徴とする請求項６０または６１記載の構成要素検出プログラム。
【請求項６３】
前記判定処理において、前記コンピュータに、所定の解像度で表された画像上に設定した判定対象範囲を対象としてＫ番目のグループに含まれる特徴量に基づく判定を行わせた後、前記解像度よりも高い解像度で表された画像上に設定した判定対象範囲を対象としてＫ＋１番目のグループに含まれる特徴量に基づく判定を行わせることを特徴とする請求項６０または６１記載の構成要素検出プログラム。
【請求項６４】
前記判定処理において、前記コンピュータに、複数の判定対象範囲を対象としてＫ番目のグループに含まれる特徴量に基づく判定を行わせた後、該判定において前記被写体を表していると判定された判定対象範囲および該判定対象範囲の周辺に該判定対象範囲と少なくとも一部が重なるように設定された複数の判定対象範囲を対象として、Ｋ＋１番目のグループに含まれる特徴量に基づく判定を行わせることを特徴とする請求項６２または６３記載の構成要素検出プログラム。
【請求項６５】
Ｋ＋１番目のグループに含まれる特徴量の中に、Ｋ番目のグループに含まれる特徴量が少なくとも１つ含まれていることを特徴とする請求項６４記載の構成要素検出プログラム。
【請求項６６】
前記構成要素が生物の目であることを特徴とする請求項３７から６５のいずれか１項記載の構成要素検出プログラム。
【請求項６７】
前記目の色が異常色であることを特徴とする請求項６６記載の構成要素検出プログラム。
【請求項６８】
前記被写体が生物の顔であることを特徴とする請求項６５または６６記載の構成要素検出プログラム。
【請求項６９】
画像上に判定対象範囲を設定する対象範囲設定処理と、設定された判定対象範囲内の画像が被検出物を表しているか否かを、該判定対象範囲内の画像を構成する画素の値から算出し得る複数種類の特徴量に基づいて判定する判定処理とをコンピュータに実行させることにより前記被検出物を検出する検出プログラムであって、
前記複数種類の特徴量の算出式を、Ｋ番目（１≦Ｋ＜Ｎ, Ｎ＞１）のグループに含まれる特徴量の算出に要する計算量がＫ＋１番目の特徴量の算出に要する計算量以下となるように、Ｎ個のグループに分類して前記コンピュータが備える記憶媒体に記憶せしめ、
前記判定処理において、
前記コンピュータが、Ｋ番目のグループに含まれる特徴量に基づく判定で、前記判定対象範囲内の画像が前記被検出物を表していないと判定した場合には、該コンピュータに該判定対象範囲内の画像は前記被検出物を表していないという判定結果を出力させ、
前記コンピュータが、前記判定対象範囲内の画像が前記被検出物を表していると判定した場合には、該コンピュータに該判定対象範囲を対象としてＫ＋１番目のグループに含まれる特徴量に基づく判定を行わせ、
前記コンピュータが、Ｎ番目のグループに含まれる特徴量に基づく判定において該判定対象範囲内の画像が前記被検出物を表していると判定した場合に、該コンピュータに該判定対象範囲内の画像が前記被検出物を表しているという判定結果を出力させることを特徴とする検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定の被写体を含む画像の中から前記被写体を構成する所定の構成要素を検出する装置および方法並びにプログラムに関する。
【背景技術】
【０００２】
夜間あるいは暗い場所で人物や動物をストロボ撮影すると、瞳孔（あるいは瞳孔の一部）が、赤色あるいは金色に撮影されてしまうことがある。このため、赤く、あるいは金色に撮影されてしまった瞳孔（以下、金色の場合も含めて「赤目」と称する）を、デジタル画像処理により本来の瞳孔の色に補正する方法が種々提案されている。
【０００３】
例えば、特許文献１には、オペレータが指定した領域の中から、瞳孔の色、位置、大きさに基づいて赤目を自動認識する方法および装置が開示されている。また、特許文献２にも、オペレータが指定した領域について画素ごとに所定の特徴量を計算し、瞳孔部分の特徴を最も有する部分を補正対象として選択する方法が開示されている。但し、瞳孔部分の特徴のみに基づく認識処理では、赤い電飾など局所的に赤みを持つ対象を赤目と区別することは難しい。このため、オペレータの操作を介さず、すべて自動で処理することは困難である。
【０００４】
これに対し、特許文献３に開示されている方法では、先に顔を検出し、顔として検出された領域を対象に赤目の検出を行う。この方法では、赤い電飾などが赤目として誤検出されることはないが、顔を誤検出してしまうと赤目も正確には検出できないため、顔検出の精度が問題となる。
【特許文献１】特開２０００−１３６８０号公報
【特許文献２】特開２００１−１４８７８０号公報
【特許文献３】特開２０００−１２５３２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
顔の検出方法として最も簡単なのは、肌色で楕円形状の領域を顔と推定して検出する方法である。但し、人の顔の色は必ずしも一定ではないため、この方法では顔とみなす肌色の幅を、ある程度広く定義する必要がある。しかし、色と形状のみで判定する方法で色の範囲を広めに設定すれば、誤検出が発生する可能性は高くなる。このため、顔判定の精度を高めるためには、色と形状のみならず、顔のより細かい特徴を利用して顔か否かを判定することが好ましい。しかし、顔の特徴をきめ細かく抽出しようとすれば、顔検出処理に要する時間は大幅に増加する。
【０００６】
すなわち、特許文献３に開示された方法は、高い精度で赤目を検出できるものの、処理時間に対する配慮がなされておらず、処理能力が比較的低い装置（例えば安価なデジタルカメラなど）に赤目検出機能を搭載する場合、実用に耐え得る装置を実現することができない。
【課題を解決するための手段】
【０００７】
本発明は、所定の被写体（例えば人間や動物など生物の顔）を含む画像の中から、その被写体を構成する構成要素（例えば目あるいは赤目）を、少ない計算量で、短時間に精度良く検出することができる装置、方法およびプログラムを提供することを目的とする。そして、この目的を達成するために、構成要素検出装置、方法およびプログラムにより以下に説明するような処理を行なうことを提案する。なお、以下の説明で、「装置」とは、機器のみならず画像処理プロセッサなどの半導体装置も含むものとする。また、「コンピュータ」とは、パーソナルコンピュータや、サーバコンピュータなど狭義のコンピュータではなく、プログラムを実行し得る環境、すなわち演算手段と記憶手段を備えたあらゆる装置を意味するものとする。
【０００８】
本発明の構成要素検出装置は、所定の被写体を含む画像の中から、その被写体を構成する所定の構成要素を検出する装置であって、以下に説明する構成要素候補検出部、被写体検出部および構成要素確定部を備えたことを特徴とする。構成要素候補検出部は、画像が備える特徴の中から検出しようとする構成要素が備える特徴を識別することによって、その構成要素と推定し得る構成要素候補を検出する。被写体検出部は、構成要素候補検出部により検出された構成要素候補の周辺の画像が備える特徴の中から、前記被写体が備える特徴を識別することによって、その構成要素候補を含む被写体を検出する。構成要素確定部は、被写体検出部により検出された顔に含まれる構成要素候補の近傍の画像が備える特徴の中から、検出しようとする構成要素が備える特徴を構成要素候補検出部よりも高い精度で識別し、その特徴を備えた構成要素候補を構成要素として確定する。
【０００９】
また、本発明の構成要素検出方法は、所定の被写体を含む画像の中から、その被写体を構成する所定の構成要素を検出する方法であって、次の処理を行うことを特徴とする。まず、画像が備える特徴の中から前記構成要素が備える特徴を識別することによって、その構成要素と推定し得る構成要素候補を検出する。次いで、検出された構成要素候補の周辺の画像が備える特徴の中から、被写体が備える特徴を識別することによって、構成要素候補を含む被写体を検出する。そして、検出された被写体に含まれる構成要素候補の近傍の画像が備える特徴の中から、検出しようとする構成要素が備える特徴を構成要素候補の検出時に行う識別よりも高い精度で識別し、その特徴を備えた構成要素候補を構成要素として確定する。
【００１０】
また、本発明のプログラムは、所定の被写体を含む画像の中から、前記被写体を構成する所定の構成要素を検出する機能を提供するプログラムであって、コンピュータに、以下に説明する構成要素候補検出処理、被写体検出処理および構成要素確定処理を実行させることを特徴とする。構成要素候補検出処理は、画像が備える特徴の中からその構成要素が備える特徴を識別することによって、その構成要素と推定し得る構成要素候補を検出する処理である。被写体検出処理は、検出された構成要素候補の周辺の画像が備える特徴の中から、被写体が備える特徴を識別することによって、構成要素候補を含む被写体を検出する処理である。構成要素確定処理は、検出された被写体に含まれる構成要素候補の近傍の画像が備える特徴の中から、検出しようとする構成要素が備える特徴を構成要素候補検出処理において行う識別よりも高い精度で識別し、その特徴を備えた構成要素候補を前記構成要素として確定する処理である。
【００１１】
構成要素候補を構成要素と確定する処理で、構成要素候補検出時よりも高い精度で識別を行うためには、被写体検出時に検出された被写体の情報を利用するとよい。具体的には、例えば、検出された被写体に含まれる構成要素候補の近傍の画像が備える特徴の中から、被写体の向きと同じ向きを有する構成要素が備える特徴を識別し、そのような特徴を備えた構成要素候補を構成要素と確定する。あるいは、被写体の大きさから推定される大きさの構成要素が備える特徴を識別し、そのような特徴を備えた構成要素候補を構成要素と確定してもよい。さらには、被写体の向きと同じ向きを有し且つ被写体の大きさから推定される大きさの構成要素が備える特徴を識別し、向き、大きさともに所定の条件を満たすような構成要素候補を構成要素と確定してもよい。向きや大きさを限定することによって識別できる対象の幅を狭めてもなお構成要素候補を識別できれば、その構成要素候補が真の構成要素である可能性は高い。
【００１２】
また、構成要素候補を構成要素と確定する処理を行なった後に次の処理を行うこととすれば、検出の信頼性をさらに高めることができる。まず、構成要素候補検出処理で検出された構成要素候補のうち構成要素として確定された構成要素候補の数を、前記被写体検出部により検出された被写体が備え得る構成要素の最大数と比較する。例えば被写体が正面を向いた顔であり、検出しようとする構成要素が赤目である場合、正面顔は最大２個の赤目を備えている可能性がある。この場合、被写体が備え得る構成要素の最大数は２である。
【００１３】
構成要素として確定された構成要素候補の数が検出された被写体が備え得る構成要素の数に満たない場合には、前に行った構成要素候補検出処理よりも検出率が高い構成要素候補検出処理を再度実行する。そして、再検出された構成要素候補に対し再度構成要素を確定するための処理を実行する。
【００１４】
また、構成要素を確定する際には、構成要素候補が真の構成要素か否かを検証するだけに止まらず、識別処理において得られた情報に基づいてその構成要素の正確な位置を特定し、確定することが望ましい。
【００１５】
また、構成要素候補検出処理部は、検出率が異なる複数種類の構成要素候補検出処理を実行できる処理部であることが望ましい。そして、第１の構成要素候補検出処理により検出された構成要素候補のうち前記構成要素確定部により構成要素として確定された構成要素候補の数が１以下であった場合には、第１の構成要素候補検出処理よりも検出率が高い第２の構成要素候補検出処理を実行し、さらにその第２の構成要素候補検出処理で検出された構成要素候補について被写体検出処理と構成要素確定処理を実行することが望ましい。
【００１６】
上記本発明の構成要素検出装置、方法およびプログラムにより実行される構成要素検出処理では、構成要素候補検出処理において構成要素候補を検出した後、構成要素候補の近傍の探索範囲を対象として構成要素確定処理を行う。構成要素確定処理では、例えば検出した被写体の情報を利用するなどして構成要素候補検出時よりも高い精度で構成要素を識別するため、構成要素か否かの判定精度は構成要素候補検出処理よりも高くなる。これにより、構成要素候補検出処理において誤検出された構成要素候補を排除することができる。
【００１７】
また、構成要素確定処理では、精度の高い判定を行うために識別の過程で構成要素候補検出処理よりも多くの情報を取得するので、その情報を利用すれば、構成要素候補の位置を正確に特定することができる。
【００１８】
ここで、上記装置、方法およびプログラムでは、画像に含まれる特徴量に基づいて構成要素や被写体を検出する処理が行われる。詳細には、第１の構成要素候補検出処理、第１の被写体検出処理および構成要素を確定する際の高精度な構成要素検出処理が行われる。さらに好ましい実施形態では、第２の構成要素候補検出処理や、第２の被写体検出処理が行われる。
【００１９】
そこで、本発明は、構成要素や被写体などの被検出物を効率よく検出するための構成、手順およびプログラムを、あわせて提案する。以下に説明する構成や手順は、上記本発明の構成要素検出装置、方法あるいはプログラムに組み入れることができ、さらには、他の装置や方法における他の被検出物の検出処理にも適用できる。
【００２０】
その装置の構成とは、画像上に判定対象範囲を設定する対象範囲設定手段と、その対象範囲設定手段により設定された判定対象範囲内の画像が被検出物（例えば前記構成要素あるいは前記被写体）を表しているか否かを、判定対象範囲内の画像を構成する画素の値から算出し得る複数種類の特徴量に基づいて判定する判定手段を備えた構成である。
【００２１】
この判定手段は、複数種類の特徴量の算出式を、Ｋ番目（１≦Ｋ＜Ｎ, Ｎ＞１）のグループに含まれる特徴量の算出に要する計算量がＫ＋１番目の特徴量の算出に要する計算量以下となるように、Ｎ個のグループに分類して記憶しており、それらの算出式を利用して、次のような判定を行う。
【００２２】
この判定手段は、Ｋ番目のグループに含まれる特徴量に基づく判定で、判定対象範囲内の画像が被検出物を表していないと判定した場合には判定対象範囲内の画像は被検出物を表していないという判定結果を出力する。一方、判定対象範囲内の画像が被検出物を表していると判定した場合には、その判定対象範囲を対象としてＫ＋１番目のグループに含まれる特徴量に基づく判定を行う。
【００２３】
そして、Ｎ番目のグループに含まれる特徴量に基づく判定において判定対象範囲内の画像が被検出物を表していると判定した場合に、判定対象範囲内の画像が被検出物を表しているという判定結果を出力する。
【００２４】
この判定手段は、対象範囲設定手段により設定された複数の判定対象範囲を対象としてＫ番目のグループに含まれる特徴量に基づく判定を行い、その後、判定において被検出物を表していると判定された判定対象範囲を対象としてＫ＋１番目のグループに含まれる特徴量に基づく判定を行う手段としてもよい。
【００２５】
また、対象範囲設定手段は、判定手段により行われる判定のうち少なくとも一部の判定が行われるときに、判定対象範囲の位置と判定対象範囲に最も近い判定対象範囲の位置とが２画素以上ずれるように判定対象範囲を設定する手段としてもよい。
【００２６】
また、判定手段は、対象範囲設定手段が所定の解像度で表された画像上に設定した判定対象範囲を対象としてＫ番目のグループに含まれる特徴量に基づく判定を行い、その後、対象範囲設定手段がその解像度よりも高い解像度で表された画像上に設定した判定対象範囲を対象としてＫ＋１番目のグループに含まれる特徴量に基づく判定を行う手段としてもよい。
【００２７】
また、判定手段は、対象範囲設定手段により設定された複数の判定対象範囲を対象としてＫ番目のグループに含まれる特徴量に基づく判定を行い、その後、判定において赤目を表していると判定された判定対象範囲と、その判定対象範囲の周辺にその判定対象範囲と少なくとも一部が重なるように設定された複数の判定対象範囲とを対象として、Ｋ＋１番目のグループに含まれる特徴量に基づく判定を行う手段としてもよい。
【００２８】
この際、Ｋ＋１番目のグループに含まれる特徴量の中には、Ｋ番目のグループに含まれる特徴量が含まれていてもよい。
【００２９】
上記構成を、処理手順として説明すると、次のようになる。
【００３０】
まず、複数種類の特徴量の算出式を、Ｋ番目（１≦Ｋ＜Ｎ, Ｎ＞１）のグループに含まれる特徴量の算出に要する計算量がＫ＋１番目の特徴量の算出に要する計算量以下となるように、Ｎ個のグループに分類して予め記憶しておく。
【００３１】
Ｋ番目のグループに含まれる特徴量に基づく判定で、判定対象範囲内の画像が被検出物を表していないと判定した場合には、その判定対象範囲内の画像は被検出物を表していないという判定結果を出力する。一方、判定対象範囲内の画像が被検出物を表していると判定した場合には、その判定対象範囲を対象としてＫ＋１番目のグループに含まれる特徴量に基づく判定を行う。
【００３２】
Ｎ番目のグループに含まれる特徴量に基づく判定において、その判定対象範囲内の画像が被検出物を表していると判定した場合に、その判定対象範囲内の画像が被検出物を表しているという判定結果を出力する。
【００３３】
さらに上記手順をコンピュータに実行させる処理として説明すると、次のようになる。
【００３４】
複数種類の特徴量の算出式は、Ｋ番目（１≦Ｋ＜Ｎ, Ｎ＞１）のグループに含まれる特徴量の算出に要する計算量がＫ＋１番目の特徴量の算出に要する計算量以下となるように、Ｎ個のグループに分類してコンピュータが備える記憶媒体に予め記憶させておき、プログラムはその算出式などを利用して判定を行う。
【００３５】
プログラムは、コンピュータが、Ｋ番目のグループに含まれる特徴量に基づく判定で、判定対象範囲内の画像が被検出物を表していないと判定した場合には、コンピュータに判定対象範囲内の画像は被検出物を表していないという判定結果を出力させる。
【００３６】
一方、コンピュータが、判定対象範囲内の画像が被検出物を表していると判定した場合には、コンピュータに判定対象範囲を対象としてＫ＋１番目のグループに含まれる特徴量に基づく判定を行わせる。
【００３７】
そして、コンピュータが、Ｎ番目のグループに含まれる特徴量に基づく判定において判定対象範囲内の画像が被検出物を表していると判定した場合に、コンピュータに判定対象範囲内の画像が被検出物を表しているという判定結果を出力させる。
【００３８】
上記判定処理では、実行回数が多い判定処理では算出に要する計算量が少ない特徴量が用いられ、判定の精度は高いが計算量が多い特徴量は、限られた範囲を対象とした判定処理でのみ用いられる。このため、効率よく被検出物を絞り込むことができ、検出の精度を低下させることなく、効率よく被検出物を検出することができる。
【発明を実施するための最良の形態】
【００３９】
以下、本発明の一実施形態として、人物の顔を被写体として含む画像から、顔の一構成要素である赤目を検出する手順を例示する。
【００４０】
[赤目検出の手順の概要]
はじめに、図１および図２を参照して、赤目を検出する手順の概要を説明する。図１は赤目検出の手順を示す図である。図に示すように、本実施の形態では、赤目候補検出処理２、顔検出処理３および赤目確定処理４の３段階の処理を実行することにより、画像１に含まれる赤目を検出する。そして、検出結果５として、赤目として確定された赤目候補の正確な位置を表す情報を取得する。
【００４１】
また、本実施形態では、顔検出処理３において検出された顔が正面を向いた顔であるにも拘らず赤目確定処理４により確定された赤目が１つ以下（無い、または１つのみ）の場合には、赤目候補検出処理２よりも精度の高い第２の赤目候補検出処理を行い、再検出された赤目候補と、先に顔検出処理３において検出された顔の情報とに基づいて、再度赤目確定処理４を行う。本明細書では、以下この処理を、再検出処理と称することとする。
【００４２】
図２は、画像１の一例であり、目が赤目７ａ，７ｂとして撮影されてしまった人物と、赤い電飾７ｃが写った写真画像を表している。以下、図２の画像を処理する場合を例示しながら、赤目候補検出処理２、顔検出処理３および赤目確定処理４の処理について、概要を説明する。
【００４３】
赤目候補検出処理２は、画像１の中から赤目と推定される部分（赤目候補）を探索し、赤目候補を発見した場合に、その赤目候補の位置座標などを所定の記憶媒体に記憶する処理である。赤目候補検出処理２では、大きさも向きも不明の赤目を画像１全体の中から検出しなければならないため、検出の精度よりも処理効率が優先される。本実施の形態では、赤目候補検出処理２では、瞳孔の特徴のみに基づいて赤目か否かを判定する。このため、図２に例示した画像を処理した場合、赤目７ａ、７ｂのほかに、背景の電飾７ｃなども、赤目候補として検出されてしまう可能性がある。
【００４４】
顔検出処理３は、画像１の中から、顔と推定される部分を探索する処理である。但し、顔の探索は、赤目候補検出処理２において検出された各赤目候補の周辺領域においてのみ行う。赤目候補が真の赤目である場合、その周辺領域には必ず顔が存在するはずである。顔検出処理３では、顔らしきものを発見できた場合には、その顔の大きさ、向きなどの情報を、顔探索の基準となった赤目候補と対応づけて記憶媒体に記憶する。一方、顔らしきものを発見できなかった場合には、顔探索の基準となった赤目候補に関する情報を、記憶媒体から削除する。
【００４５】
図２に例示した画像を処理した場合、電飾７ｃの周辺からは顔らしきものは検出されないため、電飾７ｃの情報は、記憶媒体から削除される。赤目７ａおよび７ｂについては、周辺領域から顔６が検出される。したがって、赤目７ａおよび７ｂに関する情報は顔６の情報と対応付けられ、あらためて記憶媒体に記憶される。
【００４６】
赤目確定処理４は、顔検出処理３において顔と対応付けられて記憶された赤目候補が真の赤目か否かをあらためて判定するとともに、真の赤目である場合には、その正確な位置を確定する処理である。
【００４７】
赤目確定処理４では、顔検出処理３の結果を処理に利用する。具体的には、顔の情報を利用して赤目の大きさや向きを推定して赤目とみなす対象の範囲を絞り込む。さらには、顔の情報に基づいて赤目の位置を推定し、その周辺の限られた範囲を対象として赤目候補検出処理２よりも高精度な検出処理を実行する。
【００４８】
赤目確定処理４では、赤目候補が真の赤目ではないと判断した場合には、その赤目候補に関する情報を記憶媒体から削除する。一方、赤目候補が真の赤目であると判断した場合には、その正確な位置を求める。
【００４９】
また、赤目確定処理４では、顔の情報を利用して赤目候補の位置を評価し、赤目候補が目の位置としては不適切な位置にある場合には、その赤目候補の情報を記憶媒体から削除する。
【００５０】
例えば、人物の額に日の丸印が赤くペイントされていた場合には、赤目候補検出処理２では、その印が赤目候補として検出され、顔検出処理３では、その印の周辺から顔が検出される。しかし、その後の赤目確定処理４では、その赤目候補が額、すなわち目の位置としては不適切な位置にあるとの判断がなされるので、その赤目候補の情報は記憶媒体から削除される。
【００５１】
図２に例示した画像の場合、赤目確定処理４により、赤目７ａおよび７ｂの正確な位置が確定される。赤目確定処理４では、確定した赤目の位置座標の情報を検出結果５として出力する。
【００５２】
上記手順により赤目を検出する装置は、例えば、メモリなどの記憶媒体と、プログラムに規定された処理を実行し得る演算手段と、外部からのデータ入出力を制御する入出力インタフェースとを備えた装置に、上記各処理を実行させるプログラムを実装することにより実現することができる。
【００５３】
あるいは、赤目候補検出処理２、顔検出処理３および赤目確定処理４を実行するように設計されたメモリ・ロジック混載型デバイスを所定の装置に組み込むことによっても実現できる。
【００５４】
すなわち、汎用のコンピュータはもちろんのこと、デジタル写真プリンタやデジタルカメラなど特定の用途向けに作られた装置であっても、プログラムや半導体デバイスを搭載することが可能な装置はすべて、上記手順により赤目を検出する装置として動作させることができる。
【００５５】
[赤目候補検出処理] 
次に、赤目候補検出処理２（第１の構成要素候補検出処理）について、詳細に説明する。赤目候補検出処理２では、赤目検出装置は、まず、取得した画像の色空間を変換する。具体的には、画像を構成する各画素のＲ(赤)，Ｇ（緑），Ｂ(青)の値を、所定の変換式により、Ｙ（輝度）、Ｃｂ（緑と青の色差）、Ｃｒ（緑と赤の色差）、Ｃｒ＊（肌色と赤の色差）の値に置き換えることにより、画像の表色系を変換する。
【００５６】
Ｙ，Ｃｂ，Ｃｒは、一般にＪＰＥＧ画像などで利用されている座標系であり、Ｃｒ＊は、ＲＧＢ空間において赤色と肌色とをもっともよく分離する方向を表す座標軸である。この座標軸の方向は、赤色のサンプルと肌色のサンプルに線形判別分析法を適用して予め決定しておく。このような座標軸を定義することにより、後に行う判定の精度を、通常のＹＣｂＣｒ空間で判定を行う場合よりも高めることができる。
【００５７】
図３は、色空間変換された後の画像１の一部を拡大して表した図である。赤目検出装置は、次に、図に示すように画像１上に判定対象範囲８を設定し、その判定対象範囲８内の画像が赤目の特徴をどの程度備えているかを調べる。本実施の形態では、判定対象範囲８の大きさは１０画素×１０画素である。
【００５８】
判定対象範囲８内の画像が赤目の特徴をどの程度備えているかは、次のような方法で調べる。まず、予め赤目らしさを表す特徴量と、特徴量の値に応じたスコアと、所定の閾値を定義する。例えば、画素の値が赤色を表す値であることは、その画素の周辺に赤目があると判断する１つの根拠となり得る。よって、画素の値は赤目らしさを表す特徴量となり得る。ここでは、その画素の値を特徴量と定義した場合を例にあげて説明する。
【００５９】
スコアは、どの程度赤目らしいかを表す指標となるものである。上記例の場合であれば、誰の目にも赤色とわかる色を表す画素値には高いスコアが、また、一応赤色ではあるが見る者によっては茶色と判断するかもしれない色を表す画素値には低いスコアがつくように、特徴量とスコアとの対応付けを定義する。一方、明らかに赤色ではない色（例えば黄色）を表す画素値にはゼロまたはマイナスのスコアがつくように、特徴量とスコアとの対応付けを定義する。図４に、特徴量とスコアの対応関係の定義を表すスコアテーブルの例を示す。
【００６０】
判定対象範囲の画像が赤目を表しているか否かは、まず判定対象範囲内の各画素について特徴量を算出し、続いてその特徴量を図４に例示した定義に基づいてスコアに換算し、判定対象範囲内の全画素のスコアを集計する。そして、スコアの集計値が所定の閾値以上であれば判定対象範囲の画像が表す対象は赤目であると判定し、閾値よりも小さければ赤目ではないと判定する。
【００６１】
以上の説明から明らかであるように、この方法では、判定の精度は、特徴量、スコアテーブルおよび閾値の定義のしかたに大きく依存する。このため、本実施の形態では、予め赤目検出装置に、赤目を表すサンプル画像と赤目以外の対象を表すサンプル画像（いずれも１０画素×１０画素）を用いた学習を行わせ、学習により習得した適切な特徴量、スコアテーブルおよび閾値を判定に用いることとしている。
【００６２】
学習の手法は、マシーンラーニング技術として知られているニューラルネットワークの手法あるいはブースティングの手法など公知のあらゆる手法を用いることができ、特に限定されない。
【００６３】
学習用サンプルの中には赤目とわかりにくい画像も取り入れる。例えば、図５（ａ）に示すような標準的なサンプル画像のほか、図５（ｂ）に示すように標準的なサンプル画像とは瞳孔の大きさが異なる画像、図５（ｃ）に示すように瞳孔の中心位置がずれた画像、図５（ｄ）、（ｅ）に示すように、瞳孔の一部分のみが赤くなった不完全な赤目の画像なども学習用サンプルに取り入れる。
【００６４】
これらの学習用サンプルを使って、複数の特徴量の候補の中から有効なものを選出する。そして、選出した特徴量と、生成したスコアテーブルを用いて、赤目を表すサンプル画像に対して上記のような判定処理を繰り返し、判定において所定の正答率を維持できるように閾値を決定する。
【００６５】
この際、本実施の形態では、個々の判定対象範囲について、Ｎ種類（但しＮは２以上の整数）の特徴量、スコアテーブル、閾値を使用してＮ種類の判定を行い、すべての判定において赤目と判定された場合にのみ、その判定対象範囲の座標を赤目候補リストに登録することとしている。すなわち、複数種類の特徴量、スコアテーブル、閾値を組み合わせることにより判定の精度を高め、信頼性の高い判定結果のみがリストに登録されるようにしている。なお、ここで、赤目候補リストへの登録とは、記憶媒体に位置座標データその他の情報を記憶せしめることを意味する。
【００６６】
図６は、Ｎ種類の判定処理の流れを表す図である。赤目検出装置は、まず、図に示すように、設定された判定対象範囲について、１種類目の特徴量算出パラメータ、スコアテーブル、閾値を参照して１回目の判定を行う。特徴量算出パラメータは、特徴量の算出式を定義する係数などのパラメータである。
【００６７】
１回目の赤目判定処理で赤目と判定した場合には、続いて、同じ判定対象範囲について、２種類目の特徴量算出パラメータ、スコアテーブル、閾値を参照して２回目の判定を行う。１回目の赤目判定処理で赤目ではないと判定した場合には、その時点でその判定対象範囲が表す画像は赤目ではないと判断し、次の判定対象範囲を設定する。
【００６８】
以降も、（Ｋ−１）回目の判定（２≦Ｋ≦Ｎ）で赤目と判定した場合には、Ｋ種類目の特徴量算出パラメータ、スコアテーブル、閾値を参照してＫ回目の判定を行い、（Ｋ−１）回目の判定（２≦Ｋ≦Ｎ）で赤目ではないと判定した場合には、その時点でその判定対象範囲についての判定処理を終了する。
【００６９】
なお、各回の判定では、前述のように、まず各画素について特徴量が算出され（Ｓ１０１）、続いてその特徴量がスコアに換算され（Ｓ１０２）、判定対象範囲内の全画素のスコアが集計される（Ｓ１０３）。そして、スコアの集計値が所定の閾値以上であれば判定対象範囲の画像が表す対象は赤目であると判定され、閾値よりも小さければ赤目ではないと判定される（Ｓ１０４）。
【００７０】
赤目検出装置は、Ｎ種類目の特徴量算出パラメータ、スコアテーブル、閾値を参照したＮ回目の判定において赤目と判定した場合のみ、その判定対象範囲の位置座標を赤目候補リストに登録する。
【００７１】
以上に説明した判定処理は、画像１に含まれる赤い部分が１０画素×１０画素の範囲に収まる大きさであることを前提としているが、実際には、図７（ａ）に示すように画像１に含まれる赤目７ｄが１０画素×１０画素の判定対象範囲８よりも大きい場合もある。このため、本実施の形態では、赤目検出装置に入力された画像１に対して上記判定処理を行うのみならず、画像１の解像度を落とすことにより生成した、より低解像度の画像１３に対しても、同じ判定処理を行う。
【００７２】
図７（ｂ）に示すように、画像の解像度を落とせば赤目７ｄは１０画素×１０画素の判定対象範囲８内に納まり、画像１に対する判定と同じ特徴量などを用いて判定を行うことが可能になる。解像度の異なる画像は、赤目検出装置に画像１が入力された時点で生成してもよいし、赤目候補検出処理の実行中に必要に応じて画像１の解像度変換を行って生成してもよい。
【００７３】
なお、判定対象範囲８を細かく（例えば１画素ずつ）ずらして判定を行った場合、図８に示すように、異なる判定対象範囲９、１０を対象とする判定処理において同じ赤目が重複して検出され、１つの赤目が別個の赤目候補１１および１２としてリストに登録されることがある。また、解像度の異なる画像を対象とした検出処理で、同じ赤目が重複して検出されることもある。
【００７４】
このため、本実施の形態では、解像度が異なるすべての画像について判定対象範囲の走査が終了した時点で、赤目候補リストに登録されている座標情報を確認し、明らかに同じ赤目を表していると思われる複数の座標情報を発見した場合には、１個の座標情報のみを残し、他をリストから削除する。具体的には、前述の集計スコアが最も高かったものを赤目候補として残し、他をリストから削除する。
【００７５】
このようにして整理された後の赤目候補リストは赤目候補検出処理２の処理結果として出力され、後に続く顔検出処理３で利用される。
【００７６】
本実施の形態では、以上に説明した赤目候補検出処理において、検出に用いる画像の解像度の選択のしかた、判定対象範囲の設定のしかた、Ｎ種類の特徴量算出パラメータの使用順などを工夫することにより、検出の精度を落とすことなく、計算量を減らして処理時間を短縮している。以下、赤目候補検出処理の処理効率を高める手法について、さらに説明する。
【００７７】
[赤目候補検出処理の効率化のための手法]
以下に説明する赤目候補検出処理の効率化のための手法は、単独で用いてもよいし、組み合わせて用いてもよい。
【００７８】
第１の手法は、Ｎ種類の判定を行う過程で、先に行う判定ほど計算量が少なくなるように、特徴量を定義する方法である。図６を参照して説明したように、本実施の形態では、赤目検出装置は、Ｋ回目の判定で赤目ではないと判定した場合、Ｋ＋１回目以降の判定処理を行わない。これは早い段階で行われる判定処理ほど、実行される回数が多いということである。よって、実行される回数が多い処理を計算量が少ない処理とすれば、全体の処理効率を高めることができる。
【００７９】
上記説明で例示した特徴量の定義、すなわち画素（ｘ，ｙ）の値を特徴量と定義する方法は、最も計算量が少なくなる例といってよい。
【００８０】
このほか、赤目らしさを表す特徴量のうち少ない計算量で求めることができるものとしては、画素（ｘ，ｙ）の値と画素（ｘ＋ｄｘ，ｙ＋ｄｙ）の値の差分が考えられる。瞳孔の周辺の色は、白（白目）、肌色（瞼）など特定の色であることから、差分の値も赤目らしさを表す特徴量となり得る。同様に、画素（ｘ，ｙ）の値と画素（ｘ＋ｄｘ１，ｙ＋ｄｙ１）の値の差分ｖ１と、画素（ｘ，ｙ）の値と画素（ｘ＋ｄｘ１，ｙ＋ｄｙ１）の値の差分ｖ２の組や、４点以上の画素値の差分の組なども赤目らしさの特徴量となり得る。なお、特徴量の算出に必要なｄｘ、ｄｘ１、ｄｘ２、ｄｙ、ｄｙ１あるいはｄｙ２などの値は、特徴量算出パラメータとして記憶しておく。
【００８１】
上記特徴量よりも多くの計算を必要とする特徴量としては、例えば、画素（ｘ，ｙ）近傍の３×３個の画素（画素（ｘ，ｙ）を含む）の値の平均値が考えられる。また、画素(ｘ，ｙ)を中心とする３×３個の画素の縦方向差分と横方向差分の組み合わせも特徴量となり得る。縦方向差分は図９（ａ）に示すようなフィルタを用いて、３×３個の画素の重み付き平均を計算すればよい。同様に、横方向差分は図９（ｂ）に示すようなフィルタを用いて、３×３個の画素の重み付き平均を計算すればよい。同程度の計算量で求められる特徴量としては、例えば特定方向に並んだ画素の値の積分値や平均値がある。
【００８２】
さらに多くの計算を必要とする特徴量もある。図９（ａ）および図９（ｂ）のフィルタを用いて計算した値からは、画素（ｘ，ｙ）における勾配方向、すなわち画素の値（色濃度）が変化する方向を求めることができるが、その勾配方向は、赤目らしさを表す特徴量となり得る。勾配方向は、所定の方向（例えば画素（ｘ，ｙ）から画素（ｘ＋ｄｘ，ｙ＋ｄｙ）に向かう方向）を基準とした勾配方向の角度θとして算出することができる。また、論文「ＤＲ画像における腫瘤影検出−アイリスフィルタ」，松本一男他，電子情報通信学会論文誌，Ｖｏｌ．Ｊ７５−ＤＩＩ，ｎｏ．３，ｐｐ．６６３−６７０，１９９２には、勾配ベクトルの分布に基づいて画像を評価する手法が示されているが、そのような勾配ベクトルの分布も赤目らしさを表す特徴量となり得る。
【００８３】
第２の手法は、第１の手法と同じ考え方に基づいているが、判定に用いる特徴量を、比較的少ない計算量で算出できる特徴量と、算出に多くの計算を要する特徴量の２つのグループに分類して、段階的に判定を行う。すなわち、画像上で、判定対象範囲を２回走査する。
【００８４】
図１０は、第２の手法を用いた場合の判定処理の流れを示すフローチャートである。フローチャートに示すように、１回目の走査では、まず判定対象範囲を設定し（Ｓ２０１）、その判定対象範囲を対象として計算量が少ない特徴量のみを用いて判定を行い（Ｓ２０２）、画像の全域を走査し終えるまで（Ｓ２０３）、判定対象範囲を１画素ずつずらしながら同様の判定を繰り返す。２回目の走査では、１回目の走査で検出された赤目候補の周辺に、その赤目候補を含むような判定対象範囲を設定し（Ｓ２０４）、計算量が多い特徴量のみを用いて判定を行い（Ｓ２０５）、処理すべき赤目候補がなくなるまで（Ｓ２０７）、同様の判定を繰り返す。
【００８５】
この手法では、計算量が多い特徴量を用いた判定処理は、限られた判定対象範囲でしか実行されない。このため、全体として計算量を低減することができ、処理効率を高めることができる。また、第２の手法によれば、最初の走査により得られた判定結果を先に画面などに出力しておいて、次の詳細な判定を行うことができる。すなわち、第１の手法と第２の手法の計算量は同等であるが、ユーザの目からみた装置の反応という点では、第２の手法を採用するほうが好ましい。
【００８６】
なお、第２の手法で、計算量に基づいて特徴量をグループ分けするときのグループ数は２グループに限定されるものではなく、３以上のグループに分類して段階的に判定の精度を高め（計算量が多くなるようにし）てもよい。また、１つのグループに属する特徴量は１種類でも複数種類でもよい。
【００８７】
第３の手法は、図１１に示すように、判定対象範囲を走査する際に１画素ずつではなく２画素以上ずらす方法である。図は１０画素ずつずらす例を示している。判定対象とする範囲の総数が減れば全体の計算量は低減されるので、処理効率を高めることができる。なお、この手法を用いる場合には、図５（ｃ）に例示したように、赤目の中心がずれたサンプル画像を多く用いて学習を行っておくことが好ましい。
【００８８】
第４の手法は、解像度が低い画像を対象とした判定処理を最初に行う方法である。解像度が低い画像では、高解像度の画像と比べ、判定対象範囲は相対的に大きくなるので、画像中の広い範囲をまとめて処理することができる。そこで、先に低解像度の画像で判定を行って、明らかに赤目が含まれていない領域を先に除外しておき、高解像度の画像を用いた判定では除外されなかった一部の領域についてのみ判定を行う。
【００８９】
この手法は、例えば、赤目を有する人物が画像の下半分に配置されており、画像の上半分は真っ暗な夜景であるような画像で、特に有効である。図１２（ａ）および図１２（ｂ）に、そのような画像を例示する。図１２（ａ）は低解像度画像１３、図１２（ｂ）は赤目検出装置に入力された画像１（高解像度画像）を表す。
【００９０】
図１２（ａ）と図１２（ｂ）から明らかであるように、先に低解像度画像１３を用いて判定対象範囲８の全域走査を行えば、画像の上半分の赤目が含まれていない領域を、少ない計算処理で赤目候補から排除することができる。そこで、まず低解像度画像１３の全域で判定対象範囲８を走査して、赤目候補を検出しておき、解像度の高い画像１の赤目候補の周囲でのみ判定対象範囲８を走査して２回目の候補検出を行えば、判定の回数を大幅に低減することができる。なお、この手法を用いる場合には、図５（ｂ）に例示したように、小さい赤目のサンプル画像を多く用いて学習を行っておくことが好ましい。
【００９１】
次に、第３の手法や第４の手法と組み合わせて用いると効果的な第５の手法について、図１３を参照して説明する。第３の手法や第４の手法では、少ない計算量で赤目候補を早く絞り込むことができるものの、検出される赤目候補の位置の検出精度は高いとは言えない。そこで、絞り込んだ赤目候補の周辺で、再度赤目候補の探索を行う。第４の手法を用いた場合には、赤目候補周辺の赤目候補の探索は、より高解像度の画像を対象に行う。
【００９２】
例えば、第３の手法あるいは第４の手法により画素１４を中心画素とする赤目候補が検出された場合には、画素１４を中心とする判定対象範囲１５を設定し、前回の判定と同じ、または前回の判定よりも精度の高い判定に用いられる特徴量、スコアテーブル、閾値を用いて、判定を行う。さらに、画素１４に隣接する画素１６を中心とする判定対象範囲１７を設定し、同じく精度の高い判定を行う。
【００９３】
同様に、画素１４に隣接する他の７個の画素についても、その画素を中心とする判定対象範囲を設定し、赤目か否かの判定を行う。さらに、画素１４に隣接する８個の画素を取り囲むように配置された１６個の画素について、同様の判定を行ってもよい。それらの判定対象範囲のさらに外側に、画素１４を中心とする判定対象範囲１５と少なくとも一部が重複するような判定対象範囲を複数設定して、同様の判定を行ってもよい。
【００９４】
この赤目候補の周辺領域の探索で別の赤目候補が検出された場合には、その赤目候補の座標（例えば画素１６の座標）をリストに追加する。このように、赤目候補の周辺領域を丁寧に探索することによって、正確な赤目候補の位置を得ることができる。
【００９５】
なお、この場合１つの赤目が重複して検出されることとなるので、探索終了後に前述のような整理を行う。具体的には、赤目候補の周辺領域の探索により赤目候補と判定されリストに追加された座標値のうち、判定の際に求めたスコアが最も高かった判定対象範囲の座標値をリストに残し、他の値はリストから削除する。
【００９６】
なお、前述のように、第５の手法では、範囲を絞り込んだ後に再度赤目候補を探索するときの判定の精度を、前回行った判定の精度より高くすることで、検出される赤目候補の位置精度を高めることができる。以下に説明する第６の手法は、２回目以降の探索における判定精度を前回探索時の判定精度よりも高めたい場合に適した手法である。
【００９７】
第６の手法では、前述の第２の手法と同様、特徴量を、比較的少ない計算量で算出できる特徴量と、算出に多くの計算を要する特徴量の２つのグループに分類しておく。
【００９８】
図１４は、第６の手法を用いた場合の判定処理の流れを示すフローチャートである。フローチャートに示すように、１回目の走査では、まず判定対象範囲を設定し（Ｓ２０１）、その判定対象範囲を対象として計算量が少ない特徴量のみを用いて判定を行い（Ｓ２０２）、画像の全域を走査し終えるまで（Ｓ２０３）、判定対象範囲を第３の手法として説明したように大まかに（２画素以上）ずらしながら同様の判定を繰り返す。あるいは、第４の手法として説明したように、低解像度の画像を対象とした走査および判定を行ってもよい。
【００９９】
２回目の走査では、第５の手法として説明したように１回目の走査で検出された赤目候補の周辺に判定対象範囲を設定し（Ｓ２０４）、判定を行い（Ｓ２０６）、処理すべき赤目候補がなくなるまで（Ｓ２０７）、同様の判定を繰り返す。ステップＳ２０６で判定を行う際には、計算量が少ない特徴量と計算量が多い特徴量の両方を用いる。但し、ステップＳ２０６で計算量が少ない特徴量を用いた判定を行うときは、ステップＳ２０２で計算量が少ない特徴量を用いた判定を行うときよりも閾値を高く設定する。具体的には、ステップＳ２０２では、判定対象範囲の中心からはずれた位置に配置されている赤目も検出できるように低めの閾値を用いる。一方、ステップＳ２０６では、判定対象範囲の中心に位置する赤目しか検出できないような高めの閾値を用いる。これにより、検出される赤目の位置精度を高めることができる。
【０１００】
なお、計算量に基づいて特徴量をグループ分けするときのグループ数は２グループに限定されるものではなく、３以上のグループに分類して段階的に判定の精度を高め（計算量が多くなるようにし）てもよい。また、１つのグループに属する特徴量は１種類でも複数種類でもよい。
【０１０１】
本実施の形態の赤目検出装置は、赤目候補の検出を行う際に、必要に応じて上記手法を単独で、あるいは組み合わせて用いるため、効率よく赤目候補を検出することができる。
【０１０２】
なお、上記効率化のための手法は、赤目候補の検出、顔の検出、赤目の確定という手順で検出を行う場合に限らず、特徴量の算出を伴う他の検出処理にも応用できることは当業者にとって明らかであろう。
【０１０３】
[顔検出処理]
次に、顔検出処理３について説明する。顔の検出方法は種々知られているが、各方法の検出特性は、それぞれ異なる。ここで、検出特性とは、言い換えればどのような検出に優れるかということである。例えば、検出特性の例としては、「検出が速い」、「検出率が高い」、「検出精度が高い」、「一般的な顔（例えば正面顔、髭無し顔、眼鏡無し顔など）の検出に優れる（以下一般顔優先という）」、「一般的な顔に対しての特殊顔（横顔、髭あり顔、眼鏡顔など）の検出に優れる（以下特殊顔優先という）」などの例を挙げることができる。但し本明細書において、「検出率が高い」とは、検出漏れ（顔なのに顔として検出されないこと）が少ないことを意味し、「検出精度が高い」とは、誤検出（顔ではないのに顔として検出されること）が少ないことを意味する。
【０１０４】
なお、検出特性は、検出のアルゴリズムにのみ依存するものではなく、アルゴリズムを実行するときの前提条件や環境にも依存する。例えば、画像上で判定対象範囲を走査しながら（ずらしながら）所定の処理を実行するというアルゴリズムは同じであっても、画像上で判定対象範囲を走査するときの走査密度が異なれば検出速度は異なってくる。検出率の高さや検出精度の高さについても同様のことがいえる。
【０１０５】
顔検出処理３では、検出特性が異なる複数の顔検出方法の中から一の顔検出方法を選択して処理を行ってもよいが、本実施形態では、顔の検出漏れを少なくするために、検出特性の異なる複数の顔検出方法を必要に応じて組み合わせて用いる。ある顔検出方法では検出できない顔が画像中に含まれていたとしても、複数種類の顔検出方法を組みあわせて用いれば、その顔を確実に検出できるからである。
【０１０６】
しかしながら、検出漏れの低減と引き換えに処理時間が増加することは好ましくない。そこで、本実施形態では、処理時間の増加を抑制しながら、顔を確実かつ正確に検出するため、検出特性が異なる複数の顔検出方法を組み合わせる際に、次のルールを用いている。
ルール１：検出速度の遅い顔検出方法より検出速度の速い顔検出方法を先に用いる。
ルール２：検出精度の低い顔検出方法より検出精度の高い顔検出方法を先に用いる。
ルール３：特殊顔優先の顔検出方法より一般顔優先の顔検出方法を先に用いる。
ルール４：各顔検出方法を順次用いて顔を検出するが、１つの顔検出方法により顔が検出されれば、それ以降の顔の検出方法による検出をしない。
【０１０７】
本実施形態では、以下に説明する第１、第２、第３の顔検出方法を、上記ルールに従って組み合わせて、顔検出処理３を行う。第１の顔検出方法と第２の顔検出方法は検出のアルゴリズムは同じであるが、検出特性は異なる。第１の顔検出方法は正面顔の検出に優れており、第２の顔検出方法は横顔の検出に優れている。第３の顔検出方法は、アルゴリズム自体が第１、第２の方法と異なる。
【０１０８】
第１の顔検出方法と第２の顔検出方法における顔の検出のアルゴリズムは、赤目候補検出処理２における目の検出アルゴリズムと概ね同じである。具体的には、予めサンプル画像を用いた学習を行うことにより適切な特徴量やスコアテーブルを選出すること、学習により習得された最適な閾値を設定しておくこと、判定対象範囲において画素ごとに特徴量を算出した後その特徴量をスコアに換算し、集計スコアと閾値の比較により判定すること、画像の解像度を変化させながら探索を行うこと、探索の際に画像上に判定対象範囲を設定して、その判定対象範囲内の画像が顔の特徴をどの程度備えているかを調べることなどは、赤目候補検出処理２と同じである。
【０１０９】
但し、特徴量やスコアテーブルを選出するための学習に用いられるサンプルは、無論目ではなく顔のサンプルである。第１の顔検出方法では、学習を行うときに、正面顔の学習が特に重点的に行われる。例えば、学習に用いられるサンプル画像の中に正面顔の画像が多く含まれている。このため、第１の顔検出方法は、正面顔の検出に優れている。一方、第２の顔検出方法では、学習を行うときに、横顔の学習が特に重点的に行われる。このため、第２の顔検出方法は、横顔の検出に優れている。
【０１１０】
また、第１および第２の方法を用いた処理では、画像の全領域において顔を探索することはせず、赤目候補検出処理２により検出された赤目候補を基準とし、赤目候補の周辺においてのみ顔の探索を行う。図１５は、赤目候補１８および１９が検出された画像１上に、判定対象範囲２０を設定した状態を表している。
【０１１１】
また、第１および第２の方法を用いた処理では、図１５に示すように判定対象範囲２０を赤目候補周辺で平行に走査しながら顔を探索するのみならず、図１６に示すように回転させながらの探索も行う。目（瞳孔）と異なり、顔は向きによって算出される特徴量の値が大きく変わってしまうからである。本実施の形態では、所定の向きで顔を検出できなかった場合には、判定対象範囲を３０度回転させ、回転された判定対象範囲について再度特徴量の算出、特徴量のスコアへの換算、スコアの集計および閾値との比較を行う。
【０１１２】
また、第１および第２の方法では、ウェーブレット変換により抽出される特徴量に基づいて、顔か否かの判定を行う。図１７は、顔検出処理の流れを示すフローチャートである。
【０１１３】
赤目検出装置は、まず、判定対象範囲内の画像のＹ（輝度）成分に対し、ウェーブレット変換を施す（Ｓ３０１）。これにより、１／４の大きさのサブバンド画像、ＬＬ０画像、ＬＨ０画像、ＨＬ０画像およびＨＨ０画像（以下これらを、０レベルの画像と称する）、１／１６の大きさのサブバンド画像、ＬＬ１画像、ＬＨ１画像、ＨＬ１画像およびＨＨ１画像が生成される（以下、１レベルの画像と称する）、１／６４のサブバンド画像、ＬＬ２画像、ＬＨ２画像、ＨＬ２画像およびＨＨ２画像が生成される（以下、２レベルの画像と称する）。
【０１１４】
その後、赤目検出装置は、ウェーブレット変換により得られたサブバンド画像を局所分散を用いて正規化し、量子化する（Ｓ３０２）。
【０１１５】
ウェーブレット変換により画像を分解した場合、分解により得られるＬＨ画像は分解前の画像の水平方向のエッジの特徴が強調された画像となる。また、ＨＬ画像は垂直方向のエッジの特徴が強調された画像となる。このため、顔の判定処理では、図１８に示すように、特徴量の算出は、０レベル、１レベルおよび２レベルのＬＨ画像とＨＬ画像を対象として行う（Ｓ３０３）。本実施の形態では、ＬＨ画像、ＨＬ画像のウェーブレット係数の、任意の４点の組み合わせを、顔らしさを表す特徴量と定義する。続いて、赤目候補検出処理２と同様に、算出された特徴量をスコアに換算し（Ｓ３０４）、求められた各画素のスコアを集計し（Ｓ３０５）、集計スコアを閾値と比較する（Ｓ３０５）。赤目検出装置は、集計スコアが閾値以上であれば顔、閾値よりも小さければ顔ではないと判断する。
【０１１６】
なお、上記処理は、顔を表す画像の顔の輪郭に相当する部分や目と肌の境界に相当する部分などには必ずエッジが存在するということを利用して、画像の所定部分に含まれるエッジを顔らしさを表す特徴量と定義し、判定および検出を行うというものである。すなわち、構造に係る情報のみに基づいて顔検出を行っている。ウェーブレット係数を用いる方法以外の方法としては、例えば、画素（ｘ、ｙ）の値と画素（ｘ＋ｄｘ１，ｙ＋ｄｙ１）の値の差分などを特徴量と定義する方法も考えられる。
【０１１７】
これに対し、エッジの情報に色の情報を組み合わせて利用する処理も考えられる。すなわち、顔らしさを表す特徴量は、必ずしも画像のＹ成分のみに基づいて算出される量に限定されず、Ｙ成分、Ｃｂ成分，Ｃｒ成分に基づいて算出される値としてもよい。エッジなど構造に係る特徴量のみによる判定では、顔と類似の構造物が顔として誤検出される可能性を完全には排除できないが、色の情報を合わせて利用することにより誤検出を防止することができる。
【０１１８】
第３の顔検出方法は、赤目候補の周辺で肌色領域を検出し、その検出した肌色領域を顔と判定する方法である。この方法は顔の判定に色の情報しか用いないので第１、第２の顔検出方法と比較すると、検出精度は低いが、検出率は高い。顔を検出できた場合には、赤目候補と顔とを対応付けて顔リストに登録する。
【０１１９】
顔検出処理３では、まず、第１の顔検出方法を用いた第１の顔検出処理（第１の被写体検出処理）を行い、顔が検出されれば、処理を終了する。顔が検出されなかった場合には、第２の顔検出方法を用いた第２の顔検出処理（第２の被写体検出処理）を行なう。第２の顔検出処理により顔が検出されれば、処理を終了する。第２の顔検出処理によっても顔が検出されなかった場合には、さらに第３の顔検出方法を用いて第３の顔検出処理を行う。第３の顔検出処理により顔が検出されれば、顔検出処理を終了する。第３の顔検出処理によっても顔が検出されなかった場合には、顔が検出されなかったという検出結果を出力して顔検出処理３を終了する。
【０１２０】
赤目検出装置は、上記探索により顔を検出できた場合には、探索の基準となった赤目候補と顔とを対応付けて顔リストに登録する。図１５および図１６に示した例では、赤目１８と顔２１の対応付けが顔リストに登録され、さらに赤目１９と顔２１の対応付けが顔リストに登録される。
【０１２１】
また、同じ顔が重複して検出された場合には、登録されている情報を整理する。上記例では、顔２１と赤目候補１８および１９の情報が１つにまとめられ、それらの対応付けがあらためて顔リストに登録される。この顔リストは、後述する赤目確定処理４において参照される。
【０１２２】
［顔検出処理の効率化］
第１または第２の顔検出方法を用いる場合に、赤目候補検出処理の効率化のための手法として説明した手法を応用することにより、顔検出処理を効率化できるということは、当業者にとって明らかであろう。
【０１２３】
例えば、上記エッジを画素（ｘ、ｙ）の値と画素（ｘ＋ｄｘ１，ｙ＋ｄｙ１）の値の差分として表すことにより定義される特徴量と、上記エッジを画素（ｘ、ｙ）における勾配方向として表すことにより定義された特徴量とでは、算出に要する計算量は異なる。よって、顔らしさを表す特徴量として、そのような複数種類の特徴量が定義されている場合には、特徴量を計算量に応じてグループ分けし、計算量が少ない特徴量から順に段階的に判定を行うことにより、検出の精度を低下させることなく計算量を低減することができる。
【０１２４】
また、判定対象範囲を走査する際に数画素ずつずらすことにより、処理時間を短縮することもできる。さらには、低解像度画像を用いて計算量の少ない特徴量に基づく判定を行って、顔が含まれていない範囲を先に除外しておき、その後、高解像度画像を用いて、より計算量の多い特徴量に基づく判定を行うことで、計算量を低減し、処理時間を短縮することができる。また、顔が検出された後、その顔が検出された判定対象範囲の周辺に、少なくとも一部が重なるように判定対象範囲を複数設定して同様の判定を行なったり、前回と同じ特徴量について、より閾値を高く設定して判定を行うことにより、検出の位置精度を高めることもできる。
【０１２５】
なお、赤目候補検出処理の場合と同様、上記各効率化手法は、単独で用いることも、組み合わせて用いることもできる。
【０１２６】
［赤目確定処理］
次に、赤目確定処理４について説明する。赤目確定処理４では、顔検出処理３において顔と対応付けられて記憶された赤目候補が真の赤目か否かをあらためて判定する。言い換えれば、赤目候補検出処理２の検出結果を検証する。赤目確定処理４において行う赤目の判定は赤目検出装置の検出結果を左右する最終判断であるため、赤目候補検出処理２において行う赤目の判定よりも正確に行う必要がある。以下、赤目確定処理４における赤目の判定処理について説明する。
【０１２７】
図１９は、赤目候補検出処理２において画像１の中から検出された赤目候補１８および１９と、顔検出処理３において検出された顔２１と、赤目確定処理４において画像１上に設定された探索範囲２２を表している。赤目候補検出処理２は文字通り赤目候補を検出することが目的であったため、赤目を探索する範囲は画像全体であった。これに対し、赤目確定処理４は、赤目候補検出処理２の検出結果の検証が目的であるため、探索範囲は、図に示すように赤目候補の近傍に限定してよい。
【０１２８】
また、赤目確定処理４では、顔検出処理３において取得された顔の大きさや向きの情報を参照して、赤目候補の向きを推定し、赤目候補の大きさや向きにあった探索範囲を設定する。すなわち、瞳孔の上下方向が探索範囲の縦方向となるように探索範囲を設定する。図１９に示した例は、探索範囲２２を、顔２１の傾きに合わせて斜めに設定したところを表している。
【０１２９】
次に、探索範囲２２で行う赤目判定処理について説明する。図２０は、図１９に例示した赤目候補１８近傍の探索範囲２２を表す図である。赤目判定処理では、探索範囲２２中に、判定対象範囲２３を設定する。
【０１３０】
続いて、赤目候補検出処理２で行う赤目判定と同じように、判定対象範囲２３の各画素について特徴量の計算を行い、計算により求められた特徴量をスコアテーブルを用いて赤目らしさを表すスコアに換算する。そして、判定対象範囲２３内のすべての画素に対応するスコアの集計値が閾値よりも大きければ赤目と判定し、閾値よりも小さければ赤目ではないと判定する。
【０１３１】
以降、探索範囲２２内で、判定対象範囲２３を走査しながら、同様の判定を繰り返す。赤目確定処理４の場合には、赤目候補検出処理２と異なり、探索範囲２２内には必ず赤目候補が存在する。したがって、探索範囲２２内で判定対象範囲２３を走査しながら判定を行った場合には、多くの領域で赤目であるという判定結果が得られるはずである。探索範囲２２内で判定対象範囲２３を走査しながら判定を行ったにも拘わらず、赤目であると判定された回数が少ないとすれば、その赤目候補１８は赤目ではない可能性がある。これは、判定対象範囲２３を走査する過程で赤目と判定された回数が、赤目候補検出処理２の検出結果の信頼性を表す指標として有効であることを意味する。
【０１３２】
また、赤目確定処理４では、赤目候補検出処理２と同様、解像度の異なる複数の画像を対象として赤目の判定を行う。図２１は、解像度の異なる画像１、２４および２６の赤目候補１８周辺に、同じ大きさの探索領域２２、２５および２７を設定した状態を表している。
【０１３３】
赤目確定処理４では、赤目候補検出処理２の場合と異なり、画像の解像度を細かく変更する。具体的には、図２１（ｂ）の画像２４や図２１（ｃ）の画像２６の画素数が、図２１（ａ）の画像１の画素数の、例えば９８％、９６％程度となるように細かく解像度を変化させる。
【０１３４】
本実施の形態の赤目確定処理４では、異なる解像度の画像上の各探索範囲内で赤目と判定された回数の合計が所定の回数より多い場合に、その赤目候補は真の赤目であると判断する。一方、その回数が所定の回数以下であるときは、その赤目候補は誤検出されたものであり、真の赤目ではないと判断する。この場合、赤目検出装置は、その赤目候補の情報を、その情報が記憶されているリストから削除する。あるいは、判定回数の合計ではなく、前記スコアの集計値を利用して真の赤目か否かを判断してもよい。さらには、判定回数の合計とスコアの集計値の両方を利用して真の赤目か否かの判断を行なってもよい。
【０１３５】
赤目確定処理４では、赤目候補が真の赤目であると判断した場合には、次にその赤目の位置を確定する。前述のように、探索範囲内で判定対象範囲を走査しながら判定を行った場合には、多くの判定対象範囲で赤目であるという判定結果が得られる。そこで、本実施の形態では、赤目であるという判定結果が得られた複数の判定対象範囲の中心座標の重み付け平均値を赤目の位置を表す値と定義している。重み付けは、判定対象範囲を対象として赤目判定を行ったときに求める集計スコアに応じた重み付けをする。
【０１３６】
図２２は、赤目の位置座標を確定する方法について説明するための図であり、探索範囲２２と、赤目であるという判定結果が得られた判定対象範囲の中心座標（図中の×印）を示している。このようにＭ個（Ｍは任意の整数。図の例では４８。）の判定対象範囲で赤目であるとの判定結果が得られた場合には、ｉ番目（０≦ｉ＜Ｍ）の判定対象範囲の中心座標を（ｘｉ，ｙｉ）、ｉ番目の判定対象範囲の赤目判定処理で得られた集計スコアをＳｉと表すこととすると、赤目の位置（ｘ，ｙ）は、次式（１）により表される。
【数１】
2006285944.tif 000003
【０１３７】
図２３は、以上に説明した赤目確定処理の流れをまとめたフローチャートである。フローチャートに示すように、赤目確定処理では、まず赤目候補の周辺に探索範囲を設定し（Ｓ４０１）、その探索範囲を対象として図１９から図２１を参照して説明したような赤目判定を行う（Ｓ４０２）。探索範囲の探索が終了したら（Ｓ４０３）、探索の過程で赤目と判定された回数を所定の値と比較する（Ｓ４０４）。赤目と判定された回数が所定値以下であれば、その赤目候補をリストから削除する。赤目と判定された回数が所定値より大きければ、次に図２２を参照して説明した処理により赤目の位置を確定する（Ｓ４０５）。赤目候補検出処理２において検出された全ての赤目候補について上記処理が終了したら（Ｓ４０６）、赤目確定処理は終了する。
【０１３８】
なお、赤目確定処理４において探索範囲内で判定対象範囲を設定して赤目判定を行うときに算出する特徴量、スコア変換に用いるスコアテーブルおよび判定に用いる閾値は、赤目候補検出処理２において赤目判定に使用した特徴量、スコアテーブルおよび閾値をそのまま用いてもよいし、別途、赤目確定処理４用の特徴量、スコアテーブルおよび閾値を用意してもよい。
【０１３９】
赤目確定処理４用に特徴量、スコアテーブルおよび閾値を定義する場合には、学習を行う際に用いるサンプル画像として、標準的な赤目を表す画像のみを用いる。すなわち、大きさ、方向ともに似たような赤目のサンプル画像のみを集めて学習を行わせる。これにより、真の赤目以外は検出されないようにして、判定の精度を高める。
【０１４０】
赤目候補検出処理２の場合には、学習に用いるサンプル画像のバリエーションを少なくしてしまうと検出漏れが発生する可能性が高くなるので好ましくない。しかし、赤目確定処理４は、検出結果を検証する目的で行う処理であり、また赤目候補が検出された範囲を探索範囲とするため、学習しておくべきサンプル画像のバリエーションは比較的少なくてよい。赤目確定処理４では、学習に用いるサンプル画像のバリエーションが少ない分、赤目か否かの判定基準は厳しくなるため、赤目候補検出処理２よりも識別の精度は高くなる。
【０１４１】
なお、赤目確定処理４にも、前述した赤目候補検出処理の効率化のための各手法を、応用できるということは、当業者にとって明らかであろう。また、検出結果の信頼度は、上記赤目判定におけるスコア集計値や判定回数に表れるのみならず、顔検出処理におけるスコア集計値、さらには赤目候補を顔と対応付けたときの顔と目の大きさあるいは位置の関係にも表れるので、それらの情報を利用して赤目候補が真の赤目か否かの最終判断を下すようにしてもよい。
【０１４２】
赤目候補検出処理２の処理結果を赤目確定処理４において検証すれば、検出の精度を高めることができ、また検出する赤目の正確な位置座標を得ることもできる。特に、本実施の形態では、赤目候補周辺で判定対象範囲を細かく移動させながら繰り返し判定を行い、あるいは画像の解像度を細かく変化させながら繰り返し判定を行い、スコアに基づく重み付き平均をとることによって赤目の位置を確定する。このため、ある領域において誤った判定がなされたとしても、その結果が最終出力に与える影響は少ない。
【０１４３】
本実施の形態の方法は、赤目候補の検出、顔の検出、赤目の確定という３段階の処理を要するため、従来の方法よりも処理が増加するように見える。しかしながら、実際には赤目確定処理４は、上記説明から明らかであるように、顔について複雑な特徴抽出処理を行うことに比べれば、計算量は遥かに少ない。また、対象範囲も赤目候補周辺に限定しているため、従来に比べて大幅に処理が増えたり、装置が複雑になったりすることはない。
【０１４４】
なお、最初に比較的緩い条件で判定を行って候補を検出しておき、後に検出された候補の近傍において、より厳しい条件で判定を行うことにより最初の検出結果を検証するという上記手法は、赤目の検出に限らず、あらゆる対象の検出に適用可能である。その対象があると判定された回数によって検出結果を検証したり、重複検出された位置の重み付け平均値を求めて位置を確定したりする手法は、検出対象によらず検出精度を高める上で極めて有効な手法と言える。
【０１４５】
［再検出処理］
前述したように、本実施形態では、顔検出処理３において検出された顔が正面顔であるにも拘らず、赤目確定処理４により赤目として確定された赤目候補の数が１または０である場合には、赤目候補検出処理２よりも精度の高い第２の赤目候補検出処理を行い、再検出された赤目候補と、先に顔検出処理３において検出された顔の情報とに基づいて、再度赤目確定処理４を行う。また、赤目候補周辺で検出された顔が横顔であり、しかし赤目として確定された赤目候補の数が０である場合にも、同様の処理を行う。以下、この赤目候補の再検出（第２の構成要素候補検出処理）について説明する。
【０１４６】
赤目であるのに、赤目候補検出処理２により赤目候補として検出されなかった要因としては種々考えられる。例えば、赤目候補を検出する際に、処理速度を優先するために走査密度を低く、すなわち図３に示す画像１上における判定対象範囲８を移動する際の移動量（画素数）を大きくして検出を行ったことや、想定していた赤目のサイズに適した大きさ（例えば１０画素×１０画素）の判定対象範囲８で赤目候補を検出したが、実際の赤目のサイズが想定していた赤目のサイズより小さいことなどが考えられる。そこで、再検出処理では、画像全体を探索範囲として、前回実行した赤目候補検出処理よりも検出率が高い検出方法を用いて処理を行う。
【０１４７】
前回実行した赤目候補検出処理よりも検出率が高い赤目検出方法としては、下記のものが考えられる。
【０１４８】
まず、前回実行した赤目候補検出処理で、判定対象範囲を低い走査密度で走査した場合には、再検出処理では、判定対象範囲を走査する密度を高くすることが考えられる。この際、前回の赤目候補検出処理で、判定対象範囲から漏れてしまった画素のみを走査するようにしてもよい。
【０１４９】
また、画像に対して初めて赤目候補検出処理を施す場合と異なり、再検出処理では、顔検出処理３により顔領域が検出されている。よって、この顔領域の画像を拡大して、拡大された顔領域画像を対象に再検出を行ってもよい。
【０１５０】
また、顔検出処理３により検出された顔領域の画像を、赤目候補を検出しやすい画像となるように前処理した後に、再検出を行う方法も考えられる。
【０１５１】
赤目候補を検出しやすくするための前処理としては、顔領域に赤味が比較的強い部分がある場合にその赤味を強調する処理が考えられる。例えば、処理前の画素値を横軸、処理後の画素値を縦軸とした場合に処理前後の画素値の関係がＳ字カーブとして示されるような置換テーブルを用意する。図２５は、そのような置換テーブルの一例を示す図であり、処理前後の画素値の関係は実線２８により示されている。なお、図２５において破線２９は「入力値＝出力値」の関係を示している。
【０１５２】
そして、この置換テーブルを用いて、顔領域を構成する各画素のＲ値、Ｇ値、Ｂ値を、それぞれ置換する。この場合、図２５の実線２８と破線２９とが交差する点の画素値をＴとすると、画素値のＲが値Ｔよりも大きい場合にＲの値は、より大きな値に置換される。その結果、赤味が比較的強い領域（Ｒ＞Ｔの領域）は赤味がより強調されることになる。
【０１５３】
この他、赤目候補を検出しやすくするための前処理としては、顔領域における赤い領域を拡大する処理が考えられる。赤い領域を拡大するには、例えば、顔領域の画像のＲチャンネルに対しては最大値フィルタを適用すると共に、Ｇチャンネル、Ｂチャンネルに対して最小値フィルタを適用すればよい。ここで、最大値フィルタとは、フィルタ内の各画素の画素値を、これらの各画素値のうちの最大値に変換するフィルタであり、最小値フィルタとは、フィルタ内の各画素の画素値を、これらの各画素値のうちの最小値に変換するフィルタである。このようなフィルタにより画像を処理すれば、少しでも赤味を含んだ領域はすべて鮮鋭な赤色になるため、結果として赤い領域が拡大される。
【０１５４】
赤目候補検出処理２では、上述した方法のうちの１つまたは複数の組合せを用いて赤目候補の再検出を行う。再検出処理により検出された赤目候補に対して施される顔検出処理３および赤目確定処理４の処理は、最初に検出された赤目候補に対して施される顔検出処理３および赤目確定処理４の処理と同じであるので、詳細な説明は省略する。
【０１５５】
なお、前述した赤目候補検出処理の効率化のための各手法を、再検出処理の検出精度が赤目候補検出処理の検出精度よりも低くならない範囲で、再検出処理にも適用できるということは、当業者にとって明らかであろう。
【０１５６】
このように、再検出処理は、前の赤目確定処理により確定された赤目が１つ以下である場合においてのみ行われるので、はじめから検出率の高い赤目候補検出方法を用いるより全体の処理時間は短くなり、また赤目があれば確実に赤目を確定することができる。
【０１５７】
［検出結果の利用］
赤目の検出結果は、例えば赤目の修正に利用される。図２４は、赤目を修正する処理の一例を示す図である。例示した処理では、まず検出された赤目について、色差Ｃｒの値が所定の値を越えている画素を抽出する。続いて、モフォロジー処理を施して、その領域を整形する。最後に、整形した領域を構成する各画素の色を、瞳孔の色として適切な色（所定の明るさのグレーなど）に置き換える。
【０１５８】
なお、画像中の赤目の修正処理については、その他公知のあらゆる手法を採用することができる。
【０１５９】
あるいは、赤目を検出した後、赤目現象が発生したことの警告のみ行い、赤目の修正は行わないという形態も考えられる。例えば、デジタルカメラに赤目検出機能を実装し、撮影直後の画像を対象として赤目検出処理を実行し、赤目が検出された際にカメラのスピーカから撮り直しを促す警告音を出力させる形態などが、これに相当する。
【０１６０】
なお、警告音の出力のみでよい場合には、必ずしも赤目の正確な位置座標は必要ないので、赤目確定処理４のうち位置を確定する処理は省略してもよい。
【０１６１】
［他の実施形態］
以上、本発明の実施の形態およびその変更例、組み合わせ例について詳細に説明したが、本発明の技術的範囲は上記各例に限定されるものではなく、本発明の主旨を逸脱しない限り、種々の変更、増減、組み合わせをすることができる。
【０１６２】
例えば、再検出処理の一例として、顔領域の画像を、赤目候補を検出しやすい画像となるように前処理することを提案したが、このような前処理は、赤目候補検出処理２を行う前に画像全体に対して施してもよい。
【０１６３】
また、赤目候補検出処理に先立ち、まず画像から肌色領域を検出し、検出された肌色領域上においてのみ赤目候補検出処理以降の処理を行う方法も考えられる。
【０１６４】
また、本発明は、光った目の色が赤色以外の場合でも適用可能である。例えば、人間の目は光の反射具合によっては、金色に写ることもある。また、夜行性動物の目は、網膜の裏に光を反射させる層(タペータム)を備えているが、タペータムでの反射が原因の場合、目の色は黄緑色に写ることが多い。本発明は、これら他の色の目の検出にも適用できる。なお、異常な色の目のみならず、正常な色の目（日本人であれば黒目）の検出にも適用できる。また、目に限らず、鼻、口、耳など顔を構成する他の部位の検出にも適用することができる。
【０１６５】
また、本発明による検出の対象は、顔を構成する部位には限られない。例えば車両、ナンバープレートのそれぞれについて、サンプル画像を用いた学習を行って適切な特徴量や閾値を選出すれば、本発明を利用して車両が写った画像からナンバープレートを検出することができる。本発明が、その他のあらゆる被写体の構成要素の検出に適用し得る発明であることは、当業者であれば容易に理解できるであろう。
【図面の簡単な説明】
【０１６６】
【図１】赤目検出の手順を示す図
【図２】赤目検出の対象となる画像の一例を示す図
【図３】赤目検出の対象となる画像の一部を拡大して表した図
【図４】特徴量とスコアの対応関係の定義（スコアテーブル）の一例を示す図
【図５】赤目の学習用サンプルの例を示す図
【図６】Ｎ種類の判定処理の流れを示す図
【図７】赤目の検出と画像解像度の関係について説明するための図
【図８】重複検出された赤目候補に対する処理について説明するための図
【図９】特徴量の算出方法の一例を示す図
【図１０】赤目候補検出処理の処理効率を高めるための第２の手法について説明するための図
【図１１】赤目候補検出処理の処理効率を高めるための第３の手法について説明するための図
【図１２】赤目候補検出処理の処理効率を高めるための第４の手法について説明するための図
【図１３】赤目候補検出処理の処理効率を高めるための第５の手法について説明するための図
【図１４】赤目候補検出処理の処理効率を高めるための第６の手法について説明するための図
【図１５】顔検出処理における判定対象範囲の走査について説明するための図
【図１６】顔検出処理における判定対象範囲の回転について説明するための図
【図１７】顔検出処理の流れを示すフローチャート
【図１８】顔検出処理における特徴量の算出方法について説明するための図
【図１９】赤目確定処理における探索範囲の設定方法について説明するための図
【図２０】図１９の探索範囲内に設定された判定対象範囲の例を示す図
【図２１】解像度の異なる画像上に探索範囲を設定した例を表す図
【図２２】赤目の位置を確定する処理について説明するための図
【図２３】赤目確定処理の流れを示すフローチャート
【図２４】赤目修正処理の一例を示す図
【図２５】赤い領域を検出しやすくするための前処理について説明するための図
【符号の説明】
【０１６７】
６，２１  顔
７ａ，７ｂ，７ｃ，７ｄ，１１，１２，１８，１９  赤目候補
８，９，１０，１５，１７，２３  赤目の判定対象範囲
１３，２４，２６  低解像度画像
１４，１６  画素
２０  顔の判定対象範囲
２２，２５，２７  探索範囲
【図１】
2006285944.tif 000004
【図２】
2006285944.tif 000005
【図３】
2006285944.tif 000006
【図４】
2006285944.tif 000007
【図５】
2006285944.tif 000008
【図６】
2006285944.tif 000009
【図７】
2006285944.tif 000010
【図８】
2006285944.tif 000011
【図９】
2006285944.tif 000012
【図１０】
2006285944.tif 000013
【図１１】
2006285944.tif 000014
【図１２】
2006285944.tif 000015
【図１３】
2006285944.tif 000016
【図１４】
2006285944.tif 000017
【図１５】
2006285944.tif 000018
【図１６】
2006285944.tif 000019
【図１７】
2006285944.tif 000020
【図１８】
2006285944.tif 000021
【図１９】
2006285944.tif 000022
【図２０】
2006285944.tif 000023
【図２１】
2006285944.tif 000024
【図２２】
2006285944.tif 000025
【図２３】
2006285944.tif 000026
【図２４】
2006285944.tif 000027
【図２５】
2006285944.tif 000028