(57)【特許請求の範囲】
【請求項１】
入力画像に含まれる顔を、検出すべき顔の傾きを変えながら検出する顔検出方法であって、
前記検出すべき顔の傾きが、顔を検出する確率が相対的に高い第１の傾きであるときに、第１の検出処理を行い、前記検出すべき顔の傾きが、前記第１の傾きとは異なる傾きであるときに、前記第１の検出処理に比して相対的に顔を検出する確率が低く処理時間が短い第２の検出処理を行い、
前記第１および第２の検出処理が、検出すべき顔の位置を前記入力画像上で所定の変化幅ずつ変えながら検出するものであり、
前記第１の検出処理が、該変化幅が相対的に狭い検出処理であり、
前記第２の検出処理が、該変化幅が相対的に広い検出処理であることを特徴とする顔検出方法。
【請求項２】
入力画像に含まれる顔を、検出すべき顔の傾きを変えながら検出する顔検出方法であって、
前記検出すべき顔の傾きが、顔を検出する確率が相対的に高い第１の傾きであるときに、第１の検出処理を行い、前記検出すべき顔の傾きが、前記第１の傾きとは異なる傾きであるときに、前記第１の検出処理に比して相対的に顔を検出する確率が低く処理時間が短い第２の検出処理を行い、
前記第１および第２の検出処理が、検出すべき顔の大きさを所定の変化幅ずつ変えながら検出するものであり、
前記第１の検出処理が、該変化幅が相対的に小さい検出処理であり、
前記第２の検出処理が、該変化幅が相対的に大きい検出処理であることを特徴とする顔検出方法。
【請求項３】
入力画像に含まれる顔を、検出すべき顔の傾きを変えながら検出する顔検出方法であって、
前記検出すべき顔の傾きが、顔を検出する確率が相対的に高い第１の傾きであるときに、第１の検出処理を行い、前記検出すべき顔の傾きが、前記第１の傾きとは異なる傾きであるときに、前記第１の検出処理に比して相対的に顔を検出する確率が低く処理時間が短い第２の検出処理を行い、
前記第１および第２の検出処理が、前記検出すべき顔の位置において部分画像を切り出し、該部分画像の画像上の特徴量に基づいて該部分画像が顔画像である蓋然性を示す指標値を算出し、該指標値の閾値判定により該部分画像が顔画像であるか否かを判別する、複数の異なる弱判別器をカスケード接続した判別器を用いて、前記部分画像が顔画像であるか否かを判別するものであり、
前記カスケード接続された複数の弱判別器の各々において実施される前記閾値判定は、前記指標値が第１の閾値を超える場合には該部分画像を顔画像と判別し、前記指標値が第１の閾値よりも小さい値の第２の閾値を下回る場合には該部分画像を非顔画像と判別し、どちらにも該当しない場合には該部分画像が顔画像である可能性を残すものであると判定し次の弱判別器への入力とするものであり、
前記第１の検出処理が、前記第２の閾値が相対的に小さい検出処理であり、前記第２の検出処理が、前記第２の閾値が相対的に大きい検出処理であることを特徴とする顔検出方法。
【請求項４】
前記第１の傾きが、前記入力画像の垂直方向または水平方向と略一致する傾きであることを特徴とする請求項１，２，３いずれか記載の顔検出方法。
【請求項５】
前記検出すべき顔の傾き毎に、前記第１の検出処理を行う第１の検出器と前記第２の検出処理を行う第２の検出器の２種類の検出器を予め用意し、
前記第１および第２の検出処理が、前記２種類の検出器を前記検出すべき顔の傾きに応じて切り替えて用いることにより行われるものであることを特徴とする請求項１，２，３，4いずれか記載の顔検出方法。
【請求項６】
入力画像を走査し、検出すべき顔の位置に応じて検出処理の変更を可能とする顔検出方法であって、
前記検出すべき顔の位置が、顔を検出する確率が相対的に高い第１の位置であるときに、第１の検出処理を行い、前記検出すべき顔の位置が、前記第１の位置とは異なる位置であるときに、前記第１の検出処理に比して相対的に顔を検出する確率が低く処理時間が短い第２の検出処理を行い、
前記第１および第２の検出処理が、前記検出すべき顔の位置を所定の変化幅ずつ変えながら検出するものであり、
前記第１の検出処理が、該変化幅が相対的に狭い検出処理であり、
前記第２の検出処理が、該変化幅が相対的に広い検出処理であることを特徴とする顔検出方法。
【請求項７】
入力画像を走査し、検出すべき顔の位置に応じて検出処理の変更を可能とする顔検出方法であって、
前記検出すべき顔の位置が、顔を検出する確率が相対的に高い第１の位置であるときに、第１の検出処理を行い、前記検出すべき顔の位置が、前記第１の位置とは異なる位置であるときに、前記第１の検出処理に比して相対的に顔を検出する確率が低く処理時間が短い第２の検出処理を行い、
前記第１および第２の検出処理が、検出すべき顔の大きさを所定の変化幅ずつ変えながら検出するものであり、
前記第１の検出処理が、該変化幅が相対的に小さい検出処理であり、
前記第２の検出処理が、該変化幅が相対的に大きい検出処理であることを特徴とする顔検出方法。
【請求項８】
入力画像を走査し、検出すべき顔の位置に応じて検出処理の変更を可能とする顔検出方法であって、
前記検出すべき顔の位置が、顔を検出する確率が相対的に高い第１の位置であるときに、第１の検出処理を行い、前記検出すべき顔の位置が、前記第１の位置とは異なる位置であるときに、前記第１の検出処理に比して相対的に顔を検出する確率が低く処理時間が短い第２の検出処理を行い、
前記第１および第２の検出処理が、前記検出すべき顔の位置において部分画像を切り出し、該部分画像の画像上の特徴量に基づいて該部分画像が顔画像である蓋然性を示す指標値を算出し、該指標値の閾値判定により該部分画像が顔画像であるか否かを判別する、複数の異なる弱判別器をカスケード接続した判別器を用いて、前記部分画像が顔画像であるか否かを判別するものであり、
前記カスケード接続された複数の弱判別器の各々において実施される前記閾値判定は、前記指標値が第１の閾値を超える場合には該部分画像を顔画像と判別し、前記指標値が第１の閾値よりも小さい値の第２の閾値を下回る場合には該部分画像を非顔画像と判別し、どちらにも該当しない場合には該部分画像が顔画像である可能性を残すものであると判定し次の弱判別器への入力とするものであり、
前記第１の検出処理が、前記第２の閾値が相対的に小さい検出処理であり、前記第２の検出処理が、前記第２の閾値が相対的に大きい検出処理であることを特徴とする顔検出方法。
【請求項９】
前記第１の位置が、前記入力画像上の該画像の中心を含む所定領域内の位置であることを特徴とする請求項６，７，８いずれか記載の顔検出方法。
【請求項１０】
入力画像に含まれる顔を、検出すべき顔の傾きを変えながら検出する顔検出装置であって、
前記検出すべき顔の傾きが、顔を検出する確率が相対的に高い第１の傾きであるときに、第１の検出処理を行い、前記検出すべき顔の傾きが、前記第１の傾きとは異なる傾きであるときに、前記第１の検出処理に比して相対的に顔を検出する確率が低く処理時間が短い第２の検出処理を行う検出処理手段を備え、
前記第１および第２の検出処理が、検出すべき顔の位置を前記入力画像上で所定の変化幅ずつ変えながら検出するものであり、
前記第１の検出処理が、該変化幅が相対的に狭い検出処理であり、
前記第２の検出処理が、該変化幅が相対的に広い検出処理であることを特徴とする顔検出装置。
【請求項１１】
入力画像に含まれる顔を、検出すべき顔の傾きを変えながら検出する顔検出装置であって、
前記検出すべき顔の傾きが、顔を検出する確率が相対的に高い第１の傾きであるときに、第１の検出処理を行い、前記検出すべき顔の傾きが、前記第１の傾きとは異なる傾きであるときに、前記第１の検出処理に比して相対的に顔を検出する確率が低く処理時間が短い第２の検出処理を行う検出処理手段を備え、
前記第１および第２の検出処理が、検出すべき顔の大きさを所定の変化幅ずつ変えながら検出するものであり、
前記第１の検出処理が、該変化幅が相対的に小さい検出処理であり、
前記第２の検出処理が、該変化幅が相対的に大きい検出処理であることを特徴とする顔検出装置。
【請求項１２】
入力画像に含まれる顔を、検出すべき顔の傾きを変えながら検出する顔検出装置であって、
前記検出すべき顔の傾きが、顔を検出する確率が相対的に高い第１の傾きであるときに、第１の検出処理を行い、前記検出すべき顔の傾きが、前記第１の傾きとは異なる傾きであるときに、前記第１の検出処理に比して相対的に顔を検出する確率が低く処理時間が短い第２の検出処理を行う検出処理手段を備え、
前記第１および第２の検出処理が、前記検出すべき顔の位置において部分画像を切り出し、該部分画像の画像上の特徴量に基づいて該部分画像が顔画像である蓋然性を示す指標値を算出し、該指標値の閾値判定により該部分画像が顔画像であるか否かを判別する、複数の異なる弱判別器をカスケード接続した判別器を用いて、前記部分画像が顔画像であるか否かを判別するものであり、
前記カスケード接続された複数の弱判別器の各々において実施される前記閾値判定は、前記指標値が第１の閾値を超える場合には該部分画像を顔画像と判別し、前記指標値が第１の閾値よりも小さい値の第２の閾値を下回る場合には該部分画像を非顔画像と判別し、どちらにも該当しない場合には該部分画像が顔画像である可能性を残すものであると判定し次の弱判別器への入力とするものであり、
前記第１の検出処理が、前記第２の閾値が相対的に小さい検出処理であり、前記第２の検出処理が、前記第２の閾値が相対的に大きい検出処理であることを特徴とする顔検出装置。
【請求項１３】
前記第１の傾きが、前記入力画像の垂直方向または水平方向と略一致する傾きであることを特徴とする請求項１０，１１，１２いずれか記載の顔検出装置。
【請求項１４】
前記検出処理手段が、前記検出すべき顔の傾き毎に、前記第１の検出処理を行う第１の検出器と前記第２の検出処理を行う第２の検出器の２種類の検出器を備え、
該２種類の検出器を前記検出すべき顔の傾きに応じて切り替えて用いるものであることを特徴とする請求項１０，１１，１２，１３いずれか記載の顔検出装置。
【請求項１５】
入力画像を走査し、検出すべき顔の位置を前記入力画像上で変えながら検出する顔検出装置であって、
前記検出すべき顔の位置が、顔を検出する確率が相対的に高い第１の位置であるときに、第１の検出処理を行い、前記検出すべき位置が、前記第１の位置とは異なる位置であるときに、前記第１の検出処理に比して相対的に顔を検出する確率が低く処理時間が短い第２の検出処理を行う検出手段を備え、
前記第１および第２の検出処理が、前記検出すべき顔の位置を所定の変化幅ずつ変えながら検出するものであり、
前記第１の検出処理が、該変化幅が相対的に狭い検出処理であり、
前記第２の検出処理が、該変化幅が相対的に広い検出処理であることを特徴とする顔検出装置。
【請求項１６】
入力画像を走査し、検出すべき顔の位置を前記入力画像上で変えながら検出する顔検出装置であって、
前記検出すべき顔の位置が、顔を検出する確率が相対的に高い第１の位置であるときに、第１の検出処理を行い、前記検出すべき位置が、前記第１の位置とは異なる位置であるときに、前記第１の検出処理に比して相対的に顔を検出する確率が低く処理時間が短い第２の検出処理を行う検出手段を備え、
前記第１および第２の検出処理が、検出すべき顔の大きさを所定の変化幅ずつ変えながら検出するものであり、
前記第１の検出処理が、該変化幅が相対的に小さい検出処理であり、
前記第２の検出処理が、該変化幅が相対的に大きい検出処理であることを特徴とする顔検出装置。
【請求項１７】
入力画像を走査し、検出すべき顔の位置を前記入力画像上で変えながら検出する顔検出装置であって、
前記検出すべき顔の位置が、顔を検出する確率が相対的に高い第１の位置であるときに、第１の検出処理を行い、前記検出すべき位置が、前記第１の位置とは異なる位置であるときに、前記第１の検出処理に比して相対的に顔を検出する確率が低く処理時間が短い第２の検出処理を行う検出手段を備え、
前記第１および第２の検出処理が、前記検出すべき顔の位置において部分画像を切り出し、該部分画像の画像上の特徴量に基づいて該部分画像が顔画像である蓋然性を示す指標値を算出し、該指標値の閾値判定により該部分画像が顔画像であるか否かを判別する、複数の異なる弱判別器をカスケード接続した判別器を用いて、前記部分画像が顔画像であるか否かを判別するものであり、
前記カスケード接続された複数の弱判別器の各々において実施される前記閾値判定は、前記指標値が第１の閾値を超える場合には該部分画像を顔画像と判別し、前記指標値が第１の閾値よりも小さい値の第２の閾値を下回る場合には該部分画像を非顔画像と判別し、どちらにも該当しない場合には該部分画像が顔画像である可能性を残すものであると判定し次の弱判別器への入力とするものであり、
前記第１の検出処理が、前記第２の閾値が相対的に小さい検出処理であり、前記第２の検出処理が、前記第２の閾値が相対的に大きい検出処理であることを特徴とする顔検出装置。
【請求項１８】
前記第１の位置が、前記入力画像上の該画像の中心を含む所定領域内の位置であることを特徴とする請求項１５，１６，１７いずれか記載の顔検出装置。
【請求項１９】
コンピュータを、
入力画像に含まれる顔を、検出すべき顔の傾きを変えながら検出する顔検出装置として機能させるためのプログラムであって、
該コンピュータを、
前記検出すべき顔の傾きが、顔を検出する確率が相対的に高い第１の傾きであるときに、第１の検出処理を行い、前記検出すべき顔の傾きが、前記第１の傾きとは異なる傾きであるときに、前記第１の検出処理に比して相対的に顔を検出する確率が低く処理時間が短い第２の検出処理を行う検出手段として機能させ、
前記第１および第２の検出処理が、検出すべき顔の位置を前記入力画像上で所定の変化幅ずつ変えながら検出するものであり、
前記第１の検出処理が、該変化幅が相対的に狭い検出処理であり、
前記第２の検出処理が、該変化幅が相対的に広い検出処理であることを特徴とするプログラム。
【請求項２０】
コンピュータを、
入力画像に含まれる顔を、検出すべき顔の傾きを変えながら検出する顔検出装置として機能させるためのプログラムであって、
該コンピュータを、
前記検出すべき顔の傾きが、顔を検出する確率が相対的に高い第１の傾きであるときに、第１の検出処理を行い、前記検出すべき顔の傾きが、前記第１の傾きとは異なる傾きであるときに、前記第１の検出処理に比して相対的に顔を検出する確率が低く処理時間が短い第２の検出処理を行う検出手段として機能させ、
前記第１および第２の検出処理が、検出すべき顔の大きさを所定の変化幅ずつ変えながら検出するものであり、
前記第１の検出処理が、該変化幅が相対的に小さい検出処理であり、
前記第２の検出処理が、該変化幅が相対的に大きい検出処理であることを特徴とするプログラム。
【請求項２１】
コンピュータを、
入力画像に含まれる顔を、検出すべき顔の傾きを変えながら検出する顔検出装置として機能させるためのプログラムであって、
該コンピュータを、
前記検出すべき顔の傾きが、顔を検出する確率が相対的に高い第１の傾きであるときに、第１の検出処理を行い、前記検出すべき顔の傾きが、前記第１の傾きとは異なる傾きであるときに、前記第１の検出処理に比して相対的に顔を検出する確率が低く処理時間が短い第２の検出処理を行う検出手段として機能させ、
前記第１および第２の検出処理が、前記検出すべき顔の位置において部分画像を切り出し、該部分画像の画像上の特徴量に基づいて該部分画像が顔画像である蓋然性を示す指標値を算出し、該指標値の閾値判定により該部分画像が顔画像であるか否かを判別する、複数の異なる弱判別器をカスケード接続した判別器を用いて、前記部分画像が顔画像であるか否かを判別するものであり、
前記カスケード接続された複数の弱判別器の各々において実施される前記閾値判定は、前記指標値が第１の閾値を超える場合には該部分画像を顔画像と判別し、前記指標値が第１の閾値よりも小さい値の第２の閾値を下回る場合には該部分画像を非顔画像と判別し、どちらにも該当しない場合には該部分画像が顔画像である可能性を残すものであると判定し次の弱判別器への入力とするものであり、
前記第１の検出処理が、前記第２の閾値が相対的に小さい検出処理であり、前記第２の検出処理が、前記第２の閾値が相対的に大きい検出処理であることを特徴とするプログラム。
【請求項２２】
前記第１の傾きが、前記入力画像の垂直方向または水平方向と略一致する傾きであることを特徴とする請求項１９，２０，２１いずれか記載のプログラム。
【請求項２３】
前記検出処理手段が、前記検出すべき顔の傾き毎に、前記第１の検出処理を行う第１の検出器と前記第２の検出処理を行う第２の検出器の２種類の検出器を備え、
該２種類の検出器を前記検出すべき顔の傾きに応じて切り替えて用いるものであることを特徴とする請求項１９，２０，２１，２２いずれか記載のプログラム。
【請求項２４】
コンピュータを、
入力画像を走査し、検出すべき顔の位置に応じて検出処理の変更を可能とする顔検出装置として機能させるためのプログラムであって、
該コンピュータを、
前記検出すべき顔の位置が、顔を検出する確率が相対的に高い第１の位置であるときに、第１の検出処理を行い、前記検出すべき顔の位置が、前記第１の位置とは異なる位置であるときに、前記第１の検出処理に比して相対的に顔を検出する確率が低く処理時間が短い第２の検出処理を行う検出手段として機能させ、
前記第１および第２の検出処理が、前記検出すべき顔の位置を所定の変化幅ずつ変えながら検出するものであり、
前記第１の検出処理が、該変化幅が相対的に狭い検出処理であり、
前記第２の検出処理が、該変化幅が相対的に広い検出処理であることを特徴とするプログラム。
【請求項２５】
コンピュータを、
入力画像を走査し、検出すべき顔の位置に応じて検出処理の変更を可能とする顔検出装置として機能させるためのプログラムであって、
該コンピュータを、
前記検出すべき顔の位置が、顔を検出する確率が相対的に高い第１の位置であるときに、第１の検出処理を行い、前記検出すべき顔の位置が、前記第１の位置とは異なる位置であるときに、前記第１の検出処理に比して相対的に顔を検出する確率が低く処理時間が短い第２の検出処理を行う検出手段として機能させ、
前記第１および第２の検出処理が、検出すべき顔の大きさを所定の変化幅ずつ変えながら検出するものであり、
前記第１の検出処理が、該変化幅が相対的に小さい検出処理であり、
前記第２の検出処理が、該変化幅が相対的に大きい検出処理であることを特徴とするプログラム。
【請求項２６】
コンピュータを、
入力画像を走査し、検出すべき顔の位置に応じて検出処理の変更を可能とする顔検出装置として機能させるためのプログラムであって、
該コンピュータを、
前記検出すべき顔の位置が、顔を検出する確率が相対的に高い第１の位置であるときに、第１の検出処理を行い、前記検出すべき顔の位置が、前記第１の位置とは異なる位置であるときに、前記第１の検出処理に比して相対的に顔を検出する確率が低く処理時間が短い第２の検出処理を行う検出手段として機能させ、
前記第１および第２の検出処理が、前記検出すべき顔の位置において部分画像を切り出し、該部分画像の画像上の特徴量に基づいて該部分画像が顔画像である蓋然性を示す指標値を算出し、該指標値の閾値判定により該部分画像が顔画像であるか否かを判別する、複数の異なる弱判別器をカスケード接続した判別器を用いて、前記部分画像が顔画像であるか否かを判別するものであり、
前記カスケード接続された複数の弱判別器の各々において実施される前記閾値判定は、前記指標値が第１の閾値を超える場合には該部分画像を顔画像と判別し、前記指標値が第１の閾値よりも小さい値の第２の閾値を下回る場合には該部分画像を非顔画像と判別し、どちらにも該当しない場合には該部分画像が顔画像である可能性を残すものであると判定し次の弱判別器への入力とするものであり、
前記第１の検出処理が、前記第２の閾値が相対的に小さい検出処理であり、前記第２の検出処理が、前記第２の閾値が相対的に大きい検出処理であることを特徴とするプログラム。
【請求項２７】
前記第１の位置が、前記入力画像上の該画像の中心を含む所定領域内の位置であることを特徴とする請求項２４，２５，２６いずれか記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル画像において顔を含む顔画像を検出する顔検出方法および装置並びにそのためのプログラムに関するものである。
【背景技術】
【０００２】
従来、特に、画像補正処理、セキュリティシステム、デジタルカメラ制御等の分野において、デジタル画像に含まれる顔を検出する顔検出方法が研究されており、種々の顔検出方法が提案されている。例えば、デジタル画像上でサブウィンドウを走査しながら、このサブウィンドウの画像が顔を含む顔画像であるか否かを、判別器を用いて順次判別することにより、このデジタル画像に含まれる顔を検出する方法が提案されている（例えば、非特許文献１，特許文献１）。
【０００３】
また、デジタル画像に含まれる顔の傾き（顔の画像上の回転位置）や向き（左右首振り方向における向き）、大きさ、画像上の位置等は、証明写真等の特殊な場合を除き、通常は不特定であるため、一般的には、デジタル画像に含まれる顔を、検出すべき顔の傾き、向き、大きさ、位置等、種々の検出条件を変えながら検出することが多い。
【非特許文献１】「高速全方向顔検出」，Shihong LAO他，画像の認識・理解シンポジウム（MIRU2004），２００４年７月，P.II-271−II-276
【特許文献１】ＵＳ２００２／０１０２０２４ Ａ１（米国特許出願公開公報）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、デジタル画像に含まれる顔を検出する顔検出方法においては、顔を検出する確率が高く（検出漏れが少なく）、処理時間が短いことが望ましい。
【０００５】
しかしながら、上記のように種々の検出条件を変えながら顔を検出する方法においては、通常、顔の検出確率を上げようとすると（検出漏れを防ごうとすると）、検出条件を細かく設定する必要があるため、処理時間が長くなり、逆に、高速化を図ろうとすると、検出条件を粗く設定する必要があるため、顔の検出確率が下がる（検出漏れが多くなる）といった傾向にある。すなわち、顔の検出確率（検出漏れの程度）と処理時間とは、いわゆるトレードオフの関係にあり、高い検出確率（少ない検出漏れ）と短い処理時間を両立させることが難しい。このため、処理時間をできるだけ抑えながら顔の検出確率を上げることが常に課題となっている。
【０００６】
本発明は、上記事情に鑑み、画像に含まれる顔を検出する顔検出処理において、処理時間を抑えつつ顔の検出確率を上げることが可能な顔検出方法および装置並びにそのためのプログラムを提供することを目的とするものである。
【課題を解決するための手段】
【０００７】
本発明の第１の顔検出方法は、入力画像に含まれる顔を、検出すべき顔の傾きを変えながら検出する顔検出方法であって、前記検出すべき顔の傾きが、顔を検出する確率が相対的に高い第１の傾きであるときに、第１の検出処理を行い、前記検出すべき顔の傾きが、前記第１の傾きとは異なる傾きであるときに、前記第１の検出処理に比して相対的に顔を検出する確率が低く処理時間が短い第２の検出処理を行うことを特徴とする方法である。
【０００８】
本発明の第１の顔検出方法において、前記第１の傾きとしては、例えば、前記入力画像の垂直方向または水平方向と略一致する傾きを考えることができる。
【０００９】
また、本発明の第１の顔検出方法において、前記検出すべき顔の傾き毎に、前記第１の検出処理を行う第１の検出器と前記第２の検出処理を行う第２の検出器の２種類の検出器を予め用意し、前記第１および第２の検出処理は、前記２種類の検出器を前記検出すべき顔の傾きに応じて切り替えて用いることにより行われるものとしてもよい。
【００１０】
また、本発明の第１の顔検出方法において、前記第１および第２の検出処理は、検出すべき顔の位置を前記入力画像上で所定の変化幅ずつ変えながら検出するものであり、前記第１の検出処理は、該変化幅が相対的に狭い検出処理であり、前記第２の検出処理は、該変化幅が相対的に広い検出処理であってもよい。
【００１１】
また、本発明の第１の顔検出方法において、前記第１および第２の検出処理は、検出すべき顔の大きさを所定の変化幅ずつ変えながら検出するものであり、前記第１の検出処理は、該変化幅が相対的に小さい検出処理であり、前記第２の検出処理は、該変化幅が相対的に大きい検出処理であってもよい。
【００１２】
本発明の第２の顔検出方法は、入力画像を走査し、検出すべき顔の位置に応じて検出処理の変更を可能とする顔検出方法であって、前記検出すべき顔の位置が、顔を検出する確率が相対的に高い第１の位置であるときに、第１の検出処理を行い、前記検出すべき顔の位置が、前記第１の位置とは異なる位置であるときに、前記第１の検出処理に比して相対的に顔を検出する確率が低く処理時間が短い第２の検出処理を行うことを特徴とする方法である。
【００１３】
本発明の第２の顔検出方法において、前記第１の位置としては、例えば、前記入力画像上の該画像の中心を含む所定領域内の位置を考えることができる。
【００１４】
本発明の第２の顔検出方法において、前記第１および第２の検出処理は、前記検出すべき位置を所定の変化幅ずつ変えながら検出するものであり、前記第１の検出処理は、該変化幅が相対的に狭い検出処理であり、前記第２の検出処理は、該変化幅が相対的に広い検出処理であってもよい。
【００１５】
また、本発明の第２の顔検出方法において、前記第１および第２の検出処理は、検出すべき顔の大きさを所定の変化幅ずつ変えながら検出するものであり、前記第１の検出処理は、該変化幅が相対的に小さい検出処理であり、前記第２の検出処理は、該変化幅が相対的に大きい検出処理であってもよい。
【００１６】
本発明の第１および第２の顔検出方法において、前記第１および第２の検出処理は、前記検出すべき位置において部分画像を切り出し、該部分画像の画像上の特徴量に基づいて該部分画像が顔画像である蓋然性を示す指標値を算出し、該指標値の閾値判定により該部分画像が顔画像であるか否かを判別する、複数の異なる弱判別器をカスケード接続した判別器を用いて、前記部分画像が顔画像であるか否かを判別するものであり、前記第１の検出処理は、前記閾値が相対的に小さい検出処理であり、前記第２の検出処理は、前記閾値が相対的に大きい検出処理であってもよい。
【００１７】
本発明の第１の顔検出装置は、入力画像に含まれる顔を、検出すべき顔の傾きを変えながら検出する顔検出装置であって、前記検出すべき顔の傾きが、顔を検出する確率が相対的に高い第１の傾きであるときに、第１の検出処理を行い、前記検出すべき顔の傾きが、前記第１の傾きとは異なる傾きであるときに、前記第１の検出処理に比して相対的に顔を検出する確率が低く処理時間が短い第２の検出処理を行う検出処理手段を備えたことを特徴とするものである。
【００１８】
本発明の第１の顔検出装置において、前記第１の傾きとしては、例えば、前記入力画像の垂直方向または水平方向と略一致する傾きを考えることができる。
【００１９】
また、本発明の第１の顔検出装置において、前記検出処理手段は、前記検出すべき顔の傾き毎に、前記第１の検出処理を行う第１の検出器と前記第２の検出処理を行う第２の検出器の２種類の検出器を備え、前記２種類の検出器を前記検出すべき顔の傾きに応じて切り替えて用いるものとしてもよい。
【００２０】
また、本発明の第１の顔検出装置において、前記第１および第２の検出処理は、検出すべき顔の位置を前記入力画像上で所定の変化幅ずつ変えながら検出するものであり、前記第１の検出処理は、該変化幅が相対的に狭い検出処理であり、前記第２の検出処理は、該変化幅が相対的に広い検出処理であってもよい。
【００２１】
また、本発明の第１の顔検出装置において、前記第１および第２の検出処理は、検出すべき顔の大きさを所定の変化幅ずつ変えながら検出するものであり、前記第１の検出処理は、該変化幅が相対的に小さい検出処理であり、前記第２の検出処理は、該変化幅が相対的に大きい検出処理であってもよい。
【００２２】
本発明の第２の顔検出装置は、入力画像を走査し、検出すべき顔の位置を前記入力画像上で変えながら検出する顔検出装置であって、前記検出すべき顔の位置が、顔を検出する確率が相対的に高い第１の位置であるときに、第１の検出処理を行い、前記検出すべき位置が、前記第１の位置とは異なる位置であるときに、前記第１の検出処理に比して相対的に顔を検出する確率が低く処理時間が短い第２の検出処理を行う検出手段を備えたことを特徴とするものである。
【００２３】
本発明の第２の顔検出装置において、前記第１の位置としては、例えば、前記入力画像上の該画像の中心を含む所定領域内の位置を考えることができる。
【００２４】
また、本発明の第２の顔検出装置において、前記第１および第２の検出処理は、前記検出すべき顔の位置を所定の変化幅ずつ変えながら検出するものであり、前記第１の検出処理は、該変化幅が相対的に狭い検出処理であり、前記第２の検出処理は、該変化幅が相対的に広い検出処理であってもよい。
【００２５】
また、本発明の第２の顔検出装置において、前記第１および第２の検出処理は、検出すべき顔の大きさを所定の変化幅ずつ変えながら検出するものであり、前記第１の検出処理は、該変化幅が相対的に小さい検出処理であり、前記第２の検出処理は、該変化幅が相対的に大きい検出処理であってもよい。
【００２６】
本発明の第１および第２の顔検出装置において、前記第１および第２の検出処理は、前記検出すべき顔の位置において部分画像を切り出し、該部分画像の画像上の特徴量に基づいて該部分画像が顔画像である蓋然性を示す指標値を算出し、該指標値の閾値判定により該部分画像が顔画像であるか否かを判別する、複数の異なる弱判別器をカスケード接続した判別器を用いて、前記部分画像が顔画像であるか否かを判別するものであり、前記第１の検出処理は、前記閾値が相対的に小さい検出処理であり、前記第２の検出処理は、前記閾値が相対的に大きい検出処理であってもよい。
【００２７】
本発明の第１のプログラムは、コンピュータを、入力画像に含まれる顔を、検出すべき顔の傾きを変えながら検出する顔検出装置として機能させるためのプログラムであって、該コンピュータを、前記検出すべき顔の傾きが、顔を検出する確率が相対的に高い第１の傾きであるときに、第１の検出処理を行い、前記検出すべき顔の傾きが、前記第１の傾きとは異なる傾きであるときに、前記第１の検出処理に比して相対的に顔を検出する確率が低く処理時間が短い第２の検出処理を行う検出手段として機能させることを特徴とするものである。
【００２８】
本発明の第１のプログラムにおいて、前記第１の傾きとしては、例えば、前記入力画像の垂直方向または水平方向と略一致する傾きを考えることができる。
【００２９】
また、本発明の第１のプログラムにおいて、前記検出処理手段は、前記検出すべき顔の傾き毎に、前記第１の検出処理を行う第１の検出器と前記第２の検出処理を行う第２の検出器の２種類の検出器を備え、前記２種類の検出器を前記検出すべき顔の傾きに応じて切り替えて用いるものとしてもよい。
【００３０】
また、本発明の第１のプログラムにおいて、前記第１および第２の検出処理は、顔を検出すべき位置を前記入力画像上で所定の変化幅ずつ変えながら検出するものであり、前記第１の検出処理は、該変化幅が相対的に狭い検出処理であり、前記第２の検出処理は、該変化幅が相対的に広い検出処理であってもよい。
【００３１】
また、本発明の第１のプログラムにおいて、前記第１および第２の検出処理は、検出すべき顔の大きさを所定の変化幅ずつ変えながら検出するものであり、前記第１の検出処理は、該変化幅が相対的に小さい検出処理であり、前記第２の検出処理は、該変化幅が相対的に大きい検出処理であってもよい。
【００３２】
本発明の第２のプログラムは、コンピュータを、入力画像を走査し、検出すべき顔の位置に応じて検出処理の変更を可能とする顔検出装置として機能させるためのプログラムであって、該コンピュータを、前記検出すべき顔の位置が、顔を検出する確率が相対的に高い第１の位置であるときに、第１の検出処理を行い、前記検出すべき顔の位置が、前記第１の位置とは異なる位置であるときに、前記第１の検出処理に比して相対的に顔を検出する確率が低く処理時間が短い第２の検出処理を行う検出手段として機能させることを特徴とするものである。
【００３３】
本発明の第２のプログラムにおいて、前記第１の位置としては、例えば、前記入力画像上の該画像の中心を含む所定領域内の位置を考えることができる。
【００３４】
また、本発明の第２のプログラムにおいて、前記第１および第２の検出処理は、前記検出すべき位置を所定の変化幅ずつ変えながら検出するものであり、前記第１の検出処理は、該変化幅が相対的に狭い検出処理であり、前記第２の検出処理は、該変化幅が相対的に広い検出処理であってもよい。
【００３５】
また、本発明の第２のプログラムにおいて、前記第１および第２の検出処理は、検出すべき顔の大きさを所定の変化幅ずつ変えながら検出するものであり、前記第１の検出処理は、該変化幅が相対的に小さい検出処理であり、前記第２の検出処理は、該変化幅が相対的に大きい検出処理であってもよい。
【００３６】
本発明の第１および第２のプログラムにおいて、前記第１および第２の検出処理は、前記検出すべき顔の位置において部分画像を切り出し、該部分画像の画像上の特徴量に基づいて該部分画像が顔画像である蓋然性を示す指標値を算出し、該指標値の閾値判定により該部分画像が顔画像であるか否かを判別する、複数の異なる弱判別器をカスケード接続した判別器を用いて、前記部分画像が顔画像であるか否かを判別するものであり、前記第１の検出処理は、前記閾値が相対的に小さい検出処理であり、前記第２の検出処理は、前記閾値が相対的に大きい検出処理であってもよい。
【００３７】
本発明において、「顔の傾き」とは、顔のいわゆるインプレーン（画像面内）方向での傾きを意味し、別の言い方をすれば、顔の画像上での回転位置を意味するものである。
【００３８】
また、「入力画像の垂直方向または水平方向と略一致する傾き」とは、上記垂直方向または水平方向からのずれが所定の回転角度以内である傾きのことを意味し、例えば、そのずれが回転角度±３０度以内の傾きとすることができる。
【００３９】
また、「カスケード接続」とは、複数の弱判別器を直列に接続し、先頭から最後の１つ前までの弱判別器が、部分画像が顔画像であると判別したときのみ、次の弱判別器による判別を行い、最後の弱判別器が、その部分画像が顔画像であると判別したときに、その部分画像を顔画像として判別する接続方式のことであり、途中で部分画像が非顔画像であると判別されると、その後の弱判別器による判別は行わず、判別処理を離脱する。したがって、このような弱判別器をカスケード接続した判別器を用いた検出処理は、弱判別器の閾値が大きいときには、相対的に顔を検出する確率が高い（検出漏れは少ない）が処理時間が長く、弱判別器の閾値が小さいときには、相対的に顔を検出する確率は低い（検出漏れは多い）が処理時間が短いという特徴を有する。
【００４０】
本発明において、「判別器」としては、いわゆるマシンラーニングの手法により学習されたものを考えることができ、例えば、ブースティング（Ｂｏｏｓｔｉｎｇ）と称される手法、特にアダブースト（ＡｄａＢｏｏｓｔ）学習アルゴリズムにより学習されたものを考えることができる。
【発明の効果】
【００４１】
本発明の第１の顔検出方法および装置並びにそのためのプログラムによれば、入力画像に含まれる顔を、検出すべき顔の傾きを変えながら検出する処理において、検出すべき顔の傾きが、顔を検出する確率が相対的に高い第１の傾きであるときに、第１の検出処理を行い、検出すべき顔の傾きが、第１の傾きとは異なる傾きであるときに、第１の検出処理に比して相対的に顔を検出する確率が低く処理時間が短い第２の検出処理を行うようにしているので、処理時間は長いが顔を検出する確率が高い（検出漏れが少ない）検出処理を、顔が検出される確率が高い条件に集中させることができ、処理時間をできるだけ抑えながら顔の検出確率を上げることが可能となる。
【００４２】
本発明の第２の顔検出方法および装置並びにそのためのプログラムによれば、入力画像に含まれる顔を、検出すべき顔の位置を変えながら検出する処理において、検出すべき顔の位置が、顔を検出する確率が相対的に高い第１の位置であるときに、第１の検出処理を行い、検出すべき顔の位置が、第１の位置とは異なる位置であるときに、第１の検出処理に比して相対的に顔を検出する確率が低く処理時間が短い第２の検出処理を行うようにしているので、処理時間は長いが顔を検出する確率が高い（検出漏れが少ない）検出処理を、顔が検出される確率が高い条件に集中させることができ、処理時間をできるだけ抑えながら顔の検出確率を上げることが可能となる。
【発明を実施するための最良の形態】
【００４３】
以下、本発明の実施の形態について説明する。
【００４４】
まず、本発明による第１の顔検出装置の実施の形態である顔検出システムについて説明する（第１の実施形態）。
【００４５】
図１は第１の実施形態による顔検出システム１の構成を示す概略ブロック図である。本顔検出システム１は、デジタル画像において顔を含む画像（以下、顔画像という）を、その顔の位置や大きさ、顔の傾き（インプレーン方向での傾き）によらず検出するものである。本顔検出システム１は、特に検出精度、ロバスト性が優れているとされる顔検出の手法として、サンプル画像を用いたマシンラーニングの学習により生成された判別器モジュール（以下、単に判別器という）を用いる手法を採用したものである。この手法は、顔の傾きおよび向きが略揃った複数の異なる顔サンプル画像（顔サンプル画像群）と、顔でないことが分かっている複数の異なる非顔サンプル画像（非顔サンプル画像群）とを用いて、顔の特徴を学習させ、ある画像が所定の傾きおよび向きの顔を含む顔画像であるか否かを判別できる判別器を生成して用意しておき、顔画像の検出対象となる画像（以下、検出対象画像という）において部分画像を順次切り出し、その部分画像が顔画像であるか否かを上記の判別器を用いて判別することにより、検出対象画像上の顔画像を検出する手法である。
【００４６】
顔検出システム１は、図１に示すように、多重解像度化部１０、正規化部２０、顔検出部（検出手段）３０、重複検出判定部４０を備えている。
【００４７】
多重解像度化部１０は、入力された検出対象画像（入力画像）Ｓ０を多重解像度化して解像度の異なる複数の画像（Ｓ１＿１，Ｓ１＿２，・・・，Ｓ１＿ｎ；以下、解像度画像という）からなる解像度画像群Ｓ１を得るものである。
【００４８】
検出対象画像Ｓ０の画像サイズ、すなわち、解像度を変換することにより、その解像度を所定の解像度、例えば、短辺が４１６画素の矩形サイズの画像に規格化し、規格化済みの検出対象画像Ｓ０′を得る。そして、この規格化済みの検出対象画像Ｓ０′を基本としてさらに解像度変換を行うことにより、解像度の異なる複数の解像度画像を生成し、解像度画像群Ｓ１を得る。このような解像度画像群を生成する理由は、通常、検出対象画像Ｓ０に含まれる顔の大きさは不明であるが、一方、検出しようとする顔の大きさは、後述の判別器の生成方法と関連して一定の大きさに固定されるため、大きさの異なる顔を検出するためには、解像度の異なる画像上で位置をずらしながら所定サイズの部分画像をそれぞれ切り出し、その部分画像が顔画像であるか否かを判別してゆく必要があるためである。
【００４９】
図２は、検出対象画像の多重解像度化の工程を示した図である。多重解像度化、すなわち、解像度画像群の生成は、具体的には、図２に示すように、規格化済みの検出対象画像Ｓ０′を基本となる解像度画像Ｓ１＿１とし、解像度画像Ｓ１＿１に対して２の−１／３乗倍サイズの解像度画像Ｓ１＿２と、解像度画像Ｓ１＿２に対して２の−１／３乗倍サイズ（基本画像Ｓ１＿１に対しては２の−２／３乗倍サイズ）の解像度画像Ｓ１＿３とを先に生成し、その後、解像度画像Ｓ１＿１，Ｓ１＿２，Ｓ１＿３のそれぞれを１／２倍サイズに縮小した解像度画像を生成し、それら縮小した解像度画像をさらに１／２倍サイズに縮小した解像度画像を生成する、といった処理を繰り返し行い、複数の解像度画像を所定の数だけ生成するようにする。このようにすることで、輝度を表す画素値の補間処理を必要としない１／２倍の縮小処理を主な処理とし、基本となる解像度画像から２の−１／３乗倍ずつサイズが縮小された複数の画像が高速に生成できる。例えば、解像度画像Ｓ１＿１が短辺４１６画素の矩形サイズである場合、解像度画像Ｓ１＿２，Ｓ１＿３，・・・は、短辺がそれぞれ、３３０画素，２６２画素，２０８画素，１６５画素，１３１画素，１０４画素，８２画素，６５画素，・・・の矩形サイズとなり、２の−１／３乗倍ずつ縮小された複数の解像度画像を生成することができる。なお、このように画素値を補間しないで生成される画像は、元の画像パターンの特徴をそのまま担持する傾向が強いので、顔検出処理において精度向上が期待できる点で好ましい。
【００５０】
正規化部２０は、解像度画像のコントラストが顔検出処理に適した状態となるように、解像度画像の各々に対して全体正規化処理および局所正規化処理を施し、正規化済みの複数の解像度画像（Ｓ１′＿１，Ｓ１′＿２，・・・，Ｓ１′＿ｎ）からなる解像度画像群Ｓ１′を得るものである。
【００５１】
まず、全体正規化処理について説明する。全体正規化処理は、解像度画像のコントラストを顔検出処理に適した所定のレベル、すなわち、後述の判別器の性能を引き出すのに適したレベルに近づけるべく、解像度画像全体の画素値をこの画像における被写体の輝度の対数を表す値に近づける変換曲線にしたがって変換する処理である。
【００５２】
図３は全体正規化処理に用いる変換曲線の一例を示した図である。全体正規化処理としては、例えば、図３に示すような、画素値をｓＲＧＢ空間におけるいわゆる逆ガンマ変換（＝２．２乗する）した後にさらに対数をとるような変換曲線（ルックアップテーブル）にしたがって、画像全体における画素値を変換する処理を考えることができる。これは、次のような理由による。
【００５３】
画像として観測される光強度Ｉは、通常、被写体の反射率Ｒと光源の強度Ｌの積として表現される（Ｉ＝Ｒ×Ｌ）。したがって、光源の強度Ｌが変化すると、画像として観測される光強度Ｉも変化することになるが、被写体の反射率Ｒのみを評価することができれば、光源の強度Ｌに依存しない、すなわち、画像の明るさの影響を受けない精度の高い顔判別を行うことができる。
【００５４】
ここで、光源の強度がＬの場合において、被写体上で反射率がＲ１の部分から観測される光強度をＩ１、被写体上で反射率がＲ２の部分から観測される光強度をＩ２としたとき、それぞれの対数をとった空間では、下記の式が成り立つ。  
ｌｏｇ（Ｉ１）−ｌｏｇ（Ｉ２）＝ｌｏｇ（Ｒ１×Ｌ）−ｌｏｇ（Ｒ２×Ｌ）＝ｌｏｇ（Ｒ１）＋ｌｏｇ（Ｌ）−（ｌｏｇ（Ｒ２）＋ｌｏｇ（Ｌ））＝ｌｏｇ（Ｒ１）−ｌｏｇ（Ｒ２）＝ｌｏｇ（Ｒ１／Ｒ２）
【００５５】
すなわち、画像における画素値を対数変換することは、反射率の比が差として表現された空間へ変換することとなり、このような空間では、光源の強度Ｌに依存しない被写体の反射率のみを評価することが可能となる。言い換えると、画像中の明るさによって異なるコントラスト（ここでは画素値の差分そのもの）を揃えることができる。
【００５６】
一方、一般的なデジタルカメラ等の機器で取得された画像の色空間はｓＲＧＢである。ｓＲＧＢとは、機器間の色再現の違いを統一するために、色彩、彩度等を規定・統一した国際標準の色空間のことであり、この色空間においては、ガンマ値（γout）が２．２の画像出力機器において適正な色再現を可能にするため、画像の画素値は、入力輝度を１／γout（＝０．４５）乗して得られる値となっている。
【００５７】
そこで、画像全体における画素値を、いわゆる逆ガンマ変換、すなわち、２．２乗した後にさらに対数をとるような変換曲線にしたがって変換することにより、光源の強度に依存しない被写体の反射率のみによる評価を適正に行うことができるようになる。
【００５８】
なお、このような全体正規化処理は、別の言い方をすれば、画像全体における画素値を、特定の色空間を別の特性を有する色空間に変換する変換曲線にしたがって変換する処理ということができる。
【００５９】
このような処理を検出対象画像に施すことにより、画像中の明るさによって異なるコントラストを揃えることができ、顔検出処理の精度が向上することとなる。なお、この全体正規化処理は、処理結果が検出対象画像中の斜光や背景、入力モダリティの違いによる影響を受けやすい反面、処理時間が短いという特徴を有する。
【００６０】
次に、局所正規化処理について説明する。局所正規化処理は、解像度画像上の局所的な領域におけるコントラストのばらつきを抑制するための処理である。すなわち、解像度画像における各局所領域について、輝度を表す画素値の分散の程度が所定レベル以上である局所領域に対しては、この分散の程度を上記の所定レベルより高い一定レベルに近づける第１の輝度階調変換処理を施し、画素値の分散の程度が上記の所定レベル未満である局所領域に対しては、この分散の程度を上記の一定レベルより低いレベルに抑える第２の輝度階調変換処理を施すものである。なお、この局所正規化処理は、処理時間は長いが、検出対象画像中の斜光や背景、入力モダリティの違いによる判別結果への影響は小さいという特徴を有する。
【００６１】
図４は局所正規化処理の概念を示した図であり、図５は局所正規化処理のフローを示した図である。また、式（１），（２）は、この局所正規化処理のための画素値の階調変換の式である。
【数１】
0004619927.tif 000002
【００６２】
ここで、Ｘは注目画素の画素値、Ｘ′は注目画素の変換後の画素値、ｍlocalは注目画素を中心とする局所領域における画素値の平均、Ｖlocalはこの局所領域における画素値の分散、ＳＤlocalはこの局所領域における画素値の標準偏差、（Ｃ１×Ｃ１）は上記の一定レベルに対応する基準値、Ｃ２は上記の所定レベルに対応する閾値、ＳＤｃは所定の定数である。なお、本実施形態において、輝度の階調数は８ｂｉｔとし、画素値の取り得る値は０から２５５とする。
【００６３】
図４に示すように、まず、解像度画像における１つの画素を注目画素として設定し（ステップＳ１）、この注目画素を中心とする所定の大きさ、例えば１１×１１画素サイズの局所領域における画素値の分散Ｖlocalを算出し（ステップＳ２）、分散Ｖlocalが上記所定のレベルに対応する閾値Ｃ２以上であるか否かを判定する（ステップＳ３）。ステップＳ３において、分散Ｖlocalが閾値Ｃ２以上であると判定された場合には、上記第１の輝度階調変換処理として、分散Ｖlocalが上記一定のレベルに対応する基準値（Ｃ１×Ｃ１）より大きいほど、注目画素の画素値Ｘと平均ｍlocalとの差を小さくし、分散ｍlocalが基準値（Ｃ１×Ｃ１）より小さいほど、注目画素の画素値Ｘと平均ｍlocalとの差を大きくする階調変換を式（１）にしたがって行う（ステップＳ４）。一方、ステップＳ３において、分散Ｖlocalが閾値Ｃ２未満であると判定された場合には、上記第２の輝度階調変換処理として、分散Ｖlocalに依らない線形な階調変換を式（２）にしたがって行う（ステップＳ５）。そして、ステップＳ１で設定した注目画素が最後の画素であるか否かを判定する（ステップＳ６）。ステップＳ６において、その注目画素が最後の画素でないと判定された場合には、ステップＳ１に戻り、同じ解像度画像上の次の画素を注目画素として設定する。一方、ステップＳ６において、その注目画素が最後の画素であると判定された場合には、その解像度画像に対する局所正規化を終了する。このように、上記ステップＳ１からＳ６の処理を繰り返すことにより、解像度画像全体に局所正規化を施すことができる。
【００６４】
なお、上記の所定レベルは、局所領域における全体または一部の輝度に応じて変化させるようにしてもよい。例えば、上記の、注目画素毎に階調変換を行う正規化処理において、閾値Ｃ２を注目画素の画素値に応じて変化させるようにしてもよい。すなわち、上記の所定レベルに対応する閾値Ｃ２を、注目画素の輝度が相対的に高いときにはより高く設定し、その輝度が相対的に低いときにはより低く設定するようにしてもよい。このようにすることで、輝度の低い、いわゆる暗い領域に低いコントラスト（画素値の分散が小さい状態）で存在している顔も正しく正規化することができる。
【００６５】
なお、ここでは、検出すべき顔の傾きを、検出対象画像Ｓ０の天地方向を基準に検出対象画像Ｓ０の画像面内において３０度刻みで回転して設定される計１２種類の傾きとし、検出すべき顔の傾きの切り替え順序が予め決められているものとする。例えば、その切り替え順序を、検出対象画像Ｓ０の天地方向を基準に時計回りの回転角度で表すとして、上向き３方向である０度、３３０度、３０度（０度グループ）、右向き３方向である９０度、６０度、１２０度（９０度グループ）、左向き３方向である２７０度、２４０度、３００度（２７０度グループ）、そして、下向き３方向である１８０度、１５０度、２１０度（１８０度グループ）の順序とする。
【００６６】
顔検出部３０は、正規化部２０により正規化処理がなされた解像度画像群Ｓ１′の各解像度画像に対して、検出すべき顔の傾きを予め設定された順序にしたがって変えながら顔検出処理を施すことにより、各解像度画像に含まれる顔画像Ｓ２を検出するものであり、さらに複数の要素から構成されている。
【００６７】
図１は、顔検出部３０の構成を示すブロック図である。顔検出部３０は、図１に示すように、検出制御部３１、解像度画像選択部３２、サブウィンドウ設定部３３、第１の判別器群３４、および第２の判別器群３５とから構成されている。
【００６８】
検出制御部３１は、顔検出部３０を構成する他の各部を制御して顔検出処理におけるシーケンス制御を主に行うものである。すなわち、解像度画像選択部３２、サブウィンドウ設定部３３、第１の判別器群３４および第２の判別器群３５を制御して、解像度画像群Ｓ１′を構成する解像度画像毎に、解像度画像全体にわたって順次部分画像を切り出し、切り出された部分画像に対して判別すべき顔の傾きが異なる複数種類の判別器をすべて適用して、顔の傾きによらず解像度画像上における顔画像の候補を抽出し、抽出された顔画像の候補の各々に対して真の顔画像であるか否かの判別を行うことにより、各解像度画像における真の顔画像Ｓ２を検出するものである。例えば、適宜、解像度画像選択部３２に対して解像度画像の選択を指示したり、サブウィンドウ設定部３３に対してサブウィンドウの設定条件を指示したり、また、第１および第２の判別器群３４，３５を構成する判別器のうち使用する判別器の種類を切り替えたりする。なお、サブウィンドウ設定条件には、サブウィンドウを設定する画像上の範囲や、サブウィンドウの移動間隔、すなわち検出の粗さ等が含まれる。
【００６９】
また、検出制御部３１は、各部を制御して、検出すべき顔の傾きが、顔を検出する確率が経験則上、相対的に高い第１の傾きであるときに、相対的に顔を検出する確率が高く（検出漏れが少なく）処理時間が長い第１の検出処理を実施し、一方、検出すべき顔の傾きが、第１の傾きとは異なる傾き（以下、この傾きを第２の傾きという）であるときに、第１の検出処理に比して相対的に顔を検出する確率が低く（検出漏れが多く）処理時間が短い第２の検出処理を実施する。
【００７０】
なお、第１の傾きとしては、種々考えられるが、ここでは、検出対象画像Ｓ０の垂直方向（天地方向）および水平方向と略一致する傾きとし、検出すべき顔の傾きが、０度、９０度、１８０度、２７０度のときとする。一般的に、人物が被写体である写真画像等の場合、その人物の顔の傾きは、画像の垂直方向か水平方向に略一致することが多く、このような傾きの顔が検出される確率は、他の傾きの顔の場合より高いと考えられるからである。
【００７１】
解像度画像選択部３２は、検出制御部３１の制御により、解像度画像群Ｓ１′の中から顔検出処理に供する解像度画像をサイズの小さい順に、すなわち、解像度の粗い順に選択するものである。なお、本実施形態における顔検出の手法が、各解像度画像上で順次切り出された同じサイズの部分画像Ｗについてその部分画像Ｗが顔画像であるか否かを判別することにより検出対象画像Ｓ０における顔を検出する手法であるから、この解像度画像選択部３２は、検出対象画像Ｓ０における検出すべき顔の大きさを大から小へ毎回変えながら設定するものと考えることができる。
【００７２】
サブウィンドウ設定部３３は、検出制御部３１により設定されたサブウィンドウ設定条件に基づいて、解像度画像選択部３２により選択された解像度画像において、顔画像であるか否かの判別対象となる部分画像Ｗを切り出すサブウィンドウを、その位置を所定幅ずつずらしながら設定するものである。
【００７３】
例えば、上記の選択された解像度画像において、所定のサイズすなわち３２×３２画素サイズの部分画像Ｗを切り出すサブウィンドウを、所定の変化幅、例えば２画素ずつ移動させながら順次設定し、その切り出された部分画像Ｗを第１の判別器群３４または第２の判別器群３５へ入力する。第１の判別器群３４および第２の判別器群３５は、後述のように、それぞれ、部分画像Ｗが所定の傾きおよび向きの顔を含む顔画像であるか否かを判別する、複数種類の判別器からなるものであり、その判別器は判別すべき顔の傾きと向き毎に用意されている。したがって、このようにすることで、多種の傾きおよび向きの顔を含む顔画像を判別することが可能となる。
【００７４】
第１の判別器群３４および第２の判別器群３５は、それぞれ、部分画像Ｗが所定の傾きおよび向きの顔を含む顔画像であるか否かを判別する、複数種類の判別器からなるものであり、判別器は判別すべき顔の傾きと向き毎に用意されている。
【００７５】
図６は第１および第２の判別器群３４，３５の構成を示した図である。第１の判別器群３４は、図６に示すように、判別すべき顔の向きがそれぞれ異なる複数種類の判別器群、すなわち、主に正面顔画像を判別する第１の正面顔判別器群３４＿Ｆ、主に左横顔画像を判別する第１の左横顔判別器群３４＿Ｌおよび主に右横顔画像を判別する第１の右横顔判別器群３４＿Ｒが並列に接続された構成である。さらに、これら３種の判別器群はそれぞれ、判別すべき顔の傾きが上記の部分画像の天地方向を基準として３０度ずつ異なる計１２方向に対応した判別器、すなわち、第１の正面顔判別器群３４＿Ｆは、判別器３４＿Ｆ０，３４＿Ｆ３０，・・・，３４＿Ｆ３３０、第１の左横顔判別器群３４＿Ｌは、判別器３４＿Ｌ０，３４＿Ｌ３０，・・・，３４＿Ｌ３３０、第１の右横顔判別器群３４＿Ｒは、判別器３４＿Ｒ０，３４＿Ｒ３０，・・・，３４＿Ｒ３３０から構成されている。
【００７６】
第２の判別器群３５も、第１の判別器群３４と同様、図６に示すように、判別すべき顔の向きがそれぞれ異なる複数種類の判別器群、すなわち、主に正面顔画像を判別する第２の正面顔判別器群３５＿Ｆ、主に左横顔画像を判別する第２の左横顔判別器群３５＿Ｌおよび主に右横顔画像を判別する第２の右横顔判別器群３５＿Ｒが並列に接続された構成である。さらに、これら３種の判別器群は第１の判別器群３４と同様、それぞれ、判別すべき顔の傾きが部分画像の天地方向を基準として３０度ずつ異なる計１２方向に対応した判別器、すなわち、第２の正面顔判別器群３５＿Ｆは、判別器３５＿Ｆ０，３５＿Ｆ３０，・・・，３５＿Ｆ３３０、第２の左横顔判別器群３５＿Ｌは、判別器３５＿Ｌ０，３５＿Ｌ３０，・・・，３５＿Ｌ３３０、第２の右横顔判別器群３５＿Ｒは、判別器３５＿Ｒ０，３５＿Ｒ３０，・・・，３５＿Ｒ３３０から構成されている。
【００７７】
このように、第１の判別器群３４における判別器と第２の判別器群３５における判別器は、いずれも、部分画像Ｗが顔画像であるか否かを判別するものであるが、第１の判別器群３４と第２の判別器群３５とでは、その判別器の特徴が異なっている。すなわち、第１の判別器群３４の判別器は、誤判別による検出漏れが少ない反面、判別に要する時間が長いという特徴があり、一方、第２の判別器群３５は、誤判別による検出漏れが多い反面、判別に要する時間が短いという特徴がある。この点については、後に詳しく説明する。
【００７８】
なお、上記第１および第２の判別器群３４，３５は、いずれも、判別すべき顔の向きを正面顔、左横顔および右横顔の３種としているが、斜め向きの顔の検出精度を上げるため、判別すべき顔の向きをそれぞれ右斜め顔、左斜め顔とする判別器をさらに設けるようにしてもよい。
【００７９】
ところで、検出制御部３１は、検出すべき顔の傾きが第１の傾きであるときに、第１の判別器群３４の中から、判別すべき顔の傾きがその検出すべき顔の傾きと一致する判別器を選択し、その選択された判別器に、サブウィンドウ設定部３３により切り出された部分画像Ｗを入力する機能を有している。検出制御部３１は、また、検出すべき顔の傾きが第２の傾きであるときに、第２の判別器群３５の中から、判別すべき顔の傾きがその検出すべき顔の傾きと一致する判別器を選択し、その選択された判別器に、サブウィンドウ設定部３３により切り出された部分画像Ｗを入力する機能を有している。
【００８０】
これにより、検出制御部３１と第１の判別器群３４は、第１の検出処理を行う第１の検出器として機能し、検出制御部３１と第２の判別器群３５は、第２の検出処理を行う第２の検出器として機能する。すなわち、顔検出部３０は、検出すべき顔の傾き毎に、第１の検出処理を行う第１の検出器と第２の検出処理を行う第２の検出器の２種類の検出器を備え、これら２種類の検出器を検出すべき顔の傾きに応じて切り替えて用いる検出手段として機能する。
【００８１】
このように、検出すべき顔の傾き毎に、第１の検出処理用の検出器と第２の検出処理用の検出器の２種類の検出器を用意することで、第１の傾きが、種々変化する場合にもすばやく対応することができる。例えば、ビデオカメラを用いて被写体を種々のカメラワークにより撮像する場面において、撮像された画像に対して顔検出をリアルタイムで行うような場合には、ビデオカメラの傾きを検知するセンサからの出力信号に基づいて、顔が検出される確率が高い第１の傾きを推定することが可能であるが、第１の傾きは、時間とともに変動することが予想される。このような場合であっても、検出すべき顔の傾き毎に上記２種類の検出器を用意しておけば、その検出すべき顔の傾きに応じて上記２種類の検出器を切り替えることにより、対応することができる。
【００８２】
ここで、判別器群を構成する各判別器の構成、判別器における処理の流れおよび判別器の学習方法について説明する。
【００８３】
上記の各判別器は、図６に示すように、複数の弱判別器ＷＣが直列に接続されたカスケード構造を有している。カスケード構造とは、部分画像Ｗが顔画像である否かを判別する弱判別器ＷＣを、複数、直列に接続し、先頭の弱判別器ＷＣから順にその判別を行わせ、すべての弱判別器ＷＣにおいて部分画像Ｗが顔画像であると判別された場合に、最終的にその部分画像Ｗを顔画像と判別し、一方、途中いずれかの弱判別器ＷＣにより部分画像Ｗが顔画像でないと判別された場合には、最終的に部分画像Ｗは非顔画像であると判別して、その時点で処理を終了するように組み立てられた構造のことを言う。
【００８４】
弱判別器ＷＣは、それぞれ、部分画像Ｗから弱判別器毎に固有の所定のアルゴリズムにしたがって特徴量を算出し、その特徴量と所定のスコアテーブル（後述の自己のヒストグラム）とに基づいて、部分画像Ｗが所定の傾きおよび向きの顔を含む顔画像である蓋然性を示すスコアを算出し、そのスコアが所定の閾値を超えるか否かにより、上記判別を行うものである。
【００８５】
ただし、本実施形態においては、各弱判別器ＷＣは、２種類の閾値を用いて判別を行うようにしている。すなわち、弱判別器ＷＣは、算出されたスコアが第１の閾値Ｔｈ１を超える場合には、部分画像Ｗを顔画像であると最終的に判別して処理を終了し、算出されたスコアが第１の閾値より小さい第２の閾値Ｔｈ２を下回る場合には、その部分画像Ｗを非顔画像であると最終的に判別して処理を終了する。どちらにも該当しない場合には、最終的な判別は行わず、部分画像Ｗが顔画像である可能性を残すものであると判定して、次の弱判別器ＷＣによる判別を行う。
【００８６】
上記の第１の判別器群３４における判別器を構成する弱判別器は、この第２の閾値Ｔｈ２が相対的に小さく設定されており、一方、第２の判別器群３５における判別器を構成する弱判別器は、この第２の閾値Ｔｈ２が相対的に大きく設定されている。このため、第１の判別器群３４の判別器は、判別が比較的難しい顔を含む部分画像Ｗ、すなわち、スコアがあまり上がらない部分画像Ｗについても、スコアが第２の閾値Ｔｈ２を上回る可能性が高くなり、多数の弱判別器ＷＣを経由して最終的に顔画像であると判別される可能性が高まり、その結果、誤判別による検出漏れが少ない反面、判別に要する時間が長いという特徴を有することになる。また、第２の判別器群３５の判別器は、このような判別が比較的難しい部分画像Ｗ、すなわち、スコアがあまり上がらない部分画像Ｗについては、スコアが第２の閾値Ｔｈ２を下回る可能性が低くなり、少ない弱判別器ＷＣを経由して最終的に非顔画像であると判別される可能性が高まり、その結果、誤判別による検出漏れが多い反面、判別に要する時間が短いという特徴を有することになる。
【００８７】
したがって、このような判別器を用いた検出処理では、弱判別器ＷＣの閾値（第２の閾値Ｔｈ２）が小さいときには、相対的に検出漏れは少ないが処理時間が長く、弱判別器ＷＣの閾値（第２の閾値Ｔｈ２）が大きいときには、相対的に検出漏れは大きいが処理時間が短いという特徴を有する。
【００８８】
図７は１つの判別器における処理の流れを示すフローチャートである。部分画像Ｗが判別器に入力されると、第１番目の弱判別器ＷＣにおいて特徴量ｘが算出される（ステップＳ１１）。例えば、図８に示すように、所定のサイズ、例えば、３２×３２画素サイズの部分画像Ｗに対して、４近傍画素平均（画像を２×２画素サイズ毎に複数のブロックに区分し、各ブロックの４画素における画素値の平均値をそのブロックに対応する１つの画素の画素値とする処理）を段階的に行うことにより、１６×１６画素サイズの画像と、８×８画素サイズの縮小した画像を得、もとの画像を含めたこれら３つの画像の平面内に設定される所定の２点を１ペアとして、複数種類のペアからなる１つのペア群を構成する各ペアにおける２点間の画素値（輝度）の差分値をそれぞれ計算し、これらの差分値の組合せを特徴量とする。各ペアの所定の２点は、例えば、画像上の顔の濃淡の特徴が反映されるよう決められた縦方向に並んだ所定の２点や、横方向に並んだ所定の２点とする。そして、特徴量である差分値の組合せに対応する値をｘとして算出する。次に、その値ｘに応じて所定のスコアテーブル（自己のヒストグラム）から部分画像Ｗが判別すべき顔（例えば、判別器３４＿Ｆ３０の場合には「顔の向きが正面で傾きが回転角度３０度の顔」）を表す画像である蓋然性を示すスコアが求められる（ステップＳ１２）。次に、１つ前の弱判別器ＷＣから引き渡されたスコアにそのスコアを加算して累積スコアＳＣを算出するのであるが、第１番目の弱判別器ＷＣの場合には、引き渡されるスコアが存在しないので、この場合には、求めたスコアをそのまま累積スコアＳＣとする（ステップＳ１３）。次に、その累積スコアＳＣが予め決められた所定の閾値Ｔｈ１を超えたか否か、および、その累積スコアＳＣが予め決められた所定の閾値Ｔｈ２を下回ったか否かを判定する（ステップＳ１４）。すなわち、ＳＣ＞Ｔｈ１という条件、もしくは、ＳＣ＜Ｔｈ２という条件のいずれかを満たすか否かを判定する。これらの条件を満たすと判定された場合には、ＳＣ＞Ｔｈ１のときに部分画像Ｗが判別すべき顔を表す「顔画像」であると判別し、ＳＣ＜Ｔｈ２のときに部分画像Ｗが「非顔画像」であると判別し、処理を終了する（ステップＳ１５）。一方、ステップＳ１４において、上記の条件を満たさないと判定された場合には、次の弱判別器ＷＣがあるか否かを判定し（ステップＳ１６）、ここで、次の弱判別器ＷＣがあると判定されたときには、累積スコアＳＣを次の弱判別器ＷＣに引き渡して、その次の弱判別器ＷＣの処理に移行する（ステップＳ１７）。一方、ステップＳ１６において、次の弱判別器ＷＣがないと判定された場合には、算出されたスコアの大小に基づいて、部分画像Ｗが判別すべき顔を表す「顔画像」、「非顔画像」のいずれかとして判別し処理を終了する（ステップＳ１８）。
【００８９】
次に、判別器の学習（生成）方法について説明する。
【００９０】
図９は判別器の学習方法を示すフローチャートである。判別器の学習には、所定のサイズ、例えば３２×３２画素サイズで規格化され、さらに、前述の正規化部２０による正規化処理と同様の処理が施された複数のサンプル画像を用いる。サンプル画像としては、顔であることが分かっている複数の異なる顔サンプル画像からなる顔サンプル画像群と、顔でないことが分かっている複数の異なる非顔サンプル画像からなる非顔サンプル画像群とを用意する。
【００９１】
顔サンプル画像群は、１つの顔サンプル画像につき、縦および／または横を０．７倍から１．２倍の範囲にて０．１倍単位で段階的に拡縮して得られる各サンプル画像に対し、平面上±１５度の範囲にて３度単位で段階的に回転させて得られる複数の変形バリエーションを用いる。なおこのとき、顔サンプル画像は、目の位置が所定の位置に来るように顔のサイズと位置を規格化し、上記の平面上の回転、拡縮は目の位置を基準として行うようにする。例えば、ｄ×ｄサイズのサンプル画像の場合においては、図１０に示すように、両目の位置が、サンプル画像の最左上の頂点と最右上の頂点から、それぞれ、内側に１／４ｄ、下側に１／４ｄ移動した各位置とに来るように顔のサイズと位置を規格化し、また、上記の平面上の回転、拡縮は、両目の中間点を中心に行うようにする。
【００９２】
これら各サンプル画像には、重みすなわち重要度が割り当てられる。まず、すべてのサンプル画像の重みの初期値が等しく１に設定される（ステップＳ２１）。
【００９３】
次に、サンプル画像およびその縮小画像の平面内に設定される所定の２点を１ペアとして複数のペアからなるペア群を複数種類設定したときの、この複数種類のペア群のそれぞれについて弱半別器が作成される（ステップＳ２２）。ここで、それぞれの弱判別器とは、サブウィンドウＷで切り出された部分画像とその縮小画像の平面内に設定される所定の２点を１ペアとして複数のペアからなる１つのペア群を設定したときの、この１つのペア群を構成する各ペアにおける２点間の画素値（輝度）の差分値の組合せを用いて、顔の画像と顔でない画像とを判別する基準を提供するものである。本実施形態においては、１つのペア群を構成する各ペアにおける２点間の画素値の差分値の組合せについてのヒストグラムを弱判別器のスコアテーブルの基礎として使用する。
【００９４】
図１１はサンプル画像からヒストグラムが生成される様子を示した図である。図１１の左側のサンプル画像に示すように、この判別器を作成するためのペア群を構成する各ペアの２点は、顔であることが分かっている複数のサンプル画像において、サンプル画像上の右目の中心にある点をＰ１、右側の頬の部分にある点をＰ２、眉間の部分にある点をＰ３、サンプル画像を４近傍画素平均で縮小した１６×１６画素サイズの縮小画像上の右目の中心にある点をＰ４、右側の頬の部分にある点をＰ５、さらに４近傍画素平均で縮小した８×８画素サイズの縮小画像上の額の部分にある点をＰ６、口の部分にある点をＰ７として、Ｐ１−Ｐ２、Ｐ１−Ｐ３、Ｐ４−Ｐ５、Ｐ４−Ｐ６、Ｐ６−Ｐ７の５ペアである。なお、ある判別器を作成するための１つのペア群を構成する各ペアの２点の座標位置はすべてのサンプル画像において同一である。そして顔であることが分かっているすべてのサンプル画像について上記５ペアを構成する各ペアの２点間の画素値の差分値の組合せが求められ、そのヒストグラムが作成される。ここで、画素値の差分値の組合せとしてとり得る値は、画像の輝度階調数に依存するが、仮に１６ビット階調である場合には、１つの画素値の差分値につき６５５３６通りあり、全体では階調数の（ペア数）乗、すなわち６５５３６の５乗通りとなってしまい、学習および検出のために多大なサンプルの数、時間およびメモリを要することとなる。このため、本実施形態においては、画素値の差分値を適当な数値幅で区切って量子化し、ｎ値化する（例えばｎ＝１００）。これにより、画素値の差分値の組合せの数はｎの５乗通りとなるため、画素値の差分値の組合せを表すデータ数を低減できる。
【００９５】
同様に、非顔サンプル画像群についても、ヒストグラムが作成される。なお、非顔サンプル画像については、顔サンプル画像上における上記各ペアの所定の２点の位置に対応する位置（同様に参照符号Ｐ１からＰ７を用いる）が用いられる。これらの２つのヒストグラムが示す頻度値の比の対数値を取ってヒストグラムで表したものが、図１１の一番右側に示す、弱判別器のスコアテーブルの基礎として用いられるヒストグラムである。この弱判別器のヒストグラムが示す各縦軸の値を、以下、判別ポイントと称する。この弱判別器によれば、正の判別ポイントに対応する、画素値の差分値の組合せの分布を示す画像は顔である可能性が高く、判別ポイントの絶対値が大きいほどその可能性は高まると言える。逆に、負の判別ポイントに対応する画素値の差分値の組合せの分布を示す画像は顔でない可能性が高く、やはり判別ポイントの絶対値が大きいほどその可能性は高まる。ステップＳ２２では、判別に使用され得る複数種類のペア群を構成する各ペアの所定の２点間の画素値の差分値の組合せについて、上記のヒストグラム形式の複数の弱判別器が作成される。
【００９６】
続いて、ステップＳ２２で作成した複数の弱半別器のうち、画像が顔画像であるか否かを判別するのに最も有効な弱判別器が選択される。最も有効な弱判別器の選択は、各サンプル画像の重みを考慮して行われる。この例では、各弱判別器の重み付き正答率が比較され、最も高い重み付き正答率を示す弱判別器が選択される（ステップＳ２３）。すなわち、最初のステップＳ２３では、各サンプル画像の重みは等しく１であるので、単純にその弱判別器によって画像が顔画像であるか否かが正しく判別されるサンプル画像の数が最も多いものが、最も有効な弱判別器として選択される。一方、後述するステップＳ２５において各サンプル画像の重みが更新された後の２回目のステップＳ２３では、重みが１のサンプル画像、重みが１よりも大きいサンプル画像、および重みが１よりも小さいサンプル画像が混在しており、重みが１よりも大きいサンプル画像は、正答率の評価において、重みが１のサンプル画像よりも重みが大きい分多くカウントされる。これにより、２回目以降のステップＳ２３では、重みが小さいサンプル画像よりも、重みが大きいサンプル画像が正しく判別されることに、より重点が置かれる。
【００９７】
次に、それまでに選択した弱判別器の組合せの正答率、すなわち、それまでに選択した弱判別器を組み合わせて使用して（学習段階では、弱判別器は必ずしも線形に結合させる必要はない）各サンプル画像が顔画像であるか否かを判別した結果が、実際に顔画像であるか否かの答えと一致する率が、所定の閾値を超えたか否かが確かめられる（ステップＳ２４）。ここで、弱判別器の組合せの正答率の評価に用いられるのは、現在の重みが付けられたサンプル画像群でも、重みが等しくされたサンプル画像群でもよい。所定の閾値を超えた場合は、それまでに選択した弱判別器を用いれば画像が顔であるか否かを十分に高い確率で判別できるため、学習は終了する。所定の閾値以下である場合は、それまでに選択した弱判別器と組み合わせて用いるための追加の弱判別器を選択するために、ステップＳ２６へと進む。
【００９８】
ステップＳ２６では、直近のステップＳ２３で選択された弱判別器が再び選択されないようにするため、その弱判別器が除外される。
【００９９】
次に、直近のステップＳ２３で選択された弱判別器では顔であるか否かを正しく判別できなかったサンプル画像の重みが大きくされ、画像が顔画像であるか否かを正しく判別できたサンプル画像の重みが小さくされる（ステップＳ２５）。このように重みを大小させる理由は、次の弱判別器の選択において、既に選択された弱判別器では正しく判別できなかった画像を重要視し、それらの画像が顔であるか否かを正しく判別できる弱判別器が選択されるようにして、弱判別器の組合せの効果を高めるためである。
【０１００】
続いて、ステップＳ２３へと戻り、上記したように重み付き正答率を基準にして次に有効な弱判別器が選択される。
【０１０１】
以上のステップＳ２３からＳ２６を繰り返して、顔画像であるか否かを判別するのに適した弱判別器として、特定のペア群を構成する各ペアの所定の２点間の画素値の差分値の組合せに対応する弱判別器が選択されたところで、ステップＳ２４で確認される正答率が閾値を超えたとすると、顔画像であるか否かの判別に用いる弱判別器の種類と判別条件とが確定され（ステップＳ２７）、これにより学習を終了する。なお、選択された弱判別器は、その重み付き正答率が高い順に線形結合され、１つの判別器が構成される。また、各弱判別器については、それぞれ得られたヒストグラムを基に、画素値の差分値の組合せに応じてスコアを算出するためのスコアテーブルが生成される。なお、ヒストグラム自身をスコアテーブルとして用いることもでき、この場合、ヒストグラムの判別ポイントがそのままスコアとなる。
【０１０２】
このようにして、顔サンプル画像群と非顔サンプル画像群とを用いた学習により、判別器が生成されるわけであるが、上記のように、判別したい顔の傾きおよび向き毎に異なる複数の判別器を生成するには、顔の各傾きおよび各向きに対応した複数種類の顔サンプル画像群を用意し、その顔サンプル画像群と非顔サンプル画像群とを用いた学習を顔サンプル画像群の種類毎に行うこととなる。
【０１０３】
すなわち、本実施形態においては、顔の向きについては、正面、左横、右横の計３種類、顔の傾きについては、回転角度０度から３３０度まで３０度刻みの計１２種類、合計３６種類の顔サンプル画像群を用意する。
【０１０４】
上記の複数の顔サンプル画像群が得られたら、顔サンプル画像群の種類毎に、その顔サンプル画像群と非顔サンプル画像群とを用いて、上記の学習を行うことにより、第１および第２の判別器群３４，３５を構成する３６種類の判別器の基礎を生成することができる。そして最終的に、その基礎となった各判別器を構成する弱判別器の第２の閾値Ｔｈ２を調整して、第１の判別器群３４と第２の判別器群３５を構成する判別器を生成する。
【０１０５】
なお、上記の学習手法を採用する場合において、弱判別器は、特定のペア群を構成する各ペアの所定の２点間の画素値の差分値の組合せを用いて顔の画像と顔でない画像とを判別する基準を提供するものであれば、上記のヒストグラムの形式のものに限られずいかなるものであってもよく、例えば２値データ、閾値または関数等であってもよい。また、同じヒストグラムの形式であっても、図１１の中央に示した２つのヒストグラムの差分値の分布を示すヒストグラム等を用いてもよい。
【０１０６】
また、学習の方法としては上記手法に限定されるものではなく、ニューラルネットワーク等他のマシンラーニングの手法を用いることができる。
【０１０７】
重複検出判定部４０は、各解像度画像上で検出された顔画像Ｓ２の各々に対して、顔画像の位置関係から、その顔画像が、検出対象画像Ｓ０上では同一の顔を表す顔画像であって解像度の隣接する複数の解像度画像上で重複して検出されたものであるか否かを判定し、重複して検出されたと認められる複数の顔画像を１つにまとめる処理を行い、重複検出のない真の顔画像Ｓ３を出力するものである。
【０１０８】
検出対象画像Ｓ０を多重解像度化して複数の解像度画像を得る際には、顔画像の検出漏れを防ぐため、隣接する解像度画像間での解像度のギャップは、あまり大きくとることができない。また、判別器は、通常、判別可能な顔の大きさとしてある程度の許容範囲を有している。このような場合、検出対象画像Ｓ０上の同一の顔が、隣接する複数の解像度画像において重複して検出される場合がある。重複検出判定部４０による上記の処理は、このような重複検出を排除し、正確な検出結果を得るために行われる処理である。
【０１０９】
次に、第１の実施形態による顔検出システム１における処理の流れについて説明する。
【０１１０】
図１２ａ，図１２ｂは、この顔検出システム１における処理の流れを示したフローチャートである。これらの図に示すように、多重解像度化部１０に検出対象画像Ｓ０が供給されると（ステップＳ３１）、この検出対象画像Ｓ０の画像サイズが所定のサイズに変換された画像Ｓ０′が生成され、この画像Ｓ０′から２の−１／３乗倍ずつサイズ（解像度）が縮小された複数の解像度画像からなる解像度画像群Ｓ１が生成される（ステップＳ３２）。そして、正規化部２０において、解像度画像群Ｓ１の各解像度化像に対して、上述の全体正規化処理と局所正規化処理が施され、正規化済みの解像度画像群Ｓ１′が得られる（ステップＳ３３）。
【０１１１】
顔検出部３０においては、まず、検出制御部３１が、検出すべき顔の傾きを予め設定された順番にしたがって１つ選択する（ステップＳ３４）。そして、その選択した検出すべき顔の傾きが第１の傾き、すなわち、検出対象画像Ｓ０の垂直方向および水平方向と一致する傾きであるか否かを判定し（ステップＳ３５）、一致する場合には、第１の判別器群３４の中から判別すべき顔の傾きが上記選択された検出すべき顔の傾きと一致する判別器を選択し（ステップＳ３６）、一致しない場合には第２の判別器群３５の中から判別すべき顔の傾きが上記選択された検出すべき顔の傾きと一致する判別器を選択する（ステップＳ３７）。例えば、検出すべき顔の傾きが検出対象画像Ｓ０の天地方向を基準に３０度回転した傾きである場合には、判別器３４Ｆ＿３０，３４Ｌ＿３０，３４Ｒ＿３０の３つの判別器が選択される。
【０１１２】
そして、解像度画像選択部３２が、解像度画像群Ｓ１′の中から画像サイズの小さい順、すなわち、Ｓ１′＿ｎ，Ｓ１′＿ｎ−１，・・・，Ｓ１′＿１の順に、顔画像の検出対象となる解像度画像を１つ選択する（ステップＳ３８）。
【０１１３】
サブウィンドウ設定部３３は、選択された解像度画像上でサブウィンドウを所定の変化幅、例えば２画素間隔で移動しながら設定して所定サイズの部分画像Ｗを順次切り出し（ステップＳ３９）、その部分画像Ｗを上記選択された判別器へ入力する。これらの判別器は入力された部分画像Ｗが顔画像であるか否かを判別し（ステップＳ４０）、検出制御部３１がその判別結果Ｒを取得する。
【０１１４】
検出制御部３１は、現在切り出された部分画像Ｗが現在選択されている解像度画像上で最後の部分画像であるか否か、すなわち、次に切り出すべき部分画像があるか否かを判定する（ステップＳ４１）。ここで、現在の部分画像Ｗが最後の部分画像でないと判定された場合には、ステップＳ３９に戻り、現在の解像度画像上で新たな部分画像Ｗを切り出し、検出処理を続行する。一方、現在の部分画像Ｗが最後の部分画像であると判定された場合には、次のステップとして、現在の解像度画像が最後の解像度画像であるか否か、すなわち、次に選択すべき解像度画像があるか否かを判定する（ステップＳ４２）。ここで、現在の解像度画像が最後の解像度画像でないと判定された場合には、ステップＳ３８に戻り、新たな解像度画像を選択し、検出処理を続行する。一方、現在の解像度画像が最後の解像度画像であると判定された場合には、次のステップとして、現在選択されている検出すべき顔の傾きが最後の順番の傾きか否か、すなわち、次に選択すべき顔の傾きがあるか否かを判定する（ステップＳ４３）。ここで、現在選択されている「検出すべき顔の傾き」が、最後の順番の「検出すべき顔の傾き」でないと判定された場合には、ステップＳ３４に戻り、次の順番の「検出すべき顔の傾き」を選択し、検出処理を続行する。一方、現在選択されている「検出すべき顔の傾き」が、最後の順番の「検出すべき顔の傾き」であると判定された場合には、検出処理を終了する。
【０１１５】
そして最後に、重複検出判定部４０により、検出された顔画像Ｓ２のうち重複して検出された顔画像をそれぞれ１つの顔画像としてまとめる処理を行い、検出対象画像Ｓ０において検出された真の顔画像Ｓ３を出力する。
【０１１６】
図１３は、上記のステップＳ３８からステップＳ４２までを繰り返すことにより、解像度画像がサイズの小さい順に選択されて、各解像度画像上で部分画像Ｗが順次切り出され、顔検出が実施される様子を示した図である。
【０１１７】
図１４は、本顔検出システム１により、検出対象画像Ｓ０の解像度を変更して正規化処理を施すことにより得られた解像度画像Ｓ１′＿ｉ上で顔検出が実施される場合において、検出すべき顔の傾きに応じて検出処理の種類を変える様子を表す概念図である。解像度画像上で順次切り出される各部分画像Ｗに対して、検出対象画像Ｓ０の垂直方向および水平方向と一致する傾き、すなわち、検出対象画像Ｓ０の天地方向を基準として、０度、９０度、１８０度、２７０度の４つの傾きについては、経験則上、顔が検出される確率が他の傾きに比べて高いので、相対的に検出漏れが少なく処理時間が長い第１の検出処理、すなわち、第１の判別器群３４の判別器を用いた検出処理を行い、その他の傾きついては、顔が検出される確率が相対的に低いので、相対的に検出漏れが多く処理時間が短い第２の検出処理、すなわち、第２の判別器群３５の判別器を用いた検出処理を行う。
【０１１８】
このように、本発明の第１の顔検出装置の実施形態である顔検出システムによれば、入力された検出対象画像Ｓ０に含まれる顔を、検出すべき顔の傾きを変えながら検出する処理において、検出すべき顔の傾きが、顔が検出される確率が相対的に高い第１の傾きであるときに、相対的に検出漏れが少なく処理時間が長い第１の検出処理を行い、検出すべき顔の傾きが、第１の傾きとは異なる傾きであるときに、相対的に検出漏れが多く処理時間が短い第２の検出処理を行うようにしているので、処理時間は長いが検出漏れが少ない検出処理を、顔が検出される確率が高い条件に集中させることができ、処理時間をできるだけ抑えながら顔の検出確率を上げることが可能となる。
【０１１９】
続いて、本発明による第２の顔検出装置の実施の形態である顔検出システムについて説明する（第２の実施形態）。
【０１２０】
第２の実施形態による顔検出システム１は、図１に示すような第１の実施形態による顔検出システムと同じ構成を有するものであり、顔検出システムを構成する各部の機能も略同じであるが、顔検出部３０における処理内容に若干の違いがある。すなわち、第１の実施形態において、顔検出部３０は、検出すべき顔の傾きに応じて上記第１の検出処理と第２の検出処理を切り替えているが、本実施形態である第２の実施形態においては、顔検出部３０は、検出対象画像Ｓ０上の検出すべき顔の位置に応じて上記第１の検出処理と第２の検出処理を切り替えるようにしている。
【０１２１】
具体的には、検出制御部３１が、各部を制御して、検出すべき顔の位置（サブウィンドウ設定部３３により切り出される部分画像Ｗの位置）が、顔を検出する確率が経験則上、相対的に高い第１の位置であるときに、相対的に顔を検出する確率が高く（検出漏れが少なく）処理時間が長い第１の検出処理を実施し、一方、検出すべき顔の位置が、第１の位置とは異なる位置（以下、この位置を第２の位置という）であるときに、第１の検出処理に比して相対的に顔を検出する確率が低く（検出漏れが多く）処理時間が短い第２の検出処理を実施する。
【０１２２】
第１の位置としては、種々考えられるが、ここでは、検出対象画像Ｓ０の中心を含む所定領域内の位置とし、検出すべき顔の位置が、図１５に示すように、中心を検出対象画像Ｓ０と同一とし、サイズを検出対象画像Ｓ０の縦幅Ｈｄと横幅Ｗｄを１／２に縮小したサイズ（面積が１／４）とする中央領域ＲＣ内の位置であるときとする。一般的に、人物が被写体である写真画像等の場合、その人物の顔の位置は、画像の中央付近となることが多く、このような位置において顔が検出される確率は、他の位置の場合より高いと考えられるからである。
【０１２３】
次に、第２の実施形態による顔検出システム１における処理の流れについて説明する。
【０１２４】
図１６ａ，図１６ｂは、この顔検出システム１における処理の流れを示したフローチャートである。これらの図に示すように、多重解像度化部１０に検出対象画像Ｓ０が供給されると（ステップＳ５１）、この検出対象画像Ｓ０の画像サイズが所定のサイズに変換された画像Ｓ０′が生成され、この画像Ｓ０′から２の−１／３乗倍ずつサイズ（解像度）が縮小された複数の解像度画像からなる解像度画像群Ｓ１が生成される（ステップＳ５２）。そして、正規化部２０において、解像度画像群Ｓ１の各解像度化像に対して、上述の全体正規化処理と局所正規化処理が施され、正規化済みの解像度画像群Ｓ１′が得られる（ステップＳ５３）。
【０１２５】
顔検出部３０においては、まず、検出制御部３１が、検出すべき顔の傾きを予め設定された順番にしたがって１つ選択する（ステップＳ５４）。そして、解像度画像選択部３２が、解像度画像群Ｓ１′の中から画像サイズの小さい順、すなわち、Ｓ１′＿ｎ，Ｓ１′＿ｎ−１，・・・，Ｓ１′＿１の順に、顔画像の検出対象となる解像度画像を１つ選択する（ステップＳ５５）。
【０１２６】
サブウィンドウ設定部３３は、選択された解像度画像上でサブウィンドウを所定の変化幅、例えば２画素間隔で移動しながら設定して所定サイズの部分画像Ｗを順次切り出す（ステップＳ５６）。ここで、検出制御部３１は、切り出された部分画像Ｗの中心の位置が第１の位置、すなわち、中央領域ＲＣ内の位置であるか否かを判定し（ステップＳ５７）、中央領域ＲＣ内の位置である場合には、第１の判別器群３４の中から判別すべき顔の傾きが上記選択された検出すべき顔の傾きと一致する判別器を選択し（ステップＳ５８）、中央領域ＲＣ外の位置である場合には、第２の判別器群３５の中から判別すべき顔の傾きが上記選択された検出すべき顔の傾きと一致する判別器を選択する（ステップＳ５９）。例えば、検出すべき顔の傾きが検出対象画像Ｓ０の天地方向を基準に３０度回転した傾きである場合には、判別器３４Ｆ＿３０，３４Ｌ＿３０，３４Ｒ＿３０の３つの判別器が選択される。
【０１２７】
そして、その部分画像Ｗは上記選択された判別器へ入力され、これらの判別器は入力された部分画像Ｗが顔画像であるか否かを判別し（ステップＳ６０）、検出制御部３１がその判別結果Ｒを取得する。
【０１２８】
検出制御部３１は、現在切り出された部分画像Ｗが現在選択されている解像度画像上で最後の部分画像であるか否か、すなわち、次に切り出すべき部分画像があるか否かを判定する（ステップＳ６１）。ここで、現在の部分画像Ｗが最後の部分画像でないと判定された場合には、ステップＳ５６に戻り、現在の解像度画像上で新たな部分画像Ｗを切り出し、検出処理を続行する。一方、現在の部分画像Ｗが最後の部分画像であると判定された場合には、次のステップとして、現在の解像度画像が最後の解像度画像であるか否か、すなわち、次に選択すべき解像度画像があるか否かを判定する（ステップＳ６２）。ここで、現在の解像度画像が最後の解像度画像でないと判定された場合には、ステップＳ５５に戻り、新たな解像度画像を選択し、検出処理を続行する。一方、現在の解像度画像が最後の解像度画像であると判定された場合には、次のステップとして、現在選択されている検出すべき顔の傾きが最後の順番の傾きか否か、すなわち、次に選択すべき顔の傾きがあるか否かを判定する（ステップＳ６３）。ここで、現在選択されている「検出すべき顔の傾き」が、最後の順番の「検出すべき顔の傾き」でないと判定された場合には、ステップＳ５４に戻り、次の順番の「検出すべき顔の傾き」を選択し、検出処理を続行する。一方、現在選択されている「検出すべき顔の傾き」が、最後の順番の「検出すべき顔の傾き」であると判定された場合には、検出処理を終了する。
【０１２９】
そして最後に、重複検出判定部４０により、検出された顔画像Ｓ２のうち重複して検出された顔画像をそれぞれ１つの顔画像としてまとめる処理を行い、検出対象画像Ｓ０において検出された真の顔画像Ｓ３を出力する。
【０１３０】
このように、本発明の第２の顔検出装置の実施形態である顔検出システムによれば、入力された検出対象画像Ｓ０に含まれる顔を、検出すべき顔の位置を変えながら検出する処理において、検出すべき顔の位置が、顔が検出される確率が相対的に高い第１の位置であるときに、相対的に検出漏れが少なく処理時間が長い第１の検出処理を行い、検出すべき顔の位置が、第１の位置とは異なる位置であるときに、相対的に検出漏れが多く処理時間が短い第２の検出処理を行うようにしているので、処理時間は長いが検出漏れが少ない検出処理を、顔が検出される確率が高い条件に集中させることができ、処理時間をできるだけ抑えながら顔の検出確率を上げることが可能となる。
【０１３１】
なお、第２の実施形態においては、第１の位置を画像の中央領域としているが、これとは別に、例えば、デジタルカメラ等でレンズのフォーカスを合わせたときに、そのフォーカス位置に顔がある可能性が高いという経験則に基づいて、そのフォーカス位置を中心とする所定範囲の領域内の位置を第１の位置としてもよい。
【０１３２】
また、上記第１および第２の実施形態においては、第１の判別器群３４および第２の判別器群３５の判別器として、判別器を構成する弱判別器が部分画像Ｗが非顔画像であるか否かを判別する際に用いるスコアの閾値（第２の閾値Ｔｈ２）の高低がそれぞれ異なるものを用いているが、これとは別に、第１の判別器群３４および第２の判別器群３５の判別器として、学習に使用した顔サンプル画像群がそれぞれ異なるものを用いるようにしてもよい。例えば、第１の判別器群３４の判別器は、判別が比較的難しい顔サンプル画像群を学習に用いたものとし、第２の判別器群３５の判別器は、判別が比較的易しい顔サンプル画像群を学習に用いたものとする。このようにすれば、判別が比較的難しい顔サンプル画像群からは、判別が難しい顔も検出する可能性が高いため検出漏れが少ない一方で、難しい顔を判別するためにより多くの弱判別器が必要となり、相対的に処理時間が長い判別器が形成される。判別が比較的易しい顔サンプル画像群からは、判別が易しい顔を高速に判別する一方で、判別が難しい顔を検出する可能性が低くなり、検出漏れが多い判別器が形成される。
【０１３３】
また、第１および第２の実施形態においては、検出すべき顔の傾きや検出すべき顔の位置に応じて、部分画像Ｗが顔画像であるか否かの判別に用いる判別器群の種類を切り替えることにより、検出処理の種類を切り替えているが、これとは別に、例えば、図１７に示すように、判別器群を１種類だけとし、検出すべき顔の傾きや検出すべき顔の位置に応じて、検出すべき顔の位置の変化幅、すなわち、サブウィンドウ設定部３３が解像度画像上で部分画像Ｗを順次切り出すときの移動幅を変えるようにしてもよい。すなわち、検出すべき顔の傾きが第１の傾きであるとき、または、検出すべき顔の位置が第１の位置にあるときに、その移動幅を相対的に狭く設定して検出処理を行い（第１の検出処理）、検出すべき顔の傾きが第２の傾きであるとき、または、検出すべき顔の位置が第２の位置にあるときに、その移動幅を相対的に広く設定して検出処理を行う（第２の検出処理）ようにしてもよい。
【０１３４】
また、例えば、検出すべき顔の傾きや検出すべき顔の位置に応じて、検出すべき顔の大きさの変化幅、すなわち、解像度画像選択部３２が解像度画像を順次選択するときの解像度画像における解像度の変化幅を変えるようにしてもよい。すなわち、検出すべき顔の傾きが第１の傾きであるとき、または、検出すべき顔の位置が第１の位置であるときに、その解像度の変化幅を相対的に小さく設定して検出処理を行い（第１の検出処理）、検出すべき顔の傾きが第２の傾きであるとき、または、検出すべき顔の位置が第２の位置であるときに、その解像度の変化幅を相対的に大きく設定して検出処理を行う（第２の検出処理）ようにしてもよい。
【０１３５】
このように、空間的に密な検出処理を第１の検出処理とし、空間的に粗い検出処理を第２の検出処理とするような実施形態であっても、上記第１および第２の実施形態と同様に、処理時間は長いが検出漏れが少ない検出処理を、顔が検出される確率が高い条件に集中させることができ、処理時間をできるだけ抑えながら顔の検出確率を上げることが可能となる。
【０１３６】
また、検出対象画像に含まれる顔を、検出すべき顔の大きさを変えながら検出する顔検出処理において、その検出すべき顔の大きさが、顔が検出される確率が相対的に高い第１の大きさであるときに、相対的に検出漏れが少なく処理時間が長い第１の検出処理を行い、その検出すべき顔の大きさが、第１の大きさとは異なる大きさのときに、相対的に検出漏れが多く処理時間が短い第２の検出処理を行うようにすることもできる。
【０１３７】
例えば、デジタルカメラ等で撮影モードをポートレートモードに設定して撮影した場合、その撮影によって得られたデジタル写真画像においては、そのデジタル写真画像に比較的大きな顔が含まれている可能性が高い。そこで、デジタルカメラに記憶されている情報から、あるいは、そのデジタル写真画像の付帯情報から、撮影時のカメラの撮影モードがポートレートモードであったことを示す情報が得られた場合には、上記第１の大きさを所定の大きさ、例えば、画像の１／４の大きさを超える大きさとすることもできる。
【０１３８】
なお、上記複数の実施形態による顔検出システムは、デジタルカメラに内蔵し、当該システムにより検出された顔の情報を、カメラの制御に用いるようにしてもよい。
【０１３９】
なお、上記複数の実施形態において、検出対象画像に含まれる顔を所定数、検出するような場合には、顔が検出される確率が高い条件での検出処理を優先して行うようにすれば、さらなる高速化を図ることもできる。
【０１４０】
以上、本発明の実施形態に係る顔検出システムについて説明したが、この顔検出システムのうちの本発明の顔検出装置に対応する部分における各処理をコンピュータに実行させるためのプログラムも、本発明の実施形態の１つである。また、そのようなプログラムを記録したコンピュータ読取可能な記録媒体も、本発明の実施形態の１つである。
【図面の簡単な説明】
【０１４１】
【図１】顔検出システム１の構成の第１の例を示すブロック図
【図２】検出対象画像の多重解像度化の工程を示す図
【図３】全体正規化処理に用いる変換曲線の一例を示す図
【図４】局所正規化処理の概念を示す図
【図５】局所正規化処理のフローを示す図
【図６】第１および第２の判別器群の構成を示すブロック図
【図７】判別器における処理フローを示す図
【図８】弱判別器における特徴量の算出を説明するための図
【図９】判別器の学習方法を示すフローチャート
【図１０】目の位置が所定の位置にくるように規格化された顔のサンプル画像を示す図
【図１１】弱判別器のヒストグラムを導出する方法を示す図
【図１２ａ】第１の実施形態による顔検出システム１において行われる処理を示すフローチャート（前半部）
【図１２ｂ】第１の実施形態による顔検出システム１において行われる処理を示すフローチャート（後半部）
【図１３】顔検出対象となる解像度画像の切替えとその画像上でのサブウィンドウの移動を説明するための図
【図１４】検出すべき顔の傾きに応じて検出処理の種類を変える様子を表す概念図
【図１５】検出対象画像Ｓ０上で顔が検出される確率が相対的に高い中央領域ＲＣを示す図
【図１６ａ】第２の実施形態による顔検出システム１において行われる処理を示すフローチャート（前半部）
【図１６ｂ】第２の実施形態による顔検出システム１において行われる処理を示すフローチャート（後半部）
【図１７】顔検出システム１の構成の第２の例を示すブロック図
【符号の説明】
【０１４２】
１  顔検出システム
１０  多重解像度化部
２０  正規化部
３０  顔検出部
３１  検出制御部
３２  解像度画像選択部
３３  サブウィンドウ設定部
３４  第１の判別器群
３４＿Ｆ  第１の正面顔判別器群
３４＿Ｌ  第１の左横顔判別器群
３４＿Ｒ  第１の右横顔判別器群
３５  第２の判別器群
３５＿Ｆ  第２の正面顔判別器群
３５＿Ｌ  第２の左横顔判別器群
３５＿Ｒ  第２の右横顔判別器群
４０  重複検出判定部
【図１】
0004619927.tif 000003
【図２】
0004619927.tif 000004
【図３】
0004619927.tif 000005
【図４】
0004619927.tif 000006
【図５】
0004619927.tif 000007
【図６】
0004619927.tif 000008
【図７】
0004619927.tif 000009
【図８】
0004619927.tif 000010
【図９】
0004619927.tif 000011
【図１０】
0004619927.tif 000012
【図１１】
0004619927.tif 000013
【図１２ａ】
0004619927.tif 000014
【図１２ｂ】
0004619927.tif 000015
【図１３】
0004619927.tif 000016
【図１４】
0004619927.tif 000017
【図１５】
0004619927.tif 000018
【図１６ａ】
0004619927.tif 000019
【図１６ｂ】
0004619927.tif 000020
【図１７】
0004619927.tif 000021