JP4664805B2 - 顔端検出装置、顔端検出方法、及び、プログラム - Google Patents

顔端検出装置、顔端検出方法、及び、プログラム Download PDF

Info

Publication number
JP4664805B2
JP4664805B2 JP2005332404A JP2005332404A JP4664805B2 JP 4664805 B2 JP4664805 B2 JP 4664805B2 JP 2005332404 A JP2005332404 A JP 2005332404A JP 2005332404 A JP2005332404 A JP 2005332404A JP 4664805 B2 JP4664805 B2 JP 4664805B2
Authority
JP
Japan
Prior art keywords
contour
candidate
face
temporary
face image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005332404A
Other languages
English (en)
Other versions
JP2007139535A (ja
Inventor
純也 春日井
剛 内藤
博 石黒
健一 大上
重康 魚住
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Corp
Aisin Corp
Original Assignee
Aisin Seiki Co Ltd
Toyota Motor Corp
Aisin Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Aisin Seiki Co Ltd, Toyota Motor Corp, Aisin Corp filed Critical Aisin Seiki Co Ltd
Priority to JP2005332404A priority Critical patent/JP4664805B2/ja
Publication of JP2007139535A publication Critical patent/JP2007139535A/ja
Application granted granted Critical
Publication of JP4664805B2 publication Critical patent/JP4664805B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Length Measuring Devices By Optical Means (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Description

本発明は、顔画像から、より正確な顔の両端を検出することが可能な顔端検出装置、顔端検出方法、及び、プログラムに関する。
顔画像に基づいて顔の両端、もしくは、輪郭を正確に検出することは、顔画像の画像処理において重要な課題である。
特許文献1には、人の顔を撮影した画像を処理し、人の動きや背景に影響されること無く高精度に顔の位置を検出する手法が開示されている。
また、特許文献2には、ドライバーが存在可能な領域を撮影して得られた画像を取り込み、取り込んだ画像から縦エッジ画像(顔の両側端)を検出し、検出した縦エッジ画像に基づいて、複数の顔中心候補線を設定すると共に各顔中心候補線各々に対して、該顔中心候補線が顔の中心線である確からしさを表す値に基づいて、顔の有無の判定精度を向上する技術が開示されている。
特開2004−310396号公報 特開2005−011097号公報
車両の走行環境は様々に変化し、カメラが捉えるドライバーの画像も様々に変化する。例えば、夜間では、顔の両端付近での輝度値の差がはっきりせずに、正確な顔の両端位置を検出することができないことが多い。また、例えば、ドライバーが女性の場合、髪型や化粧の影響により、顔の両端付近での輝度値の差がはっきりせずに、正確な顔の両端位置を検出することができないことが多い。
この顔の両端位置の検出に誤りが生ずると、以後の処理を正確に行うことができない。
本発明は上記の問題点に鑑みてなされたものであり、夜間に撮影された画像や女性の顔画像といった顔の両端位置を実際よりも内側に誤検出する虞のあった顔画像においても、顔の両端位置を検出することが可能とする顔端検出装置、顔端検出方法、及び、プログラムを提供することを目的とする。
上記目的を達成するため、この発明の第1の観点に係る顔端検出装置は、顔を撮影して得られた顔画像を記憶する顔画像記憶手段と、前記顔画像記憶手段に記憶された顔画像の画素データを処理して、顔の左右方向の仮の輪郭位置を検出し、検出した仮の輪郭位置において顔の上下方向に走査しながら、前記仮の輪郭位置の外側に位置する画素データに基づいて、前記仮の輪郭位置の外側に存在する輪郭位置の候補となる複数の輪郭候補位置を決定する輪郭候補位置決定手段と、前記輪郭候補位置決定手段により決定された前記複数の輪郭候補位置から統計処理を用いて抽出した位置を輪郭位置とする輪郭位置補正手段と、を備え、前記輪郭位置補正手段は、前記輪郭候補位置決定手段により決定された前記複数の輪郭候補位置に基づいて、前記輪郭候補位置の平均値と標準偏差とを算出する算出手段と、前記算出手段で算出した前記平均値を中心として前記標準偏差を加減算した領域にある前記輪郭候補位置の内、顔画像の中心から最も遠くに位置する輪郭候補位置を選択し、該選択された輪郭候補位置を前記輪郭位置とする手段と、を備えることを特徴とする。
上記目的を達成するため、この発明の第2の観点に係る顔端検出装置は、顔を撮影して得られた顔画像を記憶する顔画像記憶手段と、前記顔画像記憶手段に記憶された顔画像の画素データを処理して、顔の左右方向の仮の輪郭位置を検出し、検出した仮の輪郭位置の外側に位置する画素データに基づいて演算を行い、該演算値と閾値とを比較することによって、前記仮の輪郭位置の外側に存在する輪郭位置の候補となる複数の輪郭候補位置を決定する輪郭候補位置決定手段と、前記輪郭候補位置決定手段により決定された前記複数の輪郭候補位置から統計処理を用いて抽出した位置を輪郭位置とする輪郭位置補正手段と、を備え、前記輪郭位置補正手段は、前記輪郭候補位置決定手段により決定された前記複数の輪郭候補位置に基づいて、前記輪郭候補位置の平均値と標準偏差とを算出する算出手段と、前記算出手段で算出した前記平均値を中心として前記標準偏差を加減算した領域にある前記輪郭候補位置の内、顔画像の中心から最も遠くに位置する輪郭候補位置を選択し、該選択された輪郭候補位置を前記輪郭位置とする手段と、を備えることを特徴とする。
上記目的を達成するため、この発明の第3の観点に係る顔端検出装置は、顔を撮影して得られた顔画像を記憶する顔画像記憶手段と、前記顔画像記憶手段に記憶された顔画像の画素データを処理して、顔の左右方向の仮の輪郭位置を検出し、検出した仮の輪郭位置の外側に位置する画素データに基づいて、前記仮の輪郭位置の外側に存在する輪郭位置の候補となる複数の輪郭候補位置を決定する輪郭候補位置決定手段と、前記輪郭候補位置決定手段により決定された前記複数の輪郭候補位置から統計処理を用いて抽出した位置を輪郭位置とする輪郭位置補正手段と、を備え、前記輪郭候補位置決定手段は、前記顔画像記憶手段に記憶された顔画像の画素データを処理して、顔の左右方向の仮の輪郭位置を検出する仮輪郭位置検出手段と、前記仮輪郭位置検出手段で検出した前記仮の輪郭位置の左右方向の外側隣りに位置する画素データと、前記外側隣りに位置する画素の上下に位置する二つの画素データに基づいて、前記仮の輪郭位置を前記外側隣に位置する画素の位置に変更するか否かを決定する決定手段と、前記決定手段で前記仮の輪郭位置を変更することを決定した場合に、前記仮の輪郭位置を変更する変更手段と、前記決定手段と、前記変更手段とを繰り返し動作させて、前記決定手段が前記仮の輪郭位置を変更しないと決定したときの仮の輪郭位置を前記輪郭候補位置とする手段と、を備えることを特徴とする。
また、前記顔検出装置において、前記輪郭位置補正手段は、前記輪郭候補位置決定手段により決定された前記複数の輪郭候補位置のヒストグラムを作成するヒストグラム作成手段と、前記ヒストグラム作成手段で作成したヒストグラムに基づいて、前記輪郭候補位置の標準偏差を算出する標準偏差算出手段と、前記ヒストグラムの中心に前記標準偏差算出手段で算出した標準偏差を加減算した領域にある前記輪郭候補位置の内、顔画像の中心から最も遠くに位置する輪郭候補位置を選択し、該選択された輪郭候補位置を前記輪郭位置とする手段と、を備えることを特徴とするようにしてもよい。
また、この発明の第の観点に係る顔端検出方法は、顔を撮影して得られた顔画像を記憶する顔画像記憶ステップと、前記顔画像記憶ステップで記憶された顔画像の画素データを処理して、顔の左右方向の仮の輪郭位置を検出し、検出した仮の輪郭位置において顔の上下方向に走査しながら、前記仮の輪郭位置の外側に位置する画素データに基づいて、前記仮の輪郭位置の外側に存在する輪郭位置の候補となる複数の輪郭候補位置を決定する輪郭候補位置決定ステップと、前記輪郭候補位置決定ステップで決定された前記複数の輪郭候補位置から統計処理を用いて抽出した位置を輪郭位置とする輪郭位置補正ステップと、を備え、前記輪郭位置補正ステップは、前記輪郭候補位置決定ステップにより決定された前記複数の輪郭候補位置に基づいて、前記輪郭候補位置の平均値と標準偏差とを算出する算出ステップと、前記算出ステップで算出した前記平均値を中心として前記標準偏差を加減算した領域にある前記輪郭候補位置の内、顔画像の中心から最も遠くに位置する輪郭候補位置を選択し、該選択された輪郭候補位置を前記輪郭位置とするステップと、を備えることを特徴とする。
この発明の第5の観点に係る顔端検出方法は、顔を撮影して得られた顔画像を記憶する顔画像記憶ステップと、前記顔画像記憶ステップで記憶された顔画像の画素データを処理して、顔の左右方向の仮の輪郭位置を検出し、検出した仮の輪郭位置の外側に位置する画素データに基づいて演算を行い、該演算値と閾値とを比較することによって、前記仮の輪郭位置の外側に存在する輪郭位置の候補となる複数の輪郭候補位置を決定する輪郭候補位置決定ステップと、前記輪郭候補位置決定ステップで決定された前記複数の輪郭候補位置から統計処理を用いて抽出した位置を輪郭位置とする輪郭位置補正ステップと、を備え、前記輪郭位置補正ステップは、前記輪郭候補位置決定ステップにより決定された前記複数の輪郭候補位置に基づいて、前記輪郭候補位置の平均値と標準偏差とを算出する算出ステップと、前記算出ステップで算出した前記平均値を中心として前記標準偏差を加減算した領域にある前記輪郭候補位置の内、顔画像の中心から最も遠くに位置する輪郭候補位置を選択し、該選択された輪郭候補位置を前記輪郭位置とするステップと、を備えることを特徴とする。
この発明の第6の観点に係る顔端検出方法は、顔を撮影して得られた顔画像を記憶する顔画像記憶ステップと、前記顔画像記憶ステップで記憶された顔画像の画素データを処理して、顔の左右方向の仮の輪郭位置を検出し、検出した仮の輪郭位置の外側に位置する画素データに基づいて、前記仮の輪郭位置の外側に存在する輪郭位置の候補となる複数の輪郭候補位置を決定する輪郭候補位置決定ステップと、前記輪郭候補位置決定ステップで決定された前記複数の輪郭候補位置から統計処理を用いて抽出した位置を輪郭位置とする輪郭位置補正ステップと、を備え、前記輪郭候補位置決定ステップは、前記顔画像記憶ステップで記憶された顔画像の画素データを処理して、顔の左右方向の仮の輪郭位置を検出する仮輪郭位置検出ステップと、前記仮輪郭位置検出ステップで検出した前記仮の輪郭位置の左右方向の外側隣りに位置する画素データと、前記外側隣りに位置する画素の上下に位置する二つの画素データに基づいて、前記仮の輪郭位置を前記外側隣に位置する画素の位置に変更するか否かを決定する決定ステップと、前記決定ステップで前記仮の輪郭位置を変更することを決定した場合に、前記仮の輪郭位置を変更する変更ステップと、前記決定ステップと、前記変更ステップとを繰り返し動作させて、前記決定ステップが前記仮の輪郭位置を変更しないと決定したときの仮の輪郭位置を前記輪郭候補位置とするステップと、を備えることを特徴とする。
また、前記顔端検出方法において、前記輪郭位置補正ステップは、前記輪郭候補位置決定ステップにより決定された前記複数の輪郭候補位置のヒストグラムを作成するヒストグラム作成ステップと、前記ヒストグラム作成ステップで作成したヒストグラムに基づいて、前記輪郭候補位置の標準偏差を算出する標準偏差算出ステップと、前記ヒストグラムの中心に前記標準偏差算出ステップで算出した標準偏差を加減算した領域にある前記輪郭候補位置の内、顔画像の中心から最も遠くに位置する輪郭候補位置を選択し、該選択された輪郭候補位置を前記輪郭位置とするステップと、を備えることを特徴とするようにしてもよい。
また、この発明の第の観点に係るプログラムは、コンピュータに、顔を撮影して得られた顔画像を記憶する顔画像記憶手順と、前記顔画像記憶手順で記憶された顔画像の画素データを処理して、顔の左右方向の仮の輪郭位置を検出し、検出した仮の輪郭位置において顔の上下方向に走査しながら、前記仮の輪郭位置の外側に位置する画素データに基づいて、前記仮の輪郭位置の外側に存在する輪郭位置の候補となる複数の輪郭候補位置を決定する輪郭候補位置決定手順と、前記輪郭候補位置決定手順で決定された前記複数の輪郭候補位置から統計処理を用いて抽出した位置を輪郭位置とする輪郭位置補正手順と、を実行させ、前記輪郭位置補正手順は、前記輪郭候補位置決定手順で決定された前記複数の輪郭候補位置に基づいて、前記輪郭候補位置の平均値と標準偏差とを算出する算出手順と、前記算出手順で算出した前記平均値を中心として前記標準偏差を加減算した領域にある前記輪郭候補位置の内、顔画像の中心から最も遠くに位置する輪郭候補位置を選択し、該選択された輪郭候補位置を前記輪郭位置とする手順と、を実行させる。
この発明の第8の観点に係るプログラムは、コンピュータに、顔を撮影して得られた顔画像を記憶する顔画像記憶手順と、前記顔画像記憶手順で記憶された顔画像の画素データを処理して、顔の左右方向の仮の輪郭位置を検出し、検出した仮の輪郭位置の外側に位置する画素データに基づいて演算を行い、該演算値と閾値とを比較することによって、前記仮の輪郭位置の外側に存在する輪郭位置の候補となる複数の輪郭候補位置を決定する輪郭候補位置決定手順と、前記輪郭候補位置決定手順で決定された前記複数の輪郭候補位置から統計処理を用いて抽出した位置を輪郭位置とする輪郭位置補正手順と、を実行させ、前記輪郭位置補正手順は、前記輪郭候補位置決定手順で決定された前記複数の輪郭候補位置に基づいて、前記輪郭候補位置の平均値と標準偏差とを算出する算出手順と、前記算出手順で算出した前記平均値を中心として前記標準偏差を加減算した領域にある前記輪郭候補位置の内、顔画像の中心から最も遠くに位置する輪郭候補位置を選択し、該選択された輪郭候補位置を前記輪郭位置とする手順と、を実行させる。
この発明の第9の観点に係るプログラムは、コンピュータに、顔を撮影して得られた顔画像を記憶する顔画像記憶手順と、前記顔画像記憶手順で記憶された顔画像の画素データを処理して、顔の左右方向の仮の輪郭位置を検出し、検出した仮の輪郭位置の外側に位置する画素データに基づいて、前記仮の輪郭位置の外側に存在する輪郭位置の候補となる複数の輪郭候補位置を決定する輪郭候補位置決定手順と、前記輪郭候補位置決定手順で決定された前記複数の輪郭候補位置から統計処理を用いて抽出した位置を輪郭位置とする輪郭位置補正手順と、を実行させ、前記輪郭候補位置決定手順は、前記顔画像記憶手順で記憶された顔画像の画素データを処理して、顔の左右方向の仮の輪郭位置を検出する仮輪郭位置検出手順と、前記仮輪郭位置検出手順で検出した前記仮の輪郭位置の左右方向の外側隣りに位置する画素データと、前記外側隣りに位置する画素の上下に位置する二つの画素データに基づいて、前記仮の輪郭位置を前記外側隣に位置する画素の位置に変更するか否かを決定する決定手順と、前記決定手順で前記仮の輪郭位置を変更することを決定した場合に、前記仮の輪郭位置を変更する変更手順と、前記決定手順と、前記変更手順とを繰り返し動作させて、前記決定手順が前記仮の輪郭位置を変更しないと決定したときの仮の輪郭位置を前記輪郭候補位置とする手順と、を実行させる。
また、前記プログラムにおいて、前記輪郭位置補正手順は、前記輪郭候補位置決定手順で決定された前記複数の輪郭候補位置のヒストグラムを作成するヒストグラム作成手順と、前記ヒストグラム作成手順で作成したヒストグラムに基づいて、前記輪郭候補位置の標準偏差を算出する標準偏差算出手順と、前記ヒストグラムの中心に前記標準偏差算出手順で算出した標準偏差を加減算した領域にある前記輪郭候補位置の内、顔画像の中心から最も遠くに位置する輪郭候補位置を選択し、該選択された輪郭候補位置を前記輪郭位置とする手順と、を実行させるようにしてもよい。
この発明によれば、夜間に撮影した顔画像や女性の顔画像といった顔の両端位置を実際よりも内側に誤検出する虞のあった顔画像においても、顔の両端位置をより正確に検出することができる。
以下、本発明の実施形態に係る顔端検出装置について説明する。
本実施形態の顔端検出装置は、図1に示すように、ドライバーの顔を撮影して顔画像を生成するカメラ10と、ドライバーの顔を照明する照明光源12と、ドライバーの顔の両端位置等を検出するコンピュータ14と、コンピュータ14に接続された表示装置16とを備える。
カメラ10は例えばCCDカメラ等から構成され、ドライバーの顔の階調画像を取得する。カメラ10によって生成される顔画像は、ドライバーの顔だけでなく、その背景なども含まれている。
表示装置16は、LCD(Liquid Crystal Display)又はCRT(Cathode Ray Tube)などから構成され、カメラ10で撮影された顔画像から生成された二値化画像などを表示する。
コンピュータ14は、カメラ10により取得された顔画像を処理して顔の左右の両端位置を検出する装置である。しかし、夜間に撮影された顔画像や女性の顔画像において最初に検出した顔の両端位置は、誤って顔の中央よりに検出されることが多い。そこで、コンピュータ14は、最初に検出した左右の両端位置に基づいて、誤って検出され得る部分に対して、顔の両端位置を補正してから、最終的な顔の左右の両端位置を求める。また、コンピュータ14は、図2に示すように、画像キャプチャ装置21と、画像メモリ22と、ROM23と、CPU24と、RAM25と、表示制御装置27と、光源制御装置28と、を備える。
画像キャプチャ装置21は、カメラ10で撮影されたアナログ画像信号をディジタル信号に変換する。
画像メモリ22は、カメラ10により生成され、画像キャプチャ装置21でディジタル化された画像データを記憶する。
ROM23は、CPU24の動作を制御するためのプログラムを記憶する。また、ROM23は、後述する画像処理を実行するための様々な固定データを記憶する。
CPU24は、ROM23に格納されているプログラムを実行することにより、カメラ10により取得された顔画像を処理して顔の両端位置を検出する。そして、CPU24は、この検出した両端位置に基づいて、その両端位置を補正し、再度、顔の左右の両端位置を求める。
RAM25は、CPU24のワークエリアとして機能する。
表示制御装置27は、CPU24の制御下に、表示装置16を制御する。
光源制御装置28は、照明光源12の点灯・消灯を制御する。
次に、ROM23に格納される固定データの例を図3を参照して説明する。まず、ROM23は、図3(a)、(b)、(c)に示すような、順・逆方向の縦エッジ検出用と横エッジ検出用ソーベルフィルタのオペレータを格納する。図3(a)、(b)、(c)に示す、順・逆方向の縦エッジ検出用ソーベルフィルタと横エッジ検出用のソーベルフィルタとは、それぞれ、図3(d)、(e)、(f)に示すような縦方向の濃淡差、横方向の濃淡差を強調するためのオペレータである。
また、ROM23は、顔の両端位置を検出するプログラムや、顔の両端位置を補正するプログラムや、統計処理を行うプログラムといった各種プログラムが格納される。また、図3(g)に示すように、RAM25に格納される顔画像のうち、目や眉の画像が存在すると想定される位置を特定するデータ、及び、顔の両端位置が存在すると想定される位置を特定するデータ等を格納しておいてもよい。具体的には、顔の右端位置の座標値i、顔の左端位置の座標値j、目や眉の上の位置の座標値m、口の下の位置の座標値nが格納される。
さらに、ROM23は、図3(h)に示すような、固定値であるパラメータを格納しておく。具体的には、顔の両端位置を横方向に補正する最大移動画素数を5として記憶する。また、縦エッジ検出用のソーベルフィルタを用いて処理した各画素の輝度値から、縦エッジか否かを判別するための縦ソーベル閾値を8として記憶する。さらに、縦方向に並ぶ所定の画素数に対する補正候補の画素数の割合に応じて、補正するか否かを判別するための境界値データ数割合を40%として記憶する。
次に、上記構成を有する顔端検出装置の動作を説明する。
電源が投入されると、コンピュータ14内のCPU24は、図4に示す処理を繰り返して実行する。
即ち、CPU24は、前処理(ステップS01)と顔位置検出処理(ステップS02)と補正処理(ステップS03)とから構成される処理を繰り返して実行する。
図4に示す処理を構成する前処理(ステップS01)と顔位置検出処理(ステップS02)とは、ドライバーの左右方向及び上下方向の顔の位置(座標値)を求めるための処理である。
補正処理(ステップS03)は、ステップS02で求めたドライバーの左右の顔両端位置を補正して、より正確な左右の顔両端位置を求めるための処理である。
前処理(ステップS01)は、図5に示すように、キャプチャ処理(ステップS011)と、座標変換処理(ステップS012)と、ソーベルフィルタ処理(ステップS013)とから構成される。
キャプチャ処理(ステップS011)は、カメラ10の撮影したドライバーの1フレーム分の顔画像を画像キャプチャ装置21を介して取り込み、画像メモリ22に格納する処理である。
座標変換処理(ステップS012)は、処理可能な程度に画素を間引く処理である。
ソーベルフィルタ処理(ステップS013)は、ROM23に格納されている縦エッジ検出用オペレータ(図3(a))を用いて座標変換後の顔画像を処理して、顔画像内の縦エッジを強調する処理を行い、また、横エッジ検出用オペレータ(図3(b))を用いて座標変換後の顔画像を処理して、顔画像内の横エッジを強調する処理を行う処理である。
図4の顔位置検出処理(ステップS02)は、前処理済みの顔画像を用いて顔の左右両端位置と上下位置を検出する処理であり、図6に示すように、顔両端検出処理(ステップS021)と顔上下位置検出処理(ステップS022)とから構成される。
顔両端検出処理(ステップS021)は、顔画像を縦エッジ検出用のオペレータで操作した顔画像について、顔の両端を構成するラインを特定する処理であり、既知の任意の手法を採用することができる。
顔の両端を構成するラインを特定するために、例えば、図7に示すように、顔両端検出用のヒストグラム作成処理を行う(ステップS0211)。続いて、このヒストグラムのピーク値の高いものを所定数抽出して、これをソートし(ステップS0212)、ヒストグラム値に基づく、端点の抽出を行う(ステップS0213)。例えば、ヒストグラム値の上位1又は2つが他と比較して極端に値が大きい場合には、その点を端点とする。
次に、端点が2つ(両端)抽出されたか否かを判別する(ステップS0214)。2つ抽出されていれば(ステップS0214;Yes)、処理をステップS0216に移行する。端点が2つ抽出できていなければ(ステップS0214;No)、2点の距離が、人の顔幅としてもっともらしい間隔を有する組み合わせを抽出することにより、端点を決定し(ステップS0215)、最終的に、顔面の両端(x座標値)を決定する処理を行う(ステップS0216)。
また、特許文献1に開示されているように、撮影画像の時間微分を算出し、さらに、この画素値時間微分画像の画素値を縦方向に投影してヒストグラムを作成し、エッジ部抽出画像のヒストグラムと画素値時間微分画像のヒストグラムとを合計して、ヒストグラムのピーク値の高いものを抽出すると共に人の顔幅としてもっともらしい点を決定し、顔端位置を検出するようにしてもよい。
次に、図6のステップS022の顔上下位置検出処理は、上述と同様の処理を横エッジについて行って、顔のほぼ眉の位置(上端)と口の位置(下端)を検出する処理であり、例えば、図8に示すように、ヒストグラム作成処理(ステップS0221)と、目下候補検出処理(ステップS0222)と、顔上下位置算出処理(ステップS0233)と、から構成される。
ヒストグラム作成処理(ステップS0221)は、横エッジ検出用ソーベルフィルタを用いたソーベルフィルタ処理後の各画素の値を横方向に投影してヒストグラムを作成する処理である。
目下候補検出処理(ステップS0222)は、ヒストグラム値に基づいて、目・眉、口などに対応するヒストグラム値の候補を選択する処理である。
顔上下位置算出処理(ステップS0223)は、選択した候補から、顔の上下端位置(y座標値)(例えば、目・眉の位置)を検出する処理である。なお、顔上端位置(y座標値)は、例えば、検出した眉から所定の画素数分(例えば、3画素分)上の位置とし、下端位置は検出した口から所定の画素数分(例えば、3画素分)下の位置(口と顎の間)などに設定される。
CPU24は、このようにしてステップS021とS022で求めた、顔の両端(左右側端)位置(x座標値)と、顔の上下位置(y座標値)をRAM25に記憶する。具体的には、図9に示すように、ステップS021で求めた顔の右端のx座標値を右端初期値aとし、ステップS022で求めた顔の左端のx座標値を左端初期値bとして記憶する。また、ステップS022で求めた顔の上下位置の上端のy座標値を下限値cとし、ステップS022で求めた顔の下端のy座標値を上限値dとして記憶する。この右端初期値a、左端初期値b、下限値c、上限値d、の位置を一例として女性の顔画像に示すと、図9に示す位置になる。
図9は、女性の顔画像に縦エッジ検出用オペレータを用いて処理し、二値化処理した後の図である。図3(a)に示した順方向の縦検出用オペレータを用いて処理した場合と、図3(b)に示した逆方向の縦検出用オペレータを用いて処理した場合とで、それぞれ濃い灰色と、薄い灰色とで区別し、重ね合わせた二値化画像である。
次に、図4の補正処理(ステップS03)は、例えば、図10の補正処理1、図11の補正処理2にそれぞれ示す構成を有する。補正処理は、夜間に撮影された顔画像や女性の顔画像等において、顔の両端の縦エッジが顔の内側に検出されることが多いため、その縦エッジの位置を補正する処理である。補正処理1は、顔画像の顔の右端位置に係る補正処理であり、補正処理2は、顔画像の顔の左端位置に係る補正処理である。補正処理1、補正処理2は、並列に処理してもよいし、逐次的に補正処理1の終了後に、補正処理2を開始してもよい。
顔の右端位置に係る補正処理1の動作を図10に示すフローチャートを参照して説明する。まず、CPU24は、顔画像における処理対象の画素のy座標値(以後、検索y座標値とよぶ)を0に設定して処理を開始する(ステップS031)。
続いて、CPU24は、ステップS021で求めた顔の両端位置(x座標値)の右端初期値aをRAM25から読み出し、顔画像における処理対象の画素のx座標値(以後、検索x座標値とよぶ)をaに設定し、検索y座標値をインクリメントして、検索座標値を(a、1)とする(ステップS032)。
さらに、CPU24は、ステップS02で求めた顔の上下位置(y座標値)の下限値cをRAM25から読み出し、検索y座標値がこの下限値c以上か否かを判別する(ステップS033)。検索y座標値が下限値c以上でなければ(ステップS033;No)、ステップS032に処理を戻し、検索y座標値をインクリメントする。これにより、顔画像中で、図3(f)に示すy座標値が下限値c以上、上限値d以下の範囲である縦検索範囲外の画素での無駄な処理を省く。
一方、CPU24は、ステップS033で、検索y座標値が下限値c以上であると判別した場合(ステップS033;Yes)、次に、ステップS02で求めた顔の上下位置(y座標値)の上限値dをRAM25から読み出す。そして、CPU24は、検索y座標値がこの上限値d以上か否かを判別する(ステップS034)。
ステップS034で検索y座標値がd以上であると判別した場合の処理は、後述する。ステップS034で検索y座標値がd以上でないと判別した場合(ステップS034;Yes)、CPU24は、検索x座標値が、RAM25から読み出した右端初期値aから5を減算した値以上か否かを判別する(ステップS035)。これは、ステップS021で求めた顔の両端位置の右端初期値aから補正する範囲(x座標方向)を、5ピクセル分に制限するためである。この制限範囲は、図3(h)に示すように、横検索範囲のパラメータとして予めROM25等に記憶する。なお、この制限範囲は5ピクセル分である必要はなく、任意の値でよい。
ステップS035で、CPU24は、検索x座標値が右端初期値aから5を減算した値(a−5)以上であると判別した場合(ステップS035;Yes)、検索座標値を(x,y)としたときの(x−1,y−1)、(x−1,y)、(x−1,y+1)の座標の画素における縦エッジ検出用オペレータで処理後の輝度値(以後、縦ソーベル値とよぶ)を参照する。この座標の位置関係を図12(A)に示す。そして、CPU24は、この3つの座標の全ての縦ソーベル値が、図3(h)に示すようなROM23に予め記憶された縦ソーベル閾値である8よりも大きいか否か判別する(ステップS036)。これは、この3つの座標の画素における縦ソーベル値が縦ソーベル閾値よりも大きければ、現在の検索座標位置よりも、(x−1,y)座標の位置が縦エッジである可能性が高いからである。
ステップS036で、CPU24は、参照した3つの座標の縦ソーベル値が縦ソーベル閾値より大きいと判別した場合(ステップS036;Yes)、検索x座標値をx−1にし(ステップS037)、ステップS035の処理に戻る。
以上のステップS035、ステップS036、ステップS037の処理を繰り返すことで、CPU24は、顔の両端位置(x座標値)を補正するべきか否か判別しながら、顔の外側に向かって画像を走査している。
顔の両端位置(x座標値)を補正すべきか否かの判断基準は、(x−1,y−1)、(x−1,y)、(x−1,y+1)の3つの座標に位置する画素の縦ソーベル値に基づく必要はなく、任意である。
一方、ステップS035で、CPU24は、検索x座標値が右端初期値aから5を減算した値(a−5)以上であると判別した場合(ステップS035;No)、現在の検索x座標値を顔の右端位置(x座標値)の境界値データ(右端候補値)として、RAM25に記憶する(ステップS038)。ここで境界値データ(右端候補値)とは、顔の右端位置の候補となる座標値のことであり、これら境界値データ(右端候補値)の中から、最終的に顔の右端位置を決定する。
また、ステップS036で、参照した3つの座標の縦ソーベル値が縦ソーベル閾値より大きくないと判別した場合にも(ステップS036;No)、現在の検索x座標値を顔の右端位置(x座標値)の境界値データ(右端候補値)として、RAM25に記憶する(ステップS038)。ステップS038での検索x座標値は、例えば図13(A)に示すような境界値記録配列A(以後、配列Aとよぶ)に記憶する。配列を検索y座標毎に用意し、検索x座標値を境界値データ(右端候補値)として記憶する。
CPU24は、ステップS038でRAM25に記憶した境界値データ(右端候補値)が、ステップS021で検出した顔の両端位置(x座標値)の右端初期値aであるか否かを判別する(ステップS039)。ここで、CPU24は、境界値データ(右端候補値)が、右端初期値aであると判別した場合(ステップS039;Yes)、顔の両端位置(x座標値)の右端初期値aは変更しなかったので、そのまま、処理をステップS032に移行させる。
一方、ステップS039で、CPU24は、境界値データ(右端候補値)が、右端初期値aではないと判別した場合(ステップS039;No)、ステップS021で検出した顔の両端位置(x座標値)の右端初期値aから変更した境界値データ(右端候補値)の総数をカウントするための境界値データ数Nをインクリメントする(ステップS0310)。
CPU24は、以上のステップS032〜ステップS0310までの処理を繰り返し、検索y座標値が下限値c以上d以下の範囲で、顔の右端位置(x座標値)の境界値データ(右端候補値)をRAM25に記憶していく。
そして、CPU24は、ステップS034で検索y座標値がd以上であると判別した時点で(ステップS034;Yes)、処理を、図14のフローチャートで説明する処理に移行させる。
図14のフローチャートで説明する処理は、以上までの処理でRAM25に記憶してきた顔の右端位置(x座標値)の境界値データ(右端候補値)に基づいて、統計処理を行い、顔の右端位置を決定する処理である。
図10のステップS0310で加算してきた境界値データ数Nが少ない場合、その少ないデータに基づいて統計処理を行っても、その処理結果の信頼性は低い。そこで、CPU24は、まず、図3(h)に示すようなROM23に予め記憶しておいた境界値データ数割合(例えば、40%)を読み出す。CPU24は、その境界値データ数割合に、顔画像におけるy座標値がc以上d以下の範囲にある画素数(d−c+1)を乗算する。続いて、CPU24は、境界値データ数Nが、その乗算した結果の値以上であるか否かを判別する(ステップS051)。そこで、CPU24は、境界値データ数Nが、乗算した結果の値以上ではないと判別した場合は(ステップS051;No)、CPU24は、顔の両端位置(x座標値)の右端初期値aを変更せずに(ステップS057)、補正処理1を終了する。
一方、CPU24は、境界値データ数Nが、乗算した結果の値以上であると判別した場合(ステップS051;Yes)、統計処理を行う。具体的には、CPU24は、RAM25に記憶してきた全ての境界値データ(右端候補値)のヒストグラムを作成し、その平均値及び標準偏差を求め(ステップS052)、この両値をRAM25に記憶する。
続いて、CPU24は、以降の処理で、RAM25に記憶された境界値データ(右端候補値)の平均値及び標準偏差を参照して、図9に示す最終的な顔の右端位置(x座標値)αを決定するための最小境界値(最小の境界値データ(右端候補値))を求める。
この最小境界値を求める処理の終了条件は、整数値である境界値カウンタがRAM25に記憶された境界値データ数Nと等しくなったことを条件とする。
そこで、まず、CPU24は、この境界値カウンタの初期値を0として、この境界値カウンタが境界値データ数Nより小さいか否かを判別する(ステップS053)。
CPU24は、境界値カウンタが境界値データ数Nより小さいと判別した場合(ステップS053;Yes)、図13(A)に示すような、境界値カウンタと一致する引数をもつ配列Aの境界値データ(右端候補値)をRAM25から読み出す。CPU24は、読み出した境界値データ(右端候補値)が、i)標準偏差以内であり、かつ、ii)最小境界値(初期値は右端初期値aとする)より小さいか否かを判別する(ステップS054)。
CPU24は、ステップS054で、i)、ii)の条件を共に満たしていると判別した場合(ステップS054;Yes)、その配列Aの境界値データ(右端候補値)を最小境界値とし、その値をRAM25に更新して記憶する(ステップS055)。これにより、CPU24は、境界値データ(右端候補値)の中から、標準偏差を超えるようなはずれ値を除外し、その時点までの最小境界値より小さい値の境界値データ(右端候補値)を選択して、新たな最小境界値とする。
一方、CPU24は、ステップS054で、i)、ii)の条件のいずれか、或いは、共に満たしていないと判別した場合(ステップS054;No)、RAM25に記憶された最小境界値を更新せずに、次の処理に移行させる。
続いて、CPU24は、境界値カウンタをインクリメントさせ(ステップS056)、処理を、ステップS053の処理に戻す。
以上のステップS053〜ステップS056の処理を、CPU24は、境界値カウンタがRAM25に記憶された境界値データ数Nと等しくなるまで繰り返す。これにより、CPU24は、RAM25に記憶された顔の右端位置(x座標値)の全ての境界値データ(右端候補値)の中から、最小の最小境界値を抽出する。
CPU24は、ステップS053で、境界値カウンタが境界値データ数Nと等しいと判別した場合(ステップS053;No)、最小境界値を求める処理を終了し、RAM25に記憶された最小境界値を参照する。そして、CPU24は、この最小境界値を、顔の右端位置(x座標値)αとして、RAM25に記憶し(ステップS058)、補正処理1を終了する。この顔の右端位置(x座標値)αを、一例として図9の顔画像に示す。
以上の処理により、顔の右端位置に係る補正を行い、夜間に撮影された顔画像や女性の顔画像等においても、より正確な顔の右端位置を検出することができる。
次に、顔の左端位置に係る補正処理2の動作を図11に示すフローチャートを参照して説明する。まず、CPU24は、検索y座標値を0に設定して処理を開始する(ステップS041)。
続いて、CPU24は、ステップS02で求めた顔の両端位置(x座標値)の左端初期値bをRAM25から読み出し、顔画像における検索x座標値をbに設定し、検索y座標値をインクリメントして、検索座標値を(b、1)とする(ステップS042)。
さらに、CPU24は、ステップS02で求めた顔の上下位置(y座標値)の下限値cをRAM25から読み出し、検索y座標値がこの下限値c以上か否かを判別する(ステップS043)。検索y座標値が下限値c以上でなければ(ステップS043;No)、ステップS042に処理を戻し、検索y座標値をインクリメントする。これにより、顔画像中で、図3(f)に示すy座標値が下限値c以上、上限値d以下の範囲である縦検索範囲外の画素での無駄な処理を省く。
一方、CPU24は、ステップS043で、検索y座標値が下限値c以上であると判別した場合(ステップS043;Yes)、次に、ステップS02で求めた顔の上下位置(y座標値)の上限値dをRAM25から読み出す。そして、CPU24は、検索y座標値がこの上限値d以上か否かを判別する(ステップS044)。
ステップS044で検索y座標値がd以上であると判別した場合(ステップS044;Yes)の処理は、後述する。ステップS044で検索y座標値がd以上でないと判別した場合(ステップS044;No)、CPU24は、検索x座標値が、RAM25から読み出した左端初期値bに5を加算した値以下か否かを判別する(ステップS045)。これは、ステップS021で求めた顔の両端位置の左端初期値bから補正する範囲(x座標方向)を、5ピクセル分に制限するためである。この制限範囲は、図3(h)に示すように、横検索範囲のパラメータとして予めROM25等に記憶する。なお、この制限範囲は5ピクセル分である必要はなく、任意の値でよい。
ステップS045で、CPU24は、検索x座標値が左端初期値bに5を加算した値(b+5)以下であると判別した場合(ステップS045;Yes)、検索座標値が(x,y)としたときの(x+1,y−1)、(x+1,y)、(x+1,y+1)の座標の画素における縦ソーベル値を参照する。この座標の位置関係を図12(B)に示す。そして、CPU24は、この3つの座標の全ての縦ソーベル値が、図3(h)に示すようなROM23に予め記憶された縦ソーベル閾値である8よりも大きいか否か判別する(ステップS046)。これは、この3つの座標の画素における縦ソーベル値が縦ソーベル閾値よりも大きければ、現在の検索座標位置よりも、(x+1,y)座標の位置の方が縦エッジである可能性が高いからである。
ステップS046で、CPU24は、参照した3つの座標の縦ソーベル値が縦ソーベル閾値より大きいと判別した場合(ステップS046;Yes)、検索x座標値をx+1にし(ステップS047)、ステップS045の処理に戻る。
以上のステップS045、ステップS046、ステップS047の処理を繰り返すことで、CPU24は、顔の両端位置(x座標値)を補正するべきか否か判別しながら、顔の外側に向かって画像を走査している。
顔の両端位置(x座標値)を補正すべきか否かの判別は、(x+1,y−1)、(x+1,y)、(x+1,y+1)の3つの座標に位置する画素の縦ソーベル値に基づく必要はなく、任意である。
一方、ステップS045で、CPU24は、検索x座標値が左端初期値bに5を加算した値(b+5)より大きいと判別した場合(ステップS045;No)、現在の検索x座標値を顔の左端位置(x座標値)の境界値データ(左端候補値)として、RAM25に記憶する(ステップS048)。ここで境界値データ(左端候補値)とは、顔の左端位置の候補となる座標値のことであり、これら境界値データ(左端候補値)の中から、最終的に顔の左端位置を決定する。
また、ステップS046で、参照した3つの座標の縦ソーベル値が縦ソーベル閾値より大きくないと判別した場合にも(ステップS046;No)、現在の検索x座標値を顔の左端位置(x座標値)の境界値データ(左端候補値)として、RAM25に記憶する(ステップS048)。ステップS048での検索x座標値は、例えば図13(B)に示すような境界値記録配列B(以後、配列Bとよぶ)に記憶する。配列を検索y座標毎に用意し、検索x座標値を境界値データ(左端候補値)として記憶する。
CPU24は、ステップS048でRAM25に記憶した境界値データ(左端候補値)が、ステップS021で検出した顔の両端位置(x座標値)の左端初期値bであるか否かを判別する(ステップS049)。ここで、CPU24は、境界値データ(左端候補値)が、左端初期値bであると判別した場合(ステップS049;Yes)、顔の両端位置(x座標値)の左端初期値bは変更しなかったので、そのまま、処理をステップS042に移行させる。
一方、ステップS049で、CPU24は、左端候補値が、左端初期値bではないと判別した場合(ステップS049;No)、ステップS021で検出した顔の両端位置(x座標値)の左端初期値bから変更した境界値データ(左端候補値)の総数をカウントするための境界値データ数Mをインクリメントする(ステップS0410)。
CPU24は、以上のステップS042〜ステップS0410までの処理を繰り返し、検索y座標値が下限値c以上、上限値d以下の範囲で、顔の左端位置(x座標値)の境界値データ(左端候補値)をRAM25に記憶していく。
そして、CPU24は、ステップS044で検索y座標値がd以上であると判別した時点で(ステップS044;Yes)、処理を、図14のフローチャートで説明する処理に移行させる。
図14のフローチャートで説明する処理は、以上までの処理でRAM25に記憶してきた顔の左端端位置(x座標値)の境界値データ(左端候補値)に基づいて、統計処理を行い、顔の左端位置を決定する処理である。
図11のステップS0410で加算してきた境界値データ数Mが少ない場合、その少ないデータに基づいて統計処理を行っても、その処理結果の信頼性は低い。そこで、CPU24は、まず、図3(h)に示すようなROM23に予め記憶しておいた境界値データ数割合(例えば、40%)を読み出す。CPU24は、その境界値データ数割合に、顔画像におけるy座標値がc以上d以下の範囲にある画素数(d−c+1)を乗算する。続いて、CPU24は、境界値データ数Mが、その乗算した結果の値以上であるか否かを判別する(ステップS051)。そこで、CPU24は、境界値データ数Mが、乗算した結果の値以上ではないと判別した場合は(ステップS051;No)、CPU24は、顔の両端位置(x座標値)の左端初期値bを変更せずに(ステップS057)、補正処理2を終了する。
一方、CPU24は、境界値データ数Mが、乗算した結果の値以上であると判別した場合(ステップS051;Yes)、統計処理を行う。具体的には、CPU24は、RAM25に記憶してきた全ての境界値データ(左端候補値)のヒストグラムを作成し、その平均値及び標準偏差を求め(ステップS052)、この両値をRAM25に記憶する。
続いて、CPU24は、以降の処理で、RAM25に記憶された境界値データ(左端候補値)の平均値及び標準偏差を参照して、図9に示す最終的な顔の左端位置(x座標値)βを決定するための最大境界値(最大の境界値データ(左端候補値)を求める。
この最大境界値を求める処理の終了条件は、整数値である境界値カウンタがRAM25に記憶された境界値データ数Mと等しくなったことを条件とする。
そこで、まず、CPU24は、この境界値カウンタの初期値を0として、この境界値カウンタが境界値データ数Mより小さいか否かを判別する(ステップS053)。
CPU24は、境界値カウンタが境界値データ数Mより小さいと判別した場合(ステップS053;Yes)、図13(B)に示すような、境界値カウンタと一致する引数をもつ配列Bの境界値データ(左端候補値)をRAM25から読み出す。CPU24は、読み出した境界値データ(左端候補値)が、i)標準偏差以内であり、かつ、ii)最大境界値(初期値は左端初期値bとする)より大きいか否かを判別する(ステップS054)。
CPU24は、ステップS054で、i)、ii)の条件を共に満たしていると判別した場合(ステップS054;Yes)、その配列Bの境界値データ(左端候補値)を最大境界値とし、その値をRAM25に更新して記憶する(ステップS055)。これにより、CPU24は、境界値データ(左端候補値)の中から、標準偏差を超えるようなはずれ値を除外し、その時点までの最大境界値より大きい値の境界値データ(左端候補値)を選択して、新たな最大境界値とする。
一方、CPU24は、ステップS054で、i)、ii)の条件のいずれか、或いは、共に満たしていないと判別した場合(ステップS054;No)、RAM25に記憶された最大境界値を更新せずに、次の処理に移行させる。
続いて、CPU24は、境界値カウンタをインクリメントさせ(ステップS056)、処理を、ステップS053の処理に戻す。
以上のステップS053〜ステップS056の処理を、CPU24は、境界値カウンタがRAM25に記憶された境界値データ数Mと等しくなるまで繰り返す。これにより、CPU24は、RAM25に記憶された顔の左端位置(x座標値)の全ての境界値データ(上点候補値)の中から、最大の最大境界値を抽出する。
CPU24は、ステップS053で、境界値カウンタが境界値データ数Mと等しいと判別した場合(ステップS053;No)、最大境界値を求める処理を終了し、RAM25に記憶された最大境界値を参照する。そして、CPU24は、この最大境界値を、顔の左端位置(x座標値)βとして、RAM25に記憶し(ステップS058)、補正処理2を終了する。この顔の左端位置(x座標値)βを、一例として図9の顔画像に示す。
以上の処理により、顔の左端位置に係る補正を行い、夜間及び女性の顔画像においても、より正確な顔の左端位置を検出することができる。
図4に戻って、補正処理ステップS03を終了した後、CPU24は、図4の処理を繰り返し実行し、ドライバーの顔の両端位置(x座標値)を求め続ける。また、求めた顔の両端位置(x座標値)は、RAM25に記憶され、その後、所望の処理に利用することができる。
以上の処理により、本実施形態に係る顔端検出装置は、夜間に撮影された顔画像や女性の顔画像等においても、顔の両端位置をより正確に検出することができる。
なお、この発明は上記実施形態に限定されず、種々の変形及び応用が可能である。
例えば、上記実施形態では、顔画像の横エッジ、縦エッジを検出するために、ソーベルフィルタを適用したが、これに限定されず、例えば、プレウィットフィルタや、ロバーツフィルタを適用して、横エッジ、縦エッジを検出してもよい。
また、上記実施形態では、眉(又は目)と、口の階調画像から顔の上下位置(下限値c、上限値d)を求めたが、上下位置の判別に使用する顔の部分(パーツ)は任意である。例えば、耳や、ほお、頭髪などを加えて、顔の上下位置を求めても良い。
また、顔の上下位置(y座標値)を求めるために、眉(又は目)と、口の階調画像を利用せずに、予めROM等に記憶しておいた目や眉の画像が存在すると想定される顔の上下位置(y座標値)を特定するデータを利用してもよい。
図1、図2を参照して説明したシステム構成も一例であり、任意に変更可能である。例えば、カメラ10を近赤外線等で画像をとらえる赤外線カメラを使用すれば、人種や肌や髪の色に影響されず比較的正確に顔の各パーツの画像を取得することが可能となる。
また、上述のフローチャートも同様の機能が実現できるならば、任意に変更可能である。
例えば、境界値データ数割合を50%へ変更したり、縦ソーベル閾値を10へ変更してもよい。
上記各実施形態においては、ドライバーを撮影して顔の両端位置を検出する場合にこの発明を適用したが、この発明はこれに限定されず、任意の場面で人間、動物、人形、ロボット等の輪郭を検出する処理に広く適用可能である。
また、上記実施形態では、統計処理に平均値や標準偏差を用いていたが、この発明はこれに限定されず、顔の両端位置の補正に用いるデータとして信頼できるデータを選択できるのであれば、任意の方法でよい。
本発明は、カメラで画像を取得しながら処理する場合に限定されず、例えば、他所で撮影した1又は複数の顔画像のそれぞれについて、顔の両端位置などを判別する為に使用可能である。
また、コンピュータに上述の処理を実行させるためのコンピュータプログラムを、任意の記録媒体やネットワークを介してROMに格納するようにしてもよい。
本発明の実施形態に係る顔端検出装置のブロック図である。 図1に示すコンピュータの構成を示すブロック図である。 ROMに格納されている各種データを説明するための図である。 図1に示す顔端検出装置の動作を説明するためのフローチャートである。 図4の前処理の具体例を説明するためのフローチャートである。 図4の顔位置検出処理の具体例を説明するためのフローチャートである。 図6の顔両端検出処理の具体例を説明するためのフローチャートである。 図6の顔上下位置検出処理の具体例を説明するためのフローチャートである。 女性の顔画像を縦エッジ検出用ソーベルフィルタでフィルタリングし、二値化処理した画像である。 図4の補正処理1の具体例を説明するためのフローチャートである。 図4の補正処理2の具体例を説明するためのフローチャートである。 検索座標の画素と、顔の外側に向かって画像を走査するか否かを判別するために参照する座標の画素と、の位置関係を示す図である。 境界値記録配列A、境界値記録配列Bに、それぞれ格納される境界値データの一例を示す図である。 図10、図11の補正処理1、2に続く処理の具体例を説明するためのフローチャートである。
符号の説明
10 カメラ
22 画像メモリ (顔画像記憶手段)
23 ROM (輪郭候補位置決定手段、輪郭位置補正手段)
24 CPU (輪郭候補位置決定手段、輪郭位置補正手段)

