(57)【要約】【課題】運転手などの被検出者の眠気を、浅い眠気であってもハイスピードカメラを用いることなく従来よりも確実に検出する。【解決手段】サーバ２は、各時刻における、標本である人物の目の開き具合を表わす開眼度を取得するとともに、所定の時間ごとの、この人物がどれくらい眠いかの度合を表わす眠気レベルを取得する。さらに、所定の時間ごとの、ビンごとの開眼度の度数分布（ヒストグラム）および眠気レベルに基づいて、眠気を検出するための検出器を生成する。そして、自動車１０の運転手１２の眠気を、検出器を用いて検出する。【選択図】図１
2019154613.tif 000002
【特許請求の範囲】
【請求項１】
各時刻における、標本である人物の目の開き具合を表わす開眼度を取得する、開眼度取得手段と、
所定の時間ごとの、前記人物がどれくらい眠いかの度合を表わす眠気レベルを取得する、眠気レベル取得手段と、
前記所定の時間ごとの、ビンごとの前記開眼度の度数分布および前記眠気レベルに基づいて、眠気を検出するための検出用データを生成する、生成手段と、
被検出者から前記眠気を、前記検出用データを用いて検出する、検出手段と、
を有することを特徴とする眠気検出システム。
【請求項２】
前記開眼度取得手段は、前記開眼度として、前記人物の目尻から目頭までの距離に対する上瞼から下瞼までの距離の割合を標準化した値を取得し、
前記生成手段は、前記度数分布を主成分分析することによって特徴ベクトルの集合を算出し、当該集合を学習データとして用い、かつ、前記各時刻の前記眠気レベルを正解データとして用いて、機械学習によって前記検出用データを生成する、
請求項１に記載の眠気検出システム。
【請求項３】
前記生成手段は、前記各時刻の前記眠気レベルを線形補間して算出する、
請求項２に記載の眠気検出システム。
【請求項４】
前記生成手段は、前記機械学習としてＳＶＣ（Support Vector Classification）を用いることによって、眠気の有無を分類するためのデータを前記検出用データとして生成する、
請求項２または請求項３に記載の眠気検出システム。
【請求項５】
前記生成手段は、前記機械学習としてＳＶＲ（Support Vector Regression）を用いることによって、眠気の３つ以上のレベルのうちのいずれかに仕分けするためのデータを前記検出用データとして生成する、
請求項２または請求項３に記載の眠気検出システム。
【請求項６】
前記検出手段は、特定の時刻における前記眠気を、前記特定の時刻から第二の所定の時間前の時刻までの前記被検出者の目の開き具合を表わす第二の開眼度に基づいて検出する、
請求項１に記載の眠気検出システム。
【請求項７】
前記検出手段は、前記被検出者の目尻から目頭までの距離に対する上瞼から下瞼までの距離の割合を標準化した値を取得し、前記生成手段が前記特徴ベクトルの集合を算出する際に得られた変換行列を用いて当該値を第二の特徴ベクトルに変換し、当該第二の特徴ベクトルおよび前記検出用データに基づいて前記眠気を検出する、
請求項２ないし請求項５のいずれかに記載の眠気検出システム。
【請求項８】
被検出者から眠気を検出するための検出用データを生成する眠気検出用データ生成システムであって、
各時刻における、標本である人物の目の開き具合を表わす開眼度を取得する、開眼度取得手段と、
所定の時間ごとの、前記人物がどれくらい眠いかの度合を表わす眠気レベルを取得する、眠気レベル取得手段と、
前記所定の時間ごとの、ビンごとの前記開眼度の度数分布および前記眠気レベルに基づいて前記検出用データを生成する、生成手段と、
を有することを特徴とする眠気検出用データ生成システム。
【請求項９】
前記開眼度取得手段は、前記開眼度として、前記人物の目尻から目頭までの距離に対する上瞼から下瞼までの距離の割合を標準化した値を取得し、
前記生成手段は、前記度数分布を主成分分析することによって特徴ベクトルの集合を算出し、当該集合を学習データとして用い、かつ、前記各時刻の前記眠気レベルを正解データとして用いて、機械学習によって前記検出用データを生成する、
請求項８に記載の眠気検出用データ生成システム。
【請求項１０】
前記生成手段は、前記各時刻の前記眠気レベルを線形補間して算出する、
請求項９に記載の眠気検出用データ生成システム。
【請求項１１】
前記生成手段は、前記機械学習としてＳＶＣ（Support Vector Classification）を用いることによって、眠気の有無を分類するためのデータを前記検出用データとして生成する、
請求項９または請求項１０に記載の眠気検出用データ生成システム。
【請求項１２】
前記生成手段は、前記機械学習としてＳＶＲ（Support Vector Regression）を用いることによって、眠気の３つ以上のレベルのうちのいずれかに仕分けするためのデータを前記検出用データとして生成する、
請求項９または請求項１０に記載の眠気検出用データ生成システム。
【請求項１３】
所定の時間ごとの、標本である人物の各時刻における目の開き具合を表わす開眼度の、ビンごとの度数分布と、前記人物がどれくらい眠いかの度合を表わす眠気レベルと、に基づいて生成された、眠気を検出するための検出用データを記憶する、記憶手段と、
被検出者から前記眠気を、前記検出用データを用いて検出する、検出手段と、
を有することを特徴とする眠気検出システム。
【請求項１４】
各時刻における、標本である人物の目の開き具合を表わす開眼度を取得する第一のステップと、
所定の時間ごとの、前記人物がどれくらい眠いかの度合を表わす眠気レベルを取得する第二のステップと、
前記所定の時間ごとの、ビンごとの前記開眼度の度数分布および前記眠気レベルに基づいて、眠気を検出するための検出用データを生成する第三のステップと、
被検出者から前記眠気を、前記検出用データを用いて検出する第四のステップと、
を有することを特徴とする眠気検出方法。
【請求項１５】
被検出者から眠気を検出するコンピュータに用いられるコンピュータプログラムであって、
前記コンピュータに、
各時刻における、標本である人物の目の開き具合を表わす開眼度を取得する第一の処理を実行させ、
所定の時間ごとの、前記人物がどれくらい眠いかの度合を表わす眠気レベルを取得する第二の処理を実行させ、
前記所定の時間ごとの、ビンごとの前記開眼度の度数分布および前記眠気レベルに基づいて、前記眠気を検出するための検出用データを生成する第三の処理を実行させ、
被検出者から前記眠気を、前記検出用データを用いて検出する第四の処理を実行させる、
ことを特徴とするコンピュータプログラム。
【請求項１６】
請求項８ないし請求項１２のいずれかに記載の眠気検出用データ生成システムによって生成される、
ことを特徴とする眠気検出用データ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、運転手などの被検出者の眠気を検出する技術に関する。
【背景技術】
【０００２】
交通事故の原因の１つは、前方不注視等の漫然運転である。漫然運転を引き起こす大きな要因の１つは、眠気であると考えられる（非特許文献１）。そこで、運転手をモニタリングして眠気を検出するシステムの需要が高まり、様々な指標に基づいて眠気を検出する技術が提案されている。
【０００３】
非特許文献２に記載されるシステムは、ビデオカメラで運転手の顔を撮影し、得られた動画像から運転手の目の輪郭を抽出し、瞬きの振幅および速さなどに基づいて眠気を検出する。
【０００４】
非特許文献３に記載されるシステムは、閉眼割合（運転中の、目を閉じている割合）に基づいて眠気を検出する。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】横尾 和彦 著，「高速道路での居眠り運転防止に向けた効果的な対策に関する調査研究」，https://www.express-highway.or.jp/info/document/rpt_t_007.pdf，２０１８年３月３日検索
【非特許文献２】パナソニック株式会社，「眠気を検知・予測し、快適に覚醒状態を維持させる眠気制御技術を開発」，http://news.panasonic.com/jp/press/data/2017/07/jn170727-1/jn170727-1.pdf，２０１８年３月３日検索
【非特許文献３】大見 拓寛 著，「画像センサによる眠気状態推定とドライバーステータスモニターの開発」，Denso Technical Review, Vol. 21, pp. 93-102 (2016)
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、瞬きの振幅および速さなどに基づいて眠気を検出する方法によると、ハイスピードカメラが必要である。
【０００７】
また、閉眼割合に基づいて眠気を検出する方法によると、深い眠気を感度よく検出することができるが、浅い眠気をあまり感度よく検出することができない。
【０００８】
本発明は、このような問題点に鑑み、運転手などの被検出者の眠気を、浅い眠気であってもハイスピードカメラを用いることなく従来よりも確実に検出することができるようにすることを、目的とする。
【課題を解決するための手段】
【０００９】
本発明の一形態に係る眠気検出システムは、各時刻における、標本である人物の目の開き具合を表わす開眼度を取得する、開眼度取得手段と、所定の時間ごとの、前記人物がどれくらい眠いかの度合を表わす眠気レベルを取得する、眠気レベル取得手段と、前記所定の時間ごとの、ビンごとの前記開眼度の度数分布（ヒストグラム）および前記眠気レベルに基づいて、眠気を検出するための検出用データを生成する、生成手段と、被検出者から前記眠気を、前記検出用データを用いて検出する、検出手段と、を有する。
【００１０】
好ましくは、前記開眼度取得手段は、前記開眼度として、前記人物の目尻から目頭までの距離に対する上瞼から下瞼までの距離の割合を標準化した値を取得し、前記生成手段は、前記度数分布を主成分分析することによって特徴ベクトルの集合を算出し、当該集合を学習データとして用い、かつ、前記各時刻の前記眠気レベルを正解データとして用いて、機械学習によって前記検出用データを生成する。さらに好ましくは、前記生成手段は、前記各時刻の前記眠気レベルを線形補間して算出する。
【００１１】
または、前記生成手段は、前記機械学習としてＳＶＣ（Support Vector Classification）を用いることによって、眠気の有無を分類するためのデータを前記検出用データとして生成する。または、前記機械学習としてＳＶＲ（Support Vector Regression）を用いることによって、眠気の３つ以上のレベルのうちのいずれかに仕分けるためのデータを前記検出用データとして生成する。
【００１２】
または、前記検出手段は、特定の時刻における前記眠気を、前記特定の時刻から第二の所定の時間前の時刻までの前記被検出者の目の開き具合を表わす第二の開眼度に基づいて検出する。
【００１３】
または、前記検出手段は、前記被検出者の目尻から目頭までの距離に対する上瞼から下瞼までの距離の割合を標準化した値を取得し、前記生成手段が前記特徴ベクトルの集合を算出する際に得られた変換行列を用いて当該値を第二の特徴ベクトルに変換し、当該第二の特徴ベクトルおよび前記検出用データに基づいて前記眠気を検出する。
【発明の効果】
【００１４】
本発明によると、運転手などの被検出者の眠気を、浅い眠気であってもハイスピードカメラを用いることなく従来よりも確実に検出することができる。
【図面の簡単な説明】
【００１５】
【図１】眠気検出システムの全体的な構成の例を示す図である。
【図２】自動車の車内およびビデオカメラの位置の例を示す図である。
【図３】車載コンピュータのハードウェア構成の例を示す図である。
【図４】サーバのハードウェア構成の例を示す図である。
【図５】サーバの機能的構成の例を示す図である。
【図６】学習処理の流れの例を説明するフローチャートである。
【図７】学習処理の各ステップで得られるデータの例を示す図である。
【図８】学習処理の各ステップで得られるデータの例を示す図である。
【図９】目のランドマーク点である。
【図１０】眠気レベルおよびその基準などの例を示す図である。
【図１１】眠気検出処理の流れの例を説明するフローチャートである。
【発明を実施するための形態】
【００１６】
図１は、眠気検出システム１の全体的な構成の例を示す図である。図２は、自動車１０の車内およびビデオカメラ３２の位置の例を示す図である。図３は、車載コンピュータ３１のハードウェア構成の例を示す図である。図４は、サーバ２のハードウェア構成の例を示す図である。図５は、サーバ２の機能的構成の例を示す図である。
【００１７】
図１に示す眠気検出システム１は、自動車１０を運転する運転手１２から眠気を検出するシステムであって、サーバ２、車載システム３、および通信回線４などによって構成される。
【００１８】
サーバ２および車載システム３は、通信回線４を介して通信することができる。通信回線４は、携帯電話網、Ｗｉ−Ｆｉ、またはインターネットなどが組み合わされた通信回線である。
【００１９】
車載システム３は、自動車１０に搭載されるコンピュータシステムであって、車載コンピュータ３１およびビデオカメラ３２などによって構成される。
【００２０】
ビデオカメラ３２は、図２のように、自動車１０のダッシュボードに、運転席の上方に撮影方向が向くように設けられている。そして、所定のフレームレートで運転手１２の顔を撮影し、顔の動画像データを車載コンピュータ３１へリアルタイムに送信する。以下、ビデオカメラ３２として、３０フレーム／秒で撮影するデジタルビデオカメラが用いられる場合を例に説明する。
【００２１】
車載コンピュータ３１は、運転手１２に眠気が生じているか否かをサーバ２へ問い合わせたり、眠気が生じている場合に運転手１２に対して警告したりするためのコンピュータである。
【００２２】
車載コンピュータ３１は、図３に示すように、ＣＰＵ（Central Processing Unit）３１ａ、ＲＡＭ（Random Access Memory）３１ｂ、ＲＯＭ（Read Only Memory）３１ｃ、補助記憶装置３１ｄ、操作キー３１ｅ、タッチパネルディスプレイ３１ｆ、音声出力装置３１ｇ、入出力ボード３１ｈ、ネットワークアダプタ３１ｊ、および電源ユニット３１ｋなどによって構成される。
【００２３】
ＲＯＭ３１ｃまたは補助記憶装置３１ｄには、オペレーティングシステムのほか、サーバ２と通信するためプログラムなど、種々のプログラムがインストールされている。補助記憶装置３１ｄとして、ＳＳＤ（Solid State Drive）またはハードディスクなどが用いられる。
【００２４】
ＲＡＭ３１ｂは、車載コンピュータ３１のメインメモリである。ＲＡＭ３１ｂには、オペレーティングシステムのほか種々のプログラムがロードされる。ＣＰＵ３１ａは、ＲＡＭ３１ｂにロードされたプログラムを実行する。
【００２５】
操作キー３１ｅは、運転手１２または同乗者が車載コンピュータ３１を操作するための、いわゆるハードウェアキーである。
【００２６】
タッチパネルディスプレイ３１ｆは、道路マップなどの画像を表示する。本実施形態では、特に、眠気が生じていることを警告するメッセージを文字列またはイラストなどの画像によって表示する。また、タッチ面がタッチされた場合に、タッチされた位置をＣＰＵ３１ａへ通知する。
【００２７】
音声出力装置３１ｇは、眠気が生じていることを警告するメッセージを音声によって出力する。
【００２８】
入出力ボード３１ｈは、ビデオカメラ３２にケーブルによって繋がれ、ビデオカメラ３２と通信する。入出力ボード３１ｈとして、例えば、ＵＳＢ（Universal Serial Bus）に準拠した入出力ボードが用いられる。
【００２９】
ネットワークアダプタ３１ｊは、ＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）などのプロトコルで他の装置と通信するための装置である。ネットワークアダプタ３１ｊとして、携帯電話通信など無線通信用のネットワークアダプタが用いられる。特に、本実施形態では、ネットワークアダプタ３１ｊは、ビデオカメラ３２から入力される動画像データをサーバ２へ送信し、眠気の検出結果をサーバ２から受信する。
【００３０】
電源ユニット３１ｋは、ＣＰＵ３１ａからの指令などに従って車載コンピュータ３１の各ハードウェアモジュールへ電力を供給する。
【００３１】
車載コンピュータ３１として、スマートフォンまたはタブレットコンピュータを用いてもよい。または、カーナビゲーション端末と車載カメラとを組み合わせたものを用いてもよい。
【００３２】
サーバ２は、車載システム３から受信した動画像データに基づいて運転手１２から眠気を検出し、その結果を車載システム３へ送信する。
【００３３】
サーバ２は、図４に示すように、ＣＰＵ２０ａ、ＲＡＭ２０ｂ、ＲＯＭ２０ｃ、補助記憶装置２０ｄ、ネットワークアダプタ２０ｅ、および電源ユニット２０ｆなどによって構成される。
【００３４】
ＲＯＭ２０ｃまたは補助記憶装置２０ｄには、オペレーティングシステムのほか種々のプログラムがインストールされている。特に、本実施形態では、眠気検出のサービスを提供するための眠気検出プログラム２０ｐ（図５参照）がインストールされている。補助記憶装置２０ｄとして、ＳＳＤ（Solid State Drive）またはハードディスクなどが用いられる。
【００３５】
ＲＡＭ２０ｂは、サーバ２のメインメモリである。ＲＡＭ２０ｂには、オペレーティングシステムのほか種々のプログラムがロードされる。ＣＰＵ２０ａは、ＲＡＭ２０ｂにロードされたプログラムを実行する。
【００３６】
ネットワークアダプタ２０ｅは、ＴＣＰ／ＩＰなどのプロトコルで他の装置と通信するための装置である。ネットワークアダプタ２０ｅとして、ＮＩＣ（Network Interface Card）、無線ＬＡＮ（Local Area Network）アダプタなどが用いられる。
【００３７】
眠気検出プログラム２０ｐは、図５に示す眠気学習モジュール２５および眠気検出モジュール２７などのソフトウェアモジュールによって構成される。
【００３８】
眠気学習モジュール２５は、標本である１人または複数の被験者から予め収集した学習データに基づいて、眠気の有無またはレベルを分類するための識別器を生成するプログラムである。識別器は、「推定器」または「検出器」などと呼ばれることがある。眠気検出モジュール２７は、運転手１２から運転中に収集した観察データに基づいて、運転手１２から眠気の有無またはレベルを検出するプログラムである。
【００３９】
つまり、眠気学習モジュール２５は、眠気検出のサービスを提供する学習の際に実行され、眠気検出モジュール２７は、眠気検出のサービスを実際に提供する際に実行される。
【００４０】
眠気学習モジュール２５は、開眼度算出部２５１、学習データ記憶部２５２、標準化処理部２５３、ヒストグラム算出部２５４、主成分分析部２５５、および識別器生成部２５６などの処理部を実現する。
【００４１】
眠気検出モジュール２７は、開眼度算出部２７１、標準化処理部２７２、ヒストグラム算出部２７３、次元圧縮部２７４、および眠気判定部２７５などの処理部を実現する。
【００４２】
本実施形態では、２つのモジュールに分けてこれらの処理部を実現するが、１つのモジュールによって実現してもよいし、３つ以上のモジュールに分けて実現してもよい。
【００４３】
〔眠気検出のサービスを提供するための学習〕
〔概要〕
図６は、学習処理の流れの例を説明するフローチャートである。図７〜図８は、学習処理の各ステップで得られるデータの例を示す図である。
【００４４】
眠気学習モジュール２５によると、サーバ２において、図６に示す手順で処理が実行される。この際に、図７〜図８に示すようなデータが得られる。
【００４５】
サーバ２は、学習データとして、被験者の動画像から被験者の目の時刻ごと（例えば、１／３０秒ごと）の開眼度を算出する（図６の＃２１）。これにより、図７（Ａ）のような開眼度が得られる。さらに、教師データとして、所定の時間（例えば、５秒）ごとの被験者の眠気レベルを取得する（＃２２）。
【００４６】
サーバ２は、開眼度を６０Ｈｚに線形補間し標準化する（＃２３）。これにより、図７（Ｂ）に示すような標準化開眼度が得られる。さらに、所定の時間ごと（例えば、５秒ごと）の標準化開眼度をヒストグラム化する（＃２４）。これにより、図７（Ｃ）に示すようなヒストグラム（度数分布）が得られる。
【００４７】
さらに、サーバ２は、ヒストグラムを主成分分析することによって次元圧縮を行う（＃２５）。これにより、図８（Ａ）のような特徴ベクトルの集合が得られる。なお、図８（Ａ）に示す特徴ベクトルの集合は、２次元に圧縮された場合の一例である。
【００４８】
そして、サーバ２は、眠気の有無を分類するための識別器を機械学習によって生成する（＃２６）。この際に、特徴ベクトルの集合が学習データとして用いられ、かつ、ステップ＃２２で取得した眠気レベルを加工したものが教師データとして用いられる。また、機械学習のアルゴリズムとして、例えばＳＶＭ（Support Vector Machine）が用いられる。機械学習によると、図８（Ｂ）に示すように、眠気の有無が分類されサポートベクトルが求められる。なお、図８（Ｂ）のデータは、特徴ベクトルの集合が２次元に圧縮されたものである場合の一例である。そして、このサポートベクトルが用いられて識別器が生成される。
【００４９】
次に、図６に示したステップ＃２１〜＃２６のそれぞれの具体的な処理の一例を説明する。
【００５０】
〔学習データおよび教師データそれぞれの基礎となるデータの収集〕
図９は、目のランドマーク点Ｑ１〜Ｑ６である。図１０は、眠気レベルおよびその基準などの例を示す図である。
【００５１】
眠気検出のサービスの提供者は、１人または複数の被験者から学習データを収集する。以下、学習データを収集する方法を、ある１人の被験者から学習データを収集する場合を例に説明する。
【００５２】
観察者は、提供者からの指示に従い、次の作業を行う。観察者は、被験者の顔を所定のフレームレートでデジタルビデオカメラによって３０分〜２時間程度、撮影する。本実施形態では、３０フレーム／秒で撮影する。これにより、被験者の顔の動画像データ６Ａが得られる。なお、各フレームには、撮影された時刻が対応付けられる。動画像データ６Ａは、デジタルビデオカメラからサーバ２へ送信される。また、撮影中、被験者は、眠くなる動画像を観たり、眠くなる音楽を聴いたりする。
【００５３】
開眼度算出部２５１は、デジタルビデオカメラから動画像データ６Ａが入力されると、各時刻のフレームから目の画像を検出し、開眼度を算出する。「開眼度」は、目頭から目尻までの距離つまり目の横幅に対する上瞼から下瞼までの距離の比率である。
【００５４】
ここで、時刻ｔにおける開眼度の算出の方法の一例を説明する。なお、撮影を開始した時点の時刻ｔを「０」とする。
【００５５】
開眼度算出部２５１は、図９に示す６つのランドマーク点Ｑ１〜Ｑ６を利用して時刻ｔのフレームの中から両目それぞれの画像を検出する。（１）式に基づいて、右目および左目それぞれの開眼度を算出する。
【００５６】
【数１】
2019154613.tif 000003
【００５７】
そして、開眼度算出部２５１は、（２）式に基づいて、右目および左目の開眼度の平均値を算出する。この平均値が、時刻ｔにおける開眼度である。
【００５８】
【数２】
2019154613.tif 000004
【００５９】
開眼度算出部２５１は、（１）式および（２）式によって算出した各時刻における開眼度（図７（Ａ）参照）を示す開眼度時系列データ６Ｂを生成し、学習データ記憶部２５２に記憶させる。
【００６０】
さらに、観察者は、被験者の顔を撮影している間、被験者の眠気のレベルを所定の時間ごとに判断し、パーソナルコンピュータに入力する。本実施形態では、５秒ごとに判別する。眠気のレベルとして、図１０に示す「１」〜「５」の５段階の眠気レベルが用いられる。各眠気レベルには、表情または身体の動きに応じた判断の基準が規定されている。観察者は、これらの判断の基準に基づいて被験者の眠気レベルを判断する。これにより、５秒ごとの眠気レベルを示す眠気レベル時系列データ６Ｃがパーソナルコンピュータに生成される。眠気レベル時系列データ６Ｃは、パーソナルコンピュータからサーバ２へ送信され、ネットワークアダプタ２０ｅによって受信され、開眼度時系列データ６Ｂと対応付けられて学習データ記憶部２５２に記憶される。
【００６１】
他の被験者についても同様に、開眼度時系列データ６Ｂおよび眠気レベル時系列データ６Ｃが生成され、互いに対応付けられて学習データ記憶部２５２に記憶される。
【００６２】
〔標準化〕
ところで、開眼度時系列データ６Ｂは、時間的に等間隔にサンプリングされているとは限らない。また、開眼度には個人差があり、取得方法によって値の分布が異なる場合があると考えられる。目の画像の検出に失敗したなどの理由で正常な開眼度が計算できず、開眼度時系列データ６Ｂの一部に欠損値またはノイズが混じることもある。
【００６３】
そこで、標準化処理部２５３は、開眼度時系列データ６Ｂの補間および標準化を行う。完全に開眼している時の値が「１」に変換され、完全に閉眼している時の値が「０」に変換されるのが、理想的である。しかし、実際には、上下方向の検出ノイズが出るため、上限および下限を設けることが困難である。これは、実際に得られた開眼度の最大値および最小値を用いて正規化を行い、正規化開眼度の分布を見ると、分布の個人差が非常に大きくなることから分かる。そこで、本実施形態では、以下に述べるような処理を行う。
【００６４】
初めに、標準化処理部２５３は、開眼度時系列データ６Ｂに示される開眼度を時間的に等間隔なデータに線形補間する。本実施形態では、６０Ｈｚのデータに線形補間する。例えば、（１／６０）秒ごとの開眼度を（３）式によって算出することによって、線形補間すればよい。
【００６５】
【数３】
2019154613.tif 000005
【００６６】
さらに、標準化処理部２５３は、（３）式によって線形補間した開眼度を、標準化パラメータμ（平均）、σ（不偏分散の正の平方根）、および撮影の開始時からＵ秒（例えば、１５０秒）の経過時までの開眼度を用いて標準化する。つまり、（４）式によって各時刻ｔの標準化開眼度（図７（Ｂ）参照）を算出する。
【００６７】
【数４】
2019154613.tif 000006
【００６８】
なお、標準化処理部２５３は、被験者ごとに、つまり、眠気レベル時系列データ６Ｃごとに、標準化開眼度を算出する。
【００６９】
〔ヒストグラムの生成〕
ヒストグラム算出部２５４は、標準化処理部２５３によって得られた標準化開眼度のヒストグラムである開眼度ヒストグラムを算出する。なお、すべての被験者の標準化開眼度を用いて開眼度ヒストグラムを算出してもよい。被験者の本実施形態では、次のように開眼度ヒストグラムを算出する。
【００７０】
秒数Ｓおよびヒストグラムのビン（階級）数Ｎを予め決めておく。また、標準化開眼度の分布傾向に基づいて、ヒストグラムの最小値および最大値を予め決めておく。本実施形態では、最小値および最大値をそれぞれ「−５」および「６」とする。標準化処理部２５３は、この場合に、時刻ｔにおける（５）式の開眼度ヒストグラム（図７（Ｃ）参照）を、（６）式に基づいて、時刻ｔからＳ秒（例えば、５秒）前までの間で得られた標準化開眼度を用いて算出する。
【００７１】
【数５】
2019154613.tif 000007
【００７２】
【数６】
2019154613.tif 000008
【００７３】
〔主成分分析〕
ヒストグラム算出部２５４によって算出された開眼度ヒストグラムは、標準化開眼度の分布を元にしたＮ次元ベクトルである。しかし、これだけでは、眠気を十分説明することができない。
【００７４】
そこで、主成分分析部２５５は、この開眼ヒストグラムを主成分分析によって有意な特徴量に変換するとともに、次元圧縮を行う。主成分分析によって得られるベクトルを「主成分スコア」と呼び、主成分スコアの第ｉ次元のスカラー量を「第ｉ主成分」と呼ぶ。変換は、第１主成分の分散を最大化し、以降それまでに決定した主成分と無相関という制約条件の下で分散を最大化するようにして選ばれる。主成分スコアの、ある次元の分散を各次元の分散の総和で割ったものをその次元における「寄与率」と呼ぶ。第１次元から第ｉ次元までの寄与率の総和を第ｉ次元（第ｉ主成分）までの「累積寄与率」と呼ぶ。
【００７５】
主成分分析部２５５は、時刻ｔにおける（７）式の特徴ベクトルを、（８）式を用いて算出する。
【００７６】
【数７】
2019154613.tif 000009
【００７７】
【数８】
2019154613.tif 000010
【００７８】
つまり、主成分分析部２５５は、前処理として、元の開眼度ヒストグラムｈtから平均ｍを引く。主成分分析によって得られる変換行列を「Ｐ」とし、累積寄与率が所定の値（例えば、０．８）を超える最小の次元を「ｎ」とし、得られた開眼度ヒストグラム全体の、元の重複を認めた集合を「Ｈ」として、最終的な特徴ベクトル（図８（Ａ）参照）を算出する。
【００７９】
〔ＳＶＭによる学習〕
主成分分析部２５５によって特徴ベクトルの集合が得られると、識別器生成部２５６は、眠気の有無を分類するための識別器を機械学習によって生成する。機械学習は、各特徴ベクトルに対応する正解データ（教師データ）があれば適用可能である。正解データとして、眠気レベル時系列データ６Ｃ、つまり、観察者が５秒ごとに評価した、被験者の眠気レベルが、次のように加工されて用いられる。
【００８０】
主成分分析部２５５は、それぞれの眠気レベル時系列データ６Ｃを、特徴ベクトルの集合の時間間隔に合わせて、つまり、６０Ｈｚで線形補間する。時刻ｔにおける眠気レベルを（９）式とすると、保管後の時刻ｔ∈Ｔにおける眠気レベルｄtは、（１０）式のように算出される。
【００８１】
【数９】
2019154613.tif 000011
【００８２】
【数１０】
2019154613.tif 000012
【００８３】
また、時刻ｔにおける正解データを、（１１）式のように時刻ｔからＳ秒前（例えば、５秒前）までの間の眠気レベルの平均と定義する。
【００８４】
【数１１】
2019154613.tif 000013
【００８５】
以上のように（１１）式で定義される正解データは、回帰学習における正解データである。識別器生成部２５６は、眠気を２値分類する場合は、眠気レベル時系列データ６Ｃに示される眠気レベルつまり正解データを、３以上ならば「１」に置換し、３未満であれば「０」に置換した上で算出する。
【００８６】
また、識別器生成部２５６は、実際に学習・推定する際は、さらに特徴ベクトルの標準化処理（平均を引いた後で不偏分散の正の平方根で割る処理）を行う。このため、特徴ベクトルの標準化処理に必要なパラメータも学習することができる。
【００８７】
以上の処理によって、特徴ベクトルおよびそれに対応する正解データの準備が整う。識別器生成部２５６は、これらを学習データとテストデータとに分割する。例えば、２０％分を学習データとして用い、残りをテストデータとしてパラメータ学習のために用いる。
【００８８】
また、学習の手法として、サポートベクターマシン（ＳＶＭ）が用いられる。ＳＶＭによると、分類（SVC:Support Vector Classification）および回帰（SVR:Support Vector Regression）が可能である。また、誤りペナルティの重要度を決めるコストパラメータＣ、カーネル関数ｋ、およびそのパラメータがハイパーパラメータとして存在する。ＳＶＣによって学習した場合は、図８（Ｂ）に例示するような結果が得られる。
【００８９】
学習によって得られるパラメータおよび関数は、次の通りである。これらのパラメータおよび関数のうちの一部によって、眠気の有無を分類するための識別器ｆが生成される。
μ：  開眼度の標準化パラメータ（平均）。
σ：  開眼度の標準化パラメータ（不偏分散の正の平方根）。
ｍ：  開眼度ヒストグラムの平均（主成分分析）。
Ｐ：  主成分分析における変換行列。
ｎ：  圧縮後の次元数（累積寄与率０．８を超える次元数）。
ｐ：  ＳＶＭのパラメータ（標準化パラメータを含む）。
【００９０】
学習前に予め決めておく必要のあるハイパーパラメータは、次の通りである。なお、Ｓは、例えば５秒であり、Ｎは、例えば５０である。
Ｓ：  ヒストグラム算出に用いるデータ秒数。
Ｎ：  ヒストグラム算出に用いるビン数。
Ｃ：  ＳＶＭのコストパラメータ。
ｋ：  ＳＶＭのカーネル関数。
【００９１】
識別器生成部２５６は、これらのパラメータおよび関数ならびに識別子ｆを示す学習済モデルデータ６Ｄを生成し、所定の記憶領域に記憶させる。
【００９２】
〔運転手１２の眠気の検出〕
図１１は、眠気検出処理の流れの例を説明するフローチャートである。
【００９３】
ビデオカメラ３２は、運転手１２が自動車１０を運転している間、運転手１２を撮影することによって動画像データ６Ｄを生成し、車載コンピュータ３１へ送信する。車載コンピュータ３１は、動画像データ６Ｄをサーバ２へ送信する。
【００９４】
すると、図５に示す開眼度算出部２７１ないし眠気判定部２７５は、所定の時間間隔で（例えば、５秒ごとに）眠気を検出するための処理を行う。以下、この処理の一例を、図１１を参照しながら説明する。
【００９５】
開眼度算出部２７１は、動画像データ６Ｄが入力されると、各時刻のフレームから目の画像を検出し、開眼度を算出する（図１１の＃４１）。これにより、開眼度時系列データ６Ｅが得られる。算出の方法は、開眼度算出部２５１による算出の方法と同様であり、前に説明した通りである。
【００９６】
標準化処理部２７２は、直近のＵ秒間（例えば、１５０秒間）の開眼度を用いて、開眼度時系列データ６Ｅの補間および標準化を行うことによって、現時刻の標準化開眼度を算出する（＃４２）。補間および標準化の方法は、標準化処理部２５３による補間および標準化の方法と同様であり、前に説明した通りである。
【００９７】
ヒストグラム算出部２７３は、標準化処理部２７２によって得られた標準化開眼度のヒストグラムである開眼度ヒストグラムを算出する（＃４３）。算出の方法は、ヒストグラム算出部２５４による算出の方法と同様であり、前に説明した通りである。
【００９８】
次元圧縮部２７４は、ヒストグラム算出部２７３によって得られた開眼度ヒストグラムＨtを（８）式に代入することによって次元圧縮を行う（＃４４）。これにより、特徴ベクトルが得られる。
【００９９】
眠気判定部２７５は、次元圧縮部２７４によって得られた特徴ベクトルを、識別器生成部２５６によって生成された学習済モデルデータ６Ｄに示される識別器ｆに入力することによって、運転手１２に眠気が生じているか否かを判定する（＃４５）。識別器ｆから「１」が出力されたら眠気が生じていると判定することができる。「１」が出力されたら眠気が生じていないと判定することができる。
【０１００】
そして、眠気判定部２７５は、判定の結果つまり「０」または「１」を示す眠気判定データ６Ｆを車載システム３へ送信する（＃４６）。
【０１０１】
車載システム３は、眠気判定データ６Ｆを受信すると、眠気判定データ６Ｆに「１」が示されていれば、眠気が運転手１２に生じていること、タッチパネルディスプレイ３１ｆにメッセージを表示することによって知らせる。または、音声出力装置３１ｇでメッセージまたは警告音を再生することによって知らせる。
【０１０２】
なお、識別器生成部２５６が回帰学習によって識別器ｆを生成した場合は、特徴ベクトルの集合を識別器ｆに入力することによって「１」〜「５」のいずれかが出力される。この場合は、車載システム３は、眠気判定データ６Ｆを受信すると、眠気判定データ６Ｆに示される値に応じてメッセージを出力する。例えば、値が大きいほど、大きい音量でメッセージを再生する。または、値に応じた内容のメッセージを出力する。
【０１０３】
本実施形態によると、開眼度のヒストグラムを用いて識別器（検出器）を生成し、これを用いて運転手１２などの被検出者の眠気を検出した。これにより、被検出者の眠気を、浅い眠気であってもハイスピードカメラを用いることなく従来よりも確実に検出することができる。
【０１０４】
本実施形態では、サーバ２によって眠気を検出したが、図５に示した機能をサーバ２の代わりに車載コンピュータ３１に設け、車載コンピュータ３１によって眠気を検出してもよい。
【０１０５】
本実施形態では、秒数Ｕとして１５０秒を設定する場合を例に説明したが、約１３０〜３００秒のいずれかであってもよい。
【０１０６】
本実施形態では、教師あり機械学習の方法（アルゴリズム）としてＳＶＭを用いたが、他の方法を用いてもよい。例えば、学習データを十分に取得することができる場合は、ディープラーニングを用いてもよい。
【０１０７】
本実施形態では、自動車１０の運転手１２の眠気を検出する場合を例に説明したが、他の作業者の眠気を検出する場合にも、本発明を用いることができる。
【０１０８】
その他、眠気検出システム１、サーバ２、車載システム３の全体または各部の構成、処理の内容、処理の順序、データの構成などは、本発明の趣旨に沿って適宜変更することができる。
【符号の説明】
【０１０９】
１  眠気検出システム、眠気検出用データ生成システム
２０ｅ  ネットワークアダプタ（眠気レベル取得手段）
２５１  開眼度算出部（開眼度取得手段）
２５３  標準化処理部（開眼度取得手段）
２５４  ヒストグラム算出部（生成手段）
２５５  主成分分析部（生成手段）
２５６  識別器生成部（生成手段）
２７  眠気検出モジュール（検出手段）
６Ｄ  学習済モデルデータ（検出用データ）
【図１】
2019154613.tif 000014
【図２】
2019154613.tif 000015
【図３】
2019154613.tif 000016
【図４】
2019154613.tif 000017
【図５】
2019154613.tif 000018
【図６】
2019154613.tif 000019
【図７】
2019154613.tif 000020
【図８】
2019154613.tif 000021
【図９】
2019154613.tif 000022
【図１０】
2019154613.tif 000023
【図１１】
2019154613.tif 000024