(第1実施形態)
以下に本発明の第1実施形態を図面とともに説明する。
図1は本発明が適用された操作支援システム1の全体構成を示すブロック図である。
操作支援システム1は、車両に搭載されており、図1に示すように、車両の運転席及びその周辺を連続して撮影するカメラ2と、車両室内に設定された複数の操作対象が操作されたか否かを検出する複数のセンサ(近接センサ、タッチセンサ、スイッチなど)からなるセンサ群3と、カメラ2による撮影画像とセンサ群3による検出結果とに基づいて運転者の操作を推定する操作推定装置4と、操作推定装置4の推定結果を用いて各種制御を行う車載装置群5とを備えている。
なお本実施形態において、車両室内に設定された複数の操作対象は、図2(a)に示すように、ナビゲーション装置11、エアコン12、ステアリング13、シフトレバー14、コンソールボックス15、グローブボックス16、及びバックミラー17である。
これらのうちカメラ2は、車両室内におけるバックミラー17上部の領域17aにおいて、少なくとも車両の運転者、及び車両室内において運転者が操作しうる操作対象全てを撮影できる位置に取り付けられている。そしてカメラ2は、撮影した画像(図2(b)を参照)を随時、操作推定装置4へ出力する。
またセンサ群3は、図1に示すように、ナビゲーション装置11が操作されたか否かを検出するナビゲーション装置センサ31と、エアコン12が操作されたか否かを検出するエアコンセンサ32と、ステアリング13が操作されたか否かを検出するステアリングセンサ33と、シフトレバー14が操作されたか否かを検出するシフトレバーセンサ34と、コンソールボックス15が操作されたか否かを検出するコンソールボックスセンサ35とから構成される。そして各センサ31〜35は、その検出結果を示す情報を、センサから操作推定装置4へと至る通信路(例えば車両内ネットワーク)を介して操作推定装置4へ送信する。なおセンサ群3は、車載機器の操作を検知するために付加された近接センサ、タッチセンサ、スイッチ等のセンサだけでなく、ナビゲーション装置11のタッチパネルやエアコン12の設定ボタンのように車載機器に組み込まれているセンサでもよい。
また操作推定装置4は、CPU41,ROM42,RAM43,I/O(不図示)及びこれらの構成を接続するバスライン(不図示)などからなる周知のマイクロコンピュータを中心に構成されており、ROM42及びRAM43に記憶されたプログラムに基づいて各種処理を実行する。
また車載装置群5は、操作推定装置4の推定結果に基づいて車両制御のタイミングや強弱を調整するACC(Adaptive Cruise Control)装置51、ブレーキ装置52、及び変速装置53と、操作推定装置4の推定結果に基づいて振動などで運転者に刺激を与えるシートベルト装置54及びステアリング装置55と、操作推定装置4の推定結果に基づいて走行中の運転者からの利用を制限するナビゲーション装置11などから構成される。
このように構成された操作支援システム1において、操作推定装置4は、後述の人体特徴点特定処理、操作推定処理、操作状態監視処理、及び推定モデル選択処理をそれぞれ独立に実行する。
まず、操作推定装置4が実行する人体特徴点特定処理の手順を図3を用いて説明する。図3は人体特徴点特定処理を示すフローチャートである。この人体特徴点特定処理は、操作推定装置4が起動(電源オン)している間に繰り返し実行される処理である。
この人体特徴点特定処理が実行されると、操作推定装置4は、まずS10にて、カメラ2から入力される画像を取得する。ここでは、例えば、図4(a)〜(g)に示すように、運転者が各操作対象を操作している様子を示す画像が取得される。
そしてS20にて、S10で取得された画像に基づいて、この画像中の運転者における1以上の人体特徴点を特定する。
ここでは、カメラ2から入力される画像中の運転者に対応する領域に、人体を模擬的に表現してなる身体モデルを、その運転者の姿勢に合わせて重ね合わせ、その画像中から、身体モデルにおける基準となる座標それぞれを、その画像中の運転者における人体特徴点として特定する。ここで、「身体モデルにおける基準となる座標」とは、図5のd1〜d6に示すように、例えば、両肩、両肘、及び両手首などの中心位置の座標である。以降、1つの画像から特定される1以上の人体特徴点を単に「人体特徴点」という。なお、このような身体モデルの重ね合わせについては、特開2003−109015号に記載された技術を利用するとよい。
さらにS30にて、S20にて特定された人体特徴点を、操作推定装置4のRAM43に設けられた人体特徴点リスト43aに登録する。そして、人体特徴点特定処理を一旦終了する。
この人体特徴点リスト43aは、所定数N(Nは整数)の人体特徴点が先入れ先出し方式で登録されるリストである。つまり、この人体特徴点リスト43aは、人体特徴点特定処理が一定回数繰り返された以降、人体特徴点として常に最新のものから所定数Nだけ前までのものが登録された状態となる。なお、この人体特徴点リスト43aには、運転者が特定の姿勢をとっている場合における人体特徴点として想定される人体特徴点を、初期値として登録しておくようにしてもよい。
次に、操作推定装置4が実行する操作推定処理の手順を、図6を用いて説明する。図6は操作推定処理を示すフローチャートである。この操作推定処理は、操作推定装置4が起動(電源オン)している間に繰り返し実行される処理である。
この操作推定処理が実行されると、操作推定装置4は、まずS110にて、人体特徴点リスト43aに登録されている全ての人体特徴点を読み出す。その後S120にて、読み出した人体特徴点それぞれに基づいて運転者の姿勢軌跡を特定する。具体的には、S110にて読み出された各人体特徴点を、主成分分析により表現される固有空間に投影し、こうして投影した固有空間上での座標の軌跡を運転者による実際の姿勢軌跡(以降、実姿勢軌跡という)として特定する。
またS130にて、後述の推定モデル選択処理で選択された遷移推定モデルを取得する。なお遷移推定モデルは、或る操作対象を操作していた状態から別の操作対象の操作へと移行する操作内容を実施している運転者が辿ると推定される姿勢軌跡(以降、推定姿勢軌跡という)をモデル化したものである。姿勢軌跡としては例えば、ステアリング13を握っている姿勢から、ナビゲーション装置11を操作しようとしてナビゲーション装置11に指が接触する姿勢までの軌跡が挙げられる。また遷移推定モデルは、それぞれの操作内容に対応するものが操作推定装置4のRAM43に記憶される。
そしてS140にて、S120にて特定された実姿勢軌跡における座標p01〜p0n(n≧1)毎に、その座標と、S130にて取得された各遷移推定モデル1〜x(x>1)にて示される推定姿勢軌跡における座標p11〜p1m,p21〜p2m,…,px1〜pxm(m≧1)それぞれとの角度θを算出する。なお、「座標p01〜p0n」及び「座標p11〜p1m,p21〜p2m,…,px1〜pxm」は、上記の固有空間上の座標である。
これにより、実姿勢軌跡における座標それぞれに対応する複数の角度群(p01[θ11〜θxm],p02[θ11〜θxm],…,p0n[θ11〜θxm])が算出される。なお、上記の角度θは、両座標をP1,P2として、式(1)に基づいて算出されるものである。
cosθ=P1・P2/(|P1|・|P2|) ・・・(1)
ここで、式(1)中の「P1・P2」は、座標P1と座標P2の内積値である。
次にS150にて、S140にて算出された座標毎の角度群それぞれについて、その角度群の中で最も小さい角度と、この最小角度に対応する遷移推定モデルとを特定する。
その後S160にて、S150にて特定された最小角度の全てが、予め設定された推定判定値(本実施形態では、例えば20度)未満であるか否かを判断する。ここで、特定された最小角度の全てが推定判定値未満である場合には(S160:YES)、S170にて、S150にて特定された遷移推定モデルが全て同一であるか否かを判断する。
ここで、特定された遷移推定モデルが全て同一である場合には(S170:YES)、S180にて、S150にて特定された遷移推定モデルに対応する操作内容を運転者が行っていると推定し、操作推定処理を一旦終了する。
一方、S150にて特定された遷移推定モデルが全て同一ではない場合には(S170:NO)、S190に移行する。
またS160にて、特定された最小角度のなかで推定判定値以上となるものがある場合には(S160:NO)、S190に移行する。
そしてS190に移行すると、運転者の操作内容に該当する遷移推定モデルがない、つまり、遷移推定モデルに対応する操作を運転者が行っていないと推定し、操作推定処理を一旦終了する。
次に、操作推定装置4が実行する操作状態監視処理の手順を、図7を用いて説明する。図7は操作状態監視処理を示すフローチャートである。この操作状態監視処理は、操作推定装置4が起動(電源オン)している間に繰り返し実行される処理である。
この操作状態監視処理が実行されると、操作推定装置4は、まずS310にて、車両室内に設定された複数の操作対象が操作されたか否かを示す情報(以下、操作検出情報という)をセンサ群3から取得する。
その後S320にて、取得した操作検出情報に基づいて、操作推定装置4のRAM43に設けられた操作状態リスト43bの内容を書き換え、操作状態監視処理を一旦終了する。
この操作状態リスト43bは、図8に示すように、ナビゲーション装置11、エアコン12、ステアリング13、シフトレバー14、及びコンソールボックス15のそれぞれが操作されている最中であるか否かを記録する操作記憶領域LA1〜LA5と、運転者が操作している最中または直前に操作していた操作対象を示す情報を記憶する操作対象記憶領域LBとから構成される。なお、操作記憶領域LA1〜LA5をまとめて操作記憶領域LAという。
そしてS320では、取得した操作検出情報に基づいて、操作記憶領域LA1〜LA5の中から、運転者が操作している最中である操作対象に対応する操作記憶領域LAに、「オン」を示す情報を書き込む一方、運転者が操作していない操作対象に対応する操作記憶領域LAに、「オフ」を示す情報を書き込む。
なお図8に示す操作状態リスト43bでは、操作記憶領域LA1に「オン」が書き込まれ、操作記憶領域LA2〜LA5に「オフ」が書き込まれている。すなわち、図8に示す操作状態リスト43bは、運転者がナビゲーション装置11を操作中であるとともにエアコン12、ステアリング13、シフトレバー14、及びコンソールボックス15を操作していないことを示している。
さらにS320では、或る操作記憶領域LAにおいて「オン」が書き込まれると、「オン」が書き込まれた時点で、「オン」が書き込まれた操作記憶領域LAに対応した操作対象を示す情報を操作対象記憶領域LBに書き込む。以下、操作対象記憶領域LBに書き込まれている情報を操作対象記憶情報という。
なお図8に示す操作状態リスト43bでは、操作記憶領域LA1に「オン」が書き込まれているので、ナビゲーション装置11であることを示す情報が操作対象記憶領域LBに書き込まれている。
またS320において、運転者が操作している最中である操作対象がない場合には、操作記憶領域LA1〜5には全て「オフ」が書き込まれ、操作記憶領域LBには直前の操作対象が保持される。
次に、操作推定装置4が実行する推定モデル選択処理の手順を、図9を用いて説明する。図9は推定モデル選択処理を示すフローチャートである。この推定モデル選択処理は、操作推定装置4が起動(電源オン)している間に繰り返し実行される処理である。
この推定モデル選択処理が実行されると、操作推定装置4は、まずS410にて、操作状態リスト43bの操作記憶領域LA1〜LA5の中で、「オン」から「オフ」に変更にされたものがあるか否かを判断する。
ここで、「オン」から「オフ」に変更された操作記憶領域LAがある場合には(S410:YES)、S420にて、操作推定装置4のRAM43に設けられた操作継続判定タイマTM1のインクリメントを開始し、S430に移行する。
なお操作継続判定タイマTM1は、例えば1msごとにインクリメントするタイマであり、インクリメントが開始されると、その値が0からインクリメントする。また操作継続判定タイマTM1は、ある時点でインクリメントが中止されると、その時点でその値が0となるように設定されている。
一方S410にて、「オン」から「オフ」に変更された操作記憶領域LAがない場合には(S410:NO)、S430に移行する。
そしてS430に移行すると、操作状態リスト43bの操作記憶領域LA1〜LA5の中で、「オフ」から「オン」に変更にされたものがあるか否かを判断する。ここで、「オフ」から「オン」に変更された操作記憶領域LAがある場合には(S430:YES)、S440にて、操作継続判定タイマTM1のインクリメントを中止させ、S450に移行する。これにより、操作継続判定タイマTM1がインクリメントを中止するとともに、その値が0になる。
一方S430にて、「オフ」から「オン」に変更された操作記憶領域LAがない場合には(S430:NO)、S450に移行する。
そしてS450に移行すると、操作継続判定タイマTM1の値(以下、操作継続判定タイマ値という)が予め設定された操作継続判定値JT(本実施形態では例えば5sに相当する値)以上であるか否かを判断する。
ここで、操作継続判定タイマ値が操作継続判定値JT以上である場合には(S450:YES)、S460にて、操作状態リスト43bの操作対象記憶領域LBに書き込まれている操作対象記憶情報を消去し、S470に移行する。
一方、操作継続判定タイマ値が操作継続判定値JT未満である場合には(S450:NO)、S470にて、操作状態リスト43bの操作対象記憶領域LBに操作対象記憶情報が書き込まれているか否かを判断する。ここで、操作対象記憶情報が書き込まれている場合には(S470:YES)、S480にて、操作対象記憶情報に応じた操作対象を起点とした遷移推定モデル(以下、通常時推定モデルともいう)を選択する。
詳細には、操作対象記憶領域LBに書き込まれている操作対象記憶情報が、ナビゲーション装置11、エアコン12、ステアリング13、シフトレバー14、及びコンソールボックス15である場合にはそれぞれ、ナビゲーション装置11、エアコン12、ステアリング13、シフトレバー14、及びコンソールボックス15を起点とした遷移推定モデルを選択する(図10の列R1,R2,R3,R4,R5を参照)。そして、遷移推定モデルの選択が終了すると、推定モデル選択処理を一旦終了する。
一方S470にて、操作対象記憶情報が書き込まれていない場合には(S470:NO)、S490にて、操作されたか否かをセンサ群3が検出することができない操作対象を起点とした遷移推定モデル(以下、例外時推定モデルともいう)を選択する。詳細には、本実施形態では、車両室内に設定された操作対象(ナビゲーション装置11、エアコン12、ステアリング13、シフトレバー14、コンソールボックス15、グローブボックス16、バックミラー17)のうち、センサ群3が操作を検出することができないものはグローブボックス16及びバックミラー17である。したがって、グローブボックス16及びバックミラー17を起点とした遷移推定モデルを選択する(図10の列R6を参照)。そして、遷移推定モデルの選択が終了すると、推定モデル選択処理を一旦終了する。
このように構成された操作支援システム1において、遷移推定モデルを選択する手順を図11,12を用いて説明する。
図11は、ステアリング13を操作している状態からナビゲーション装置11を操作する状態へ遷移する場合の遷移推定モデルを選択する手順を説明するためのタイムチャートである。また図12は、ステアリング13を操作している状態から、センサ群3が検出することができない操作対象を操作する状態へ遷移する場合の遷移推定モデルを選択する手順を説明するためのタイムチャートである。
まず図11に示すように、運転者がステアリング13を操作しているときには(指示C01を参照)、操作状態リスト43bの操作記憶領域LA3(ステアリング)は「オン」であり(指示C02を参照)、操作記憶領域LA1(ナビゲーション装置)は「オフ」であり(指示C03を参照)、操作対象記憶領域LBの操作対象記憶情報は「ステアリング」である(指示C04を参照)。このため、ステアリング13を起点とした遷移推定モデルが選択される(指示C05を参照)。なお、このときの操作継続判定タイマ値は0である(指示C06を参照)。
そして、運転者がステアリング13から手を離し(時刻t1を参照)、ステアリング13を操作している状態から、ナビゲーション装置11を操作する状態へ遷移する途中では(指示C11を参照)、操作状態リスト43bの操作記憶領域LA3(ステアリング)は「オフ」であり(指示C12を参照)、操作記憶領域LA1(ナビゲーション装置)は「オフ」であり(指示C13を参照)、操作対象記憶領域LBの操作対象記憶情報は「ステアリング」である(指示C14を参照)。このため、ステアリング13を起点とした遷移推定モデルが選択される(指示C15を参照)。なお、運転者がステアリング13から手を離した時点(時刻t1)で、操作継続判定タイマTM1がインクリメントを開始し、時間の経過とともに操作継続判定タイマ値が増加する(指示C16を参照)。
そして、運転者がステアリング13から手を離してから、操作継続判定値JTに相当する時間が経過する前に(時刻t2を参照)、運転者がナビゲーション装置11を操作する状態となると(指示C21を参照)、操作状態リスト43bの操作記憶領域LA3(ステアリング)は「オフ」であり(指示C22を参照)、操作記憶領域LA1(ナビゲーション装置)は「オン」になり(指示C23を参照)、操作対象記憶領域LBの操作対象記憶情報は「ナビゲーション装置」になる(指示C24を参照)。このため、ナビゲーション装置11を起点とした遷移推定モデルが選択される(指示C25を参照)。なお、運転者がナビゲーション装置11を操作する状態になった時点(時刻t2)で、操作継続判定タイマTM1がインクリメントを中止し、操作継続判定タイマ値が0になる(指示C26を参照)。
次に図12に示すように、運転者がステアリング13を操作しているときには(指示C31を参照)、操作状態リスト43bの操作記憶領域LA3(ステアリング)は「オン」であり(指示C32を参照)、操作記憶領域LA1,2,4,5は「オフ」であり(指示C33〜C36を参照)、操作対象記憶領域LBの操作対象記憶情報は「ステアリング」である(指示C37を参照)。このため、ステアリング13を起点とした遷移推定モデルが選択される(指示C38を参照)。なお、このときの操作継続判定タイマ値は0である(指示C39を参照)。
そして、運転者がステアリング13から手を離し(時刻t11を参照)、ステアリング13を操作している状態から、センサ群3が検出することができない操作対象を操作する状態へ遷移する途中では(指示C41を参照)、操作状態リスト43bの操作記憶領域LA1〜5は「オフ」であり(指示C42〜C46を参照)、操作対象記憶領域LBの操作対象記憶情報は「ステアリング」である(指示C47を参照)。このため、ステアリング13を起点とした遷移推定モデルが選択される(指示C48を参照)。なお、運転者がステアリング13から手を離した時点(時刻t11)で、操作継続判定タイマTM1がインクリメントを開始し、時間の経過とともに操作継続判定タイマ値が増加する(指示C49を参照)。
そして、運転者がステアリング13から手を離してから、操作継続判定値JTに相当する時間が経過した時点で(時刻t12を参照)、センサ群3が操作対象を検出することができないため(指示C51を参照)、操作状態リスト43bの操作記憶領域LA1〜5は「オフ」であり(指示C52〜C56を参照)、操作対象記憶領域LBの操作対象記憶情報は「なし」になる(指示C57を参照)。このため、例外時推定モデルが選択される(指示C58を参照)。なお、操作継続判定値JTに相当する時間が経過しても(時刻t12)、操作継続判定タイマTM1はインクリメントを継続し、時間の経過とともに操作継続判定タイマ値が増加する(指示C59を参照)。
このように構成された操作支援システム1では、まず、複数の操作対象(すなわち、ナビゲーション装置11、エアコン12、ステアリング13、シフトレバー14、コンソールボックス15、グローブボックス16、バックミラー17)と操作対象を操作可能な位置に存在する運転者とを含む画像(以下、操作画像という)を繰り返し取得し(S10)、そして、取得された操作画像を用いて、運転者の姿勢を表す人体特徴点を特定する(S20)。また操作推定装置4のRAM43が、操作対象を操作する運転者が辿ると推定される姿勢軌跡(推定姿勢軌跡)をその操作内容毎にモデル化してなる複数の遷移推定モデルを記憶するとともに、センサ群3が、複数の操作対象の中から、運転者が操作している操作対象(以下、操作中操作対象という)を検出する。
そして、センサ群3による検出結果に基づいて、運転者が操作している又は運転者が直前に操作していた操作対象(以下、最終操作対象ともいう)を特定する(S320,S410〜S460)。
さらに、複数の遷移推定モデルの中から、特定された最終操作対象を起点とした推定姿勢軌跡をモデル化した遷移推定モデルを選択する(S480)。その後に、操作画像毎に特定された人体特徴点を用いて求められる運転者の姿勢軌跡(実姿勢軌跡)と、選択された遷移推定モデルとを照合し、この照合結果に基づいて、運転者の操作内容を推定する(S110〜S190)。
このように構成された操作支援システム1によれば、複数の遷移推定モデルの中から、最終操作対象を起点とした推定姿勢軌跡をモデル化した遷移推定モデルを選択し、この選択した遷移推定モデルと、実姿勢軌跡とを照合することにより運転者の操作内容を推定することができる。このため、記憶された遷移推定モデルの全てと実姿勢軌跡とを照合する場合と比較して、照合に用いられる遷移推定モデルの数を低減することができる。これにより、運転者の操作内容を推定する処理を行うための演算量を低減することができる。なお、この低減効果は、操作対象の数が多くなるほど大きい。
また、運転者が操作している又は運転者が直前に操作していた操作対象(最終操作対象)を特定し、この最終操作対象を起点とした推定姿勢軌跡をモデル化した遷移推定モデルを用いて照合を行うので、特定された最終操作対象以外を起点とした操作内容を運転者が実施していると推定することがない。すなわち、特定された操作対象を運転者が操作している状態を起点とした操作内容を運転者が実施する場合に、運転者が操作している操作対象以外を起点とした操作内容を運転者が実施していると推定することがない。このため、運転者の現時点の姿勢では行うことができない操作内容を、運転者の操作内容であると推定しまう可能性を低減することができる。つまり、誤推定の頻度を低減することができる。
また、最終操作対象を特定することができない場合には(S470:NO)、センサ群3の検出対象となっていない操作対象を起点とした推定姿勢軌跡をモデル化した遷移推定モデルを選択する(S490)。
これにより、複数の遷移推定モデルの中から、センサ群3の検出対象となっていない操作対象を起点とした推定姿勢軌跡をモデル化した遷移推定モデルを選択し、この選択した遷移推定モデルと、実姿勢軌跡とを照合することにより運転者の操作内容を推定することができる。このため、記憶された遷移推定モデルの全てと実姿勢軌跡とを照合する場合と比較して、照合に用いられる遷移推定モデルの数を低減することができる。これにより、運転者の操作内容を推定する処理を行うための演算量を低減することができる。
また、操作検出手段の検出対象となっている操作対象を起点とした推定姿勢軌跡をモデル化した遷移推定モデルが除外されているので、センサ群3の検出対象となっている操作対象を起点とした操作内容を運転者が実施していると推定することがない。すなわち、センサ群3の検出対象となっていない操作対象を運転者が操作している状態を起点とした操作内容を運転者が実施する場合に、センサ群3の検出対象となっている操作対象を起点とした操作内容を運転者が実施していると推定することがない。このため、運転者の現時点の姿勢では行うことができない操作内容を、運転者の操作内容であると推定しまう可能性を低減することができる。つまり、誤推定の頻度を低減することができる。
また、センサ群3の検出対象となっていない操作対象を運転者が操作していると特定するため、すなわち、最終操作対象を特定することができないとするために、運転者が操作している操作対象(以下、操作中操作対象ともいう)をセンサ群3が検出していない状態が操作継続判定値JTに相当する時間継続した場合に、最終操作対象を特定することができないとする(S450,S460)。
つまり、センサ群3が操作中操作対象を検出していない状態が操作継続判定値JTに相当する時間継続した場合には、センサ群3の検出対象となっていない操作対象を運転者が操作していると看做している。
これにより、センサ群3が操作中操作対象を検出していない状態が継続している時間を計測するという簡便な方法によって、センサ群3の検出対象となっていない操作対象を運転者が操作していると特定することができる。
以上説明した実施形態において、カメラ2及びS10の処理は本発明における画像取得手段、S20の処理は本発明における人体特徴点特定手段、RAM43は本発明における推定モデル記憶手段、センサ群3は本発明における操作検出手段、S320及びS410〜S460の処理は本発明における操作対象特定手段、S480及びS490の処理は本発明におけるモデル選択手段、S110〜S190の処理は本発明における操作推定手段、操作継続判定値JTに相当する時間は本発明における所定判定時間である。
(第2実施形態)
以下に本発明の第2実施形態を説明する。なお、第2実施形態では、第1実施形態と異なる部分のみを説明する。
第2実施形態の操作支援システム1は、推定モデル選択処理が変更された点以外は第1実施形態と同じである。
第2実施形態の推定モデル選択処理の手順を図13を用いて説明する。図13は第2実施形態の推定モデル選択処理を示すフローチャートである。
第2実施形態の推定モデル選択処理が実行されると、操作推定装置4は、まずS610にて、人体特徴点リスト43aに登録された人体特徴点の時間変化に基づいて、人体特徴点の移動速度VPを算出する。さらにS620にて、人体特徴点の移動速度VPが、予め設定された動作中判定値JV1以上であるか否かを判断する。すなわち、運転者が或る操作対象を操作していた状態から別の操作対象の操作へと移行する動作(以下、移行動作ともいう)を行っているか否かを判断する。
ここで、人体特徴点の移動速度VPが動作中判定値JV1未満である場合には(S620:NO)、移行動作を行っていないと判断し、S640に移行する。一方、人体特徴点の移動速度VPが動作中判定値JV1以上である場合には(S620:YES)、移行動作を行っていると判断し、S630にて、操作推定装置4のRAM43に設けられた動作中指示フラグF1をセットして、S640に移行する。
そしてS640に移行すると、動作中指示フラグF1がセットされているか否かを判断する。ここで、動作中指示フラグF1がクリアされている場合には(S640:NO)、S680に移行する。一方、動作中指示フラグF1がセットされている場合には(S640:YES)、S650にて、人体特徴点の移動速度VPが、動作中判定値JV1より小さく設定されている動作終了判定値JV2未満であるか否かを判断する。すなわち、上記の移行動作が終了したか否かを判断する。
ここで、人体特徴点の移動速度VPが動作終了判定値JV2以上である場合には(S650:NO)、移行動作中であると判断し、S680に移行する。一方、人体特徴点の移動速度VPが動作終了判定値未満である場合には(S650:YES)、移行動作が終了したと判断し、S660にて、動作中指示フラグF1をクリアするとともに、S670にて、操作状態リスト43bの操作対象記憶領域LBに書き込まれている操作対象記憶情報を消去して、S680に移行する。
そしてS680に移行すると、操作状態リスト43bの操作対象記憶領域LBに操作対象記憶情報が書き込まれているか否かを判断する。ここで、操作対象記憶情報が書き込まれている場合には(S680:YES)、S690にて、操作対象記憶情報に応じた操作対象を起点とした遷移推定モデル(通常時推定モデル)を選択し、推定モデル選択処理を一旦終了する。
一方、操作対象記憶情報が書き込まれていない場合には(S680:NO)、S700にて、操作されたか否かをセンサ群3が検出することができない操作対象を起点とした遷移推定モデル(例外時推定モデル)を選択し、推定モデル選択処理を一旦終了する。
なお、操作状態リスト43bの操作対象記憶領域LBに書き込まれている操作対象記憶情報は、操作状態監視処理により書き込みが行われ、推定モデル選択処理により消去される。このため、推定モデル選択処理のS680で操作対象記憶情報を参照する際に、操作状態監視処理を行い、最新の操作対象記憶情報を参照することとしてもよい。
このように構成された操作支援システム1において、遷移推定モデルを選択する手順を図14を用いて説明する。
図14は、ステアリング13を操作している状態から、センサ群3が検出することができない操作対象を操作する状態へ遷移する場合の遷移推定モデルを選択する手順を説明するためのタイムチャートである。
図14に示すように、運転者がステアリング13を操作しているときには(指示C61を参照)、操作状態リスト43bの操作記憶領域LA3(ステアリング)は「オン」であり(指示C62を参照)、操作記憶領域LA1,2,4,5は「オフ」であり(指示C63〜C66を参照)、操作対象記憶領域LBの操作対象記憶情報は「ステアリング」である(指示C67を参照)。このため、ステアリング13を起点とした遷移推定モデルが選択される(指示C68を参照)。なお、このときの人体特徴点移動速度VPは略0である(指示C69を参照)。
そして、運転者がステアリング13から手を離し(時刻t21を参照)、ステアリング13を操作している状態から、センサ群3が検出することができない操作対象を操作する状態へ遷移する途中では(指示C71を参照)、操作状態リスト43bの操作記憶領域LA1〜5は「オフ」であり(指示C72〜C76を参照)、操作対象記憶領域LBの操作対象記憶情報は「ステアリング」である(指示C77を参照)。このため、ステアリング13を起点とした遷移推定モデルが選択される(指示C78を参照)。なお、このときの人体特徴点移動速度VPは徐々に大きくなり、動作中判定値JV1を超える(時刻t22を参照)。
そして、センサ群3が検出することができない操作対象に運転者の手が到達すると(時刻t23を参照)、センサ群3が操作対象を検出することができないため(指示C81を参照)、操作状態リスト43bの操作記憶領域LA1〜5は「オフ」であり(指示C82〜C86を参照)、操作対象記憶領域LBの操作対象記憶情報は「ステアリング」である(指示C87を参照)。このため、ステアリング13を起点とした遷移推定モデルが選択される(指示C88を参照)。
なお、このときの人体特徴点移動速度VPは徐々に小さくなり、動作終了判定値JV2未満となる(時刻t24を参照)。これにより、操作対象記憶領域LBの操作対象記憶情報は「なし」になる(指示C97を参照)。このため、例外時推定モデルが選択される(指示C98を参照)。
このように構成された操作支援システム1では、操作画像毎に特定された人体特徴点の変化に基づいて、人体特徴点移動速度VPを算出するとともに(S610)、人体特徴点移動速度VPに基づいて、運転者が操作対象を操作しているか否かを判断し(S620〜S650)、運転者が操作対象を操作していると判断し(S640,S650:YES)、且つ、センサ群3が操作中操作対象を検出していない場合に(S680:NO)、最終操作対象を特定することができないとする。
このように構成された操作支援システム1によれば、運転者の実際の動作に基づいて、運転者が操作対象を操作しているか否かを判断できるので、第1実施形態に記載の手法と比較して、この判断の精度を向上させることができる。
例えば、第1実施形態に記載の手法では、操作継続判定値JTに相当する時間の長さによっては、運転者が或る操作対象から他の操作対象に触れようとして動作している最中に操作継続判定値JTに相当する時間が経過してしまうことが考えられる。したがって、操作継続判定値JTに相当する時間の長さによっては、運転者が他の操作対象に触れていないにもかかわらず、センサ群3の検出対象となっていない操作対象を運転者が操作していると判断してしまう頻度が多くなる。
一方、第2実施形態に記載の手法では、操作継続判定値JTに相当する時間の長さに関係なく、人体特徴点移動速度VPが小さくなったときに、運転者が他の操作対象に触れていると判断する。このため、運転者が或る操作対象から他の操作対象に触れようとして動作している最中に、センサ群3の検出対象となっていない操作対象を運転者が操作していると判断してしまう頻度が少なくなる。
以上説明した実施形態において、S610の処理は本発明における動作変化量算出手段、S620〜S650の処理は本発明における操作判断手段である。
以上、本発明の一実施例について説明したが、本発明は上記実施例に限定されるものではなく、本発明の技術的範囲に属する限り種々の形態を採ることができる。
例えば上記実施形態においては、センサ群3の検出結果に基づいて最終操作対象を特定するものを示した。しかし、取得された操作画像を用いて運転者の姿勢を推定し、この推定結果に基づいて最終操作対象を特定するようにしてもよい。これにより、上記の操作中操作対象を検出するための手段を省略することができる。
また、センサ群3の検出結果と、運転者の姿勢の上記推定結果との両方に基づいて最終操作対象を特定するようにしてもよい。
また、センサ群3の検出結果に基づいて、センサ群3の検出対象となっている最終操作対象を特定するとともに、運転者の姿勢の上記推定結果に基づいて、センサ群3の検出対象となっていない最終操作対象を特定するようにしてもよい。
また上記実施形態においては、操作継続判定値JTが1つであるものを示したが、操作対象毎に異なる操作継続判定値を設定するようにしてもよい。また、操作継続判定値JTは、複数の操作対象の平均値であってもよいし、中央値や、95%をカバーする上限値としてもよい。