Claims (12)

  1. 顔を撮影して得られた顔画像を記憶する顔画像記憶手段と、
    前記顔画像記憶手段に記憶された顔画像の画素データを処理して、顔の左右方向の仮の輪郭位置を検出し、検出した仮の輪郭位置において顔の上下方向に走査しながら、前記仮の輪郭位置の外側に位置する画素データに基づいて、前記仮の輪郭位置の外側に存在する輪郭位置の候補となる複数の輪郭候補位置を決定する輪郭候補位置決定手段と、
    前記輪郭候補位置決定手段により決定された前記複数の輪郭候補位置から統計処理を用いて抽出した位置を輪郭位置とする輪郭位置補正手段と、
    を備え
    前記輪郭位置補正手段は、前記輪郭候補位置決定手段により決定された前記複数の輪郭候補位置に基づいて、前記輪郭候補位置の平均値と標準偏差とを算出する算出手段と、
    前記算出手段で算出した前記平均値を中心として前記標準偏差を加減算した領域にある前記輪郭候補位置の内、顔画像の中心から最も遠くに位置する輪郭候補位置を選択し、該選択された輪郭候補位置を前記輪郭位置とする手段と、
    を備えることを特徴とする顔端検出装置。
  2. 顔を撮影して得られた顔画像を記憶する顔画像記憶手段と、
    前記顔画像記憶手段に記憶された顔画像の画素データを処理して、顔の左右方向の仮の輪郭位置を検出し、検出した仮の輪郭位置の外側に位置する画素データに基づいて演算を行い、該演算値と閾値とを比較することによって、前記仮の輪郭位置の外側に存在する輪郭位置の候補となる複数の輪郭候補位置を決定する輪郭候補位置決定手段と、
    前記輪郭候補位置決定手段により決定された前記複数の輪郭候補位置から統計処理を用いて抽出した位置を輪郭位置とする輪郭位置補正手段と、
    を備え、
    前記輪郭位置補正手段は、前記輪郭候補位置決定手段により決定された前記複数の輪郭候補位置に基づいて、前記輪郭候補位置の平均値と標準偏差とを算出する算出手段と、
    前記算出手段で算出した前記平均値を中心として前記標準偏差を加減算した領域にある前記輪郭候補位置の内、顔画像の中心から最も遠くに位置する輪郭候補位置を選択し、該選択された輪郭候補位置を前記輪郭位置とする手段と、
    を備えることを特徴とする顔端検出装置。
  3. 顔を撮影して得られた顔画像を記憶する顔画像記憶手段と、
    前記顔画像記憶手段に記憶された顔画像の画素データを処理して、顔の左右方向の仮の輪郭位置を検出し、検出した仮の輪郭位置の外側に位置する画素データに基づいて、前記仮の輪郭位置の外側に存在する輪郭位置の候補となる複数の輪郭候補位置を決定する輪郭候補位置決定手段と、
    前記輪郭候補位置決定手段により決定された前記複数の輪郭候補位置から統計処理を用いて抽出した位置を輪郭位置とする輪郭位置補正手段と、
    を備え、
    前記輪郭候補位置決定手段は、前記顔画像記憶手段に記憶された顔画像の画素データを処理して、顔の左右方向の仮の輪郭位置を検出する仮輪郭位置検出手段と、
    前記仮輪郭位置検出手段で検出した前記仮の輪郭位置の左右方向の外側隣りに位置する画素データと、前記外側隣りに位置する画素の上下に位置する二つの画素データに基づいて、前記仮の輪郭位置を前記外側隣に位置する画素の位置に変更するか否かを決定する決定手段と、
    前記決定手段で前記仮の輪郭位置を変更することを決定した場合に、前記仮の輪郭位置を変更する変更手段と、
    前記決定手段と、前記変更手段とを繰り返し動作させて、前記決定手段が前記仮の輪郭位置を変更しないと決定したときの仮の輪郭位置を前記輪郭候補位置とする手段と、
    を備えることを特徴とする顔端検出装置。
  4. 前記輪郭位置補正手段は、前記輪郭候補位置決定手段により決定された前記複数の輪郭候補位置のヒストグラムを作成するヒストグラム作成手段と、
    前記ヒストグラム作成手段で作成したヒストグラムに基づいて、前記輪郭候補位置の標準偏差を算出する標準偏差算出手段と、
    前記ヒストグラムの中心に前記標準偏差算出手段で算出した標準偏差を加減算した領域にある前記輪郭候補位置の内、顔画像の中心から最も遠くに位置する輪郭候補位置を選択し、該選択された輪郭候補位置を前記輪郭位置とする手段と、
    を備えることを特徴とする請求項に記載の顔端検出装置。
  5. 顔を撮影して得られた顔画像を記憶する顔画像記憶ステップと、
    前記顔画像記憶ステップで記憶された顔画像の画素データを処理して、顔の左右方向の仮の輪郭位置を検出し、検出した仮の輪郭位置において顔の上下方向に走査しながら、前記仮の輪郭位置の外側に位置する画素データに基づいて、前記仮の輪郭位置の外側に存在する輪郭位置の候補となる複数の輪郭候補位置を決定する輪郭候補位置決定ステップと、
    前記輪郭候補位置決定ステップで決定された前記複数の輪郭候補位置から統計処理を用いて抽出した位置を輪郭位置とする輪郭位置補正ステップと、
    を備え
    前記輪郭位置補正ステップは、前記輪郭候補位置決定ステップにより決定された前記複数の輪郭候補位置に基づいて、前記輪郭候補位置の平均値と標準偏差とを算出する算出ステップと、
    前記算出ステップで算出した前記平均値を中心として前記標準偏差を加減算した領域にある前記輪郭候補位置の内、顔画像の中心から最も遠くに位置する輪郭候補位置を選択し、該選択された輪郭候補位置を前記輪郭位置とするステップと、
    を備えることを特徴とする顔端検出方法。
  6. 顔を撮影して得られた顔画像を記憶する顔画像記憶ステップと、
    前記顔画像記憶ステップで記憶された顔画像の画素データを処理して、顔の左右方向の仮の輪郭位置を検出し、検出した仮の輪郭位置の外側に位置する画素データに基づいて演算を行い、該演算値と閾値とを比較することによって、前記仮の輪郭位置の外側に存在する輪郭位置の候補となる複数の輪郭候補位置を決定する輪郭候補位置決定ステップと、
    前記輪郭候補位置決定ステップで決定された前記複数の輪郭候補位置から統計処理を用いて抽出した位置を輪郭位置とする輪郭位置補正ステップと、
    を備え、
    前記輪郭位置補正ステップは、前記輪郭候補位置決定ステップにより決定された前記複数の輪郭候補位置に基づいて、前記輪郭候補位置の平均値と標準偏差とを算出する算出ステップと、
    前記算出ステップで算出した前記平均値を中心として前記標準偏差を加減算した領域にある前記輪郭候補位置の内、顔画像の中心から最も遠くに位置する輪郭候補位置を選択し、該選択された輪郭候補位置を前記輪郭位置とするステップと、
    を備えることを特徴とする顔端検出方法。
  7. 顔を撮影して得られた顔画像を記憶する顔画像記憶ステップと、
    前記顔画像記憶ステップで記憶された顔画像の画素データを処理して、顔の左右方向の仮の輪郭位置を検出し、検出した仮の輪郭位置の外側に位置する画素データに基づいて、前記仮の輪郭位置の外側に存在する輪郭位置の候補となる複数の輪郭候補位置を決定する輪郭候補位置決定ステップと、
    前記輪郭候補位置決定ステップで決定された前記複数の輪郭候補位置から統計処理を用いて抽出した位置を輪郭位置とする輪郭位置補正ステップと、
    を備え、
    前記輪郭候補位置決定ステップは、前記顔画像記憶ステップで記憶された顔画像の画素データを処理して、顔の左右方向の仮の輪郭位置を検出する仮輪郭位置検出ステップと、
    前記仮輪郭位置検出ステップで検出した前記仮の輪郭位置の左右方向の外側隣りに位置する画素データと、前記外側隣りに位置する画素の上下に位置する二つの画素データに基づいて、前記仮の輪郭位置を前記外側隣に位置する画素の位置に変更するか否かを決定する決定ステップと、
    前記決定ステップで前記仮の輪郭位置を変更することを決定した場合に、前記仮の輪郭位置を変更する変更ステップと、
    前記決定ステップと、前記変更ステップとを繰り返し動作させて、前記決定ステップが前記仮の輪郭位置を変更しないと決定したときの仮の輪郭位置を前記輪郭候補位置とするステップと、
    を備えることを特徴とする顔端検出方法。
  8. 前記輪郭位置補正ステップは、前記輪郭候補位置決定ステップにより決定された前記複数の輪郭候補位置のヒストグラムを作成するヒストグラム作成ステップと、
    前記ヒストグラム作成ステップで作成したヒストグラムに基づいて、前記輪郭候補位置の標準偏差を算出する標準偏差算出ステップと、
    前記ヒストグラムの中心に前記標準偏差算出ステップで算出した標準偏差を加減算した領域にある前記輪郭候補位置の内、顔画像の中心から最も遠くに位置する輪郭候補位置を選択し、該選択された輪郭候補位置を前記輪郭位置とするステップと、
    を備えることを特徴とする請求項7に記載の顔端検出方法。
  9. コンピュータに、
    顔を撮影して得られた顔画像を記憶する顔画像記憶手順と、
    前記顔画像記憶手順で記憶された顔画像の画素データを処理して、顔の左右方向の仮の輪郭位置を検出し、検出した仮の輪郭位置において顔の上下方向に走査しながら、前記仮の輪郭位置の外側に位置する画素データに基づいて、前記仮の輪郭位置の外側に存在する輪郭位置の候補となる複数の輪郭候補位置を決定する輪郭候補位置決定手順と、
    前記輪郭候補位置決定手順で決定された前記複数の輪郭候補位置から統計処理を用いて抽出した位置を輪郭位置とする輪郭位置補正手順と、
    を実行させ
    前記輪郭位置補正手順は、前記輪郭候補位置決定手順で決定された前記複数の輪郭候補位置に基づいて、前記輪郭候補位置の平均値と標準偏差とを算出する算出手順と、
    前記算出手順で算出した前記平均値を中心として前記標準偏差を加減算した領域にある前記輪郭候補位置の内、顔画像の中心から最も遠くに位置する輪郭候補位置を選択し、該選択された輪郭候補位置を前記輪郭位置とする手順と、
    を実行させるプログラム。
  10. コンピュータに、
    顔を撮影して得られた顔画像を記憶する顔画像記憶手順と、
    前記顔画像記憶手順で記憶された顔画像の画素データを処理して、顔の左右方向の仮の輪郭位置を検出し、検出した仮の輪郭位置の外側に位置する画素データに基づいて演算を行い、該演算値と閾値とを比較することによって、前記仮の輪郭位置の外側に存在する輪郭位置の候補となる複数の輪郭候補位置を決定する輪郭候補位置決定手順と、
    前記輪郭候補位置決定手順で決定された前記複数の輪郭候補位置から統計処理を用いて抽出した位置を輪郭位置とする輪郭位置補正手順と、
    を実行させ、
    前記輪郭位置補正手順は、前記輪郭候補位置決定手順で決定された前記複数の輪郭候補位置に基づいて、前記輪郭候補位置の平均値と標準偏差とを算出する算出手順と、
    前記算出手順で算出した前記平均値を中心として前記標準偏差を加減算した領域にある前記輪郭候補位置の内、顔画像の中心から最も遠くに位置する輪郭候補位置を選択し、該選択された輪郭候補位置を前記輪郭位置とする手順と、
    を実行させるプログラム。
  11. コンピュータに、
    顔を撮影して得られた顔画像を記憶する顔画像記憶手順と、
    前記顔画像記憶手順で記憶された顔画像の画素データを処理して、顔の左右方向の仮の輪郭位置を検出し、検出した仮の輪郭位置の外側に位置する画素データに基づいて、前記仮の輪郭位置の外側に存在する輪郭位置の候補となる複数の輪郭候補位置を決定する輪郭候補位置決定手順と、
    前記輪郭候補位置決定手順で決定された前記複数の輪郭候補位置から統計処理を用いて抽出した位置を輪郭位置とする輪郭位置補正手順と、
    を実行させ、
    前記輪郭候補位置決定手順は、前記顔画像記憶手順で記憶された顔画像の画素データを処理して、顔の左右方向の仮の輪郭位置を検出する仮輪郭位置検出手順と、
    前記仮輪郭位置検出手順で検出した前記仮の輪郭位置の左右方向の外側隣りに位置する画素データと、前記外側隣りに位置する画素の上下に位置する二つの画素データに基づいて、前記仮の輪郭位置を前記外側隣に位置する画素の位置に変更するか否かを決定する決定手順と、
    前記決定手順で前記仮の輪郭位置を変更することを決定した場合に、前記仮の輪郭位置を変更する変更手順と、
    前記決定手順と、前記変更手順とを繰り返し動作させて、前記決定手順が前記仮の輪郭位置を変更しないと決定したときの仮の輪郭位置を前記輪郭候補位置とする手順と、
    を実行させるプログラム。
  12. 前記輪郭位置補正手順は、前記輪郭候補位置決定手順で決定された前記複数の輪郭候補位置のヒストグラムを作成するヒストグラム作成手順と、
    前記ヒストグラム作成手順で作成したヒストグラムに基づいて、前記輪郭候補位置の標準偏差を算出する標準偏差算出手順と、
    前記ヒストグラムの中心に前記標準偏差算出手順で算出した標準偏差を加減算した領域にある前記輪郭候補位置の内、顔画像の中心から最も遠くに位置する輪郭候補位置を選択し、該選択された輪郭候補位置を前記輪郭位置とする手順と、
    を実行させる請求項11に記載のプログラム。
