JP2023177049A - 腕検出装置 - Google Patents
腕検出装置 Download PDFInfo
- Publication number
- JP2023177049A JP2023177049A JP2022089741A JP2022089741A JP2023177049A JP 2023177049 A JP2023177049 A JP 2023177049A JP 2022089741 A JP2022089741 A JP 2022089741A JP 2022089741 A JP2022089741 A JP 2022089741A JP 2023177049 A JP2023177049 A JP 2023177049A
- Authority
- JP
- Japan
- Prior art keywords
- driver
- face
- arm
- area
- vehicle
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 104
- 230000005856 abnormality Effects 0.000 description 59
- 238000000034 method Methods 0.000 description 18
- 230000001815 facial effect Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 9
- 238000003384 imaging method Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 3
- 230000005484 gravity Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 229910019760 S109-No Inorganic materials 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
Images
Landscapes
- Traffic Control Systems (AREA)
- Image Analysis (AREA)
Abstract
【課題】ドライバが表された画像から、ドライバの腕を検出できる腕検出装置を提供する。【解決手段】腕検出装置は、車両10のドライバの顔を撮影した顔画像からドライバの顔が表された顔領域を検出する検出部31と、顔画像をそれぞれが第1のサイズを有する複数のブロックに分割し、複数のブロックのうち所定の輝度閾値よりも高い輝度を有する画素の数が所定の画素数閾値よりも多いブロックを高輝度ブロックとして特定する特定部32と、第1のサイズより大きい第2のサイズを有し、かつ、顔画像上の互いに異なる位置に設定される複数のウィンドウ領域の何れかについて、そのウィンドウ領域に含まれ、かつ、顔領域に含まれない高輝度ブロックの数が所定のブロック数閾値よりも多い場合、そのウィンドウ領域にドライバの腕が表されていると判定する判定部33とを有する。【選択図】図3
Description
本発明は、車両のドライバが表された画像から、ドライバの腕を検出する腕検出装置に関する。
車両のドライバの顔を撮像装置により撮像することで得られた画像に基づいて、ドライバの状態が車両の運転に適した状態か否かを判定することが検討されている。ドライバの状態を判定するためには、画像にドライバの顔が適切に表されていることが求められる。しかし、場合によっては、撮像装置とドライバの顔との間に何らかの遮蔽物が存在するために、画像上にドライバの顔が表されていないことがある。このような場合、画像に基づいてドライバの状態を判定することが困難となる。そこで、そのような遮蔽物を検出するための技術が提案されている(特許文献1を参照)。
特許文献1に開示された技術では、撮像装置は、撮像部が撮像した撮影画像を複数のセクションに分割するとともに、所定数のセクションを一つのブロックとして、撮像画像を複数のブロックに分割する。そしてこの撮像装置は、複数のブロックのそれぞれについて、そのブロックに含まれるセクションの遮蔽状態を検証し、少なくとも一つのブロックにおいて、セクションの遮蔽状態が被写体の撮像を妨げるような遮蔽状態である場合、遮蔽物があると判定する。
ドライバの腕がドライバの顔を隠す遮蔽物となることがある。そこで、ドライバが表された画像から、ドライバの腕をドライバの顔と区別して適切に検出することがもとめられる。
そこで、本発明は、ドライバが表された画像から、ドライバの腕を検出できる腕検出装置を提供することを目的とする。
一つの実施形態によれば、腕検出装置が提供される。この腕検出装置は、車両のドライバの顔を撮影した顔画像からドライバの顔が表された顔領域を検出する検出部と、顔画像をそれぞれが第1のサイズを有する複数のブロックに分割し、複数のブロックのうち所定の輝度閾値よりも高い輝度を有する画素の数が所定の画素数閾値よりも多いブロックを高輝度ブロックとして特定する特定部と、第1のサイズより大きい第2のサイズを有し、かつ、顔画像上の互いに異なる位置に設定される複数のウィンドウ領域の何れかについて、そのウィンドウ領域に含まれ、かつ、顔領域に含まれない高輝度ブロックの数が所定のブロック数閾値よりも多い場合、そのウィンドウ領域にドライバの腕が表されていると判定する判定部とを有する。
本開示に係る腕検出装置は、ドライバが表された画像から、ドライバの腕を検出できるという効果を奏する。
以下、図を参照しつつ、腕検出装置、及び、腕検出装置にて実行される腕検出方法及び腕検出用コンピュータプログラムについて説明する。この腕検出装置は、車室内に設けられたドライバモニタ用のカメラにより生成された、車両のドライバの顔を撮影することで得られた顔画像から、ドライバの顔が表された顔領域を検出する。さらに、この腕検出装置は、顔画像をそれぞれが第1のサイズを有する複数のブロックに分割し、複数のブロックのうち所定の輝度閾値よりも高い輝度を有する画素の数が所定の画素数閾値よりも多いブロックを高輝度ブロックとして特定する。さらに、この腕検出装置は、第1のサイズより大きい第2のサイズを有し、かつ互いに異なる位置に設定されるウィンドウ領域のそれぞれについて、そのウィンドウ領域に含まれ、かつ、顔領域に含まれない高輝度ブロックの数をカウントする。そしてこの腕検出装置は、何れかのウィンドウ領域においてカウントされた高輝度ブロックの数が所定のブロック数閾値よりも多い場合、そのウィンドウ領域にドライバの腕が表されていると判定する。
以下では、腕検出装置を、ドライバの状態を監視してドライバの状態に応じた運転支援などを実行する車両制御システムに実装した例について説明する。
図1は、腕検出装置を含む、車両制御システムの概略構成図である。本実施形態では、車両10に搭載され、かつ、車両10を制御する車両制御システム1は、ドライバモニタカメラ2と、通知機器3と、腕検出装置の一例である電子制御装置(ECU)4とを有する。ドライバモニタカメラ2及び通知機器3と、ECU4とは、コントローラエリアネットワークといった通信規格に準拠した車内ネットワークを介して互いに通信可能に接続される。なお、車両制御システム1は、車両10の周辺の領域を撮影してその周辺の領域が表された画像を生成する車外カメラ(図示せず)を有していてもよい。あるいは、車両制御システム1は、LiDARあるいはレーダといった、車両10から車両10の周囲に存在する物体までの距離を測定する距離センサ(図示せず)を有していてもよい。さらに、車両制御システム1は、GPS受信機といった、衛星からの信号に基づいて車両10の位置を測位するための測位機器(図示せず)を有していてもよい。さらにまた、車両制御システム1は、目的地までの走行予定ルートを探索するためのナビゲーション装置(図示せず)を有していてもよい。さらにまた、車両制御システム1は、車両10の自動運転制御において参照される地図情報を記憶するストレージ装置(図示せず)を有していてもよい。
ドライバモニタカメラ2は、撮像部の一例であり、CCDあるいはC-MOSなど、可視光または赤外光に感度を有する光電変換素子のアレイで構成された2次元検出器と、その2次元検出器上に撮影対象となる領域の像を結像する結像光学系を有する。ドライバモニタカメラ2は、赤外LEDといったドライバを照明するための光源をさらに有していてもよい。そしてドライバモニタカメラ2は、車両10のドライバシートに着座したドライバの顔がその撮影対象領域に含まれるように、すなわち、ドライバの顔を撮影可能なように、例えば、インストルメントパネルまたはその近傍にドライバへ向けて取り付けられる。そしてドライバモニタカメラ2は、所定の撮影周期(例えば1/30秒~1/10秒)ごとに撮影対象領域を撮影し、撮影対象領域が写った画像(以下、ドライバ画像と呼ぶ)を生成する。ドライバモニタカメラ2により得られたドライバ画像は、顔画像の一例であり、カラー画像であってもよく、あるいは、グレー画像であってもよい。ドライバモニタカメラ2は、ドライバ画像を生成する度に、その生成したドライバ画像を、車内ネットワークを介してECU4へ出力する。
通知機器3は、車両10の車室内に設けられ、ドライバに対して、光、音声、振動、文字表示あるいは画像表示にて所定の通知を行う機器である。そのために、通知機器3は、例えば、スピーカ、光源、振動子あるいは表示装置の少なくとも何れかを有する。そして通知機器3は、ECU4からドライバへの警告を表す通知を受け取ると、スピーカからの音声、光源の発光または点滅、振動子の振動、あるいは、表示装置への警告メッセージの表示により、ドライバへその警告を通知する。
ECU4は、車両10に適用される運転制御レベルに従って車両10を運転制御し、あるいは、ドライバによる車両10の運転を支援する。さらに、ECU4は、ドライバモニタカメラ2から受け取ったドライバ画像に基づいて、ドライバをモニターするとともに、ドライバに生じた異常を検出する。そしてECU4は、ドライバに異常が生じたと判定した場合に、ドライバに対して警告し、あるいは、車両10を緊急停止するよう、車両10を制御する。その際、ECU4は、ドライバ画像にドライバの腕が表されているか否か判定し、ドライバの腕によりドライバの顔が隠されている場合、ドライバの異常判定を行わないようにして、ドライバの異常の誤検出を防止する。
図2は、ECU4のハードウェア構成図である。図2に示されるように、ECU4は、通信インターフェース21と、メモリ22と、プロセッサ23とを有する。通信インターフェース21、メモリ22及びプロセッサ23は、それぞれ、別個の回路として構成されてもよく、あるいは、一つの集積回路として一体的に構成されてもよい。
通信インターフェース21は、ECU4を車内ネットワークに接続するためのインターフェース回路を有する。そして通信インターフェース21は、ドライバモニタカメラ2からドライバ画像を受信する度に、受信したドライバ画像をプロセッサ23へわたす。さらにまた、通信インターフェース21は、プロセッサ23からドライバへの警告を表す通知といった、通知機器3を介してドライバへ通知される情報を受け取ると、その情報を通知機器3へ出力する。
メモリ22は、記憶部の一例であり、例えば、揮発性の半導体メモリ及び不揮発性の半導体メモリを有する。そしてメモリ22は、ECU4のプロセッサ23により実行される腕検出処理において使用される各種のアルゴリズム及び各種のデータを記憶する。例えば、メモリ22は、ドライバの顔あるいは腕の検出などに利用される各種のパラメータを記憶する。さらに、メモリ22は、ドライバに異常が生じたか否かを判定するための判定条件(以下、単に異常判定条件と呼ぶことがある)を規定するためのパラメータを記憶する。さらにまた、メモリ22は、ドライバ画像及び腕検出処理の途中で生成される各種のデータを一時的に記憶する。さらにまた、メモリ22は、車両10を運転制御するために利用される各種のパラメータ及び各種のデータを記憶する。そのようなデータには、車外カメラにより生成された画像、距離センサにより生成された測距信号、GPS受信機により生成された車両10の位置を表す測位信号、ナビゲーション装置により生成された走行予定ルート、及び、地図情報が含まれる。
プロセッサ23は、1個または複数個のCPU(Central Processing Unit)及びその周辺回路を有する。プロセッサ23は、論理演算ユニット、数値演算ユニットあるいはグラフィック処理ユニットといった他の演算回路をさらに有していてもよい。そしてプロセッサ23は、所定の周期ごとに、腕検出処理を含む車両の運転制御処理を実行する。
図3は、腕検出処理を含む車両の運転制御処理に関する、プロセッサ23の機能ブロック図である。プロセッサ23は、顔検出部31と、特定部32と、判定部33と、姿勢検出部34と、異常判定部35と、警告処理部36と、車両制御部37とを有する。プロセッサ23が有するこれらの各部は、例えば、プロセッサ23上で動作するコンピュータプログラムにより実現される機能モジュールである。あるいは、プロセッサ23が有するこれらの各部は、プロセッサ23に設けられる、専用の演算回路であってもよい。なお、プロセッサ23が有するこれらの各部のうち、顔検出部31、特定部32及び判定部33により実行される処理が腕検出処理に対応する。そして顔検出部31、特定部32及び判定部33は、所定の周期ごとに、ドライバモニタカメラ2からECU4が受け取った最新のドライバ画像に対して腕検出処理を実行する。さらに、姿勢検出部34、異常判定部35、警告処理部36及び車両制御部37は、腕検出処理の結果を利用して、ドライバに異常が生じているか否かを判定し、その判定結果に応じて車両10を制御し、あるいは、ドライバに対する警告を実行する。
顔検出部31は、検出部の一例であり、ドライバ画像から、ドライバの顔が表された領域(以下、顔領域と呼ぶ)を検出する。
顔検出部31は、例えば、ドライバ画像を、画像からドライバの顔を検出するように予め学習された識別器に入力することで、そのドライバ画像から顔領域を検出する。顔検出部31は、そのような識別器として、例えば、Single Shot MultiBox DetectorあるいはFaster R-CNNといった、コンボリューショナルニューラルネットワーク(CNN)型のアーキテクチャを持つディープニューラルネットワーク(DNN)を利用することができる。あるいは、顔検出部31は、そのような識別器として、Vision Transformerといったself attention network型のアーキテクチャを有するDNNを利用してもよい。あるいはまた、顔検出部31は、そのような識別器として、サポートベクトルマシンまたはAdaBoost識別器といった、DNN以外の機械学習手法に基づく識別器を利用してもよい。このような識別器は、ドライバの顔が表された多数の教師画像を用いて、誤差逆伝搬法といった所定の学習手法に従って予め学習される。
顔検出部31は、検出した顔領域の位置及び範囲を表す情報(例えば、顔領域の左上端の座標及び右下端の座標)を、判定部33及び姿勢検出部34へ通知する。さらに、顔検出部31は、顔領域が検出されなかった場合、その旨を姿勢検出部34及び異常判定部35へ通知する。
特定部32は、ドライバ画像をそれぞれが第1のサイズ(例えば、10~30画素×10~30画素)を有する複数のブロックに分割する。そして特定部32は、複数のブロックのうち、所定の輝度閾値よりも高い輝度を有する画素の数が所定の画素数閾値よりも多いブロックを高輝度ブロックとして特定する。特定部32は、例えば、所定の輝度閾値を、ドライバ画像の各画素の輝度値のうちの最大値に、1未満の所定の係数(例えば、0.7~0.8)を乗じて得られる値に設定する。また、所定の画素数閾値は、一つのブロックに含まれる画素の総数に1未満の所定の係数(例えば、0.7~0.8)を乗じて得られる値に設定される。
上記のように、ドライバモニタカメラ2がインストルメントパネルの近傍に設けられる場合、ドライバモニタカメラ2から見て、ドライバの腕がドライバの顔を隠すように位置していることがある。例えば、ドライバがステアリングを保持し、あるいはステアリング周辺に配置されたスイッチ類を操作するために腕をそれらスイッチ類の何れかへ向けている場合に、ドライバの腕がドライバの顔を隠すことがある。このような場合、ドライバの腕は、ドライバの顔よりもドライバモニタカメラ2に近い。そのため、ドライバモニタカメラ2の光源から、あるいはインストルメントパネルから発した光がドライバの腕により反射されてドライバモニタカメラ2に達する光量は、その光がドライバの顔により反射されてドライバモニタカメラ2に達する光量よりも多くなる。したがって、ドライバ画像上では、ドライバの腕が表された画素の輝度値は、ドライバの顔が表された画素の輝度値よりも高くなることがある。そのため、高輝度ブロックは、ドライバの腕が表されている候補領域となる。
特定部32は、特定した個々の高輝度ブロックの位置を表す情報(例えば、個々の高輝度ブロックの左上端または中心の座標)を判定部33へ通知する。
判定部33は、ドライバ画像上に、第1のサイズより大きい第2のサイズを有し、かつ、互いに異なる位置に複数のウィンドウ領域を設定する。第2のサイズは、第1のサイズの数倍程度に設定される。すなわち、一つのウィンドウ領域に、第1のサイズを有するブロックが複数含まれるように、個々のウィンドウ領域が設定される。そして判定部33は、複数のウィンドウ領域のそれぞれについて、そのウィンドウ領域に含まれ、かつ、顔領域に含まれない高輝度ブロックの数を表すカウント値を算出する。
場合によっては、ドライバの顔の一部により反射されてドライバモニタカメラ2に達する光量が多いために、ドライバの顔の一部が表されたブロックが、高輝度ブロックとして検出されることがある。そこで、判定部33は、上記のように、顔領域に含まれない高輝度ブロックの数をカウントすることで、ドライバの顔の一部が表されている高輝度ブロックを誤って腕が表されている候補領域としてカウントすることを防止できる。
また、ドライバの腕がドライバの顔を隠す位置に存在している場合、ドライバの腕は、ドライバ画像上でのドライバの腕の大きさは、個々のブロックのサイズよりも大きくなると想定される。そのため、孤立した高輝度ブロックは、ドライバの腕以外のものを表している可能性が高い。そこで、判定部33は、カウント値の算出において、着目する高輝度ブロックに隣接する他の高輝度ブロックが存在しない場合、着目する高輝度ブロックをカウントしないようにしてもよい。
なお、判定部33は、着目する高輝度ブロックと着目するウィンドウ領域とが重複する領域がその高輝度ブロックに占める割合が所定割合以上となる場合に、着目する高輝度ブロックは着目するウィンドウ領域に含まれると判定する。同様に、判定部33は、着目する高輝度ブロックと顔領域とが重複する領域がその高輝度ブロックに占める割合が所定割合未満となる場合に、着目する高輝度ブロックは顔領域に含まれないと判定する。なお、所定割合は、例えば、0.5~1.0に設定される。
判定部33は、所定のオフセット量だけウィンドウ領域の位置をずらしながら上記の処理を繰り返すことで、ドライバ画像上に設定される複数のウィンドウ領域のそれぞれについてカウント値を算出する。そして判定部33は、何れかのウィンドウ領域についてカウント値が所定のブロック数閾値よりも大きい場合、そのウィンドウ領域を、ドライバの腕が表されている腕領域であると判定する。なお、互いに隣接し、あるいは部分的に重複する複数のウィンドウ領域のそれぞれに対してドライバの腕が表されていると判定された場合、判定部33は、それら複数のウィンドウ領域のうち、カウント値が最大となるウィンドウ領域を腕領域としてもよい。あるいは、判定部33は、それら複数のウィンドウ領域の集合領域を腕領域としてもよい。
一方、何れのウィンドウ領域についてもカウント値が所定のブロック数未満となる場合、判定部33は、ドライバ画像にドライバの腕は表されていないと判定する。
なお、判定部33は、ドライバ画像上で、車両10のステアリングなどの車室内に設けられる機器が写り込む領域には、ウィンドウ領域を設定しないようにしてもよい。また、判定部33は、ドライバ画像上で、リアウィンドウあるいはドアガラスが写り込む領域といった、車外からの光によって明るくなることが想定される領域についても、ウィンドウ領域を設定しないようにしてもよい。
図4は、腕領域検出の概要を説明する図である。図4に示されるように、ドライバ画像400から複数の高輝度ブロック401が検出されている。また、ドライバ画像400には、水平方向にブロックW個の幅を有し、垂直方向にブロックH個の高さを持つ複数のウィンドウ領域402-1~402-n(nは2以上の整数)が設定される。互いに隣接する二つのウィンドウ領域402-i、402-(i+1)は、水平方向に1ブロックのサイズ分だけずらして配置される。ただし、この例では、ドライバの腕以外の要因により明るくなることが想定される、ドライバ画像の下部近辺及び左右それぞれの端部近辺には何れのウィンドウ領域も配置されない。またこの例では、ブロック数閾値は12に設定されるものとする。
この例では、最も左側に位置している高輝度ブロック401aは、他の高輝度ブロック401と隣接していない。そのため、高輝度ブロック401aを含むウィンドウ領域402-1において、高輝度ブロック401aはカウントされない。さらに、右側の4個の高輝度ブロック401bは、顔領域403に含まれている。そのため、これら高輝度ブロック401bもカウントされない。その結果、ウィンドウ領域402-1~402-nのうち、ウィンドウ領域402-5に含まれる高輝度ブロック401の数が最大(13)となり、かつ、その数は、ブロック数閾値よりも大きい。したがって、ウィンドウ領域402-5が腕領域として検出される。
判定部33は、ドライバの腕が表されているか否かの判定結果、及び、ドライバの腕が表されていると判定した場合における、腕領域の位置及び範囲を、異常判定部35及び警告処理部36へ通知する。
姿勢検出部34は、ドライバ画像から検出された顔領域に基づいて、ドライバの姿勢を検出する。本実施形態では、姿勢検出部34は、ドライバの姿勢を表す情報として、ドライバの顔の位置及びドライバの顔の向きを検出する。
姿勢検出部34は、ドライバ画像の顔領域から、目尻、目頭、鼻尖点、口角点等のドライバの顔の複数の特徴点を検出する。その際、姿勢検出部34は、画像に表された顔の特徴点を検出するように予め学習された識別器に顔領域を入力することで、顔の特徴点を検出する。そのような識別器として、姿勢検出部34は、例えば、CNN型のアーキテクチャを持つDNN、サポートベクトルマシンまたはAdaBoost識別器を用いることができる。なお、顔領域検出用の識別器と顔の特徴点検出用の識別器は一体的に構成されてもよい。この場合には、顔検出部31が、ドライバ画像を識別器に入力することで、顔領域と顔の個々の特徴点のそれぞれを検出すればよい。あるいは、姿勢検出部34は、顔の特徴点を表すテンプレートと顔領域とのテンプレートマッチング、あるいは、顔の特徴点を検出する他の手法に従って、顔領域からドライバの顔の個々の特徴点を検出してもよい。
姿勢検出部34は、検出した顔の個々の特徴点を、顔の3次元形状を表す3次元顔モデルにフィッティングする。そして姿勢検出部34は、各特徴点が3次元顔モデルに最もフィッティングする際の3次元顔モデルの顔の向きを、ドライバの顔の向きとして検出する。なお、姿勢検出部34は、画像に表された顔の向きを判定する他の手法に従って、ドライバ画像に基づいてドライバの顔の向きを検出してもよい。
なお、姿勢検出部34は、何れかの特徴点の検出に失敗した場合、あるいは、顔領域が検出されていない場合、ドライバの顔の向きを検出できないと判定する。
さらに、姿勢検出部34は、ドライバ画像における顔領域の重心位置を、ドライバの顔の位置として検出する。
なお、姿勢検出部34は、ドライバの視線方向に基づいてドライバの姿勢を検出してもよい。この場合、姿勢検出部34は、顔領域からドライバの眼が表された眼領域を検出する。その際、姿勢検出部34は、上述した、顔の特徴点を検出する手法と同様の手法によって左右それぞれの眼について眼領域を検出すればよい。姿勢検出部34は、さらに、左右何れかの眼領域に対するテンプレートマッチングにより、瞳孔重心及びドライバモニタカメラ2の光源の角膜反射像(プルキンエ像)を検出する。そして姿勢検出部34は、瞳孔重心とプルキンエ像との位置関係に基づいて、ドライバの視線方向を検出すればよい。なお、姿勢検出部34は、ドライバの左右何れの眼領域も検出できない場合、視線方向の検出に失敗したと判定する。
姿勢検出部34は、ドライバ画像に対するドライバの姿勢の検出結果、すなわち、ドライバの顔の位置及び顔の向きの検出結果を異常判定部35へ通知する。さらに、姿勢検出部34は、顔の特徴点の検出結果を異常判定部35へ通知する。さらにまた、ドライバの視線方向の検出が行われている場合、姿勢検出部34は、視線方向の検出結果あるいは視線方向の検出に失敗したことを異常判定部35へ通知する。
異常判定部35は、姿勢検出部34により検出されたドライバの姿勢が異常判定条件を満たす場合にドライバに異常が生じたと判定する。上記のように、本実施形態では、ドライバの姿勢はドライバの顔の位置及びドライバの顔の向きにより表される。また、異常判定条件は、ドライバの顔の位置または顔の向きが正常範囲から外れた状態が時間閾値以上継続することである。そこで、異常判定部35は、姿勢検出部34からドライバの顔の位置及び顔の向きが通知される度に、その顔の位置及び顔の向きが、予め設定された正常範囲に含まれるか否か判定する。そして異常判定部35は、ドライバの顔の位置または顔の向きが正常範囲から外れた状態が継続する期間の長さが時間閾値以上になると、ドライバに異常が生じたと判定する。また、ドライバの視線方向が検出されている場合、異常判定部35は、姿勢検出部34からドライバの視線方向が通知される度に、その視線方向が、予め設定された正常範囲に含まれるか否か判定する。そして異常判定部35は、ドライバの視線方向が正常範囲から外れた状態が継続する期間の長さが時間閾値以上になると、ドライバに異常が生じたと判定してもよい。
ただし、ドライバの顔の少なくとも一部がドライバの腕により隠されているドライバ画像に対して、異常判定部35は、ドライバの顔の向き及び位置、及び、視線方向を精度良く検出することができない。そこで、ドライバ画像において顔領域が検出できなかったことを顔検出部31から通知された場合、異常判定部35は、ドライバの顔の位置及び向きの検出に失敗したと判定する。そして異常判定部35は、そのドライバ画像において腕領域が検出されていることが判定部33から通知されているか否か判定する。腕領域が検出されている場合、ドライバの顔がドライバの腕で隠されている可能性が有ると判定する。
また、ドライバ画像において顔の特徴点の何れかが検出されていない場合も、異常判定部35は、そのドライバ画像についてドライバの顔の位置及び向きの検出に失敗したと判定する。そして異常判定部35は、そのドライバ画像において腕領域が検出されている場合、ドライバの顔がドライバの腕で隠されている可能性が有ると判定する。さらに、ドライバの視線方向の検出に失敗したことが姿勢検出部34から通知され、かつ、そのドライバ画像において腕領域が検出されている場合、異常判定部35は、ドライバの顔がドライバの腕で隠されている可能性が有ると判定する。なお、この場合、異常判定部35は、顔領域と腕領域間の距離が所定距離以下である場合に限り、ドライバの顔がドライバの腕で隠されている可能性が有ると判定してもよい。
変形例によれば、ドライバ画像において顔領域、顔の向き、位置あるいは視線方向の何れかが検出されておらず、かつ、腕領域が検出されている場合、異常判定部35は、ドライバ画像上においてドライバの顔がドライバの手に隠されているか否かを判定してもよい。この場合、異常判定部35は、ドライバ画像を、ドライバの手を検出するように予め学習された識別器に入力することで、ドライバ画像からドライバの手が表された手領域を検出する。そして異常判定部35は、ドライバ画像において顔領域、顔の向き、位置あるいは視線方向の何れかが検出されておらず、かつ、手領域が検出されている場合、ドライバの顔の少なくとも一部がドライバの手に隠されていると判定してもよい。また、ドライバの顔の向き、位置あるいは視線方向が正常範囲から外れている場合において、顔領域から所定距離以内に手領域が検出されている場合も、異常判定部35は、ライバの顔の少なくとも一部がドライバの手に隠されていると判定してもよい。
異常判定部35は、ドライバの顔がドライバの腕で隠されている可能性が有ると判定した場合、ドライバの顔の向き、位置または視線方向が正常範囲から外れている期間の継続時間をリセットする。これにより、ドライバの異常の誤検出が抑制される。
異常判定部35は、ドライバに異常が生じたか否かの判定結果を警告処理部36及び車両制御部37に通知する。さらに、異常判定部35は、ドライバの顔がドライバの腕により隠されている可能性が有ると判定した場合、その旨を警告処理部36に通知する。
警告処理部36は、異常判定部35から、ドライバに異常が生じたとの判定結果を受け取ると、所定の警告処理を実施する。例えば、警告処理部36は、通知機器3が有するスピーカに、ドライバに運転姿勢を取ることを要求する音声信号あるいは警告音を発声させる。あるいは、警告処理部36は、通知機器3が有するディスプレイに、ドライバに運転姿勢を取ることを要求する警告メッセージを表示させる。あるいはまた、警告処理部36は、通知機器3が有する振動子を振動させる。
警告処理部36は、通知機器3を介してドライバへ運転姿勢を取ることを要求する警告処理を実施した後に、異常判定部35からドライバに異常が生じていないとの判定結果を受け取ると、警告処理の実行を停止する。
また、異常判定部35から、ドライバの顔がドライバの腕により隠されている可能性が有ることを通知されると、警告処理部36は、ドライバの腕の位置を変更することを依頼するメッセージを、通知機器3を介してドライバに通知する。その際、警告処理部36は、ドライバの腕によりドライバの顔が隠されている可能性が有ることを表すメッセージを、通知機器3を介してドライバに対してさらに通知してもよい。
車両制御部37は、異常判定部35から、ドライバに異常が生じたとの判定結果を受け取るまでは、車両10に適用される運転制御レベルに従って車両10を制御する。車両10に適用される運転制御レベルが、ドライバが車両10の運転に関与しない運転制御レベルである場合、車両制御部37は、車両10が走行中の自車線に沿って走行するよう、車両10を制御する。そのために、車両制御部37は、車外カメラにより生成された画像から自車線と隣接車線とを区画する車線区画線、及び、車両10の周囲を走行する他の車両といった移動物体を検出する。そして車両制御部37は、検出された車線区画線と地図情報とを照合することで、車両10の位置及び姿勢を推定する。そして車両制御部37は、車両10の位置及び姿勢の推定結果と、車両10の周囲の個々の移動物体の検出結果とに基づいて、車両10が個々の移動物体と衝突せず、かつ、自車線に沿って走行するように車両10を制御する。
また、異常判定部35からドライバに異常が生じたとの判定結果を継続して一定期間にわたって受け取ると、車両制御部37は、車両10を緊急停車させるように車両10を制御する。なお、車両制御部37は、異常判定部35からドライバに異常が生じたとの判定結果を受け取ると直ちに車両10を緊急停車させるように車両10を制御してもよい。その際、車両制御部37は、車両10の位置及び姿勢の推定結果、車両10の周囲の個々の移動物体の検出結果、及び、地図情報に基づいて、車両10を路肩に移動させてから停車させてもよい。
図5は、プロセッサ23により実行される、腕検出処理を含む車両制御処理の動作フローチャートである。プロセッサ23は、所定の周期ごとに、以下の動作フローチャートに従って車両制御処理を実行すればよい。
プロセッサ23の顔検出部31は、最新のドライバ画像から顔領域を検出する(ステップS101)。
プロセッサ23の特定部32は、最新のドライバ画像における第1のサイズを有する個々のブロックのうち、高輝度ブロックを特定する(ステップS102)。その後、プロセッサ23の判定部33は、最新のドライバ画像上の個々のウィンドウ領域について、そのウィンドウ領域に含まれ、かつ、顔領域に含まれない高輝度ブロックの数をカウントしてカウント値を算出する(ステップS103)。そして判定部33は、各ウィンドウ領域のうち、カウント値が所定のブロック数閾値よりも大きいウィンドウ領域を腕領域として判定する(ステップS104)。上記のように、カウント値が所定のブロック数閾値よりも大きいウィンドウ領域が複数存在する場合、判定部33は、それらウィンドウ領域のうち、カウント値が最大となるウィンドウ領域、あるいは、それらウィンドウ領域の集合領域を腕領域と判定してもよい。
また、プロセッサ23の姿勢検出部34は、ドライバ画像から検出された顔領域に基づいてドライバの顔の位置及びドライバの顔の向きを検出する(ステップS105)。そしてプロセッサ23の異常判定部35は、顔の位置及び顔の向きの検出に成功したか否か判定する(ステップS106)。顔の位置及び顔の向きの検出が失敗している場合(ステップS106-No)、異常判定部35は、腕領域が検出されているか否か判定する(ステップS107)。腕領域が検出されている場合(ステップS107-Yes)、プロセッサ23の警告処理部36は、ドライバの腕の位置を変更することを依頼するメッセージを、通知機器3を介してドライバに通知する。さらに、警告処理部36は、ドライバの腕によりドライバの顔が隠されている可能性が有ることを表すメッセージを、通知機器3を介してドライバに通知する(ステップS108)。その後、プロセッサ23は、車両制御処理を終了する。また、腕領域が検出されていない場合(ステップS107-No)も、プロセッサ23は、車両制御処理を終了する。
また、ステップS106において、顔の位置及び顔の向きの検出に成功している場合(ステップS106-Yes)、異常判定部35は、ドライバに異常が生じたか否か判定する(ステップS109)。その際、異常判定部35は、直近の所定時間における時系列の一連のドライバ画像におけるドライバの顔の向き及び顔の位置あるいは視線方向に基づいて、ドライバに異常が生じたか否か判定すればよい。異常判定部35がドライバに異常が生じたと判定した場合(ステップS109-Yes)、プロセッサ23の警告処理部36は、通知機器3を介してドライバに運転姿勢を取ることを要求する警告を通知する(ステップS110)。さらに、プロセッサ23の車両制御部37は、車両10を緊急停車させるよう、車両10を制御する(ステップS111)。
一方、ステップS109において、異常判定部35がドライバに異常が生じていないと判定した場合(ステップS109-No)、車両制御部37は、車両10に適用される運転制御レベルに従って車両10を制御する(ステップS112)。
ステップS111またはステップS112の後、プロセッサ23は、車両制御処理を終了する。
以上に説明してきたように、この腕検出装置は、車両のドライバの顔が表された顔画像から、ドライバの顔が表された顔領域を検出する。さらに、この腕検出装置は、顔画像をそれぞれが第1のサイズを有する複数のブロックに分割し、複数のブロックのうち所定の輝度閾値よりも高い輝度を有する画素の数が所定の画素数閾値よりも多いブロックを高輝度ブロックとして特定する。そしてこの腕検出装置は、第1のサイズより大きい第2のサイズを有するウィンドウ領域に含まれる、高輝度ブロックのうち顔領域に含まれないブロックの数が所定のブロック数閾値よりも多い場合、そのウィンドウ領域にドライバの腕が表されていると判定する。そのため、この腕検出装置は、ドライバが表された画像において、ドライバの腕を、ドライバの顔と区別するとともに精度良く検出することができる。
変形例によれば、特定部32は、ドライバ画像に設定した複数のブロックのうち、顔領域に含まれないブロックのなかから、高輝度ブロックを特定してもよい。この場合には、判定部33は、ウィンドウ領域に含まれる高輝度ブロックの数をそのウィンドウ領域についてのカウント値として算出してもよい。この場合も、結局、各ウィンドウ領域について、顔領域に含まれない高輝度ブロックの数がカウントされることとなる。
他の変形例によれば、特定部32は、ドライバ画像が生成されたときの時刻に基づいて、輝度閾値及び画素数閾値の何れか一方を変更してもよい。例えば、昼間に相当する時間帯では、車外からの光により車室内が明るくなるため、相対的に高い輝度値を有する画素の数が増加する。そこで、特定部32は、昼間に相当する時間帯における輝度閾値を、夜間に相当する時間帯における輝度閾値よりも大きくしてもよい。同様に、特定部32は、昼間に相当する時間帯における画素数閾値を、夜間に相当する時間帯における画素数閾値よりも大きくしてもよい。同様に、特定部32は、車両10に搭載された光量センサ(図示せず)により検出された光量が大きいほど、輝度閾値または画素数閾値を大きくしてもよい。あるいは、特定部32は、車外カメラ(図示せず)の露出制御値が表す露出の値が小さくなるほど、輝度閾値または画素数閾値を大きくしてもよい。あるいはまた、特定部32は、車両10に搭載された無線通信端末(図示せず)を介して受信した天候情報で表される、車両10の現在位置における天候に基づいて、輝度閾値及び画素数閾値の少なくとも一方を制御してもよい。例えば、特定部32は、車両10の現在位置における天候が晴である場合の輝度閾値または画素数閾値を、車両10の現在位置における天候が曇りまたは雨天である場合の輝度閾値または画素数閾値よりも大きくしてもよい。なお、特定部32は、車両10の現在位置として、車両10に搭載された測位機器により測定された車両10の位置を利用することができる。
この変形例によれば、特定部32は、車両10の周囲の明るさによらず、ドライバの腕が写っている可能性が高いブロックを高輝度ブロックとして適切に特定することができる。
他の変形例によれば、特定部32は、直近の所定期間における、時系列に得られる一連のドライバ画像における、同じ位置のブロック間で輝度変化を算出し、その輝度変化の無いブロックについては高輝度ブロックとしないようにしてもよい。これは、輝度変化の無いブロックは、車室内のインテリアなどが表されている可能性が高いためである。これにより、特定部32は、昼間に相当する時間帯において、車外からの光により車室内のインテリアが照らされて明るくなっていても、そのようなインテリアが表されているブロックを高輝度ブロックから除外できる。その結果として、腕検出装置は、腕領域の検出精度を向上することができる。なお、特定部32は、時系列の一連のドライバ画像の同じ位置のブロックのそれぞれについて輝度平均値を算出し、ドライバ画像間でのその輝度平均値の差の絶対値が所定の輝度差閾値以下である場合、その位置のブロックについて輝度変化が無いと判断する。所定の輝度差閾値は、例えば、ドライバ画像が取り得る輝度値の最大値に0.05~0.1を乗じた値とすることができる。
また、上記の実施形態または変形例による、ECU4のプロセッサ23の機能を実現するコンピュータプログラムは、半導体メモリ、磁気記録媒体または光記録媒体といった、コンピュータ読取可能な可搬性の記録媒体に記録された形で提供されてもよい。
以上のように、当業者は、本発明の範囲内で、実施される形態に合わせて様々な変更を行うことができる。
1 車両制御システム
2 ドライバモニタカメラ
3 通知機器
4 電子制御装置(腕検出装置)
10 車両
21 通信インターフェース
22 メモリ
23 プロセッサ
31 顔検出部
32 特定部
33 判定部
34 姿勢検出部
35 異常判定部
36 警告処理部
37 車両制御部
2 ドライバモニタカメラ
3 通知機器
4 電子制御装置(腕検出装置)
10 車両
21 通信インターフェース
22 メモリ
23 プロセッサ
31 顔検出部
32 特定部
33 判定部
34 姿勢検出部
35 異常判定部
36 警告処理部
37 車両制御部
Claims (1)
- 車両のドライバの顔を撮影した顔画像から、前記ドライバの顔が表された顔領域を検出する検出部と、
前記顔画像をそれぞれが第1のサイズを有する複数のブロックに分割し、前記複数のブロックのうち所定の輝度閾値よりも高い輝度を有する画素の数が所定の画素数閾値よりも多いブロックを高輝度ブロックとして特定する特定部と、
前記第1のサイズより大きい第2のサイズを有し、かつ、前記顔画像上の互いに異なる位置に設定される複数のウィンドウ領域の何れかについて、当該ウィンドウ領域に含まれ、かつ、前記顔領域に含まれない前記高輝度ブロックの数が所定のブロック数閾値よりも多い場合、当該ウィンドウ領域にドライバの腕が表されていると判定する判定部と、
を有する腕検出装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022089741A JP2023177049A (ja) | 2022-06-01 | 2022-06-01 | 腕検出装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022089741A JP2023177049A (ja) | 2022-06-01 | 2022-06-01 | 腕検出装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023177049A true JP2023177049A (ja) | 2023-12-13 |
Family
ID=89122328
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022089741A Pending JP2023177049A (ja) | 2022-06-01 | 2022-06-01 | 腕検出装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2023177049A (ja) |
-
2022
- 2022-06-01 JP JP2022089741A patent/JP2023177049A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112292711B (zh) | 关联lidar数据和图像数据 | |
JP6036065B2 (ja) | 注視位置検出装置及び注視位置検出方法 | |
US8649583B2 (en) | Pupil detection device and pupil detection method | |
US7366325B2 (en) | Moving object detection using low illumination depth capable computer vision | |
JP2007310706A (ja) | 車両周辺監視装置 | |
US20210374443A1 (en) | Driver attention state estimation | |
US20200133283A1 (en) | Proceedable direction detection apparatus and proceedable direction detection method | |
US11903647B2 (en) | Gaze detector, method for controlling gaze detector, method for detecting corneal reflection image position, and storage medium | |
JP2017126151A (ja) | 視線検出装置および視線検出方法 | |
US20230227044A1 (en) | Apparatus, method, and computer program for monitoring driver | |
JP2023177049A (ja) | 腕検出装置 | |
US11919522B2 (en) | Apparatus and method for determining state | |
US11694449B2 (en) | Driver monitor and method for monitoring driver | |
JP2004364112A (ja) | 車両周辺表示装置 | |
US20230394702A1 (en) | Device, method, and computer program for estimating seat position | |
JP2017211765A (ja) | 物体認識装置 | |
US20240017748A1 (en) | Device, method, and computer program for lane determination | |
JP2020038551A (ja) | 顔向き検出装置、顔向き検出方法、及び制御プログラム | |
JP2020077293A (ja) | 区画線検出装置及び区画線検出方法 | |
US20220066551A1 (en) | Apparatus and method for obtaining facial information | |
US11702094B2 (en) | Driving support apparatus and driving support method | |
US20230296407A1 (en) | Apparatus, method, and computer program for determining sections for map update | |
JP2024059261A (ja) | 道路標示検出装置 | |
US20240029454A1 (en) | Line of sight estimating device, storage medium for storing computer program for line of sight estimation, and line of sight estimating method | |
US20230027195A1 (en) | Apparatus, method, and computer program for collecting feature data |