IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社ALBERTの特許一覧

特許7076598動画又は複数画像からの3次元情報生成装置
<>
  • 特許-動画又は複数画像からの3次元情報生成装置 図1
  • 特許-動画又は複数画像からの3次元情報生成装置 図2
  • 特許-動画又は複数画像からの3次元情報生成装置 図3
  • 特許-動画又は複数画像からの3次元情報生成装置 図4
  • 特許-動画又は複数画像からの3次元情報生成装置 図5
  • 特許-動画又は複数画像からの3次元情報生成装置 図6
  • 特許-動画又は複数画像からの3次元情報生成装置 図7
  • 特許-動画又は複数画像からの3次元情報生成装置 図8
  • 特許-動画又は複数画像からの3次元情報生成装置 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2022-05-19
(45)【発行日】2022-05-27
(54)【発明の名称】動画又は複数画像からの3次元情報生成装置
(51)【国際特許分類】
   G06T 7/00 20170101AFI20220520BHJP
   G06T 7/55 20170101ALI20220520BHJP
【FI】
G06T7/00 350C
G06T7/55
【請求項の数】 11
(21)【出願番号】P 2021015508
(22)【出願日】2021-02-03
【審査請求日】2021-02-03
(73)【特許権者】
【識別番号】518439860
【氏名又は名称】株式会社ALBERT
(74)【代理人】
【識別番号】110000855
【氏名又は名称】特許業務法人浅村特許事務所
(72)【発明者】
【氏名】山内 隆太郎
【審査官】間野 裕一
(56)【参考文献】
【文献】特開2006-113832(JP,A)
【文献】特開2016-70884(JP,A)
【文献】特表2017-503290(JP,A)
【文献】国際公開第2019/021569(WO,A1)
【文献】鷲本昂樹 他,カメラ映像を用いたcGANに基づく深度推定に関する検討,第25回画像センシングシンポジウム(SSII2019),画像センシング技術研究会,2019年06月12日,IS1-32
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G06T 1/00
(57)【特許請求の範囲】
【請求項1】
画像から3次元情報を復元する3次元情報生成装置であって、
ターゲット画像及び当該ターゲット画像とは視点が異なる少なくとも1つのソース画像を取得する画像取得部と、
第1の畳み込みニューラルネットワーク(Depth CNN)を用いて前記ターゲット画像における各位置の深度を予測し、深度マップを生成する深度マップ生成部と、
第2の畳み込みニューラルネットワーク(Pose CNN)を用いて前記ターゲット画像と前記ソース画像との間の相対姿勢を予測する相対姿勢予測部と、
前記深度マップ生成部で生成された前記深度マップと、前記相対姿勢予測部で予測された前記相対姿勢を用いて、仮想的な前記ターゲット画像であるターゲット想定画像を前記ソース画像から生成するためのリサンプリング・グリッドを生成するリサンプリング・グリッド生成部と、
前記ターゲット画像及び前記ターゲット想定画像の差を最小化するように前記第1の畳み込みニューラルネットワーク及び前記第2の畳み込みニューラルネットワークのパラメータを更新するパラメータ更新部と、
を備え、
前記リサンプリング・グリッド生成部は、前記ターゲット画像における歪みを除去してから前記深度マップを用いて3次元情報を生成し、当該3次元情報から前記相対姿勢を用いて前記ソース画像の視点からの画像平面に投影し、当該画像平面に歪みを付与して前記ソース画像と対応付けることで前記リサンプリング・グリッドを生成することを特徴とする、3次元情報生成装置。
【請求項2】
前記リサンプリング・グリッド生成部は、歪み係数の関数についての近似計算式を用いて前記ターゲット画像における歪みを除去することを特徴とする、請求項1に記載の3次元情報生成装置。
【請求項3】
前記リサンプリング・グリッド生成部は、前記ターゲット画像における歪みを除去する算出過程で、反復計算を用いた算出結果のベクトルに替えて、歪み係数の関数を1次近似した式から求まるベクトルを用いることを特徴とする、請求項1又は2に記載の3次元情報生成装置。
【請求項4】
前記反復計算は、ニュートン・ラフソン(Newton-Raphson)法を用いて歪みを除去する計算であることを特徴とする、請求項3に記載の3次元情報生成装置。
【請求項5】
前記リサンプリング・グリッド生成部で生成された前記リサンプリング・グリッドを用いて前記ソース画像の各画素をリサンプリングし、前記ターゲット想定画像を合成する画像合成部を更に備えることを特徴とする、請求項1から4の何れか1項に記載の3次元情報生成装置。
【請求項6】
画像から3次元情報を復元する3次元情報生成方法であって、
ターゲット画像及び当該ターゲット画像とは視点が異なる少なくとも1つのソース画像を取得するステップと、
第1の畳み込みニューラルネットワーク(Depth CNN)を用いて前記ターゲット画像における各位置の深度を予測し、深度マップを生成するステップと、
第2の畳み込みニューラルネットワーク(Pose CNN)を用いて前記ターゲット画像と前記ソース画像との間の相対姿勢を予測するステップと、
前記深度マップを生成するステップで生成された前記深度マップと、前記相対姿勢を予測するステップで予測された前記相対姿勢を用いて、仮想的な前記ターゲット画像であるターゲット想定画像を前記ソース画像から生成するためのリサンプリング・グリッドを生成するステップと、
前記ターゲット画像及び前記ターゲット想定画像の差を最小化するように前記第1の畳み込みニューラルネットワーク及び前記第2の畳み込みニューラルネットワークのパラメータを更新するステップと、
を含み、
前記リサンプリング・グリッドを生成するステップは、前記ターゲット画像における歪みを除去してから前記深度マップを用いて3次元情報を生成し、当該3次元情報から前記相対姿勢を用いて前記ソース画像の視点からの画像平面に投影し、当該画像平面に歪みを付与して前記ソース画像と対応付けることで前記リサンプリング・グリッドを生成することを特徴とする、3次元情報生成方法。
【請求項7】
前記リサンプリング・グリッドを生成するステップは、歪み係数の関数についての近似計算式を用いて前記ターゲット画像における歪みを除去することを特徴とする、請求項6に記載の3次元情報生成方法。
【請求項8】
前記リサンプリング・グリッドを生成するステップは、前記ターゲット画像における歪みを除去する算出過程で、反復計算を用いた算出結果のベクトルに替えて、歪み係数の関数を1次近似した式から求まるベクトルを用いることを特徴とする、請求項6又は7に記載の3次元情報生成方法。
【請求項9】
前記反復計算は、ニュートン・ラフソン(Newton-Raphson)法を用いて歪みを除去する計算であることを特徴とする、請求項8に記載の3次元情報生成方法。
【請求項10】
前記生成するステップで生成された前記リサンプリング・グリッドを用いて前記ソース画像の各画素をリサンプリングし、前記ターゲット想定画像を合成するステップを更に備えることを特徴とする、請求項6に記載の3次元情報生成方法。
【請求項11】
コンピュータに、請求項6~10のいずれか一項に記載の方法の各ステップを実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、3次元情報生成装置に関し、特に、動画又は複数画像から3次元情報を生成する3次元情報生成装置に関するものである。
【背景技術】
【0002】
近年、動画又は画像のデータから取得した3次元データを活用し、物体認識や自動運転、ロボット制御等に応用する際に、大量の動画又は画像のデータを学習データとした自己教師あり学習済みモデルを用いて深度の推定を行うことが試みられている。
【先行技術文献】
【特許文献】
【0003】
【文献】特表2020-526818号公報
【文献】Tinghui Zhow, Matthew Brown, Noah Snavely, David Lowe, “Unsupervised Learning of Depth and Ego-Motion from Video”, CVPR 2017 (Oral)
【文献】Ariel Gordon, Hanhan Li, Rico Jonschkowski, Angelova, “Depth from Videos in the Wild: Unsupervised Monocular Depth Learning from Unknown Cameras”,The IEEE International Conference on Computer Vision(ICCV),2019,pp.8977-8986
【発明の概要】
【発明が解決しようとする課題】
【0004】
例えば、特許文献1では、2枚の2次元画像をCNN(畳み込みニューラルネットワーク)に学習させて3次元情報を取得する技術が開示されている。
【0005】
また、非特許文献1では、単眼動画のみから深度推定を学習する技術として、Depth CNNを用いて深度推定し、Pose CNNを用いて自己位置の変化、即ち、カメラの外部行列を推定し、Bilinear samplerを用いて画像をゆがめ、隣接フレームを合成する技術を開示している。
【0006】
しかしながら、上述した特許文献1及び非特許文献1では、深度推定を行うにあたり、レンズの歪みを考慮していないため、画像にレンズ歪みが含まれると推定の精度が悪くなっていた。また、レンズ歪みを学習モデルとして扱うには画像撮影に用いたレンズの焦点距離などのカメラパラメータが必要となっており、例えばインターネット(登録商標)で公開される動画等、撮影時のカメラパラメータが不明な画像や動画は学習データとして用いることができなかった。
【0007】
そこで、本発明は、上記課題を解決し、カメラパラメータが不明な画像や動画も含めた各種の画像や動画を学習データとして用いることができる3次元情報生成装置を提供するものである。
【課題を解決するための手段】
【0008】
上記課題を解決するため、本発明では、画像から3次元情報を復元する3次元情報生成装置であって、ターゲット画像及び当該ターゲット画像とは視点が異なる少なくとも1つのソース画像を取得する画像取得部と、第1の畳み込みニューラルネットワーク(Depth CNN)を用いてターゲット画像における各位置の深度を予測し、深度マップを生成する深度マップ生成部と、第2の畳み込みニューラルネットワーク(Pose CNN)を用いてターゲット画像とソース画像との間の相対姿勢を予測する相対姿勢部と、深度マップ生成部で生成された深度マップと、相対位置予測部で予測された相対姿勢を用いて、仮想的なターゲット画像であるターゲット想定画像を前記ソース画像から生成するためのリサンプリング・グリッドを生成するリサンプリング・グリッド生成部とを備える3次元情報生成装置を提供する。
【0009】
本発明の3次元情報生成装置において、リサンプリング・グリッド生成部は、ターゲット画像における歪みを除去してから深度マップを用いて3次元情報を生成し、当該3次元情報から相対姿勢を用いてソース画像の視点からの画像平面に投影し、当該画像平面に歪みを付与してソース画像と対応付けることでリサンプリング・グリッドを生成することを特徴とする。
【0010】
本発明のある態様による3次元情報生成装置において、リサンプリング・グリッド生成部は、歪み係数の関数についての近似計算式を用いてターゲット画像における歪みを除去することを特徴とする。
【0011】
本発明のある態様による3次元情報生成装置において、リサンプリング・グリッド生成部は、ターゲット画像における歪みを除去する算出過程で、反復計算を用いた算出結果のベクトルに替えて、歪み係数の関数を1次近似した式から求まるベクトルを用いることを特徴とする。
【0012】
本発明のある態様による3次元情報生成装置において、反復計算は、ニュートン・ラフソン(Newton-Raphson)法を用いて歪みを除去する計算であることを特徴とする。
【0013】
本発明のある態様による3次元情報生成装置は、リサンプリング・グリッド生成部で生成されたリサンプリング・グリッドを用いてソース画像の各画素をリサンプリングし、ターゲット想定画像を合成する画像合成部を更に備えることを特徴とする。
【0014】
また、本発明では、画像から3次元情報を復元する3次元情報生成方法であって、ターゲット画像及び当該ターゲット画像とは視点が異なる少なくとも1つのソース画像を取得するステップと、第1の畳み込みニューラルネットワーク(Depth CNN)を用いてターゲット画像の深度を予測し、深度マップを生成するステップと、第2の畳み込みニューラルネットワーク(Pose CNN)を用いて前記ターゲット画像と前記ソース画像との間の相対姿勢を予測するステップと、深度マップを生成するステップで生成された深度マップと、相対姿勢を予測するステップで予測された相対姿勢を用いて、仮想的な前記ターゲット画像であるターゲット想定画像を前記ソース画像から生成するためのリサンプリング・グリッドを生成するステップと、ターゲット画像及びターゲット想定画像の差を最小化するように第1の畳み込みニューラルネットワーク及び第2の畳み込みニューラルネットワークのパラメータを更新するステップとを含むことを特徴とする。
【0015】
本発明の3次元情報生成方法において、リサンプリング・グリッドを生成するステップは、ターゲット画像における歪みを除去してから深度マップを用いて3次元情報を生成し、当該3次元情報から相対姿勢を用いてソース画像の視点からの画像平面に投影し、当該画像平面に歪みを付与してソース画像と対応付けることでリサンプリング・グリッドを生成することを特徴とする。
【0016】
本発明の3次元情報生成方法において、リサンプリング・グリッドを生成するステップは、歪み係数の関数についての近似計算式を用いてターゲット画像における歪みを除去することを特徴とする。
【0017】
本発明の3次元情報生成方法において、リサンプリング・グリッドを生成するステップは、ターゲット画像における歪みを除去する算出過程で、反復計算を用いた算出結果のベクトルに替えて、歪み係数の関数を1次近似した式から求まるベクトルを用いることを特徴とする。
【0018】
本発明の3次元情報生成方法において、反復計算は、ニュートン・ラフソン(Newton-Raphson)法を用いて歪みを除去する計算であることを特徴とする。
【0019】
本発明のある態様による3次元情報生成方法は、リサンプリング・グリッドを生成するステップで生成されたリサンプリング・グリッドを用いてソース画像の各画素をリサンプリングし、ターゲット想定画像を合成するステップを更に備えることを特徴とする。
【0020】
また、本発明は、コンピュータに、上記3次元情報生成方法の各ステップを実行させることを特徴とするプログラムを提供する。
【0021】
本発明の他の態様による3次元情報生成装置において、リサンプリング・グリッド生成部は、ターゲット画像のピクセル座標を正規化画像座標系の点群データに変換する際に、歪みパラメータを用いて歪みを除去するようにしてもよい。
【0022】
本発明の他の態様による3次元情報生成装置において、リサンプリング・グリッド生成部は、深度マップを用いて、ターゲット画像のカメラ座標系の3次元点群を復元するようにしてもよい。
【0023】
本発明の他の態様による3次元情報生成装置において、リサンプリング・グリッド生成部は、相対位置を用いて、3次元点群を補間し、ソース画像の正規化画像座標系に投影するようにしてもよい。
【0024】
本発明の他の態様による3次元情報生成装置において、リサンプリング・グリッド生成部は、ソース画像の正規化画像座標系に投影された各座標に対応するサンプリング点の座標を計算する際に、歪みを付与するようにしてもよい。
【0025】
本発明の他の態様による3次元情報生成装置において、パラメータ更新部は、画像合成部により合成されたターゲット画像とターゲット想定画像との間の誤差を算出し、誤差が最小となるように第1の畳み込みニューラルネットワーク(Depth CNN)及び第2の畳み込みニューラルネットワーク(Pose CNN)のパラメータを更新するようにしてもよい。
【0026】
本発明の他の態様による3次元情報生成方法において、リサンプリング・グリッドを生成するステップは、ターゲット画像のピクセル座標を正規化画像座標系の点群データに変換する際に、歪みパラメータを用いて歪みを除去するステップを含むようにしてもよい。
【0027】
本発明の他の態様による3次元情報生成方法において、リサンプリング・グリッドを生成するステップは、深度マップを用いて、ターゲット画像のカメラ座標系の3次元点群を復元するステップを含むようにしてもよい。
【0028】
本発明の他の態様による3次元情報生成方法において、リサンプリング・グリッド生成するステップは、相対位置を用いて、3次元点群を補間し、ソース画像の正規化画像座標系に投影するステップを含むようにしてもよい。
【0029】
本発明の他の態様による3次元情報生成方法において、リサンプリング・グリッド生成するステップは、ソース画像の正規化画像座標系に投影された各座標に対応するサンプリング点の座標を計算する際に、歪みパラメータを付与するステップを含むようにしてもよい。
【0030】
本発明の他の態様による3次元情報生成方法において、パラメータを更新するステップは、合成するステップで合成されたターゲット画像とターゲット想定画像との間の誤差を算出し、誤差が最小となるように第1の畳み込みニューラルネットワーク(Depth CNN)及び第2の畳み込みニューラルネットワーク(Pose CNN)のパラメータを更新するようにしてもよい。
【0031】
また、本発明は、コンピュータに、上記他の態様による3次元情報生成方法の各ステップを実行させることを特徴とするプログラムを提供するようにしてもよい。
【0032】
本明細書において、「Depth CNN」とは、入力画像における各位置の深度情報を示す深度マップを予測するEncoder-Decoder型の畳み込みニューラルネットワーク(CNN)をいう。
【0033】
本明細書において、「Pose CNN」とは、入力された画像ペアに対し、撮影された画像間の相対姿勢を予測する畳み込みニューラルネットワーク(CNN)を指す。
【0034】
本明細書において、「画像間の相対姿勢」とは、撮影したそれぞれのカメラにおける撮像素子の所定の原点座標間の相対位置と、それぞれのレンズ光軸方向の間の3次元座標系における角度と、それぞれのレンズ光軸回りの回転を合わせたものである。
【0035】
本明細書において、「リサンプリング・グリッド」とは、画像をリサンプリングする際のサンプリング点を記述したグリッドを指す。
【0036】
本明細書において、「ターゲット画像」とは、深度推定を行う学習モデルの訓練において、深度マップの予測を行う対象画像を指す。
【0037】
本明細書において、「ソース画像」とは、「ターゲット画像」とは異なる視点から撮影された画像であり、深度推定を行う学習モデルの訓練において、ターゲット想定画像を合成する元になる画像を指す。
【0038】
本明細書において、「ターゲット想定画像」とは、ソース画像に基づいて3次元情報生成装置で合成される仮想的なターゲット画像を指す。深度推定を行う学習モデルの訓練の中で、このターゲット想定画像は、学習結果が理想的であるほどターゲット画像に近づく。
【0039】
本明細書において、「撮影画像座標系」とは、ターゲット画像及びソース画像においては、撮影された画像における座標系である。
【発明の効果】
【0040】
本発明によれば、カメラパラメータが不明な画像や動画も含めた各種の画像や動画を学習データとして用いることができ、そうした学習データから深度推定を行う学習モデルの構成を備えた3次元情報生成装置を提供できるという効果を奏する。
本発明の他の目的、特徴および利点は添付図面に関する以下の本発明の実施例の記載から明らかになるであろう。
【図面の簡単な説明】
【0041】
図1図1は、本発明の3次元情報生成装置による3次元情報生成動作の原理を示す図である。
図2図2は、本発明におけるターゲット画像とソース画像との関係を示す図である。
図3図3は、本発明の動作原理における放射状歪みについて説明する図である。
図4図4は、本発明の動作原理における接線歪みについて説明する図である。
図5図5は、本発明による3次元情報生成装置の要部構成を示す図である。
図6図6は、本発明による3次元情報生成装置のおける学習時における全体の処理の流れを示す図である。
図7図7は、本発明による3次元情報生成装置における学習段階の処理の流れを示す図である。
図8図8は、本発明によるリサンプリング・グリッドの生成の処理の流れを示す図である。
図9図9は、本発明による学習済みモデルを用いた深度推定時の処理の流れを示す図である。
【発明を実施するための形態】
【0042】
まず、本実施形態としての3次元情報生成装置による3次元情報生成動作の原理について説明する。
図1は、本発明の3次元情報生成装置による3次元情報生成動作の原理を示す図である。図1に、透視投影におけるカメラ11、撮影画像12と座標系について示す。ワールド座標系Qwは、3次元の空間全体における座標系であり、カメラもこの中に存在する。カメラ座標系Qcは、レンズ光軸と結像面との交点を原点とし、レンズ光軸の向く方向をz軸とする座標系である。
撮影画像座標系Qiは、撮影された画像における座標系、すなわちピクセル配列を示す座標系であり、各ピクセルに対応した整数値のみをとる。換言すれば、配列のインデックスとその平面上の点の座標を同一視する座標系と言える。
【0043】
図2は、本発明におけるターゲット画像とソース画像との関係を示す図である。図2に、ターゲット画像Tとソース画像Sのそれぞれの撮影視点と撮影画像を示す。
本実施形態では、ターゲット画像Tと、そのターゲット画像Tとは視点が異なる少なくとも1つのソース画像Sを用いて3次元情報生成を行う。図2に示すように、ターゲット画像Tの撮影カメラをカメラT1、ソース画像Sの撮影カメラをカメラS1として示す。
本実施形態ではターゲット画像Tとソース画像Sとの対応関係を求めたいため、ターゲット画像TのカメラT1におけるカメラ座標系Qcがワールド座標系Qwと同じであることとして扱う。
【0044】
ここでカメラ座標系Qc上の点を[x,y,z]として、撮影レンズにおけるレンズ収差による歪みが存在しないと仮定した撮影画像における座標系を正規化画像座標系としてその点を[x’,y’]とすると、次のように記述できる。
【数1】

