TOP > 国内特許検索 > 眠気検出システム、眠気検出用データ生成システム、眠気検出方法、コンピュータプログラム、および検出用データ > 明細書

明細書 :眠気検出システム、眠気検出用データ生成システム、眠気検出方法、コンピュータプログラム、および検出用データ

発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開2019-154613 (P2019-154613A)
公開日 令和元年9月19日(2019.9.19)
発明の名称または考案の名称 眠気検出システム、眠気検出用データ生成システム、眠気検出方法、コンピュータプログラム、および検出用データ
国際特許分類 A61B   5/16        (2006.01)
A61B   5/107       (2006.01)
G08G   1/16        (2006.01)
FI A61B 5/16 130
A61B 5/107 110
G08G 1/16 F
請求項の数または発明の数 16
出願形態 OL
全頁数 19
出願番号 特願2018-042804 (P2018-042804)
出願日 平成30年3月9日(2018.3.9)
発明者または考案者 【氏名】中澤 篤志
【氏名】松田 貴大
出願人 【識別番号】504132272
【氏名又は名称】国立大学法人京都大学
個別代理人の代理人 【識別番号】100086933、【弁理士】、【氏名又は名称】久保 幸雄
【識別番号】100125117、【弁理士】、【氏名又は名称】坂田 泰弘
審査請求 未請求
テーマコード 4C038
5H181
Fターム 4C038PP05
4C038VA04
4C038VA15
4C038VB04
4C038VC05
5H181AA01
5H181BB04
5H181BB05
5H181CC04
5H181FF22
5H181LL20
要約 【課題】運転手などの被検出者の眠気を、浅い眠気であってもハイスピードカメラを用いることなく従来よりも確実に検出する。
【解決手段】サーバ2は、各時刻における、標本である人物の目の開き具合を表わす開眼度を取得するとともに、所定の時間ごとの、この人物がどれくらい眠いかの度合を表わす眠気レベルを取得する。さらに、所定の時間ごとの、ビンごとの開眼度の度数分布(ヒストグラム)および眠気レベルに基づいて、眠気を検出するための検出器を生成する。そして、自動車10の運転手12の眠気を、検出器を用いて検出する。
【選択図】図1
特許請求の範囲 【請求項1】
各時刻における、標本である人物の目の開き具合を表わす開眼度を取得する、開眼度取得手段と、
所定の時間ごとの、前記人物がどれくらい眠いかの度合を表わす眠気レベルを取得する、眠気レベル取得手段と、
前記所定の時間ごとの、ビンごとの前記開眼度の度数分布および前記眠気レベルに基づいて、眠気を検出するための検出用データを生成する、生成手段と、
被検出者から前記眠気を、前記検出用データを用いて検出する、検出手段と、
を有することを特徴とする眠気検出システム。
【請求項2】
前記開眼度取得手段は、前記開眼度として、前記人物の目尻から目頭までの距離に対する上瞼から下瞼までの距離の割合を標準化した値を取得し、
前記生成手段は、前記度数分布を主成分分析することによって特徴ベクトルの集合を算出し、当該集合を学習データとして用い、かつ、前記各時刻の前記眠気レベルを正解データとして用いて、機械学習によって前記検出用データを生成する、
請求項1に記載の眠気検出システム。
【請求項3】
前記生成手段は、前記各時刻の前記眠気レベルを線形補間して算出する、
請求項2に記載の眠気検出システム。
【請求項4】
前記生成手段は、前記機械学習としてSVC(Support Vector Classification)を用いることによって、眠気の有無を分類するためのデータを前記検出用データとして生成する、
請求項2または請求項3に記載の眠気検出システム。
【請求項5】
前記生成手段は、前記機械学習としてSVR(Support Vector Regression)を用いることによって、眠気の3つ以上のレベルのうちのいずれかに仕分けするためのデータを前記検出用データとして生成する、
請求項2または請求項3に記載の眠気検出システム。
【請求項6】
前記検出手段は、特定の時刻における前記眠気を、前記特定の時刻から第二の所定の時間前の時刻までの前記被検出者の目の開き具合を表わす第二の開眼度に基づいて検出する、
請求項1に記載の眠気検出システム。
【請求項7】
前記検出手段は、前記被検出者の目尻から目頭までの距離に対する上瞼から下瞼までの距離の割合を標準化した値を取得し、前記生成手段が前記特徴ベクトルの集合を算出する際に得られた変換行列を用いて当該値を第二の特徴ベクトルに変換し、当該第二の特徴ベクトルおよび前記検出用データに基づいて前記眠気を検出する、
請求項2ないし請求項5のいずれかに記載の眠気検出システム。
【請求項8】
被検出者から眠気を検出するための検出用データを生成する眠気検出用データ生成システムであって、
各時刻における、標本である人物の目の開き具合を表わす開眼度を取得する、開眼度取得手段と、
所定の時間ごとの、前記人物がどれくらい眠いかの度合を表わす眠気レベルを取得する、眠気レベル取得手段と、
前記所定の時間ごとの、ビンごとの前記開眼度の度数分布および前記眠気レベルに基づいて前記検出用データを生成する、生成手段と、
を有することを特徴とする眠気検出用データ生成システム。
【請求項9】
前記開眼度取得手段は、前記開眼度として、前記人物の目尻から目頭までの距離に対する上瞼から下瞼までの距離の割合を標準化した値を取得し、
前記生成手段は、前記度数分布を主成分分析することによって特徴ベクトルの集合を算出し、当該集合を学習データとして用い、かつ、前記各時刻の前記眠気レベルを正解データとして用いて、機械学習によって前記検出用データを生成する、
請求項8に記載の眠気検出用データ生成システム。
【請求項10】
前記生成手段は、前記各時刻の前記眠気レベルを線形補間して算出する、
請求項9に記載の眠気検出用データ生成システム。
【請求項11】
前記生成手段は、前記機械学習としてSVC(Support Vector Classification)を用いることによって、眠気の有無を分類するためのデータを前記検出用データとして生成する、
請求項9または請求項10に記載の眠気検出用データ生成システム。
【請求項12】
前記生成手段は、前記機械学習としてSVR(Support Vector Regression)を用いることによって、眠気の3つ以上のレベルのうちのいずれかに仕分けするためのデータを前記検出用データとして生成する、
請求項9または請求項10に記載の眠気検出用データ生成システム。
【請求項13】
所定の時間ごとの、標本である人物の各時刻における目の開き具合を表わす開眼度の、ビンごとの度数分布と、前記人物がどれくらい眠いかの度合を表わす眠気レベルと、に基づいて生成された、眠気を検出するための検出用データを記憶する、記憶手段と、
被検出者から前記眠気を、前記検出用データを用いて検出する、検出手段と、
を有することを特徴とする眠気検出システム。
【請求項14】
各時刻における、標本である人物の目の開き具合を表わす開眼度を取得する第一のステップと、
所定の時間ごとの、前記人物がどれくらい眠いかの度合を表わす眠気レベルを取得する第二のステップと、
前記所定の時間ごとの、ビンごとの前記開眼度の度数分布および前記眠気レベルに基づいて、眠気を検出するための検出用データを生成する第三のステップと、
被検出者から前記眠気を、前記検出用データを用いて検出する第四のステップと、
を有することを特徴とする眠気検出方法。
【請求項15】
被検出者から眠気を検出するコンピュータに用いられるコンピュータプログラムであって、
前記コンピュータに、
各時刻における、標本である人物の目の開き具合を表わす開眼度を取得する第一の処理を実行させ、
所定の時間ごとの、前記人物がどれくらい眠いかの度合を表わす眠気レベルを取得する第二の処理を実行させ、
前記所定の時間ごとの、ビンごとの前記開眼度の度数分布および前記眠気レベルに基づいて、前記眠気を検出するための検出用データを生成する第三の処理を実行させ、
被検出者から前記眠気を、前記検出用データを用いて検出する第四の処理を実行させる、
ことを特徴とするコンピュータプログラム。
【請求項16】
請求項8ないし請求項12のいずれかに記載の眠気検出用データ生成システムによって生成される、
ことを特徴とする眠気検出用データ。
発明の詳細な説明 【技術分野】
【0001】
本発明は、運転手などの被検出者の眠気を検出する技術に関する。
【背景技術】
【0002】
交通事故の原因の1つは、前方不注視等の漫然運転である。漫然運転を引き起こす大きな要因の1つは、眠気であると考えられる(非特許文献1)。そこで、運転手をモニタリングして眠気を検出するシステムの需要が高まり、様々な指標に基づいて眠気を検出する技術が提案されている。
【0003】
非特許文献2に記載されるシステムは、ビデオカメラで運転手の顔を撮影し、得られた動画像から運転手の目の輪郭を抽出し、瞬きの振幅および速さなどに基づいて眠気を検出する。
【0004】
非特許文献3に記載されるシステムは、閉眼割合(運転中の、目を閉じている割合)に基づいて眠気を検出する。
【先行技術文献】
【0005】

