(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-26
(45)【発行日】2023-11-06
(54)【発明の名称】学習モデルの生成方法、プログラム及び情報処理装置
(51)【国際特許分類】
G06T 7/00 20170101AFI20231027BHJP
G08G 1/16 20060101ALI20231027BHJP
【FI】
G06T7/00 350B
G06T7/00 650Z
G08G1/16 A
(21)【出願番号】P 2020004562
(22)【出願日】2020-01-15
【審査請求日】2022-11-11
(73)【特許権者】
【識別番号】512200217
【氏名又は名称】GO株式会社
(74)【代理人】
【識別番号】100114557
【氏名又は名称】河野 英仁
(74)【代理人】
【識別番号】100078868
【氏名又は名称】河野 登夫
(72)【発明者】
【氏名】チェトプラユン パヌメート
(72)【発明者】
【氏名】戴 倩穎
【審査官】片岡 利延
(56)【参考文献】
【文献】特開2019-164611(JP,A)
【文献】特開2019-194751(JP,A)
【文献】築澤宗太郎,外3名,自動運転向けディープラーニング障害物検出,パナソニック技報,2017年05月,Vol.63,No.1
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G08G 1/16
(57)【特許請求の範囲】
【請求項1】
移動体に載置される撮像装置により撮像された対象物を含む撮像画像を取得し、
前記対象物を抽出した複数の対象物抽出画像を前記撮像画像に関連付けて取得し、
取得した撮像画像及び複数の対象物抽出画像と対象物に関する情報とを含む訓練データに基づき、撮像画像及び複数の対象物抽出画像を入力した場合に対象物に関する情報を出力する学習モデルを生成する
学習モデルの生成方法。
【請求項2】
前記撮像画像及び該撮像画像と時系列で隣接する撮像画像それぞれから前記対象物を抽出した複数の2値化画像を取得する
請求項1に記載の学習モデルの生成方法。
【請求項3】
移動体の走行路を示す白線を含む撮像画像を取得し、
前記白線を抽出した複数の白線抽出画像を前記撮像画像に関連付けて取得し、
取得した撮像画像及び複数の白線抽出画像と、前記移動体が所在する走行路における位置とを含む訓練データに基づき、移動体の走行路を示す白線を含む撮像画像及び前記白線を抽出した複数の白線抽出画像を入力した場合に、移動体が所在する走行路における位置を出力する前記学習モデルを生成する
請求項1又は請求項2に記載の学習モデルの生成方法。
【請求項4】
第1時刻における撮像画像と、前記第1時刻及び該第1時刻の前後複数の時刻における複数の対象物抽出画像とを取得し、
取得した第1時刻及び該第1時刻の前後複数の時刻における複数の対象物抽出画像並びに前記第1時刻における撮像画像と、対象物に関する情報とを含む訓練データに基づき、前記学習モデルを生成する
請求項1から請求項3のいずれか1項に記載の学習モデルの生成方法。
【請求項5】
前記第1時刻における対象物抽出画像に含まれる対象物の検出精度に基づき、前記対象物抽出画像の数を決定する
請求項4に記載の学習モデルの生成方法。
【請求項6】
前記第1時刻における撮像画像と、前記第1時刻及び該第1時刻の前後複数の時刻における複数の対象物抽出画像とで構成されるデータユニットを含む、前記第1時刻及び該第1時刻の前後複数の時刻における複数のデータユニットにおける撮像画像及び複数の対象物抽出画像を取得し、
取得した複数のデータユニットにおける撮像画像及び複数の対象物抽出画像と対象物に関する情報とを含む訓練データに基づき、複数のデータユニットにおける撮像画像及び複数の対象物抽出画像を入力した場合に対象物に関する情報を出力する前記学習モデルを生成する
請求項4又は請求項5に記載の学習モデルの生成方法。
【請求項7】
前記第1時刻における前記移動体の移動速度及び前記撮像画像のフレームレートに基づき前記データユニットの数を決定する
請求項6に記載の学習モデルの生成方法。
【請求項8】
移動体に載置される撮像装置により撮像された対象物を含む撮像画像を取得し、
前記対象物を抽出した複数の対象物抽出画像を前記撮像画像に関連付けて取得し、
撮像画像及び複数の対象物抽出画像と対象物に関する情報とを含む訓練データに基づき、撮像画像及び複数の対象物抽出画像を入力した場合に対象物に関する情報を出力するよう学習された学習モデルに、取得した撮像画像及び複数の対象物抽出画像を入力して、前記対象物に関する情報を出力する
処理をコンピュータに実行させるためのプログラム。
【請求項9】
前記撮像画像及び該撮像画像と時系列で隣接する撮像画像それぞれから前記対象物を抽出した複数の2値化画像を取得する
処理をコンピュータに実行させるための請求項8に記載のプログラム。
【請求項10】
移動体の走行路を示す白線を含む撮像画像を取得し、
前記白線を抽出した複数の白線抽出画像を前記撮像画像に関連付けて取得し、
撮像画像及び複数の白線抽出画像と、前記移動体が所在する走行路における位置とを含む訓練データに基づき、移動体の走行路を示す白線を含む撮像画像及び前記白線を抽出した複数の白線抽出画像を入力した場合に、移動体が所在する走行路における位置を出力するよう学習された前記学習モデルに、取得した移動体の走行路を示す白線を含む撮像画像及び前記白線を抽出した複数の白線抽出画像を入力して、前記移動体が所在する走行路における位置を出力する
処理をコンピュータに実行させるための請求項8又は請求項9に記載のプログラム。
【請求項11】
前記学習モデルは、第1時刻及び該第1時刻の前後複数の時刻における複数の対象物抽出画像並びに前記第1時刻における撮像画像と、対象物に関する情報とを含む訓練データに基づき学習されている
請求項8から請求項10のいずれか1項に記載のプログラム。
【請求項12】
第1時刻における対象物抽出画像に含まれる対象物の検出精度を取得し、
検出精度に応じて用意された複数種類の前記学習モデルから、取得した検出精度に対応する学習モデルを選択する
処理をコンピュータに実行させるための請求項11に記載のプログラム。
【請求項13】
前記第1時刻における撮像画像と、前記第1時刻及び該第1時刻の前後複数の時刻における複数の対象物抽出画像とで構成されるデータユニットを含む、前記第1時刻及び該第1時刻の前後複数の時刻における複数のデータユニットにおける撮像画像及び複数の対象物抽出画像を取得し、
複数のデータユニットにおける撮像画像及び複数の対象物抽出画像と対象物に関する情報とを含む訓練データに基づき、複数のデータユニットにおける撮像画像及び複数の対象物抽出画像を入力した場合に対象物に関する情報を出力するよう学習された前記学習モデルに、取得した複数のデータユニットにおける撮像画像及び複数の対象物抽出画像を入力して、前記対象物に関する情報を出力する
処理をコンピュータに実行させるための請求項11又は請求項12のいずれか1項に記載のプログラム。
【請求項14】
前記第1時刻における前記移動体の移動速度及び前記撮像画像のフレームレートを取得し、
移動速度及びフレームレートに応じて用意された複数種類の前記学習モデルから、取得した移動速度及びフレームレートに対応する学習モデルを選択する
処理をコンピュータに実行させるための請求項13に記載のプログラム。
【請求項15】
移動体に載置される撮像装置により撮像された対象物を含む撮像画像を取得する第1取得部と、
前記対象物を抽出した複数の対象物抽出画像を前記撮像画像に関連付けて取得する第2取得部と、
前記第1取得部が取得した撮像画像及び前記第2取得部が取得した複数の対象物抽出画像と、対象物に関する情報とを含む訓練データに基づき、撮像画像及び複数の対象物抽出画像を入力した場合に対象物に関する情報を出力する学習モデルを生成する生成部と
を備える情報処理装置。
【請求項16】
移動体に載置される撮像装置により撮像された対象物を含む撮像画像を取得する第1取得部と、
前記対象物を抽出した複数の対象物抽出画像を前記撮像画像に関連付けて取得する第2取得部と、
撮像画像及び複数の対象物抽出画像と対象物に関する情報とを含む訓練データに基づき、撮像画像及び複数の対象物抽出画像を入力した場合に対象物に関する情報を出力するよう学習された学習モデルと、
前記学習モデルに、前記第1取得部が取得した撮像画像及び前記第2取得部が取得した複数の対象物抽出画像を入力して、前記対象物に関する情報を出力する出力部と
を備える情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本技術は、学習モデルの生成方法、プログラム及び情報処理装置に関する。
【背景技術】
【0002】
従来、車両等の移動体の前方を撮像した画像から各種の情報を検出する検出方法が提案されている。特許文献1には、車両に搭載され、その車両が走行する路上の白線をより正確に検出することが出来る車両用白線検出装置が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1の手法では、撮像画像から検出対象である白線を検出する能力は十分ではないという問題がある。
【0005】
本開示の目的は、撮像画像から対象物に関する情報を精度よく出力する学習モデルの生成方法、プログラム及び情報処理装置を提供することにある。
【課題を解決するための手段】
【0006】
本開示の一態様における学習モデルの生成方法は、移動体に載置される撮像装置により撮像された対象物を含む撮像画像を取得し、前記対象物を抽出した複数の対象物抽出画像を前記撮像画像に関連付けて取得し、取得した撮像画像及び複数の対象物抽出画像と対象物に関する情報とを含む訓練データに基づき、撮像画像及び複数の対象物抽出画像を入力した場合に対象物に関する情報を出力する学習モデルを生成する。
【発明の効果】
【0007】
本開示によれば、撮像画像から対象物に関する情報を精度よく出力することができる。
【図面の簡単な説明】
【0008】
【
図1】第1実施形態における学習モデル生成システムの概要図である。
【
図2】情報処理装置の構成例を示すブロック図である。
【
図3】制御ユニットの構成例を示すブロック図である。
【
図4】ユニットグループ値の生成方法を示す概念図である。
【
図5】データユニットの内容を説明する説明図である。
【
図6】白線抽出画像の結合方法の一例を説明する説明図である。
【
図8】n及びmに対応するグループIDをマトリクス状に記憶したテーブル例を示す図である。
【
図9】学習モデルの生成処理手順の一例を示すフローチャートである。
【
図10】ユニットグループ値取得の詳細な手順の一例を示すフローチャートである。
【
図11】第2実施形態における学習モデルの生成処理手順の一例を示すフローチャートである。
【
図12】第2実施形態におけるユニットグループ値取得の詳細な手順の一例を示すフローチャートである。
【
図13】第3実施形態における推定システムの構成例を示すブロック図である。
【
図15】学習モデルを用いた推定処理手順の一例を示すフローチャートである。
【
図16】第3実施形態におけるユニットグループ値取得の詳細な手順の一例を示すフローチャートである。
【
図17】表示装置で表示される画面例を示す図である。
【
図18】第4実施形態における学習モデルを用いた推定処理手順の一例を示すフローチャートである。
【
図19】第4実施形態におけるユニットグループ値取得の詳細な手順の一例を示すフローチャートである。
【発明を実施するための形態】
【0009】
本発明をその実施の形態を示す図面を参照して具体的に説明する。
【0010】
(第1実施形態)
図1は、第1実施形態における学習モデル生成システム100の概要図である。学習モデル生成システム100は、情報処理装置1、移動体2の制御ユニット200及び撮像装置31を含む。情報処理装置1及び制御ユニット200は例えばインターネット又は公衆回線網等のネットワークN1を介して通信可能に接続されている。
【0011】
移動体2は、例えば車両、オートバイ、ヘリコプター、船舶、ドローン等の移動機構を備えるものであり、移動体2に載置される撮像装置31により、移動中の移動体2の外部を撮影する。以下では移動体2は車両であるものとして説明する。撮像装置31は、例えばドライブレコーダーであり、移動体2の外部をカメラにより撮影し、撮影した映像データをSDカード等の記録媒体に記録する装置である。なお撮像装置31は、カメラ等のイメージセンサに加えて、例えばレーダ又はライダー(LIDAR: Laser Imaging Detection and Ranging)等の測距センサを備えていてもよい。測距センサは、送信波を出力し、物体からの反射波を受け取ることにより、反射波の受信状態から物体の位置や速度を算出することができる。撮像装置31は、制御ユニット200に接続される。制御ユニット200は、撮像装置31により撮影された動画を情報処理装置1に送信する。
【0012】
情報処理装置1は、例えばサーバコンピュータである。情報処理装置1は、制御ユニット200から取得した情報に基づき、撮像画像に含まれる対象物に関する情報を出力する学習モデルを生成する。第1実施形態において、情報処理装置1は1台のサーバコンピュータとして説明するが、複数のサーバコンピュータで機能又は処理を分散させてもよいし、1台の大型コンピュータに仮想的に生成される複数のサーバコンピュータ(インスタンス)の内の1つであってもよい。なお、情報処理装置1は、移動体2の内部に設置されていてもよい。
【0013】
このような学習モデル生成システム100の構成及び詳細な処理内容について以下に説明する。
【0014】
図2は、情報処理装置1の構成例を示すブロック図である。情報処理装置1は、制御部10、記憶部11、通信部12及び操作部13を含む。制御部10は、一又は複数のCPU(Central Processing Unit )、GPU(Graphics Processing Unit)等を用いたプロセッサであり、内蔵するROM(Read Only Memory)又はRAM(Random Access Memory)等のメモリを用い、各構成部を制御して処理を実行する。制御部10は、記憶部11に記憶されているプログラム1Pを読み出して実行することにより、種々の情報処理、制御処理等を行う。
【0015】
記憶部11には、例えばハードディスク又はSSD(Solid State Drive )等の不揮発性メモリを含む。記憶部11には、プログラム1Pを含む制御部10が参照するプログラム及びデータが記憶される。記憶部11に記憶されるプログラム1Pは、記録媒体にコンピュータ読み取り可能に記録されている態様であってもよい。記憶部11は、図示しない読出装置によって記録媒体1Aから読み出されたプログラム1Pを記憶する。また、図示しない通信網に接続されている図示しない外部コンピュータからプログラム1Pをダウンロードし、記憶部11に記憶させたものであってもよい。なお記憶部11は、複数の記憶装置により構成されていてもよく、情報処理装置1に接続された外部記憶装置であってもよい。
【0016】
記憶部11には、更に複数の学習モデル1Mが記憶される。学習モデル1Mは、撮像画像に含まれる対象物に関する情報を識別する識別器であり、機械学習により生成された学習モデルである。学習モデル1Mは、その定義情報によって定義される。学習モデル1Mの定義情報は、例えば、学習モデル1Mの構造情報や層の情報、各層が備えるチャネルの情報、学習済みのパラメータを含む。記憶部11には、学習モデル1Mに関する定義情報が記憶される。学習モデル1Mの詳細については後述する。
【0017】
通信部12は、ネットワークN1を介した通信を実現する通信インタフェースである。制御部10は、通信部12によりネットワークN1を介して制御ユニット200と通信接続が可能である。
【0018】
操作部13は、ユーザの操作を受け付けるインタフェースであり、物理ボタン、マウス、ディスプレイ内蔵のタッチパネルデバイスを含む。操作部13は、ユーザからの操作入力を受け付け、操作内容に応じた制御信号を制御部10へ送出する。
【0019】
図3は、制御ユニット200の構成例を示すブロック図である。制御ユニット200は、例えば移動体2の装備品を制御するためのECU(Electronic Control Unit)であり、制御部20、記憶部21、第1通信部22及び第2通信部23等を備える。
【0020】
制御部20は、一又は複数のCPU、GPU等を用いたプロセッサであり、内蔵するROM及びRAM等のメモリを用いて各構成部を制御して処理を実行する。制御部20は、内蔵するタイマーによって逐次、時間情報を取得することができる。制御部20は、記憶部21に記憶されているプログラムに基づく情報処理を実行する。
【0021】
記憶部21は、EEPROM(Electronically Erasable Programmable Read Only Memory)などの不揮発性メモリを備える。記憶部21には、制御部20により実行されるプログラム及び当該プログラムの実行に必要なデータ等が記憶される。記憶部21は、制御部20に内蔵のタイマーによって得られる時刻情報を対応付けて移動体2の移動中における速度のログを記憶するとよい。
【0022】
第1通信部22は、CAN(Control Area Network)又はEthernet(登録商標)等の通信プロトコルを用いた通信インタフェースであり、制御部20は、第1通信部22を介して移動体内通信回線N2に接続されている各種機器、他のECU等と相互に通信する。移動体内通信回線N2を介して第1通信部22に接続される機器には、撮像装置31が含まれる。
【0023】
第2通信部23は、3G、LTE、4G、5G、WiFi等の移動体通信のプロトコルを用いて無線通信をするための通信インタフェースであり、第2通信部に接続されたアンテナを介して情報処理装置1とデータの送受信を行う。第2通信部23と情報処理装置1との通信は、例えば公衆回線網又はインターネット等の外部ネットワークN1を介して行われる。
【0024】
上述のように構成される学習モデル生成システム100において、情報処理装置1は、取得した撮像画像に基づき、撮像画像データを含む複数のデータの組み合わせからなるユニットグループ値Xを生成する。情報処理装置1は、生成したユニットグループ値Xを含む訓練データセットを用いて後述の学習モデル1Mを生成する。
【0025】
学習モデルは、対象物を含む撮像画像の特徴量を抽出することで各種の情報を判定する。対象物を高精度に検出可能な撮像画像を用いた場合には高い精度の推定結果が得られる可能性が高い。一方で、例えば対象物が不明瞭である、対象物の一部が欠けている等の撮像画像を用いた場合には、低い精度で検出された対象物に関する情報に基づくことにより、学習モデルの推定精度が低くなる虞がある。本学習モデル生成システム100では、対象物の検出精度を高めた複数のデータの組み合わせからなるユニットグループ値Xを用いて訓練データを生成することで、対象物に関する学習モデルの推定精度を向上させる。
【0026】
図4は、ユニットグループ値Xの生成方法を示す概念図である。ユニットグループ値Xは、撮像画像に基づき、データユニット生成及びユニットグループ生成の処理を経て取得される。
図4を用いて、時刻tにおける撮像画像に基づくユニットグループ値X(t)の生成に関して、具体的に説明する。
【0027】
情報処理装置1は、初めに、撮像画像に関連付けてグレースケール撮像画像及び対象物抽出画像を取得する。撮像画像は、撮像装置31により撮影され制御ユニット200を介して情報処理装置1で取得される。撮像画像は、動画像で得られ、例えば1秒間に60フレーム等の所定のフレームレートに基づき取得された複数のフレームの静止画像から構成される。なお、撮像画像は所定間隔で取得された複数枚の静止画像の組であってもよい。
【0028】
情報処理装置1は、RGB(Red Green Blue)値を含む撮像画像から、グレースケールの画像に変換したグレースケール撮像画像を生成する。グレースケール撮像画像は、0から255の画素値を含むものであってもよく、0から1までの連続値に正規化された値を含むものであってもよい。なお撮像装置31から取得する撮像画像そのものがグレースケール画像であってもよい。
【0029】
さらに、RGB画像又はグレースケール画像いずれかの撮像画像に基づき、対象物抽出画像を生成する。第1実施形態では、対象物抽出画像とは、撮像画像から対象物を抽出した画像データであり、2値化画像である。撮像画像から抽出される対象物とは、例えば、走行路上の白線、ガードレール、中央分離帯、信号機、道路標識、車両、周辺の広告物、人等である。第1実施形態では、撮像画像は、移動体2の走行路を示す白線を撮影した画像であり、対象物抽出画像は、対象物として白線を抽出した2値の白線抽出画像である例を説明する。
【0030】
撮像画像から白線抽出画像を生成する方法は公知の方法を用いてよい。例えば、情報処理装置1は、機械学習モデルにより、LaneNet、U-Net等のアルゴリズムを用いて対象物を抽出した画像を生成してよい。LaneNetモデルは、画像のセグメンテーションを行う学習モデルであり、撮像画像に基づき対象物である白線を抽出した2値化画像を生成する。情報処理装置1は、撮像画像の各フレームについて上記の処理を行い、各撮像画像に対応する白線抽出画像を生成する。
【0031】
白線抽出画像は、例えばパターンマッチング等の手法を用いて生成してもよい。この場合、情報処理装置1は、初めに撮像画像から局所特徴量を検出し、当該検出した局所特徴量と予め保持している対象物の特徴量とをパターンマッチングすることにより、対象物を含む領域を特定し白線抽出画像を生成する。さらに、情報処理装置1は、生成された白線抽出画像に対し、撮像画像の輝度値に基づいて2値化する処理を実行し、2値化画像を生成するとよい。画像の2値化処理の方法は公知の方法を用いてよい。例えば、グレースケールに変換した白線抽出画像中の画素毎に、画素の輝度値(画素値)と所定の方法により算出された閾値とを比較する。情報処理装置1は、画素の画素値が閾値よりも大きい場合、該画素を黒画素と判定し、画素値を1にする。一方、画素値が閾値以下の場合、該画素を白画素と判定し、画素値を0にする。情報処理装置1は、各画素について上記の処理を行い、2値の白線抽出画像を生成する。
【0032】
なお、上記では撮像画像から対象物抽出画像を生成する例を説明したが、対象物抽出画像は撮像画像から生成されるものに限定されない。ライダー等により対象物を抽出したセンサデータを取得した場合には、情報処理装置1は、取得したセンサデータを画像データに変換し対象物抽出画像を生成してもよい。
【0033】
次に、情報処理装置1は、グレースケール撮像画像と複数の対象物抽出画像(白線抽出画像)とで構成されるデータユニットを生成する。
図5は、データユニットの内容を説明する説明図である。時刻tにおける時刻tデータユニットは、時刻tにおけるグレースケール撮像画像と、時刻t及び時刻tの前後夫々n個の時刻における対象物抽出画像とを含む。すなわち、時刻tデータユニットには、時刻tのグレースケール撮像画像と、時刻t、時刻t-1、時刻t+1、時刻t-2、時刻t+2、…、時刻t-n、時刻t+nの各白線抽出画像(合計2n+1個)とが含まれる。nは正の自然数である。
図5の例では、n=1であり、時刻tデータユニットには、時刻tのグレースケール撮像画像と、時刻t、時刻t+1及び時刻t-1の白線抽出画像とが含まれる。同様に、時刻t-1データユニットには、時刻t-1のグレースケール撮像画像と、時刻t-2、時刻t-1及び時刻tの白線抽出画像とが含まれる。時刻t+1データユニットには、時刻t+1のグレースケール撮像画像と、時刻t、時刻t+1及び時刻t+2の白線抽出画像とが含まれる。本実施形態においてはnは正の自然数として説明するが、nは0であってもよい。なお、結合白線抽出画像は、時刻tを中心に前後同数のn個づつの白線抽出画像を結合するものに限定されない。結合される白線抽出画像の時刻tの前後における個数、すなわち、過去側の個数と未来側の個数は異なるものであってもよい。
【0034】
各時刻におけるデータユニットからは、夫々1個のデータユニット値が生成される。1個のデータユニット値は、例えば、グレースケール撮像画像及び結合白線抽出画像夫々の画素値を一次元又は二次元配列形式に変換し連結して得られる1個のデータとして記憶され処理される。第1実施形態では、データユニット値は、グレースケール撮像画像の画像データと、2n+1個の白線抽出画像を結合した結合白線抽出画像の画像データとの2チャンネルデータの組み合わせからなる1個のマトリクスデータである。
【0035】
図6は、白線抽出画像の結合方法の一例を説明する説明図である。情報処理装置1は、時刻tの白線抽出画像と、時刻tの前後夫々n個の時刻における白線抽出画像夫々とを結合し結合白線抽出画像を生成する。
図6の下部では、一例としてn=1の場合における、時刻t、時刻t+1及び時刻t-1の3個の白線抽出画像を結合した結合白線抽出画像を生成する例を説明する。各白線抽出画像は、例えば同じ画素数の画像データであり、各画素の画素値を夫々有する。情報処理装置1は、各白線抽出画像の対応する画素を結合し、1個の画像データを生成する。例えば、各白線抽出画像における同じ配列(画素番号)の画素が全て0である場合、結合白線抽出画像における該配列の画素値を0にする。各白線抽出画像における同じ配列の画素が0、0、1である場合、結合白線抽出画像における該配列の画素値を1にする。このように、前後の複数データの情報を結合することで、1個の対象物抽出画像では検出されなかった情報を補填したデータを生成する。なお、複数画像の結合方法は一例であり上記の例に限定されるものではない。
【0036】
図4に戻り説明を続ける。情報処理装置1は、さらに上述のデータユニットの一又は複数個の組み合わせで構成される、1個のユニットグループを生成する。時刻tにおけるユニットグループは、時刻t及び時刻tの前後夫々m個の時刻におけるデータユニットで構成される。すなわち、時刻tにおけるユニットグループには、時刻tデータユニット、時刻t-1データユニット、時刻t+1データユニット、…、時刻t-mデータユニット、及び時刻t+mデータユニット(合計2m+1個)が含まれる。mは、0又は正の自然数である。なお、ユニットグループは、時刻tを中心に前後同数のm個づつのデータユニットを組み合わせたものに限定されない。組み合わせられるデータユニットの時刻tの前後における個数、すなわち、過去側の個数と未来側の個数は異なるものであってもよい。
【0037】
上述のように生成された時刻tにおけるユニットグループから、1個のユニットグループ値Xが生成される。1個のユニットグループ値Xは、2m+1個のデータユニット値を組み合わせて得られる値であり、例えば、2m+1個のグレースケール撮像画像及び結合白線抽出画像夫々の画素値を一次元又は二次元配列形式に変換し連結して得られる1個のデータとして記憶され処理される。第1実施形態では、ユニットグループ値Xは、2m+1個のグレースケール撮像画像の画像データと、2m+1個の結合白線抽出画像の画像データとの4m+2チャンネルの組み合わせからなる、1個のマトリクスデータである。
【0038】
なお、上記ではデータユニット値及びユニットグループ値Xは夫々、グレースケールの撮像画像データと白線抽出画像データとを組み合わせたものである例を説明したが、データユニット値及びユニットグループ値Xに含まれるデータは上記の例に限定されるものではない。データユニット値及びユニットグループ値Xは夫々、RGB値を含む撮像画像データと白線抽出画像データとを組み合わせたものであってもよい。
【0039】
上記のユニットグループ値Xを用いて、情報処理装置1は学習モデル1Mを生成する。
図7は、学習モデル1Mの構成を説明する説明図である。学習モデル1Mは、ニューラルネットワークを用いた深層学習によって、生成され、学習される。学習モデル1Mは、例えばCNN(Convolution Neural Network)である。
図7に示す例では、学習モデル1Mは、撮像画像に基づくユニットグループ値Xを入力する入力層と、対象物に関する情報を出力する出力層と、画像データの特徴量を抽出する中間層(隠れ層)とを備える。
【0040】
制御部10は、撮像画像に対し、上述のようにグレースケール撮像画像及び対象物抽出画像を生成し、これらを組み合わせてなるデータユニット及びユニットグループに基づきユニットグループ値Xを生成する前処理を実行する。第1実施形態における学習モデル1Mとは、狭義の学習モデル1Mと、上述の前処理を含めた広義の学習モデルモジュールとを含む。
【0041】
学習モデル1Mの入力層へ入力される入力データは、ユニットグループ値Xである。第1実施形態では、ユニットグループ値Xは、移動体2の走行路を示す白線を撮影したグレースケール撮像画像データと、対象物である白線を抽出した白線抽出画像データとの2チャンネルのデータを含む。白線抽出画像は、撮像画像に掛け合わせられるマスク画像としての機能を有する。
【0042】
中間層は、例えば、畳み込み層、プーリング層及び全結合層により構成される。畳み込み層及びプーリング層は交互に複数設けられてもよい。畳み込み層及びプーリング層は、各層のチャネルを用いた演算によって、入力層を通じて入力される撮像画像データ及び白線抽出画像データの特徴を抽出する。全結合層は、畳み込み層及びプーリング層によって特徴部分が抽出されたデータを1つのノードに結合し、活性化関数によって変換された特徴量を出力する。特徴量は、全結合層を通じて出力層へ出力される。
【0043】
学習モデル1Mの出力層から出力される出力データは、対象物に関する情報である。第1実施形態では、対象物に関する情報として、移動体2が所在する走行路上の位置を示す、移動体2の所在車線を出力する。出力層は、設定されている所在車線に各々対応するチャネルを含み、各所在車線に対する確度をスコアとして出力する。情報処理装置1は、スコアが最も高い所在車線、あるいはスコアが閾値以上である所在車線を出力層の出力値とすることができる。なお出力層は、それぞれの所在車線の確度を出力する複数の出力チャネルを有する代わりに、最も確度の高い所在車線を出力する1個の出力チャネルを有してもよい。このように、学習モデル1Mは、ユニットグループ値Xが入力された場合に、対象物に関する情報を出力する。
【0044】
上記の学習モデル1Mは、上述したn及びmの値に応じて異なる学習モデル1Mが用意される。すなわち、学習モデル1Mに入力するユニットグループ値Xを生成するための、結合白線抽出画像に含める白線抽出画像の枚数及び組み合わせるデータユニット値の個数に応じて、異なる学習モデル1Mが生成される。各学習モデル1Mの構成は、同じ構成を有するものであってもよく、中間層の層数が異なる構成であってもよい。情報処理装置1は、例えばユーザの入力を受け付ける等によりn及びmの値を決定する。情報処理装置1は、決定したn及びmの組み合わせにより特定されるグループ毎に撮像画像を分別し、該グループ別に学習モデル1Mを生成する。
図8は、n及びmに対応するグループIDをマトリクス状に記憶したテーブル例を示す図である。例えば、n=1且つm=0の場合はグループ1、n=1且つm=1の場合はグループ2、…が記憶される。情報処理装置1は、グループID別に異なる訓練データを用いて学習モデル1Mを生成する。
【0045】
上記では学習モデル1MがCNNであるものとして説明したが、学習モデル1MはCNNに限定されるものではない。時系列データを取得した場合にはCNN以外のニューラルネットワーク、例えばリカレントニューラルネットワーク(RNN:Recurrent Neural Network)、LSTM(Long Short Term Memory)ネットワークを用いてもよい。またニューラルネットワークを用いないサポートベクタマシン、回帰木等、他のアルゴリズムによって学習されたモデルであってもよい。
【0046】
なお、学習モデル1Mの内容例が
図7に示した例に限られないことは勿論である。学習モデル1Mは、撮像画像に含まれる対象物に応じて適宜入力情報に応じた出力情報を出力するように学習されるとよい。例えば、学習モデル1Mは、対象物である広告に応じて広告の分類又は広告数を出力としてもよい。学習モデル1Mは、対象物である人に応じて人数を出力としてもよい。学習モデル1Mは、対象物である車両に応じて車両数を出力としてもよい。
【0047】
図9は、学習モデル1Mの生成処理手順の一例を示すフローチャートである。以下の処理は、情報処理装置1の記憶部11に記憶してあるプログラム1Pに従って制御部10によって実行される。処理の実行タイミングは、例えば定期的なタイミングであってもよく、撮像装置31により新たな撮像画像が記録され制御ユニット200から送信されたタイミングであってもよい。
【0048】
情報処理装置1の制御部10は、制御ユニット200から撮像画像を取得し(ステップS11)、取得した撮像画像を一時的に記憶部11に記憶する。撮像画像は、撮像装置31により撮影し記録された移動体2の外部を撮影した画像であり、移動体2の走行路を示す白線が含まれる。
【0049】
制御部10は、記憶部11にアクセスし、撮像画像を取得する。制御部10は、撮像画像をグレースケールに変換し、グレースケール撮像画像を取得する(ステップS12)。なお、制御部10は、制御ユニット200からグレースケールの撮像画像を取得してもよい。制御部10は、例えばLaneNet等の機械学習モデルを用いて、撮像画像から対象物の抽出を行い、対象物抽出画像である白線抽出画像を取得する(ステップS13)。白線抽出画像は、2値化画像である。制御部10は、グレースケール撮像画像と白線抽出画像とを関連付けて記憶する。制御部10は撮像画像に含まれる全フレームに対して上記の処理を実行する。
【0050】
なお、制御部10は、ライダー等の測距センサによるセンサデータを取得した場合には、撮像画像に基づく白線抽出画像の生成に代えて、センサデータにより白線抽出画像を生成してよい。この場合において、撮像画像及びセンサデータは夫々取得時点に関する情報が付随しており、制御部10は、撮像画像に同一時点のセンサデータを対応付けて取得するとよい。
【0051】
制御部10は、取得したグレースケール撮像画像及び白線抽出画像に基づき、ユニットグループ値Xを取得する(ステップS14)。
図10は、ユニットグループ値X取得の詳細な手順の一例を示すフローチャートである。
図10のフローチャートに示す処理手順は、
図9のフローチャートにおけるステップS14の詳細に対応する。
【0052】
制御部10は、例えば操作部13によりユーザの入力を受け付ける等により、ユニットグループ値Xを生成するためのn及びmの値を決定する(ステップS141)。制御部10は、決定したnの値に基づき、時刻tにおけるグレースケール撮像画像と、時刻t及び時刻tの前後n個の時刻、すなわち時刻t-nから時刻t+nまでの各時刻における白線抽出画像(合計2n+1個)とで構成される時刻tデータユニットを生成する(ステップS142)。制御部10は、生成した時刻tデータユニットにおけるグレースケール撮像画像データと、各時刻の白線抽出画像に基づく結合白線抽出画像データとを組み合わせたデータユニット値を取得する(ステップS143)。
【0053】
制御部10は、決定したmの値に基づき、時刻t及び時刻tの前後m個の時刻、すなわち時刻t-mから時刻t+mまでの各時刻におけるデータユニット(合計2m+1個)で構成されるユニットグループを生成する(ステップS144)。制御部10は、生成したユニットグループの各時刻におけるデータユニット値を組み合わせたユニットグループ値Xを取得し(ステップS145)、
図9のフローチャートにおけるステップS15へ処理を戻す。
【0054】
図9に戻り説明を続ける。制御部10は、取得したユニットグループ値Xに、対象物に関する情報(例えば移動体2の所在車線)をラベル付けした訓練データセットを生成する(ステップS15)。制御部10は、撮像画像の各フレームに対し上述の処理を行い、ユニットグループ値Xに所在車線を夫々ラベル付けした複数の訓練データセットを生成する。制御部10は、大量の撮像画像に基づくユニットグループ値Xとラベルデータとを収集し、収集したデータを訓練データセットとして不図示のデータベースに記憶する。この場合において、ユニットグループ値Xは、n及びmの値を付随させて記憶される。
【0055】
制御部10は、ユニットグループ値Xに付随するn及びmの値に基づき、
図8に示したテーブルを参照して、n及びmの値の組み合わせにより特定されるグループIDを取得し、ユニットグループ値Xをグループに分別する(ステップS16)。
【0056】
制御部10は、生成した訓練データセットを用いて、時刻tにおけるユニットグループ値Xを入力した場合に、時刻tにおける所在車線を出力する学習モデル1Mを生成する(ステップS17)。具体的には、制御部10は、データベースにアクセスし、学習モデル1Mの生成に用いる1組の訓練データセットを取得する。訓練データセットは、ユニットグループ値Xと所在車線とを含む。制御部10は、ユニットグループ値Xを学習モデル1Mの入力層に入力する。この場合において、制御部10は、ユニットグループの構成に応じたグループID別に異なる学習モデル1M、1M、1M…を生成するため、分別したユニットグループ値Xのグループ別に対応する学習モデル1Mに訓練データを入力する。
【0057】
制御部10は、所在車線の予測値を出力層から取得する。学習が開始される前の段階では、学習モデル1Mを記述する定義情報には、初期設定値が与えられているものとする。制御部10は、例えば誤差逆伝播法を用いて、所在車線の予測値と正解値である所在車線とを比較し、差分が小さくなるように中間層におけるパラメータ及び重み等を学習する。差分の大きさ、学習回数が所定基準を満たすことによって学習が完了すると、最適化されたパラメータが得られる。制御部10は、各グループ別に生成した学習モデル1M、1M、1M…を記憶部11に格納し、一連の処理を終了する。
【0058】
本実施形態によれば、撮像画像から生成される複数のデータを組み合わせたユニットグループ値Xを含む訓練データセットを用いて学習モデル1Mが生成される。学習モデル1Mは、マスク画像となる対象物の抽出精度を高めた対象物抽出画像と、撮像画像とを含む入力データを用いることにより、1フレームの画像をそのまま使用する場合に比べて精度の高い推定処理が可能となる。
【0059】
学習モデル1Mは、データの組み合わせ内容に応じて複数の学習モデル1Mが用意される。各学習モデル1Mは、個々に固定されたn及びmの値に基づくユニットグループ値Xを含む訓練データにより学習することができ、検出精度を高めることが可能となる。
【0060】
(第2実施形態)
第2実施形態では、撮像画像に応じた各種の情報に基づき、n及びmの値が決定される。以下では、第2実施形態について、第1実施形態と異なる点を説明する。後述する構成を除く他の構成については第1実施形態の学習モデル生成システム100と同様であるので、共通する構成については同一の符号を付してその詳細な説明を省略する。第2実施形態における情報処理装置1は、制御ユニット200から、移動体の速度及び撮像画像のフレームレート等を含む付加情報と、撮像装置31により撮影された動画とを受信する。
【0061】
第2実施形態におけるnの値は、対象物抽出画像における対象物の検出精度に基づき決定される。検出精度は、例えばLaneNetから得られる出力精度、又は対象物抽出画像におけるパターンマッチングの相関値等により導出されてよい。検出精度は、例えば精度が高い順に高/中/低等の複数の段階に分別される。情報処理装置1は、予め検出精度の各段階とnの値とを関連付けた不図示のテーブルを記憶している。対象物の検出精度が低い場合にはnの値は大きくなるよう設定される。すなわち、対象物の検出精度が低い場合には、より多くの前後の対象物抽出画像を使用することで学習モデルの検出精度を向上させる。一方、対象物の検出精度が高い場合にはnの値は小さくなるよう設定される。対象物の検出精度が高い場合には、少ない数の対象物抽出画像であっても学習モデルから高い検出精度が得られるからである。なお、検出精度の導出方法は上記の例に限定されるものでない。検出精度は、その他対象物抽出画像と該対象物抽出画像における対象物の検出精度とを学習した機械学習モデル等を用いて推定されてもよい。
【0062】
第2実施形態におけるmの値は、撮像画像の1フレームの移動距離に基づき決定される。1フレームの移動距離は、移動体2の速度を撮像画像のフレームレートで除算することで得られ、例えば大/中/小等の複数の段階に分別される。情報処理装置1は、予め移動距離とmの値とを関連付けた不図示のテーブルを記憶している。移動距離が大きい程、mの値は大きくなるよう設定される。速度が速い程移動距離は大きくなるため、mの値を大きく、すなわちより多くのデータユニットを組み合わせるよう設定することで、学習モデル1Mの検出精度を向上させる。フレームレートが低い程移動距離は大きくなるため、mの値は大きくなるよう設定される。なお、移動距離が所定の閾値を超える場合には、連続するフレームが大きく異なる画像である虞があるため、mの値は小さく、例えば0に設定されるとよい。
【0063】
図11は、第2実施形態における学習モデル1Mの生成処理手順の一例を示すフローチャートである。以下の処理は、情報処理装置1の記憶部11に記憶してあるプログラム1Pに従って制御部10によって実行される。第1実施形態における
図9と共通する処理については同一のステップ番号を付してその詳細な説明を省略する。
【0064】
情報処理装置1の制御部10は、制御ユニット200から撮像画像及び付加情報を取得し(ステップS21)、取得した撮像画像及び付加情報を一時的に記憶部11に記憶する。撮像画像には、移動体2の走行路を示す白線が含まれる。付加情報は、例えば移動体2の速度の履歴データ及び撮像画像のフレームレート等が含まれる。付加情報には、時刻情報が対応付けられている。なお、速度データは、移動体2のスピードメータから取得してもよく、移動体2のGPS(Global Positioning System)データ等の位置情報に基づき取得してもよい。
【0065】
制御部10は、撮像画像から、グレースケール撮像画像を取得し(ステップS12)、対象物である白線を抽出した2値の対象物抽出画像(白線抽出画像)を取得する(ステップS13)。制御部10は、取得したグレースケール撮像画像及び白線抽出画像に基づき、ユニットグループ値Xを取得する(ステップS14)。
図12は、第2実施形態におけるユニットグループ値X取得の詳細な手順の一例を示すフローチャートである。
図12のフローチャートに示す処理手順は、
図11のフローチャートにおけるステップS14の詳細に対応する。第1実施形態における
図10と共通する処理については同一のステップ番号を付してその詳細な説明を省略する。
【0066】
制御部10は、例えばLaneNetの検出精度を示すスコア等に基づき、時刻tにおける白線抽出画像に対応する対象物の検出精度を取得する(ステップS241)。ついで、制御部10は、付加情報として取得した移動体2の速度及び撮像画像のフレームレートに基づき、時刻tにおける移動距離を取得する(ステップS242)。制御部10は、不図示のテーブルを夫々参照して、取得した検出精度及び移動距離に基づき、時刻tデータユニットを生成するためのn及びmの値を決定する(ステップS141)。
【0067】
制御部10は、特定したnの値に基づき、時刻tにおけるグレースケール撮像画像と白線抽出画像(合計2n+1個)とで構成される時刻tデータユニットを生成する(ステップS142)。制御部10は、生成した時刻tデータユニットの結合白線抽出画像データと、グレースケール撮像画像データとを組み合わせたデータユニット値を取得する(ステップS143)。
【0068】
制御部10は、特定したmの値に基づき、時刻t及び時刻tの前後m個の時刻におけるデータユニット(合計2m+1個)で構成されるユニットグループを生成する(ステップS144)。制御部10は、生成したユニットグループのデータユニット値を組み合わせたユニットグループ値Xを取得し(ステップS145)、
図11のフローチャートにおけるステップS15へ処理を戻す。
【0069】
図11に戻り説明を続ける。制御部10は、取得したユニットグループ値Xに、対象物に関する情報をラベル付けした訓練データセットを生成する(ステップS15)。制御部10は、ユニットグループ値Xに付随するn及びmの値に基づき、
図8に示したテーブルを参照して、n及びmの値の組み合わせにより特定されるグループIDを取得し、ユニットグループ値Xをグループに分別する(ステップS16)。
【0070】
制御部10は、生成した訓練データセットを用いて、時刻tにおけるユニットグループ値Xを入力した場合に、時刻tにおける所在車線を出力する学習モデル1Mを生成する(ステップS17)。制御部10は、各グループ別に生成した学習モデル1Mを記憶部11に格納し、一連の処理を終了する。
【0071】
なお、上記の各実施形態ではn及びmに基づきユニットグループ値Xがグループに分別される例を説明したが、グループ分別はn及びmに基づくものに限定されるものではない。ユニットグループ値Xは、n又はmの一方、すなわち、例えば検出精度又は移動速度のいずれか一方に基づきグループに分別されてもよい。
【0072】
本実施形態によれば、撮像画像に応じた検出精度及び移動距離に応じてユニットグループを構成するデータの組み合わせ内容が決定される。撮像画像に含まれる対象物の状態に応じた学習モデル1Mを生成することにより、より精度の高い推定処理が可能となる。
【0073】
(第3実施形態)
第3実施形態では、学習モデルを用いて推定した対象物に関する情報を提供する。
図13は、第3実施形態における推定システム110の構成例を示すブロック図である。以下では、第3実施形態について、第1実施形態と異なる点を説明する。後述する構成を除く他の構成については第1実施形態の学習モデル生成システム100と同様であるので、共通する構成については同一の符号を付してその詳細な説明を省略する。推定システム110は、移動体2の制御ユニット200及び撮像装置31を含む。
【0074】
第3実施形態の制御ユニット200は、記憶部21に、プログラム2P、複数の学習モデル1Mを含む制御部20が参照するプログラム及びデータを記憶する。記憶部21に記憶されるプログラム2Pは、記録媒体にコンピュータ読み取り可能に記録されている態様であってもよい。記憶部21は、図示しない読出装置によって記録媒体2Aから読み出されたプログラム2Pを記憶する。また、図示しない通信網に接続されている図示しない外部コンピュータからプログラム2Pをダウンロードし、記憶部21に記憶させたものであってもよい。制御部20は、プログラム2Pを読み出して実行することにより、撮像画像に基づき対象物に関する情報を推定する情報処理装置として機能する。
【0075】
第1通信部22には、移動体内通信回線N2を介して表示装置32が更に接続される。表示装置32は、例えば液晶ディスプレイなどであり、制御ユニット200から出力される情報を表示する。また表示装置32は、タッチパネル等の操作部33を有しており、操作部33に対するユーザの操作を受け付けて、制御ユニット200へ受け付けた操作内容を通知する。表示装置32は、例えばカーナビゲーション装置と共用のものであってよい。
【0076】
上記のように構成される推定システム110にて、学習モデル1Mを用いた推定処理が実行される。第3実施形態では、学習モデル1Mを用いて、移動体2の走行路を示す白線を含む撮像画像に応じた走行路上の位置の推定結果を出力する。移動体2が所在する走行路上の位置は、例えば移動体2の所在車線で示される。
図14は、推定処理方法を示す概念図である。
図14では、例えばA地点からB地点までの2地点間における所在車線の推定結果を出力する処理に関して説明する。
【0077】
移動体2の制御ユニット200は、初めに、撮像装置31にて記録された2地点間の撮像画像を取得する。制御ユニット200は、ユーザの入力を受け付ける等により、学習モデル1Mに対するn及びmの値を決定する。制御ユニット200は、
図8に示したテーブルを参照し、決定された各時点におけるn及びmの組み合わせに応じたグループIDを特定する。特定されたグループIDに応じて、撮像画像の各フレームがグループに分別される。
【0078】
分別された撮像画像の各フレームは、各グループに応じたn及びmの値に基づきフレームからユニットグループ値Xを生成する前処理が施された後、グループIDに対応する学習モデル1Mに入力される。各学習モデル1Mからは、各時点におけるフレームに対応する所在車線の推定結果が出力される。各時点における推定結果は、時系列に組み合わせられ、一連の推定結果データとして表示装置32等を介して出力される。
【0079】
図15は、学習モデル1Mを用いた推定処理手順の一例を示すフローチャートである。以下の処理は、制御ユニット200の記憶部21に記憶してあるプログラム2Pに従って制御部20によって実行される。処理の実行タイミングは、例えば撮像装置31により新たな動画が記録されたタイミングである。
【0080】
制御部20は、撮像装置31により撮影し記録された撮像画像を取得する(ステップS31)。撮像画像は、例えばA地点からB地点までの2地点間における移動体2の外部を撮影した動画像であり、移動体2の走行路を示す白線が含まれる。撮像画像には、撮影時点に関する情報が付随している。
【0081】
制御部20は、撮像画像をグレースケールに変換し、グレースケール撮像画像を取得する(ステップS32)。なお、制御部20は、撮像装置31からグレースケールで撮影された撮像画像を取得してもよい。制御部20は、例えばLaneNet等の機械学習モデルを用いて、撮像画像から対象物の抽出を行い、対象物抽出画像を取得する(ステップS33)。第3実施形態では、抽出する対象物は白線であり、対象物抽出画像は2値の白線抽出画像である。制御部20は、グレースケール撮像画像と白線抽出画像とを関連付けて記憶する。
【0082】
制御部20は、取得したグレースケール撮像画像及び白線抽出画像に基づき、ユニットグループ値Xを取得する(ステップS34)。
図16は、第3実施形態におけるユニットグループ値X取得の詳細な手順の一例を示すフローチャートである。
図16のフローチャートに示す処理手順は、
図15のフローチャートにおけるステップS34の詳細に対応する。
【0083】
制御部20は、操作部33によりユーザの入力を受け付ける等によりユニットグループ値Xを生成するためのn及びmの値を決定する(ステップS341)。n及びmは夫々、結合する白線抽出画像の枚数及び組み合わせるデータユニット値の個数を決定するための値である。
【0084】
制御部20は、決定したnの値に基づき、時刻tにおけるグレースケール撮像画像と、時刻t及び時刻tの前後n個の時刻における白線抽出画像(合計2n+1個)とで構成される時刻tデータユニットを生成する(ステップS342)。制御部10は、生成した時刻tデータユニットにおけるグレースケール撮像画像データと、各時刻の白線抽出画像に基づく結合白線抽出画像データとを組み合わせたデータユニット値を取得する(ステップS343)。
【0085】
制御部10は、決定したmの値に基づき、時刻t及び時刻tの前後m個の時刻、すなわち時刻t-mから時刻t+mまでの各時刻におけるデータユニット(合計2m+1個)で構成されるユニットグループを生成する(ステップS344)。制御部10は、生成したユニットグループの各時刻におけるデータユニット値を組み合わせたユニットグループ値Xを取得し(ステップS345)、
図15のフローチャートにおけるステップS35へ処理を戻す。なおユニットグループ値Xは、n及びmの値を付随させて取得される。
【0086】
図15に戻り説明を続ける。制御部20は、ユニットグループ値Xに付随するn及びmの値に基づき、
図8で説明したn及びmの値とグループIDとを関連付けたテーブルを参照し、n及びmの値の組み合わせにより特定されるグループIDを取得する。制御部20は、取得したグループIDに基づき、撮像画像の各フレームをグループに分別する(ステップS35)。
【0087】
制御部20は、記憶する複数の学習モデル1Mから、取得したグループIDに対応する学習モデル1Mを選択する(ステップS36)。制御部20は、撮像画像に上述の前処理を施して得られたユニットグループ値Xを、選択した学習モデル1Mに入力情報として入力する(ステップS37)。制御部20は、学習モデル1Mから出力される対象物に関する情報を取得する(ステップS38)。出力情報は、例えば各フレームに対応する所在車線である。制御部20は、取得した各時点における推定結果を時系列に組み合わせた一連の推定結果データを生成する(ステップS39)。制御部20は、生成した推定結果データを撮像画像に関連付けて記憶部11に記憶するとともに、表示装置32等を介して推定結果データを出力し(ステップS40)、一連の処理を終了する。
【0088】
上記では、一連の動画像を取得した後に学習モデル1Mによる推定処理を実行する例を説明したが、推定処理を実行するタイミングは限定されるものではない。制御部20は、撮像装置31で撮影が開始されたタイミングで上述の処理を実行し、リアルタイムで取得した撮像画像に基づき推定結果データを出力してもよい。この場合においては、推定結果データは、一連のデータとして生成されるものでなく随時出力されてよい。
【0089】
更に、制御部20は、推定結果データに応じた情報を出力してもよい。例えば、所在車線の推定結果の推移により車両が走行車線から逸脱していると判定される場合には、制御部20は、表示装置32又は不図示のスピーカー等を介して画像、警報、音声、振動等による支援情報を出力するものであってよい。制御部20は、移動体2の装備品に制御信号を出力するものであってもよい。
【0090】
図17は、表示装置32で表示される画面例を示す図である。
図17は、推定結果データを含む推定結果画面320の一例を示す図である。推定結果画面320には、一の時刻における撮像画像321と、該撮像画像321に対応付けられた推定結果322及び推定情報323とが含まれる。
【0091】
撮像画像321は、記録された動画像から切り出した1フレームの静止画像である。推定結果322は、学習モデル1Mにより出力された対象物に関する情報であり、例えば所在車線、車両台数、広告数等である。
図17の例では、推定結果322は所在車線であり、歩道に近い順に1、2、3等の車線番号を用いて示される。推定情報323は、撮像画像に基づく推定処理に関する情報である。
図17の例では、推定情報323には、撮像画像のファイル名、撮影時刻、推定に用いたn及びmの値、推定確度の数値を夫々示すテキストデータが含まれている。なお、推定情報323は、テキストデータによるものに限定されず、イラスト、音声等によるものであってもよい。なお、推定確度は、確度に応じて、例えば数値の色、大きさ、点滅/点灯、表示状態を変化させて強調表示を行ってもよい。制御部20は、撮像画像321に対応付けて同時点における推定結果322及び推定情報323を取得する。制御部20は、取得した撮像画像321と、推定結果322及び推定情報323のテキストデータ等とを含む推定結果画面320の画面データを生成し、表示装置32を介して出力する。ユーザは、表示装置32により学習モデル1Mの推定結果を認識することができる。
【0092】
上記では、学習モデル1Mは、制御ユニット200にて処理に用いられるとして説明した。しかしながらこれに限らず、学習モデル1Mは、制御ユニット200と通信可能に接続された他の情報処理装置に記憶されており、制御ユニット200から得られる撮像画像に基づいて、他の情報処理装置にて推定結果を出力する処理に用いられてもよい。
【0093】
また、学習モデル1Mは制御ユニット200とは直接通信接続されていないサーバ等の解析装置にて用いられてもよい。解析装置は、制御ユニット200と通信可能に接続された他の情報処理装置を介して、制御ユニット200で録画された撮像画像を取得し、取得した撮像画像に基づき学習モデル1Mを用いて対象物に関する情報の解析処理を実行してもよい。さらに、解析処理により取得した新たなデータに等に基づき、学習モデル1Mは再学習を実行してもよい。解析装置は、新たな修正情報を用いて訓練データを更に作成し、当該訓練データを用いて学習モデル1Mの再学習を行う。再学習を行うことにより、学習モデル1Mの推定の精度を更に向上させることができる。
【0094】
本実施形態によれば、撮像画像のフレーム毎に異なる学習モデル1Mを用いて推定処理が実行される。各フレームに応じた学習モデル1Mを使用することで、高い推定精度の出力情報を取得することができる。
【0095】
(第4実施形態)
第4実施形態では、撮像画像に応じた検出精度及び移動速度を取得し、n及びmの値を決定する。以下では、第4実施形態について、第3実施形態と異なる点を説明する。後述する構成を除く他の構成については第3実施形態の推定システム110と同様であるので、共通する構成については同一の符号を付してその詳細な説明を省略する。
【0096】
図18は、第4実施形態における学習モデル1Mを用いた推定処理手順の一例を示すフローチャートである。以下の処理は、制御ユニット200の記憶部21に記憶してあるプログラム2Pに従って制御部20によって実行される。第3実施形態の
図15と共通する処理については同一のステップ番号を付してその詳細な説明を省略する。
【0097】
制御部20は、撮像装置31により撮影し記録された撮像画像及び付加情報を取得する(ステップS51)。撮像画像には、移動体2の走行路を示す白線が含まれる。付加情報は、例えば移動体2の速度の履歴データ及び撮像画像のフレームレート等が含まれる。付加情報には、時点に関する情報が対応付けられている。
【0098】
制御部20は、撮像画像をグレースケールに変換し、グレースケール撮像画像を取得する(ステップS32)。制御部20は、例えばLaneNet等の機械学習モデルを用いて、撮像画像から対象物の抽出を行い、対象物抽出画像を取得する(ステップS33)。第4実施形態では、抽出する対象物は白線であり、対象物抽出画像は2値の白線抽出画像である。制御部20は、グレースケール撮像画像と白線抽出画像とを関連付けて記憶する。
【0099】
制御部20は、取得したグレースケール撮像画像及び白線抽出画像に基づき、ユニットグループ値Xを取得する(ステップS34)。
図19は、第4実施形態におけるユニットグループ値X取得の詳細な手順の一例を示すフローチャートである。
図19のフローチャートに示す処理手順は、
図18のフローチャートにおけるステップS34の詳細に対応する。第3実施形態の
図16と共通する処理については同一のステップ番号を付してその詳細な説明を省略する。
【0100】
制御部20は、操作部33によりユーザの入力を受け付ける等により、学習モデル1Mに対し要求する検出精度を取得する(ステップS441)。制御部20は、その他機械学習モデル等を用いて判定した検出精度を取得してもよい。
【0101】
制御部20は、付加情報として取得した移動体2の速度及び撮像画像のフレームレートに基づき、時刻tにおける移動距離を取得する(ステップS442)。制御部20は、不図示のテーブルを夫々参照して、検出精度及び移動距離に基づき、ユニットグループ値Xを生成するためのn及びmの値を決定する(ステップS341)。
【0102】
制御部20は、決定したnの値に基づき、時刻tにおけるグレースケール撮像画像と、時刻t及び時刻tの前後n個の時刻における白線抽出画像(合計2n+1個)とで構成される時刻tデータユニットを生成する(ステップS342)。制御部10は、生成した時刻tデータユニットにおけるグレースケール撮像画像データと、各時刻の白線抽出画像に基づく結合白線抽出画像データとを組み合わせたデータユニット値を取得する(ステップS343)。
【0103】
制御部10は、決定したmの値に基づき、時刻t及び時刻tの前後m個の時刻におけるデータユニット(合計2m+1個)で構成されるユニットグループを生成する(ステップS344)。制御部10は、生成したユニットグループの各時刻におけるデータユニット値を組み合わせたユニットグループ値Xを取得し(ステップS345)、
図18のフローチャートにおけるステップS35へ処理を戻す。
【0104】
図18に戻り説明を続ける。制御部20は、ユニットグループ値Xに付随するn及びmの値に基づき、
図8で説明したn及びmの値とグループIDとを関連付けたテーブルを参照し、n及びmの値の組み合わせにより特定されるグループIDを取得する。制御部20は、取得したグループIDに基づき、撮像画像の各フレームをグループに分別する(ステップS35)。
【0105】
制御部20は、記憶する複数の学習モデル1Mから、取得したグループIDに対応する学習モデル1Mを選択する(ステップS36)。制御部20は、撮像画像に上述の前処理を施して得られたユニットグループ値Xを、選択した学習モデル1Mに入力情報として入力する(ステップS37)。制御部20は、学習モデル1Mから出力される対象物に関する情報を取得する(ステップS38)。制御部20は、取得した各時点における推定結果を時系列に組み合わせた一連の推定結果データを生成する(ステップS39)。制御部20は、生成した推定結果データを撮像画像に関連付けて記憶部11に記憶するとともに、表示装置32等を介して推定結果データを出力し(ステップS40)、一連の処理を終了する。
【0106】
本実施形態によれば、要求する検出精度及び移動距離に応じて、撮像画像のフレーム毎に異なる学習モデル1Mを用いて推定処理が実行される。撮像画像の状態に応じて用いる学習モデル1Mが選択されるため、より高い推定精度の出力情報を取得することができる。
【0107】
なお、上述の各実施形態で説明した各処理シーケンスは限定されるものではなく、その性質に反しない限り、手順の変更を許容し得る。上述の処理シーケンスに対して、例えば各処理ステップの実行順序を変更してもよく、複数の処理ステップを同時に実行させてもよく、一連の処理シーケンスを実行する毎に、各処理ステップの順序が異なるようにしてもよい。
【0108】
なお、上述のように開示された実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。各実施例にて記載されている技術的特徴は互いに組み合わせることができ、本発明の範囲は、特許請求の範囲内での全ての変更及び特許請求の範囲と均等の範囲が含まれることが意図される。
【符号の説明】
【0109】
1 情報処理装置
2 移動体
200 制御ユニット
31 撮像装置
32 表示装置
10,20 制御部
11,21 記憶部
1P,2P プログラム
1M 学習モデル