ただし、[x’,y’]は正規化画像座標系上の点であり、[x”,y”]はそれにレンズ歪み(lens distortion)を加えたもの、[u,v]は撮影画像座標系Qi上の点である。またF,Fは各軸方向の焦点距離、c,cは投影中心であり、これらの単位はピクセルである。撮影画像座標系Qiとはピクセル(画素)を単位とする座標系であり、そこにおける座標は、画像を配列とみなした場合の各画素のインデックスに対応する。
そしてk,k,kは放射状歪み係数(radial distortion coefficients)であり、p,pは接線歪み係数(tangential distortion coefficients)である。これら歪み係数は、幾何学的カメラキャリブレーション(camera resectioning)によるパラメータ推定で得ることができる。
【0045】
図3は、本発明の動作原理における放射状歪みについて説明する図である。図3の(a)は歪みがない場合、図3の(b)は正値放射状歪み(バレル歪み)が生じている場合、図3の(c)は負値放射状歪み(ピンクッション歪み)が生じている場合の例をそれぞれ示している。放射状歪み(半径方向の歪み)は、図3に示すように、レンズの光学的中心からエッジに向かうにつれて光線の屈折率が大きくなる現象のことであり、この歪みはレンズが小さいほど大きくなることが知られている。
【0046】
また、図4は、本発明の動作原理における接線歪みについて説明する図である。図4の(a)はレンズ及びカメラセンサが平行であり、接線歪みを生じない場合の例を示しており、図4の(b)はレンズ及びカメラセンサが平行でなく、接線歪みを生じる場合の例を示している。接線歪み(円周方向の歪み)は、図4に示すように、レンズとイメージセンサが平行にならない場合に生じる歪みである。
【0047】
式(1)、式(2)では、カメラ座標系Qcにおける点を正規化画像座標系に投影する。式(3)~式(5)では、レンズ歪みを付与している。式(6)、式(7)は、1ピクセルを単位とする撮影画像座標系Qiにおける点[u,v]に移している。
【0048】
次に、本実施形態としての深度推定を行う学習モデルを構成するため、上述したレンズ歪みの付与プロセスに加え、レンズ歪みの除去プロセスを考える。このため、上述した式(1)~式(7)を用いて、点[u,v]から、対応する点[x’,y’]を求めることを考える。すなわち、式(6)(7)の[u,v]から式(1)(2)の[x’,y’]へと逆方向に求めることを考える。
以下の説明では見やすさのため、式(1)~式(7)における[x’,y’]を[x,y]、あるいはベクトルxとして太字のxで表す。また、式(1)~式(7)における[x”,y”]は歪みモデル適用後の点であるため、[u,v]、あるいはベクトルuとして太字のuで表す。
【数2】

