Nothing Special   »   [go: up one dir, main page]

JP4912206B2 - 画像処理方法、画像処理装置、画像処理システム及びコンピュータプログラム - Google Patents

画像処理方法、画像処理装置、画像処理システム及びコンピュータプログラム Download PDF

Info

Publication number
JP4912206B2
JP4912206B2 JP2007109751A JP2007109751A JP4912206B2 JP 4912206 B2 JP4912206 B2 JP 4912206B2 JP 2007109751 A JP2007109751 A JP 2007109751A JP 2007109751 A JP2007109751 A JP 2007109751A JP 4912206 B2 JP4912206 B2 JP 4912206B2
Authority
JP
Japan
Prior art keywords
spectacle
face
image
eye
search area
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.)
Active
Application number
JP2007109751A
Other languages
English (en)
Other versions
JP2008269182A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2007109751A priority Critical patent/JP4912206B2/ja
Publication of JP2008269182A publication Critical patent/JP2008269182A/ja
Application granted granted Critical
Publication of JP4912206B2 publication Critical patent/JP4912206B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Traffic Control Systems (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Description

本発明は、顔及び眼鏡を含む画像から眼を探索すべき探索領域を設定し、該探索領域内で眼の位置を検出する画像処理方法、該画像処理方法を実施する画像処理装置、該画像処理装置を備えた画像処理システム、及びコンピュータを前記画像処理装置として機能させるためのコンピュータプログラムに関する。
自動車等の車両の運転状態を監視する運転状態監視システムが提案されている。運転状態監視システムは、運転者の顔を撮像できる適宜箇所に設置された撮像装置及び画像処理装置等から構成されている。撮像装置は運転者の顔を撮像し、画像処理装置は撮像して得られた画像から運転者の眼を検出して運転者の居眠りを検知する(例えば、特許文献1)。運転状態監視システムを用いることにより、運転者の居眠り運転を検知することができ、居眠り運転を行っている運転者にアラームで注意勧告するシステムを構成することも可能である。
眼を検出する装置としては、画像の垂直方向における輝度変化の局所的な高まりと、顔における眼、眉等の一般的配置から眼の位置を検出する居眠り状態検出装置が提案されている(例えば、特許文献1)。
ところが、特許文献1に係る居眠り検出装置は、輝度変化と眼の一般的配置から眼を検出する構成であるため、運転者が眼鏡をかけているような場合、検出対象に眼のみならず輝度変化が眼に近似した眼鏡のフレーム、眼鏡ブリッジ等も含まれてしまい、眼の位置検出が困難になる。
上記問題点を考慮した画像処理システムが提案されている(例えば、特許文献2)。特許文献2に係る画像処理システムの撮像装置は、眼鏡蔓を撮像するために運転者の斜め前方に設置されており、運転者を斜めから撮像する。画像処理装置は、斜め方向から撮像された運転者の画像から眼鏡蔓を検出する。そして画像処理装置は、眼鏡蔓の蝶板側端部を基準として、所定方向へ所定距離離隔した所定領域を眼の探索領域として設定し、眼の位置を検出する。
特開平10−040361号公報 特開2006−209442号公報
しかしながら、眼鏡部品及び眼の位置関係は人によって異なり、顔の向きによっても変化するため、一意に決めた探索領域では眼を検出することができない場合があった。
本発明は斯かる事情に鑑みてなされたものであり、顔部位の幅、複数の顔部位間の幅又は顔領域の幅に応じて眼鏡部品に対する眼の相対距離が変化する傾向があるため、眼鏡部品に対する相対距離が前記幅の広/狭に応じて長/短となるように探索領域を設定することにより、運転者の個人差又は顔の向きに応じた探索領域を設定することができ、眼の位置を正確に検出することができる画像処理方法、該画像処理方法を実施する画像処理装置、該画像処理装置を備えた画像処理システム、コンピュータを前記画像処理装置として機能させるコンピュータプログラムを提供することを目的とする。
本発明の他の目的は、顔部位の幅、複数の顔部位間の幅又は顔領域の幅に応じた寸法を有する探索領域を選択するように構成することにより、運転者の個人差又は顔の向きに応じた探索領域を設定することができ、眼の位置を正確に検出することができる画像処理装置及び該画像処理装置を備えた画像処理システムを提供することにある。
本発明の他の目的は、検出された眼鏡部品の領域を探索領域から除外するように構成することにより、眼鏡部品を眼と誤検出することを防止し、眼を正確に検出することができる画像処理装置及び該画像処理装置を備えた画像処理システムを提供することにある。
本発明の他の目的は、過去の一の画像から検出された顔部位、眼鏡部品及び眼の位置を記憶する記憶手段を備え、一の画像における眼の位置と他の画像における探索領域の位置とが対応するように探索領域を設定するように構成することにより、運転者の個人差、顔の向きに応じて探索領域を適切に設定することができ、眼の位置を正確に検出することができる画像処理装置及び該画像処理装置を備えた画像処理システムを提供することにある。
本発明の他の目的は、眼鏡ブリッジ、眼鏡フレーム又は眼鏡蔓を各部品の特徴に着眼して検出して上述の処理を実行することにより、運転者の個人差又は顔の向きに応じた探索領域を設定することができ、眼の位置を正確に検出することができる画像処理装置及び該画像処理装置を備えた画像処理システムを提供することにある。
第1発明に係る画像処理方法は、顔及び眼鏡を含む画像から眼を探索すべき探索領域を設定し、該探索領域から眼の位置を検出する画像処理方法において、画像から一若しくは複数の顔部位又は顔領域を検出して顔部位、複数の顔部位間又は顔領域の幅を算出するステップと、画像から眼鏡部品の位置を検出するステップと、検出された眼鏡部品から離隔していて、前記幅の広/狭に応じて該眼鏡部品に対する相対距離が長/短になるように探索領域を設定するステップとを有することを特徴とする。
第2発明に係る画像処理装置は、顔及び眼鏡を含む画像から眼を探索すべき探索領域を設定し、該探索領域から眼の位置を検出する画像処理装置において、画像から一若しくは複数の顔部位又は顔領域を検出して顔部位、複数の顔部位間又は顔領域の幅を算出する領域幅算出手段と、画像から眼鏡部品の位置を検出する眼鏡部品検出手段と、検出された眼鏡部品から離隔していて、前記幅の広/狭に応じて該眼鏡部品に対する相対距離が長/短になるように探索領域を設定する設定手段とを備えることを特徴とする。
第3発明に係る画像処理装置は、前記設定手段は、前記幅に応じた寸法を有する探索領域を設定するようにしてあることを特徴とする。
第4発明に係る画像処理装置は、探索領域中に眼鏡部品が含まれた場合、前記眼鏡部品検出手段にて検出された眼鏡部品の領域を探索領域から除外する手段を備えることを特徴とする。
第5発明に係る画像処理装置は、時系列で画像を取得するように構成してあり、各画像から眼以外の顔部位を検出する顔部位検出手段と、一の画像から検出された顔部位、眼鏡部品及び眼の位置を記憶する記憶手段とを備え、前記設定手段は、他の画像から検出された顔部位及び眼鏡部品の位置、並びに前記記憶手段が記憶している顔部位、眼鏡部品及び眼の位置を比較して、一の画像における眼の位置と他の画像における探索領域の位置とが対応するように探索領域を設定する手段を備えることを特徴とする。
第6発明に係る画像処理装置は、前記眼鏡部品は、眼鏡ブリッジ、眼鏡フレーム又は眼鏡蔓を含むことを特徴とする。
第7発明に係る画像処理装置は、顔の向きを検出する顔の向き検出手段を備え、前記眼鏡部品検出手段は、前記検出手段が横向きであることを検出した場合、眼鏡蔓を検出するように構成してあることを特徴とする。
発明に係る画像処理システムは、第2発明乃至第6発明のいずれか一つに記載の画像処理装置と、車両の運転者を撮像する撮像装置とを備え、前記画像処理装置は、前記撮像装置が撮像して得た画像から眼の位置を検出するように構成してあることを特徴とする。
発明に係るコンピュータプログラムは、コンピュータに、第1発明に係るステップを実行させることを特徴とする。
第1、2、発明にあっては、眼鏡部品の位置を検出し、該眼鏡部品の位置を基準にして探索領域を設定する。眼鏡部品及び眼の位置関係は個人差、顔の向き等によって異なり、顔部位の幅、複数の顔部位間の幅又は顔領域の幅の広/狭に応じて眼鏡部品に対する眼の相対位置も長/短となる傾向がある。そこで、眼鏡部品に対する相対距離が前記幅の広/狭に応じて長/短となるように探索領域を設定することにより、眼を含む探索領域をより適切に設定することができ、眼の検出精度を向上させることができる。つまり、顔部位の幅、複数の顔部位間の幅又は顔領域の幅が広い場合、前記相対距離が長くなり、前記幅が狭い場合、前記相対距離が短くなるように探索領域を設定することにより、眼の検出精度を向上させることができる。
第3及び第発明にあっては、顔部位の幅、複数の顔部位間の幅又は顔領域の幅の長短に応じて眼の大きさも変化する傾向があるため、設定手段は前記幅に応じた寸法を有する探索領域を設定する。従って、眼を含む探索領域をより適切に設定することができ、眼の検出精度を向上させることができる。
第4及び第発明にあっては、探索領域に眼鏡部品が含まれた場合、例えば眼鏡ブリッジ、眼鏡フレームが含まれた場合、眼鏡部品が眼と誤検出される虞があるため、眼鏡部品検出手段が検出した眼鏡部品を探索領域から除外する。従って、眼の誤検出を防止することができ、眼の検出精度を向上させることができる。
第5及び第発明にあっては、画像処理装置は時系列で画像データを取得し、顔部位検出手段、眼鏡部品検出手段等が各画像から顔部位、眼鏡部品、眼を検出する。そして、記憶手段は一の画像、つまり過去の画像から検出された顔部位、眼鏡部品、眼の位置を記憶する。そして、設定手段は、過去の位置の画像における顔部位、眼鏡部品、及び眼の位置関係と、他の画像、つまり現在の画像から検出された顔部位及び眼鏡部品とを比較し、一の画像における眼の位置と他の画像における探索領域の位置とが対応するような探索領域を設定する。
従って、運転者の姿勢、顔の向き等によらず、より正確に眼を含む探索領域を設定し、高精度に眼を検出することができる。
第6、第7及び第発明にあっては、眼鏡部品として眼鏡ブリッジ、眼鏡フレーム又は眼鏡蔓を検出して、探索領域の設定及び眼の検出を行う。なお、眼鏡ブリッジ、眼鏡フレーム又は眼鏡蔓は、その特徴を抽出することにより、眼と区別して検出することができる。
第1、第2、第及び第発明にあっては、眼鏡部品から離隔していて、該眼鏡部品に対する相対距離が顔部位の幅、複数の顔部位間の幅又は顔領域の幅に応じて長短するように探索領域を設定することにより、運転者の個人差又は顔の向きに応じた探索領域を設定することができ、眼の位置を正確に検出することができる。
特に、眼鏡部品を基準として所定領域における輝度平均値を算出する手段と、該所定領域における輝度分散値を算出する手段と、算出された輝度平均値及び輝度分散値に基づいて、サングラスの有無を判定する手段とを備え、サングラス無しと判定された場合、探索領域から眼の位置を検出するように構成した場合、眼を検出できない状態で位置検出を試みることにより生ずる誤検出を効果的に防止することができる。
第3及び第発明によれば、顔部位の幅、複数の顔部位間の幅又は顔領域の幅に応じた寸法を有する探索領域を選択するように構成することにより、運転者の個人差又は顔の向きに応じた探索領域を設定することができ、眼の位置を正確に検出することができる。
第4及び第発明よれば、眼と誤検出され易い眼鏡部品を探索領域から除外して眼を正確に検出することができる。
第5及び第発明によれば、過去の画像について記憶した顔部位、眼鏡位置及び眼の位置と、現フレームの画像から検出された顔部位及び眼鏡部品の位置とを比較することによって眼を探索すべき探索領域を設定することにより、運転者の個人差、顔の向きに応じて探索領域を適切に設定することができ、眼の位置を正確に検出することができる。
第6、第7及び第発明によれば、眼鏡ブリッジ、眼鏡フレーム又は眼鏡蔓を検出して上述の処理を実行することにより、運転者の個人差又は顔の向きに応じた探索領域を設定することができ、眼の位置を正確に検出することができる。
なお、顔の向きを検出する顔の向き検出手段を備え、前記検出手段が横向きであることを検出した場合、眼鏡部品検出手段が眼鏡蔓を検出するように構成した場合、検出可能性を考慮して眼鏡蔓の位置を検出することができるため、無駄な検出処理を省いて眼鏡蔓及び眼の位置の誤検出を防止することができる。
また、眼鏡部品を検出するための閾値を記憶する手段と、眼鏡部品検出手段による眼鏡部品の検出率を算出する手段と、検出された眼鏡部品の算出率に応じて前記閾値を増減させる手段とを備えた場合、眼鏡部品の特徴に応じた適切な閾値を設定して眼鏡部品及び眼の検出精度を向上させることができる。
以下、本発明をその実施の形態を示す図面に基づいて詳述する。
図1は、本発明の実施の形態における画像処理システムの構成例を示すブロック図である。図中1は、車両に搭載された撮像装置であり、撮像装置1は、画像処理を行う画像処理装置2に通信網を介して接続されている。通信網は、例えば専用ケーブル等の通信線、又は有線若しくは無線の車内LAN(Local Area Network)によって構成されている。
撮像装置1は、車両内のハンドル、ダッシュボード等の運転者の前方に配設され、運転者の顔の横方向及び縦方向が画像の水平方向及び垂直方向になるように撮像することが可能な状態に調整されている。
撮像装置1は、装置全体を制御するMPU(Micro Processor Unit)11と、MPU11の制御に基づき実行される各種コンピュータプログラム及びデータを記録するROM(Read Only Memory)12と、ROM12に記録されたコンピュータプログラムの実行時に一時的に発生する各種データを記録するRAM(Random Access Memory)13と、CCD(Charge Coupled Device)等の撮像素子を用いて構成される撮像部14と、撮像部14の撮像により得られたアナログの画像データをデジタルデータに変換するA/D変換器15と、A/D変換器15によりデジタルに変換された画像データを一時的に記録するフレームメモリ16と、画像処理装置2との通信に用いられる通信インタフェース17とを備えている。
撮像装置1では、撮像部14が、連続的又は断続的に撮像処理を行い、撮像処理に基づいて例えば1秒当たり30枚の画像データ(画像フレーム)を生成してA/D変換器15へ出力する。A/D変換器15は、画像を構成する各画素を256階調(1Byte)等の階調にて示されるデジタルの画像データに変換し、フレームメモリ16に記録させる。フレームメモリ16に記録させた画像データは、所定のタイミングで通信インタフェース17から画像処理装置2へ出力される。
画像を構成する各画素は、二次元に配列されており、画像データは、平面直角座標系、所謂XY座標系にて示される各画素の位置、及び階調値として示される各画素の輝度を示すデータ(輝度値)を含んでいる。画像の水平方向は、画像データのX軸方向に対応し、画像の垂直方向は、画像データのY軸方向に対応する。
なお、各画素に対し夫々XY座標系による座標を示すのでは無く、データ内に配列される順序により座標を示す様にしても良い。また、本実施の形態ではグレイスケイルの画像データに基づく画像処理を説明する。カラーの画像データを用いる場合、該画像データを構成する画素の輝度データについて同様の画像処理を実行すれば良い。
画像処理装置2はコンピュータを実装しており、装置全体を制御するCPU(Central Processing Unit)21と、本発明の実施の形態に係るコンピュータプログラム31並びに眼鏡部品及び眼を検出するための各種閾値、所定値等の各種情報を記録した記録媒体41、例えばCD−ROMから情報を読み取る補助記録部22と、補助記録部22により読み取った各種情報を記録するハードディスク(以下HDという)23と、HD23に記録されたコンピュータプログラム31の実行時に一時的に発生する各種データを記録するRAM24と、揮発性メモリにて構成されるフレームメモリ25と、撮像装置1との通信に用いられる通信インタフェース26とを備えている。
本発明のコンピュータプログラム31は、少なくともコンピュータに、顔及び眼鏡Gを含む画像から顔領域を検出して顔幅を算出する処理と、画像から眼鏡部品の位置を検出する処理と、検出された眼鏡部品から離隔していて、顔幅の広/狭に応じて該眼鏡部品に対する相対距離が長/短になるように探索領域を設定する処理とを実行させるためのプログラムを含む。また、記録媒体41には、コンピュータプログラム31がコンピュータ読み取り可能に記録されている。
なお、コンピュータプログラム31は、言うまでもなく外部のコンピュータから有線又は無線の通信ネットワークを介して流通するものも含み、画像処理装置2が該通信ネットワークを介してコンピュータプログラム31を取得し、HD23に記録するようにしても良い。
そしてCPU21が、HD23から本発明のコンピュータプログラム31及びデータ等の各種情報を読み取り、RAM24に記録させてコンピュータプログラム31に含まれる各種処理手順を実行することで、コンピュータは、本実施の形態の画像処理装置2として動作する。
画像処理装置2は、撮像装置1から出力された画像データを通信インタフェース26にて受け付け、受け付けた画像データをフレームメモリ25に記録し、フレームメモリ25に記録した画像データを読み出して、様々な画像処理を行う。
次に本発明の実施の形態における画像処理システムにて用いられる各種装置の処理内容について説明する。
図2は、顔及び眼鏡Gを含む画像から眼を検出するCPU21の処理手順を示すフローチャートである。まず、画像処理装置2のCPU21は、フレームメモリ25から画像データを時系列的に取得する(ステップS11)。そして、CPU21は、取得した画像データから運転者の顔領域を検出する(ステップS12)。また、CPU21は、眼以外の顔部位、例えば鼻穴を検出する(ステップS13)。
次いで、CPU21は、第1の眼鏡部品認識処理を実行する(ステップS14)。第1の眼鏡部品認識処理では、眼鏡ブリッジH、眼鏡上フレームI及び眼鏡蔓Jを検出する(図8参照)。そして、CPU21は、第2の眼鏡部品認識処理を実行する(ステップS15)。第2の眼鏡部品認識処理では、眼鏡下フレームK及び眼鏡上フレームIを検出し(図26、29参照)、あわせてサングラスであるか否かを判定する。眼鏡部品認識処理を終えた場合、CPU21は、認識結果を用いて眼鏡学習処理及び眼鏡判定処理を実行する(ステップS16)。眼鏡学習処理では、各眼鏡部品の取得率、眼鏡部品の位置を記憶する。なお、各眼鏡部品の取得率等は、顔の向きによって区分して記憶すると良い。また、各眼鏡部品の取得率に応じて、各眼鏡部品又は顔部位を検出するための各種閾値、所定値を変更するように構成すると良い。各眼鏡部品又は顔部位の形状、輝度変化等は眼鏡Gの種類、人によって異なるが、取得率を参照して最適な閾値を設定することで眼鏡部品又は顔部位の検出精度を向上させることができる。
例えば、眼鏡ブリッジHの取得率が95%であって、眼鏡上フレームIの取得率が60%のような場合、眼鏡Gが存在しており、眼鏡上フレームIを検出するための閾値が適切でないために眼鏡上フレームIが検出されていない可能性がある。このような場合、眼鏡上フレームIを検出するための閾値を、検出が容易になるように変更することによって、眼鏡上フレームIをより正確に検出することができるようになる。
逆に、眼鏡ブリッジHの取得率が0%であって、眼鏡上フレームIの取得率が15%のような場合、眼鏡Gが存在しておらず、眼鏡上フレームIを検出するための閾値が適切で無いために眼鏡上フレームIを誤検出している可能性がある。このような場合、眼鏡上フレームIを検出するための閾値を、誤検出が生じないように変更することによって、眼鏡上フレームIをより正確に検出することができるようになる。
眼鏡判定処理では、各眼鏡部品の取得率に基づいて総合的に眼鏡Gの有無を判定する。
次いで、CPU21は、サングラスの有無を判定する(ステップS17)。サングラスにより眼が隠蔽されている場合、眼を検出することはできず、サングラスレンズの上部又は下部を眼と誤認識する虞があるが、ステップS17の処理によって誤認識の問題を回避することができる。
サングラス有りと判定した場合(ステップS17:YES)、CPU21は、眼の検出に係る処理を終える。サングラス無しと判定した場合(ステップS17:NO)、CPU21は、眼鏡部品の領域を除外した探索領域を設定し(ステップS18)、該探索領域から眼の位置を検出する(ステップS19)。そして、CPU21は眼の再検出処理を実行する(ステップS20)。眼の再検出処理では、検出された眼鏡部品の位置から所定方向に離隔した探索領域を設定する。特に、CPU21は、個人差、顔の向き等を考慮し、眼鏡部品に対する探索領域の相対距離が顔幅に応じて長短し、探索領域の寸法も大小するように探索領域を設定する。また、眼鏡部品、顔部位及び眼の位置に関する過去の認識結果を用いて探索領域を設定する。そして、設定された探索領域から眼を再検出する。
最後に、CPU21は、ステップS19及びステップS20で検出された眼の位置の内、より信頼性が高い眼の位置を確定し、ステップS13で検出された顔部位と、ステップS14,15で検出された各眼鏡部品と、眼位置との位置関係をHD23に登録する(ステップS21)。なお、登録処理は他のタイミングで適宜実行するように構成しても良い。CPU21は、顔の向きが正面側により近い状態で顔部位、各眼鏡部品、及び眼位置を検出した場合、HD23に記録されている位置関係を更新する。顔の向きの検出方法は公知の技術であり、例えば水平方向で、顔領域に対する鼻の位置により判定する。また、眼の形状で判断するように構成しても良い。更に、出現頻度が高い位置関係を正面時の位置関係として記録するように構成しても良い。
以下、図2のフローチャートを用いて説明した処理内容を更に具体的に説明する。
図3は、顔領域の検出方法を概念的に示す説明図である。ステップS12においてCPU21は、画像の各Y座標について、水平方向に並ぶ各画素の輝度値を積算し、積算して得た輝度積算値と、所定の閾値とを比較することで垂直方向における顔領域R0の範囲を検出する。Fy1は、垂直方向における顔領域R0の上端のY座標を、Fy2は、垂直方向における顔領域R0の下端のY座標を示している。顔領域R0は、髪の領域及び背景領域と比較して明るく撮像されため、輝度積算値と閾値とを比較することによって顔領域R0を検出することができる。
同様に、CPU21は、画像の各X座標について、垂直方向に並ぶ各画素の輝度値を積算し、積算して得た輝度積算値と、所定の閾値とを比較することで水平方向における顔領域R0の範囲を検出する。Fx1は、水平方向における顔領域R0の左端を、Fx2は、水平方向における顔領域R0の右端を示している。なお、「左」は、撮像装置1側から見た左、即ち図3の紙面における左側を意味し、「右」は図3の紙面における右側を意味している。従って、撮像されている運転者側から見ると左右が逆になる。
図4は、鼻の位置検出方法を概念的に示す説明図である。図4中、実線で示す外側の矩形枠は画像全体を示しており、該矩形枠の内側であって鼻を囲む破線で描かれた矩形枠は鼻を検出するための検出処理範囲R1を示している。
ステップS13においてCPU21は、鼻を検出するための検出処理領域R1を検出すべく、水平方向に並ぶ画素の輝度値を積算し、積算した結果から垂直方向の輝度積算値の変化を導出する。そして、CPU21は、導出された垂直方向における輝度積算値の変化から、極小値を示す複数のY座標位置を検出する。この処理によって、水平方向における輝度平均が低い眉、眼、鼻及び口をも含む複数の検出対象の候補が検出される。次いで、CPU21は検出された極小値を示すY座標において水平方向に並ぶ画素の輝度値の変化から、検出対象の候補の両端を検出し、水平方向における極小点を検出する。鼻の周辺部分においては、「×」印で示すように小鼻の両端と、鼻穴に相当する2つの極小点が検出される。CPU21は、顔幅Fw=Fx2−Fx1と、水平方向における小鼻両端の長さとの比、極小点の数等に基づいて、鼻周辺の検出処理範囲を特定する。次いで、CPU21は、水平方向に並ぶ画素の輝度値の変化から、極小点周辺を鼻穴の探索領域として選択し、黒領域抽出フィルタ等を用いて鼻穴の位置を検出する。
次に、ステップS14に係る第1の眼鏡部品認識の処理内容を具体的に説明する。
図5は、第1の眼鏡部品認識に係るCPU21の処理手順を示すフローチャートである。まずCPU21は、眼鏡ブリッジHを検出し(ステップS31)、眼鏡上フレームIを検出する(ステップS32)。そして、CPU21は、左右の眼鏡部品の検出処理を終えたか否かを判定する(ステップS33)。左側又は右側の眼鏡部品の検出処理を終えていないと判定した場合(ステップS33:NO)、CPU21は、処理をステップS32に戻す。左右の眼鏡部品の検出処理を終えたと判定した場合(ステップS33:YES)、CPU21は、眼鏡蔓Jを検出し(ステップS34)、第1の眼鏡部品認識に係る処理手順を終える。次に、ステップS31〜34の処理内容を更に具体的に説明する。
図6及び図7は、眼鏡ブリッジHの検出に係るCPU21の処理手順を示すフローチャートである。CPU21は、過去に検出された左右の眼位置を記憶しているか否かを判定する(ステップS51)。なお、左右は撮像装置1側から見た方向、つまり図3中右側を右、左側を左として説明する。左右の眼位置を記憶していると判定した場合(ステップS51:YES)、左右の眼位置に基づいて、眼鏡ブリッジHの検出処理範囲を算出する(ステップS52)。左右の眼位置を記憶していないと判定した場合(ステップS51:NO)、CPU21は、鼻位置に基づいて眼鏡ブリッジHの検出処理範囲を算出する(ステップS53)。
図8は、眼鏡ブリッジHの検出処理範囲を概念的に示す説明図である。図8(a)は、左右の眼位置に基づいて算出された検出処理範囲R2を示している。ステップS52では、図8(a)に示すように、水平方向における左右の眼位置の中点を基準点P1とし、該基準点P1より垂直方向上側にN1画素、下側にN2画素、水平方向両側に夫々N3画素の広がりを有する領域を検出処理範囲R2として算出する。なお、N1,N2,N3は、顔幅Fwに対する固定比によって定められる。検出処理範囲R2を顔幅Fwに応じて広狭するように構成することにより、撮像装置1と運転者との距離に関わらず適切な検出処理領域R2を算出することができる。具体的には、運転者が撮像装置1に近い場合、検出処理範囲R2を広げ、運転者が撮像装置1から遠い場合、検出処理範囲R2を狭める。
図8(b)は、鼻穴の位置に基づいて算出された検出処理範囲を示している。ステップS53では、図8(b)に示すように、水平方向における左右の鼻穴の中点P0から垂直方向上側へN4画素の位置を基準位置P1とし、上述と同様の方法で眼鏡ブリッジHの検出処理範囲R2を算出する。
図9は、眼鏡ブリッジHの上位置及び下位置の検出方法を概念的に示す説明図である。図9(a)は、眼鏡部分の画像領域の一例を示している。
ステップS52又はステップS53の処理を終えた場合、CPU21は、眼鏡ブリッジHの上位置及び下位置を検出すべく、図9(b)に示すように検出処理範囲R2において水平方向に並んだ各画素の輝度値を積算する(ステップS54)。図9(b)のグラフの縦軸は、画像データにおけるY座標を、横軸は各X座標の水平ラインにおける輝度値を積算して得た輝度積算値を示している。輝度積算値は各Y座標における水平ラインの明るさを示している。眼鏡ブリッジHが存在している場合、図9(b)に示すように、垂直方向Yにおける眼鏡ブリッジH部分の輝度積算値が他の部分に比べて低く落ち込む。
次いで、CPU21は、図9(c)に示すように輝度積算値の上下差分値を算出する(ステップS55)。図9(c)に示すグラフの縦軸は、画像データにおけるY座標を、横軸は各Y座標における上下差分値を示している。上下差分値は、例えば下記の式1で算出する。
上下差分値=M1(y+所定画素)−M1(y)…式1
但し、yは、一の水平ラインにおけるY座標を示しており、M1(y)は該水平ラインにおける輝度積算値を示している。
そして、CPU21は、上下差分値が最大のY座標を眼鏡ブリッジHの上位置として検出し(ステップS56)、上下差分値が最小のY座標を眼鏡ブリッジHの下位置として検出する(ステップS57)。
図10は、眼鏡ブリッジHの左右位置候補の検出方法を概念的に示す説明図である。図10(a)は、図9(a)同様、眼鏡部分の画像領域の一例を示している。ステップS57の処理を終えた場合、CPU21は、眼鏡ブリッジHの左右位置候補を検出すべく図10(b)に示すように検出処理範囲R2において垂直方向に並んだ画素の輝度値を積算する(ステップS58)。図10(b)のグラフの横軸は、画像データにおけるX座標を、縦軸は各X座標の垂直方向における輝度値を積算した輝度積算値を示している。該輝度積算値は、該X座標における垂直ラインの明るさを示している。眼鏡ブリッジHが存在している場合、図10(b)に示すように、眼鏡ブリッジHと、眼鏡上フレームIとの接続部分の輝度積算値が他の部分に比べて低く落ち込む。
次いで、CPU21は、図10(c)に示すように輝度積算値の左右差分値を算出する(ステップS59)。図10(c)に示すグラフの横軸は、画像データにおけるX座標を、縦軸は各X座標における左右差分値を示している。左右差分値は、例えば下記の式2によって算出する。
左右差分値=M2(x+所定画素)−M2(x)…式2
但し、xは、一の垂直ラインのX座標を示しており、M2(x)は該垂直ラインにおける画素位置xにおける輝度積算値を示している。
そして、CPU21は、基準点P1より水平方向左側にある左右差分値が最大となるX座標を眼鏡ブリッジHの左位置候補として検出し(ステップS60)、基準点P1より水平方向右側にある左右差分値が最小となるX座標を眼鏡ブリッジHの右位置候補として検出する(ステップS61)。
次いで、CPU21は、ステップS56、57、60,61の検出結果より、眼鏡ブリッジHの有無を判定する(ステップS62)。具体的には、眼鏡ブリッジHの上位置の上下差分値の絶対値と、下位置の上下差分値の絶対値との和が第1の所定閾値以上であり、眼鏡ブリッジHの右位置候補の左右差分値の絶対値と、左位置候補の左右差分値の絶対値との和が第2の所定閾値以上であり、更に眼鏡ブリッジH左位置候補と、右位置候補との距離が顔幅Fwに対して閾値範囲内に有る場合、眼鏡ブリッジH有りと判定する。つまり、眼鏡ブリッジHの上位置、下位置、左右位置候補が眼鏡ブリッジHとして不自然な位置関係に無いか否かを判定する。
ステップS62で眼鏡ブリッジH有りと判定した場合(ステップS62:YES)、CPU21は、眼鏡ブリッジHの中点H3、左端点H1及び右端点H2の位置座標を記憶し(ステップS63)、眼鏡ブリッジHの検出に係る処理を終える。なお、第1の閾値及び第2の閾値は、眼鏡ブリッジHの検出結果の学習によって変化させても良い。眼鏡Gによっては眼鏡ブリッジHの検出し易さが異なるが、眼鏡ブリッジHの取得率に基づいて第1及び第2の閾値を増減させることにより、眼鏡Gの種類に応じた最適な閾値を得ることができ、正確に眼鏡ブリッジHを検出することができる。
図11は、眼鏡ブリッジHの中点H3、左端点H1、及び右端点H2を示す模式図である。
眼鏡ブリッジHの中点H3のX座標は、水平方向における眼鏡ブリッジHの左位置候補と、右位置候補との中点の座標であり、Y座標は眼鏡ブリッジHの上位置の座標である。また、眼鏡ブリッジHの左端点H1のX座標は眼鏡ブリッジHの左位置候補の座標であり、Y座標は眼鏡ブリッジHの上位置の座標と下位置の座標との中点である。眼鏡ブリッジHの右端点H2のX座標は眼鏡ブリッジHの右位置候補の座標であり、Y座標は眼鏡ブリッジHの上位置の座標と下位置の座標との中点である。
図12及び図13は、第1の眼鏡上フレーム検出に係るCPU21の処理手順を示すフローチャート、図14は、眼鏡上フレームIの左端点候補、及び右端点候補を概念的に示す説明図である。まず、CPU21は、眼鏡ブリッジHの中点H3、左右端点H1,H2及び顔領域R0の位置に基づいて、眼鏡上フレームIの左右端点候補I10,I20を算出する(ステップS71)。
眼鏡上フレームIの右端点候補I20のX座標は、図14に示すように、眼鏡ブリッジHの左端点H1のX座標であり、Y座標は眼鏡ブリッジHの中点H3のY座標である。眼鏡上フレームIの左端点候補I10のX座標は、顔領域R0の左端点のX座標Fx1、Y座標は眼鏡ブリッジHの中点H3のY座標である。
次いで、CPU21は、眼鏡上フレームIの左端点候補I10及び右端点候補I20の位置座標を補正して得られる左端点I1及び右端点I2の位置座標を算出する(ステップS72)。
次いで、CPU21は、眼鏡上フレームIの頂点を検出するための検出処理範囲を設定する(ステップS73)。
図15は、眼鏡上フレームIの頂点I3を検出するための検出処理範囲R3を概念的に示す説明図である。図15に示すように、検出処理範囲R3は矩形領域であり、眼鏡上フレームIの左端点I1及び右端点I2を横方向両端とし、垂直方向上側及び下側へ適宜長の広がりを有する領域である。より具体的には、検出処理範囲R3の左上端R31のX座標は上フレームの左端点I1のX座標値であり、Y座標は左端点I1及び右端点I2の内、最も上側の点、つまり最も値が小さいY座標値から所定値N5を減算した座標値である。また、検出処理範囲R3の右下端R32のX座標は、眼鏡上フレームIの右端点I2のX座標であり、Y座標は左端点I1及び右端点I2の内、最も下側の点、つまり最も値が大きいY座標値に所定値N6加算した座標値である。なお、N5及びN6は、顔幅Fwに対する固定比である。
次いで、CPU21は、画像データ、例えば顔領域R0の画像データに所定の画像処理を実行して処理画像を作成する(ステップS74)。具体的には、画像データに対してラプラシアンフィルタを用いたフィルタ処理を実行し、フィルタ処理された画像を2値化する。2値化する際に使用する閾値は、処理範囲における閾値以上の輝度値を有する画素の数と、閾値未満の輝度値を有する画素の数との比が所定割合になるように設定する。そして、孤立点除去等のノイズ除去処理を実行する。ステップS74の処理によって、エッジが強い箇所が1、弱い箇所が0となる2値画像を得ることができる。
次いで、CPU21は、眼鏡ブリッジHの有無を評価するための眼鏡ブリッジスコアを算出する(ステップS75)。
図16は、眼鏡ブリッジHの再評価処理方法を説明するための説明図である。CPU21は、ステップS74で処理された画像であって、眼鏡ブリッジHの左端点H1と右端点H2とを結ぶ直線から上下に所定幅N7を有する画像領域中における輝度値1の含有率を眼鏡ブリッジスコアとして算出する。含有率は、前記画像領域を構成する画素の数に対する、輝度値1を有する画素の割合である。
次いで、CPU21は、眼鏡ブリッジスコアに基づいて眼鏡ブリッジHが有るか否かを判定する(ステップS76)。含有率が所定閾値以上であるか否かを判断することによって、眼鏡ブリッジHが存在するか否かを再評価する。眼鏡ブリッジHが存在していれば、眼鏡ブリッジH周辺にエッジ成分が存在し、ステップS74で処理された画像中に輝度値が1の画素として表出する。ステップS76の処理によって、上述の眼鏡ブリッジHの検出処理と、上述の再評価処理とによって、眼鏡ブリッジHの有無を正確に判定することができる。
なお、現画像データの眼鏡ブリッジスコアのみならず、過去の画像データの眼鏡ブリッジスコアも用いて眼鏡ブリッジHの有無を評価する。具体的には、現画像データの眼鏡ブリッジスコアが閾値以上であり、且つ第1所定数フレームの画像データの内、眼鏡ブリッジスコアが閾値以上である画像データの数が第2所定数以上である場合、眼鏡ブリッジH有りと判定する。
図17は、眼鏡上フレームIの頂点位置の探索方法を概念的に示す説明図である。ステップS76で眼鏡ブリッジH有りと判定した場合(ステップS76:YES)、検出処理範囲R3中を走査しながら眼鏡ブリッジHの頂点I3を評価するための頂点スコアを算出する(ステップS77)。具体的には、眼鏡上フレームIの左端I1及び右端I2と、頂点I3とを結ぶ線分上にある眼鏡上フレームIの輝度和を頂点スコアとして算出する。そして、CPU21は、頂点スコアが最大となる頂点I3の位置を特定し(ステップS78)、頂点スコアの最大値が所定の閾値以上であるか否かを判定する(ステップS79)。閾値以上であると判定した場合(ステップS79:YES)、CPU21は、眼鏡上フレームIの左端I1、右端I2及び頂点I3の位置座標を記憶し(ステップS80)、眼鏡上フレームIの検出に係る処理を終える。また、ステップS76で眼鏡ブリッジHが無いと判定した場合(ステップS76:NO)、頂点スコアの最大値が閾値未満であると判定された場合(ステップS79:NO)、CPU21は眼鏡上フレームIが検出されなかったとして処理を終える。
図18は、眼鏡蔓Jの検出に係るCPU21の処理手順を示すフローチャートである。CPU21は、眼鏡蔓Jを検出するための所定の検出処理条件を具備しているか否かを判定する(ステップS91)。眼鏡蔓Jを取得できる状況であるか否かを示す眼鏡蔓Jフラグが1であって、顔の向きが右向き又は左向きの場合、検出処理条件を具備していると判定する。眼鏡蔓Jフラグは、例えば、眼鏡学習処理において眼鏡ブリッジHの取得率が所定値以上である場合、1に設定され、取得率が所定値未満である場合、0に設定される。また、眼鏡ブリッジHの取得率が所定値以上であっても、眼鏡蔓Jの取得率が悪い場合、眼鏡蔓Jフラグを0に設定する。顔の向きに応じて眼鏡蔓J検出の要否を判定するように構成することにより、無駄な検出処理を省き、眼鏡蔓Jの検出精度を向上させることができる。
検出処理条件を具備していると判定した場合(ステップS91:YES)、CPU21は、眼鏡蔓Jの検出処理範囲R6を算出する(ステップS92)。
図19は、眼鏡蔓Jの検出処理範囲R6の算出方法を概念的に示す説明図である。まずCPU21は、図19(a)中、実線の矩形枠で示すような基準範囲R4を算出する。基準領域R4は顔領域R0の上半分である。つまり、基準領域R4の左右端及び上端は顔領域R0の左右端及び上端に一致し、基準領域R4の下端は顔領域R0の上下端の中間位置である。
次いで、CPU21は図19(b)中、実線の矩形枠で示すように、上下範囲を一定範囲に限定する。具体的には、CPU21は過去に検出された眼位置中点のY座標軸を中心にして上下に顔幅FwのN81%の広がりを有する範囲R5に限定する。なお、過去に検出された眼位置中点が無い場合、眼鏡ブリッジHの中点H1を基準にして上下範囲を設定すれば良い。
そして、CPU21は図19(c)中、実線の矩形枠で示すように、水平方向の範囲を一定範囲に限定する。具体的にはCPU21は、図19(c)に示すように顔が左を向いている場合、範囲R5の右端から顔幅FwのN82%の幅を有する範囲を眼鏡蔓Jの検出処理範囲R6とする。顔が右を向いている場合は、範囲R5の左端から顔幅FwのN82%の幅を有する範囲を眼鏡蔓Jの検出処理範囲R6とする。
ステップS92の処理を終えた場合、CPU21は、検出処理範囲R6における各X座標と、眼鏡蔓Jと推定される画素のY座標とを対応付けたY位置テーブルを算出する(ステップS93)。
図20は、Y位置テーブルの算出方法を概念的に示す説明図である。まずCPU21は、検出処理範囲R6の左端においてY方向に並ぶ複数の画素から眼鏡蔓Jと推定される画素を特定し、該画素のY座標を記憶する。以下、CPU21は同様の処理を検出処理範囲R6の左端から右端までX方向へ順次走査し、各Y方向ラインに対して実行する。
より具体的には、図20に示すようにX座標がx1のY方向ラインで各画素について上下の輝度差及び素直方向の微分値を算出する。例えば、Y座標がy1の対象画素についてその上下、つまりY座標がy1+Δyの画素と、Y座標がy1−Δyの画素との輝度差、及び垂直方向における微分値を算出する。そして、前記輝度差が閾値以上であって、垂直方向における微分値が最大の対象画素を眼鏡蔓Jと推定される画素として特定し、該画素のX座標及びY座標(以下、Y位置という)をY位置テーブルに記憶する。Y位置テーブルは、連続する複数のX座標の値と、各X座標に対応するY位置とを対応付けた情報である。
なお、Y位置テーブルを算出する際、ノイズ除去処理を実行すると良い。
図21は、Y位置テーブルに係るノイズ除去方法を概念的に示す説明図である。3本の縦線は眼鏡蔓Jを抽出する処理ラインL1,L2,L3を示しており、CPU21は左側の処理ラインL1から右側の処理ラインL3へ順に眼鏡蔓Jの画素を抽出する。黒色四角印は各ラインL1,L2,L3で眼鏡蔓Jの位置として算出された画素を示しており、白抜き四角印はノイズ除去処理された後の画素を示している。具体的には、CPU21は、処理ラインL2におけるY位置と処理ラインL3におけるY位置との差が第1の所定値以上であって、処理ラインL1におけるY位置と処理ラインL1におけるY位置との差が第2の所定値未満である場合、処理ラインL2における眼鏡蔓画素のY座標を、図21に示すように処理ラインL1におけるY位置と処理ラインL3におけるY位置との中間値に補正する。
図22は、眼鏡蔓Jの左端及び右端の検出方法を概念的に示す説明図である。CPU21は、ステップS93で作成したY位置テーブルを参照して、連続性を有する眼鏡蔓画素を特定し、最長となる連続線の左端点J1及び右端点J2の位置を算出する(ステップS94)。
具体的には、CPU21は、Y位置テーブルを参照して、隣り合うX座標におけるY位置の差が所定閾値以下の場合、連続性ありと判定する。概念的には、水平方向において隣り合う眼鏡蔓画素のY位置の差、例えばX座標がx1の眼鏡蔓画素と、X座標がx1+1の眼鏡蔓画素とのY座標の差が所定閾値以下の場合、各眼鏡蔓画素は連続性があると判定する。
そして、CPU21は、連続性を有する眼鏡蔓画素の群が複数ある場合、連続する画素数が最大の眼鏡蔓画素群を特定し、該眼鏡蔓画素群において最小のX座標及び最大のX座標を眼鏡蔓Jの左端点候補及び右端点候補のX座標として記憶する。但し、左端点候補のX座標と、右端点候補のX座標との差が所定閾値以下の場合、つまり眼鏡蔓Jとしての長さが短すぎる場合、眼鏡蔓J無しと判断する。
眼鏡蔓J無しと判断されずに左端点候補及び右端点候補のX座標が算出された場合、CPU21は、Y位置テーブルを参照し、左端点候補及び右端点候補間のX座標及びY位置を用いて最小自乗法により眼鏡蔓Jの近似直線を算出する(ステップS95)。
そして、CPU21は、左端点候補のX座標から近似直線を用いて左端点候補のY座標を算出し、右端点候補のX座標から近似直線を用いて右端点候補のY座標を算出する(ステップS96)。
次いで、CPU21は、眼鏡蔓Jの候補を評価し、眼鏡蔓Jの左端点候補及び右端点候補が所定条件を満たした場合、眼鏡蔓Jの左端点J1及び右端点J2であると判断し、左右端点候補の座標を左端点J1及び右端点J2の座標として決定し、記憶する(ステップS97)。第1の所定条件は左端点候補及び右端点候補の水平角度が所定角度範囲内であること、第2の所定条件は、近似曲線の残差の平均が所定閾値以下であることである。つまり、眼鏡蔓Jが略直線状であって、水平方向に対す角度が眼鏡蔓Jとして自然な範囲内にあるか否かを判定する。
次にステップS15に係る第2の眼鏡部品認識の処理内容を具体的に説明する。
図23は、第2の眼鏡部品認識に係るCPUの処理手順を示すフローチャートである。CPU21は、微分フィルタを用いて眼鏡下フレームKを検出し(ステップS111)、眼鏡上フレームIを検出する(ステップS112)。そして、輝度平均値及び輝度の分散値を算出してサングラスであるか否かを判定する(ステップS113)。
次いで、CPU21は左右のフレームについて検出処理を終えたか否かを判定する(ステップS114)。左右のフレームについて検出処理を終えていないと判定した場合(ステップS114:NO)、CPU21は処理をステップS111に戻す。左右のフレームについて検出処理を終えたと判定した場合(ステップS114:YES)、CPU21は、過去の画像データに対するサングラス判定の結果を利用してサングラスを装着しているか否かを判定する総合サングラス判定処理を実行し(ステップS115)、第2の眼鏡部品認識に係る処理を終える。
図24は、第2の眼鏡下フレーム検出に係るCPUの処理手順を示すフローチャートである。CPU21は、眼鏡下フレームKを検出するための検出処理範囲R7を算出する(ステップS131)。
図25は、眼鏡下フレームKの検出処理範囲を概念的に示す説明図である。検出処理範囲R7の水平方向の範囲は、図25(a)に示すように、過去に検出された眼位置を中心として左右に顔幅FwのN9%の範囲である。つまり、検出処理範囲R7の左端のX座標は、眼位置のX座標をExとした場合、Ex−Fw×N9/100、検出処理範囲R7の右端のX座標は、Ex+Fw×N9/100である。
検出処理範囲R7の下端は鼻穴の中点P0から顔幅FwのN10%下側の位置である。つまり検出処理範囲R7の下端のY座標は、中点P0のY座標+Fw×N10/100である。検出処理範囲R7の上端は、眼位置EのY座標Eyである。
検出処理範囲R7を算出した場合、CPU21は、検出処理範囲R7において微分フィルタを用いて微分フィルタ抽出処理を実行する(ステップS132)。図25(b)は、微分フィルタの係数の一例を示している。微分フィルタは、垂直方向において上方から下方へ輝度が高い画像領域、輝度が低い画像領域、輝度が高い画像領域へと変化する下フレーム部分を抽出するフィルタである。CPU21は、一のY方向ラインにおいて検出処理範囲R7の下方から上方へ順に微分フィルタ値を算出し、最初に所定閾値以上になった画素を検出する。微分フィルタ値は、対象画素を中心とした8近傍の8画素にそれぞれ微分フィルタの係数を乗算し、乗算して得た値を加算した数値である。
なお、微分フィルタ処理中、対象画素より1画素上方の画素、例えば対象画素のY座標がy1である場合、Y座標がy1−1の画素の輝度が第1所定輝度以上である場合、外部光源からの光を眼鏡レンズが反射している部分であると判定し、その画素(以下、反射部分画素という)を検出する。第1所定輝度は、例えば255階調で240である。外部光源は、顔認識等の各種目的で運転者を照明するために車内に設置されているLED光源である。
また、微分フィルタ処理開始時の対象画素、つまり検出処理範囲R7の下側部分で対象画素より1画素上方又は1画素下方の画素の輝度が一方でも第2所定輝度以上である場合、顔全体が明るい傾向にあると判断し、第1所定輝度を上げる。例えば第2所定輝度は、256階調で210であり、第1所定輝度を240から250に上げる。上記処理によって、反射部分のより正確な検出が可能になる。
一のY方向ラインに対して上述の処理を終えた場合、CPU21は、検出処理領域R6において左側から右側へ他のY方向ラインに対しても同様の処理を順次実行する。なお、検出処理範囲R7の水平方向の幅に応じて、微分フィルタ処理の対象となるY方向ラインを間引き、最大n個の結果を算出する。nは、処理速度と、判定精度との兼ね合いで適宜設定すれば良い。
図26は、眼鏡下フレームKの下位置を概念的に示す説明図である。
CPU21は、微分フィルタ抽出処理を終えた場合、眼鏡下フレームKの下位置を検出し(ステップS133)、眼鏡下フレーム検出に係る処理を終える。眼鏡下フレームKの下位置は、図26中、×印で示した箇所である。具体的には、ステップS132で複数の画素が検出されている場合、CPU21は、検出されたn個の画素中、各画素のY座標の中間値を下位置のY座標として記憶する。また、CPU21は、検出処理範囲R8の水平方向略中央部のX座標を、下位置のX座標として記憶する。
ステップS132で検出された画素が1つも無い場合、反射部分画素が検出されたか否かを判定する。反射部分画素が検出されていると判定した場合、該反射部分画素のY座標を下位置のY座標として記憶する。なお、反射部分画素が複数ある場合は、最大のY座標を下位置のY座標として記憶する。
下フレームが無い眼鏡Gの場合、眼鏡下フレームKが検出されないが、反射部分が検出されている場合、反射部分に眼鏡Gが存在していると考えられるため、反射部分の最下端を下位置として記憶する。
CPU21は、ステップS132で検出された画素が1つも無く、反射部分画素が検出されてない場合、眼鏡下フレームKが無いと判定して、処理を終える。
なお、n個検出した画素における微分フィルタ値の平均値を算出し、眼鏡下フレームスコアとして記憶する。眼鏡下フレームスコアにより、検出された下位置が眼鏡Gであるか眼であるかを判定することができる。CPU21は、眼鏡下フレームスコアが第1の閾値より大きい場合、眼鏡Gであると判定し、眼鏡下フレームスコアが第1の閾値より小さい第2の閾値未満の場合、眼であると判定する。
図27は、第2の眼鏡上フレーム検出に係るCPUの処理手順を示すフローチャートである。CPU21は、眼鏡上フレームIを検出するための検出処理範囲R8を算出する(ステップS151)。
図28は、眼鏡上フレームIの検出処理範囲R8を概念的に示す説明図である。CPU21は、検出処理範囲R8の水平方向範囲は、図28(a)に示すように下フレームの検出処理範囲R8と同様である。検出処理範囲R8の下端は眼鏡下フレームKの下位置とする。検出処理範囲R8の上端は、眼鏡下フレームKの検出処理範囲R8の上端から更に顔幅Fwの所定数%上側の位置である。
検出処理範囲R8を算出した場合、CPU21は、検出処理範囲R8において微分フィルタを用いて微分フィルタ抽出処理を実行する(ステップS152)。図28(b)は、微分フィルタの係数の一例を示している。微分フィルタは、垂直方向において下方から上方へ輝度が高い画像領域から輝度が低い画像領域へ変化する眼鏡上フレームI部分を抽出するフィルタである。CPU21は、一のY方向ラインにおいて検出処理範囲R8の下方から上方へ順に微分フィルタ値を算出し、最初に所定閾値以上になった画素を検出する。微分フィルタ値は、対象画素を中心とした8近傍の8画素にそれぞれ微分フィルタの係数を乗算し、乗算して得た値を加算した数値である。
一のY方向ラインに対して上述の処理を終えた場合、CPU21は、他のY方向ラインに対しても同様の処理を実行する。なお、検出処理範囲R8の水平方向の幅に応じて、微分フィルタ処理の対象となるY方向ラインを間引き、最大n個の結果を算出する。
図29は、眼鏡上フレームIの上位置を概念的に示す説明図である。
CPU21は、微分フィルタ抽出処理を終えた場合、眼鏡上フレームIの上位置を検出し(ステップS153)、眼鏡上フレーム検出に係る処理を終える。眼鏡上フレームIの上位置は、図29中、×印で示した箇所である。具体的には、ステップS152で複数の画素が検出されている場合、CPU21は、検出されたn個の画素中、各画素のY座標の中間値を上位置のY座標として記憶する。また、CPU21は、検出処理範囲R8の水平方向略中央部のX座標を、上位置のX座標として記憶する。
図30は、サングラスの判定に係るCPUの処理手順を示すフローチャート、図31は、サングラスの判定方法を概念的に示す説明図である。CPU21は、現フレームにおいてサングラスであるか否かの判定結果を示すサングラスフラグをオフにする(ステップS171)。そして、CPU21は、サングラス処理範囲内の輝度平均及び輝度の分散値を算出する(ステップS172)。サングラス処理範囲の上下は、眼鏡上フレームIの上位置I4及び下フレームの下位置K1であり、サングラス処理範囲の左右は眼鏡下フレームKの処理範囲と同様である。
次いで、CPU21は、輝度平均値が閾値以下であるか否かを判定する(ステップS173)。輝度平均値が閾値以下であると判定した場合(ステップS173:YES)、CPU21は、輝度値の分散値が閾値以下であるか否かを判定する(ステップS174)。閾値以下であると判定した場合(ステップS174:YES)、CPU21は、サングラスフラグをオンにしてサングラスフラグの値を記憶する(ステップS175)。
ステップS175の処理を終えた場合、輝度平均値が閾値より大きいと判定した場合(ステップS173:NO)、分散値が閾値より大きいと判定した場合(ステップS174:NO)、CPU21は、眼鏡Gの左右両側のサングラス判定を実行したか否かを判定する(ステップS176)。左右両側又はいずれか一方のサングラス判定を実行していないと判定した場合(ステップS176:NO)、CPU21は処理をステップS171に戻す。左右両側のサングラス判定を実行したと判定した場合、CPU21はサングラス判定に係る処理を終える。
図32は、サングラス総合判定に係るCPUの処理手順を示すフローチャートである。CPU21は、過去の所定数フレームのサングラスフラグを読み出す(ステップS191)。そして、CPU21は所定数フレーム中、閾値以上のフレーム数においてサングラスフラグがオンであるか否かを判定する(ステップS192)。閾値以上のフレームでオンであると判定した場合(ステップS192:YES)、サングラスの有無を総合的に判断した結果を示す総合サングラスフラグをオンにし(ステップS193)、サングラス総合判定に係る処理を終える。閾値未満のフレーム数でオンであると判定した場合(ステップS192:NO)、CPU21は、総合サングラスフラグをオフにし(ステップS194)、サングラス総合判定に係る処理を終える。
サングラスフラグが示す1フレームのみの結果では、瞬間的な輝度変化、手の進入等によってサングラスを誤認識する虞があるが、複数フレームでのサングラス判定結果を用いて総合的に判定することにより、上述のような誤認識を防止することができる。
第2の眼鏡部品認識に係る処理を終えた場合、図2に示すようにCPU21は、眼鏡学習、眼鏡判定処理を実行する(ステップS16)。
具体的には、CPU21は、眼鏡蔓J、眼鏡上フレームI、眼鏡下フレームK、眼鏡ブリッジHの検出の成否、及び各眼鏡部品の位置を記録する。
また、CPU21は、過去の所定数フレームにおける各眼鏡部品の取得率、即ち検出の成功率を算出し、HD23に記録する。眼鏡部品の取得率は、各眼鏡部品毎に算出する。眼鏡Gによっては、眼鏡下フレームKが検出されないが、眼鏡ブリッジHは検出できるような場合が存在するからである。
そして、CPU21は、各眼鏡部品の取得率に基づいて眼鏡Gの有無を判定する。例えば、取得率が所定取得率以上の眼鏡部品が一つ以上ある場合、眼鏡G有りと判定する。また、顔が横向きの場合、眼鏡蔓Jの取得率を用いて眼鏡Gの有無を判定し、顔が正面向きの場合、眼鏡ブリッジの取得率を用いて眼鏡Gの有無を判定するように構成しても良い。
次に、図2に示すステップS18,19の処理内容を説明する。
CPU21は、ステップS16で眼鏡G有りと判定されている場合、眼鏡部品の領域を除外して探索領域を設定する。
図33は、眼の探索領域から眼鏡部品の領域を除外した状態を概念的に示す説明図である。例えば、CPU21は、眼の探索領域として顔領域R0を設定するような場合、該探索領域から各眼鏡部品の領域を除外した画像領域を探索領域として設定する。眼鏡ブリッジHの領域は、例えば、眼鏡ブリッジHの左端点H1と右端点H2とを結ぶ直線から上下に所定幅を有する画像領域である。眼鏡上フレームIの領域は、眼鏡上フレームIの上位置I4を中心として上下に所定幅を有し、水平方向範囲は、検出処理領域R7と同様である。眼鏡下フレームKの領域は、眼鏡下フレームKの下位置を中心として上下に所定幅を有し、水平方向範囲は検出処理領域R7と同様である。眼鏡蔓Jの領域は、眼鏡蔓Jの左端点J1及び右端点J2を頂点とする矩形領域である。
なお、眼鏡上フレームIの領域を、第2の眼鏡部品認識処理によって検出した座標に基づいて算出しているが、第1の眼鏡部品認識処理によって検出した座標に基づいて算出するように構成しても良い。
そして、CPU21は、眼鏡部品が除外された探索領域内でテンプレートマッチング等によって眼を検出する。また、垂直方向に輝度が高低変化する上瞼又は下瞼をエッジフィルタ処理によって検出することで眼を検出しても良い。
眼の探索領域から眼鏡部品の領域を除外することにより、眼鏡部品を眼の瞼と誤検出することを防止することができる。
次に、ステップS20の眼の再検出処理について説明する。
図34は、眼の再検出に係るCPUの処理手順を示すフローチャートである。まず、CPU21は、眼鏡蔓Jの位置を基準とした探索領域Sを設定し、眼の再検出処理を実行する(ステップS211)。眼鏡蔓Jに対する探索領域Sの相対距離は顔幅Fwに比例し、その探索領域Sの寸法も顔幅Fwに比例するように設定される。
以下、ステップS211の処理内容を具体的に説明する。
図35は、眼鏡蔓Jの検出結果を用いた眼の再検出に係るCPUの処理手順を示すフローチャート、図36は、眼鏡蔓Jの位置を基準として設定された探索領域を概念的に示す説明図である。CPU21は、顔幅Fwを算出し(ステップS231)、顔幅Fwに基づいて眼推定領域の縦幅Shを算出する(ステップS232)。また、CPU21は、顔幅Fwに基づいて眼推定領域の横幅Swを算出する(ステップS233)。眼推定領域の横幅Sw及び縦幅Shは、顔幅Fwに比例する。
そして、CPU21は、眼鏡蔓Jの左端点J1より眼推定領域の横幅SwのW11%左側の位置を、探索領域Sの右端のX座標として設定する(ステップS234)。眼鏡蔓Jの左端点J1のX座標をJ1xとした場合、探索領域Sの右端のX座標は、J1x−Sw×W11/100で表される。
次いで、CPU21は、眼鏡蔓Jの左端点J1より眼推定領域の横幅SwのW12%左側の位置を、探索領域Sの左端のX座標として設定する(ステップS235)。探索領域Sの左端のX座標は、J1x−Sw×W12/100で表される。
次いで、CPU21は、眼鏡蔓Jの左端点J1より眼推定領域の縦幅ShのH11%下側の位置を、探索領域Sの上端のX座標として設定する(ステップS236)。眼鏡蔓Jの左端点J1のY座標をJ1yとした場合、探索領域Sの上端のY座標は、J1y+Sh×H11/100で表される。
次いで、CPU21は、眼鏡蔓Jの左端点J1より眼推定領域の縦幅ShのH12%下側の位置を探索領域Sの下端のY座標として設定する(ステップS237)。探索領域Sの下端のY座標は、J1y+Sh×H12/100で表される。
そして、CPU21は、図36に示すように設定された探索領域Sから眼を検出し(ステップS228)、眼鏡蔓Jの検出結果を用いた眼の再検出に係る処理を終える。
図34に示すように眼鏡蔓Jに係る眼の再検出処理を終えた場合、眼鏡ブリッジHが検出されているとき、CPU21は、過去にHD23に記録した眼鏡部品、顔部位及び眼位置と、現フレームで検出された眼鏡ブリッジH、顔部位の位置関係とに基づいて探索領域を設定し、眼の再検出処理を実行する(ステップS212)。
以下、ステップS212の処理内容を具体的に説明する。
図37は、眼鏡ブリッジHの検出結果を用いた眼の再検出に係るCPUのフローチャート、図38は、眼鏡ブリッジHの検出結果を用いて設定された探索領域を概念的に示す説明図である。
まず、CPU21は過去に登録、つまりHD23に記録された眼鏡ブリッジH、両眼、及び鼻穴の位置座標を読み出す(ステップS251)。
次いで、CPU21は、図38(a)に示すように登録されている眼鏡ブリッジH、両眼及び鼻穴の位置関係と、現フレームの画像データから検出された眼鏡ブリッジH及び鼻穴の位置関係とに基づいて、現フレームにおける眼の再検出位置Eの座標(Ex,Ey)を算出する(ステップS252)。顔の位置、向き等が変化している場合であっても、登録されている各部の位置関係と、現フレームにおける各部との間には一定の関係がある。そこで、CPU21は、登録されている各部の座標を現フレームにおける各部の座標に変換する変換式を算出する。CPU21は、算出された変換式と、登録されている両眼の位置とを用いて、現フレームにおける眼位置を再検出位置の座標として算出する。
次いで、CPU21は、顔幅Fwを算出し(ステップS253)、顔幅Fwに基づいて眼推定領域の縦幅Shを算出する(ステップS254)。また、CPU21は、顔幅Fwに基づいて眼推定領域の横幅Swを算出する(ステップS255)。眼推定領域の横幅Sw及び縦幅Shは、顔幅Fwに比例する。
次いで、CPU21は、図38(b)に示すように、CPU21は、再検出位置Eより眼推定領域の横幅SwのW13%右側の位置を、探索領域の右端のX座標として設定し(ステップS256)、W13%左側の位置を、探索領域の左端のX座標として設定する(ステップS257)。探索領域の右端のX座標は、Ex+Sw×W13/100で表され、左端のX座標は、J1x−Sw×W13/100で表される。
次いで、CPU21は、再検出位置Eyより眼推定領域の縦幅ShのH13%上側の位置を、探索領域の上端のY座標として設定し(ステップS258)、H13%下側の位置を探索領域の下端のY座標として設定する(ステップS259)。探索領域の上端のY座標は、Ey−Sh×H13/100で表され、探索領域の下端のY座標は、Ey+Sh×H13/100で表される。
そして、CPU21は、図38(b)に示すように設定された探索領域から眼を検出し(ステップS260)、眼鏡ブリッジHの検出結果を用いた眼の再検出に係る処理を終える。
図34に示すように眼鏡ブリッジHに係る眼再検出の処理を終えた場合、眼鏡上フレームIが検出されているとき、CPU21は、眼鏡部品及び顔部位の学習結果と、現フレームで検出された眼鏡上フレームI、顔部位の位置関係とに基づいて探索領域を設定し、眼の再検出処理を実行する(ステップS213)。
図39は、眼鏡上フレームIの検出結果を用いて設定された探索領域を概念的に示す説明図である。処理内容は、眼鏡ブリッジHに係る眼の再検出処理と同様であり、眼鏡ブリッジHの位置の代わりに眼鏡上フレームIの位置を用いてステップS251〜259と同様の処理を実行する。
まず、CPU21は過去に登録された眼鏡上フレームI、両眼、及び鼻穴の位置を読み出す。特にCPU21は、運転者が正面側を向いている場合の眼鏡ブリッジH、両眼及び鼻穴の位置を読み出す。
そして、図39(a)に示すように登録されている眼鏡上フレームI、両眼及び鼻穴の位置関係と、現フレームの画像データから検出された眼鏡上フレームI及び鼻穴の位置関係とに基づいて、現フレームにおける眼の再検出位置Eの座標(Ex,Ey)を算出する。
次いで、再検出位置を中心として左右にSw×W13、上下にSh×H13の広がりを有する領域を、探索領域として設定する。そして、CPU21は、設定された探索領域から眼を再検出する。
眼鏡上フレームIに係る眼再検出の処理を終えた場合、図34に示すようにCPU21は、眼が再検出されたか否かを判定する(ステップS214)。眼が再検出されていないと判定した場合(ステップS214:NO)、CPU21は、眼再検出に係る処理を終える。眼が再検出されたと判定した場合(ステップS214:YES)、CPU21は、ステップS19,211,212,213でそれぞれ検出された眼の位置を評価して、眼位置としてより正しいと推定される方を選択し(ステップS215)、眼再検出に係る処理を終える。例えば、過去の学習結果、両眼の位置関係等から眼の位置の良否を判定する。
このように構成された実施の形態に係る画像処理方法、画像処理装置2、画像処理システム、コンピュータプログラム31、及び記録媒体41によれば、ステップS14,15でCPU21は、眼と誤検出され易い眼鏡部品を検出し、ステップS18、19で該眼鏡部品を除外した探索領域を設定して、探索領域から眼を検出する構成であるため、眼鏡部品を眼と誤検出することを効果的に防止し、眼を正確に検出することができる。
また、ステップS211〜213でCPU21は、眼鏡部品から離隔していて、該眼鏡部品に対する相対距離が顔幅の広/狭に応じて長/短となるように、また寸法も顔幅の広/狭に応じて大/小となるように探索領域を設定する構成であるため、運転者の個人差又は顔の向きに応じた探索領域を設定することができ、眼の位置を正確に検出することができる。
更に、ステップS212、213でCPU21は、過去にHD23に登録した顔部位、眼鏡G位置及び眼の位置と、現フレームの画像から検出された顔部位及び眼鏡部品の位置とを比較することによって、過去の一の画像における眼の位置と現時点の他の画像における探索領域の位置とが対応するように探索領域を設定して眼を検出する構成であるため、運転者の個人差、顔の向きを学習して探索領域を適切に設定することができ、眼の位置を正確に検出することができる。
なお、実施の形態にあっては、該眼鏡部品に対する相対距離が顔幅の広/狭に応じて長/短となるように、また寸法も顔幅の広/狭に応じて大/小となるように探索領域を設定する構成であるが、眼、鼻等の顔部位の幅、複数の顔部位間の幅、例えば2つの眼の間の幅に応じて該眼鏡部品に対する相対距離が長/短し、寸法も前記幅に応じて大/小となるように探索領域を設定しても良い。このように構成した場合も、運転者の個人差又は顔の向きに応じた探索領域を設定することができ、眼の位置を正確に検出することができる。
(付記1)
顔及び眼鏡を含む画像から眼を探索すべき探索領域を設定し、該探索領域から眼の位置を検出する画像処理方法において、
画像から一若しくは複数の顔部位又は顔領域を検出して顔部位、複数の顔部位間又は顔領域の幅を算出するステップと、
画像から眼鏡部品の位置を検出するステップと、
検出された眼鏡部品から離隔していて、前記幅の広/狭に応じて該眼鏡部品に対する相対距離が長/短になるように探索領域を設定するステップと
を有することを特徴とする画像処理方法。
(付記2)
顔及び眼鏡を含む画像から眼を探索すべき探索領域を設定し、該探索領域から眼の位置を検出する画像処理装置において、
画像から一若しくは複数の顔部位又は顔領域を検出して顔部位、複数の顔部位間又は顔領域の幅を算出する領域幅算出手段と、
画像から眼鏡部品の位置を検出する眼鏡部品検出手段と、
検出された眼鏡部品から離隔していて、前記幅の広/狭に応じて該眼鏡部品に対する相対距離が長/短になるように探索領域を設定する設定手段と
を備えることを特徴とする画像処理装置。
(付記3)
前記設定手段は、前記幅が広い場合、眼鏡部品に対する相対距離が長くなるように探索領域を設定し、前記幅が狭い場合、眼鏡部品に対する相対距離が短くなるように探索領域を設定することを特徴とする付記2に記載の画像処理装置。
(付記4)
前記設定手段は、
前記幅に応じた寸法を有する探索領域を設定するようにしてある
ことを特徴とする付記2又は付記3に記載の画像処理装置。
(付記5)
探索領域中に眼鏡部品が含まれた場合、前記眼鏡部品検出手段にて検出された眼鏡部品の領域を探索領域から除外する手段を備える
ことを特徴とする付記2又は付記3に記載の画像処理装置。
(付記6)
時系列で画像を取得するように構成してあり、
各画像から眼以外の顔部位を検出する顔部位検出手段と、
一の画像から検出された顔部位、眼鏡部品及び眼の位置を記憶する記憶手段と
を備え、
前記設定手段は、
他の画像から検出された顔部位及び眼鏡部品の位置、並びに前記記憶手段が記憶している顔部位、眼鏡部品及び眼の位置を比較して、一の画像における眼の位置と他の画像における探索領域の位置とが対応するように探索領域を設定する手段を備える
ことを特徴とする付記2乃至付記5のいずれか一つに記載の画像処理装置。
(付記7)
前記眼鏡部品は、眼鏡ブリッジ、眼鏡フレーム又は眼鏡蔓を含む
ことを特徴とする付記2乃至付記6のいずれか一つに記載の画像処理装置。
(付記8)
顔の向きを検出する顔の向き検出手段を備え、
前記眼鏡部品検出手段は、
前記検出手段が横向きであることを検出した場合、眼鏡蔓を検出するように構成してある
ことを特徴とする付記7に記載の画像処理装置。
(付記9)
眼鏡部品検出手段は、眼鏡ブリッジを検出する眼鏡ブリッジ検出手段を備え、
該眼鏡ブリッジ検出手段は、
第1方向に並ぶ画素の輝度値を積算した輝度積算値を算出し、該第1方向と異なる第2方向における積算値の変化に基づいて、第1方向における眼鏡ブリッジの位置を算出する手段と、
第2方向に並ぶ画素の輝度値を積算した輝度積算値を算出し、第1方向における輝度積算値の変化に基づいて、第2方向における眼鏡ブリッジの位置を算出する手段と
を備えることを特徴とする付記7又は付記8に記載の画像処理装置。
(付記10)
前記眼鏡部品検出手段は、眼鏡フレームを検出する眼鏡フレーム検出手段を備え、
該眼鏡フレーム検出手段は、
ラプラシアンフィルタにて眼鏡フレームのエッジを抽出する手段と、
抽出されたエッジと、検出された眼鏡ブリッジ及び顔領域の端部を含む近似直線又は近似曲線との相関を算出し、該相関に基づいて近似直線又は曲線を特定する手段と
を備えることを特徴とする付記7乃至付記9に記載の画像処理装置。
(付記11)
眼鏡部品検出手段は、眼鏡フレームを検出する眼鏡フレーム検出手段を備え、
該眼鏡フレーム検出手段は、
所定方向に隣接して並ぶ画素の輝度差を算出する手段と、
算出された輝度差及び閾値を比較する比較手段と、
該比較手段の比較結果に基づいて眼鏡フレームの所定方向における位置を算出する手段と
を備えることを特徴とする付記7乃至付記9に記載の画像処理装置。
(付記12)
眼鏡部品検出手段は、眼鏡蔓を検出する眼鏡蔓検出手段を備え、
該眼鏡蔓検出手段は、
所定方向に隣接して並ぶ画素の輝度差を算出する手段と、
算出された輝度差の変化に基づいて眼鏡蔓の位置を算出する手段と
を備えることを特徴とする付記7乃至付記11に記載の画像処理装置。
(付記13)
眼鏡部品を検出するための閾値を記憶する手段と、
前記眼鏡部品検出手段による眼鏡部品の検出率を算出する手段と、
検出された眼鏡部品の検出率に応じて前記閾値を増減させる手段と
を備えることを特徴とする付記2乃至付記12に記載の画像処理装置。
(付記14)
眼鏡部品を基準として所定領域における輝度平均値を算出する手段と、
該所定領域における輝度分散値を算出する手段と、
算出された輝度平均値及び輝度分散値に基づいて、サングラスの有無を判定する手段と
を備え、
サングラス無しと判定された場合、探索領域から眼の位置を検出するように構成してある
ことを特徴とする付記2乃至付記13に記載の画像処理装置。
(付記15)
付記2乃至付記14のいずれか一つに記載の画像処理装置と、
車両の運転者を撮像する撮像装置と
を備え、
前記画像処理装置は、
前記撮像装置が撮像して得た画像から眼の位置を検出するように構成してあることを特徴とする画像処理システム。
(付記16)
コンピュータに、顔及び眼鏡を含む画像から眼を探索すべき探索領域を設定し、該探索領域から眼の位置を検出させるコンピュータプログラムにおいて、
コンピュータに、
画像から一若しくは複数の顔部位又は顔領域を検出して顔部位、複数の顔部位間又は顔領域の幅を算出するステップと、
画像から眼鏡部品の位置を検出するステップと、
検出された眼鏡部品から離隔していて、前記幅の広/狭に応じて該眼鏡部品に対する相対距離が長/短になるように探索領域を設定するステップと
を実行させることを特徴とするコンピュータプログラム。
(付記17)
コンピュータに、顔及び眼鏡を含む画像から眼を探索すべき探索領域を設定し、該探索領域から眼の位置を検出させるコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体において、
コンピュータに、
画像から一若しくは複数の顔部位又は顔領域を検出して顔部位、複数の顔部位間又は顔領域の幅を算出するステップと、
画像から眼鏡部品の位置を検出するステップと、
検出された眼鏡部品から離隔していて、前記幅の広/狭に応じて該眼鏡部品に対する相対距離が長/短になるように探索領域を設定するステップと
を実行させるコンピュータプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
本発明の実施の形態における画像処理システムの構成例を示すブロック図である。 顔及び眼鏡を含む画像から眼を検出するCPUの処理手順を示すフローチャートである。 顔領域の検出方法を概念的に示す説明図である。 鼻の位置検出方法を概念的に示す説明図である。 第1の眼鏡部品認識に係るCPUの処理手順を示すフローチャートである。 眼鏡ブリッジの検出に係るCPUの処理手順を示すフローチャートである。 眼鏡ブリッジの検出に係るCPUの処理手順を示すフローチャートである。 眼鏡ブリッジの検出処理範囲を概念的に示す説明図である。 眼鏡ブリッジの上位置及び下位置の検出方法を概念的に示す説明図である。 眼鏡ブリッジの左右位置候補の検出方法を概念的に示す説明図である。 眼鏡ブリッジの中点、左端点、及び右端点を示す模式図である。 第1の眼鏡上フレーム検出に係るCPUの処理手順を示すフローチャートである。 第1の眼鏡上フレーム検出に係るCPUの処理手順を示すフローチャートである。 眼鏡上フレームの左端点候補、及び右端点候補を概念的に示す説明図である。 眼鏡上フレームの頂点を検出するための検出処理範囲を概念的に示す説明図である。 眼鏡ブリッジの再評価処理方法を説明するための説明図である。 眼鏡上フレームの頂点位置の探索方法を概念的に示す説明図である。 眼鏡蔓の検出に係るCPUの処理手順を示すフローチャートである。 眼鏡蔓の検出処理範囲の算出方法を概念的に示す説明図である。 Y位置テーブルの算出方法を概念的に示す説明図である。 Y位置テーブルに係るノイズ除去方法を概念的に示す説明図である。 眼鏡蔓の左端及び右端の検出方法を概念的に示す説明図である。 第2の眼鏡部品認識に係るCPUの処理手順を示すフローチャートである。 第2の眼鏡下フレーム検出に係るCPUの処理手順を示すフローチャートである。 眼鏡下フレームの検出処理範囲を概念的に示す説明図である。 眼鏡下フレームの下位置を概念的に示す説明図である。 第2の眼鏡上フレーム検出に係るCPUの処理手順を示すフローチャートである。 眼鏡上フレームの検出処理範囲を概念的に示す説明図である。 眼鏡上フレームの上位置を概念的に示す説明図である。 サングラスの判定に係るCPUの処理手順を示すフローチャートである。 サングラスの判定方法を概念的に示す説明図である。 サングラス総合判定に係るCPUの処理手順を示すフローチャートである。 眼の探索領域から眼鏡部品の領域を除外した状態を概念的に示す説明図である。 眼の再検出に係るCPUの処理手順を示すフローチャートである。 眼鏡蔓の検出結果を用いた眼の再検出に係るCPUの処理手順を示すフローチャートである。 眼鏡蔓の位置を基準として設定された探索領域を概念的に示す説明図である。 眼鏡ブリッジの検出結果を用いた眼の再検出に係るCPUのフローチャートである。 眼鏡ブリッジの検出結果を用いて設定された探索領域を概念的に示す説明図である。 眼鏡上フレームの検出結果を用いて設定された探索領域を概念的に示す説明図である。
符号の説明
1 撮像装置
2 画像処理装置
21 CPU
G 眼鏡
H 眼鏡ブリッジ
I 眼鏡上フレーム
J 眼鏡蔓
K 眼鏡下フレーム

Claims (9)

  1. 顔及び眼鏡を含む画像から眼を探索すべき探索領域を設定し、該探索領域から眼の位置を検出する画像処理方法において、
    画像から一若しくは複数の顔部位又は顔領域を検出して顔部位、複数の顔部位間又は顔領域の幅を算出するステップと、
    画像から眼鏡部品の位置を検出するステップと、
    検出された眼鏡部品から離隔していて、前記幅の広/狭に応じて該眼鏡部品に対する相対距離が長/短になるように探索領域を設定するステップと
    を有することを特徴とする画像処理方法。
  2. 顔及び眼鏡を含む画像から眼を探索すべき探索領域を設定し、該探索領域から眼の位置を検出する画像処理装置において、
    画像から一若しくは複数の顔部位又は顔領域を検出して顔部位、複数の顔部位間又は顔領域の幅を算出する領域幅算出手段と、
    画像から眼鏡部品の位置を検出する眼鏡部品検出手段と、
    検出された眼鏡部品から離隔していて、前記幅の広/狭に応じて該眼鏡部品に対する相対距離が長/短になるように探索領域を設定する設定手段と
    を備えることを特徴とする画像処理装置。
  3. 前記設定手段は、
    前記幅に応じた寸法を有する探索領域を設定するようにしてある
    ことを特徴とする請求項2に記載の画像処理装置。
  4. 探索領域中に眼鏡部品が含まれた場合、前記眼鏡部品検出手段にて検出された眼鏡部品の領域を探索領域から除外する手段を備える
    ことを特徴とする請求項2又は請求項3に記載の画像処理装置。
  5. 時系列で画像を取得するように構成してあり、
    各画像から眼以外の顔部位を検出する顔部位検出手段と、
    一の画像から検出された顔部位、眼鏡部品及び眼の位置を記憶する記憶手段と
    を備え、
    前記設定手段は、
    他の画像から検出された顔部位及び眼鏡部品の位置、並びに前記記憶手段が記憶している顔部位、眼鏡部品及び眼の位置を比較して、一の画像における眼の位置と他の画像における探索領域の位置とが対応するように探索領域を設定する手段を備える
    ことを特徴とする請求項2乃至請求項4のいずれか一つに記載の画像処理装置。
  6. 前記眼鏡部品は、眼鏡ブリッジ、眼鏡フレーム又は眼鏡蔓を含む
    ことを特徴とする請求項2乃至請求項5のいずれか一つに記載の画像処理装置。
  7. 顔の向きを検出する顔の向き検出手段を備え、
    前記眼鏡部品検出手段は、
    前記検出手段が横向きであることを検出した場合、眼鏡蔓を検出するように構成してある
    ことを特徴とする請求項6に記載の画像処理装置。
  8. 請求項2乃至請求項のいずれか一つに記載の画像処理装置と、
    車両の運転者を撮像する撮像装置と
    を備え、
    前記画像処理装置は、
    前記撮像装置が撮像して得た画像から眼の位置を検出するように構成してあることを特徴とする画像処理システム。
  9. コンピュータに、顔及び眼鏡を含む画像から眼を探索すべき探索領域を設定し、該探索領域から眼の位置を検出させるコンピュータプログラムにおいて、
    コンピュータに、
    画像から一若しくは複数の顔部位又は顔領域を検出して顔部位、複数の顔部位間又は顔領域の幅を算出するステップと、
    画像から眼鏡部品の位置を検出するステップと、
    検出された眼鏡部品から離隔していて、前記幅の広/狭に応じて該眼鏡部品に対する相対距離が長/短になるように探索領域を設定するステップと
    を実行させることを特徴とするコンピュータプログラム。
JP2007109751A 2007-04-18 2007-04-18 画像処理方法、画像処理装置、画像処理システム及びコンピュータプログラム Active JP4912206B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007109751A JP4912206B2 (ja) 2007-04-18 2007-04-18 画像処理方法、画像処理装置、画像処理システム及びコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007109751A JP4912206B2 (ja) 2007-04-18 2007-04-18 画像処理方法、画像処理装置、画像処理システム及びコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2008269182A JP2008269182A (ja) 2008-11-06
JP4912206B2 true JP4912206B2 (ja) 2012-04-11

Family

ID=40048614

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007109751A Active JP4912206B2 (ja) 2007-04-18 2007-04-18 画像処理方法、画像処理装置、画像処理システム及びコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP4912206B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5359266B2 (ja) * 2008-12-26 2013-12-04 富士通株式会社 顔認識装置、顔認識方法及び顔認識プログラム
CN101477692B (zh) * 2009-02-13 2012-08-22 阿里巴巴集团控股有限公司 图像特征提取方法及装置
JP5293589B2 (ja) * 2009-12-21 2013-09-18 トヨタ自動車株式会社 生体監視装置
JP2012181628A (ja) * 2011-02-28 2012-09-20 Sogo Keibi Hosho Co Ltd 顔検出方法および顔検出装置、ならびに、プログラム
JP6099943B2 (ja) * 2012-11-20 2017-03-22 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム
WO2017130407A1 (ja) * 2016-01-29 2017-08-03 パイオニア株式会社 情報生成装置、情報生成方法、情報生成プログラム及び記録媒体
JP6320661B2 (ja) * 2016-02-18 2018-05-09 三菱電機株式会社 搭乗者検出装置、搭乗者検出システムおよび搭乗者検出方法
DE102016205307A1 (de) * 2016-03-31 2017-10-05 Robert Bosch Gmbh Verfahren und Vorrichtung zum Lokalisieren eines Kopfes eines Fahrzeuginsassen
JP6558387B2 (ja) * 2017-03-14 2019-08-14 オムロン株式会社 画像解析装置、画像解析方法、及び画像解析プログラム
WO2019207721A1 (ja) 2018-04-26 2019-10-31 日本電気株式会社 情報処理装置、制御方法、及びプログラム
JP7331910B2 (ja) * 2018-04-26 2023-08-23 日本電気株式会社 情報処理装置、情報処理方法、及びプログラム
KR102161908B1 (ko) * 2019-01-25 2020-10-05 주식회사 에프에스솔루션 운전자 상태 모니터링 방법 및 장치

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3452685B2 (ja) * 1995-05-10 2003-09-29 三菱電機株式会社 顔画像の処理装置
JP3926507B2 (ja) * 1999-05-28 2007-06-06 沖電気工業株式会社 目位置及び顔位置検出装置
JP2005157648A (ja) * 2003-11-25 2005-06-16 Toyota Motor Corp 運転者認識装置
JP4696571B2 (ja) * 2005-01-27 2011-06-08 日産自動車株式会社 眼位置検出装置

Also Published As

Publication number Publication date
JP2008269182A (ja) 2008-11-06

Similar Documents

Publication Publication Date Title
JP4912206B2 (ja) 画像処理方法、画像処理装置、画像処理システム及びコンピュータプログラム
JP4307496B2 (ja) 顔部位検出装置及びプログラム
US7907752B2 (en) Face center position detecting device, face center position detecting method, and computer-readable medium
JP4845698B2 (ja) 眼部検出装置、眼部検出方法及びプログラム
JP4317465B2 (ja) 顔識別装置、顔識別方法及び顔識別プログラム
JP3926507B2 (ja) 目位置及び顔位置検出装置
JPH0944685A (ja) 顔画像処理装置
JP2008226125A (ja) 瞼検出装置、瞼検出方法、及び、プログラム
US9762773B2 (en) Image processing apparatus and method for increasing sharpness of images
JP2007272435A (ja) 顔特徴抽出装置及び顔特徴抽出方法
WO2017061106A1 (ja) 情報処理装置、画像処理システム、画像処理方法及びプログラム記録媒体
JP2005165984A (ja) 人物顔の頭頂部検出方法及び頭頂部検出システム並びに頭頂部検出プログラム
JP2001043382A (ja) 目追跡装置
JP4989249B2 (ja) 目検知装置、居眠り検知装置及び目検知装置の方法
CN112183502B (zh) 驾驶员的驾驶状态确定方法、计算机存储介质及电子设备
JP2009279186A (ja) 顔検出装置及び顔検出方法
JP4107087B2 (ja) 開閉眼判定装置
JP4082203B2 (ja) 開閉眼判定装置
US20060269128A1 (en) Image correction method and apparatus
JP6098133B2 (ja) 顔構成部抽出装置、顔構成部抽出方法及びプログラム
JP2007072627A (ja) サングラス検出装置及び顔中心位置検出装置
JP4878273B2 (ja) 眼鏡検出装置、画像処理装置、眼鏡検出方法、及び、コンピュータプログラム
JP4996943B2 (ja) 顔特徴点検出装置、顔特徴点検出方法及びプログラム
JP5035139B2 (ja) 眼画像処理装置
JP2008084109A (ja) 目開閉判定装置及び目開閉判定方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110629

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110719

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110915

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: 20120117

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: 20120117

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4912206

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150127

Year of fee payment: 3