【非特許文献1】横尾 和彦 著,「高速道路での居眠り運転防止に向けた効果的な対策に関する調査研究」,https://www.express-highway.or.jp/info/document/rpt_t_007.pdf,2018年3月3日検索
【非特許文献2】パナソニック株式会社,「眠気を検知・予測し、快適に覚醒状態を維持させる眠気制御技術を開発」,http://news.panasonic.com/jp/press/data/2017/07/jn170727-1/jn170727-1.pdf,2018年3月3日検索
【非特許文献3】大見 拓寛 著,「画像センサによる眠気状態推定とドライバーステータスモニターの開発」,Denso Technical Review, Vol. 21, pp. 93-102 (2016)
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、瞬きの振幅および速さなどに基づいて眠気を検出する方法によると、ハイスピードカメラが必要である。
【0007】
また、閉眼割合に基づいて眠気を検出する方法によると、深い眠気を感度よく検出することができるが、浅い眠気をあまり感度よく検出することができない。
【0008】
本発明は、このような問題点に鑑み、運転手などの被検出者の眠気を、浅い眠気であってもハイスピードカメラを用いることなく従来よりも確実に検出することができるようにすることを、目的とする。
【課題を解決するための手段】
【0009】
本発明の一形態に係る眠気検出システムは、各時刻における、標本である人物の目の開き具合を表わす開眼度を取得する、開眼度取得手段と、所定の時間ごとの、前記人物がどれくらい眠いかの度合を表わす眠気レベルを取得する、眠気レベル取得手段と、前記所定の時間ごとの、ビンごとの前記開眼度の度数分布(ヒストグラム)および前記眠気レベルに基づいて、眠気を検出するための検出用データを生成する、生成手段と、被検出者から前記眠気を、前記検出用データを用いて検出する、検出手段と、を有する。
【0010】
好ましくは、前記開眼度取得手段は、前記開眼度として、前記人物の目尻から目頭までの距離に対する上瞼から下瞼までの距離の割合を標準化した値を取得し、前記生成手段は、前記度数分布を主成分分析することによって特徴ベクトルの集合を算出し、当該集合を学習データとして用い、かつ、前記各時刻の前記眠気レベルを正解データとして用いて、機械学習によって前記検出用データを生成する。さらに好ましくは、前記生成手段は、前記各時刻の前記眠気レベルを線形補間して算出する。
【0011】
または、前記生成手段は、前記機械学習としてSVC(Support Vector Classification)を用いることによって、眠気の有無を分類するためのデータを前記検出用データとして生成する。または、前記機械学習としてSVR(Support Vector Regression)を用いることによって、眠気の3つ以上のレベルのうちのいずれかに仕分けるためのデータを前記検出用データとして生成する。
【0012】
または、前記検出手段は、特定の時刻における前記眠気を、前記特定の時刻から第二の所定の時間前の時刻までの前記被検出者の目の開き具合を表わす第二の開眼度に基づいて検出する。
【0013】
または、前記検出手段は、前記被検出者の目尻から目頭までの距離に対する上瞼から下瞼までの距離の割合を標準化した値を取得し、前記生成手段が前記特徴ベクトルの集合を算出する際に得られた変換行列を用いて当該値を第二の特徴ベクトルに変換し、当該第二の特徴ベクトルおよび前記検出用データに基づいて前記眠気を検出する。
【発明の効果】
【0014】
本発明によると、運転手などの被検出者の眠気を、浅い眠気であってもハイスピードカメラを用いることなく従来よりも確実に検出することができる。
【図面の簡単な説明】
【0015】
【図1】眠気検出システムの全体的な構成の例を示す図である。
【図2】自動車の車内およびビデオカメラの位置の例を示す図である。
【図3】車載コンピュータのハードウェア構成の例を示す図である。
【図4】サーバのハードウェア構成の例を示す図である。
【図5】サーバの機能的構成の例を示す図である。
【図6】学習処理の流れの例を説明するフローチャートである。
【図7】学習処理の各ステップで得られるデータの例を示す図である。
【図8】学習処理の各ステップで得られるデータの例を示す図である。
【図9】目のランドマーク点である。
【図10】眠気レベルおよびその基準などの例を示す図である。
【図11】眠気検出処理の流れの例を説明するフローチャートである。
【発明を実施するための形態】
【0016】
図1は、眠気検出システム1の全体的な構成の例を示す図である。図2は、自動車10の車内およびビデオカメラ32の位置の例を示す図である。図3は、車載コンピュータ31のハードウェア構成の例を示す図である。図4は、サーバ2のハードウェア構成の例を示す図である。図5は、サーバ2の機能的構成の例を示す図である。

