(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023176765
(43)【公開日】2023-12-13
(54)【発明の名称】情報処理装置、情報処理方法、情報処理プログラム、死角推定モデルプログラム、自動運転システム及び運転教習システム
(51)【国際特許分類】
G06V 20/56 20220101AFI20231206BHJP
G06T 7/00 20170101ALI20231206BHJP
G06V 10/70 20220101ALI20231206BHJP
G08G 1/16 20060101ALI20231206BHJP
【FI】
G06V20/56
G06T7/00 650Z
G06T7/00 350B
G06V10/70
G08G1/16 D
【審査請求】未請求
【請求項の数】17
【出願形態】OL
(21)【出願番号】P 2022089226
(22)【出願日】2022-05-31
【新規性喪失の例外の表示】特許法第30条第2項適用申請有り 集会名:情報処理学会 コンピュータビジョンとイメージメディア研究会 開催日:令和4年5月12日
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和3年度、国立研究開発法人科学技術振興機構、戦略的創造研究推進事業「安全な人口知能の実現に向けた動的3次元世界の理解と構築」委託研究、産業技術力強化法第17条の適用を受ける特許出願
(71)【出願人】
【識別番号】504132272
【氏名又は名称】国立大学法人京都大学
(74)【代理人】
【識別番号】100134430
【弁理士】
【氏名又は名称】加藤 卓士
(72)【発明者】
【氏名】西野 恒
(72)【発明者】
【氏名】延原 章平
(72)【発明者】
【氏名】福田 太一
(72)【発明者】
【氏名】長谷川 浩太郎
(72)【発明者】
【氏名】石崎 慎弥
【テーマコード(参考)】
5H181
5L096
【Fターム(参考)】
5H181AA01
5H181CC04
5H181CC12
5H181CC27
5H181LL15
5L096AA06
5L096BA04
5L096CA04
5L096DA01
5L096DA03
5L096FA34
5L096FA66
5L096GA22
5L096GA51
5L096HA11
5L096KA04
(57)【要約】
【課題】効果的に死角を推定すること。
【解決手段】路面を移動する移動体から撮影された映像データ中において、移動体から視認可能な路面領域を判定し、視認可能な路面領域に対して路面アノテーションを付加する路面アノテーション付加部と、所定のタイミングにおける第1視認可能路面領域と、所定のタイミングから所定時間後の移動体の位置からの第2視認可能路面領域との差分領域に基づいて推定した、所定のタイミングでの移動体の推定死角領域に対して死角アノテーションを付加する死角アノテーション付加部と、を備えた情報処理装置。
【選択図】
図1
【特許請求の範囲】
【請求項1】
路面を移動する移動体から撮影された映像データ中において、前記移動体から視認可能な路面領域を判定し、前記視認可能な路面領域に対して路面アノテーションを付加する路面アノテーション付加部と、
所定のタイミングにおける第1視認可能路面領域と、前記所定のタイミングから所定時間後の前記移動体の位置からの第2視認可能路面領域との差分領域に基づいて推定した、前記所定のタイミングでの前記移動体の推定死角領域に対して死角アノテーションを付加する死角アノテーション付加部と、
を備えた情報処理装置。
【請求項2】
前記差分領域は、前記第2視認可能路面領域に含まれるが、前記第1視認可能路面領域に含まれない領域である請求項1に記載の情報処理装置。
【請求項3】
前記所定のタイミング以降の複数の前記第2視認可能路面領域を合成した合成領域から前記第1視認可能路面領域を除いた領域を前記移動体の死角領域と定義する請求項1に記載の情報処理装置。
【請求項4】
前記移動体は自動車、自動二輪車、自動三輪車、自転車、特殊車両、人、移動ロボットまたは飛行機体であり、前記映像データは、前記移動体に設置されたカメラで撮像した2次元映像である請求項1に記載の情報処理装置。
【請求項5】
前記死角アノテーションが付加された前記映像データに基づいてトレーニングデータを生成するトレーニングデータ生成部をさらに備えた請求項1に記載の情報処理装置。
【請求項6】
前記トレーニングデータ生成部は、前記死角アノテーションが付加された前記映像データと、前記推定死角領域からの飛び出し映像とを合成して、前記トレーニングデータとする請求項5に記載の情報処理装置。
【請求項7】
前記推定死角領域を生成している死角生成物体を判定し、前記死角生成物体に応じて、死角領域にスコアを付加するスコア付加部をさらに備えた請求項1に記載の情報処理装置。
【請求項8】
前記死角アノテーション付加部は、前記死角生成物体が移動する物体である場合には、移動物体死角領域を示す移動物体アノテーションをさらに付加する請求項7に記載の情報処理装置。
【請求項9】
前記死角アノテーション付加部は、前記死角生成物体が静止物体である場合には、複数の映像データに基づいて決定した静止物体死角領域を統合する請求項7に記載の情報処理装置。
【請求項10】
前記所定時間を、前記移動体の移動速度に応じて制御する時間制御部をさらに備えた請求項1に記載の情報処理装置。
【請求項11】
前記移動体の位置情報と、前記推定死角領域との紐付けを行う紐付け部をさらに備えた請求項1に記載の情報処理装置。
【請求項12】
前記死角アノテーション付加部は、前記映像データ中において前記移動体が進行方向を変化させた場合には、進行方向変化の前後における前記移動体の位置からの視認領域の差分に基づいては、前記移動体の死角領域を決定しない請求項1に記載の情報処理装置。
【請求項13】
映像データ中において、路面を移動する移動体からの死角領域について、死角アノテーションを付加するための情報処理方法であって、
映像データ中において路面領域を判定し、路面領域に対して路面アノテーションを付加するアノテーション付加ステップと、
前記路面アノテーションが付加された路面領域内で、各タイミングにおける前記移動体の位置からの視認領域と、前記各タイミングから所定時間後の前記移動体の位置からの視認領域との差分領域に基づいて、前記各タイミングでの前記移動体の死角領域を決定して死角アノテーションを付加する死角アノテーション付加ステップと、
を含む情報処理方法。
【請求項14】
映像データ中において、路面を移動する移動体からの死角領域について、死角アノテーションを付加するための情報処理プログラムであって、
映像データ中において路面領域を判定し、路面領域に対して路面アノテーションを付加するアノテーション付加ステップと、
前記路面アノテーションが付加された路面領域内で、各タイミングにおける前記移動体の位置からの視認領域と、前記各タイミングから所定時間後の前記移動体の位置からの視認領域との差分領域に基づいて、前記各タイミングでの前記移動体の死角領域を決定して死角アノテーションを付加する死角アノテーション付加ステップと、
をコンピュータに実行させる情報処理プログラム。
【請求項15】
路面を移動する移動体において死角を推定するための死角推定モデルプログラムであって、
所定タイミングでの映像データを入力データとし、前記映像データにおける路面領域内の視認領域と前記所定タイミングから所定時間後の前記移動体の位置からの路面領域内の視認領域との差分領域を路面上の死角領域として定義したトレーニングデータを用いて機械学習された、死角推定モデルプログラム。
【請求項16】
路面を移動する移動体の自動運転システムであって、
所定タイミングでの映像データにおける路面領域内の視認領域を入力データとし、前記所定タイミングでの映像データにおける路面領域内の視認領域と前記所定タイミングから所定時間後の前記移動体の位置からの路面領域内の視認領域との差分領域を路面上の死角として定義したトレーニングデータで機械学習された死角推定モデルプログラムを用いて、前記移動体からの死角領域を推定する推定部と、
前記死角領域を前記移動体に報知する報知部と、
を備えた自動運転システム。
【請求項17】
路面を移動する移動体から撮影された映像データ中において、前記移動体から視認可能な路面領域を判定し、前記視認可能な路面領域に対して路面アノテーションを付加する路面アノテーション付加部と、
所定タイミングにおける第1視認可能路面領域と、前記所定タイミングから所定時間後の前記移動体の位置からの第2視認可能路面領域との差分領域に基づいて推定した、前記所定タイミングでの前記移動体の推定死角領域に対して死角アノテーションを付加する死角アノテーション付加部と、
前記推定死角領域からの飛び出しを表す映像を前記映像データに合成する合成部と、
を備えた運転教習システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、情報処理プログラム、死角推定モデルプログラム、自動運転システム及び運転教習システムに関する。
【背景技術】
【0002】
上記技術分野において、特許文献1の段落0047には、距離値を用いて死角を推定する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記文献に記載の技術では、効果的に死角の推定を行うことができなかった。
【0005】
本発明の目的は、上述の課題を解決する技術を提供することにある。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明に係る装置は、
路面を移動する移動体から撮影された映像データ中において、前記移動体から視認可能な路面領域を判定し、前記視認可能路面領域に対して路面アノテーションを付加する路面アノテーション付加部と、
所定のタイミングにおける第1視認可能路面領域と、前記所定のタイミングから所定時間後の前記移動体の位置からの第2視認可能路面領域との差分領域に基づいて推定した、前記所定のタイミングでの前記移動体の推定死角領域に対して死角アノテーションを付加する死角アノテーション付加部と、
を備えた情報処理装置である。
【0007】
上記目的を達成するため、本発明に係る方法は、
映像データ中において、路面を移動する移動体からの死角領域について、死角アノテーションを付加するための情報処理方法であって、
映像データ中において路面領域を判定し、路面領域に対して路面アノテーションを付加するアノテーション付加ステップと、
前記路面アノテーションが付加された路面領域内で、各タイミングにおける前記移動体の位置からの視認領域と、前記各タイミングから所定時間後の前記移動体の位置からの視認領域との差分領域に基づいて、前記各タイミングでの前記移動体の死角領域を決定して死角アノテーションを付加する死角アノテーション付加ステップと、
を含む情報処理方法である。
【0008】
上記目的を達成するため、本発明に係るプログラムは、
映像データ中において、路面を移動する移動体からの死角領域について、死角アノテーションを付加するための情報処理プログラムであって、
映像データ中において路面領域を判定し、路面領域に対して路面アノテーションを付加するアノテーション付加ステップと、
前記路面アノテーションが付加された路面領域内で、各タイミングにおける前記移動体の位置からの視認領域と、前記各タイミングから所定時間後の前記移動体の位置からの視認領域との差分領域に基づいて、前記各タイミングでの前記移動体の死角領域を決定して死角アノテーションを付加する死角アノテーション付加ステップと、
をコンピュータに実行させる情報処理プログラムである。
上記目的を達成するため、本発明に係る他のプログラムは、
路面を移動する移動体において死角を推定するための死角推定モデルプログラムであって、
所定タイミングでの映像データを入力データとし、前記映像データにおける路面領域内の視認領域と前記所定のタイミングから所定時間後の前記移動体の位置からの路面領域内の視認領域との差分領域を路面上の死角領域として定義したトレーニングデータを用いて機械学習された、死角推定モデルプログラム。
【0009】
上記目的を達成するため、本発明に係るシステムは、
路面を移動する移動体の自動運転システムであって、
所定タイミングでの映像データにおける路面領域内の視認領域を入力データとし、所定タイミングでの映像データにおける路面領域内の視認領域と前記所定のタイミングから所定時間後の前記移動体の位置からの路面領域内の視認領域との差分データを路面上の死角として定義したトレーニングデータで機械学習された死角推定モデルプログラムを用いて、前記移動体からの死角領域を推定する推定部と、
前記死角領域を前記移動体に報知する報知部と、
を備えた自動運転システムである。
上記目的を達成するため、本発明に係る他のシステムは、
路面を移動する移動体から撮影された映像データ中において、前記移動体から視認可能な路面領域を判定し、前記視認可能路面領域に対して路面アノテーションを付加する路面アノテーション付加部と、
所定のタイミングにおける第1視認可能路面領域と、前記所定のタイミングから所定時間後の前記移動体の位置からの第2視認可能路面領域との差分領域に基づいて推定した、前記所定のタイミングでの前記移動体の推定死角領域に対して死角アノテーションを付加する死角アノテーション付加部と、
前記推定死角領域からの飛び出しを表す映像を前記映像データに合成する合成部と、
を備えた運転教習システムである。
【発明の効果】
【0010】
本発明によれば、効果的に死角を推定できる。
【図面の簡単な説明】
【0011】
【
図1】第1実施形態に係る情報処理装置の構成を示すブロック図である。
【
図2】第2実施形態に係る情報処理装置の構成を示すブロック図である。
【
図3】第2実施形態に係る情報処理装置の死角検出処理を説明する図である。
【
図4】第2実施形態に係る情報処理装置の処理を説明する図である。
【
図5】第2実施形態に係る情報処理装置の学習処理を説明する図である。
【
図6】第2実施形態に係る情報処理装置によって学習したネットワークの精度を説明する図である。
【
図7】第2実施形態に係る情報処理装置によって学習したネットワークの精度を説明する図である。
【
図8】第2実施形態に係る情報処理装置によって学習したネットワークの精度を説明する図である。
【発明を実施するための形態】
【0012】
以下に、図面を参照して、本発明の実施の形態について例示的に詳しく説明する。ただし、以下の実施の形態に記載されている構成要素はあくまで例示であり、本発明の技術範囲をそれらのみに限定する趣旨のものではない。
【0013】
[第1実施形態]
本発明の第1実施形態としての情報処理装置100について、
図1を用いて説明する。情報処理装置100は、映像データ中において、路面110を移動する移動体120からの死角領域について、死角アノテーションを付加するための装置である。
【0014】
図1に示すように、情報処理装置100は、路面アノテーション付加部101と、死角アノテーション付加部102とを備える。
【0015】
路面アノテーション付加部101は、路面110を移動する移動体120から撮影された映像データ130中において、移動体120から視認可能な視認可能路面領域111を判定し、視認可能路面領域111に対して路面アノテーションを付加する。ここで路面とは一例として、車道や歩道を含む、移動体の移動可能な地平面を意味するが、本発明はそれに限定されるものではない。
【0016】
死角アノテーション付加部102は、所定のタイミングにおける移動体121から視認可能な第1視認可能路面領域111と、所定のタイミングから所定時間後の移動体122の位置からの第2視認可能路面領域112との差分領域に基づいて推定した、移動体121の推定死角領域113に対して死角アノテーションを付加する。つまり、第2視認可能路面領域112は推定死角領域113を含んでいる。
【0017】
以上の構成によれば、非常に効果的に死角を推定することができる。移動体の2次元視野における死角の推定は、道路状況を視覚的に把握する際に非常に重要である。車載カメラからの情報に基づいて道路領域を自動検出することで、運転者に対して、または自動運転システムに対して、事故の潜在的な要因が存在することを能動的にアラートすることができる。特に、複数のカメラを用いたり、特殊なセンサを用いることなく、2次元の映像から死角を推定することができる。
【0018】
[第2実施形態]
次に本発明の第2実施形態に係る情報処理装置200について、
図2を用いて説明する。
図2は、本実施形態に係る情報処理装置200の概略構成を説明するためのブロック図である。
【0019】
情報処理装置200は、死角アノテーションを付加された画像をトレーニングデータとして学習モデルを生成する点で第1実施形態の情報処理装置100と異なる。
【0020】
情報処理装置200は、路面アノテーション付加部201、死角アノテーション付加部202、トレーニングデータ生成部203、時間制御部204、スコア付加部205および紐づけ部206を備える。
【0021】
路面アノテーション付加部201は、路面110を移動する移動体120から撮影された大量の映像データ230中において、移動体120から視認可能な視認可能路面領域111を判定し、視認可能路面領域111に対して路面アノテーションを付加する。
【0022】
具体的には、自己位置推定法(Simultaneous Localization and Mapping:以降、SLAMと称す)と、単眼の深度推定法と、領域分割法(以降、セマンティックセグメンテーションと称す)とを用いて、視認可能路面領域111を決定する。つまり、各視点において、距離推定して、セマンティックセグメンテーションにより、建物、車、道路などをラベリングし、道路領域を切り出す。自己位置推定は画像を用いたSLAM以外にも、IMJやGPSを用いてもよく、深度推定はステレオカメラやLiDARを用いてもよい。
【0023】
死角アノテーション付加部202は、所定のタイミングにおける移動体121から視認可能な第1視認可能路面領域111と、所定のタイミングから所定時間後の移動体122の位置からの第2視認可能路面領域112との差分領域に基づいて推定した、移動体121の推定死角領域113に対して死角アノテーションを付加する。移動体121の位置は、随時、SLAMによって推定する。
【0024】
つまり、路面アノテーション付加部201および死角アノテーション付加部202は、任意の動画を、各フレームごとに2次元死角のアノテーションを付加した動画に変換するアルゴリズムを実行する。
【0025】
すなわち、路面上の死角を「今は見えていないけれども、これから見えるようになる道路領域」と定義することにより、2D画像から効果的かつ効率的に死角領域を推定することができる。言い換えれば、走行映像のフレームが与えられたとき、障害物である死角生成物体250により視認不可能となっているが将来的に視認可能となる道路領域113を、死角と定義する。将来のどのフレームでも見えるようにならない死角は除外される。つまり、ここで推定される死角は、真の死角の部分集合であるが、カバー率は非常に高い。そして、単眼のドライブ映像から確実に計算することができる。なお、車載カメラの画角が広ければ広いほど、そのカバー率は高くなる(例えば全方位カメラの場合、推定死角領域は真の死角領域に近づく)。
【0026】
上記の差分領域は、第2視認可能路面領域112には含まれるが、第1視認可能路面領域111に含まれない領域である。
【0027】
所定のタイミング以降の複数の第2視認可能路面領域112を合成した合成領域から第1視認可能路面領域111を除いた領域を移動体の死角領域と定義する。
【0028】
所定のタイミングで撮影されたフレームItにおいて、その死角を道路Ω上の領域に対応する画素x ∈ Ωt
Tと定義する。この領域は、フレームItにおいては視認できないが、次のT個のフレーム{It+i|i = 1, . , T}のいずれかで視認可能になる画素である。
【0029】
画像の2値マスクω(x,t;T):R2×R→{0,1}として、死角Ωtの画素集合を計算する。この定義に基づく死角をTフレーム死角と呼ぶ。
【0030】
学習モデルであるBlindSpotNet208は、この関数ω(x, t; T )を近似するようにトレーニングデータを学習する。
移動体120は自動車に限定されるものではなく、自動二輪車、自動三輪車、自転車、特殊車両、人、移動ロボットまたは飛行機体でもよい。映像データ230は、移動体120に設置されたカメラで撮像した2次元映像である。
【0031】
トレーニングデータ生成部203は、死角アノテーションが付加された映像データに基づいてトレーニングデータとしてのRBS(Road Blind Spot)データセット207を生成する。この自動オフライン死角推定を用いた大規模データセットであるRBS(Road Blind Spot)データセット207を学習させることにより、任意の走行映像のフレーム単位の死角確率マップを自動推定するネットワーク、BlindSpotNet(BSN)208を生成する。BlindSpotNet(BSN)208は、移動体から撮影された映像を用いて2次元死角をリアルタイムに推定するネットワークである。
【0032】
危険な交通状況は、通常、ドライバ(または車のカメラ)からは見えない道路領域から飛び出してくる動的物体(自転車、歩行者、子供など)の予期せぬ動きによって引き起こされる。リアルタイムで死角の推定を行うことができれば、死角領域をドライバーに報知して、警告を行うことも可能となる。2次元の死角推定に特化することで、3次元幾何学的推論が不要になるため、非常に効果的かつ迅速に死角の推定を行うことができ、自律走行やADASのアプリケーションに適用可能となる。
【0033】
情報処理装置200は、死角領域を生成している死角生成物体250を判定し、死角生成物体に応じて、死角領域にスコアを付加するスコア付加部205をさらに備えてもよい。死角アノテーション付加部202は、死角生成物体250が移動する物体である場合には、移動物体死角領域を示す移動物体アノテーションをさらに付加してもよい。移動物体によって生成された死角領域を、静止物体によって生成された死角領域よりも低く評価してもよい。
【0034】
死角アノテーション付加部202は、死角生成物体250が静止物体である場合には、複数の映像データに基づいて決定した静止物体死角領域を統合してもよい。他のアノテーションとの組み合わせで死角領域の重要度を変えてもよい。例えば、壁の死角の場合には重要度を高く評価してもよい。あるいは、移動体の近くに小学校がある場合には、その死角領域の重要度を高く評価してもよい。地図情報のような様々なコンテクストとの組み合わせで死角の重要度を決定してもよい。
【0035】
また、情報処理装置200は、死角アノテーション付加部202が第2視認可能路面領域112を合成する「所定時間」を、移動体121の移動速度に応じて制御する時間制御部204をさらに備えてもよい。
【0036】
情報処理装置200は、移動体121の位置情報と、死角領域との紐付けを行う紐付け部206をさらに備えてもよい。つまり、移動体121の位置情報をGPSなどで検出し、過去にその位置において撮像された映像を用いて検出した死角領域を、位置情報を用いて呼び出して移動体121またはその運転者に報知してもよい。
【0037】
図3に示すように、入力した映像データに対して、深度推定、SLAM、セマンティックセグメンテーションを用いて、フレームI
tからフレームI
t+TまでのT+1個の各フレームにおける視認可能な路面領域r(x, t)を導出する。
【0038】
具体的には、各フレームにおける視認可能路面領域r(x, t)は、例えば、文献"Watson, J., Firman, M., Monszpart, A., Brostow, G.J.: Footprints and Free Space From a Single Color Image. In: CVPR (2020)"で紹介されたセマンティックセグメンテーションによって推定された路面領域を表す2値マスクとして定義される。なお、ここで紹介するセマンティックセグメンテーションは、一例に過ぎず、他の路面領域分割方法(例えば、文献"Cheng, B., Collins, M.D., Zhu, Y., Liu, T., Huang, T.S., Adam, H., Chen, L.C.:Panoptic-DeepLab: A Simple, Strong, and Fast Baseline for Bottom-Up Panoptic Segmentation. In: CVPR (2020)"に記載のPanoptic-DeepLabなど)を用いてもよい。
【0039】
そして、フレームIt+1からフレームIt+TまでのT個の各フレームにおける視認可能な路面領域r(x,t+1;t+T)を重ねあわせて統合し、合成領域s(x、t+1;T)を得る。
この路面領域の統合はシーン全体の3次元構造を推定することにより行う。つまりフレーム間の相対姿勢はSLAMから取得する。各画素に対応する奥行きは深度推定により取得する。さらに、既知のカメラ投影行列を用いてフレームtにおけるカメラ中心座標系へと視点変換する。こうして各フレームt+τからtへと視点変換された道路領域r'(x, t+τ: t)を得て,以下の式(1)のように集計を行う。∨は画素ごとの論理和を表す。
【0040】
s(x,t;T)=r'(x,t+1;t) ∨ r'(x,t+2;t) ∨ ...∨ r'(x,t+T;t) (1)
死角はフレームItでは視認不可領域なので、以下の(2)のように合成領域s(x、t+1;T)から、ターゲットフレームItにおける視認可能路面領域rtを除去することにより、死角領域ω(x, t; T )を導出する。
【0041】
ω(x, t; T ) = s(x, t; T )∧ r^(x, t) (2)
ここで ∧ と ^ はそれぞれピクセル単位の論理積と否定を表す。
【0042】
この方法は、セマンティックセグメンテーション、単眼深度推定、SLAMという3つの視覚理解タスクに依存する。これらの既存の手法は、すでに高い精度を達成しているが、僅かな誤差に悩まされることがある。このような誤差は、式(2)の後、可視道路領域の残差の原因となる。
これは、単純な深度比較で修正することができる。まず、以下のように集約深度マスクd
aを定義する。
【数1】
ここで、d'(x,t+i;t)は、フレームI
t上に投影されたフレームI
t+iの深度マップである。r'(x,t+i;t)の計算と同様の方法で計算される。MはTフレーム中いくつのフレームで道路領域として視認されたかを画素ごとにカウントしたものである。つまりdaは時刻tからTフレーム以内に視認できる道路領域が,時刻tの視点からはどの奥行きに存在しているかを表している。
【0043】
フレームItの深度マップd(x)と集約深度マスクdaとを比較すると、真の死角領域では前景オブジェクトに隠されているため、深度差が大きくなっている。
【0044】
一方、誤った死角領域では、比較した深度値が近傍の画素から得られたものであるため、深度差は小さくなる。このことから、|d(x)-da(x)|<Idを満たす画素xについて、ω(x, t; T ) = 0とすることで、誤った死角領域を除去する。ここで、ld は経験的に決定された閾値である。
【0045】
例えば、タイヤの影などによる小さな死角が残ってしまうことがある。このような小さな死角は、運転の安全性にとって重要ではない。そこで、このような微小な面積(例えば100画素以下)をもつ領域として現れた死角は、最終的な死角Ωtから除去する。
【0046】
RBSデータセットの構築には、単眼深度推定として、例えば、文献"Ranftl, R., Lasinger, K., Hafner, D., Schindler, K., Koltun, V.: Towards Robust Monocular Depth Estimation: Mixing Datasets for Zero-shot Cross-dataset Transfer.IEEE TPAMI (2020)"に記載のMiDASを用いることができる。本発明はこれに限定されず、他の単眼深度推定法でもよい。
【0047】
SLAMとしては、例えば、文献"Sumikura, S., Shibuya, M., Sakurada, K.: Openvslam: a versatile visual slam framework.In: ACM MM. pp. 2292-2295 (2019)"に記載のOpenVSLAMを採用することができる。本発明はこれに限定されず、他の位置推定法でもよい。
【0048】
また、セマンティックセグメンテーションとしては、例えば、上述したように、文献"Watson, J., Firman, M., Monszpart, A., Brostow, G.J.: Footprints and Free Space From a Single Color Image. In: CVPR (2020)"で紹介された方法を選択してもよいし、文献"Cheng, B., Collins, M.D., Zhu, Y., Liu, T., Huang, T.S., Adam, H., Chen, L.C.:Panoptic-DeepLab: A Simple, Strong, and Fast Baseline for Bottom-Up Panoptic Segmentation. In: CVPR (2020)"に記載のPanoptic-DeepLabを選択してもよい。。
単眼深度推定で得られる深度のスケール不定性は、SLAMによって得られる3Dランドマーク点に対する線形フィッティングによって解消することができる。
【0049】
RBSデータセットの構築には、例えば、文献"Geiger, A., Lenz, P., Stiller, C., Urtasun, R.: Vision meets Robotics: The KITTI Dataset. International Journal of Robotics Research (2013)"に記載のKITTIデータセット、文献"Yu, F., Chen, H., Wang, X., Xian, W., Chen, Y., Liu, F., Madhavan, V., Darrell,T.: Bdd100k: A diverse driving dataset for heterogeneous multitask learning. In:CVPR. pp. 2636-2645 (2020)"に記載のBDD100kデータセット、文献"Malla, S., Dariush, B., Choi, C.: TITAN: Future Forecast using Action Priors. In:CVPR. pp. 11186-11196 (2020)"に記載のTITANデータセットを使用することができるが、本発明はこれに限定されない。本実施形態によれば、どのような車載カメラ映像に対しても死角アノテーションをつけられる。
【0050】
MiDASからSLAMランドマーク点への線形フィッティングにおける深度アライメントの線形相関係数が所定値未満の動画を除外することで、上記のデータセットから、それぞれ一定数の動画を得ることができる。これらをそれぞれKITTI-RBSデータセット、BDD100k-RBSデータセット、TITAN-RBS Datasetと呼ぶことにする。
【0051】
(可視マスク)
上述のTフレーム死角領域は、映像データのどのフレームでも視認できない死角(
図2の車両の上側の白い領域251など)をカバーするものではない。
【0052】
例えば、
図4に示すように、車両が右折している動画では、交差点を直進する領域の死角は可視化されないため、データセットに含まれない。しかし、学習済みのBlindSpotNetを用いれば死角を推定できるはずである。このようなカメラが到達しないために原理的に死角か否かを判定できない領域と、真に死角ではない領域とを明確に区別するために、
図4に示すように、死角Ωtに加え、真に死角ではない領域を示す可視マスクと呼ばれる2値マスクVtを生成する。
【0053】
可視マスクVtは、セマンティックセグメンテーションの結果とカメラからの距離(深度)とを用いて導き出すことができる。各画素xについて、まずセマンティックセグメンテーションのラベルが"sky(空)"であれば、画素xを可視領域として分類する。空でない画素については、xが示す背景までの距離d(x,t)が、ある閾値Lより小さい場合、xを可視領域として分類する。つまり、可視マスクでは、空領域に加えて、所定距離(例えば16m)よりも近い物体を表す画素を可視領域として、その可視領域中で死角を検出する。
【0054】
つまり死角アノテーション付加部202は、画像を死角領域Ωt∧Vt、可視領域Ωt^∧Vt、どちらとも判定できない領域Vt^に分割する。可視マスクが0(
図4右で網掛けされていない領域)の領域は学習に使用しない(BlindSpotNetがどんな出力を出しても受け入れる)。つまり、死角アノテーション付加部202は、映像データ中において移動体が進行方向を変化させた場合には、進行方向変化の前後における移動体の位置からの視認領域の差分に基づいては、移動体の死角領域を決定しない。
【0055】
(BlindSpotNet)
フレームごとに死角アノテーションを付加された数多くの動画データを容易に作成できるので、そのようなデータをトレーニングデータとして学習させ、道路を撮影した画像中における死角を推定するための新しいニューラルネットワークBlindSpotNetを導出する。
【0056】
つまり、BlindSpotNetは路面を移動する移動体の死角推定モデルプログラムであって、所定タイミングでの映像データを入力データとし、映像データにおける路面領域内の視認領域と所定のタイミングから所定時間後の移動体の位置からの路面領域内の視認領域との差分領域を路面上の死角領域として定義したトレーニングデータを用いて機械学習された、死角推定モデルプログラムである。この死角推定モデルプログラムは、現時点の移動体視野における2次元死角を推定できる。他の方法(3次元から計算など)では、未来の路面領域などを知る必要があり、現時点の画像のみでは推定できない。
【0057】
上述した通り、本実施形態では、路面領域を含むオブジェクトのシーン構成とそれらのオブジェクトの2次元での順序によって死角を決定する。このように、画像に基づく死角の直接推定は、高次のレベルではセマンティックセグメンテーションと類似のタスクであることがわかる。しかし、このタスクは2次元の密なラベリングでありながら、暗黙の3次元推論を必要とするため、必ずしも容易ではない。にもかかわらず、出力はバイナリマップ(またはその確率マップ)である。すなわち、より単純なネットワークであって、セマンティックセグメンテーションと同様の固有の表現を持つネットワークが死角の検出に適している。
【0058】
図5は、BlindSpotNet208のネットワークアーキテクチャを示す図である。
図5に示すように、BlindSpotNet208は、セマンティックセグメンテーションの教師ネットワーク503の推論を模倣するように学習した軽いネットワークを採用することで、死角推定を実現する。
【0059】
BlindSpotNet208は、深度推定エレメント501および死角推定エレメント502の2つの構成要素を備える。深度推定エレメント501は、サイズW×H×3の入力画像IからサイズW×Hの深度マップDを推定する。死角推定エレメント502はRGB画像Iと推定深度マップDを入力として死角マップB={b ∈[0,1]]}を生成する。
【0060】
一方、BlindSpotNet208の訓練時は、セマンティックセグメンテーションネットワーク503を教師ネットワークとして死角推定モジュール502に知識蒸留する。つまり、セマンティックセグメンテーションネットワーク503は、死角推定エレメント502の学習を支援する教師ネットワークとして機能する。死角推定エレメント502は、セマンティックセグメンテーションと同様にシーンの意味情報を推論するように学習するが、その出力は単一チャンネルの死角マップBのように簡素化されている。したがって、Tフレームの死角のみを使って死角推定エレメント502を学習するとシーンの意味情報を回避しやすくオーバーフィットする可能性がある。そこで、道路シーンで学習したセマンティックセグメンテーションネットワーク503を教師データとして導入し、その出力を死角推定エレメント502に対応する層出力のソフトターゲットとして利用する。
【0061】
死角領域は、シーンのセマンティックセグメンテーションと高い相関がある。例えば、死角は車両や建物の背後に現れることがあるが、どこからも見えない道路領域や空には決して現れない。そこで、BlindSpotNet208が死角領域と推論した領域が正しいか否かを、領域分割(セマンティックセグメンテーション)で確認(蒸留)する。例えば、壁や路上駐車された車や草の茂みなどは、死角領域として正しい可能性が高いが、例えば、空や建物の上部などは、死角領域として誤りである可能性が高いと判定する。
【0062】
したがって、死角推定エレメント502は、死角を探す際に道路シーンの解析に有用な表現をセマンティックセグメンテーションネットワーク503から学習できる。そこで、文献"Liu, Y., Shu, C., Wang, J., Shen, C.: Structured Knowledge Distillation for Dense Prediction. IEEE TPAMI pp. 1-1 (2020)"の研究に基づき、各ネットワークの中間層で特徴間の類似性を伝達する。
【0063】
サイズW'×H'×Cの中間層の特徴マップをw'×h'パッチの集合に細分化するとする。i番目のパッチの特徴の空間平均をfi∈RCとし、2つのパッチiとjの類似度をコサイン距離aij=fi
Tfj/||fi||||fj||として定義する。
【0064】
上記文献によれば、教師ネットワークであるセマンティックセグメンテーションネットワーク503とその生徒ネットワークである死角推定エレメント502の両方のパッチについてペアワイズ類似度が存在すると仮定できる。それらをそれぞれa
ij
S、a
ij
Bとすると、その差分(類似度損失:similarity distillation loss)l
KDを以下の式で表すことができる。
【数2】
ここで、R = {1, 2, ... , w'×h'}はパッチの集合全体を表す。なお、この例では、セマンティックセグメンテーションネットワーク503として、DeepLabV3+を選択した。
【0065】
(損失関数)
式(4)の類似度損失l
KDに加えて、死角推定エレメント502の出力とRBS Datasetによって与えられるTフレームの死角との間の2値クロスエントロピー損失l
BCEを以下のように表すことができる。
【数3】
ここで、xは可視マスクV内の画素を示し、ω(x)とb(x)はTフレーム死角と画素xにおける推定確率を示す。|V|は可視マスクVに含まれる画素の総数である。最適化される全損失関数Lは、これら2つの損失関数の加重和L=l
BCE + λl
KDと定義される。ここで、λは経験的に決定された加重係数である。
【0066】
(実験結果)
RBSデータセット207の有効性とBlindSpotNet(BSN)208の有効性を、定性的・定量的に総合的に実験により評価した(
図6)。
【0067】
まず、CARLAで生成した合成データとKITTIの実データを用いて、Tフレーム死角の検証を行った。360°LiDARスキャンを使用して、路面の真の死角(BS-GT)を取得した。次に深度マップを用いて、ノイズのないTフレーム死角(T-フレームBS-GT)を計算した。
【0068】
BS-GTの計算では、LiDARによる路面領域を手動で3次元的にフィッティングすることで見つけた。TフレームBS-GTでは、セマンティックラベルを使用した。
【0069】
本実施形態のデータ生成アルゴリズムT-frame BS-GTで生成したT-frame推定死角領域を、真の死角領域BS-GTと比較し、その品質を再現率と偽陰性率で評価した。
図6の結果は、本実施形態で推定したTフレームの死角が真の死角によく近似していることを示している。
【0070】
本実施形態のような2D画像に基づく死角推定と、最新の視認可能領域推定、セマンティックセグメンテーションによる2次元車両・歩行者・自転車検出、3次元車両・歩行者・自転車検出と比較した。それぞれTraversable, Detection-2D, Detection-3D, と呼ぶことにする。
【0071】
Traversableでは、Watsonらのオリジナル実装により推定された隠れトラバーサブル領域を死角として用いる。Detection-2D は、DeepLabV3+ によって推定された車両、歩行者、自転車の領域を死角として検出するシンプルなベースラインである。Detection-3Dは、Brazilらによる車両、歩行者、自転車の単画像3D検出を利用し、検出した3Dバウンディングボックスがあれば、その遠方の顔の投影とDetection-2Dによる結果の交点を死角として返すものである。
【0072】
また、深度推定を行わないBlindSpotNet(BSN-D)、ナレッジディスティレーションを行わないBlindSpotNet(BSN-KD)とも比較した。BSN-Dでは、BSNから深度推定エレメント501が削除され、死角推定エレメント502が元のRGB画像を直接取り込むように変更される。BSN-KDでは、BlindSpotNetのSec.4.3でλ=0とすることで知識損失を無効化する。
【0073】
図7は、ITTI-RBS、BDD100k-RBS、TITAN-RBSの各データセットのテスト結果を示す図である。"w/ KITTI-RBS", "w/ BDD100k-RBS" はそれぞれ KITTI-RBS, BDD100k-RBS Dataset で学習した結果を示している。各ネットワークは、事前学習後、対象データセットの学習データの20%を用いて、強いシーンバイアスを吸収するための微調整を行った。
【0074】
この微調整は、任意の動画像に対して外部からの教師信号なしにTフレームの死角を自動計算できるため、自己教師学習に近いものである。そのため、BlindSpotNetを実行する前に少量の映像を取得することができれば、シーン間のドメインギャップに悩まされることなく任意の走行映像に適用することが可能である。対象シーンの20%の学習データ使用は、そのようなシナリオをシミュレートしている。なお、テストデータは一切使用せず、TITAN-RBSではこの微調整は行わなかった。
【0075】
図7に示すようにBlindSpotNetは、Watson et al.、Detection-2D 、Detection-3Dを上回った。これらの結果は、死角推定は、単に足跡や「車両後方/歩行者/自転車」領域を推定することでは達成できないことを示している。また、本実施形態のBlindSpotNetは、BSN-DやBSN-KDよりも良好な結果を示している。このことは、深度推定と知識抽出の両方が独立して性能に寄与していることを示している。さらに、BDD100k-RBSとTITAN-RBSにおけるBSN w/KITTI-RBS の性能と、KITTI-RBSとTITAN-RBSにおけるBSN w/BDD100k-RBS の性能は、BlindSpotNetがデータセット間で一般化できることを実証している。
【0076】
(定性的評価)
図8にテストセットにおける死角の推定結果を示す。
図8を見れば、本実施形態の推定方法は、ベースライン手法と比較して、日常的な道路シーンで生じる複雑な死角を高い精度で推定していることがわかる。BSN-DとBSN-KDを用いたアブレーション研究の結果は、BlindSpotNetにおける深度推定とナレッジディスティレーションの重要性を明確に示している。注目すべきは、BlindSpotNetが左列の例において、教師信号として用いた正解のTフレームの死角が可視マップのために真の死角を完全には捉えていないにもかかわらず、左右の死角を正しく推定していることである。これらの結果は、Tフレームの死角が備える、自動的に計算できる多様な道路シーンにおける視認性マップと学習の有効性を明確に示している。BlindSpotNetは、Tフレームの死角が計算できる限り、すなわち、SLAM、セマンティックセグメンテーション、単眼深度推定が適用できる限り、任意の道路シーンで学習することが可能である。
【0077】
上記の通り、本実施形態によれば、道路状況把握のための新しい2次元死角推定方法を提供できる。推定した死角領域を含む包括的なデータセット(RBSデータセット)を用意し、そのデータセットを学習させてBlindSpotNetと呼ぶエンドツーエンドのネットワークを提供することにより、移動体によるより安全な路面移動を実現できる。オフラインでどんな車載映像からも死角推定を行うことができるので、どんな車載映像も学習データに変えることができる。
【0078】
図9は、上記のBlindSpotNet(BSN)208を自動運転システム900に導入した場合の構成を示す図である。
【0079】
自動運転システム900は、車載カメラ901と、死角報知部902と、死角推定部903と、を備える。ここで死角推定部903は、所定タイミングでの映像データにおける路面領域内の視認領域を入力データとし、所定タイミングでの映像データにおける路面領域内の視認領域と所定のタイミングから所定時間後の移動体の位置からの路面領域内の視認領域との差分領域を路面上の死角領域として定義したトレーニングデータを用いて機械学習された、死角推定モデルプログラム(BlindSpotNet)208を用いて、移動体からの死角領域を推定する。上述したように、死角推定モデルプログラム(BlindSpotNet)208は、深度推定エレメント501と死角推定エレメント502とを含む。
【0080】
そして死角報知部902は、推定した死角領域を移動体またはその乗員に対して映像(例えばヘッドアップディスプレイに投影)や音声で報知する。例えば推定死角領域とは逆の方向を運転者が見ていれば、推定死角領域に注意を向けるようにアラートしてもよい。死角領域に視線を向けているか否かに応じて運転能力を評価してもよい。さらに、ドライブレコーダなどの映像から推定した死角領域(上述のように死角アノテーションが付加された映像)を運転中や停止時にリアルタイムに学習させてもよく、よりその市街地にあった死角推定ができるようになる。もちろん、走行しながらの学習は必須要件ではない。走行しながらさらに学習(「少量のデータでのファインチューニング」)する場合、セマンティックセグメンテーションネットワーク503を使って学習をすることもできる。つまり、死角推定部903がセマンティックセグメンテーションネットワーク503を含んでもよい。ただし、推論と学習は同時にはできないため、推論時はあくまでも深度推定エレメント501と死角推定エレメント502を用いる。学習時には、深度推定エレメント501と死角推定エレメント502とセマンティックセグメンテーションネットワーク503を用いる。
なお、移動中の学習のためにはセマンティックセグメンテーションネットワーク503は必須ではない(ファインチューニング時に知識蒸留してもしなくてもよい)。
【0081】
自動運転システムの場合、推定死角領域に近づくにつれて走行速度を低下させてもよい。また、推定された死角領域を用いて、死角からの飛び出しなど、危険な状況の映像を合成することにより、実世界では再現できない危険な状況を学習データとして用意することができ、危険状況の検出や危険状況に即した自動運転法の学習および導出に用いることができる。つまり、死角がわかると、危険状況合成データを生成できる。さらに、推定された死角を用いた、運転教習システムなども考えられる。
【0082】
このような運転教習システムは、路面を移動する移動体から撮影された映像データ中において、移動体から視認可能な路面領域を判定し、視認可能路面領域に対して路面アノテーションを付加する路面アノテーション付加部と、所定のタイミングにおける第1視認可能路面領域と、所定のタイミングから所定時間後の移動体の位置からの第2視認可能路面領域との差分領域に基づいて推定した、所定のタイミングでの移動体の推定死角領域に対して死角アノテーションを付加する死角アノテーション付加部と、推定死角領域からの飛び出しを表す映像を映像データに合成する合成部と、を備えたものである。
【0083】
[他の実施形態]
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の技術的範囲で当業者が理解し得る様々な変更をすることができる。また、それぞれの実施形態に含まれる別々の特徴を如何様に組み合わせたシステムまたは装置も、本発明の技術的範囲に含まれる。
【0084】
また、本発明は、複数の機器から構成されるシステムに適用されてもよいし、単体の装置に適用されてもよい。さらに、本発明は、実施形態の機能を実現する情報処理プログラムが、システムあるいは装置に供給され、内蔵されたプロセッサによって実行される場合にも適用可能である。本発明の機能をコンピュータで実現するために、コンピュータにインストールされるプログラム、あるいはそのプログラムを格納した媒体、そのプログラムをダウンロードさせるサーバも、プログラムを実行するプロセッサも本発明の技術的範囲に含まれる。特に、少なくとも、上述した実施形態に含まれる処理ステップをコンピュータに実行させるプログラムを格納した非一時的コンピュータ可読媒体(non-transitory computer readable medium)は本発明の技術的範囲に含まれる。