JP2705388B2 - 運転者の眼位置検出装置 - Google Patents
運転者の眼位置検出装置Info
- Publication number
- JP2705388B2 JP2705388B2 JP3220633A JP22063391A JP2705388B2 JP 2705388 B2 JP2705388 B2 JP 2705388B2 JP 3220633 A JP3220633 A JP 3220633A JP 22063391 A JP22063391 A JP 22063391A JP 2705388 B2 JP2705388 B2 JP 2705388B2
- Authority
- JP
- Japan
- Prior art keywords
- image
- face
- black
- area
- eye
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/168—Feature extraction; Face representation
Landscapes
- Engineering & Computer Science (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Theoretical Computer Science (AREA)
- Closed-Circuit Television Systems (AREA)
- Facsimile Image Signal Circuits (AREA)
- Image Analysis (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Auxiliary Drives, Propulsion Controls, And Safety Devices (AREA)
- Image Processing (AREA)
Description
【0001】
【産業上の利用分野】この発明は、運転者の眼の位置を
検出する眼位置検出装置に関する。
検出する眼位置検出装置に関する。
【0002】
【従来の技術】従来の車両運転者の眼位置検出装置に
は、特開昭60−158303号、特開昭60−158
304、特開昭61−77705号、特開昭61−77
706号公報に開示されているものがある。これらは車
両運転者の眼の位置を認識する装置であり、運転者の顔
部分を撮影して2枚の画像として入力し、この画像の明
領域の中にある独立した暗領域を特異的として抽出し、
この特異点を眼として認識する構成となっており、運転
者の居眠りや、わき見の検出に利用可能であるとしてい
る。
は、特開昭60−158303号、特開昭60−158
304、特開昭61−77705号、特開昭61−77
706号公報に開示されているものがある。これらは車
両運転者の眼の位置を認識する装置であり、運転者の顔
部分を撮影して2枚の画像として入力し、この画像の明
領域の中にある独立した暗領域を特異的として抽出し、
この特異点を眼として認識する構成となっており、運転
者の居眠りや、わき見の検出に利用可能であるとしてい
る。
【0003】
【発明が解決しようとする課題】しかしながら、この従
来の車両運転者の眼球位置検出装置は、顔画像の明るい
閉領域の中にある独立した暗領域を特異点として認識す
る構成としているため、例えば、日光が顔の片側から当
る等して運転者の顔画像の輪郭線が途切れている場合
は、顔面部分が閉領域にはならないため、眼球が検出で
きないという問題があった。
来の車両運転者の眼球位置検出装置は、顔画像の明るい
閉領域の中にある独立した暗領域を特異点として認識す
る構成としているため、例えば、日光が顔の片側から当
る等して運転者の顔画像の輪郭線が途切れている場合
は、顔面部分が閉領域にはならないため、眼球が検出で
きないという問題があった。
【0004】また、いずれの従来装置も正面を向いた一
般的な顔に充分な照明を当てて撮影した顔画像について
の発明であり、顔が多少横を向いて顔画像の輪郭線が途
切れたり陰影がある場合、眼鏡装着の場合、頭髪が額を
覆っている場合等には眼の部分が独立した暗領域とはな
らず、眼の位置の検出が不能であったり、眉毛や眼鏡の
フレームなどを眼として誤認識してしまう問題があっ
た。
般的な顔に充分な照明を当てて撮影した顔画像について
の発明であり、顔が多少横を向いて顔画像の輪郭線が途
切れたり陰影がある場合、眼鏡装着の場合、頭髪が額を
覆っている場合等には眼の部分が独立した暗領域とはな
らず、眼の位置の検出が不能であったり、眉毛や眼鏡の
フレームなどを眼として誤認識してしまう問題があっ
た。
【0005】さらに、鼻穴や黒子等も明るい閉領域の中
にある独立した暗領域の特異点となるため、これらを眼
として誤認識してしまう問題もあった。
にある独立した暗領域の特異点となるため、これらを眼
として誤認識してしまう問題もあった。
【0006】加えて、輪郭線の途切れ判別の際には、上
記陰影と融合して撮影された眉毛、眼球、フレーム、鼻
穴等がノイズとなって輪郭線の追跡を誤る恐れがあっ
た。
記陰影と融合して撮影された眉毛、眼球、フレーム、鼻
穴等がノイズとなって輪郭線の追跡を誤る恐れがあっ
た。
【0007】そこでこの発明は、運転者の眼の位置の検
出精度をより向上させることのできる運転者の眼位置検
出装置の提供を目的としている。
出精度をより向上させることのできる運転者の眼位置検
出装置の提供を目的としている。
【0008】
【課題を解決するための手段】上記課題を解決するため
にこの発明は、眼を含む顔画像を入力する画像入力手段
と、前記画像入力手段から送出される入力画像を2値化
して第一2値化画像を生成する手段と、前記第一2値化
画像において黒色画素から成る連結成分領域を抽出する
手段と、前記連結成分領域の面積を測定する手段と、前
記連結成分領域の面積が所定値以下の領域は黒色画素を
白色画素に変換して第二2値化画像を生成する手段と、
前記第二2値化画像から顔画像の輪郭線を判別すること
により顔面の左右端点を特定する手段と、前記特定した
顔面の左右端点の内側の領域の濃淡情報より眼を黒色画
素とするためのしきい値を設定する手段と、前記入力画
像を該しきい値により2値化して第三2値化画像を生成
する手段と、前記第三2値化画像において前記顔面の左
右端の幅の内側を下側より縦方向上側へ走査し黒領域の
配置状況により眼の存在領域の縦方向の位置を決定する
手段とからなることを特徴とする。
にこの発明は、眼を含む顔画像を入力する画像入力手段
と、前記画像入力手段から送出される入力画像を2値化
して第一2値化画像を生成する手段と、前記第一2値化
画像において黒色画素から成る連結成分領域を抽出する
手段と、前記連結成分領域の面積を測定する手段と、前
記連結成分領域の面積が所定値以下の領域は黒色画素を
白色画素に変換して第二2値化画像を生成する手段と、
前記第二2値化画像から顔画像の輪郭線を判別すること
により顔面の左右端点を特定する手段と、前記特定した
顔面の左右端点の内側の領域の濃淡情報より眼を黒色画
素とするためのしきい値を設定する手段と、前記入力画
像を該しきい値により2値化して第三2値化画像を生成
する手段と、前記第三2値化画像において前記顔面の左
右端の幅の内側を下側より縦方向上側へ走査し黒領域の
配置状況により眼の存在領域の縦方向の位置を決定する
手段とからなることを特徴とする。
【0009】
【作用】顔画像において一般的に輪郭線が消失するのは
耳の部分や頬から顎にかけての一部分であること、輪郭
線判別の妨げになる鼻穴や黒子はこの部分では陰影など
の影響を受けない小さな黒色画素の孤立点となることに
着目した。
耳の部分や頬から顎にかけての一部分であること、輪郭
線判別の妨げになる鼻穴や黒子はこの部分では陰影など
の影響を受けない小さな黒色画素の孤立点となることに
着目した。
【0010】先ず第一2値化手段CL2によって入力画
像全体の濃淡画像情報から所定のしきい値により第一2
値化画像を生成する。
像全体の濃淡画像情報から所定のしきい値により第一2
値化画像を生成する。
【0011】次に連結成分領域抽出手段CL3、及び面
積測定手段CL4により第一2値化画像において黒色画
素の連結成分領域を抽出し、面積を測定する。
積測定手段CL4により第一2値化画像において黒色画
素の連結成分領域を抽出し、面積を測定する。
【0012】そして、第二2値化手段CL5により連結
成分領域の面積が所定値以下の領域を黒色画素から白色
画素に変換して第二2値化画像を生成する。
成分領域の面積が所定値以下の領域を黒色画素から白色
画素に変換して第二2値化画像を生成する。
【0013】この第二2値化画像から左右端点特定手段
CL6により、顔画像の輪郭線を判別することで顔面の
左右端点を特定する。
CL6により、顔画像の輪郭線を判別することで顔面の
左右端点を特定する。
【0014】次に、しきい値設定手段CL7及び第三2
値化手段CL8により、初めに入力した顔画像について
左右両端点の内側の領域の濃淡情報により眼を黒色画素
となるためしきい値を設定し、2値化して第三2値化画
像を生成する。
値化手段CL8により、初めに入力した顔画像について
左右両端点の内側の領域の濃淡情報により眼を黒色画素
となるためしきい値を設定し、2値化して第三2値化画
像を生成する。
【0015】最後に、眼の縦領域決定手段CL9によ
り、第三2値化画像において、上記左右端の幅が内側の
範囲を下側より縦方向上側に走査し、黒色画素の配置状
況により運転者の眼の縦方向の位置を決定する。
り、第三2値化画像において、上記左右端の幅が内側の
範囲を下側より縦方向上側に走査し、黒色画素の配置状
況により運転者の眼の縦方向の位置を決定する。
【0016】
【実施例】以下、本発明の実施例を図面に基づいて説明
する。
する。
【0017】図2は本発明の一実施例に係る眼の位置検
出装置の構成図、図3は図2の構成に基づくフローチャ
ートを示す。
出装置の構成図、図3は図2の構成に基づくフローチャ
ートを示す。
【0018】図2に示すように、この眼位置検出装置は
自動車に装備したもので、インストルメントパネル(図
示せず)内の運転者に対する正面方向に、運転者の顔部
分を照射する赤外ストロボ1と、この赤外ストロボ1の
赤外光で照射される顔部分を撮影する画像入力手段CL
1としてのTVカメラ3とが配置され、前記赤外ストロ
ボ1の発光とTVカメラ3の画像入力とのタイミングを
合せるタイミング指令回路5とを備えている。そして、
赤外ストロボ1にタイミング指令回路5からストロボ発
光指令が出力されると、赤外ストロボ1が発光して運転
者の顔部分を照射し、これと同時にTVカメラ3に対し
画像入力指令が出力され、赤外光で照射された顔部分を
撮影するようになっている。
自動車に装備したもので、インストルメントパネル(図
示せず)内の運転者に対する正面方向に、運転者の顔部
分を照射する赤外ストロボ1と、この赤外ストロボ1の
赤外光で照射される顔部分を撮影する画像入力手段CL
1としてのTVカメラ3とが配置され、前記赤外ストロ
ボ1の発光とTVカメラ3の画像入力とのタイミングを
合せるタイミング指令回路5とを備えている。そして、
赤外ストロボ1にタイミング指令回路5からストロボ発
光指令が出力されると、赤外ストロボ1が発光して運転
者の顔部分を照射し、これと同時にTVカメラ3に対し
画像入力指令が出力され、赤外光で照射された顔部分を
撮影するようになっている。
【0019】TVカメラ3の入力画像は本実施例では図
4に示すように、横(X)方向520画素、縦(Y)方
向500画素からなり、縦方向に顔部分がほぼいっぱい
になるよう画角が調整されている。
4に示すように、横(X)方向520画素、縦(Y)方
向500画素からなり、縦方向に顔部分がほぼいっぱい
になるよう画角が調整されている。
【0020】TVカメラ3には、撮影した入力画像をデ
ジタル量に変換するA/D変換器7を介して画像メモリ
9が接続され、TVカメラ3の入力画像データを入力す
る。
ジタル量に変換するA/D変換器7を介して画像メモリ
9が接続され、TVカメラ3の入力画像データを入力す
る。
【0021】前記画像メモリ9には、該画像メモリ9に
格納された入力画像データに基づいて眼球の存在位置領
域を規定する眼球存在位置規定回路11が接続され、さ
らに、規定された眼球の存在位置領域内にある画像メモ
リ9の画像データを処理して眼の虹彩部分を検出する虹
彩検出回路13が接続されている。
格納された入力画像データに基づいて眼球の存在位置領
域を規定する眼球存在位置規定回路11が接続され、さ
らに、規定された眼球の存在位置領域内にある画像メモ
リ9の画像データを処理して眼の虹彩部分を検出する虹
彩検出回路13が接続されている。
【0022】また、虹彩検出回路13には、該虹彩検出
回路13での虹彩検出結果から運転者の居眠り、わき見
の有無等の状態を判定する居眠りわき見判定回路15が
接続されている。
回路13での虹彩検出結果から運転者の居眠り、わき見
の有無等の状態を判定する居眠りわき見判定回路15が
接続されている。
【0023】前記眼球存在位置規定回路11は、入力画
像をあるしきい値で2値化して第一2値化画像を生成す
る第一2値化手段CL2と、前記第一2値化画像におい
て黒色画素から成る連結成分領域を抽出する手段CL3
と、前記連結成分領域の面積を測定する手段CL4と、
前記連結成分領域の面積が所定値以下の領域は黒色画素
を白色画素に変換して第二2値化画像を生成する手段C
L5と、前記第二2値化画像から顔画像の輪郭線を抽出
することにより顔面の左右端点を特定する手段CL6
と、前記特定した顔面の左右端点の内側の領域の濃淡情
報より眼を黒色画素とするためのしきい値を設定する手
段CL7と、前記入力画像を該しきい値により2値化し
て第三2値化画像を生成する手段CL8と、前記第三2
値化画像において前記顔面の左右端の幅の内側を下側よ
り縦方向上側へ走査し黒領域の配置状況により眼の存在
領域の縦方向の位置を決定する手段CL9とを構成する
ものである。
像をあるしきい値で2値化して第一2値化画像を生成す
る第一2値化手段CL2と、前記第一2値化画像におい
て黒色画素から成る連結成分領域を抽出する手段CL3
と、前記連結成分領域の面積を測定する手段CL4と、
前記連結成分領域の面積が所定値以下の領域は黒色画素
を白色画素に変換して第二2値化画像を生成する手段C
L5と、前記第二2値化画像から顔画像の輪郭線を抽出
することにより顔面の左右端点を特定する手段CL6
と、前記特定した顔面の左右端点の内側の領域の濃淡情
報より眼を黒色画素とするためのしきい値を設定する手
段CL7と、前記入力画像を該しきい値により2値化し
て第三2値化画像を生成する手段CL8と、前記第三2
値化画像において前記顔面の左右端の幅の内側を下側よ
り縦方向上側へ走査し黒領域の配置状況により眼の存在
領域の縦方向の位置を決定する手段CL9とを構成する
ものである。
【0024】つぎに、図3のフローチャートに基づいて
全体を説明する。
全体を説明する。
【0025】まず、ステップS1で赤外線ストロボ1の
発光と同期してTVカメラ3によって運転者の顔部分を
撮影し、この画像をA/D変換回路7でデジタル信号に
変換して画像メモリ9に格納する(ステップS2)。
発光と同期してTVカメラ3によって運転者の顔部分を
撮影し、この画像をA/D変換回路7でデジタル信号に
変換して画像メモリ9に格納する(ステップS2)。
【0026】つぎにステップS3で、画像メモリ9に格
納された入力画像データを眼球存在位置規定回路11に
取り込み、あるしきい値で2値化する。これは、顔部分
の明暗をはっきりさせるためであり、2値化しきい値は
眼球を抽出できるレベルに設定されている。
納された入力画像データを眼球存在位置規定回路11に
取り込み、あるしきい値で2値化する。これは、顔部分
の明暗をはっきりさせるためであり、2値化しきい値は
眼球を抽出できるレベルに設定されている。
【0027】すなわち、ビデオ信号を256階調(0〜
255)のデジタルデータに変換し、白い部分を“25
5”、黒い部分を“0”とし、あるスレッシュホールド
レベルで2値化して2値化画像J(x,y)を得たもの
である。前記ストレッシュホードレベルは、ストロボ照
射されている運転者の顔面及び、その背景は白とし、頭
髪等は黒とする程度のものであり、以下、図4のまま2
値化画像J1において顔面及び背景は白になっているも
のとして説明する。但し、背景が黒であっても処理でき
るものである。
255)のデジタルデータに変換し、白い部分を“25
5”、黒い部分を“0”とし、あるスレッシュホールド
レベルで2値化して2値化画像J(x,y)を得たもの
である。前記ストレッシュホードレベルは、ストロボ照
射されている運転者の顔面及び、その背景は白とし、頭
髪等は黒とする程度のものであり、以下、図4のまま2
値化画像J1において顔面及び背景は白になっているも
のとして説明する。但し、背景が黒であっても処理でき
るものである。
【0028】次にステップS4で、画像処理の基本的手
法であるラベリング処理により、4連結で黒画素が連結
している連結成分領域を抽出し、図5のように各領域に
各々番号を付す。例えば、頭部はNO1,眉はNO2、
NO3、眼はNO4、NO5、鼻穴はNO6、NO7、
口はNO8といったものである。
法であるラベリング処理により、4連結で黒画素が連結
している連結成分領域を抽出し、図5のように各領域に
各々番号を付す。例えば、頭部はNO1,眉はNO2、
NO3、眼はNO4、NO5、鼻穴はNO6、NO7、
口はNO8といったものである。
【0029】続くステップS5〜S8が、第二2値化画
像を生成する処理である。
像を生成する処理である。
【0030】先ず、ステップS6で連結成分の面積を測
定する。これは連結成分を構成する画素数をカウントす
ることに相当し、ステップS4に於けるラベリング処理
と同時に行なうこともできる。
定する。これは連結成分を構成する画素数をカウントす
ることに相当し、ステップS4に於けるラベリング処理
と同時に行なうこともできる。
【0031】次に、ステップS7で前記面積が所定値P
より小さいかを判定し、小さい場合はステップS8でこ
の連結成分の黒画素を全て白画素に変換する。
より小さいかを判定し、小さい場合はステップS8でこ
の連結成分の黒画素を全て白画素に変換する。
【0032】これは、次にステップS9で行なうウイン
ドウ(図4の点線で示す四角部分で眼の存在領域)の横
幅設定処理において、輪郭線追跡のノイズとなる可能性
のある眉、眼、鼻穴などを除去することが目的てあり、
Pはこれらの面積より大きい200〜300画素程度の
値を設定する。
ドウ(図4の点線で示す四角部分で眼の存在領域)の横
幅設定処理において、輪郭線追跡のノイズとなる可能性
のある眉、眼、鼻穴などを除去することが目的てあり、
Pはこれらの面積より大きい200〜300画素程度の
値を設定する。
【0033】以上の処理を、抽出した全ての連結成分N
O1〜NO8に関して行ったことを、ステップS5で判
断するまで続けることにより、図6に示すように第二2
値化画像J2が生成される。
O1〜NO8に関して行ったことを、ステップS5で判
断するまで続けることにより、図6に示すように第二2
値化画像J2が生成される。
【0034】このように本発明実施例に関わる車両運転
者の眼位置検出装置は、顔幅検出のための輪郭線追跡の
際に必須となる輪郭線消失検出において、ノイズとなり
誤検出の原因である画像の陰影、眉毛、眼球、フレー
ム、鼻穴等は一般的に孤立した小さな黒色画素の連結成
分領域となることに着目し、黒色画素連結成分の面積が
所定値以下である場合、この連結成分を除去した第二2
値化画像J2を生成し、この画像J2により、ステップ
S9において左右それぞれの眼球の存在領域であるウイ
ンドウの横方向(X方向)の幅を決定することとした。
者の眼位置検出装置は、顔幅検出のための輪郭線追跡の
際に必須となる輪郭線消失検出において、ノイズとなり
誤検出の原因である画像の陰影、眉毛、眼球、フレー
ム、鼻穴等は一般的に孤立した小さな黒色画素の連結成
分領域となることに着目し、黒色画素連結成分の面積が
所定値以下である場合、この連結成分を除去した第二2
値化画像J2を生成し、この画像J2により、ステップ
S9において左右それぞれの眼球の存在領域であるウイ
ンドウの横方向(X方向)の幅を決定することとした。
【0035】これにより、輪郭線の安定部分の検出等の
輪郭線の連続性を検索している部分からノイズを除くこ
ととなり、外光が片側から当ったり横を向いた顔画像に
おいて鼻穴の高さ付近で輪郭線が消失しても、運転者の
眼球を含む領域の横方向の範囲を正確に決定することが
可能となった。
輪郭線の連続性を検索している部分からノイズを除くこ
ととなり、外光が片側から当ったり横を向いた顔画像に
おいて鼻穴の高さ付近で輪郭線が消失しても、運転者の
眼球を含む領域の横方向の範囲を正確に決定することが
可能となった。
【0036】また顔の領域の濃淡情報のみを利用し、し
きい値を算出する構成としたため、外光条件により顔面
左右の照度が不均一であっても、各々の眼球に関して検
出に適正なしきい値を設定することが可能となり、より
正確にウインドウを特定することが可能となる。
きい値を算出する構成としたため、外光条件により顔面
左右の照度が不均一であっても、各々の眼球に関して検
出に適正なしきい値を設定することが可能となり、より
正確にウインドウを特定することが可能となる。
【0037】つぎに、ステップS10では、ステップS
2で記憶した入力画像に関し、眼球の存在領域である上
記の処理で設定したウインドウの横幅の内側の濃淡情報
に基づき、ステップS3と同様手法により2値化して第
三2値化画像を生成する。さらにステップS11におい
て、左右それぞれの眼球のウインドウの縦方向(Y方
向)の幅を決定する。
2で記憶した入力画像に関し、眼球の存在領域である上
記の処理で設定したウインドウの横幅の内側の濃淡情報
に基づき、ステップS3と同様手法により2値化して第
三2値化画像を生成する。さらにステップS11におい
て、左右それぞれの眼球のウインドウの縦方向(Y方
向)の幅を決定する。
【0038】ウインドウのXY方向の幅決定の処理の詳
細は図7〜図12に示すフローチャートにより後述す
る。
細は図7〜図12に示すフローチャートにより後述す
る。
【0039】つぎに、左右それぞれの眼球のウインドウ
が決定されると、ステップS12で虹彩中心検出が行わ
れる。そして、ステップS13で虹彩中心から乗員の居
眠りわき見判定が行われる。
が決定されると、ステップS12で虹彩中心検出が行わ
れる。そして、ステップS13で虹彩中心から乗員の居
眠りわき見判定が行われる。
【0040】図7,図8は、本発明の実施例に係る左右
各々のウインドウの横方向の位置を決定するフローチャ
ートを示す。この図のステップS101及びS102に
おいて図13に示すように、画像の略中央(X座標=2
50)に検索開始ラインを設定し、そこから左右別個に
白色連続画素数WXCLとWXCRをカウントすると共
に、白色連続画素数が最大のときの左右端X座標XLM
とXRMを記憶する。この処理については図9によって
後述する。
各々のウインドウの横方向の位置を決定するフローチャ
ートを示す。この図のステップS101及びS102に
おいて図13に示すように、画像の略中央(X座標=2
50)に検索開始ラインを設定し、そこから左右別個に
白色連続画素数WXCLとWXCRをカウントすると共
に、白色連続画素数が最大のときの左右端X座標XLM
とXRMを記憶する。この処理については図9によって
後述する。
【0041】続いてステップS103では、左右の連続
画素数の和が200より大きいか否かを調べ、頭髪、
眉、眼球部などで200以下の場合、ステップS104
で、左安定カウンタWLCON、右安定カウンタWRC
ON、左安定フラグSTFLGL、右安定フラグSTF
LGRをクリアし、ステップS101へ戻り次のライン
を走査する。
画素数の和が200より大きいか否かを調べ、頭髪、
眉、眼球部などで200以下の場合、ステップS104
で、左安定カウンタWLCON、右安定カウンタWRC
ON、左安定フラグSTFLGL、右安定フラグSTF
LGRをクリアし、ステップS101へ戻り次のライン
を走査する。
【0042】左右の連続画素数の和が200より大きい
場合、ステップS105で左側端点検出フラグOKFG
Lがセットされているか否かを調べ、セットされている
場合はステップS120以降の右端検索処理へ移る。
場合、ステップS105で左側端点検出フラグOKFG
Lがセットされているか否かを調べ、セットされている
場合はステップS120以降の右端検索処理へ移る。
【0043】左側端点検出フラグOKFGLが0の場合
は、ステップS106及びS107でWXCLと、直前
の走査ラインにおける連続数MAELの差が10未満な
らば右安定カウンタWLCONをカウントアップする。
は、ステップS106及びS107でWXCLと、直前
の走査ラインにおける連続数MAELの差が10未満な
らば右安定カウンタWLCONをカウントアップする。
【0044】ステップS108及びS109では、現走
査ラインは直前走査ラインの連続数との差が小さい安定
候補部であるので、この中での連続画素数が最大の時の
XLをX1、最小の時のXLをX2として記憶する。
査ラインは直前走査ラインの連続数との差が小さい安定
候補部であるので、この中での連続画素数が最大の時の
XLをX1、最小の時のXLをX2として記憶する。
【0045】ステップS110〜S112では、左安定
カウンタWLCONが10を越え、且つX1とX2の差
が30未満か否かを調べ、この条件を満足していれば左
安定フラグのSTFGLをセットし、左の白色連続画素
数WXCLを新たにMAELとする。
カウンタWLCONが10を越え、且つX1とX2の差
が30未満か否かを調べ、この条件を満足していれば左
安定フラグのSTFGLをセットし、左の白色連続画素
数WXCLを新たにMAELとする。
【0046】ステップS106で白色連続画素数WXC
Lと前の走査での連続数MAELの差が10以上である
場合は、輪郭線の連続性が失われた可能性があると判断
し、ステップS113〜S119の処理へ移る。
Lと前の走査での連続数MAELの差が10以上である
場合は、輪郭線の連続性が失われた可能性があると判断
し、ステップS113〜S119の処理へ移る。
【0047】この部分は、連続画素数が大きく変化した
のが眉等のためか、輪郭線の途切れなのかを連続画素数
の変化と安定部分の存在とによって判断している。
のが眉等のためか、輪郭線の途切れなのかを連続画素数
の変化と安定部分の存在とによって判断している。
【0048】先ずステップS113で左安定フラグST
FLGLを調べ、この連続白画素数が大きく変化する前
に安定部分が存在しSTFLGLがセットされていた場
合は、ステップS114で連続画素数が増加したか否か
を調べる。
FLGLを調べ、この連続白画素数が大きく変化する前
に安定部分が存在しSTFLGLがセットされていた場
合は、ステップS114で連続画素数が増加したか否か
を調べる。
【0049】連続画素数が増加している場合は、輪郭線
が途切れたと判断し、ステップS115においてステッ
プS108で記憶したX座標X1を顔を左端とする。
が途切れたと判断し、ステップS115においてステッ
プS108で記憶したX座標X1を顔を左端とする。
【0050】連続白画素数が大きく変化する前に安定部
分が存在しない場合や安定部分が存在しても連続画素数
が減少している場合は、輪郭線が途切れた部分から輪郭
線のある部分の走査に移ったか、または眉、眼、眼鏡部
分などの走査であることが考えられる。
分が存在しない場合や安定部分が存在しても連続画素数
が減少している場合は、輪郭線が途切れた部分から輪郭
線のある部分の走査に移ったか、または眉、眼、眼鏡部
分などの走査であることが考えられる。
【0051】そこでステップS116で今回の走査の白
色画素連続数が、前回の走査の白色画素連続数より50
以上減少している場合は輪郭線が途切れた部分から輪郭
線のある部分の走査に移ったと判断し、今回の走査の左
端点XLを顔の左端とする。
色画素連続数が、前回の走査の白色画素連続数より50
以上減少している場合は輪郭線が途切れた部分から輪郭
線のある部分の走査に移ったと判断し、今回の走査の左
端点XLを顔の左端とする。
【0052】以上のようにステップS115、またはス
テップS118で顔の左端を設定した時はステップS1
19で左側端点検出フラグOKFGLをセットした上で
ステップS120へ進む。
テップS118で顔の左端を設定した時はステップS1
19で左側端点検出フラグOKFGLをセットした上で
ステップS120へ進む。
【0053】今回の連続数が前回の連続数より大きく減
少していない場合は、眉、眼、眼鏡部分や大きな陰影の
ある部分と考えられるため、ステップS117でX1,
X2,WLCON,STFLGLをクリアしステップS
112へ進む。
少していない場合は、眉、眼、眼鏡部分や大きな陰影の
ある部分と考えられるため、ステップS117でX1,
X2,WLCON,STFLGLをクリアしステップS
112へ進む。
【0054】ステップS120及びS121では、上記
のS105〜S119と同様にして顔の右側の輪郭線途
切れ判断と輪郭線途切れ時の右端設定を行う。
のS105〜S119と同様にして顔の右側の輪郭線途
切れ判断と輪郭線途切れ時の右端設定を行う。
【0055】以上の処理をステップS122およびS1
23に示すように、顔面の左右端検出フラグが両方とも
セットされるか、さも無ければ予め設定したY方向の検
索範囲終了まで続ける。
23に示すように、顔面の左右端検出フラグが両方とも
セットされるか、さも無ければ予め設定したY方向の検
索範囲終了まで続ける。
【0056】両方の端点検出フラグがセットされた場合
は、横幅設定を終了し、Y(縦)方向の検索範囲を終了
した時は図8に示すステップS124〜S127の処理
へ移る。
は、横幅設定を終了し、Y(縦)方向の検索範囲を終了
した時は図8に示すステップS124〜S127の処理
へ移る。
【0057】ここでは、左右の端点検出フラグがセット
されているか否かを調べ、それぞれセットされていない
場合はステップS102で記憶した全走査の中で左右の
白色画素連続数が最大の時の左右端X座標XLM,XR
Mを顔の左右端とする。
されているか否かを調べ、それぞれセットされていない
場合はステップS102で記憶した全走査の中で左右の
白色画素連続数が最大の時の左右端X座標XLM,XR
Mを顔の左右端とする。
【0058】以上のように顔の左右端が検出できたら、
下式に従ってウインドウの横方向の位置を決定できる。
下式に従ってウインドウの横方向の位置を決定できる。
【0059】 ・X軸センター=Xc =XLM+((XRM-XLM)/2 ) ・左眼ウインドウの左側X座標=X1 = XLM ・左眼ウインドウの右側X座標=X2 =Xc - 25 ・右眼ウインドウの左側X座標=XX1 =Xc + 25 ・右眼ウインドウの右側X座標=XX2 =XRM このように、顔面の片側から外光が射し込む等して顔画
像の輪郭線に連続性がなくなっても、顔の幅方向端の安
定部の有無と連続画素数の変化より輪郭線の連続性を判
断して顔面の左右端を特定することができる。
像の輪郭線に連続性がなくなっても、顔の幅方向端の安
定部の有無と連続画素数の変化より輪郭線の連続性を判
断して顔面の左右端を特定することができる。
【0060】また、2値化画像において画像の中央、す
なわち、顔の略中央から左右へ走査して白色画素の連続
により顔の左右端を検出するので、背景が白でなくても
必ず顔面をとらえて適格な検出を行なうことができる。
また、髪型や眼鏡装置等の影響を受けずに頬部などで顔
の左右端を検出することが可能となった。さらに、顔面
の左右端を各々独立に検出する構成としたため、顔面の
片側の端が外光の影響で検出できなくても、反対側の端
は検出することが可能となっている。
なわち、顔の略中央から左右へ走査して白色画素の連続
により顔の左右端を検出するので、背景が白でなくても
必ず顔面をとらえて適格な検出を行なうことができる。
また、髪型や眼鏡装置等の影響を受けずに頬部などで顔
の左右端を検出することが可能となった。さらに、顔面
の左右端を各々独立に検出する構成としたため、顔面の
片側の端が外光の影響で検出できなくても、反対側の端
は検出することが可能となっている。
【0061】なお、前記ステップS101,S102で
の白色連続画素数が最大時の左右端X座標XLMとXR
Mを記憶する過程を図9に示すフロ―チャ―トに基づい
て以下に説明する。
の白色連続画素数が最大時の左右端X座標XLMとXR
Mを記憶する過程を図9に示すフロ―チャ―トに基づい
て以下に説明する。
【0062】まず、ステップS201で縦方向の走査Y
座標を40とする。このY−40はこの範囲内に顔面の
最大幅は存在しないことを前提に処理を早めたものであ
る。ステップS202で横方向の検索走査開始ラインX
座標値250を左検索X座標XLと右検索X座標XRに
セットする。このX座標値は、図13に示すように車両
運転者がカメラの画角以内に存在すれば、確実に顔面部
の中に存在するラインを指定している。
座標を40とする。このY−40はこの範囲内に顔面の
最大幅は存在しないことを前提に処理を早めたものであ
る。ステップS202で横方向の検索走査開始ラインX
座標値250を左検索X座標XLと右検索X座標XRに
セットする。このX座標値は、図13に示すように車両
運転者がカメラの画角以内に存在すれば、確実に顔面部
の中に存在するラインを指定している。
【0063】次に、ステップS203で右側走査終了フ
ラグOKRがセットされているか否か調べ、セットされ
ていればステップS211以降の顔面左端検索を行う。
ラグOKRがセットされているか否か調べ、セットされ
ていればステップS211以降の顔面左端検索を行う。
【0064】OKRがセットされていない場合は、ステ
ップS204で画素J(XR,Y)が白か否かを調べ、
白の場合はステップS205及びS206で右側白画素
連続カウンタWXCRを、ステップS206で検索X座
標XRをカウントアップする。
ップS204で画素J(XR,Y)が白か否かを調べ、
白の場合はステップS205及びS206で右側白画素
連続カウンタWXCRを、ステップS206で検索X座
標XRをカウントアップする。
【0065】ステップS204において画素J(XR,
Y)が白でない場合は、ステップS207でOKRをセ
ットした後ステップS208で、今まで記憶していた右
側端点の最大値XRMと今回の端点XRを比較し、XR
の方が大きい場合(より右側にある場合)はステップS
209においてXRを新たな右端点XRMとする。
Y)が白でない場合は、ステップS207でOKRをセ
ットした後ステップS208で、今まで記憶していた右
側端点の最大値XRMと今回の端点XRを比較し、XR
の方が大きい場合(より右側にある場合)はステップS
209においてXRを新たな右端点XRMとする。
【0066】次にステップS211〜S217で上記と
同じ処理を左側について行う。右側の検索と相異するの
は、ステップS214で検索X座標XLをカウントダウ
ンすることと、ステップS216及びS217で記憶し
ていた左側端点のXLMと今回の端点XLの小さい方
(より左側にある方)XLを左端点XLMとすることで
ある。
同じ処理を左側について行う。右側の検索と相異するの
は、ステップS214で検索X座標XLをカウントダウ
ンすることと、ステップS216及びS217で記憶し
ていた左側端点のXLMと今回の端点XLの小さい方
(より左側にある方)XLを左端点XLMとすることで
ある。
【0067】一つの走査ラインで左右端を検出し、ステ
ップS221で走査終了フラグOKL、OKRの両方が
セットされたと判断された場合は、ステップS222で
このフラグをクリア(=0)し、ステップS223で検
索ラインYを増加し、この処理を終了する。
ップS221で走査終了フラグOKL、OKRの両方が
セットされたと判断された場合は、ステップS222で
このフラグをクリア(=0)し、ステップS223で検
索ラインYを増加し、この処理を終了する。
【0068】図10,図11,図12は前記図3のステ
ップS11の詳細フローチャートを示すものである。こ
の処理はウインドウのY方向の座標を検出するもので、
左右それぞれの眼において行われる。
ップS11の詳細フローチャートを示すものである。こ
の処理はウインドウのY方向の座標を検出するもので、
左右それぞれの眼において行われる。
【0069】また、この処理は、大きく分けて黒領域2
点の検索部分と、眼鏡の有無検索部分との二つに分かれ
る。
点の検索部分と、眼鏡の有無検索部分との二つに分かれ
る。
【0070】黒領域2点の検索部分では、左眼に関して
図14に示すように、左眼ウインドウの右側X座標X2
から10ドット左側、すなわちX2 −10を始点とし
(これは鼻の穴の黒い部分の検出を避けるためであ
る。)、この位置から横方向(X方向)にX2 −90ま
でを範囲とし、検索開始のY座標YLから0の範囲で縦
方向上方(Y方向)へ検索し、これを横方向4ドットの
間隔毎に行っていく。Y座標YLは左右端を決定した走
査ラインの下方に設定する。
図14に示すように、左眼ウインドウの右側X座標X2
から10ドット左側、すなわちX2 −10を始点とし
(これは鼻の穴の黒い部分の検出を避けるためであ
る。)、この位置から横方向(X方向)にX2 −90ま
でを範囲とし、検索開始のY座標YLから0の範囲で縦
方向上方(Y方向)へ検索し、これを横方向4ドットの
間隔毎に行っていく。Y座標YLは左右端を決定した走
査ラインの下方に設定する。
【0071】また、右眼に関しては右眼ウインドウ左側
X座標XX1 から10ドット右側、すなわちXX1 +1
0を始点とし、この位置から横方向(X方向)にXX1
+90までを範囲とし、Y座標YLから0の範囲で縦方
向上方(Y方向)へ検索し、これを横方向4ドットの間
隔毎に行っていく。
X座標XX1 から10ドット右側、すなわちXX1 +1
0を始点とし、この位置から横方向(X方向)にXX1
+90までを範囲とし、Y座標YLから0の範囲で縦方
向上方(Y方向)へ検索し、これを横方向4ドットの間
隔毎に行っていく。
【0072】眼鏡の有無検出部では、左眼に関して図1
5に示すように、左眼ウインドウの右側X座標X2 から
左眼ウインドウの左側X座標X1への横方向(X方向)
の範囲で、また、右眼に関しては右眼ウインドウの左側
X座標XX1 から右眼ウインドウの右側X座標XX2 へ
の横方向(X方向)の範囲で後述するように検索する。
5に示すように、左眼ウインドウの右側X座標X2 から
左眼ウインドウの左側X座標X1への横方向(X方向)
の範囲で、また、右眼に関しては右眼ウインドウの左側
X座標XX1 から右眼ウインドウの右側X座標XX2 へ
の横方向(X方向)の範囲で後述するように検索する。
【0073】以下、左目ウインドウのY方向の幅を決定
する処理について図10,図11,図12に基づいて説
明する。
する処理について図10,図11,図12に基づいて説
明する。
【0074】まず、ステップS301において、一番目
と二番目の黒領域のY座標の最大値(最下点)のメモリ
変数BY1MAXおよびBY2MAXがクリアされ、X
方向の検出範囲規定カウンタXCHECKがX2 −10
に、また、Y方向の検索範囲規定カウンタYCHECK
がYLに初期化される。
と二番目の黒領域のY座標の最大値(最下点)のメモリ
変数BY1MAXおよびBY2MAXがクリアされ、X
方向の検出範囲規定カウンタXCHECKがX2 −10
に、また、Y方向の検索範囲規定カウンタYCHECK
がYLに初期化される。
【0075】つぎに、ステップS302でX方向の検索
範囲規定カウンタXCHECKがX2 −90以下か否か
が判別される。この判別はX方向へすべて検索したか否
かを判別するものである。このときは、未だ、X方向全
ての検索を終了していないからステップS303へ移行
し、一番目の黒領域を検出したフラグFL1、黒色画素
連続カウンタBLACK、白色画素連続カウンタWHI
TE、一番目の黒領域と二番目の黒領域との間隔が10
ドット以上あるフラグWHITEFLおよび一番目の黒
領域と二番目の黒領域のそれぞれの最大値記憶バッファ
BY1およびBY2がクリアされる。
範囲規定カウンタXCHECKがX2 −90以下か否か
が判別される。この判別はX方向へすべて検索したか否
かを判別するものである。このときは、未だ、X方向全
ての検索を終了していないからステップS303へ移行
し、一番目の黒領域を検出したフラグFL1、黒色画素
連続カウンタBLACK、白色画素連続カウンタWHI
TE、一番目の黒領域と二番目の黒領域との間隔が10
ドット以上あるフラグWHITEFLおよび一番目の黒
領域と二番目の黒領域のそれぞれの最大値記憶バッファ
BY1およびBY2がクリアされる。
【0076】つぎに、ステップS304で検索画素が黒
か否かが判別され、黒の場合は白色画素連続カウンタW
HITEをクリアし(ステップS305)、黒色画素連
続カウンタBLACKをカウントアップする(ステップ
S306)。そして、ステップS307で黒色画素連続
カウンタBLACKの黒画素が1か否かが判別される。
これは黒画素の検出が初めてか否かを判断するものであ
る。黒画素が1の場合は黒領域の最下点Y座標候補とし
てY方向の検索範囲規定カウンタYCHECKでカウン
トされた現Y座標をSETYに記憶する。例えば図14
で“1”としてあるY座標を記憶する。つぎに、ステッ
プS309で黒画素連続カウンタBLACKの黒画素が
2以上か否かが判別され、黒画素が2以上の場合は一番
目の黒領域を検出したフラグFL1がセットされている
か否かが判別される(ステップS310)。フラグFL
1がセットされていない場合は、ステップS311へ移
行し、一番目の黒領域の最大値記憶バッファBY1にS
ETYの値を代入して保管し、フラグFL1をセットす
る。そして、ステップS328でY座標YCをカウント
ダウンし、一つ上の画素の検索に移る。
か否かが判別され、黒の場合は白色画素連続カウンタW
HITEをクリアし(ステップS305)、黒色画素連
続カウンタBLACKをカウントアップする(ステップ
S306)。そして、ステップS307で黒色画素連続
カウンタBLACKの黒画素が1か否かが判別される。
これは黒画素の検出が初めてか否かを判断するものであ
る。黒画素が1の場合は黒領域の最下点Y座標候補とし
てY方向の検索範囲規定カウンタYCHECKでカウン
トされた現Y座標をSETYに記憶する。例えば図14
で“1”としてあるY座標を記憶する。つぎに、ステッ
プS309で黒画素連続カウンタBLACKの黒画素が
2以上か否かが判別され、黒画素が2以上の場合は一番
目の黒領域を検出したフラグFL1がセットされている
か否かが判別される(ステップS310)。フラグFL
1がセットされていない場合は、ステップS311へ移
行し、一番目の黒領域の最大値記憶バッファBY1にS
ETYの値を代入して保管し、フラグFL1をセットす
る。そして、ステップS328でY座標YCをカウント
ダウンし、一つ上の画素の検索に移る。
【0077】ステップS310でフラグFL1がセット
されている場合はステップS312へ移行し、一番目の
黒領域と二番目の黒領域の間隔が10ドット以上あるフ
ラグWHITEFLがセットされているか否かが判別さ
れる。そして、フラグWHITEFLがセットされてい
る場合は二番目の黒領域を検出したことになるのでステ
ップS313で二番目の黒領域の最大値記憶バッファB
Y2にSETYの値を代入して保管する。例えば、図1
4で“2”と示してあるY座標を保管する。またステッ
プS312でフラグWHITEFLがセットされていな
い場合は、一番目の黒領域と二番目の黒領域の間隔が狭
く両者の差が明確でないのでステップS314へ移行
し、黒画素の連続数が50ドットを越えるか否かが判別
される。黒画素の連続数が50ドットを越えている場合
は頭髪を検出したことになるためステップS315へ移
行してバッファBY2をクリアし、また、50ドットを
越えていない場合はステップS328へ移行しY座標Y
Cを一つ上の画素の検索に移る。
されている場合はステップS312へ移行し、一番目の
黒領域と二番目の黒領域の間隔が10ドット以上あるフ
ラグWHITEFLがセットされているか否かが判別さ
れる。そして、フラグWHITEFLがセットされてい
る場合は二番目の黒領域を検出したことになるのでステ
ップS313で二番目の黒領域の最大値記憶バッファB
Y2にSETYの値を代入して保管する。例えば、図1
4で“2”と示してあるY座標を保管する。またステッ
プS312でフラグWHITEFLがセットされていな
い場合は、一番目の黒領域と二番目の黒領域の間隔が狭
く両者の差が明確でないのでステップS314へ移行
し、黒画素の連続数が50ドットを越えるか否かが判別
される。黒画素の連続数が50ドットを越えている場合
は頭髪を検出したことになるためステップS315へ移
行してバッファBY2をクリアし、また、50ドットを
越えていない場合はステップS328へ移行しY座標Y
Cを一つ上の画素の検索に移る。
【0078】前記ステップS304で検索画素が白の場
合にはステップS316へ移行して黒色画素連続カウン
タBLACKをクリアし、ステップS317で一番目の
黒領域を検出したフラグFL1がセットされているか否
かが判別される。そして、フラグFL1がセットされて
いない場合は、未だ黒領域が一つも検出されていないた
めステップS328へ移行しY座標YCをカウントダウ
ンし、一つ上の画素の検索に移る。フラグFL1がセッ
トされている場合にはステップS318へ移行し、白色
画素連続カウンタWHITEをカウントアップする。そ
して、ステップS319で白画素が10ドット以上連続
したか否かが判別され、10ドット以上連続した場合は
眼と眉の間か、眼鏡フレームと眼の間を検出したものと
してステップS319へ移行し、一番目の黒領域と二番
目の黒領域の間隔が10ドット以上あるフラグWHIT
EFLをセットする。また、白画素が10ドット以上連
続していない場合はステップS328へ移行しY座標Y
Cをカウントダウンし、一つ上の画素の検索に移る。
合にはステップS316へ移行して黒色画素連続カウン
タBLACKをクリアし、ステップS317で一番目の
黒領域を検出したフラグFL1がセットされているか否
かが判別される。そして、フラグFL1がセットされて
いない場合は、未だ黒領域が一つも検出されていないた
めステップS328へ移行しY座標YCをカウントダウ
ンし、一つ上の画素の検索に移る。フラグFL1がセッ
トされている場合にはステップS318へ移行し、白色
画素連続カウンタWHITEをカウントアップする。そ
して、ステップS319で白画素が10ドット以上連続
したか否かが判別され、10ドット以上連続した場合は
眼と眉の間か、眼鏡フレームと眼の間を検出したものと
してステップS319へ移行し、一番目の黒領域と二番
目の黒領域の間隔が10ドット以上あるフラグWHIT
EFLをセットする。また、白画素が10ドット以上連
続していない場合はステップS328へ移行しY座標Y
Cをカウントダウンし、一つ上の画素の検索に移る。
【0079】つぎに、ステップS321で白画素が80
ドット以上連続したか否かが判別され、80ドット以上
連続した場合は眉毛を検出せず顔を検出したことになる
からステップS322へ移行し、二番目の黒領域の最大
値記憶バッファBY2をクリアする。また、白画素80
ドット以上連続していない場合はステップS328へ移
行し、Y座標YCをカウントダウンし、一つ上の画素の
検索に移る。
ドット以上連続したか否かが判別され、80ドット以上
連続した場合は眉毛を検出せず顔を検出したことになる
からステップS322へ移行し、二番目の黒領域の最大
値記憶バッファBY2をクリアする。また、白画素80
ドット以上連続していない場合はステップS328へ移
行し、Y座標YCをカウントダウンし、一つ上の画素の
検索に移る。
【0080】つぎに、一番目と二番目の黒領域の候補点
としてのそれぞれのバッファBY1およびBY2が決定
されると、ステップS323において、候補点としての
バッファBY1の値を今までに記憶された一番目の黒領
域値の最大値(最下点)BY1MAXと比較し、より大
きい方をBY1MAXとして記憶する(ステップS32
4)。例えば、図14において中央部の1のY座標がB
Y1MAXとして記憶される。続いて、ステップS32
5において、候補点としてのバッファBY2の値を今ま
でに記憶された二番目の黒領域の最大値(最下点)BY
2MAXと比較し、より大きい方をBY2MAXとして
記憶する。例えば、図14において、右側の2のY座標
がBY2MAXとして記憶される。
としてのそれぞれのバッファBY1およびBY2が決定
されると、ステップS323において、候補点としての
バッファBY1の値を今までに記憶された一番目の黒領
域値の最大値(最下点)BY1MAXと比較し、より大
きい方をBY1MAXとして記憶する(ステップS32
4)。例えば、図14において中央部の1のY座標がB
Y1MAXとして記憶される。続いて、ステップS32
5において、候補点としてのバッファBY2の値を今ま
でに記憶された二番目の黒領域の最大値(最下点)BY
2MAXと比較し、より大きい方をBY2MAXとして
記憶する。例えば、図14において、右側の2のY座標
がBY2MAXとして記憶される。
【0081】このようにして、一番目の黒領域の最下点
BY1MAXと二番目の黒領域の最下点BY2MAXが
決定される。
BY1MAXと二番目の黒領域の最下点BY2MAXが
決定される。
【0082】つぎに、眼鏡の有無の検索を行う。まず、
図12のステップS329において、二番目の黒領域の
最大値記憶バッファBY2が検出されているか否かを判
別し、このBY2の値からステップS330、S331
で眼鏡検出のY座標BYHを求める。すなわち、二番目
の黒領域の最大値記憶バッファBY2がなく、一番目の
黒領域の最大値記憶バッファBY1のみの場合は、BY
H=BY1+10とし(ステップS330)、二番目の
黒領域の最大値記憶バッファBY2がある場合は、BY
H=(BY1+BY2)/2とする(ステップS33
1)。
図12のステップS329において、二番目の黒領域の
最大値記憶バッファBY2が検出されているか否かを判
別し、このBY2の値からステップS330、S331
で眼鏡検出のY座標BYHを求める。すなわち、二番目
の黒領域の最大値記憶バッファBY2がなく、一番目の
黒領域の最大値記憶バッファBY1のみの場合は、BY
H=BY1+10とし(ステップS330)、二番目の
黒領域の最大値記憶バッファBY2がある場合は、BY
H=(BY1+BY2)/2とする(ステップS33
1)。
【0083】なお、ステップS331でBYHをBY1
とBY2との中間点としているが、これはBY1とBY
2の間の点であればよいものである。
とBY2との中間点としているが、これはBY1とBY
2の間の点であればよいものである。
【0084】つぎに、ステップS332で、黒画素の数
をカウントする黒色画素カウンタBLACKXをクリア
し、画素座標XC、YCに初期値XC=X2(XC=X
X1 )、YC=BYHを設定する(ステップS333、
S334)。ステップS335で画素Jが黒か否かが検
索され、黒の場合はX方向へ黒色画素カウンタBLAC
KXを左眼のときはXC=X2 からカウントアップし、
右眼のときはXC=XX1 からカウントダウンする(ス
テップS336、S337)。ステップS338でX方
向へ、左眼ではXX1 を越えるまで、右眼ではX2 を下
回るまで検索したか否かが判別され、XX1 を越え又は
X2 を下回るまで検索が終了するとステップS339へ
移行し、黒色画素カウンタBLACKXの値が3以上か
否かが判別される。黒色画素カウンタBLACKXの値
が3未満の場合は眼鏡中央部のフレームを検出したと判
別してステップS340へ移行し、眼鏡無しカウンタM
EGOFFをカウントアップする。
をカウントする黒色画素カウンタBLACKXをクリア
し、画素座標XC、YCに初期値XC=X2(XC=X
X1 )、YC=BYHを設定する(ステップS333、
S334)。ステップS335で画素Jが黒か否かが検
索され、黒の場合はX方向へ黒色画素カウンタBLAC
KXを左眼のときはXC=X2 からカウントアップし、
右眼のときはXC=XX1 からカウントダウンする(ス
テップS336、S337)。ステップS338でX方
向へ、左眼ではXX1 を越えるまで、右眼ではX2 を下
回るまで検索したか否かが判別され、XX1 を越え又は
X2 を下回るまで検索が終了するとステップS339へ
移行し、黒色画素カウンタBLACKXの値が3以上か
否かが判別される。黒色画素カウンタBLACKXの値
が3未満の場合は眼鏡中央部のフレームを検出したと判
別してステップS340へ移行し、眼鏡無しカウンタM
EGOFFをカウントアップする。
【0085】以上の処理を左眼の検索範囲内で行い、ス
テップS341で眼鏡無しカウンタMEGOFFの値が
5を越えるか否かが判別される。
テップS341で眼鏡無しカウンタMEGOFFの値が
5を越えるか否かが判別される。
【0086】眼鏡無しカウンタMEGOFFの値が5よ
り大きい場合は眼鏡をかけていないものと判断してステ
ップS342へ移行し、一番目に検出した黒領域のY座
標の最下点BY1MAXを基準にしてウインドウの縦方
向(Y方向)の幅を規定するY座標YT、YBを、YT
=BY1MAX−40、YB=BY1MAX+10に設
定する。また、眼鏡無しカウンタMEGOFFの値が5
より小さい場合は眼鏡をかけているものと判断してステ
ップS343へ移行し、二番目に検出した黒領域のY座
標の最下点BY2MAXを基準にしてウインドウの縦方
向(Y方向)の幅を規定するY座標YT、YBを、YT
=BY2MAX−40、YB=BY2MAX+10に設
定する。
り大きい場合は眼鏡をかけていないものと判断してステ
ップS342へ移行し、一番目に検出した黒領域のY座
標の最下点BY1MAXを基準にしてウインドウの縦方
向(Y方向)の幅を規定するY座標YT、YBを、YT
=BY1MAX−40、YB=BY1MAX+10に設
定する。また、眼鏡無しカウンタMEGOFFの値が5
より小さい場合は眼鏡をかけているものと判断してステ
ップS343へ移行し、二番目に検出した黒領域のY座
標の最下点BY2MAXを基準にしてウインドウの縦方
向(Y方向)の幅を規定するY座標YT、YBを、YT
=BY2MAX−40、YB=BY2MAX+10に設
定する。
【0087】以上の処理を左右両眼において行うことに
よりそれぞれの眼のウインドウが設定される。
よりそれぞれの眼のウインドウが設定される。
【0088】このようにウインドウ設定に関しては、顔
の幅方向端で左右別個にウインドウの横の範囲を決定す
る事としたため、顔の向きにより赤外線ストロボの照射
画像に影が発生する場合でもその影響が排除される。
の幅方向端で左右別個にウインドウの横の範囲を決定す
る事としたため、顔の向きにより赤外線ストロボの照射
画像に影が発生する場合でもその影響が排除される。
【0089】また、ウインドウの縦方向の範囲の設定に
於いても、例えば僅か2点の黒領域を僅か20回の縦方
向の走査をするだけで設定できるため、横方向範囲設定
と同様に影や少しの画像の変化でも正確なウインドウの
設定を高速に行うことが可能となった。
於いても、例えば僅か2点の黒領域を僅か20回の縦方
向の走査をするだけで設定できるため、横方向範囲設定
と同様に影や少しの画像の変化でも正確なウインドウの
設定を高速に行うことが可能となった。
【0090】さらに、あらゆる顔画像に対しても、最大
でも眉から下の画像の変化のほとんど無い部分で検索を
行うため、帽子を被っている場合、眼鏡を装着している
場合に於いても、眼球存在領域の特定が正確にでき居眠
り、わき見の検出が可能となった。
でも眉から下の画像の変化のほとんど無い部分で検索を
行うため、帽子を被っている場合、眼鏡を装着している
場合に於いても、眼球存在領域の特定が正確にでき居眠
り、わき見の検出が可能となった。
【0091】そして、図3のフローチャートのステップ
S12で、2値化した画像J(X,Y)から上記で設定
されたウインドウ内に対する虹彩部分を検出する処理が
行われる。虹彩は、一般に暗い円形領域として観測され
るから、この円形領域を検出してその領域面積を認識す
れば、運転者の居眠りの有無等が判定できる。
S12で、2値化した画像J(X,Y)から上記で設定
されたウインドウ内に対する虹彩部分を検出する処理が
行われる。虹彩は、一般に暗い円形領域として観測され
るから、この円形領域を検出してその領域面積を認識す
れば、運転者の居眠りの有無等が判定できる。
【0092】図16は、虹彩の検出原理を示す説明図で
ある。
ある。
【0093】今、ウインドウ内の任意の点(x,y)を
中心とする半径Rの円を設定するとともに、点(x,
y)を中心として放射状に4つの矩形を設定する。この
矩形は、円の内外方にそれぞれP画素だけ延在するよう
に設定される。そして、円より外方の矩形白抜き部の明
度値の総和と、円より内方の矩形ハッチング部の明度値
の総和との差δを求める。
中心とする半径Rの円を設定するとともに、点(x,
y)を中心として放射状に4つの矩形を設定する。この
矩形は、円の内外方にそれぞれP画素だけ延在するよう
に設定される。そして、円より外方の矩形白抜き部の明
度値の総和と、円より内方の矩形ハッチング部の明度値
の総和との差δを求める。
【0094】これを上記任意の点(x,y)においてR
min〜Rmaxまで行い、差δの最大値を△としてこ
れを求める。つぎに、点(x,y)を中心として同様な
演算を行い、差δの最大値が上記最大値△より大きけれ
ば、今回演算されたδの最大値を最大値として記憶す
る。このような演算をウインドウ内の全画素点を中心と
して行い最大値△を出力する。
min〜Rmaxまで行い、差δの最大値を△としてこ
れを求める。つぎに、点(x,y)を中心として同様な
演算を行い、差δの最大値が上記最大値△より大きけれ
ば、今回演算されたδの最大値を最大値として記憶す
る。このような演算をウインドウ内の全画素点を中心と
して行い最大値△を出力する。
【0095】これは、ウインドウ内に虹彩が存在すると
き、虹彩は他の領域に比べて輝度が低い円形図形として
検出され、虹彩を中心に求められる上記差δが最大とな
るという原理に基づいている。
き、虹彩は他の領域に比べて輝度が低い円形図形として
検出され、虹彩を中心に求められる上記差δが最大とな
るという原理に基づいている。
【0096】図17は以上の処理のフローチャートを示
すものである。
すものである。
【0097】まず、ステップS901で、ウインドウ内
を走査するカウンターx,yをLにリセットする。な
お、ここで設定されたウインドウの大きさは、x方向M
ドット、y方向Nドットとする。つぎに、ステップS9
02で、虹彩検出の中心座標の点J(x,y)が黒いか
否かが判別され、黒い場合はステップS903へ移行
し、検出半径RをRminとする。つづいて、ステップ
S904およびS905において、△およびpをリセッ
トする。
を走査するカウンターx,yをLにリセットする。な
お、ここで設定されたウインドウの大きさは、x方向M
ドット、y方向Nドットとする。つぎに、ステップS9
02で、虹彩検出の中心座標の点J(x,y)が黒いか
否かが判別され、黒い場合はステップS903へ移行
し、検出半径RをRminとする。つづいて、ステップ
S904およびS905において、△およびpをリセッ
トする。
【0098】つぎに、ステップS906乃至S908
で、具体的に白い部分に囲まれた黒い円形領域として検
出する。すなわち、ステップS906において式の前半
の4項J(x+R+p,y),J(x,y−R−p),
J(x−R−p,y),J(x,y+R+p)はそれぞ
れ座標中心(x,y)から半径R+p離れた右、下、
左、上の位置の明度を表わし、式の後半の4項J(x+
R−p−1,y),J(x,y−R+p+1),J(x
−R+p+1,y),J(x,y+R−p−1)はそれ
ぞれ中心座標(x,y)から半径R−(p+1)離れた
右、下、左、上の位置の明度を表わしている。そして、
ステップS907でpを1ずつ増加させp−1まで変化
させてステップS906乃至ステップS908を繰返し
実行し、半径Rminにおける図16の矩形白抜き部の
明度値総和(ステップS906の式の前半4項の和)と
矩形ハッチング部の明度値総和(ステップS6の式の後
半4項の和)の差δが最大値△として求められる(ステ
ップS910)。つぎに、ステップS911で半径Rm
in+1として再度ステップS905へ移行し、ステッ
プS906乃至ステップS908を繰返し実行すること
により半径Rmin+1としたときの矩形領域の明度差
δを求める。この明度差δが第1回目の半径Rminに
ついて演算された△よりも大きければ、その明度差δを
最大値△とする。このような操作を半径Rmaxまで繰
返して行い、任意の点(x,y)について最大明度差△
が求まる(ステップS912)。これは、検出する虹彩
の半径は、個人あるいはカメラと乗員の距離によって異
なるため、検出半径にあるゾーン(Rmin〜Rma
x)を設けるためである。
で、具体的に白い部分に囲まれた黒い円形領域として検
出する。すなわち、ステップS906において式の前半
の4項J(x+R+p,y),J(x,y−R−p),
J(x−R−p,y),J(x,y+R+p)はそれぞ
れ座標中心(x,y)から半径R+p離れた右、下、
左、上の位置の明度を表わし、式の後半の4項J(x+
R−p−1,y),J(x,y−R+p+1),J(x
−R+p+1,y),J(x,y+R−p−1)はそれ
ぞれ中心座標(x,y)から半径R−(p+1)離れた
右、下、左、上の位置の明度を表わしている。そして、
ステップS907でpを1ずつ増加させp−1まで変化
させてステップS906乃至ステップS908を繰返し
実行し、半径Rminにおける図16の矩形白抜き部の
明度値総和(ステップS906の式の前半4項の和)と
矩形ハッチング部の明度値総和(ステップS6の式の後
半4項の和)の差δが最大値△として求められる(ステ
ップS910)。つぎに、ステップS911で半径Rm
in+1として再度ステップS905へ移行し、ステッ
プS906乃至ステップS908を繰返し実行すること
により半径Rmin+1としたときの矩形領域の明度差
δを求める。この明度差δが第1回目の半径Rminに
ついて演算された△よりも大きければ、その明度差δを
最大値△とする。このような操作を半径Rmaxまで繰
返して行い、任意の点(x,y)について最大明度差△
が求まる(ステップS912)。これは、検出する虹彩
の半径は、個人あるいはカメラと乗員の距離によって異
なるため、検出半径にあるゾーン(Rmin〜Rma
x)を設けるためである。
【0099】以下、この処理をx=1〜Mまで、y=1
〜Nまでウインドウ全体に亘って行う。このような処理
によって求まる△maxは、虹彩の中心について演算さ
れた明度差である。そして、開眼時と閉眼時とではこの
明度差△は大きく異なるため、この最大明度差△を用い
て開眼か閉眼かの判別が容易になる。
〜Nまでウインドウ全体に亘って行う。このような処理
によって求まる△maxは、虹彩の中心について演算さ
れた明度差である。そして、開眼時と閉眼時とではこの
明度差△は大きく異なるため、この最大明度差△を用い
て開眼か閉眼かの判別が容易になる。
【0100】このようにして虹彩を検出することにした
ため、運転者の開眼、閉眼状態を確実且つ迅速にモニタ
リングすることも可能となった。これにより、運転者の
居眠り、わき見の検出を行うこどができるという効果が
得られる。
ため、運転者の開眼、閉眼状態を確実且つ迅速にモニタ
リングすることも可能となった。これにより、運転者の
居眠り、わき見の検出を行うこどができるという効果が
得られる。
【0101】つぎに、前記図3のフローチャートのステ
ップS13における、居眠りわき見の判定において、開
眼または閉眼の判別は、ステップS12で算出されたウ
インドウ内での最大明度差△をしきい値処理し、明度差
△≧Th(しきい値)のときは開眼、明度差△≦Thの
ときは閉眼であると判断する。
ップS13における、居眠りわき見の判定において、開
眼または閉眼の判別は、ステップS12で算出されたウ
インドウ内での最大明度差△をしきい値処理し、明度差
△≧Th(しきい値)のときは開眼、明度差△≦Thの
ときは閉眼であると判断する。
【0102】まばたきした場合にも上記の虹彩検出処理
で閉眼と判断されることがあるから、1回の虹彩検出処
理で運転者が居眠りをしていると判断すると誤判断する
ことがあるため、同一の虹彩検出処理を複数回繰返し実
行し、ある所定回数以上連続して閉眼が認識されたとき
に居眠りしていると判定する。
で閉眼と判断されることがあるから、1回の虹彩検出処
理で運転者が居眠りをしていると判断すると誤判断する
ことがあるため、同一の虹彩検出処理を複数回繰返し実
行し、ある所定回数以上連続して閉眼が認識されたとき
に居眠りしていると判定する。
【0103】例えば、図18に示すように、黒点で示す
時間間隔ごとに画像が入力され、そして虹彩検出処理の
結果、閉眼と判断される回数が3回連続したときは運転
者が居眠りしていると判定する。
時間間隔ごとに画像が入力され、そして虹彩検出処理の
結果、閉眼と判断される回数が3回連続したときは運転
者が居眠りしていると判定する。
【0104】また、片目のみが閉眼と判断した場合は、
実際には閉眼でなく、わき見をしているために原画面か
ら片目が外れているものと考えられる。従って居眠り判
断と同様に3回連続して片目が閉眼していると判断され
たときには、わき見と判定する。
実際には閉眼でなく、わき見をしているために原画面か
ら片目が外れているものと考えられる。従って居眠り判
断と同様に3回連続して片目が閉眼していると判断され
たときには、わき見と判定する。
【0105】
【発明の効果】以上の説明で明らかなように、本発明に
関わる運転者の眼位置検出装置は、輪郭線の安定部分の
検出等の輪郭線の連続性を検索している部分からノイズ
を除くこととなり、外光が片側から当ったり横を向いた
顔画像において鼻穴の高さ付近で輪郭線が消失しても、
運転者の眼球を含む領域の横方向の範囲を正確に決定す
ることが可能となった。
関わる運転者の眼位置検出装置は、輪郭線の安定部分の
検出等の輪郭線の連続性を検索している部分からノイズ
を除くこととなり、外光が片側から当ったり横を向いた
顔画像において鼻穴の高さ付近で輪郭線が消失しても、
運転者の眼球を含む領域の横方向の範囲を正確に決定す
ることが可能となった。
【0106】また顔の左右端を検出した後、入力画像の
眼球を検索する領域の濃淡情報のみを利用し、しきい値
を算出する構成としたため、外光条件により顔面左右の
照度が不均一であっても、各々の眼球に関して検出に適
正なしきい値を設定することが可能となり、より正確に
眼球存在領域を特定することが可能となった。
眼球を検索する領域の濃淡情報のみを利用し、しきい値
を算出する構成としたため、外光条件により顔面左右の
照度が不均一であっても、各々の眼球に関して検出に適
正なしきい値を設定することが可能となり、より正確に
眼球存在領域を特定することが可能となった。
【図1】この発明の構成図である。
【図2】本発明の一実施例に係る構成図である。
【図3】図2の構成に基づくフローチャートである。
【図4】第一2値化画像の説明図である。
【図5】第一2値化画像におけるラベリングの説明図で
ある。
ある。
【図6】第二2値化画像の説明図である。
【図7】ウインドウの横方向の位置を決定するフローチ
ャートである。
ャートである。
【図8】ウインドウの横方向の位置を決定するフローチ
ャートである。
ャートである。
【図9】図7の処理の一部を詳細に説明するフローチャ
ートである。
ートである。
【図10】ウインドウの縦方向の範囲設定処理のフロー
チャートである。
チャートである。
【図11】ウインドウの縦方向の範囲設定処理のフロー
チャートである。
チャートである。
【図12】ウインドウの縦方向の範囲設定処理のフロー
チャートである。
チャートである。
【図13】第二2値化画像における左右端点検出の説明
図である。
図である。
【図14】第三2値化画像における縦領域検出の説明図
である。
である。
【図15】第三2値化画像における縦領域検出の説明図
である。
である。
【図16】虹彩検出処理の原理説明図である。
【図17】虹彩検出処理のフローチャートである。
【図18】居眠り判断のための説明図である。
CL1 画像入力手段 CL2 第一2値化手段 CL3 連結成分領域抽出手段 CL4 面積測定手段 CL5 第二2値化手段 CL6 左右端点特定手段 CL7 しきい値設定手段 CL8 第三2値化手段 CL9 眼の縦領域決定手段
Claims (1)
- 【請求項1】 眼を含む顔画像を入力する画像入力手段
と、前記画像入力手段から送出される入力画像を2値化
して第一2値化画像を生成する手段と、前記第一2値化
画像において黒色画素から成る連結成分領域を抽出する
手段と、前記連結成分領域の面積を測定する手段と、前
記連結成分領域の面積が所定値以下の領域は黒色画素を
白色画素に変換して第二2値化画像を生成する手段と、
前記第二2値化画像から顔画像の輪郭線を判別すること
により顔面の左右端点を特定する手段と、前記特定した
顔面の左右端点の内側の領域の濃淡情報より眼を黒色画
素とするためのしきい値を設定する手段と、前記入力画
像を該しきい値により2値化して第三2値化画像を生成
する手段と、前記第三2値化画像において前記特定した
顔面の左右端の幅の内側を下側より縦方向上側へ走査し
黒色画素の配置状況により眼の存在領域の縦方向の位置
を決定する手段とからなることを特徴とする運転者の眼
位置検出装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3220633A JP2705388B2 (ja) | 1991-08-30 | 1991-08-30 | 運転者の眼位置検出装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3220633A JP2705388B2 (ja) | 1991-08-30 | 1991-08-30 | 運転者の眼位置検出装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0560515A JPH0560515A (ja) | 1993-03-09 |
JP2705388B2 true JP2705388B2 (ja) | 1998-01-28 |
Family
ID=16754033
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3220633A Expired - Fee Related JP2705388B2 (ja) | 1991-08-30 | 1991-08-30 | 運転者の眼位置検出装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2705388B2 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3346875B2 (ja) * | 1994-03-10 | 2002-11-18 | 三菱電機株式会社 | 車両用安全装置 |
JP2820030B2 (ja) * | 1994-06-29 | 1998-11-05 | 株式会社ニレコ | 画像表示装置 |
JP2000035313A (ja) * | 1998-07-15 | 2000-02-02 | Niles Parts Co Ltd | 居眠り運転警報装置 |
JP4103495B2 (ja) * | 2002-08-21 | 2008-06-18 | 日産自動車株式会社 | 顔の特徴量検出装置 |
US8045766B2 (en) | 2007-02-16 | 2011-10-25 | Denso Corporation | Device, program, and method for determining sleepiness |
JP4375420B2 (ja) | 2007-03-26 | 2009-12-02 | 株式会社デンソー | 眠気警報装置、及びプログラム |
JP4788786B2 (ja) | 2009-02-09 | 2011-10-05 | 株式会社デンソー | 眠気検出装置,プログラムおよび眠気検出方法 |
JP7122729B2 (ja) * | 2017-05-19 | 2022-08-22 | 株式会社ユピテル | ドライブレコーダー、ドライブレコーダー用表示装置及びプログラム |
-
1991
- 1991-08-30 JP JP3220633A patent/JP2705388B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0560515A (ja) | 1993-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2541688B2 (ja) | 眼位置検出装置 | |
JP2522859B2 (ja) | 眼位置検出装置 | |
JP2500726B2 (ja) | 上まぶた領域、目頭・目尻・上まぶた領域及び目の構造の検出方法及び装置 | |
JP4307496B2 (ja) | 顔部位検出装置及びプログラム | |
JP3143819B2 (ja) | まぶたの開度検出装置 | |
JP3938257B2 (ja) | 顔のような領域を検出する方法および装置、ならびに観察者トラッキングディスプレイ | |
JP4004634B2 (ja) | 顔映像の目位置検出装置及び方法 | |
JPH0944685A (ja) | 顔画像処理装置 | |
US7907752B2 (en) | Face center position detecting device, face center position detecting method, and computer-readable medium | |
JP2822799B2 (ja) | 運転者の状態検出装置 | |
JP2008113902A (ja) | 眼開度検出装置及び方法 | |
US6718050B1 (en) | Face-image processing apparatus | |
JPH06142045A (ja) | 眼科装置 | |
JP3395344B2 (ja) | 画像処理装置およびそれを用いた居眠り警報装置 | |
JP2705388B2 (ja) | 運転者の眼位置検出装置 | |
JPH07181012A (ja) | 画像データの特徴量検出装置 | |
JP2836238B2 (ja) | 運転車の眼位置検出装置及び状態検出装置 | |
JP2936943B2 (ja) | 運転者の状態検出装置 | |
JP2677010B2 (ja) | 眼位置検出装置 | |
JP2932551B2 (ja) | 虹彩位置検出装置及び運転者の状態検出装置 | |
JP2541689B2 (ja) | 眼位置検出装置及び被検者状態検出装置 | |
JPH04216403A (ja) | 眼位置検出装置 | |
JP2008209969A (ja) | 顔特徴点検出装置、顔特徴点検出方法及びプログラム | |
JP3500891B2 (ja) | 居眠り状態検出装置 | |
JPH03194661A (ja) | 運転者の状態検出装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081009 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091009 Year of fee payment: 12 |
|
LAPS | Cancellation because of no payment of annual fees |