【0017】
図1に示す眠気検出システム1は、自動車10を運転する運転手12から眠気を検出するシステムであって、サーバ2、車載システム3、および通信回線4などによって構成される。

【0018】
サーバ2および車載システム3は、通信回線4を介して通信することができる。通信回線4は、携帯電話網、Wi-Fi、またはインターネットなどが組み合わされた通信回線である。

【0019】
車載システム3は、自動車10に搭載されるコンピュータシステムであって、車載コンピュータ31およびビデオカメラ32などによって構成される。

【0020】
ビデオカメラ32は、図2のように、自動車10のダッシュボードに、運転席の上方に撮影方向が向くように設けられている。そして、所定のフレームレートで運転手12の顔を撮影し、顔の動画像データを車載コンピュータ31へリアルタイムに送信する。以下、ビデオカメラ32として、30フレーム/秒で撮影するデジタルビデオカメラが用いられる場合を例に説明する。

【0021】
車載コンピュータ31は、運転手12に眠気が生じているか否かをサーバ2へ問い合わせたり、眠気が生じている場合に運転手12に対して警告したりするためのコンピュータである。

【0022】
車載コンピュータ31は、図3に示すように、CPU(Central Processing Unit)31a、RAM(Random Access Memory)31b、ROM(Read Only Memory)31c、補助記憶装置31d、操作キー31e、タッチパネルディスプレイ31f、音声出力装置31g、入出力ボード31h、ネットワークアダプタ31j、および電源ユニット31kなどによって構成される。

