(57)【特許請求の範囲】
【請求項１】
ユーザの覚醒度を推定するための装置であって、
設定されたフレームレートで、前記ユーザの顔画像を含む画像データを取得する、画像データ取得部と、
設定された前記フレームレートで取得された前記画像データから、前記ユーザの生体情報を示す時系列データを抽出する、時系列データ抽出部と、
抽出された前記時系列データのサンプリング数が設定値となるように、前記時系列データを補間する、データ処理部と、
畳み込みニューラルネットワークを用いて構築された学習モデルに、補間後の前記時系列データを入力して、前記ユーザの覚醒度を推定する、覚醒度推定部と、
を備えていることを特徴とする覚醒度推定装置。
【請求項２】
請求項１に記載の覚醒度推定装置であって、
前記学習モデルが、フレームレートが異なる複数の時系列データに対して、サンプリング数が設定値になるように補間を行って得られたデータを、学習データとして、畳み込みニューラルネットワークに入力することによって構築されている、
ことを特徴とする覚醒度推定装置。
【請求項３】
請求項１または２に記載の覚醒度推定装置であって、
前記時系列データが示す生体情報が、前記ユーザにおける、眼の開閉度合を示す情報、視線の方向を示す情報、顔の向きを示す情報、脈波を示す情報、血流を示す情報、口の開閉度合を示す情報のうち、少なくとも１つである、
ことを特徴とする覚醒度推定装置。
【請求項４】
請求項３に記載の覚醒度推定装置であって、
前記時系列データが示す生体情報が、２つ以上の情報である場合に、前記学習モデルが、前記生体情報毎に、畳み込みを行うための層を有している、
ことを特徴とする覚醒度推定装置。
【請求項５】
請求項１〜４のいずれかに記載の覚醒度推定装置であって、
推定された前記覚醒度に応じて、前記フレームレートを調整する、フレームレート調整部を更に備えている、
ことを特徴とする覚醒度推定装置。
【請求項６】
請求項５に記載の覚醒度推定装置であって、
前記フレームレート調整部が、更に、抽出された前記時系列データが示す生体情報に応じて、前記フレームレートを調整する、
ことを特徴とする覚醒度推定装置。
【請求項７】
ユーザの覚醒度を推定するための方法であって、
（ａ）設定されたフレームレートで、前記ユーザの顔画像を含む画像データを取得する、ステップと、
（ｂ）設定された前記フレームレートで取得された前記画像データから、前記ユーザの生体情報を示す時系列データを抽出する、ステップと、
（ｃ）抽出された前記時系列データのサンプリング数が設定値となるように、前記時系列データを補間する、ステップと、
（ｄ）畳み込みニューラルネットワークを用いて構築された学習モデルに、補間後の前記時系列データを入力して、前記ユーザの覚醒度を推定する、ステップと、
を有することを特徴とする覚醒度推定方法。
【請求項８】
請求項７に記載の覚醒度推定方法であって、
前記学習モデルが、フレームレートが異なる複数の時系列データに対して、サンプリング数が設定値になるように補間を行って得られたデータを、学習データとして、畳み込みニューラルネットワークに入力することによって構築されている、
ことを特徴とする覚醒度推定方法。
【請求項９】
請求項７または８に記載の覚醒度推定方法であって、
前記時系列データが示す生体情報が、前記ユーザにおける、眼の開閉度合を示す情報、視線の方向を示す情報、顔の向きを示す情報、脈波を示す情報、血流を示す情報、口の開閉度合を示す情報のうち、少なくとも１つである、
ことを特徴とする覚醒度推定方法。
【請求項１０】
請求項９に記載の覚醒度推定方法であって、
前記時系列データが示す生体情報が、２つ以上の情報である場合に、前記学習モデルが、前記生体情報毎に、畳み込みを行うための層を有している、
ことを特徴とする覚醒度推定方法。
【請求項１１】
請求項７〜１０のいずれかに記載の覚醒度推定方法であって、
（ｅ）推定された前記覚醒度に応じて、前記フレームレートを調整する、ステップを更に有している、
ことを特徴とする覚醒度推定方法。
【請求項１２】
請求項１１に記載の覚醒度推定方法であって、
前記（ｅ）のステップにおいて、更に、抽出された前記時系列データが示す生体情報に応じて、前記フレームレートを調整する、
ことを特徴とする覚醒度推定方法。
【請求項１３】
コンピュータによってユーザの覚醒度を推定するためのプログラムであって、
前記コンピュータに、
（ａ）設定されたフレームレートで、前記ユーザの顔画像を含む画像データを取得する、ステップと、
（ｂ）設定された前記フレームレートで取得された前記画像データから、前記ユーザの生体情報を示す時系列データを抽出する、ステップと、
（ｃ）抽出された前記時系列データのサンプリング数が設定値となるように、前記時系列データを補間する、ステップと、
（ｄ）畳み込みニューラルネットワークを用いて構築された学習モデルに、補間後の前記時系列データを入力して、前記ユーザの覚醒度を推定する、ステップと、
を実行させる、プログラム。
【請求項１４】
請求項１３に記載のプログラムであって、
前記学習モデルが、フレームレートが異なる複数の時系列データに対して、サンプリング数が設定値になるように補間を行って得られたデータを、学習データとして、畳み込みニューラルネットワークに入力することによって構築されている、
ことを特徴とするプログラム。
【請求項１５】
請求項１３または１４に記載のプログラムであって、
前記時系列データが示す生体情報が、前記ユーザにおける、眼の開閉度合を示す情報、視線の方向を示す情報、顔の向きを示す情報、脈波を示す情報、血流を示す情報、口の開閉度合を示す情報のうち、少なくとも１つである、
ことを特徴とするプログラム。
【請求項１６】
請求項１５に記載のプログラムであって、
前記時系列データが示す生体情報が、２つ以上の情報である場合に、前記学習モデルが、前記生体情報毎に、畳み込みを行うための層を有している、
ことを特徴とするプログラム。
【請求項１７】
請求項１３〜１６のいずれかに記載のプログラムであって、
前記コンピュータに、
（ｅ）推定された前記覚醒度に応じて、前記フレームレートを調整する、ステップを更に実行させる、
ことを特徴とするプログラム。
【請求項１８】
請求項１７に記載のプログラムであって、
前記（ｅ）のステップにおいて、更に、抽出された前記時系列データが示す生体情報に応じて、前記フレームレートを調整する、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、人の覚醒状態を表す覚醒度を推定するための、覚醒度推定装置、及び覚醒度推定方法に関し、更には、これらを実現するためのプログラムに関する。
【背景技術】
【０００２】
近年、少子高齢化により生産年齢人口が減少し、労働力不足が進行している。そして、このような状況下において、今まで人が行っていた仕事の一部を、ロボット又はＡＩ（artificial intelligence）で置き換える試みが増加している。但し、人が行う仕事のうち、知的労働が必要となる仕事については、ロボット又はＡＩでの置き換えは困難である。このため、今後、人においては、知的労働の生産性を維持、向上することが必須となる。【０００３】
ところで、人は、機械と異なり、眠気を感じたり（低覚醒の状態）、ストレスを感じたり（過覚醒の状態）する。つまり、人の知的労働の生産性は、心身の覚醒状態に応じて、変化する。従って、人の知的労働の生産性の向上を図るためには、覚醒状態が丁度良い状態となるようにすることが重要である。【０００４】
そして、知的労働時における人の覚醒状態を丁度良い状態とするための手法としては、最新の人の覚醒状態を検出し、検出した覚醒状態に応じて、オフィス内の温度、湿度、照度といった環境を制御することが挙げられる。とりわけ、この手法においては、人の覚醒状態を精度良く検出することが重要となる。【０００５】
例えば、特許文献１は、目の開度から人の覚醒度を推定する装置を開示している。特許文献１に開示された装置は、設定されたフレームレートで送られてくるカメラ画像からドライバーの目の開眼時間を取得し、取得した開眼時間から、そのばらつきを求め、求めたばらつきから、ドライバーの覚醒度を推定する。【０００６】
また、非特許文献１は、顔画像から人の覚醒度（ストレス）を推定する装置を開示している。非特許文献１に開示された装置は、設定されたフレームレートで送られてくるカメラ画像から、人の顔の低周波ＨＲＶ（Heart Rate Variability）成分と呼吸速度を算出し、算出した数値を統計モデルに入力して、人の覚醒度を推定する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】国際公開第２０１０／０９２８６０号
【非特許文献】
【０００８】
【非特許文献１】Daniel McDuff, Sarah Gontarek, and Rosalind Picard,” RemoteMeasurement of Cognitive Stress via Heart Rate Variability”, EMBC2014
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ところで、特許文献１に開示された装置、及び非特許文献１に開示された装置では、いずれにおいても、覚醒度の推定精度を保つために、カメラ画像のフレームレートを高く設定し、処理する必要がある。このため、装置に大きな処理負担がかかるという問題がある。【００１０】
本発明の目的の一例は、上記問題を解消し、処理負担を低減しつつ、人の覚醒度を精度良く推定し得る、覚醒度推定装置、覚醒度推定方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、本発明の一側面における覚醒度推定装置は、ユーザの覚醒度を推定するための装置であって、
設定されたフレームレートで、前記ユーザの顔画像を含む画像データを取得する、画像データ取得部と、
設定された前記フレームレートで取得された前記画像データから、前記ユーザの生体情報を示す時系列データを抽出する、時系列データ抽出部と、
抽出された前記時系列データのサンプリング数が設定値となるように、前記時系列データを補間する、データ処理部と、
畳み込みニューラルネットワークを用いて構築された学習モデルに、補間後の前記時系列データを入力して、前記ユーザの覚醒度を推定する、覚醒度推定部と、
を備えていることを特徴とする。
ことを特徴とする。【００１２】
また、上記目的を達成するため、本発明の一側面における覚醒度推定方法は、ユーザの覚醒度を推定するための方法であって、
（ａ）設定されたフレームレートで、前記ユーザの顔画像を含む画像データを取得する、ステップと、
（ｂ）設定された前記フレームレートで取得された前記画像データから、前記ユーザの生体情報を示す時系列データを抽出する、ステップと、
（ｃ）抽出された前記時系列データのサンプリング数が設定値となるように、前記時系列データを補間する、ステップと、
（ｄ）畳み込みニューラルネットワークを用いて構築された学習モデルに、補間後の前記時系列データを入力して、前記ユーザの覚醒度を推定する、ステップと、
を有することを特徴とする。【００１３】
更に、上記目的を達成するため、本発明の一側面におけるプログラムは、コンピュータによってユーザの覚醒度を推定するためのプログラムであって、
前記コンピュータに、
（ａ）設定されたフレームレートで、前記ユーザの顔画像を含む画像データを取得する、ステップと、
（ｂ）設定された前記フレームレートで取得された前記画像データから、前記ユーザの生体情報を示す時系列データを抽出する、ステップと、
（ｃ）抽出された前記時系列データのサンプリング数が設定値となるように、前記時系列データを補間する、ステップと、
（ｄ）畳み込みニューラルネットワークを用いて構築された学習モデルに、補間後の前記時系列データを入力して、前記ユーザの覚醒度を推定する、ステップと、
を実行させる、プログラム。
【発明の効果】
【００１４】
以上のように、本発明によれば、処理負担を低減しつつ、人の覚醒度を精度良く推定することができる。
【図面の簡単な説明】
【００１５】
【図１】図１は、本発明の実施の形態１における覚醒度推定装置の構成を示すブロック図である。
【図２】図２は、本発明の実施の形態１において行われる時系列データの補間の一例を示す図である。
【図３】図３は、本発明の実施の形態１で用いられる畳み込みニューラルネットワークの一例を示す図である。
【図４】図４は、本発明の実施の形態１における覚醒度推定装置１０の動作を示すフロー図である。
【図５】図５は、本発明の実施の形態２における覚醒度推定装置の構成を示すブロック図である。
【図６】図６は、本発明の実施の形態２における覚醒度推定装置３０の動作を示すフロー図である。
【図７】図７は、本発明の実施の形態１及び２における覚醒度推定装置を実現するコンピュータの一例を示すブロック図である。
【発明を実施するための形態】
【００１６】
（実施の形態１）
以下、本発明の実施の形態１における、覚醒度推定装置、覚醒度推定方法、及びプログラムについて、図１〜図４を参照しながら説明する。
【００１７】
［装置構成］
最初に、本実施の形態１における覚醒度推定装置の構成について図１を用いて説明する。図１は、本発明の実施の形態１における覚醒度推定装置の構成を示すブロック図である。
【００１８】
図１に示す、本実施の形態における覚醒度推定装置１０は、ユーザの覚醒度を推定するための装置である。図１に示すように、覚醒度推定装置１０は、画像データ取得部１１と、時系列データ抽出部１２と、データ処理部１３と、覚醒度推定部１４とを備えている。
【００１９】
このうち、画像データ取得部１１は、設定されたフレームレートで、ユーザの顔画像を含む画像データを取得する。また、時系列データ抽出部１２は、設定されたフレームレートで取得された画像データから、ユーザの生体情報を示す時系列データを抽出する。
【００２０】
データ処理部１３は、抽出された時系列データのサンプリング数が設定値となるように、時系列データを補間する。覚醒度推定部１４は、畳み込みニューラルネットワークを用いて構築された学習モデルに、補間後の時系列データを入力して、ユーザの覚醒度を推定する。
【００２１】
以上のように、本実施の形態１では、画像データから抽出された時系列データのサンプリング数を補間することができるので、画像データのフレームレートを予め低く抑えることができる。このため、本実施の形態１によれば、装置における処理負担を低減しつつ、人の覚醒度を精度良く推定することができる。
【００２２】
続いて、本実施の形態１における覚醒度推定装置１０の構成について、より具体的に説明する。まず、図１に示すように、本実施の形態１では、覚醒度推定装置１０は、外部の撮像装置２０に接続されている。
【００２３】
撮像装置２０は、デジタルカメラであり、設定されたフレームレートで画像データを出力する。また、撮像装置２０は、ユーザの顔画像を撮影できるように配置されている。画像データ取得部１１は、撮像装置２０から出力される画像データを取得する。
【００２４】
また、本実施の形態１では、時系列データが示す生体情報としては、ユーザにおける、眼の開閉度合を示す情報、視線の方向を示す情報、顔の向きを示す情報、脈波を示す情報、血流を示す情報、口の開閉度合を示す情報等が挙げられる。時系列データ抽出部１２は、本実施の形態１では、フレーム毎に、画像データから上述の情報を抽出し、時系列データを生成する。
【００２５】
具体的には、時系列データ抽出部１２は、例えば、画像データから、ユーザの両眼を検出し、検出した両眼の大きさから開閉度合を求め、眼の開閉度合を示す情報の時系列データを生成する。また、時系列データ抽出部１２は、画像データから、ユーザの両眼の中心位置を検出し、検出した各中心位置から視線の方向を算出し、算出した視線の方向を示す情報の時系列データを生成する。
【００２６】
更に、時系列データ抽出部１２は、画像データから、ユーザの顔の中心線及び輪郭を検出し、検出した中心線及び輪郭の位置関係から、ユーザの顔の向きを算出し、算出した顔の向きを示す情報の時系列データを生成する。また、時系列データ抽出部１２は、画像データから、ユーザの口を検出し、検出した口の大きさから開閉度合を求め、口の開閉度合を示す情報の時系列データを生成する。
【００２７】
また、時系列データ抽出部１２は、血液中のヘモグロビンが光の緑色成分を吸収する性質を用いて、ユーザの脈波又は血流を算出する（例えば、下記の参考文献を参照）。具体的には、時系列データ抽出部１２は、画像データから、ユーザの肌の領域を特定し、特定した領域におけるＲ、Ｇ、Ｂ各チャンネルの輝度値を算出する。そして、時系列データ抽出部１２は、血流が増えると緑色の光が吸収され、Ｇの輝度値が減少することを利用して、ユーザの脈波又は血流を算出し、脈波又は血流を示す情報の時系列データを生成する。
【００２８】
参考文献：梅松旭美、辻川剛範著、「ICA-Rに基づく顔映像からの高精度心拍推定法」、NECデータサイエンス研究所、一般社団法人電子情報通信学会、信学技法IEICE Technical Report 2017
【００２９】
また、データ処理部１３は、本実施の形態１では、図２に示すように、時系列データに対してアップサンプリングを行うことによって、時系列データを補間する。図２は、本発明の実施の形態１において行われる時系列データの補間の一例を示す図である。図２の例では、本来求められる時系列データのフレームレートはＲであり、実際の時系列データのフレームレートは（Ｒ／２）である。また、図中の「○」は時系列データを示している。
【００３０】
図２に示すように、データ処理部１３は、サンプリング数が設定値となるように、即ち、フレームレートが（Ｒ／２）からＲとなるように、連続している２つの時系列データの間に新たな時系列データを追加する。
【００３１】
また、新たな時系列データの追加は、例えば、線形補間、スプライン補間によって行われる。更に、例えば、フレームレートがＲ／２のデータと、フレームレートがＲのデータとを学習データとして用いて、ニューラルネットワークを構築し、このニューラルネットワークによって補間が行われる態様であっても良い。その後、図２に示すように、アップサンプリングされた時系列データは、覚醒度推定部１４によって、畳み込みニューラルネットワークに入力される。
【００３２】
加えて、データ処理部１３は、各種信号処理、例えば、ノイズ除去処理、欠損データの補間処理、外れ値の除去処理等を行うこともできる。このような処理により、後の覚醒度推定部１４による覚醒度の推定精度の向上が期待できる。
【００３３】
また、本実施の形態１では、時系列データが示す生体情報が、２つ以上の情報である場合は、学習モデルは生体情報毎に畳み込みを行うための層を有している。ここで、図３を用いて、本実施の形態１における覚醒度推定部１４による推定処理について具体的に説明する。
【００３４】
図３は、本発明の実施の形態１で用いられる畳み込みニューラルネットワークの一例を示す図である。図３の例では、時系列データは、眼の開閉度合を示す情報、視線の方向を示す情報、及び顔の向きを示す情報といった３つの情報を示しており、情報毎に、畳み込みが行われる。また、時系列データは、時系列毎に０〜１、又は−１〜＋１等の値に正規化されているとする。
【００３５】
図３に示すように、眼の開閉度合を示す時系列データのサイズを（ＤＥＣ，ＷＴ）とする。ＤＥＣは、眼の開閉度合を示す時系列データの数である。また、例えば、右眼と左眼それぞれの開閉に関する時系列データを入力する場合、ＤＥＣ＝２である。ＷＴは、覚醒度推定のための時間窓幅である。例えば、１０ｓのデータを利用する場合、フレームレートＲを用いて、ＷＴ＝１０Ｒである。
【００３６】
まず、覚醒度推定部１４は、サイズ（ＤＥＣ，ＷＴ）の時系列データを畳み込み層に入力し、サイズが（ＤＥＣ，ＷＴ）より小さい窓毎に、重みフィルタを畳み込み、バイアスを加えて、活性化関数を通して出力を得る。次に、覚醒度推定部１４は、窓の位置をシフトさせ、そして、異なる重みフィルタとバイアスとを用いて、同様の操作を実行し、サイズ（ＤＥＣ＿Ｃ１，ＷＥＣ＿Ｃ１）の出力を得る。なお、活性化関数としては、ＲｅＬＵ(Rectified Linear Unit)等が挙げられる。
【００３７】
次に、覚醒度推定部１４は、プーリング層で、サイズ（ＤＥＣ＿Ｃ１，ＷＥＣ＿Ｃ１）の入力データに対して、サイズが（ＤＥＣ＿Ｃ１，ＷＥＣ＿Ｃ１）より小さい窓毎に、プーリング層においてプーリング処理を行う。例えば、よく用いられるｍａｘプーリングの場合、窓内の値の最大値が残るように処理が行われる。次に、覚醒度推定部１４は、窓の位置をシフトさせ、同様のプーリング処理を行うことで、サイズ（ＤＥＣ＿Ｐ１，ＷＥＣ＿Ｐ１）の出力を得る。
【００３８】
続いて、覚醒度推定部１４は、次の畳み込み層でも同様に、サイズ（ＤＥＣ＿Ｐ１，ＷＥＣ＿Ｐ１）の入力データに対して、サイズが（ＤＥＣ＿Ｐ１，ＷＥＣ＿Ｐ１）より小さい窓毎に、フィルタの畳み込み、バイアスの加算、活性化関数への入力を行う。そして、覚醒度推定部１４は、この場合も、窓の位置をシフトさせて、同様の処理を行うことで、サイズ（ＤＥＣ＿Ｃ２，ＷＥＣ＿Ｃ２）の出力を得る。
【００３９】
更に、覚醒度推定部１４は、次のプーリング層でも同様に、サイズ（ＤＥＣ＿Ｃ２，ＷＥＣ＿Ｃ２）の入力データに対して、サイズが（ＤＥＣ＿Ｃ２，ＷＥＣ＿Ｃ２）より小さい窓毎に、プーリング処理を行う。次に、覚醒度推定部１４は、窓の位置をシフトさせて、同様のプーリング処理を行うことで、例えばサイズ（ＤＥＣ＿Ｐ２，１）の出力を得る。
【００４０】
また、本実施の形態１では、覚醒度推定部１４は、視線の方向を示す時系列データ、顔の向きを示す時系列データ、それぞれに対しても同様の処理を行い、例えば、サイズ（ＤＥＧ＿Ｐ２，１）の出力と、サイズ（ＤＨＰ＿Ｐ２，１）の出力とを得る。
【００４１】
次に、覚醒度推定部１４は、「連結＆平坦化」処理として（図３参照）、時系列データそれぞれ毎の出力を連結し、平坦化する。これにより、覚醒度推定部１４は、サイズ（１,ＤＥＣ＿Ｐ２+ＤＥＧ＿Ｐ２+ＤＨＰ＿Ｐ２）の出力を得る。
【００４２】
その後、覚醒度推定部１４は、全結合層において、サイズ（１,ＤＥＣ＿Ｐ２+ＤＥＧ＿Ｐ２+ＤＨＰ＿Ｐ２）の入力データ全てに対して、重みフィルタを畳み込み、バイアスを加えて、活性化関数を通し、出力として覚醒度推定値を得る。
【００４３】
また、本実施の形態１では、学習モデルは、畳み込みニューラルネットワークを用いているが、その畳み込み層での重みフィルタ及びバイアスは、覚醒度の正解ラベルが付与されたサンプルデータを用いて、事前にディープラーニングを行うことによって学習される。また、学習は、覚醒度の正解ラベルと覚醒度の推定値との差分が少なくなるように、誤差逆伝搬法等を用いることで行うことができる。
【００４４】
更に、学習においては、一定の確率で重みとバイアスとをゼロにして学習するDropoutを用いることで、過学習を防ぐことができる。また、本実施の形態１では、学習モデルは、フレームレートが異なる複数の時系列データ（例えば、フレームレートが、Ｒ、Ｒ／２、Ｒ／３、Ｒ／６、Ｒ／１０の時系列データ）に対して、サンプル数が設定値なるように補間を行って得られたデータを、学習データとして、畳み込みニューラルネットワークに入力することによって構築されていても良い。この場合、より精密なモデル化が可能となる。
【００４５】
更に、本実施の形態１で用いられる学習モデルにおいて、畳み込みニューラルネットワークの構成は、特に限定されるものではない。学習モデルは、例えば、二つ目のプーリング層が取り除かれ、その代わりに、連結＆平坦化の後段に全結合層がもう一層追加された構成であっても良い。学習モデルには、種々の変形が加えられていても良い。
【００４６】
［装置動作］
次に、本実施の形態１における覚醒度推定装置１０の動作について図４を用いて説明する。図４は、本発明の実施の形態１における覚醒度推定装置１０の動作を示すフロー図である。以下の説明においては、適宜図１〜図３を参酌する。また、本実施の形態１では、覚醒度推定装置１０を動作させることによって、覚醒度推定方法が実施される。よって、本実施の形態１における覚醒度推定方法の説明は、以下の覚醒度推定装置１０の動作説明に代える。
【００４７】
図４に示すように、画像データ取得部１１は、撮像装置２０から画像データが出力されてくると、出力されてきた画像データを取得し、取得した画像データを保持する（ステップＳ１）。
【００４８】
次に、画像データ取得部１１は、保持している画像データの枚数が所定値に到達しているかどうかを判定する（ステップＳ２）。ステップＳ２の判定の結果、画像データの枚数が所定値に達していない場合は、画像データ取得部１１は、再度ステップＳ１を実行する。一方、ステップＳ２の判定の結果、画像データの枚数が所定値に達している場合は、画像データ取得部１１は、保持している画像データを時系列データ抽出部１２に渡す。
【００４９】
次に、時系列データ抽出部１２は、画像データを受け取ると、ステップＳ１で取得された画像データから、ユーザの生体情報を示す時系列データを抽出する（ステップＳ３）。また、画像データに複数のユーザが含まれている場合は、ステップＳ３において、時系列データ抽出部１２は、ユーザ毎に、時系列データを抽出することもできる。
【００５０】
次に、データ処理部１３は、ステップＳ３で抽出された時系列データのサンプリング数が設定値となるように、時系列データを補間する（ステップＳ４）。
【００５１】
次に、覚醒度推定部１４は、畳み込みニューラルネットワークを用いて構築された学習モデルに、ステップＳ４によって補間された後の時系列データを入力して、ユーザの覚醒度を推定する（ステップＳ５）。
【００５２】
具体的には、図３に示すように、時系列データが、眼の開閉度合を示す情報、視線の方向を示す情報、及び顔の向きを示す情報を示す場合は、覚醒度推定部１４は、情報毎に、畳み込みを行って、覚醒度を推定する。また、ステップＳ５の実行後は、再度ステップＳ１〜Ｓ５が実行され、常時、ユーザの覚醒度の推定が行われる。
【００５３】
また、覚醒度推定装置１０は、推定した覚醒度を、空調装置の制御システム、車両の運行システム等に入力する。これにより、各システムは、ユーザの覚醒度に基づいて、最適化制御を行うことができる。
【００５４】
［実施の形態１における効果］
以上のように、本実施の形態１では、画像データではなく、画像から抽出した時系列データにおいてサンプリング数を補間するので、画像データのフレームレートを予め低く抑えることができる。このため、負担が大きい画像データからの時系列データ抽出部１２の処理を軽減でき、結果、装置全体における処理負担を低減しつつ、人の覚醒度を精度良く推定することができる。また、本実施の形態１では、複数のフレームレートの入力時系列データに対して補間したデータを用いて畳み込みニューラルネットワークをモデル化することで、よりいっそう覚醒度の推定精度を向上させることもできる。また、本実施の形態１では、時系列データとして、複数の生体情報を用いることができるので、よりいっそう覚醒度の精度を向上させることもできる。
【００５５】
［プログラム］
本実施の形態１におけるプログラムは、コンピュータに、図４に示すステップＳ１〜Ｓ５を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態１における覚醒度推定装置１０と覚醒度推定方法とを実現することができる。この場合、コンピュータのプロセッサは、画像データ取得部１１、時系列データ抽出部１２、データ処理部１３、及び覚醒度推定部１４として機能し、処理を行なう。
【００５６】
また、本実施の形態１におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、画像データ取得部１１、時系列データ抽出部１２、データ処理部１３、及び覚醒度推定部１４のいずれかとして機能しても良い。
【００５７】
（実施の形態２）
次に、本発明の実施の形態２における覚醒度推定装置について、図５及び図６を参照しながら説明する。
【００５８】
［装置構成］
最初に、本実施の形態２における覚醒度推定装置の構成について図５を用いて説明する。図５は、本発明の実施の形態２における覚醒度推定装置の構成を示すブロック図である。
【００５９】
図５に示すように、本実施の形態２における覚醒度推定装置３０は、図１に示した実施の形態１における覚醒度推定装置１０と同様の構成に加えて、フレームレート調整部３１を備えている。以下、実施の形態１との相違点を中心に説明する。
【００６０】
フレームレート調整部３１は、覚醒度推定部１４によって推定された覚醒度に応じて、フレームレートを調整する。また、フレームレート調整部３１は、フレームレートの調整後、画像データを出力する撮像装置２０に対して、調整後のフレームレートを指示する。また、フレームレート調整部３１は、撮像装置２０ではなく、画像データ取得部１１、時系列データ抽出部１２に対して、調整後のフレームレートを指示してもよい。また、フレームレート調整部３１は、抽出された時系列データが示す生体情報に応じて、フレームレートを調整することもできる。
【００６１】
具体的には、フレームレート調整部３１は、覚醒度が一定している場合は、フレームレートを低く設定し、覚醒度推定装置３０における処理負担を低下させる。一方、フレームレート調整部３１は、覚醒度が大きく変化している場合（変化の範囲が所定の範囲を超えている場合）は、フレームレートを高く設定し、覚醒度の推定精度を向上させる。
【００６２】
［装置動作］
次に、本実施の形態２における覚醒度推定装置３０の動作について図６を用いて説明する。図６は、本発明の実施の形態２における覚醒度推定装置３０の動作を示すフロー図である。以下の説明においては、適宜図５を参酌する。また、本実施の形態２では、覚醒度推定装置３０を動作させることによって、覚醒度推定方法が実施される。よって、本実施の形態２における覚醒度推定方法の説明は、以下の覚醒度推定装置３０の動作説明に代える。
【００６３】
図６に示すように、画像データ取得部１１は、撮像装置２０から画像データが出力されてくると、出力されてきた画像データを取得し、取得した画像データを保持する（ステップＳ１１）。
【００６４】
次に、画像データ取得部１１は、保持している画像データの枚数が所定値に到達しているかどうかを判定する（ステップＳ１２）。ステップＳ１２の判定の結果、画像データの枚数が所定値に達していない場合は、画像データ取得部１１は、再度ステップＳ１１を実行する。一方、ステップＳｓ２の判定の結果、画像データの枚数が所定値に達している場合は、画像データ取得部１１は、保持している画像データを時系列データ抽出部１２に渡す。
【００６５】
次に、時系列データ抽出部１２は、画像データを受け取ると、ステップＳ１１で取得された画像データから、ユーザの生体情報を示す時系列データを抽出する（ステップＳ１３）。また、画像データに複数のユーザが含まれている場合は、ステップＳ１３において、時系列データ抽出部１２は、ユーザ毎に、時系列データを抽出することもできる。
【００６６】
次に、データ処理部１３は、ステップＳ１３で抽出された時系列データのサンプリング数が設定値となるように、時系列データを補間する（ステップＳ１４）。
【００６７】
次に、覚醒度推定部１４は、畳み込みニューラルネットワークを用いて構築された学習モデルに、ステップＳ１４によって補間された後の時系列データを入力して、ユーザの覚醒度を推定する（ステップＳ１５）。
【００６８】
以上のステップＳ１１〜Ｓ１５の実行により、ユーザの覚醒度が推定される。ステップＳ１１〜Ｓ１５は、図４に示したステップＳ１〜Ｓ５と同様のステップである。
【００６９】
次に、ステップＳ１５の実行後、フレームレート調整部３１は、ステップＳ１５によって推定された覚醒度に応じて、フレームレートを調整する（ステップＳ１６）。続いて、フレームレート調整部３１は、撮像装置２０に対して、ステップＳ１６で調整したフレームレートを指示する（ステップＳ１７）。
【００７０】
ステップＳ１７の実行後、撮像装置２０は、指示されたフレームレートで、画像データを出力する。また、ステップＳ１７の実行後は、再度ステップＳ１１〜Ｓ１７が実行されるが、その際、指示されたフレームレートで、時系列データが生成されて、新たに覚醒度が推定されることになる。また、本実施の形態２においても、再度ステップＳ１１〜Ｓ１５が実行されることで、常時、ユーザの覚醒度の推定が行われる。
【００７１】
また、本実施の形態２においても、覚醒度推定装置３０は、推定した覚醒度を、空調装置の制御システム、車両の運行システム等に入力する。これにより、各システムは、ユーザの覚醒度に基づいて、最適化制御を行うことができる。
【００７２】
［実施の形態２における効果］
以上のように、本実施の形態２では、画像データのフレームレートを調整することができる。本実施の形態２によれば、求められる覚醒度の精度に応じて、適切なフレームレートを設定することができる。また、本実施の形態２においても、実施の形態１と同様の効果を得ることができる。
【００７３】
［プログラム］
本実施の形態２におけるプログラムは、コンピュータに、図６に示すステップＳ１１〜Ｓ１７を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態１における覚醒度推定装置３０と覚醒度推定方法とを実現することができる。この場合、コンピュータのプロセッサは、画像データ取得部１１、時系列データ抽出部１２、データ処理部１３、覚醒度推定部１４、及びフレームレート調整部３１として機能し、処理を行なう。
【００７４】
また、本実施の形態２におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、画像データ取得部１１、時系列データ抽出部１２、データ処理部１３、覚醒度推定部１４、及びフレームレート調整部３１のいずれかとして機能しても良い。
【００７５】
（物理構成）
ここで、本発明の実施の形態１及び２におけるプログラムを実行することによって、覚醒度推定装置を実現するコンピュータについて図７を用いて説明する。図７は、本発明の実施の形態１及び２における覚醒度推定装置を実現するコンピュータの一例を示すブロック図である。
【００７６】
図７に示すように、コンピュータ１１０は、ＣＰＵ（Central Processing Unit）１１１と、メインメモリ１１２と、記憶装置１１３と、入力インターフェイス１１４と、表示コントローラ１１５と、データリーダ／ライタ１１６と、通信インターフェイス１１７とを備える。これらの各部は、バス１２１を介して、互いにデータ通信可能に接続される。なお、コンピュータ１１０は、ＣＰＵ１１１に加えて、又はＣＰＵ１１１に代えて、ＧＰＵ（Graphics Processing Unit）、又はＦＰＧＡ（Field-ProgrammableGate Array）を備えていても良い。
【００７７】
ＣＰＵ１１１は、記憶装置１１３に格納された、本実施の形態におけるプログラム（コード）をメインメモリ１１２に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ１１２は、典型的には、ＤＲＡＭ（Dynamic Random Access Memory）等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体１２０に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス１１７を介して接続されたインターネット上で流通するものであっても良い。
【００７８】
また、記憶装置１１３の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス１１４は、ＣＰＵ１１１と、キーボード及びマウスといった入力機器１１８との間のデータ伝送を仲介する。表示コントローラ１１５は、ディスプレイ装置１１９と接続され、ディスプレイ装置１１９での表示を制御する。
【００７９】
データリーダ／ライタ１１６は、ＣＰＵ１１１と記録媒体１２０との間のデータ伝送を仲介し、記録媒体１２０からのプログラムの読み出し、及びコンピュータ１１０における処理結果の記録媒体１２０への書き込みを実行する。通信インターフェイス１１７は、ＣＰＵ１１１と、他のコンピュータとの間のデータ伝送を仲介する。
【００８０】
また、記録媒体１２０の具体例としては、ＣＦ（Compact Flash（登録商標））及びＳＤ（Secure Digital）等の汎用的な半導体記憶デバイス、フレキシブルディスク（Flexible Disk）等の磁気記録媒体、又はＣＤ−ＲＯＭ（Compact DiskRead Only Memory）などの光学記録媒体が挙げられる。
【００８１】
なお、本実施の形態における覚醒度推定装置は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェアを用いることによっても実現可能である。更に、覚醒度推定装置は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。
【００８２】
上述した実施の形態の一部又は全部は、以下に記載する（付記１）〜（付記１８）によって表現することができるが、以下の記載に限定されるものではない。
【００８３】
（付記１）
ユーザの覚醒度を推定するための装置であって、
設定されたフレームレートで、前記ユーザの顔画像を含む画像データを取得する、画像データ取得部と、
設定された前記フレームレートで取得された前記画像データから、前記ユーザの生体情報を示す時系列データを抽出する、時系列データ抽出部と、
抽出された前記時系列データのサンプリング数が設定値となるように、前記時系列データを補間する、データ処理部と、
畳み込みニューラルネットワークを用いて構築された学習モデルに、補間後の前記時系列データを入力して、前記ユーザの覚醒度を推定する、覚醒度推定部と、
を備えていることを特徴とする覚醒度推定装置。
【００８４】
（付記２）
付記１に記載の覚醒度推定装置であって、
前記学習モデルが、フレームレートが異なる複数の時系列データに対して、サンプリング数が設定値になるように補間を行って得られたデータを、学習データとして、畳み込みニューラルネットワークに入力することによって構築されている、
ことを特徴とする覚醒度推定装置。
【００８５】
（付記３）
付記１または２に記載の覚醒度推定装置であって、
前記時系列データが示す生体情報が、前記ユーザにおける、眼の開閉度合を示す情報、視線の方向を示す情報、顔の向きを示す情報、脈波を示す情報、血流を示す情報、口の開閉度合を示す情報のうち、少なくとも１つである、
ことを特徴とする覚醒度推定装置。
【００８６】
（付記４）
付記３に記載の覚醒度推定装置であって、
前記時系列データが示す生体情報が、２つ以上の情報である場合に、前記学習モデルが、前記生体情報毎に、畳み込みを行うための層を有している、
ことを特徴とする覚醒度推定装置。
【００８７】
（付記５）
付記１〜４のいずれかに記載の覚醒度推定装置であって、
推定された前記覚醒度に応じて、前記フレームレートを調整する、フレームレート調整部を更に備えている、
ことを特徴とする覚醒度推定装置。
【００８８】
（付記６）
付記５に記載の覚醒度推定装置であって、
前記フレームレート調整部が、更に、抽出された前記時系列データが示す生体情報に応じて、前記フレームレートを調整する、
ことを特徴とする覚醒度推定装置。
【００８９】
（付記７）
ユーザの覚醒度を推定するための方法であって、
（ａ）設定されたフレームレートで、前記ユーザの顔画像を含む画像データを取得する、ステップと、
（ｂ）設定された前記フレームレートで取得された前記画像データから、前記ユーザの生体情報を示す時系列データを抽出する、ステップと、
（ｃ）抽出された前記時系列データのサンプリング数が設定値となるように、前記時系列データを補間する、ステップと、
（ｄ）畳み込みニューラルネットワークを用いて構築された学習モデルに、補間後の前記時系列データを入力して、前記ユーザの覚醒度を推定する、ステップと、
を有することを特徴とする覚醒度推定方法。
【００９０】
（付記８）
付記７に記載の覚醒度推定方法であって、
前記学習モデルが、フレームレートが異なる複数の時系列データに対して、サンプリング数が設定値になるように補間を行って得られたデータを、学習データとして、畳み込みニューラルネットワークに入力することによって構築されている、
ことを特徴とする覚醒度推定方法。
【００９１】
（付記９）
付記７または８に記載の覚醒度推定方法であって、
前記時系列データが示す生体情報が、前記ユーザにおける、眼の開閉度合を示す情報、視線の方向を示す情報、顔の向きを示す情報、脈波を示す情報、血流を示す情報、口の開閉度合を示す情報のうち、少なくとも１つである、
ことを特徴とする覚醒度推定方法。
【００９２】
（付記１０）
付記９に記載の覚醒度推定方法であって、
前記時系列データが示す生体情報が、２つ以上の情報である場合に、前記学習モデルが、前記生体情報毎に、畳み込みを行うための層を有している、
ことを特徴とする覚醒度推定方法。
【００９３】
（付記１１）
付記７〜１０のいずれかに記載の覚醒度推定方法であって、
（ｅ）推定された前記覚醒度に応じて、前記フレームレートを調整する、ステップを更に有している、
ことを特徴とする覚醒度推定方法。
【００９４】
（付記１２）
付記１１に記載の覚醒度推定方法であって、
前記（ｅ）のステップにおいて、更に、抽出された前記時系列データが示す生体情報に応じて、前記フレームレートを調整する、
ことを特徴とする覚醒度推定方法。
【００９５】
（付記１３）
コンピュータによってユーザの覚醒度を推定するためのプログラムであって、
前記コンピュータに、
（ａ）設定されたフレームレートで、前記ユーザの顔画像を含む画像データを取得する、ステップと、
（ｂ）設定された前記フレームレートで取得された前記画像データから、前記ユーザの生体情報を示す時系列データを抽出する、ステップと、
（ｃ）抽出された前記時系列データのサンプリング数が設定値となるように、前記時系列データを補間する、ステップと、
（ｄ）畳み込みニューラルネットワークを用いて構築された学習モデルに、補間後の前記時系列データを入力して、前記ユーザの覚醒度を推定する、ステップと、
を実行させる、プログラム。
【００９６】
（付記１４）
付記１３に記載のプログラムであって、
前記学習モデルが、フレームレートが異なる複数の時系列データに対して、サンプリング数が設定値になるように補間を行って得られたデータを、学習データとして、畳み込みニューラルネットワークに入力することによって構築されている、
ことを特徴とするプログラム。
【００９７】
（付記１５）
付記１３または１４に記載のプログラムであって、
前記時系列データが示す生体情報が、前記ユーザにおける、眼の開閉度合を示す情報、視線の方向を示す情報、顔の向きを示す情報、脈波を示す情報、血流を示す情報、口の開閉度合を示す情報のうち、少なくとも１つである、
ことを特徴とするプログラム。
【００９８】
（付記１６）
付記１５に記載のプログラムであって、
前記時系列データが示す生体情報が、２つ以上の情報である場合に、前記学習モデルが、前記生体情報毎に、畳み込みを行うための層を有している、
ことを特徴とするプログラム。
【００９９】
（付記１７）
付記１３〜１６のいずれかに記載のプログラムであって、
前記コンピュータに、
（ｅ）推定された前記覚醒度に応じて、前記フレームレートを調整する、ステップを更に実行させる、
ことを特徴とするプログラム。
【０１００】
（付記１８）
付記１７に記載のプログラムであって、
前記（ｅ）のステップにおいて、更に、抽出された前記時系列データが示す生体情報に応じて、前記フレームレートを調整する、
ことを特徴とするプログラム。                                                                          
【０１０１】
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【産業上の利用可能性】
【０１０２】
以上のように、本発明によれば、処理負担を低減しつつ、人の覚醒度を精度良く推定することができる。本発明は、人の覚醒度の推定が求められる種々のシステム、例えば、空調システム、自動車等の乗り物の運行システム等に有用である。
【符号の説明】
【０１０３】
１０  覚醒度推定装置（実施の形態１）
１１  画像データ取得部
１２  時系列データ抽出部
１３  データ処理部
１４  覚醒度推定部
２０  撮像装置
３０  覚醒度推定装置（実施の形態２）
３１  フレームレート調整部
１１０  コンピュータ
１１１  ＣＰＵ
１１２  メインメモリ
１１３  記憶装置
１１４  入力インターフェイス
１１５  表示コントローラ
１１６  データリーダ／ライタ
１１７  通信インターフェイス
１１８  入力機器
１１９  ディスプレイ装置
１２０  記録媒体
１２１  バス
【図１】
0006879388.tif 000002
【図２】
0006879388.tif 000003
【図３】
0006879388.tif 000004
【図４】
0006879388.tif 000005
【図５】
0006879388.tif 000006
【図６】
0006879388.tif 000007
【図７】
0006879388.tif 000008