さらに、歪み係数k,k,k,p,pをまとめてθと表記する。すると、上述したレンズ歪みモデルは、式(3)~式(5)をまとめて下記のように表される。
【数3】
【0049】
ここで、ベクトルuから式(8)を満たすベクトルxを求めるには、ニュートン・ラフソン(Newton-Raphson)法を用いて、以下のような反復計算によって求めることができる。
【数4】

この反復計算は、通常、10回程度以内で収束する。
【0050】
ここで、上記のヤコビ行列について、
【数5】

であるため、それぞれ下記のように求められる。
【数6】
【0051】
以上のようにして、式(3)~式(5)により上述したレンズ歪みモデルを逆方向に、ベクトルuからベクトルxを求めることができるが、ニュートン・ラフソン(Newton-Raphson)法による反復計算を算出過程に用いているため、その部分は微分可能な計算になっていない。このため、全体をニューラルネットワークに含めて逆伝播(back propagation)可能な構成として学習させることができなかった。このため、従来の学習には、学習データの各画像における焦点距離などのカメラパラメータが必要となっていた。
【0052】
これに対し、本実施形態では、微分可能な計算により上述したベクトルuからベクトルxを求め、逆伝播(back propagation)可能な計算モジュールとして、レンズ歪みモデルを含む計算全体をニューラルネットワークの一部として構成し、エンド-トゥ-エンド(end to end)での学習を可能とする。
【0053】
このため、ある歪み係数θの条件でベクトルuから求めるベクトルxをベクトルx、すなわち
【数7】

