JP7133926B2 - 情報処理装置、システム、情報処理方法 - Google Patents

情報処理装置、システム、情報処理方法 Download PDF

Info

Publication number
JP7133926B2
JP7133926B2 JP2018004468A JP2018004468A JP7133926B2 JP 7133926 B2 JP7133926 B2 JP 7133926B2 JP 2018004468 A JP2018004468 A JP 2018004468A JP 2018004468 A JP2018004468 A JP 2018004468A JP 7133926 B2 JP7133926 B2 JP 7133926B2
Authority
JP
Japan
Prior art keywords
learning
information processing
unit
orientation
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018004468A
Other languages
English (en)
Other versions
JP2019124538A (ja
JP2019124538A5 (ja
Inventor
雅博 鈴木
大輔 小竹
一彦 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2018004468A priority Critical patent/JP7133926B2/ja
Priority to US16/244,312 priority patent/US11657319B2/en
Priority to CN201910037242.0A priority patent/CN110060297B/zh
Publication of JP2019124538A publication Critical patent/JP2019124538A/ja
Publication of JP2019124538A5 publication Critical patent/JP2019124538A5/ja
Application granted granted Critical
Publication of JP7133926B2 publication Critical patent/JP7133926B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/04Control of altitude or depth
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/10Simultaneous control of position or course in three dimensions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Automation & Control Theory (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Remote Sensing (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Image Analysis (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Description

本発明は、位置及び/又は姿勢を求める技術に関するものである。
画像情報に基づく撮像装置の位置及び/又は姿勢(以下、位置姿勢と記す)の計測は、自動車やロボットの自己位置姿勢推定、あるいは複合現実感/拡張現実感における現実空間と仮想物体との位置合わせなど様々な目的で利用される。
非特許文献1には、事前に学習した学習モデルを用いて画像情報から位置姿勢を算出するための指標である幾何情報(奥行き情報)を推定し、該推定した幾何情報をもとに位置姿勢情報を算出する方法が開示されている。
K. Tateno, F. Tombari, I. Laina and N. Navab, "CNN-SLAM: Real-time dense monocular SLAM with learned depth prediction", IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR), 2017
非特許文献1では、学習モデルを生成するために使用した画像のシーンの見え方(アピアランス)と、撮像装置が撮像した入力画像に写るシーンの見え方と、が類似している、という前提がある。そのため、シーンの見え方が類似していない場合に位置姿勢算出精度を向上させるための解決策が求められていた。本発明は、高精度に位置及び/又は姿勢を求めるための技術を提供する。
本発明の一様態は、現実空間に対応する仮想空間における仮想視点の位置姿勢ごとの、該位置姿勢の仮想視点から見える該仮想空間の画像及び該位置姿勢の仮想視点から見える該仮想空間の幾何形状を示す幾何情報を学習データとして生成する生成手段と、
前記学習データを用いて学習モデルに前記仮想空間の画像と前記幾何情報との対応関係を学習させる学習手段と、
撮像装置により撮像された現実空間の撮像画像を前記学習モデルに入力することで該学習モデルから出力される幾何情報に基づいて、前記撮像装置の位置及び姿勢の少なくとも一方を算出する算出手段と
を備えることを特徴とする。
本発明の構成によれば、高精度に位置及び/又は姿勢を求めることができる。
システムの構成例を示すブロック図。 情報処理装置10の機能構成例を示すブロック図。 システムが行う処理のフローチャート。 GUI400の構成例を示す図。 システムの機能構成例を示すブロック図。 情報処理装置20がモデルデータを生成するために行う処理のフローチャート。 システムの機能構成例を示すブロック図。 システムが行う処理のフローチャート。 システムの機能構成例を示すブロック図。 システムが行う処理のフローチャート。 システムの機能構成例を示すブロック図。 システムが行う処理のフローチャート。 システムの機能構成例を示すブロック図。 システムが行う処理のフローチャート。 コンピュータ装置のハードウェア構成例を示すブロック図。
以下、添付図面を参照し、本発明の実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施例の1つである。
[第1の実施形態]
本実施形態では、自動車の自動運転を行うために該自動車の位置及び/又は姿勢(以下、「位置及び/又は姿勢」を位置姿勢と称する)の算出を行うシステムについて説明する。本実施形態に係るシステムの構成例について、図1のブロック図を用いて説明する。
撮像部11は、自動車1の進行方向(矢印で示す方向)に向けて自動車1のフロントガラスの裏に固定的に取り付けられており、該進行方向の環境(現実空間、シーン)の動画像を撮像する。撮像部11により撮像された動画像の各フレームの画像(撮像画像)は情報処理装置10に対して出力される。撮像部11は、例えば、カラーの動画像を撮像可能なカメラ(RGBカラーカメラ)である。なお、撮像部11の取り付け位置は、自動車1の進行方向の環境を撮像可能な位置であれば、特定の取り付け位置に限らない。また、自動車1と撮像部11との間の相対的な位置姿勢関係は予めキャリブレーションされており、該相対的な位置姿勢関係は既知の情報(バイアス情報)として情報処理装置10に登録されているものとする。
表示部12は、自動車1のダッシュボード付近に固定的に取り付けられており、タッチパネル画面を有している。表示部12は、情報処理装置10や運転制御部13から出力された様々な情報を表示し、これにより該様々な情報を自動車1の運転者や同乗者に対して提供することができる。また、自動車1の運転者や同乗者は該タッチパネル画面に対してタッチ操作やスワイプ操作等の各種の操作入力を行うことで、情報処理装置10に対して各種の入力を行うことができる。なお、表示部12はタッチパネル画面を有することに限らず、情報表示を行う表示画面と、自動車1の運転者や同乗者からの操作入力を受け付けるためのボタン群などのユーザインターフェースと、を有する構成としても良い。
情報処理装置10は、撮像部11による撮像画像に基づいて、自動車1が走行するシーンの幾何情報と、自動車1の位置姿勢と、を推定し、該推定した幾何情報と自動車1の位置姿勢とを運転制御部13に対して出力する。また情報処理装置10は更に、この推定に使用する学習モデルの学習処理も行う。また情報処理装置10は表示部12に対して、表示対象とする様々な情報を出力する。
運転制御部13は、情報処理装置10から出力された幾何情報と位置姿勢とに基づいて、自動車1の車輪の回転トルク、自動車1の進行方向を決定し、該決定した回転トルク及び進行方向をアクチュエータ部14に対して通知する。アクチュエータ部14は、運転制御部13から通知された車輪の回転トルク及び進行方向に基づき自動車1の車輪の駆動制御を行う。なお、運転制御部13が決定する情報は、自動車1の車輪の回転トルク、自動車1の進行方向に限らず、自動車1の運転制御に係る情報であれば、如何なる情報であっても良い。例えば、自動車1のブレーキやウインカーに係る情報であっても良い。そして、アクチュエータ部14は、運転制御部13からの情報に基づいて自動車1の車輪の駆動制御を行う。
このように、自動車1は、撮像画像に基づいて推定された幾何情報及び位置姿勢から自動車1の車輪の回転トルク及び進行方向を決定し、該回転トルク及び進行方向に基づき自動車1の車輪の駆動制御を行うことで自動運転を行う自動車である。
次に、情報処理装置10の機能構成例について、図2のブロック図を用いて説明する。なお、図2に示した構成は、情報処理装置10が行うものとして後述する各処理を実現可能な構成の一例に過ぎない。例えば、幾つかの機能部を1つの機能部に纏めても良いし、1つの機能部を機能別に複数の機能部に分割しても良い。制御部199は、情報処理装置10全体の動作制御を行う。
保持部101は、自動車1が走行する環境において該自動車1の周囲に存在する物体のモデルデータを保持する。「自動車1が走行する環境において該自動車1の周囲に存在する物体」とは、例えば道路、標識、信号、建築物、自然物、人、動物、自動車、自転車など、自動車1が走行する環境において存在する現実物体である。また、「物体のモデルデータ」とは、例えば物体をポリゴンで表現する場合には、ポリゴンデータ(各ポリゴンの法線ベクトル、該ポリゴンを構成する各頂点の3次元座標、該ポリゴンの色や属性等)、テクスチャデータ、を含む。また、物体を点群で表現する場合には、「物体のモデルデータ」は、該点群におけるそれぞれの点の3次元座標を含む。さらに、それぞれの点に色情報を持たせても良い。このように、「物体のモデルデータ」は、該物体の幾何形状を表すデータであれば、如何なるデータであっても良い。
表示制御部102は、表示部12における表示を制御すると共に、自動車1の運転者や同乗者が表示部12に対してタッチ操作やスワイプ操作などの操作を行うことで入力したパラメータ(視点パラメータ及び環境パラメータ)を取得する。
視点パラメータとは、保持部101が保持するモデルデータに基づいて生成される仮想物体(モデル)によって構成される仮想空間中に設定する視点(仮想視点)に係るパラメータであり、例えば、配置パラメータ、撮像パラメータ、移動速度パラメータを含む。配置パラメータは、仮想空間中における仮想視点の位置姿勢、仮想視点の個数、等のパラメータを含む。撮像パラメータは、仮想視点の焦点距離、主点といった仮想視点の内部パラメータや、仮想視点の露光時間、フォーカス位置などといったパラメータを含む。移動速度パラメータは、仮想視点の移動速度を示すパラメータである。
一方、環境パラメータとは、保持部101が保持するモデルデータに基づいて生成される仮想物体(モデル)によって構成される仮想空間に係るパラメータであり、例えば、照明パラメータ、物体パラメータ、地域パラメータを含む。照明パラメータは、時刻、季節、天気などの変化に基づき変わる照明条件を規定するパラメータである。物体パラメータは、仮想空間中に配置するモデルの種類、数、位置、姿勢、大きさなどに関するパラメータである。地域パラメータは、自動車1が走行する国、場所、領域の名称や位置、さらには地域の法律や法令に基づく規定(例えば道路の走行レーンが右か左かや、高速道路の最高速度など)といったパラメータである。
そして表示制御部102は、自動車1の運転者や同乗者が表示部12を操作することで入力した視点パラメータは入力部103に対して出力し、自動車1の運転者や同乗者が表示部12を操作することで入力した環境パラメータは入力部104に対して出力する。
入力部103は、表示制御部102から受けた視点パラメータを生成部105に対して出力し、入力部104は、表示制御部102から受けた環境パラメータを生成部105に対して出力する。なお、生成部105への視点パラメータ及び環境パラメータの入力方法は上記の方法に限らず、例えば、予め情報処理装置10が有するメモリに登録されている視点パラメータ及び環境パラメータを生成部105に入力するようにしても良い。
生成部105は、保持部101が保持するモデルデータと入力部104から入力された環境パラメータとによって規定される仮想空間を、入力部103から入力された視点パラメータによって規定される仮想視点から見た画像(仮想空間画像)を生成する。また、生成部105は、仮想視点から見た仮想空間の幾何情報(デプスマップ)を生成する。例えば、生成部105は、保持部101に保持されているモデルデータに基づいてモデルを生成し、該モデルを、環境パラメータに含まれる物体パラメータが規定する数、位置、姿勢、大きさ等に従って仮想空間中に配置することで該仮想空間を構築する。なお、モデルを配置する際には、例えば、地域パラメータが規定するルールに従うものとする。例えば、自動車のモデルを配置する場合、該モデルを右車線/左車線の何れに配置するのかを地域パラメータが規定する地域ごとのルールに従って決定する。そして生成部105は、この構築した仮想空間を、環境パラメータに含まれている照明パラメータが規定する照明条件下において、視点パラメータによって規定される仮想視点から見た画像を仮想空間画像として生成する。なお、生成部105が生成する仮想空間画像は、撮像部11から撮像される画像における見え方と類似していることが望ましい。視点パラメータ及び環境パラメータが、自動車1の設計情報、運転状況、運転環境と合うように適切に設定されていれば、生成される仮想空間画像は撮像部11から撮像される画像の見え方と類似したものになる。そのため高精度に位置姿勢算出を行うことができる。さらに生成部105は、構築した仮想空間に対する仮想視点からの幾何情報を生成する。なお、本実施形態では、仮想空間画像と幾何情報(デプスマップ)とは同じもしくはほぼ同じスケール(縮尺)、すなわち所定の範囲内のスケール(縮尺)で生成するものとする。具体的には、仮想空間画像と幾何情報(デプスマップ)とを同じもしくはほぼ同じ画角、すなわち所定の範囲内の画角で描画(レンダリング)することで生成する。そして生成部105は、生成した仮想空間画像と幾何情報のセットを学習データとして生成部106に対して出力する。なお生成部105は、入力部103から入力された視点パラメータや入力部104から入力された環境パラメータを変化させることで、それぞれ異なる「視点パラメータ及び環境パラメータのセット」を生成する。例えば、環境パラメータに含まれている照明パラメータを変化させて、様々な照明条件(時刻、季節、天気など)に対応する環境パラメータを生成しても良い。また、環境パラメータに含まれている物体パラメータを変化させて仮想空間中に配置するモデルの追加あるいは削除を行った様々なモデルの配置状態に対応する環境パラメータを生成しても良い。また、環境パラメータに含まれている地域パラメータを変化させて様々な地域に対応する環境パラメータを生成しても良い。そして生成部105は、セットごとに対応する学習データを生成することで、様々な視点パラメータや様々な環境パラメータに対応する学習データを生成する。また、学習データを生成する際は、標識や信号といった自動車1を自動運転する上で重要な対象については画像上での詳細度を上げても(圧縮率を下げても)良い。
生成部106は、生成部105から受けた学習データごとに、該学習データに含まれている仮想空間画像を学習モデルに入力することで該学習モデルから出力される情報と、該学習データに含まれている幾何情報(教師データ)と、との差分を求める。そして生成部106は、学習データごとに差分が小さくなるように、該学習モデルを更新することで該学習モデルの学習処理を行う(誤差逆伝搬法などの方法)。本実施形態では、学習モデルにCNN(Convolutional Neural Network)を適用したケースについて説明する。しかし、画像を入力すると対応する幾何情報を出力する学習モデルであれば、如何なる学習モデルあっても良く、例えば、機械学習のモデルを学習モデルとして使用しても良く、学習モデルはCNNに限らない。
このように様々な状況(状態)に対応する学習データを生成して学習モデルの学習に用いることで、よりロバストな学習モデルを生成することができる。そして生成部106は、学習済みの学習モデルを保持部107に格納する。
入力部108は、撮像部11から出力される各フレームの撮像画像(画像情報)を取得し、該取得した撮像画像を後段の推定部109、算出部110、生成・更新部111に対して出力する。入力部108は、例えば画像キャプチャボードにより構成される。
推定部109は、保持部107に格納されている学習モデルを読み出し、該読み出した学習モデルに入力部108から入力された撮像画像を入力することで該学習モデルから出力される幾何情報を、後段の算出部110及び生成・更新部111に対して出力する。
なお、本実施形態においては、撮像画像と学習モデルから出力される幾何情報とは同じもしくはほぼ同じスケール(縮尺)であるとする。すなわち、撮像画像と学習モデルから出力される幾何情報とは同じもしくはほぼ同じ画角であるとする。これは、撮像画像と生成部105で生成した仮想空間画像と幾何情報との画角が同じもしくはほぼ同じになるようにすることで実現出来る。もし撮像画像と学習モデルから出力される幾何情報のスケール(縮尺)が異なる場合は、学習モデルから出力される幾何情報に画角の比率をかけることで撮像画像とスケール(縮尺)を合わせる。
算出部110は、入力部108から送出された撮像画像と、推定部109から送出された幾何情報と、を用いて撮像部11の位置姿勢を求め、該求めた位置姿勢を上記のバイアス情報を用いて自動車1の位置姿勢に変換する。そして算出部110は、この変換した自動車1の位置姿勢と、推定部109から出力された幾何情報と、を後段の運転制御部13及び生成・更新部111に対して送出する。
ここで、算出部110による撮像部11の位置姿勢の算出方法の一例について説明する。具体的には、時刻tに撮像された撮像画像(現フレーム)に対し、現フレーム以前の時刻t’に撮像された撮像画像(前フレーム)を学習モデルに入力することで該学習モデルから出力された幾何情報(前幾何情報)に基づき、前フレームの各画素を射影する。ここでいう射影とは、前フレームの画素が現フレームのどこに写るのかを算出することである。具体的には、算出部110は、前フレームにおける着目画素の画像座標(ut-1,vt-1)、撮像部11の内部パラメータ(fx、fy、cx、cy)、前幾何情報における該着目画素の奥行き値Dを用いて以下の式1を計算する。これにより算出部110は、該着目画素の前フレームのカメラ座標系における三次元座標(Xt-1,Yt-1,Zt-1)を求めることができる。
Figure 0007133926000001
ここでカメラ座標系とは例えば、撮像部11の位置(例えば撮像センサの位置)を原点とし、該原点で直交する3軸(撮像部11の視軸方向に対して該原点で直交する2軸、撮像部11の視軸方向の軸の計3軸)をそれぞれX軸、Y軸、Z軸とする座標系である。
ここで、前フレームを撮像した撮像部11の位置に対する現フレームを撮像した撮像部11の位置の変換行列をt(t-1)→t、前フレームを撮像した撮像部11の姿勢に対する現フレームを撮像した撮像部11の姿勢の変換行列をR(t-1)→tとする。このとき、算出部110は、t(t-1)→t、R(t-1)→tを用いて以下の式2を計算することで、現フレームのカメラ座標系における該着目画素の三次元座標(X,Y,Z)を求めることができる。
Figure 0007133926000002
次に算出部110は、以下の式3を計算することで、現フレームのカメラ座標系における該着目画素の三次元座標(X,Y,Z)を現フレームの画像座標(u,v)に変換する。
Figure 0007133926000003
本実施形態では、上記の式1~式3に従った処理を射影と呼ぶ。そして算出部110は、このような射影を、前フレームにおいて別途求めておいたコーナーやエッジといった特徴点あるいは全ての画素を着目画素として行うことで、現フレームにおいて対応する画像座標を求めることができる。そして算出部110は、前フレームの画像座標(ut-1,vt-1)における画素の輝度値と、該画素の射影先の現フレームの画素(画像座標は(u,v))における輝度値と、の輝度差が最小となるようにt(t-1)→t、R(t-1)→tを算出する。
そして算出部110は、前フレームを撮像した撮像部11の世界座標系における位置tw→(t-1)及び姿勢Rw→(t-1)を用いて以下の式4を計算する。これにより算出部110は、現フレームを撮像した撮像部11の世界座標系における位置tw→t及び姿勢Rw→tを算出する。
Figure 0007133926000004
ここで世界座標系とは、現実空間における1点を原点とし、該原点で互いに直交する3軸をそれぞれ、X軸、Y軸、Z軸とする座標系である。なお算出部110は、推定部109からの幾何情報に加えて生成・更新部111が生成/更新する三次元マップをも用い、SLAM(Simultaneous Localization and Mapping)技術を利用して撮像部11の位置姿勢を算出しても良い。位置姿勢の算出は、非特許文献1の方法や、Engelらの方法(J. Engel, T. Schps, and D. Cremers. LSD-SLAM: Large-Scale Direct Monocular SLAM. In European Conference on Computer Vision (ECCV), 2014.)を用いて行うことができる。SLAM技術により三次元マップの生成・更新を行うことで、一度走行した道については幾何情報を蓄積しておくことが可能となる。
生成・更新部111は、入力部108から入力される撮像画像、推定部109から入力される幾何情報、算出部110から入力される位置姿勢、を用いて、自動車1が走行する環境における三次元マップの生成および更新を行う。そして生成・更新部111は、生成/更新した三次元マップを算出部110及び運転制御部13に対して出力する。
本実施形態において、三次元マップとは、SLAM技術を用いて自動車の位置姿勢算出と環境の三次元マップ生成を同時に行う際に利用するものである。例えば三次元マップは、点群データと色情報の組み合わせでも良いし、デプスマップと色情報を持ち環境の位置姿勢に対応付いたキーフレーム情報の集合であっても良い。
次に、本実施形態に係るシステムが行う処理について、図3のフローチャートに従って説明する。ステップS101では、制御部199による制御の元で、情報処理装置10において初期化処理が行われる。初期化処理では、例えば、生成部105は保持部101からモデルデータを読み出し、算出部110は、撮像部11の内部パラメータを読み出す。このように、初期化処理では、各機能部は、自身が処理を実行するために用いるデータを読み出したり設定したりする。初期化処理が開始されるタイミングとしては、自動車1の運転者が自動車1の制御を起動したり、手動運転モードから自動運転モードに切り替えた場合などが挙げられる。
ステップS102では、表示制御部102は、自動車1の運転者や同乗者に対して、視点パラメータ及び環境パラメータを設定させるためのGUI(グラフィカルユーザインターフェース)を表示部12の表示画面に表示させる。ステップS102において表示部12に表示されるGUI400の構成例を図4に示す。
GUI400において領域41は、視点パラメータを設定するための操作部が配置されている領域であり、領域42は、環境パラメータを設定するための操作部が配置されている領域である。
先ず、領域41について説明する。タブ41aは、配置パラメータを設定する対象となる仮想視点を選択するためのものである。例えばユーザが表示画面上でタブ41aを指定すると、配置パラメータを設定可能な仮想視点の名称が一覧表示されるので、ユーザは該一覧表示されている名称から配置パラメータを設定する仮想視点の名称を指定する。図4では仮想視点「カメラ1」が指定されている。
領域41bは、仮想視点の仮想空間における位置を入力するための領域である。例えばユーザが表示画面上で領域41bを指定すると、数値入力を行うためのユーザインターフェースが表示画面に表示されるので、ユーザはこのユーザインターフェースを用いて領域41bに位置(数値)を入力する。領域41bに入力する位置は、自動車1を基準とする座標系における位置であり、撮像部11の位置とほぼ同じ位置(特に撮像部11の高さとほぼ同じ高さになる位置)であることが望ましい。
領域41cは、仮想視点の仮想空間における姿勢を入力するための領域である。例えばユーザが表示画面上で領域41cを指定すると、数値入力を行うためのユーザインターフェースが表示画面に表示されるので、ユーザはこのユーザインターフェースを用いて領域41cに姿勢(数値)を入力する。領域41cに入力する姿勢は、自動車1を基準とする座標系における姿勢であり、撮像部11の姿勢とほぼ同じ姿勢(特に撮像部11の視軸方向と仮想視点の視軸方向がほぼ同じになる姿勢)であることが望ましい。タブ41a、領域41b、41cにより、視点パラメータに含まれる配置パラメータを設定することができる。
タブ41dは、撮像パラメータを設定する対象となる仮想視点を選択するためのものである。例えばユーザが表示画面上でタブ41dを指定すると、撮像パラメータを設定可能な仮想視点の名称が一覧表示されるので、ユーザは該一覧表示されている名称から撮像パラメータを設定する仮想視点の名称を指定する。図4では仮想視点「カメラ1」が指定されている。
領域41eは、仮想視点の焦点距離を入力するための領域である。例えばユーザが表示画面上で領域41eを指定すると、数値入力を行うためのユーザインターフェースが表示画面に表示されるので、ユーザはこのユーザインターフェースを用いて領域41eに焦点距離(数値)を入力する。
領域41fは、仮想視点の露光時間を入力するための領域である。例えばユーザが表示画面上で領域41fを指定すると、数値入力を行うためのユーザインターフェースが表示画面に表示されるので、ユーザはこのユーザインターフェースを用いて領域41fに露光時間(数値)を入力する。タブ41d、領域41e、41fにより、視点パラメータに含まれる撮像パラメータを設定することができる。
領域41gは、仮想視点の移動速度の下限を入力するための領域である。例えばユーザが表示画面上で領域41gを指定すると、数値入力を行うためのユーザインターフェースが表示画面に表示されるので、ユーザはこのユーザインターフェースを用いて領域41gに移動速度の下限(数値)を入力する。
領域41hは、仮想視点の移動速度の上限を入力するための領域である。例えばユーザが表示画面上で領域41hを指定すると、数値入力を行うためのユーザインターフェースが表示画面に表示されるので、ユーザはこのユーザインターフェースを用いて領域41hに移動速度の上限(数値)を入力する。
移動速度の上限/下限としては、自動車1の運転者がよく運転する速度の範囲の上限/下限を入力しても良いし、自動車1が出し得る最高速度を移動速度の上限として入力しても良い。視点パラメータに含まれている移動速度パラメータには、移動速度の上限から下限までの範囲内における速度のうち何れか1つの速度(例えば移動速度の上限から下限までの間の10km/hごとの移動速度のうちの何れか1つ)が設定される。
次に、領域42について説明する。領域42aは、時刻を入力するための領域である。例えばユーザが表示画面上で領域42aを指定すると、数値入力を行うためのユーザインターフェースが表示画面に表示されるので、ユーザはこのユーザインターフェースを用いて領域42aに時間(数値)を入力する。あるいは、領域42aには、朝、昼、夕方、夜といった時間帯を入力しても選択しても良い。
タブ42bは、季節を選択するためのものである。例えばユーザが表示画面上でタブ42bを指定すると、春、夏、秋、冬の4つが一覧表示されるので、ユーザは該一覧表示されている4つの季節(春、夏、秋、冬)から1つを指定する。図4では季節「春」が指定されている。
タブ42cは、天気を選択するためのものである。例えばユーザが表示画面上でタブ42cを指定すると、晴れ、曇り、雨、雪などの天気の一覧が表示されるので、ユーザは該一覧から1つを指定する。図4では天気「晴れ」が指定されている。領域42a、タブ42b、42cにより、環境パラメータに含まれている照明パラメータを設定することができる。
タブ42dは、仮想空間中に配置するモデルの種類を選択するためのものである。例えばユーザが表示画面上でタブ42dを指定すると、仮想空間中に配置可能なモデルの種類が一覧表示されるので、ユーザは該一覧から1つを指定する。図4では種類「人」が指定されている。
タブ42eは、タブ42dで指定したモデルの数(仮想空間中に配置する数)を選択するためのものである。例えばユーザが表示画面上でタブ42eを指定すると、多い、普通、少ない等の配置数の一覧が表示されるので、ユーザは該一覧から1つを指定する。図4では数「多い」が指定されている。
タブ42fは、タブ42dで指定したモデルをどのように配置するのかの配置方法を選択するためのものである。例えばユーザが表示画面上でタブ42fを指定すると、モデルの配置方法が一覧表示されるので、ユーザは該一覧表示された配置方法から1つを指定する。図4では位置「ランダム」が指定されている。図4の場合、配置するモデルの種類は「人」、モデルの数は「多い」、モデルの配置方法は「ランダム」となっているため、生成部105は、仮想空間には、多く(「多く」に対応付けられた数)の人のモデルを仮想空間中にランダムに配置することになる。タブ42d、42e、42fにより、環境パラメータに含まれている物体パラメータを設定することができる。
タブ42gは、構築する仮想空間に対応する国を選択するためのものである。例えばユーザが表示画面上でタブ42gを指定すると、国の一覧が表示されるので、ユーザは該一覧から1つを指定する。図4では国「日本」が指定されている。
タブ42hは、タブ42gにて指定した国における地域を選択するためのものである。例えばユーザが表示画面上でタブ42hを指定すると、地域の一覧が表示されるので、ユーザは該一覧から1つを指定する。図4では地域「関東」が指定されている。
図4の場合、構築する仮想空間に対応する国は「日本」、地域は「関東」となっているため、生成部105は、例えば、国「日本」、地域「関東」に対応するルールでモデルを配置することになる。タブ42g、42hにより、環境パラメータに含まれている地域パラメータを設定することができる。
なお、図4に示したGUI400にて設定可能な情報の設定方法は上記の方法に限らない。例えば、位置の指定方法は数値入力に限らず、例えば仮想空間における代表的な位置から1つを選択するようにしても良い。また例えば、姿勢の指定方法は数値入力に限らず、例えば仮想空間における代表的な姿勢(例えば、前、後ろ、右、左)から1つを選択するようにしても良い。また例えば、モデルの数の指定方法は上記の方法に限らず、具体的な数を入力するようにしても良い。また、視点パラメータ及び環境パラメータの設定方法は特定の設定方法に限らない。また、ユーザは、上記の視点パラメータ及び環境パラメータに加えてその他のパラメータを入力するようにしても良い。
そしてユーザは、上記のGUI400を用いて視点パラメータ及び環境パラメータの設定が完了すると、表示画面上でボタン43を指定する。ボタン43が指定されると、表示制御部102は上記のGUI400を表示画面から消去すると共に、GUI400を介して入力された情報に基づいて視点パラメータ及び環境パラメータを設定する。例えば表示制御部102は、視点パラメータに含まれている配置パラメータには、タブ41a、領域41b、41cにおいて設定されている内容を設定する。また表示制御部102は、視点パラメータに含まれている撮像パラメータには、タブ41d、領域41e、41fにおいて設定されている内容を設定する。また表示制御部102は、視点パラメータに含まれている移動速度パラメータには、領域41hに入力された上限から領域41gに入力された下限までの範囲内における速度のうち何れか1つの速度を設定する。また例えば表示制御部102は、環境パラメータに含まれている照明パラメータには、領域42a、タブ42b、42cにおいて設定された内容を設定する。また表示制御部102は、環境パラメータに含まれている物体パラメータには、タブ42d、42e、42fにおいて設定された内容を設定する。また表示制御部102は、環境パラメータに含まれている地域パラメータには、タブ42g、42hにおいて設定された内容を設定する。
そして表示制御部102は、視点パラメータは入力部103に対して出力し、環境パラメータは入力部104に対して出力する。入力部103は、表示制御部102から受けた視点パラメータを生成部105に対して出力し、入力部104は、表示制御部102から受けた環境パラメータを生成部105に対して出力する。
ステップS103で生成部105は、GUI400にて設定した視点パラメータ及び環境パラメータのそれぞれに含まれている各種のパラメータのうち少なくとも1つを変化させて互いに異なる複数の「視点パラメータ及び環境パラメータ」のセットを生成する。例えば、移動速度パラメータを変化させる場合には、領域41hに入力された上限から領域41gに入力された下限までの範囲内で変化させるものとする。これにより領域41hに入力された上限から領域41gに入力された下限までの範囲内の複数の移動速度のそれぞれに対応する移動速度パラメータを生成することができ、然るに、該複数の移動速度のそれぞれに対応する視点パラメータを生成することができる。
なお、GUI400を用いた上記のパラメータ設定を複数回繰り返して行って、互いに異なる複数の「視点パラメータ及び環境パラメータ」のセットを設定するようにしても良い。そして生成部105は、それぞれのセットについて仮想空間画像及び幾何情報のセットを学習データとして生成する。ここで、移動速度がより早いカメラによる撮像画像には、移動速度がより遅いカメラによる撮像画像よりも強いブラー(暈け)が発生する。上記の通り、生成部105が生成する仮想空間画像は、同様の条件下にて撮像部11にて撮像される撮像画像における見え方と類似していることが好ましいため、この仮想空間画像にも、移動速度に応じたブラーが発生していることが好ましい。そこで生成部105は、仮想空間画像に対して対応する移動速度に応じたほかし処理(ブラーをかける)を行う。これにより、例えば、移動速度がより早い仮想視点からの仮想空間画像には、移動速度がより遅い仮想視点からの仮想空間画像よりも強いブラー(暈け)が生じることになり、同様の条件下にて撮像部11にて撮像される撮像画像における見え方と類似する。
ステップS104では、生成部106は、生成部105が生成した各学習データを用いて学習モデルの学習処理を行う。そしてステップS105では、生成部106は、ステップS104において学習した学習モデルを保持部107に格納する。
ステップS106では、撮像部11は、撮像した撮像画像を後段の入力部108に対して出力する。ステップS107では、入力部108は、撮像部11から出力される撮像画像を取得し、該取得した撮像画像を後段の推定部109、算出部110、生成・更新部111に対して出力する。
ステップS108では、推定部109は、入力部108から入力された撮像画像から幾何情報を推定する。この推定処理では、推定部109は、保持部107に格納されている学習モデルを読み出し、該読み出した学習モデルに入力部108から入力された撮像画像を入力することで該学習モデルから出力される幾何情報を推定結果として取得する。そして推定部109は、この幾何情報を後段の算出部110及び生成・更新部111に対して出力する。
ステップS109では、算出部110は、入力部108から送出された撮像画像と、推定部109から送出された幾何情報と、を用いて撮像部11の位置姿勢を求め、該求めた位置姿勢を上記のバイアス情報を用いて、自動車1の位置姿勢に変換する。そして算出部110は、この変換した自動車1の位置姿勢と、推定部109から出力された幾何情報と、を後段の運転制御部13及び生成・更新部111に対して送出する。
ステップS110の処理は、SLAM技術を利用する設定がなされている場合に限って行われる処理であって、SLAM技術を利用する設定がなされていない場合には、ステップS109の後はステップS110をスキップしてステップS111に進む。
ステップS110では、生成・更新部111は、入力部108から入力される撮像画像、推定部109から入力される幾何情報、算出部110から入力される位置姿勢、を用いて、自動車1が走行する環境における三次元マップの生成および更新を行う。そして生成・更新部111は、生成/更新した三次元マップを算出部110及び運転制御部13に対して出力する。生成・更新部111によって三次元マップは、処理の度に、あるいは所定のタイミング(何回かに一回など)で最適化処理が施され、徐々に精度の良いマップになっていく。
なお、SLAM技術を利用する設定がなされている場合には、算出部110は、推定部109からの幾何情報に加えて生成・更新部111が生成/更新する三次元マップをも用い、SLAM技術を利用して撮像部11の位置姿勢を算出しても良い。
ステップS111では運転制御部13は、算出部110から出力された幾何情報若しくは生成・更新部111から出力された三次元マップと、算出部110から出力された位置姿勢と、に基づいて、自動車1の車輪の回転トルク、自動車1の進行方向を決定する。先ず運転制御部13は、算出部110から出力された幾何情報若しくは生成・更新部111から出力された三次元マップが表す幾何形状の空間における自動車1の位置(算出部110から出力された位置)の周囲環境を認識する。自動車1の位置の周辺環境の認識とは、例えば、自動車1からどのような方向に、どのような距離に、どのような物体が存在するのか、を認識することである。さらに周囲環境として不図示の周囲環境認識部で自動車1の周囲にある物体(例えば道路、標識、信号、建築物、自然物、人、動物、自動車、自転車など、自動車1が走行する環境において存在するもの)の種類、数、位置姿勢を認識した結果を受け取っても良い。
そして運転制御部13は、自動車1の位置姿勢と自動車1の周囲環境とから、交通情報(標識や信号)に従い、さらに他の車や人などの障害物を避けながら、道路上を自動的もしくは半自動的に運転する運転制御情報を求めて出力する。運転制御情報とは、自動車1の車輪の回転トルク、進行方向を含む情報である。さらにブレーキや、ウインカーの方向なども運転制御情報に含めても良い。このように、運転制御情報とは、自動車1の自動運転若しくは半自動運転を実現するために自動車1を制御するための情報であり、該運転制御情報が含む情報は特定の情報に限らない。
そして運転制御部13は、求めた運転制御情報を表示部12及びアクチュエータ部14に対して送出する。これにより表示部12の表示画面には、自動車1の運転制御情報が文字や画像として表示されることになる。
ステップS112では、アクチュエータ部14は、運転制御部13からの運転制御情報に従って自動車1の車輪の駆動制御を行う。なお、自動車1の運転制御には、不図示の地図情報記憶部に格納されている地図情報を利用しても良い。
ステップS113では、制御部199は、図3のフローチャートに従った処理の終了条件が満たされたか否かを判断する。例えば、制御部199は、自動車1が目的地に到着したり、自動車1の運転者や同乗者が表示部12の表示画面に対してシステムの停止を指示したりした場合には、終了条件が満たされたと判断する。このような判断の結果、終了条件が満たされた場合には、図3のフローチャートに従った処理は終了し、終了条件が満たされていない場合には、処理はステップS106に戻る。
なお、図3では、ステップS111、S112の処理をステップS110とステップS113との間において実行しているが、ステップS111、S112の処理を図3のフローチャートに従った処理と並列的に実行するようにしても良い。このように、本実施形態を含め、以下の実施形態や変形例においても、フローチャートに示した各処理ステップの処理は、フローチャートに示した順序で実行されることに限らず、処理ステップによっては実行順を変更しても良い。また、一部の処理ステップを他の処理ステップと並列的に実行するようにしても良い。
このように、本実施形態では、視点パラメータ及び環境パラメータを適切に設定して、学習モデルの学習において利用する仮想空間画像におけるシーンの見え方(アピアランス)を、撮像部による撮像画像に写るシーンの見え方と類似したものにする。このような「撮像部による撮像画像とシーンの見え方が類似している仮想空間画像」を用いて学習した学習モデルを用いることで、実際に撮像部が撮像した撮像画像に対応する幾何情報をより高い精度で推定することができる。
<変形例1>
第1の実施形態では、幾何情報としてデプスマップを用いたが、仮想視点から見える仮想空間の幾何形状を表す情報であれば、幾何情報は如何なる情報であっても構わない。
また、第1の実施形態では、車両の一例として自動車1を用いたが、自動車1以外の車両を自動車1の代わりに用いても、第1の実施形態は同様に適用することができる。
また、第1の実施形態では、視点パラメータ及び環境パラメータはユーザがGUI400を介して入力するものとしたが、これに限らない。例えば、入力部103、104はそれぞれ、情報処理装置10の内部若しくは外部に設けられた装置(メモリやサーバ装置など)に予め作成して登録している視点パラメータ、環境パラメータを取得して生成部105に対して出力するようにしても良い。
<変形例2>
撮像部11はRGBカラーカメラに限定されるものではなく、グレースケールカメラや赤外線カメラであっても良い。また、撮像部11の配置場所はフロントガラスの裏に限定されるものではなく、自動車1の上部外側、前方外側・内側、サイドミラー部であっても良い。また、撮像部11を複数個設けて、自動車1の進行方向に対して前方だけでなく、斜め前方、横方向、斜め後方、後方を撮像するよう自動車1に配置しても良い。
<変形例3>
上記の通り、表示部12はタッチパネル画面を有することに限らず、例えば、自動車1のフロントガラスやダッシュボードに備えられたHUD(Head-Up Display)であっても良い。
<変形例4>
上記の通り、モデルデータには、様々なデータが適用可能であり、例えば、三次元計測部や撮像部を利用して得た実環境における距離データ(点群データ)と色情報との組み合わせをモデルデータとしても良い。あるいは、三次元計測部や撮像部を利用して得たデプスマップと色情報とを有し且つ環境の位置姿勢に対応付いたキーフレーム情報をモデルデータとしても良い。
<変形例5>
上記の通り、視点パラメータ、環境パラメータの情報処理装置10への入力方法は特定の入力方法に限らない。例えば、視点パラメータに含まれている配置パラメータや撮像パラメータについては、自動車1や撮像部11のメーカ・型番・配置情報を元に予め情報処理装置10に設定されていても良いし、撮像部11から取得して情報処理装置10に設定しても良い。また、情報処理装置10に予め設定されている若しくは撮像部11から取得したパラメータを、GUI400において該当する箇所に初期値として表示しても良い。
また、撮像部11が撮影した撮像画像や、撮像部11や自動車1に搭載してある重力方向センサ、を用いて、撮像部11の路面からの高さ(鉛直方向の距離)を取得し、該取得した高さを、仮想空間における路面からの仮想視点の高さとしても良い。
また、環境パラメータに含まれている照明パラメータ、物体パラメータを、撮像部11が撮像した撮像画像、推定部109で推定した幾何情報、生成・更新部111で生成した三次元マップ、から、シーン中に存在している物体を認識することで得てもよい。物体の認識は機械学習やCNNに代表される深層学習を利用してもよい。また、照明パラメータ、物体パラメータは予めあらゆる組み合わせで設定されていても良い。また、地域パラメータはGPS情報を用いて測定した現在位置に基づいて設定されても良いし、自動車ディーラーの担当者により設定されても良い。
また、第1の実施形態では、視点パラメータ及び環境パラメータに基づいて学習データを生成したが、視点パラメータ及び環境パラメータ以外のパラメータを学習データの生成に利用しても構わない。視点パラメータ及び環境パラメータ以外のパラメータとしては、自動車1の運転者に関するパラメータを利用してもよい。例えば、自動車1をよく運転する時間、場所、速度などを、GUI400等のユーザインターフェースを介して自動車1の運転者や同乗者が入力しても良いし、自動車1の運転状況を記憶媒体に保持しておき該記憶媒体から該運転状況を読み出しても良い。自動車1の運転者がよく運転する時間、場所、速度といったユーザパラメータが分かると、それらのパラメータを利用して生成部105がそのユーザに適した学習データを生成することができるため、位置姿勢の推定精度が向上する。これはその他の実施形態や変形例でも同様で、視点パラメータ及び環境パラメータに加えて他のパラメータを更に使用しても良い。
<変形例6>
情報処理装置10によって推定された撮像部11の位置姿勢の使用用途は自動車の自動運転に限らない。つまり、撮像部11による撮像画像に基づいて該撮像部11若しくは該撮像部11を搭載する装置の周囲環境や位置姿勢をより高精度に取得することが要求される分野に情報処理装置10を適用しても良い。
例えば、算出された位置姿勢、推定された幾何情報、生成された三次元マップは、例えば、自動車の運転アシスト(半自動運転)や、人が自動車運転をしている状況の表示に適用することができる。また、工場の中や物流倉庫の中を工程に従って走行する搬送車両(AGV(Automated Guided Vehicle))といった移動体の移動制御で利用されても良い。あるいは、家庭内で自律的に行動するサービスロボットの移動制御や、複合現実感/拡張現実感における現実空間と仮想物体との位置合わせに利用されても良い。
<変形例7>
学習モデルはCNNに限らず、例えば、機械学習のモデルであっても良いし、強化学習のモデルであっても良い。なお、学習データは、利用する学習モデルの学習処理に対応したデータ(例えば、画像と幾何情報のセット)を用いることになる。
[第2の実施形態]
本実施形態を含め、以下の各実施形態及び各変形例では、第1の実施形態との差分について説明し、以下で特に触れない限りは第1の実施形態と同様であるものとする。本実施形態では、情報処理装置10を搭載した自動車1とは別個の自動車2において現実空間を計測/撮像することで現実空間のモデルデータを生成し、該モデルデータを情報処理装置10の保持部101に登録する。
本実施形態に係るシステムの機能構成例について、図5のブロック図を用いて説明する。なお、図5において情報処理装置10の機能構成は第1の実施形態(図2)と同様であるため、保持部101以外の図示は省略している。
図5において、計測部21、撮像部22、情報処理装置20は、上記の自動車2に搭載されている。ここで、自動車2の撮像部22の配置位置姿勢は、自動車1の撮像部11の配置位置姿勢と異なっているものとする。また、自動車2は自動車1と異なる日あるいは異なる時刻に自動車1と同じ場所を走行して後述の計測及び撮像を行うが、走行するシーンの状況が多少異なっているものとする。また、自動車1と自動車2の利用ユーザが異なっていても良い。
計測部21は、自動車2の上部に装着され、自動車2の周囲(全周)の幾何形状を表す点群により構成される距離情報を計測(三次元計測)するセンサである。計測部21は、自動車2が走行する環境におけるシーンの三次元計測を行い、該三次元計測の結果を距離情報として情報処理装置20に対して出力する。計測部21は、例えば、Lidarを代表とするアクティブ距離センサである。なお、自動車2と計測部21との間の相対的な位置姿勢関係は予めキャリブレーションされており、該相対的な位置姿勢関係は既知の情報(バイアス情報)として情報処理装置20に登録されているものとする。
撮像部22は、自動車2が走行する環境におけるシーンの動画像を撮像する撮像装置であり、例えば、RGBカラーカメラである。撮像部22により撮像された動画像を構成する各フレームの画像(撮像画像)は情報処理装置20に対して出力される。撮像部22は自動車2の上部に放射状に複数台装着され、これにより、自動車2の周囲(全周)の画像を撮像する。なお、自動車2と撮像部22との間の相対的な位置姿勢関係は予めキャリブレーションされており、該相対的な位置姿勢関係は既知の情報(バイアス情報)として情報処理装置20に登録されているものとする。また、計測部21と撮像部22との間の相対的な位置姿勢関係は予めキャリブレーションされており、該相対的な位置姿勢関係は既知の情報(バイアス情報)として情報処理装置20に登録されているものとする。
次に、情報処理装置20について説明する。制御部299は、情報処理装置20全体の動作制御を行う。入力部201は、計測部21から出力された距離情報を取得し、該取得した距離情報を後段の生成部203に対して出力する。入力部202は、撮像部22(複数台の撮像部22のそれぞれ)から出力された撮像画像を取得し、該取得した撮像画像を後段の生成部203に対して出力する。
生成部203は、入力部201から出力された距離情報と、入力部202から出力された撮像画像と、を用いて、自動車2が走行した環境のモデルデータを生成する。生成部203が生成するモデルデータとは、距離情報が表す点群におけるそれぞれの点に、撮像画像において対応する画素の色情報を対応させて付与したものである。計測部21と撮像部22との間の相対的な位置姿勢関係は既知であるため、距離情報が表す点群におけるそれぞれの点と、撮像画像において該点に対応する色情報と、を対応付けることができる。
そして生成部203が生成したモデルデータは保持部101に格納される。生成部203が生成したモデルデータを保持部101に格納するための方法には様々な方法が考えられる。
例えば、情報処理装置10と情報処理装置20とを有線/無線のネットワーク(インターネット回線やWi-Fi通信回線)を介して接続し、生成部203は生成したモデルデータを該ネットワークを介して情報処理装置10に対して送信するようにしても良い。この場合、情報処理装置10の制御部199は、情報処理装置20から送信されたモデルデータを保持部101に格納する。
また、生成部203が生成したモデルデータを情報処理装置10に対して出力するのではなく、USBメモリなどのメモリ装置に対して出力するようにしても良い。この場合、ユーザがこのメモリ装置を情報処理装置10に接続して保持部101に転送するための操作入力を行うことで、制御部199がこのメモリ装置からモデルデータを読み出して保持部101に格納する。
次に、情報処理装置20がモデルデータを生成するために行う処理について、該処理のフローチャートを示す図6を用いて説明する。なお、図6のフローチャートに従った処理は、図3のフローチャートに従った処理の開始前に行われる処理である。
ステップS201では、制御部299は、計測部21のパラメータ(センサパラメータ)、撮像部22のパラメータ(カメラパラメータ)、以下の各処理において各機能部が使用するデータ、等を読み込むなどの初期化処理を行う。初期化処理が開始されるタイミングとしては、例えば、ユーザが自動車2の制御を起動した場合などが挙げられる。
ステップS202では、計測部21は、自動車2の周囲(全周)のシーンを三次元計測することで距離情報を生成し、該生成した距離情報を情報処理装置20に対して出力する。
ステップS203では、撮像部22(それぞれの撮像部22)は、自動車2の周囲(全周)のシーンを撮像し、該撮像により得られる撮像画像を情報処理装置20に対して出力する。
ステップS204では、入力部201は、計測部21から出力された距離情報を取得し、該取得した距離情報を生成部203に対して出力する。ステップS205では、入力部202は、撮像部22から出力された撮像画像を取得し、該取得した撮像画像を生成部203に対して出力する。
ステップS206では、生成部203は、入力部201から出力された距離情報と、入力部202から出力された撮像画像と、を用いて、自動車2が走行した環境のモデルデータを生成する。
ステップS207では、制御部299は、システムの終了条件が満たされたか否かを判断する。例えば、ユーザが自動車2のシステム停止を指示した場合には、終了条件が満たされたと判断する。この判断の結果、終了条件が満たされた場合には、図6のフローチャートに従った処理は終了する。一方、終了条件が満たされていない場合には、処理はステップS202に進む。
ステップS202~S206の処理を自動車2の走行中に繰り返し行うことにより、ステップS206で生成されたモデルデータを合成して自動車2が走行するシーン全体のモデルデータを生成することが可能となる。モデルデータの合成は、距離情報(点群)同士を対応付けて同じ座標系上で合成することにより行われる。
このように本実施形態によれば、情報処理装置10を搭載するシステム(例えば自動車1)と情報処理装置20を搭載するシステム(例えば自動車2)とでそれぞれの視点パラメータ、環境パラメータが異なる場合でも適切にパラメータを設定することができる。そして、学習モデルを生成するための画像のシーンの見え方(アピアランス)と、撮像部が撮像した入力画像に写るシーンの見え方と、が類似したものになる。その結果、自動車の自動運転などに適用する位置姿勢を高精度に算出することができる。
<変形例1>
本実施形態に係るモデルデータは、距離情報が表す点群におけるそれぞれの点に、撮像画像において対応する画素の色情報を対応させて付与したもの、としたが、これに限らない。例えば、モデルデータは、距離情報が表す点群におけるそれぞれの点に、予め作成されたテクスチャにおいて対応する画素の色情報を対応させて付与したものであっても良い。また例えば、モデルデータは、予め生成された物体のポリゴンや点群に、撮像画像において対応する画素の色情報を対応付けたものであっても良い。
<変形例2>
本実施形態に係るモデルデータは、距離情報が表す点群におけるそれぞれの点に、撮像画像において対応する画素の色情報を対応させて付与したもの、としたが、これに限らない。例えば、モデルデータは、計測部21や撮像部22を利用して得た距離情報と色情報とを元に生成したデプスマップと色情報とを有し且つ環境における位置姿勢に対応付いたキーフレーム情報であっても良い。環境における位置姿勢は例えばGPSなどを使って得ることができる。
<変形例3>
本実施形態では、複数台の撮像部22によって自動車2の周囲(全周)を撮像した複数の撮像画像を取得した。しかし、撮像部22としてパノラマ撮影が可能なカメラを用いる場合には、該撮像部22によるパノラマ撮影によって得られる撮像画像を取得するようにしても良い。また、自動車2にパノラマ撮影が可能なカメラを複数台搭載したり、通常の撮影を行うカメラと組み合わせて搭載したりしても良い。
<変形例4>
保持部101には第1の実施形態で説明したモデルデータを格納しておいて、これを仮想空間画像及び幾何情報の生成に使用し、後に、保持部101のモデルデータを情報処理装置20が生成したモデルデータに置換するようにしても良い。「保持部101のモデルデータを情報処理装置20が生成したモデルデータに置換する」タイミングとしては、例えば、「情報処理装置20において規定の範囲内のモデルデータが生成された場合」がある。これにより、位置姿勢推定の精度が上がっていく。
[第3の実施形態]
本実施形態では、状況別に学習モデルを生成しておき、撮像画像から幾何情報を推定する際には、該推定時における状況に応じた学習モデルを用いて該推定を行う。本実施形態に係るシステムの機能構成例について、図7のブロック図を用いて説明する。
計測部31は、自動車1が走行する際における自動車1の視点(撮像部11)に係るパラメータ、環境に係るパラメータ、あるいはその他のパラメータを計測パラメータとして計測するセンサである。
自動車1の視点に係るパラメータとは、例えば、配置パラメータ、撮像パラメータ、移動速度パラメータを含む。配置パラメータは、自動車1を基準とする座標系における撮像部11の位置姿勢(撮像部11の取り付け位置からの高さであっても良い)、撮像部11の個数、等のパラメータを含む。撮像パラメータは、撮像部11の焦点距離、主点といった撮像部11の内部パラメータや、撮像部11の露光時間、フォーカス位置などといったパラメータを含む。移動速度パラメータは、撮像部11(自動車1)の移動速度を示すパラメータである。
一方、環境パラメータとは、自動車1が走行する環境に係るパラメータであり、例えば、照明パラメータ、物体パラメータ、地域パラメータを含む。照明パラメータは、時刻、季節、天気などの変化に基づき変わる照明条件を規定するパラメータである。物体パラメータは、自動車1が走行する環境における物体(例えば道路、標識、信号、建築物、自然物、人、動物、自動車、自転車など、自動車1が走行する環境において存在するもの)の種類、数、位置、姿勢、大きさなどに関するパラメータである。地域パラメータは、自動車1が走行する国、場所、領域の名称や位置といったパラメータである。
生成部305は、次の点で生成部105と異なる。つまり生成部305は生成部105と同様に複数の学習データを生成するのであるが、規定の状況ごとに複数の学習データのセットを生成する。例えば、領域41hに入力された上限が「150km/h」であり、領域41gに入力された下限が「0km/h」であったとする。このとき生成部305は、速度範囲「0km/h~49km/h」に含まれる移動速度パラメータを含む視点パラメータごとに、該視点パラメータ、環境パラメータ、モデルデータ、を用いて生成部105と同様にして学習データを生成する。その際、他のパラメータも更に変更することで、様々なパラメータの組み合わせに対応する学習データを生成することができる。同様にして生成部305は、速度範囲「50km/h~99km/h」に含まれる移動速度パラメータを含む視点パラメータごとに、該視点パラメータ、環境パラメータ、モデルデータ、を用いて生成部105と同様にして学習データを生成する。さらに生成部305は、速度範囲「100km/h~150km/h」に含まれる移動速度パラメータを含む視点パラメータごとに、該視点パラメータ、環境パラメータ、モデルデータ、を用いて生成部105と同様にして学習データを生成する。これにより生成部305は、状況ごとに複数の学習データのセットを生成することができる。
生成部306は、規定の状況ごとに、該状況について生成部305が生成した複数の学習データのセットを用いて生成部106と同様にして学習モデルの学習を行うことで、規定の状況ごとに学習モデルを生成する。上記の例では、速度範囲「0km/h~49km/h」に対応する学習モデル、速度範囲「50km/h~99km/h」に対応する学習モデル、速度範囲「100km/h~150km/h」に対応する学習モデル、といった複数の学習モデルを生成することになる。そして生成部306は、規定の状況ごとに生成した学習モデルを保持部307に格納する。
入力部308は、計測部31から出力された計測パラメータを取得し、該取得した計測パラメータを選択部309に対して出力する。選択部309は、保持部307が保持する学習モデルのうち、入力部308から出力された計測パラメータに対応する1つを選択学習モデルとして選択し、該選択学習モデルを推定部109に対して出力する。推定部109は、選択部309から出力された学習モデルを用いて、撮像部11からの撮像画像に対応する幾何情報を推定する。
例えば、計測パラメータに含まれている移動速度パラメータが「30km/h」であったとする。このとき選択部309は「0km/h~49km/h」、「50km/h~99km/h」、「100km/h~150km/h」のそれぞれに対応する学習モデルのうち「30km/h」を含む「0km/h~49km/h」に対応する学習モデルを選択する。そして選択部309は、「0km/h~49km/h」に対応する学習モデルを推定部109に対して出力し、推定部109は、「0km/h~49km/h」に対応する学習モデルを用いて、撮像部11からの撮像画像に対応する幾何情報を推定する。
自動車1の移動速度が速くなるにつれて、撮像部11による撮像画像にはブラー(ぶれ)が移動速度に応じた強さで発生する。移動速度に応じた学習モデルを複数用意するということは、移動速度に応じたブラーが含まれる学習データを生成し、さらに様々なブラーに対応可能な学習モデルを生成するということである。然るに、自動車1の実際の移動速度に合った学習モデルを選択することで、位置姿勢を高精度に算出することができる。
なお、上記の例では、移動速度パラメータに基づいて学習モデルを選択したが、他のパラメータに基づいて学習モデルを選択するようにしても構わない。例えば、学習モデルを照明条件ごとに生成した場合、計測パラメータが示す照明条件と類似する照明条件に対応する学習モデルを選択するようにしても良い。また例えば、複数の照明条件のそれぞれについて学習モデルを生成した場合、次のようにして学習モデルを選択しても良い。表示制御部102は、該複数の照明条件のうち計測パラメータが示す照明条件と類似する複数の照明条件の一覧を表示部12の表示画面に表示して該一覧から1つの照明条件を選択するよう自動車1の運転者や同乗者に促す。選択部309は、自動車1の運転者や同乗者が該一覧から選択した1つの照明条件に対応する学習モデルを選択する。
次に、本実施形態に係るシステムが行う処理について、同処理のフローチャートを示す図8を用いて説明する。なお、図8において、図3に示した処理ステップと同じ処理ステップには同じステップ番号を付しており、該処理ステップに係る説明は省略する。
ステップS303では、生成部305は、規定の状況ごとに複数の学習データのセットを生成する。ステップS304では、生成部306は、規定の状況ごとに、該状況について生成部305が生成した複数の学習データを用いて学習モデルの学習を行うことで、規定の状況ごとに学習モデルを生成する。そしてステップS305では、生成部306は、ステップS304において学習した各状況に対応する学習モデルを保持部307に格納する。
ステップS306では、計測部31は、自動車1が走行する際における自動車1の視点(撮像部11)に係るパラメータ、環境に係るパラメータ、あるいはその他のパラメータを計測パラメータとして計測し、該計測パラメータを入力部308に対して出力する。
ステップS307では、入力部308は、計測部31から出力された計測パラメータを取得し、該取得した計測パラメータを選択部309に対して出力する。ステップS308では、選択部309は、保持部307が保持する学習モデルのうち、入力部308から出力された計測パラメータに対応する1つを選択学習モデルとして選択し、該選択学習モデルを推定部109に対して出力する。
本実施形態に係るステップS108では、推定部109は、選択部309から出力された選択学習モデルに入力部108から入力された撮像画像を入力することで該学習モデルから出力される幾何情報を推定結果として取得する。そして推定部109は、この幾何情報を後段の算出部110及び生成・更新部111に対して出力する。
このように、本実施形態によれば、現在の状況に応じて選択された学習モデルを用いて幾何情報を推定するので、この幾何情報は撮像画像に対して適したものになり、その結果、自動車の自動運転などに適用する位置姿勢を高精度に算出することができる。
<変形例1>
学習モデルは、例えば、配置パラメータ、撮像パラメータ、時刻、季節、天気、周囲に存在する物体、地域等の項目のうち1つ以上の着目項目について複数生成し、計測パラメータに含まれる該着目項目の値に対応する学習モデルを選択するようにしても良い。
[第4の実施形態]
本実施形態では、仮想空間画像、視点パラメータ、環境パラメータを入力とし、幾何情報を出力とする学習モデルを学習処理によって生成し、該学習モデルに撮像画像及び計測パラメータを入力することで対応する幾何情報を取得するシステムについて説明する。
先ず、本実施形態に係るシステムの機能構成例について、図9のブロック図を用いて説明する。図9に示した構成は、以下の点で第3の実施形態と異なる。
生成部305は第3の実施形態と同様に、状況ごとに複数の学習データを生成して出力するのであるが、該学習データに該学習データの生成に利用した視点パラメータ及び環境パラメータを添付して出力する。
生成部406は、生成部305から出力された各学習データを用いて1つの学習モデルの学習処理を行う。その際、生成部406は、学習モデルへの入力として、各学習データに含まれている「仮想空間画像、該仮想空間画像の生成に利用した視点パラメータ及び環境パラメータ」を使用し、教師データとして、各学習データに含まれている「幾何情報」を使用する。このような学習処理により得られる学習モデルは、「仮想空間画像、該仮想空間画像の生成に利用した視点パラメータ及び環境パラメータ」のセットと、該セットに対応する「幾何情報」と、の対応関係を学習することになる。そして生成部406は、学習済みの学習モデルを保持部407に格納する。
入力部308は、計測部31からの計測パラメータを推定部409に対して送出する。推定部409は、保持部407から学習モデルを読み出し、該読み出した学習モデルに入力部108からの撮像画像と、入力部308からの計測パラメータと、を入力することで該学習モデルから出力される幾何情報を出力する。
例えば、自動車1の移動速度が速くなるにつれて、撮像部11による撮像画像にはブラー(ぶれ)が移動速度に応じた強さで発生する。移動速度に応じた形で学習モデルにより幾何情報が推定可能になると、様々なブラーに対応可能になる。そして、自動車1の実際の移動速度に合った幾何情報の推定が行われることで、位置姿勢を高精度に算出することができる。
次に、本実施形態に係るシステムが行う処理について、同処理のフローチャートを示す図10を用いて説明する。図10において図8に示した処理ステップと同じ処理ステップには同じステップ番号を付しており、該処理ステップに係る説明は省略する。
なお、ステップS303では、生成部305は、学習データに該学習データの生成に利用した視点パラメータ及び環境パラメータを添付して出力する点で上記のステップS303と異なる。
ステップS404では、生成部406は、生成部305から出力された各学習データを用いて1つの学習モデルの学習処理を行う。ステップS405では、生成部406は、学習済みの学習モデルを保持部407に格納する。
ステップS307では、入力部308は、計測部31からの計測パラメータを推定部409に対して出力する点で上記のステップS307と異なる。ステップS408では、推定部409は、保持部407から学習モデルを読み出し、該読み出した学習モデルに入力部108からの撮像画像と、入力部308からの計測パラメータと、を入力することで該学習モデルから出力される幾何情報を出力する。
このように、本実施形態によれば、様々な状況に基づく学習データを用いて学習した学習モデルを用いて、撮像画像と測定した状況とに対応する幾何情報を推定するので、この幾何情報は撮像画像及び現在の状況に対して適したものになる。そしてその結果、自動車の自動運転などに適用する位置姿勢を高精度に算出することができる。
[第5の実施形態]
本実施形態では、保持しているモデルデータを、新たに撮像された撮像画像及び該撮像画像から学習モデルを用いて推定した幾何情報を用いて更新する。本実施形態に係るシステムの機能構成例について、図11のブロック図を用いて説明する。
保持部501には、予めモデルデータが格納されている。このモデルデータは、上記で説明した様々なモデルデータの何れであっても良い。本実施形態では、保持部501に保持されているモデルデータを、入力部108が撮像部11から取得した撮像画像と、該撮像画像から推定部109が推定した幾何情報と、に基づいて更新部502が更新する。
例えば、モデルデータとしてポリゴンデータとテクスチャデータとを用いるケースを想定する。このとき更新部502は、推定部109からの幾何情報をポリゴンデータに変換し、該ポリゴンデータをモデルデータに追加したり、モデルデータにおいて該ポリゴンデータに対応するポリゴンの位置や姿勢などを該ポリゴンデータに基づいて修正する。また、更新部502は、撮像画像をテクスチャデータとしてモデルデータに追加したり、該撮像画像における画素の画素値をモデルデータ中のテクスチャデータにおける画素の画素値にαブレンドしたりする。
また例えば、モデルデータとして点群データと色情報とを用いるケースを想定する。このとき更新部502は、推定部109からの幾何情報を点群データに変換し、該点群データをモデルデータに追加したり、モデルデータにおいて該点群データに対応する点群の位置を該点群データに基づいて修正する。また、更新部502は、撮像画像における画素の画素値を色情報としてモデルデータに追加したり、撮像画像における画素の画素値をモデルデータ中の色情報にαブレンドしたりする。
また例えば、モデルデータとしてデプスマップと色情報とを持ったキーフレーム情報の集合を用いるケースを想定する。このとき更新部502は、推定部109からの幾何情報と入力部308からの撮像画像を元にした色情報とを有するキーフレーム情報をモデルデータに追加する。なお、更新部502は、生成・更新部111で生成した三次元マップを用いて保持部501が保持するモデルデータを更新しても良い。
次に、本実施形態に係るシステムが行う処理について、同処理のフローチャートを示す図12を用いて説明する。なお、図12において図3に示した処理ステップと同じ処理ステップには同じステップ番号を付しており、該処理ステップに係る説明は省略する。
ステップS501では、更新部502は、上記の通り、保持部501が保持するモデルデータを更新する。更新されたモデルデータは、次回システムが起動した際にステップS101で読み込まれて利用されても構わないし、モデルデータが更新されるたびにステップS101~S105の処理を行って、常に最新のモデルデータが使用されるようにしても良い。
このように本実施形態によれば、自動車1が実際に走行するシーンの撮像画像及び幾何情報を元にモデルデータの更新が行われる。そのため、学習モデルを生成するための画像のシーンの見え方(アピアランス)と、撮像部が撮像した入力画像に写るシーンの見え方と、が類似したものになる。その結果、自動車の自動運転などに適用する位置姿勢を高精度に算出することができる。
[第6の実施形態]
本実施形態では、撮像画像と、該撮像画像を学習モデルに入力することで該学習モデルから出力される幾何情報と、を用いて該学習モデルの追加学習を行う。本実施形態に係るシステムの機能構成例について、図13のブロック図を用いて説明する。
生成部606は、生成部106と同様の学習処理を行うことで生成した学習モデルの追加学習処理を行う。追加学習処理では生成部606は、入力部108からの撮像画像と推定部109からの幾何情報とのセットを新たな学習データとし、該新たな学習データと生成部105が生成した学習データとを含む複数の学習データを用いて学習モデルの学習処理を行う。このような追加学習処理により、保持部107に格納されている学習モデルが更新される。なお、追加学習処理では、生成部606は、入力部108からの撮像画像と推定部109からの幾何情報とのセットを新たな学習データとして学習モデルの学習処理を行っても良い。
次に、本実施形態に係るシステムが行う処理について、同処理のフローチャートを示す図14を用いて説明する。なお、図14において、図3に示した処理ステップと同じ処理ステップには同じステップ番号を付しており、該処理ステップに係る説明は省略する。
ステップS601で生成部606は、入力部108からの撮像画像と推定部109からの幾何情報とのセットを新たな学習データとし、該新たな学習データと生成部105が生成した学習データとを含む複数の学習データを用いて学習モデルの学習処理を行う。
このような追加学習処理によって得られた学習モデルは、次回システムが起動した際にステップS101で読み込まれて利用されても構わないし、追加学習処理を行うたびにステップS108で幾何情報の推定に利用しても構わない。
このように本実施形態によれば、自動車1が実際に走行するシーンの撮像画像及び幾何情報を元に学習モデルの追加学習が行われる。そのため、学習モデルを生成するための画像のシーンの見え方(アピアランス)と、撮像部が撮像した入力画像に写るシーンの見え方と、が類似したものになる。その結果、自動車の自動運転などに適用する位置姿勢を高精度に算出することができる。
[第7の実施形態]
以上の各実施形態や各変形例において説明した構成はその一部若しくは全部を適宜組み合わせて使用しても構わない。また、以上の各実施形態や各変形例において説明した構成はその一部若しくは全部を選択的に使用しても構わない。また、以上説明したパラメータの種別や数値などは、具体的な説明を行うために使用した一例であり、適宜変更しても構わない。
例えば、上記の各実施形態では、運転制御部13は情報処理装置の外部機器としていたが、情報処理装置と一体化させても良い。これは、上記の撮像部、表示部、計測部、についても同様である。このように、情報処理装置と一体化させる機器については特定の例に限らない。
また例えば、第1の実施形態等では、保持部101が保持しているモデルデータに基づいて学習データを生成した。しかし、例えば、計測部21が計測した距離情報と、撮像部22による撮像画像と、のセットをそのまま(若しくは適宜処理して)学習データとして使用しても良い。
また例えば、第1の実施形態等では、学習データの生成を、視点に係るパラメータと環境に係るパラメータとではなく、視点に係るパラメータのみに基づき行っても良い。例えば、三次元計測部や撮像部を利用して得た実環境における距離データ(点群データ)と色情報との組み合わせをモデルデータとした場合や、三次元計測部や撮像部を利用して得たデプスマップと色情報とを有し且つ環境の位置姿勢に対応付いたキーフレーム情報をモデルデータとした場合は、学習データの生成に環境に係るパラメータが必要ではないことがある。
また例えば、第1の実施形態等では、学習データの生成を、視点に係るパラメータと環境に係るパラメータとではなく、環境に係るパラメータのみに基づき行っても良い。例えば、自動車1と自動車2とが同じ自動車であり、視点に係るパラメータが共通の場合、学習データの生成に視点に係るパラメータが必要ではないことがある。
また例えば、第1の実施形態等では、視点に係るパラメータと環境に係るパラメータとの例をそれぞれ複数挙げたが、学習データの生成にそれら全てが必要ではなく、少なくとも1つ以上あれば良い。(あるいは上述のとおり0であっても良い。)
[第8の実施形態]
図2、5、7、9、11、13に示した情報処理装置の各機能部はハードウェア(例えば組み込みハードウェア)で実装しても良いし、一部をソフトウェア(コンピュータプログラム)で実装しても良い。後者の場合、例えば、保持部として説明したものをメモリで実装し、それ以外の機能部をソフトウェアで実装するようにしても良い。この場合、該メモリを有し、且つ該ソフトウェアを実行可能なプロセッサを有するコンピュータ装置であれば、上記の各実施形態や各変形例にて説明した情報処理装置に適用可能である。このようなコンピュータ装置のハードウェア構成例について、図15のブロック図を用いて説明する。
CPU1501は、RAM1502やROM1503に格納されているコンピュータプログラムやデータを用いて各種の処理を実行する。これによりCPU1501は、コンピュータ装置全体の動作制御を行うと共に、上記の各情報処理装置が行うものとして上述した各処理を実行若しくは制御する。CPU1501は、例えば、上記の制御部199として機能する。
RAM1502は、ROM1503や外部記憶装置1505からロードされたコンピュータプログラムやデータ、I/F(インターフェース)1506を介して外部から受信したデータ、等を格納するためのエリアを有する。さらにRAM1502は、CPU1501が各種の処理を実行する際に用いるワークエリアを有する。このようにRAM1502は、各種のエリアを適宜提供することができる。ROM1503には、書換不要のコンピュータプログラムやデータが格納されている。
操作部1504は、キーボード、マウス、タッチパネル画面などのユーザインターフェースにより構成されており、ユーザが操作することで各種の指示をCPU1501に対して入力することができる。例えばユーザは、操作部1504を操作して図4のGUIに対する操作入力を行うことができる。
外部記憶装置1505は、ハードディスクドライブ装置に代表される大容量情報記憶装置である。外部記憶装置1505には、OS(オペレーティングシステム)や、上記の各情報処理装置が行うものとして上述した各種の処理をCPU1501に実行若しくは制御させるためのコンピュータプログラムやデータが保存されている。外部記憶装置1505に保存されているコンピュータプログラムには、図2、5、7、9、11、13に示した各機能部のうち保持部以外の各機能部の機能をCPU1501に実現させるためのコンピュータプログラムが含まれている。また、外部記憶装置1505に保存されているコンピュータプログラムには、図4のGUIに係るコンピュータプログラムも含まれている。また、外部記憶装置1505に保存されているデータには、上記の説明において既知の情報として説明したものや、保持部が保持するものとして説明したデータ、図4のGUIに係るデータ、が含まれている。外部記憶装置1505に保存されているコンピュータプログラムやデータは、CPU1501による制御に従って適宜RAM1502にロードされ、CPU1501による処理対象となる。
I/F1506は、外部とのデータ通信を行うためのユーザインターフェースとして機能するものであり、I/F1506には例えば、上記の撮像部、表示部、計測部、運転制御部、情報処理装置20、等が接続される。
上記のCPU1501、RAM1502、ROM1503、操作部1504、外部記憶装置1505、I/F1506、は何れも、バス1507に接続されている。なお、図15に示した構成は、上記の情報処理装置に適用可能な構成の一例に過ぎない。また、図15に示した構成は、情報処理装置20にも適用可能である。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
101:保持部 102:表示制御部 103:入力部 104:入力部 105:生成部 106:生成部 107:保持部 108:入力部 109:推定部 110:算出部 111:生成・更新部

Claims (22)

  1. 現実空間に対応する仮想空間における仮想視点の位置姿勢ごとの、該位置姿勢の仮想視点から見える該仮想空間の画像及び該位置姿勢の仮想視点から見える該仮想空間の幾何形状を示す幾何情報を学習データとして生成する生成手段と、
    前記学習データを用いて学習モデルに前記仮想空間の画像と前記幾何情報との対応関係を学習させる学習手段と、
    撮像装置により撮像された現実空間の撮像画像を前記学習モデルに入力することで該学習モデルから出力される幾何情報に基づいて、前記撮像装置の位置及び姿勢の少なくとも一方を算出する算出手段と
    を備えることを特徴とする情報処理装置。
  2. 前記生成手段は、前記仮想空間における視点に係るパラメータと、前記仮想空間の環境に係るパラメータと、の少なくともいずれか一方と、前記仮想空間の幾何形状を表すモデルデータと、を用いて前記画像及び前記幾何情報を生成することを特徴とする請求項1に記載の情報処理装置。
  3. 前記視点に係るパラメータは、前記視点の位置及び姿勢の少なくとも一方、前記視点の個数、前記視点の移動速度、前記視点の焦点距離、主点、露光時間、フォーカス位置、のうち少なくともいずれか1つを含むことを特徴とする請求項2に記載の情報処理装置。
  4. 前記環境に係るパラメータは、前記仮想空間における照明条件を規定するパラメータ、前記仮想空間中に配置するモデルの種類、数、位置、姿勢、大きさ、のうち少なくともいずれか1つを含むことを特徴とする請求項2又は3に記載の情報処理装置。
  5. 更に、
    前記視点に係るパラメータと、前記環境に係るパラメータと、を設定する手段を備えることを特徴とする請求項2乃至4の何れか1項に記載の情報処理装置。
  6. 前記モデルデータは、前記現実空間を三次元計測することで得られる情報に基づいて前記情報処理装置とは別個の装置が生成したデータであることを特徴とする請求項2乃至5の何れか1項に記載の情報処理装置。
  7. 更に、
    前記撮像画像と、該撮像画像を前記学習モデルに入力することで該学習モデルから出力される幾何情報と、に基づいて前記モデルデータを更新する手段を備えることを特徴とする請求項2乃至6の何れか1項に記載の情報処理装置。
  8. 前記学習手段は、前記撮像画像と、該撮像画像を前記学習モデルに入力することで該学習モデルから出力される幾何情報と、に基づいて、前記学習モデルの追加学習を行うことを特徴とする請求項1乃至7の何れか1項に記載の情報処理装置。
  9. 前記生成手段は、規定の状況ごとに前記学習データを生成し、
    前記学習手段は、規定の状況ごとに、該状況について前記生成手段が生成した学習データを用いて学習モデルの学習処理を行い、
    前記算出手段は、規定の状況ごとに前記学習手段が生成した学習モデルのうち、測定した状況に対応する学習モデルを選択し、該選択した学習モデルに前記撮像画像を入力することで該学習モデルから出力される幾何情報に基づいて、前記撮像装置の位置及び姿勢の少なくとも一方を算出することを特徴とする請求項1乃至8の何れか1項に記載の情報処理装置。
  10. 前記生成手段は、規定の状況ごとに前記学習データを生成し、
    前記学習手段は、前記学習データと、該学習データに対応する状況と、を用いて学習モデルの学習処理を行い、
    前記算出手段は、前記学習モデルに前記撮像画像及び測定した状況を入力することで該学習モデルから出力される幾何情報に基づいて、前記撮像装置の位置及び姿勢の少なくとも一方を算出することを特徴とする請求項1乃至8の何れか1項に記載の情報処理装置。
  11. 前記幾何情報は前記仮想空間のデプスマップであることを特徴とする請求項1乃至10の何れか1項に記載の情報処理装置。
  12. 前記生成手段は、前記仮想空間の画像及び該仮想空間の幾何情報を所定の範囲内にある縮尺で生成することを特徴とする請求項1乃至11の何れか1項に記載の情報処理装置。
  13. 前記撮像画像と前記学習モデルから出力される前記幾何情報とは所定の範囲内にある縮尺であることを特徴とする請求項1乃至12の何れか1項に記載の情報処理装置。
  14. 現実空間に対応する仮想空間の画像及び該仮想空間の幾何情報を学習データとして生成する生成手段と、
    前記学習データを用いて学習モデルの学習処理を行う学習手段と、
    撮像装置により撮像された現実空間の撮像画像を前記学習モデルに入力することで該学習モデルから出力される幾何情報に基づいて、前記撮像装置の位置及び姿勢の少なくとも一方を算出する算出手段と
    前記撮像画像と、前記幾何情報と、前記撮像装置の位置及び姿勢の少なくとも一方と、に基づいて前記現実空間の三次元マップの生成・更新を行う手段
    を備え、
    前記算出手段は、前記幾何情報と、前記三次元マップと、に基づいて、前記撮像装置の位置及び姿勢の少なくとも一方を算出する
    ことを特徴とする情報処理装置。
  15. 前記算出手段は、前記撮像装置の位置及び姿勢の少なくとも一方に基づいて前記情報処理装置を搭載している車両の位置及び姿勢の少なくとも一方を算出することを特徴とする請求項1乃至14の何れか1項に記載の情報処理装置。
  16. 請求項15に記載の情報処理装置と、
    前記算出手段が算出した前記車両の位置及び姿勢の少なくとも一方と、前記幾何情報と、に基づいて前記車両の運転制御を行う制御手段と
    を備えることを特徴とするシステム。
  17. 前記システムは、前記撮像装置を有することを特徴とする請求項16に記載のシステム。
  18. 前記システムは、表示装置を有することを特徴とする請求項16又は17に記載のシステム。
  19. 前記制御手段は、
    前記算出手段が算出した前記車両の位置及び姿勢の少なくとも一方と、前記幾何情報と、に基づいて、前記運転制御のための情報を生成する手段と、
    前記運転制御のための情報に基づいて前記車両の運転制御を行うアクチュエータ部と
    を備えることを特徴とする請求項16乃至18の何れか1項に記載のシステム。
  20. 情報処理装置が行う情報処理方法であって、
    前記情報処理装置の生成手段が、現実空間に対応する仮想空間における仮想視点の位置姿勢ごとの、該位置姿勢の仮想視点から見える該仮想空間の画像及び該位置姿勢の仮想視点から見える該仮想空間の幾何形状を示す幾何情報を学習データとして生成する生成工程と、
    前記情報処理装置の学習手段が、前記学習データを用いて学習モデルに前記仮想空間の画像と前記幾何情報との対応関係を学習させる学習工程と、
    前記情報処理装置の算出手段が、撮像装置により撮像された現実空間の撮像画像を前記学習モデルに入力することで該学習モデルから出力される幾何情報に基づいて、前記撮像装置の位置及び姿勢の少なくとも一方を算出する算出工程と
    を備えることを特徴とする情報処理方法。
  21. 情報処理装置が行う情報処理方法であって、
    前記情報処理装置の生成手段が、現実空間に対応する仮想空間の画像及び該仮想空間の幾何情報を学習データとして生成する生成工程と、
    前記情報処理装置の学習手段が、前記学習データを用いて学習モデルの学習処理を行う学習工程と、
    前記情報処理装置の算出手段が、撮像装置により撮像された現実空間の撮像画像を前記学習モデルに入力することで該学習モデルから出力される幾何情報に基づいて、前記撮像装置の位置及び姿勢の少なくとも一方を算出する算出工程と、
    前記情報処理装置の更新手段が、前記撮像画像と、前記幾何情報と、前記撮像装置の位置及び姿勢の少なくとも一方と、に基づいて前記現実空間の三次元マップの生成・更新を行う更新工程と
    を備え、
    前記算出工程では、前記幾何情報と、前記三次元マップと、に基づいて、前記撮像装置の位置及び姿勢の少なくとも一方を算出する
    ことを特徴とする情報処理方法。
  22. コンピュータを、請求項1乃至15の何れか1項に記載の情報処理装置の各手段として機能させるためのコンピュータプログラム。
JP2018004468A 2018-01-15 2018-01-15 情報処理装置、システム、情報処理方法 Active JP7133926B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018004468A JP7133926B2 (ja) 2018-01-15 2018-01-15 情報処理装置、システム、情報処理方法
US16/244,312 US11657319B2 (en) 2018-01-15 2019-01-10 Information processing apparatus, system, information processing method, and non-transitory computer-readable storage medium for obtaining position and/or orientation information
CN201910037242.0A CN110060297B (zh) 2018-01-15 2019-01-15 信息处理装置、系统、信息处理方法和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018004468A JP7133926B2 (ja) 2018-01-15 2018-01-15 情報処理装置、システム、情報処理方法

Publications (3)

Publication Number Publication Date
JP2019124538A JP2019124538A (ja) 2019-07-25
JP2019124538A5 JP2019124538A5 (ja) 2021-02-04
JP7133926B2 true JP7133926B2 (ja) 2022-09-09

Family

ID=67214008

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018004468A Active JP7133926B2 (ja) 2018-01-15 2018-01-15 情報処理装置、システム、情報処理方法

Country Status (3)

Country Link
US (1) US11657319B2 (ja)
JP (1) JP7133926B2 (ja)
CN (1) CN110060297B (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11170224B2 (en) * 2018-05-25 2021-11-09 Vangogh Imaging, Inc. Keyframe-based object scanning and tracking
DE102020111318A1 (de) * 2019-04-30 2020-11-05 Apple Inc. Lokalisieren von inhalten in einer umgebung
CN111859199A (zh) 2019-04-30 2020-10-30 苹果公司 在环境中定位内容
JP7463686B2 (ja) * 2019-10-24 2024-04-09 株式会社Jvcケンウッド 画像記録装置、画像記録方法及び画像記録プログラム
EP4073690A4 (en) * 2019-12-12 2023-06-07 Guangdong Oppo Mobile Telecommunications Corp., Ltd. TARGET DETECTION METHOD, TERMINAL, AND MEDIUM
SG10201913873QA (en) * 2019-12-30 2021-07-29 Singpilot Pte Ltd Sequential Mapping And Localization (SMAL) For Navigation
JP7337458B2 (ja) * 2020-01-28 2023-09-04 アルパイン株式会社 3次元位置推定装置および3次元位置推定方法
JP6846765B1 (ja) * 2020-03-26 2021-03-24 株式会社 情報システムエンジニアリング 情報処理プログラム
JP7136849B2 (ja) * 2020-07-13 2022-09-13 三菱ロジスネクスト株式会社 学習用データの生成方法、人検知モデルの学習方法、及び学習用データの生成装置
JP7427556B2 (ja) 2020-07-27 2024-02-05 株式会社東芝 運転制御装置、運転制御方法及びプログラム
WO2023149174A1 (ja) * 2022-02-02 2023-08-10 ソニーグループ株式会社 情報処理装置、情報処理方法及びプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002083297A (ja) 2000-06-28 2002-03-22 Matsushita Electric Ind Co Ltd 物体認識方法および物体認識装置
JP2011198349A (ja) 2010-02-25 2011-10-06 Canon Inc 情報処理方法及びその装置
JP2011248445A (ja) 2010-05-24 2011-12-08 Toyota Central R&D Labs Inc 可動物予測装置及びプログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005024716B4 (de) * 2005-05-30 2023-09-21 Robert Bosch Gmbh Verfahren und Vorrichtung zur Erkennung und Klassifizierung von Objekten
US8812226B2 (en) * 2009-01-26 2014-08-19 GM Global Technology Operations LLC Multiobject fusion module for collision preparation system
US9279661B2 (en) 2011-07-08 2016-03-08 Canon Kabushiki Kaisha Information processing apparatus and information processing method
US9437005B2 (en) 2011-07-08 2016-09-06 Canon Kabushiki Kaisha Information processing apparatus and information processing method
US8195394B1 (en) * 2011-07-13 2012-06-05 Google Inc. Object detection and classification for autonomous vehicles
JP6004809B2 (ja) 2012-03-13 2016-10-12 キヤノン株式会社 位置姿勢推定装置、情報処理装置、情報処理方法
CN104321665B (zh) * 2012-03-26 2017-02-22 罗伯特·博世有限公司 基于多表面模型的跟踪
US9097800B1 (en) * 2012-10-11 2015-08-04 Google Inc. Solid object detection system using laser and radar sensor fusion
US9563199B1 (en) * 2013-11-27 2017-02-07 Google Inc. Assisted perception for autonomous vehicles
AU2014240213B2 (en) * 2014-09-30 2016-12-08 Canon Kabushiki Kaisha System and Method for object re-identification
JP6676294B2 (ja) 2015-06-30 2020-04-08 キヤノン株式会社 情報処理装置、情報処理方法、プログラム
US9720415B2 (en) * 2015-11-04 2017-08-01 Zoox, Inc. Sensor-based object-detection optimization for autonomous vehicles
US10353053B2 (en) * 2016-04-22 2019-07-16 Huawei Technologies Co., Ltd. Object detection using radar and machine learning
JP6987508B2 (ja) * 2017-02-20 2022-01-05 オムロン株式会社 形状推定装置及び方法
US11521009B2 (en) * 2018-09-04 2022-12-06 Luminar, Llc Automatically generating training data for a lidar using simulated vehicles in virtual space

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002083297A (ja) 2000-06-28 2002-03-22 Matsushita Electric Ind Co Ltd 物体認識方法および物体認識装置
JP2011198349A (ja) 2010-02-25 2011-10-06 Canon Inc 情報処理方法及びその装置
JP2011248445A (ja) 2010-05-24 2011-12-08 Toyota Central R&D Labs Inc 可動物予測装置及びプログラム

Also Published As

Publication number Publication date
JP2019124538A (ja) 2019-07-25
CN110060297B (zh) 2023-04-25
CN110060297A (zh) 2019-07-26
US11657319B2 (en) 2023-05-23
US20190220775A1 (en) 2019-07-18

Similar Documents

Publication Publication Date Title
JP7133926B2 (ja) 情報処理装置、システム、情報処理方法
JP7204326B2 (ja) 情報処理装置及びその制御方法及びプログラム、並びに、車両の運転支援システム
JP7011472B2 (ja) 情報処理装置、情報処理方法
CN110758243A (zh) 一种车辆行驶过程中的周围环境显示方法和系统
US11887336B2 (en) Method for estimating a relative position of an object in the surroundings of a vehicle and electronic control unit for a vehicle and vehicle
KR20200071293A (ko) 3차원 컬러 맵 기반의 측위 방법 및 장치
CN110969064B (zh) 一种基于单目视觉的图像检测方法、装置及存储设备
US11748998B1 (en) Three-dimensional object estimation using two-dimensional annotations
CN111627054A (zh) 用于预测高置信度密集点云的深度补全误差地图的方法和装置
WO2023185354A1 (zh) 实景导航方法、装置、设备及存储介质、程序产品
US11756317B2 (en) Methods and systems for labeling lidar point cloud data
CN114765972A (zh) 用于示出车辆的周围环境模型的显示方法、计算机程序、控制器和车辆
JP4466963B2 (ja) 車両前方画像表示装置及び方法
JP2023146041A (ja) 機械学習システム
CN114463713A (zh) 一种车辆在3d空间的信息检测方法、装置及电子设备
JP7337617B2 (ja) 推定装置、推定方法及びプログラム
CN114648743A (zh) 三维交通标志检测
CN112389459B (zh) 基于全景环视的人机交互方法及装置
EP3809363B1 (en) Method and device for providing a surround view image, and vehicle
WO2020223868A1 (zh) 地面信息处理方法、装置和无人驾驶车辆
US11645364B2 (en) Systems and methods for object detection using stereovision information
US11681047B2 (en) Ground surface imaging combining LiDAR and camera data
CN113544742A (zh) 泊车辅助系统
CN116608874A (zh) 基于定位匹配的地图构建方法、系统、存储介质及设备
CN117727011A (zh) 基于图像融合的目标识别方法、装置、设备及存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201216

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201216

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20210103

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220307

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220801

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220830

R151 Written notification of patent or utility model registration

Ref document number: 7133926

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151