以下、図面を参照しつつ本発明の実施の形態について説明する。
<第1の実施の形態>
<1.構成>
図1は、情報処理システム10の構成を示す図である。情報処理システム10は、情報処理装置1と、位置検知センサ2と、画像出力装置3および音響出力装置4の通知装置とを主に備える。情報処理システム10は、例えば車両の車室内に設けられるシステムである。
情報処理装置1は、位置検知センサ2が検知した対象物の空間上の位置に関する情報(以下、「位置情報」という。)を取得し、この対象物の位置情報に基づき骨格モデルを生成する。ここで、対象物は例えば車両の車室内のドライバである。このように情報処理装置1は、ドライバの人体の特定部位(例えば、頭部や両手等)の位置情報を位置検知センサ2から取得する。
情報処理装置1は、ドライバの特定部位の位置情報に基づき、ドライバの運転姿勢に関する複数種類の危険状態の有無を判定する。そして情報処理装置1は、存在すると判定された危険状態のうち、最も高い危険度の危険状態に応じた通知情報を画像出力装置3および音響出力装置4の少なくともいずれかの通知装置に出力する。
位置検知センサ2は、車両の車室内の対象物の位置情報を検知する。位置検知センサ2は、例えばLIDAR(Light Detection and Ranging)方式により、対象物の位置情報を検知する。LIDAR方式は、レーザ光を対象物に発光し、対象物からの反射光を受光するまでにかかる時間で対象物の位置情報を検知する方式である。
このような位置情報の検知に用いられる技術としては他には、アクティブステレオ方式、ToF(Time-of-Flight)方式等がある。
アクティブステレオ方式は、レーザ光を対象物に照射し、対象物からの反射光を受光するまでにかかる時間により対象物の位置情報を検知する方式である。ToF方式は、LED等の光源を有する発光部が、対象物に照射光を照射したときから、受光部が対象物からの反射光を受光するまでの時間差により、対象物の位置情報を検知する方式である。位置検知センサ2は、このような方式の技術により検知した位置情報を情報処理装置1に送信する。位置検知センサ2は、対象物の位置情報を検知する場合、これらの方式のうちいずれの方式の技術を用いてもよい。
情報処理装置1は、対象物検知部11、骨格部位検出部12、危険状態判定部13、出力制御部14、および、記憶部21を主に備える。
対象物検知部11は、位置検知センサ2から取得した位置情報に基づき、車室内の所定の空間領域に存在する対象物の存在の有無を検知する。具体的には、対象物検知部11は、位置検知センサ2から取得したある対象物に関する複数の位置情報に基づき、所定の空間領域に人体形状を有する物体が存在するか否かを検知する。所定の空間領域は、例えば車室内のドライバシート付近であり、対象物検知部11は人体形状に関する情報と、ドライバシート付近の空間領域で検知された複数の位置情報とのパターンマッチングを行う。人体形状に関する情報は、予め記憶部21に記憶された情報であり、対象物検知部11が検知処理を行う際に記憶部21から読み出す。
対象物検知部11は、例えばドライバシートが存在する領域を含むドライバ領域内に人体形状に適合する位置情報を検知した場合、当該位置情報を骨格部位検出部12に送信する。対象物検知部11はこのようにして車室内のドライバの存在の有無を検知する。
骨格部位検出部12は、ドライバ検知部11から取得した複数の位置情報に基づき、対象物の骨格モデルを生成する。ここで、位置情報の集まりを「点群」として以下、具体的に説明を行う。
図2と図3とを用いて骨格モデルの生成について具体的に説明する。図2は、車両のドライバに関する点群DRにおける骨格モデルFRの正面を示す図である。図3(a)は、点群DRにおける骨格モデルFRの左側面を示す図である。図3(b)は、点群DRにおける骨格モデルFRの右側面を示す図である。
ここで、各図中において方向および向きを示す際に、適宜、図中に示す3次元のxyz直交座標を用いる。直交座標のこれらの軸は、ドライバシートSEに着座した状態のドライバに対して相対的に固定される。x軸の方向はドライバの左右方向に沿い、y軸の方向はドライバの前後方向に沿い、z軸の方向はドライバの高さ方向に沿っている。また便宜上、+x方向を右方向、−x方向を左方向、+y方向を前方向、−y方向を後方向、+z方向を上方向、および、−z方向を下方向とする。なお、このような座標系は、位置検知センサ2が有するローカル座標系に対するワールド座標系であるともいえる。
骨格部位検出部12は、ドライバ検知部11の検知処理により人体形状と適合した点群の重心部分を図2に示す「基準点PB」として設定し、基準点PBから上方向(+z方向)の人体の頭の部位に相当する部分を「頭部点P1」として設定する。なお、基準点PBは人体の喉に相当する部分である。
また骨格部位検出部12は、基準点PBから左方向(−x方向)の部分を人体の左肩の部位に相当する「左肩点P2」として設定する。骨格部位検出部12は、左肩点P2から人体の腕の部位に相当する先端付近の部分を人体の左手の部位に相当する「左手点P4」として設定し、左肩点P2と左手点P4との間における所定の部分を人体の左肘の部位に相当する「左肘点P6」として設定する。
また骨格部位検出部12は、基準点PBから右方向(+x方向)の部分を人体の右肩の部位に相当する「右肩点P3」として設定する。骨格部位検出部12は、右肩点P3から人体の腕の部位に相当する先端付近の部分を人体の右手の部位に相当する「右手点P5」として設定し、右肩点P3と右手点P5との間における所定の部分を人体の右肘の部位に相当する「右肘点P7」として設定する。
骨格モデルは、このような点群における人体の特定の部位の位置を示す基準点PBや頭部点P1等の「骨格点」と、各骨格点を結んだ線分とで構成されるモデルである。
ここで、位置検知センサ2は、人体に関する点群以外に車室内に設けられた機器(以下、「車室内機器」という。)に関する点群の検知が可能である。対象物検知部11は、位置検知センサ2から車室内機器に関する点群を取得し、パターンマッチングにより各機器の位置情報を検知できる。車室内の機器の一例として図2等に示すドライバが着座するドライバシートSE、ドライバシートSEの上部に設けられたヘッドレストHR、ドライバが車両を操作する際に用いるステアリングホイールST、および、ステアリングホイールSTが設けられたダッシュボードDB等があげられる。
さらに車室内の機器の一例として、ダッシュボードDBの近傍に設けられ、画像を出力する画像出力装置3や、車室内のフロントドア近傍に設けられ、音声等の音響を出力する音響出力装置4等もあげられる。画像出力装置3は、例えばHUD(Head-Up Display)である。HUDは、ドライバが運転中であっても視認できる位置に設けられ、ドライバに画像を提供する。音響出力装置4は、例えばスピーカであり、ドライバに音響を提供する。
なお、車室内の各機器の位置情報は、車両の設計時の位置情報を予め記憶部21に記憶しておき、処理を実行するときに記憶された位置情報を読み出すことで取得することも可能である。
図1に戻り、危険状態判定部13は、骨格部位検出部12から取得した骨格点に基づいて、車両のユーザの運転姿勢に関する複数種類の危険状態の有無を判定する。危険状態判定部13の判定処理については、後に詳述する。
出力制御部14は、危険状態判定部13の判定結果に応じて、画像情報および音響情報の少なくともいずれかの情報を含む通知情報を、画像出力装置3や音響出力装置4に出力する。出力制御部14が出力する画像情報や音響情報については、後に詳述する。
記憶部21は、情報処理装置1のドライバ検知部11等の各部で用いられる各種データを記憶する装置である。記憶部21は、例えば、危険状態判定部13が判定処理を実行する際に取得可能な車室内機器の位置情報を記憶する。記憶部21は、例えばEPROM(Erasable Programmable Read Only memory)やフラッシュメモリなどの装置である。
<2.処理>
図4および図5は、情報処理装置1の全体の処理の流れを示す図である。以下、これらの図を参照して、情報処理装置1の処理の流れを説明する。
情報処理装置1は、車両に設けられた他の装置からのACC−ON信号を取得すると(ステップS11でYes)処理を開始する。なお、情報処理装置1がACC−ON信号を取得していない場合(ステップS11でNo)、この処理は終了する。情報処理装置1は、後述する第1危険時間t1等の各種設定値を初期化し(ステップS12)、位置検知センサ2が検知した対象物の位置情報を取得する(ステップS13)。なお、以下では対象物の位置情報は主にドライバの骨格点の位置情報とし、車室内機器の位置情報については、記憶部21から読み出された位置情報を用いるものとして以下説明を続ける。
情報処理装置1の対象物検知部11は、ドライバシートSEの位置を含むドライバ領域を選択し(ステップS14)、その領域内の人体形状に適合する点群を検知する(ステップS15)。対象物検知部11は、人体形状に適合する点群を検知した場合(ステップS16でYes)、点群の位置情報を骨格部位検出部12に送信する。
対象物検知部11が、人体形状に適合する複数の位置情報を検知していない場合(ステップS16でNo)、ステップS12の処理に戻り、継続して処理を行う。
骨格部位検出部12は、人体形状に適合した点群に基づき、骨格点を検出する(ステップS17)。そして、危険状態判定部13は、骨格点の位置に基づいて、ドライバの運転姿勢に関する複数種類の危険状態の有無を判定する(ステップS18)。
<2−1.危険状態の判定処理>
ここで、危険状態の判定処理について、図6を用いて説明する。図6は、危険状態の判定処理を説明する処理フローチャートである。危険状態判定部13は、最初に第1危険状態の有無を判定する(ステップS31)。第1危険状態は、複数種類の危険状態のうち最も危険度の高い状態である。
次に、危険状態判定部13は、第2危険状態の有無を判定する(ステップS32)。第2危険状態は、複数種類の危険状態のうち2番目に危険度の高い状態である。
次に、危険状態判定部13は、正常状態の有無を判定する(ステップS33)。正常状態とは、車両のドライバの運転姿勢が複数種類の危険状態のいずれにも該当しない状態である。危険状態判定部13は、複数種類の危険状態において、それぞれの有無を示す複数の危険フラグが全てOFF(オフ)となっている場合(ステップS34でYes)、正常フラグs0をON(オン)に設定する(ステップS35)。なお、危険状態判定部13は全ての危険フラグのうち、1つ以上の危険フラグがONの場合(ステップS34でNo)、正常フラグs0を初期化してOFFに設定する(ステップS36)。
正常フラグs0は、「ドライバの運転姿勢が正常状態」か否かを示すフラグである。危険状態判定部13は、ドライバの運転姿勢が正常状態の場合に正常フラグs0をONに設定する。なお、危険フラグについては後に詳述する。
<2−2.第1危険状態の判定処理>
次に、図7および図8を用いて第1危険状態の有無の判定処理について詳細に説明する。図7は、第1危険状態の判定処理を説明する処理フローチャートである。危険状態判定部13は、ドライバの運転姿勢に関する第1危険状態の有無を判定する(図7に示すステップS41)。危険状態判定部13は、ドライバの運転姿勢が第1危険状態である場合(ステップS42でYes)、第1危険時間t1を増加させる(ステップS43)。第1危険時間t1は、ドライバの運転姿勢が第1危険状態であると判定された場合に、積算される時間である。例えば危険状態判定部13は、第1危険状態であると判定した回数が1回の場合、第1危険時間t1を1秒増加させる。
図8は、第1危険状態の具体例を示す図である。第1危険状態は例えば、基準点PBの位置がシート幅W1の範囲外の状態である。シート幅W1は、例えばドライバシートSEの右端(+x方向)の一点鎖線RLで示す位置から、左端(−x方向)の一点鎖線LLで示す位置までの左右方向(x軸方向)の範囲に相当する。
危険状態判定部13は、ドライバの運転姿勢が第1危険状態ではない場合(図7に示すステップS42でNo)、第1危険時間t1と後述する第1危険フラグs1とを初期化する(ステップS47)。すなわち、危険状態判定部13は、第1危険時間t1の積算時間を0(ゼロ)に設定し、第1危険フラグs1をOFFに設定して、第1危険状態の判定処理を終了する。なお、第1危険状態ではない例は、図8の基準点PBの位置がシート幅W1の範囲内の状態である。
危険状態判定部13は、第1危険時間t1の積算時間が第1判定時間T1以上か否かを判定する(図7に示すステップS44)。第1判定時間T1は、最も高い危険度の危険状態の有無を判定する時間である。そして第1判定時間T1は、他の危険状態の有無を判定する時間よりも短い時間である。第1判定時間T1は、例えば1秒である。
危険状態判定部13は、第1危険時間t1が第1判定時間T1以上の場合(ステップS45でYes)、第1危険フラグs1をONに設定する(ステップS46)。第1危険フラグs1は、例えばドライバの身体がドライバシートSEに対して左右いずれかの方向(+x方向および−x方向のいずれかの方向)に倒れている状態か否かを示すフラグである。すなわち第1危険フラグs1は、例えば「ドライバが運転を続行することが困難な状態」か否かを示すフラグである。なお、危険状態判定部13は、第1危険時間t1が第1判定時間T1未満の場合(ステップS45でNo)、第1危険状態判定の処理を終了する。これにより情報処理装置1は、車両のユーザの運転姿勢に関する危険状態が最も高い危険度の状態であることを早期に判定できる。
<2−3.第2危険状態の判定処理>
次に図9、図10(a)、および、図10(b)を用いて第2危険状態の有無の判定処理について詳細に説明する。図9は、第2危険状態の判定処理を説明する処理フローチャートである。
危険状態判定部13は、ドライバの運転姿勢に関する第2危険状態の有無を判定する(図9に示すステップS51)。危険状態判定部13は、ドライバの運転姿勢が第2危険状態である場合(ステップS52でYes)、第2危険時間t2を増加させる(ステップS53)。第2危険時間t2は、ドライバの運転姿勢が第2危険状態であると判定された場合に、積算される時間である。例えば危険状態判定部13は、第2危険状態であると判定した回数が1回の場合、第2危険時間t2を1秒増加させる。
図10(a)は、第2危険状態の具体例に関する骨格モデルの左側面を示す図である。図10(b)は、第2危険状態の具体例に関する骨格モデルの右側面を示す図である。第2危険状態は例えば、左手点P4および右手点P5の少なくともいずれか一方の手の骨格点の位置が端末使用領域RAの領域内の状態である。端末使用領域RAは、例えばドライバシートSEの位置とステアリングホイールSTの位置との間における所定の領域である。なお、所定の領域にはドライバシートSEとステアリングホイールSTとが存在する領域は含まれない。すなわちこの所定の領域は、ドライバが携帯端末を使用する際に、当該携帯端末を有した片手を配置する位置を含む領域である。携帯端末は、例えば、携帯電話、スマートフォン、タブレット、PHS等の端末である。
危険状態判定部13は、ドライバの運転姿勢が第2危険状態ではない場合(図9に示すステップS52でNo)、第2危険時間t2と後述する第2危険フラグs2とを初期化する(ステップS57)。すなわち、危険状態判定部13は、第2危険時間t2の積算時間を0(ゼロ)に設定し、第2危険フラグs2をOFFに設定して、第2危険状態の判定処理を終了する。なお、第2危険状態ではない例は、左手点P4および右手点P5の両手の骨格点の位置が端末使用領域RAの領域外の状態である。
危険状態判定部13は、第2危険時間t2の積算時間が第2判定時間T2以上か否かを判定する(図9に示すステップS54)。第2判定時間T2は、2番目に高い危険度の危険状態の有無を判定する時間である。そして第2判定時間T2は、第1判定時間T1よりも危険状態の有無の判定時間が長い。第2判定時間T2は例えば、3秒である。すなわち、第1判定時間T1は、第2判定時間T2よりも短い時間となる。これにより情報処理装置1は、ドライバの運転姿勢に関する最も高い危険度の危険状態が存在するか否かを早期に判定でき、比較的高い危険度の危険状態が存在するか否かを正確に判定できる。
危険状態判定部13は、第1危険時間t2が第2判定時間T2以上の場合(ステップS55でYes)、第2危険フラグs2をONに設定する(ステップS56)。第2危険フラグs2は、例えばドライバが運転中に携帯端末を使用している状態か否かを示すフラグである。すなわち第2危険フラグs2は、例えば「ドライバが運転に集中している状態」か否かを示すフラグである。なお、危険状態判定部13は、第2危険時間t2が第2判定時間T2未満の場合(ステップS55でNo)、第2危険状態判定の処理を終了する。これにより情報処理装置1は、車両のユーザの運転姿勢に関する危険状態が比較的高い危険度の状態であることを正確に判定できる。
図5の処理に戻り、危険状態判定部13は、複数種類の危険状態および正常状態のうちフラグがONに設定されているもののうち、優先順位の最も高い状態(以下、「優先状態」という。)を選択する(ステップS19)。優先順位は高い順に、第1危険状態、第2危険状態、および、正常状態である。危険状態判定部13は、フラグがONに設定されているこれらの状態の中から優先順位の最も高い状態を1つ選択する。
そして危険状態判定部13は、得点カウンタpcの値が1つの優先状態に対応した制限値spと異なる値か否かを判定する(ステップS21)。得点カウンタpcの値は、選択された優先状態に応じた点数wsに基づき増減する値である。すなわち、点数wsは第1危険状態、第2危険状態、および、正常状態のうち選択された優先状態に応じて異なる値となる。そして制限値spもこれらの状態の中から選択された優先状態に応じて異なる値となる。
例えば第1危険状態が優先状態として選択された場合、制限値spは「−30」となる。また、第2危険状態が優先状態として選択された場合、制限値spは「−20」となり、正常状態が優先状態として選択された場合、制限値spは「+60」となる。このように制限値spは、危険度が高いほど−側の値として大きくなり、危険度が低いほど+側の値として大きくなる。
そして例えば、第1危険状態が優先状態として選択された場合、1回の危険状態の判定処理で、得点カウンタpcに加算される点数wsは「−3」となる。つまり、得点カウンタpcの値が3点減算される。また、第2危険状態が優先状態として選択された場合、1回の危険状態の判定処理で加算される点数wsは「−2」となる。つまり、得点カウンタpcの値が2点減算される。さらに、正常状態が優先状態として選択された場合、1回の危険状態の判定処理で加算される点数wsは「+1」となる。このように加算される点数wsは、危険度が高いほど−側の値として大きくなり、危険度が低いほど+側の値として大きくなる。
危険状態判定部13は、例えば、第1危険状態を優先状態として選択した場合、得点カウンタpcの値が、第1危険状態に対応した制限値spの「−30」と異なる値か否かを判定する(ステップS20)。得点カウンタpcの値がこの制限値spと異なる値の場合(ステップS21でYes)、危険状態判定部13は得点カウンタpcに第1危険状態に対応した点数wsの「−3」を加算する(ステップS22)。
なお、危険状態判定部13は、得点カウンタpcが第1危険状態に対応した制限値spと同じ値の場合(ステップS21でNo)、得点カウンタpcの値を増減させることなく保持する(ステップS23)。このように危険状態判定部13は、他の危険状態や正常状態を優先状態に選択した場合であっても、同様にその優先状態に応じた制限値spと点数wsとを用いて得点カウンタpcの値を設定する。
出力制御部14は、危険状態判定部13から優先状態と得点カウンタpcとに関する情報を取得し、これらの情報に基づき、通知情報を選択する(ステップS24)。そして出力制御部14は、選択した通知情報を画像出力装置3や音響出力装置4に出力する。
ここで、図11を用いて画像に関する通知情報の具体例について説明する。図11は、画像出力装置3に出力される画像情報に関する画像の例を示す図である。図11の画像は、優先状態が第1危険状態の場合の画像である。出力制御部14は、得点カウンタpcの値に応じた第1画像31に関する画像情報を選択する。また出力制御部14は、優先状態に応じた第2画像32に関する画像情報を選択する。第1画像31は、ドライバ運転姿勢を評価する指標となる画像である。第2画像32は、ドライバの運転姿勢が危険である理由を示す画像であり、危険状態の改善をサポートする画像である。
出力制御部14は、これらの画像に関する画像情報を画像出力装置3に出力する(ステップS25)。画像出力装置3は、取得した画像情報に基づき、例えば図11の全体画像30を出力する。全体画像30は、第1画像31と第2画像32とを含む画像である。図11では、第1画像31および第2画像32の表示形態が変化することを全体画像30aと全体画像30bとを用いて説明する
全体画像30aの第1画像31aは、得点カウンタpcの値に応じて表示形態が変化する画像である。例えば、画像出力装置3は、得点カウンタpcの値が「−10」〜「+19」の場合、第1画像31aを出力する。その後、得点カウンタpcの値が「−10」を下回った場合、画像出力装置3は全体画像30bの第1画像31bを出力する。第1画像31bは、例えば得点カウンタpcの値が「−20」〜「−11」の場合に出力される画像である。このように危険状態が継続した場合、得点カウンタpcの値が継続的に変化することで、画像出力装置3は、第1画像31の表示形態を第1画像31aから第1画像31bに変更して出力する。
そして、危険状態の危険度が高いほどこれらの画像の変化速度は速くなる。したがって、第1画像31の表示形態は、危険状態の危険度に応じても変化する。すなわち第1画像31は、危険状態の危険度と危険状態の継続時間とに応じて変化する。このように情報処理装置1が、表示形態の変化する第1画像31に関する画像情報を画像出力装置3に出力することで、車両のドライバは運転姿勢の危険度をリアルタイムに把握できる。
全体画像30aの第2画像32aは、危険状態判定部13が判定した最も高い危険度の危険状態(例えば、第1危険状態)に対応する改善前のドライバの運転姿勢に関する画像である。画像出力装置3は、第2画像32aの次に全体画像30bの第2画像32bを出力する。第2画像32bは第2画像32aと同一の危険状態(例えば、第1危険状態)に関する画像であり、当該危険状態の改善後のドライバの運転姿勢に関する画像である。このように情報処理装置1は、最も高い危険度の危険状態に関する改善前および改善後の両方の画像情報を画像出力装置3に出力することで、車両のドライバは一度に複数の危険状態の改善を要求される場合と比べて、優先的に改善すべき運転姿勢を容易に理解でき、危険状態を早期に改善できる。
また出力制御部14は、ドライバの運転姿勢に関して最も高い危険度の第1危険状態であると判定された場合や、2番目に高い危険度の第2危険状態であると判定された場合に、音響情報を音響出力装置4に出力する。音響出力装置4は、ドライバに運転状態の改善をサポートするような音響を出力する。このように出力制御部14は、ドライバの運転状態の危険度が比較的高い場合にのみ音響情報を音響出力装置4に出力する。これにより情報処理装置1は、ドライバの運転姿勢の危険度が比較的高い場合は、危険状態に関する通知情報を早期に出力できる。そして情報処理装置1は、ドライバの運転姿勢の危険度が比較的低い場合は、危険状態に関する通知情報の出力の頻度を低下させて、ドライバの車室内での快適性を損なうことなくサポートできる。
このように情報処理装置1は、ドライバの運転姿勢が危険状態であると判定した場合に、即座に車両制御を実行することなく、画像出力装置3や音響出力装置4に通知情報を出力することで、車両制御が実行される場合と比較してドライバの負担を軽減できる。
<3.他の第1危険状態の判定>
次に上述の第1危険状態の例とは別の第1危険状態の例について説明する。図12(a)および図12(b)は、第1危険状態の別の具体例を示す図である。図12(a)および図12(b)に示すように、頭部点P1の位置と、ステアリングホイールSTの略中央部分の位置との距離が、所定距離L1(例えば、30cm)以下の場合(図7に示すステップS42でYes)、危険状態判定部13は、第1危険時間t1を増加させる(ステップS43)。なお、ステアリングホイールSTの略中央部分とは、例えば車両メーカーのエンブレムが設けられた部分である。ここで、危険状態判定部13は、距離L1を例えば数1により算出する。
P1yは頭部点P1のy座標の値であり、STyはステアリングホイールSTの位置のy座標の値である。またP1zは頭部点P1のz座標の値であり、STzはステアリングホイールSTの略中央部分のz座標の値である。
危険状態判定部13は、第1危険時間t1が第1判定時間T1以上の場合(ステップS45でYes)、第1危険フラグs1をONに設定する(ステップS46)。第1危険フラグs1は、ドライバの頭部が前方(+y方向)に大きく傾いている状態か否かを示すフラグである。すなわち例えば「ドライバが運転を続行することが困難な状態」か否かを示すフラグである。これにより情報処理装置1は、車両のユーザの運転姿勢に関する危険状態が最も高い危険度の状態であることを早期に判定できる。
<4.他の第2危険状態の判定>
次に、上述の第2危険状態の例とは別の第2危険状態の例について説明する。図13(a)および図13(b)は、第2危険状態の別の具体例を示す図である。図13(a)および図13(b)に示すように、頭部点P1の位置と、左手点P4および右手点P5のいずれかの骨格点の位置との距離が、所定距離L2(例えば、10cm)以下の場合(図9に示すステップS52でYes)、危険状態判定部13は、第2危険時間t2を増加させる(ステップS53)。
危険状態判定部13は、第2危険時間t2が第2判定時間T2以上の場合(ステップS55でYes)、第2危険フラグs2をONに設定する(ステップS56)。第2危険フラグs2は、例えばドライバが携帯端末により通話中の状態を示すフラグである。すなわち第2危険フラグs2は、例えば「ドライバが運転に集中していない状態」を示すフラグである。これにより情報処理装置1は、車両のユーザの運転姿勢に関する危険状態が比較的高い危険度の状態であることを正確に判定できる。
また、上述の第2危険状態の例とはさらに別の第2危険状態の例について説明する。図14(a)および図14(b)は、第2危険状態のさらに別の具体例を示す図である。図14(a)および図14(b)に示すように、左手点P4および右手点P5の両手の骨格点の位置が、ステアリングホイールSTの位置を含む所定領域RBの領域外となる場合(図9に示すステップS52でYes)に、危険状態判定部13は、第2危険時間t2を増加させる(ステップS53)。
危険状態判定部13は、第2危険時間t2が第2判定時間T2以上の場合(ステップS55でYes)、第2危険フラグs2をONに設定する(ステップS56)。第2危険フラグs2は、例えばドライバが両手をステアリングホイールSTから離している状態を示すフラグである。すなわち第2危険フラグs2は、例えば「ドライバが運転に集中していない状態」を示すフラグである。これにより情報処理装置1は、車両のユーザの運転姿勢に関する危険状態が比較的高い危険度の状態であることを正確に判定できる。
<第2の実施の形態>
次に、第2の実施の形態について説明する。第2の実施の形態では、危険状態判定部13が行う危険状態の判定処理において、第1危険状態や第2危険状態とは異なる種類の第3危険状態を追加した場合の処理について説明する。
第2の実施の形態の情報処理装置1の構成および処理は、第1の実施の形態とほぼ同様であるが、第3危険状態に関する処理が追加されたことで、その処理内容が一部異なる。以下、図15〜図23を用いて相違点を中心に説明する。
<5.処理>
<5−1.危険状態の判定処理>
図15は、第2の実施の形態の危険状態の判定処理を説明する処理フローチャートである。危険状態判定部13は危険状態の判定処理において、第1危険状態の判定(ステップS31)と、第2危険状態の判定(ステップS32)とを行った後、第3危険状態の判定処理を行う(ステップS32a)
<5−2.第3危険状態の判定処理>
次に図16、図17(a)、および、図17(b)を用いて第3危険状態の有無の判定処理について詳細に説明する。図16は、第3危険状態の判定処理を説明する処理フローチャートである。
危険状態判定部13は、車両のドライバの運転姿勢に関する第3危険状態の有無を判定する(図16に示すステップS61)。危険状態判定部13は、ドライバの運転姿勢が第3危険状態である場合(ステップS62でYes)、第3危険時間t3を増加させる(ステップS63)。第3危険時間t3は、ドライバの運転姿勢が第3危険状態であると判定された場合に、積算される時間である。例えば危険状態判定部13は、第3危険状態であると判定した回数が1回の場合、第3危険時間t3を1秒増加させる。
図17(a)は、第3危険状態の具体例に関する骨格モデルの左側面を示す図である。図17(b)は、第3危険状態の具体例に関する骨格モデルの右側面を示す図である。第3危険状態は例えば、ドライバの左肘の角度θ1および右肘の角度θ2のいずれか一方の角度θが所定角度の範囲(θ=80°〜170°)外の状態である。すなわち第3危険状態は、例えばドライバの肘が曲り過ぎている場合や、伸び過ぎている場合の状態である。言い換えると、運転中のドライバの肘にゆとりがない状態である。
ここで、危険状態判定部13は、角度θを算出する。角度θの算出に関し、図17(a)に示すドライバの左肘の角度θ1の算出を例に説明する。
左肩点P2を点A、左肘点P6を点O、左手点P4を点Bとして、2つのベクトルa、ベクトルbの始点を点Oに重ねてベクトルOA=ベクトルaとし、ベクトルOB=ベクトルbとする。このとき∠AOB=θ1をベクトルaとベクトルbとのなす角とする。
ベクトルaは数2で算出される。ベクトルbは数3で算出される。
ここで、P2x、P2y、P2zは点Aに対応する左肩点P2のx座標、y座標、z座標の値であり、P6x、P6y、P6zは点Oに対応する左肘点P6のx座標、y座標、z座標の値である。そして、P4x、P4y、P4zは点Bに対応する左手点P4のx座標、y座標、z座標の値である。
危険状態判定部13は、ベクトルaおよびベクトルbの内積の算出式である数4を変形した数5により、θ1を算出する。
なお、危険状態判定部13は、図17(b)に示す右手点P5、右肘点P7、および、右肩点P3の座標の値を用いて、同様にドライバの右肘の角度θ2も算出できる。
危険状態判定部13は、ドライバの運転姿勢が第3危険状態ではない場合(図16に示すステップS62でNo)、第3危険時間t3と後述する第3危険フラグs3とを初期化する(ステップS67)。すなわち、危険状態判定部13は、第3危険時間t3の積算時間を0(ゼロ)に設定し、第3危険フラグs3をOFFに設定して、第3危険状態の判定処理を終了する。なお、第3危険状態ではない例は、左肘の角度θ1および右肘の角度θ2が所定角度の範囲内となる状態である。
危険状態判定部13は、第3危険時間t3の積算時間が第3判定時間T3以上か否かを判定する(図16に示すステップS64)。第3判定時間T3は、3番目に高い危険度の危険状態の有無を判定する時間である。なお、第3危険状態はこのように3番目に高い危険度を有する危険状態である。そして第3危険状態は、第1危険状態および第2危険状態よりも危険度は低いため、最も低い危険度を有する危険状態であるともいえる。
そして第3判定時間T3は、第2判定時間T2よりも危険状態の有無の判定時間が長い。第3判定時間T3は例えば、5秒である。すなわち、第2判定時間T2は、第3判定時間T3よりも短い。これにより情報処理装置1は、ドライバの運転姿勢に関する比較的高い危険度の危険状態が存在するか否かを早期に判定でき、最も低い危険度の危険状態が存在するか否かを正確に判定できる。
危険状態判定部13は、第3危険時間t3が第3判定時間T3以上の場合(ステップS65でYes)、第3危険フラグs3をONに設定する(ステップS66)。第3危険フラグs3は、例えば運転中のドライバの肘の角度が適切な角度か否かを示すフラグである。すなわち第3危険フラグs3は、例えば「ドライバの身体に負担がかかりやすい状態」か否かを示すフラグである。なお、危険状態判定部13は、第3危険時間t3が第3判定時間T3未満の場合(ステップS65でNo)、第3危険状態判定の処理を終了する。これにより情報処理装置1は、車両のユーザの運転姿勢に関する危険状態が最も低い危険度の状態であることを正確に判定できる。
図5の処理に戻り、危険状態判定部13は、複数種類の危険状態および正常状態のうちフラグがONに設定されているもののうち、1つの優先状態を選択する(ステップS19)。優先順位は高い順に、第1危険状態、第2危険状態、第3危険状態、および、正常状態である。
そして危険状態判定部13は、得点カウンタpcの値が優先状態に対応した制限値spと異なる値か否かを判定する(ステップS21)。例えば第3危険状態が優先状態として選択された場合、制限値spは「−10」となる。
そして第3危険状態が優先状態として選択された場合、1回の危険状態の判定処理で、得点カウンタpcに加算される点数wsは「−1」となる。つまり、得点カウンタpcの値が1点減算される。
危険状態判定部13は、例えば、第3危険状態を優先状態として選択した場合、得点カウンタpcの値が、第3危険状態に対応した制限値spの「−10」と異なる値か否かを判定する(ステップS20)。得点カウンタpcの値がこの制限値spと異なる値の場合(ステップS21でYes)、危険状態判定部13は得点カウンタpcに第3危険状態に対応した点数wsの「−1」を加算する(ステップS22)。なお、危険状態判定部13は、得点カウンタpcが第3危険状態に対応した制限値spと同じ値の場合(ステップS21でNo)、得点カウンタpcの値を増減させることなく保持する(ステップS23)。
出力制御部14は、危険状態判定部13から優先状態と得点カウンタpcとに関する情報を取得し、これらの情報に基づき、通知情報を選択する(ステップS24)。そして出力制御部14は、選択した通知情報を画像出力装置3や音響出力装置4に出力する。
ここで、図18を用いて画像に関する通知情報の具体例について説明する。図18は、第2の実施の形態の画像出力装置3に出力される画像情報に関する画像の例を示す図である。図18の画像情報は、優先状態が第3危険状態の場合の画像情報である。出力制御部14は、得点カウンタpcの値に応じた第1画像31を選択する。また出力制御部14は、優先状態に応じた第2画像32を選択する。
出力制御部14は、これらの画像に関する画像情報を画像出力装置3に出力する(ステップS25)。画像出力装置3は、受信した画像情報に基づき、例えば図18に示す全体画像30を出力する。全体画像30は、第1画像31と第2画像32とを含む画像である。図18では、第1画像31の表示形態が変更することなく、第2画像32の表示形態が変化することについて、全体画像30cと全体画像30dとを用いて説明する
出力制御部14は、ドライバの運転姿勢が第3危険状態の場合で、第3危険状態の運転姿勢が継続しているとき、全体画像30cおよび全体画像30dのそれぞれで同一の第1画像31aに関する画像情報を画像出力装置3に出力する。その結果、画像出力装置3は、全体画像30cおよび30dでは同一の画像である第1画像31aを出力する。
危険状態が第3危険状態の場合、得点カウンタpcの値の制限値spが「−10」となる。そのため、その危険状態の運転姿勢が継続していても、得点カウンタpcの値は「−10」を下回ることはない。そのため、第1画像31の表示形態は、得点カウンタpcの値が「−10」〜「+19」の場合に出力される第1画像31aとなる。このように情報処理装置1は、ドライバの運転姿勢が最も危険度の低い危険状態の場合、第1画像31の表示形態が変化する回数を少なくし、ドライバに対する通知の頻度を低下させる。すなわち、情報処理装置1は最も危険度が低い危険状態の場合は、ドライバに対する警告の度合を下げる。
全体画像30cの第2画像32cは、危険状態判定部13が判定した最も低い危険度の危険状態(例えば、第3危険状態)に対応する改善前のドライバの運転姿勢に関する画像である。なお画像出力装置3は、第2画像32cの次に全体画像30dの第2画像32dを出力する。第2画像32dは、第2画像32cと同一の危険状態(例えば、第3危険状態)に対応する画像であり、当該危険状態の改善後のドライバの運転姿勢に関する画像である。このように情報処理装置1は、他の比較的高い危険度の危険状態が存在しない場合は、最も低い危険度の危険状態に対応する改善前と改善後との両方の画像情報を画像出力装置3に出力することで、車両のドライバは危険状態の改善を早期に実行できる。
また、出力制御部14は、危険状態が最も低い危険度の場合は、音響情報を音響出力装置4に出力しない。出力制御部14は、ドライバの運転状態の危険度が比較的高い場合にのみ音響情報を音響出力装置4に出力し、最も低い危険度のときは音響情報を音響出力装置4に出力しない。これにより情報処理装置1は、最も低い危険度であるにもかかわらず、頻繁な通知を行うことを回避でき、車両のドライバに対して快適な運転状態を提供できる。
<6.他の第3危険状態の判定>
次に上述の第3危険状態の例とは別の第3危険状態の例について説明する。図19(a)および図19(b)は、第3危険状態の別の具体例を示す図である。危険状態判定部13は、頭部点P1の位置がダッシュボードDBの位置を示す一点鎖線ULよりも高さ方向(z軸方向)において下の位置となった場合(図16に示すステップS62でYes)に、第3危険時間t3を増加させる(ステップS63)。
危険状態判定部13は、第3危険時間t3が第3判定時間T3以上の場合(ステップS65でYes)、第3危険フラグs3をONに設定する(ステップS66)。第3危険フラグs3は、ドライバの前方の視界確保が困難な状態を示すフラグである。すなわち第3危険フラグs3は、例えば「ドライバの身体に負担がかかりやすい状態」を示すフラグである。これにより情報処理装置1は、車両のユーザの運転姿勢に関する危険状態が最も低い危険度の状態であることを正確に判定できる。
また、上述の第3危険状態の例とはさらに別の第3危険状態の例について説明する。図20は、第3危険状態のさらに別の具体例を示す図である。危険状態判定部13は、頭部点P1の位置が、ヘッドレスト幅W2の範囲外の状態の場合(図16に示すステップS62でYes)に、第3危険時間t3を増加させる(ステップS63)。ヘッドレスト幅W2は、例えばヘッドレストHRの右端(+x方向)の一点鎖線RLaで示す位置から、左端(−x方向)の一点鎖線LLaで示す位置までの左右方向(x軸方向)の範囲に相当する。
危険状態判定部13は、第3危険時間t3が第3判定時間T3以上の場合(ステップS65でYes)、第3危険フラグs3をONに設定する(ステップS66)。第3危険フラグs3は、例えばドライバの頭部の位置が左右方向(x軸方向)にずれている状態を示すフラグである。すなわち第3危険フラグs3は、例えば「ドライバの身体に負担がかかりやすい状態」を示すフラグである。これにより情報処理装置1は、車両のユーザの運転姿勢に関する危険状態が最も低い危険度の状態であることを正確に判定できる。
また、上述の第3危険状態の例とはさらに別の第3危険状態の例について説明する。図21は、第3危険状態のさらに別の具体例を示す図である。危険状態判定部13は、左手点P4および右手点P5の少なくともいずれかの骨格点の位置が、ステアリングホイールSTの位置を含む所定領域RBの領域外となる場合(図16に示すステップS62でYes)に、第3危険時間t3を増加させる(ステップS63)。
危険状態判定部13は、第3危険時間t3が第3判定時間T3以上の場合(ステップS65でYes)、第3危険フラグs3をONに設定する(ステップS66)。第3危険フラグs3は、例えばドライバが片手運手を行っている状態を示すフラグである。すなわち第3危険フラグs3は、例えば「ドライバの身体に負担がかかりやすい状態」を示すフラグである。これにより情報処理装置1は、車両のユーザの運転姿勢に関する危険状態が最も低い危険度の状態であることを正確に判定できる。
ここで、図22および図23を用いて画像に関する通知情報の具体例について説明する。図22および図23は、画像出力装置3に出力される画像情報に関する画像の例を示す図である。そのうち図22の画像情報は、優先状態が第3危険状態の場合の画像情報である。
出力制御部14は、得点カウンタpcの値に応じた第1画像31を選択する。また出力制御部14は、優先状態に応じた第2画像32を選択する。
出力制御部14は、これらの画像に関する画像情報を画像出力装置3に出力する(図5に示すステップS25)。画像出力装置3は、受信した画像情報に基づき、例えば図22の全体画像30を出力する。
出力制御部14は、ドライバの運転姿勢が第3危険状態の場合で、第3危険状態の運転姿勢が継続しているとき、全体画像30eおよび全体画像30fの第1画像31は、同一の第1画像31aに関する画像情報を画像出力装置3に出力する。その結果、画像出力装置3は、全体画像30eおよび30fにおいて、同一の画像である第1画像31aを出力する。
このように情報処理装置1は、ドライバの運転姿勢の危険状態が最も低い危険度の状態の場合、第1画像31の表示形態の変化を少なくし、通知の頻度を低下させる。すなわち、情報処理装置1は最も低い危険度の場合は、ドライバに対する警告の度合を下げる。
全体画像30eの第2画像32eは、危険状態判定部13が判定した最も低い危険度の危険状態(例えば、第3危険状態)に対応する改善前のドライバの運転姿勢に関する画像である。なお画像出力装置3は、第2画像32eの次に全体画像30fの第2画像32fを出力する。第2画像32eは第2画像32fと同一の危険状態(例えば、第3危険状態)に対応する画像であり、当該危険状態の改善後のドライバの運転姿勢に関する画像である。このように情報処理装置1は、他の比較的高い危険度の危険状態が存在しない場合は、最も低い危険度の危険状態に対応する改善前と改善後との両方の画像情報を画像出力装置3に出力することで、車両のドライバは危険状態の改善を早期に実行できる。
次に、ドライバの運転姿勢に関する危険状態が改善された場合の画像について、図23に示す画像の例を用いて説明する。図23は、危険状態の改善後の画像の例である。出力制御部14は、ドライバの運転姿勢に関する危険状態が改善された場合、第1画像31cと第2画像32gとに関する画像情報を画像出力装置3に出力する。画像出力装置3は全体画像30gに含まれる第1画像31cと第2画像32gとを出力する。第1画像31cは、得点カウンタpcの値が、例えば「+50」〜「+60」の場合に出力される画像である。危険状態判定部13は、ドライバの運転姿勢がいずれの危険状態にも該当しない場合に、得点カウンタpcの値に点数wsを「+1」加算する。
出力制御部14は、危険状態が存在しない状態である正常状態が継続して、得点カウンタpcの値が「+50」以上となった場合、第1画像31cを選択してこの画像に関する画像情報を画像出力装置3に出力する。なお出力制御部14は、得点カウンタpcの値が継続的に増加し「+50」になるまでの間は、第1画像31cに関する画像情報を出力する前に、別の表示形態の第1画像31に関する画像情報を画像出力装置3に出力するようにしてもよい。そして出力制御部14は、得点カウンタpcの値が「+50」となった後に、第1画像31cに関する画像情報を出力するようにしてもよい。これにより、画像出力装置3は、得点カウンタpcの値が増加することに伴い、複数の表示形態の第1画像31を出力できる。これにより情報処理装置1は、ドライバに対して運転姿勢が改善されている過程を認識させることができ、ドライバの運転姿勢の改善意欲を向上させられる。
なお、ドライバの運転姿勢は改善されている状態なので、第2画像32gは、改善されていることを示す画像となる。このように情報処理装置1は、ドライバの運転姿勢が正常状態であると判定した場合、ドライバを褒める画像情報等の通知情報を出力することで、ドライバの快適な運転状態を提供できる。
<変形例>
以上、本発明の実施の形態について説明してきたが、この発明は上記実施の形態に限定されるものではなく様々な変形が可能である。以下では、このような変形例について説明する。上記実施の形態及び以下で説明する形態を含む全ての形態は、適宜に組み合わせ可能である。
上記実施の形態では、危険状態判定部13は、第1危険状態、第2危険状態、正常状態判定というように危険度の高い順に全ての危険状態に対する判定を行った後、優先状態を選択することについて説明した。これに対して、全ての危険状態の判定を並列的に処理してもよい。危険状態判定部13は、複数の危険状態の判定を略同時に行うことで判定を早期に行える。また、危険状態判定部13は、危険度の高い順に危険状態の有無の判定を行い、1つの危険フラグがONに設定された場合に、残りの危険度の低い危険状態の有無の判定は行わずに、フラグがONに設定された危険状態を優先状態として選択するようにしてもよい。危険状態判定部13は、判定を早期に行えるとともに処理負荷を軽減できる。
また上記実施の形態では、危険状態判定部13が存在すると判定した危険状態が複数存在する場合、出力制御部14が、最も高い危険度の危険状態に対応する通知情報を通知装置に出力することについて説明した。これに対して、出力制御部14は最も高い危険度の危険状態が改善され、複数存在する危険状態のうち最も高い危険度の危険状態が既に存在しないと判定された場合は、次に高い危険度の危険状態、すなわち残りの危険状態のうち最も高い危険度の危険状態に対応する通知情報を通知装置に出力するようにしてもよい。これにより情報処理装置1は、車両のドライバに運転姿勢が改善されている状況をリアルタイムに通知できる。
また上記実施の形態では、危険状態判定部13は、ドライバの運転姿勢に関する第1危険状態の有無の判定方法として、基準点PBの位置がシート幅W1の範囲内か否かを判定する例を説明した。これに対して危険状態判定部13は、シート幅W1に基づく範囲以外の判定条件により判定してもよい。危険状態判定部13は、例えば基準点PBの位置がヘッドレストHRのヘッドレスト幅W2の範囲内か否かを判定条件として、第1危険状態の有無を判定してもよい。
また上記実施の形態では、第1危険状態の判定に用いられる第1危険時間t1、および、第1危険フラグs1は、同一の危険度でドライバの姿勢が異なる場合でも同一のパラメータを用いるとして説明した。具体的には、ドライバの身体がドライバシートSEに対して左右いずれかの方向に倒れている状態か否かを判定する場合と、ドライバの頭部が前方に大きく傾いている状態を判定する場合とは、同一のパラメータを用いるとして説明した。これに対して、同一の危険度で危険状態の種類が異なる場合、異なるパラメータを用いてもよい。例えば、各種の危険状態の判定において、第1危険時間をt1aおよびt1bとし、第1危険フラグをs1aおよびs1bとしてもよい。なお、第2危険状態、および、第3危険状態についても第1危険状態と同様に同一のパラメータを用いてもよいし、異なるパラメータを用いてもよい。
また上記実施の形態では、第1画像31の表示形態の変化について3つを例に示したが、第1画像の表示形態の変化は、3つ以外の数であってもよく、例えば6つでもよい。
また上記実施の形態では、出力制御部14は、第1画像31および第2画像32の2種類の画像を選択し、画像出力装置3が全体画像30にこれら2種類の画像を出力することについて説明した。これに対して、出力制御部14は全体画像30に含まれる画像を第1画像31および第2画像32と、それ以外の画像とを選択してもよい。例えば、出力制御部14は、第1画像31に関する得点カウンタpcの値を選択することで、画像出力装置3は、この得点カウンタpcの値の画像として出力してもよい。
また上記実施の形態では、ACC−ON信号を受信した場合に、図4および図5に示した処理を繰り返し実行することについて説明した。これに対して、情報処理装置1は、車両に設けられた車速センサから取得した車速が所定速度(例えば、10km/h)以上の場合で、かつ、車両のパーキングブレーキがOFF(オフ)の場合にのみこの処理を実行するようにしてもよい。ACC−ONの状態であっても、車両が駐車場で停車している場合は、ドライバは車両を走行させていない可能性が高い。このような状態で危険状態に応じた通知を行うとドライバの車室内での快適性を損なうおそれがある。そのため情報処理装置1は、ドライバが車両を運転していない可能性が高い場合は、ACC−ONの状態であっても一時的に危険状態の判定等の処理を中止させてもよい。
また上記実施の形態では、車両(自動車)のドライバの運転姿勢に関する危険状態の判定について説明した。これに対して危険状態の判定は、車両以外の船舶や飛行機等、人間が運転する機器であれば、どのような機器に対しても実行可能である。
また上記実施の形態では、図1に示した情報処理装置1の対象物検知部11がドライバの存在の有無の検知し、情報処理装置1の骨格部位検出部12が人体の骨格点の検出を行うことについて説明した。これに対して、対象物検知部11と骨格部位検出部12が行う処理は、情報処理装置1以外の他の装置が行うようにしてもよい。そして他の装置により行われたドライバの存在の有無の検知や、人体の骨格点の検出の処理に関する情報を情報処理装置1が取得し、情報処理装置1の危険状態判定部13が、危険状態の存在の有無を判定するようにしてもよい。
また上記実施の形態では、危険状態判定部13は、第1危険状態および第2危険状態の2種類の危険状態や、第1危険状態、第2危険状態、および、第3危険状態の3種類の危険状態に基づき、危険状態の有無を判定することについて説明した。危険状態判定部13は、これらの危険状態以外にも第4危険状態等、4種類以上の危険状態に基づき危険状態の有無を判定してもよい。
また、上記実施の形態では、プログラムに従ったCPUの演算処理によってソフトウェア的に各種の機能が実現されると説明したが、これら機能のうちの一部は電気的なハードウェア回路により実現されてもよい。また逆に、ハードウェア回路によって実現されるとした機能のうちの一部は、ソフトウェア的に実現されてもよい。