JP2005332404A 2005-11-17 2005-11-17 顔端検出装置、顔端検出方法、及び、プログラム Expired - Fee Related JP4664805B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005332404A JP4664805B2 (ja) 2005-11-17 2005-11-17 顔端検出装置、顔端検出方法、及び、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005332404A JP4664805B2 (ja) 2005-11-17 2005-11-17 顔端検出装置、顔端検出方法、及び、プログラム

Publications (2)

Publication Number Publication Date
JP2007139535A JP2007139535A (ja) 2007-06-07
JP4664805B2 true JP4664805B2 (ja) 2011-04-06

Family

ID=38202599

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005332404A Expired - Fee Related JP4664805B2 (ja) 2005-11-17 2005-11-17 顔端検出装置、顔端検出方法、及び、プログラム

Country Status (1)

Country Link
JP (1) JP4664805B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4973393B2 (ja) 2007-08-30 2012-07-11 セイコーエプソン株式会社 画像処理装置、画像処理方法、画像処理プログラムおよび画像処理システム
JP4946741B2 (ja) 2007-09-05 2012-06-06 セイコーエプソン株式会社 画像処理装置、画像処理方法、及び画像処理システム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004310396A (ja) * 2003-04-07 2004-11-04 Toyota Central Res & Dev Lab Inc 画像処理装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07271989A (ja) * 1994-03-31 1995-10-20 Toshiba Corp 背景と物体領域の境界検出方法及び物体の輪郭抽出方法及び物体輪郭抽出装置
JPH08272979A (ja) * 1995-03-31 1996-10-18 Toshiba Corp 顔画像輪郭抽出方法および顔画像輪郭抽出装置
JPH09259284A (ja) * 1996-03-22 1997-10-03 Nissan Motor Co Ltd 車両運転者の顔位置及び眼位置検出装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004310396A (ja) * 2003-04-07 2004-11-04 Toyota Central Res & Dev Lab Inc 画像処理装置

