(57)【要約】【課題】交差点において警告を出力するか否かの判定精度を向上させる。【解決手段】ナビゲーション装置１０は、位置検出部１１と視線検出部１２と記憶部１３と制御部１４とを有する。位置検出部１１は、現在位置を検出する。視線検出部１２は、撮像された画像に基づいてユーザ２ｅの視線の方向を検出する。記憶部１３は、道路２ａ，２ｂ，２ｃと建物２ｄとを含む交差点エリアを示す３次元モデル２を記憶する。制御部１４は、３次元モデル２を用いて、現在位置から視線の方向に向かって、道路２ａ，２ｂ，２ｃおよび建物２ｄのうち進入するよう推奨する道路が見えるか判定し、判定結果に基づいて警告を出力するか否か決定する。【選択図】図１
2015215197.tif 000002
【特許請求の範囲】
【請求項１】
現在位置を検出する位置検出部と、
撮像された画像に基づいてユーザの視線の方向を検出する視線検出部と、
複数の道路と建物とを含む交差点エリアを示す３次元モデルを記憶する記憶部と、
前記３次元モデルを用いて、前記現在位置から前記視線の方向に向かって、前記複数の道路および前記建物のうち進入するよう推奨する道路が見えるか判定し、判定結果に基づいて警告を出力するか否か決定する制御部と、
を有するナビゲーション装置。
【請求項２】
前記制御部は、前記推奨する道路と前記推奨する道路以外の進入可能な道路と前記建物とを区別して、前記視線の方向に向かって見えるオブジェクトを判定する、
請求項１記載のナビゲーション装置。
【請求項３】
前記制御部は、前記３次元モデルにおいて、前記現在位置と前記複数の道路上の２以上の点それぞれとを結ぶ線が前記建物を通過するか判断することで、前記現在位置から視認可能な道路上の領域を算出し、前記視線の方向に前記領域があるか判定する、
請求項１または２記載のナビゲーション装置。
【請求項４】
前記制御部は、前記現在位置と交差点との間の距離または所要時間に応じて異なる座標系を用いて、前記複数の道路上に前記２以上の点を設定する、
請求項３記載のナビゲーション装置。
【請求項５】
前記視線検出部は、前記撮像された画像に基づいて注視点までの長さを検出し、
前記制御部は、前記長さに基づいて、前記ユーザが前記視線の方向にある道路または建物を見ているか、当該道路または建物より手前の移動物を見ているか判定する、
請求項１乃至４の何れか一項に記載のナビゲーション装置。
【請求項６】
コンピュータが実行するナビゲーション方法であって、
現在位置を示す位置情報を取得し、また、撮像装置を用いて検出されたユーザの視線の方向を示す視線情報を取得し、
複数の道路と建物とを含む交差点エリアを示す３次元モデルを用いて、前記位置情報が示す前記現在位置から前記視線情報が示す前記視線の方向に向かって、前記複数の道路および前記建物のうち進入するよう推奨する道路が見えるか判定し、
判定結果に基づいて警告を出力するか否か決定する、
ナビゲーション方法。
【請求項７】
コンピュータに、
現在位置を示す位置情報を取得し、また、撮像装置を用いて検出されたユーザの視線の方向を示す視線情報を取得し、
複数の道路と建物とを含む交差点エリアを示す３次元モデルを用いて、前記位置情報が示す前記現在位置から前記視線情報が示す前記視線の方向に向かって、前記複数の道路および前記建物のうち進入するよう推奨する道路が見えるか判定し、
判定結果に基づいて警告を出力するか否か決定する、
処理を実行させるナビゲーションプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はナビゲーション装置、ナビゲーション方法およびナビゲーションプログラムに関する。
【背景技術】
【０００２】
近年、自動車やオートバイなどの車両を運転する際、目的地への走行を支援するナビゲーション装置を利用することが多くなっている。ナビゲーション装置には、車両に固定的に取り付ける固定型装置と、携帯電話機などを利用した携帯型装置がある。ナビゲーション装置は、ＧＰＳ（Global Positioning System）などを用いて現在位置を検出し、現在位置周辺の地図をディスプレイに表示することができる。また、ナビゲーション装置は、目的地の入力を受け付けると、地図データ上で現在位置から目的地までの最適な経路を探索し、探索した経路と地図とを重ねてディスプレイに表示することができる。
【０００３】
また、ナビゲーション装置の中には、運転者の顔を前方から撮像して運転者の視線の方向を検出し、視線の方向を分析して適切な情報を適宜提供するものもある。
例えば、複雑な交差点において運転者が何れの道路に進むべきか迷わないように、正しい道路へ誘導する経路誘導装置が提案されている。この経路誘導装置は、運転席前方に設置したアイカメラを用いて運転者の視線の方向を検出し、視線の方向にある道路が正しい道路でない場合、運転者が正しい道路を見るように音声によって誘導する。
【０００４】
また、運転者が道に迷ったか否か判断し、道に迷ったときに適切な目的地の候補の情報を提供する情報提供装置が提案されている。この情報提供装置は、継続的に運転者の顔画像から視線の方向を検出し、１回の視線の移動量・１回の視線の滞留時間・視線の移動頻度から、運転者が目標物を探して迷っている状態であるか判断する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−３７１４９号公報
【特許文献２】特開２００７−２７１４８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
運転者の視線の方向を検出できるナビゲーション装置では、交差点において、ナビゲーション装置が推奨する道路に対して運転者が十分な注意を向けているかを判断し、十分な注意を向けていない場合に警告を出力することが考えられる。これにより、進入すべき正しい道路を運転者に気付かせ、交差点での運転ミスを抑制することができる。しかし、上記の特許文献１に記載された技術のように、視線の方向のみから運転者の注意が何れの道路に向けられているか判断すると、判断を誤る可能性があるという問題がある。
【０００７】
例えば、車両の走行方向に対して左側と右側に進入可能な道路がある三叉路において、運転者が左方向よりも右方向を多く見ているとする。視線の方向のみから判断すると、運転者が左側の道路よりも右側の道路に注意を向けていると推定される。これに対し、運転者の現在位置と右側の道路との間に建物があるとする。この場合、運転者は右方向を向いたときに専ら建物を見ており、建物の奥にある道路が見えていない可能性がある。すなわち、運転者は実際には、右側の道路よりも左側の道路に注意を向けている可能性がある。
【０００８】
このように、道路以外のオブジェクトが存在するために、視線の方向のみでは、複数の道路の中で何れの道路に注意が向けられているかの判断を誤る可能性がある。その結果、運転者がナビゲーション装置の推奨する道路に対して十分な注意を向けているにもかかわらず、警告が出力される可能性がある。また、運転者がナビゲーション装置の推奨する道路に対して十分な注意を向けていないにもかかわらず、警告が出力されない可能性がある。よって、警告を出力するか否かの判定精度が低くなるという問題がある。
【０００９】
１つの側面では、本発明は、交差点において警告を出力するか否かの判定精度を向上させるナビゲーション装置、ナビゲーション方法およびナビゲーションプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
１つの態様では、位置検出部と視線検出部と記憶部と制御部とを有するナビゲーション装置が提供される。位置検出部は、現在位置を検出する。視線検出部は、撮像された画像に基づいてユーザの視線の方向を検出する。記憶部は、複数の道路と建物とを含む交差点エリアを示す３次元モデルを記憶する。制御部は、３次元モデルを用いて、現在位置から視線の方向に向かって、複数の道路および建物のうち進入するよう推奨する道路が見えるか判定し、判定結果に基づいて警告を出力するか否か決定する。
【００１１】
また、１つの態様では、コンピュータが実行するナビゲーション方法が提供される。現在位置を示す位置情報を取得し、また、撮像装置を用いて検出されたユーザの視線の方向を示す視線情報を取得する。複数の道路と建物とを含む交差点エリアを示す３次元モデルを用いて、位置情報が示す現在位置から視線情報が示す視線の方向に向かって、複数の道路および建物のうち進入するよう推奨する道路が見えるか判定する。判定結果に基づいて警告を出力するか否か決定する。
【００１２】
また、１つの態様では、ナビゲーションプログラムが提供される。
【発明の効果】
【００１３】
１つの側面では、交差点において警告を出力するか否かの判定精度が向上する。
【図面の簡単な説明】
【００１４】
【図１】第１の実施の形態のナビゲーション装置を示す図である。
【図２】第２の実施の形態のナビゲーションシステムを示す図である。
【図３】ナビゲーション装置のハードウェア例を示すブロック図である。
【図４】交差点の３次元モデルの例を示す図である。
【図５】極座標系の格子点の設定例を示す図である。
【図６】直交座標系の格子点の設定例を示す図である。
【図７】直交座標系の３次元格子点の設定例を示す図である。
【図８】可視領域更新と視点判定のタイミング例を示す図である。
【図９】ナビゲーション装置の機能例を示すブロック図である。
【図１０】交差点データの構造例を示す図である。
【図１１】視点時系列データの構造例を示す図である。
【図１２】運転ミス予防の手順例を示すフローチャートである。
【図１３】運転ミス予防の手順例を示すフローチャート（続き）である。
【図１４】運転ミス兆候の判定例を示す図である。
【図１５】交差点における運転者の迷いの例を示す図である。
【図１６】可視道路領域の３次元への拡張例を示す図である。
【図１７】渋滞時における運転者の視界の例を示す図である。
【図１８】注視点との距離の算出例を示す図である。
【発明を実施するための形態】
【００１５】
以下、本実施の形態を図面を参照して説明する。
［第１の実施の形態］
図１は、第１の実施の形態のナビゲーション装置を示す図である。
【００１６】
第１の実施の形態のナビゲーション装置１０は、ユーザに対して推奨する道路を提示するナビゲーション機能を有する。ユーザが目的地を設定した場合、ナビゲーション装置１０は、目的地に到達するまでに経由する各道路を提示する。ナビゲーション装置１０は、例えば、車両に搭載され、または、車両を運転するユーザによって携帯される。
【００１７】
「車両」には、人を輸送可能な様々な地上輸送装置が含まれる。例えば、車両には、乗用車（car）・トラック・バス・オートバイ（motorcycle）・スクーター・原動機付き自転車・原動機付き車椅子が含まれ得る。また、車両には、自転車・三輪車・スケートボード・車椅子・人力車などの人力駆動の装置も含まれ得る。「道路」には、車両が走行可能な様々な地表領域が含まれ、例えば、車道・歩道・サイクリングレーンが含まれ得る。なお、ナビゲーション装置１０の「ユーザ」は、通常、車両を運転する運転者である。
【００１８】
ナビゲーション装置１０は、交差点において、ナビゲーション装置１０が推奨する道路以外の他の道路に誤って進入してしまう運転ミスを回避するため、ユーザの運転ミスの兆候を判定する。運転ミスの兆候があると判定すると、ナビゲーション装置１０は、交差点を通過する前に、進入すべき正しい道路にユーザが気付くように警告を出力する。警告の出力方法としては、ディスプレイへの警告文の表示や警告音声の再生などが挙げられる。
【００１９】
なお、「交差点」は、その中心から外に向かって３以上の道路が伸びており、１つの道路上をその中心に向かって走行したときに進行方向が分岐して見える場所である。交差点には、例えば、Ｔ字路やＹ字路などの三叉路・十字路などの四叉路・五叉路が含まれ得る。ここで、「道路」の単位は、交差点の中心から見て外に向かって伸びているものを一単位とする。よって、十字路には４つの道路が集まっているものとみなす。
【００２０】
ナビゲーション装置１０は、位置検出部１１、視線検出部１２、記憶部１３および制御部１４を有する。ナビゲーション装置１０は、コンピュータを用いて実装してもよい。
位置検出部１１は、車両または車両を運転するユーザの現在位置を検出する。例えば、ナビゲーション装置１０は、複数のＧＰＳ衛星それぞれが送信したＧＰＳ信号を受信する受信インタフェースを有する。その場合、位置検出部１１は、受信されたＧＰＳ信号を用いて、現在位置の経度・緯度・高度を算出することができる。
【００２１】
視線検出部１２は、撮像された画像に基づいてユーザの視線の方向を検出する。例えば、ナビゲーション装置１０は、運転中のユーザの顔全体または目付近を前方から撮像する撮像装置（イメージセンサ）を有する。乗用車の場合、例えば、撮像装置は、フロントガラスの周辺から車内に向かって（進行方向とは逆方向に）撮像するよう設置される。視線検出部１２は、撮像されたユーザの画像を解析して視線の方向を算出する。
【００２２】
視線の方向を検出する方法としては、様々なアルゴリズムを用いることができる。例えば、視線検出部１２は、目頭に対する虹彩の位置や、角膜に対する瞳孔の位置などから、視線の方向を算出できる。このとき、視線検出部１２は、左右方向の顔の傾きを検出し、黒目の動きから算出した方向を顔の傾きに応じて補正してもよい。視線の方向は、例えば、車両の進行方向を基準とした３次元ベクトルとして表現することができる。この３次元ベクトルの座標系として、例えば、車両の進行方向をＸ軸とし、路面と平行な面内にあり進行方向と垂直な方向をＹ軸とし、路面と垂直な方向をＺ軸とする。
【００２３】
記憶部１３は、複数の道路と１または２以上の建物とを含む交差点エリアを示す３次元モデルを記憶する。記憶部１３は、例えば、ＨＤＤ（Hard Disk Drive）やフラッシュメモリなどの不揮発性の記憶媒体である。３次元モデルに表される道路や建物は、例えば、交差点の中心から所定の距離内にあるものである。３次元モデルに表される建物は、好ましくは、道路に沿って建てられたものであって、ある方向から道路を見たときに視界からその道路を隠す可能性のあるものである。ここで、「建物」には、土地に定着する様々な工作物が含まれ、例えば、住宅・店舗・オフィスビル・倉庫・駅・塔・橋が含まれ得る。
【００２４】
一例として、記憶部１３には、車両がこれから向かう交差点エリアを示す３次元モデル２が記憶されている。この交差点エリアは、道路２ａ，２ｂ，２ｃおよび建物２ｄを含む。道路２ａを中心に向かって走行するユーザ２ｅからは、左側に道路２ｂが見え、右側に道路２ｃが見える。建物２ｄは、道路２ａと道路２ｂとに挟まれたエリアに建てられている。ユーザ２ｅから見ると、建物２ｄによって道路２ｃの一部が隠される。
【００２５】
制御部１４は、交差点の手前において、運転ミスに関する警告をユーザに対して出力するか否か決定する。制御部１４は、ＣＰＵ（Central Processing Unit）やＤＳＰ（Digital Signal Processor）などのプロセッサを含んでもよく、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field Programmable Gate Array）などの特定用途の電子回路を含んでもよい。プロセッサは、例えば、ＲＡＭ（Random Access Memory）などの記憶装置に記憶されたナビゲーションプログラムを実行する。なお、複数のプロセッサの集合（マルチプロセッサ）を「プロセッサ」と呼んでもよい。
【００２６】
制御部１４は、記憶部１３に記憶された３次元モデル２を読み出す。また、制御部１４は、位置検出部１１で検出された現在位置を示す位置情報（例えば、３次元の座標）と、視線検出部１２で検出された視線の方向を示す視線情報（例えば、３次元ベクトル）とを取得する。制御部１４は、３次元モデル２に、検出された現在位置と視線の方向をマッピングする。そして、制御部１４は、３次元モデル２上において、現在位置から視線の方向に向かって、ナビゲーション装置１０が推奨する道路が見えるか判定する。
【００２７】
例えば、ユーザ２ｅの視線が中心からやや左寄りである場合（視線２ｆ）、３次元モデル２上ではその視線が道路２ｂと交わる。よって、ユーザ２ｅは道路２ｂを見ていると判断できる。また、ユーザ２ｅの視線が中心からやや右寄りである場合（視線２ｇ）、３次元モデル２上ではその視線が道路２ｃと交わる。よって、ユーザ２ｅは道路２ｃを見ていると判断できる。一方、ユーザ２ｅの視線が中心から大きく離れて右方向である場合（視線２ｈ）、３次元モデル２上ではその視線が建物２ｄと交わり道路２ｃに届かない。よって、ユーザ２ｅは建物２ｄを見ており道路２ｃを見ていないと判断できる。
【００２８】
これにより、制御部１４は、道路２ａ，２ｂ，２ｃの中で、推奨する道路にユーザ２ｅが十分に注意を向けているか否か判定できる。ここでは、推奨する道路が道路２ｂであるとする。道路２ｃにユーザ２ｅが大きな注意を向けている場合、制御部１４は、運転ミスの兆候（道路２ｃに誤って進入してしまう可能性）があるため警告を出力すると決定することが考えられる。運転ミスの兆候として、例えば、道路２ｂを見ている時間よりも道路２ｃを見ている時間の方が顕著に長く、推奨する道路が道路２ｃであるとユーザ２ｅが誤解している、または、推奨する道路２ｂをユーザ２ｅが見落としている場合が挙げられる。また、運転ミスの兆候として、例えば、道路２ｂと道路２ｃを交互に見ており両者を見る時間が同程度であり、推奨する道路が何れであるか迷っている場合が挙げられる。
【００２９】
このとき、制御部１４は、ユーザ２ｅが見たオブジェクトとして道路２ａ，２ｂ，２ｃと建物２ｄを区別することができる。よって、制御部１４は、建物２ｄを見た時間を除外して、相対的に道路２ｂに十分な注意が向けられているか判定することができる。例えば、ユーザ２ｅが左方向よりも右方向を頻繁に見ていた場合であっても、視線の先が建物２ｄであることが多いと、制御部１４は、道路２ｃを見た時間は短いと判定する。
【００３０】
第１の実施の形態のナビゲーション装置１０によれば、道路と建物とを含む交差点エリアの３次元モデルを用いて、現在位置から視線の方向に向かって見えるオブジェクトが判定される。これにより、ユーザが道路を見ているか建物を見ているかを区別することができる。よって、ナビゲーション装置１０が推奨する道路に対してユーザが十分に注意を向けているか否かの判定精度が向上し、交差点の手前で行う警告の精度が向上する。すなわち、推奨する道路に対してユーザが十分な注意を向けているにもかかわらず、警告を出力するという判定ミスを削減できる。また、推奨する道路に対してユーザが十分な注意を向けていないにもかかわらず、警告を出力しないという判定ミスを削減できる。その結果、ユーザの運転ミスを削減でき、また、快適なナビゲーションを提供できる。
【００３１】
［第２の実施の形態］
図２は、第２の実施の形態のナビゲーションシステムを示す図である。
第２の実施の形態のナビゲーションシステムは、車道上での乗用車の運転を支援する。第２の実施の形態のナビゲーションシステムは、車両２１、無線基地局２２、ネットワーク２３、サーバ装置２４およびナビゲーション装置１００を含む。
【００３２】
車両２１は、ユーザ（運転者）が運転する乗用車である。無線基地局２２は、ナビゲーション装置１００と無線通信を行うことができる無線通信装置である。ネットワーク２３は、無線基地局２２とサーバ装置２４とを接続するデータ通信網である。
【００３３】
サーバ装置２４は、ナビゲーション装置１００が使用するデータを保持するサーバコンピュータである。サーバ装置２４が保持するデータには、最新の地図を示す地図データなどが含まれる。サーバ装置２４は、無線基地局２２およびネットワーク２３を介してナビゲーション装置１００からアクセスを受け付ける。すると、サーバ装置２４は、ナビゲーション装置１００が使用するデータをネットワーク２３および無線基地局２２を介して提供する。これにより、最新の地図データを提供することができる。
【００３４】
ナビゲーション装置１００は、車両２１に搭載されている。ナビゲーション装置１００は、ＧＰＳを利用して車両２１の現在位置を検出し、現在位置周辺の地図を表示する。運転者により目的地が入力されると、ナビゲーション装置１００は、現在位置から目的地までの最適な経路を探索し、探索した経路を進むようにナビゲーションを行う。ナビゲーションに用いる地図データは、サーバ装置２４から取得することがある。ナビゲーション中、ナビゲーション装置１００は、運転者の視線の方向を検出し、探索された経路と異なる道路に進入する運転ミスの兆候を判定して、運転者に対して適宜警告を行う。
【００３５】
図３は、ナビゲーション装置のハードウェア例を示すブロック図である。
ナビゲーション装置１００は、ＣＰＵ１０１、ＲＡＭ１０２、不揮発性メモリ１０３、無線インタフェース１０４、ディスプレイ１０５、タッチパネル１０５ａ、スピーカ１０６および媒体リーダ１０７を有する。これらのユニットは、バスに接続されている。また、ナビゲーション装置１００は、ＧＰＳ受信部１０８、位置検出部１０８ａ、イメージセンサ１０９および視線検出部１０９ａを有する。ＧＰＳ受信部１０８は、位置検出部１０８ａに接続されている。イメージセンサ１０９は、視線検出部１０９ａに接続されている。位置検出部１０８ａおよび視線検出部１０９ａは、バスに接続されている。
【００３６】
ＣＰＵ１０１は、プログラムの命令を実行するプロセッサである。ＣＰＵ１０１は、不揮発性メモリ１０３に記憶されたプログラムやデータの少なくとも一部をＲＡＭ１０２にロードし、プログラムを実行する。なお、ＣＰＵ１０１は複数のプロセッサコアを備えてもよく、ナビゲーション装置１００は複数のプロセッサを備えてもよく、以下で説明する処理を複数のプロセッサまたはプロセッサコアを用いて並列に実行してもよい。また、複数のプロセッサの集合（マルチプロセッサ）を「プロセッサ」と呼んでもよい。
【００３７】
ＲＡＭ１０２は、ＣＰＵ１０１が実行するプログラムやプログラムから参照されるデータを一時的に記憶する揮発性の半導体メモリである。なお、ナビゲーション装置１００は、ＲＡＭ以外の種類のメモリを備えてもよく、複数個のメモリを備えてもよい。
【００３８】
不揮発性メモリ１０３は、ＯＳ（Operating System）やミドルウェアやアプリケーションソフトウェアなどのソフトウェアのプログラム、および、データを記憶する不揮発性の記憶装置である。プログラムには、経路探索や交差点での警告制御などを行うナビゲーションプログラムが含まれる。不揮発性メモリ１０３としては、例えば、フラッシュメモリを用いることができる。ただし、ナビゲーション装置１００は、ＨＤＤなどの他の種類の記憶装置を備えてもよく、複数の不揮発性の記憶装置を備えてもよい。
【００３９】
無線インタフェース１０４は、無線基地局２２と無線通信を行う通信インタフェースである。ナビゲーション装置１００は、経路探索に用いる地図データ、交差点での警告制御に用いる３次元モデルを示す交差点データ、ナビゲーションプログラムなどを更新することができる。更新にあたり、無線インタフェース１０４は、無線基地局２２を介してサーバ装置２４にアクセスできる。サーバ装置２４から最新のデータやプログラムを受信すると、無線インタフェース１０４は、不揮発性メモリ１０３に書き込む。
【００４０】
ディスプレイ１０５は、地図や経路などの画像を表示する。ディスプレイ１０５としては、液晶ディスプレイ（ＬＣＤ：Liquid Crystal Display）や有機ＥＬ（ＯＥＬ：Organic Electro-Luminescence）ディスプレイなど、任意の種類のものを使用できる。
【００４１】
タッチパネル１０５ａは、ユーザからの入力を受け付ける入力装置である。タッチパネル１０５ａは、ディスプレイ１０５に重ねて設置される。タッチパネル１０５ａは、ディスプレイ１０５に表示された画像に対するユーザのタッチ操作を検出し、タッチ位置をＣＰＵ１０１に通知する。タッチ位置の検出方法としては、抵抗膜方式や静電容量方式などの任意のものを使用できる。なお、ナビゲーション装置１００は、ボタンスイッチやキーパッドなどの他の種類の入力装置を備えてもよく、複数の入力装置を備えてもよい。
【００４２】
スピーカ１０６は、電気信号を物理振動に変換して音を再生する出力装置である。交差点において運転ミスの兆候があるとき、スピーカ１０６で警告用の音声が再生される。
媒体リーダ１０７は、記録媒体１０７ａに記録されたデータやプログラムを読み取る読み取り装置である。記録媒体１０７ａとして、例えば、フレキシブルディスク（ＦＤ：Flexible Disk）やＨＤＤなどの磁気ディスク、ＣＤ（Compact Disc）やＤＶＤ（Digital Versatile Disc）などの光ディスク、光磁気ディスク（ＭＯ：Magneto-Optical disk）、半導体メモリなどを使用できる。媒体リーダ１０７は、記録媒体１０７ａから読み取ったデータやプログラムを不揮発性メモリ１０３に格納する。地図データや交差点データやナビゲーションプログラムの更新は、最新の地図データや交差点データやナビゲーションプログラムが記録された記録媒体を媒体リーダ１０７に挿入することによっても行える。
【００４３】
ＧＰＳ受信部１０８は、複数のＧＰＳ衛星それぞれからＧＰＳ信号を受信する通信インタフェースである。ＧＰＳ信号は、ＧＰＳ衛星が当該ＧＰＳ信号を送信した時刻を含む。
位置検出部１０８ａは、ＧＰＳ受信部１０８が受信した複数のＧＰＳ衛星からのＧＰＳ信号に基づいて、車両２１の現在位置を算出する。現在位置は、複数のＧＰＳ衛星からのＧＰＳ信号の伝送時間の違いに基づいて算出することができる。現在位置は、経度・緯度・高度で表現することができる。また、位置検出部１０８ａは、所定時間前の位置と現在位置との差から、車両２１の３次元の移動方向および移動速度を算出する。
【００４４】
イメージセンサ１０９は、運転席の前方（例えば、フロントガラスの周辺）に設置されており、運転者の顔が写るように車内に対して向けられた撮像装置である。イメージセンサ１０９は、所定の時間間隔で連続的に運転者の顔を撮像する。
【００４５】
視線検出部１０９ａは、イメージセンサ１０９によって撮像された顔画像それぞれを分析し、運転者の視線の方向を示す３次元の視線ベクトルを算出する。ここで算出される視線ベクトルは、運転者の目の位置を原点とし車両２１の進行方向を１つの軸とした座標系を用いて表現されるものであり、相対視線ベクトルと言うことができる。視線の方向は、車両２１の進行方向に対して垂直な面であって運転者の目から所定距離だけ前方にある面の上のどの位置を、視線が通過しているか（例えば、フロントガラス上のどの位置を視線が通過しているか）として特定することができる。
【００４６】
視線の方向を検出するにあたり、例えば、視線検出部１０９ａは、黒目が動いても変化しづらい基準点と、黒目の移動に応じて基準点との距離が変わる動点とを検出する。視線検出部１０９ａは、顔画像の中から、目頭を基準点として検出し、虹彩を動点として検出することが考えられる。この場合、目頭に対する虹彩の位置から、視線の方向を判断することができる。また、視線検出部１０９ａは、赤外線ＬＥＤ（Light Emitting Diode）を照射したときに角膜上に観測される反射光の位置（角膜反射位置）を基準点として検出し、瞳孔を動転として検出することが考えられる。この場合、角膜反射位置に対する瞳孔の位置から、視線の方向を判断することができる。視線検出部１０９ａは、両目について視線の方向を検出してもよいし、片目のみ視線の方向を検出してもよい。また、視線検出部１０９ａは、顔の左右方向の向きを検出して、上記の視線の方向を補正してもよい。
【００４７】
なお、上記の説明では、位置検出部１０８ａにおける現在位置の算出および視線検出部１０９ａにおける視線ベクトルの算出を、専用の電子回路を用いて行うこととしたが、汎用のプロセッサとソフトウェアを用いて行うようにしてもよい。
【００４８】
次に、交差点の３次元モデルについて説明する。ナビゲーション装置１００は、交差点において、運転者の視点の変化と交差点の３次元モデルから、目的地に向かう経路から外れる道路を運転者が誤って選択するという運転ミスの兆候を検出する。
【００４９】
図４は、交差点の３次元モデルの例を示す図である。
交差点３０は、運転者が見る可能性のある主要なオブジェクトとして、道路３１〜３４、建物４１〜４６および信号機４７を含む。交差点３０は十字路であり、その中心から四方に道路３１〜３４が伸びている。道路３１は南に延びており、道路３２は西に延びており、道路３３は北に延びており、道路３４は東に延びている。建物４１は、道路３１と道路３２に挟まれたエリアに建てられている。建物４２は、道路３２と道路３３に挟まれたエリアに建てられている。建物４３，４４は、道路３３と道路３４に挟まれたエリアに建てられている。建物４５，４６は、道路３１と道路３４に挟まれたエリアに建てられている。信号機４７は、道路３２と道路３３の交差する角に設けられている。
【００５０】
なお、第２の実施の形態において、「道路」は、乗用車が走行可能な車道である。「交差点」は、その中心から外に向かう３以上の道路を含むものであり、三叉路・四叉路・五叉路などである。交差点における各道路の範囲は、他の道路と重ならない領域である。図４に示した交差点３０の場合、中央の長方形の領域は道路３１〜３４の何れにも属していない。車両２１は、道路３１を交差点３０の中心に向かって走行中であるとする。
【００５１】
交差点の３次元モデルには、その交差点の中心から所定の距離以内にあるオブジェクトの位置および３次元形状が定義される。ただし、道路以外のオブジェクトについては、運転者が頻繁に見る可能性のあるオブジェクト（信号機など）や運転者の視界から道路を隠す可能性のあるオブジェクトが３次元モデルに含まれていればよく、全てのオブジェクトが含まれていなくてもよい。建物については、道路近くに建てられたものであって、ある方向から運転者が道路を見ようとしたときに視線を遮って当該道路を見えなくする可能性のある大きな建物を、３次元モデルに含めるようにする。第２の実施の形態では、建物として、主に道路沿いに建てられた大きなビルを想定する。
【００５２】
ナビゲーション装置１００は、このような３次元モデルに対して車両２１の現在位置と運転者の視線の方向をマッピングすることで、運転者がどのようなオブジェクトを見ているか連続的に判定する。特に、ナビゲーション装置１００は、運転者が道路を見ているのか道路以外のオブジェクトを見ているのかを区別する。この判定を行うにあたり、ナビゲーション装置１００は、車両２１の現在位置から見え得る道路の領域（可視道路領域）を定期的に算出する。可視道路領域は、３次元モデルの道路上に格子点（mesh point）を設定し、各格子点と車両２１の現在位置との位置関係を確認することで算出する。格子点としては、極座標系の格子点と直交座標系の格子点とが選択的に用いられる。
【００５３】
図５は、極座標系の格子点の設定例を示す図である。
ここでは、３次元モデル上において、道路３２の可視道路領域を算出することを考える。道路３１，３３，３４に対しても、道路３２と同様にして可視道路領域を算出する。道路３２上に極座標系の格子点を設定する場合、極座標系の原点は車両２１の現在位置になる。ナビゲーション装置１００は、極座標系の成分である距離ｒと角度θをそれぞれ一定量ずつ変化させながら、道路３２の領域上に格子点を設定していく。格子点の間隔（隣りの格子点との距離ｒ・角度θの差）は、例えば、所定の値とする。
【００５４】
そして、ナビゲーション装置１００は、原点（車両２１の現在位置）と格子点とを結ぶ線分が建物を通過するか判断する。線分が建物を通過する場合、運転者の視線がその格子点に届かないため、その格子点は運転者から見えない不可視格子点であると判定する。一方、線分が何れの建物も通過しない場合、運転者の視線がその格子点に届くため、その格子点は運転者から見える可視格子点であると判定する。図５の例の場合、車両２１と格子点３２ａとを結ぶ線分上には建物は存在しないため、格子点３２ａは運転者から見える可視格子点である。一方、車両２１と格子点３２ｂとを結ぶ線分上には建物４１が存在するため、格子点３２ｂは運転者から見えない不可視格子点である。
【００５５】
なお、交差点３０の中で地点間の高度差が十分に小さい場合には、ナビゲーション装置１００は、可視／不可視の判定を簡略化できる。ある格子点を可視格子点と判定したとき、ナビゲーション装置１００は、角度θが同一であり距離ｒが異なる他の格子点、すなわち、車両２１から見てその格子点の前後にある他の格子点も、可視格子点であると判定できる。また、ある格子点を不可視格子点と判定したとき、ナビゲーション装置１００は、角度θが同一であり距離ｒが異なる他の格子点も、不可視格子点であると判定できる。
【００５６】
設定した全ての格子点について可視／不可視を判定すると、ナビゲーション装置１００は、可視格子点が連続して並ぶ領域を可視道路領域として算出する。なお、可視道路領域の精度を上げるため、可視格子点と不可視格子点との間の境界付近に間隔の小さい格子点群を追加し、追加した各格子点について可視／不可視を判定して境界を確定してもよい。
【００５７】
図６は、直交座標系の格子点の設定例を示す図である。
道路３２上に直交座標系の格子点を設定する場合、直交座標系の原点は交差点３０の中心Ｃになる。ナビゲーション装置１００は、直交する複数の座標軸それぞれの座標を一定量ずつ変化させながら、道路３２の領域上に格子点を設定していく。格子点の間隔（隣りの格子点との座標の差）は、例えば、１メートルなど所定の値とする。
【００５８】
そして、ナビゲーション装置１００は、車両２１の現在位置と格子点とを結ぶ線分が建物を通過するか判断する。線分が建物を通過する場合、その格子点は不可視格子点であると判定する。一方、線分が何れの建物も通過しない場合、その格子点は可視格子点であると判定する。図６の例の場合、車両２１と格子点３２ｃとを結ぶ線分上には建物は存在しないため、格子点３２ｃは可視格子点である。一方、車両２１と格子点３２ｄとを結ぶ線分上には建物４１が存在するため、格子点３２ｄは不可視格子点である。
【００５９】
設定した全ての格子点について可視／不可視を判定すると、ナビゲーション装置１００は、可視格子点が連続して並ぶ領域を可視道路領域として算出する。なお、可視道路領域の精度を上げるため、可視格子点と不可視格子点との間の境界付近に間隔の小さい格子点群を追加し、追加した各格子点について可視／不可視を判定して境界を確定してもよい。また、ナビゲーション装置１００は、可視道路領域の精度や計算効率を上げるため、極座標系の格子点と直交座標系の格子点とを組み合わせて用いてもよいし、粗い座標系の格子点と細かい座標系の格子点とを組み合わせて用いてもよい。
【００６０】
図７は、直交座標系の３次元格子点の設定例を示す図である。
前述の図５，６で算出した可視道路領域は、道路３２の地表面の一部または全部である平面領域であった。これに対し、後述するように、道路３２上に設置されたオブジェクトや道路３２を走行する車両なども道路３２の構成要素であるとみなして、可視道路領域を立体領域として算出することも考えられる。これは、運転者が道路３２上の車両や設置物を見たとき、道路３２の存在を認識し得るためである。この場合、ナビゲーション装置１００は、道路３２の地表面の鉛直上方にも格子点を設定するようにする。
【００６１】
例えば、ナビゲーション装置１００は、直交座標系において複数の座標軸それぞれの座標を一定量ずつ変化させながら、道路３２の地表面およびその鉛直上方に格子点を設定していく。格子点を設定する高さの上限は、例えば、地表面から４メートルなど所定の値とする。そして、ナビゲーション装置１００は、３次元空間において車両２１の現在位置と格子点とを結ぶ線分が建物を通過するか判断し、その格子点の可視／不可視を判定する。図７の例では、地表面より上方にある格子点３２ｅは可視格子点であり、地表面より上方にある格子点３２ｆは不可視格子点である。ナビゲーション装置１００は、可視格子点が連続して並ぶ立体領域を可視道路領域として算出する。
【００６２】
次に、交差点３０からの近さとナビゲーション装置１００の処理との関係を説明する。
図８は、可視領域更新と視点判定のタイミング例を示す図である。
車両２１が交差点３０に近付いているとき、ナビゲーション装置１００は、車両２１と交差点３０の近さを監視する。近さの指標値は、その値が小さいほど車両２１が交差点３０に近く、その値が大きいほど車両２１が交差点３０から遠いことを示す。例えば、ナビゲーション装置１００は、近さの指標値として、車両２１と交差点３０の中心Ｃとの間の距離、または、車両２１が中心Ｃに到達するのに要する所要時間の見積もりを計算する。
【００６３】
近さの指標値が閾値Ｄ１以上のとき、ナビゲーション装置１００は、運転者が見ているオブジェクトの判定（視点判定）を行わなくてよい。閾値Ｄ１は、ナビゲーション開始前に決められた所定値である。近さの指標値が車両２１と交差点３０の中心Ｃとの間の距離である場合、例えば、閾値Ｄ１を２００メートルとする。また、近さの指標値が中心Ｃに到達する所要時間である場合、例えば、閾値Ｄ１を３０秒とする。
【００６４】
近さの指標値が閾値Ｄ１未満かつ閾値Ｄ２以上のとき、ナビゲーション装置１００は、３次元モデル上の道路３１〜３４に粗い格子点を設定して可視道路領域を算出し、可視道路領域を用いて視点判定を行う。閾値Ｄ２は、ナビゲーション開始前に決められた所定値であり、閾値Ｄ１よりも小さい値である。近さの指標値が車両２１と中心Ｃとの間の距離である場合、例えば、閾値Ｄ２を５０メートルとする。また、近さの指標値が中心Ｃに到達する所要時間である場合、例えば、閾値Ｄ２を８秒とする。指標値が閾値Ｄ１未満かつ閾値Ｄ２以上の区間は、遠距離監視区間と言うことができる。
【００６５】
粗い格子点の座標系としては、例えば、車両２１を原点とする２次元の極座標系を用いることができる。車両２１の現在位置は変化するため、ナビゲーション装置１００は、可視道路領域を周期Ｆ１で定期的に更新する。周期Ｆ１は、ナビゲーション開始前に決められた所定値であり、例えば、１秒とする。また、ナビゲーション装置１００は、イメージセンサ１０９を利用して検出した運転者の視線と直近に算出した可視道路領域とを用いた視点判定を、周期Ｆ２で定期的に実行する。周期Ｆ２は、ナビゲーション開始前に決められた所定値であり、例えば、１／３０秒（１秒間に３０回）とする。ナビゲーション装置１００は、可視道路領域を１回更新すると、その可視道路領域を用いて複数回の視点判定を行うことが好ましい。これにより、３次元モデルの計算の負荷を抑制しつつ、視点判定を短周期で行って運転者の目の細かな動きを把握することが可能となる。
【００６６】
近さの指標値が閾値Ｄ２未満のとき、ナビゲーション装置１００は、３次元モデル上の道路３１〜３４に精細な格子点を設定して可視道路領域を算出し、可視道路領域を用いて視点判定を行う。指標値が閾値Ｄ２未満の区間は、近距離監視区間と言うことができる。精細な格子点の座標系としては、例えば、交差点３０の中心Ｃを原点とする３次元の直交座標系を用いることができる。可視道路領域を更新する周期Ｆ１および視点判定の周期Ｆ２は、遠距離監視区間と近距離監視区間とで同じでもよい。ただし、近距離監視区間の周期Ｆ１および周期Ｆ２の少なくとも一方を、遠距離監視区間より短くしてもよい。
【００６７】
ナビゲーション装置１００は、遠距離監視区間および近距離監視区間において、視点判定の結果を時系列に並べたデータ（視点時系列データ）を用いて、交差点３０での運転ミスの兆候を判定する。運転ミスの兆候には、道路３１の次に進入可能な道路３２〜３４のうち、目的地に向かう正しい道路以外の誤った道路の１つを、他の道路と比べて運転者が顕著に長時間見ていることが含まれる。この場合、運転者は、長時間見ている誤った道路に進入しようとしていると推測される。また、運転ミスの兆候には、道路３２〜３４のうち、目的地に向かう正しい道路とそれ以外の誤った道路の１つとを交互に繰り返し見ており、正しい道路を見た時間と誤った道路を見た時間とが同程度であることが含まれる。この場合、運転者は、進入する道路に迷っていると推測される。
【００６８】
運転ミスの兆候が検出されると、ナビゲーション装置１００は、車両２１が交差点３０の中心Ｃを通過する前に事前に警告を出力する。警告の出力には、正しい道路を運転者に気付かせるために、正しい道路を示す画像をディスプレイ１０５に表示することや、正しい道路を説明する音声をスピーカ１０６で再生することなどが含まれる。ただし、交差点３０の中心Ｃを通過するときの運転者の注意力およびハンドル操作を阻害しないように、ナビゲーション装置１００は、近さの指標値が閾値Ｄ３未満のときは警告を出力しない。閾値Ｄ３は、ナビゲーション開始前に決められた所定値であり、閾値Ｄ２よりも小さい値である。指標値が閾値Ｄ３未満の区間は、警告停止区間と言うことができる。
【００６９】
次に、ナビゲーション装置１００のソフトウェア構成について説明する。
図９は、ナビゲーション装置の機能例を示すブロック図である。
ナビゲーション装置１００は、地図データ記憶部１１１、交差点データ記憶部１１２、経路探索部１１３、３Ｄモデル展開部１１４、視線ベクトル算出部１１５、視点判定部１１６、ミス兆候判定部１１７および警告部１１８を有する。地図データ記憶部１１１および交差点データ記憶部１１２は、例えば、不揮発性メモリ１０３に確保した記憶領域を用いて実現される。経路探索部１１３、３Ｄモデル展開部１１４、視線ベクトル算出部１１５、視点判定部１１６、ミス兆候判定部１１７および警告部１１８は、例えば、ＣＰＵ１０１が実行するプログラムのモジュールを用いて実現される。
【００７０】
地図データ記憶部１１１は、現在位置から目的地までの経路探索およびディスプレイ１０５への地図の表示に用いられる地図データを記憶する。地図データは、各道路の位置・長さや他の道路との接続関係を、２次元で表したものであってもよい。地図データ記憶部１１１には、媒体リーダ１０７が記録媒体１０７ａから読み取った地図データが書き込まれてもよい。また、地図データ記憶部１１１には、無線インタフェース１０４がサーバ装置２４から受信した地図データが書き込まれてもよい。
【００７１】
交差点データ記憶部１１２は、交差点それぞれの３次元モデルを示す交差点データを記憶する。交差点データは、交差点の中心から伸びる複数の道路の間の位置関係や、建物などの道路以外のオブジェクトの位置および３次元形状などを表したものである。交差点データは、運転者が見ているオブジェクトを判定するのに用いられる。交差点データ記憶部１１２には、媒体リーダ１０７が記録媒体１０７ａから読み取った交差点データが書き込まれてもよい。また、交差点データ記憶部１１２には、無線インタフェース１０４がサーバ装置２４から受信した交差点データが書き込まれてもよい。
【００７２】
経路探索部１１３は、現在位置から目的地までのナビゲーションを制御する。経路探索部１１３は、運転者などのユーザがタッチパネル１０５ａを用いて目的地を指定すると、地図データ記憶部１１１に記憶された地図データに対して、位置検出部１０８ａが検出した車両２１の現在位置とユーザが指定した目的地とをマッピングする。目的地は、経度や緯度を用いて特定できる。経路探索部１１３は、地図データを用いて、現在位置から目的地までの最適経路（例えば、走行距離が最小の経路または予想所要時間が最小の経路）を探索する。経路探索部１１３は、探索した経路をディスプレイ１０５に表示する。
【００７３】
ナビゲーション中、経路探索部１１３は、車両２１の現在位置から所定の範囲内にある交差点を地図データを用いて検索し、車両２１の移動方向から次に通過予定の交差点を判定する。そして、経路探索部１１３は、次に通過予定の交差点までの近さを監視し、近さを示す指標値を提供する。前述のように、近さの指標値として、例えば、交差点の中心までの走行距離や、交差点の中心までの予想所要時間などを用いることができる。走行距離は、地図データに記載された現在走行中の道路の情報から算出できる。予想所要時間は、走行距離と位置検出部１０８ａが算出した車両２１の移動速度から算出できる。
【００７４】
３Ｄモデル展開部１１４は、車両２１が交差点に近づくと、次に通過予定の交差点に対応する交差点データを交差点データ記憶部１１２から読み出す。３Ｄモデル展開部１１４は、読み出した交差点データを用いて、次に通過予定の交差点の３次元モデルをＲＡＭ１０２上に形成する。以降、３Ｄモデル展開部１１４は、その交差点を通過するまで定期的に、交差点に含まれる各道路の可視道路領域を算出する。すなわち、３Ｄモデル展開部１１４は、位置検出部１０８ａが検出した車両２１の現在位置を３次元モデルにマッピングし、建物などのオブジェクトに遮られずに現在位置から視認可能な道路領域を算出する。
【００７５】
視線ベクトル算出部１１５は、視線検出部１０９ａから、車両２１の進行方向を基準として運転者の視線の方向を表した相対視線ベクトルを取得する。また、視線ベクトル算出部１１５は、位置検出部１０８ａから、地表の所定方向（例えば、北方向かつ水平方向）を基準して表した車両２１の移動方向を取得する。そして、視線ベクトル算出部１１５は、相対視線ベクトルと車両２１の移動方向とを合成する。これにより、地表の所定方向を基準して運転者の視線の方向を表した絶対視線ベクトルを算出できる。絶対視線ベクトルは、例えば、東西南北などの方角を表す座標系を用いて表現できる。
【００７６】
視点判定部１１６は、視線ベクトル算出部１１５から絶対視線ベクトルを取得すると、３Ｄモデル展開部１１４がＲＡＭ１０２上に形成した３次元モデルに対し、車両２１の現在位置と絶対視線ベクトルとをマッピングする。そして、視点判定部１１６は、現在位置から伸びる絶対視線ベクトルが何れかの可視道路領域と交わるか判定する。これにより、運転者から何れかの道路が見えているか判定できる。絶対視線ベクトルが何れかの可視道路領域と交わる場合、視点判定部１１６は、その可視道路領域の属する道路を運転者が見ていると判定する。一方、絶対視線ベクトルが何れの可視道路領域とも交わらない場合、視点判定部１１６は、運転者が道路以外のオブジェクトを見ていると判定する。
【００７７】
その結果、運転者の見ているオブジェクトが、次に進入すべき正しい道路、走行中の道路、正しい道路および走行中の道路以外の他の道路、道路以外の他のオブジェクトの４種類に分類される。視点判定部１１６は、この判定を定期的に行うことで、判定したオブジェクトの種類を時系列に並べた視点時系列データを生成する。視点時系列データは、車両２１が遠距離監視区間に入ってからの全ての判定結果を並べたものでもよいし、直近の所定回数の判定結果のみを並べたものであってもよい。なお、運転者が見ているオブジェクトの種類を判定する周期Ｆ２は、可視道路領域を更新する周期Ｆ１より短い。
【００７８】
ミス兆候判定部１１７は、視点判定部１１６が生成した視点時系列データに基づいて、次に通過予定の交差点において誤った道路に進入するという運転ミスが発生する兆候を判定する。運転ミスの原因には、誤った道路を正しい道路と勘違いしている「見落とし」や、複数の道路のうち何れが正しい道路か決定できない「迷い」が含まれる。「見落とし」の兆候としては、例えば、運転者が正しい道路よりも誤った道路を多く見ていることが挙げられる。「迷い」の兆候としては、例えば、運転者が正しい道路と誤った道路とを交互に繰り返し見ており、正しい道路を見た累積の時間と誤った道路を見た累積の時間とが同程度であることが挙げられる。ただし、運転ミスの兆候を判定するにあたり、運転者が道路以外のオブジェクトを見ている時間は無視することが好ましい。
【００７９】
警告部１１８は、ミス兆候判定部１１７によって運転ミスの兆候があると判定すると、運転者に対して警告を行うことを検討する。警告の方法としては、例えば、正しい道路の方向を説明する音声をスピーカ１０６で再生することが考えられる。また、警告の方法として、例えば、正しい道路を強調した地図をディスプレイ１０５に表示し、地図を確認するよう促す音声をスピーカ１０６で再生することも考えられる。ただし、警告部１１８は、車両２１が警告停止区間に入っているときは、警告を抑制する。
【００８０】
図１０は、交差点データの構造例を示す図である。
交差点データ１２１は、交差点３０の３次元モデルを示すデータであり、上記の交差点データ記憶部１１２に格納される。交差点データ１２１は、交差点の名称、中心Ｃの位置、道路３１〜３４の情報、および、道路以外のオブジェクトの情報を含む。道路以外のオブジェクトには、建物４１〜４６や信号機４７が含まれる。
【００８１】
中心Ｃの位置は、例えば、経度・緯度・高度によって表現される。道路３１〜３４それぞれの情報には、その道路の道幅、その道路が伸びている中心Ｃからの方角（例えば、北を基準にした角度）と傾斜、その道路の平均的な交通量などが含まれる。道路３１〜３４は、高低差も考慮して３次元で表現されている。これらの道路３１〜３４の情報は、３次元モデル上に格子点を設定して各格子点の可視／不可視を判定するときに参照される。
【００８２】
建物４１〜４６それぞれの情報には、その建物の位置および外観形状を示す情報が含まれる。各建物の位置は、例えば、中心Ｃからの相対位置として表現される。各建物の外観形状は、例えば、その建物の外形の頂点の集合として表現される。信号機４７の情報には、信号機４７の位置・大きさや信号機４７が向いている方角が含まれる。
【００８３】
図１１は、視点時系列データの構造例を示す図である。
視点時系列データ１２２は、上記の視点判定部１１６によって生成される。視点時系列データ１２２は、「０」，「１」，「２」，「３」の中から選択された数値の列を含む。数値は、運転者が見ているオブジェクトの種類を示す。「０」は、正しい道路（例えば、道路３２）を示す。「１」は、走行中の道路（例えば、道路３１）を示す。「２」は、他の道路（例えば、道路３３，３４）を示す。「３」は、他のオブジェクト（例えば、建物４１〜４６や信号機４７）を示す。視点時系列データ１２２に列挙される数値の順序は、イメージセンサ１０９によって撮像された運転者の顔画像の順序に対応する。例えば、数値列「１１００００３３３」は、運転者が走行中の道路を２単位時間見た後、正しい道路を４単位時間見て、その後に他のオブジェクトを３単位時間見たことを示している。
【００８４】
次に、ナビゲーション装置１００が行う運転ミス予防の処理について説明する。
図１２は、運転ミス予防の手順例を示すフローチャートである。
（Ｓ１０）経路探索部１１３は、地図データ記憶部１１１に記憶された地図データを用いて、位置検出部１０８ａで検出された現在位置から所定距離以内にある交差点（近傍の交差点）を検索する。近傍の交差点のリストは、定期的に更新することが好ましい。経路探索部１１３は、位置検出部１０８ａで検出された車両２１の移動方向を考慮して、近傍の交差点のリストの中から、車両２１が次に通過予定の交差点を選択する。なお、車両２１がＵターンするなど車両２１の動きに応じて、次に通過予定の交差点は変化し得る。
【００８５】
（Ｓ１１）経路探索部１１３は、ステップＳ１０で選択した交差点までの近さの監視を開始する。ここでは、ステップＳ１０において交差点３０を選択したものとする。経路探索部１１３は、近さの指標値として、例えば、地図データを用いて車両２１の現在位置と交差点３０の中心Ｃとの間の距離を算出する。または、経路探索部１１３は、近さの指標値として、例えば、位置検出部１０８ａで検出された移動速度と距離とを用いて、車両２１が交差点３０の中心Ｃに到達する予想所要時間を算出する。
【００８６】
（Ｓ１２）３Ｄモデル展開部１１４は、経路探索部１１３から近さの指標値を取得し、近さの指標値が閾値Ｄ１未満であるか判断する。閾値Ｄ１は、例えば、２００メートルや３０秒などである。近さの指標値が閾値Ｄ１未満の場合、ステップＳ１３に処理が進む。近さの指標値が閾値Ｄ１以上の場合、一定時間待ってステップＳ１２の判断を行う。
【００８７】
（Ｓ１３）３Ｄモデル展開部１１４は、交差点３０に対応する交差点データ１２１を交差点データ記憶部１１２から読み込む。３Ｄモデル展開部１１４は、読み込んだ交差点データ１２１に基づいて、ＲＡＭ１０２のバッファ領域に交差点３０の３次元モデルを形成する。すなわち、３Ｄモデル展開部１１４は、仮想的な３次元空間を形成し、交差点データ１２１に含まれる位置情報や形状情報に従って、仮想的な３次元空間に道路３１〜３４や建物４１〜４６や信号機４７などのオブジェクトを配置する。
【００８８】
（Ｓ１４）３Ｄモデル展開部１１４は、位置検出部１０８ａで検出された車両２１の現在位置を、ステップＳ１３で形成した３次元モデルにマッピングする。ここでは、図４に示すように、車両２１は道路３１を交差点３０の中心Ｃに向かって走行しているとする。
【００８９】
（Ｓ１５）３Ｄモデル展開部１１４は、経路探索部１１３から近さの指標値を取得し、近さの指標値が閾値Ｄ２未満であるか判断する。閾値Ｄ２は、例えば、５０メートルや８秒などである。近さの指標値が閾値Ｄ２以上の場合、ステップＳ１６に処理が進む。近さの指標値が閾値Ｄ２未満の場合、ステップＳ１７に処理が進む。
【００９０】
（Ｓ１６）３Ｄモデル展開部１１４は、ステップＳ１３で形成した３次元モデルにおいて、交差点３０に含まれる道路３１〜３４それぞれの上に格子点を生成する。ここで生成する格子点は、ステップＳ１７で生成するものより粗い格子点であり、車両２１の現在位置を原点とする２次元極座標系の格子点である。そして、ステップＳ１８に処理が進む。
【００９１】
（Ｓ１７）３Ｄモデル展開部１１４は、ステップＳ１３で形成した３次元モデルにおいて、交差点３０に含まれる道路３１〜３４それぞれの上に格子点を生成する。ここで生成する格子点は、ステップＳ１６で生成するものより精細な格子点であり、交差点３０の中心Ｃを原点とする３次元直交座標系の格子点である。
【００９２】
（Ｓ１８）３Ｄモデル展開部１１４は、ステップＳ１６またはステップＳ１７で生成した各格子点の可視／不可視を判定する。例えば、３Ｄモデル展開部１１４は、各格子点について、車両２１の現在位置と当該格子点とを結ぶ線分が、建物４１〜４６などのオブジェクトと交わるか判定する。線分が少なくとも１つのオブジェクトと交わるとき、当該格子点は不可視格子点であると判定される。一方、線分が何れのオブジェクトとも交わらないとき、当該格子点は可視格子点であると判定される。３Ｄモデル展開部１１４は、可視格子点が連続して並んだ道路領域を、可視道路領域として算出する。
【００９３】
図１３は、運転ミス予防の手順例を示すフローチャート（続き）である。
（Ｓ１９）視線ベクトル算出部１１５は、視線検出部１０９ａで算出された相対視線ベクトルを取得する。相対視線ベクトルは、車両２１の進行方向を基準とする運転者の視線の方向を示すベクトルであり、イメージセンサ１０９によって撮像された顔画像を解析して目の位置を検出することで算出される。また、視線ベクトル算出部１１５は、位置検出部１０８ａで算出された車両２１の移動方向を取得する。そして、視線ベクトル算出部１１５は、相対視線ベクトルと移動方向を合成して絶対視線ベクトルを算出する。
【００９４】
（Ｓ２０）視点判定部１１６は、ステップＳ１９で算出された絶対視線ベクトルを３次元モデルにマッピングする。視点判定部１１６は、３次元モデルにおいて、絶対視線ベクトルがステップＳ１８で算出された何れかの可視道路領域と交わるか判断する。絶対視線ベクトルが可視道路領域と交わる場合、ステップＳ２１に処理が進む。絶対視線ベクトルが何れの可視道路領域とも交わらない場合、ステップＳ２３に処理が進む。
【００９５】
（Ｓ２１）視点判定部１１６は、現在位置から目的地に向かう経路に属する道路の情報を、経路探索部１１３から取得する。これにより、交差点３０で分岐する道路３２〜３４のうち、経路探索部１１３が推奨する正しい道路が特定される。ここでは、道路３２〜３４のうち、道路３２を経路探索部１１３が推奨しているものとする。
【００９６】
（Ｓ２２）視点判定部１１６は、絶対視線ベクトルと交わった可視道路領域が、道路３１〜３４の何れに含まれるか確認する。視点判定部１１６は、確認した道路が、ステップＳ２１で特定した正しい道路（道路３２）、車両２１が走行中の道路（道路３１）、それ以外の道路（道路３３，３４）の何れに相当するか判定する。運転者は、判定された種類の道路を見ていたものとみなされる。そして、ステップＳ２４に処理が進む。
【００９７】
（Ｓ２３）視点判定部１１６は、運転者が、道路３１〜３４ではなく、建物４１〜４６や信号機４７などの道路以外のオブジェクトを見ていたものとみなす。
（Ｓ２４）視点判定部１１６は、視点時系列データ１２２を更新する。例えば、視点判定部１１６は、ステップＳ２２またはステップＳ２３で判定したオブジェクトの種類を示す数値を、視点時系列データ１２２の末尾に追加する。オブジェクトの種類は、正しい道路、走行中の道路、その他の道路、その他のオブジェクトの４つに分けられる。
【００９８】
（Ｓ２５）ミス兆候判定部１１７は、ステップＳ２４で更新された視点時系列データ１２２に基づいて、運転ミスの兆候を判定する。このとき、道路以外のオブジェクトを見た時間は除外してよい。例えば、ミス兆候判定部１１７は、誤った道路を見た時間が正しい道路を見た時間よりも顕著に長い場合、運転者が誤った道路に進入しようとしていると判定できる。また、例えば、ミス兆候判定部１１７は、正しい道路を見た累積の時間と誤った道路を見た累積の時間との差が閾値未満であり、かつ、運転者が両者の間で何度か交互に視線を移動させた場合、運転者が進入する道路に迷っていると判定できる。
【００９９】
（Ｓ２６）警告部１１８は、運転ミスの兆候があるか判断する。運転ミスの兆候がある場合はステップＳ２７に処理が進み、兆候がない場合はステップＳ２９に処理が進む。
（Ｓ２７）警告部１１８は、経路探索部１１３から近さの指標値を取得し、近さの指標値が閾値Ｄ３未満であるか判断する。近さの指標値が閾値Ｄ３以上の場合、ステップＳ２８に処理が進む。近さの指標値が閾値Ｄ３未満の場合、ステップＳ２９に処理が進む。
【０１００】
（Ｓ２８）警告部１１８は、運転者に対して警告を行う。例えば、警告部１１８は、経路探索部１１３が推奨する道路の方向（現在の進行方向に対する道路３２の方向である左手）を示す音声をスピーカ１０６で再生する。また、例えば、警告部１１８は、推奨する道路（道路３２）を強調した地図をディスプレイ１０５に表示する。
【０１０１】
（Ｓ２９）３Ｄモデル展開部１１４は、経路探索部１１３から近さの指標値を取得し、車両２１が交差点３０の中心Ｃを通過したか判断する。車両２１が中心Ｃを通過した場合、３Ｄモデル展開部１１４は、ステップＳ１３で形成した３次元モデルをＲＡＭ１０２のバッファ領域から消去する。そして、交差点３０についての運転ミス予防の処理が終了する。車両２１が中心Ｃを通過していない場合、ステップＳ３０に処理が進む。
【０１０２】
（Ｓ３０）３Ｄモデル展開部１１４は、ステップＳ１８で可視道路領域を算出してからの経過時間がＦ１以上であるか判断する。経過時間がＦ１以上である場合、ステップＳ１４に処理が進む。ステップＳ１４〜Ｓ１８の処理は、周期Ｆ１で実行されることになる。一方、経過時間がＦ１未満である場合、ステップＳ１９に処理が進む。ステップＳ１９〜Ｓ２８の処理は、周期Ｆ２（ただし、Ｆ２＜Ｆ１）で実行されることになる。
【０１０３】
図１４は、運転ミス兆候の判定例を示す図である。
ここでは、車両２１の運転者が、交差点３０の中心Ｃから閾値Ｄ１以内（遠距離監視区間）に入ってから、図１４に示すような時間割合でオブジェクトを見ていたとする。運転者が道路３１を見た割合は５％、道路３２を見た割合は３０％、道路３３を見た割合は５％、道路３４を見た割合は５％である。また、運転者が建物４５，４６を見た割合は４０％、信号機４７を見た割合は１５％である。道路３１の走行中は、建物４５，４６によって道路３４の多くの領域が運転者から見えない状態になっている。
【０１０４】
このとき、交差点３０の３次元モデルを使用せずに運転者の視線の方向を分類すると、例えば、集計データ１２３が生成される。集計データ１２３は、建物４１〜４６や信号機４７の存在を考慮せずに、視線の方向を左方向・正面方向・右方向に分類したものである。上記の時間割合を左方向・正面方向・右方向に分類すると、運転者が左方向を見た割合は３０％、正面方向を見た割合は２５％、右方向を見た割合は４５％になる。
【０１０５】
集計データ１２３によれば、運転者が右方向を見た時間割合が最も大きい。そのため、集計データ１２３のみを使用した場合、ナビゲーション装置１００は、右方向にある道路３４へ運転者が進入しようとしていると判定する可能性がある。しかし、実際には、運転者からは道路３４が見えない時間が長く、４５％のうち４０％は道路３４ではなく建物４５，４６を見た時間割合である。そのため、ナビゲーション装置１００は、運転者が正しい道路（道路３２）に進入しようとしているにもかかわらず、誤った道路（道路３４）に進入しようとしていると誤判定して警告を行ってしまう可能性がある。
【０１０６】
一方、交差点３０の３次元モデルを使用して運転者の視線の方向を分類すると、例えば、集計データ１２４が生成される。集計データ１２４は、前述のように、視線の先にあるオブジェクトを、正しい道路・走行中の道路・他の道路・他のオブジェクトに分類したものである。上記の時間割合を正しい道路・走行中の道路・他の道路・他のオブジェクトに分類すると、運転者が正しい道路を見た割合は３０％、走行中の道路を見た割合は５％、他の道路を見た割合は１０％、他のオブジェクトを見た割合は５５％になる。
【０１０７】
集計データ１２４によれば、道路３１〜３４以外のオブジェクトを見た時間を除外すると、正しい道路・走行中の道路・他の道路のうち、運転者が正しい道路を見た時間割合が顕著に大きい。そのため、ナビゲーション装置１００は、正しい道路（道路３２）へ運転者が進入しようとしていると正確に判定することができる。その結果、警告を行うか否かの判定を誤ることを抑制できる。なお、集計データ１２４を用いることによる警告の精度向上は、運転者が道路以外のオブジェクトを見た時間が長い場合に特に効果的である。
【０１０８】
図１５は、交差点における運転者の迷いの例を示す図である。
ここでは、道路３５〜３７を含む三叉路の交差点を考える。車両２１は、道路３５を交差点の中心に向かって走行している。ナビゲーション装置１００は、目的地に向かう経路として道路３７を推奨している。しかし、道路３５から見ると、道路３６と道路３７とが似た方向に向かって分岐している。このため、車両２１の運転者は、ナビゲーション装置１００の推奨する道路が、道路３６であるか道路３７であるか迷う可能性がある。
【０１０９】
このとき、ナビゲーション装置１００は、サッカード（saccade）と呼ばれる目の動きに基づいて「迷い」を検出することができる。サッカードは、視点がある箇所にしばらく留まった後、不連続に他の箇所にジャンプしてジャンプ後の箇所にしばらく留まり、その後更に不連続に他の箇所にジャンプするという、不連続な目の動きである。
【０１１０】
例えば、運転者の視点が道路３６の可視道路領域に留まった累積の時間と道路３７の可視道路領域に留まった累積の時間とが、同程度である（例えば、両者の差が閾値未満である）とき、運転者が道路３６，３７の間で迷っている可能性がある。また、運転者の視点が道路３６の可視道路領域と道路３７の可視道路領域との間で往復する頻度が高い（例えば、往復周期が閾値未満である）とき、運転者が道路３６，３７の間で迷っている可能性がある。そこで、ナビゲーション装置１００は、道路３６，３７を見た時間割合やサッカードの周期に基づいて、運転者の迷いを判定することができる。
【０１１１】
ところで、ナビゲーション装置１００は、近距離監視区間では３次元の可視道路領域を算出することとしている。以下、可視道路領域を３次元にする効果について説明する。
図１６は、可視道路領域の３次元への拡張例を示す図である。
【０１１２】
３次元モデルにおいて、道路の地表面に２次元の格子点を設定した場合、図１６に示すような２次元の可視道路領域５１が算出される。運転者は、可視道路領域５１を見たとき、そこに道路が存在すると認識できる。しかし、可視道路領域５１から少し外れた場所を見たときであっても、運転者がそこに道路が存在すると認識する場合がある。
【０１１３】
例えば、その道路の交通量が多い場合、道路上に多数の車両があるため、車両２１の運転者からは道路の地表面の多くが見えないことがある。この場合、車両２１の運転者は、道路の地表面ではなくその道路を走行する車両を見て、道路が存在すると認識する。このとき、車両２１の運転者は、地表面よりも少し高い箇所を見ていることになる。すなわち、車両２１の運転者の視線が可視道路領域５１と交わっておらず、可視道路領域５１より少し高い箇所を通過している場合であっても、運転者はその道路を認識できている。
【０１１４】
そこで、ナビゲーション装置１００は、可視道路領域５１を高さ方向に拡張した３次元の可視道路領域５２を算出する。車両２１の運転者の視線が可視道路領域５２と交わっている場合、運転者がその道路を認識していると判定できる。これにより、車両２１の運転者の見ているオブジェクトの判定精度を向上させることができる。高さＨは、例えば、道路上を走行する車両の高さの最大値（例えば、４メートル）に設定しておく。
【０１１５】
ただし、ナビゲーション装置１００は、交通量の多寡に応じて、２次元の可視道路領域５１を算出するか３次元の可視道路領域５２を算出するかを選択するようにしてもよい。例えば、ナビゲーション装置１００は、交差点データ１２１に含まれる各道路の交通量の情報を参照する。ナビゲーション装置１００は、交通量の少ない道路については、地表面上に２次元の格子点を設定して２次元の可視道路領域を算出することが考えられる。また、ナビゲーション装置１００は、交通量の多い道路については、地表面から高さＨの範囲に３次元の格子点を設定して３次元の可視道路領域を算出することが考えられる。
【０１１６】
次に、ナビゲーション装置１００が交差点で行う警告の拡張例について説明する。
図１７は、渋滞時における運転者の視界の例を示す図である。
ここでは、図１５に示した道路３５〜３７を含む三叉路の交差点を考える。道路３５が渋滞しておらず車両２１の前方に他の車両が存在しない場合、車両２１の運転者からは道路３６の可視道路領域５３と道路３７の可視道路領域５４の全体を見ることができる。一方、道路３５が渋滞しており車両２１のすぐ前（例えば、２メートル前方）に大型の車両２１ａが走行していると、車両２１の運転者の視界が車両２１ａによって遮られる。その結果、車両２１の運転者からは、可視道路領域５３，５４の大部分が見えない可能性がある。この場合、ナビゲーション装置１００は、運転者が道路３６，３７のうち正しい道路に円滑に進入できるように、交差点の中心に到達する前に予め、交差点の形状（例えば、道路３６，３７の正確な分岐方向）の情報を警告として出力することが考えられる。
【０１１７】
ただし、ナビゲーション装置１００が有する地図データや交差点データは、恒常的に設置されたオブジェクトを示す静的情報であり、走行中の車両を含む動的情報ではない。また、運転者の視線の方向のみでは、運転者から可視道路領域５３，５４が実際に見えているか否かを正確に判定することは難しい。例えば、車両２１の運転者の視線が正面に向いているというだけでは、運転者から道路３６が見えているのか車両２１ａに遮られて見えていないのかを判定することは難しい。そこで、ナビゲーション装置１００は、バージェンス（両眼転動）情報を用いて、運転者と注視点との距離を推定する。
【０１１８】
図１８は、注視点との距離の算出例を示す図である。
視線検出部１０９ａは、右目６１の視線の方向と左目６２の視線の方向との違いから、２つの視線が交わる角度（バージェンス角度）を算出する。バージェンス角度が大きいほど、運転者が当該運転者から近い箇所を注視していることを示している。バージェンス角度が大きいほど、右目６１の黒目と左目６２の黒目とが中央に寄っている。
【０１１９】
車両２１の運転者が車両２１ａを注視しているとき、視線検出部１０９ａは、大きいバージェンス角度α１を検出する。このときの運転者と注視点との間の距離ｄ１は、バージェンス角度α１から推定できる。例えば、バージェンス角度α１＝１．８６度のとき、距離ｄ１＝２メートルである。一方、運転者が可視道路領域５３を注視しているとき、視線検出部１０９ａは、小さなバージェンス角度α２を検出する。このときの運転者と注視点との間の距離ｄ２は、バージェンス角度α２から推定できる。例えば、バージェンス角度α２＝０．１２４度のとき、距離ｄ２＝３０メートルである。なお、理論上、バージェンス角度が０度である、すなわち、右目６１の視線の方向と左目６２の視線の方向とが並行であることは、注視点が運転者から無限遠方にあることを示している。
【０１２０】
このように、ナビゲーション装置１００は、視線検出部１０９ａで検出されたバージェンス角度が小さいとき（例えば、バージェンス角度が閾値未満のとき）、運転者の視界が近くの移動物によって遮られていないと判定する。この場合、ナビゲーション装置１００は、交差点の３次元モデルに従って運転者が見ているオブジェクトを判定すればよく、交差点の形状を知らせるなどの特段の警告を行わなくてもよい。一方、ナビゲーション装置１００は、検出されたバージェンス角度が大きいとき（例えば、バージェンス角度が閾値以上のとき）、運転者の視界が近くの移動物によって遮られていると判定する。この場合、ナビゲーション装置１００は、運転者から多くの道路領域が見えない可能性があるため、交差点の形状を知らせるなどの特段の警告を行うことが好ましい。
【０１２１】
第２の実施の形態のナビゲーション装置１００によれば、道路と道路以外の建物などのオブジェクトとを含む交差点の３次元モデルを用いて、現在位置から運転者の視線の方向に向かって見えるオブジェクトが判定される。これにより、運転者が道路を見ているか道路以外のオブジェクトを見ているかを区別することができる。よって、ナビゲーション装置１００が推奨する道路に対して運転者が十分に注意を向けているか否かの判定精度が向上し、交差点の手前で行う警告の精度が向上する。
【０１２２】
すなわち、推奨する道路に対して運転者が十分な注意を向けているにもかかわらず、警告を出力するという判定ミスを削減できる。また、推奨する道路に対して運転者が十分な注意を向けていないにもかかわらず、警告を出力しないという判定ミスを削減できる。その結果、運転ミスを削減でき、また、快適なナビゲーションを提供できる。
【０１２３】
また、先に各道路について運転者から見える可能性のある可視道路領域が算出され、その後一定時間はその可視道路領域を用いて、運転者が道路を見ているか繰り返し判定される。これにより、ナビゲーション装置１００が３次元モデルを処理する負荷を低減することができる。また、運転者が交差点から遠くに位置するときは粗い精度で可視道路領域が算出され、近くに位置するときは細かい精度で可視道路領域が算出される。これにより、ナビゲーション装置１００の負荷と運転者が見ているオブジェクトの判定精度とのバランスを取ることができる。また、３次元の可視道路領域を算出することで、交通量の多い道路についても運転者がその道路を認識しているか否かを高精度で判定することができる。また、運転者の右目・左目の視線の違いから注視点までの距離を推定することで、渋滞が発生しているか否か応じた適切なナビゲーションを行うことができる。
【０１２４】
なお、前述のように、第１の実施の形態の情報処理は、ナビゲーション装置１０にプログラムを実行させることで実現することができる。また、第２の実施の形態の情報処理は、ナビゲーション装置１００にプログラムを実行させることで実現することができる。
【０１２５】
プログラムは、コンピュータ読み取り可能な記録媒体（例えば、記録媒体１０７ａ）に記録しておくことができる。記録媒体としては、例えば、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどを使用できる。磁気ディスクには、ＦＤおよびＨＤＤが含まれる。光ディスクには、ＣＤ、ＣＤ−Ｒ（Recordable）／ＲＷ（Rewritable）、ＤＶＤおよびＤＶＤ−Ｒ／ＲＷが含まれる。プログラムは、可搬型の記録媒体に記録されて配布されることがある。その場合、可搬型の記録媒体からＨＤＤなどの他の記録媒体（例えば、不揮発性メモリ１０３）にプログラムをコピーして実行してもよい。
【符号の説明】
【０１２６】
２  ３次元モデル
２ａ，２ｂ，２ｃ  道路
２ｄ  建物
２ｅ  ユーザ
２ｆ，２ｇ，２ｈ  視線
１０  ナビゲーション装置
１１  位置検出部
１２  視線検出部
１３  記憶部
１４  制御部
【図１】
2015215197.tif 000003
【図２】
2015215197.tif 000004
【図３】
2015215197.tif 000005
【図４】
2015215197.tif 000006
【図５】
2015215197.tif 000007
【図６】
2015215197.tif 000008
【図７】
2015215197.tif 000009
【図８】
2015215197.tif 000010
【図９】
2015215197.tif 000011
【図１０】
2015215197.tif 000012
【図１１】
2015215197.tif 000013
【図１２】
2015215197.tif 000014
【図１３】
2015215197.tif 000015
【図１４】
2015215197.tif 000016
【図１５】
2015215197.tif 000017
【図１６】
2015215197.tif 000018
【図１７】
2015215197.tif 000019
【図１８】
2015215197.tif 000020