IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通テン株式会社の特許一覧

特開2024-157959検知方法、検知プログラム及び車載装置
<>
  • 特開-検知方法、検知プログラム及び車載装置 図1
  • 特開-検知方法、検知プログラム及び車載装置 図2
  • 特開-検知方法、検知プログラム及び車載装置 図3
  • 特開-検知方法、検知プログラム及び車載装置 図4
  • 特開-検知方法、検知プログラム及び車載装置 図5
  • 特開-検知方法、検知プログラム及び車載装置 図6
  • 特開-検知方法、検知プログラム及び車載装置 図7
  • 特開-検知方法、検知プログラム及び車載装置 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024157959
(43)【公開日】2024-11-08
(54)【発明の名称】検知方法、検知プログラム及び車載装置
(51)【国際特許分類】
   G08G 1/16 20060101AFI20241031BHJP
【FI】
G08G1/16 F
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023072663
(22)【出願日】2023-04-26
(71)【出願人】
【識別番号】000237592
【氏名又は名称】株式会社デンソーテン
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】伊森 宏樹
(72)【発明者】
【氏名】塩田 大輔
(72)【発明者】
【氏名】大西 康司
(72)【発明者】
【氏名】伏見 文孝
(72)【発明者】
【氏名】清水 勝也
(72)【発明者】
【氏名】上林 輝彦
【テーマコード(参考)】
5H181
【Fターム(参考)】
5H181AA01
5H181CC04
5H181FF10
5H181FF27
5H181FF32
5H181LL07
5H181LL08
5H181LL20
(57)【要約】
【課題】居眠りの誤検知を抑止すること。
【解決手段】実施形態に係る車載装置は、車両のドライバの居眠りを検知するための処理を行うコントローラを備える。コントローラは、車両に備えられたカメラによって撮像された画像を基に、ドライバの目の縦横比を特定する。コントローラは、縦横比に基づいて、ドライバの居眠りを検知するための目の開閉に関する複数の指標の中から、1つ以上の指標を選択する。コントローラは、選択した指標を用いて、カメラによって撮像された画像を基に、ドライバの居眠りを検知する。
【選択図】図7
【特許請求の範囲】
【請求項1】
車両のドライバの居眠りを検知するための処理を行うコントローラを備えた車載装置によって実行される検知方法であって、
前記車両に備えられたカメラによって撮像された画像を基に、前記ドライバの目の縦横比を特定し、
前記縦横比に基づいて、前記ドライバの居眠りを検知するための目の開閉に関する複数の指標の中から、1つ以上の指標を選択し、
選択した指標を用いて、前記カメラによって撮像された画像を基に、前記ドライバの居眠りを検知する
検知方法。
【請求項2】
前記コントローラは、
前記カメラによって互いに異なる時刻に撮像された複数の画像のそれぞれを基に特定した前記ドライバの目の縦横比の分布を基に、前記ドライバの目の細さの度合いを計算し、
前記細さの度合いに基づいて、前記複数の指標の中から1つ以上の指標を選択する
請求項1に記載の検知方法。
【請求項3】
前記コントローラは、
目が閉じている時間の割合である第1の指標と、目が閉じた状態が継続した時間である第2の指標との中から、前記細さの度合いに基づいて1つ以上の指標を選択する
請求項2に記載の検知方法。
【請求項4】
前記コントローラは、
前記細さの度合いが閾値以上である場合、前記第2の指標を選択し、前記細さの度合いが閾値未満である場合、前記第1の指標と前記第2の指標とを選択する
請求項3に記載の検知方法。
【請求項5】
前記コントローラは、
前記カメラによって互いに異なる時刻に撮像された複数の画像のそれぞれについて、前記ドライバの目が閉じているか開いているかを判定した結果を、前記時刻のそれぞれと対応付けてバッファとしてメモリに格納し、
前記細さの度合いが閾値以上である場合、前記バッファを消去する
請求項4に記載の検知方法。
【請求項6】
車両のドライバの居眠りを検知するための処理を行うコントローラに、
前記車両に備えられたカメラによって撮像された画像を基に、前記ドライバの目の縦横比を特定し、
前記縦横比に基づいて、前記ドライバの居眠りを検知するための目の開閉に関する複数の指標の中から、1つ以上の指標を選択し、
選択した指標を用いて、前記カメラによって撮像された画像を基に、前記ドライバの居眠りを検知する
処理を実行させる検知プログラム。
【請求項7】
車両のドライバの居眠りを検知するための処理を行うコントローラを備え、
前記コントローラは、
前記車両に備えられたカメラによって撮像された画像を基に、前記ドライバの目の縦横比を特定し、
前記縦横比に基づいて、前記ドライバの居眠りを検知するための目の開閉に関する複数の指標の中から、1つ以上の指標を選択し、
選択した指標を用いて、前記カメラによって撮像された画像を基に、前記ドライバの居眠りを検知する
車載装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ドライバの居眠りを検知する技術に関する。
【背景技術】
【0002】
従来、画像を基に人の目の状態又は動作を検知する技術が知られている。一方で、そのような技術においては、各個人の目の形状の違いにより検知精度が低下する場合がある。
【0003】
例えば、検知対象の目が細い場合、目が細くない場合と比べて、目が開かれている時と閉じられている時とで画像中の変化が小さく、瞬き等の動作を検知する精度が低下する場合がある。
【0004】
これに対し、特許文献1には、目の細さによる検知精度の低下を抑止するために、目自体の形状の変化だけでなく、眉と目との位置関係の変化を用いて瞬きの検知を行うことが記載されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2000-163564号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、従来の技術には、居眠りの誤検知を抑止できない場合があるという問題がある。
【0007】
特許文献1に記載の技術では、検知精度を向上させるためには、目だけでなく眉の位置に関する情報を画像認識により取得することが必要になる。一方で、画像認識エンジンの機能、又は画像認識を実行する装置の性能等によっては、眉の位置を取得することが難しい場合がある。目の形状の変化だけに着目した場合、依然として誤検知の発生を抑止することは難しい。
【0008】
また、特許文献1に記載の技術は、瞬きの検知を目的としたものであり、居眠りの検知に適用できるとは限らない。
【0009】
本発明は、上記に鑑みてなされたものであって、居眠りの誤検知を抑止することを目的とする。
【課題を解決するための手段】
【0010】
実施形態の一態様に係る検知方法は、車両のドライバの居眠りを検知するための処理を行うコントローラを備えた車載装置によって実行される検知方法であって、前記車両に備えられたカメラによって撮像された画像を基に、前記ドライバの目の縦横比を特定し、前記縦横比に基づいて、前記ドライバの居眠りを検知するための複数の指標の中から、1つ以上の指標を選択し、選択した指標を用いて、前記カメラによって撮像された画像を基に、前記ドライバの居眠りを検知する。
【発明の効果】
【0011】
実施形態の一態様によれば、居眠りの誤検知を抑止することができる。
【図面の簡単な説明】
【0012】
図1図1は、実施形態に係る車載装置の構成例を示すブロック図である。
図2図2は、実施形態に係る車載装置の処理の流れを示すフローチャートである。
図3図3は、目の縦横比を特定する方法を説明する図である。
図4図4は、目の縦横比を特定する方法を説明する図である。
図5図5は、目の細さの度合いの計算方法を説明する図である。
図6図6は、誤検知について説明する図である。
図7図7は、目の細さの度合いに応じた検知処理の例を示す図である。
図8図8は、バッファの消去について説明する図である。
【発明を実施するための形態】
【0013】
以下、添付図面を参照して、実施形態に係る検知方法、検知プログラム及び車載装置について詳細に説明する。本実施形態により本発明が限定されるものではない。
【0014】
図1を用いて、車載装置の構成を説明する。図1は、実施形態に係る車載装置の構成例を示すブロック図である。
【0015】
車載装置10は、DMS(ドライバーモニタリングシステム)として機能する。DMSは、車室内を撮像した画像を基に、ドライバの脇見及び居眠り等を検知するシステムである。車載装置10は、DMSとしての機能を備えたドライブレコーダであってもよい。
【0016】
実施形態では、車載装置10がドライバの居眠りを検知する方法を説明する。車載装置10は、車室内を撮像した画像から、画像認識エンジンを用いてドライバの目を検出する。そして、車載装置10は、ドライバの目の開閉状態から、ドライバが居眠りをしていることを検知する。
【0017】
図1に示すように、車載装置10は、カメラ11、出力部12、通信部13、コントローラ14、メモリ15、及びインタフェース16を有する。
【0018】
カメラ11は、車両の運転席の方向を向いた状態で車両の車室内に設置される。ドライバが運転席に着座している場合、カメラ11はドライバの顔の画像を撮像することができる。
【0019】
出力部12は、データを出力する。出力部12は、ディスプレイ及びスピーカ等の出力装置である。例えば、出力部12は、居眠りが検知された場合に、警告音を出力する。
【0020】
通信部13は、他の装置との間でデータの通信を行うための装置である。通信部13は、例えば無線による通信が可能な車載用の通信モジュールである。
【0021】
コントローラ14は、メモリ15に記憶されたプログラムを読み出して実行する。コントローラ14は、マイコン、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)、GPU(Graphics Processing Unit)、SoC(System on a Chip)等である。
【0022】
コントローラ14は、単一のプロセッサであってもよい。コントローラ14は、マルチプロセッサ構成であってもよい。また、コントローラ14は、単一のソケットで接続される単一のチップ内に複数のコアを有するマルチコア構成であってもよい。
【0023】
メモリ15は、フラッシュメモリ等の記憶媒体である。メモリ15は、ROM(Read Only Memory)又はRAM(Random Access Memory)として機能するが、以降は主にRAMである場合として説明する。
【0024】
インタフェース16は、車載装置10に含まれる各装置間でデータの入出力を行うためのインタフェースである。
【0025】
コントローラ14は、ドライバの居眠りを検知する処理を行う。図2を用いて、居眠りを検知する処理を説明する。図2は、実施形態に係る車載装置の処理の流れを示すフローチャートである。
【0026】
図2に示すように、車両のACCがONになった後(ステップS101)、コントローラ14は、カメラ11にドライバの顔画像の撮像を開始させるとともに、目の開閉判定を開始する(ステップS102)。ステップS102以降、カメラ11は、顔画像の撮像を継続して行う。なお、コントローラ14は、インタフェース16を介してカメラ11に信号を送信することにより、撮像開始等の制御を行う。
【0027】
コントローラ14は、カメラ11に一定時間(例えば、0.05秒)間隔で静止画像を連続的又は断続的に撮像させることで動画像を構成する。カメラ11によって撮像された動画像を構成する各フレームを、顔画像のフレームと呼ぶ。
【0028】
コントローラ14は、画像認識エンジンを用いて、各フレームについてドライバの目の開閉判定を行う。画像認識エンジンは、例えば訓練済みのニューラルネットワークを使って、画像中の特定の物体及び物体間の境界の位置等を認識するプログラムである。
【0029】
コントローラ14は、顔画像のフレームを撮像時刻及び開閉判定の結果(例えば、Open又はCloseの2値)と対応付けてメモリ15に格納する。
【0030】
続いて、車載装置10は、顔画像のフレームから、目の細さの度合いを計算する(ステップS103)。このとき、コントローラ14は、車両に備えられたカメラ11によって撮像された画像を基に、ドライバの目の縦横比を特定する。そして、コントローラ14は、縦横比に基づいて目の細さを計算する。
【0031】
図3を用いて、目の縦横比を特定する方法を説明する。図3は、目の縦横比を特定する方法を説明する図である。なお、図3には、ユーザU1の開かれた状態の目が示されている。
【0032】
まず、コントローラ14は、画像認識エンジンを用いて特徴点の位置を特定する。ここでは、画像認識エンジンは、上瞼と眼球の境界の2点、目尻の1点、目頭の1点、下瞼と眼球の境界の2点を特徴点として認識するものとする。
【0033】
ここで、図3に示すように、コントローラ14は、上瞼と眼球の境界の2点を通る直線と、下瞼と眼球の境界の2点を通る直線との距離hを計算する。また、コントローラ14は、目尻の1点と目頭の1点との間の距離wを計算する。そして、コントローラ14は、ユーザU1の目の縦横比をh/wのように計算する。
【0034】
図3では、ドライバがユーザU1である場合の例を説明した。これに対し、図4には、ドライバがユーザU2である場合の例を示す。図4は、目の縦横比を特定する方法を説明する図である。なお、図4には、ユーザU2の開かれた状態の目が示されている。
【0035】
図4に示すように、コントローラ14は、上瞼と眼球の境界の2点を通る直線と、下瞼と眼球の境界の2点を通る直線との距離hを計算する。また、コントローラ14は、目尻の1点と目頭の1点との間の距離wを計算する。そして、コントローラ14は、ユーザU1の目の縦横比をh/wのように計算する。
【0036】
図3及び図4に示すように、ユーザU1とユーザU2とでは縦横比は大きく異なる。また、目の開閉動作によっても縦横比は変化する。そこで、コントローラ14は、カメラ11によって互いに異なる時刻に撮像された複数の画像のそれぞれを基に特定したドライバの目の縦横比の分布を基に、ドライバの目の細さの度合いを計算する。
【0037】
図5は、目の細さの度合いの計算方法を説明する図である。コントローラ14は、複数の縦横比を、昇順にソートする。そして、図5に示すように、コントローラ14は、ソートした順に番号を付けた縦横比を、座標平面上にプロットする。座標平面の横軸は番号に対応する。また、座標平面の縦軸は縦横比に対応する。
【0038】
図5の座標平面には、目が閉じられた場合の縦横比、目が自然に開かれた場合の縦横比、目が強く開かれた場合の縦横比、目が閉じられている途中の縦横比、目が開かれている途中の縦横比といった様々なタイミングの縦横比がプロットされる。
【0039】
図5に示すように、縦横比の分布はユーザごとに異なる。ユーザU1は、ユーザU2に比べて目が細いものとする。例えば、ユーザU1の目の縦横比は、ユーザU2の目の縦横比と比べて変化が小さい。
【0040】
ここでは、コントローラ14は、各ユーザの縦横比を近似した直線の傾きの逆数を目の細さの度合いとして計算する。すなわち、直線の傾きが大きいほど目の細さの度合いは小さくなる。このため、ユーザU1の目の細さの度合いは、ユーザU2の目の細さの度合いと比べて大きくなる。
【0041】
このように、コントローラ14は、1つの画像だけでなく、複数の画像を用いることによって、コントローラ14は、目の形状の変化を考慮してより正確に細さの度合いを計算することができる。
【0042】
なお、2人の異なるドライバ(ユーザU1とユーザU2)を例に挙げて目の細さの度合いの計算方法を説明したが、実際には、コントローラ14は車両を運転している1人のドライバについて目の細さの度合いを計算する。
【0043】
図2に戻り、コントローラ14は、車両を運転しているドライバの目の細さの度合いが閾値以上であるか否かを判定する(ステップS104)。この後、コントローラ14は、縦横比から計算した目の細さの度合いに基づいて、ドライバの居眠りを検知するための目の開閉に関する複数の指標の中から、1つ以上の指標を選択する。なお、閾値はあらかじめ設定済みであるものとする。
【0044】
複数の指標は、閉眼率及び継続時間を含む。閉眼率は第1の指標の一例である。また、継続時間は第2の指標の一例である。また、コントローラ14は、開閉判定の結果を基に閉眼率及び継続時間を計算する。
【0045】
閉眼率は、目が閉じている時間の割合である。継続時間は、目が閉じた状態が継続した時間である。閉眼率及び継続時間は、いずれも大きいほど居眠りが検知されやすくなる。これは、居眠りをしようとしているドライバは、目を閉じる頻度が多くなり、かつ目を閉じている時間が長くなる傾向があるためである。
【0046】
ここで、ドライバの目の細さの度合いが大きい場合、閉眼率を用いた検知において誤検知が発生しやすい傾向がある。すなわち、これは、ドライバの目の細さの度合いが大きい場合、実際には目が開いている場合であっても、目が閉じていると判定されやすいためである。
【0047】
図6を用いて誤検知について説明する。図6は、誤検知について説明する図である。コントローラ14は、カメラ11によって互いに異なる時刻に撮像された複数の画像のそれぞれについて、ドライバの目が閉じているか開いているかを判定した結果を、時刻のそれぞれと対応付けてバッファとしてメモリに格納する。
【0048】
すなわち、コントローラ14は、開閉判定の結果として、図6に示すようなデータをバッファとしてメモリ15に格納する。図6には、ユーザU1とユーザU2が、同じ期間に目を閉じ、同じ期間に目を開いたと仮定した場合の開閉判定の結果の例が示されている。なお、バッファには例えば過去の30秒間の開閉判定の結果が含まれる。
【0049】
「Open」及び「Close」は判定結果である。また、判定結果は、時刻に対応付けられる。
【0050】
ユーザU2の目の細さの度合いは小さい(閾値未満)。コントローラ14は、ユーザU2について、目を閉じている期間(tからtの期間、及びtからtの期間)には正しく「Close」と判定し、目を開けている期間(tからtの期間)には正しく「Open」と判定している。
【0051】
一方、ユーザU1の目の細さの度合いは大きい(閾値以上)。コントローラ14は、ユーザU1について、目を閉じている期間(tからtの期間、及びtからtの期間)には正しく「Close」と判定している。一方で、コントローラ14は、ユーザU1について、目を開けている期間(tからtの期間)に一部誤って「Close」と判定している。
【0052】
コントローラ14は、tからtまでの期間、すなわちバッファ内における閉眼率を(Closeと判定した数)/((Openと判定した数)+(Closeと判定した数))と計算する。
【0053】
図6の例では、ユーザU1及びユーザU2の両方とも正しい閉眼率は6/16である。コントローラ14は、ユーザU2の閉眼率を6/16と計算する。一方で、コントローラ14は、ユーザU1の閉眼率を12/16と計算する。閉眼率が大きいほど、居眠りが検知されやすいため、ユーザU1については誤検知が発生する可能性が高くなる。
【0054】
なお、誤検知は、実際には居眠りをしていない場合に居眠りと検知することである。なお、実際に居眠りをしている場合に居眠りと検知しないことを、検知性能の低下、又は検知漏れ等と呼ぶ。
【0055】
そこで、コントローラ14は、図2のステップS104において、居眠りを検知するための指標のうち、閉眼率を使うか否かを決定する。すなわち、コントローラ14は、目が閉じている時間の割合である閉眼率と、目が閉じた状態が継続した時間である継続時間との中から、細さの度合いに基づいて1つ以上の指標を選択する。
【0056】
なお、継続時間は、バッファ内で判定結果が「Close」である時刻が連続した数である。
【0057】
図7は、目の細さの度合いに応じた検知処理の例を示す図である。コントローラ14が実行可能な居眠りの検知処理は、閉眼率を用いた検知処理、及び継続時間を用いた検知処理の2つを含む。コントローラ14は、2つの検知処理のいずれかを動作させてもよいし、両方を動作させてもよい。
【0058】
図7に示すように、目の細さの度合いが小さい(閾値未満)場合、コントローラ14は、閉眼率を用いた検知処理、及び継続時間を用いた検知処理の両方を動作させる。一方、目の細さの度合いが大きい(閾値以上)場合、コントローラ14は、閉眼率を用いた検知処理を停止させ、及び継続時間を用いた検知処理を動作させる。これにより、コントローラ14は、目の細さの度合いが大きい(閾値以上)場合の誤検知の発生を抑止する。
【0059】
コントローラ14は、このような検知処理の制御を、図2のステップS104以降の処理により実現する。
【0060】
コントローラ14は、細さの度合いが閾値以上である場合(ステップS104、Yes)、継続時間を選択し、ステップS105へ進む。この場合、コントローラ14は、閉眼率を選択することなく、継続時間を選択する。
【0061】
ステップS105では、コントローラ14は、閉眼率による居眠り検知を停止させる(ステップS105)。また、コントローラ14は、バッファを使用せずに、クリア(消去)する(ステップS106)。
【0062】
図8は、バッファの消去について説明する図である。図8に示すように、コントローラ14は、バッファには誤判定の結果が多く残っている可能性がある。そのような状態で、ドライバが変わった場合、変わった後のドライバの判定結果がバッファに溜まる前に、変わる前のドライバの判定結果によって居眠りの検知が行われてしまい、誤検知が発生する場合がある。コントローラ14は、バッファをクリアすることで、ドライバが変わった際の誤検知の発生を回避する。
【0063】
一方、コントローラ14は、細さの度合いが閾値未満である場合(ステップS104、No)、閉眼率と継続時間とを選択し、ステップS107へ進む。この場合、コントローラ14は、閉眼率と継続時間の両方を選択する。また、コントローラ14は、バッファをクリアせずに使用する(ステップS108)。
【0064】
コントローラ14は、動作中の処理により居眠りの検知を実行する(ステップS109)。すなわち、コントローラ14は、選択した指標を用いて、カメラ11によって撮像された画像を基に、ドライバの居眠りを検知する。
【0065】
その後、ACCがOFFでない場合(ステップS110、No)、コントローラ14はステップS111に進む。ACCがOFFの場合(ステップS110、Yes)、コントローラ14は処理を終了する。
【0066】
車両のドライバが変わらない場合(ステップS111、No)、コントローラ14はステップS109に戻り処理を繰り返す。一方、車両のドライバが変わった場合(ステップS111、Yes)、コントローラ14はステップS103に戻り、目の細さの度合いの計算を再度行う。
【0067】
これまで説明してきたように、コントローラ14は、車両に備えられたカメラ11によって撮像された画像を基に、ドライバの目の縦横比を特定する。コントローラ14は、縦横比に基づいて、ドライバの居眠りを検知するための目の開閉に関する複数の指標の中から、1つ以上の指標を選択する。コントローラ14は、選択した指標を用いて、カメラ11によって撮像された画像を基に、ドライバの居眠りを検知する。
【0068】
このように、車載装置10は、ドライバの目の縦横比に応じて使用する指標を変化させることにより、ドライバの目の細さの度合いが大きい場合であっても、居眠りの誤検知を抑止することができる。
【0069】
また、車載装置10は、ドライバの目の細さの度合いが小さい場合は、閉眼率と継続時間の両方を使用することによって、検知性能を低下させないようにすることができる。
【0070】
なお、誤検知を抑制するために、居眠りを検知する際の閉眼率の閾値を大きくすることも考えられるが、その場合、誤検知は抑えられたとしても、検知性能が低下する。
【0071】
さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な態様は、以上のように表しかつ記述した特定の詳細及び代表的な実施形態に限定されるものではない。従って、添付の特許請求の範囲及びその均等物によって定義される総括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。
【符号の説明】
【0072】
10 車載装置
11 カメラ
12 出力部
13 通信部
14 コントローラ
15 メモリ
16 インタフェース
図1
図2
図3
図4
図5
図6
図7
図8