(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.）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところが、上記従来の方法はセンサ情報のみを利用しているため、映像情報を考慮したユーザの移動状況認識を行うことができなかった。例えば、ウェアラブルセンサのデータから、ユーザの移動状況を把握しようとした場合、歩いていることは理解したとしても、ウインドウショッピングしている状況か、横断歩道を渡っている状況のように詳細なユーザの状況をセンサデータのみから自動認識することは困難である。一方で、映像データとセンサデータの入力を組み合わせて、機械学習技術の一つであるＳｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ（ＳＶＭ）などの単純な分類モデルを用いても、映像データとセンサデータの情報の抽象度合が異なることが原因で、高精度な移動状況認識が困難であった。また、入力されるデータによっては、認識対象として想定していない移動状況（いずれの分類クラスにも該当しない）データの存在も考えられる。例えば、上記のウェアラブルセンサの例では、自宅で滞在している場合など、認識したい対象の行動とは異なるシーンのデータがそれにあたる。このようなデータを適切に分類するためには、いずれの分類クラスにも該当しない１つのクラス（例えば「その他」）を移動状況クラス集合に追加する方法が考えられる。しかし、このような「その他」クラスのデータは、他の移動状況クラスに比べてその件数が多くなりやすく、「その他」クラスが対象とするデータの幅が広いことから、訓練データとして与えられたパターンに該当しないパターンを持つ未知のデータも多く存在し、このようなデータは適切に分類できないことが考えられる。【０００５】
本発明は、上記事情を鑑みて成されたものであり、映像データとセンサデータの双方から、効率的に情報を抽出し組み合わせ、かつ、いずれの移動状況クラスにも該当しないデータが含まれたデータ集合に対して、高精度な移動状況認識を実現することができる移動状況認識モデル学習装置、方法、及びプログラムを提供することを目的とする。【０００６】
また、映像データとセンサデータの双方から、移動状況を高精度に認識することができる移動状況認識装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
第１の態様に係る移動状況認識モデル学習装置は、移動体に搭載されたカメラの画像データの時系列及び前記移動体に搭載されたセンサのセンサデータの時系列を入力とし、画像データの各々の特徴及びセンサデータの各々の特徴を抽出し、画像データの各々の特徴及びセンサデータの各々の特徴を抽象化したデータから、前記移動体の移動状況を認識するためのＤＮＮ（Ｄｅｅｐ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）モデルを学習する移動状況認識モデル学習装置であって、前記画像データの時系列及び前記センサデータの時系列に対して予め付与された移動状況を示すアノテーションデータに基づいて、予め定められた複数の移動状況クラスの何れかに該当するか否かを示す第１アノテーションデータ、予め定められた複数の移動状況クラスの何れであるかを示す第２アノテーションデータ、予め定められた複数の移動状況クラス及びその他の移動状況クラスの何れであるかを示す第３アノテーションデータを作成するアノテーションラベル再整理部と、前記画像データの時系列及び前記センサデータの時系列と、前記画像データの時系列及び前記センサデータの時系列に対して作成された前記第１アノテーションデータ、前記第２アノテーションデータ、及び前記第３アノテーションデータとに基づいて、前記画像データの時系列及び前記センサデータの時系列を入力したときに前記ＤＮＮモデルにより認識される移動状況が、前記第１アノテーションデータ、前記第２アノテーションデータ、及び前記第３アノテーションデータが示す移動状況と一致するように、前記ＤＮＮモデルのパラメータを学習する移動状況認識マルチタスクＤＮＮ学習部と、を含んで構成されている。【０００８】
第２の態様に係る移動状況認識モデル学習方法は、移動体に搭載されたカメラの画像データの時系列及び前記移動体に搭載されたセンサのセンサデータの時系列を入力とし、画像データの各々の特徴及びセンサデータの各々の特徴を抽出し、画像データの各々の特徴及びセンサデータの各々の特徴を抽象化したデータから、前記移動体の移動状況を認識するためのＤＮＮ（Ｄｅｅｐ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）モデルを学習する移動状況認識モデル学習装置における移動状況認識モデル学習方法であって、アノテーションラベル再整理部が、前記画像データの時系列及び前記センサデータの時系列に対して予め付与された移動状況を示すアノテーションデータに基づいて、予め定められた複数の移動状況クラスの何れかに該当するか否かを示す第１アノテーションデータ、予め定められた複数の移動状況クラスの何れであるかを示す第２アノテーションデータ、予め定められた複数の移動状況クラス及びその他の移動状況クラスの何れであるかを示す第３アノテーションデータを作成し、移動状況認識マルチタスクＤＮＮ学習部が、前記画像データの時系列及び前記センサデータの時系列と、前記画像データの時系列及び前記センサデータの時系列に対して作成された前記第１アノテーションデータ、前記第２アノテーションデータ、及び前記第３アノテーションデータとに基づいて、前記画像データの時系列及び前記センサデータの時系列を入力したときに前記ＤＮＮモデルにより認識される移動状況が、前記第１アノテーションデータ、前記第２アノテーションデータ、及び前記第３アノテーションデータが示す移動状況と一致するように、前記ＤＮＮモデルのパラメータを学習する。【０００９】
第３の態様に係る移動状況認識装置は、認識対象の移動体に搭載されたカメラの画像データの時系列及び前記移動体に搭載されたセンサのセンサデータの時系列を、前記画像データの時系列及び前記センサデータの時系列を入力とし、画像データの各々の特徴及びセンサデータの各々の特徴を抽出し、画像データの各々の特徴及びセンサデータの各々の特徴を抽象化したデータから、前記移動体の移動状況を認識するための予め学習されたＤＮＮ（Ｄｅｅｐ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）モデルに入力して、前記移動体の移動状況を認識する移動状況認識部を含む移動状況認識装置であって、前記ＤＮＮモデルは、前記画像データの時系列及び前記センサデータの時系列に対して予め付与された移動状況を示すアノテーションデータから作成される、予め定められた複数の移動状況クラスの何れかに該当するか否かを示す第１アノテーションデータ、予め定められた複数の移動状況クラスの何れであるかを示す第２アノテーションデータ、予め定められた複数の移動状況クラス及びその他の移動状況クラスの何れであるかを示す第３アノテーションデータと、前記画像データの時系列及び前記センサデータの時系列と、に基づいて、前記画像データの時系列及び前記センサデータの時系列を入力したときに前記ＤＮＮモデルにより認識される移動状況が、前記第１アノテーションデータ、前記第２アノテーションデータ、及び前記第３アノテーションデータが示す移動状況と一致するように予め学習されたものである。【００１０】
第４の態様に係る移動状況認識方法は、移動状況認識部が、認識対象の移動体に搭載されたカメラの画像データの時系列及び前記移動体に搭載されたセンサのセンサデータの時系列を、前記画像データの時系列及び前記センサデータの時系列を入力とし、画像データの各々の特徴及びセンサデータの各々の特徴を抽出し、画像データの各々の特徴及びセンサデータの各々の特徴を抽象化したデータから、前記移動体の移動状況を認識するための予め学習されたＤＮＮ（Ｄｅｅｐ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）モデルに入力して、前記移動体の移動状況を認識する移動状況認識方法であって、前記ＤＮＮモデルは、前記画像データの時系列及び前記センサデータの時系列に対して予め付与された移動状況を示すアノテーションデータから作成される、予め定められた複数の移動状況クラスの何れかに該当するか否かを示す第１アノテーションデータ、予め定められた複数の移動状況クラスの何れであるかを示す第２アノテーションデータ、予め定められた複数の移動状況クラス及びその他の移動状況クラスの何れであるかを示す第３アノテーションデータと、前記画像データの時系列及び前記センサデータの時系列と、に基づいて、前記画像データの時系列及び前記センサデータの時系列を入力したときに前記ＤＮＮモデルにより認識される移動状況が、前記第１アノテーションデータ、前記第２アノテーションデータ、及び前記第３アノテーションデータが示す移動状況と一致するように予め学習されたものである。【００１１】
第５の態様に係るプログラムは、移動体に搭載されたカメラの画像データの時系列及び前記移動体に搭載されたセンサのセンサデータの時系列を入力とし、画像データの各々の特徴及びセンサデータの各々の特徴を抽出し、画像データの各々の特徴及びセンサデータの各々の特徴を抽象化したデータから、前記移動体の移動状況を認識するためのＤＮＮ（Ｄｅｅｐ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）モデルを学習する、移動状況認識モデル学習処理であって、前記画像データの時系列及び前記センサデータの時系列に対して予め付与された移動状況を示すアノテーションデータに基づいて、予め定められた複数の移動状況クラスの何れかに該当するか否かを示す第１アノテーションデータ、予め定められた複数の移動状況クラスの何れであるかを示す第２アノテーションデータ、予め定められた複数の移動状況クラス及びその他の移動状況クラスの何れであるかを示す第３アノテーションデータを作成し、前記画像データの時系列及び前記センサデータの時系列と、前記画像データの時系列及び前記センサデータの時系列に対して作成された前記第１アノテーションデータ、前記第２アノテーションデータ、及び前記第３アノテーションデータとに基づいて、前記画像データの時系列及び前記センサデータの時系列を入力したときに前記ＤＮＮモデルにより認識される移動状況が、前記第１アノテーションデータ、前記第２アノテーションデータ、及び前記第３アノテーションデータが示す移動状況と一致するように、前記ＤＮＮモデルのパラメータを学習する、前記移動状況認識モデル学習処理を、コンピュータに実行させるためのプログラムである。【００１２】
第６の態様に係るプログラムは、認識対象の移動体に搭載されたカメラの画像データの時系列及び前記移動体に搭載されたセンサのセンサデータの時系列を、前記画像データの時系列及び前記センサデータの時系列を入力とし、画像データの各々の特徴及びセンサデータの各々の特徴を抽出し、画像データの各々の特徴及びセンサデータの各々の特徴を抽象化したデータから、前記移動体の移動状況を認識するための予め学習されたＤＮＮ（Ｄｅｅｐ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）モデルに入力して、前記移動体の移動状況を認識する、移動状況認識処理であって、前記ＤＮＮモデルは、前記画像データの時系列及び前記センサデータの時系列に対して予め付与された移動状況を示すアノテーションデータから作成される、予め定められた複数の移動状況クラスの何れかに該当するか否かを示す第１アノテーションデータ、予め定められた複数の移動状況クラスの何れであるかを示す第２アノテーションデータ、予め定められた複数の移動状況クラス及びその他の移動状況クラスの何れであるかを示す第３アノテーションデータと、前記画像データの時系列及び前記センサデータの時系列と、に基づいて、前記画像データの時系列及び前記センサデータの時系列を入力したときに前記ＤＮＮモデルにより認識される移動状況が、前記第１アノテーションデータ、前記第２アノテーションデータ、及び前記第３アノテーションデータが示す移動状況と一致するように予め学習されたものである、前記移動状況認識処理を、コンピュータに実行させるためのプログラムである。
【発明の効果】
【００１３】
本発明の一態様に係る移動状況認識モデル学習装置、方法、及びプログラムは、前記画像データの時系列及び前記センサデータの時系列と、前記画像データの時系列及び前記センサデータの時系列に対して作成された前記第１アノテーションデータ、前記第２アノテーションデータ、及び前記第３アノテーションデータとに基づいて、前記画像データの時系列及び前記センサデータの時系列を入力したときに前記ＤＮＮモデルにより認識される移動状況が、前記第１アノテーションデータ、前記第２アノテーションデータ、及び前記第３アノテーションデータが示す移動状況と一致するように、前記ＤＮＮモデルのパラメータを学習する。これにより、映像データとセンサデータの双方から、効率的に情報を抽出し組み合わせ、かつ、いずれの移動状況クラスにも該当しないデータが含まれたデータ集合に対して、高精度な移動状況認識を実現することができる、という効果が得られる。【００１４】
また、本発明の一態様に係る移動状況認識装置、方法、及びプログラムによれば、画像データとセンサデータの双方から、高精度な移動状況認識を実現することができる、という効果が得られる。
【図面の簡単な説明】
【００１５】
【図１Ａ】本発明の実施の形態に係る移動状況認識モデル学習装置の構成を示すブロック図である。
【図１Ｂ】移動状況認識モデル学習装置及び移動状況認識装置として機能するコンピュータの一例の概略ブロック図である。
【図２】本発明の実施の形態に係る移動状況認識モデル学習装置の処理の流れを示すフローチャートである。
【図３】映像データＤＢの記憶形式の一例を示す図である。
【図４】センサデータＤＢの記憶形式の一例を示す図である。
【図５】アノテーションＤＢの記憶形式の一例を示す図である。
【図６】本発明の実施の形態に係る移動状況認識モデル学習装置の映像データ前処理部の処理の流れを示すフローチャートである。
【図７】映像データ前処理部が映像データから生成した画像データの時系列の一例を示す図である。
【図８】本発明の実施の形態に係る移動状況認識モデル学習装置のセンサデータ前処理部の処理の流れを示すフローチャートである。
【図９】本発明の実施の形態に係る移動状況認識モデル学習装置のアノテーションラベル再整理部の処理の流れを示すフローチャートである。
【図１０】複数パターンのアノテーションデータの一例を示す図である。
【図１１】ＤＮＮモデルのネットワーク構造の一例を示す図である。
【図１２】本発明の実施の形態に係る移動状況認識モデル学習装置の移動状況認識マルチタスクＤＮＮモデル学習部の処理の流れを示すフローチャートである。
【図１３】本発明の実施の形態に係る移動状況認識モデル学習装置の移動状況認識マルチタスクＤＮＮモデル学習部のモデルパラメータ更新処理の流れを示すフローチャートである。
【図１４】移動状況認識マルチタスクＤＮＮモデルＤＢの記憶形式の一例を示す図である。
【図１５】本発明の実施の形態に係る移動状況認識装置の構成を示すブロック図である。
【図１６】本発明の実施の形態に係る移動状況認識装置の処理の流れを示すフローチャートである。
【図１７】本発明の実施の形態に係る移動状況認識装置の移動状況認識部の処理の流れを示すフローチャートである。
【図１８】本発明の実施の形態に係る移動状況認識装置の移動状況認識部の処理におけるマルチタスクＤＮＮ部の順伝播の流れを示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、図面を参照して本発明の実施の形態を詳細に説明する。なお、本発明の実施の形態では、学習フェーズに相当する移動状況認識モデル学習装置と認識フェーズに相当する移動状況認識装置とに本発明を適用した場合を例に説明する。
【００１７】
＜本発明の実施の形態に係る移動状況認識モデル学習装置の構成＞
まず、本発明の実施の形態に係る移動状況認識モデル学習装置の構成について説明する。図１Ａに示すように、本発明の実施の形態に係る移動状況認識モデル学習装置１０は、入力部２０と、演算部３０と、出力部５０とを備えている。
【００１８】
演算部３０は、映像データＤＢ３２と、センサデータＤＢ３４と、映像データ前処理部３６と、センサデータ前処理部３８と、アノテーションＤＢ４０と、アノテーションラベル再整理部４２と、移動状況認識マルチタスクＤＮＮモデル構築部４４と、移動状況認識マルチタスクＤＮＮモデル学習部４６と、移動状況認識マルチタスクＤＮＮモデルＤＢ４８とを備えている。演算部３０は、各々のＤＢの情報を利用して移動状況認識マルチタスクＤＮＮモデルを出力部５０により出力する。ここで映像データＤＢ３２とセンサデータＤＢ３４は、データＩＤで関連する映像データとセンサデータの時系列の対応付けがとれるように予め構築されているとする。映像データＤＢ３２とセンサデータＤＢ３４の構築処理については、例えば、入力部２０が、システム運用者によって入力された映像データとセンサデータの時系列のペアを受け付ける。入力部２０は、それらペアを一意に特定するＩＤをデータＩＤとして入力された映像データ及びセンサデータに付与し、それぞれ映像データＤＢ３２、センサデータＤＢ３４に格納するようにすればよい。また、アノテーションＤＢ４０には、各データＩＤに対するアノテーション名が格納されている。ここでアノテーションとは、例えばグラスウェアで取得された一人称視点の映像データに対する移動状況を説明したものが想定され、ウインドウショッピングや横断歩道横断中等が該当する。アノテーションＤＢ４０の構築処理についても、映像データＤＢ３２とセンサデータＤＢ３４の構築処理と同様、例えば、入力部２０が、システム運用者によって入力された各データＩＤに対するアノテーションを受け付け、その入力結果をＤＢに格納するようにすればよい。
【００１９】
本発明の実施の形態では、図１Ａに示す構成要素の動作をプログラムとして構築し、移動状況認識モデル学習装置として利用されるコンピュータにインストールして実行させる。
【００２０】
映像データ前処理部３６は、映像データＤＢ３２に格納されている映像データが表わす画像データの時系列に対して、サンプリング及び正規化を行う。
【００２１】
センサデータ前処理部３８は、センサデータＤＢ３４に格納されているセンサデータの時系列に対して、正規化及び特徴ベクトル化を行う。
【００２２】
アノテーションラベル再整理部４２は、画像データの時系列及びセンサデータの時系列に対して予め付与された移動状況を示すアノテーションデータに基づいて、予め定められた複数の移動状況クラスの何れかに該当するか否かを示す第１アノテーションデータ、予め定められた複数の移動状況クラスの何れであるかを示す第２アノテーションデータ、予め定められた複数の移動状況クラス及びその他の移動状況クラスの何れであるかを示す第３アノテーションデータを作成する。
【００２３】
移動状況認識マルチタスクＤＮＮモデル構築部４４は、画像データの時系列及びセンサデータの時系列を入力とし、画像データの各々の特徴及びセンサデータの各々の特徴を抽出し、画像データの各々の特徴及びセンサデータの各々の特徴を抽象化したデータから、移動状況を認識するためのＤＮＮモデルを構築する。このＤＮＮモデルは、複数の移動状況クラスの何れかに該当するか否かを示す認識結果を出力する出力層、複数の移動状況クラスの何れであるかを示す認識結果を出力する出力層、予め定められた複数の移動状況クラス及びその他の移動状況クラスの何れであるかを示す認識結果を出力する出力層を有する。
【００２４】
移動状況認識マルチタスクＤＮＮモデル学習部４６は、映像データ前処理部３６の処理結果である画像データの時系列と、センサデータ前処理部３８の処理結果であるセンサデータの時系列と、画像データの時系列及びセンサデータの時系列に対して作成された第１アノテーションデータ、第２アノテーションデータ、及び第３アノテーションデータとに基づいて、ＤＮＮモデルのパラメータを学習する。このとき、移動状況認識マルチタスクＤＮＮモデル学習部４６は、画像データの時系列及びセンサデータの時系列を入力したときにＤＮＮモデルにより認識される移動状況が、第１アノテーションデータ、第２アノテーションデータ、及び第３アノテーションデータが示す移動状況と一致するように、ＤＮＮモデルのパラメータを学習する。学習されたＤＮＮモデルのパラメータを、移動状況認識マルチタスクＤＮＮモデルＤＢ４８に格納する。
【００２５】
移動状況認識モデル学習装置１０は、一例として、図１Ｂに示すコンピュータ８４によって実現される。コンピュータ８４は、ＣＰＵ（Central Processing Unit）８６、メモリ８８、プログラム８２を記憶した記憶部９２、モニタを含む表示部９４、及びキーボードやマウスを含む入力部９６を含んでいる。ＣＰＵ８６は、ハードウェアであるプロセッサの一例である。ＣＰＵ８６、メモリ８８、記憶部９２、表示部９４、及び入力部９６はバス９８を介して互いに接続されている。
【００２６】
記憶部９２はＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）、フラッシュメモリ等によって実現される。記憶部９２には、コンピュータ８４を移動状況認識モデル学習装置１０として機能させるためのプログラム８２が記憶されている。また、記憶部９２には、入力部９６により入力されたデータ、及びプログラム８２の実行中の中間データなどが記憶される。ＣＰＵ８６は、プログラム８２を記憶部９２から読み出してメモリ８８に展開し、プログラム８２を実行する。なお、プログラム８２をコンピュータ可読媒体に格納して提供してもよい。
【００２７】
＜本発明の実施の形態に係る移動状況認識モデル学習装置の作用＞
図２は、本発明の一実施の形態における移動状況認識モデル学習装置１０により実行されるモデル学習処理ルーチンのフローチャートである。以下、具体的に説明する。
【００２８】
＜モデル学習処理ルーチン＞
ステップＳ１００では、映像データ前処理部３６は、映像データＤＢ３２からデータを受け取り処理する。処理の詳細は後述する。図３に映像データＤＢ３２のデータの記憶形式の例を示す。映像データはＭｐｅｇ4形式などで圧縮されたファイルで格納されており、それぞれ前述のとおりセンサデータと紐付けるためのデータＩＤと紐付いている。また、映像データは、移動体の一例であるユーザに装着されたグラスウェア等を通じて取得された一人称視点の映像データである。
【００２９】
ステップＳ１１０では、センサデータ前処理部３８がセンサデータＤＢ３４からデータを受け取り処理する。処理の詳細は後述する。図４にセンサデータＤＢ３４のデータの記憶形式の例を示す。センサデータは日時、緯度経度、Ｘ軸加速度やＹ軸加速度などの要素を持つ。各センサデータは固有の系列ＩＤを保有する。更に前述のとおり映像データと紐付けるためのデータＩＤを保有する。各センサデータは、ユーザに装着されたウェアラブルセンサで取得されたデータである。
【００３０】
ステップＳ１２０では、移動状況認識マルチタスクＤＮＮモデル構築部４４がＤＮＮモデルを構築する。処理の詳細は後述する。
【００３１】
ステップＳ１３０では、アノテーションラベル再整理部４２が、アノテーションＤＢ４０からデータを受け取り処理する。処理の詳細は後述する。図５にアノテーションＤＢ４０の記憶形式の例を示す。
【００３２】
ステップＳ１４０では、移動状況認識マルチタスクＤＮＮモデル学習部４６が、映像データ前処理部３６から処理済みの映像データを受け取り、センサデータ前処理部３８から処理済みのセンサデータを受け取る。また、移動状況認識マルチタスクＤＮＮモデル学習部４６が、移動状況認識マルチタスクＤＮＮモデル構築部４４からＤＮＮモデルを受け取り、アノテーションラベル再整理部４２から複数パターンのアノテーションデータを受け取り、ＤＮＮモデルのパラメータを学習し、移動状況認識マルチタスクＤＮＮモデルＤＢ４８に出力する。
【００３３】
図６は、上記ステップＳ１００を実現するための、映像データ前処理部３６により実行されるサブルーチンを示すフローチャートである。以下、具体的に説明する。
【００３４】
ステップＳ２００では、映像データ前処理部３６は、映像データＤＢ３２から、映像データを受け取る。
【００３５】
ステップＳ２１０では、映像データ前処理部３６は、各映像データを縦×横×３チャネルの画素値で表現された画像データの時系列に変換する。例えば縦のサイズを１００画素、横のサイズを２００画素のように決定する。図７に映像データから生成した画像データの時系列の例を示す。各画像データは元の画像データと対応づくデータＩＤ、各フレームの番号、タイムスタンプの情報を保持している。
【００３６】
ステップＳ２２０では、映像データ前処理部３６は、冗長なデータを削減するために、画像データの時系列から、一定フレーム間隔でＮフレームサンプリングする。
【００３７】
ステップＳ２３０では、画像データをＤＮＮモデルが扱いやすくするために、映像データ前処理部３６は、サンプリングされた各フレームにおける画像データの各画素値を正規化する。例えば、各々の画素値の範囲が０〜１になるように、画素の取りうる最大値で各画素値を除算する。
【００３８】
ステップＳ２４０では、映像データ前処理部３６は、画像データの時系列として表現された映像データ、及び対応する日時の情報を、移動状況認識マルチタスクＤＮＮモデル学習部４６に受け渡す。
【００３９】
図８は、上記ステップＳ１１０を実現するための、センサデータ前処理部３８により実行されるサブルーチンを示すフローチャートである。
【００４０】
ステップＳ３００では、センサデータ前処理部３８は、センサデータＤＢ３４から、センサデータを受け取る。
【００４１】
ステップＳ３１０では、センサデータをＤＮＮモデルが扱いやすくするために、センサデータ前処理部３８は、各センサデータにおける加速度等の値を正規化する。例えば、全センサデータの平均値が0、標準偏差が1になるように標準化する。
【００４２】
ステップＳ３２０では、センサデータ前処理部３８は、各センサデータに対して正規化された各々の値を結合し特徴ベクトルを生成する。
【００４３】
ステップＳ３３０では、センサデータ前処理部３８は、センサの特徴ベクトル、及び対応する日時の情報を、移動状況認識マルチタスクＤＮＮモデル学習部４６に受け渡す。
【００４４】
図９は本発明の一実施の形態におけるアノテーションラベル再整理部４２のフローチャートである。
【００４５】
ステップＳ４００では、アノテーションラベル再整理部４２は、アノテーションＤＢ４０から、アノテーションデータを受け取る。
【００４６】
ステップＳ４１０では、アノテーションラベル再整理部４２は、認識対象として想定する移動状況のクラス集合と、想定しない移動状況（その他）を振り分け、認識対象クラスとその他クラス（2クラス）、認識対象の移動状況クラス（Nクラス）、その他のクラスを加えた移動状況クラス（N+1クラス）の３パターンのアノテーションデータを生成する。図１０に本処理で生成した複数パターンのアノテーションデータの例を示す。第１アノテーションデータは「その他」と「ヒヤリハット」の2種類、第２アノテーションデータは「車ヒヤリハット」や「自転車ヒヤリハット」などの認識対象とする移動状況クラスの種類、第３アノテーションデータはその他のクラスを加えた移動状況クラスの種類を与える。第２アノテーションデータにおいて、その他などの認識対象としない移動状況クラスを持つデータに対しては、空文字やNULLといった無効のデータであることを意味するラベルを与える。
【００４７】
ステップＳ４２０では、アノテーションラベル再整理部４２は、再整理した３パターンのアノテーションデータを移動状況認識マルチタスクＤＮＮモデル学習部４６に受け渡す。
【００４８】
図１１は、本発明の一実施の形態における、移動状況認識マルチタスクＤＮＮモデル構築部４４によって構築されるＤＮＮモデルのネットワーク構造の一例である。入力として、映像データにおける各フレームの画像データを表す行列、及び対応するセンサデータの特徴ベクトルを受け取り、出力として各移動状況確率を獲得する。ＤＮＮモデルのネットワーク構造は以下のユニットから構成される。
【００４９】
一つ目のユニットは、画像データを表す行列から特徴を抽出する畳み込み層である。ここでは、例えば画像を３×３のフィルタで畳み込んだり、特定矩形内の最大値を抽出（最大プーリング）したりする。畳み込み層にはＡｌｅｘＮｅｔ（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 Jurgen Schmidhuber: Learning precise timing with ＬＳＴＭ recurrent networks. Journal of Machine Learning Research, vol. 3, pp.115-143, 2002.）を利用することもできる。
【００５３】
五つ目のユニットは、抽象化された系列特徴を、一次元のベクトル（スカラ）に落とし込み、対象とする移動状況か否かを判別する確率値ａを計算する、全結合層Ｃである。計算されるスコアを確率値として扱うために、シグモイド関数などで非線形変換を行い、スコアを0から1の範囲で表現する。ここでの確率値ａが高い場合、対象とする移動状況クラス以外（「その他」）である可能性が高いとみなし、低い場合は対象とする移動状況クラスのいずれかとみなせる。ここで計算される確率値ａは、後述するＧａｔｅユニットと出力層１で活用する。
【００５４】
六つ目のユニットは、全結合層Ｃから得られる確率値ａについて、対象とする移動状況クラスか否かを対応付ける出力層１である。ここでは、例えば確率値ａが0.5未満の場合を対象とする移動状況クラス、確率値ａ以上の場合をそれ以外の移動状況クラスと対応付けて出力する。
【００５５】
七つ目のユニットは、ＬＳＴＭによって系列データとして抽象化された系列特徴ベクトル
0006900576.tif 000002
と、全結合層Ｃで得られた確率値ａを用いて、
0006900576.tif 000003
として、新たに
0006900576.tif 000004
を得るＧａｔｅユニットである。もしも対象とする移動状況クラスである場合には（全結合層Ｄで得られた確率値ａが0.0である場合には）、系列特徴ベクトル
0006900576.tif 000005
はその値を保持したまま後述する全結合層Ｄに
0006900576.tif 000006
として受け渡し、もしも対象とする移動状況クラス以外である場合には（全結合層Ｄで得られた確率値ａが1.0である場合には）、系列特徴ベクトル
0006900576.tif 000007
は0に変換されて
0006900576.tif 000008
として全結合層Ｄに受け渡す。このように、Ｇａｔｅユニットは系列特徴ベクトル
0006900576.tif 000009
の大きさをコントロールする機能を持つ。
【００５６】
八つ目のユニットは、抽象化された系列特徴とＧａｔｅユニットから得られる
0006900576.tif 000010
から、対象とする移動状況クラスの種類数の次元のベクトルに落とし込み、各移動状況に対する確率ベクトルを計算する、全結合層Ｄである。ここでは、ソフトマックス関数などを利用して入力の特徴量の全要素の総和が1になるように非線形変換する。
【００５７】
九つ目のユニットは、全結合層Ｄから得られる確率ベクトルについて、対象とする移動状況クラスと確率ベクトルを対応付ける、出力層２である。ここでは、例えば確率ベクトルの1番目を車ヒヤリハット、2番目を自転車ヒヤリハットと対応付け、確率ベクトルの中で最大値を持つ要素と対応づく移動状況クラスを認識結果として出力する。
【００５８】
十つ目のユニットは、出力層１と出力層２から得られるベクトルを結合し、その他クラスを加え移動状況クラスとベクトルを対応付ける、出力層３である。例えばベクトルの1番目をその他、2番目を車ヒヤリハットと対応付け、最大値を持つ要素と対応づく移動状況クラスを認識結果として出力する。
【００５９】
図１２は、上記ステップＳ１４０を実現するための、移動状況認識マルチタスクＤＮＮモデル学習部４６により実行されるサブルーチンを示すフローチャートである。具体的には下記の処理を行う。
【００６０】
ステップＳ５００では、移動状況認識マルチタスクＤＮＮモデル学習部４６は、受け取った映像データのタイムスタンプとセンサデータの日時情報を基に、映像データとセンサデータとを対応付ける。
【００６１】
ステップＳ５１０では、移動状況認識マルチタスクＤＮＮモデル学習部４６は、移動状況認識マルチタスクＤＮＮモデル構築部４４から図１１に示すようなネットワーク構造であるＤＮＮモデルを受け取る。
【００６２】
ステップＳ５２０では、移動状況認識マルチタスクＤＮＮモデル学習部４６は、ネットワーク構造における各ユニットのモデルパラメータを初期化する。例えば0から1の乱数で初期化する。
【００６３】
ステップＳ５３０では、移動状況認識マルチタスクＤＮＮモデル学習部４６は、映像データ、センサデータおよび対応するアノテーションデータを用いてモデルパラメータを更新する。処理の詳細は後述の移動状況認識マルチタスクＤＮＮモデルのモデルパラメータ更新処理で述べる。
【００６４】
ステップＳ５４０では、移動状況認識マルチタスクＤＮＮモデル学習部４６は、移動状況認識マルチタスクＤＮＮモデル（ネットワーク構造およびモデルパラメータ）を出力し、出力された結果を移動状況認識マルチタスクＤＮＮモデルＤＢ４８に格納する。図１４にモデルパラメータの例を示す。各層において行列やベクトルとしてパラメータが格納されている。また、出力層１、２、３に対しては、確率ベクトルの各要素番号と対応する移動状況のテキストが格納されている。
【００６５】
図１３は、上記ステップＳ５３０を実現するための、移動状況認識マルチタスクＤＮＮモデル学習部４６により実行されるサブルーチンを示すフローチャートである。具体的には下記の処理を行う。
【００６６】
ステップＳ６００では、移動状況認識マルチタスクＤＮＮモデル学習部４６は、対応付けられた映像データ、センサデータ、複数のアノテーションデータ、およびＤＮＮモデルを受け取る。
【００６７】
ステップＳ６１０では、移動状況認識マルチタスクＤＮＮモデル学習部４６は、映像データとセンサデータをＤＮＮモデルに入力し、ＤＮＮモデルを順伝播する。
【００６８】
ステップＳ６２０では、移動状況認識マルチタスクＤＮＮモデル学習部４６は、出力層１で得られた出力結果と正解を用いて、誤差を計算する。ここでは、例えば正解を図１０のアノテーションデータにおける第１アノテーションデータの「その他」と「ヒヤリハット」のいずれかとし、正解のバイナリベクトルとのクロスエントロピー誤差によって計算する。
【００６９】
ステップＳ６３０では、正解が対象とする移動状況クラスのいずれかであるならば、出力層２での誤差計算が可能であるため、ステップＳ６４０へ進む。そうでなければ、出力層２での誤差計算をスキップし、ステップＳ６５０へ進む。
【００７０】
ステップＳ６４０では、移動状況認識マルチタスクＤＮＮモデル学習部４６は、出力層２で得られた出力結果と正解を用いて、誤差を計算する。ここでは、例えば正解を、図１０のアノテーションデータにおける第２アノテーションデータの「車ヒヤリハット」や「自転車ヒヤリハット」など、対象とする移動状況クラスのいずれかとし、正解のバイナリベクトルとのクロスエントロピー誤差によって計算する。
【００７１】
ステップＳ６５０では、移動状況認識マルチタスクＤＮＮモデル学習部４６は、出力層３で得られた出力結果と正解を用いて、誤差を計算する。ここでは、例えば正解を、図１０のアノテーションデータにおける第３アノテーションデータの「その他」や「車ヒヤリハット」など、「その他」クラスを加えた移動状況クラスのいずれかとし、正解のバイナリベクトルとのクロスエントロピー誤差によって計算する。
【００７２】
ステップＳ６６０では、移動状況認識マルチタスクＤＮＮモデル学習部４６は、出力層１、２、３の誤差から、ＤＮＮモデル全体の誤差を計算し、逆伝播など公知の技術によって各々のユニットのパラメータを更新する。例えば、ＤＮＮモデル全体で最小化すべき目的関数をＬ、出力層１で評価される誤差をＬ1、出力層２で評価される誤差をＬ2、出力層３で評価される誤差をＬ3としたとき、
0006900576.tif 000011
としてマルチタスク学習が可能な目的関数を設計すればよい。α、β、γはそれぞれの誤差の重みを決定するハイパーパラメータで、出力層３の誤差が最小になるように調整すればよい。
【００７３】
ステップＳ６７０では、移動状況認識マルチタスクＤＮＮモデル学習部４６は、指定回数の逆伝播をした、あるいは、出力層３の誤差が事前に決定した閾値以下であるならば、モデルパラメータ更新処理を終了する。そうでなければ、ＤＮＮモデルを最適化できていないとみなし、ステップＳ６１０へ戻る。出力層３の誤差で判定するのは、ＤＮＮモデル全体の最終的な出力をする出力層３において、正しく正解が得られているか否かを判別するためである。
【００７４】
＜本発明の実施の形態に係る移動状況認識装置の構成＞
次に、本発明の実施の形態に係る移動状況認識装置の構成について説明する。図１５に示すように、本発明の実施の形態に係る移動状況認識装置１００は、入力部１２０と、演算部１３０と、出力部１５０とを備えている。
【００７５】
入力部１２０は、認識対象のユーザについての映像データとセンサデータの時系列とのペアを受け付ける。
【００７６】
演算部１３０は、映像データ前処理部１３６と、センサデータ前処理部１３８と、移動状況認識部１４０と、移動状況認識マルチタスクＤＮＮモデルＤＢ１４８と、を備えている。演算部１３０は、入力部１２０により受け付けた映像データとセンサデータに対する認識結果を出力部１５０により出力する。
【００７７】
本発明の実施の形態では、図１５に示す構成要素の動作をプログラムとして構築し、移動状況認識装置として利用されるコンピュータにインストールして実行させる。
【００７８】
移動状況認識マルチタスクＤＮＮモデルＤＢ１４８には、移動状況認識マルチタスクＤＮＮモデルＤＢ４８と同じＤＮＮモデルのモデルパラメータが格納されている。
【００７９】
映像データ前処理部１３６は、入力部１２０により受け付けた映像データが表わす画像データの時系列に対して、映像データ前処理部３６と同様に、サンプリング及び正規化を行う。
【００８０】
センサデータ前処理部１３８は、入力部１２０により受け付けたセンサデータの時系列に対して、センサデータ前処理部３８と同様に、正規化及び特徴ベクトル化を行う。
【００８１】
移動状況認識部１４０は、映像データ前処理部１３６の処理結果である画像データの時系列、センサデータ前処理部１３８の処理結果であるセンサデータの時系列、及び移動状況認識マルチタスクＤＮＮモデルＤＢ１４８に格納されているモデルパラメータに基づいて、画像データの時系列及びセンサデータの時系列をＤＮＮモデルに入力して、認識対象のユーザの移動状況を認識する。
【００８２】
移動状況認識装置１００は、一例として、及び移動状況認識モデル学習装置１０と同様に、上記図１Ｂに示すコンピュータ８４によって実現される。記憶部９２には、コンピュータ８４を移動状況認識装置１００として機能させるためのプログラム８２が記憶されている。
【００８３】
＜本発明の実施の形態に係る移動状況認識装置の作用＞
図１６は、本発明の一実施の形態における移動状況認識装置１００により実行される移動状況認識処理ルーチンのフローチャートである。以下、具体的に説明する。
【００８４】
＜移動状況認識処理ルーチン＞
まず、移動状況認識モデル学習装置１０により出力されたＤＮＮモデル（ネットワーク構造及びモデルパラメータ）が移動状況認識装置１００に入力されると、移動状況認識装置１００によって、入力されたＤＮＮモデルが、移動状況認識マルチタスクＤＮＮモデルＤＢ１４８へ格納される。そして、移動状況認識装置１００は、映像データとセンサデータの時系列とのペアが入力されると、以下の各処理を実行する。
【００８５】
ステップＳ１５０では、映像データ前処理部１３６が、入力として映像データを受け取り処理する。ステップＳ１５０は、上記図６のフローチャートと同様のフローチャートで実現される。
【００８６】
ステップＳ１６０では、センサデータ前処理部１３８が、入力としてセンサデータを受け取り処理する。上記図８のフローチャートと同様のフローチャートで実現される。
【００８７】
ステップＳ１７０では、移動状況認識部１４０が、映像データ前処理部１３６から処理済み映像データ、センサデータ前処理部１３８から処理済みのセンサデータ、移動状況認識マルチタスクＤＮＮモデルＤＢ１４８から学習済みのＤＮＮモデルを受け取り、移動状況認識結果を計算し、出力部１５０により出力する。
【００８８】
図１７は、上記ステップＳ１７０を実現するための、移動状況認識部１４０により実行されるサブルーチンを示すフローチャートである。以下、具体的に説明する。
【００８９】
ステップＳ７００では、移動状況認識部１４０は、入力データを前処理した映像データおよびセンサデータの時系列を映像データ前処理部１３６及びセンサデータ前処理部１３８から受け取る。
【００９０】
ステップＳ７１０では、移動状況認識部１４０は、移動状況認識マルチタスクＤＮＮモデルＤＢ１４８から学習済みのＤＮＮモデル（ネットワーク構造及びモデルパラメータ）を受け取る。
【００９１】
ステップＳ７２０では、移動状況認識部１４０は、映像データとセンサデータの時系列をＤＮＮモデルに入力し、ＤＮＮモデルを順伝播することにより、映像データ及びセンサデータの時系列から各移動状況に対する確率を計算する。
【００９２】
ステップＳ７３０では、移動状況認識部１４０は、確率の最も高い移動状況を、移動状況認識結果として出力部１５０により出力する。
【００９３】
図１８は、図９に示したＤＮＮモデルの構造の一例における、上記ステップＳ６１０、Ｓ７２０を実現するためのマルチタスクＤＮＮ部の順伝播のフローチャートである。具体的には下記の処理を行う。
【００９４】
ステップＳ８００では、マルチタスクＤＮＮ部は、最終時刻の画像データとセンサデータを順伝播し得られた特徴ベクトルと、前時刻から特徴ベクトルを同時に考慮して得られた系列特徴ベクトル
0006900576.tif 000012
をＬＳＴＭから受け取る。
【００９５】
ステップＳ８１０では、マルチタスクＤＮＮ部は、系列特徴ベクトル
0006900576.tif 000013
を全結合層Ｃにより特徴変換し、またシグモイド関数で非線形変換した１次元のベクトル（スカラ）である確率値ａを得る。この確率値ａをＧａｔｅユニットと出力層１に受け渡す。
【００９６】
ステップＳ８２０では、マルチタスクＤＮＮ部は、系列特徴ベクトル
0006900576.tif 000014
と全結合層Ｃから得られた確率値ａから、Ｇａｔｅユニットによって
0006900576.tif 000015
によって
0006900576.tif 000016
を得る。
【００９７】
ステップＳ８３０では、マルチタスクＤＮＮ部は、特徴ベクトル
0006900576.tif 000017
を全結合層Ｄにより対象とする移動状況クラスの種類数の次元ベクトルに特徴変換し、ソフトマックス関数などを利用して非線形変換し、特徴ベクトル
0006900576.tif 000018
を得る。この値を出力層２に受け渡す。
【００９８】
ステップＳ８４０では、マルチタスクＤＮＮ部は、出力層１から得られたスカラである確率値ａと、出力層２から得られた特徴ベクトル
0006900576.tif 000019
を結合し、
0006900576.tif 000020
を得る。この特徴ベクトルを出力層３に受け渡す。
【００９９】
以上説明したように、本発明の実施の形態に係る移動状況認識モデル学習装置は、画像データの時系列及びセンサデータの時系列と、画像データの時系列及びセンサデータの時系列に対して作成された第１アノテーションデータ、第２アノテーションデータ、及び第３アノテーションデータとに基づいて、ＤＮＮモデルのパラメータを学習する。このとき、移動状況認識モデル学習装置は、画像データの時系列及びセンサデータの時系列を入力したときにＤＮＮモデルにより認識される移動状況が、第１アノテーションデータ、第２アノテーションデータ、及び第３アノテーションデータが示す移動状況と一致するように、ＤＮＮモデルのパラメータを学習する。これにより、映像データとセンサデータの双方から、効率的に情報を抽出し組み合わせ、かつ、いずれの移動状況クラスにも該当しないデータが含まれたデータ集合に対して、高精度な移動状況認識を実現することができる。
【０１００】
また、センサデータに加え映像データを利用したＤＮＮモデルを構築して学習し、得られたＤＮＮモデルを移動状況認識に利用することで、従来認識できなかったユーザの移動状況を認識可能になる。
【０１０１】
また、ユーザの状況認識のために効果的な画像特徴を扱える畳み込み層、適切な抽象度で特徴を抽象化できる全結合層、系列データを効率的に抽象化できるＬＳＴＭを備えた、移動状況認識のためのＤＮＮモデルによって、高精度にユーザの移動状況を認識可能になる。
【０１０２】
また、認識対象としない移動状況データを、１つのクラスとして扱うことにより、想定していないデータの入力に対しても「その他」クラスなどへ振り分けることが可能となる。
【０１０３】
また、認識対象としない移動状況クラスについては、別の出力層の誤差として評価することにより、認識対象とする移動状況クラスの分類モデルに大きな影響を与えず、いずれのクラスにおいても高精度に移動状況を認識可能になる。
【０１０４】
また、認識対象とする移動状況クラスとそれ以外のクラスの分類器、また認識対象とする移動状況クラスの分類器と、２つの分類器を用意する方法に比べてモデルの軽量化が可能になる。
【０１０５】
また、映像データ前処理部が、サンプリングや正規化等、映像データを前処理することにより、ＤＮＮモデルが扱いやすくなるように前処理することができる。また、センサデータ前処理部が、正規化、特徴ベクトル化等、センサデータを前処理することにより、ＤＮＮモデルが扱いやすくなるように前処理することができる。
【０１０６】
また、アノテーションラベル再整理部が、１つのアノテーションデータから複数パターンのアノテーションデータを生成することにより、ＤＮＮモデルがマルチタスク学習可能となる。
【０１０７】
移動状況認識マルチタスクＤＮＮモデル学習部が、ある全結合層で得られた結果をＧａｔｅにおける変数として活用することによって、別の出力層の予測結果に影響を与える。図１１の例においては、もしも対象とする移動状況クラスであると推定されたならば、Ｇａｔｅはその結果を全結合層Ｄへそのまま値を受け渡す。もしも対象とする移動状況クラスでないと推定されたならば、Ｇａｔｅは全結合層Ｄへ値を0に近づけて受け渡す。その結果、出力層２では、対象とする移動状況クラスでない場合の誤差計算をする必要がなく、出力層３では出力層１で得られている結果を直接反映した出力を得られる。
【０１０８】
移動状況認識マルチタスクＤＮＮモデル学習部が、複数の出力層から得られる誤差を組み合わせた誤差を目的関数に持ち、複数の誤差を組み合わせた目的関数を最小化することにより、複数の出力層で得られるマルチタスクに最適なＤＮＮモデルを構築し、汎化性能の高いＤＮＮモデルが得られる。
【０１０９】
また、本発明の実施の形態に係る移動状況認識装置によれば、移動状況認識モデル学習装置によって学習されたＤＮＮモデルを用いることにより、映像データとセンサデータの双方から、高精度な移動状況認識を実現することができる。
【０１１０】
なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【０１１１】
例えば、移動状況認識モデル学習装置と移動状況認識装置とを別々の装置で構成する場合を例に説明したが、これに限定されるものではなく、移動状況認識モデル学習装置と移動状況認識装置とを１つの装置で構成するようにしてもよい。
【０１１２】
また、ユーザの移動状況を認識する場合を例に説明したが、これに限定されるものではなく、ユーザ以外の移動体の移動状況を認識するようにしてもよい。
【０１１３】
また、上述の移動状況認識モデル学習装置及び移動状況認識装置は、内部にコンピュータシステムを有しているが、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
【０１１４】
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、ハードディスクやフレキシブルディスク、CD-ROM等の可搬記憶媒体に格納して提供することも可能である。また、当該プログラムを、ネットワークを介して流通させることも可能である。
【０１１５】
日本出願２０１８−０８５１２６の開示はその全体が参照により本明細書に取り込まれる。
【０１１６】
本明細書に記載された全ての文献、特許出願、及び技術規格は、個々の文献、特許出願、及び技術規格が参照により取り込まれることが具体的かつ個々に記載された場合と同程度に、本明細書中に参照により取り込まれる。
【図１Ａ】
0006900576.tif 000021
【図１Ｂ】
0006900576.tif 000022
【図２】
0006900576.tif 000023
【図３】
0006900576.tif 000024
【図４】
0006900576.tif 000025
【図５】
0006900576.tif 000026
【図６】
0006900576.tif 000027
【図７】
0006900576.tif 000028
【図８】
0006900576.tif 000029
【図９】
0006900576.tif 000030
【図１０】
0006900576.tif 000031
【図１１】
0006900576.tif 000032
【図１２】
0006900576.tif 000033
【図１３】
0006900576.tif 000034
【図１４】
0006900576.tif 000035
【図１５】
0006900576.tif 000036
【図１６】
0006900576.tif 000037
【図１７】
0006900576.tif 000038
【図１８】
0006900576.tif 000039