Also Published As

Publication number Publication date
JP2007139535A (ja) 2007-06-07

Similar Documents

Publication Publication Date Title
JP4307496B2 (ja) 顔部位検出装置及びプログラム
JP4445454B2 (ja) 顔中心位置検出装置、顔中心位置検出方法、及び、プログラム
JP6125188B2 (ja) 映像処理方法及び装置
JP4317465B2 (ja) 顔識別装置、顔識別方法及び顔識別プログラム
JP4328286B2 (ja) 顔領域推定装置、顔領域推定方法及び顔領域推定プログラム
KR100682889B1 (ko) 영상에 기반한 사실감 있는 3차원 얼굴 모델링 방법 및 장치
JP4597391B2 (ja) 顔領域検出装置およびその方法並びにコンピュータ読み取り可能な記録媒体
CN107016348B (zh) 结合深度信息的人脸检测方法、检测装置和电子装置
JP4130820B2 (ja) 顔中心位置検出装置及び方法並びにプログラム
JP2007272435A (ja) 顔特徴抽出装置及び顔特徴抽出方法
JP2007072628A (ja) 顔向き判別装置
JP4729188B2 (ja) 視線検出装置
CN112712059A (zh) 基于红外热图像和rgb图像的活体人脸识别方法
JP4203279B2 (ja) 注目判定装置
JP3952460B2 (ja) 移動物体検出装置、移動物体検出方法及び移動物体検出プログラム
JP2004301607A (ja) 移動物体検出装置、移動物体検出方法及び移動物体検出プログラム
JP2007312206A (ja) 撮像装置及び、画像再生装置
KR101908785B1 (ko) 혀 영역 추출 방법 및 그 방법을 수행하는 영상 처리 장치
JP4664805B2 (ja) 顔端検出装置、顔端検出方法、及び、プログラム
KR20100121817A (ko) 눈의 영역을 추적하는 방법
JP2008084109A (ja) 目開閉判定装置及び目開閉判定方法
JP2010231352A (ja) 表示情報形成装置およびシステム
JP5172995B2 (ja) 顔向き判別装置およびコンピュータプログラム
JP2004145592A (ja) 移動ベクトル抽出装置及び方法及びプログラム及びその記録媒体
JP3811474B2 (ja) 顔部品位置検出方法及び顔部品位置検出装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080313

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100709

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100720

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100921

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101221

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110107

R151 Written notification of patent or utility model registration

Ref document number: 4664805

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140114

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees