JP2936943B2 - 運転者の状態検出装置 - Google Patents
運転者の状態検出装置Info
- Publication number
- JP2936943B2 JP2936943B2 JP5039562A JP3956293A JP2936943B2 JP 2936943 B2 JP2936943 B2 JP 2936943B2 JP 5039562 A JP5039562 A JP 5039562A JP 3956293 A JP3956293 A JP 3956293A JP 2936943 B2 JP2936943 B2 JP 2936943B2
- Authority
- JP
- Japan
- Prior art keywords
- detection
- eyeball
- eye
- open
- 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.)
- Expired - Fee Related
Links
Landscapes
- Emergency Alarm Devices (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Auxiliary Drives, Propulsion Controls, And Safety Devices (AREA)
- Burglar Alarm Systems (AREA)
Description
【0001】
【産業上の利用分野】この発明は、運転者が眼を開いて
いるか、閉じているかを検出して居眠りなどを検出する
運転者の状態検出装置に関する。
いるか、閉じているかを検出して居眠りなどを検出する
運転者の状態検出装置に関する。
【0002】
【従来の技術】従来の車両運転者の状態検出装置として
は、例えば特開平3−194661号公報に記載された
ようなものがある。これは2値化した運転者の顔画像を
用いて、運転者の眼がある範囲を検出領域としてその領
域内で眼の虹彩部を検出することによって、虹彩部の検
出結果から運転者の開閉眼を判定し、運転者の状態を判
定する構成となっており、運転者の居眠りやわき見の検
出に利用可能であるとしている。
は、例えば特開平3−194661号公報に記載された
ようなものがある。これは2値化した運転者の顔画像を
用いて、運転者の眼がある範囲を検出領域としてその領
域内で眼の虹彩部を検出することによって、虹彩部の検
出結果から運転者の開閉眼を判定し、運転者の状態を判
定する構成となっており、運転者の居眠りやわき見の検
出に利用可能であるとしている。
【0003】
【発明が解決しようとする課題】しかしながら、上記従
来の車両運転者の状態検出装置では、眼鏡の着用や影、
あるいは光環境の変化などに起因して2値化の際生じた
ノイズなどにより、実際の眼位置からはずれた部位に検
出領域を設定してしまう恐れがある。一度設定を誤って
しまうと次の光環境の変化などを待たなければ正しい眼
位置の検出ができず、その間正確な開閉眼の検出が行な
えないことになり、そのため実際と合わない状態検出結
果をもたらすこともあり得る。
来の車両運転者の状態検出装置では、眼鏡の着用や影、
あるいは光環境の変化などに起因して2値化の際生じた
ノイズなどにより、実際の眼位置からはずれた部位に検
出領域を設定してしまう恐れがある。一度設定を誤って
しまうと次の光環境の変化などを待たなければ正しい眼
位置の検出ができず、その間正確な開閉眼の検出が行な
えないことになり、そのため実際と合わない状態検出結
果をもたらすこともあり得る。
【0004】とくに居眠り運転を誘発するような高速道
路など比較的長区間にわたり変化の少ない光環境が続く
ところでは、その光環境の変化をきっかけとして修復さ
れるまでの期間が長く、長時間正しい居眠り状態検出が
行なわれない恐れ、例えば「居眠り状態である」という
誤った判断が行なわれ、この状態が続くと運転者に対し
煩わしさを与えるという問題がある。したがって本発明
は、上記問題点に鑑み、的確に開閉眼の検出が確保さ
れ、運転者の状態検出が安定して行なわれるようにした
運転者の状態検出装置を提供することを目的とする。
路など比較的長区間にわたり変化の少ない光環境が続く
ところでは、その光環境の変化をきっかけとして修復さ
れるまでの期間が長く、長時間正しい居眠り状態検出が
行なわれない恐れ、例えば「居眠り状態である」という
誤った判断が行なわれ、この状態が続くと運転者に対し
煩わしさを与えるという問題がある。したがって本発明
は、上記問題点に鑑み、的確に開閉眼の検出が確保さ
れ、運転者の状態検出が安定して行なわれるようにした
運転者の状態検出装置を提供することを目的とする。
【0005】
【課題を解決するための手段】上記課題を解決するため
に本発明は、図1に示すように、運転者の顔画像を入力
する画像入力手段CL1と、該画像入力手段から入力さ
れた顔画像を2値化する2値化手段CL2と、2値化さ
れた画像内で眼球存在領域を定める眼球存在領域設定手
段CL3と、前記眼球存在領域内で開閉眼を検出する開
閉眼検出手段CL4と、該開閉眼検出手段で検出された
開閉眼のパターンに基づいて運転者の状態を判定する運
転者状態判定手段CL5と、前記開閉眼検出手段CL4
の検出結果の変化に基づいて眼球の誤検出を判定する誤
検出判定手段CL6と、前記誤検出の判定に基づいて前
記眼球存在領域を変更する再設定手段CL7とを備える
ものとした。
に本発明は、図1に示すように、運転者の顔画像を入力
する画像入力手段CL1と、該画像入力手段から入力さ
れた顔画像を2値化する2値化手段CL2と、2値化さ
れた画像内で眼球存在領域を定める眼球存在領域設定手
段CL3と、前記眼球存在領域内で開閉眼を検出する開
閉眼検出手段CL4と、該開閉眼検出手段で検出された
開閉眼のパターンに基づいて運転者の状態を判定する運
転者状態判定手段CL5と、前記開閉眼検出手段CL4
の検出結果の変化に基づいて眼球の誤検出を判定する誤
検出判定手段CL6と、前記誤検出の判定に基づいて前
記眼球存在領域を変更する再設定手段CL7とを備える
ものとした。
【0006】
【作用】開閉眼検出手段CL4の検出結果が一定時間以
上変化しないとき、誤検出判定手段CL6が眼球の誤検
出と判定する。再設定手段CL7を通じて位置をずらし
た新たな眼球存在領域が設定され、この中で開閉眼の検
出が行なわれる。こうして、はじめ眼鏡の着用や影など
に起因するノイズなどにより眼球存在領域の設定に誤り
が発生しても、自動的に修復され、正確な開閉眼の検出
が確保されるから、正確、安定に居眠りなどの運転者状
態が検出される。
上変化しないとき、誤検出判定手段CL6が眼球の誤検
出と判定する。再設定手段CL7を通じて位置をずらし
た新たな眼球存在領域が設定され、この中で開閉眼の検
出が行なわれる。こうして、はじめ眼鏡の着用や影など
に起因するノイズなどにより眼球存在領域の設定に誤り
が発生しても、自動的に修復され、正確な開閉眼の検出
が確保されるから、正確、安定に居眠りなどの運転者状
態が検出される。
【0007】
【実施例】図2は本発明の第1の実施例を示すブロック
図である。図示しないインストルメントパネルに設置さ
れ、運転者の顔部分を正面から照射する赤外ストロボ1
と、この赤外ストロボ1の赤外光で照射される顔部分を
撮影する画像入力手段CL1としてのCCDカメラ3
と、前記赤外ストロボ1の発光とCCDカメラ3の画像
入力とのタイミングを合わせるタイミング指令回路5と
を備えている。そして、赤外ストロボ1にタイミング指
令回路5からストロボ発光指令が出力されると、赤外ス
トロボ1が発光して運転者の顔部分を照射し、これと同
時にCCDカメラ3に対し画像入力指令が出力され、赤
外光で照射された顔部分を撮影するようになっている。
図である。図示しないインストルメントパネルに設置さ
れ、運転者の顔部分を正面から照射する赤外ストロボ1
と、この赤外ストロボ1の赤外光で照射される顔部分を
撮影する画像入力手段CL1としてのCCDカメラ3
と、前記赤外ストロボ1の発光とCCDカメラ3の画像
入力とのタイミングを合わせるタイミング指令回路5と
を備えている。そして、赤外ストロボ1にタイミング指
令回路5からストロボ発光指令が出力されると、赤外ス
トロボ1が発光して運転者の顔部分を照射し、これと同
時にCCDカメラ3に対し画像入力指令が出力され、赤
外光で照射された顔部分を撮影するようになっている。
【0008】CCDカメラ3の入力画像は本実施例では
図3に示すように、横(X)方向520画素、縦(Y)
方向500画素からなり、縦方向に顔部分がほぼいっぱ
いになるように画角が調整される。CCDカメラ3で撮
影された入力画像は、A/D変換器7を介して、デジタ
ル量の入力画像データとして画像メモリ9に格納され
る。画像メモリ9には、これに格納された入力画像デー
タに基づいて眼球の存在領域を規定する眼球存在位置規
定回路11が接続されている。 この眼球存在位置規定
回路11で規定された領域内にある画像メモリ9の画像
データを処理して開閉眼の検出を行う開閉眼検出回路1
5が設けられ、これにその開閉眼の検出結果から運転者
の居眠り状態の有無を判定する居眠り判定回路17が接
続されている。居眠り状態の判定結果が出ると警報出力
回路19から警報が発せられる。
図3に示すように、横(X)方向520画素、縦(Y)
方向500画素からなり、縦方向に顔部分がほぼいっぱ
いになるように画角が調整される。CCDカメラ3で撮
影された入力画像は、A/D変換器7を介して、デジタ
ル量の入力画像データとして画像メモリ9に格納され
る。画像メモリ9には、これに格納された入力画像デー
タに基づいて眼球の存在領域を規定する眼球存在位置規
定回路11が接続されている。 この眼球存在位置規定
回路11で規定された領域内にある画像メモリ9の画像
データを処理して開閉眼の検出を行う開閉眼検出回路1
5が設けられ、これにその開閉眼の検出結果から運転者
の居眠り状態の有無を判定する居眠り判定回路17が接
続されている。居眠り状態の判定結果が出ると警報出力
回路19から警報が発せられる。
【0009】さらに開閉眼検出回路15の信号は誤検出
判定回路20にも送られ、居眠り判定回路17における
判定と並行に、誤検出の有無のチェックが行なわれる。
誤検出判定回路20の判定結果は眼球存在位置規定回路
11にフィードバックされ、誤検出である場合には、再
び眼球の存在領域の設定が行なわれる。
判定回路20にも送られ、居眠り判定回路17における
判定と並行に、誤検出の有無のチェックが行なわれる。
誤検出判定回路20の判定結果は眼球存在位置規定回路
11にフィードバックされ、誤検出である場合には、再
び眼球の存在領域の設定が行なわれる。
【0010】次に、上記構成における動作の流れを、図
4のフローチャートにより説明する。 まず、ステップ
S1において、赤外線ストロボ1の発光と同期してCC
Dカメラ3によって運転者の顔部分が撮影され、ステッ
プS2で1フレーム分の入力画像がA/D変換器7でデ
ジタル信号に変換されたうえ画像メモリ9に格納され
る。ステップS3では、画像メモリ9に格納された入力
画像データが眼球存在位置規定回路11に取り込まれ、
所定のしきい値で2値化される。この2値化は顔部分の
明暗をはっきりさせるため、しきい値は眼球を識別して
抽出できるレベルに設定される。すなわち、ビデオ信号
を256階調(0〜255)のデジタルデータに変換し
て、白い部分を「255」、黒い部分を「0」とし、ス
レッシュホールドレベルで2値化して2値化画像(画
素)J(X,Y)を得る。
4のフローチャートにより説明する。 まず、ステップ
S1において、赤外線ストロボ1の発光と同期してCC
Dカメラ3によって運転者の顔部分が撮影され、ステッ
プS2で1フレーム分の入力画像がA/D変換器7でデ
ジタル信号に変換されたうえ画像メモリ9に格納され
る。ステップS3では、画像メモリ9に格納された入力
画像データが眼球存在位置規定回路11に取り込まれ、
所定のしきい値で2値化される。この2値化は顔部分の
明暗をはっきりさせるため、しきい値は眼球を識別して
抽出できるレベルに設定される。すなわち、ビデオ信号
を256階調(0〜255)のデジタルデータに変換し
て、白い部分を「255」、黒い部分を「0」とし、ス
レッシュホールドレベルで2値化して2値化画像(画
素)J(X,Y)を得る。
【0011】次に、ステップS4において、眼球の存在
領域が設定されているかどうかがチェックされる。ここ
で、眼球の存在領域は、図3で点線で示されるようなウ
インドウとされる。以下、眼のウインドウと称するとき
は、その範囲内で眼球の検出や開閉眼の検出が行なわれ
る「眼球存在領域」を指す。眼球存在領域が設定されて
いない場合は、ステップS5およびS6において、眼が
存在する領域の横方向(X方向)の幅と縦方向の(Y方
向)の幅を設定する。この処理の詳細は図5〜図7に示
すフローチャートにより後述する。
領域が設定されているかどうかがチェックされる。ここ
で、眼球の存在領域は、図3で点線で示されるようなウ
インドウとされる。以下、眼のウインドウと称するとき
は、その範囲内で眼球の検出や開閉眼の検出が行なわれ
る「眼球存在領域」を指す。眼球存在領域が設定されて
いない場合は、ステップS5およびS6において、眼が
存在する領域の横方向(X方向)の幅と縦方向の(Y方
向)の幅を設定する。この処理の詳細は図5〜図7に示
すフローチャートにより後述する。
【0012】ステップS4で眼のウインドウが設定され
ていると判断された場合には、ステップS7に進み、開
閉眼の検出が行なわれる。この処理の詳細は図12、図
14に示すフローチャートにより後述する。この後、ス
テップ8において、前ステップで検出された開閉眼パタ
ーンから運転者の居眠り判定が行なわれる。
ていると判断された場合には、ステップS7に進み、開
閉眼の検出が行なわれる。この処理の詳細は図12、図
14に示すフローチャートにより後述する。この後、ス
テップ8において、前ステップで検出された開閉眼パタ
ーンから運転者の居眠り判定が行なわれる。
【0013】ステップ8と並行して、ステップ9では誤
検出判定回路で開閉眼検出データを基に誤検出の判定と
その対応処理がなされる。ここで正しく眼が捉えられて
いると判定されたときは、そのままステップS1に戻
り、次の画像データの処理と居眠りの検出が続けられ
る。ステップ9で正しく眼が捉えられていないと判定さ
れた場合は、この誤検出の判定ステップを通る回数に応
じた再設定処理がなされる。詳細は後述する。
検出判定回路で開閉眼検出データを基に誤検出の判定と
その対応処理がなされる。ここで正しく眼が捉えられて
いると判定されたときは、そのままステップS1に戻
り、次の画像データの処理と居眠りの検出が続けられ
る。ステップ9で正しく眼が捉えられていないと判定さ
れた場合は、この誤検出の判定ステップを通る回数に応
じた再設定処理がなされる。詳細は後述する。
【0014】次に図5、図6は、ステップS5、S5’
における眼のウインドウの横幅設定の詳細を示す。ま
ず、ステップS100で、検索開始点の初期設定が行な
われ、高さ方向の走査Y座標が40にセットされる。こ
れはY=0〜40の範囲内に顔面の最大幅は存在しない
ことを前提として処理時間を短縮するものである。ステ
ップS101では、図7に示されるように、2値化され
た1フレームの画像の中央(X=250)に検索開始ラ
インを設定して、そこから左方向および右方向にそれぞ
れ連続白色画素数WXCLとWXCRとがカウントされ
る。そしてステップS102において、連続白色画素数
が最大のときの左右端X座標XLMおよびXRMが記憶
される。この処理の詳細については図8、図9により後
述する。
における眼のウインドウの横幅設定の詳細を示す。ま
ず、ステップS100で、検索開始点の初期設定が行な
われ、高さ方向の走査Y座標が40にセットされる。こ
れはY=0〜40の範囲内に顔面の最大幅は存在しない
ことを前提として処理時間を短縮するものである。ステ
ップS101では、図7に示されるように、2値化され
た1フレームの画像の中央(X=250)に検索開始ラ
インを設定して、そこから左方向および右方向にそれぞ
れ連続白色画素数WXCLとWXCRとがカウントされ
る。そしてステップS102において、連続白色画素数
が最大のときの左右端X座標XLMおよびXRMが記憶
される。この処理の詳細については図8、図9により後
述する。
【0015】続いてステップS103において、左右の
上記連続白色画素数の和が200より大きいか否かがチ
ェックされる。頭髪や眉、眼球部などの存在により白色
データのの連続が遮断されて上記の和が200以下の場
合には、ステップS104で、左安定カウンタWLCO
Nおよび右安定カウンタWRCON、左安定フラグST
FLGLおよび右安定フラグSTFLGRがクリアさ
れ、ステップS101へ戻って次の検索ラインの走査に
移る。
上記連続白色画素数の和が200より大きいか否かがチ
ェックされる。頭髪や眉、眼球部などの存在により白色
データのの連続が遮断されて上記の和が200以下の場
合には、ステップS104で、左安定カウンタWLCO
Nおよび右安定カウンタWRCON、左安定フラグST
FLGLおよび右安定フラグSTFLGRがクリアさ
れ、ステップS101へ戻って次の検索ラインの走査に
移る。
【0016】ステップS103で左右の連続白色画素数
の和が200より大きい場合には、ステップS105に
進んで、左側端点検出フラグOKFGLがセットされて
いるか否かが調べられ、セットされている場合はステッ
プS120以降の右端検索処理へ移る。左側端点検出フ
ラグOKFGLがセットされていない場合は、ステップ
S106に進み、連続白色画素数WXCLと直前の走査
ラインにおける連続数MAELの差が10より小さいか
がチェックされる。
の和が200より大きい場合には、ステップS105に
進んで、左側端点検出フラグOKFGLがセットされて
いるか否かが調べられ、セットされている場合はステッ
プS120以降の右端検索処理へ移る。左側端点検出フ
ラグOKFGLがセットされていない場合は、ステップ
S106に進み、連続白色画素数WXCLと直前の走査
ラインにおける連続数MAELの差が10より小さいか
がチェックされる。
【0017】WXCLとMAELの差が10未満なら
ば、現走査ラインは直前走査ラインの連続数との差が小
さい安定候補部とされ、ステップS107で左安定カウ
ンタWLCONがカウントアップされ、ステップS10
8およびS109で、安定候補部の中での連続白色画素
数が最大のときのX座標がX1 、最小のときのX座標が
X2 として記憶される。そしてステップS110で、左
安定カウンタWLCONが10を越え、かつX1 とX2
の差が30より小さいかがチェックされる。この条件が
満足されていれば、ステップS111、S112で左安
定フラグのSTFLGLがセットされ、今回の左の連続
白色画素数WXCLが新たにMAELの値とされる。
ば、現走査ラインは直前走査ラインの連続数との差が小
さい安定候補部とされ、ステップS107で左安定カウ
ンタWLCONがカウントアップされ、ステップS10
8およびS109で、安定候補部の中での連続白色画素
数が最大のときのX座標がX1 、最小のときのX座標が
X2 として記憶される。そしてステップS110で、左
安定カウンタWLCONが10を越え、かつX1 とX2
の差が30より小さいかがチェックされる。この条件が
満足されていれば、ステップS111、S112で左安
定フラグのSTFLGLがセットされ、今回の左の連続
白色画素数WXCLが新たにMAELの値とされる。
【0018】ステップS106で連続白色画素数WXC
Lと前の走査での連続MAELの差が10以上であると
きには、輪郭線の連続性が失われた可能性があると判断
され、ステップS113〜S119の処理へ進む。ここ
では、連続白色画素数WXCLが大きく変化したのが眉
などの存在によるためか、輪郭線の途切れなのかがその
連続白色画素数の変化と安定部分の有無によって判断さ
れる。
Lと前の走査での連続MAELの差が10以上であると
きには、輪郭線の連続性が失われた可能性があると判断
され、ステップS113〜S119の処理へ進む。ここ
では、連続白色画素数WXCLが大きく変化したのが眉
などの存在によるためか、輪郭線の途切れなのかがその
連続白色画素数の変化と安定部分の有無によって判断さ
れる。
【0019】まずステップS113では、連続白色画素
数が大きく変化する前に安定部分が存在していたかどう
かが左安定フラグSTFLGLにより調べられる。ST
FLGLがセットされていた場合は、ステップS114
で連続白色画素数が増加方向に変化したのかがチェック
される。連続白色画素数WXCLが増加しているとき
は、輪郭線が途切れたものと判断され、ステップS11
5において、先のステップS108で記憶されたX1 が
顔の左端とされる。
数が大きく変化する前に安定部分が存在していたかどう
かが左安定フラグSTFLGLにより調べられる。ST
FLGLがセットされていた場合は、ステップS114
で連続白色画素数が増加方向に変化したのかがチェック
される。連続白色画素数WXCLが増加しているとき
は、輪郭線が途切れたものと判断され、ステップS11
5において、先のステップS108で記憶されたX1 が
顔の左端とされる。
【0020】一方、連続白色画素数が大きく変化する前
に安定部分が存在していなかった場合や、安定部分が存
在していても連続白色画素数の変化が減少方向であった
場合には、輪郭線が途切れた部分から輪郭線のある部分
の走査に移ったか、あるいは眉や眼、あるいは眼鏡部分
などを検出したものと判断される。そこでこのときに
は、それぞれステップS116に進んで、今回の走査の
連続白色画素数が、前回の走査の連続白色画素数より5
0以上減少しているかがチェックされる。そして、MA
ELとWXCLの差が50より大きいときは、輪郭線が
途切れた部分から輪郭線のある部分の走査に移ったもの
として、ステップS118で今回の走査の連続白色画素
数WXCLで決まる左端点X座標が顔の左端とされる。
に安定部分が存在していなかった場合や、安定部分が存
在していても連続白色画素数の変化が減少方向であった
場合には、輪郭線が途切れた部分から輪郭線のある部分
の走査に移ったか、あるいは眉や眼、あるいは眼鏡部分
などを検出したものと判断される。そこでこのときに
は、それぞれステップS116に進んで、今回の走査の
連続白色画素数が、前回の走査の連続白色画素数より5
0以上減少しているかがチェックされる。そして、MA
ELとWXCLの差が50より大きいときは、輪郭線が
途切れた部分から輪郭線のある部分の走査に移ったもの
として、ステップS118で今回の走査の連続白色画素
数WXCLで決まる左端点X座標が顔の左端とされる。
【0021】以上のようにしてステップS115、また
はステップS118において顔の左端が設定されたとき
は、それぞれステップS119で左側端点検出フラグO
KFGLがセットされてステップS120へ進む。ま
た、ステップS116においてMAELとWXCLの差
が50以下のときには、眉や眼、あるいは眼鏡部分、そ
の他大きな陰影のある部分を検出したものとして、ステ
ップS117でX1 、X2 、WLCON、およびSTF
LGLがクリアされ、ステップS112で今回の連続白
色画素数WXCLが新たにMAELの値とされる。
はステップS118において顔の左端が設定されたとき
は、それぞれステップS119で左側端点検出フラグO
KFGLがセットされてステップS120へ進む。ま
た、ステップS116においてMAELとWXCLの差
が50以下のときには、眉や眼、あるいは眼鏡部分、そ
の他大きな陰影のある部分を検出したものとして、ステ
ップS117でX1 、X2 、WLCON、およびSTF
LGLがクリアされ、ステップS112で今回の連続白
色画素数WXCLが新たにMAELの値とされる。
【0022】ステップS120およびS121では、上
記画像の左側におけるステップS105〜S119と同
様にして、右側顔画像について輪郭線途切れ判断と輪郭
線が途切れた際の顔の右端設定が行なわれる。
記画像の左側におけるステップS105〜S119と同
様にして、右側顔画像について輪郭線途切れ判断と輪郭
線が途切れた際の顔の右端設定が行なわれる。
【0023】以上の処理がステップS122およびS1
23により、顔面の左右の端点検出フラグOKFGL、
OKFGRの両方ともセットされるか、さもなければ予
め設定された縦方向(Y方向)の検索範囲の走査が終了
する繰り返される。端点検出フラグがセットされた場合
は、左側ではX1 、X2 を端点として、同様に右側では
XX1 、XX2 を端点として眼球存在領域の横幅設定が
終了する。
23により、顔面の左右の端点検出フラグOKFGL、
OKFGRの両方ともセットされるか、さもなければ予
め設定された縦方向(Y方向)の検索範囲の走査が終了
する繰り返される。端点検出フラグがセットされた場合
は、左側ではX1 、X2 を端点として、同様に右側では
XX1 、XX2 を端点として眼球存在領域の横幅設定が
終了する。
【0024】また、両フラグがセットされる前に縦方向
の検索範囲が終了したときは、ステップS124〜S1
27の処理に移る。ここでは、左右の端点検出フラグの
それぞれのセット状態を調べ、セットされていない場合
はステップS102で記憶されたXLMまたはXRM、
すなわち全走査の中で左右それぞれにおける連続白色画
素数が最大のときのX座標が顔の左端または右端の座標
とされる。
の検索範囲が終了したときは、ステップS124〜S1
27の処理に移る。ここでは、左右の端点検出フラグの
それぞれのセット状態を調べ、セットされていない場合
はステップS102で記憶されたXLMまたはXRM、
すなわち全走査の中で左右それぞれにおける連続白色画
素数が最大のときのX座標が顔の左端または右端の座標
とされる。
【0025】上に求められた顔の左右端座標を基に、下
式により眼のウインドウの横方向の幅位置が設定され
る。 X軸センター座標=XC=XLM+((XRM−XL
M)/2) 左眼ウインドウの左側X座標=X1 =XLM 左眼ウインドウの右側X座標=X2 =XC−25 右眼ウインドウの左側X座標=XX1 = XC+25 右眼ウインドウの右側X座標=XX2 =XRM
式により眼のウインドウの横方向の幅位置が設定され
る。 X軸センター座標=XC=XLM+((XRM−XL
M)/2) 左眼ウインドウの左側X座標=X1 =XLM 左眼ウインドウの右側X座標=X2 =XC−25 右眼ウインドウの左側X座標=XX1 = XC+25 右眼ウインドウの右側X座標=XX2 =XRM
【0026】前記のステップS101、S102におけ
る連続白色画素数のカウントと左右端X座標XLM、X
RMの記憶は図8、図9に示す流れで行なわれる。前述
のようにステップS100において、横方向(X方向)
走査の縦方向における開始位置がY=40とされと、次
にステップS202で、横方向の検索開始ラインのX座
標値(=250)が左検索X座標XLおよび右検索X座
標XRにセットされる。このX座標値は、図7に示され
るように、車両運転者がカメラの画角範囲内に存在すれ
ば、確実に顔面部のなかに位置するラインを表わしてい
る。
る連続白色画素数のカウントと左右端X座標XLM、X
RMの記憶は図8、図9に示す流れで行なわれる。前述
のようにステップS100において、横方向(X方向)
走査の縦方向における開始位置がY=40とされと、次
にステップS202で、横方向の検索開始ラインのX座
標値(=250)が左検索X座標XLおよび右検索X座
標XRにセットされる。このX座標値は、図7に示され
るように、車両運転者がカメラの画角範囲内に存在すれ
ば、確実に顔面部のなかに位置するラインを表わしてい
る。
【0027】次に、ステップS203において、右側走
査終了フラグOKRがセットされているか否かが調べら
れる。OKRは後述するステップS207のほか、1本
の走査ラインの終端まで行ったときセットされる。OK
Rがセットされているときには、ステップS211以降
の顔面左端検索に進む。OKRがセットされていない場
合は、ステップS204に進んで、画素J(XR,Y)
が白(255)かどうかがチェックされる。
査終了フラグOKRがセットされているか否かが調べら
れる。OKRは後述するステップS207のほか、1本
の走査ラインの終端まで行ったときセットされる。OK
Rがセットされているときには、ステップS211以降
の顔面左端検索に進む。OKRがセットされていない場
合は、ステップS204に進んで、画素J(XR,Y)
が白(255)かどうかがチェックされる。
【0028】画素J(XR,Y)が白の場合は、ステッ
プS205、S206で右側連続白色画素数WXCR、
および検索X座標XRがそれぞれカウントアップされ
る。ステップS204のチェックで画素J(XR,Y)
が白でない場合には、ステップS207に進んでOKR
がセットされた後、ステップS208で、今まで記憶さ
れていた右側端点の最大値XRMと今回の端点XRが比
較され、XRの方が大きい場合のみ、すなわち図7にお
いてより右側にある場合にのみ、ステップS209にお
いてXRが新たな右端点XRMとされたうえ、ステップ
S211に進む。
プS205、S206で右側連続白色画素数WXCR、
および検索X座標XRがそれぞれカウントアップされ
る。ステップS204のチェックで画素J(XR,Y)
が白でない場合には、ステップS207に進んでOKR
がセットされた後、ステップS208で、今まで記憶さ
れていた右側端点の最大値XRMと今回の端点XRが比
較され、XRの方が大きい場合のみ、すなわち図7にお
いてより右側にある場合にのみ、ステップS209にお
いてXRが新たな右端点XRMとされたうえ、ステップ
S211に進む。
【0029】ステップS211〜S217において、上
記と同様の処理が左側について行なわれる。ここでは、
先のステップS206でカウントアップされるのに対し
て、ステップS214では検索X座標XLがカウントダ
ウンされる点、およびステップS208、S209でよ
り大きいXRがXRMとされるのに対して、ステップS
216およびS217では今回の端点XLが記憶されて
いた左側端点のXLMよりも小さいとき、すなわちより
左側にあるとき、今回のXLが左端点XLMとされる点
が右側における検索と相異している。
記と同様の処理が左側について行なわれる。ここでは、
先のステップS206でカウントアップされるのに対し
て、ステップS214では検索X座標XLがカウントダ
ウンされる点、およびステップS208、S209でよ
り大きいXRがXRMとされるのに対して、ステップS
216およびS217では今回の端点XLが記憶されて
いた左側端点のXLMよりも小さいとき、すなわちより
左側にあるとき、今回のXLが左端点XLMとされる点
が右側における検索と相異している。
【0030】次いで、ステップS221において、走査
終了フラグOKLおよびOKRのセット状態がチェック
される。1本の走査ライン上で、走査がその終端まで済
むか、あるいは連続白色画素の左右端が検出されると、
走査終了フラグがセットされる。OKLおよびOKRが
セットされているときには、ステップS222に進んで
これらのフラグはクリアされ、ステップS223でY座
標値がインクリメントされ、縦方向隣の検索ラインに移
る準備が行なわれる。
終了フラグOKLおよびOKRのセット状態がチェック
される。1本の走査ライン上で、走査がその終端まで済
むか、あるいは連続白色画素の左右端が検出されると、
走査終了フラグがセットされる。OKLおよびOKRが
セットされているときには、ステップS222に進んで
これらのフラグはクリアされ、ステップS223でY座
標値がインクリメントされ、縦方向隣の検索ラインに移
る準備が行なわれる。
【0031】次に、図4のステップS6、S6’の眼の
ウインドウの縦幅設定の詳細を示す。 この処理は眼の
ウインドウのY方向幅座標を検出するもので、左右それ
ぞれの眼について行われる。処理は大きく分けて黒領域
2点の検索処理と、眼鏡の有無検索処理の2つに分かれ
る。
ウインドウの縦幅設定の詳細を示す。 この処理は眼の
ウインドウのY方向幅座標を検出するもので、左右それ
ぞれの眼について行われる。処理は大きく分けて黒領域
2点の検索処理と、眼鏡の有無検索処理の2つに分かれ
る。
【0032】黒領域2点の検索処理では、左眼について
図10に例示するように、鼻の穴の黒い部分の検出を避
けるため、左眼ウインドウの右側X座標X2 から10ド
ット左側、すなわち(X2 −10)を始点とし、この位
置から横方向(X方向)に、(X2 −90)までを検索
範囲としている。 検索は検索開始ラインのY座標YL
から0の間を縦方向上方(Y方向)へ走査し、これが横
方向4ドット毎の間隔で行なわれる。検索開始ライン
(Y=YL)は左右端を決定した走査ラインの下方に設
定される。
図10に例示するように、鼻の穴の黒い部分の検出を避
けるため、左眼ウインドウの右側X座標X2 から10ド
ット左側、すなわち(X2 −10)を始点とし、この位
置から横方向(X方向)に、(X2 −90)までを検索
範囲としている。 検索は検索開始ラインのY座標YL
から0の間を縦方向上方(Y方向)へ走査し、これが横
方向4ドット毎の間隔で行なわれる。検索開始ライン
(Y=YL)は左右端を決定した走査ラインの下方に設
定される。
【0033】右眼に関しては、右眼ウインドウ左側X座
標XX1 から10ドット右側、すなわち(XX1 +1
0)を始点とし、この位置から横方向(X方向)に(X
X1 +90)までが検索範囲とされる。走査は左眼と同
じくY=YL〜0とされ、横方向には4ドット毎の間隔
で行なわれる。
標XX1 から10ドット右側、すなわち(XX1 +1
0)を始点とし、この位置から横方向(X方向)に(X
X1 +90)までが検索範囲とされる。走査は左眼と同
じくY=YL〜0とされ、横方向には4ドット毎の間隔
で行なわれる。
【0034】図11、図12、図13は、上記眼のウイ
ンドウの縦幅設定を、とくに左眼側について示すフロー
チャートである。まず、ステップS301において、1
番目と2番目の黒領域のY座標の最大値(最下点)のメ
モリ変数BY1MAXおよびBY2MAXの値が0にク
リアされるとともに、X方向の検出範囲規定カウンタX
CHECKが(X2 −10)に、Y方向の検索範囲規定
カウンタYCHECKがYLに初期化される。つぎに、
ステップS302で、X方向の検索範囲規定カウンタX
CHECKが(X2 −90)以下か否かがチェックされ
る。これは、検索がX方向にすべて終了したを判別する
ものである。
ンドウの縦幅設定を、とくに左眼側について示すフロー
チャートである。まず、ステップS301において、1
番目と2番目の黒領域のY座標の最大値(最下点)のメ
モリ変数BY1MAXおよびBY2MAXの値が0にク
リアされるとともに、X方向の検出範囲規定カウンタX
CHECKが(X2 −10)に、Y方向の検索範囲規定
カウンタYCHECKがYLに初期化される。つぎに、
ステップS302で、X方向の検索範囲規定カウンタX
CHECKが(X2 −90)以下か否かがチェックされ
る。これは、検索がX方向にすべて終了したを判別する
ものである。
【0035】スタート時においては、未だX方向全ての
検索は終了していないから、ステップS303に進ん
で、1番目の黒領域が検出されたことを示す検出フラグ
FL1、連続黒色画素カウンタBLACK、連続白色画
素カウンタWHITE、1番目の黒領域と2番目の黒領
域との間隔が10ドット以上あることを示すフラグWH
ITEFLおよび1番目の黒領域と2番目の黒領域のそ
れぞれの最大値記憶バッファBY1およびBY2がクリ
アされる。
検索は終了していないから、ステップS303に進ん
で、1番目の黒領域が検出されたことを示す検出フラグ
FL1、連続黒色画素カウンタBLACK、連続白色画
素カウンタWHITE、1番目の黒領域と2番目の黒領
域との間隔が10ドット以上あることを示すフラグWH
ITEFLおよび1番目の黒領域と2番目の黒領域のそ
れぞれの最大値記憶バッファBY1およびBY2がクリ
アされる。
【0036】次に、ステップS304において検索画素
が黒か否かが判別され、黒の場合はステップS305で
連続白色画素カウンタWHITEがクリアされるととも
に、ステップS306で連続黒色画素カウンタBLAC
Kがカウントアップされる。その後、ステップS307
で連続黒色画素カウンタBLACKの値が1か否かをチ
ェックすることにより、黒画素の検出が初めてどうかが
判断される。連続黒色画素カウンタBLACKの値が1
の場合は、ステップS308において、黒領域の最下点
の候補として、Y方向の検索範囲規定カウンタYCHE
CKでカウントされた現Y座標がSETYに記憶され
る。これらの点は図10中に符号「1」で表わされる。
が黒か否かが判別され、黒の場合はステップS305で
連続白色画素カウンタWHITEがクリアされるととも
に、ステップS306で連続黒色画素カウンタBLAC
Kがカウントアップされる。その後、ステップS307
で連続黒色画素カウンタBLACKの値が1か否かをチ
ェックすることにより、黒画素の検出が初めてどうかが
判断される。連続黒色画素カウンタBLACKの値が1
の場合は、ステップS308において、黒領域の最下点
の候補として、Y方向の検索範囲規定カウンタYCHE
CKでカウントされた現Y座標がSETYに記憶され
る。これらの点は図10中に符号「1」で表わされる。
【0037】つぎのステップS309では、黒画素連続
カウンタBLACKの値が2以上であるかどうかがチェ
ックされる。黒画素が2以上の場合は、ステップS31
0で1番目の黒領域を検出したフラグFL1がセットさ
れているか否かが調べられる。ここでフラグFL1がセ
ットされていない場合は、ステップS311に進んで、
1番目の黒領域の最大値記憶バッファBY1にSETY
の値が代入されて保管されるとともに、フラグFL1が
セットされる。そして、ステップS328でY座標YC
がカウントダウンされて、走査ライン上1つ上の画素の
検索に移る。
カウンタBLACKの値が2以上であるかどうかがチェ
ックされる。黒画素が2以上の場合は、ステップS31
0で1番目の黒領域を検出したフラグFL1がセットさ
れているか否かが調べられる。ここでフラグFL1がセ
ットされていない場合は、ステップS311に進んで、
1番目の黒領域の最大値記憶バッファBY1にSETY
の値が代入されて保管されるとともに、フラグFL1が
セットされる。そして、ステップS328でY座標YC
がカウントダウンされて、走査ライン上1つ上の画素の
検索に移る。
【0038】ステップS310でフラグFL1がセット
されている場合には、ステップS312へ進み、1番目
の黒領域と2番目の黒領域の間隔が10ドット以上ある
ことを示すフラグWHITEFLがセットされているか
否かがチェックされる。フラグWHITEFLがセット
されている場合は、2番目の黒領域が検出されたことに
なるので、ステップS313で2番目の黒領域の最大値
記憶バッファBY2にSETYの値が代入され保管され
る。これは、図10において符号「2」で示される。
されている場合には、ステップS312へ進み、1番目
の黒領域と2番目の黒領域の間隔が10ドット以上ある
ことを示すフラグWHITEFLがセットされているか
否かがチェックされる。フラグWHITEFLがセット
されている場合は、2番目の黒領域が検出されたことに
なるので、ステップS313で2番目の黒領域の最大値
記憶バッファBY2にSETYの値が代入され保管され
る。これは、図10において符号「2」で示される。
【0039】ステップS312でフラグWHITEFL
がセットされていない場合には、1番目の黒領域と2番
目の黒領域の間隔が狭く、両者の差が明確でないので、
ステップS314において、黒画素の連続数が50ドッ
トを越えるか否かが調べられる。ここで黒画素の連続数
が50ドットを越えていない場合は、そのままステップ
S328に進んで1つ上の画素の検索に移る。また、黒
画素の連続数が50ドットを越えている場合には、頭髪
が検出されたものとしてステップS315でバッファB
Y2がクリアされる。
がセットされていない場合には、1番目の黒領域と2番
目の黒領域の間隔が狭く、両者の差が明確でないので、
ステップS314において、黒画素の連続数が50ドッ
トを越えるか否かが調べられる。ここで黒画素の連続数
が50ドットを越えていない場合は、そのままステップ
S328に進んで1つ上の画素の検索に移る。また、黒
画素の連続数が50ドットを越えている場合には、頭髪
が検出されたものとしてステップS315でバッファB
Y2がクリアされる。
【0040】一方、先のステップS304において、検
索画素が白であった場合には、ステップS316で連続
黒色画素カウンタBLACKがクリアされたうえ、ステ
ップS317で1番目の黒領域が検出されていることを
示すフラグFL1がセットされているか否かがチェック
される。フラグFL1がセットされていない場合は、未
だ黒領域が1つも検出されていないためステップS32
8を経て1つ上の画素の検索に移る。
索画素が白であった場合には、ステップS316で連続
黒色画素カウンタBLACKがクリアされたうえ、ステ
ップS317で1番目の黒領域が検出されていることを
示すフラグFL1がセットされているか否かがチェック
される。フラグFL1がセットされていない場合は、未
だ黒領域が1つも検出されていないためステップS32
8を経て1つ上の画素の検索に移る。
【0041】フラグFL1がセットされている場合に
は、ステップS318で連続白色画素カウンタWHIT
Eがカウントアップされたうえ、ステップS319で白
画素が10ドット以上連続したかどうかがチェックされ
る。ここで白画素が10ドット以上連続しているときに
は、まず眼と眉の間か、あるいは眼鏡フレームと眼の間
が検出されたものと想定するとともに、ステップS32
0で1番目の黒領域と二番目の黒領域の間隔が10ドッ
ト以上あることを示すフラグWHITEFLがセットさ
れる。白画素が10ドット以上連続していない場合は、
ステップS328を経て1つ上の画素の検索に移る。
は、ステップS318で連続白色画素カウンタWHIT
Eがカウントアップされたうえ、ステップS319で白
画素が10ドット以上連続したかどうかがチェックされ
る。ここで白画素が10ドット以上連続しているときに
は、まず眼と眉の間か、あるいは眼鏡フレームと眼の間
が検出されたものと想定するとともに、ステップS32
0で1番目の黒領域と二番目の黒領域の間隔が10ドッ
ト以上あることを示すフラグWHITEFLがセットさ
れる。白画素が10ドット以上連続していない場合は、
ステップS328を経て1つ上の画素の検索に移る。
【0042】ステップS320の後は、ステップS32
1において、白画素が80ドット以上連続したかどうか
が調べられる。白画素が80ドット以上連続した場合
は、眉毛が検出されたのではなく顔が検出されたものと
して、ステップS322に進み、2番目の黒領域の最大
値記憶バッファBY2がクリアされる。白画素が80ド
ット連続していないときには、ステップS328に進ん
で、Y座標YCがカウントダウンされて1つ上の画素の
検索に移る。
1において、白画素が80ドット以上連続したかどうか
が調べられる。白画素が80ドット以上連続した場合
は、眉毛が検出されたのではなく顔が検出されたものと
して、ステップS322に進み、2番目の黒領域の最大
値記憶バッファBY2がクリアされる。白画素が80ド
ット連続していないときには、ステップS328に進ん
で、Y座標YCがカウントダウンされて1つ上の画素の
検索に移る。
【0043】ステップS311、S313、S315、
あるいはS322を経て1番目と2番目の黒領域の候補
点としてのそれぞれのバッファBY1およびBY2の値
が決定されると、ステップS323、S324におい
て、バッファBY1の値が今までに記憶された1番目の
黒領域値の最大値(最下点)BY1MAXと比較され、
より大きい方がBY1MAXとして記憶される。例え
ば、図10を参照すれば、中央部の「1」の点のY座標
がBY1MAXとして記憶される。続いて、ステップS
325、S326において、バッファBY2の値が今ま
でに記憶された2番目の黒領域の最大値(最下点)BY
2MAXと比較され、より大きい方がBY2MAXとし
て記憶される。図10においては右側の「2」の点のY
座標がBY2MAXとして記憶される。このようにし
て、2点の黒領域の検索により、1番目の黒領域の最下
点BY1MAXと2番目の黒領域の最下点BY2MAX
が決定される。
あるいはS322を経て1番目と2番目の黒領域の候補
点としてのそれぞれのバッファBY1およびBY2の値
が決定されると、ステップS323、S324におい
て、バッファBY1の値が今までに記憶された1番目の
黒領域値の最大値(最下点)BY1MAXと比較され、
より大きい方がBY1MAXとして記憶される。例え
ば、図10を参照すれば、中央部の「1」の点のY座標
がBY1MAXとして記憶される。続いて、ステップS
325、S326において、バッファBY2の値が今ま
でに記憶された2番目の黒領域の最大値(最下点)BY
2MAXと比較され、より大きい方がBY2MAXとし
て記憶される。図10においては右側の「2」の点のY
座標がBY2MAXとして記憶される。このようにし
て、2点の黒領域の検索により、1番目の黒領域の最下
点BY1MAXと2番目の黒領域の最下点BY2MAX
が決定される。
【0044】これに引き続いて、つぎに眼鏡の有無の検
索が行なわれる。ここでは、上記の黒領域の検索におい
て少なくも1番目の黒領域が検出された走査ラインが発
生すると、その走査ラインすなわち縦方向の検索が終了
する毎に、今度は画面中央部の鼻部分をカバーする領域
について横方向に延びる走査ラインが設定されて、眼鏡
を表わす黒領域の存否が検索される。
索が行なわれる。ここでは、上記の黒領域の検索におい
て少なくも1番目の黒領域が検出された走査ラインが発
生すると、その走査ラインすなわち縦方向の検索が終了
する毎に、今度は画面中央部の鼻部分をカバーする領域
について横方向に延びる走査ラインが設定されて、眼鏡
を表わす黒領域の存否が検索される。
【0045】まず、ステップS329において、2番目
の黒領域の最大値記憶バッファBY2の値が0かどうか
がチェックされ、このBY2の値を基にステップS33
0またはS331で眼鏡検出のためのラインのY座標B
YHが求められる。すなわち、2番目の黒領域の最大値
記憶バッファBY2が0で、1番目の黒領域の最大値記
憶バッファBY1だけ値があるときは、 BYH=BY1+10 とし、2番目の黒領域の最大値記憶バッファBY2に値
があるときには、 BYH=(BY1+BY2)/2 とされる。なお、後者のBYHはBY1とBY2間の正
確な中間点である必要はなく、それらの間に位置する点
であれば任意である。
の黒領域の最大値記憶バッファBY2の値が0かどうか
がチェックされ、このBY2の値を基にステップS33
0またはS331で眼鏡検出のためのラインのY座標B
YHが求められる。すなわち、2番目の黒領域の最大値
記憶バッファBY2が0で、1番目の黒領域の最大値記
憶バッファBY1だけ値があるときは、 BYH=BY1+10 とし、2番目の黒領域の最大値記憶バッファBY2に値
があるときには、 BYH=(BY1+BY2)/2 とされる。なお、後者のBYHはBY1とBY2間の正
確な中間点である必要はなく、それらの間に位置する点
であれば任意である。
【0046】このあとステップS332において、黒色
画素の数をカウントする黒色画素カウンタBLACKX
がクリアされ、ステップS333、S334で画素座標
XCおよびYCに初期値X2 、BYHが設定される。ス
テップS335において、画素J(XC,YC)が黒か
否かが調べられ、黒の場合はステップS336で黒色画
素カウンタBLACKXがカウントアップされた後、ま
た黒でないときはそのまま、ステップS337に進む。
ステップS337では、XCがX方向へXC=X2 から
カウントアップされる。
画素の数をカウントする黒色画素カウンタBLACKX
がクリアされ、ステップS333、S334で画素座標
XCおよびYCに初期値X2 、BYHが設定される。ス
テップS335において、画素J(XC,YC)が黒か
否かが調べられ、黒の場合はステップS336で黒色画
素カウンタBLACKXがカウントアップされた後、ま
た黒でないときはそのまま、ステップS337に進む。
ステップS337では、XCがX方向へXC=X2 から
カウントアップされる。
【0047】そして、ステップS338で、図14のよ
うに、画素JがX方向へ検索範囲であるXX1 を越える
まで検索されたかがチェックされ、XCがXX1 を越え
るまで検索横方向走査ライン上の画素検索が繰り返され
る。1本の走査ラインの検索が終了すると、ステップS
339へ進んで、黒色画素カウンタBLACKXの値が
3より小さいかどうかがチェックされる。黒色画素カウ
ンタBLACKXの値が3未満の場合は、眼鏡中央部の
フレームが検出されたものとして、ステップS340で
眼鏡無しカウンタMEGOFFがカウントアップされ
る。
うに、画素JがX方向へ検索範囲であるXX1 を越える
まで検索されたかがチェックされ、XCがXX1 を越え
るまで検索横方向走査ライン上の画素検索が繰り返され
る。1本の走査ラインの検索が終了すると、ステップS
339へ進んで、黒色画素カウンタBLACKXの値が
3より小さいかどうかがチェックされる。黒色画素カウ
ンタBLACKXの値が3未満の場合は、眼鏡中央部の
フレームが検出されたものとして、ステップS340で
眼鏡無しカウンタMEGOFFがカウントアップされ
る。
【0048】これが、X方向検索範囲内のすべての縦方
向走査ラインの検索が終わることに伴なって終了する
と、ステップS341において、眼鏡無しカウンタME
GOFFの値が5を越えているか否かが調べられる。眼
鏡無しカウンタMEGOFFの値が5より大きい場合
は、眼鏡をかけていないものとして、ステップS342
に進む。ステップS342では、1番目に検出した黒領
域のY座標の最下点BY1MAXを基準にして、ウィン
ドウの縦方向(Y方向)の幅を規定するY座標YT、Y
Bが、 YT=BY1MAX−40 YB=BY1MAX+10 に設定される。
向走査ラインの検索が終わることに伴なって終了する
と、ステップS341において、眼鏡無しカウンタME
GOFFの値が5を越えているか否かが調べられる。眼
鏡無しカウンタMEGOFFの値が5より大きい場合
は、眼鏡をかけていないものとして、ステップS342
に進む。ステップS342では、1番目に検出した黒領
域のY座標の最下点BY1MAXを基準にして、ウィン
ドウの縦方向(Y方向)の幅を規定するY座標YT、Y
Bが、 YT=BY1MAX−40 YB=BY1MAX+10 に設定される。
【0049】また、眼鏡無しカウンタMEGOFFの値
が5以下のときには、眼鏡をかけているものとして、ス
テップS343に進む。ここでは2番目に検出した黒領
域のY座標の最下点BY2MAXを基準にして、 YT=BY2MAX−40 YB=BY2MAX+10 に設定される、
が5以下のときには、眼鏡をかけているものとして、ス
テップS343に進む。ここでは2番目に検出した黒領
域のY座標の最下点BY2MAXを基準にして、 YT=BY2MAX−40 YB=BY2MAX+10 に設定される、
【0050】以上の処理が右側の眼についても同様に行
なわれ、それぞれの眼のウインドウが設定される。な
お、右眼側の検索においては、ステップS333ではX
C=XX1 とされる。また、ステップS337、S33
8ではXCがXC=XX1 からカウントダウンされ、検
索範囲はXCがX2 を下回るまでの範囲とされる。
なわれ、それぞれの眼のウインドウが設定される。な
お、右眼側の検索においては、ステップS333ではX
C=XX1 とされる。また、ステップS337、S33
8ではXCがXC=XX1 からカウントダウンされ、検
索範囲はXCがX2 を下回るまでの範囲とされる。
【0051】こうして、顔の幅方向端を用いて左右個別
に眼のウインドウの横幅の範囲を設定するようにしたの
で、顔の向きによって赤外ストロボの照射画像に影が発
生する場合でもその影響が排除される。また、この眼の
ウインドウの縦幅設定では、2点の黒領域を有する範囲
を探索することとし、横に4ドット毎でわずか20回の
縦方向走査を行なうだけで済むことになるから、ウイン
ドウ設定が短時間になされる。
に眼のウインドウの横幅の範囲を設定するようにしたの
で、顔の向きによって赤外ストロボの照射画像に影が発
生する場合でもその影響が排除される。また、この眼の
ウインドウの縦幅設定では、2点の黒領域を有する範囲
を探索することとし、横に4ドット毎でわずか20回の
縦方向走査を行なうだけで済むことになるから、ウイン
ドウ設定が短時間になされる。
【0052】上記のようにして設定された眼のウインド
ウの範囲において、図4のステップS7の開閉眼の検出
が行なわれる。開閉眼の検出においては、2値化した画
像J(X,Y)から眼のウインドウ内に虹彩部分を検出
する処理が行われる。虹彩は、一般に暗い円形領域とし
て観測されるから、この円形領域を検出し、その領域面
積の変化を監視することにより運転者の居眠りの有無な
どの判定のための情報を得る。
ウの範囲において、図4のステップS7の開閉眼の検出
が行なわれる。開閉眼の検出においては、2値化した画
像J(X,Y)から眼のウインドウ内に虹彩部分を検出
する処理が行われる。虹彩は、一般に暗い円形領域とし
て観測されるから、この円形領域を検出し、その領域面
積の変化を監視することにより運転者の居眠りの有無な
どの判定のための情報を得る。
【0053】図15は、虹彩の検出原理を示す説明図で
ある。眼のウインドウ内の任意の点(x,y)を中心と
する半径Rの円を設定し、点(x,y)を中心として放
射状に4つの矩形を設定する。この矩形は、円の内外方
にそれぞれP画素だけ延在するように設定される。そし
て、円より外方の矩形白抜き部の明度値の総和と、円よ
り内方の矩形ハッチング部の明度値の総和との差δを求
める。これを上記任意の点(x,y)においてRmin
〜Rmaxまで行い、差δの最大値を最大明度差Δとし
てこれを記憶する。ウインドウ内の全画素点を中心とし
て順次行い、差δの最大値が上記記憶された最大明度差
Δより大きければ、今回演算された新たなδの最大値を
Δとして記憶する。これは、ウインドウ内に虹彩が存在
するとき、虹彩は他の領域に比べて輝度が低い円形図形
として検出され、虹彩を中心に求められる上記差δが最
大になることを利用している。
ある。眼のウインドウ内の任意の点(x,y)を中心と
する半径Rの円を設定し、点(x,y)を中心として放
射状に4つの矩形を設定する。この矩形は、円の内外方
にそれぞれP画素だけ延在するように設定される。そし
て、円より外方の矩形白抜き部の明度値の総和と、円よ
り内方の矩形ハッチング部の明度値の総和との差δを求
める。これを上記任意の点(x,y)においてRmin
〜Rmaxまで行い、差δの最大値を最大明度差Δとし
てこれを記憶する。ウインドウ内の全画素点を中心とし
て順次行い、差δの最大値が上記記憶された最大明度差
Δより大きければ、今回演算された新たなδの最大値を
Δとして記憶する。これは、ウインドウ内に虹彩が存在
するとき、虹彩は他の領域に比べて輝度が低い円形図形
として検出され、虹彩を中心に求められる上記差δが最
大になることを利用している。
【0054】図16、図17に上記処理のフローが示さ
れる。 まず、ステップS901において、眼のウイン
ドウ内を走査するカウンターx,yの値がそれぞれ1に
リセットされる。 ここに設定された眼のウインドウの
大きさは、x方向Mドット、y方向Nドットとする。つ
ぎにステップS902で、虹彩検出の中心座標の画素J
(x,y)が黒であるか否かが調べられ、黒であるとき
はステップS903に進んで、検出半径RをRminと
されたあと、ステップS904、S905において、Δ
およびpがリセットされる。
れる。 まず、ステップS901において、眼のウイン
ドウ内を走査するカウンターx,yの値がそれぞれ1に
リセットされる。 ここに設定された眼のウインドウの
大きさは、x方向Mドット、y方向Nドットとする。つ
ぎにステップS902で、虹彩検出の中心座標の画素J
(x,y)が黒であるか否かが調べられ、黒であるとき
はステップS903に進んで、検出半径RをRminと
されたあと、ステップS904、S905において、Δ
およびpがリセットされる。
【0055】ステップS906において明度値の差δが
計算される。式中、前半の4項L(x+R+p,y),
L(x,y−R−p),L(x−R−p,y),L
(x,y+R+p)はそれぞれ座標中心(x,y)から
半径(R+p)離れた右、下、左、上の位置の明度を表
わし、式の後半の4項L(x+R−P−1,y),L
(x,y−R+p+1),L(x−R+P+1,y),
L(x,y+R−p−1)はそれぞれ中心座標(x,
y)から半径(R−(p+1))離れた右、下、左、上
の位置の明度を表わしている。
計算される。式中、前半の4項L(x+R+p,y),
L(x,y−R−p),L(x−R−p,y),L
(x,y+R+p)はそれぞれ座標中心(x,y)から
半径(R+p)離れた右、下、左、上の位置の明度を表
わし、式の後半の4項L(x+R−P−1,y),L
(x,y−R+p+1),L(x−R+P+1,y),
L(x,y+R−p−1)はそれぞれ中心座標(x,
y)から半径(R−(p+1))離れた右、下、左、上
の位置の明度を表わしている。
【0056】そして、ステップS907でpを1ずつカ
ウントアップさせながら、ステップS908によりpが
(P−1)になるまで、上記δの計算が繰返される。ス
テップS909、S910では、こうして得られた半径
Rminにおける矩形白抜き部の明度値総和と矩形ハッ
チング部の明度値総和の差δが最大明度差Δと比較さ
れ、δがΔより大きいときはδが新たな最大明度差Δと
される。ここでは最初のサイクルであるから半径Rmi
nにおけるδがそのまま最大明度差Δに入る。
ウントアップさせながら、ステップS908によりpが
(P−1)になるまで、上記δの計算が繰返される。ス
テップS909、S910では、こうして得られた半径
Rminにおける矩形白抜き部の明度値総和と矩形ハッ
チング部の明度値総和の差δが最大明度差Δと比較さ
れ、δがΔより大きいときはδが新たな最大明度差Δと
される。ここでは最初のサイクルであるから半径Rmi
nにおけるδがそのまま最大明度差Δに入る。
【0057】このあと、ステップS911では、半径R
がカウントアップされ、すなわちR=(Rmin+1)
としてステップS905へ戻り、ステップS906が繰
返されて半径(Rmin+1)としたときの矩形領域の
明度差δが求められる。この明度値の差δが第1回目の
半径RminについてのΔよりも大きければ、今回の明
度値の差δが最大明度差Δとされる。これがステップS
912を経て半径Rmaxまで繰返され、任意の点
(x,y)について最大明度差Δが求まる。そして、上
記処理がx=1〜M、y=1〜Nの眼のウインドウ全体
にわたって行なわれ、そのなかで求まる最大明度差のう
ち最大のものが、虹彩の中心についての明度差となる。
がカウントアップされ、すなわちR=(Rmin+1)
としてステップS905へ戻り、ステップS906が繰
返されて半径(Rmin+1)としたときの矩形領域の
明度差δが求められる。この明度値の差δが第1回目の
半径RminについてのΔよりも大きければ、今回の明
度値の差δが最大明度差Δとされる。これがステップS
912を経て半径Rmaxまで繰返され、任意の点
(x,y)について最大明度差Δが求まる。そして、上
記処理がx=1〜M、y=1〜Nの眼のウインドウ全体
にわたって行なわれ、そのなかで求まる最大明度差のう
ち最大のものが、虹彩の中心についての明度差となる。
【0058】開眼時と閉眼時とでは上記虹彩における最
大明度差Δは大きく異なるから、その変化状態を用いて
眼の誤検出の判定が行なわれる。図18は、図4のフロ
ーチャートのステップS9における眼の誤検出の判定と
その対応処理の詳細を示す。眼の誤検出は、求められた
眼のウインドウ内での最大明度差Δの時系列の変化状態
によって行なわれる。 眼が正しく捉えられている場合
は上記のとおり瞬きなどにより最大明度差の変化が発生
することが考えられることから、まずステップS501
において、最大明度差Δの所定の一定時間以上の無変化
の継続がチェックされる。
大明度差Δは大きく異なるから、その変化状態を用いて
眼の誤検出の判定が行なわれる。図18は、図4のフロ
ーチャートのステップS9における眼の誤検出の判定と
その対応処理の詳細を示す。眼の誤検出は、求められた
眼のウインドウ内での最大明度差Δの時系列の変化状態
によって行なわれる。 眼が正しく捉えられている場合
は上記のとおり瞬きなどにより最大明度差の変化が発生
することが考えられることから、まずステップS501
において、最大明度差Δの所定の一定時間以上の無変化
の継続がチェックされる。
【0059】上記所定時間内で最大明度差が変化してい
る場合は、ステップS502で誤検出判定フローカウン
ト値がリセットされて、現在実行されている開閉眼のパ
ターンによる居眠り検出が継続される。またステップS
501で最大明度差Δが一定時間内に変化しない場合に
は、眼球を正しく捉えていないと判断され、ステップS
503以下の誤検出フローに入る。ステップS503で
は、このステップを通過する毎に誤検出判定フローカウ
ンタがカウントされる。ステップS504でこの誤検出
フローに入ったのが何回目かを調べ、初めてこの誤検出
フローに入った場合は、ステップS505に進む。この
ステップ505では、眼のウインドウ設定の基準を上下
入れ替えてウインドウ範囲が補正される。
る場合は、ステップS502で誤検出判定フローカウン
ト値がリセットされて、現在実行されている開閉眼のパ
ターンによる居眠り検出が継続される。またステップS
501で最大明度差Δが一定時間内に変化しない場合に
は、眼球を正しく捉えていないと判断され、ステップS
503以下の誤検出フローに入る。ステップS503で
は、このステップを通過する毎に誤検出判定フローカウ
ンタがカウントされる。ステップS504でこの誤検出
フローに入ったのが何回目かを調べ、初めてこの誤検出
フローに入った場合は、ステップS505に進む。この
ステップ505では、眼のウインドウ設定の基準を上下
入れ替えてウインドウ範囲が補正される。
【0060】これは、眼鏡検出における認識ミスのため
に眼鏡フレームにウインドウが設定された場合や、眉に
ウンンドウが設定されてしまった場合を想定したもので
ある。眼鏡をかけていない運転者については図12のス
テップS342で眼のウインドウの基準座標YBがBY
1を用いて設定されるが、眼鏡をかけていないのに眼鏡
をかけているものと誤って判断された場合はステップS
343でBY2が用いられて設定され、眉などを囲むウ
インドウになってしまう可能性がある。またこの逆の可
能性もあるから、これらの場合にもう一方の候補点に眼
のウインドウの設定基準を切り換え補正して、ずらして
みるものである。
に眼鏡フレームにウインドウが設定された場合や、眉に
ウンンドウが設定されてしまった場合を想定したもので
ある。眼鏡をかけていない運転者については図12のス
テップS342で眼のウインドウの基準座標YBがBY
1を用いて設定されるが、眼鏡をかけていないのに眼鏡
をかけているものと誤って判断された場合はステップS
343でBY2が用いられて設定され、眉などを囲むウ
インドウになってしまう可能性がある。またこの逆の可
能性もあるから、これらの場合にもう一方の候補点に眼
のウインドウの設定基準を切り換え補正して、ずらして
みるものである。
【0061】ステップS505の処理により、図4のメ
インフローで次に取り込む画像データからについては、
補正後の新たな眼のウインドウについて開閉眼の検出が
行なわれる。眼のウインドウが正しく眼を取り込むもの
となった場合は、瞬きなどによる最大明度差Δの変化が
みられるから、ステップS501からステップS502
を経て通常の居眠り検出フローに進む。
インフローで次に取り込む画像データからについては、
補正後の新たな眼のウインドウについて開閉眼の検出が
行なわれる。眼のウインドウが正しく眼を取り込むもの
となった場合は、瞬きなどによる最大明度差Δの変化が
みられるから、ステップS501からステップS502
を経て通常の居眠り検出フローに進む。
【0062】眼のウインドウが補正されても最大明度差
Δの変化が見られないときは、再びステップS503、
S504に進み、今度は誤検出フローに2回以上入るこ
とになりステップS506以下の処理となる。ここで
は、図4のステップS3における画像データの2値化が
不適切のため、眼が消えてしまって眉や髪にウインドウ
が設定された場合や、顔にできる影が十分に取り除けら
れなかったためにその影にウインドウが設定されてしま
った場合が考えられる。そこで、2値化画像の改善を行
なうため、ステップS506では眼のウインドウがクリ
アされ、ステップS507で、ステップS3における画
像データ2値化のためのしきい値の補正量が設定され
る。 2値化しきい値の補正は、画像データの濃度情報
などによりその補正方向を推定し設定される。
Δの変化が見られないときは、再びステップS503、
S504に進み、今度は誤検出フローに2回以上入るこ
とになりステップS506以下の処理となる。ここで
は、図4のステップS3における画像データの2値化が
不適切のため、眼が消えてしまって眉や髪にウインドウ
が設定された場合や、顔にできる影が十分に取り除けら
れなかったためにその影にウインドウが設定されてしま
った場合が考えられる。そこで、2値化画像の改善を行
なうため、ステップS506では眼のウインドウがクリ
アされ、ステップS507で、ステップS3における画
像データ2値化のためのしきい値の補正量が設定され
る。 2値化しきい値の補正は、画像データの濃度情報
などによりその補正方向を推定し設定される。
【0063】このフローにはステップS510が設けら
れて、2値化しきい値の補正が3回行なわれても最大明
度差Δの変化が得られない場合は、ステップS511に
進み、他に原因があるものとしてシステムエラー信号が
発信される。
れて、2値化しきい値の補正が3回行なわれても最大明
度差Δの変化が得られない場合は、ステップS511に
進み、他に原因があるものとしてシステムエラー信号が
発信される。
【0064】以上のように、この実施例によれば、顔の
幅方向端の安定部の有無と連続画素数の変化に基づい
て、輪郭線の連続性を判断するから、顔面の片側から外
光が射し込むなどして顔画像の輪郭線が中断することが
あっても、顔面の端が簡単に特定され、眼球存在領域の
設定が容易である。さらに、顔面の左右端を個別に走査
検出するから、顔面の片側の端が外光の影響などで万一
検出できなくても、反対側の端は確実に検出される利点
がある。そして誤検出をチェックするようにしたから、
万一ノイズなどにより眼球存在領域の設定に誤りが発生
しても、自動的に修復され、正確な開閉眼の検出が確保
される。これにより、正確、安定に居眠りなどの運転者
状態が検出される。
幅方向端の安定部の有無と連続画素数の変化に基づい
て、輪郭線の連続性を判断するから、顔面の片側から外
光が射し込むなどして顔画像の輪郭線が中断することが
あっても、顔面の端が簡単に特定され、眼球存在領域の
設定が容易である。さらに、顔面の左右端を個別に走査
検出するから、顔面の片側の端が外光の影響などで万一
検出できなくても、反対側の端は確実に検出される利点
がある。そして誤検出をチェックするようにしたから、
万一ノイズなどにより眼球存在領域の設定に誤りが発生
しても、自動的に修復され、正確な開閉眼の検出が確保
される。これにより、正確、安定に居眠りなどの運転者
状態が検出される。
【0065】次に、第2の実施例として、メインフロー
のステップS7の開閉眼の検出を、眼球存在領域での眼
球部の連続黒色画素数をY方向に計数して行なうととも
に、その黒色画素数を用いて眼の誤検出を行なうものを
示す。眼球存在領域、すなわち眼のウインドウでの連続
黒色画素数の計数は、左右それぞれの眼について行われ
るが、ここでは左眼側を示す図19を参照して説明す
る。左眼のウインドウの右側X座標X2 を始点とし、こ
の位置から横方向(X方向)にX1 までを範囲とし、検
索開始のY座標YBから縦方向上方(Y方向)に(YB
−50)まで検索され、これが横方向1ドット毎に繰り
返される。また、右眼に関しては右眼のウインドウ左側
X座標XX1 を始点とし、この位置から横方向(X方
向)にXX2 までを範囲とし、検索開始のY座標は右眼
のウインドウ座標設定処理で求められたYB’から縦方
向上方(Y方向)に(YB’−50)までを同様に検索
される。
のステップS7の開閉眼の検出を、眼球存在領域での眼
球部の連続黒色画素数をY方向に計数して行なうととも
に、その黒色画素数を用いて眼の誤検出を行なうものを
示す。眼球存在領域、すなわち眼のウインドウでの連続
黒色画素数の計数は、左右それぞれの眼について行われ
るが、ここでは左眼側を示す図19を参照して説明す
る。左眼のウインドウの右側X座標X2 を始点とし、こ
の位置から横方向(X方向)にX1 までを範囲とし、検
索開始のY座標YBから縦方向上方(Y方向)に(YB
−50)まで検索され、これが横方向1ドット毎に繰り
返される。また、右眼に関しては右眼のウインドウ左側
X座標XX1 を始点とし、この位置から横方向(X方
向)にXX2 までを範囲とし、検索開始のY座標は右眼
のウインドウ座標設定処理で求められたYB’から縦方
向上方(Y方向)に(YB’−50)までを同様に検索
される。
【0066】このY方向検出の詳細フローが図20、図
21に示される。まず、ステップS401において、X
方向の検出範囲の規定カウンタXECHECKがX2
に、また、Y方向の検索範囲規定カウンタYECHEC
KがYBに初期化され、最大連続黒色画素数BLACK
EMAXがクリアされる。次に、ステップS402では
X方向の検索範囲規定カウンタXECHECKがX1 以
下か否かによりX方向へ全て検索したかがチェックされ
る。ここではまだ、X方向全ての検索を終了していない
からステップS403へ進み、新たなX軸の検索を行な
う前に、連続黒色画素を検出したことを示すフラグEB
FL、連続白色画素を検出したことを示すフラグEWF
L、連続黒色画素カウンタBLACKE、連続白色画素
カウンタWHITEEがクリアされる。
21に示される。まず、ステップS401において、X
方向の検出範囲の規定カウンタXECHECKがX2
に、また、Y方向の検索範囲規定カウンタYECHEC
KがYBに初期化され、最大連続黒色画素数BLACK
EMAXがクリアされる。次に、ステップS402では
X方向の検索範囲規定カウンタXECHECKがX1 以
下か否かによりX方向へ全て検索したかがチェックされ
る。ここではまだ、X方向全ての検索を終了していない
からステップS403へ進み、新たなX軸の検索を行な
う前に、連続黒色画素を検出したことを示すフラグEB
FL、連続白色画素を検出したことを示すフラグEWF
L、連続黒色画素カウンタBLACKE、連続白色画素
カウンタWHITEEがクリアされる。
【0067】次のステップS421では、Y軸上の検索
初期値が白色画素であるか否かが調べられる。これが黒
色画素の場合は、眼のウインドウ内の髪などが検出され
たものとし、そのX値でのY方向への走査は中止され、
ステップS418を経て、1ドット間隔の次のX値の走
査ライン上の検索に移る。またステップS422でY方
向の検索が全て終わった場合もステップS418を経て
X方向隣の走査ライン上の検索に移る。
初期値が白色画素であるか否かが調べられる。これが黒
色画素の場合は、眼のウインドウ内の髪などが検出され
たものとし、そのX値でのY方向への走査は中止され、
ステップS418を経て、1ドット間隔の次のX値の走
査ライン上の検索に移る。またステップS422でY方
向の検索が全て終わった場合もステップS418を経て
X方向隣の走査ライン上の検索に移る。
【0068】検索初期画素が白色のときはステップS4
04に進んで、連続白色画素のフラグがセットされてい
るかどうかが調べられる。いま初期設定でフラグEWF
Lがセットされていないときは、該当するドットが黒色
画素か白色画素かのチェックステップS405を経て、
ステップS412に進み、連続黒色画素のフラグEBF
Lのセットの有無がチェックされる。
04に進んで、連続白色画素のフラグがセットされてい
るかどうかが調べられる。いま初期設定でフラグEWF
Lがセットされていないときは、該当するドットが黒色
画素か白色画素かのチェックステップS405を経て、
ステップS412に進み、連続黒色画素のフラグEBF
Lのセットの有無がチェックされる。
【0069】フラグEBFLがセットされていないと
き、ステップS416で連続白色画素カウンタWHIT
EEがカウントアップされる。そして、このカウント値
により連続白色画素が30を越えるまでは毎回連続黒色
画素カウンタBLACKEをクリアしながらステップS
417、S420、S419でY方向上方のドットへ走
査が継続された後、ステップS418を経て次のX軸方
向のライン、すなわち横隣のラインの検索に移る。
き、ステップS416で連続白色画素カウンタWHIT
EEがカウントアップされる。そして、このカウント値
により連続白色画素が30を越えるまでは毎回連続黒色
画素カウンタBLACKEをクリアしながらステップS
417、S420、S419でY方向上方のドットへ走
査が継続された後、ステップS418を経て次のX軸方
向のライン、すなわち横隣のラインの検索に移る。
【0070】新しいラインに移って、ステップS405
でドットが黒色画素のときには、ステップS406に進
んで連続白色画素カウンタWHITEEがクリアされ、
また、ステップS407で連続黒色画素カウンタBLA
CKEがカウントアップされる。この後、ステップS4
08、S409において、BLACKEのカウント値が
2を越していればフラグEBFLがセットされて、1つ
上の画素に移る。これは2ドット以下の黒色画素のノイ
ズを除こうとするものである。
でドットが黒色画素のときには、ステップS406に進
んで連続白色画素カウンタWHITEEがクリアされ、
また、ステップS407で連続黒色画素カウンタBLA
CKEがカウントアップされる。この後、ステップS4
08、S409において、BLACKEのカウント値が
2を越していればフラグEBFLがセットされて、1つ
上の画素に移る。これは2ドット以下の黒色画素のノイ
ズを除こうとするものである。
【0071】ステップS412でフラグEBFLがセッ
トされているときには、ステップS413で連続白色画
素カウンタWHITEEがカウントアップされる。この
後、ステップS414、S415において、WHITE
Eのカウント値が5以上になったときはフラグEWFL
がセットされ、5未満の場合はセットされないままでス
テップS419に進む。
トされているときには、ステップS413で連続白色画
素カウンタWHITEEがカウントアップされる。この
後、ステップS414、S415において、WHITE
Eのカウント値が5以上になったときはフラグEWFL
がセットされ、5未満の場合はセットされないままでス
テップS419に進む。
【0072】ステップS404でフラグEWFLがセッ
トされている場合は、ステップS410に進んで、連続
黒色画素カウンタBLACKEのカウント値と最大連続
黒色画素数BLACKEMAXとが比較される。ここで
X軸の現在のライン上でカウントされたBLACKEが
BLACKEMAXより多いときには、ステップS41
4でBLACKEMAXにBLACKEの値が入れら
れ、またBLACKEがBLACKEMAXより少ない
場合にはBLACKEMAXはそのままで、次の横隣り
の検索に移る。
トされている場合は、ステップS410に進んで、連続
黒色画素カウンタBLACKEのカウント値と最大連続
黒色画素数BLACKEMAXとが比較される。ここで
X軸の現在のライン上でカウントされたBLACKEが
BLACKEMAXより多いときには、ステップS41
4でBLACKEMAXにBLACKEの値が入れら
れ、またBLACKEがBLACKEMAXより少ない
場合にはBLACKEMAXはそのままで、次の横隣り
の検索に移る。
【0073】上記の流れにおけるとくにステップS40
4以降の動作を、図19に例示した眼のウインドウ内の
走査ライン「イ」〜「ヘ」の場合について説明する。 (1)走査ライン「イ」の場合 この眼のウインドウにおける最初の走査ラインであると
して、ステップS404でのチェックでは連続白色画素
のフラグEWFLはまだセットされていないため、ステ
ップS405に進み、該当ドットが黒色画素か白色画素
かが調べられる。ここでは白色画素であるから、ステッ
プS412へ進む。ステップS412において、連続黒
色画素のフラグのセット状態がチェックされる。このと
き当該フラグはセットされておらず、ステップS416
へ進んで連続白色画素カウンタWHITEEのカウント
アップがスタートされる。
4以降の動作を、図19に例示した眼のウインドウ内の
走査ライン「イ」〜「ヘ」の場合について説明する。 (1)走査ライン「イ」の場合 この眼のウインドウにおける最初の走査ラインであると
して、ステップS404でのチェックでは連続白色画素
のフラグEWFLはまだセットされていないため、ステ
ップS405に進み、該当ドットが黒色画素か白色画素
かが調べられる。ここでは白色画素であるから、ステッ
プS412へ進む。ステップS412において、連続黒
色画素のフラグのセット状態がチェックされる。このと
き当該フラグはセットされておらず、ステップS416
へ進んで連続白色画素カウンタWHITEEのカウント
アップがスタートされる。
【0074】そして連続白色画素数が30個を越えるま
では、ステップS417からS420を経てステップS
419に進んで、Y座標がカウントダウンされ、走査ラ
イン上の1つ上の画素の検索に移り同一フローで白色画
素数のカウントアップが繰り返される。 ステップS4
20については後述する。白色画素が30コを越えた場
合は、それ以後現れる黒色画素は眼である可能性が低
く、眉や髪などのカウントを防ぐため、Y方向眼のウイ
ンドウの上縁までの走査がすべて終わっていなくても、
ステップS417からステップS418へ進んで、隣の
ライン検索に移る。この走査ラインでは、開閉眼の判断
に用いる最大連続黒色画素数BLACKEMAXの値は
0のままで、数値が更新されることはない。
では、ステップS417からS420を経てステップS
419に進んで、Y座標がカウントダウンされ、走査ラ
イン上の1つ上の画素の検索に移り同一フローで白色画
素数のカウントアップが繰り返される。 ステップS4
20については後述する。白色画素が30コを越えた場
合は、それ以後現れる黒色画素は眼である可能性が低
く、眉や髪などのカウントを防ぐため、Y方向眼のウイ
ンドウの上縁までの走査がすべて終わっていなくても、
ステップS417からステップS418へ進んで、隣の
ライン検索に移る。この走査ラインでは、開閉眼の判断
に用いる最大連続黒色画素数BLACKEMAXの値は
0のままで、数値が更新されることはない。
【0075】(2)走査ライン「ロ」の場合 ステップ418を経て新たな走査ライン「ロ」の検索に
移ると、ステップS403でフラグおよびカウンタがク
リアされ、ステップS404に進む。ステップS403
でフラグがクリアされているため、走査ライン「イ」の
場合と同様に、ステップS405、ステップS412、
ステップS416、ステップS417、ステップS42
0、およびステップS419の流れで、黒色画素が現れ
るまで、Y座標のカウントダウンと白色画素のカウント
アップが行なわれる。
移ると、ステップS403でフラグおよびカウンタがク
リアされ、ステップS404に進む。ステップS403
でフラグがクリアされているため、走査ライン「イ」の
場合と同様に、ステップS405、ステップS412、
ステップS416、ステップS417、ステップS42
0、およびステップS419の流れで、黒色画素が現れ
るまで、Y座標のカウントダウンと白色画素のカウント
アップが行なわれる。
【0076】そして、少なくとも白色画素が30コを越
える前に黒色画素が現れる。これにより、ステップS4
05から今度はステップS406へ移り、連続白色画素
カウンタWHITEEがクリアされる。次のステップS
407で連続黒色画素カウンタBLACKEのカウント
アップがスタートされ黒色画素が連続するかぎりこのカ
ウントアップが継続される。この間ステップS408に
おいて、ノイズを除くためそのカウント値が2より大き
いかチェックされる。連続黒色画素2ドット以下で白色
画素が現れた場合、次のサイクルでステップS405か
らステップS412、ステップS416、ステップS4
17を経てステップS420に至り、ノイズとしてカウ
ントされた恐れありとして、連続黒色画素カウンタがク
リアされる。
える前に黒色画素が現れる。これにより、ステップS4
05から今度はステップS406へ移り、連続白色画素
カウンタWHITEEがクリアされる。次のステップS
407で連続黒色画素カウンタBLACKEのカウント
アップがスタートされ黒色画素が連続するかぎりこのカ
ウントアップが継続される。この間ステップS408に
おいて、ノイズを除くためそのカウント値が2より大き
いかチェックされる。連続黒色画素2ドット以下で白色
画素が現れた場合、次のサイクルでステップS405か
らステップS412、ステップS416、ステップS4
17を経てステップS420に至り、ノイズとしてカウ
ントされた恐れありとして、連続黒色画素カウンタがク
リアされる。
【0077】検索を続けてステップS408で3ドット
以上の黒色画素が連続したものとなった場合には、ステ
ップS409でフラグEBFLがセットされて、同ライ
ン上の走査が継続される。このあと、黒色画素の連続が
途切れたときには、ステップ405からステップS41
2へ移る。ここではフラグEBFLがセットされている
から、ステップS413に進み、連続白色画素カウンタ
WHITEEのカウントがスタートされる。
以上の黒色画素が連続したものとなった場合には、ステ
ップS409でフラグEBFLがセットされて、同ライ
ン上の走査が継続される。このあと、黒色画素の連続が
途切れたときには、ステップ405からステップS41
2へ移る。ここではフラグEBFLがセットされている
から、ステップS413に進み、連続白色画素カウンタ
WHITEEのカウントがスタートされる。
【0078】次のステップS414では、白色画素の連
続数が5個以上であるかチェックされる。連続数が5個
未満の場合は、ステップS419を経てY座標を上方へ
進みながら同じ流れでWHITEEのカウントアップが
繰り返される。こうして、白色画素の連続が5個以上に
なると、ステップS414からS415に進み、フラグ
EWFLがセットされる。
続数が5個以上であるかチェックされる。連続数が5個
未満の場合は、ステップS419を経てY座標を上方へ
進みながら同じ流れでWHITEEのカウントアップが
繰り返される。こうして、白色画素の連続が5個以上に
なると、ステップS414からS415に進み、フラグ
EWFLがセットされる。
【0079】フラグEWFLセット後、ステップS41
9へ戻って再びY座標がカウントダウンされ1つ上の画
素に移る。今度はフラグEWFLがセットされているか
ら、ステップS404からステップ410へ進み、ステ
ップS407で先にカウントされたBLACKEの連続
黒色画素数と最大連続黒色画素数BLACKEMAXと
が比較される。走査ライン「ロ」ではじめて連続黒色画
素が現われたとすれば、BLACKEMAX=0であっ
たから、ステップS411においてBLACKEMAX
にBLACKEのカウント値が入れられる。
9へ戻って再びY座標がカウントダウンされ1つ上の画
素に移る。今度はフラグEWFLがセットされているか
ら、ステップS404からステップ410へ進み、ステ
ップS407で先にカウントされたBLACKEの連続
黒色画素数と最大連続黒色画素数BLACKEMAXと
が比較される。走査ライン「ロ」ではじめて連続黒色画
素が現われたとすれば、BLACKEMAX=0であっ
たから、ステップS411においてBLACKEMAX
にBLACKEのカウント値が入れられる。
【0080】このようにして、Y軸上の初期値位置から
白色画素の連続が検出され、その後眼の部分にあたる黒
色画素の連続を検出してその黒色画素数がカウントされ
る。その後、また眼の上方側の白色画素が検出されるこ
とにより、眼の縦方向の大きさが認識されることにな
る。
白色画素の連続が検出され、その後眼の部分にあたる黒
色画素の連続を検出してその黒色画素数がカウントされ
る。その後、また眼の上方側の白色画素が検出されるこ
とにより、眼の縦方向の大きさが認識されることにな
る。
【0081】(3)走査ライン「ハ」の場合 2値化されたとき白くなる眼球虹彩部を通るラインの場
合である。虹彩部の白化は、夜間、トンネル内などにお
ける赤外光のみでの画像の場合によく見られる。基本的
な流れは走査ライン「ロ」の場合と同様であるが、連続
黒色画素が検出されて連続黒色画素カウンタBLACK
Eがカウントアップされている途中で、虹彩部の白色画
素により、眼の部分の黒色画素がまだ続くにもかかわら
ず、連続黒色画素のカウントが中断され、連続白色画素
カウンタWHITEEのカウントアップが開始される。
合である。虹彩部の白化は、夜間、トンネル内などにお
ける赤外光のみでの画像の場合によく見られる。基本的
な流れは走査ライン「ロ」の場合と同様であるが、連続
黒色画素が検出されて連続黒色画素カウンタBLACK
Eがカウントアップされている途中で、虹彩部の白色画
素により、眼の部分の黒色画素がまだ続くにもかかわら
ず、連続黒色画素のカウントが中断され、連続白色画素
カウンタWHITEEのカウントアップが開始される。
【0082】しかし、虹彩部では白色画素が5個続く前
に再び黒色画素が現れるので、フラグEWFLがセット
されることなくステップS414からS419へ移り、
中断されていたステップS407でのBLACKEのカ
ウントアップが再開される。この後、眼の上側の白色画
素が検出された後の処理は、走査ライン「ロ」のときと
同じである。
に再び黒色画素が現れるので、フラグEWFLがセット
されることなくステップS414からS419へ移り、
中断されていたステップS407でのBLACKEのカ
ウントアップが再開される。この後、眼の上側の白色画
素が検出された後の処理は、走査ライン「ロ」のときと
同じである。
【0083】(4)走査ライン「ニ」の場合 走査ライン「ロ」の場合と同一である。 ステップS4
07でカウントアップされた連続黒色画素カウンタBL
ACKEの値がより大きくなるから、眼の上側の連続白
色画素の検出のあと、ステップS410、S411にお
いてBLACKEMAXに代入されて、この眼のウイン
ドウにおける最大連続黒色画素数として記憶される。
07でカウントアップされた連続黒色画素カウンタBL
ACKEの値がより大きくなるから、眼の上側の連続白
色画素の検出のあと、ステップS410、S411にお
いてBLACKEMAXに代入されて、この眼のウイン
ドウにおける最大連続黒色画素数として記憶される。
【0084】(5)走査ライン「ホ」の場合 眼以外の例えば眉や髪などの黒領域にかかったラインで
ある。 眉や髪などの黒色画素は少なくとも眼の下にあ
ることはないから、Y方向の走査ライン上の検索が開始
されると、連続白色画素カウンタWHITEEのカウン
トアップが繰り返されて連続白色画素数が30個を越え
てしまう。これにより、ステップS417からS418
へ進んで現在の走査ラインでの検索が中止され、次のX
方向隣の走査ラインの検索に移る。
ある。 眉や髪などの黒色画素は少なくとも眼の下にあ
ることはないから、Y方向の走査ライン上の検索が開始
されると、連続白色画素カウンタWHITEEのカウン
トアップが繰り返されて連続白色画素数が30個を越え
てしまう。これにより、ステップS417からS418
へ進んで現在の走査ラインでの検索が中止され、次のX
方向隣の走査ラインの検索に移る。
【0085】(6)走査ライン「ヘ」の場合 眼のウインドウの左端の髪部分を通るラインの場合であ
る。 この場合、ウインドウの端部における髪部分では
連続黒色画素数が非常に多くなる可能性があるが、その
連続黒色画素の上方に連続白色画素が現れることはない
から、フラグEWFLがセットされることはなく、髪に
よる連続黒色画素カウンタBLACKEの値が大きくな
っても、最大連続黒色画素数BLACKEMAXの値の
置き換えは行なわれない。このため、このライン上の連
続黒色画素が眼球と誤認識されることはない。
る。 この場合、ウインドウの端部における髪部分では
連続黒色画素数が非常に多くなる可能性があるが、その
連続黒色画素の上方に連続白色画素が現れることはない
から、フラグEWFLがセットされることはなく、髪に
よる連続黒色画素カウンタBLACKEの値が大きくな
っても、最大連続黒色画素数BLACKEMAXの値の
置き換えは行なわれない。このため、このライン上の連
続黒色画素が眼球と誤認識されることはない。
【0086】以上のY方向に延びる走査ラインの検索
が、X方向の範囲全部について終了すると、最大連続黒
色画素数BLACKEMAXが眼球の縦方向(Y方向)
の大きさとして得られたことになる。これらの処理では
BLACKEMAXが開眼、閉眼に係わらず検出するこ
とができ、その連続黒色画素の数により開閉眼を認識す
ることが可能である。
が、X方向の範囲全部について終了すると、最大連続黒
色画素数BLACKEMAXが眼球の縦方向(Y方向)
の大きさとして得られたことになる。これらの処理では
BLACKEMAXが開眼、閉眼に係わらず検出するこ
とができ、その連続黒色画素の数により開閉眼を認識す
ることが可能である。
【0087】すなわち、画像の1フレーム毎にステップ
S411で求められる最大連続黒色画素数BLACKE
MAXの最大値MAXと最小値MINを更新記憶して、
MAXとMINを基にしきい値を設定することによっ
て、BLACKEMAXとそのしきい値との比較から開
閉眼の別が検出される。そしてこの開閉眼のパターンに
よって居眠り状態の判定が行なわれる。
S411で求められる最大連続黒色画素数BLACKE
MAXの最大値MAXと最小値MINを更新記憶して、
MAXとMINを基にしきい値を設定することによっ
て、BLACKEMAXとそのしきい値との比較から開
閉眼の別が検出される。そしてこの開閉眼のパターンに
よって居眠り状態の判定が行なわれる。
【0088】次に、図22は眼の誤検出の判定とその対
応処理を示す。まずステップS601において、上に求
められた最大連続黒色画素数BLACKEMAXに所定
の一定時間以上にわたって変化がなかったかどうかがチ
ェックされる。上記所定時間内でBLACKEMAXが
変化している場合は、ステップS602で誤検出判定フ
ローカウント値がリセットされて、現在実行されている
開閉眼のパターンによる居眠り検出が継続される。また
ステップS601でBLACKEMAXが一定時間内に
変化しない場合には、眼球を正しく捉えていないと判断
され、ステップS603以下の誤検出フローに入る。
応処理を示す。まずステップS601において、上に求
められた最大連続黒色画素数BLACKEMAXに所定
の一定時間以上にわたって変化がなかったかどうかがチ
ェックされる。上記所定時間内でBLACKEMAXが
変化している場合は、ステップS602で誤検出判定フ
ローカウント値がリセットされて、現在実行されている
開閉眼のパターンによる居眠り検出が継続される。また
ステップS601でBLACKEMAXが一定時間内に
変化しない場合には、眼球を正しく捉えていないと判断
され、ステップS603以下の誤検出フローに入る。
【0089】初めてこの誤検出フローに入った場合は、
ステップS605に進んで、眼のウインドウ設定の基準
を上下入れ替えてウインドウ範囲が補正される。眼のウ
インドウが補正されても最大連続黒色画素数の変化が見
られないときは、再びステップS603、S604に進
み、今度は誤検出フローに2回以上入ることになりステ
ップS606以下の処理となる。ここでは、眼のウイン
ドウがクリアされ、ステップS607で画像データ2値
化のためのしきい値の補正量が設定される。その他、虹
彩部の明度差に代えて黒色画素数を用いているほかは図
18のフローと同じである。
ステップS605に進んで、眼のウインドウ設定の基準
を上下入れ替えてウインドウ範囲が補正される。眼のウ
インドウが補正されても最大連続黒色画素数の変化が見
られないときは、再びステップS603、S604に進
み、今度は誤検出フローに2回以上入ることになりステ
ップS606以下の処理となる。ここでは、眼のウイン
ドウがクリアされ、ステップS607で画像データ2値
化のためのしきい値の補正量が設定される。その他、虹
彩部の明度差に代えて黒色画素数を用いているほかは図
18のフローと同じである。
【0090】このほか、図4のメインフローにおけるス
テップS7の開閉眼の検出としては、特開平3−202
045号公報に開示されたように、虹彩部を検出するた
め眼球存在領域における暗領域部分の面積を統計的手法
で処理して、運転者の虹彩中心位置を検出するようにし
たものも採用することができる。この場合には、運転開
始時に運転者の眼の大きさに関する個人データが学習さ
れ、これに基づいて開閉眼の判定値の変化領域が限定さ
れる。このため、例えば安全確認あるいはわき見運転、
さらには長時間運転による姿勢の崩れによって、眼球存
在領域から眼が逸脱すると、開閉眼の判定領域を越えた
値が出力されることになる。
テップS7の開閉眼の検出としては、特開平3−202
045号公報に開示されたように、虹彩部を検出するた
め眼球存在領域における暗領域部分の面積を統計的手法
で処理して、運転者の虹彩中心位置を検出するようにし
たものも採用することができる。この場合には、運転開
始時に運転者の眼の大きさに関する個人データが学習さ
れ、これに基づいて開閉眼の判定値の変化領域が限定さ
れる。このため、例えば安全確認あるいはわき見運転、
さらには長時間運転による姿勢の崩れによって、眼球存
在領域から眼が逸脱すると、開閉眼の判定領域を越えた
値が出力されることになる。
【0091】したがってこの際には、上記特性に基づ
き、第3の実施例としてステップ9の誤検出判定対応処
理を図23のフローチャートに示されるものとすること
ができる。すなわち、ここでの眼の誤検出は、暗領域の
面積を内容とする開閉眼の値の変化状態によって行なわ
れ、ステップS801でnがリセットされたあと、まず
ステップS803において、上記開閉眼の値が設定値E
YEminとEYEmaxの間にあるかどうかがチェッ
クされる。ここで、EYEminおよびEYEmaxは
虹彩であることの条件を示す限界値である。
き、第3の実施例としてステップ9の誤検出判定対応処
理を図23のフローチャートに示されるものとすること
ができる。すなわち、ここでの眼の誤検出は、暗領域の
面積を内容とする開閉眼の値の変化状態によって行なわ
れ、ステップS801でnがリセットされたあと、まず
ステップS803において、上記開閉眼の値が設定値E
YEminとEYEmaxの間にあるかどうかがチェッ
クされる。ここで、EYEminおよびEYEmaxは
虹彩であることの条件を示す限界値である。
【0092】開閉眼の値がこの範囲に入っていないとき
には、ステップS804でnがカウントアップされ、同
じ状態が続く間ステップS805によりnが50になる
までカウントアップが継続される。上記カウントアップ
の途中で開閉眼の値が上記設定値範囲に入ったときに
は、この間の上記設定値範囲からの逸脱は安全確認のた
めであったものとして、ステップS803からS802
を経てステップS801へ戻り、nがリセットされる。
一方、nが50までカウントアップされると、眼球を正
しく捉えていないと判断され、ステップS806以下の
誤検出フローに入る。
には、ステップS804でnがカウントアップされ、同
じ状態が続く間ステップS805によりnが50になる
までカウントアップが継続される。上記カウントアップ
の途中で開閉眼の値が上記設定値範囲に入ったときに
は、この間の上記設定値範囲からの逸脱は安全確認のた
めであったものとして、ステップS803からS802
を経てステップS801へ戻り、nがリセットされる。
一方、nが50までカウントアップされると、眼球を正
しく捉えていないと判断され、ステップS806以下の
誤検出フローに入る。
【0093】ステップS806では、このステップを通
過する毎に誤検出判定フローカウンタがカウントされ
る。ステップS807でこの誤検出フローに入ったのが
何回目かを調べ、初めてこの誤検出フローに入った場合
は、ステップS808に進む。このステップS808で
は、眼のウインドウの設定ミスを想定してその設定基準
を上下入れ替えてウインドウ範囲が補正される。
過する毎に誤検出判定フローカウンタがカウントされ
る。ステップS807でこの誤検出フローに入ったのが
何回目かを調べ、初めてこの誤検出フローに入った場合
は、ステップS808に進む。このステップS808で
は、眼のウインドウの設定ミスを想定してその設定基準
を上下入れ替えてウインドウ範囲が補正される。
【0094】ステップS808の処理により、図4のメ
インフローで次に取り込む画像データからについては、
補正後の新たな眼のウインドウについて開閉眼の検出が
行なわれる。眼のウインドウが正しく眼を取り込むもの
となった場合は、開閉眼の値が上記設定値範囲に入るか
ら、ステップS803からS802を経てステップS8
01に戻り、通常の居眠り検出フローに進む。
インフローで次に取り込む画像データからについては、
補正後の新たな眼のウインドウについて開閉眼の検出が
行なわれる。眼のウインドウが正しく眼を取り込むもの
となった場合は、開閉眼の値が上記設定値範囲に入るか
ら、ステップS803からS802を経てステップS8
01に戻り、通常の居眠り検出フローに進む。
【0095】眼のウインドウが補正されても開閉眼の値
が設定値範囲に入らないときは、再びステップS80
6、S807に進み、今度は誤検出フローに2回以上入
ることになりステップS809以下の処理となる。ステ
ップS809では眼のウインドウがクリアされ、ステッ
プS810で、メインフローのステップS3における画
像データ2値化のためのしきい値の補正量が設定され
る。そして、ステップS811において、2値化しきい
値の補正が3回行なわれても開閉眼の値が設定値範囲に
入らないときは、ステップS812に進み、他に原因が
あるものとしてシステムエラー信号が発信される。
が設定値範囲に入らないときは、再びステップS80
6、S807に進み、今度は誤検出フローに2回以上入
ることになりステップS809以下の処理となる。ステ
ップS809では眼のウインドウがクリアされ、ステッ
プS810で、メインフローのステップS3における画
像データ2値化のためのしきい値の補正量が設定され
る。そして、ステップS811において、2値化しきい
値の補正が3回行なわれても開閉眼の値が設定値範囲に
入らないときは、ステップS812に進み、他に原因が
あるものとしてシステムエラー信号が発信される。
【0096】図24〜図26には、本発明の第4の実施
例が示される。図24はとくにそのフローチャートであ
って、ステップS701〜S703は図4のステップS
1〜S3と同じである。そしてステップS704では、
ステップS703で得られた2値化データを基に、図4
のステップS5、S6と同要領で左眼の第1ウインドウ
が設定され、ステップS705でも左眼について第2ウ
インドウが設定される。これと並行にステップS70
4’、S705’において右眼について第1および第2
ウインドウが設定される。第1および第2のウインドウ
はそれぞれ眼の候補点として考えられる領域で、眼鏡を
かけていない運転者、眼鏡着用の運転者それぞれ、図2
5、図26のように、上下に2つの黒領域を含むウイン
ドウとなる。
例が示される。図24はとくにそのフローチャートであ
って、ステップS701〜S703は図4のステップS
1〜S3と同じである。そしてステップS704では、
ステップS703で得られた2値化データを基に、図4
のステップS5、S6と同要領で左眼の第1ウインドウ
が設定され、ステップS705でも左眼について第2ウ
インドウが設定される。これと並行にステップS70
4’、S705’において右眼について第1および第2
ウインドウが設定される。第1および第2のウインドウ
はそれぞれ眼の候補点として考えられる領域で、眼鏡を
かけていない運転者、眼鏡着用の運転者それぞれ、図2
5、図26のように、上下に2つの黒領域を含むウイン
ドウとなる。
【0097】次にステップS706において、左右の眼
それぞれについて、第1および第2の両ウインドウにお
ける開閉眼の検出が行なわれる。この開閉眼の検出は前
述したいずれの例を用いてもよい。そして、ステップS
707において、誤検出の判定が行なわれる。ここで
は、第1、第2のウインドウのうち、変化が多くみられ
るウインドウを選択して、このウインドウの開閉眼検出
結果が次のステップS708の居眠り検出に供される。
それぞれについて、第1および第2の両ウインドウにお
ける開閉眼の検出が行なわれる。この開閉眼の検出は前
述したいずれの例を用いてもよい。そして、ステップS
707において、誤検出の判定が行なわれる。ここで
は、第1、第2のウインドウのうち、変化が多くみられ
るウインドウを選択して、このウインドウの開閉眼検出
結果が次のステップS708の居眠り検出に供される。
【0098】眼鏡をかけていない図25の例では、開閉
眼検出結果は第1のウインドウに瞬きによる変化が現わ
れており、第2ウインドウには何等の変化も生じていな
い。この場合には、第1ウインドウの開閉眼検出結果に
基づいて居眠り検出が行なわれる。一方、眼鏡着用の図
26の例では、第1ウインドウには変化が見られず、第
2ウインドウにまばたきの変化が検出されているから、
ここでは居眠り検出は対象を第2のウインドウに切り替
えてその開閉眼検出結果に基づいて行なわれることにな
る。なお、両ウインドウともに変化がなくなった場合に
は、図4の例と同様に、2値化補正量などの設定により
次の2値化処理にフイードバックが行なわれる。
眼検出結果は第1のウインドウに瞬きによる変化が現わ
れており、第2ウインドウには何等の変化も生じていな
い。この場合には、第1ウインドウの開閉眼検出結果に
基づいて居眠り検出が行なわれる。一方、眼鏡着用の図
26の例では、第1ウインドウには変化が見られず、第
2ウインドウにまばたきの変化が検出されているから、
ここでは居眠り検出は対象を第2のウインドウに切り替
えてその開閉眼検出結果に基づいて行なわれることにな
る。なお、両ウインドウともに変化がなくなった場合に
は、図4の例と同様に、2値化補正量などの設定により
次の2値化処理にフイードバックが行なわれる。
【0099】この実施例によれば、以上のとおり眼鏡の
有無などの判別を誤ることがあっても、変化のある方に
居眠り検出のウインドウを切り換えるから、眼の誤検出
による居眠り検出の空白期間がとくに短くなり、信頼性
の高い状態検出ができる。
有無などの判別を誤ることがあっても、変化のある方に
居眠り検出のウインドウを切り換えるから、眼の誤検出
による居眠り検出の空白期間がとくに短くなり、信頼性
の高い状態検出ができる。
【0100】この発明の状態検出の基となる画像データ
の入力に関しては、実施例ではCCDカメラによる画像
フレームの縦方向に顔部分がほぼいっぱいになるように
画角が調整される。運転者が特定の一人に固定されてい
るときはカメラも固定されたままでよいが、車両が複数
の運転者によって用いられるときには、運転者に応じて
自動的に撮影画角が調節されると便利である。例えば、
体形が小さい運転者の場合は、シート位置が前方で、ま
たメータ類が見易いようにステアリングのチルト角度が
小さいドライビングポジションとなり、インストルメン
トパネルに設置されるカメラに顔が近づきその顔位置は
低い。そのままであると顔画像は大きくなる。他方、体
形の大きい運転者の場合には、シート位置が後方で、ス
テアリングのチルト角度が立っているドライビングポジ
ションとなり、顔はカメラから遠く高い位置となって、
顔画像が小さくなる。
の入力に関しては、実施例ではCCDカメラによる画像
フレームの縦方向に顔部分がほぼいっぱいになるように
画角が調整される。運転者が特定の一人に固定されてい
るときはカメラも固定されたままでよいが、車両が複数
の運転者によって用いられるときには、運転者に応じて
自動的に撮影画角が調節されると便利である。例えば、
体形が小さい運転者の場合は、シート位置が前方で、ま
たメータ類が見易いようにステアリングのチルト角度が
小さいドライビングポジションとなり、インストルメン
トパネルに設置されるカメラに顔が近づきその顔位置は
低い。そのままであると顔画像は大きくなる。他方、体
形の大きい運転者の場合には、シート位置が後方で、ス
テアリングのチルト角度が立っているドライビングポジ
ションとなり、顔はカメラから遠く高い位置となって、
顔画像が小さくなる。
【0101】したがって、シート位置やステアリングの
チルト角度を検出して、カメラを自動制御することがで
きる。すなわち、シートが前位置のときはカメラをズー
ムダウンさせ、またチルト角度が小さいときカメラの撮
影方向を下向きとする。また、シートが後方位置のとき
はカメラをズームアップさせ、チルト角度が大きいカメ
ラの撮影方向を上向きとする。このほか、シートバック
の傾斜状態を検知して、シートバックを倒した運転者の
場合はカメラを下向き、ズームアップとし、シートバッ
クを起こしている運転者の場合はカメラを上向き、ズー
ムダウンとすることもできる。
チルト角度を検出して、カメラを自動制御することがで
きる。すなわち、シートが前位置のときはカメラをズー
ムダウンさせ、またチルト角度が小さいときカメラの撮
影方向を下向きとする。また、シートが後方位置のとき
はカメラをズームアップさせ、チルト角度が大きいカメ
ラの撮影方向を上向きとする。このほか、シートバック
の傾斜状態を検知して、シートバックを倒した運転者の
場合はカメラを下向き、ズームアップとし、シートバッ
クを起こしている運転者の場合はカメラを上向き、ズー
ムダウンとすることもできる。
【0102】
【発明の効果】以上のとおり、本発明は眼球存在領域内
の開閉眼検出のデータを用い、一定時間内のそのデータ
の変化の有無から眼の誤検出を判定して、眼球存在領域
の補正を行なうようにしたから、ノイズや光環境の変化
などに起因して眼球存在領域の設定に誤りが発生して
も、自動的に修復され、正確な開閉眼の検出が確保され
る。これにより、正確に安定して運転者状態が検出され
る。
の開閉眼検出のデータを用い、一定時間内のそのデータ
の変化の有無から眼の誤検出を判定して、眼球存在領域
の補正を行なうようにしたから、ノイズや光環境の変化
などに起因して眼球存在領域の設定に誤りが発生して
も、自動的に修復され、正確な開閉眼の検出が確保され
る。これにより、正確に安定して運転者状態が検出され
る。
【図1】本発明の構成を示すブロック図である。
【図2】実施例の構成を示すブロック図である。
【図3】入力画像の座標系を示す説明図である。
【図4】実施例の全体の動作のメインフローを示すフロ
ーチャートである。
ーチャートである。
【図5】眼球存在領域の横幅設定の流れを示すフローチ
ャートである。
ャートである。
【図6】眼球存在領域の横幅設定の流れを示すフローチ
ャートである。
ャートである。
【図7】横幅設定における画像走査の説明図である。
【図8】横幅設定時の連続白色画素数計数の流れを示す
フローチャートである。
フローチャートである。
【図9】横幅設定時の連続白色画素数計数の流れを示す
フローチャートである。
フローチャートである。
【図10】眼球存在領域の縦幅設定における画像走査の
説明図である。
説明図である。
【図11】縦幅設定の流れを示すフローチャートであ
る。
る。
【図12】縦幅設定の流れを示すフローチャートであ
る。
る。
【図13】縦幅設定の流れを示すフローチャートであ
る。
る。
【図14】眼鏡の有無検索における画像走査の説明図で
ある。
ある。
【図15】虹彩の検出原理を示す説明図である。
【図16】虹彩検出による開閉眼検出の流れを示すフロ
ーチャートである。
ーチャートである。
【図17】虹彩検出による開閉眼検出の流れを示すフロ
ーチャートである。
ーチャートである。
【図18】眼の誤検出判定の流れを示すフローチャート
である。
である。
【図19】第2の実施例を示す眼球存在領域内走査ライ
ンの説明図である。
ンの説明図である。
【図20】眼球検出による開閉眼検出の流れを示すフロ
ーチャートである。
ーチャートである。
【図21】眼球検出による開閉眼検出の流れを示すフロ
ーチャートである。
ーチャートである。
【図22】眼の誤検出判定の流れを示すフローチャート
である。
である。
【図23】第3の実施例を示す眼の誤検出判定のフロー
チャートである。
チャートである。
【図24】第4の実施例を示すフローチャートである。
【図25】ウインドウと開閉眼検出結果の関係を示す説
明図である。
明図である。
【図26】ウインドウと開閉眼検出結果の関係を示す説
明図である。
明図である。
CL1 画像入力手段 CL2 2値化手段 CL3 眼球存在領域設定手段 CL4 開閉眼検出手段 CL5 運転者状態判定手段 CL6 誤検出判定手段 CL7 再設定手段 1 赤外ストロボ 3 CCDカメラ 5 タイミング指令回路 7 A/D変換器 9 画像メモリ 11 眼球存在位置規定回路11 15 開閉眼検出回路 17 居眠り判定回路 19 警報出力回路 20 誤検出判定回路
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) B60K 28/00 - 28/10 A61M 21/00 G01B 11/00 G08B 13/00 G08B 21/00
Claims (4)
- 【請求項1】 運転者の顔画像を入力する画像入力手段
と、該画像入力手段から入力された顔画像を2値化する
2値化手段と、2値化された画像内で眼球存在領域を定
める眼球存在領域設定手段と、前記眼球存在領域内で開
閉眼を検出する開閉眼検出手段と、該開閉眼検出手段で
検出された開閉眼のパターンに基づいて運転者の状態を
判定する運転者状態判定手段と、前記開閉眼検出手段の
検出データの変化に基づいて眼球の誤検出を判定する誤
検出判定手段と、前記誤検出の判定に基づいて前記眼球
存在領域を変更する再設定手段とを備えることを特徴と
する運転者の状態検出装置。 - 【請求項2】 前記眼球存在領域設定手段はその範囲に
眼を含む候補領域として1の眼について複数の眼球存在
領域を設定し、前記誤検出判定手段は前記複数の眼球存
在領域のうち開閉眼検出手段の検出データに変化がある
眼球存在領域の開閉眼検出結果を前記運転者状態判定手
段の判定対象とし、前記いずれの眼球存在領域について
も開閉眼検出手段の検出データに所定時間変化がないと
きに前記再設定手段に眼球存在領域の変更を行なわせる
ものであることを特徴とする請求項1記載の運転者の状
態検出装置。 - 【請求項3】 前記眼球存在領域設定手段はその範囲に
眼を含む候補領域として1の眼について複数の眼球存在
領域を設定し、前記誤検出判定手段は前記複数の眼球存
在領域のうち開閉眼検出手段の検出データに変化がある
眼球存在領域の開閉眼検出結果を前記運転者状態判定手
段の判定対象とし、前記いずれの眼球存在領域について
も開閉眼検出手段の検出データの値が所定範囲以外の値
となったときに前記再設定手段に眼球存在領域の変更を
行なわせるものであることを特徴とする請求項1記載の
運転者の状態検出装置。 - 【請求項4】 前記再設定手段は前記2値化手段におけ
る2値化しきい値を補正する2値化しきい値補正手段を
含むことを特徴とする請求項1、2または3記載の運転
者の状態検出装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5039562A JP2936943B2 (ja) | 1993-02-03 | 1993-02-03 | 運転者の状態検出装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5039562A JP2936943B2 (ja) | 1993-02-03 | 1993-02-03 | 運転者の状態検出装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH06227278A JPH06227278A (ja) | 1994-08-16 |
JP2936943B2 true JP2936943B2 (ja) | 1999-08-23 |
Family
ID=12556525
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5039562A Expired - Fee Related JP2936943B2 (ja) | 1993-02-03 | 1993-02-03 | 運転者の状態検出装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2936943B2 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3350296B2 (ja) * | 1995-07-28 | 2002-11-25 | 三菱電機株式会社 | 顔画像処理装置 |
JP3815842B2 (ja) * | 1997-03-31 | 2006-08-30 | 日産ディーゼル工業株式会社 | 居眠り警報装置 |
JPH1139469A (ja) * | 1997-07-24 | 1999-02-12 | Mitsubishi Electric Corp | 顔画像処理装置 |
JP4196458B2 (ja) * | 1998-12-11 | 2008-12-17 | 日産自動車株式会社 | 車両用警報装置 |
JP3774448B2 (ja) * | 2003-06-16 | 2006-05-17 | 株式会社日立製作所 | 車載用画像処理装置 |
KR100766592B1 (ko) * | 2005-06-03 | 2007-10-11 | (주)엠투비 | 홍채 반사 영상 기반 졸음 감지 장치 및 방법 |
JP4878273B2 (ja) * | 2006-11-22 | 2012-02-15 | アイシン精機株式会社 | 眼鏡検出装置、画像処理装置、眼鏡検出方法、及び、コンピュータプログラム |
JP2009003730A (ja) | 2007-06-22 | 2009-01-08 | Nintendo Co Ltd | 情報処理プログラムおよび情報処理装置 |
JP2021033755A (ja) * | 2019-08-27 | 2021-03-01 | 矢崎総業株式会社 | 画像処理装置、画像処理方法および画像処理プログラム |
DE112022006349T5 (de) * | 2022-01-11 | 2024-10-24 | Mitsubishi Electric Corporation | Abweichungsbetragserkennungsvorrichtung, abweichungsbetragserkennungsverfahren, und fahrerüberwachungssystem |
-
1993
- 1993-02-03 JP JP5039562A patent/JP2936943B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH06227278A (ja) | 1994-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2541688B2 (ja) | 眼位置検出装置 | |
JP2522859B2 (ja) | 眼位置検出装置 | |
JP2822799B2 (ja) | 運転者の状態検出装置 | |
JP3735624B2 (ja) | 投影表示装置 | |
US5878156A (en) | Detection of the open/closed state of eyes based on analysis of relation between eye and eyebrow images in input face images | |
US10346698B2 (en) | Vehicle display system and method of controlling vehicle display system | |
JP2936943B2 (ja) | 運転者の状態検出装置 | |
JP2001022933A (ja) | 2次元テンプレートを用いた顔画像処理装置 | |
JP2007241937A (ja) | 覚醒度推定装置 | |
JP3063504B2 (ja) | 画像データの特徴量検出装置 | |
JP3450801B2 (ja) | 瞳孔位置検出装置及び方法、視点位置検出装置及び方法、並びに立体画像表示システム | |
US20170344858A1 (en) | Control device, control method, and computer program product | |
JP3395344B2 (ja) | 画像処理装置およびそれを用いた居眠り警報装置 | |
KR100766592B1 (ko) | 홍채 반사 영상 기반 졸음 감지 장치 및 방법 | |
JP2836238B2 (ja) | 運転車の眼位置検出装置及び状態検出装置 | |
JP2705388B2 (ja) | 運転者の眼位置検出装置 | |
JP2006318151A (ja) | デジタル画像表示機器及びデジタル画像表示方法 | |
JP3088880B2 (ja) | 人物認識装置 | |
CN113879321B (zh) | 驾驶员监视装置及驾驶员监视方法 | |
JP2932551B2 (ja) | 虹彩位置検出装置及び運転者の状態検出装置 | |
JP2677010B2 (ja) | 眼位置検出装置 | |
JP3116674B2 (ja) | 運転者の状態検出装置 | |
JP3500891B2 (ja) | 居眠り状態検出装置 | |
JP3582324B2 (ja) | 眼位置検出装置 | |
JPH04216403A (ja) | 眼位置検出装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19990511 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080611 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090611 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090611 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100611 Year of fee payment: 11 |
|
LAPS | Cancellation because of no payment of annual fees |