(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-26
(45)【発行日】2025-01-10
(54)【発明の名称】異常状態推定装置および異常状態推定方法
(51)【国際特許分類】
A61B 5/18 20060101AFI20241227BHJP
【FI】
A61B5/18
(21)【出願番号】P 2021550920
(86)(22)【出願日】2019-10-04
(86)【国際出願番号】 JP2019039305
(87)【国際公開番号】W WO2021064985
(87)【国際公開日】2021-04-08
【審査請求日】2021-09-09
【審判番号】
【審判請求日】2023-02-01
(73)【特許権者】
【識別番号】000006013
【氏名又は名称】三菱電機株式会社
(74)【代理人】
【識別番号】110003166
【氏名又は名称】弁理士法人山王内外特許事務所
(72)【発明者】
【氏名】田原 奈津季
(72)【発明者】
【氏名】吉村 玄太
【合議体】
【審判長】南 宏輔
【審判官】北島 拓馬
【審判官】藏田 敦之
(56)【参考文献】
【文献】国際公開第2019/188398(WO,A1)
【文献】米国特許出願公開第2015/0314681(US,A1)
【文献】特開2008-35964(JP,A)
【文献】特開2010-128649(JP,A)
【文献】特開2010-134490(JP,A)
【文献】特開2008-204056(JP,A)
【文献】特開2018-171124(JP,A)
【文献】特開2016-165349(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
A61B 5/00-5/398
(57)【特許請求の範囲】
【請求項1】
車両の乗員に関する情報と、機械学習モデルとに基づいて、前記乗員の異常状態を推定する異常状態推定装置において、
前記乗員に関する情報を取得する情報取得部と、
前記乗員が正常状態であると仮定する時間である第1閾値設定用時間以内に前記情報取得部が取得した前記乗員に関する情報を、前記乗員に関する情報を入力とし前記乗員の異常状態の推定に用いられる異常状態スコアを出力する前記機械学習モデルに入力して前記異常状態スコアを取得し、取得した前記異常状態スコアに基づき、前記乗員の異常状態の推定において前記異常状態スコアとの比較に用いられる異常状態判定用閾値を設定する閾値設定部を備え、
前記閾値設定部は、前記第1閾値設定用時間以内に前記情報取得部が取得した前記乗員に関する情報を前記機械学習モデルに入力して取得した前記異常状態スコアのうちの最大値にバッファを持たせた値を、前記異常状態判定用閾値に設定する
ことを特徴とする異常状態推定装置。
【請求項2】
前記閾値設定部は、1つ以上の前記異常状態スコアを得て、当該1つ以上の前記異常状態スコア
のうちの最大値にバッファを持たせた値を前記異常状態判定用閾値に設定する
ことを特徴とする請求項1記載の異常状態推定装置。
【請求項3】
前記情報取得部が取得した前記乗員に関する情報を前記機械学習モデルに入力して得られた前記異常状態スコアが、前記閾値設定部が設定した前記異常状態判定用閾値より大きい場合、前記乗員は異常状態であると推定する推定部
を備えた請求項1記載の異常状態推定装置。
【請求項4】
前記乗員個人の認証を行い、前記乗員を識別する個人識別情報を取得する認証部を備え、
前記閾値設定部は、設定した前記異常状態判定用閾値を、前記認証部が取得した前記個人識別情報と紐づけて記憶させ、
前記推定部は、前記認証部が前記個人識別情報を取得し、前記閾値設定部が当該個人識別情報と紐づけて前記異常状態判定用閾値を記憶させると、前記乗員の異常状態を推定する
ことを特徴とする請求項3記載の異常状態推定装置。
【請求項5】
車両の乗員に関する情報と、
複数の機械学習モデルとに基づいて、前記乗員の異常状態を推定する異常状態推定装置において、
前記乗員に関する情報を取得する情報取得部と、
前記乗員が正常状態であると仮定する時間である第1閾値設定用時間以内に前記情報取得部が取得した前記乗員に関する情報を、前記乗員に関する情報を入力とし前記乗員の異常状態の推定に用いられる異常状態スコアを出力する
前記複数の前記機械学習モデルに
それぞれ入力して前記異常状態スコアを取得し、取得した前記異常状態スコアに基づき、前記乗員の異常状態の推定において
前記複数の前記機械学習モデルのうち前記乗員に関する情報を入力して得られた前記異常状態スコアがモデル別閾値より大きいと判定された前記機械学習モデルの数との比較に用いられる異常状態判定用閾値を設定する閾値設定部を備え、
前記閾値設定部は、
前記複数の前記機械学習モデル毎に、前記第1閾値設定用時間以内に前記情報取得部が取得した前記乗員に関する情報を入力して得られた前記異常状態スコアに基づき、
前記モデル別閾値を設定するモデル別閾値設定部と、
前記モデル別閾値設定部が前記モデル別閾値を設定後、前記複数の前記機械学習モデル毎に、第2閾値設定用時間以内に前記情報取得部が取得した前記乗員に関する情報を入力して得られた前記異常状態スコアは前記モデル別閾値設定部が設定した前記モデル別閾値より大きいか否かを判定するモデル別判定部を備え、
前記モデル別判定部が、前記異常状態スコアは前記モデル別閾値より大きいと判定した前記機械学習モデルの数を、前記異常状態判定用閾値に設定する
ことを特徴とする異常状態推定装置。
【請求項6】
前記複数の前記機械学習モデルのうち、前記情報取得部が取得した前記乗員に関する情報を入力して得られた前記異常状態スコアが、前記モデル別閾値設定部が設定した前記モデル別閾値より大きい前記機械学習モデルの数を算出するモデル数算出部と、
前記モデル数算出部が算出した前記機械学習モデルの数が、前記閾値設定部が設定した前記異常状態判定用閾値より大きい場合、前記乗員は異常状態であると推定する推定部
を備えた請求項5記載の異常状態推定装置。
【請求項7】
車両の乗員に関する情報と、
複数の機械学習モデルとに基づいて、前記乗員の異常状態を推定する異常状態推定装置において、
前記乗員に関する情報を取得する情報取得部と、
前記乗員が正常状態であると仮定する時間である第1閾値設定用時間以内に前記情報取得部が取得した前記乗員に関する情報を、前記乗員に関する情報を入力とし前記乗員の異常状態の推定に用いられる異常状態スコアを出力する
前記複数の前記機械学習モデルに
それぞれ入力して前記異常状態スコアを取得し、取得した前記異常状態スコアに基づき、前記乗員の異常状態の推定において
前記複数の前記機械学習モデルのうち前記乗員に関する情報を入力して得られた前記異常状態スコアが関連モデル別閾値より大きいと判定された前記機械学習モデルの数との比較に用いられる異常状態判定用閾値を設定する閾値設定部
と、
前記乗員の属性に関する属性情報を取得する属性情報取得部と、
前記属性情報取得部が取得した前記属性情報に基づき、前記複数の前記機械学習モデルのうち、前記乗員の属性に関連する、1つ以上の関連機械学習モデルを選択するモデル選択部と
を備え、
前記閾値設定部は、
前記モデル選択部が選択した1つ以上の前記関連機械学習モデル毎に、前記第1閾値設定用時間以内に前記情報取得部が取得した前記乗員に関する情報を入力して得られた前記異常状態スコアに基づき、
前記関連モデル別閾値を設定する関連モデル別閾値設定部と、
前記関連モデル別閾値設定部が前記関連モデル別閾値を設定後、1つ以上の前記関連機械学習モデル毎に、第3閾値設定用時間以内に前記情報取得部が取得した前記乗員に関する情報を入力して得られた前記異常状態スコアは、前記関連モデル別閾値設定部が設定した前記関連モデル別閾値より大きいか否かを判定する関連モデル別判定部を備え、
前記関連モデル別判定部が前記異常状態スコアは前記関連モデル別閾値より大きいと判定した前記関連機械学習モデルの数を、前記異常状態判定用閾値に設定する
ことを特徴とする異常状態推定装置。
【請求項8】
前記乗員の属性は、前記乗員の年齢である
ことを特徴とする請求項7記載の異常状態推定装置。
【請求項9】
前記複数の前記関連機械学習モデルのうち、前記情報取得部が取得した前記乗員に関する情報を前記関連機械学習モデルに入力して得られた前記異常状態スコアが、前記関連モデル別閾値設定部が設定した前記関連モデル別閾値より大きい前記関連機械学習モデルの数をカウントする関連モデル数算出部と、
前記関連モデル数算出部が算出した前記関連機械学習モデルの数が、前記閾値設定部が設定した前記異常状態判定用閾値より大きい場合、前記乗員は異常状態であると推定する推定部
を備えた請求項7記載の異常状態推定装置。
【請求項10】
前記情報取得部が取得した前記乗員に関する情報に基づき、前記乗員に関する特徴量を算出する特徴量算出部を備え、
前記閾値設定部は、
前記第1閾値設定用時間以内に、前記特徴量算出部が算出した特徴量を前記機械学習モデルに入力して得られた前記異常状態スコアに基づき、前記異常状態判定用閾値を設定する
ことを特徴とする請求項1記載の異常状態推定装置。
【請求項11】
車両の乗員に関する情報と、機械学習モデルとに基づいて、前記乗員の異常状態を推定する異常状態推定方法において、
情報取得部が、前記乗員に関する情報を取得するステップと、
閾値設定部が、前記乗員が正常状態であると仮定する時間である第1閾値設定用時間以内に前記情報取得部が取得した前記乗員に関する情報を、前記乗員に関する情報を入力とし前記乗員の異常状態の推定に用いられる異常状態スコアを出力する前記機械学習モデルに入力して前記異常状態スコアを取得し、取得した前記異常状態スコアに基づき、前記乗員の異常状態の推定において前記異常状態スコアとの比較に用いられる異常状態判定用閾値を設定するステップを備え、
前記閾値設定部は、前記第1閾値設定用時間以内に前記情報取得部が取得した前記乗員に関する情報を前記機械学習モデルに入力して取得した前記異常状態スコアのうちの最大値にバッファを持たせた値を、前記異常状態判定用閾値に設定する
ことを特徴とする異常状態推定方法。
【請求項12】
車両の乗員に関する情報と、
複数の機械学習モデルとに基づいて、前記乗員の異常状態を推定する異常状態推定方法において、
情報取得部が、前記乗員に関する情報を取得するステップと、
閾値設定部が、前記乗員が正常状態であると仮定する時間である第1閾値設定用時間以内に前記情報取得部が取得した前記乗員に関する情報を、前記乗員に関する情報を入力とし前記乗員の異常状態の推定に用いられる異常状態スコアを出力する
前記複数の前記機械学習モデルに
それぞれ入力して前記異常状態スコアを取得し、取得した前記異常状態スコアに基づき、前記乗員の異常状態の推定において
前記複数の前記機械学習モデルのうち前記乗員に関する情報を入力して得られた前記異常状態スコアがモデル別閾値より大きいと判定された前記機械学習モデルの数との比較に用いられる異常状態判定用閾値を設定するステップを備え、
前記閾値設定部は、
モデル別閾値設定部が、前記複数の前記機械学習モデル毎に、前記第1閾値設定用時間以内に前記情報取得部が取得した前記乗員に関する情報を入力して得られた前記異常状態スコアに基づき、
前記モデル別閾値を設定するステップと、
モデル別判定部が、前記モデル別閾値設定部が前記モデル別閾値を設定後、前記複数の前記機械学習モデル毎に、第2閾値設定用時間以内に前記情報取得部が取得した前記乗員に関する情報を入力して得られた前記異常状態スコアは前記モデル別閾値設定部が設定した前記モデル別閾値より大きいか否かを判定するステップを備え、
前記モデル別判定部が、前記異常状態スコアは前記モデル別閾値より大きいと判定した前記機械学習モデルの数を、前記異常状態判定用閾値に設定する
ことを特徴とする異常状態推定方法。
【請求項13】
車両の乗員に関する情報と、
複数の機械学習モデルとに基づいて、前記乗員の異常状態を推定する異常状態推定方法において、
情報取得部が、前記乗員に関する情報を取得するステップと、
閾値設定部が、前記乗員が正常状態であると仮定する時間である第1閾値設定用時間以内に前記情報取得部が取得した前記乗員に関する情報を、前記乗員に関する情報を入力とし前記乗員の異常状態の推定に用いられる異常状態スコアを出力する
前記複数の前記機械学習モデルに
それぞれ入力して前記異常状態スコアを取得し、取得した前記異常状態スコアに基づき、前記乗員の異常状態の推定において
前記複数の前記機械学習モデルのうち前記乗員に関する情報を入力して得られた前記異常状態スコアが関連モデル別閾値より大きいと判定された前記機械学習モデルの数との比較に用いられる異常状態判定用閾値を設定するステップ
と、
属性情報取得部が、前記乗員の属性に関する属性情報を取得するステップと、
モデル選択部が、前記属性情報取得部が取得した前記属性情報に基づき、前記複数の前記機械学習モデルのうち、前記乗員の属性に関連する、1つ以上の関連機械学習モデルを選択するステップと
を備え、
前記閾値設定部は、
関連モデル別閾値設定部が、前記モデル選択部が選択した1つ以上の前記関連機械学習モデル毎に、前記第1閾値設定用時間以内に前記情報取得部が取得した前記乗員に関する情報を入力して得られた前記異常状態スコアに基づき、
前記関連モデル別閾値を設定するステップと、
関連モデル別判定部が、前記関連モデル別閾値設定部が前記関連モデル別閾値を設定後、1つ以上の前記関連機械学習モデル毎に、第3閾値設定用時間以内に前記情報取得部が取得した前記乗員に関する情報を入力して得られた前記異常状態スコアは、前記関連モデル別閾値設定部が設定した前記関連モデル別閾値より大きいか否かを判定するステップを備え、
前記関連モデル別判定部が前記異常状態スコアは前記関連モデル別閾値より大きいと判定した前記関連機械学習モデルの数を、前記異常状態判定用閾値に設定する
ことを特徴とする異常状態推定方法。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、車両の乗員の異常状態を推定する異常状態推定装置および異常状態推定方法に関する。
【背景技術】
【0002】
従来、車両の乗員に関する情報と、機械学習済みモデル(以下「機械学習モデル」という。)とに基づいて、乗員が異常状態であるか否かを推定する技術が知られている。
その際、乗員の異常状態が誤推定されてしまうことを防ぐため、乗員に関する情報の個人差を考慮することが求められる。
ここで、例えば、特許文献1には、車両を使用するユーザの、時間帯毎の生体信号の平均値と、当該ユーザの計測中の生体信号との差を生体変動量として算出し、算出した生体変動量が、予め設定されている不調閾値を超えた場合に、当該ユーザが体調不良であると判定する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に開示されているような従来技術は、上述のとおり、ユーザの生体変動量が不調閾値を超えた場合に、当該ユーザが体調不良であると判定する。この不調閾値は、固定的に決められた範囲である。しかし、ユーザの体調が良好であると言える生体情報の範囲は、ユーザ毎に異なる。したがって、ユーザの生体変動量が不調閾値を超えた場合も、必ずしも当該ユーザが実際に体調不良であるわけではない。
したがって、特許文献1に開示されているような従来技術を、車両の乗員に関する情報と機械学習モデルとに基づいて乗員の異常状態を推定する技術に適用させたとしても、依然として、乗員の異常状態を誤推定してしまうことがあるという課題があった。
【0005】
この発明は、上記のような課題を解決するためになされたもので、車両の乗員に関する情報と、機械学習モデルとに基づいて、乗員の異常状態を推定する異常状態推定装置において、当該乗員が異常状態であるか否かを推定する際、当該乗員の異常状態の誤推定を防ぐことが可能な異常状態推定装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
この発明に係る異常状態推定装置は、車両の乗員に関する情報と、機械学習モデルとに基づいて、乗員の異常状態を推定する異常状態推定装置において、乗員に関する情報を取得する情報取得部と、乗員が正常状態であると仮定する時間である第1閾値設定用時間以内に情報取得部が取得した乗員に関する情報を、乗員に関する情報を入力とし乗員の異常状態の推定に用いられる異常状態スコアを出力する機械学習モデルに入力して異常状態スコアを取得し、取得した異常状態スコアに基づき、乗員の異常状態の推定において異常状態スコアとの比較に用いられる異常状態判定用閾値を設定する閾値設定部を備え、閾値設定部は、第1閾値設定用時間以内に情報取得部が取得した乗員に関する情報を機械学習モデルに入力して取得した異常状態スコアのうちの最大値にバッファを持たせた値を、異常状態判定用閾値に設定することを特徴とするものである。
【発明の効果】
【0007】
この発明によれば、車両の乗員に関する情報と、機械学習モデルとに基づいて、乗員の異常状態を推定する異常状態推定装置において、当該乗員が異常状態であるか否かを推定する際、当該乗員の異常状態の誤推定を防ぐことができる。
【図面の簡単な説明】
【0008】
【
図1】実施の形態1に係る異常状態推定装置の構成例を示す図である。
【
図2】実施の形態1において、学習装置が学習処理を行って機械学習モデルを生成する過程のイメージを説明するための図である。
【
図3】実施の形態1に係る異常状態推定装置の動作を説明するためのフローチャートである。
【
図4】
図3のステップST301の具体的な動作を説明するためのフローチャートである。
【
図5】
図3のステップST303の具体的な動作を説明するフローチャートである。
【
図6】
図5のステップST305の具体的な動作を説明するためのフローチャートである。
【
図7】
図3のステップST306の具体的な動作を説明するためのフローチャートである。
【
図8】実施の形態2に係る異常状態推定装置の構成例を示す図である。
【
図9】実施の形態2において、学習装置が学習処理を行って機械学習モデルを生成する過程のイメージを説明するための図である。
【
図10】実施の形態2に係る異常状態推定装置の動作について説明するためのフローチャートである。
【
図11】
図10のステップST1005の具体的な動作を説明するためのフローチャートである。
【
図12】
図10のステップST1007の具体的な動作を説明するためのフローチャートである。
【
図13】
図10のステップST1008の具体的な動作を説明するためのフローチャートである。
【
図14】実施の形態3に係る異常状態推定装置の構成例を示す図である。
【
図15】実施の形態3に係る異常状態推定装置の動作について説明するためのフローチャートである。
【
図16】
図15のステップST1506の具体的な動作を説明するためのフローチャートである。
【
図17】
図15のステップST1508の具体的な動作を説明するためのフローチャートである。
【
図18】
図15のステップST1509の具体的な動作を説明するためのフローチャートである。
【
図19】
図19A,
図19Bは、実施の形態1~実施の形態3に係る異常状態推定装置1~1bのハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0009】
以下、この発明の実施の形態について、図面を参照しながら詳細に説明する。
実施の形態1.
図1は、実施の形態1に係る異常状態推定装置1の構成例を示す図である。
実施の形態1に係る異常状態推定装置1は、車両に搭載される。
異常状態推定装置1は、車両の乗員に関する情報と、機械学習済みのモデル(以下「機械学習モデル」という。)17とに基づいて、車両の乗員の異常状態を推定する。具体的には、異常状態推定装置1は、車両の乗員に関する情報を機械学習モデル17に入力して得られた異常状態スコアに基づいて、車両の乗員が異常状態であるか否かを推定する。異常状態推定装置1は、異常状態スコアが閾値(以下「異常状態判定用閾値」という。)より大きい場合に、車両の乗員が異常状態であると推定する。
異常状態推定装置1は、車両の乗員の異常状態を推定するにあたり、当該推定に先立ち、予め決められた時間(以下「第1閾値設定用時間」)以内に取得した乗員に関する情報を上記機械学習モデル17に入力して得られた異常状態スコアに基づき、上記異常状態判定用閾値を設定する。異常状態推定装置1は、異常状態判定用閾値を設定後、設定した異常状態判定用閾値を用いて、上述の推定処理を行う。
異常状態推定装置1における、異常状態判定用閾値の設定、または、異常状態の推定処理の詳細については、後述する。
【0010】
実施の形態1において、車両の乗員とは、例えば、ドライバを想定している。以下、車両の乗員を、単に「乗員」という。実施の形態1において、異常状態推定装置1が推定する乗員の異常状態は、乗員が適切に運転できない状態をいう。具体的には、乗員の異常状態とは、例えば、乗員が眠気を引き起こしている状態、乗員が飲酒している状態、乗員が疲労している状態、または、乗員が漫然としている状態をいう。
また、実施の形態1において、乗員に関する情報とは、例えば、乗員の顔を撮像した撮像画像、乗員の生体情報、または、車両に対して乗員が行う車両操作に関する車両情報である。異常状態推定装置1は、撮像画像、生体情報、または、車両情報のうちの少なくとも1つと、機械学習モデルとに基づいて、乗員の異常状態を推定する。撮像画像、生体情報、および、車両情報の詳細については、後述する。
【0011】
異常状態推定装置1は、乗員に関する情報を、撮像装置2、生体センサ3、および、車両情報取得装置(図示省略)から取得する。異常状態推定装置1は、撮像装置2、生体センサ3、および、車両情報取得装置と、ネットワークを介して接続されている。
撮像装置2は、車両に設置され、乗員の顔を撮像する。撮像装置2は、例えば、1個の可視光カメラであってもよいし、複数個の可視光カメラであってもよい。また、撮像装置2は、例えば、1個の赤外線カメラであってもよいし、複数個の赤外線カメラであってもよい。また、撮像装置2は、車両内の運転者の状態を監視するために車両に搭載される、いわゆる「ドライバモニタリングシステム」が有する撮像装置と共用のものであってもよい。撮像装置2は、少なくとも、乗員の顔が存在すべき範囲を含む車両内の範囲を撮像可能に設置されているものであればよい。
なお、撮像装置2が赤外線カメラである場合、撮像装置2には、乗員の顔を含む範囲に対して撮像用の赤外線を照射するための光源(図示省略)が設けられている。当該光源は、例えば、LED(Light Emitting Diode)から成る。
【0012】
生体センサ3は、例えば、車両に設置されている。具体的には、生体センサ3は、例えば、マイクロ波ドップラセンサ、座席シートまたはステアリングに埋め込まれた心電計、または、温度センサである。また、生体センサ3は、例えば、乗員装着型の生体センサであってもよい。乗員装着型の生体センサとは、例えば、腕時計型の脈波計である。
生体センサ3は、乗員の生体情報を、リアルタイムで取得する。生体センサ3が取得する生体情報とは、具体的には、例えば、脈拍、心拍、呼吸、虹彩、または、身体の表面温度に関する情報である。
【0013】
車両情報取得装置は、例えば、車両に関する情報を取得する各種センサである。具体的には、車両情報取得装置は、例えば、車両に搭載されている車速センサ、操舵角センサ、アクセル開度センサ、または、ブレーキ開度センサである。
車両情報取得装置は、例えば、車速、ハンドル舵角、アクセル開度、または、ブレーキ開度に関する情報を、車両情報として取得する。
【0014】
図1に示すように、異常状態推定装置1は、情報取得部11、認証部12、特徴量算出部13、閾値設定部14、推定部15、個人認証用データベース(以下「個人認証用DB」という。)16、および、機械学習モデル17を備える。
情報取得部11は、顔画像取得部111、生体情報取得部112、および、車両情報取得部113を備える。顔画像取得部111は、顔検出部1111を備える。特徴量算出部13は、顔特徴量算出部131、生体特徴量算出部132、および、車両操作特徴量算出部133を備える。
【0015】
情報取得部11は、車両の乗員に関する情報を取得する。すなわち、情報取得部11は、ドライバに関する情報を取得する。
情報取得部11の顔画像取得部111は、撮像装置2から、乗員の顔を撮像した撮像画像(以下「顔画像」という。)を取得する。その際、顔画像取得部111の顔検出部1111は、顔画像に基づいて、乗員の顔の領域、乗員の顔のパーツ、乗員の顔向き、乗員の眼の開眼度、乗員の視線、または、乗員の開口度等を検出する。顔検出部1111は、例えば、周知の画像認識技術を用いて、乗員の顔の領域、乗員の顔のパーツ、乗員の顔向き、乗員の開眼度、乗員の視線、または、乗員の開口度等を検出すればよい。顔のパーツとは、例えば、目尻、目頭、口角、または、鼻をいう。
【0016】
情報取得部11の生体情報取得部112は、生体センサ3から、乗員の生体情報を取得する。
なお、ここでは、生体情報取得部112は、生体センサ3から、乗員の生体情報を取得するものとするが、これは一例に過ぎない。例えば、生体情報取得部112は、撮像装置2から顔画像を取得し、取得した顔画像から、既存の生体認証技術を用いて、生体情報を取得するようにしてもよい。
【0017】
情報取得部11の車両情報取得部113は、各種センサから、車両情報を取得する。
車両情報取得部113は、例えば、CAN(Controller Area Network)を介して、各種センサから、車両情報を取得する。
【0018】
情報取得部11は、取得した、乗員に関する情報を、認証部12および特徴量算出部13に出力する。具体的には、情報取得部11は、顔画像取得部111が取得した顔画像、生体情報取得部112が取得した生体情報、または、車両情報取得部113が取得した車両情報を、認証部12および特徴量算出部13に出力する。情報取得部11は、顔画像と対応付けて、顔検出部1111が検出した、乗員の顔の領域に関する情報、乗員の顔のパーツに関する情報、乗員の顔向きに関する情報、乗員の開眼度に関する情報、乗員の視線に関する情報、または、乗員の開口度に関する情報等を出力する。なお、乗員の顔の領域に関する情報とは、例えば、乗員の顔の領域を示す、顔画像上の座標である。また、乗員の顔のパーツに関する情報とは、例えば、乗員の顔のパーツの位置を示す、顔画像上の座標である。
【0019】
認証部12は、乗員個人の認証を行い、乗員を識別するための情報(以下「個人識別情報」という。)を取得する。実施の形態1において、個人識別情報は、例えば、IDとする。
具体的には、認証部12は、認証用情報を取得し、個人認証用DB16を参照して、乗員個人の認証を行う。認証用情報とは、例えば、情報取得部11から出力される、乗員に関する情報である。この場合、認証部12は、情報取得部11から、乗員に関する情報が出力されると、個人認証用DB16を参照して、乗員個人の認証を行う。なお、個人認証方法は、画像認証または生体認証等があげられる。
個人認証用DB16には、予め登録された、個人を特定できる情報(以下「個人特定用情報」という。)が記憶されている。個人特定用情報とは、具体的には、例えば、顔の画像等、画像認証を行うための情報、または、指紋、掌形、静脈パターン、虹彩等、生体認証を行うための情報をいう。その他、個人特定用情報は、乗員に関する情報と突き合わせて、乗員を特定できる情報となっていればよい。個人特定用情報は、それが誰であるかの情報と紐付けられて記憶されている。ここでは、それが誰であるかの情報は、IDとする。
【0020】
例えば、認証部12は、画像認証により、乗員個人の認証を行うとする。この場合、例えば、認証部12は、情報取得部11から出力された、顔画像、および、乗員の顔のパーツに関する情報が、個人特定用情報に登録されているかどうかの顔認証を行う。
認証部12は、情報取得部11から出力された、顔画像、および、乗員の顔のパーツに関する情報が、個人特定用情報に登録されている顔の画像、および、顔のパーツに関する情報に一致すれば、乗員個人を特定できたとし、対応する個人識別情報、言い換えれば、IDを取得する。
一方、認証部12は、情報取得部11から出力された、顔画像、および、乗員の顔のパーツに関する情報が、個人特定用情報に登録されている顔の画像、および、顔のパーツに関する情報に一致しなければ、乗員個人を特定不可とする。
【0021】
なお、上述の例では、認証部12は画像認証により乗員個人の認証を行う例を挙げたが、例えば、認証部12は、情報取得部11から出力された生体情報が、個人特定用情報に登録されている生体情報に一致するかどうかの生体認証を行ってもよい。
また、例えば、認証部12は、IDカード認証、または、指紋認証等によって、乗員個人の認証を行うものとしてもよい。認証部12がIDカード認証を行う場合、認証部12は、例えば、カードリーダー(図示省略)から、読み取られたIDカードに関する情報を、認証用情報として取得し、当該IDカードに関する情報と、個人特定用情報とを突き合わせる。認証部12が指紋認証を行う場合、認証部12は、例えば、指紋センサ(図示省略)から、指紋情報を、認証用情報として取得し、当該指紋情報と、個人特定用情報とを突き合わせる。
認証部12は、乗員個人を特定できた場合、取得した個人識別情報を、閾値設定部14および推定部15に出力する。
【0022】
特徴量算出部13は、情報取得部11が取得した、乗員に関する情報に基づき、乗員に関する特徴量を算出する。実施の形態1において、特徴量算出部13が算出する、乗員に関する特徴量とは、乗員の異常状態を推定する際に有効な指標である。
特徴量算出部13の顔特徴量算出部131は、情報取得部11の顔画像取得部111が取得した、乗員の顔画像、および、乗員の顔のパーツに関する情報に基づき、乗員に関する特徴量を算出する。以下、顔特徴量算出部131が算出する特徴量を「顔特徴量」という。
【0023】
例えば、顔特徴量算出部131は、顔画像取得部111が取得した、時系列の開眼度の情報に基づき、予め決められた時間(以下「顔特徴量判定用時間」という。)内の開眼度の情報のうち、乗員の眼が開いていることを示す開眼度の情報の割合、言い換えれば、開眼率を、顔特徴量として算出する。顔特徴量算出部131は、開眼度の時系列データに基づき、顔特徴量判定用時間内の開閉眼速度、または、瞬き間隔を、顔特徴量として算出してもよい。
また、例えば、顔特徴量算出部131は、顔画像取得部111が取得した、時系列の視線情報に基づき、視線のふらつき具合を、顔特徴量として算出するようにしてもよい。
【0024】
なお、情報取得部11は、取得した乗員に関する情報を、取得する都度、取得日時と紐づけて、時系列で、記憶部(図示省略)に記憶させるようにしている。記憶部は、異常状態推定装置1に備えられるものとしてもよいし、異常状態推定装置1の外部の、異常状態推定装置1が参照可能な場所に備えられるものとしてもよい。顔特徴量算出部131は、記憶部から、時系列の開眼度の情報、または、時系列の視線情報を取得すればよい。
顔特徴量算出部131は、例えば、開眼率および視線のふらつき具合、というように、複数種類の顔特徴量を算出するようにしてもよい。顔特徴量算出部131は、乗員の異常状態の推定に有効な顔特徴量を算出するようになっていればよい。
【0025】
特徴量算出部13の生体特徴量算出部132は、情報取得部11の生体情報取得部112が取得した、生体情報に基づき、乗員に関する特徴量を算出する。以下、生体特徴量算出部132が算出する特徴量を「生体特徴量」という。
例えば、生体特徴量算出部132は、生体情報取得部112が取得した、乗員の呼吸数に基づき、予め決められた時間(以下「生体特徴量判定用時間」という。)の平均呼吸間隔を、生体特徴量として算出する。
【0026】
また、例えば、生体特徴量算出部132は、心拍数に基づき、生体特徴量判定用時間の心拍数の平均値または標準偏差を、生体特徴量として算出するようにしてもよい。
なお、生体特徴量算出部132は、記憶部から、過去の乗員の呼吸数、または、過去の乗員の心拍数を取得すればよい。
生体特徴量算出部132は、例えば、生体特徴量判定用時間の平均呼吸間隔および心拍数、というように、複数種類の生体特徴量を算出するようにしてもよい。生体特徴量算出部132は、乗員の異常状態の推定に有効な生体特徴量を算出するようになっていればよい。
【0027】
特徴量算出部13の車両操作特徴量算出部133は、車両情報取得部113が取得した車両情報に基づき、乗員に関する特徴量を算出する。以下、車両操作特徴量算出部133が算出する特徴量を「車両操作特徴量」という。
例えば、車両操作特徴量算出部133は、車両情報取得部113が取得した、ブレーキ開度に関する情報に基づき、予め決められた時間(以下「車両操作特徴量判定用時間」という。)におけるブレーキ開度の変化量を、車両操作特徴量として算出する。
また、例えば、車両操作特徴量算出部133は、車両情報取得部113が取得した、ハンドル舵角に関する情報に基づき、車両操作特徴量判定用時間におけるハンドル舵角の変化量を、車両操作特徴量として算出してもよい。
なお、車両操作特徴量算出部133は、記憶部から、過去のブレーキ開度に関する情報、または、過去のハンドル舵角に関する情報を取得すればよい。
車両操作特徴量算出部133は、例えば、ブレーキ開度の変化量、および、ハンドル舵角の変化量というように、複数種類の車両操作特徴量を算出するようにしてもよい。車両操作特徴量算出部133は、乗員の異常状態の推定に有効な車両操作特徴量を算出するようになっていればよい。
特徴量算出部13は、算出した、乗員に関する特徴量を、閾値設定部14および推定部15に出力する。
【0028】
閾値設定部14は、予め設定された時間(以下「第1閾値設定用時間」という。)以内に、特徴量算出部13が算出した特徴量を機械学習モデル17に入力して得られた異常状態スコアに基づき、乗員の異常状態を推定するための異常状態判定用閾値を設定する。
第1閾値設定用時間は、異常状態推定装置1において、異常状態判定用閾値を設定する処理を行うために設定される、乗員が正常状態であると仮定する時間である。異常状態判定用閾値を設定する処理は、異常状態推定装置1において、乗員の異常状態を推定する前に行う処理である。
当該第1閾値設定用時間は、予め設定されている。実施の形態1において、第1閾値設定用時間は、車両の運転開始時を起点とし、予め定められた一定時間が経過した時点を終点とする時間とする。一例を挙げると、例えば、第1閾値設定用時間は、車両の運転開始時から10分間である。実施の形態1において、車両の運転開始時は、異常状態を推定する対象となるある乗員が、車両の運転を開始させたときをいうものであり、単に、車両のエンジンが駆動されたとき等をいうものではない。例えば、当該ある乗員が車両を運転して一定時間が経過した後、エンジンは駆動されたままで、当該ある乗員が別の乗員へ運転を交代したことで、異常状態を推定する対象となる乗員が変わったとする。この場合、運転を交代した後の上記別の乗員が車両の運転を開始させた時点は、車両の運転開始時とみなされるものとする。上記別の乗員が車両の運転を開始させた、車両の運転開始時を起点として、第1閾値設定用時間が設定される。
なお、閾値設定部14は、車両が運転開始されたことを、周知の種々の方法で検知すればよい。例えば、閾値設定部14は、車両のエンジンが始動したことで車両が運転開始されたことを検知してもよいし、撮像装置2から取得された顔画像に基づいて、車両が運転開始されたことを検知してもよい。
【0029】
ここで、機械学習モデル17について説明する。
機械学習モデル17は、乗員に関する情報を入力すると、乗員の異常状態を推定する際に用いる異常状態スコアを出力する機械学習モデルである。
機械学習モデル17は、例えば、機械学習における学習を実行する学習装置(図示省略)によって、予め、生成されている。
学習装置は、教師データと、異常状態の正解ラベルとを用いて学習を実行する学習処理を行う。なお、異常状態の正解ラベルは、異常状態であることを示すラベル、または、正常状態であることを示すラベルである。
【0030】
学習装置は、予め収集された、複数の乗員に関する情報を取得する。具体的には、例えば、予め、管理者等が、複数の被験者を車両に乗車させ、テスト走行させた際の、当該被験者に関する情報を収集する。学習装置は、管理者等によって収集された、複数の被験者に関する情報を、複数の乗員に関する情報として取得する。なお、学習装置が取得する乗員に関する情報は、上述の、情報取得部11が取得する、乗員に関する情報と同じ種類の情報である。すなわち、学習装置が取得する乗員に関する情報は、乗員の顔画像、生体情報、または、車両情報のうちのいずれか1つ以上である。
学習装置は、複数人の乗員に関する情報を取得し、取得した、複数人の乗員に関する情報に基づき、複数人の乗員に関する特徴量を、それぞれ、算出する。学習装置が算出する乗員に関する特徴量は、上述の、特徴量算出部13が算出する、乗員に関する特徴量と同じ種類の特徴量である。すなわち、学習装置が算出する特徴量は、顔特徴量、生体特徴量、または、車両操作特徴量のうちのいずれか1つ以上である。学習装置は、算出した特徴量を教師データとする。
【0031】
図2は、実施の形態1において、学習装置が学習処理を行って機械学習モデル17を生成する過程のイメージを説明するための図である。
図2に示すように、学習装置は、予め収集された複数人の乗員に関する情報について、それぞれ、異常状態の正解ラベルとともに、学習処理を実施し、機械学習モデル17を生成する。
図2では、学習装置は、N人の乗員に関する情報に基づき、機械学習モデル17を生成するものとしている。N人の乗員には、正常状態の乗員および異常状態の乗員が含まれる。
乗員の数「N」は、多ければ多いほど、好ましい。機械学習モデル17が、多くの乗員に関する情報に基づいて生成されるほど、異常状態推定装置1において当該機械学習モデル17に基づいて異常状態の推定が行われた際の、当該推定の精度は、向上する。
また、N人の乗員の属性は、様々な属性であることが望ましい。実施の形態1において、乗員の属性とは、例えば、性別または年齢である。
【0032】
学習装置が行う学習処理における学習方法の技法は、問わない。例えば、学習装置は、深層学習によって学習処理を行ってもよいし、決定木学習によって学習処理を行ってもよい。
また、ここでは、学習装置は、正解ラベルとともに学習を実行する教師あり学習によって機械学習モデル17を生成するものとしたが、これは一例に過ぎない。学習装置は、教師なし学習によって機械学習モデル17を生成してもよい。
【0033】
また、ここでは、機械学習モデル17は、異常状態推定装置1が備えるものとしたが、これは一例に過ぎない。機械学習モデル17は、異常状態推定装置1の外部の、異常状態推定装置1が参照可能な場所に備えられるようになっていてもよい。
【0034】
図1の説明に戻る。
上述のとおり、閾値設定部14は、第1閾値設定用時間以内に、特徴量算出部13が算出した特徴量を機械学習モデル17に入力して得られた異常状態スコアに基づき、乗員の異常状態を推定するための異常状態判定用閾値を設定する。
実施の形態1では、閾値設定部14は、第1閾値設定用時間以内に得られた1つ以上の異常状態スコアのうち、最大値を、異常状態判定用閾値に設定する。このとき、閾値設定部14は、第1閾値設定用時間以内に得られた1つ以上の異常状態スコアのうちの最大値に、バッファを持たせて、異常状態判定用閾値を設定してもよい。具体的には、閾値設定部14は、異常状態スコアの最大値+αを、異常状態判定用閾値に設定してもよい。αは、0より大きい値とする。また、例えば、閾値設定部14は、第1閾値設定用時間以内に得られた1つ以上の異常状態スコアのうちの最大値を係数倍した値を、異常状態判定用閾値としてもよい。
第1閾値設定用時間は、乗員が正常状態であると仮定する時間であるので、当該第1閾値設定用時間以内に得られた異常状態スコアは、乗員が正常状態である場合に得られる異常状態スコアとみなされる。言い換えれば、第1閾値設定用時間以内に得られた異常状態スコアの最大値以内であれば、乗員は正常状態であるとみなすことができる。閾値設定部14は、乗員が正常状態である場合に得られる異常状態スコアのうち最大値を異常状態判定用閾値に設定することで、乗員の異常状態を適切に推定可能な異常状態判定用閾値を設定することができる。
但し、第1閾値設定用時間以内に得られた異常状態スコアの最大値が、乗員が正常状態である場合に得られ得る異常状態スコアの最大値とは限らない。例えば、第1閾値設定用時間以内に得られた異常状態スコアを多少超えていた場合に、乗員が正常状態であることもあり得る。閾値設定部14は、例えば、異常状態スコアの最大値+αを異常状態判定用閾値に設定する等、異常状態スコアに余裕を持たせて異常状態判定用閾値を設定することで、乗員が正常状態であるにもかかわらず、当該乗員は異常状態と判定する可能性を低減することができる。
閾値設定部14は、設定した異常状態判定用閾値を、認証部12から出力された個人識別情報と紐づけて記憶部に記憶させる。
【0035】
このように、実施の形態1において、閾値設定部14は、第1閾値設定用時間、乗員は異常状態ではない、言い換えれば、乗員は正常状態であると仮定する。閾値設定部14は、その間の乗員に関する特徴量を機械学習モデル17に入力して、1つ以上の異常状態スコアを取得する。そして、閾値設定部14は、取得した1つ以上の異常状態スコアの最大値に基づき、乗員にとっての異常状態判定用閾値を設定する。
なお、上述のとおり、閾値設定部14が異常状態判定用閾値を設定する処理を行っている第1閾値設定用時間、機械学習モデル17から異常状態スコアは出力される。しかし、異常状態推定装置1は、閾値設定部14が異常状態判定用閾値を設定する処理を行っている第1閾値設定用時間、当該異常状態スコアに基づく乗員の異常状態の推定は行わないようにする。例えば、異常状態推定装置1は、乗員の異常状態の推定を行うかどうかを、推定可能フラグが「1」か「0」かによって判定する。異常状態推定装置1は、推定可能フラグが「1」の場合、乗員の異常状態の推定を行うと判定する。逆に、推定可能フラグが「0」の場合、異常状態推定装置1は、乗員の異常状態の推定を行わないと判定する。当該判定は、例えば、異常状態推定装置1の制御部によって行われる。なお、異常状態推定装置1において、乗員の異常状態の推定は、後述の推定部15が行う。
【0036】
閾値設定部14は、異常状態判定用閾値の設定を完了すると、推定可能フラグ「1」の設定を行う。具体的には、制御部が、推定可能フラグ「0」である場合に、閾値設定部14に対して、異常状態判定用閾値を設定する処理を行わせる。閾値設定部14は、上述のように、異常状態判定用閾値を設定する処理を行って異常状態判定用閾値を設定し、個人認証用DB16に、当該異常状態判定用閾値をIDと紐づけて記憶させるとともに、推定可能フラグを「1」とする。
閾値設定部14は、異常状態判定用閾値の設定を完了すると、推定可能フラグを「1」にするため、異常状態推定装置1において、閾値設定部14が異常状態判定用閾値を設定できていない間は、推定可能フラグは、「0」となっている。
異常状態推定装置1の制御部は、推定可能フラグが「0」の場合は、推定部15に対して、乗員の異常状態の推定を行わせないようにする。これにより、異常状態推定装置1において、第1閾値設定用時間、機械学習モデル17から異常状態スコアが出力されても、異常状態推定装置1は、乗員の異常状態の推定を行わないようにすることができる。
制御部は、閾値設定部14が推定可能フラグ「1」を設定した後、当該推定可能フラグが「1」であると判定すると、推定部15に対して、乗員の異常状態の推定を行わせる。つまり、異常状態推定装置1において、閾値設定部14によって異常状態判定用閾値が設定された後、乗員の異常状態の推定が行われることになる。
【0037】
また、閾値設定部14は、上述のとおり、制御部の制御に基づき、推定可能フラグが「0」である場合に、異常状態判定用閾値を設定する処理を行う。このように、閾値設定部14は、車両の運転開始時に一度、異常状態判定用閾値を設定する処理を行えばよい。
なお、推定可能フラグは、例えば、車両の運転が停止したタイミング、または、異常状態を推定する対象となる乗員が変わったタイミングで、初期化され、「0」となる。例えば、制御部が、推定可能フラグの初期化を行う。
【0038】
推定部15は、特徴量算出部13が算出した乗員に関する特徴量を機械学習モデル17に入力して得られた異常状態スコアが、閾値設定部14が設定した異常状態判定用閾値より大きい場合、乗員は異常状態であると推定する。
具体的には、推定部15は、特徴量算出部13が算出した乗員に関する特徴量を機械学習モデル17に入力し、出力された異常状態スコアを取得する。推定部15は、取得した異常状態スコアと、閾値設定部14が記憶部に記憶させた異常状態判定用閾値とを比較する。その際、推定部15は、認証部12から出力された個人識別情報を、記憶部にて異常状態判定用閾値と紐づけられている個人識別情報と突き合わせ、一致した個人識別情報に紐づけられている異常状態判定用閾値を、乗員の異常状態を推定するための異常状態判定用閾値として記憶部から取得する。
推定部15は、異常状態スコアが異常状態判定用閾値より大きい場合、乗員は異常状態であると推定する。一方、推定部15は、異常状態スコアが異常状態判定用閾値以下である場合、乗員は正常状態であると推定する。
【0039】
個人認証用DB16は、上述の個人特定用情報を記憶する。
個人認証用DB16は、例えば、記憶部に備えられる。
【0040】
実施の形態1に係る異常状態推定装置1の動作について説明する。
図3は、実施の形態1に係る異常状態推定装置1の動作を説明するためのフローチャートである。
情報取得部11は、乗員に関する情報を取得する(ステップST301)。
【0041】
ここで、
図4は、
図3のステップST301の具体的な動作を説明するためのフローチャートである。
情報取得部11の顔画像取得部111は、撮像装置2から、顔画像を取得する(ステップST401)。
情報取得部11の生体情報取得部112は、生体センサ3から、乗員の生体情報を取得する(ステップST402)。
情報取得部11の車両情報取得部113は、各種センサから、車両情報を取得する(ステップST403)。
情報取得部11は、取得した、乗員に関する情報を、認証部12および特徴量算出部13に出力する。
【0042】
図3のフローチャートの説明に戻る。
認証部12は、乗員個人の認証を行い、個人識別情報を取得する(ステップST302)。認証部12は、乗員個人を特定できた場合、取得した個人識別情報を、閾値設定部14および推定部15に出力する。
【0043】
特徴量算出部13は、情報取得部11が取得した、乗員に関する情報に基づき、乗員に関する特徴量を算出する(ステップST303)。
【0044】
ここで、
図5は、
図3のステップST303の具体的な動作を説明するフローチャートである。
特徴量算出部13の顔特徴量算出部131は、
図4のステップST401にて情報取得部11の顔画像取得部111が取得した、乗員の顔画像、および、乗員の顔のパーツに関する情報に基づき、乗員の顔特徴量を算出する(ステップST501)。
特徴量算出部13の生体特徴量算出部132は、
図4のステップST402にて情報取得部11の生体情報取得部112が取得した生体情報に基づき、生体特徴量を算出する(ステップST502)。
特徴量算出部13の車両操作特徴量算出部133は、
図4のステップST403にて車両情報取得部113が取得した車両情報に基づき、車両操作特徴量を算出する(ステップST503)。
特徴量算出部13は、算出した、乗員に関する特徴量を、閾値設定部14および推定部15に出力する。
【0045】
図3のフローチャートの説明に戻る。
制御部は、異常状態判定用閾値が設定済であるか否かを判定する(ステップST304)。具体的には、制御部は、推定可能フラグが「1」であるか否かを判定する。なお、後述の
図6で説明する動作を行う前は、異常状態判定用閾値は設定されていないため、制御部は、異常状態判定用閾値は設定済ではないと判定する。後述の
図6で説明する動作が行われた後は、異常状態判定用閾値は設定されているため、制御部は、異常状態判定用閾値は設定済と判定する。
ステップST304において、制御部が、異常状態判定用閾値が設定済ではないと判定した場合、言い換えれば、推定可能フラグが「0」であると判定した場合(ステップST304の“NO”の場合)、
図3のフローチャートの動作は、ステップST305に進む。
そして、閾値設定部14は、第1閾値設定用時間以内に、ステップST303にて特徴量算出部13が算出した乗員に関する特徴量を機械学習モデル17に入力して得られた異常状態スコアに基づき、乗員の異常状態を推定するための異常状態判定用閾値を設定する(ステップST305)。
【0046】
ここで、
図6は、
図3のステップST305の具体的な動作を説明するためのフローチャートである。
まず、閾値設定部14は、第1閾値設定用時間以内であるか否かを判定する(ステップST601)。
ステップST601にて、閾値設定部14は、第1閾値設定用時間以内であると判定した場合(ステップST601の“YES”の場合)、直近の
図3のステップST303にて特徴量算出部13が算出した乗員に関する特徴量を機械学習モデル17に入力して、出力された異常状態スコアを取得する。そして、閾値設定部14は、取得した異常状態スコアを記憶部に記憶させる(ステップST602)。その後、
図6のフローチャートの動作は、
図3のステップST301に戻り、当該ステップST301の動作を行うと、再び、当該ステップST301以降の動作に進む。以降、第1閾値設定用時間が経過する(ステップST601の“NO”の場合)まで、閾値設定部14は、上記ステップST602の動作を行うことになる。その結果、閾値設定部14が第1閾値設定用時間以内に得た、1つ以上の異常状態スコアが、記憶部に記憶される。
【0047】
閾値設定部14は、第1閾値設定用時間が経過すると(ステップST601の“NO”の場合)、記憶部に記憶した異常状態スコアに基づき、異常状態判定用閾値を設定する。具体的には、閾値設定部14は、記憶部に記憶した異常状態スコア、言い換えれば、第1閾値設定用時間以内に得られた1つ以上の異常状態スコアのうち、最大値を、異常状態判定用閾値に設定する(ステップST603)。
閾値設定部14は、設定した異常状態判定用閾値を、認証部12から出力された個人識別情報と紐づけて記憶部に記憶させる。
【0048】
図3のフローチャートの説明に戻る。
ステップST304において、制御部は、異常状態判定用閾値が設定済であると判定した場合、言い換えれば、推定可能フラグが「1」であると判定した場合(ステップST304の“YES”の場合)、
図3のフローチャートの動作は、ステップST306に進む。
そして、推定部15は、ステップST303にて特徴量算出部13が算出した乗員に関する特徴量を機械学習モデル17に入力して得られた異常状態スコアに基づき、乗員の異常状態の推定を行う(ステップST306)。
【0049】
ここで、
図7は、
図3のステップST306の具体的な動作を説明するためのフローチャートである。
推定部15は、直近の
図3のステップST303にて特徴量算出部13が算出した乗員に関する特徴量を機械学習モデル17に入力して、出力された異常状態スコアを取得する。そして、推定部15は、取得した異常状態スコアが、
図3のステップST305にて閾値設定部14が設定した異常状態判定用閾値より大きいか否かを判定する(ステップST701)。
【0050】
ステップST701にて、異常状態スコアが異常状態判定用閾値より大きいと判定した場合(ステップST701の“YES”の場合)、推定部15は、乗員は異常状態であると判定する(ステップST702)。
一方、ステップST701にて、異常状態スコアが異常状態判定用閾値以下であると判定した場合(ステップST701の“NO”の場合)、推定部15は、乗員は異常状態ではない、言い換えれば、乗員は正常状態であると推定する(ステップST703)。
【0051】
このように、実施の形態1に係る異常状態推定装置1は、第1閾値設定用時間、乗員は正常状態であると仮定し、当該第1閾値設定用時間、機械学習モデル17に、乗員に関する特徴量を入力して得られた異常状態スコアの最大値に基づき、異常状態判定用閾値に設定する。
そして、異常状態推定装置1は、異常状態判定用閾値を設定後、機械学習モデル17に乗員に関する特徴量を入力して異常状態スコアを取得する。異常状態推定装置1は、取得した異常状態スコアが異常状態判定用閾値より大きい場合、乗員は、異常状態であると推定する。異常状態推定装置1は、固定的な閾値を用いて乗員が異常状態であるか否かを推定するのではなく、乗員毎に異常状態判定用閾値を設定し、当該異常状態判定用閾値を用いて、乗員が異常状態であるか否かを推定する。そのため、異常状態推定装置1は、乗員が異常状態であるか否かを推定する際、当該乗員の異常状態の誤推定を防ぐことができる。
【0052】
なお、
図3のフローチャートで説明した動作について、
図3のステップST302にて認証部12が乗員個人を特定できなかった場合も、認証部12が乗員個人を特定できた場合と同様に、異常状態推定装置1の動作は、
図3のステップST304以降の動作に進む。但し、認証部12が乗員個人を特定できなかった場合、閾値設定部14は、設定した異常状態判定用閾値を記憶部に記憶させる際、個人識別情報と紐づけることができない。推定部15は、異常状態判定用閾値を記憶部から取得する際は、例えば、記憶部に記憶されている、最新の異常状態判定用閾値を取得するようにする。
異常状態推定装置1は、以上のように、
図3のフローチャートで説明した動作を、車両の運転開始後、当該車両の運転が終了されるまで、例えば、顔画像取得部111が撮像装置2から顔画像を1フレーム取得するタイミングで行うものとする。車両の運転が終了するとは、例えば、車両の運転が停止することの他、異常状態を推定する対象となる乗員が変わったことを含む。
この場合、推定部15は、頻繁に、乗員の異常状態を推定することになる。しかし、乗員の異常状態は、上述のとおり、例えば、乗員が眠気を引き起こしている状態、乗員が飲酒している状態、乗員が疲労している状態、または、乗員が漫然としている状態であり、当該異常状態は、頻繁に変化するものではない。
そこで、例えば、推定部15は、予め決められた時間(以下「異常状態推定時間」という。)において、乗員が異常状態であると推定された割合が閾値以上であれば、当該乗員は異常状態であると推定し、以降、車両の運転が終了されるまで、乗員の異常状態の推定を行わないようにしてもよい。異常状態推定時間は、5分間または10分間等である。
【0053】
以上の実施の形態1では、異常状態推定装置1において、機械学習モデル17に入力する情報は、特徴量算出部13が算出した、乗員に関する特徴量としたが、これは一例に過ぎない。例えば、異常状態推定装置1において、機械学習モデル17に入力する情報は、情報取得部11が取得した、乗員に関する情報としてもよい。この場合、異常状態推定装置1は、特徴量算出部13を備えない構成とすることができる。
ただし、異常状態推定装置1は、特徴量算出部13を備え、異常状態の推定と相関が大きい、乗員に関する特徴量を、機械学習モデル17に入力するようにしたほうが、乗員に関する情報を直接機械学習モデル17に入力する場合よりも、乗員の異常状態を推定する際の推定の精度を、向上させることができる。
なお、異常状態推定装置1において、機械学習モデル17に入力する情報を、乗員に関する情報とする場合、学習装置は、乗員に関する情報を、教師データとする。
【0054】
以上のように、実施の形態1によれば、車両の乗員に関する情報と、機械学習モデル17とに基づいて、乗員の異常状態を推定する異常状態推定装置1において、乗員に関する情報を取得する情報取得部11と、第1閾値設定用時間以内に情報取得部11が取得した乗員に関する情報を機械学習モデル17に入力して得られた異常状態スコアに基づき、乗員の異常状態を推定するための異常状態判定用閾値を設定する閾値設定部14を備えるように構成した。
そのため、異常状態推定装置1は、乗員が異常状態であるか否かを推定する際、当該乗員の異常状態の誤推定を防ぐことができる。
【0055】
実施の形態2.
実施の形態1では、機械学習モデル17は、予め、複数人の乗員に関する情報に基づき、1つ生成されているものとしていた。
しかし、乗員が正常状態または異常状態である場合の、乗員の顔特徴量または生体特徴量等は、乗員毎に異なる。例えば、乗員の中には、眠気を引き起こしていても異常状態とは言えない乗員もいれば、脈拍数が大きく減ったからといって異常状態とは言えない乗員もいる。また、乗員の中には、ハンドル舵角の変化が大きいからといって、異常状態とは言えない乗員もいる。このように、例えば、同じ異常状態であっても、複数の乗員の顔特徴量または生体特徴量等は、様々なバリエーションを有している。そうすると、学習装置において、複数の乗員に関する情報に基づく複数の乗員に関する特徴量を機械学習モデル17に入力して学習を実行する際に、入力する特徴量の端数処理等が行われる可能性がある。特徴量の端数処理等が行われて生成された機械学習モデル17は、当該機械学習モデル17に基づいて乗員の異常状態を推定する際に異常状態を適切に推定できない機械学習モデルとなり得る。異常状態推定装置1は、異常状態を適切に推定できない機械学習モデルからでは、異常状態を適切に推定するための異常状態判定用閾値を、適切に設定できない可能性がある。
そこで、実施の形態2では、機械学習モデル17が、予め、複数の乗員に関する情報に基づき複数、生成されているものとする。具体的には、予め、N人の乗員に関する情報に基づき、N個の機械学習モデル(1~N)17が、生成されているものとする。異常状態推定装置1aは、N個の機械学習モデル(1~N)17に基づいて、異常状態判定用閾値を設定し、設定した異常状態判定用閾値を用いて、乗員の異常状態を推定する。
【0056】
実施の形態2に係る異常状態推定装置1aは、実施の形態1に係る異常状態推定装置1同様、車両に搭載されることを想定している。
図8は、実施の形態2に係る異常状態推定装置1aの構成例を示す図である。
実施の形態2に係る異常状態推定装置1aの構成例について、実施の形態1にて
図1を用いて説明した異常状態推定装置1と同じ構成には、同じ符号を付して重複した説明を省略する。
実施の形態2に係る異常状態推定装置1aは、実施の形態1に係る異常状態推定装置1とは、閾値設定部14aが、モデル別閾値設定部141およびモデル別判定部142を備える点が異なる。
また、実施の形態2に係る異常状態推定装置1aは、実施の形態1に係る異常状態推定装置1とは、推定部15aがモデル数算出部151を備える点が異なる。
また、実施の形態2に係る異常状態推定装置1aは、実施の形態1に係る異常状態推定装置1とは、複数の機械学習モデル(1~N)17を備える点が異なる。なお、ここでは、複数の機械学習モデル(1~N)17は、異常状態推定装置1aに備えられるものとするが、これは一例に過ぎない。複数の機械学習モデル(1~N)17は、異常状態推定装置1aの外部の、異常状態推定装置1aが参照可能な場所に備えられるようにしてもよい。
【0057】
ここで、機械学習モデル(1~N)17について説明する。
機械学習モデル(1~N)17は、実施の形態1同様、予め、学習装置によって、生成されている。
図9は、実施の形態2において、学習装置が学習処理を行って機械学習モデル(1~N)17を生成する過程のイメージを説明するための図である。
実施の形態1では、学習装置は、予め収集された複数の乗員に関する情報について、異常状態の正解ラベルとともに、まとめて学習処理を実施し、1つの機械学習モデル17を生成していた(
図2参照)。
これに対し、実施の形態2では、学習装置は、予め収集された複数の乗員に関する情報について、複数の乗員に関する情報毎に、異常状態の正解ラベルとともに、学習処理を実施し、各乗員に対応する機械学習モデル(1~N)17を生成する。学習装置が行う学習処理の具体的な内容は、実施の形態1において学習装置が行う学習処理の具体的な内容と同様であるため、重複した説明を省略する。
【0058】
閾値設定部14aは、実施の形態1に係る異常状態推定装置1の閾値設定部14同様、乗員の異常状態を推定するための異常状態判定用閾値を設定する。ただし、閾値設定部14aが設定する異常状態判定用閾値の内容、および、閾値設定部14aによる異常状態判定用閾値の具体的な設定方法が、実施の形態1に係る異常状態推定装置1の閾値設定部14が設定する異常状態判定用閾値の内容、および、閾値設定部14による異常状態判定用閾値の具体的な設定方法とは異なるので、以下説明する。
【0059】
実施の形態2において、閾値設定部14aは、「モデル別閾値設定処理」を行った上で、「異常状態判定用閾値設定処理」を行い、異常状態判定用閾値を設定する。閾値設定部14aは、制御部の制御に基づき、「モデル別閾値設定処理」および「異常状態判定用閾値設定処理」を、行う。
具体的には、制御部は、まず、閾値設定部14aに対して、「モデル別閾値設定処理」を行わせる。閾値設定部14aは、「モデル別閾値設定処理」を行い、機械学習モデル(1~N)17毎に、異常状態判定用閾値を設定する際に用いる閾値(以下「モデル別閾値」という。)を設定する。「モデル別閾値設定処理」の詳細については後述する。
制御部は、「モデル別閾値設定処理」が行われたと判定すると、閾値設定部14aに対して、「異常状態判定用閾値設定処理」を行わせる。閾値設定部14aは、「異常状態判定用閾値設定処理」を行い、異常状態判定用閾値を設定する。「異常状態判定用閾値設定処理」の詳細については後述する。
【0060】
以下、閾値設定部14aによる、「モデル別閾値設定処理」および「異常状態判定用閾値設定処理」について、詳細に説明する。
まず、閾値設定部14aによる、「モデル別閾値設定処理」について説明する。
閾値設定部14aにおいて、当該閾値設定部14aのモデル別閾値設定部141は、複数の機械学習モデル(1~N)17毎に、第1閾値設定用時間以内に特徴量算出部13が算出した特徴量を入力して得られた異常状態スコアに基づき、モデル別閾値を設定する。第1閾値設定用時間については、実施の形態1にて説明済みであるため、重複した説明を省略する。但し、実施の形態2における第1閾値設定用時間は、実施の形態1における第1閾値設定用時間と、同じ長さの時間であってもよいし、異なる長さの時間であってもよい。
【0061】
具体的には、モデル別閾値設定部141は、まず、特徴量算出部13が算出した特徴量を、複数の機械学習モデル(1~N)17のうちのある機械学習モデル(1~N)17に入力して、異常状態スコアを取得する。モデル別閾値設定部141は、上述した、異常状態スコアの取得を、全ての機械学習モデル(1~N)17に対して行い、各機械学習モデル(1~N)17に対応する、異常状態スコアを取得する。モデル別閾値設定部141は、取得した、各機械学習モデル(1~N)17に対応する異常状態スコア、機械学習モデル(1~N)17を特定可能な情報、および、異常状態スコアの取得日時を紐づけた情報(以下「第1スコア情報」という。)を生成し、記憶部に記憶させる。モデル別閾値設定部141は、当該異常状態スコアの取得および記憶を、第1閾値設定用時間、行う。
【0062】
そして、第1閾値設定用時間が経過すると、モデル別閾値設定部141は、複数の機械学習モデル(1~N)17のうちのある機械学習モデル(1~N)17について、第1閾値設定用時間において記憶部に記憶させた1つ以上の異常状態スコアのうち、最大値を、モデル別閾値に設定する。モデル別閾値設定部141は、第1閾値設定用時間に記憶部に記憶させた、当該ある機械学習モデル(1~N)17の1つ以上の異常状態スコアを、第1スコア情報から特定すればよい。このとき、モデル別閾値設定部141は、第1閾値設定用時間以内に得られた1つ以上の異常状態スコアのうちの最大値に、バッファを持たせて、モデル別閾値を設定してもよい。また、モデル別閾値設定部141は、第1閾値設定用時間以内に得られた1つ以上の異常状態スコアのうちの最大値を係数倍した値を、モデル別閾値に設定してもよい。モデル別閾値設定部141は、上述した、モデル別閾値の設定を、全ての機械学習モデル(1~N)17に対して行い、各機械学習モデル(1~N)17に対応する、モデル別閾値を設定する。モデル別閾値設定部141は、設定した、各機械学習モデル(1~N)17のモデル別閾値を機械学習モデル(1~N)17を特定可能な情報と紐づけた情報(以下「モデル別閾値情報」という。)を生成し、当該モデル別閾値情報を、記憶部に記憶させる。
モデル別閾値設定部141が全ての機械学習モデル(1~N)17に対応するモデル別閾値情報を生成し、記憶部に記憶させると、制御部は、「モデル別閾値設定処理」が完了したと判定する。
【0063】
次に、閾値設定部14aによる、「異常状態判定用閾値設定処理」について説明する。
閾値設定部14aは、「異常状態判定用閾値設定処理」において、複数の機械学習モデル(1~N)17毎に、予め設定された時間(以下「第2閾値設定用時間」という。)以内に特徴量算出部13が算出した乗員に関する特徴量を入力して得られた異常状態スコアに基づき、乗員の異常状態を推定するための異常状態判定用閾値を設定する。
実施の形態2において、第2閾値設定用時間は、第1閾値設定用時間同様、乗員の異常状態を推定する前の処理としての異常状態判定用閾値を設定する処理を行うために設定される、乗員が正常状態であると仮定する時間である。第2閾値設定用時間は、第1閾値設定用時間経過後の時間とする。第2閾値設定用時間の長さは、5分間または10分間等、適宜設定されている。第2閾値設定用時間の長さは、第1閾値設定用時間の長さと同じ長さであってもよい。
【0064】
まず、閾値設定部14aにおいて、閾値設定部14aのモデル別判定部142は、複数の機械学習モデル(1~N)17毎に、第2閾値設定用時間以内に特徴量算出部13が算出した特徴量を入力して得られた異常状態スコアは、モデル別閾値設定部141が設定したモデル別閾値より大きいか否かを判定する。なお、モデル別判定部142は、モデル別閾値設定部141が記憶部に記憶させたモデル別閾値情報から、各機械学習モデル(1~N)17に対応するモデル別閾値を特定すればよい。
【0065】
具体的には、モデル別判定部142は、まず、特徴量算出部13が算出した特徴量を、複数の機械学習モデル(1~N)17のうちのある機械学習モデル(1~N)17に入力して、異常状態スコアを取得する。モデル別判定部142は、上述した、異常状態スコアの取得を、全ての機械学習モデル(1~N)17に対して行い、各機械学習モデル(1~N)17に対応する、異常状態スコアを取得する。モデル別判定部142は、取得した、各機械学習モデル(1~N)17に対応する異常状態スコア、機械学習モデル(1~N)17を特定可能な情報、および、異常状態スコアの取得日時を紐づけた情報(以下「第2スコア情報」という。)を生成し、当該判定閾値設定用スコア情報を、記憶部に記憶させる。モデル別判定部142は、異常状態スコアの取得および記憶を、第2閾値設定用時間、行う。
【0066】
そして、第2閾値設定用時間が経過すると、モデル別判定部142は、複数の機械学習モデル(1~N)17のうちのある機械学習モデル(1~N)17について、第2閾値設定用時間に記憶部に記憶させた、当該ある機械学習モデル(1~N)17から得られた1つ以上の異常状態スコアのいずれかが、モデル別閾値設定部141が設定したモデル別閾値より大きい機械学習モデル(1~N)17、に該当するか否かを判定する。以下、機械学習モデル(1~N)17から得られた1つ以上の異常状態スコアのいずれかが、モデル別閾値設定部141が設定したモデル別閾値より大きい機械学習モデル(1~N)17、を、「カウント対象モデル」という。
モデル別判定部142は、第2閾値設定用時間に記憶部に記憶させた、当該ある機械学習モデル(1~N)17から得られた1つ以上の異常状態スコアを、第2スコア情報から特定すればよい。
【0067】
モデル別判定部142は、ある機械学習モデル(1~N)17について、「カウント対象モデル」に該当するか否かを判定する。具体的には、モデル別判定部142は、当該ある機械学習モデル(1~N)17から得られた1つ以上の異常状態スコアのうち1つでもモデル別閾値より大きい場合、当該ある機械学習モデル(1~N)17は、「カウント対象モデル」に該当すると判定する。なお、ここでは、モデル別判定部142は、機械学習モデル(1~N)17について、1つ以上の異常状態スコアのうち、1つでもモデル別閾値より大きい場合、当該機械学習モデル(1~N)17を、カウント対象モデルに該当すると判定するものとするが、これは一例に過ぎない。モデル別判定部142は、例えば、機械学習モデル(1~N)17について、1つ以上の異常状態スコアのうち、モデル別閾値より大きい異常状態スコアが、予め設定された閾値以上ある場合に、当該機械学習モデル(1~N)17を、カウント対象モデルに該当すると判定するようにしてもよい。
モデル別判定部142は、上述した、カウント対象モデルに該当するか否かの判定を、全ての機械学習モデル(1~N)17に対して行う。
モデル別判定部142は、機械学習モデル(1~N)17毎に、カウント対象モデルに該当するか否かの判定結果と、機械学習モデル(1~N)17を特定可能な情報とを紐づけた情報(以下「モデル別カウント要否判定結果情報」という。)を生成し、当該モデル別カウント要否判定結果情報を、閾値設定部14aに出力する。
【0068】
閾値設定部14aは、モデル別判定部142から出力されたモデル別カウント要否判定結果情報に基づき、カウント対象モデルの数を、異常状態判定用閾値に設定する。このとき、閾値設定部14aは、カウント対象モデルの数にバッファを持たせて、異常状態判定用閾値を設定してもよい。具体的には、閾値設定部14aは、カウント対象モデルの数+αを、異常状態判定用閾値に設定してもよい。αは、0より大きい値とする。
閾値設定部14aは、設定した異常状態判定用閾値を、認証部12から出力された個人識別情報と紐づけて記憶部に記憶させるとともに、推定可能フラグを「1」とする。
【0069】
実施の形態2において、閾値設定部14aが異常状態判定用閾値を設定する処理を行っている第1閾値設定用時間および第2閾値設定用時間、機械学習モデル(1~N)17から異常状態スコアは出力される。しかし、この間、異常状態推定装置1aは、当該異常状態スコアに基づく乗員の異常状態の推定は行わないようにする。例えば、異常状態推定装置1aは、乗員の異常状態の推定を行うかどうかを、推定可能フラグが「1」か「0」かによって判定する。異常状態推定装置1aは、推定可能フラグが「1」の場合、乗員の異常状態の推定を行うと判定する。逆に、推定可能フラグが「0」の場合、異常状態推定装置1aは、乗員の異常状態の推定を行わないと判定する。当該推定可能フラグに基づく制御は、制御部が行う。制御部による、推定可能フラグに基づく制御については、実施の形態1にて説明済みであるため、重複した説明を省略する。異常状態推定装置1aにおいて、閾値設定部14aは、制御部による、推定可能フラグに基づく制御に従って、「モデル別閾値設定処理」および「異常状態判定用閾値設定処理」を行う。制御部は、モデル別閾値が設定されていない場合は、閾値設定部14aに対して、「モデル別閾値設定処理」を行わせる。制御部は、モデル別閾値が設定済であり、かつ、推定可能フラグが「0」の場合は、閾値設定部14aに対して、「異常状態判定用閾値設定処理」を行わせる。なお、「モデル別閾値設定処理」は、「異常状態判定用閾値設定処理」よりも前に行われる処理であるため、「モデル別閾値設定処理」の実行時点において、推定可能フラグは、「0」である。
また、異常状態推定装置1aにおいて、後述の推定部15aは、制御部による、推定可能フラグに基づく制御に従って、乗員の異常状態を推定する処理を行う。制御部は、推定可能フラグが「1」の場合、推定部15aに対して、乗員の異常状態を推定する処理を行わせる。
【0070】
推定部15aは、実施の形態1に係る異常状態推定装置1の推定部15同様、乗員の異常状態の推定を行う。ただし、推定部15aにおいて、乗員の異常状態を推定する具体的な方法が、実施の形態1に係る異常状態推定装置1の推定部15とは異なるので、以下説明する。
実施の形態2において、推定部15aは、特徴量算出部13が算出した乗員に関する特徴量を各機械学習モデル(1~N)17に入力して得られた異常状態スコアに基づき、乗員の異常状態の推定を行う。
推定部15aについて、以下、詳細に説明する。
【0071】
推定部15aにおいて、推定部15aのモデル数算出部151は、機械学習モデル(1~N)17のうち、特徴量算出部13が算出した特徴量を入力して得られた異常状態スコアが、モデル別閾値より大きいと判定された、機械学習モデルの数(以下「異常判定用モデル数」という。)を算出する。
具体的には、モデル数算出部151は、まず、特徴量算出部13が算出した特徴量を、複数の機械学習モデル(1~N)17のうちのある機械学習モデル(1~N)17に入力して異常状態スコアを取得する。そして、モデル数算出部151は、取得した異常状態スコアが、閾値設定部14aのモデル別閾値設定部141が設定したモデル別閾値より大きいか否かを判定する。なお、モデル数算出部151は、記憶部に記憶されているモデル別閾値情報から、異常状態スコアと比較する、ある機械学習モデル(1~N)17に対応するモデル別閾値を特定すればよい。
モデル数算出部151は、上述した、異常状態スコアがモデル別閾値より大きいか否かの判定を、全ての機械学習モデル(1~N)17に対して行う。そして、モデル数算出部151は、異常判定用モデル数を算出する。
モデル数算出部151は、算出した異常判定用モデル数を、推定部15aに出力する。
【0072】
推定部15aは、モデル数算出部151が算出した異常判定用モデル数が、閾値設定部14aが設定した異常状態判定用閾値より大きい場合、乗員は異常状態であると推定する。
具体的には、推定部15aは、モデル数算出部151が算出した異常判定用モデル数と、閾値設定部14aが記憶部に記憶させた、異常状態判定用閾値とを比較する。その際、推定部15aは、認証部12から出力された個人識別情報を、記憶部にて異常状態判定用閾値と紐づけられている個人識別情報と突き合わせ、一致した個人識別情報に紐づけられている異常状態判定用閾値を、異常判定用モデル数と比較する異常状態判定用閾値として記憶部から取得する。推定部15aは、異常判定用モデル数が異常状態判定用閾値より大きい場合、乗員は異常状態であると推定する。一方、推定部15aは、異常判定用モデル数が異常状態判定用閾値以下である場合、乗員は正常状態であると推定する。
【0073】
実施の形態2に係る異常状態推定装置1aの動作について説明する。
図10は、実施の形態2に係る異常状態推定装置1aの動作について説明するためのフローチャートである。
図10のステップST1001~ステップST1003の具体的な動作は、実施の形態1にて説明した、
図3のステップST301~ステップST303の具体的な動作と同様であるため、重複した説明を省略する。
【0074】
ステップST1004において、制御部は、モデル別閾値が設定済であるか否かを判定する(ステップST1004)。具体的には、制御部は、記憶部に、全ての機械学習モデル(1~N)17に対応するモデル別閾値情報が記憶されているか否かを判定する。
ステップST1004にて、モデル別閾値が設定済ではないと判定した場合(ステップST1004の“NO”の場合)、
図10のフローチャートの動作は、ステップST1005に進む。なお、後述の
図11で説明する動作を行う前は、モデル別閾値は設定されていないため、制御部は、モデル別閾値は設定済ではないと判定する。後述の
図11で説明する動作が行われた後は、モデル別閾値は設定されているため、制御部は、モデル別閾値は設定済と判定する。
そして、閾値設定部14aは、「モデル別閾値設定処理」を行う(ステップST1005)
【0075】
ここで、
図11は、
図10のステップST1005の具体的な動作を説明するためのフローチャートである。
モデル別閾値設定部141は、第1閾値設定用時間以内であるか否かを判定する(ステップST1101)。
ステップST1101にて、モデル別閾値設定部141は、第1閾値設定用時間以内であると判定した場合(ステップST1101の“YES”の場合)、直近の
図10のステップST1003にて特徴量算出部13が算出した特徴量を、複数の機械学習モデル(1~N)17のうちのある機械学習モデル(1~N)17に入力して、異常状態スコアを取得する。モデル別閾値設定部141は、上述した、異常状態スコアの取得を、全ての機械学習モデル(1~N)17に対して行い、各機械学習モデル(1~N)17に対応する、異常状態スコアを取得する。モデル別閾値設定部141は、第1スコア情報を生成し、当該第1スコア情報を、記憶部に記憶させる(ステップST1102)。その後、
図11のフローチャートの動作は、
図10のステップST1001に戻り、当該ステップT1001の動作を行うと、再び、当該ステップST1001以降の動作に進む。以降、第1閾値設定用時間が経過する(ステップST1101の“NO”の場合)まで、モデル別閾値設定部141は、当該ステップST1102の動作を行うことになる。その結果、モデル別閾値設定部141が第1閾値設定用時間以内に生成した第1スコア情報が、記憶部に記憶される。
【0076】
ステップST1101にて、モデル別閾値設定部141は、第1閾値設定用時間以内ではないと判定した場合、すなわち、第1閾値設定用時間が経過すると(ステップST1101の“NO”の場合)、モデル別閾値設定部141は、複数の機械学習モデル(1~N)17のうちのある機械学習モデル(1~N)17について、第1閾値設定用時間において記憶部に記憶させた1つ以上の異常状態スコアのうち、最大値を、モデル別閾値に設定する(ステップST1103)。モデル別閾値設定部141は、上述した、モデル別閾値の設定を、全ての機械学習モデル(1~N)17に対して行い、各機械学習モデル(1~N)17に対応する、モデル別閾値を設定する。モデル別閾値設定部141は、モデル別閾値情報を生成し、当該モデル別閾値情報を、記憶部に記憶させる。その後、
図11のフローチャートの動作は、
図10のステップST1001に戻り、当該ステップT1001の動作を行うと、再び、当該ステップST1001以降の動作に進む。
【0077】
図10のフローチャートの説明に戻る。
ステップST1004において、制御部が、モデル別閾値は設定済であると判定した場合(ステップST1004の“YES”の場合)、
図10のフローチャートの動作は、ステップST1006に進む。
ステップST1006にて、制御部は、異常状態判定用閾値が設定済であるか否かを判定する。具体的には、制御部は、推定可能フラグが「1」であるか否かを判定する(ステップST1006)。
ステップST1006において、制御部は、異常状態判定用閾値が設定済ではないと判定した場合、言い換えれば、推定可能フラグが「0」であると判定した場合(ステップST1006の“NO”の場合)、
図10のフローチャートの動作は、ステップST1007に進む。なお、後述の
図12で説明する動作を行う前は、異常状態判定用閾値は設定されていないため、制御部は、異常状態判定用閾値は設定済ではないと判定する。後述の
図12で説明する動作を行った後は、異常状態判定用閾値は設定済であるため、制御部は、異常状態判定用閾値は設定済であると判定する。
そして、閾値設定部14aは、「異常状態判定用閾値設定処理」を行う(ステップST1007)。
【0078】
ここで、
図12は、
図10のステップST1007の具体的な動作を説明するためのフローチャートである。
閾値設定部14aのモデル別判定部142は、第2閾値設定用時間以内であるか否かを判定する(ステップST1201)。
ステップST1201にて、第2閾値設定用時間以内であると判定した場合(ステップST1201の“YES”の場合)、モデル別判定部142は、まず、直近の
図10のステップST1003にて特徴量算出部13が算出した特徴量を、複数の機械学習モデル(1~N)17のうちのある機械学習モデル(1~N)17に入力して、異常状態スコアを取得する。モデル別判定部142は、上述した、異常状態スコアの取得を、全ての機械学習モデル(1~N)17に対して行い、各機械学習モデル(1~N)17に対応する、異常状態スコアを取得する。モデル別判定部142は、第2スコア情報を生成し、当該第2スコア情報を、記憶部に記憶させる(ステップST1202)。その後、
図12のフローチャートの動作は、
図10のステップST1001に戻り、当該ステップT1001の動作を行うと、再び、当該ステップST1001以降の動作に進む。以降、第2閾値設定用時間が経過する(ステップST1201の“NO”の場合)まで、モデル別判定部142は、当該ステップST1202の動作を行うことになる。その結果、モデル別判定部142が第2閾値設定用時間以内に生成した第2スコア情報が、記憶部に記憶される。
【0079】
ステップST1201にて、モデル別判定部142は、第2閾値設定用時間以内ではないと判定した場合、すなわち、第2閾値設定用時間が経過すると(ステップST1201の“NO”の場合)、モデル別判定部142は、複数の機械学習モデル(1~N)17のうちのある機械学習モデル(1~N)17について、第2閾値設定用時間に記憶部に記憶させた、当該ある機械学習モデル(1~N)17の1つ以上の異常状態スコアのいずれかが、
図11のステップST1103にてモデル別閾値設定部141が設定したモデル別閾値より大きいか否かを判定する。
ある機械学習モデル(1~N)17が、当該ある機械学習モデル(1~N)17から得られた1つ以上の異常状態スコアのうち1つでもモデル別閾値より大きい機械学習モデル(1~N)17である場合、モデル別判定部142は、当該ある機械学習モデル(1~N)17を、カウント対象モデルに該当する機械学習モデル(1~N)17と判定する(ステップST1203)。モデル別判定部142は、上述した、カウント対象モデルに該当するか否かの判定を、全ての機械学習モデル(1~N)17に対して行う。
モデル別判定部142は、モデル別カウント要否判定結果情報を生成し、当該モデル別カウント要否判定結果情報を、閾値設定部14aに出力する。
【0080】
閾値設定部14aは、ステップST1203にてモデル別判定部142から出力されたモデル別カウント要否判定結果情報に基づき、カウント対象モデルの数を、異常状態判定用閾値に設定する(ステップST1204)。
閾値設定部14aは、設定した異常状態判定用閾値を、認証部12から出力された個人識別情報と紐づけて記憶部に記憶させるとともに、推定可能フラグを「1」とする。その後、
図12のフローチャートの動作は、
図10のステップST1001に戻り、当該ステップT1001の動作を行うと、再び、当該ステップST1001以降の動作に進む。
【0081】
図10のフローチャートの説明に戻る。
ステップST1006において、制御部は、異常状態判定用閾値が設定済であると判定した場合、言い換えれば、推定可能フラグが「1」であると判定した場合(ステップST1006の“YES”の場合)、
図10のフローチャートの動作は、ステップST1008に進む。
そして、推定部15aは、ステップST1003にて特徴量算出部13が算出した乗員に関する特徴量を各機械学習モデル(1~N)17に入力して得られた異常状態スコアに基づき、乗員の異常状態の推定を行う(ステップST1008)。
【0082】
ここで、
図13は、
図10のステップST1008の具体的な動作を説明するためのフローチャートである。
推定部15aのモデル数算出部151は、まず、直近の
図10のステップST1003にて特徴量算出部13が算出した特徴量を、複数の機械学習モデル(1~N)17のうちのある機械学習モデル(1~N)17に入力して異常状態スコアを取得する。そして、モデル数算出部151は、取得した異常状態スコアが、
図11のステップST1103にてモデル別閾値設定部141が設定したモデル別閾値より大きいか否かを判定する。
モデル数算出部151は、上述した、異常状態スコアがモデル別閾値より大きいか否かの判定を、全ての機械学習モデル(1~N)17に対して行う。そして、モデル数算出部151は、異常判定用モデル数を算出する(ステップST1301)。
モデル数算出部151は、算出した異常判定用モデル数を、推定部15aに出力する。
【0083】
推定部15aは、ステップST1301にてモデル数算出部151が算出した異常判定用モデル数と、
図12のステップST1204にて閾値設定部14aが設定した異常状態判定用閾値とを比較する(ステップST1302)。
ステップST1302にて、異常判定用モデル数が異常状態判定用閾値より大きい場合(ステップST1302の“YES”の場合)、推定部15aは、乗員は異常状態であると推定する(ステップST1303)。
一方、ステップST1302にて、異常判定用モデル数が異常状態判定用閾値以下である場合(ステップST1302の“NO”の場合)、推定部15aは、乗員は正常状態であると推定する(ステップST1304)。
【0084】
なお、以上の動作説明では、「異常状態判定用閾値設定処理」において、閾値設定部14aは、
図12のフローチャートで説明したような動作を行い、異常状態判定用閾値を設定するものとしたが、これは一例に過ぎない。閾値設定部14aは、例えば、以下に説明するような動作を行って、異常状態判定用閾値を設定するようにしてもよい。
閾値設定部14aのモデル別判定部142は、第2閾値設定用時間以内である場合に、直近の
図10のステップST1003にて特徴量算出部13が算出した特徴量を、複数の機械学習モデル(1~N)17のうちのある機械学習モデル(1~N)17に入力して異常状態スコアを取得する。続けて、モデル別判定部142は、取得した異常状態スコアが、
図11のステップST1103にてモデル別閾値設定部141が設定したモデル別閾値より大きいか否かによって、当該ある機械学習モデル(1~N)17がカウント対象モデルに該当するか否かを判定する。モデル別判定部142は、当該ある機械学習モデル(1~N)17から得られた異常状態スコアが、モデル別閾値設定部141が設定したモデル別閾値より大きい場合、当該ある機械学習モデル(1~N)17は、カウント対象モデルに該当すると判定する。
モデル別判定部142は、上述した、異常状態スコアの取得、および、カウント対象モデルに該当するか否かの判定を、全ての機械学習モデル(1~N)17に対して行う。そして、モデル別判定部142は、全ての機械学習モデル(1~N)17に対して、異常状態スコアの取得、および、カウント対象モデルに該当するか否かの判定、を行った後、全ての機械学習モデル(1~N)17のうち、カウント対象モデルに該当する機械学習モデル(1~N)17の数を算出する。モデル別判定部142は、算出したカウント対象モデルの数を、例えば、当該数を算出した時間と紐づけて記憶部に記憶させる。
モデル別判定部142は、以上の動作を、第2閾値設定用時間、特徴量算出部13が特徴量を算出する都度、行う。
第2閾値設定用時間を経過すると、閾値設定部14aは、第2閾値設定用時間以内にモデル別判定部142が算出したカウント対象モデルの数のうち、最大値を、異常状態判定用閾値に設定する。このとき、閾値設定部14aは、第2閾値設定用時間以内に算出されたカウント対象モデルの数の最大値にバッファを持たせて、異常状態判定用閾値を設定してもよい。具体的には、閾値設定部14aは、第2閾値設定用時間以内に算出されたカウント対象モデルの数の最大値+αを、異常状態判定用閾値に設定してもよい。αは、0より大きい値とする。
【0085】
このように、実施の形態2に係る異常状態推定装置1aは、第1閾値設定用時間、乗員は正常状態であると仮定し、機械学習モデル(1~N)17毎に、当該第1閾値設定用時間に乗員に関する特徴量を入力して得られた異常状態スコアの最大値に基づき、モデル別閾値を設定する。
さらに、異常状態推定装置1aは、モデル別閾値を設定後、第2閾値設定用時間、乗員は正常状態であると仮定し、機械学習モデル(1~N)17毎に、当該第2閾値設定用時間に乗員に関する特徴量を入力して得られた異常状態スコアとモデル別閾値とを比較して、機械学習モデル(1~N)17のうち、カウント対象モデルに該当する機械学習モデル(1~N)17の数を算出する。そして、異常状態推定装置1aは、算出したカウント対象モデルの数を、異常状態判定用閾値に設定する。
【0086】
異常状態推定装置1aは、異常状態判定用閾値を設定後、機械学習モデル(1~N)17毎に乗員に関する特徴量を入力して、機械学習モデル(1~N)17毎の異常状態スコアを取得する。異常状態推定装置1aは、各機械学習モデル(1~N)17について、得られた異常状態スコアがモデル別閾値より大きい異常判定用モデルであるか否かを判定する。そして、異常状態推定装置1aは、異常判定用モデル数を算出する。
異常状態推定装置1aは、異常判定用モデル数を算出すると、当該異常判定用モデル数と異常状態判定用閾値とを比較し、異常判定用モデル数が異常状態判定用閾値より大きい場合、乗員は異常状態であると推定する。
【0087】
異常状態推定装置1aは、固定的な閾値を用いて、乗員が異常状態であるか否かを推定するのではなく、乗員毎に異常状態判定用閾値を設定し、当該異常状態判定用閾値を用いて、乗員が異常状態であるか否かを推定する。そのため、異常状態推定装置1aは、乗員が異常状態であるか否かを推定する際、当該乗員の異常状態の誤推定を防ぐことができる。
また、異常状態推定装置1aは、様々な属性を有する複数の乗員の属性に応じて予め個別に生成された複数の機械学習モデル(1~N)17に基づいて、異常状態判定用閾値の設定、および、乗員の異常状態の推定を行う。そのため、異常状態推定装置1aは、様々な属性を有する複数の乗員に関する情報から生成された1つの機械学習モデルを用いて異常状態判定用閾値の設定、および、乗員の異常状態の推定を行う場合に比べて、乗員の異常状態の推定精度を向上させることができる。
【0088】
なお、実施の形態2に係る異常状態推定装置1aにおいても、実施の形態1に係る異常状態推定装置1同様、推定部15aは、例えば、異常状態推定時間において、乗員が異常状態であると推定された割合が閾値以上であれば、当該乗員は異常状態であると推定し、以降、車両の運転が終了されるまで、乗員の異常状態の推定を行わないようにしてもよい。
【0089】
また、以上の実施の形態2では、異常状態推定装置1aにおいて、機械学習モデル(1~N)17に入力する情報は、特徴量算出部13が算出した、乗員に関する特徴量としたが、これは一例に過ぎない。例えば、異常状態推定装置1aにおいて、機械学習モデル(1~N)17に入力する情報は、情報取得部11が取得した、乗員に関する情報としてもよい。この場合、異常状態推定装置1aは、特徴量算出部13を備えない構成とすることができる。
ただし、異常状態推定装置1aは、特徴量算出部13を備え、異常状態の推定と相関が大きい、乗員に関する特徴量を機械学習モデル(1~N)17に入力するようにしたほうが、乗員に関する情報を直接、機械学習モデル(1~N)17に入力する場合よりも、乗員の異常状態を推定する際の、推定精度を向上させることができる。
なお、異常状態推定装置1aにおいて、機械学習モデル(1~N)17に入力する情報を乗員に関する情報とする場合、学習装置は、乗員に関する情報を教師データとする。
【0090】
以上のように、実施の形態2によれば、車両の乗員に関する情報と、機械学習モデル(1~N)17とに基づいて、乗員の異常状態を推定する異常状態推定装置1aにおいて、乗員に関する情報を取得する情報取得部11と、第1閾値設定用時間以内に情報取得部11が取得した乗員に関する情報を機械学習モデル(1~N)17に入力して得られた異常状態スコアに基づき、乗員の異常状態を推定するための異常状態判定用閾値を設定する閾値設定部14aを備えるように構成した。
そのため、異常状態推定装置1aは、乗員が異常状態であるか否かを推定する際、当該乗員の異常状態の誤推定を防ぐことができる。
【0091】
特に、実施の形態2では、機械学習モデル(1~N)17が複数存在し、異常状態推定装置1aは、複数の機械学習モデル(1~N)毎に、第1閾値設定用時間以内に情報取得部11が取得した乗員に関する情報を入力して得られた異常状態スコアに基づきモデル別閾値を設定するモデル別閾値設定部141と、モデル別閾値設定部141がモデル別閾値を設定後、複数の機械学習モデル(1~N)17毎に、第2閾値設定用時間以内に情報取得部が取得した乗員に関する情報を入力して得られた異常状態スコアはモデル別閾値設定部141が設定したモデル別閾値より大きいか否かを判定するモデル別判定部142を備え、閾値設定部14aは、モデル別判定部142が、異常状態スコアはモデル別閾値より大きいと判定した機械学習モデル(1~N)17の数を、異常状態判定用閾値に設定するようにした。
これにより、異常状態推定装置1aは、様々な属性を有する複数の乗員に関する情報から生成された1つの機械学習モデルを用いて異常状態判定用閾値の設定、および、乗員の異常状態の推定を行う場合に比べて、乗員の異常状態の推定精度を向上させることができる。
【0092】
実施の形態3.
実施の形態2では、機械学習モデル(1~N)17が、予め、複数の乗員に関する情報に基づき複数、生成されているものとした。なお、機械学習モデル(1~N)17は、様々な属性を有する、複数の乗員に関する情報に基づいて生成される。
そして、異常状態推定装置1aは、生成されている複数の機械学習モデル(1~N)17全てを用いて、異常状態判定用閾値を設定し、乗員の異常状態を推定するものとした。
ここで、乗員の異常状態は、当該乗員が有する属性によって、傾向が異なる可能性がある。例えば、年配層に属する乗員は、異常状態になると生体特徴量に差が出やすい場合があるのに対し、若年層に属する乗員は、異常状態になると顔特徴量に差が出やすい場合がある。その結果、例えば、年配層に属する乗員と若年層に属する乗員とでは、異常状態の傾向が異なる可能性がある。また、例えば、男性と女性とでも、異常状態の傾向が異なる可能性がある。
そこで、実施の形態3では、異常状態推定装置1bが、複数の機械学習モデル(1~N)17のうち、異常状態を推定する対象となる乗員が有する属性に関連する、1つ以上の機械学習モデル(以下「関連機械学習モデル」という。)を選択して、選択した、1つ以上の関連機械学習モデルを用いて、異常状態判定用閾値の設定、および、乗員の異常状態の推定を行う実施の形態について説明する。
【0093】
実施の形態3に係る異常状態推定装置1bは、実施の形態2に係る異常状態推定装置1a同様、車両に搭載されることを想定している。
図14は、実施の形態3に係る異常状態推定装置1bの構成例を示す図である。
実施の形態3に係る異常状態推定装置1bの構成例について、実施の形態2にて
図8を用いて説明した異常状態推定装置1aと同じ構成には、同じ符号を付して重複した説明を省略する。
実施の形態3に係る異常状態推定装置1bは、実施の形態2に係る異常状態推定装置1aとは、認証部12bが、属性情報取得部121を備える点が異なる。
また、実施の形態3に係る異常状態推定装置1bは、実施の形態2に係る異常状態推定装置1aとは、モデル選択部18を備える点が異なる。
また、実施の形態3に係る異常状態推定装置1bは、実施の形態2に係る異常状態推定装置1aとは、閾値設定部14bが、モデル別閾値設定部141およびモデル別判定部142に代えて、関連モデル別閾値設定部143および関連モデル別判定部144を備える点が異なる。
また、実施の形態3に係る異常状態推定装置1bは、実施の形態2に係る異常状態推定装置1aとは、推定部15bが、モデル数算出部151に代えて、関連モデル数算出部152を備える点が異なる。
【0094】
実施の形態3においても、実施の形態2同様、予め、複数の機械学習モデル(1~N)17が生成されているものとする。
複数の機械学習モデル(1~N)17は、実施の形態2同様、予め、学習装置によって、生成されている(
図9参照)。ただし、実施の形態3では、学習装置は、乗員の属性に関する属性情報を取得し、生成した機械学習モデル(1~N)17に、当該属性情報を付与するものとする。
【0095】
認証部12bの属性情報取得部121は、乗員の属性に関する属性情報を取得する。乗員の属性とは、例えば、性別または年齢である。
認証部12bは、乗員個人の認証を行い、個人識別情報を取得する。認証部12bが個人識別情報を取得する具体的な方法は、実施の形態1において説明した、認証部12が個人識別情報を取得する具体的な方法と同様であるため、重複した説明を省略する。
実施の形態3では、認証部12bが個人識別情報を取得する際、認証部12bにおいて、属性情報取得部121が、乗員の属性に関する属性情報を取得する。
【0096】
具体的には、属性情報取得部121は、個人認証用DB16に記憶されている、個人特定用情報から、乗員の属性情報を取得する。なお、実施の形態3では、例えば、個人特定用情報には、属性情報が設定されているものとする。これは一例に過ぎず、例えば、属性情報取得部121は、入力装置(図示省略)から入力された、乗員の属性情報を受け付け可能としてもよい。具体的には、例えば、乗員が、車両に搭載されているナビゲーション装置(図示省略)、または、乗員が携帯している携帯端末を入力装置として、自身の属性情報を入力する。属性情報取得部121は、乗員が入力した属性情報を受け付けるようにしてもよい。
認証部12bは、乗員個人を特定できた場合、取得した個人識別情報、および、乗員の属性情報を、閾値設定部14b、推定部15b、および、モデル選択部18に出力する。
【0097】
モデル選択部18は、認証部12bの属性情報取得部121が取得した属性情報に基づき、複数の機械学習モデル(1~N)17のうち、乗員の属性に関連する、1つ以上の関連機械学習モデルを選択する。
具体的には、モデル選択部18は、属性情報取得部121が取得した属性情報と、複数の機械学習モデル(1~N)17に付与されている属性情報とを比較し、1つ以上の関連機械学習モデルを選択する。モデル選択部18は、予め決められたモデル選択ルールに従って、1つ以上の関連機械学習モデルを選択する。
【0098】
例えば、属性情報取得部121から取得した属性情報が、乗員の年齢および性別を示す情報であり、当該乗員が60歳の男性であるとする。一方、機械学習モデル(1~N)17に付与されている属性情報は、年齢および性別であるとする。そして、モデル選択ルールには、「乗員と同じ年代および性別であること」が設定されているとする。
この場合、モデル選択部18は、60代男性を示す属性情報が付与されている機械学習モデル(1~N)17を選択する。
また、例えば、属性情報取得部121から取得した属性情報が生年月日であるとする。一方、機械学習モデル(1~N)17に付与されている属性情報は、年代であるとする。そして、モデル選択ルールには、「乗員と同じ年代および性別であること」が設定されているとする。
この場合、モデル選択部18は、例えば、生年月日から乗員の年齢を算出し、算出した年齢から、乗員の属性に関連する機械学習モデル(1~N)17を選択するようにすることもできる。
【0099】
モデル選択部18は、選択した関連機械学習モデルの情報を、閾値設定部14bおよび推定部15bに出力する。
モデル選択部18が選択した関連機械学習モデルは、閾値設定部14bにおける異常状態判定用閾値の設定、および、推定部15bにおける異常状態の推定において、用いられる。
モデル選択部18は、上述のとおり、機械学習モデル(1~N)17から、1つ以上の関連機械学習モデルを選択する。しかし、モデル選択部18が選択する関連機械学習モデルの数が少なすぎると、閾値設定部14bは適切に異常状態判定用閾値を設定できない可能性がある。その結果、推定部15bは、異常状態の推定を適切に行えない可能性がある。よって、モデル選択部18は、100個以上等、予め設定された、ある程度の数の関連機械学習モデルを選択することが好ましい。
【0100】
そこで、例えば、モデル選択ルールには、優先順位が付与された、複数のルールが設定されているものとしてもよい。そして、モデル選択部18は、優先順位の高いルールから順番に、当該ルールに従って、予め設定された数以上となるよう、関連機械学習モデルを選択するようにする。
例えば、モデル選択ルールには、優先順位が第1位のルールとして、「乗員と同じ年代および性別であること」が設定され、優先順位が第2位のルールとして、「「乗員と同じ年代±5歳、かつ、乗員と同じ性別であること」または「乗員と同じ年代であること」」が設定されているものとする。
そして、属性情報取得部121から取得した属性情報が、乗員の年齢および性別を示す情報であり、当該乗員が60歳の男性であるとする。また、機械学習モデル(1~N)17に付与されている属性情報は、年齢および性別であるとする。
この場合、まず、モデル選択部18は、優先順位が第1位のルールに従い、60代男性を示す属性情報が付与されている機械学習モデル(1~N)17を、関連機械学習モデルとして選択する。
【0101】
ここで、モデル選択部18は、関連機械学習モデルが、予め設定された数以上であるか否かを判定する。
関連機械学習モデルが、予め設定された数未満である場合、モデル選択部18は、次に、優先順位が第2位のルールに従い、55~75歳男性を示す属性情報が付与されている機械学習モデル(1~N)17、および、60代女性を示す属性情報が付与されている機械学習モデル(1~N)17を、関連機械学習モデルとして選択する。
モデル選択部18は、優先順位が第1位のルールに従い選択した関連機械学習モデル、および、優先順位が第2位のルールに従い選択した関連機械学習モデルの合計が、予め設定された数以上であれば、関連機械学習モデルの選択を終了する。
モデル選択部18は、優先順位が第1位のルールに従い選択した関連機械学習モデル、および、優先順位が第2位のルールに従い選択した関連機械学習モデルの合計が、予め設定された数未満であれば、引き続き、優先順位が第3位のルールに従い、関連機械学習モデルの選択を行う。
【0102】
図14の説明に戻る。
閾値設定部14bは、実施の形態2に係る異常状態推定装置1aの閾値設定部14a同様、乗員の異常状態を推定するための異常状態判定用閾値を設定する。
閾値設定部14bは、実施の形態2に係る閾値設定部14aとは、異常状態判定用閾値を設定する際に用いる機械学習モデルを、モデル選択部18が選択した関連機械学習モデルとした点が異なる。
閾値設定部14bは、「関連モデル別閾値設定処理」を行った上で、「異常状態判定用閾値設定処理」を行い、異常状態判定用閾値を設定する。閾値設定部14bは、制御部の制御に基づき、「関連モデル別閾値設定処理」および「異常状態判定用閾値設定処置」を、行う。
具体的には、制御部は、まず、閾値設定部14bに対して、「関連モデル別閾値設定処理」を行わせる。閾値設定部14bは、「関連モデル別閾値設定処理」を行い、関連機械学習モデル毎に、異常状態判定用閾値を設定する際に用いる閾値(以下「関連モデル別閾値」という。)を設定する。当該「関連モデル別閾値設定処理」の詳細については後述する。
制御部は、「関連モデル別閾値設定処理」が行われたと判定すると、閾値設定部14bに対して「異常状態判定用閾値設定処理」を行わせる。閾値設定部14bは、「異常状態判定用閾値設定処理」を行い、異常状態判定用閾値を設定する。当該「異常状態判定用閾値設定処理」の詳細については後述する。
以下、閾値設定部14bによる、「関連モデル別閾値設定処理」、および、「異常状態判定用閾値設定処理」について、詳細に説明する。
【0103】
まず、閾値設定部14bによる、「関連モデル別閾値設定処理」について説明する。
閾値設定部14bにおいて、当該閾値設定部14bの関連モデル別閾値設定部143は、モデル選択部18が選択した1つ以上の関連機械学習モデル毎に、第1閾値設定用時間以内に特徴量算出部13が算出した特徴量を入力して得られた異常状態スコアに基づき、関連モデル別閾値を設定する。第1閾値設定用時間については、実施の形態1にて説明済みであるため、重複した説明を省略する。但し、実施の形態3における第1閾値設定用時間は、実施の形態1における第1閾値設定用時間と、同じ長さの時間であってもよいし、異なる長さの時間であってもよい。
【0104】
具体的には、関連モデル別閾値設定部143は、まず、特徴量算出部13が算出した特徴量を、1つ以上の関連機械学習モデルのうちのある関連機械学習モデルに入力して、異常状態スコアを取得する。関連モデル別閾値設定部143は、上述した、異常状態スコアの取得を、全ての関連機械学習モデルに対して行い、各関連機械学習モデルに対応する、異常状態スコアを取得する。関連モデル別閾値設定部143は、取得した、各関連機械学習モデルに対応する異常状態スコア、関連機械学習モデルを特定可能な情報、および、異常状態スコアの取得日時を紐づけた情報(以下「第3スコア情報」という。)、を生成し、当該第3スコア情報を、記憶部に記憶させる。関連モデル別閾値設定部143は、当該異常状態スコアの取得および記憶を、第1閾値設定用時間、行う。
【0105】
そして、第1閾値設定用時間が経過すると、関連モデル別閾値設定部143は、1つ以上の関連機械学習モデルのうちのある関連機械学習モデルについて、第1閾値設定用時間において記憶部に記憶させた1つ以上の異常状態スコアのうち、最大値を、関連モデル別閾値に設定する。関連モデル別閾値設定部143は、第1閾値設定用時間に記憶部に記憶させた、ある関連機械学習モデルの1つ以上の異常状態スコアを、第3スコア情報から特定すればよい。このとき、関連モデル別閾値設定部143は、第1閾値設定用時間以内に得られた1つ以上の異常状態スコアのうちの最大値に、バッファを持たせて、関連モデル別閾値を設定してもよい。また、関連モデル別閾値設定部143は、第1閾値設定用時間以内に得られた1つ以上の異常状態スコアのうちの最大値を係数倍した値を、関連モデル別閾値に設定してもよい。関連モデル別閾値設定部143は、上述した、関連モデル別閾値の設定を、全ての関連機械学習モデルに対して行い、各関連機械学習モデルに対応する、関連モデル別閾値を設定する。関連モデル別閾値設定部143は、設定した、関連機械学習モデル毎の関連モデル別閾値を、関連機械学習モデルを特定可能な情報と紐づけた情報(以下「関連モデル別閾値情報」という。)を生成し、当該関連モデル別閾値情報を記憶部に記憶させる。
関連モデル別閾値設定部143が関連モデル別閾値情報を生成し、記憶部に記憶させると、制御部は、関連モデル別閾値設定処理が完了したと判定する。
【0106】
次に、閾値設定部14bによる、「異常状態判定用閾値設定処理」について説明する。
閾値設定部14bは、「異常状態判定用閾値設定処理」において、1つ以上の関連機械学習モデル毎に、予め設定された時間(以下「第3閾値設定用時間」という。)以内に特徴量算出部13が算出した乗員に関する特徴量を入力して得られた異常状態スコアに基づき、乗員の異常状態を推定するための異常状態判定用閾値を設定する。
実施の形態3において、第3閾値設定用時間は、第1閾値設定用時間同様、乗員の異常状態を推定する前の処理としての異常状態判定用閾値を設定する処理を行うために設定される、乗員が正常状態であると仮定する時間である。第3閾値設定用時間は、第1閾値設定用時間経過後の時間とする。第3閾値設定用時間の長さは、5分間または10分間等、適宜設定されている。第3閾値設定用時間の長さは、第1閾値設定用時間の長さと同じ長さであってもよい。また、第3閾値設定用時間の長さは、実施の形態2において説明した第2閾値設定用時間の長さと同じ長さであってもよい。
【0107】
まず、閾値設定部14bにおいて、閾値設定部14bの関連モデル別判定部144は、1つ以上の関連機械学習モデル毎に、第3閾値設定用時間以内に特徴量算出部13が算出した特徴量を入力して得られた異常状態スコアは、関連モデル別閾値設定部143が設定した関連モデル別閾値より大きいか否かを判定する。なお、関連モデル別判定部144は、関連モデル別閾値設定部143が記憶部に記憶させた関連モデル別閾値情報から、各関連機械学習モデルに対応する関連モデル別閾値を特定すればよい。
具体的には、関連モデル別判定部144は、まず、特徴量算出部13が算出した特徴量を、1つ以上の関連機械学習モデルのうちのある関連機械学習モデルに入力して、異常状態スコアを取得する。関連モデル別判定部144は、上述した、異常状態スコアの取得を、全ての関連機械学習モデルに対して行い、各関連機械学習モデルに対応する、関連異常状態スコアを取得する。関連モデル別判定部144は、取得した、各関連機械学習モデルに対応する異常状態スコア、関連機械学習モデルを特定可能な情報、および、異常状態スコアの取得日時を紐づけた情報(以下「第4スコア情報」という。)を生成し、当該第4スコア情報を、記憶部に記憶させる。関連モデル別判定部144は、当該異常状態スコアの取得および記憶を、第3閾値設定用時間、行う。
【0108】
そして、第3閾値設定用時間が経過すると、関連モデル別判定部144は、1つ以上の関連機械学習モデルのうちのある関連機械学習モデルについて、第3閾値設定用時間に記憶部に記憶させた、当該ある関連機械学習モデルから得られた1つ以上の異常状態スコアのいずれかが、関連モデル別閾値設定部143が設定した関連モデル別閾値より大きい関連機械学習モデル、に該当するか否かを判定する。以下、実施の形態3では、関連機械学習モデルから得られた1つ以上の異常状態スコアのいずれかが、関連モデル別閾値設定部143が設定した関連モデル別閾値より大きい関連機械学習モデル、を、「カウント対象モデル」という。
関連モデル別判定部144は、第3閾値設定用時間に記憶部に記憶させた、当該ある関連機械学習モデルから得られた1つ以上の異常状態スコアを、第4スコア情報から特定すればよい。
関連モデル別判定部144は、ある関連機械学習モデルについて、「カウント対象モデル」に該当するか否かを判定する。具体的には、関連モデル別判定部144は、当該ある関連機械学習モデルから得られた1つ以上の異常状態スコアのうち1つでも関連モデル別閾値より大きい場合、当該ある関連機械学習モデルは、「カウント対象モデル」に該当すると判定する。なお、ここでは、関連モデル別判定部144は、関連機械学習モデルについて、1つ以上の異常状態スコアのうち、1つでも関連モデル別閾値より大きい場合、当該関連機械学習モデルを、カウント対象モデルに該当すると判定するものとするが、これは一例に過ぎない。関連モデル別判定部144は、例えば、関連機械学習モデルについて、1つ以上の関連異常状態スコアのうち、関連モデル別閾値より大きい異常状態スコアが、予め設定された閾値以上ある場合に、当該関連機械学習モデルを、カウント対象モデルに該当すると判定するようにしてもよい。
【0109】
関連モデル別判定部144は、上述した、カウント対象モデルに該当するか否かの判定を、全ての関連機械学習モデルに対して行う。
関連モデル別判定部144は、関連機械学習モデル毎に、カウント対象モデルに該当するか否かの判定結果と、関連機械学習モデルを特定可能な情報とを紐づけた情報(以下「関連モデル別カウント要否判定結果情報」という。)を生成し、当該関連モデル別カウント要否判定結果情報を、閾値設定部14bに出力する。
【0110】
閾値設定部14bは、関連モデル別判定部144から出力された関連モデル別カウント要否判定結果情報に基づき、カウント対象モデルの数を、異常状態判定用閾値に設定する。このとき、閾値設定部14bは、カウント対象モデルの数にバッファを持たせて、異常状態判定用閾値を設定してもよい。具体的には、閾値設定部14bは、カウント対象モデルの数+αを、異常状態判定用閾値に設定してもよい。αは、0より大きい値とする。
閾値設定部14bは、設定した異常状態判定用閾値を、認証部12bから出力された個人識別情報と紐づけて記憶部に記憶させるとともに、推定可能フラグを「1」とする。
【0111】
実施の形態3において、閾値設定部14bが異常状態判定用閾値を設定する処理を行っている第1閾値設定用時間および第3閾値設定用時間、関連機械学習モデルから異常状態スコアは出力される。しかし、この間、異常状態推定装置1bにおいて、当該異常状態スコアに基づく乗員の異常状態の推定は行わないようにする。例えば、異常状態推定装置1bは、乗員の異常状態の推定を行うかどうかを、推定可能フラグが「1」か「0」かによって判定する。異常状態推定装置1bは、推定可能フラグが「1」の場合、乗員の異常状態の推定を行うと判定する。逆に、推定可能フラグが「0」の場合、異常状態推定装置1bは、乗員の異常状態の推定を行わないと判定する。当該推定可能フラグに基づく制御は、制御部が行う。制御部による、推定可能フラグに基づく制御については、実施の形態1にて説明済みであるため、重複した説明を省略する。異常状態推定装置1bにおいて、閾値設定部14bは、制御部による、推定可能フラグに基づく制御に従って、「関連モデル別閾値設定処理」および「異常状態判定用閾値設定処理」を行う。制御部は、関連モデル別閾値が設定されていない場合は、閾値設定部14bに対して、「関連モデル別閾値設定処理」を行わせる。制御部は、関連モデル別閾値が設定済であり、かつ、推定可能フラグが「0」の場合は、閾値設定部14bに対して、「異常状態判定用閾値設定処理」を行わせる。なお、「関連モデル別閾値設定処理」は、「異常状態判定用閾値設定処理」よりも前に行われる処理であるため、関連モデル別閾値設定処理の実行時点において、推定可能フラグは、「0」である。
また、異常状態推定装置1bにおいて、後述の推定部15bは、制御部による、推定可能フラグに基づく制御に従って、乗員の異常状態を推定する処理を行う。制御部は、推定可能フラグが「1」の場合、推定部15bに対して、乗員の異常状態を推定する処理を行わせる。
【0112】
推定部15bは、実施の形態2に係る異常状態推定装置1aの推定部15a同様、乗員の異常状態の推定を行う。
推定部15bは、実施の形態2に係る推定部15aとは、乗員の異常状態を推定する際に用いる機械学習モデルを、モデル選択部18が選択した、1つ以上の関連機械学習モデルとした点が異なる。
推定部15bは、特徴量算出部13が算出した乗員に関する特徴量を、モデル選択部18が選択した、1つ以上の関連機械学習モデルに入力して得られた異常状態スコアに基づき、乗員の異常状態の推定を行う。
【0113】
推定部15bについて、以下、詳細に説明する。
推定部15bにおいて、推定部15bの関連モデル数算出部152は、1つ以上の関連機械学習モデルのうち、特徴量算出部13が算出した特徴量を入力して得られた異常状態スコアが、関連モデル別閾値より大きいと判定された、関連機械学習モデルの数(以下「異常判定用関連モデル数」という。)を算出する。
具体的には、関連モデル数算出部152は、まず、特徴量算出部13が算出した特徴量を、1つ以上の関連機械学習モデルのうちのある関連機械学習モデルに入力して異常状態スコアを取得する。そして、関連モデル数算出部152は、取得した異常状態スコアが、閾値設定部14bの関連モデル別閾値設定部143が設定した関連モデル別閾値より大きいか否かを判定する。なお、関連モデル数算出部152は、記憶部に記憶されている関連モデル別閾値情報から、異常状態スコアと比較する、ある関連機械学習モデルに対応する関連モデル別閾値を特定すればよい。
関連モデル数算出部152は、上述した、異常状態スコアが関連モデル別閾値より大きいか否かの判定を、全ての関連機械学習モデルに対して行う。そして、関連モデル数算出部152は、異常判定用関連モデル数を算出する。
関連モデル数算出部152は、算出した異常判定用関連モデル数を、推定部15bに出力する。
【0114】
推定部15bは、関連モデル数算出部152が算出した異常判定用関連モデル数が、閾値設定部14bが設定した異常状態判定用閾値より大きい場合、乗員は異常状態であると推定する。
具体的には、推定部15bは、関連モデル数算出部152が算出した異常判定用関連モデル数と、閾値設定部14bが記憶部に記憶させた、異常状態判定用閾値とを比較する。その際、推定部15bは、認証部12bから出力された個人識別情報を、記憶部にて異常状態判定用閾値と紐づけられている個人識別情報と突き合わせ、一致した個人識別情報に紐づけられている異常状態判定用閾値を、異常判定用関連モデル数と比較する異常状態判定用閾値として、記憶部から取得する。推定部15bは、異常判定用関連モデル数が異常状態判定用閾値より大きい場合、乗員は異常状態であると推定する。一方、推定部15bは、異常判定用関連モデル数が異常状態判定用閾値以下である場合、乗員は正常状態であると推定する。
【0115】
実施の形態3に係る異常状態推定装置1bの動作について説明する。
図15は、実施の形態3に係る異常状態推定装置1bの動作について説明するためのフローチャートである。
図15のステップST1501,ステップST1503の具体的な動作は、実施の形態2にて説明した、
図10のステップST1001,ステップST1003の具体的な動作と同様であるため、重複した説明を省略する。
ステップST1502において、認証部12bは、乗員個人の認証を行う(ステップST1502)。
認証部12bは、乗員個人が認証できると、個人識別情報を取得する。その際、認証部12bの属性情報取得部121は、乗員の属性情報を取得する。
認証部12bは、乗員個人を特定できた場合、取得した個人識別情報、および、乗員の属性情報を、閾値設定部14b、推定部15b、および、モデル選択部18に出力する。
なお、認証部12bが乗員個人を特定できなかった場合、異常状態推定装置1bは、
図15のフローチャートの動作を終了する。
【0116】
モデル選択部18は、ステップST1502にて認証部12bの属性情報取得部121が取得した属性情報に基づき、複数の機械学習モデル(1~N)17のうち、乗員の属性に関連する、1つ以上の関連機械学習モデルを選択する(ステップST1504)。
モデル選択部18は、選択した、1つ以上の関連機械学習モデルの情報を、閾値設定部14bおよび推定部15bに出力する。
【0117】
制御部は、関連モデル別閾値が設定済であるか否かを判定する(ステップST1505)。具体的には、制御部は、記憶部に、全ての関連機械学習モデルに対応する関連モデル別閾値情報が記憶されているか否かを判定する。
ステップST1505にて、関連モデル別閾値が設定済ではないと判定した場合(ステップST1505の“NO”の場合)、
図15のフローチャートの動作は、ステップST1506に進む。なお、後述の
図16で説明する動作を行う前は、関連モデル別閾値は設定されていないため、制御部は、関連モデル別閾値は設定済ではないと判定する。後述の
図16で説明する動作が行われた後は、関連モデル別閾値は設定されているため、制御部は、関連モデル別閾値は設定済と判定する。
そして、閾値設定部14bは、「関連モデル別閾値設定処理」を行う(ステップST1506)。
【0118】
ここで、
図16は、
図15のステップST1506の具体的な動作を説明するためのフローチャートである。
関連モデル別閾値設定部143は、第1閾値設定用時間以内であるか否かを判定する(ステップST1601)。
ステップST1601にて、関連モデル別閾値設定部143は、第1閾値設定用時間以内であると判定した場合(ステップST1601の“YES”の場合)、直近の
図15のステップST1503にて特徴量算出部13が算出した特徴量を、1つ以上の関連機械学習モデルのうちのある関連機械学習モデルに入力して、異常状態スコアを取得する。関連モデル別閾値設定部143は、上述した、異常状態スコアの取得を、全ての関連機械学習モデルに対して行い、各関連機械学習モデルに対応する、異常状態スコアを取得する。関連モデル別閾値設定部143は、第3スコア情報を生成し、当該第3スコア情報を記憶部に記憶させる(ステップST1602)。その後、
図16のフローチャートの動作は、
図15のステップST1501に戻り、当該ステップST1501の動作を行うと、再び、当該ステップST1501以降の動作に進む。以降、第1閾値設定用時間が経過する(ステップST1601の“NO”の場合)まで、関連モデル別閾値設定部143は、当該ステップST1602の動作を行うことになる。その結果、関連モデル別閾値設定部143が第1閾値設定用時間以内に生成した第3スコア情報が、記憶部に記憶される。
【0119】
ステップST1601にて、関連モデル別閾値設定部143は、第1閾値設定用時間以内ではないと判定した場合、すなわち、第1閾値設定用時間が経過すると(ステップST1601の“NO”の場合)、関連モデル別閾値設定部143は、1つ以上の関連機械学習モデルのうちのある関連機械学習モデルについて、第1閾値設定用時間において記憶部に記憶させた1つ以上の異常状態スコアのうち、最大値を、関連モデル別閾値に設定する(ステップST1603)。関連モデル別閾値設定部143は、上述した、関連モデル別閾値の設定を、全ての関連機械学習モデルに対して行い、各関連機械学習モデルに対応する、関連モデル別閾値を設定する。関連モデル別閾値設定部143は、関連モデル別閾値情報を生成し、記憶部に記憶させる。その後、
図16のフローチャートの動作は、
図15のステップST1501に戻り、当該ステップST1501の動作を行うと、再び、当該ステップST1501以降の動作に進む。
【0120】
図15のフローチャートの説明に戻る。
ステップST1505において、制御部が、関連モデル別閾値は設定済であると判定した場合(ステップST1505の“YES”の場合)、
図15のフローチャートの動作は、ステップST1507に進む。
ステップST1507にて、制御部は、異常状態判定用閾値が設定済であるか否かを判定する。具体的には、制御部は、推定可能フラグが「1」であるか否かを判定する(ステップST1507)。
ステップST1507において、制御部は、異常状態判定用閾値が設定済ではないと判定した場合、言い換えれば、推定可能フラグが「0」であると判定した場合(ステップST1507の“NO”の場合)、
図15のフローチャートの動作は、ステップST1508に進む。なお、後述の
図17で説明する動作を行う前は、異常状態判定用閾値は設定されていないため、制御部は、異常状態判定用閾値は設定済ではないと判定する。
図17で説明する動作を行った後は、異常状態判定用閾値は設定済であるので、制御部は、異常状態判定用閾値は設定済であると判定する。
そして、閾値設定部14bは、「異常状態判定用閾値設定処理」を行う(ステップST1508)。
【0121】
ここで、
図17は、
図15のステップST1508の具体的な動作を説明するためのフローチャートである。
閾値設定部14bの関連モデル別判定部144は、第3閾値設定用時間以内であるか否かを判定する(ステップST1701)。
ステップST1701にて、第3閾値設定用時間以内であると判定した場合(ステップST1701の“YES”の場合)、関連モデル別判定部144は、まず、直近の
図15のステップST1503にて特徴量算出部13が算出した特徴量を、1つ以上の関連機械学習モデルのうちのある関連機械学習モデルに入力して、異常状態スコアを取得する。関連モデル別判定部144は、上述した、異常状態スコアの取得を、全ての関連機械学習モデルに対して行い、各関連機械学習モデルに対応する、異常状態スコアを取得する。関連モデル別判定部144は、第4スコア情報を生成し、当該第4スコア情報を記憶部に記憶させる(ステップST1702)。その後、
図17のフローチャートの動作は、
図15のステップST1501に戻り、当該ステップST1501の動作を行うと、再び、当該ステップST1501以降の動作に進む。以降、第3閾値設定用時間が経過する(ステップST1701の“NO”の場合)まで、関連モデル別判定部144は、当該ステップST1702の動作を行うことになる。その結果、関連モデル別判定部144が第3閾値設定用時間以内に生成した第4スコア情報が、記憶部に記憶される。
【0122】
ステップST1701にて、関連モデル別判定部144は、第3閾値設定用時間以内ではないと判定した場合、すなわち、第3閾値設定用時間が経過すると(ステップST1701の“NO”の場合)、関連モデル別判定部144は、1つ以上の関連機械学習モデルのうちのある関連機械学習モデルについて、第3閾値設定用時間に記憶部に記憶させた、当該ある関連機械学習モデルの1つ以上の異常状態スコアのいずれかが、関連モデル別閾値設定部143が設定した関連モデル別閾値より大きいか否かを判定する。
ある関連機械学習モデルについて、当該ある関連機械学習モデルから得られた1つ以上の異常状態スコアのうち1つでも関連モデル別閾値より大きい場合、関連モデル別判定部144は、当該ある関連機械学習モデルを、カウント対象モデルに該当する関連機械学習モデルであると判定する(ステップST1703)。関連モデル別判定部144は、上述した、カウント対象モデルに該当するか否かの判定を、全ての関連機械学習モデルに対して行う。
関連モデル別判定部144は、関連モデル別カウント要否判定結果情報を生成し、当該関連モデル別カウント要否判定結果情報を、閾値設定部14bに出力する。
【0123】
閾値設定部14bは、ステップST1703にて関連モデル別判定部144から出力された関連モデル別カウント要否判定結果情報に基づき、カウント対象モデルの数を、異常状態判定用閾値に設定する(ステップST1704)。
閾値設定部14bは、設定した異常状態判定用閾値を、認証部12bから出力された個人識別情報と紐づけて記憶部に記憶させるとともに、推定可能フラグを「1」とする。その後、
図17のフローチャートの動作は、
図15のステップST1501に戻り、当該ステップST1501の動作を行うと、再び、当該ステップST1501以降の動作に進む。
【0124】
図15のフローチャートの説明に戻る。
ステップST1507において、制御部は、異常状態判定用閾値が設定済であると判定した場合、言い換えれば、推定可能フラグが「1」であると判定した場合(ステップST1507の“YES”の場合)、
図15のフローチャートの動作は、ステップST1509に進む。
そして、推定部15bは、ステップST1503にて特徴量算出部13が算出した乗員に関する特徴量を各関連機械学習モデルに入力して得られた異常状態スコアに基づき、乗員の異常状態の推定を行う(ステップST1509)。
【0125】
ここで、
図18は、
図15のステップST1509の具体的な動作を説明するためのフローチャートである。
推定部15bの関連モデル数算出部152は、まず、直近の
図15のステップST1503にて特徴量算出部13が算出した特徴量を、1つ以上の関連機械学習モデルのうちのある関連機械学習モデルに入力して異常状態スコアを取得する。そして、関連モデル数算出部152は、取得した異常状態スコアが、
図16のステップST1603にて関連モデル別閾値設定部143が設定した関連モデル別閾値より大きいか否かを判定する。
関連モデル数算出部152は、上述した、異常状態スコアが関連モデル別閾値より大きいか否かの判定を、全ての関連機械学習モデルに対して行う。そして、関連モデル数算出部152は、異常判定用関連モデル数を算出する(ステップST1801)。
関連モデル数算出部152は、算出した異常判定用関連モデル数を、推定部15bに出力する。
【0126】
推定部15bは、ステップST1801にて関連モデル数算出部152が算出した異常判定用関連モデル数と、
図17のステップST1704にて閾値設定部14bが設定した異常状態判定用閾値とを比較する(ステップST1802)。
ステップST1802にて、異常判定用関連モデル数が異常状態判定用閾値より大きい場合(ステップST1802の“YES”の場合)、推定部15bは、乗員は異常状態であると推定する(ステップST1803)。
一方、ステップST1802にて、異常判定用関連モデル数が異常状態判定用閾値以下である場合(ステップST1802の“NO”の場合)、推定部15bは、乗員は正常状態であると推定する(ステップST1804)。
【0127】
なお、以上の動作説明では、「異常状態判定用閾値設定処理」において、閾値設定部14bは、
図17のフローチャートで説明したような動作を行い、異常状態判定用閾値を設定するものとしたが、これは一例に過ぎない。閾値設定部14bは、例えば、以下に説明するような動作を行って、異常状態判定用閾値を設定するようにしてもよい。
閾値設定部14bの関連モデル別判定部144は、第3閾値設定用時間以内である場合に、直近の
図15のステップST1503にて特徴量算出部13が算出した特徴量を、1つ以上の関連機械学習モデルのうちのある関連機械学習モデルに入力して異常状態スコアを取得する。続けて、関連モデル別判定部144は、取得した異常状態スコアが、
図16のステップST1603にて関連モデル別閾値設定部143が設定した関連モデル別閾値より大きいか否かによって、当該ある関連機械学習モデルが「カウント対象モデル」に該当するか否かを判定する。関連モデル別判定部144は、当該ある関連機械学習モデルから得られた異常状態スコアが、関連モデル別閾値設定部143が設定した関連モデル別閾値より大きい場合、当該ある関連機械学習モデルは、「カウント対象モデル」に該当すると判定する。
関連モデル別判定部144は、上述した、異常状態スコアの取得、および、カウント対象モデルに該当するか否かの判定を、全ての関連機械学習モデルに対して行う。そして、関連モデル別判定部144は、全ての関連機械学習モデルに対して、異常状態スコアの取得、および、カウント対象モデルに該当するか否かの判定、を行った後、全ての関連機械学習モデルのうち、カウント対象モデルに該当する関連機械学習モデルの数を算出する。関連モデル別判定部144は、算出したカウント対象モデルの数を、例えば、当該数を算出した時間と紐づけて記憶部に記憶させる。
関連モデル別判定部144は、以上の動作を、第3閾値設定用時間、特徴量算出部13が特徴量を算出する都度、行う。
第3閾値設定用時間を経過すると、閾値設定部14bは、第3閾値設定用時間以内に関連モデル別判定部144が算出したカウント対象モデルの数のうち、最大値を、異常状態判定用閾値に設定する。このとき、閾値設定部14bは、第3閾値設定用時間以内に算出されたカウント対象モデルの数の最大値にバッファを持たせて、異常状態判定用閾値を設定してもよい。具体的には、閾値設定部14bは、第3閾値設定用時間以内に算出されたカウント対象モデルの数の最大値+αを、異常状態判定用閾値に設定してもよい。αは、0より大きい値とする。
【0128】
このように、実施の形態3に係る異常状態推定装置1bは、機械学習モデル(1~N)17のうちから、乗員の属性に関連する1つ以上の関連機械学習モデルを選択する。異常状態推定装置1bは、第1閾値設定用時間、乗員は正常状態であると仮定し、関連機械学習モデル毎に、当該第1閾値設定用時間に乗員に関する特徴量を入力して得られた異常状態スコアの最大値に基づき、関連モデル別閾値を設定する。
さらに、異常状態推定装置1bは、関連モデル別閾値を設定後、第3閾値設定用時間、乗員は正常状態であると仮定し、関連機械学習モデル毎に、当該第3閾値設定用時間に乗員に関する特徴量を入力して得られた異常状態スコアと関連モデル別閾値とを比較して、関連機械学習モデルのうち、カウント対象モデルに該当する関連機械学習モデルの数を算出する。そして、異常状態推定装置1bは、算出したカウント対象モデルの数を、異常状態判定用閾値に設定する。
異常状態推定装置1bは、異常状態判定用閾値を設定後、関連機械学習モデル毎に乗員に関する特徴量を入力して、関連機械学習モデル毎の異常状態スコアを取得する。異常状態推定装置1bは、各関連機械学習モデルについて、得られた異常状態スコアが関連モデル別閾値より大きいか否かを判定する。そして、異常状態推定装置1bは、異常判定用関連モデル数を算出する。
【0129】
異常状態推定装置1bは、異常判定用関連モデル数を算出すると、当該異常判定用関連モデル数と異常状態判定用閾値とを比較し、異常判定用関連モデル数が異常状態判定用閾値より大きい場合、乗員は異常状態であると推定する。
異常状態推定装置1bは、固定的な閾値を用いて、乗員が異常状態であるか否かを推定するのではなく、乗員毎に異常状態判定用閾値を設定し、当該異常状態判定用閾値を用いて、乗員が異常状態であるか否かを推定する。そのため、異常状態推定装置1bは、乗員が異常状態であるか否かを推定する際、当該乗員の異常状態の誤推定を防ぐことができる。
また、異常状態推定装置1bは、様々な属性を有する複数の乗員の属性に応じて予め個別に生成された複数の機械学習モデルのうち、関連機械学習モデルに基づいて、異常状態判定用閾値の設定、および、乗員の異常状態の推定を行う。そのため、異常状態推定装置1bは、様々な属性を有する複数の乗員に関する情報から生成された複数の機械学習モデルを全て用いて異常状態判定用閾値の設定、および、乗員の異常状態の推定を行う場合に比べて、乗員の異常状態の推定精度をさらに向上させることができる。
【0130】
なお、実施の形態3に係る異常状態推定装置1bにおいても、実施の形態1に係る異常状態推定装置1同様、推定部15bは、例えば、異常状態推定時間において、乗員が異常状態であると推定された割合が閾値以上であれば、当該乗員は異常状態であると推定し、以降、車両の運転が終了されるまで、乗員の異常状態の推定を行わないようにしてもよい。
【0131】
また、以上の実施の形態3では、異常状態推定装置1bにおいて、関連機械学習モデルに入力する情報は、特徴量算出部13が算出した、乗員に関する特徴量としたが、これは一例に過ぎない。例えば、異常状態推定装置1bにおいて、関連機械学習モデルに入力する情報は、情報取得部11が取得した、乗員に関する情報としてもよい。この場合、異常状態推定装置1bは、特徴量算出部13を備えない構成とすることができる。
ただし、異常状態推定装置1bは、特徴量算出部13を備え、異常状態の推定と相関が大きい、乗員に関する特徴量を関連機械学習モデルに入力するようにしたほうが、乗員に関する情報を直接、関連機械学習モデルに入力する場合よりも、乗員の異常状態を推定する際の、推定の精度向上が期待できる。
なお、異常状態推定装置1bにおいて、関連機械学習モデルに入力する情報を乗員に関する情報とする場合、学習装置は、乗員に関する情報を教師データとする。
【0132】
以上のように、実施の形態3によれば、車両の乗員に関する情報と、機械学習モデル(1~N)17とに基づいて、乗員の異常状態を推定する異常状態推定装置1bにおいて、異常状態推定装置1bは、乗員に関する情報を取得する情報取得部11と、第1閾値設定用時間以内に情報取得部が取得した乗員に関する情報を機械学習モデル(1~N)17に入力して得られた異常状態スコアに基づき、乗員の異常状態を推定するための異常状態判定用閾値を設定する閾値設定部14bを備えるように構成した。
そのため、異常状態推定装置1bは、乗員が異常状態であるか否かを推定する際、当該乗員の異常状態の誤推定を防ぐことができる。
【0133】
特に、実施の形態3では、機械学習モデル(1~N)17は複数存在し、異常状態推定装置1bは、乗員の属性に関する属性情報を取得する属性情報取得部121と、属性情報取得部121が取得した属性情報に基づき、複数の機械学習モデル(1~N)17のうち、乗員の属性に関連する、1つ以上の関連機械学習モデルを選択するモデル選択部18と、モデル選択部18が選択した1つ以上の関連機械学習モデル毎に、第1閾値設定用時間以内に情報取得部11が取得した乗員に関する情報を入力して得られた異常状態スコアに基づき、関連モデル別閾値を設定する関連モデル別閾値設定部143と、関連モデル別閾値設定部143が関連モデル別閾値を設定後、1つ以上の関連機械学習モデル毎に、第3閾値設定用時間以内に情報取得部11が取得した乗員に関する情報を入力して得られた異常状態スコアは、関連モデル別閾値設定部143が設定した関連モデル別閾値より大きいか否かを判定する関連モデル別判定部144を備え、閾値設定部14bは、関連モデル別判定部144が異常状態スコアは関連モデル別閾値より大きいと判定した関連機械学習モデルの数を、異常状態判定用閾値に設定するようにした。
これにより、異常状態推定装置1bは、様々な属性を有する複数の乗員に関する情報から生成された複数の機械学習モデルを全て用いて異常状態判定用閾値の設定、および、乗員の異常状態の推定を行う場合に比べて、乗員の異常状態の推定精度をさらに向上させることができる。
【0134】
以上の実施の形態1~3では、車両の乗員とは、ドライバを想定し、異常状態推定装置1~1bは、ドライバが異常状態であるか否かを推定することを前提としたが、これは一例に過ぎない。
実施の形態1~3において、車両の乗員とは、例えば、助手席または後部座席に着座している同乗者としてもよい。この場合、異常状態推定装置1~1bが推定する、乗員の異常状態とは、乗員が体調不良である状態をいう。具体的には、乗員の異常状態とは、例えば、乗員が飲酒している状態、または、乗員が疲労している状態をいう。また、この場合、車両の運転開始時とは、例えば、ドライバが、車両の運転を開始させたときをいう。
【0135】
また、以上の実施の形態1~3では、異常状態推定装置1~1bにおいて、情報取得部11は、顔画像、生体情報、および、車両情報を取得するものとしたが、これは一例に過ぎない。情報取得部11は、顔画像、生体情報、または、車両情報のうちの少なくとも1つを、乗員に関する情報として取得するようになっていればよい。特徴量算出部13は、情報取得部11が取得した、乗員に関する情報に応じた、乗員に関する特徴量を算出する。
【0136】
また、以上の実施の形態1~3において、異常状態推定装置1~1bが推定した、乗員が異常状態であるか否かの推定結果は、様々な場面で用いられる。
例えば、異常状態推定装置1~1bが搭載される車両が自動運転車両であり、異常状態推定装置1~1bは、ドライバが異常状態であるか否かを推定するとする。この場合、例えば、異常状態推定装置1~1bは、ドライバが異常状態であると推定すると、ドライバが異常状態である旨の推定結果を、車両に搭載された自動運転制御部(図示省略)に出力する。自動運転制御部は、異常状態推定装置1~1bから、ドライバが異常状態である旨の推定結果が出力されると、自動ブレーキをかけるタイミングを早める制御を行う。また、例えば、自動運転制御部は、異常状態推定装置1~1bから、ドライバが異常状態である旨の推定結果が出力されると、手動運転への切替を禁止し、車両を路肩に寄せる制御を行う。
また、例えば、異常状態推定装置1~1bは、同乗者の異常状態を推定するものとする。この場合、例えば、異常状態推定装置1~1bは、同乗者が異常状態であると推定すると、同乗者が異常状態である旨の推定結果を、異常状態推定装置1~1bの外部の通信装置(図示省略)に出力する。通信装置は、異常状態推定装置1~1bから、同乗者が異常状態である旨の推定結果が出力されると、救急センターに通報する。
【0137】
図19A,
図19Bは、実施の形態1~実施の形態3に係る異常状態推定装置1~1bのハードウェア構成の一例を示す図である。
実施の形態1~3において、情報取得部11と、認証部12,12bと、特徴量算出部13と、閾値設定部14,14a,14bと、推定部15,15a,15bと、モデル選択部18の機能は、処理回路1901により実現される。すなわち、異常状態推定装置1~1bは、車両の乗員の異常状態を推定する際に用いる異常状態判定用閾値の設定を制御するための処理回路1901を備える。
処理回路1901は、
図19Aに示すように専用のハードウェアであっても、
図19Bに示すようにメモリ1906に格納されるプログラムを実行するCPU(Central Processing Unit)1905であってもよい。
【0138】
処理回路1901が専用のハードウェアである場合、処理回路1901は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、またはこれらを組み合わせたものが該当する。
【0139】
処理回路1901がCPU1905の場合、情報取得部11と、認証部12,12bと、特徴量算出部13と、閾値設定部14,14a,14bと、推定部15,15a,15bと、モデル選択部18の機能は、ソフトウェア、ファームウェア、または、ソフトウェアとファームウェアとの組み合わせにより実現される。すなわち、情報取得部11と、認証部12,12bと、特徴量算出部13と、閾値設定部14,14a,14bと、推定部15,15a,15bと、モデル選択部18は、HDD(Hard Disk Drive)1902またはメモリ1906等に記憶されたプログラムを実行するCPU1905、システムLSI(Large-Scale Integration)等の処理回路により実現される。また、HDD1902、メモリ1906等に記憶されたプログラムは、情報取得部11と、認証部12,12bと、特徴量算出部13と、閾値設定部14,14a,14bと、推定部15,15a,15bと、モデル選択部18の手順または方法をコンピュータに実行させるものであるとも言える。ここで、メモリ1906とは、例えば、RAM、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read-Only Memory)等の、不揮発性または揮発性の半導体メモリ、または、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ならびに、DVD(Digital Versatile Disc)等が該当する。
【0140】
なお、情報取得部11と、認証部12,12bと、特徴量算出部13と、閾値設定部14,14a,14bと、推定部15,15a,15bと、モデル選択部18の機能について、一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。例えば、認証部12,12bについては専用のハードウェアとしての処理回路1901でその機能を実現し、情報取得部11と、特徴量算出部13と、閾値設定部14,14a,14bと、推定部15,15a,15bと、モデル選択部18については処理回路1901がメモリ1906に格納されたプログラムを読み出して実行することによってその機能を実現することが可能である。
また、個人認証用DB16と、図示しない記憶部は、メモリ1906を使用する。なお、これは一例であって、個人認証用DB16と、図示しない記憶部は、HDD1902、SSD(Solid State Drive)、または、DVD等によって構成されるものであってもよい。
また、異常状態推定装置1~1bは、撮像装置2または生体センサ3等の装置と、有線通信または無線通信を行う入力インタフェース装置1903および出力インタフェース装置1904を備える。
【0141】
なお、以上の実施の形態1~3では、異常状態推定装置1~1bは、車両に搭載される車載装置とし、情報取得部11と、認証部12,12bと、特徴量算出部13と、閾値設定部14,14a,14bと、推定部15,15a,15bと、モデル選択部18は、異常状態推定装置1~1bに備えられているものとした。
これに限らず、情報取得部11と、認証部12,12bと、特徴量算出部13と、閾値設定部14,14a,14bと、推定部15,15a,15bと、モデル選択部18のうち、一部を車両の車載装置に搭載されるものとし、その他を当該車載装置とネットワークを介して接続されるサーバに備えられるものとして、車載装置とサーバとで異常状態推定システムを構成するようにしてもよい。
【0142】
また、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【産業上の利用可能性】
【0143】
この発明に係る異常状態推定装置は、車両の乗員に関する情報と、機械学習モデルとに基づいて、乗員が異常状態であるか否かを推定する異常状態推定装置に適用することができる。
【符号の説明】
【0144】
1,1a,1b 異常状態推定装置、2 撮像装置、3 生体センサ、11 情報取得部、111 顔画像取得部、1111 顔検出部、112 生体情報取得部、113 車両情報取得部、12,12b 認証部、13 特徴量算出部、131 顔特徴量算出部、132 生体特徴量算出部、133 車両操作特徴量算出部、14,14a,14b 閾値設定部、141 モデル別閾値設定部、142 モデル別判定部、143 関連モデル別閾値設定部、144 関連モデル別判定部、15,15a,15b 推定部、151 モデル数算出部、152 関連モデル数算出部、16 個人認証用DB、17 機械学習モデル、1901 処理回路、1902 HDD、1903 入力インタフェース装置、1904 出力インタフェース装置、1905 CPU、1906 メモリ。