図1は、本実施形態におけるガイド表示システム100の構成を示す図である。ガイド表示システム100は、雪面を走行する車両が撮影している撮影画像に対して走行路を示すガイド情報をAR(Augmented Reality)表示して車両の搭乗者に提供するシステムである。図1に示すように、ガイド表示システム100は、サーバ101 、車両104、105、106、携帯型端末107を含む。サーバ101は、上記のガイド表示サービスを提供するためのサーバである。なお、図1では、サーバ101は1つの装置として示されているが、複数の装置で構成されても良い。即ち、本実施形態におけるサーバ101は、1つの装置でサーバ機能を提供する構成、複数の装置で連携してサーバ機能を提供する構成、を含む。本実施形態で「車両」は、その形態について限定されるものではなく、図1の車両104、105、106で示されるような、四輪車両、鞍乗り型の二輪車両、作業用車両、を含む。作業用車両は、特殊用途のための車両であり、例えば除雪機である。ガイド表示システム100において、車両104、105、106の搭乗者は、ガイド表示サービスを享受することができる。また、スマートフォンのような携帯型端末107もガイド表示システム100に接続可能であり、携帯型端末107を保持して雪面上を移動する移動者は、ガイド表示システム100のガイド表示サービスを享受することができる。なお、本実施形態において、車両の搭乗者とは、車両の運転者や他の乗員を含むものとする。
無線基地局103は、例えばサーバ101がガイド表示サービスを提供可能な領域内に設けられた無線基地局であり、車両104、105、106、携帯型端末107と相互に通信可能である。また、サーバ101は、ネットワーク102を介して無線基地局103と相互に通信可能に構成されている。そのような構成により、例えば、車両104、105、106、携帯型端末107は、位置情報等の車両情報もしくは端末情報をサーバ101に送信可能であり、サーバ101は、車両104、105、106、携帯型端末107に対して表示データを送信可能である。図1では、ネットワーク102は、単体のネットワークとして示されているが、ルータ等により複数のネットワークが構成されても良い。また、サーバ101及び車両104、105、106、携帯型端末107は、図1に示すネットワーク102以外のネットワークにも接続可能であり、例えば、インターネットに接続可能である。
通信機108は、例えば道路沿いに設けられた路側機であり、例えばDSRC(Dedicated Short Range Communication)により、車両104、105、106、携帯型端末107の少なくともいずれかとの通信(路車間通信など)が可能である。例えば、通信機108は、車両104の車両情報をサーバ101に送信するためや、路面の状態情報(積雪状態や凍結状態など)をサーバ101に送信するために用いられる。
図1の構成に限られず、ガイド表示システム100は、他の装置を適宜含んでも良い。例えば、地図情報、交通情報、または気象情報に関するデータベースサーバを含み、サーバ101は、それらのデータベースサーバにアクセス可能なように構成されても良い。
図2は、除雪機である車両106の構成を示す図である。本実施形態では、車両106は、オーガにより雪をかき集め、シュータから雪を投射するクローラ式除雪車両である。車両106の除雪機構の部分を説明する。車両106は、除雪部201を有し、除雪部201は、エンジン221を駆動源とするオーガ203、ブロア204、そり210、及びシュータ205を含む。エンジン221の動力は、小径プーリ207、ベルト208、大径プーリ209、駆動軸206、オーガ軸202の順で伝わり、オーガ203を回転させる。オーガ203は、回転することにより、路上の雪を図面表裏方向にかき集めてブロア204に送り込み、ブロア204の遠心力でシュータ205を介して雪を外部へ投射する。車両106は、また、エンジンカバー220、エンジン空冷用ファン222、空冷用ファン軸223、駆動輪217に接続される出力プーリを有する。
車両106の走行機構の部分を説明する。車両106は、前部に遊動輪211、下部に3個の下部転輪213、214、215を各々回転自在に備えたクローラフレーム212の後部に車体フレーム219を連結し、車体フレーム219の前部に除雪部201が構成されている。ピボット軸218は、クローラフレーム212に車体フレーム219を連結する。車体フレーム219の後部に駆動輪217が構成され、駆動輪217と遊動輪211との間にクローラベルト216が巻き掛けられることで、車両106はクローラ式除雪車両として構成される。また、車両106は、前方を照射可能なヘッドランプ225及びサブヘッドランプ226が取り付けられている。また、操作部224は、車両106の走行機構や除雪機構等に係る各部を制御するための指示を受付可能なヒューマンマシンインタフェースである。
本実施形態においては、車両106はさらに、制御部229を備える。制御部229は、車両106に取り付けられた外部環境を認識するための検知部227、228からの検知信号を取得する。検知部227、228は、例えば、カメラやセンサである。
本実施形態では、車両106は、操縦者が搭乗するタイプであっても良いし、操縦者による手押しタイプであっても良い。 また、車両106は、操縦者が不在の全自動運転が可能な車両であっても良い。操縦者が搭乗するタイプであれば、シート、ハンドルやペダル等の操縦部、操作部224、を含む搭乗部(不図示)がエンジンカバー220の後部に設けられる。
図3は、除雪機である車両106の構成を示すブロック図である。制御部300は、メインとなるプロセッサ301、メモリ302を含む。例えば、プロセッサ301が記憶部315に記憶されたプログラムをメモリ302に読み出して実行することにより、制御部300は、車両106を統括的に制御する。制御部300は、図2の制御部229に対応する。図3の外界認識用カメラ305及び外界認識用センサ306は、図2の検知部227、228に対応する。図3の操作部314は、図2の操作部224に対応する。図3の駆動制御部303は、図2のエンジン221や、車両106の各部の機構を制御する機構制御部(不図示)、電気系統制御部(不図示)に対応する。走行機構310、除雪機構311は、図2で上述した走行機構、除雪機構の各部に対応する。点灯部312は、ヘッドランプ225及びサブヘッドランプ226や、方向指示器(不図示)などの報知機構を含む。表示制御部304は、表示データに基づいて、表示部313への表示を制御する。
記憶部315は、上記のプログラムの他、各種パラメータやデータ等を記憶する。操作部314は、搭乗者からの操縦操作を受け付けるためのハンドルやペダル、計器パネルの他、各種ユーザインタフェース画面等を表示するパネル(表示部313)や設定操作を受け付けるための入力部を含む。通信インタフェース(I/F)309は、無線基地局103と通信するためのアンテナ、信号フォーマットの変換部を含む。GPSセンサ307は、GPS(Global Positioning System)センサであり、車両106の現在位置を検知する。ジャイロセンサ308は、車両106の姿勢を検知する。車両106の姿勢とは、例えば、ロール角、ピッチ角、ヨー角である。
外界認識用カメラ305は、外部環境を撮像するカメラであり、車両106の前方、側方、後方を撮像可能なように取り付けられている。外界認識用センサ306は、例えば、超音波センサであり、車両106の前方に照射した超音波の反射波を検知することにより、積雪面の状態、例えば、積雪面が丘状であることを検知可能である。また、外界認識用センサ306は、例えば、シュータ205の上方、例えば図2の検知部227の位置に設けられた赤外線センサであり、積雪面に赤外線を投射することにより、前方の積雪深を検知可能である。また、例えば、雪質状態、例えば、密度が高く積雪面が固い状態であるか、若しくは、密度が低く積雪面が柔らかい状態であるかを、反射波の強度に基づいて検知可能である。外界認識用カメラ305及び外界認識用センサ306は、図2の検知部227、228の位置に限られない。例えば、車両106の側面でも良いし、ヘッドランプ225の近傍でも良いし、シュータ205の先端に近い部分でも良い。例えば、シュータ205の先端に近い部分に取り付けられることにより、積雪深が2mほどになった場合であっても、車両106の搭乗者から死角となるような前遠方をカメラにより撮像可能となる。
図2及び図3では、除雪機である車両106の構成について説明した。しかしながら、外界を認識するための構成(カメラ等)、位置情報や姿勢情報を認識するための構成(GPSセンサやジャイロセンサ等)、表示部、通信I/Fを備えるのであれば、車両106の構成に限られず、車両104のような四輪車両、車両105のような二輪車両、携帯型端末107であっても良い 。また、図2及び図3では、車両106が、外界を認識するための構成を備えている例を説明したが、車両106に対して外界を認識するための構成が脱着可能であっても良い。例えば、カメラやGPSを備えるスマートフォンを車両106にアタッチメント等で取り付けるようにしても良い。また、車両106は、特殊用途の車両であれば、除雪機に限られず、例えば、農作業機であっても良い。以下、車両106以外の車両として、四輪車両の構成例を説明する。
図4は、四輪車両である車両104の構成の一例を示すブロック図である。制御部400は、メインとなるプロセッサ401、メモリ402を含む。例えば、プロセッサ401が記憶部に記憶されたプログラムをメモリ402に読み出して実行することにより、制御部400は、車両104を統括的に制御する。また、制御部400は、外界認識部403、行動計画部404、駆動制御部405、デバイス制御部406を含む。各ブロックは、1つのECU、若しくは、複数のECUにより実現される。
外界認識部403は、外界認識用カメラ407及び外界認識用センサ408からの信号に基づいて、車両104の外界情報を認識する。ここで、外界認識用カメラ407は、例えば車両104の前方を撮影するカメラであり、ルーフ前部でフロントウィンドウの車室内側に取り付けられたカメラである。また、外界認識用センサ408は、例えば、車両104の周囲の物標を検知したり、物標との距離を測距するLIDAR(Light Detection and Ranging)やミリ波レーダーである。外界認識部403は、外界認識用カメラ407及び外界認識用センサ408からの信号に基づいて、例えば、交差点や踏切、トンネル、路肩等のフリースペース、他車両の挙動(速度や進行方向)を認識する。GPSセンサ409は、車両104の現在位置を検知し、ジャイロセンサ410は、車両104の姿勢を検知する。車両104の姿勢とは、例えば、ロール角、ピッチ角、ヨー角である。
行動計画部404は、外界認識部403、GPSセンサ409で検知した位置情報に基づいて、最適経路、リスク回避経路など、車両104の行動を計画する。行動計画部404は、例えば、交差点や踏切等の開始点や終点に基づく進入判定、他車両の挙動予測に基づく行動計画を行う。駆動制御部405は、行動計画部404による行動計画に基づいて、駆動力出力機構412、ステアリング機構413、ブレーキ機構414を制御する。ここで、駆動力出力機構412は、例えばパワープラントであり、ステアリング機構413は、例えば電動パワーステアリング装置であり、ブレーキ機構414は、例えばディスクブレーキ装置である。
デバイス制御部406は、制御部400に接続されるデバイスを制御する。例えば、デバイス制御部406は、スピーカ415を制御し、警告やナビゲーションのためのメッセージ等、所定の音声メッセージを出力させる。また、例えば、デバイス制御部406は、表示装置416を制御し、各種のインタフェース画面を表示させる。また、例えば、デバイス制御部406は、ナビゲーション装置417を制御し、ナビゲーション装置417での設定情報を取得する。通信インタフェース(I/F)411は、無線基地局103と通信するためのアンテナ、信号フォーマットの変換部を含む。
制御部400は、図4に示す以外の機能ブロックを適宜含んでも良く、例えば、地図情報に基づいて目的地までの最適経路を算出する最適経路算出部を含んでも良い。また、制御部400が、外界認識用カメラ407や外界認識用センサ408以外から外界情報を取得しても良く、例えば、他の車両を経由して外界情報を取得するようにしても良い。また、制御部400は、GPSセンサ409やジャイロセンサ410だけでなく、車両104に設けられた各種センサからの検知信号を受信する。例えば、制御部400は、車両104のドア部に設けられたドアの開閉センサやドアロックの機構センサの検知信号を、ドア部に構成されたECUを介して受信する。それにより、制御部400は、ドアのロック解除や、ドアの開閉動作を検知することができる。
図5は、サーバ101の構成を示すブロック図である。制御部500は、CPUやGPUであるメインのプロセッサ505、ROMやRAMであるメモリ506を含み、サーバ101を統括的に制御する。例えば、プロセッサ505が記憶部501に記憶されたプログラムをメモリ506に読み出して実行することにより、本実施形態の動作が実現される。サーバ101は、記憶媒体に記憶されたプログラムに係る本発明を実施するコンピュータとなり得る。
積雪前状態取得部507は、所定位置における積雪前の状態を表す積雪前画像データを取得する。積雪前状態取得部507は、例えば、 ユーザが積雪のない所定位置の状態を撮影することにより取得する。または、積雪前状態取得部507は、ドローンなどにより、積雪前に撮影したストリートビューのデータを積雪前画像データとして取得する。積雪前状態取得部507は、取得した積雪前画像データを記憶部501に積雪前画像データ514として格納する。積雪前状態取得部507は、定期的に積雪前画像データを取得し、積雪前画像データ514を更新する。
撮影データ取得部508は、車両104、105、106、携帯型端末107で撮影された撮影データを取得する。本実施形態では、撮影データ取得部508により取得される撮影データは、車両104、105、106の走行方向、携帯型端末107の保持者の移動方向の前方における積雪状態を撮影した撮影データである。撮影データ取得部508は、取得した撮影データを記憶部501に撮影データ517として格納する。
車両情報取得部509は、車両104、105、106から車両情報を取得する。ここで、車両情報とは、例えば、車両の位置情報、車両の挙動に関する情報、車両の姿勢に関する情報、車両の属性情報である。車両の位置情報は、例えば緯度及び経度情報であり、車両の挙動に関する情報は、例えば速度や加速度情報、車両の各部の駆動情報や、カメラやセンサなどの検知情報である。車両の姿勢に関する情報は、例えばロール角、ピッチ角、ヨー角の車両の傾き情報である。車両の属性情報とは、例えば、除雪機の車両106のサイズ(小型、中型、若しくは大型)に関する情報である。また、車両情報取得部509は、携帯型端末107から端末情報を取得する。ここで、端末情報とは、例えば、携帯型端末の位置情報、携帯型端末の挙動に関する情報を含む。携帯型端末の位置情報は、例えば緯度及び経度情報であり、携帯型端末の挙動に関する情報は、例えば速度や加速度情報、カメラやセンサなどの検知情報である。本実施形態では、車両106を、車両104、105、106、携帯型端末107の代表例として説明する。従って、説明中の車両情報は、端末情報として置換可能である。車両情報取得部509は、取得した車両情報を記憶部501に車両情報518(若しくは、端末情報)として格納する。
画像認識部510は、撮影データ取得部508により取得された撮影データを解析し、画像認識を行う。画像認識部510は、例えば、撮影データの表す画像からオブジェクトを抽出する。画像認識部510によるオブジェクトの抽出については後述する。
ARオブジェクト生成部511は、積雪前状態取得部507により取得された積雪前画像データに基づいて、ARオブジェクトを生成する。ARオブジェクト生成部511によるARオブジェクトの生成については後述する。表示データ生成部512は、撮影データ取得部508により取得された撮影データと、ARオブジェクト生成部511により生成されたARオブジェクトとに基づいて、AR表示させるための表示データを生成する。表示データ生成部512による表示データの生成については後述する。
環境情報取得部513は、車両の走行路の環境に関する環境情報を取得する。環境情報とは、例えば、積雪に関する情報、車両の走行路周辺の移動物(歩行者等)に関する情報、走行路の傾斜情報や幅情報である。環境情報取得部513は、例えば、道路近傍に設置されている通信機108や路面状況センサ、外部のデータベースサーバから環境情報を取得する。また、環境情報取得部513は、車両106から積雪に関する情報を取得する場合もある。なお、積雪に関する情報とは、例えば積雪深や雪質(固さなど)に関する情報である。環境情報取得部513は、取得した環境情報を記憶物501に環境情報515として格納する。また、環境情報取得部513は、定期的に環境情報を取得し、環境情報515を更新するようにする。
記憶部501は、プログラムや各種パラメータ、データ等を記憶する。また、上述のように、記憶部501は、積雪前画像データ514、環境情報515、撮影データ517、車両情報518を記憶する。撮影データ517、車両情報518は、各車両から取得する情報であるので、各車両ごとの情報516として相互に関連付けられて記憶される。また、各車両ごとの情報516には、後述する除雪量情報519も含まれる。
表示部502は、例えば、ディスプレイであり、各種ユーザインタフェース画面を表示する。操作部503は、例えば、キーボードやポインティングデバイスであり、ユーザ操作を受け付ける。通信インタフェース(I/F)504は、ネットワーク102との通信を可能にするためのインタフェースであり、ネットワーク102の媒体に応じた構成を有する。
以下、本実施形態の動作について説明する。本実施形態では、例えば、四輪車両104が積雪された走行路を走行する状況や、除雪機である車両106が積雪された走行路上を除雪作業する状況を想定している。積雪深が数cmから数十cmとなると、走行路は完全に雪に覆われ、さらには、走行路と非走行路の境界の認識は困難となる。走行路と非走行路との境界には、例えば、側溝や用水路、縁石、花壇や植樹等が存在する場合がある。そのような場合、車両の搭乗者は、意図せずに、それらの上を走行してしまうおそれがある。積雪されていない状態であれば、例えば、四輪車両の外界認識用カメラ407や外界認識用センサ408によって、走行路と非走行路の境界を認識することが可能である。しかしながら、上記のような状況であれば、それらのデバイスを用いても、走行路と非走行路の境界の認識は困難である。
そこで、本実施形態では、車両の走行位置に対応する場所を、ユーザ自身により若しくはストリートビューなどで予め撮影しておいた積雪前画像データからARオブジェクトを生成し、そのARオブジェクトを車両が撮影した撮影データに対して重畳してAR表示させる。以下、車両106を車両104、105、106、携帯型端末107の代表例として説明する。
図6は、本実施形態におけるAR表示データの生成を説明するための図である。撮影データ601は、車両106が撮影した撮影データである。図16は、撮影データ601の一例を示す図である。撮影データ601は、車両106の前方を撮影した撮影データであり、図16に示すように、一面が雪で覆われ、走行路を認識することができない。
積雪前画像データ602は、サーバ101の記憶部501に記憶されているデータであり、例えば、撮影データ601の撮影画像の位置に対応する積雪前のストリートビューデータである。図17は、積雪前画像データ602の一例を示す図である。図17に示すように、図16の撮影データ601が表す積雪前の状態を示しており、走行路や側溝を認識することができる。
本実施形態では、積雪前画像データ602からARオブジェクト603を生成し、撮影データ601に対して、生成されたARオブジェクト603を重畳することで、AR表示データ604を生成する。図18は、ARオブジェクト603の一例を示す図であり、図19は、AR表示データ604の一例を示す図である。図19に示すように、AR表示データ604は、図16の撮影データ601に対して、図18のARオブジェクト603が重畳されている。そして、車両106の表示部313には、図19のAR表示データ604が表示される。
本実施形態では、上記のように走行路をガイドするためのAR表示が行われるので、車両106の搭乗者は、雪面のどこが走行路であり、どこが走行路でないかを容易に認識することができる。
図7は、車両106において実行される、AR表示をサーバ101に要求する処理を示すフローチャートである。図7の処理は、例えば、プロセッサ301が記憶部315に記憶されたプログラムをメモリ302にロードして実行することにより実現される。
S101において、制御部300は、AR表示を行う指示を受け付けたか否かを判定する。この判定は、例えば、車両106の表示部313に表示されたユーザインタフェース画面のメニュー項目(「AR表示の実施」項目など)が操作部314によって選択されたか否かに応じて判定されても良い。上記のユーザインタフェース画面は、例えば、サーバ101から提供されたアプリケーションを起動することにより表示される画面である。AR表示を行う指示を受け付けたと判定された場合、S102に進み、AR表示を行う指示を受け付けていないと判定された場合、図7の処理を終了する。
S102において、制御部300は、車両106の走行方向前方の撮影データを取得する。その際、撮影データは、静止画像データでも良いし、動画像データでも良い。S103において、制御部300は、車両106の識別情報とともに、AR表示データの要求をサーバ101に送信する。
S104において、制御部300は、車両106の識別情報とともに、車両情報、及びS102で取得された撮影データをサーバ101に送信する。ここで、車両情報とは、例えば、GPSセンサ307により検知された位置情報である。また、車両情報として、他の情報を含んでも良く、例えば、ジャイロセンサ308により検知された車両106の姿勢や挙動に関する情報、外界認識用センサ306により検知された積雪に関する情報を含んでも良い。
そして、S105において、制御部300は、サーバ101からAR表示データを受信し、S106において、受信したAR表示データに基づいてAR表示する。S107において、制御部300は、AR表示を継続するか否かを判定する。例えば、制御部300は、車両106の停止、AR表示の終了の指示の受付け、を検出した場合には、AR表示を継続しないと判定する。AR表示を継続すると判定された場合、S102からの処理を繰り返し、AR表示を継続しないと判定された場合、図7の処理を終了する。
図8は、サーバ101において実行される、AR表示データを生成する処理を示すフローチャートである。図8の処理は、例えば、プロセッサ505が記憶部501に記憶されたプログラムをメモリ506にロードして実行することにより実現される。
S201において、制御部500は、AR表示データの要求を受信したか否かを判定する。AR表示データの要求を受信したと判定された場合、S202へ進み、AR表示データの要求を受信していないと判定された場合、S201の処理を繰り返す。
S202において、制御部500は、車両情報を取得し、車両106の識別情報とともに記憶部501に車両情報518として格納する。S203において、制御部500は、撮影データを取得し、車両106の識別情報とともに記憶部501に撮影データ517として格納する。S204において、制御部500は、積雪前画像データを取得する。
図9は、S204の積雪前画像データを取得する処理を示すフローチャートである。S301において、制御部500は、S203で取得された撮影データに対して画像認識を行い、S302において、オブジェクトを抽出する。画像認識の結果、例えば、樹木、ビル、電柱といったように複数のオブジェクトが認識され得る。S302では、制御部500は、撮影データの画像内において少なくとも2つのオブジェクトを抽出するようにする。例えば、図16の撮影データの場合、オブジェクト801とオブジェクト802を抽出する。そのように抽出することで、後述するように、撮影データと積雪前画像データの間の方向性のずれを検出することが可能となる。
S303において、制御部500は、S302で抽出されたオブジェクトを含む積雪前画像データが存在するか否かを判定する。S303では、制御部500は、記憶部501に記憶された積雪前画像データ514のうち車両106の位置に対応する積雪前画像データを対象として、S302で抽出されたオブジェクトを含む積雪前画像データが存在するか否かを判定する。S302で抽出されたオブジェクトを含む積雪前画像データが存在すると判定された場合、S306において、制御部500は、その積雪前画像データを取得する。S306の後、図9の処理を終了し、図8のS205に進む。一方、S303で抽出されたオブジェクトを含む積雪前画像データが存在しないと判定された場合、S304に進む。例えば、図17の積雪前画像データは、図16の撮影データで抽出されたオブジェクト801及び802に対応するオブジェクト901及び902を含んでいる。その場合、S302で抽出されたオブジェクトを含む積雪前画像データが存在すると判定される。
S304において、制御部500は、撮影データの画像認識の結果、抽出された全てのオブジェクトについてS303の判定が終了したか否かを判定する。抽出された全てのオブジェクトについて終了していないと判定された場合、S302に戻り、他のオブジェクトを抽出する。一方、抽出された全てのオブジェクトについて終了していると判定された場合、図8のS205のARオブジェクトの生成が実行できないので、AR表示ができない旨の通知メッセージデータを車両106の制御部300に送信する。S305の後、図9及び図8の処理を終了する。通知メッセージデータを受信した車両106の制御部300は、表示部313にその通知メッセージを表示する。なお、通知メッセージデータは、表示用のデータでも良いし、音声出力用のデータでも良い。
上述のように図8のS204の処理が行われると、車両106の位置に対応した積雪前画像データが取得される。S204の後、S205において、制御部500は、S204で取得された積雪前画像データに基づいてARオブジェクトを生成する。
図10は、S205のARオブジェクトを生成する処理を示すフローチャートである。S401において、制御部500は、S203で取得された撮影データと、S306で取得された積雪前画像データとを比較する。S402において、制御部500は、比較の結果、S203で取得された撮影データとS306で取得された積雪前画像データとの間で、撮影位置や撮影角度の違いによって生じる方向性のずれがあるか否かを判定する。
方向性のずれの判定については、例えば、以下のように行う。図11に示すように、2本の物体701及び702を方向Aから撮影した場合、その撮影画像内での物体間の距離が距離703であるとする。一方、角度θ1分回転した方向Bから撮影した場合、その撮影画像内での物体間の距離は距離704となり、角度θ2分回転した方向Cから撮影した場合、その撮影画像内での物体間の距離は距離705となる。図11に示すように、回転角度が大きくなるにつれて、撮影画像内での物体間の距離は短くなる。つまり、方向性と撮影画像内での物体間の距離とは相関関係があるといえる。従って、S401の比較の結果、S302で抽出された複数のオブジェクト間の距離について、撮影データと積雪前画像データとで所定以上の差がある場合には、方向性のずれがあると判定する。S402で方向性のずれがあると判定された場合、S403へ進み、S402で方向性のずれがないと判定された場合、S404へ進む。
S403において、制御部500は、方向性のずれに応じて、積雪前画像データを補正する。ここでの補正とは、S306で取得された積雪前画像データをS203で取得された撮影データの方向性に合わせる、即ち、S402で判定されたずれを解消するための補正であって、例えば、図11の角度θ1分の回転である。積雪前画像データの撮影座標と車両106の位置とに基づいて、回転が行われた後、撮影方向(例えば方向B)上の移動(物体701及び702に接近するか若しくは物体701及び702から遠ざかる)を行うようにしても良い。
S404において、制御部500は、車両106の搭乗者により指定されたAR表示モードを取得する。AR表示モードとは、後述する追加オブジェクトを表示させるか否かについての情報である。本実施形態では、図19に示すような走行路と非走行路を識別可能とするAR表示を、標準のAR表示モードとする。また、本実施形態では、標準のAR表示の他、車両106の傾きや、人などの移動体が近くにいることなどをAR表示により警告する表示モードが可能である。それらの表示モードの選択情報は、例えば、図7のS103でAR表示データの要求とともに送信される。ここでは、標準のAR表示モードのみが選択されているとして説明する。
S405において、制御部500は、画像認識部510による画像認識結果を用いて、走行路識別用のARオブジェクトを生成する。
図18は、ARオブジェクトの一例を示す図である。例えば、サーバ101の画像認識部510は、図17の積雪前画像データ602に対して画像認識を行い、オブジェクトを抽出する。ここで抽出されるオブジェクトは、走行路と非走行路の境界を認識するためのオブジェクトであり、例えば、側溝や用水路、縁石、花壇や植樹である。これらの画像認識対象のオブジェクトについては、サーバ101において予め深層学習等により学習されており、画像認識部510は、その学習済みのモデルを用いて、積雪前画像データ602からそれらのオブジェクトを抽出する。
例えば、画像認識部510は、図17の積雪前画像データ602の画像認識の結果、側溝905、車止め903、走行路端904を認識する。そして、画像認識部510は、図18のARオブジェクト1001、1002、1003、1004、1005を生成する。ここで、ARオブジェクト1001は側溝905に対応し、ARオブジェクト1002は走行路端904に対応している。また、ARオブジェクト1003は、車止め903に対応している。また、ARオブジェクト1004は、走行できない(進入できない)という意味を表す警告マークであり、側溝905、車止め903、走行路端904に対応するARオブジェクト1001、1003、1002の近傍に配置される。また、ARオブジェクト1005は、走行可能なエリアを表すためのARオブジェクトである。ARオブジェクト1005は、走行方向に向かっての矢印の形とされているが、走行可能であることを表すものであるならば、図18に示す形状でなくても良い。また、ARオブジェクト1005は、画面奥側に向かって色が順次点滅していくような動的に表示されるものであっても良い。
S406において、制御部500は、S404で取得されたAR表示モードに基づいて、追加ARオブジェクトを生成するか否かを判定する。ここで、追加ARオブジェクトを生成すると判定された場合、S407に進み、追加ARオブジェクトが生成される。S407の処理については後述する。一方、追加ARオブジェクトを生成しないと判定された場合、図10の処理を終了し、図8のS206へ進む。上述のように標準のAR表示モードのみが選択されている場合には、S406で、追加ARオブジェクトを生成しないと判定される。
図8のS206において、制御部500は、AR表示データを生成する。図6で説明したように、制御部500は、S203で取得された撮影データに対して、S205で生成されたARオブジェクトを重畳することによりAR表示データを生成する。
S207において、制御部500は、S206で生成されたAR表示データを通信I/F504を介して車両106に送信する。車両106の制御部300は、受信したAR表示データに基づいて、AR表示画面を表示部313に表示させる。表示部313には、例えば図19のような撮影データにARオブジェクトが重畳されたAR表示画面が表示される。S207の後、図8の処理を終了する。なお、車両106の搭乗者による画面上の各ARオブジェクトにアイコンを合わせるか若しくはクリックするかなどの操作に応じて、ARオブジェクトの説明を表示させるようにしても良い。例えば、アイコンをARオブジェクト1003に合わせることにより、「車止めです。行き止まりで通行できません。」といったバルーン表示をするようにしても良い。また、アイコンの説明については、サーバ101から予め提供されたアプリケーションのユーザインタフェース画面内など、他の方法によって提示されるようにしても良い。
以下、図10のS406で追加ARオブジェクトを生成すると判定された場合の処理について説明する。
図12は、S407の追加ARオブジェクトを生成する処理を示すフローチャートである。以降のS501、S503、S505、S507の判定は、例えば、AR表示を行う指示を受け付ける際のユーザインタフェース画面のメニュー項目の選択状態に基づいて行われる。例えば、そのユーザインタフェース画面には、「AR表示の実施」というメニュー項目にさらに「追加AR表示」というサブメニュー項目が設けられ、その詳細項目として「警告」「作業ライン」「積雪情報」「除雪量」の各表示の要否の選択が可能なように表示される。それらの選択情報は、例えば、S201でAR表示データの要求とともに受信される。
S501において、制御部500は、上記の選択情報に基づいて、警告オブジェクトを表示するか否かを判定する。警告オブジェクトを表示すると判定された場合、S502へ進み、警告オブジェクトの生成が行われる。一方、警告オブジェクトを表示しないと判定された場合、警告オブジェクトの生成は行われずにS503へ進む。
警告オブジェクトの生成の一例について説明する。例えば、警告オブジェクトは、車両106の傾きが所定以上となった場合にその旨をAR表示により警告通知するためのARオブジェクトである。積雪された走行路を走行する際、積雪深の程度や雪質によっては車両が傾いてしまい、その傾きの程度が大きれば、転倒などを引き起こしてしまうおそれがある。そこで、本実施形態では、制御部500は、車両106の傾き状態を監視し、所定以上となった場合には、車両106に警告オブジェクトを表示させる。
S501で警告オブジェクトを表示すると判定された場合には、S502において、制御部500は、車両106の車両情報により、車両106の傾きの監視を実行する。例えば、制御部500は、所定の時間間隔で車両106から姿勢に関する情報を取得する。車両106の傾きの監視が実行されることに並行して、図12の処理は、S502からS503へ進む。
図13は、車両106の傾きの監視の処理を示すフローチャートである。S601において、制御部500は、車両106から傾き(姿勢)に関する情報を取得する。そして、S602において、S601で取得した傾きに関する情報が示す、例えばロール角やピッチ角が閾値以上であるか否かを判定する。閾値以上でないと判定された場合、S601の処理を繰り返す。一方、閾値以上であると判定された場合、S603において、制御部500は、警告オブジェクトを生成する。
図22は、車両106の傾きを警告する警告オブジェクトの一例を示す図である。図22に示すように、警告オブジェクト1301が表示される。図22では、警告オブジェクト1301は、矢印方向に傾きを繰り返すような動的な表示が行われるが、その表示形態については限定されるものではなく、車両106の傾きを警告するものであれば、点滅表示やテキスト表示など他の表示形態であっても良い。S603の後、図13の処理を終了し、図12の処理が再開されるか、若しくは、図12の処理が終了していれば、図8のS206へ進む。
S502の警告オブジェクトの生成の他の一例について説明する。例えば、警告オブジェクトとは、車両106の搭乗者から死角となるような位置に人などの移動体がいる場合に、その旨を警告通知するためのARオブジェクトである。極めて激しい降雪の際、その積雪深は数mに及び、壁状態となった雪の向こう側に人がいても、車両106の搭乗者から見えないことがある。搭乗者がそのような人の存在を意識することなく除雪作業をすると、シュータ205から投射された雪を人の頭上に落下させてしまうおそれがある。そこで、本実施形態では、制御部500は、車両106の搭乗者からの死角に移動体が存在することが推定される場合には、その旨の警告オブジェクトをAR表示させる。
図14は、S502の警告オブジェクトを生成する処理を示すフローチャートである。S701において、制御部500は、車両106の位置周辺の環境情報を取得する。環境情報とは、例えば、車両106の位置周辺の移動体の存在に関する情報である。ここで、移動体とは、例えば、歩行者、自転車、車両である。制御部500は、路側機等の通信機108から取得するようにしても良いし、外部のデータベースサーバから取得するようにしても良い。もしくは、制御部500は、車両情報から移動体の存在に関する情報を取得するようにしても良い。例えば、制御部500は、車両106のシュータ205の先端に近い部分に取り付けられたカメラの画像データを取得するようにしても良い。
S702において、制御部500は、S701で取得された環境情報に基づいて、移動体を認識したか否かを判定する。ここで、移動体を認識したと判定された場合、S703へ進む。一方、移動体を認識していないと判定された場合、警告オブジェクトを生成する必要がないので、図14の処理を終了し、図12のS503へ進む。
S703において、制御部500は、S203で取得した撮影データの画像認識を行い、S704において、撮影データ上で移動体を認識したか否かを判定する。S704で移動体を認識したと判定された場合、S705で警告オブジェクトを生成する。S705に進むケースとは、例えば、車両106の進行方向上、右前方に歩行者が存在することが環境情報から認識され、且つ、車両106による撮影データにおいても認識されている状態である。従って、S705では、制御部500は、撮影データ上で認識された歩行者のオブジェクトを四角形で囲うなど、搭乗者から容易に識別可能なように警告オブジェクトを生成する。S705の後、図14の処理を終了し、図12のS503へ進む。
一方、S704で移動体を認識していないと判定された場合、S706で警告オブジェクトを生成する。S706に進むケースとは、例えば、車両106の進行方向上、右前方に歩行者が存在することが環境情報から認識される一方、車両106による撮影データデータにおいては認識されていない状態である。これは、図23に示すように、車両106の右前方の積雪深が数mであり、積雪の向こう側の歩行者が搭乗者から見えない状態の場合にあり得る。そこで、S706では、図23の警告オブジェクト1401のように警告オブジェクトを生成し、その近傍に「雪の向こう側に人がいます!」といったメッセージを表示する。そのような警告表示により、車両106の搭乗者から死角となる位置に存在する移動体を、搭乗者に認識させることができる。また、警告メッセージ1401は、点滅などで動的に表示させることにより認識効果を高めるようにしても良い。S706の後、図14の処理を終了し、図12のS503へ進む。
再び、図12を参照する。S503において、制御部500は、選択情報に基づいて、作業ラインを表示するか否かを判定する。作業ラインを表示すると判定された場合、S504へ進み、作業ラインオブジェクトの生成が行われる。一方、作業ラインを表示しないと判定された場合、作業ラインオブジェクトの生成は行われずにS505へ進む。
作業ラインオブジェクトの生成の一例について説明する。例えば、作業ラインオブジェクトとは、除雪機である車両106の除雪作業ラインである。車両106が小型の除雪機であり且つ走行路幅が広い場合には、一定の距離を往復しながら作業が行われる。また、手押しタイプの除雪機の場合には、積雪状態や搭乗者の作業の熟達度によっては、直線で走行させることが難しい場合がある。そこで、本実施形態では、制御部500は、例えば図20に示すように、走行路と非走行路を識別可能に表示することに加えて、作業ラインオブジェクト1101のように、作業ラインをAR表示させる。その際、制御部500は、車両106から取得した車両情報と、環境情報とに応じて、作業ラインオブジェクトを生成する。例えば、中型サイズの除雪機と小型サイズの除雪機とでは、同じ走行路幅に対する往復回数は異なる。従って、S504において、制御部500は、車両情報から得られる除雪機のサイズと環境情報から得られる走行路幅とに基づいて往復回数を決定し、その往復回数に応じた作業ラインオブジェクトを生成する。例えば、図20の作業ラインオブジェクト1101によると、3往復した後、走行路から抜けるように誘導される。このように、車両106の搭乗者に対して、側溝905がない部分から走行路外へ出る経路を搭乗者に対して容易に認識させることができる。
車両106の走行に応じて、作業ラインオブジェクト1101の表示を変化させるようにしても良い。例えば、車両106が作業ラインオブジェクト1101の作業ラインから大きく逸脱するようなラインを走行している場合には、作業ラインオブジェクト1101の色を赤色点滅表示させるとともに、「ラインを外れています」等のメッセージを表示するようにしても良い。S504の後、S505へ進む。
S505において、制御部500は、選択情報に基づいて、積雪に関する情報を表示するか否かを判定する。積雪に関する情報を表示すると判定された場合、S506へ進み、積雪情報オブジェクトの生成が行われる。一方、積雪に関する情報を表示しないと判定された場合、積雪情報オブジェクトの生成は行われずにS507へ進む。
積雪情報オブジェクトの生成の一例について説明する。積雪された雪の密度などの雪質は、積雪場所によって異なることがある。そのような雪質の違いは、車両106の走行に対してばかりでなく、除雪機の除雪作業に対しても影響を及ぼす可能性がある。そこで、本実施形態では、制御部500は、例えば図21に示すように、走行路と非走行路を識別可能に表示することに加えて、積雪情報オブジェクト1201、1202、1203のように、雪質の違いをAR表示させる。制御部500は、雪質の情報に応じて、積雪情報オブジェクト1201、1202、1203を生成する。例えば、積雪情報オブジェクト1201、1202、1203は、その順で、雪の密度が高くなる(固さが増す)ことを表している。なお、雪質の情報は、車両106からの車両情報(センサ情報)から取得しても良いし、環境情報から取得しても良い。図21のような表示により、走行路から離れるに従って雪質が固くなるといったことを車両106の搭乗者に容易に認識させることができる。なお、図21では、本表示の説明上、オブジェクト1005の表示を省略しているが、オブジェクト1005を合わせて表示するようにしても良い。
積雪に関する情報として、雪質に限られず、他の情報であっても良い。例えば、積雪深であっても良い。その場合、制御部500は、走行路と非走行路を識別可能に表示することに加えて、積雪深の情報をAR表示させる。そのAR表示の形態として、例えば、撮影データにおいて、丘状に積雪された雪山と認識されるオブジェクトの傍らに「1m」といった数値表示をするようにしても良い。若しくは、その雪山と認識されるオブジェクトに等高線(50cmライン、1mラインなど)を重畳するようにしても良い。S506の後、S507へ進む。
S507において、制御部500は、選択情報に基づいて、除雪量を表示するか否かを判定する。除雪量を表示すると判定された場合、S508へ進み、除雪量オブジェクトの生成が行われる。一方、除雪量を表示しないと判定された場合、除雪量オブジェクトの生成は行われずに図12の処理を終了し、図8のS206へ進む。
除雪量オブジェクトの生成の一例について説明する。図15は、除雪量オブジェクトを生成する処理の一例を示すフローチャートである。S801において、制御部500は、車両106からの車両情報に基づいて、除雪中であるか否かを判定する。除雪中であると判定された場合、S802へ進む。一方、停止しているなど、除雪中でないと判定された場合、図15及び図12の処理を終了し、図8のS206へ進む。
S802において、制御部500は、除雪量情報を取得する。制御部500は、例えば、車両106からの車両情報からエンジントルクを除雪量情報として取得するようにしても良い。そして、S803において、制御部500は、取得したエンジントルクに基づいて、除雪量を推定する。
S804において、制御部500は、S803で推定された除雪量に応じて、除雪量オブジェクトを生成する。除雪量オブジェクトとは、数値を示すオブジェクトであり、例えば「10t/h」といった数値表示を画面端部にスコアのように表示させるためのオブジェクトである。そのような表示により、搭乗者に対してゲーム感覚を抱かせたり、除雪作業に伴う収入換算に用いることができる。S804の後、S801の処理が繰り返される。なお、S801~S804の処理が実行されることに並行して、図8のS206以降の処理が実行される。
制御部500は、S802で取得した除雪量情報を記憶部501に除雪量情報519として蓄積し、メンテナンスの通知に用いるようにしても良い。例えば、制御部500は、蓄積された除雪量情報519に基づいて、バッテリ交換などの消耗品交換の時期である旨を車両106に通知するようにしても良い。
以上のように、本実施形態によれば、車両が雪面上を走行する場合、搭乗者に対して走行路と非走行路を容易に認識させることができる。また、本実施形態では、図1に示すように、サーバ101が車両104、105、106、携帯型端末107と別装置として構成される形態を説明したが、サーバ101の少なくとも一部が車両104、105、106、携帯型端末107に構成されるようにし、撮影データを取得してから、AR表示データを生成してAR表示するまでのリアルタイム性を向上するようにしても良い。
<実施形態のまとめ>
上記実施形態のガイド表示方法は、所定位置における積雪後の状態を表す撮影データを取得する第1取得工程(S203)と、前記第1取得工程において取得された前記撮影データに基づいて、前記所定位置における積雪前の状態を表す画像データを記憶する第1記憶手段(514)から前記撮影データの表す前記積雪後の状態に対応する画像データを取得する第2取得工程(S204)と、前記第1取得工程において取得された前記撮影データと、前記第2取得工程において取得された前記画像データとに基づいて、前記撮影データの表す前記積雪後の状態で走行するためのガイドを表示するための表示データを生成する生成工程(S205)とを有することを特徴とする。
そのような構成により、車両が雪面上を走行する場合、搭乗者に対して走行路と非走行路を容易に認識させることができる。
また、前記ガイドは、走行路を表すオブジェクトと、非走行路を表すオブジェクトとを含むことを特徴とする。また、前記非走行路を表すオブジェクトは、側溝を含むことを特徴とする。
そのような構成により、例えば、搭乗者に対して、側溝を容易に認識させることができる。
また、前記第2取得工程は、前記第1取得工程において取得された前記撮影データで認識されるオブジェクトを含む前記画像データを前記第1記憶手段から取得する(図9)ことを特徴とする。
そのような構成により、オブジェクトに基づいて、積雪前の状態を表す画像データを取得することができる。
また、ガイド表示方法は、前記第1取得工程において取得された前記撮影データと、前記第1記憶手段から取得された前記画像データとの方向性のずれがあるか否かを判定する判定工程(S402)と、前記判定工程において前記方向性のずれがあると判定された場合、該方向性のずれを解消するように、前記第1記憶手段から取得された前記画像データを補正する補正工程(S403)と、をさらに有し、前記第2取得工程は、前記補正工程において補正された画像データを取得することを特徴とする。
そのような構成により、積雪前の状態を表す画像データの方向性が撮影データの方向性とずれていたとしても、表示データの生成のために用いることができる。
また、ガイド表示方法は、前記生成工程において生成された前記表示データに基づいて、前記積雪後の状態に前記ガイドが重畳された画面を表示装置に表示させる表示制御工程(S206、S207)、をさらに有することを特徴とする。また、前記表示装置(313)は、移動体に構成されていることを特徴とする。
そのような構成により、積雪後の状態にガイドが重畳された画面を表示装置に表示させることができる。
また、ガイド表示方法は、前記移動体の傾きの情報を取得する第3取得工程(図13)、をさらに有し、前記生成工程は、前記移動体の傾きが所定以上であることを通知するためのオブジェクトをさらに生成することを特徴とする。
そのような構成により、移動体の傾きが所定以上となった場合に通知することができる。
また、ガイド表示方法は、前記移動体は、除雪機であることを特徴とする。また、ガイド表示方法は、前記除雪機による除雪量の情報を取得する第4取得工程(図15)、をさらに有し、前記生成工程は、前記除雪量の情報を通知するためのオブジェクトをさらに生成することを特徴とする。また、ガイド表示方法は、前記第4取得工程において取得された前記除雪量の情報を第2記憶手段(519)に格納する格納工程、をさらに有することを特徴とする。
そのような構成により、除雪機である車両に対して、除雪量の情報を通知することができる。
本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。