を満たすベクトルxを何らかの損失関数(loss function)に組み込んで最小化する問題を考える。これにはベクトルxをθの関数で表現する必要があり、満たすべき条件として次の関数を考える。
【数8】
【0054】
式(17)は、歪み係数θがθから多少変化することによってベクトルuに対応するベクトルxの位置が変ったとしても、
【数9】

の値は変化しない(ベクトルuのままであり続ける)ことを条件づけている。式(17)の条件を連鎖律を用いて展開すると、下記となる。
【数10】

式(18)における、
【数11】

に逆行列が存在すれば、
【数12】

である。
【数13】

が分かれば、
【数14】

をθ=θ周りで一次近似することができ、
【数15】

となる。この式(20)の右辺は、上述した式(9)~式(15)と同様に求めることができる。この式(20)は、上述した条件式(16)(17)を近似的に満たす。
【0055】
以上のようにして、本実施形態では、式(9)の反復計算を用いた算出結果であるベクトルxを、式(16)(17)の仮定のもとでθの関数として解釈し直した式(20)を求め、これをベクトルxの代わりに損失関数に組み込むことで、レンズ歪みモデルを含む損失関数全体を微分可能な計算式として表現する。
換言すれば、式(9)の反復計算を用いた算出結果としてのベクトルxに替えて、歪み係数の関数を1次近似した式(20)から求まるベクトルxを損失関数に用いることで、レンズ歪みモデルを含む損失関数全体を微分可能な計算式として表現する。
【0056】
このことにより、視点の異なるソース画像S及びターゲット画像Tを用いて、それぞれのレンズ歪みへの対応を考慮してターゲット画像Tの深度マップを生成するための学習モデルを考える際に、ニューラルネットワークでの逆伝播(back propagation)を可能とした構成で、ソース画像Sとターゲット画像Tとによりエンド-トゥ-エンド(end to end)で学習できるように構成できる。すなわち、θを含めて学習できる構成としているため、θが分からなくても深度推定のための学習が可能となる。
このことにより、学習段階で、ソース画像S及びターゲット画像Tにおける焦点距離などのカメラパラメータが不要となる。このため、カメラパラメータが不明なweb画像、ライブラリ画像や動画など、一般の画像や動画でも学習データとして使えるようにできる。このため、必要な学習データをより広範囲から簡単に得ることができる。
【0057】
ここで、上述した非特許文献2では、レンズ歪みを含む画像におけるカメラパラメータを推定するアイデアを示すものの、そのための具体的な手法や構成について開示はなく、かつパラメータ推定の計算手法の正確さについて理論検証もなされていなかった。
より詳細には、非特許文献2では、歪み係数について、上述したk,kについてしか考慮されていなかった。かつ、ニュートン・ラフソン(Newton-Raphson)法による反復計算を含む計算プロセスを逆伝播(back propagation)可能な構成で扱うための手法について、何ら開示されておらず、その計算手法の正確性について理論検証も何らなされたものでなかった。
【0058】
本実施形態によれば、上述した5つのレンズの歪み係数k,k,k,p,p全ての更新における勾配について、理論検証した手法による学習モデルで深度推定を行う3次元情報生成装置を提供することができる。
【実施例1】
【0059】
次に、本発明の一実施形態としての3次元情報生成装置について説明する。
図5は、本実施形態としての3次元情報生成装置50の要部構成を示す図である。本発明による3次元情報生成装置50は、ターゲット画像T及び当該ターゲット画像Tとは視点が異なる少なくとも1つのソース画像Sを取得する画像取得部510と、第1の畳み込みニューラルネットワーク(Depth CNN)521を用いてターゲット画像Tにおける各位置の深度を予測し、深度マップを生成する深度マップ生成部530と、第2の畳み込みニューラルネットワーク(Pose CNN)522を用いてターゲット画像Tとソース画像Sとの間の相対姿勢を予測する相対姿勢予測部540と、深度マップ生成部530で生成された深度マップ及び、相対姿勢予測部540で予測された相対姿勢を用いて、リサンプリング・グリッドを生成するリサンプリング・グリッド生成部550と、ターゲット画像T及びターゲット想定画像の差を最小化するように第1の畳み込みニューラルネットワーク(Depth CNN)521及び第2の畳み込みニューラルネットワーク(Pose CNN)522のパラメータを更新するパラメータ更新部560とを備える。
【0060】
3次元情報生成装置50は、リサンプリング・グリッド生成部550で生成されたリサンプリング・グリッドを用いてソース画像Sの各画素をリサンプリングし、ターゲット想定画像を合成する画像合成部570を更に備えるようにしてもよい。
【0061】
ここで、リサンプリング・グリッドは、画像合成部570(Bilinear sampler)を用いてソース画像Sからターゲット想定画像をリサンプリングする際のサンプリング点を記述したグリッドであり、換言すれば、ターゲット画像Tのどの点がソース画像Sのどの点に対応するかを示すグリッドである。
【0062】
リサンプリング後の画像サイズを[H,W]とすると、リサンプリング・グリッドは、[H,W,2]の配列であり、配列の要素[u,v]には、ソース画像Sにおける対応する点[u,v]が格納されている。画像合成部570(Bilinear sampler)はこのリサンプリング・グリッドを用いて、変換元であるソース画像Sからピクセルをリサンプリングし、歪みを付与したターゲット想定画像を生成する。
【0063】
画像取得部510は、ターゲット画像T及び当該ターゲット画像Tとは視点が異なる少なくとも1つのソース画像Sを取得する。
本実施形態では、動いているビデオカメラにより撮影された動画を用い、当該動画中の任意のフレーム画像をターゲット画像T、その前後1フレームずつ、合計2枚の撮影画像をソース画像Sとして用いる。
なお、複数のカメラを所定距離おいて設けた構成やステレオカメラなどにより複数視点からの画像を取得する場合は、一つのレンズによる撮影画像をターゲット画像T、他のレンズによる撮影画像をソース画像Sとして用いてよい。
【0064】
深度マップ生成部530は、第1の畳み込みニューラルネットワーク(Depth CNN)521を用いてターゲット画像Tにおける各位置の深度を予測し、深度マップを生成する。
【0065】
相対姿勢予測部540は、第2の畳み込みニューラルネットワーク(Pose CNN)522を用いてターゲット画像Tとソース画像Sとの間の相対姿勢を予測する。すなわち、上述のようにターゲット画像Tを撮影するカメラT1のカメラ座標系QTcをワールド座標系Qwと同じと考え、これとソース画像Sを撮影するカメラS1のカメラ座標系QScとの相対的な姿勢の関係であるRとtを第2の畳み込みニューラルネットワーク(Pose CNN)は出力する。ここで、Rは回転行列で向きに関係し、ベクトルに作用してベクトルを回転させる。tはカメラ座標系の原点、つまり焦点のワールド座標系Qwにおける場所を示す。
【0066】
リサンプリング・グリッド生成部550は、深度マップ生成部530で生成された深度マップ及び、相対姿勢予測部540で予測された相対姿勢を用いて、リサンプリング・グリッドを生成する。リサンプリング・グリッド生成部550は、ターゲット画像Tにおける歪みを除去してから深度マップを用いて3次元情報を生成し、当該3次元情報から相対姿勢を用いてソース画像Sの視点からの画像平面に投影し、当該画像平面に歪みを付与してソース画像Sと対応付けることでリサンプリング・グリッドを生成する。
【0067】
また、リサンプリング・グリッド生成部550は、歪み係数の関数についての近似計算式を用いてターゲット画像Tにおける歪みを除去する。
【0068】
リサンプリング・グリッド生成部550は、ターゲット画像Tにおける歪みを除去する算出過程で、反復計算を用いた算出結果のベクトルに替えて、歪み係数の関数を1次近似した式から求まるベクトルを用いるようにしてもよい。
【0069】
ここで、反復計算は、好ましくはニュートン・ラフソン(Newton-Raphson)法を用いて歪みを除去する計算であるが、他の反復計算手法を用いて反復計算を行うようにしてもよい。
【0070】
パラメータ更新部560は、ターゲット画像T及びターゲット想定画像の差を最小化するように第1の畳み込みニューラルネットワーク(Depth CNN)521及び第2の畳み込みニューラルネットワーク(Pose CNN)522のパラメータを更新する。
【0071】
図6は、本実施形態による3次元情報生成装置50の学習時における全体の処理の流れを示す図である。図6では、画像の取得からニューラルネットワークのパラメータの更新までの流れを説明する。
ステップS601では、例えばビデオカメラやステレオカメラにより予め撮影されて所定の記憶部(不図示)に記憶された画像から、ターゲット画像T及び当該ターゲット画像Tとは視点が異なる少なくとも1つのソース画像Sを取得する。
【0072】
ステップS602では、第1の畳み込みニューラルネットワーク(Depth CNN)521を用いてターゲット画像Tにおける各位置の深度を予測し、深度マップを生成する。
【0073】
ステップS603では、第2の畳み込みニューラルネットワーク(Pose CNN)522を用いてターゲット画像Tとソース画像Sとの間の相対姿勢を予測する。
【0074】
ステップS604では、深度マップを生成するステップ(ステップS602)で生成された深度マップと、相対姿勢を予測するステップ(S603)で予測された相対姿勢を用いて、学習結果が理想的であるほどターゲット画像に近づくターゲット想定画像をソース画像から生成するためのリサンプリング・グリッドを生成する。
【0075】
ステップS605では、ターゲット画像T及びターゲット想定画像の差を最小化するように第1の畳み込みニューラルネットワーク521及び第2の畳み込みニューラルネットワーク522のパラメータを更新する。
【0076】
図7は、本実施形態による3次元情報生成装置における学習段階の処理の流れを示す図である。図7においても基本的な流れは図6と同様であるが、図7では、リサンプリング・グリッドの生成後に、ターゲット想定画像を合成するステップも含めた処理の流れを説明する。
【0077】
ステップS701では、第1の畳み込みニューラルネットワーク(Depth CNN)521を用いて、ターゲット画像Tの深度マップを予測する。なお、2回目以降の学習では、前回の生成時の結果と、ターゲット想定画像とターゲット画像とが一致するような理想的学習結果との差が小さくなるように、ターゲット画像Tの深度マップを予測する。これに対し、初回の学習においては、利用すべき前回の生成結果が存在しないため、そのような予測は行わずに深度マップが生成される。
【0078】
ステップS702では、第2の畳み込みニューラルネットワーク(Pose CNN)522を用いて、ターゲット画像Tとソース画像Sとの間の相対姿勢を予測する。
【0079】
ステップS703では、予測された深度マップと相対姿勢を利用して、図8で後述のようにしてリサンプリング・グリッドを生成する。ステップS704では、画像合成部570(Bilinear sampler)により、リサンプリング・グリッドを用いて画像をリサンプリングし、ソース画像Sからターゲット想定画像を合成する。
【0080】
ここで、ターゲット想定画像とは、ソース画像Sに基づいて本実施形態の3次元情報生成装置50で合成される画像であり、第1の畳み込みニューラルネットワーク(Depth CNN)521による深度の予測と、第2の畳み込みニューラルネットワーク(Pose CNN)522による相対姿勢の予測とが完璧であれば、ターゲット画像Tと理論的には限りなく一致すると想定される画像である。
【0081】
ステップS705では、合成されたターゲット想定画像と、画像取得部により取得されたターゲット画像Tの間の誤差を計算し、この誤差を最小化するよう第1の畳み込みニューラルネットワーク(Depth CNN)521のパラメータ及び第2のニューラルネットワーク(Pose CNN)522のパラメータを更新する。
【0082】
図8は、上述した図7のステップS703におけるリサンプリング・グリッドを生成する処理の流れを示す図である。
ステップS801では、メモリ空間にターゲット画像Tのピクセル座標[u,v]の配列を用意する。ターゲット画像のピクセル座標[u,v]は、リサンプリング・グリッドのインデックスに対応する。
【0083】
ステップS802では、ターゲット画像Tにおける撮影画像座標系Qi(ピクセル座標)の[u,v]を、ターゲット画像Tの視点からの正規化画像座標系の点[x,y]に変換する。具体的には、ステップS801で用意された[u,v]を用いて、上述した式(6)(7)から式(3)~(5)へと逆に求める。この計算は、高次多変数のため解析的には求めることができず、上述した本実施形態の手法によって歪み除去を行うことで、式(3)(4)における[x”,y”]で表される正規化画像座標系の点[x,y]を算出する。このように、上述した本実施形態の手法を用いることにより、このステップS802のターゲット画像Tにおける歪みを除去する算出過程を微分可能な式で表現する。
【0084】
ステップS803では、算出された正規化画像座標系の点[x,y]から、予測された深度zを用いてターゲット画像Tの撮影カメラT1から見たカメラ座標系QTc(3次元空間)上の点[X,Y,Z]=[x*z,y*z,z]を復元する。すなわち、ターゲット画像Tの各ピクセル情報を3次元点群データとして逆投影する。なお、ここで復元される3次元点群データは、ターゲット画像Tの各ピクセル情報から復元されるため、ターゲット画像Tのカメラから見えない部分(カメラと逆方向など)の情報については含まれないものとなる。
【0085】
ステップS804では、第2の畳み込みニューラルネットワーク(Pose CNN)522から出力された相対姿勢を用いて、ターゲット画像Tの撮影カメラT1から見た3次元点群データを回転、及び平行移動させ、ソース画像Sの撮影カメラS1から見た3次元点群データを生成する。
【0086】
ステップS805では、ソース画像Sの撮影カメラS1から見た3次元点群データの座標[X,Y,Z]を、ソース画像Sの正規化画像座標系に投影する。具体的には、上述した式(1)(2)により、ソース画像Sの正規化画像座標系の点[x,y]を求める。
【0087】
ステップS806では、ソース画像Sの正規化画像座標系における[x,y]から、ソース画像Sの撮影画像座標系におけるサンプリング点 [u, v] を計算する。手順はステップS802の逆、すなわち、上述した式(3)~式(7)により算出する。
【0088】
次に、図9を用いて、本実施形態による学習済みモデルを用いた深度推定時の処理について説明する。図9は、学習済みモデルを用いた深度推定時の処理の流れを示す図である。図6から図8までが学習段階の処理の流れに関するものであるのに対し、図9は、学習段階を経た後の学習済みモデルを用いて深度推定を行う際の処理の流れを示している。
まず、第1の畳み込みニューラルネットワーク(Depth CNN)521が、深度マップを得たい1枚の2次元画像を読み込む(ステップS901)。この第1の畳み込みニューラルネットワーク(Depth CNN)522から出力される深度マップを推定結果として得る(ステップS902)。
【実施例2】
【0089】
以上の通り、本発明の一実施形態について説明したが、本発明の他の実施形態においては、以下の点について変更したものであってもよい。なお、下記で特に説明しない部分については、上述の実施例1の構成又は処理と同様である。
【0090】
3次元情報生成装置50において、リサンプリング・グリッド生成部550は、ターゲット画像Tのピクセル座標を正規化画像座標系の点群データに変換する際に、歪みパラメータを用いて歪みを除去するようにしてもよい。
【0091】
リサンプリング・グリッド生成部550は、深度マップを用いて、ターゲット画像Tのカメラ座標系の3次元点群を復元するようにしてもよい。
【0092】
リサンプリング・グリッド生成部550は、相対位置を用いて、3次元点群を補間し、ソース画像Sの正規化画像座標系に投影するようにしてもよい。
【0093】
リサンプリング・グリッド生成部550は、ソース画像Sの正規化画像座標系に投影された各座標に対応するサンプリング点の座標を計算する際に、歪みパラメータを付与するようにしてもよい。
【0094】
3次元情報生成装置50において、パラメータ更新部560は、画像合成部570により合成されたターゲット想定画像と、画像取得部により取得されたターゲット画像Tの間の誤差を算出し、誤差が最小となるように第1の畳み込みニューラルネットワーク(Depth CNN)521及び第2の畳み込みニューラルネットワーク(Pose CNN)522のパラメータを更新するようにしてもよい。
【0095】
また、3次元情報生成方法において、リサンプリング・グリッドを生成するステップは、ターゲット画像Tのピクセル座標を正規化画像座標系の点群データに変換する際に、歪みパラメータを用いて歪みを除去するステップを含むようにしてもよい。
【0096】
3次元情報生成方法において、リサンプリング・グリッドを生成するステップは、深度マップを用いて、ターゲット画像Tのカメラ座標系の3次元点群を復元するステップを含むようにしてもよい。
【0097】
3次元情報生成方法において、リサンプリング・グリッド生成するステップは、相対位置を用いて、3次元点群を補間し、ソース画像Sの正規化画像座標系に投影するステップを含むようにしてもよい。
【0098】
3次元情報生成方法において、リサンプリング・グリッド生成するステップは、ソース画像Sの正規化画像座標系に投影された各座標に対応するサンプリング点の座標を計算する際に、歪みパラメータを付与するステップを含むようにしてもよい。
【0099】
3次元情報生成方法において、パラメータを更新するステップは、合成するステップで合成されたターゲット画像Tとターゲット想定画像との間の誤差を算出し、誤差が最小となるように第1の畳み込みニューラルネットワーク(Depth CNN)及び第2の畳み込みニューラルネットワーク(Pose CNN)のパラメータを更新するようにしてもよい。
【0100】
上述した各実施形態で用いるソース画像Sは、動いているビデオカメラにより撮影された動画におけるターゲット画像T近傍のフレームであれば、任意のフレームを用いてよい。また、学習データとして用いる動画は、単一の動画であってもよく、学習を繰り返す中で各種の異なる動画を用いてもよい。
【産業上の利用可能性】
【0101】
例えば本発明は、ドライブレコーダーなど車載製品のカメラにより撮影された動画を用いて深度推定を行うことにより、過去の運転状況などを3次元情報として活用する装置やシステムに好適に適用することができる。また、配達用ロボットのカメラ、工業用ロボットのカメラ、ドローンのカメラ、スマートフォンのカメラ、内視鏡のカメラなどにより撮影された動画を用いて、それぞれの画像における深度推定を行うアプリケーションなどに好適に適用することができる。さらには、推定された深度情報を用いてVR(Virtual Realty;仮想現実)、AR(Augmented Reality;拡張現実)、MR(Mixed Reality;複合現実)、SR(Substitutional Reality;代替現実)などを実現するアプリケーションなどにも好適に適用することができる。
上記記載は実施例についてなされたが、本発明はそれに限らず、本発明の原理と添付の請求の範囲の範囲内で種々の変更および修正をすることができることは当業者に明らかである。
【符号の説明】
【0102】
50 3次元情報生成装置
510 画像取得部
530 深度マップ生成部
540 相対姿勢予測部
550 リサンプリング・グリッド生成部
560 パラメータ更新部
570 画像合成部
【要約】
【課題】画像から3次元情報を復元する3次元情報生成装置を提供する。
【解決手段】本発明による3次元情報生成装置は、ターゲット画像及び当該ターゲット画像とは視点が異なる少なくとも1つのソース画像を取得する画像取得部と、第1の畳み込みニューラルネットワークを用いて前記ターゲット画像における各位置の深度を予測し、深度マップを生成する深度マップ生成部と、第2の畳み込みニューラルネットワークを用いて前記ターゲット画像と前記ソース画像との間の相対姿勢を予測する相対姿勢予測部と、前記深度マップ生成部で生成された前記深度マップと、前記相対姿勢予測部で予測された前記相対姿勢を用いて、リサンプリング・グリッドを生成するリサンプリング・グリッド生成部と、前記第1及び第2の畳み込みニューラルネットワークのパラメータを更新するパラメータ更新部とを備える。
【選択図】図5
図1
図2
図3
図4
図5
図6
図7
図8
図9