(57)【要約】【課題】顔の有無の判定精度を向上させる。【解決手段】ドライバーが存在可能な領域を撮影して得られた画像を取り込み（１００）、取り込んだ画像から横エッジ画像を検出し（１０２）、検出した横エッジ画像において、顔の中心線の候補線としての複数の顔中心候補線を設定すると共に、複数の顔中心候補線各々に対して、該顔中心候補線が顔の中心線である確からしさを表す値を算出し、最も値の大きい顔中心候補線を中心候補として検出する（１０４）。そして、中心候補の確からしさの値に基づいて、顔の有無を判定する（１０６）。【選択図】  図３
2005011097.tif 000002
【特許請求の範囲】
【請求項１】
所定領域を撮影して得られた画像を入力する画像入力手段と、
前記入力された画像の各画素の輝度値に基づいて、該画像中の輝度値の変化状態を示す輝度値変化状態画像を生成する輝度値変化状態画像生成手段と、
前記生成された輝度値変化状態画像に基づいて、顔の中心線の候補線としての複数の顔中心候補線を設定する設定手段と、
前記設定手段により設定された複数の顔中心候補線各々に対して、該顔中心候補線が顔の中心線である確からしさを表す値を算出する算出手段と、
前記算出手段により複数の顔中心候補線各々に対して算出された顔の中心線である確からしさを表す値に基づいて、前記所定領域中の顔の有無を判定する判定手段と、
を備えた顔有無判定装置。
【請求項２】
前記算出手段は、前記輝度値変化状態画像の前記顔中心候補線を基準にした線対称性を示す値を算出することにより、顔の中心線である確からしさを表す値を算出することを特徴とする請求項１記載の顔有無判定装置。
【請求項３】
前記輝度値変化状態画像生成手段は、前記各画素の所定方向の輝度変化に基づく第１の輝度値変化状態画像及び前記各画素の該所定方向と交差する方向の輝度変化に基づく第２の輝度値変化状態画像の少なくとも一方を生成することを特徴とする請求項１又は請求項２記載の顔有無判定装置。
【請求項４】
前記輝度値変化状態画像生成手段は、前記第１の輝度値変化状態画像及び前記第２の輝度値変化状態画像を生成し、
前記設定手段は、前記生成された第１の輝度値変化状態画像及び第２の輝度値変化状態画像各々に基づいて、顔の中心線の候補線としての複数の顔中心候補線を設定することを特徴とする請求項３記載の顔有無判定装置。
【請求項５】
前記算出手段により複数の顔中心候補線各々に対して算出された顔の中心線である確からしさを表す値に基づいて、前記設定手段により設定された複数の顔中心候補線の中から、より顔の中心線として確からしい少なくとも１つの顔中心候補線を選択する選択手段と、
前記選択手段により選択された顔中心候補線に基づいて、複数の顔中心候補線を再度設定するための部分輝度値変化状態画像を設定する部分輝度値変化状態画像設定手段と、
を備え、
前記設定手段は、前記部分輝度値変化状態画像選定手段により設定された部分輝度値変化状態画像に基づいて、顔の中心線の候補線としての複数の顔中心候補線を再度設定し、
前記算出手段は、前記設定手段により再度設定された複数の顔中心候補線各々に対して、該顔中心候補線が顔の中心線である確からしさを表す値を算出し、
前記判定手段は、前記設定手段により再度設定された複数の顔中心候補線各々に対する顔の中心線である確からしさを表す値と、再度設定される前の複数の顔中心候補線各々に対する顔の中心線である確からしさを表す値と、に基づいて、前記所定領域中の顔の有無を判定する、
ことを特徴とする請求項１乃至請求項４の何れか１項に記載の顔有無判定装置。
【請求項６】
前記生成された輝度値変化状態画像に基づいて、顔の両端を検出する顔両端検出手段と、
前記算出手段により複数の顔中心候補線各々に対して算出された顔の中心線である確からしさを表す値に基づいて、前記設定手段により設定された複数の顔中心候補線の中から、より顔の中心線として確からしい顔中心候補線を選択する選択手段と、
前記判定手段は、前記顔両端検出手段により検出された顔の両端と、前記選択手段により選択された顔中心候補線と、に基づいて、前記所定領域中の顔の有無を判定する、
請求項１乃至請求項５の何れか１項に記載の顔有無判定装置。
【請求項７】
前記選択手段は、確からしさを表す値が所定値以上の顔中心候補線を選択し、
前記判定手段は、前記顔両端検出手段により顔の両端が検出されると共に、前記選択手段により顔中心候補線が選択された場合に、前記所定領域中に顔が有ると判定する、
ことを特徴とする請求項６記載の顔有無判定装置。
【請求項８】
前記顔両端検出手段により検出された顔の両端と、前記選択手段により選択された顔中心候補線と、に基づいて、顔の向きを判定する顔向き判定手段を更に備え、
前記判定手段は、前記顔向き判定手段による顔の向きの判定状態に基づいて、所定領域中の顔の有無を判定する、
請求項６記載の顔有無判定装置。
【請求項９】
コンピュータに、
所定領域を撮影して得られた画像を入力するステップと、
前記入力された画像の各画素の所定方向の輝度変化に基づいて、輝度値変化状態画像を生成するステップと、
前記生成された輝度値変化状態画像に基づいて、顔の中心線の候補線としての複数の顔中心候補線を設定するステップと、
前記設定された複数の顔中心候補線各々に対して、該顔中心候補線が顔の中心線である確からしさを表す値を算出するステップと、
前記算出手段により複数の顔中心候補線各々に対して算出された顔の中心線である確からしさを表す値に基づいて、前記所定領域中の顔の有無を判定するステップと、
を実行させるための顔有無判定プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、顔有無判定装置及び顔有無判定プログラムに係り、より詳細には、所定領域を撮影して得られた画像に基づいて、所定領域中の顔の有無を判定する顔有無判定装置及び顔有無判定プログラムに関する。
【０００２】
【従来の技術】
従来、顔の有無を判定する技術に関連して、車両内における乗員の有無を自動的に検知するために、シートに荷重センサーを配置し、荷重センサーの検出状態に基づいて、乗員の有無を検知している。しかしながら、荷重センサーの検出状態に基づいて乗員の有無を検知する場合、体重の軽い子供の場合には、乗員なしと判定される場合がある。
【０００３】
そこで、従来、裸眼（めがねを含む）を撮影し、顔画像のエッジを検出して、エッジの密度、位置などを使って顔部品の位置を検出して顔を認識する装置が提案されている（特許文献１参照。）。
【０００４】
【特許文献１】
特開平９−１７１５６０号公報
【０００５】
【発明が解決しようとする課題】
しかしながら、顔画像のエッジを検出して、エッジの密度、位置などを使って顔部品の位置を検出して顔を認識する場合、例えば、ドライバーがサングラス等をかけていると、顔部品が検出できないため、顔の認識は困難であり、よって、顔の有無を精度よく判定することはできない。
【０００６】
本発明は、上記事実に鑑み成されたもので、顔の有無の判定精度を向上させることの可能な顔有無判定装置及び顔有無判定プログラムを提供することを目的とする。
【０００７】
【課題を解決するための手段】
上記目的達成のため請求項１記載の顔有無判定装置は、所定領域を撮影して得られた画像を入力する画像入力手段と、前記入力された画像の各画素の輝度値に基づいて、該画像中の輝度値の変化状態を示す輝度値変化状態画像を生成する輝度値変化状態画像生成手段と、前記生成された輝度値変化状態画像に基づいて、顔の中心線の候補線としての複数の顔中心候補線を設定する設定手段と、前記設定手段により設定された複数の顔中心候補線各々に対して、該顔中心候補線が顔の中心線である確からしさを表す値を算出する算出手段と、前記算出手段により複数の顔中心候補線各々に対して算出された顔の中心線である確からしさを表す値に基づいて、前記所定領域中の顔の有無を判定する判定手段と、を備えている。
【０００８】
画像入力手段により、所定領域を撮影して得られた画像が入力されると、輝度値変化状態画像生成手段は、入力された画像の各画素の輝度値に基づいて、該画像中の輝度値の変化状態を示す輝度値変化状態画像を生成する。具体的には、入力された画像の各画素の輝度変化に基づいて、輝度値変化状態画像としてエッジ画像を生成する。なお、請求項３のように、エッジ画像生成手段は、各画素の所定方向の輝度変化に基づく第１の輝度値変化状態画像及び前記各画素の該所定方向と交差する方向の輝度変化に基づく第２の輝度値変化状態画像の少なくとも一方を生成するようにしてもよい。
【０００９】
設定手段は、上記生成された輝度値変化状態画像に基づいて、顔の中心線の候補線としての複数の顔中心候補線を設定する。
【００１０】
算出手段は、設定手段により設定された複数の顔中心候補線各々に対して、該顔中心候補線が顔の中心線である確からしさを表す値を算出する。
【００１１】
ここで、算出手段は、請求項２のように、輝度値変化状態画像の前記顔中心候補線を基準にした線対称性を示す値を算出することにより、顔の中心線である確からしさを表す値を算出する。より具体的には、輝度値変化状態画像において顔中心候補線を基準に線対称となる、輝度値の変化が所定値以上の画素であるエッジ画素の組及び顔中心候補線を基準に線対称となる位置にエッジ画素が存在しない組の少なくと一方を計数することにより、顔の中心線である確からしさを表す値を算出する。
【００１２】
即ち、人の顔には、目や耳など、顔の中心線を基準に線対称となっている部分が多く、また、人の顔の全体も顔の中心線を基準に大よそ線対称となっている。従って、上記のように、輝度値変化状態画像の前記顔中心候補線を基準にした線対称性を示す値、例えば、顔中心候補線を基準に線対称となるエッジ画素の組及び顔中心候補線を基準に線対称となる位置にエッジ画素が存在しない組の少なくと一方を計数すると、計数値は、顔の中心線である確からしさを表す値となる。
【００１３】
なお、サングラス等をかけて目などの顔部品が検出できない場合でも、その他の部分において中心線を基準に線対称となっている部分があるので、顔の中心線である確からしさを表す値を算出することができる。
【００１４】
そして、判定手段は、算出手段により複数の顔中心候補線各々に対して算出された顔の中心線である確からしさを表す値に基づいて、所定領域中の顔の有無を判定する。
【００１５】
このように、顔の中心線の候補線としての複数の顔中心候補線を設定し、設定された複数の顔中心候補線各々に対して、該顔中心候補線が顔の中心線である確からしさを表す値を算出し、算出された値に基づいて、所定領域中の顔の有無を判定するので、顔の一部が隠れていてもその他の部分により顔の中心線の候補線としての複数の顔中心候補線各々に対して、該顔中心候補線が顔の中心線である確からしさを表す値を算出でき、所定領域中の顔の有無を判定することができる。
【００１６】
ところで、輝度値変化状態画像生成手段が、上述した第１の輝度値変化状態画像及び第２の輝度値変化状態画像を生成する場合には、請求項４のように、設定手段は、第１の輝度値変化状態画像及び第２の輝度値変化状態画像各々に基づいて、顔の中心線の候補線としての複数の顔中心候補線を設定するようにしてもよい。
【００１７】
この場合、設定手段は、生成された第１の輝度値変化状態画像及び第２の輝度値変化状態画像各々の輝度値変化状態画像に基づいて、顔の中心線の候補線としての複数の顔中心候補線を設定し、算出手段は、第１の輝度値変化状態画像及び第２の輝度値変化状態画像各々の輝度値変化状態画像に基づいて設定された複数の顔中心候補線各々に対して、該顔中心候補線が顔の中心線である確からしさを表す値を算出し、判定手段は、複数の顔中心候補線各々に対して算出された顔の中心線である確からしさを表す値に基づいて、所定領域中の顔の有無を判定する。
【００１８】
請求項５記載の発明は、請求項１乃至請求項４の何れか１項の発明において、前記算出手段により複数の顔中心候補線各々に対して算出された顔の中心線である確からしさを表す値に基づいて、前記設定手段により設定された複数の顔中心候補線の中から、より顔の中心線として確からしい少なくとも１つの顔中心候補線を選択する選択手段と、前記選択手段により選択された顔中心候補線に基づいて、複数の顔中心候補線を再度設定するための部分輝度値変化状態画像を設定する部分輝度値変化状態画像設定手段と、を更に備えている。
【００１９】
この場合、設定手段は、部分輝度値変化状態画像選定手段により設定された部分輝度値変化状態画像に基づいて、顔の中心線の候補線としての複数の顔中心候補線を再度設定する。
【００２０】
算出手段は、設定手段により再度設定された複数の顔中心候補線各々に対して、該顔中心候補線が顔の中心線である確からしさを表す値を算出する。
【００２１】
そして、判定手段は、設定手段により再度設定された複数の顔中心候補線各々に対する顔の中心線である確からしさを表す値と、再度設定される前の複数の顔中心候補線各々に対する顔の中心線である確からしさを表す値と、に基づいて、前記所定領域中の顔の有無を判定する。
【００２２】
請求項６記載の発明は、請求項１乃至請求項５の何れか１項に記載の発明において、前記生成された輝度値変化状態画像に基づいて、顔の両端を検出する顔両端検出手段と、前記算出手段により複数の顔中心候補線各々に対して算出された顔の中心線である確からしさを表す値に基づいて、前記設定手段により設定された複数の顔中心候補線の中から、より顔の中心線として確からしい顔中心候補線を選択する選択手段と、を更に備えている。
【００２３】
この場合、判定手段は、顔両端検出手段により検出された顔の両端と、選択手段により選択された顔中心候補線と、に基づいて、所定領域中の顔の有無を判定する。
【００２４】
判定手段は、例えば、請求項７のように、選択手段は、確からしさを表す値が所定値以上の顔中心候補線を選択し、判定手段は、顔両端検出手段により顔の両端が検出されると共に、選択手段により顔中心候補線が選択された場合に、所定領域中に顔が有ると判定するようにしてもよく、請求項８のように、顔両端検出手段により検出された顔の両端と、選択手段により選択された顔中心候補線と、に基づいて、顔の向きを判定する顔向き判定手段を更に備え、判定手段は、顔向き判定手段による顔の向きの判定状態に基づいて、所定領域中の顔の有無を判定するようにしてもよい。
【００２５】
なお、上記顔有無判定装置の上記手段は、コンピュータに以下の顔有無判定プログラムを実行させることにより実現することができる。即ち、顔有無判定プログラムは、所定領域を撮影して得られた画像を入力するステップと、前記入力された画像の各画素の所定方向の輝度変化に基づいて、輝度値変化状態画像を生成するステップと、前記生成された輝度値変化状態画像に基づいて、顔の中心線の候補線としての複数の顔中心候補線を設定するステップと、前記設定された複数の顔中心候補線各々に対して、該顔中心候補線が顔の中心線である確からしさを表す値を算出するステップと、前記算出手段により複数の顔中心候補線各々に対して算出された顔の中心線である確からしさを表す値に基づいて、前記所定領域中の顔の有無を判定するステップと、をコンピュータに実行させる。
【００２６】
なお、所定領域を撮影して得られた画像を入力するステップと、前記入力された画像の各画素の所定方向の輝度変化に基づいて、輝度値変化状態画像を生成するステップと、前記生成された輝度値変化状態画像に基づいて、顔の中心線の候補線としての複数の顔中心候補線を設定するステップと、前記設定された複数の顔中心候補線各々に対して、該顔中心候補線が顔の中心線である確からしさを表す値を算出するステップと、前記算出手段により複数の顔中心候補線各々に対して算出された顔の中心線である確からしさを表す値に基づいて、前記所定領域中の顔の有無を判定するステップと、を備える顔有無判定方法も提案される。
【００２７】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
（第１の実施の形態）
図１に示すように、本実施の形態に係る顔有無判定装置を含む顔有無判定システムは、ドライバの顔を撮影するカメラ１０、ドライバの顔を照明する照明光源１２、顔有無判定装置としてのコンピュータ１４、及びコンピュータ１４に接続された表示装置１６を備えている。なお、カメラ１０は、ドライバが正面を向いたときにドライバの顔を正面かつ斜め下から撮影可能な位置に配置されている。なお、カメラ１０をドライバの顔を正面かつ斜め下から撮影可能な位置に配置したのは、後述するように本実施の形態では顔の中心線を基準に線対称な部分があることに基づいて、顔の有無を判定しており、ドライバの顔を正面かつ斜め下から撮影すると、顔の中心線を基準に線対称な鼻の穴を撮影することができ、判定精度を向上させることができるからである。表示装置１６は、ＣＲＴ等で構成され、カメラ１０で撮影された顔画像から抽出された２値化画像等を表示する。
【００２８】
図２に示すように、コンピュータ１４は、ＣＰＵ２２、ＲＯＭ２４、ＲＡＭ２６、及び、画像入力手段としての入出力（Ｉ／Ｏ）ポート２８を備え、入出力（Ｉ／Ｏ）ポート２８には、カメラ１０から入力された画像信号をディジタル信号に変換するＡ／Ｄ（アナログ／ディジタル）変換器２８、光源１２、画像データを記憶する画像メモリ３０、及び表示装置１６が接続されている。ＲＯＭ２４には、後述する顔有無判定処理プログラムを実行するプログラムが記憶されている。
【００２９】
なお、後述する他の実施の形態に係る顔有無判定装置も本実施の形態に係る顔有無判定装置と同様の構成である。
【００３０】
次に、本実施の形態の作用を説明する。
【００３１】
図３には、本実施の形態に係る顔有無判定処理プログラムを示すフローチャートが示されている。本顔有無判定処理プログラムは、図示しないスタートボタンが押された場合にスタートし、ステップ１００において、画像メモリ３０に記憶されている顔画像を取り込む。なお、カメラ１０から入力された画像信号は、Ａ／Ｄ変換器２８によってディジタルの画像データに変換されて画像メモリ３０に記憶されている。
【００３２】
ステップ１０２で、取り込んだ顔画像に対して所定の閾値を用いて横エッジ（輝度値変化状態画像、第１の輝度値変化状態画像）を検出する。図４（Ａ）に示す顔画像（グレー画像）を例に、横エッジを検出する例について説明する。まず、垂直方向に隣接する画素の輝度値の差を予め設定された閾値と比較し、輝度値の差が閾値を超える画素（横エッジ点）の出力値を１、輝度値の差が閾値を超えない画素の出力値を０とするようにラべリングを行い、顔画像をラベル０、１が付された２値画像に変換する。これにより、図４（Ｂ）に示すように、横エッジ点が白色で表示された白黒の横エッジ画像が得られる。
【００３３】
ステップ１０４では、得られた横エッジ画像を用いて顔の中心線候補を選択する。図５に示すように、縦横のサイズがＹ１、Ｘ１の矩形状の横エッジ画像に対し、縦横のサイズが各々Ｙ１、２Ｋ＋１（＜Ｘ１）のウインドウ（斜線を付した矩形部分）２０を想定する。横エッジ画像の左下端をＸＹ座標の原点（０，０）とすると、ウインドウ２０を横エッジ画像の左端に設定した場合には、ウインドウ２０の横方向の線分を２等分する線はＸ＝Ｋの直線（顔中心候補線）になる。
【００３４】
そして、顔の中心線である確からしさを表す値を算出する。即ち、横エッジ画像のＸ＝Ｋの直線を基準にした線対称性を示す値を算出する。即ち、Ｘ＝Ｋの直線に対して線対称な座標位置の両方に横エッジ点が存在する場合には予め設定した点数を加算する。例えば、画素ａと画素ｂのように、Ｘ＝Ｋの直線から左右にそれぞれ距離Ｋ１離れた位置に存在する画素の各々が共に横エッジ点になる場合には、点数が加算される。一方、線対称な座標位置の両方に横エッジ点が存在しない場合には、即ち、片方のみに存在する場合及び両方共に存在しない場合には、点数を加算しない。この演算をウインドウ２０内の総ての画素に対して実施して獲得した点数の総和は、Ｘ＝Ｋの直線の顔の中心線の確からしさの度合を表している。即ち、得点が大きいほど、その直線に対するエッジ部分の対称性が高く、横エッジ画像の中心線である可能性が高いことになる。
【００３５】
ウインドウ２０を横エッジ画像の右端まで右方向に少しずつ移動させながら、各ウインドウ位置により定まる直線について得点（確からしさを表す値）を求める。そして、最も得点が大きい直線が顔の中心線候補として選択され、該中心線候補でのＸ座標と得点とが得られる。
【００３６】
ステップ１０６では、選択された中心線候補が中心線として適切か否かを判定する。中心線候補での得点が予め設定された閾値よりも大きい場合には、ステップ１０８で顔が存在すると決定する。一方、得点が予め設定された閾値よりも小さい場合には、顔が存在しないと判定し、ステップ１００に戻って顔有無の判定をやり直す。また、ステップ１０８で顔が存在すると決定した後も、ステップ１００に戻って次の顔画像を取り込み、次の顔画像から顔の有無を判定する。
【００３７】
以上説明したように本実施の形態では、横エッジ画像において顔の中心線の候補線としての複数の顔中心候補線を設定し、設定された複数の顔中心候補線各々に対して、該顔中心候補線が顔の中心線である確からしさを表す値を算出し、算出された値に基づいて、所定領域中の顔の有無を判定するので、顔の一部が隠れていてもその他の部分により顔の中心線の候補線としての複数の顔中心候補線各々に対して、該顔中心候補線が顔の中心線である確からしさを表す値を算出でき、所定領域中の顔の有無を判定することができる。
（第２の実施の形態）
次に、本実施の形態に係る顔有無判定処理プログラムを説明する。
【００３８】
図６には、本実施の形態に係る顔有無判定処理プログラムを示すフローチャートが示されている。図６に示すように、本実施の形態係る顔有無判定処理プログラムと前述した第１の実施の形態に係る顔有無判定処理プログラムとは、第１の実施の形態に係る顔有無判定処理プログラムでは、ステップ１０２で横エッジ画像（第１の輝度値変化状態画像）を検出しているのに対し、本実施の形態係る顔有無判定処理プログラムでは、ステップ１０３で、取り込んだ顔画像に対して縦エッジ画像（第２の輝度値変化状態画像）を検出する点で相違する。即ち、横エッジの検出の場合と同様に、顔画像について水平方向の輝度変化を予め設定された閾値と比較し、輝度値の差が閾値を超える画素（縦エッジ点）の出力値を１、輝度値の差が閾値を超えない画素の出力値を０とするようにラべリングを行い、顔画像をラベル０、１が付された２値画像に変換することにより縦エッジを検出する。これにより、例えば、図７に示すように、縦エッジ点が白色で表示された白黒の縦エッジ画像が得られる。その後は、本実施の形態では、中心位置検出（ステップ１０４）、顔有無判定（ステップ１０６）は、縦エッジ画像を用いて行う。
（第３の実施の形態）
前述した第１の実施の形態及び第２の実施の形態では横エッジ画像又は縦エッジ画像だけを用いて顔の中心線を検出したが、本実施の形態では横エッジ画像と縦エッジ画像の両方を用いて顔の中心線を検出する。この場合の中心線検出処理プログラムを、図８を参照して説明する。
【００３９】
ステップ２００において、画像メモリ３０に記憶されている顔画像を取り込み、ステップ２０２で、ステップ１０２と同様にして、取り込んだ顔画像に対して横エッジを検出する。これにより、例えば、図９（Ａ）に示すように、白黒の横エッジ画像が得られる。ステップ２０４で、今度は取り込んだ顔画像に対して縦エッジを検出する。横エッジの検出の場合と同様に、顔画像について水平方向の輝度変化を予め設定された閾値と比較し、輝度値の差が閾値を超える画素（縦エッジ点）の出力値を１、輝度値の差が閾値を超えない画素の出力値を０とするようにラべリングを行い、顔画像をラベル０、１が付された２値画像に変換することにより縦エッジを検出する。これにより、例えば、図９（Ｂ）に示すように、縦エッジ点が白色で表示された白黒の縦エッジ画像が得られる。
【００４０】
ステップ２０６では、ステップ１０４と同様にして、得られた横エッジ画像を用いて第１の中心線候補（中心線候補１）を選択する。
【００４１】
ここで、図６のステップ１０４のように縦エッジ画像を用いて第２の中心線候補（中心線候補２）を選択し、第１の中心線候補及び第２の中心線候補の各々の得点に基づいて顔の有無を判定するようにしてもよいが、本実施の形態では、次のようにしている。
【００４２】
次に、ステップ２０８で、得られた縦エッジ画像を用いて第１の中心線候補の近傍領域において第２の中心線候補を選択する。図９（Ｂ）に示すように、第１の中心線候補の近傍にウインドウ２０より小さい矩形のウインドウ（近傍領域（部分輝度値変化状態画像））３０を設定する。ウインドウ３０の横方向の線分を２等分する線に対して線対称な座標位置の両方に縦エッジ点が存在する場合には予め設定した点数を加算する。この演算をウインドウ３０内の総ての画素に対して実施する。ウインドウ３０を第１の中心線候補の近傍の所定範囲で少しずつ横方向に移動させながら、各ウインドウ位置により定まる直線について得点（確からしさを表す値）を求める。そして、最も得点が大きい直線が第２の中心線候補として選択され、第２の中心線候補でのＸ座標と得点とが得られる。
【００４３】
ステップ２１０では、第１の中心線候補及び第２の中心線候補に基づいて、顔の有無を判定し、顔が存在すると判定された場合には、ステップ２１２で、顔が存在すると決定し、再度、ステップ２００に戻る。なお、顔が存在しないと判定された場合にもステップ２００に戻る。
【００４４】
次に、上記ステップ２１０における顔有無の判定の内容を詳細に説明する。
【００４５】
最初に、図１０を参照して、ステップ２１０の第１の例を説明する。図１０には、特にステップ２１０の第１の例（ステップ２１０Ａ）の詳細が示されている。即ち、上記ステップ２００〜２０８の処理の後、ステップ２１０Ａ１で、第１の条件が成立したか否かを判断する。
【００４６】
ここで、第１の条件は、第１の中心線候補での得点が、予め設定された第１の閾値よりも大きいことである。
【００４７】
第１の条件が成立したと判断された場合には、ステップ２１２に進む。一方、第１の条件が成立しなかったと判断された場合には、ステップ２１０Ａ２で、第２の条件が成立したか否かを判断する。
【００４８】
ここで、第２の条件は、第１の中心線候補での得点が、予め設定された第２の閾値（＜第１の閾値）よりも大きいことである。
【００４９】
第２の条件が成立しなかったと判断された場合には、ステップ２００に戻る。一方、第２の条件が成立したと判断された場合には、ステップ２１０Ａ３で、第３の条件が成立したか否かを判断する。
【００５０】
ここで、第３の条件は、第２の中心線候補での得点が、第３の閾値より大きいことである。
【００５１】
第３の条件が成立しなかったと判断された場合には、ステップ２００に戻り、第３の条件が成立したと判断された場合には、ステップ２１２に進む。
【００５２】
次に、図１１を参照して、ステップ２１０の第２の例を説明する。図１１には、特にステップ２１０の第２の例（ステップ２１０Ｂ）の詳細が示されている。即ち、ステップ２１０の第２の例は、上記第１の例におけるステップ２１０Ａ（ステップ２１０Ａ１〜２１０Ａ３）の処理を実行するが、ステップ２１０Ａ１及びステップ２１０Ａ３のそれぞれで肯定判定の場合には、ステップ２１０Ｂ１で、第４の条件が成立したか否かを判断する。
【００５３】
ここで、第４の条件は、第１の中心線候補と第２の中心線候補との座標位置の差分が、予め設定された第４の閾値よりも小さいことである。
【００５４】
第４の条件が成立しなかったと判断された場合には、ステップ２００に戻る。一方、第４の条件が成立したと判断された場合には、ステップ２１２に進む。
【００５５】
なお、上記第１の例及び第２の例において、第３の条件が成立しなかったと判断された場合にステップ２００に戻るようにしているが、本発明はこれに限定されるものではなく、第３の条件が成立しなかったと判断された場合に、第２の中心線候補での得点が、予め設定された他の閾値（＝第５の閾値＜第３の閾値）よりも大きい（第５の条件）か否かを判断し、第２の中心線候補での得点が、予め設定された他の閾値よりも大きくない（第５の条件が不成立）と判断した場合に、ステップ２００に戻り、第２の中心線候補での得点が、予め設定された他の閾値よりも大きいと判断した場合には、第１の例では、ステップ２１２に進み、第２の例では、ステップ２１０Ｂ１に進むようにしてもよい。
【００５６】
上述した通り、顔画像には横エッジを生じる部分が多いが、図６（Ｂ）から分かるように、顔の中心付近では鼻に起因して縦エッジ点が多くなる。従って、横エッジ画像のエッジ部分の対称性が最も高くなるように第１の中心線候補を検出した後、この第１の中心線候補の近傍において、縦エッジ画像のエッジ部分の対称性が最も高くなるように第２の中心線候補を選択することで、より正確に顔の中心線を検出することができる。
【００５７】
なお、上記の例では、得られた横エッジ画像を用いて第１の中心線候補を検出した後に、縦エッジ画像を用いて第２の中心線候補を選択したが、縦エッジ画像に現れた顔の輪郭線の左右両端を表すエッジ部分の対称性から第１の中心線候補を検出した後に、横エッジ画像を用いて第２の中心線候補を選択してもよい。また、この場合、第１の中心線候補と第２の中心線候補との座標位置の差分から、顔の向き（例えば、斜め前方を向いている等）を検出することができる。
【００５８】
上記例では、横エッジ画像を生成して第１の中心線候補を得た後、縦エッジ画像を用いて第１の中心線候補の近傍領域において第２の中心線候補を選択するようにしているが、本発明は、これに限定されるものではなく、縦エッジ画像を生成して第１の中心線候補を得た後、横エッジ画像を用いて第１の中心線候補の近傍領域において第２の中心線候補を選択するようにしてもよい。
（第４の実施の形態）
本実施の形態では、図１３（Ａ）に示すように、ドライバがマスクを装着しており、鼻がマスクで覆われている場合の顔の中心線検出例について説明する。この場合の中心線検出処理プログラムを、図１２を参照して説明する。
【００５９】
ステップ３００において、画像メモリに記憶されている顔画像を取り込み、ステップ３０２で、ステップ１０２と同様にして、取り込んだ顔画像に対して横エッジを検出する。これにより、図１３（Ｂ）に示すように、白黒の横エッジ画像が得られる。ステップ３０４で、ステップ１０４と同様に、得られた横エッジ画像のエッジ部分の対称性に着目して第１の中心線候補を選択する。
【００６０】
次に、ステップ３０６で、今度は横エッジ画像の非エッジ部分（エッジ点が存在しない部分）の対称性に着目して、第１の中心線候補（中心線候補１）の近傍領域において第２の中心線候補を選択する。図１３（Ｂ）に示すように、第１の中心線候補の近傍にウインドウ２０より小さい矩形のウインドウ（近傍領域）４０を設定する。ウインドウ４０の横方向の線分を２等分する線に対して線対称な座標位置の両方に横エッジ点が存在しない場合に、予め設定した点数を加算する。この点で、線対称な座標位置の両方にエッジ点が存在する場合に点数を加算する第１〜第３の実施の形態とは相違する。即ち、得点が大きいほど、その直線に対する非エッジ部分の対称性が高く、横エッジ画像の中心線である可能性が高いことになる。
【００６１】
この演算をウインドウ４０内の総ての画素に対して実施する。ウインドウ４０を第１の中心線候補の近傍の所定範囲で少しずつ横方向に移動させながら、各ウインドウ位置により定まる直線について得点を求める。そして、最も得点が大きい直線が第２の中心線候補として選択され、第２の中心線候補でのＸ座標と得点とが得られる。
【００６２】
ステップ３０８では、第１の中心線候補及び第２の中心線候補に基づいて、顔の有無を判定し、顔が存在すると判定された場合には、ステップ３１０で、顔が存在すると決定し、再度、ステップ３００に戻る。なお、顔が存在しないと判定された場合にもステップ３００に戻る。
【００６３】
次に、上記ステップ３０８における顔有無の判定の内容を詳細に説明する。
【００６４】
最初に、図１４を参照して、ステップ３０６の第１の例を説明する。図１４には、特にステップ３０８の第１の例（ステップ３０８Ａ）の詳細が示されている。即ち、本ステップ３０８Ａでは、ステップ３０８Ａ１〜３０８Ａ３を実行するが、ステップ３０８Ａ１〜３０８Ａ３ではそれぞれ、本実施の形態における第１の中心線候補、第２の中心線候補について、前述した第３の実施の形態における第１の中心線候補、第２の中心線候補について実行するステップ２１０Ａ１〜２１０Ａ３の処理を実行する。
【００６５】
次に、図１５を参照して、ステップ３０８の第２の例を説明する。図１５には、特にステップ３０８の第２の例（ステップ３０８Ｂ）の詳細が示されている。即ち、ステップ３０８の第２の例は、上記ステップ２１０Ｂと同一であるので、その説明を省略する。
【００６６】
なお、上記第１の例及び第２の例において、第３の条件が成立しなかったと判断された場合にステップ３００に戻るようにしているが、本発明はこれに限定されるものではなく、第３の条件が成立しなかったと判断された場合に、第２の中心線候補での得点が、予め設定された他の閾値（＝第５の閾値＜第３の閾値）よりも大きい（第５の条件）か否かを判断し、第２の中心線候補での得点が、予め設定された他の閾値よりも大きくない（第５の条件が不成立）と判断した場合に、ステップ３００に戻り、第２の中心線候補での得点が、予め設定された他の閾値よりも大きいと判断した場合には、第１の例では、ステップ３１０に進み、第２の例では、ステップ３０８Ｂ１に進むようにしてもよい。
【００６７】
上述した通り、顔画像には横エッジを生じる部分が多いが、図１３（Ｂ）から分かるように、顔の中心付近では横エッジ点が少なくなる。また、ドライバがマスクを装着した状態では、顔の中心付近の縦エッジを抽出することもできない。従って、横エッジ画像のエッジ部分の対称性が最も高くなるように第１の中心線候補を検出した後、第１の中心線候補の近傍において、横エッジ画像の非エッジ部分の対称性が最も高くなるように第２の中心線候補を選択することで、より正確に顔の中心線を検出することができる。
（第５の実施の形態）
次に、図１６に示す本実施の形態に係る顔有無判定処理プログラムを説明する。
【００６８】
ステップ４００で、中心線候補検出処理（中心線位置）を実行する。なお、本ステップでは、上記説明した第１の実施の形態乃至第４の実施の形態の中心線候補検出処理の何れも適用可能である。
【００６９】
次のステップ４０１で、中心線候補が検出されたか否かを判断し、検出されなかったと判断された場合には、ステップ４００に戻り、中心線候補が検出されたと判断された場合には、ステップ４０２で、中心線候補検出処理の際に用いた横エッジ画像及び縦エッジ画像の少なくとも一方を用いて、顔の両端の位置を検出する。即ち、横エッジ画像及び縦エッジ画像の少なくとも一方、例えば、図１７（Ａ）に示すように、縦エッジ画像の各エッジを、図１７（Ｂ）に示すように、Ｘ軸に投影したヒストグラムを生成する。図１７（Ｂ）に示すヒストグラムから理解されるように、顔の両端位置で、ピーク値を有する。そこで、ピーク値に対して閾値を設定し、閾値を上回った位置を顔の両端位置とする。
【００７０】
ステップ４０３で、ピーク値が閾値を上回った位置が２つある、即ち、顔の両端が検出されたか否かを判断し、顔の両端が検出されなかった場合には、ステップ４００に戻り、顔の両端が検出された場合には、ステップ４０４で、顔が存在すると検定して、ステップ４００に戻る。
（第６の実施の形態）
次に、図１８に示す本実施の形態に係る顔有無判定処理プログラムを説明する。
【００７１】
前述した第５の実施の形態と同様に、ステップ４００で、中心線候補検出処理（中心線位置）を実行し、ステップ４０２で、顔の両端の位置を検出する。
【００７２】
次にステップ４０５で、顔の角度を算出する。即ち、図１９に示すように、顔を円筒モデルとして考え、上記検出された顔の中心線と顔の両端位置とに基づいて、水平方向の顔の角度を算出する。即ち、顔の両端の何れか一方に他方より顔の中心線が近い場合には、顔は正面（カメラに向く方向）に対して顔の当該一方に向いている。本ステップはこの角度を算出する。
【００７３】
ステップ４０６で、上記算出された角度が、顔が正面を向いていると判断できる設定角度以内か否かを判断する。顔が設定角度以内に向いていないと判断された場合には、ステップ４００に戻り、顔が設定角度以内に向いている、即ち、顔がある程度正面を向いていると判断された場合には、ステップ４０８で、回数をカウントする。即ち、本ステップを実行するたびにカウント値を１インクリメントする。なお、顔が設定角度以内に向いていないと判断された場合には、当該カウントをリセットする。
【００７４】
ステップ４１０で、カウント値が設定値以上か否かを判断する。カウント値が設定値以上でないと判断された場合には、顔が正面を向いていることが少ない、即ち、顔が存在しないと判断でき、ステップ４００に戻る。即ち、ドライバは通常の運転時では、正面を向いていることが多く、カウント値が設定値以上でないということは、顔が正面を向いていることが少ない、即ち、顔が存在しないと判断できる。
【００７５】
一方、カウント値が設定値以上と判断された場合には、ステップ４１２で、顔が存在すると決定する。
（変形例）
上記第１乃至第６の実施の形態では、設定したウインドウ内の総ての線対称な座標位置について演算を実施したが、線対称な座標位置を探索する範囲を限定してもよい。例えば、図２０に示すように、探索領域５０を、眼、鼻等の顔部品が存在する領域に限定することで、顔部品の特徴を確実に捉えることができ、中心線候補の検出精度が向上する。
【００７６】
また、上記第１乃至第６の実施の形態では、線対称な座標位置の両方にエッジ点が存在するか否かを基準に点数を加算したが、一方の座標位置に隣接する座標位置にエッジ点が存在する場合にも、点数を加算するようにしてもよい。例えば、図２１に示すように、ウインドウ２０の横方向の２等分線をＸ＝Ｋの直線とすると、同じＹ座標上にある画素ａと画素ｂの各々が横エッジ点になる場合に点数を加算する外、画素ａが横エッジ点となり且つ画素ｂに対し垂直方向に隣接する画素ｃ又は画素ｄが横エッジ点になる場合にも点数を加算する。このように、対応する画素を所定範囲内で縦方向に探索することで、顔の傾きに対してもある程度対応することができ、中心線候補の検出精度が向上する。
【００７７】
また、上記第１乃至第６の実施の形態では、縦エッジ又は横エッジを検出する例について説明したが、エッジを縦方向成分と横方向成分とに分けて検出するソーベルフィルタを用いてエッジ角度をモニターすることで、種々の方向のエッジを検出できる。例えば、図２２に示すように、縦エッジ画像と横エッジ画像を用いる代わりに、左４５度のエッジ画像と右４５度のエッジ画像を用いることもできる。なお、縦エッジ画像及び横エッジ画像以外のエッジ画像を用いる場合には、線対称な座標位置の両方に同じ角度方向のエッジ点が存在するか否かを基準に点数を加算する。
【００７８】
更に、上記各例では、顔の中心線である確からしさを表す値を算出するために、顔の中心線の候補となる直線から左右にそれぞれ所定距離離れた位置に存在する画素の各々が共に横エッジ点又は縦エッジ点になる場合、又は、顔の候補となる直線に対して線対称な座標位置の両方に横エッジ点又は縦エッジ点が存在しない場合に、点数を加算しているが、本発明はこれに限定されず、顔の中心線の候補となる直線から左右にそれぞれ所定距離離れた位置に存在する画素の各々が共に横エッジ点又は縦エッジ点になる場合、及び、顔の候補となる直線に対して線対称な座標位置の両方に横エッジ点又は縦エッジ点が存在しない場合に、点数を加算するようにしてもよい。
【００７９】
【発明の効果】
以上説明したように本発明は、顔の中心線の候補線としての複数の顔中心候補線を設定し、設定された複数の顔中心候補線各々に対して、該顔中心候補線が顔の中心線である確からしさを表す値を算出し、算出された値に基づいて、所定領域中の顔の有無を判定するので、顔の一部が隠れていてもその他の部分により顔の中心線の候補線としての複数の顔中心候補線各々に対して、該顔中心候補線が顔の中心線である確からしさを表す値を算出でき、所定領域中の顔の有無を判定することができる、という効果を有する。
【図面の簡単な説明】
【図１】本実施の形態に係る顔画像処理装置の構成を示すブロック図である。
【図２】本実施の形態に係る顔画像処理装置のコンピュータの内部構成を主として示すブロック図である。
【図３】第１の実施の形態に係る顔有無判定処理プログラムを示すフローチャートである。
【図４】（Ａ）は顔画像の原画像を示す図であり、（Ｂ）は（Ａ）を２値化して得られた横エッジ画像である。
【図５】横エッジ画像に対して矩形のウインドウを設定した図である。
【図６】第２の実施の形態に係る顔有無判定処理プログラムを示すフローチャートである。
【図７】顔画像の原画像をを２値化して得られた縦エッジ画像である。
【図８】第３の実施の形態に係る顔有無判定処理プログラムを示すフローチャートである。
【図９】（Ａ）は横エッジ画像であり、（Ｂ）は縦エッジ画像である。
【図１０】第３の実施の形態に係る顔有無判定処理プログラムを示すフローチャートであって、特にステップ２１０の第１の例の詳細を示すフローチャートである。
【図１１】第３の実施の形態に係る顔有無判定処理プログラムを示すフローチャートであって、特にステップ２１０の第２の例の詳細を示すフローチャートである。
【図１２】第４の実施の形態に係る顔有無判定処理プログラムを示すフローチャートである。
【図１３】（Ａ）はマスクを装着したドライバの顔画像の原画像を示す図であり、（Ｂ）は（Ａ）を２値化して得られた横エッジ画像である。
【図１４】第４の実施の形態に係る顔有無判定処理プログラムを示すフローチャートであって、特にステップ３０８の第１の例の詳細を示すフローチャートである。
【図１５】第４の実施の形態に係る顔有無判定処理プログラムを示すフローチャートであって、特にステップ３０８の第２の例の詳細を示すフローチャートである。
【図１６】第５の実施の形態に係る顔有無判定処理プログラムを示すフローチャートである。
【図１７】顔の両端の検出内容を説明する説明図であって、（Ａ）は、縦エッジ画像であり、（Ｂ）は、縦エッジ画像をＸ軸方向に投影して得られたヒストグラムである。
【図１８】第６の実施の形態に係る顔有無判定処理プログラムを示すフローチャートである。
【図１９】顔の円筒形モデルの概念図である。
【図２０】設定したウインドウ内で線対称な座標位置を探索する範囲を特定した図である。
【図２１】一方の座標位置に対応する画素を所定範囲内で縦方向に探索する例を示す図である。
【図２２】エッジ方向の置き換え例を示す図である。
【符号の説明】
１０  カメラ
１２  照明光源
１４  画像処理用のコンピュータ
１６  表示装置
２０、３０、４０  ウインドウ
５０  探索領域
【図１】
2005011097.tif 000003
【図２】
2005011097.tif 000004
【図３】
2005011097.tif 000005
【図４】
2005011097.tif 000006
【図５】
2005011097.tif 000007
【図６】
2005011097.tif 000008
【図７】
2005011097.tif 000009
【図８】
2005011097.tif 000010
【図９】
2005011097.tif 000011
【図１０】
2005011097.tif 000012
【図１１】
2005011097.tif 000013
【図１２】
2005011097.tif 000014
【図１３】
2005011097.tif 000015
【図１４】
2005011097.tif 000016
【図１５】
2005011097.tif 000017
【図１６】
2005011097.tif 000018
【図１７】
2005011097.tif 000019
【図１８】
2005011097.tif 000020
【図１９】
2005011097.tif 000021
【図２０】
2005011097.tif 000022
【図２１】
2005011097.tif 000023
【図２２】
2005011097.tif 000024