【0023】
ROM31cまたは補助記憶装置31dには、オペレーティングシステムのほか、サーバ2と通信するためプログラムなど、種々のプログラムがインストールされている。補助記憶装置31dとして、SSD(Solid State Drive)またはハードディスクなどが用いられる。

【0024】
RAM31bは、車載コンピュータ31のメインメモリである。RAM31bには、オペレーティングシステムのほか種々のプログラムがロードされる。CPU31aは、RAM31bにロードされたプログラムを実行する。

【0025】
操作キー31eは、運転手12または同乗者が車載コンピュータ31を操作するための、いわゆるハードウェアキーである。

【0026】
タッチパネルディスプレイ31fは、道路マップなどの画像を表示する。本実施形態では、特に、眠気が生じていることを警告するメッセージを文字列またはイラストなどの画像によって表示する。また、タッチ面がタッチされた場合に、タッチされた位置をCPU31aへ通知する。

【0027】
音声出力装置31gは、眠気が生じていることを警告するメッセージを音声によって出力する。

【0028】
入出力ボード31hは、ビデオカメラ32にケーブルによって繋がれ、ビデオカメラ32と通信する。入出力ボード31hとして、例えば、USB(Universal Serial Bus)に準拠した入出力ボードが用いられる。

【0029】
ネットワークアダプタ31jは、TCP/IP(Transmission Control Protocol/Internet Protocol)などのプロトコルで他の装置と通信するための装置である。ネットワークアダプタ31jとして、携帯電話通信など無線通信用のネットワークアダプタが用いられる。特に、本実施形態では、ネットワークアダプタ31jは、ビデオカメラ32から入力される動画像データをサーバ2へ送信し、眠気の検出結果をサーバ2から受信する。

【0030】
電源ユニット31kは、CPU31aからの指令などに従って車載コンピュータ31の各ハードウェアモジュールへ電力を供給する。

【0031】
車載コンピュータ31として、スマートフォンまたはタブレットコンピュータを用いてもよい。または、カーナビゲーション端末と車載カメラとを組み合わせたものを用いてもよい。

【0032】
サーバ2は、車載システム3から受信した動画像データに基づいて運転手12から眠気を検出し、その結果を車載システム3へ送信する。

【0033】
サーバ2は、図4に示すように、CPU20a、RAM20b、ROM20c、補助記憶装置20d、ネットワークアダプタ20e、および電源ユニット20fなどによって構成される。

【0034】
ROM20cまたは補助記憶装置20dには、オペレーティングシステムのほか種々のプログラムがインストールされている。特に、本実施形態では、眠気検出のサービスを提供するための眠気検出プログラム20p(図5参照)がインストールされている。補助記憶装置20dとして、SSD(Solid State Drive)またはハードディスクなどが用いられる。

【0035】
RAM20bは、サーバ2のメインメモリである。RAM20bには、オペレーティングシステムのほか種々のプログラムがロードされる。CPU20aは、RAM20bにロードされたプログラムを実行する。

【0036】
ネットワークアダプタ20eは、TCP/IPなどのプロトコルで他の装置と通信するための装置である。ネットワークアダプタ20eとして、NIC(Network Interface Card)、無線LAN(Local Area Network)アダプタなどが用いられる。

【0037】
眠気検出プログラム20pは、図5に示す眠気学習モジュール25および眠気検出モジュール27などのソフトウェアモジュールによって構成される。

【0038】
眠気学習モジュール25は、標本である1人または複数の被験者から予め収集した学習データに基づいて、眠気の有無またはレベルを分類するための識別器を生成するプログラムである。識別器は、「推定器」または「検出器」などと呼ばれることがある。眠気検出モジュール27は、運転手12から運転中に収集した観察データに基づいて、運転手12から眠気の有無またはレベルを検出するプログラムである。

