(57)【特許請求の範囲】
【請求項１】
第１の移動体の移動過程において撮像された第１の映像データを構成するフレームごとに、当該フレームに係る画像データから物体と当該物体の領域を検出する検出部と、
前記第１の映像データと、前記第１の映像データの撮像に対応して前記第１の移動体に関して計測された第１のセンサデータの特徴と、前記物体及び当該物体の領域の検出結果と、前記第１の映像データに係る移動状況を示す情報とに基づいて、映像データ及びセンサデータを入力とし各移動状況の確率を出力とするＤＮＮモデルを学習する学習部と、
を有することを特徴とする移動状況解析装置。
【請求項２】
前記検出部は、第２の移動体の移動過程において撮像された第２の映像データを構成するフレームごとに、当該フレームに係る画像データから物体と当該物体の領域を検出し、
前記第２の映像データと、前記第２の映像データの撮像に対応して前記第２の移動体に関して計測された第２のセンサデータと、前記第２の映像データを構成するフレームに係る画像データから検出された物体及び当該物体の領域の検出結果とを前記ＤＮＮモデルに入力して、前記第２の映像データについて、各移動状況の確率を計算する計算部、
を有することを特徴とする請求項１記載の移動状況解析装置。
【請求項３】
前記検出部による前記物体及び当該物体の領域の検出結果に基づいて、各物体が出現する領域の特徴を示すデータを生成する生成部を有し、
前記学習部は、前記生成部が前記第１の映像データに関して生成したデータに基づいて、前記ＤＮＮモデルを学習し、
前記計算部は、前記生成部が前記第２の映像データに関して生成したデータに基づいて、各移動状況の確率を計算する、
ことを特徴とする請求項２記載の移動状況解析装置。
【請求項４】
第１の移動体の移動過程において撮像された第１の映像データを構成するフレームごとに、当該フレームに係る画像データから物体と当該物体の領域を検出する検出手順と、
前記第１の映像データと、前記第１の映像データの撮像に対応して前記第１の移動体に関して計測された第１のセンサデータの特徴と、前記物体及び当該物体の領域の検出結果と、前記第１の映像データに係る移動状況を示す情報とに基づいて、映像データ及びセンサデータを入力とし各移動状況の確率を出力とするＤＮＮモデルを学習する学習手順と、
をコンピュータが実行することを特徴とする移動状況解析方法。
【請求項５】
前記検出手順は、第２の移動体の移動過程において撮像された第２の映像データを構成するフレームごとに、当該フレームに係る画像データから物体と当該物体の領域を検出し、
前記第２の映像データと、前記第２の映像データの撮像に対応して前記第２の移動体に関して計測された第２のセンサデータと、前記第２の映像データを構成するフレームに係る画像データから検出された物体及び当該物体の領域の検出結果とを前記ＤＮＮモデルに入力して、前記第２の映像データについて、各移動状況の確率を計算する計算手順、
をコンピュータが実行することを特徴とする請求項４記載の移動状況解析方法。
【請求項６】
前記検出手順による前記物体及び当該物体の領域の検出結果に基づいて、各物体が出現する領域の特徴を示すデータを生成する生成手順を有し、
前記学習手順は、前記生成手順が前記第１の映像データに関して生成したデータに基づいて、前記ＤＮＮモデルを学習し、
前記計算手順は、前記生成手順が前記第２の映像データに関して生成したデータに基づいて、各移動状況の確率を計算する、
ことを特徴とする請求項５記載の移動状況解析方法。
【請求項７】
請求項４乃至６いずれか一項記載の移動状況解析方法をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動状況解析装置、移動状況解析方法及びプログラムに関する。
【背景技術】
【０００２】
映像撮像デバイスの小型化や、ＧＰＳやジャイロセンサなどの省電力化に伴い、ユーザの行動を、映像、位置情報や加速度などの多様なデータとして容易に記録できるようになった。これらのデータからユーザの行動を詳細に分析することは、様々な用途に役立つ。例えば、グラスウェア等を通じて取得された一人称視点の映像と、ウェアラブルセンサで取得された加速度データ等を利用して、ウインドウショッピングしている状況や、横断歩道を渡っている状況等を自動認識し分析できれば、サービスのパーソナライズ化等、様々な用途で役立てられる。【０００３】
従来、センサ情報からユーザの移動状況を自動認識する技術として、ＧＰＳの位置情報や速度情報からユーザの移動手段を推定する技術が存在する（非特許文献１）。また、スマートフォンから取得される加速度等の情報を用いて、徒歩やジョギング、階段の昇降等を分析する技術の開発も取組まれている（非特許文献２）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Zheng, Y., Liu, L., Wang, L., and Xie, X.: Learning transportation mode from raw GPS data for geographic applications on the web. In Proc. of World Wide Web 2008, pp. 247-256, 2008.
【非特許文献２】Jennifer R. Kwapisz, Gary M. Weiss, Samuel A. Moore: Activity Recognition using Cell Phone Accelerometers, Proc. of SensorKDD 2010.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来の方法は、センサ情報のみを利用しているため、映像情報を考慮したユーザの移動状況認識を行うことができなかった。例えば、ウェアラブルセンサのデータから、ユーザの移動状況を把握しようとした場合、歩いていることは理解したとしても、ウインドウショッピングしている状況か、横断歩道を渡っている状況かのように、詳細なユーザの状況をセンサデータのみから自動認識することは困難である。【０００６】
一方で、映像データとセンサデータの入力を組み合わせて、機械学習技術の一つであるＳＶＭ（Support Vector Machine）などの単純な分類モデルを用いても、映像データとセンサデータの情報の抽象度合が異なることが原因で、高精度な移動状況認識が困難であった。【０００７】
本発明は、上記の点に鑑みてなされたものであって、移動状況認識の精度を向上させることを目的とする。
【課題を解決するための手段】
【０００８】
そこで上記課題を解決するため、移動状況解析装置は、第１の移動体の移動過程において撮像された第１の映像データを構成するフレームごとに、当該フレームに係る画像データから物体と当該物体の領域を検出する検出部と、前記第１の映像データと、前記第１の映像データの撮像に対応して前記第１の移動体に関して計測された第１のセンサデータの特徴と、前記物体及び当該物体の領域の検出結果と、前記第１の映像データに係る移動状況を示す情報とに基づいて、映像データ及びセンサデータを入力とし各移動状況の確率を出力とするＤＮＮモデルを学習する学習部と、を有する。
【発明の効果】
【０００９】
移動状況認識の精度を向上させることができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態における移動状況認識装置１０のハードウェア構成例を示す図である。
【図２】学習フェーズにおける移動状況認識装置１０の機能構成例を示す図である。
【図３】認識フェーズにおける移動状況認識装置１０の機能構成例を示す図である。
【図４】学習フェーズにおいて移動状況認識装置１０が実行する処理手順の一例を説明するためのフローチャートである。
【図５】映像データＤＢ１２１の構成例を示す図である。
【図６】センサデータＤＢ１２２の構成例を示す図である。
【図７】アノテーションＤＢ１２４の構成例を示す図である。
【図８】認識フェーズにおいて移動状況認識装置１０が実行する処理手順の一例を説明するためのフローチャートである。
【図９】映像データ前処理部１１が実行する処理手順の一例を説明するためのフローチャートである。
【図１０】映像データから生成した各フレームにおける画像データの例を示す図である。
【図１１】センサデータ前処理部１２が実行する処理手順の一例を説明するためのフローチャートである。
【図１２】物体検出部１３が実行する処理手順の一例を説明するためのフローチャートである。
【図１３】物体検出結果の例を示す図である。
【図１４】空間特徴埋め込み部１４が実行する処理手順の一例を説明するためのフローチャートである。
【図１５】空間特徴埋め込みデータの例を示す図である。
【図１６】空間特徴の埋め込み処理の処理手順の一例を説明するためのフローチャートである。
【図１７】ＤＮＮモデル構築部１５によって構築されるＤＮＮモデルの構造の一例を示す図である。
【図１８】移動状況認識モデル学習部１６が実行する処理手順の一例を説明するためのフローチャートである。
【図１９】モデルパラメータの一例を示す図である。
【図２０】移動状況認識部１７が実行する処理手順の一例を説明するためのフローチャートである。
【発明を実施するための形態】
【００１１】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態における移動状況認識装置１０のハードウェア構成例を示す図である。図１の移動状況認識装置１０は、それぞれバスＢで相互に接続されているドライブ装置１００、補助記憶装置１０２、メモリ装置１０３、ＣＰＵ１０４、及びインタフェース装置１０５等を有する。
【００１２】
移動状況認識装置１０での処理を実現するプログラムは、ＣＤ−ＲＯＭ等の記録媒体１０１によって提供される。プログラムを記憶した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００１３】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従って移動状況認識装置１０に係る機能を実行する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。
【００１４】
図２は、学習フェーズにおける移動状況認識装置１０の機能構成例を示す図である。学習フェーズにおいて、移動状況認識装置１０は、映像データ前処理部１１、センサデータ前処理部１２、物体検出部１３、空間特徴埋め込み部１４、ＤＮＮモデル構築部１５及び移動状況認識モデル学習部１６を有する。これら各部は、移動状況認識装置１０にインストールされた１以上のプログラムが、ＣＰＵ１０４に実行させる処理により実現される。移動状況認識装置１０は、また、学習フェーズにおいて、映像データＤＢ１２１、センサデータＤＢ１２２、物体検出モデルＤＢ１２３、アノテーションＤＢ１２４及びＤＮＮモデルＤＢ１２５等を利用する。これら各ＤＢ（Data Base）は、例えば、補助記憶装置１０２、又は移動状況認識装置１０にネットワークを介して接続可能な記憶装置等を用いて実現可能である。
【００１５】
学習フェーズにおいて、移動状況認識装置１０は、各ＤＢに記憶された情報を利用して移動状況認識ＤＮＮ（Deep Neural Network）モデルを出力する。
【００１６】
映像データＤＢ１２１には、１以上の映像データが記憶されている。本実施の形態において、１つの映像データは、車両に搭載されたカメラ（例えば、ドライブレコーダ等）によって、当該車両の移動過程において撮像された動画データであるとする。
【００１７】
センサデータＤＢ１２２には、映像データを撮像したカメラを搭載した車両における各種センサによって計測されたセンサデータが記憶されている。
【００１８】
なお、映像データＤＢ１２１及びセンサデータＤＢ１２２には、対応する映像データ及びセンサデータの対応付けが把握可能なように共通のデータＩＤに関連付けられて映像データ又はセンサデータが記憶されている。対応する映像データ及びセンサデータとは、同一車両及び同一期間において撮像された映像データ及び計測されたセンサデータをいう。例えば、システム運用者によって映像データ及びセンサデータのペアが入力され、当該ペアを一意に特定するＩＤをデータＩＤとして、入力された映像データ及びセンサデータに付与し、映像データを映像データＤＢ１２１に格納し、センサデータをセンサデータＤＢ１２２に格納してもよい。
【００１９】
物体検出モデルＤＢ１２３には、訓練済み（学習済み）の物体検出モデルのモデル構造とパラメータとが記憶されている。ここで、物体検出とは、１枚の画像中に写っている物体の一般的な名称（物体名）をその物体の写っている境界領域と共に検出することをいう。物体検出モデルには、ＨＯＧなどの画像特徴量で学習されたＳＶＭや、ＹＯＬＯなどのＤＮＮなど、公知のモデルを利用することも可能である。なお、ＨＯＧについては、「Dalal, Navneet and Triggs, Bill: Histograms of Oriented Gradients for Human Detection. In Proc. of Computer Vision and Pattern Recognition 2005, pp. 886-893, 2005.」に詳しい。また、ＹＯＬＯについては、「J. Redmon, S. Divvala, R. Girshick and A. Farhadi: You Only Look Once: Unified, Real-Time Object Detection, Proc. of Computer Vision and Pattern Recognition 2016, pp. 779-788, 2016.」に詳しい。
【００２０】
アノテーションＤＢ１２４には、各データＩＤに対するアノテーション名が格納されている。ここで、アノテーション名とは、例えば、映像データに対する状況を説明した文字列が想定され、「車ヒヤリハット」や「自転車ヒヤリハット」等が該当する。アノテーションＤＢ１２４についても、映像データＤＢ１２１やセンサデータＤＢ１２２と同様、例えば、システム運用者によって各データＩＤに対するアノテーション名が入力され、その入力結果がアノテーションＤＢ１２４に格納されるようにしてもよい。
【００２１】
一方、図３は、認識フェーズにおける移動状況認識装置１０の機能構成例を示す図である。図３中、図２と同一部分には同一符号を付し、その説明は省略する。
【００２２】
認識フェーズにおいて、移動状況認識装置１０は、映像データ前処理部１１、センサデータ前処理部１２、物体検出部１３、空間特徴埋め込み部１４及び移動状況認識部１７を有する。移動状況認識部１７は、移動状況認識装置１０にインストールされた１以上のプログラムが、ＣＰＵ１０４に実行させる処理により実現される。移動状況認識装置１０は、また、認識フェーズにおいて、物体検出モデルＤＢ１２３及びＤＮＮモデルＤＢ１２５を利用する。
【００２３】
認識フェーズにおいて、移動状況認識装置１０は、各ＤＢに記憶された情報を利用して、入力される映像データ及び入力されるセンサデータに対する認識結果を出力する。入力される映像データとは、例えば、映像データＤＢ１２１に記憶されている映像データとは異なる映像データであって、映像データＤＢ１２１に記憶されている映像データを撮像した車両と同一又は異なる車両において撮像された映像データをいう。また、入力されるセンサデータとは、入力される映像データを撮像した車両と同一車両において計測され、当該映像データの撮像期間と同一期間において計測されたセンサデータをいう。
【００２４】
なお、学習フェーズと認識フェーズとにおいて、異なるコンピュータが用いられてもよい。
【００２５】
以下、移動状況認識装置１０が実行する処理手順について説明する。図４は、学習フェーズにおいて移動状況認識装置１０が実行する処理手順の一例を説明するためのフローチャートである。
【００２６】
ステップＳ１００において、映像データ前処理部１１は、映像データＤＢ１２１から各映像データを取得し、各映像データについて前処理を実行する。
【００２７】
図５は、映像データＤＢ１２１の構成例を示す図である。図５に示されるように、映像データＤＢ１２１には、センサデータと紐付けるためのデータＩＤに対応付けられて映像データが記憶されている。映像データは、例えば、Ｍｐｅｇ４形式などで圧縮されたファイルに格納されている。なお、データＩＤが異なる映像データは、例えば、撮像した車両が異なる映像データ又は撮像期間が異なる映像データである。
【００２８】
前処理の結果、各映像データは、ＤＮＮモデルが扱いやすい形式に変換される。以下、前処理によって生成されたデータを「前処理された映像データ」という。なお、映像データの前処理の詳細は後述する。
【００２９】
続いて、センサデータ前処理部１２は、センサデータＤＢ１２２から各センサデータを取得し、各センサデータについて前処理を実行する。（Ｓ１１０）。
【００３０】
図６は、センサデータＤＢ１２２の構成例を示す図である。各センサデータは、固有の系列ＩＤが付与され、映像データを紐付けるためのデータＩＤに対応付けられて記憶されている。各センサデータは、日時、緯度経度、Ｘ軸加速度及びＹ軸加速度等の要素を含む。
【００３１】
前処理の結果、各センサデータは、ＤＮＮモデルが扱いやすい形式（後述の「特徴ベクトル」）に変換される。以下、前処理によって生成されたデータを「前処理されたセンサデータ」という。なお、センサデータの前処理の詳細は後述する。
【００３２】
続いて、物体検出部１３は、映像データ前処理部１１から前処理された映像データを受け取り、物体検出モデルＤＢ１２３に記憶されている物体検出モデルを用いて、前処理された映像データから、当該映像データに含まれる各物体の物体名及び領域を検出する（Ｓ１２０）。当該処理の詳細は後述する。
【００３３】
続いて、空間特徴埋め込み部１４は、物体検出部１３から物体検出結果を受け取り、当該物体検出結果の空間特徴埋め込みデータを生成する（Ｓ１３０）。処理の詳細及び空間特徴埋め込みデータの詳細は後述する。
【００３４】
続いて、ＤＮＮモデル構築部１５は、ＤＮＮモデルを構築する（Ｓ１４０）。ＤＮＮモデルの詳細は後述する。
【００３５】
続いて、移動状況認識モデル学習部１６は、映像データ前処理部１１から前処理された映像データ、センサデータ前処理部１２から前処理されたセンサデータ、空間特徴埋め込み部１４から空間特徴埋め込みデータ、ＤＮＮモデル構築部１５からＤＮＮモデル、アノテーションＤＢ１２４からアノテーションデータを受け取り、ＤＮＮモデルを学習し、学習結果としてのＤＮＮモデルをＤＮＮモデルＤＢ１２５に出力する（Ｓ１５０）。
【００３６】
図７は、アノテーションＤＢ１２４の構成例を示す図である。図７に示されるように、アノテーションＤＢ１２４には、各データＩＤに対するアノテーション名が記憶されている。
【００３７】
図８は、認識フェーズにおいて移動状況認識装置１０が実行する処理手順の一例を説明するためのフローチャートである。
【００３８】
ステップＳ２００において、映像データ前処理部１１は、入力として映像データを受け取り、当該映像データについて、ステップＳ１００と同様の前処理を実行する。以下、前処理によって生成されたデータを「前処理された映像データ」という。
【００３９】
続いて、センサデータ前処理部１２は、入力としてセンサデータを受け取り、当該センサデータについて、ステップＳ１１０と同様の前処理を実行する（Ｓ２１０）。以下、前処理によって生成されたデータを「前処理されたセンサデータ」という。
【００４０】
続いて、物体検出部１３は、映像データ前処理部１１から前処理された映像データを受け取り、物体検出モデルＤＢ１２３に記憶されている物体検出モデルを用いて、前処理された映像データから、当該映像データに含まれる各物体の物体名及び領域を検出する（Ｓ２２０）。
【００４１】
続いて、空間特徴埋め込み部１４は、物体検出部１３から物体検出結果を受け取り、当該物体検出結果の空間特徴埋め込みデータを生成する（Ｓ２３０）。空間特徴埋め込みデータの詳細については後述するが、空間特徴埋め込みデータは、各物体が出現する領域（映像（画像）における領域）の特徴を示すデータの一例である。
【００４２】
続いて、移動状況認識部１７は、映像データ前処理部１１から前処理された映像データ、センサデータ前処理部１２から前処理されたセンサデータ、空間特徴埋め込み部１４から空間特徴埋め込みデータ、ＤＮＮモデルＤＢ１２５から学習済みのＤＮＮモデルを受け取り、これらに基づいて移動状況認識結果を計算し、計算結果を出力する（Ｓ２４０）。
【００４３】
続いて、図４のステップＳ１００及び図８のステップＳ２００の詳細について説明する。図９は、映像データ前処理部１１が実行する処理手順の一例を説明するためのフローチャートである。図９の処理手順は、学習フェーズの場合、データＩＤごとに実行され、認識フェーズの場合、入力された１つの映像データについて実行される。
【００４４】
ステップＳ３００において、映像データ前処理部１１は、処理対象の映像データ（以下、「対象映像データ」という。）を取得する。学習フェーズの場合、処理対象の映像データは、映像データＤＢ１２１に記憶されている映像データ群のうち、処理対象のデータＩＤに係る映像データである。認識フェーズの場合、処理対象の映像データは、入力された１つの映像データである。
【００４５】
続いて、映像データ前処理部１１は、対象映像データの各フレームに画像データを、所定の縦サイズ×所定の横サイズ×３チャネル（ＲＧＢ）の画素値で表現された画像データに変換する（Ｓ３１０）。例えば、所定の縦のサイズが１００画素とされ、所定の横のサイズが２００画素とされてもよい。
【００４６】
図１０は、映像データから生成した各フレームにおける画像データの例を示す図である。図１０に示されるように、各画像データは元の映像データに対応付くデータＩＤ、当該映像データにおける当該画像データに係るフレームの番号、当該映像データにおける当該フレームのタイムスタンプの情報に関連付けられる。
【００４７】
なお、認識フェーズにおいて、データＩＤは不要である。認識フェーズでは、映像データと当該映像データに対応するセンサデータとが入力されるため、映像データとセンサデータとの対応関係は明確だからである。
【００４８】
続いて、映像データ前処理部１１は、冗長なデータを削減するために、対象映像データのフレームについて、一定フレーム間隔（Ｎフレーム間隔）でサンプリングする（Ｓ３２０）。その結果、一部のフレームが除去される。
【００４９】
続いて、映像データ前処理部１１は、サンプリングされた各フレームの画像データをＤＮＮモデルにおいて扱いやすくするために、当ギア各フレームにおける画像データの各画素値を正規化する（Ｓ３３０）。例えば、各々の画素値の範囲が０〜１の範囲に収まるように、画素の取りうる最大値で各画素値を除算することで正規化が行われる。
【００５０】
続いて、映像データ前処理部１１は、ステップＳ３３０において正規化された各フレームの画像データからなる画像データ系列として表現された映像データ、及び当該映像データのサンプリング後の各フレームの日時情報を出力する（Ｓ３４０）。当該映像データが、対象映像データについて前処理された映像データである。また、各フレームの日時情報は、映像データＤＢ１２１において映像データごとに記憶されている撮像開始日時（図５では非図示）に、当該フレームのタイムスタンプ（図１０）を加算することで得ることができる。なお、学習フェーズの場合、出力先は物体検出部１３及び移動状況認識モデル学習部１６である。認識フェーズの場合、出力先は物体検出部１３及び移動状況認識部１７である。
【００５１】
続いて、図４のステップＳ１１０及び図８のステップＳ２１０の詳細について説明する。図１１は、センサデータ前処理部１２が実行する処理手順の一例を説明するためのフローチャートである。図１１の処理手順は、学習フェーズの場合、データＩＤごとに実行され、認識フェーズの場合、入力されたセンサデータについて実行される。
【００５２】
ステップＳ４００において、センサデータ前処理部１２は、処理対象のセンサデータ（以下、「対象センサデータ」という。）を取得する。学習フェーズの場合、処理対象のセンサデータは、センサデータＤＢ１２２に記憶されているセンサデータ群のうち、処理対象のデータＩＤに対応するセンサデータである。認識フェーズの場合、処理対象のセンサデータは、入力されたセンサデータである。
【００５３】
続いて、センサデータ前処理部１２は、センサデータをＤＮＮモデルが扱いやすくするために、処理対象の各センサデータにおける各計測値を正規化する（Ｓ４１０）。例えば、センサデータ前処理部１２は、緯度、経度、Ｘ軸加速度及びＹ軸加速度のそれぞれについて、処理対象の全センサデータの平均値が０、標準偏差が１になるように正規化する。
【００５４】
続いて、センサデータ前処理部１２は、各センサデータについて正規化された各々の値を結合した結果を、各センサデータの特徴ベクトルとして生成する（Ｓ４２０）。例えば、センサデータに含まれる計測値が、緯度、経度、Ｘ軸加速度及びＹ軸加速度の４つであれば、特徴ベクトルは、正規化された緯度、正規化された経度、正規化されたＸ軸加速度及び正規化されたＹ軸加速度から構成される。なお、各特徴ベクトルは、対応するセンサデータに関連付けられる。
【００５５】
続いて、センサデータ前処理部１２は、各センサデータの特徴ベクトル、各特徴ベクトルの日時情報を出力する（Ｓ４３０）。各特徴ベクトルの日時情報とは、当該特徴ベクトルの元となるセンサデータについてセンサデータＤＢ１２２に記憶されている「日時」の値である。なお、学習フェーズの場合、出力先は移動状況認識モデル学習部１６である。認識フェーズの場合、出力先は移動状況認識部１７である。
【００５６】
続いて、図４のステップＳ１２０及び図８のステップＳ２２０の詳細について説明する。図１２は、物体検出部１３が実行する処理手順の一例を説明するためのフローチャートである。
【００５７】
ステップＳ５００において、物体検出部１３は、映像データ前処理部１１から前処理された映像データを受け取る。
【００５８】
続いて、物体検出部１３は、物体検出モデルＤＢ１２３から学習済みの物体検出モデル（モデル構造及びパラメータ）を取得する（Ｓ５１０）。
【００５９】
続いて、物体検出部１３は、物体検出モデルを用いて、前処理された映像データのそれぞれのフレームごとに、当該フレームに係る画像データについて物体検出処理を実行する（Ｓ５２０）。
【００６０】
図１３は、物体検出結果の例を示す図である。図１３に示されるように、物体検出結果は、各フレームに係る画像データから検出された物体ごとに、当該フレームが属する映像データのデータＩＤ、当該フレームのフレーム番号、当該フレームの日時情報、当該物体を表す名称、当該画像データにおいて当該物体が検出された境界領域を表す座標（左端、上端、右端、下端）等の情報を含む。
【００６１】
続いて、物体検出部１３は、物体検出結果（図１３）を空間特徴埋め込み部１４に出力する（Ｓ５３０）。
【００６２】
続いて、図４のステップＳ１３０及び図８のステップＳ２３０の詳細について説明する。図１４は、空間特徴埋め込み部１４が実行する処理手順の一例を説明するためのフローチャートである。
【００６３】
ステップＳ６００において、空間特徴埋め込み部１４は、物体検出部１３から物体検出結果を受け取る。
【００６４】
続いて、空間特徴埋め込み部１４は、予め定義されたグリッドサイズに従い、物体検出結果に含まれる物体についてグリッド空間への空間特徴の埋め込み処理を実行する（Ｓ６１０）。空間特徴埋め込み処理の結果、空間特徴埋め込みデータが生成される。
【００６５】
図１５は、空間特徴埋め込みデータの例を示す図である。図１５に示されるように、空間特徴埋め込みデータは、フレームごとに生成される。すなわち、ステップＳ６１０は、図１３においてフレーム番号が共通する物体の集合ごとに実行される。１つの空間特徴埋め込みデータは、縦グリッド×横グリッド×検出可能な物体数の構造を有する。なお、空間特徴の埋め込み処理の詳細については後述する。
【００６６】
続いて、空間特徴埋め込み部１４は、フレームごとの各空間特徴埋め込みデータと、各空間特徴埋め込みデータに対応する日時情報とを出力する（Ｓ６２０）。空間特徴埋め込みデータに対応する日時情報は、映像データの撮像開始日時と、図１５のタイムスタンプとに基づいて特定可能である。なお、学習フェーズの場合、出力先は移動状況認識モデル学習部１６である。認識フェーズの場合、出力先は移動状況認識部１７である。
【００６７】
続いて、ステップＳ６１０の詳細について説明する。図１６は、空間特徴の埋め込み処理の処理手順の一例を説明するためのフローチャートである。図１６の処理手順は、物体検出結果（図１３）のフレームごと（フレーム番号が共通するレコードごと）に実行される。
【００６８】
ステップＳ７００において、空間特徴埋め込み部１４は、埋め込み先のデータ構造、関連する変数を初期化する。
【００６９】
ここでは、前処理された映像データの各フレームの画像データの画像サイズについて、縦をＨ、横をＷと表す。なお、各画像データの画像サイズは、前処理によって共通化されているため、各画像データについて、Ｈ及びＷは共通である。また、事前に定義された縦のグリッドサイズをＧｈ、横のグリッドサイズをＧｗ、学習済み物体検出モデルにおいて検出可能な物体種類数をＯと表す。埋め込み先の行列Ｇ∈ＲＧｈ×Ｇｗ×Ｏ←０で初期化する。また、空間特徴の埋め込み先のグリッド構造の縦グリッドの単位幅ＳｈをＳｈ←Ｈ／Ｇｈ、横グリッドＳｗの単位幅をＳｗ←Ｗ/Ｇｗで得る。
【００７０】
続いて、空間特徴埋め込み部１４は、処理対象のフレームの物体検出結果を受け取る（Ｓ７１０）。ここで、処理対象の一つのフレームから検出された物体の集合を｛ｏ１，ｏ２，…，ｏＮ｝と表す。Ｎは、当該フレームから検出された物体数で、フレームによって変動する。検出可能な各物体の名称を識別するＩＤをｏｎ．ｉｄ∈［１，２，…，Ｏ］、当該フレームから検出された各物体の境界領域を表す左端、上端、右端、下端の座標をそれぞれ、ｏｎ．ｌｅｆｔ、ｏｎ．ｔｏｐ、ｏｎ．ｒｉｇｈｔ、ｏｎ．ｂｏｔｔｏｍで表す。
【００７１】
続いて、空間特徴埋め込み部１４は、処理対象のフレームの画像データから検出された各物体ｎ∈［１，２，…，Ｎ］について、定義したグリッドサイズにおける、左端インデックスｌｅｆｔ、上端インデックスｔｏｐ、右端インデックスｒｉｇｈｔ、下端インデックスｂｏｔｔｏｍを、
【００７２】
【数１】
0006939998.tif 000002
とそれぞれ計算する（Ｓ７２０）。
【００７３】
続いて、空間特徴埋め込み部１４は、インデックスｉ（ｔｏｐ≦ｉ≦ｂｏｔｔｏｍ）、ｊ（ｌｅｆｔ≦ｊ≦ｒｉｇｈｔ）、ｋ←ｏｎ．ｉｄについて、グリッドｇｉ，ｊ，ｋのスコアを以下のように計算する（Ｓ７３０）。なお、グリッドｇｉ，ｊ，ｋは、埋め込み先の行列Ｇの最小単位である。ここでは、３種類のスコア計算式を示す。
計算例１）物体ｋの出現数をグリッドｇｉ，ｊ，ｋごとにカウントする。
ｇｉ，ｊ，ｋ←ｇｉ，ｊ，ｋ＋１
計算例２）物体ｋの出現位置をグリッドｇｉ，ｊ，ｋごとにガウスカーネルで考慮する。
ｇｉ，ｊ，ｋ←ｇｉ，ｊ，ｋ＋ｅｘｐ （−｜ｉ−ｍ｜２）＋ｅｘｐ （−｜ｊ−ｃ｜２），ｍ←（ｔｏｐ＋ｂｏｔｔｏｍ）／２，ｃ←（ｌｅｆｔ＋ｒｉｇｈｔ）／２
計算例３）物体ｋの境界領域の画像サイズに対する面積比をグリッドｇｉ，ｊ，ｋごとに考慮する。
ｇｉ，ｊ，ｋ←ｇｉ，ｊ，ｋ＋（ｈｅｉｇｈｔ×ｗｉｄｔｈ）／（Ｈ×Ｗ），ｈｅｉｇｈｔ←ｏｋ．ｂｏｔｔｏｍ−ｏｋ．ｔｏｐ，ｗｉｄｔｈ←ｏｋ．ｒｉｇｈｔ−ｏｋ．ｌｅｆｔ
このようにｇｉ，ｊ，ｋが計算されることで得られるＧが、当該フレームの空間特徴埋め込みデータである。
【００７４】
続いて、図４のステップＳ１４０において構築（生成）されるＤＮＮモデルについて説明する。図１７は、ＤＮＮモデル構築部１５によって構築されるＤＮＮモデルの構造の一例を示す図である。
【００７５】
ＤＮＮモデルは、入力として、前処理された映像データ、及び当該映像データに対応する、前処理されたセンサデータ（すなわち、当該センサデータの特徴ベクトル）、及び当該映像データに基づいて生成された空間特徴埋め込みデータを受け取り、出力として各移動状況の確率を獲得する。図１７に示されるように、ＤＮＮのネットワークは、畳み込み層Ａ、全結合層Ａ、畳み込み層Ｂ、全結合層Ｂ、全結合層Ｃ、ＬＳＴＭ（Long-short-term-memory）、及び全結合層Ｄ等のユニットから構成される。
【００７６】
畳み込み層Ａは、１フレームの画像行列（すなわち、３チャネルの画像群）から特徴を抽出する。畳み込み層Ａは、例えば、画像を３×３のフィルタで畳み込んだり、特定短形内の最大値を抽出（最大プーリング）したりする。畳み込み層には、ＡｌｅｘＮｅｔ（「Krizhevsky, A., Sutskever, I. and Hinton, G. E.: ImageNet Classification with Deep Convolutional Neural Networks, pp.1106-1114, 2012.」））等公知のネットワーク構造や事前学習済みパラメータを利用することも可能である。
【００７７】
全結合層Ａは、畳み込み層Ａから得られる特徴を更に抽象化する。全結合層Ａは、例えば、シグモイド関数やＲｅＬｕ関数などを利用して、入力の特徴量を非線形変換する。
【００７８】
畳み込み層Ｂは、物体検出結果の空間特徴埋め込みデータから特徴を抽出する。畳み込み層Ｂも、畳み込み層Ａと同様の処理を行う。すなわち、畳み込み層Ｂは、例えば、物体検出結果の空間特徴埋め込みデータを３×３のフィルタで畳み込んだり、特定短形内の最大値を抽出（最大プーリング）したりする。
【００７９】
全結合層Ｂは、畳み込み層Ｂから得られる特徴を更に抽象化する。全結合層Ｂは、全結合層Ａと同様に、入力される特徴量を非線形変換する。
【００８０】
全結合層Ｃは、センサデータの特徴ベクトルを、全結合層Ａから得られる画像特徴と同等レベルに抽象化する。全結合層Ｃは、全結合層Ａと同様に、入力の特徴ベクトルを非線形変換する。なお、画像特徴と同等レベルに抽象化するとは、センサデータの特徴ベクトルの各次元の値のスケール（上限から下限までの範囲）、及び当該特徴ベクトルの次元数を、画像特徴を示すベクトルの各次元の値のスケール、又は当該画像特徴を示すベクトルの次元数に合わせることをいう。
【００８１】
ＬＳＴＭは、全結合層Ａ、全結合層Ｂ及び全結合層Ｃから出力される、３つの抽象化された特徴を更に系列特徴として抽象化する。具体的には、ＬＳＴＭは、全結合層Ａ、全結合層Ｂ及び全結合層Ｃから出力される特徴の系列データを順次受け取り、過去の抽象化された情報を循環させながら、当該系列データを繰り返し非線形変換する。ＬＳＴＭには忘却ゲートが搭載された公知のネットワーク構造（「Felix A. Gers, Nicol N. Schraudolph, and Juergen Schmidhuber: Learning precise timing with LSTM recurrent networks. Journal of Machine Learning Research, vol. 3, pp.115-143, 2002.」）を利用することもできる。
【００８２】
全結合層Ｄは、ＬＳＴＭによって抽象化された系列特徴を、対象とする移動状況の種類数の次元のベクトルに落とし込み、各移動状況に対する確率ベクトルを計算する。全結合層Ｄは、ソフトマックス関数などを利用して入力の特徴量の全要素の総和が１になるように非線形変換することで、各移動状況に対する確率ベクトルを計算する。
【００８３】
出力層は、各移動状況に対する確率ベクトルを出力する。例えば、「非ヒヤリハット：１０％，車ヒヤリハット：５％，自転車ヒヤリハット：７０％，バイクヒヤリハット：５％，歩行者ヒヤリハット：５％，その他：５％」といった情報が出力される。
【００８４】
なお、ＤＮＮモデルの構造は、映像データ及びセンサデータから影響を受けるものではないため、ＤＮＮモデルは、予め構築されてデータベースに記憶されていてもよい。
【００８５】
続いて、図４のステップＳ１５０の詳細について説明する。図１８は、移動状況認識モデル学習部１６が実行する処理手順の一例を説明するためのフローチャートである。
【００８６】
ステップＳ８００において、移動状況認識モデル学習部１６は、前処理された映像データの各フレームの日時情報、センサデータの日時情報、空間特徴埋め込みデータの日時情報に基づいて、前処理された映像データのフレームの画像データ、センサデータの特徴ベクトル、及び空間特徴埋め込みデータを、１：１：１に対応付ける。例えば、日時情報が一致するデータ同士、又は日時情報が示すタイミングが最も近いデータ同士が対応付けられる。なお、対応付く相手が無いデータは、対応付けの対象から除去されてよい。
【００８７】
続いて、移動状況認識モデル学習部１６は、ＤＮＮモデル構築部１５から図１７に示すようなネットワーク構造（ＤＮＮモデル）を受け取る（Ｓ８１０）。
【００８８】
続いて、移動状況認識モデル学習部１６は、ネットワーク（ＤＮＮモデル）における各ユニットのモデルパラメータを初期化する（Ｓ８２０）。例えば、各モデルパラメータが、０から１の乱数で初期化される。
【００８９】
続いて、移動状況認識モデル学習部１６は、前処理された映像データ、当該映像データに対応するセンサデータに対する前処理によって得られた特徴ベクトル、当該映像データに基づく空間特徴埋め込みデータ、及び当該映像データに対応するアノテーション名を用いてモデルパラメータを更新する（Ｓ８３０）。映像データに対応するアノテーション名とは、映像データと同一のデータＩＤに対応付けられてアノテーションＤＢに記憶されているアノテーション名をいう。
【００９０】
具体的には、移動状況認識モデル学習部１６は、ステップ８００において対応付けられた画像データ、特徴ベクトル、及び空間特徴埋め込みデータの組ごとに、当該画像データ、当該特徴ベクトル、当該空間特徴埋め込みデータ、及び当該画像データが属する映像データと同じデータＩＤに対応付けられてアノテーションＤＢ１２４に記憶されているアノテーション名を用いて、ＤＮＮモデルのモデルパラメータを計算する。より詳しくは、移動状況認識モデル学習部１６は、当該組ごとに、当該画像データ、当該特徴データ、及び当該空間特徴埋め込みデータに対して得られる出力の確率ベクトルと、アノテーション名から得られるバイナリベクトルとを求め、確率ベクトルとバイナリベクトルとのクロスエントロピー誤差が最小になるように、バックプロパゲーションなど公知の技術を利用して、モデルパラメータを最適化する。
【００９１】
続いて、移動状況認識モデル学習部１６は、移動状況認識ＤＮＮモデル（ネットワーク構造及びモデルパラメータ）を出力し、出力された結果をＤＮＮモデルＤＢ１２５に格納する（Ｓ８４０）。
【００９２】
図１９は、モデルパラメータの一例を示す図である。図１９に示されるように、各層において行列やベクトルとしてパラメータが格納されている。また、出力層１、２、３に対しては、全結合層Ｄで計算された、各移動状況に対する確率ベクトルの各要素番号と対応するアノテーション名（移動状況を示すテキスト）が格納されている。
【００９３】
続いて、図８のステップＳ２４０の詳細について説明する。図２０は、移動状況認識部１７が実行する処理手順の一例を説明するためのフローチャートである。
【００９４】
ステップＳ９００において、移動状況認識部１７は、前処理された映像データを映像データ前処理部１１から受け取り、前処理されたセンサデータをセンサデータ前処理部１２から受け取り、物体検出結果の空間特徴埋め込みデータを空間特徴埋め込み部１４から受け取る。
【００９５】
続いて、移動状況認識部１７は、ＤＮＮモデルＤＢ１２５から学習済みの移動状況認識ＤＮＮモデルを取得する（Ｓ９１０）。
【００９６】
続いて、移動状況認識部１７は、当該移動状況認識ＤＮＮモデルを用いて、ステップＳ９００において受け取った映像データ、センサデータ及び空間特徴埋め込みデータから各移動状況に対する確率を計算する（Ｓ９２０）。
【００９７】
続いて、移動状況認識部１７は、確率の最も高い移動状況に係るアノテーション名を出力する（Ｓ９３０）。
【００９８】
なお、本実施の形態では、映像データ及び計測データが、車両において撮像又は計測される例について説明したが、人の移動に関して撮像される映像データ及び計測データに対して本実施の形態が適用されてもよい。この場合、映像データは、或る人が装着しているグラスウェア等を通じて取得された一人称視点の映像データであり、センサデータは、当該人が形態するウェアラブルセンサで取得されたセンサデータであってもよい。又は、第三者視点から或る人を撮像した映像データと、当該或る人の周囲のセンサから取得されたセンサデータとが本実施の形態に適用されてもよい。また、車両及び人以外の移動体に関して本実施の形態が適用されてもよい。
【００９９】
上述したように、本実施の形態によれば、センサデータに加え映像データを利用したモデルを構築・学習し、得られたモデルを移動状況認識に利用することで、従来認識できなかった移動状況を認識可能になる。その結果、移動状況認識の精度を向上させることができる。
【０１００】
また、移動状況認識のために効果的な画像特徴を扱える畳み込み層、適切な抽象度で特徴を抽象化できる全結合層、系列データを効率的に抽象化できるＬＳＴＭを備えた移動状況認識ＤＮＮモデルによって、高精度にユーザの移動状況を認識可能になる。
【０１０１】
また、移動状況認識のために効果的な物体検出結果を入力データとして利用することで、高精度にユーザの移動状況を認識可能になる。
【０１０２】
また、物体検出結果の検出境界領域をグリッド空間に特徴埋め込みして入力データとして利用することで、物体の検出位置を考慮することが可能になり、高精度に移動状況を認識可能になる。また、空間特徴埋め込みの際の計算方法に応じて物体の検出数、検出領域の面積比、検出領域の重心などを考慮することが可能になり、高精度に移動状況を認識可能になる。
【０１０３】
更に、物体検出結果おける検出された全ての物体を１つの空間特徴埋め込みされた構造データとして利用することで、全ての物体を各々入力データとして扱う方法に比べて、計算コストの低減が可能になる。
【０１０４】
なお、本実施の形態において、移動状況認識装置１０は、移動状況解析装置の一例である。映像データＤＢ１２１に記憶されている映像データは、第１の映像データの一例である。センサデータＤＢ１２２に記憶されているセンサデータは、第１のセンサデータの一例である。認識フェーズにおいて入力される映像データは、第２の映像データの一例である。認識フェーズにおいて入力されるセンサデータは、第２のセンサデータの一例である。物体検出部１３は、検出部の一例である。移動状況認識モデル学習部１６は、学習部の一例である。移動状況認識部１７は、計算部の一例である。空間特徴埋め込み部１４は、生成部の一例である。アノテーション名は、移動状況を示す情報の一例である。
【０１０５】
以上、本発明の実施の形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【０１０６】
本出願は、２０１８年６月４日に出願された日本国特許出願第２０１８−１０７０５７号に基づきその優先権を主張するものであり、同日本国特許出願の全内容を参照することにより本願に援用する。
【符号の説明】
【０１０７】
１０          移動状況認識装置
１１          映像データ前処理部
１２          センサデータ前処理部
１３          物体検出部
１４          空間特徴埋め込み部
１５          ＤＮＮモデル構築部
１６          移動状況認識モデル学習部
１７          移動状況認識部
１００        ドライブ装置
１０１        記録媒体
１０２        補助記憶装置
１０３        メモリ装置
１０４        ＣＰＵ
１０５        インタフェース装置
１２１        映像データＤＢ
１２２        センサデータＤＢ
１２３        物体検出モデルＤＢ
１２４        アノテーションＤＢ
１２５        ＤＮＮモデルＤＢ
Ｂ            バス
【図１】
0006939998.tif 000003
【図２】
0006939998.tif 000004
【図３】
0006939998.tif 000005
【図４】
0006939998.tif 000006
【図５】
0006939998.tif 000007
【図６】
0006939998.tif 000008
【図７】
0006939998.tif 000009
【図８】
0006939998.tif 000010
【図９】
0006939998.tif 000011
【図１０】
0006939998.tif 000012
【図１１】
0006939998.tif 000013
【図１２】
0006939998.tif 000014
【図１３】
0006939998.tif 000015
【図１４】
0006939998.tif 000016
【図１５】
0006939998.tif 000017
【図１６】
0006939998.tif 000018
【図１７】
0006939998.tif 000019
【図１８】
0006939998.tif 000020
【図１９】
0006939998.tif 000021
【図２０】
0006939998.tif 000022