【文献】
Jure zbontar, 外1名,"Computing the stereo matching cost with a convolutional neural network",2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR),米国,2015年 6月 7日,p.1592-1599
(58)【調査した分野】(Int.Cl.,DB名)
前記前段抽出部は、前記複数の前段第1撮像画像出力及び前記複数の前段第2撮像画像出力のうち、活性化している大きさに基づいて、前記一以上の前段第1撮像画像出力及び前記一以上の前段第2撮像画像出力を抽出する、
請求項2に記載の空間情報生成装置。
前記抽出部は、前記複数の処理層のうち、最後尾の処理層である最後尾層を後段処理層として選択した場合において、前記最後尾層において共通に活性化している前記一以上の第1撮像画像出力及び前記一以上の第2撮像画像出力がない場合、前記最後尾層より前の処理層において共通に活性化している前記一以上の第1撮像画像出力及び前記一以上の第2撮像画像出力を抽出する、
請求項1又は5に記載の空間情報生成装置。
前記特徴点検出部が特定した前記一以上の第1撮像画像特徴点及び前記一以上の第2撮像画像特徴点から、相互の対応関係に基づいて一部の第1撮像画像特徴点及び一部の第2撮像画像特徴点を選択する選択部をさらに有し、
前記空間情報生成部は、前記一部の第1撮像画像特徴点と前記一部の第2撮像画像特徴点とに基づいて、前記空間情報を生成する、
請求項1から6のいずれか一項に記載の空間情報生成装置。
前記空間情報生成部は、前記第1撮像画像における前記一部の第1撮像画像特徴点の位置と、前記第2撮像画像における前記一部の第2撮像画像特徴点の位置との関係、並びに前記第1撮像装置及び前記第2撮像装置の視差に基づいて、前記空間情報として被写体との距離を推定する、
請求項7に記載の空間情報生成装置。
前記抽出部は、前記複数の処理層のうち一つの層を前記後段処理層として選択して前記一以上の第1撮像画像出力及び前記一以上の第2撮像画像出力を抽出した後に、前記前段処理層として選択した処理層を前記後段処理層として選択して、別の前記一以上の第1撮像画像出力及び前記一以上の第2撮像画像出力を抽出する、
請求項1から9のいずれか一項に記載の空間情報生成装置。
前記前段抽出ステップを実行した後に、前記一以上の前段第1撮像画像出力及び前記一以上の前段第2撮像画像出力を、前記複数の後段第1撮像画像出力及び前記複数の後段第2撮像画像出力として、前記後段抽出ステップを実行する、
請求項12に記載の空間情報生成方法。
【発明の概要】
【発明が解決しようとする課題】
【0004】
複数のカメラで撮影した動画像に基づき、任意の位置から見た映像を再現する自由視点映像システムを実現するためには、各画像に表されている被写体の位置を示す情報、すなわち、3次元モデル情報を可能な限り正確に生成することが必要である。従来の技術を用いることで、複数の画像に基づいて、当該画像に写っている被写体の表面位置を推定することができる。しかし、複数の画像間で異なる被写体を同一の被写体であるとして抽出する可能性がある。この場合、正確な3次元モデル情報を生成することができない。
【0005】
そこで、本発明はこれらの点に鑑みてなされたものであり、3次元空間における被写体の表面位置を推定する精度を向上させることができる空間情報生成装置及び空間情報生成方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の第1の態様に係る空間情報生成装置は、第1撮像装置で生成された第1撮像画像と、前記第1撮像装置とは異なる位置に設置された第2撮像装置で生成された第2撮像画像と、を取得する画像取得部と、前記第1撮像画像及び前記第2撮像画像のそれぞれに、入力された画像に基づいて当該画像に含まれる被写体の種別を出力可能な機械学習モデルに含まれる複数の処理層を伝搬させる伝搬制御部と、前記複数の処理層から選択した後段処理層、及び前記後段処理層の直前の処理層である前段処理層の両方の処理層において共通に活性化している、前記第1撮像画像に基づいて前記後段処理層及び前記前段処理層から出力された一以上の第1撮像画像出力と前記第2撮像画像に基づいて前記後段処理層及び前記前段処理層から出力された一以上の第2撮像画像出力とを抽出する抽出部と、前記一以上の第1撮像画像出力に基づいて一以上の第1撮像画像特徴点を検出し、かつ前記一以上の第2撮像画像出力に基づいて一以上の第2撮像画像特徴点を検出する特徴点検出部と、前記一以上の第1撮像画像特徴点と前記一以上の第2撮像画像特徴点とに基づいて、3次元空間における前記被写体の表面位置を示す空間情報を生成する空間情報生成部と、を有する。
【0007】
前記抽出部は、前記第1撮像画像が前記複数の処理層の一部である前段処理層及び後段処理層の順に伝搬したことにより前記後段処理層から出力された複数の後段第1撮像画像出力、及び前記第2撮像画像が前段処理層及び後段処理層の順に伝搬したことにより前記後段処理層から出力された複数の後段第2撮像画像出力から、共通に活性化している一以上の後段第1撮像画像出力及び一以上の後段第2撮像画像出力を抽出する後段抽出部と、前記一以上の後段第1撮像画像出力及び前記一以上の後段第2撮像画像出力を活性化させる要因となった前記前段処理層から出力された複数の前段第1撮像画像出力、及び前記前段処理層から出力された複数の前段第2撮像画像出力のうち、共通に活性化している一以上の前段第1撮像画像出力及び一以上の前段第2撮像画像出力を抽出する前段抽出部と、を有してもよい。
【0008】
前記前段抽出部は、前記複数の前段第1撮像画像出力及び前記複数の前段第2撮像画像出力のうち、活性化している大きさに基づいて、前記一以上の前段第1撮像画像出力及び前記一以上の前段第2撮像画像出力を抽出してもよい。
【0009】
前記機械学習モデルは、畳み込みニューラルネットワークを含み、前記後段処理層は、出力層、全結合層、正規化層、プーリング層、及び畳み込み層のうちのいずれかの層であってもよい。
前記前段処理層は、全結合層、正規化層、プーリング層、畳み込み層及び入力層のうちのいずれかの層であってもよい。
【0010】
前記抽出部は、前記複数の処理層のうち、最後尾の処理層である最後尾層を後段処理層として選択した場合において、前記最後尾層において共通に活性化している前記一以上の第1撮像画像出力及び前記一以上の第2撮像画像出力がない場合、前記最後尾層より前の処理層において共通に活性化している前記一以上の第1撮像画像出力及び前記一以上の第2撮像画像出力を抽出してもよい。
【0011】
前記空間情報生成装置は、前記特徴点検出部が特定した前記一以上の第1撮像画像特徴点及び前記一以上の第2撮像画像特徴点から、相互の対応関係に基づいて一部の第1撮像画像特徴点及び一部の第2撮像画像特徴点を選択する選択部をさらに有し、前記空間情報生成部は、前記一部の第1撮像画像特徴点と前記一部の第2撮像画像特徴点とに基づいて、前記空間情報を生成してもよい。
【0012】
前記空間情報生成部は、前記第1撮像画像における前記一部の第1撮像画像特徴点の位置と、前記第2撮像画像における前記一部の第2撮像画像特徴点の位置との関係、並びに前記第1撮像装置及び前記第2撮像装置の視差に基づいて、前記空間情報として被写体との距離を推定してもよい。
【0013】
前記空間情報生成装置は、前記複数の処理層のうち、前記後段処理層として用いる処理層を選択する指示を受け付ける指示受付部をさらに有し、前記抽出部は、前記指示受付部が受け付けた前記指示が示す前記処理層を、前記後段処理層として使用してもよい。
【0014】
前記抽出部は、前記複数の処理層のうち一つの層を前記後段処理層として選択して前記一以上の第1撮像画像出力及び前記一以上の第2撮像画像出力を抽出した後に、前記前段処理層として選択した処理層を前記後段処理層として選択して、別の前記一以上の第1撮像画像出力及び前記一以上の第2撮像画像出力を抽出してもよい。
【0015】
本発明の第2の態様に係る空間情報生成方法は、第1撮像装置で生成された第1撮像画像と、前記第1撮像装置とは異なる位置に設置された第2撮像装置で生成された第2撮像画像と、を取得するステップと、前記第1撮像画像及び前記第2撮像画像のそれぞれに、入力された画像に基づいて当該画像に含まれる被写体の種別を出力可能な機械学習モデルに含まれる複数の処理層を伝搬させるステップと、前記複数の処理層から選択した後段処理層、及び前記後段処理層の直前の処理層である前段処理層の両方の処理層において共通に活性化している、前記第1撮像画像に基づいて前記後段処理層及び前記前段処理層から出力された一以上の第1撮像画像出力と前記第2撮像画像に基づいて前記後段処理層及び前記前段処理層から出力された一以上の第2撮像画像出力とを抽出するステップと、前記一以上の第1撮像画像出力に基づいて一以上の第1撮像画像特徴点を検出し、かつ前記一以上の第2撮像画像出力に基づいて一以上の第2撮像画像特徴点を検出するステップと、前記一以上の第1撮像画像特徴点と前記一以上の第2撮像画像特徴点とに基づいて、3次元空間における前記被写体の表面位置を示す空間情報を生成するステップと、を有する。
【0016】
前記抽出するステップは、前記第1撮像画像が前記複数の処理層の一部である前段処理層及び後段処理層の順に伝搬したことにより前記後段処理層から出力された複数の後段第1撮像画像出力、及び前記第2撮像画像が前段処理層及び後段処理層の順に伝搬したことにより前記後段処理層から出力された複数の後段第2撮像画像出力から、共通に活性化している一以上の後段第1撮像画像出力及び一以上の後段第2撮像画像出力を抽出する前段抽出ステップと、前記一以上の後段第1撮像画像出力及び前記一以上の後段第2撮像画像出力を活性化させる要因となった前記前段処理層から出力された複数の前段第1撮像画像出力、及び前記前段処理層から出力された複数の前段第2撮像画像出力のうち、共通に活性化している一以上の前段第1撮像画像出力及び一以上の前段第2撮像画像出力を抽出する後段抽出ステップと、を有してもよい。
【0017】
前記空間情報生成方法は、前記前段抽出ステップを実行した後に、前記一以上の前段第1撮像画像出力及び前記一以上の前段第2撮像画像出力を、前記複数の後段第1撮像画像出力及び前記複数の後段第2撮像画像出力として、前記後段抽出ステップを実行してもよい。
【0018】
前記空間情報生成方法は、前記複数の処理層のそれぞれに対して、前記後段抽出ステップ及び前記前段抽出ステップを実行してもよい。
【発明の効果】
【0019】
本発明によれば、3次元空間における被写体の表面位置を推定する精度を向上させることができるという効果を奏する。
【発明を実施するための形態】
【0021】
[空間情報生成装置1の概要]
図1は、空間情報を生成する処理の概要を説明するための図である。空間情報生成装置1は、例えばPC(Personal Computer)である。空間情報生成装置1は、それぞれ異なる位置に設置された複数の撮像装置によって生成された複数の画像に基づいて、機械学習モデルMを用いて3次元空間における当該画像に写っている被写体の表面位置を示す空間情報を生成する装置である。本明細書において、撮像装置の撮像パラメータ(例えば、撮像した位置及び撮像装置の向き等)は、既知であるとする。画像は、静止画像又は動画像である。空間情報生成装置1は、画像が動画像である場合、動画像に含まれるフレームごとに空間情報を生成する。
【0022】
空間情報生成装置1は、第1撮像装置で生成された第1撮像画像Aを取得する(
図1の(1))。第1撮像装置は、例えば、車両の前方に備える複数の撮像装置のうち、右側に設置されたカメラである。
図1に例示した第1撮像画像Aには、前方を走行しているトラックT1及び道路を横断している歩行者T2が写っている。
【0023】
続いて、空間情報生成装置1は、第1撮像装置とは異なる位置に設置された第2撮像装置で生成された第2撮像画像Bを取得する(
図1の(2))。第2撮像装置は、例えば、車両の前方に備える複数の撮像装置のうち、左側に設置されたカメラである。
図1に示した第2撮像画像Bには、第1撮像画像Aと同様に、トラックT1及び歩行者T2が写っている。
【0024】
空間情報生成装置1は、取得した第1撮像画像A及び第2撮像画像Bそれぞれを機械学習モデルMに入力し、当該機械学習モデルMに含まれる複数の処理層を伝搬させる(
図1の(3))。機械学習モデルMは、入力された画像に基づいて当該画像に含まれる被写体の種別を出力するように学習されたモデルである。
【0025】
図2は、機械学習モデルMの構成の一例を示す図である。機械学習モデルMは、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)を含む。この場合において、機械学習モデルMは、入力層M1、第1の畳み込み層M2、第2の畳み込み層M3、第1のプーリング層M4、正規化層M5、第3の畳み込み層M6、第2のプーリング層M7、第1の全結合層M8、第2の全結合層M9、及び出力層M10を有する。本明細書においては、隣接する2つの処理層のうち、第1撮像画像A及び第2撮像画像Bが伝搬する際の上流側の処理層を前段処理層と称し、下流側の処理層を後段処理層と称する。
【0026】
後段処理層となり得る処理層は、第1の畳み込み層M2、第2の畳み込み層M3、第1のプーリング層M4、正規化層M5、第3の畳み込み層M6、第2のプーリング層M7、第1の全結合層M8、第2の全結合層M9、及び出力層M10のうちのいずれかの層である。また、前段処理層となり得る処理層は、入力層M1、第1の畳み込み層M2、第2の畳み込み層M3、第1のプーリング層M4、正規化層M5、第3の畳み込み層M6、第2のプーリング層M7、第1の全結合層M8、及び第2の全結合層M9のうちのいずれかの層である。空間情報生成装置1は、取得した画像を機械学習モデルMに入力し、入力層M1から出力層M10までの各処理層を順伝搬させる、すなわち、推論させることにより、画像に写っている被写体の種別を出力させる。
【0027】
図1に戻り、空間情報生成装置1は、機械学習モデルMが被写体の種別を出力するに至った各処理層における計算結果、すなわち、深層学習による抽象度の高い特徴量を用いて、第1撮像画像A及び第2撮像画像Bに共通する特徴点を検出する(
図1の(4))。ここで、空間情報生成装置1は、共通する特徴点の検出を、伝搬させた順序とは逆の順序で行う。このようにすることで、空間情報生成装置1は、抽象度が高い特徴量に基づく特徴点を検出することができる。
【0028】
空間情報生成装置1は、共通する特徴点を検出することにより、第1撮像画像Aに写っているトラックT1及び歩行者T2と、第2撮像画像Bに写っているトラックT1及び歩行者T2とにそれぞれ対応関係があることを検出する。対応関係は、第1撮像画像の特徴点が示す第1撮像画像に含まれる画素と、第2撮像画像Bの特徴点が示す第2撮像画像に含まれる画素とが一致又は近似した関係である。
【0029】
そして、空間情報生成装置1は、検出した対応関係にある第1撮像画像A及び第2撮像画像Bそれぞれの特徴点に基づいて、3次元空間におけるトラックT1及び歩行者T2の表面位置を示す空間情報を生成する(
図1の(5))。このようにすることで、空間情報生成装置1は、3次元空間における被写体の表面位置を推定する精度を向上させることができる。
以下、空間情報生成装置1の詳細について説明する。
【0030】
[空間情報生成装置1の構成]
図3は、空間情報生成装置1の構成を示す図である。空間情報生成装置1は、操作部11、記憶部12、及び制御部13を有する。
【0031】
操作部11は、ユーザの操作を受け付ける入力デバイスである。
記憶部12は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)及びハードディスク等の記憶媒体である。記憶部12は、制御部13が実行する各種のプログラムを記憶する。記憶部12は、第1撮像画像及び第2撮像画像を記憶する。
【0032】
制御部13は、例えばCPU(Central Processing Unit)である。制御部13は、記憶部12に記憶されているプログラムを実行することにより、空間情報生成装置1に係る機能を制御する。制御部13は、プログラムを実行することにより、画像取得部131、伝搬制御部132、抽出部133、指示受付部136、特徴点検出部137、選択部138、及び空間情報生成部139として機能する。
【0033】
画像取得部131は、記憶部12に記憶されている第1撮像画像と第2撮像画像とを取得する。画像取得部131は、取得した第1撮像画像と第2撮像画像とを、伝搬制御部132に入力する。
【0034】
伝搬制御部132は、第1撮像画像及び第2撮像画像のそれぞれに、機械学習モデルMに含まれる複数の処理層を伝搬させる。
図2に示す例において、伝搬制御部132は、第1撮像画像及び第2撮像画像のそれぞれに、機械学習モデルMに含まれる入力層M1から出力層M10までの各処理層を、順に伝搬させる。
【0035】
抽出部133は、複数の処理層から選択した後段処理層、及び後段処理層の直前の処理層である前段処理層の両方の処理層において共通に活性化している、第1撮像画像に基づいて後段処理層及び前段処理層から出力された一以上の第1撮像画像出力と第2撮像画像に基づいて後段処理層及び前段処理層から出力された一以上の第2撮像画像出力とを抽出する。抽出部133が行う抽出処理の詳細については後述するが、抽出部133は、後段処理層で共通に活性化している第1撮像画像出力の一部である後段第1撮像画像出力及び第2撮像画像出力の一部である後段第2撮像画像出力を抽出する後段抽出部134と、前段処理層で共通に活性化している第1撮像画像出力の一部である前段第1撮像画像出力及び第2撮像画像出力の一部である前段第2撮像画像出力を抽出する前段抽出部135とを有する。
【0036】
抽出部133が抽出する第1撮像画像出力及び第2撮像画像出力は、処理層に含まれる複数のユニットのうち、活性化しているユニットを示す情報である。ユニットは、画像に含まれる一以上の画素である。活性化の定義は、例えば、ユニットの出力値又はユニットの出力値と当該ユニットの結合の重みとの積が、所定の閾値を超えた場合でもよいし、出力の大きい順に所定の個数又は所定の割合に含まれた場合であってもよい。また、全結合層以外の処理層においては、例えば、チャンネルごとに出力の大きい順に所定の個数又は所定の割合に含まれた場合であってもよい。チャンネルは、フィルタ毎に畳み込み演算した出力である。
【0037】
抽出部133は、複数の処理層のうち、最後尾の処理層である最後尾層を後段処理層として選択することが好ましい。しかし、最後尾層において共通に活性化している第1撮像画像出力及び第2撮像画像出力がない場合がある。そこで、抽出部133は、複数の処理層のうち、最後尾層を後段処理層として選択した場合において、最後尾層において共通に活性化している一以上の第1撮像画像出力及び一以上の第2撮像画像出力がない場合、最後尾層より前の処理層において共通に活性化している一以上の第1撮像画像出力及び一以上の第2撮像画像出力を抽出してもよい。
【0038】
例えば、抽出部133が、最後尾層である出力層M10を後段処理層として選択した場合において、出力層M10において共通に活性化している一以上の第1撮像画像出力及び一以上の第2撮像画像出力がないとする。この場合において、抽出部133は、出力層M10より前の各処理層に対して、共通に活性化している一以上の第1撮像画像出力及び一以上の第2撮像画像出力を繰り返し探索する。
【0039】
抽出部133は、例えば、出力層M10の直前の処理層である第2の全結合層M9において共通に活性化している一以上の第1撮像画像出力及び一以上の第2撮像画像出力があった場合、第2の全結合層M9を後段処理層として選択する。そして、抽出部133は、後段処理層として選択した第2の全結合層M9において共通に活性化している一以上の第1撮像画像出力及び一以上の第2撮像画像出力を抽出する。このようにすることで、抽出部133は、第1撮像画像と第2撮像画像とで一致する領域が少ない場合であっても、それぞれに写る被写体を対応付けることができる。
【0040】
抽出部133は、ユーザによって指定された処理層を後段処理層として選択してもよい。具体的には、指示受付部136が、操作部11を介して、複数の処理層のうち、後段処理層として用いる処理層を選択する指示を受け付ける。そして、抽出部133は、指示受付部136が受け付けた指示が示す処理層を、後段処理層として使用する。抽出部133は、
図2に示す例において、ユーザが第2の全結合層M9を選択した場合に、指示受付部136が受け付けた指示が示す第2の全結合層M9を、後段処理層として使用する。抽出部133は、抽出した第1撮像画像出力と第2撮像画像出力とを特徴点検出部137に入力する。
【0041】
特徴点検出部137は、一以上の第1撮像画像出力に基づいて一以上の第1撮像画像特徴点を検出し、かつ一以上の第2撮像画像出力に基づいて一以上の第2撮像画像特徴点を検出する。具体的には、特徴点検出部137は、まず、一以上の第1撮像画像出力及び一以上の第2撮像画像出力に基づいて、対応する特徴点を探索する。そして、特徴点検出部137は、対応関係にある一以上の第1撮像画像出力に基づく一以上の第1撮像画像特徴点と、一以上の第2撮像画像出力に基づく一以上の第2撮像画像特徴点とを検出する。特徴点検出部137は、検出した第1撮像画像特徴点及び第2撮像画像特徴点を選択部138に入力する。
【0042】
選択部138は、特徴点検出部137が特定した一以上の第1撮像画像特徴点及び一以上の第2撮像画像特徴点から、相互の対応関係に基づいて一部の第1撮像画像特徴点及び一部の第2撮像画像特徴点を選択する。具体的には、選択部138は、誤検出した対応関係を除去し、除去した後の対応関係に基づく一以上の第1撮像画像特徴点及び一以上の第2撮像画像特徴点を選択する。対応関係の誤検出は、第1撮像画像特徴点及び第2撮像画像特徴点の対応関係に矛盾が生じている状態である。対応関係の誤検出は、例えば、被写体の表面位置を推定するために算出される被写体との距離、すなわち、奥行き値が負数になって正常な範囲に入らない場合、又は3つ以上の撮像画像に基づいて空間情報を生成する場合において、撮像画像の組み合わせによって同じ特徴点の奥行き値が著しく異なる場合等である。選択部138は、例えば、RANSAC(Random Sampling Consensus)法又は最小2乗メディアン(LMedS:Least Median of Square)法に基づいて絞り込みを行うことにより対応関係を除去する。
【0043】
また、選択部138は、撮像装置の撮像パラメータに基づいて算出することができる多焦点テンソルが有する多重線形拘束を用いて、対応関係を除去してもよい。選択部138は、例えば、2つの撮像画像に基づいて空間情報を生成する場合、2つの撮像画像に対して、2重線形拘束を満たさない対応関係を除去する。また、選択部138は、例えば、3つの撮像画像に基づいて空間情報を生成する場合、3つの撮像画像に対して、3重線形拘束を満たさない対応関係を除去する。また、選択部138は、例えば、4つの撮像画像に基づいて空間情報を生成する場合、4つの撮像画像に対して、4重線形拘束を満たさない対応関係を除去する。
【0044】
また、選択部138は、多焦点テンソルに基づいて、抽出部133が行う抽出処理で抽出された撮像画像出力の絞り込みを行ってもよい。具体的には、選択部138は、まず、抽出部133によって抽出された撮像画像出力に基づいて、当該撮像画像出力が抽出された処理層から逆畳み込みを行い、当該撮像画像出力に対応する撮像画像の領域を特定する。そして、選択部138は、特定した領域が多重線形拘束を満たさない場合、当該領域に対応する撮像画像出力を、抽出部133によって抽出された撮像画像出力から除去する。
【0045】
選択部138は、例えば、一の第1撮像画像出力に対応する第1撮像画像の領域である第1撮像画像領域を、当該一の第1撮像画像出力が抽出された処理層において逆畳み込みを行うことにより特定する。同様に、選択部138は、一の第2撮像画像出力に対応する第2撮像画像の領域である第2撮像画像領域を、当該一の第2撮像画像出力が抽出された処理層において逆畳み込みを行うことにより特定する。
【0046】
選択部138は、2重線形拘束(例えば、エピポーラ拘束)を用いて、第2撮像画像上に変換した第1撮像画像領域に、第2撮像画像領域と共通する部分があるか否かを判定する。同様に、選択部138は、2重線形拘束を用いて第1撮像画像上に変換した第2撮像画像領域に、第1撮像画像領域と共通する部分があるか否かを判定する。
【0047】
選択部138は、いずれかの判定において共通する部分がないと判定した場合、抽出すべき出力ではないと判断し、当該一の第1撮像画像出力及び当該一の第2撮像画像出力の対応関係を除去する。この場合、抽出部133は、選択部138が除去した対応関係にある当該一の第1撮像画像出力及び当該一の第2撮像画像出力に基づく抽出処理を中止する。一方、選択部138は、2つの判定において共通する部分があると判定した場合、当該一の第1撮像画像出力及び当該一の第2撮像画像出力の対応関係を維持し、次に抽出部133が抽出した第1撮像画像出力及び第2撮像画像出力の絞り込みを行う。
【0048】
空間情報生成部139は、一以上の第1撮像画像特徴点と一以上の第2撮像画像特徴点とに基づいて、3次元空間における被写体の表面位置を示す空間情報を生成する。具体的には、空間情報生成部139は、選択部138が誤検出を除去した後の対応関係に基づく一部の第1撮像画像特徴点と一部の第2撮像画像特徴点とに基づいて、空間情報を生成する。
【0049】
より具体的には、空間情報生成部139は、まず、第1撮像画像における一部の第1撮像画像特徴点の位置と、第2撮像画像における一部の第2撮像画像特徴点の位置との関係、並びに第1撮像装置及び第2撮像装置の視差に基づいて、空間情報として被写体との距離を推定する。そして、空間情報生成部139は、推定した被写体との距離に基づいて、3次元空間における被写体の表面位置を示す空間情報を生成する。空間情報生成部139は、空間情報として、第1撮像画像及び第2撮像画像において3次元空間の同一位置を示している画素の対応関係を示す視差マップを生成してもよい。空間情報生成部139が行う被写体との距離を推定する方法は、公知の技術を使用することができる。空間情報生成部139は、生成した空間情報を記憶部12に記憶させる。
【0050】
[抽出処理]
続いて、抽出部133が行う抽出処理について説明する。上述のとおり、抽出部133は、後段抽出部134及び前段抽出部135を有する。後段抽出部134は、第1撮像画像が複数の処理層の一部である前段処理層及び後段処理層の順に伝搬したことにより後段処理層から出力された複数の後段第1撮像画像出力、及び第2撮像画像が前段処理層及び後段処理層の順に伝搬したことにより後段処理層から出力された複数の後段第2撮像画像出力から、共通に活性化している一以上の後段第1撮像画像出力及び一以上の後段第2撮像画像出力を抽出する。
【0051】
前段抽出部135は、一以上の後段第1撮像画像出力及び一以上の後段第2撮像画像出力を活性化させる要因となった前段処理層から出力された複数の前段第1撮像画像出力、及び前段処理層から出力された複数の前段第2撮像画像出力のうち、共通に活性化している一以上の前段第1撮像画像出力及び一以上の前段第2撮像画像出力を抽出する。
【0052】
図4から
図9は、抽出部133が行う抽出処理について説明するための図である。
図4から
図9は、前段処理層から後段処理層に伝搬させた状態を示している。
図4から
図9において、実線で示すユニットを結合する結合線は、結合するユニットから出力があったことを示し、破線で示す結合線は、結合するユニットから出力が無かったことを示す。また、結合線を示す線の太さは、結合するユニットからの出力の大きさを示す。
【0053】
図4の場合において、後段処理層は、最後尾層(例えば、出力層又は全結合層等)又は抽出部133が選択した最後尾層より前の処理層(全結合層又はプーリング層等)であり、前段処理層は、後段処理層の直前の処理層(例えば、全結合層又はプーリング層等)である。
図4においては、後段処理層が出力層M20であり、前段処理層が全結合層M19であるとして説明する。
【0054】
図4(a)は、抽出前の状態であり、
図4(b)は抽出後の状態である。第1撮像画像において、出力層M20は、ユニットU5、U8が活性化しており、全結合層M19は、ユニットU2、U5、U6、U7、U8が活性化している。第2撮像画像において、出力層M20は、ユニットU3、U5が活性化しており、全結合層M19は、ユニットU2、U4、U5、U8が活性化している。
【0055】
この場合において、後段抽出部134は、後段処理層である出力層M20から出力された後段第1撮像画像出力であるユニットU5、U8、及び出力層M20から出力された後段第2撮像画像出力であるユニットU3、U5を比較する。そして、後段抽出部134は、共通に活性化している後段第1撮像画像出力のユニットU5及び後段第2撮像画像出力のユニットU5を抽出する。
【0056】
続いて、前段抽出部135は、後段第1撮像画像出力のユニットU5を活性化させる要因となった前段処理層である全結合層M19から出力された前段第1撮像画像出力であるユニットU2、U5、U6、及び後段第2撮像画像出力のユニットU5を活性化させる要因となった全結合層M19から出力された前段第2撮像画像出力であるユニットU2、U5、U8を比較する。そして、前段抽出部135は、共通に活性化している前段第1撮像画像出力のユニットU2、U5、及び前段第2撮像画像出力のユニットU2、U5を抽出する。
【0057】
抽出部133は、出力層M20から全結合層M19までの出力を抽出すると、次の処理層に対する出力を抽出する。具体的には、抽出部133は、処理層ごとに、共通に活性化している第1撮像画像出力及び第2撮像画像出力を抽出する処理を、伝搬制御部132が伝搬させた順序とは逆の順序で繰り返し行う。より具体的には、抽出部133は、複数の処理層のうち一つの層を後段処理層として選択して一以上の第1撮像画像出力及び一以上の第2撮像画像出力を抽出した後に、前段処理層として選択した処理層を後段処理層として選択して、別の一以上の第1撮像画像出力及び一以上の第2撮像画像出力を抽出する。このようにすることで、抽出部133は、第1撮像画像及び第2撮像画像に対する比較の精度を高めることができる。
【0058】
図5は、第1撮像画像に基づいて、前段処理層から後段処理層に伝搬させた状態を示している。
図6は、第2撮像画像に基づいて、前段処理層から後段処理層に伝搬させた状態を示している。
図5及び
図6の場合において、後段処理層は、全結合層M18であり、前段処理層は、全結合層以外の処理層(例えば、プーリング層又は畳み込み層等)である。
図5及び
図6においては、前段処理層がプーリング層M17であるとして説明する。また、
図5及び
図6において、前段処理層は、3つのチャンネルを有する。上段の第1チャンネルは、ユニットU11、U12、U13、U14、及びU15を含む。中段の第2チャンネルは、ユニットU21、U22、U23、U24、及びU25を含む。下段の第3チャンネルは、ユニットU31、U32、U33、U34、及びU35を含む。
【0059】
第1撮像画像において、プーリング層M17は、第1チャンネルに含まれるユニットU13及び第2チャンネルに含まれるユニットU21、U24が活性化している。第2撮像画像において、全結合層M18は、第2チャンネルに含まれるユニットU22、U24、U25及び第3チャンネルに含まれるユニットU32、U33が活性化している。
【0060】
前段抽出部135は、後段第1撮像画像出力のユニットU5を活性化させる要因となった前段処理層であるプーリング層M17から出力された前段第1撮像画像出力、及び後段第2撮像画像出力のユニットU5を活性化させる要因となったプーリング層M17から出力された前段第2撮像画像出力を比較する。前段抽出部135は、活性化しているユニットの有無を調べ、活性化している前段第1撮像画像出力の第1チャンネルに含まれるユニットU13及び第2チャンネルに含まれるU21、U24と、前段第2撮像画像出力の第2チャンネルに含まれるユニットU22、U24、U25及び第3チャンネルに含まれるU32、U33とに着目する。
【0061】
そして、前段抽出部135は、前段第1撮像画像出力と前段第2撮像画像出力との両方において活性化しているユニットが存在しているチャンネルが第2チャンネルであることから、前段第1撮像画像出力の第2チャンネルに含まれるユニットU21、U24及び前段第2撮像画像出力の第2チャンネルに含まれるユニットU22、U24、U25を抽出する。
【0062】
図7の場合において、後段処理層は、プーリング層M16であり、前段処理層は、プーリング層以外の処理層(例えば、畳み込み層又は正規化層等)である。
図7においては、前段処理層が畳み込み層M15であるとして説明する。また、
図7において、前段処理層は、チャンネルが1つであるとして説明する。第1撮像画像において、プーリング層M16は、ユニットU5が活性化しており、畳み込み層M15は、ユニットU3、U5が活性化している。第2撮像画像において、プーリング層M16は、ユニットU3が活性化しており、畳み込み層M15は、ユニットU3、U4が活性化している。
【0063】
ここで、抽出部133は、画像の圧縮を行うプーリング層においては、直前の処理層からプーリング層に結合している複数のユニットのうち、チャンネルごとに活性化している程度に基づいて出力を抽出する。具体的には、前段抽出部135は、複数の前段第1撮像画像出力及び複数の前段第2撮像画像出力のうち、活性化している大きさに基づいて、一以上の前段第1撮像画像出力及び一以上の前段第2撮像画像出力を抽出する。前段抽出部135は、例えば、複数の前段第1撮像画像出力及び複数の前段第2撮像画像出力のうち、チャンネルごとに最も大きく活性化している一以上の前段第1撮像画像出力及び一以上の前段第2撮像画像出力を抽出する。
【0064】
この場合において、後段抽出部134は、直前の抽出処理において前段処理層として選択したプーリング層M16を選択して、プーリング層M16から出力された後段第1撮像画像出力のユニットU5、及びプーリング層M16から出力された後段第2撮像画像出力のユニットU3を抽出する。そして、前段抽出部135は、後段第1撮像画像出力のユニットU3、U5及び後段第2撮像画像出力のユニットU3、U4のうち、チャンネルごとに最も大きく活性化している前段第1撮像画像出力のユニットU5、及び前段第2撮像画像出力のユニットU4を抽出する。このようにすることで、前段抽出部135は、画像の中で特徴となる領域を特定することができる。
【0065】
図8の場合において、後段処理層は、畳み込み層M14であり、前段処理層は、畳み込み層を含む他の処理層(例えば、正規化層又はプーリング層等)である。
図8においては、前段処理層が正規化層M13であるとして説明する。また、
図8において、前段処理層は、チャンネルが1つであるとして説明する。第1撮像画像において、畳み込み層M14は、ユニットU5が活性化しており、正規化層M13は、ユニットU3、U5、U6が活性化している。第2撮像画像において、畳み込み層M14は、ユニットU3が活性化しており、正規化層M13は、ユニットU3、U4、U5が活性化している。
【0066】
この場合において、後段抽出部134は、直前の抽出処理において前段処理層として選択した畳み込み層M14を選択して、畳み込み層M14から出力された後段第1撮像画像出力のユニットU5、及び畳み込み層M14から出力された後段第2撮像画像出力のユニットU3を抽出する。
【0067】
続いて、前段抽出部135は、後段第1撮像画像出力のユニットU5を活性化させる要因となった前段処理層である正規化層M13から出力された前段第1撮像画像出力、及び後段第2撮像画像出力のユニットU3を活性化させる要因となった前段処理層である正規化層M13から出力された前段第2撮像画像出力を比較する。ここで、前段抽出部135は、後段処理層が畳み込み層である場合、後段抽出部134が後段処理層から抽出したユニットに結合する前段処理層の複数のユニットのうち、前段第1撮像画像出力と前段第2撮像画像出力とにおいて位置が相対的に同じであり、かつチャンネルが共通するユニットを抽出する。この場合、前段抽出部135は、前段第1撮像画像出力と前段第2撮像画像出力とにおいて位置が相対的に同じであり、かつチャンネルが共通するユニットとして、前段第1撮像画像出力のユニットU5、U6、及び前段第2撮像画像出力のユニットU3、U4を抽出する。
【0068】
図9の場合において、後段処理層は、正規化層M12であり、前段処理層は、正規化層以外の処理層(例えば、畳み込み層又はプーリング層等)である。
図9においては、前段処理層がプーリング層M11であるとして説明する。また、
図9において、前段処理層は、チャンネルが1つであるとして説明する。第1撮像画像において、正規化層M12は、ユニットU5が活性化している。第2撮像画像において、正規化層M12は、ユニットU3が活性化している。
【0069】
ここで、抽出部133は、画像に対して前処理を行う正規化層においては、後段処理層において活性化しているユニットに結合している前段処理層に含まれる複数のユニットのうち、中心のユニットを抽出する。この場合において、後段抽出部134は、後段処理層として選択した正規化層M12から出力された後段第1撮像画像出力のユニットU5、及び正規化層M12から出力された後段第2撮像画像出力のユニットU3を抽出する。
【0070】
そして、前段抽出部135は、正規化層M12から出力された後段第1撮像画像出力のユニットU5に結合しているプーリング層M11のユニットのうち、中心のユニットU5を抽出する。同様に、前段抽出部135は、正規化層M12から出力された後段第2撮像画像出力のユニットU3に結合しているプーリング層M11のユニットのうち、中心のユニットU3を抽出する。
【0071】
抽出部133は、上述の抽出処理を入力層まで繰り返し行うことが好ましい。しかし、抽出部133は、抽出処理を最初の処理層まで行わずに、途中の処理層(例えば、プーリング層又は正規化層等)で終了してもよい。このように、抽出部133は、伝搬制御部132が伝搬させた順序とは逆の順序で抽出処理を行うことにより、抽象度が高い出力を抽出することができる。
【0072】
[空間情報生成装置1の処理]
続いて、空間情報生成装置1が行う処理の流れを説明する。
図10は、空間情報生成装置1が行う処理の流れを示すフローチャートである。本フローチャートは、記憶部12に記憶されている第1撮像画像と第2撮像画像とを取得したことを契機として開始する(S1)。
【0073】
画像取得部131は、取得した第1撮像画像と第2撮像画像とを、伝搬制御部132に入力する。伝搬制御部132は、画像取得部131から入力された第1撮像画像及び第2撮像画像のそれぞれに、機械学習モデルMに含まれる入力層M1から出力層M10までの複数の処理層を、入力層M1から順に伝搬させる(S2)。
【0074】
抽出部133は、後段処理層及び前段処理層の両方の処理層において共通に活性化している一以上の第1撮像画像出力及び一以上の第2撮像画像出力を抽出する処理を行う(S3)。
図11は、抽出部133が行う処理の流れを示すフローチャートである。抽出部133は、指示受付部136が、操作部11を介して、複数の処理層のうち、後段処理層として用いる処理層を選択する指示を受け付けたか否かを判定する(S31)。
【0075】
抽出部133は、指示受付部136が指示を受け付けたと判定した場合、指示受付部136が受け付けた指示が示す処理層を、後段処理層として選択する(S32)。抽出部133は、例えば、指示受付部136が第1の全結合層M8を示す指示を受け付けたと判定した場合、指示受付部136が受け付けた指示が示す第1の全結合層M8を、後段処理層として選択する。一方、抽出部133は、指示受付部136が指示を受け付けていないと判定した場合、最後尾層(例えば、出力層M10)で共通に活性化している一以上の第1撮像画像出力及び一以上の第2撮像画像出力があるか否かを判定する(S33)。
【0076】
抽出部133は、出力層M10で共通に活性化している一以上の第1撮像画像出力及び一以上の第2撮像画像出力があると判定した場合、最後尾層である出力層M10を、後段処理層として使用する(S34)。一方、抽出部133は、出力層M10で共通に活性化している一以上の第1撮像画像出力及び一以上の第2撮像画像出力がないと判定した場合、出力層M10より前の各処理層に対して、共通に活性化している一以上の第1撮像画像出力及び一以上の第2撮像画像出力を繰り返し探索する。そして、抽出部133は、共通に活性化している一以上の第1撮像画像出力及び一以上の第2撮像画像出力がある処理層(例えば、第2の全結合層M9)を、後段処理層として使用する(S35)。抽出部133は、選択した後段処理層、及び前段処理層の両方の処理層において共通に活性化している、第1撮像画像に基づいて後段処理層及び前段処理層から出力された一以上の第1撮像画像出力と第2撮像画像に基づいて後段処理層及び前段処理層から出力された一以上の第2撮像画像出力とを抽出する。
【0077】
具体的には、まず、後段抽出部134は、選択した後段処理層から出力された複数の後段第1撮像画像出力、及び選択した後段処理層から出力された複数の後段第2撮像画像出力から、共通に活性化している一以上の後段第1撮像画像出力及び一以上の後段第2撮像画像出力を抽出する(S36)。そして、前段抽出部135は、後段抽出部134が抽出した一以上の後段第1撮像画像出力及び一以上の後段第2撮像画像出力を活性化させる要因となった前段処理層から出力された複数の前段第1撮像画像出力、及び前段処理層から出力された複数の前段第2撮像画像出力のうち、共通に活性化している一以上の前段第1撮像画像出力及び一以上の前段第2撮像画像出力を抽出する(S37)。
【0078】
続いて、抽出部133は、前段処理層より前に別の処理層があるか否かを判定する(S38)。抽出部133は、前段処理層(例えば、第2のプーリング層M7)より前に別の処理層(例えば、第3の畳み込み層M6)があると判定した場合、第2のプーリング層M7を後段処理層として選択し(S39)、処理をS36に戻す。一方、抽出部133は、前段処理層(例えば、入力層M1)より前に別の処理層がないと判定した場合、抽出した一以上の第1撮像画像出力及び一以上の第2撮像画像出力を特徴点検出部137に入力し、抽出処理を終了する。
【0079】
図10に戻り、特徴点検出部137は、一以上の第1撮像画像出力及び一以上の第2撮像画像出力に基づいて、対応する特徴点を探索し、対応関係にある一以上の第1撮像画像出力に基づく一以上の第1撮像画像特徴点と、一以上の第2撮像画像出力に基づく一以上の第2撮像画像特徴点とを検出する(S4)。続いて、選択部138は、特徴点検出部137が検出した第1撮像画像特徴点及び第2撮像画像特徴点に不適切な特徴点があるか否かを判定する(S5)。選択部138は、例えば、RANSAC法に基づいて絞り込みを行う。
【0080】
選択部138は、第1撮像画像特徴点及び第2撮像画像特徴点に不適切な特徴点があると判定した場合、不適切な特徴点、すなわち、誤検出した対応関係にある第1撮像画像特徴点及び第2撮像画像特徴点を除去し(S6)、除去した後の対応関係に基づく一部の第1撮像画像特徴点及び一部の第2撮像画像特徴点を選択する。空間情報生成部139は、選択部138が、第1撮像画像特徴点及び第2撮像画像特徴点に不適切な特徴点がないと判定した場合、又は誤検出した対応関係を除去した後に、一以上の第1撮像画像特徴点と一以上の第2撮像画像特徴点とに基づいて、空間情報を生成する(S7)。
【0081】
具体的には、空間情報生成部139は、まず、第1撮像画像における一部の第1撮像画像特徴点の位置と、第2撮像画像における一部の第2撮像画像特徴点の位置との関係、並びに第1撮像装置及び第2撮像装置の視差に基づいて、被写体との距離を推定する。そして、空間情報生成部139は、推定した被写体との距離に基づいて、3次元空間における被写体の表面位置を示す空間情報を生成する。空間情報生成部139は、生成した空間情報を記憶部12に記憶させる。
【0082】
[実施形態における効果]
以上説明したとおり、空間情報生成装置1は、取得した第1撮像画像及び第2撮像画像のそれぞれに、機械学習モデルMに含まれる複数の処理層を伝搬させる。空間情報生成装置1は、伝搬させた順とは逆の順序で後段処理層及び前段処理層の両方の処理層において共通に活性化している一以上の第1撮像画像出力及び一以上の第2撮像画像出力を、処理層ごとに抽出し、対応関係にある第1撮像画像特徴点及び第2撮像画像特徴点をそれぞれ検出する。そして、空間情報生成装置1は、誤検出した対応関係を除去した一以上の第1撮像画像特徴点と一以上の第2撮像画像特徴点とに基づいて、空間情報を生成する。
【0083】
このようにすることで、空間情報生成装置1は、畳み込みニューラルネットワークを含む機械学習モデルMを使用し、深層学習による抽象度が高い特徴量を求めることにより、被写体との距離を算出することができる。その結果、空間情報生成装置1は、3次元空間における被写体の表面位置を推定する精度を向上させることができる。
【0084】
空間情報生成装置1は、例えば、複数の車載カメラから撮像した多視点画像を用いて、障害物との距離を示す情報を自動車の自動運転技術に提供することにより、障害物をより安全に回避させることができる。また、空間情報生成装置1は、例えば、車載カメラと路上カメラとの併用により撮像した多視点画像を用いて、自動車からでは物陰で見えない歩行者等の位置を示す情報を自動車に提供することにより、ドライバーに歩行者等の飛び出しを警告することができる。空間情報生成装置1は、多視点画像に基づく歩行者等の位置を示す空間情報と自由視点映像生成技術とを併用することにより、物陰を透視したかのような映像を作ることができる。
【0085】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、装置の分散・統合の具体的な実施の形態は、以上の実施の形態に限られず、その全部又は一部について、任意の単位で機能的又は物理的に分散・統合して構成することができる。また、複数の実施の形態の任意の組み合わせによって生じる新たな実施の形態も、本発明の実施の形態に含まれる。組み合わせによって生じる新たな実施の形態の効果は、もとの実施の形態の効果を合わせ持つ。