【0039】
つまり、眠気学習モジュール25は、眠気検出のサービスを提供する学習の際に実行され、眠気検出モジュール27は、眠気検出のサービスを実際に提供する際に実行される。

【0040】
眠気学習モジュール25は、開眼度算出部251、学習データ記憶部252、標準化処理部253、ヒストグラム算出部254、主成分分析部255、および識別器生成部256などの処理部を実現する。

【0041】
眠気検出モジュール27は、開眼度算出部271、標準化処理部272、ヒストグラム算出部273、次元圧縮部274、および眠気判定部275などの処理部を実現する。

【0042】
本実施形態では、2つのモジュールに分けてこれらの処理部を実現するが、1つのモジュールによって実現してもよいし、3つ以上のモジュールに分けて実現してもよい。

【0043】
〔眠気検出のサービスを提供するための学習〕
〔概要〕
図6は、学習処理の流れの例を説明するフローチャートである。図7~図8は、学習処理の各ステップで得られるデータの例を示す図である。

【0044】
眠気学習モジュール25によると、サーバ2において、図6に示す手順で処理が実行される。この際に、図7~図8に示すようなデータが得られる。

【0045】
サーバ2は、学習データとして、被験者の動画像から被験者の目の時刻ごと(例えば、1/30秒ごと)の開眼度を算出する(図6の#21)。これにより、図7(A)のような開眼度が得られる。さらに、教師データとして、所定の時間(例えば、5秒)ごとの被験者の眠気レベルを取得する(#22)。

【0046】
サーバ2は、開眼度を60Hzに線形補間し標準化する(#23)。これにより、図7(B)に示すような標準化開眼度が得られる。さらに、所定の時間ごと(例えば、5秒ごと)の標準化開眼度をヒストグラム化する(#24)。これにより、図7(C)に示すようなヒストグラム(度数分布)が得られる。

【0047】
さらに、サーバ2は、ヒストグラムを主成分分析することによって次元圧縮を行う(#25)。これにより、図8(A)のような特徴ベクトルの集合が得られる。なお、図8(A)に示す特徴ベクトルの集合は、2次元に圧縮された場合の一例である。

【0048】
そして、サーバ2は、眠気の有無を分類するための識別器を機械学習によって生成する(#26)。この際に、特徴ベクトルの集合が学習データとして用いられ、かつ、ステップ#22で取得した眠気レベルを加工したものが教師データとして用いられる。また、機械学習のアルゴリズムとして、例えばSVM(Support Vector Machine)が用いられる。機械学習によると、図8(B)に示すように、眠気の有無が分類されサポートベクトルが求められる。なお、図8(B)のデータは、特徴ベクトルの集合が2次元に圧縮されたものである場合の一例である。そして、このサポートベクトルが用いられて識別器が生成される。

【0049】
次に、図6に示したステップ#21~#26のそれぞれの具体的な処理の一例を説明する。

【0050】
〔学習データおよび教師データそれぞれの基礎となるデータの収集〕
図9は、目のランドマーク点Q1~Q6である。図10は、眠気レベルおよびその基準などの例を示す図である。

【0051】
眠気検出のサービスの提供者は、1人または複数の被験者から学習データを収集する。以下、学習データを収集する方法を、ある1人の被験者から学習データを収集する場合を例に説明する。

【0052】
観察者は、提供者からの指示に従い、次の作業を行う。観察者は、被験者の顔を所定のフレームレートでデジタルビデオカメラによって30分~2時間程度、撮影する。本実施形態では、30フレーム/秒で撮影する。これにより、被験者の顔の動画像データ6Aが得られる。なお、各フレームには、撮影された時刻が対応付けられる。動画像データ6Aは、デジタルビデオカメラからサーバ2へ送信される。また、撮影中、被験者は、眠くなる動画像を観たり、眠くなる音楽を聴いたりする。

【0053】
開眼度算出部251は、デジタルビデオカメラから動画像データ6Aが入力されると、各時刻のフレームから目の画像を検出し、開眼度を算出する。「開眼度」は、目頭から目尻までの距離つまり目の横幅に対する上瞼から下瞼までの距離の比率である。

【0054】
ここで、時刻tにおける開眼度の算出の方法の一例を説明する。なお、撮影を開始した時点の時刻tを「0」とする。

【0055】
開眼度算出部251は、図9に示す6つのランドマーク点Q1~Q6を利用して時刻tのフレームの中から両目それぞれの画像を検出する。(1)式に基づいて、右目および左目それぞれの開眼度を算出する。

【0056】
【数1】
JP2019154613A_000003t.gif

【0057】
そして、開眼度算出部251は、(2)式に基づいて、右目および左目の開眼度の平均値を算出する。この平均値が、時刻tにおける開眼度である。

【0058】
【数2】
JP2019154613A_000004t.gif

【0059】
開眼度算出部251は、(1)式および(2)式によって算出した各時刻における開眼度(図7(A)参照)を示す開眼度時系列データ6Bを生成し、学習データ記憶部252に記憶させる。

【0060】
さらに、観察者は、被験者の顔を撮影している間、被験者の眠気のレベルを所定の時間ごとに判断し、パーソナルコンピュータに入力する。本実施形態では、5秒ごとに判別する。眠気のレベルとして、図10に示す「1」~「5」の5段階の眠気レベルが用いられる。各眠気レベルには、表情または身体の動きに応じた判断の基準が規定されている。観察者は、これらの判断の基準に基づいて被験者の眠気レベルを判断する。これにより、5秒ごとの眠気レベルを示す眠気レベル時系列データ6Cがパーソナルコンピュータに生成される。眠気レベル時系列データ6Cは、パーソナルコンピュータからサーバ2へ送信され、ネットワークアダプタ20eによって受信され、開眼度時系列データ6Bと対応付けられて学習データ記憶部252に記憶される。

【0061】
他の被験者についても同様に、開眼度時系列データ6Bおよび眠気レベル時系列データ6Cが生成され、互いに対応付けられて学習データ記憶部252に記憶される。

【0062】
〔標準化〕
ところで、開眼度時系列データ6Bは、時間的に等間隔にサンプリングされているとは限らない。また、開眼度には個人差があり、取得方法によって値の分布が異なる場合があると考えられる。目の画像の検出に失敗したなどの理由で正常な開眼度が計算できず、開眼度時系列データ6Bの一部に欠損値またはノイズが混じることもある。

【0063】
そこで、標準化処理部253は、開眼度時系列データ6Bの補間および標準化を行う。完全に開眼している時の値が「1」に変換され、完全に閉眼している時の値が「0」に変換されるのが、理想的である。しかし、実際には、上下方向の検出ノイズが出るため、上限および下限を設けることが困難である。これは、実際に得られた開眼度の最大値および最小値を用いて正規化を行い、正規化開眼度の分布を見ると、分布の個人差が非常に大きくなることから分かる。そこで、本実施形態では、以下に述べるような処理を行う。

【0064】
初めに、標準化処理部253は、開眼度時系列データ6Bに示される開眼度を時間的に等間隔なデータに線形補間する。本実施形態では、60Hzのデータに線形補間する。例えば、(1/60)秒ごとの開眼度を(3)式によって算出することによって、線形補間すればよい。

【0065】
【数3】
JP2019154613A_000005t.gif

【0066】
さらに、標準化処理部253は、(3)式によって線形補間した開眼度を、標準化パラメータμ(平均)、σ(不偏分散の正の平方根)、および撮影の開始時からU秒(例えば、150秒)の経過時までの開眼度を用いて標準化する。つまり、(4)式によって各時刻tの標準化開眼度(図7(B)参照)を算出する。

【0067】
【数4】
JP2019154613A_000006t.gif

【0068】
なお、標準化処理部253は、被験者ごとに、つまり、眠気レベル時系列データ6Cごとに、標準化開眼度を算出する。

【0069】
〔ヒストグラムの生成〕
ヒストグラム算出部254は、標準化処理部253によって得られた標準化開眼度のヒストグラムである開眼度ヒストグラムを算出する。なお、すべての被験者の標準化開眼度を用いて開眼度ヒストグラムを算出してもよい。被験者の本実施形態では、次のように開眼度ヒストグラムを算出する。

【0070】
秒数Sおよびヒストグラムのビン(階級)数Nを予め決めておく。また、標準化開眼度の分布傾向に基づいて、ヒストグラムの最小値および最大値を予め決めておく。本実施形態では、最小値および最大値をそれぞれ「-5」および「6」とする。標準化処理部253は、この場合に、時刻tにおける(5)式の開眼度ヒストグラム(図7(C)参照)を、(6)式に基づいて、時刻tからS秒(例えば、5秒)前までの間で得られた標準化開眼度を用いて算出する。

【0071】
【数5】
JP2019154613A_000007t.gif

【0072】
【数6】
JP2019154613A_000008t.gif

【0073】
〔主成分分析〕
ヒストグラム算出部254によって算出された開眼度ヒストグラムは、標準化開眼度の分布を元にしたN次元ベクトルである。しかし、これだけでは、眠気を十分説明することができない。

【0074】
そこで、主成分分析部255は、この開眼ヒストグラムを主成分分析によって有意な特徴量に変換するとともに、次元圧縮を行う。主成分分析によって得られるベクトルを「主成分スコア」と呼び、主成分スコアの第i次元のスカラー量を「第i主成分」と呼ぶ。変換は、第1主成分の分散を最大化し、以降それまでに決定した主成分と無相関という制約条件の下で分散を最大化するようにして選ばれる。主成分スコアの、ある次元の分散を各次元の分散の総和で割ったものをその次元における「寄与率」と呼ぶ。第1次元から第i次元までの寄与率の総和を第i次元(第i主成分)までの「累積寄与率」と呼ぶ。

【0075】
主成分分析部255は、時刻tにおける(7)式の特徴ベクトルを、(8)式を用いて算出する。

【0076】
【数7】
JP2019154613A_000009t.gif

【0077】
【数8】
JP2019154613A_000010t.gif

【0078】
つまり、主成分分析部255は、前処理として、元の開眼度ヒストグラムhtから平均mを引く。主成分分析によって得られる変換行列を「P」とし、累積寄与率が所定の値(例えば、0.8)を超える最小の次元を「n」とし、得られた開眼度ヒストグラム全体の、元の重複を認めた集合を「H」として、最終的な特徴ベクトル(図8(A)参照)を算出する。

【0079】
〔SVMによる学習〕
主成分分析部255によって特徴ベクトルの集合が得られると、識別器生成部256は、眠気の有無を分類するための識別器を機械学習によって生成する。機械学習は、各特徴ベクトルに対応する正解データ(教師データ)があれば適用可能である。正解データとして、眠気レベル時系列データ6C、つまり、観察者が5秒ごとに評価した、被験者の眠気レベルが、次のように加工されて用いられる。

【0080】
主成分分析部255は、それぞれの眠気レベル時系列データ6Cを、特徴ベクトルの集合の時間間隔に合わせて、つまり、60Hzで線形補間する。時刻tにおける眠気レベルを(9)式とすると、保管後の時刻t∈Tにおける眠気レベルdtは、(10)式のように算出される。

【0081】
【数9】
JP2019154613A_000011t.gif

【0082】
【数10】
JP2019154613A_000012t.gif

【0083】
また、時刻tにおける正解データを、(11)式のように時刻tからS秒前(例えば、5秒前)までの間の眠気レベルの平均と定義する。

【0084】
【数11】
JP2019154613A_000013t.gif

【0085】
以上のように(11)式で定義される正解データは、回帰学習における正解データである。識別器生成部256は、眠気を2値分類する場合は、眠気レベル時系列データ6Cに示される眠気レベルつまり正解データを、3以上ならば「1」に置換し、3未満であれば「0」に置換した上で算出する。

【0086】
また、識別器生成部256は、実際に学習・推定する際は、さらに特徴ベクトルの標準化処理(平均を引いた後で不偏分散の正の平方根で割る処理)を行う。このため、特徴ベクトルの標準化処理に必要なパラメータも学習することができる。

【0087】
以上の処理によって、特徴ベクトルおよびそれに対応する正解データの準備が整う。識別器生成部256は、これらを学習データとテストデータとに分割する。例えば、20%分を学習データとして用い、残りをテストデータとしてパラメータ学習のために用いる。

【0088】
また、学習の手法として、サポートベクターマシン(SVM)が用いられる。SVMによると、分類(SVC:Support Vector Classification)および回帰(SVR:Support Vector Regression)が可能である。また、誤りペナルティの重要度を決めるコストパラメータC、カーネル関数k、およびそのパラメータがハイパーパラメータとして存在する。SVCによって学習した場合は、図8(B)に例示するような結果が得られる。

【0089】
学習によって得られるパラメータおよび関数は、次の通りである。これらのパラメータおよび関数のうちの一部によって、眠気の有無を分類するための識別器fが生成される。
μ: 開眼度の標準化パラメータ(平均)。
σ: 開眼度の標準化パラメータ(不偏分散の正の平方根)。
m: 開眼度ヒストグラムの平均(主成分分析)。
P: 主成分分析における変換行列。
n: 圧縮後の次元数(累積寄与率0.8を超える次元数)。
p: SVMのパラメータ(標準化パラメータを含む)。

【0090】
学習前に予め決めておく必要のあるハイパーパラメータは、次の通りである。なお、Sは、例えば5秒であり、Nは、例えば50である。
S: ヒストグラム算出に用いるデータ秒数。
N: ヒストグラム算出に用いるビン数。
C: SVMのコストパラメータ。
k: SVMのカーネル関数。

【0091】
識別器生成部256は、これらのパラメータおよび関数ならびに識別子fを示す学習済モデルデータ6Dを生成し、所定の記憶領域に記憶させる。

【0092】
〔運転手12の眠気の検出〕
図11は、眠気検出処理の流れの例を説明するフローチャートである。

【0093】
ビデオカメラ32は、運転手12が自動車10を運転している間、運転手12を撮影することによって動画像データ6Dを生成し、車載コンピュータ31へ送信する。車載コンピュータ31は、動画像データ6Dをサーバ2へ送信する。

【0094】
すると、図5に示す開眼度算出部271ないし眠気判定部275は、所定の時間間隔で(例えば、5秒ごとに)眠気を検出するための処理を行う。以下、この処理の一例を、図11を参照しながら説明する。

【0095】
開眼度算出部271は、動画像データ6Dが入力されると、各時刻のフレームから目の画像を検出し、開眼度を算出する(図11の#41)。これにより、開眼度時系列データ6Eが得られる。算出の方法は、開眼度算出部251による算出の方法と同様であり、前に説明した通りである。

【0096】
標準化処理部272は、直近のU秒間(例えば、150秒間)の開眼度を用いて、開眼度時系列データ6Eの補間および標準化を行うことによって、現時刻の標準化開眼度を算出する(#42)。補間および標準化の方法は、標準化処理部253による補間および標準化の方法と同様であり、前に説明した通りである。

【0097】
ヒストグラム算出部273は、標準化処理部272によって得られた標準化開眼度のヒストグラムである開眼度ヒストグラムを算出する(#43)。算出の方法は、ヒストグラム算出部254による算出の方法と同様であり、前に説明した通りである。

【0098】
次元圧縮部274は、ヒストグラム算出部273によって得られた開眼度ヒストグラムHtを(8)式に代入することによって次元圧縮を行う(#44)。これにより、特徴ベクトルが得られる。

【0099】
眠気判定部275は、次元圧縮部274によって得られた特徴ベクトルを、識別器生成部256によって生成された学習済モデルデータ6Dに示される識別器fに入力することによって、運転手12に眠気が生じているか否かを判定する(#45)。識別器fから「1」が出力されたら眠気が生じていると判定することができる。「1」が出力されたら眠気が生じていないと判定することができる。

【0100】
そして、眠気判定部275は、判定の結果つまり「0」または「1」を示す眠気判定データ6Fを車載システム3へ送信する(#46)。

【0101】
車載システム3は、眠気判定データ6Fを受信すると、眠気判定データ6Fに「1」が示されていれば、眠気が運転手12に生じていること、タッチパネルディスプレイ31fにメッセージを表示することによって知らせる。または、音声出力装置31gでメッセージまたは警告音を再生することによって知らせる。

【0102】
なお、識別器生成部256が回帰学習によって識別器fを生成した場合は、特徴ベクトルの集合を識別器fに入力することによって「1」~「5」のいずれかが出力される。この場合は、車載システム3は、眠気判定データ6Fを受信すると、眠気判定データ6Fに示される値に応じてメッセージを出力する。例えば、値が大きいほど、大きい音量でメッセージを再生する。または、値に応じた内容のメッセージを出力する。

【0103】
本実施形態によると、開眼度のヒストグラムを用いて識別器(検出器)を生成し、これを用いて運転手12などの被検出者の眠気を検出した。これにより、被検出者の眠気を、浅い眠気であってもハイスピードカメラを用いることなく従来よりも確実に検出することができる。

【0104】
本実施形態では、サーバ2によって眠気を検出したが、図5に示した機能をサーバ2の代わりに車載コンピュータ31に設け、車載コンピュータ31によって眠気を検出してもよい。

【0105】
本実施形態では、秒数Uとして150秒を設定する場合を例に説明したが、約130~300秒のいずれかであってもよい。

【0106】
本実施形態では、教師あり機械学習の方法(アルゴリズム)としてSVMを用いたが、他の方法を用いてもよい。例えば、学習データを十分に取得することができる場合は、ディープラーニングを用いてもよい。

【0107】
本実施形態では、自動車10の運転手12の眠気を検出する場合を例に説明したが、他の作業者の眠気を検出する場合にも、本発明を用いることができる。

【0108】
その他、眠気検出システム1、サーバ2、車載システム3の全体または各部の構成、処理の内容、処理の順序、データの構成などは、本発明の趣旨に沿って適宜変更することができる。
【符号の説明】
【0109】
1 眠気検出システム、眠気検出用データ生成システム
20e ネットワークアダプタ(眠気レベル取得手段)
251 開眼度算出部(開眼度取得手段)
253 標準化処理部(開眼度取得手段)
254 ヒストグラム算出部(生成手段)
255 主成分分析部(生成手段)
256 識別器生成部(生成手段)
27 眠気検出モジュール(検出手段)
6D 学習済モデルデータ(検出用データ)
図面
【図1】
0
【図2】
1
【図3】
2
【図4】
3
【図5】
4
【図6】
5
【図7】
6
【図8】
7
【図9】
8
【図10】
9
【図11】
10