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

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

▶ 株式会社デンソーアイティーラボラトリの特許一覧

特許70348373次元畳込み演算装置、ビジュアルオドメトリシステム、及び3次元畳込みプログラム
<>
  • 特許-3次元畳込み演算装置、ビジュアルオドメトリシステム、及び3次元畳込みプログラム 図1
  • 特許-3次元畳込み演算装置、ビジュアルオドメトリシステム、及び3次元畳込みプログラム 図2A
  • 特許-3次元畳込み演算装置、ビジュアルオドメトリシステム、及び3次元畳込みプログラム 図2B
  • 特許-3次元畳込み演算装置、ビジュアルオドメトリシステム、及び3次元畳込みプログラム 図3A
  • 特許-3次元畳込み演算装置、ビジュアルオドメトリシステム、及び3次元畳込みプログラム 図3B
  • 特許-3次元畳込み演算装置、ビジュアルオドメトリシステム、及び3次元畳込みプログラム 図3C
  • 特許-3次元畳込み演算装置、ビジュアルオドメトリシステム、及び3次元畳込みプログラム 図4
  • 特許-3次元畳込み演算装置、ビジュアルオドメトリシステム、及び3次元畳込みプログラム 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-03-04
(45)【発行日】2022-03-14
(54)【発明の名称】3次元畳込み演算装置、ビジュアルオドメトリシステム、及び3次元畳込みプログラム
(51)【国際特許分類】
   G06T 7/00 20170101AFI20220307BHJP
   G06F 17/10 20060101ALI20220307BHJP
【FI】
G06T7/00 350C
G06F17/10 A
G06T7/00 650Z
【請求項の数】 10
(21)【出願番号】P 2018105747
(22)【出願日】2018-06-01
(65)【公開番号】P2019211879
(43)【公開日】2019-12-12
【審査請求日】2020-10-19
(73)【特許権者】
【識別番号】502324066
【氏名又は名称】株式会社デンソーアイティーラボラトリ
(74)【代理人】
【識別番号】100115808
【弁理士】
【氏名又は名称】加藤 真司
(74)【代理人】
【識別番号】100113549
【弁理士】
【氏名又は名称】鈴木 守
(74)【代理人】
【識別番号】230121430
【弁護士】
【氏名又は名称】安井 友章
(72)【発明者】
【氏名】関川 雄介
(72)【発明者】
【氏名】石川 康太
(72)【発明者】
【氏名】鈴木 幸一郎
【審査官】千葉 久博
(56)【参考文献】
【文献】特開2013-200761(JP,A)
【文献】特開2009-105725(JP,A)
【文献】特開平7-64525(JP,A)
【文献】特表2017-530467(JP,A)
【文献】多田啓一, 外2名,“動き情報を用いた巡回型時空間フィルタによる低SN比映像の質改善”,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,2006年09月19日,第106巻, 第263号,p.59-64
【文献】Sen Wang, 外3名,"DeepVO: Towards end-to-end visual odometry with deep Recurrent Convolutional Neural Networks",2017 IEEE International Conference on Robotics and Automation (ICRA),米国,IEEE,2017年06月03日,p.2043-2050
【文献】Du Tran, 外4名,"Learning Spatiotemporal Features with 3D Convolutional Networks",2015 International Conference on Computer Vision (ICCV),米国,IEEE,2015年12月13日,p.4489-4497
【文献】Andrea Censi, 外1名,"Low-latency event-based visual odometry",2014 IEEE International Conference on Robotics and Automation (ICRA),米国,IEEE,2014年06月07日,p.703-710
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G06F 17/10
(57)【特許請求の範囲】
【請求項1】
2次元空間要素と時間要素とを含む時系列データを取得し、
前記時系列データに対する2次元空間の2次元カーネルの2次元畳込み演算の時間方向の積和演算によって、畳込み演算を行う、3次元畳込み演算装置。
【請求項2】
複数の異なる速度について、前記2次元カーネルによる畳込み演算の結果を共有する、請求項1に記載の3次元畳込み演算装置。
【請求項3】
前記2次元カーネルの空間方向の大きさは、3次元カーネルの空間方向の大きさよりも小さい、請求項1又は2に記載の3次元畳込み演算装置。
【請求項4】
前記時間方向の積和演算を周波数空間での平面のサンプリングとその逆フーリエ変換により行う、請求項1~3のいずれかに記載の3次元畳込み演算装置。
【請求項5】
過去の演算結果をコピーして再利用して、時間方向の畳み込み受容野に新たに入るデータと時間方向の受容野から出るデータとの寄与のみを計算する、請求項1~3のいずれかに記載の3次元畳込み演算装置。
【請求項6】
ハードウェア回路を用いて前記再利用のためのメモリコピーを行う、請求項5に記載の3次元畳込み演算装置。
【請求項7】
前記時系列データとしてイベントカメラからのイベントデータを取得し、
ここで、前記イベントカメラは、輝度が所定の閾値以上に変化した場合の時刻、画素の位置、極性を表す非同期のデータ列を前記イベントデータとして出力するカメラであり、
前記イベントデータの2次元空間要素に応じて前記2次元カーネルをコピーして再利用する、請求項1~6のいずれかに記載の3次元畳込み演算装置。
【請求項8】
車両に前向きに設置され、2次元空間要素と時間要素とを含む時系列データとしてイベントデータを生成するイベントカメラと、
前記時系列データに対する2次元空間の2次元カーネルの2次元畳込み演算の時間方向の積和演算によって、畳込み演算を行う3次元畳込み演算装置と、
前記畳込み演算の結果を用いてビジュアルオドメトリにより前記車両の位置姿勢を推定するビジュアルオドメトリ装置と、
を備えた、ビジュアルオドメトリシステム。
【請求項9】
前記3次元畳込み演算装置と前記ビジュアルオドメトリ装置とでLSTCNNが構成され、
前記LSTCNNは、前記3次元畳込み演算装置で構成される第1モジュールと、前記ビジュアルオドメトリ装置で構成される第2及び第3モジュールとを含み、
前記第1モジュールは、前記時系列データの局所的な時空間的特徴を捕捉し、
前記第2モジュールは、前記第1モジュールの出力の空間相関を捕捉し、
前記第3モジュールは、前記第2モジュールの出力の時間相関を捕捉する、請求項8に記載のビジュアルオドメトリシステム。
【請求項10】
コンピュータに、
2次元空間要素と時間要素とを含む時系列データを取得するステップ、及び
前記時系列データに対する2次元空間の2次元カーネルの2次元畳込み演算の時間方向の積和演算によって、畳込み演算を行うステップ、
を実行させる3次元畳込みプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、2次元空間要素と時間要素とを含む3次元データの畳込み演算を行う3次元畳込み演算装置、及びそれを含むビジュアルオドメトリシステム、並びに3次元畳込みプログラムに関する。
【背景技術】
【0002】
動作や行動の認識、ビジュアルオドメトリ(即ち、視覚情報に基づく位置姿勢推定)では、連続するデータから時空間特徴を学習することが重要である。ニューラルネットワーク(Neural Network:以下、「NN」とも表記する)は、様々な分野で高い性能を示しており、NNを利用して時空間情報と特徴を捉える方法として、3次元畳込みニューラルネットワーク(3 Demensional Convolutional Neural Network:以下、「3DCNN」ともいう。)が有効であることが知られている(例えば、非特許文献1)。しかしながら、3DCNNに必要な3次元畳込み演算は、計算量が大きく、高い時間解像度の信号に適用することは、計算量及びメモリ使用量の観点から困難である。
【0003】
近年、イベントカメラという生物の視覚にヒントを得たカメラデバイスが注目されている。従来のカメラが輝度をフレームで取得するのに対して、イベントカメラは、人間の知覚システムを模倣したカメラであり、輝度の変化のみを捉える。イベントカメラの出力は、輝度が所定の閾値以上に変化した場合の時刻、画素の位置、極性(輝度が小さくなったか大きくなったか)を表す非同期のデータ列である。
【0004】
よって、イベントカメラの出力は、従来のカメラの出力と比較して、空間的に非常にスパース(疎)であり、データ量が非常に少ない。また、イベントカメラは、従来のカメラと比較して、時間解像度が非常に高く(例えば、マイクロミリ秒オーダ)、ダイナミックレンジが高いという特性がある。すなわち、イベントカメラは、従来のカメラと比較して、少データ量、高時間解像度、ハイダイナミックレンジ(HDR)という特性を有している。これらの特性は、瞬時ないしリアルタイムに画像処理をして移動体を検知したり、ビジュアルオドメトリで自己の姿勢及び位置の推定を行う必要がある車載システムにとっては非常に重要である。
【0005】
そこで、このイベントカメラの出力に3DCNNを適用することが考えられる。
【先行技術文献】
【非特許文献】
【0006】
【文献】Tran, D., Bourdev, L.D., Fergus, R., Torresani, L., Paluri, M.: Learning spatiotemporal features with 3D convolutional networks. In: ICCV, pp. 4489-4497 (2015)
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、3次元畳込み演算の制約から、イベントカメラの高時間解像度の信号を3DCNNで処理することは困難である。また、3次元畳込み演算は、デンスなデータを想定しており、イベントカメラの出力のようなスパースなデータに3次元畳込演算を適用する場合には、スパースなデータをデンスにする必要があり、イベントカメラのスパース性を活かした効率的な処理を行うことはできない。
【0008】
本発明は、イベントカメラの出力が、スパースであり、高時間解像度であるという特性を損ねることなく、イベントカメラの出力に3次元畳込みを行う3次元畳込み演算装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明の一態様は3次元畳込み演算装置であって、この3次元畳込み演算装置は、2次元空間要素と時間要素とを含む時系列データを取得し、前記時系列データに対する2次元空間の2次元カーネルの2次元畳込み演算の時間方向の積和演算によって、畳込み演算を行う構成を有している。
【0010】
この構成により、3次元の畳込みカーネルを2次元空間の2次元カーネルと等速直線運動の速度との積に分解することで、3次元畳込み演算を2次元畳込み演算の時間方向の積和演算に置き換えるので、畳込み演算の演算量を削減できる。
【0011】
上記の3次元畳込み演算装置において、複数の異なる前記速度について、前記2次元カーネルによる畳込み演算の結果を共有してよい。
【0012】
この構成により、畳込み演算の演算量をさらに削減できる。
【0013】
上記の3次元畳込み演算装置において、前記2次元カーネルの空間方向の大きさは、前記3次元カーネルの空間方向の大きさよりも小さくてよい。
【0014】
この構成により、畳込み演算の演算量をさらに削減できる。
【0015】
上記の3次元畳込み演算装置において、前記時間方向の積和演算を周波数空間での平面のサンプリングとその逆フーリエ変換により行ってよい。
【0016】
この構成により、3次元フーリエ空間で平面をサンプリングする処理が行われるので、3次元的な変形を行う従来の処理と比較して、畳込み演算の演算量を削減できる。
【0017】
上記の3次元畳込み演算装置において、過去の演算結果をコピーして再利用して、時間方向の受容野に新たに入るデータと時間方向の受容野から出るデータとの寄与のみを計算してよい。
【0018】
この構成により、時系列データの場合は前回の結果をほとんど再利用できるので、時間方向の受容野に新しく入ってくる分と、消える分を考慮するだけで、あとは前回の結果を速度に応じてコピーするだけで3次元畳込み演算の結果を得ることができる。
【0019】
上記の3次元畳込み演算装置において、ハードウェア回路を用いて前記再利用のためのメモリコピーを行ってよい。
【0020】
過去の演算結果の再利用のためのメモリコピーは固定であるので、この構成によりハードウェアを用いることで、メモリコピーを高速に行うことができる。
【0021】
上記の3次元畳込み演算装置において、前記時系列データとしてイベントカメラからのイベントデータを取得してよく、前記イベントデータの2次元空間要素に応じて前記2次元カーネルをコピーして再利用してよい。
【0022】
イベントカメラで得られるイベントデータはスパースであるので、この構成により、入力イベントの座標に応じて2次元カーネルをコピーするという演算で3次元畳込み演算を実現できる。
【0023】
本発明の一態様は、ビジュアルオドメトリシステムであって、このビジュアルオドメトリシステムは、車両に前向きに設置され、2次元空間要素と時間要素とを含む時系列データとしてイベントデータを生成するイベントカメラと、前記時系列データに対する2次元空間の2次元カーネルの2次元畳込み演算の時間方向の積和演算によって、畳込み演算を行う3次元畳込み演算装置と、前記畳込み演算の結果を用いてビジュアルオドメトリにより前記車両の位置姿勢を推定するビジュアルオドメトリ装置とを備えた構成を有している。
【0024】
この構成により、ビジュアルオドメトリのための畳込み演算の演算量を削減できる。
【0025】
上記のビジュアルオドメトリシステムにおいて、前記3次元畳込み演算装置と前記ビジュアルオドメトリ装置とでLSTCNNが構成されてよく、前記LSTCNNは、前記3次元畳込み演算装置で構成される第1モジュールと、前記ビジュアルオドメトリ装置で構成される第2及び第3モジュールとを含んでよく、前記第1モジュールは、前記時系列データの局所的な時空間的特徴を捕捉してよく、前記第2モジュールは、前記第1モジュールの出力の空間相関を捕捉してよく、前記第3モジュールは、前記第2モジュールの出力の時間相関を捕捉してよい。
【0026】
本発明の一態様は、3次元畳込みプログラムであって、この3次元畳込みプログラムは、コンピュータに、2次元空間要素と時間要素とを含む時系列データを取得するステップ、及び前記時系列データに対する2次元空間の2次元カーネルの2次元畳込み演算の時間方向の積和演算によって、畳込み演算を行うステップ、を実行させる。
【発明の効果】
【0027】
本発明によれば、3次元の畳込みカーネルを2次元空間の2次元カーネルと等速直線運動の速度との積に分解することで、3次元畳込み演算を2次元畳込み演算の時間方向の積和演算に置き換えるので、畳込み演算の演算量を削減できる。
【図面の簡単な説明】
【0028】
図1図1は、本発明の実施の形態のビジュアルオドメトリシステムの構成を示すブロック図である。
図2A図2Aは、イベントカメラから見た車両前方の画像の例である。
図2B図2Bは、図2Aの場合のイベントデータを可視化して示す図である。
図3A図3Aは、一般的な3次元畳込みニューラルネットワークにおける畳込み演算を示す図である。
図3B図3Bは、定速3次元畳込みにおける畳込み演算を示す図である。
図3C図3Cは、入力データがスパースである場合の定速3次元畳込み演算を示す図である。
図4図4は、本発明の実施の形態のビジュアルオドメトリシステムにおけるLSTCNNの全体構成を示す図である。
図5図5は、本発明の実施の形態のビジュアルオドメトリ装置におけるネットワーク構造を示す図である。
【発明を実施するための形態】
【0029】
以下、図面を参照して本発明の実施の形態を説明する。なお、以下に説明する実施の形態は、本発明を実施する場合の一例を示すものであって、本発明を以下に説明する具体的構成に限定するものではない。本発明の実施にあたっては、実施の形態に応じた具体的構成が適宜採用されてよい。
【0030】
図1は、本発明の実施の形態のビジュアルオドメトリシステムの構成を示すブロック図である。ビジュアルオドメトリシステム100は、イベントカメラ10と、3次元畳込み演算装置20と、ビジュアルオドメトリ装置30とを備えている。イベントカメラ10は、2次元の座標(x,y)、タイムステップt、及び極性(プラスに変化したかマイナスに変化したか)pからなるデータを出力する。
【0031】
イベントカメラ10は、各ピクセルの受光強度を測定して閾値以上の変化があったときに他のピクセルとは非同期にイベントデータ(x,y,t,p)を出力する。すなわち、このイベントカメラ10の出力は、2次元空間要素(x,y)と時間要素(t)とを含む時系列データであり、時空間特徴を表している。本実施の形態では、イベントカメラ10は、車両に前方を向けて設置されている。
【0032】
図2Aは、イベントカメラから見た車両前方の画像の例であり、図2B図2Aの場合のイベントデータを可視化して示す図である。図2Bでは、所定の時間内にイベントが生じた回数が多いピクセルをより明るくすることでイベントデータを可視化している。
【0033】
イベントカメラ10が車両に前方を向けて設置されているので、図2Bに示すように、このイベントカメラ10で取得されるイベントデータでは、建物や道路上のエッジが、局所的には時間とともに概ね等速で移動している。すなわち、イベントデータから任意に取り出した部分領域のデータは、短時間でみると概ね一定の速度でシフトする。
【0034】
3次元畳込み演算装置20は、イベントカメラ10から入力データとして時系列のイベントデータを取得する。3次元畳込み演算装置20は、入力データに対して畳込みカーネルで畳込み演算を行う。
【0035】
時空間特徴をモデル化するために、3次元畳込みニューラルネットワークを利用することができる。一般的な3次元畳込みニューラルネットワークは、以下の式(1)で表される。
【数1】
ここで、
【数2】
は、時空間特徴の入力データであり、
【数3】
は、3次元畳込みカーネルであり、zは入力データと同サイズの出力データである。
【0036】
図3Aは、一般的な3次元畳込みニューラルネットワークにおける畳込み演算を示す図である。この3次元畳込ニューラルネットワークでは、入力データと3次元畳込みカーネルとの内積演算(即ち、3次元点乗積演算)を時空間方向(即ち、3次元方向)にスライドさせて行う必要がある。各3次元点乗積には、(kL×kL×τ)回の積和演算が必要であり、これを(W×H×T)回繰り返す必要がある。このように、3次元畳込みニューラルネットワークは、膨大な演算量を必要とする。
【0037】
そこで、本実施の形態では、定速近似を行う。上述のように、イベントカメラ10は車両に前方を向いて設置されているため、任意の部分領域ないし1ピクセルを短時間でみると、イベントは一定の速度でシフトするとみなすことができる。以下、小さな領域についての微小時間、即ち空間的かつ時間的に微小部分を「局所」という。
【0038】
3次元畳込み演算装置20は、車両に設置されたイベントカメラ10のイベントデータが局所的に定速であるという性質を利用して、3次元畳込み演算のコストを低減する。3次元畳込み演算装置20によるこのような3次元畳込み(演算)を、以下では、「定速3次元畳込み(演算)」という。
【0039】
いま、座標(x,y)における局所的に一定の速度ξを
【数4】
と定義する。
【0040】
イベントデータが局所的に一定速度である場合には、時刻tにおける局所的な一定速度を示す3次元畳込みカーネルwは、下式(2)のように近似できる。
【数5】
【0041】
式(2)の局所的定速が成り立つ場合には、画像領域X(・,・,t)における畳込みによって、時刻tによらずに同じ応答が得られる。こようなのパラメータ化によって、本実施の形態の定速3次元畳込みが実現される。
【0042】
上記の式(2)によって、式(1)の3次元畳込みニューラルネットワークは、下式(3)のように書き換えることができる。
【数6】
【0043】
ここで、
【数7】
は、下式(4)で表される速度カーネルである。
【数8】
【0044】
図3Bは、定速3次元畳込みにおける畳込み演算を示す図である。3次元畳込み演算装置20は、図3Bに示すように、3次元畳込みカーネルを2次元空間カーネルと3次元速度カーネルに分解する。
【0045】
速度カーネルを含む畳込み演算は、総和Σを使って下式(5)で表される。
【数9】
ここで、
【数10】
は、入力データXと2次元畳込みカーネルw(・,・,1)との2次元畳込みであり、これによって従来の3次元畳込みよりも低コストに演算が可能となる。
【0046】
また、この2次元畳込み演算の結果は、次のタイムステップのzξ(・,・,t+1)に再利用することができる。即ち、式(5)は、異なるξによって特徴づけられる異なる3次元畳込みカーネルが、同一の2次元畳込み演算の結果を共用できるということを意味している。
【0047】
さらに、式(2)で表される分解では、w(・,・,1)の非0要素が排除されない限り、w(・,・,1)の空間次元のサイズkをvξ(・,・,・)の空間次元のサイズkより小さくすることができる。よって、高速で移動するエッジを小さな2次元カーネルでモデル化することができる。
【0048】
最終的な3次元畳込み演算の結果は、ξで定義される異なる方向についてζの積和演算を行うことで得られる。以下では、2通りの積和演算の手法を説明する。3次元畳込みカーネルの表現は、時間方向に沿った構造正則化をするものであり、時間次元の項に沿ったパラメータの共有として解釈することができる。このパラメータ共有では、空間次元でパラメータを共有するので、CNN自体が正則化として機能するのと同じ方法で正則化として機能することが期待される。
【0049】
なお、式(2)で表される分解は、3次元畳込みカーネルw(・,・,・)の低階数テンソル近似ではなく、むしろ通常は(速度が0(ξ=[0,0])である場合を除いて)全階級(フルランク)を有する。したがって、分離可能フィルタの技術を使用することはできない。
【0050】
過去の畳込み演算の結果を利用することで、時系列データの効率的な積和演算が可能になる。すなわち、式(5)によれば、タイムステップ(t+1)の3次元畳込み演算の結果を得るために必要な計算の大部分は、すでにタイムステップtで計算されている。すなわち、下式(6)の再帰式が成り立つ。
【数11】
【0051】
ここで、
【数12】
であり、
【数13】
であり、それぞれ時間方向の受容野から除去されるデータ、及び時間方向の受容野に新たに入ってくるデータの寄与に対応している。実装の際には、各ピクセルに対して4つの積和演算を必要とするバイリニア補間が使用される。
【0052】
もう一つの積和演算の手法は、3次元フーリエ空間で平面をサンプリングする手法である。式(6)は、時系列データに対して有効であるが、ニューラルネットワークのミニバッチ学習などランダムに取り出した時系列データの場合には有効ではない。そこで、式(5)の効率的な積和演算のための別のアルゴリズムとして、下式(7)のフーリエ変換を用いて導出されるアルゴリズムを用いる。
【数14】
【0053】
ここで、ζ^は、ζのフーリエ変換
【数15】
であり、FTは、添え字によって示される次元に対して作用するフーリエ変換を表す。
【0054】
フーリエ変換を利用する定速3次元畳込みの各項は、それぞれ、2次元畳込み、時間方向の1次元フーリエ変換、空間方向の2次元フーリエ変換を表す。
【0055】
本実施の形態の3次元畳込み装置20は、定速3次元畳込み演算をニューラルネットワークに適用するために、逆伝搬アルゴリズムも導出する。2次元のパラメータは、異なるξによって共有されるので、2次元カーネルw(・,・,1)のパラメータに対する上位層からの誤差Eの導関数は、各ξの寄与の和として下式(8)で計算される。
【数16】
【0056】
ここで、畳込み
【数17】
は、上記のフーリエ変換を利用する手法によって計算できる。
【0057】
本実施の形態の3次元畳込み演算装置20は、イベントデータのスパース性を利用して、さらに演算量を削減する。図3Cは、入力データがスパースである場合の定速3次元畳込み演算を示す図である。イベントデータはスパース性を有するため、下式(9)に示すように、イベントごとに2次元畳込みを計算できる。
【数18】
【0058】
ここで、x:={x,y,t,p}はイベントを表しており、Sは、画素[x,yの2次元畳込みカーネルw(・,・,1)を変換し、かつ、pに基づいてその記号を変更する関数である。3次元畳込み演算装置20は、タイムステップ(t-1)からtまでの時間間隔δtで生じたイベント全体について、この関数Sの総和をとる。
【0059】
一般的な3次元畳込みでは、時間的カーネルのサイズτ内に過去のイベントが格納されている必要があるが、式(9)によれば、ζへの寄与分が計算されると、イベントデータを連続的に破棄することができる。これにより、メモリ使用量および処理速度に関して、計算上非常に効率的なアルゴリズムが得られる。
【0060】
表1は、演算効率を比較した表である。表1において、各パラメータは、W=240、H=180、T=100、k=33、k=17、τ=32、B=1、及びα=0.01とした。また、長さOの信号のFFTの演算数は、OlogOとしている。
【表1】
【0061】
表1において、「3dconv」は一般的な3次元畳込みであり、「cv3dconv」は本実施の形態の定速3次元畳込みである。表1には、積和演算の回数とともに、CPU及びGPUのそれぞれの実際の演算時間(Time[s])が示されている。また、表1には、一般的な3次元畳込み演算に対する積和演算回数の逆比(Ratio)も示されている。本実施の形態の定速3次元畳込みでは、3次元畳込みのために必要な積和演算の数は、約(k/kτν倍に減少する。
【0062】
本実施の形態の3次元畳込み装置20では、必要な積和演算及びパラメータの数が大幅に削減される。これは、1)3次元畳込みが、効率的な2次元畳込みのτ倍まで減少し、2)2次元カーネルの空間次元が、元の3次元カーネルの空間次元のk/k倍に減少し、3)2次元畳込み演算の結果が、νの異なる速度において共有される、という要因によるものである。
【0063】
時系列データについては、式(7)を用いて積和演算の結果をコピーして再利用することもでき、時間方向の受容野に新たに入るデータと除去されるデータを考慮するだけでよい。さらに、スパース度αのスパースデータの場合は、2次元畳込みにおける積和演算の回数をα倍だけ減少させることができる。
【0064】
なお、実際の速度ゲインは、積和演算の大幅な削減(約1万倍)と比較して緩やかである(CPUは約10倍、GPUは約25倍)。これは、表1には示されていないが式(7)のメモリコピー操作が操作を支配する(>95%)ためである。しかしながら、コピー操作は固定されているので、このコピー操作をGPU言語でコード化してCUDA(Compute Unified Device Architecture)などの専用のハードウェアを用いて行うようにすれば、コピー操作の速度を大幅に向上できる。
【0065】
ビジュアルオドメトリ装置30は、定速3次元畳込み演算を用いて時空間特徴をモデル化する典型的なアプリケーションとして、LSTCNNを用いたビジュアルオドメトリによる自車両の位置姿勢推定を行う。ノイズと目に見えない特徴に対して頑健な推定をするためには、3次元畳込み演算装置20で得られた局所的な特徴の長期依存性をモデル化することが有効である。
【0066】
ビジュアルオドメトリ装置30は、定速3次元畳込みによって抽出された局所時空間特徴のグローバルな時空間相関をモデル化するために、LSTCNNアーキテクチャを利用する。いま、時系列の入力データを
【数19】
とする。ここで、M×Nは、入力データの空間解像度であり、Tはモデル化したい時間長である。LSTCNNであるfは、ターゲット値pにかかわらず、下式(10)のようになる。
【数20】
【0067】
ビジュアルオドメトリ装置30のLSTCNNは、定速3次元畳込みと同様の考え方で設計される。すなわち、ビジュアルオドメトリ装置30のLSTCNNは、過去のタイムステップの計算を再利用することで、時系列の入力データの演算効率を向上する。したがって、本実施の形態のLSTCNNアーキテクチャは、従来のように3次元畳込みないし定速3次元畳込みの層を積み重ねることはない。すなわち、本実施の形態のLSTCNNは、過去の演算結果を可能な限り利用するために、定速3次元畳込みとそれに続く2次元CNNと1次元CNNで構成されている。
【0068】
図4は、本発明の実施の形態のビジュアルオドメトリシステムにおけるLSTCNNの全体構成を示す図である。第1モジュールf3Dには、定速3次元畳込みの単層が含まれている。第1モジュールf3Dは、入力データにおける局所的な時空間的特徴を捕捉するものである。第2モジュールf2Dは、第1モジュールf3Dによって捕捉された局所的な時空間特徴の空間相関を捕捉する2次元空間CNNである。第3モジュールf1Dは、第2モジュールf2Dからの圧縮された特徴の長期間の時間相関を捕捉する1次元因果CNNである。
【0069】
第1モジュールf3Dは、局所的な時空間の相関を捕捉する。{x,y,t,p}で構成されるイベントデータのデータ列は、イベントカメラ10の各ピクセルから非同期的に出力される。各イベントは、密な3次元ボクセルに変換されることなく、式(10)を使用して訓練されたカーネルに直接畳み込まれる。
【0070】
第1モジュールf3Dは、ReLUの非線形性に続く定速3次元畳込みの単層から構成される。第1モジュールf3Dは、入力データXを連続的に受けて、連続的に局所的な時空間特徴
【数21】
を出力する。ここで、本実施の形態のビジュアルオドメトリ装置30では、畳込み前のパディングは使用しないので、M´×N´は、M×Nより小さく、カーネルのサイズkによって決定される。
【0071】
図5は、本発明の実施の形態のビジュアルオドメトリ装置におけるネットワーク構造を示す図である。また、図5では、第3モジュールf1Dによる1次元因果CNNの詳細な構造を示している。2次元空間CNNである第2モジュールf2Dは、空間相関を捕捉する。第2モジュールf2Dは、空間情報が折り畳まれて圧縮された特徴
【数22】
を算出するために定速3次元畳込みによって抽出される局所的な時空間特徴
【数23】
を処理する。
【0072】
上述のように、ビジュアルオドメトリ装置30では、第2モジュール及び第1モジュールが構成されている。ビジュアルオドメトリ装置30では、パディングなしの畳込み層の後にバッチ正則化(Ioffe, S., Szegedy, C.: Batch normalization: Accelerating deep network training by reducing internal covariate shift. In: International conference on machine learning. (2015) 448-45)及びReLUのアクティブ化が行われる。第2モジュールf2Dでは、最後のfc層の後には、バッチ正則化及びReLUのアクティブ化は行われない。第2モジュールf2Dは、2次元CNNから構成され、各特徴e(k=1,…,T)とは独立して動作する。
【0073】
第3モジュールf1Dは、時間相関を捕捉する。第3モジュールf1Dは、圧縮された特徴
【数24】
のシーケンスを処理し、回帰目標値p(例えば、動き)を出力する。第3モジュールf1Dは、最終層にタスク固有のエラー関数を有する因果CNNモジュールのスタックからなる。
【0074】
本実施の形態のビジュアルオドメトリ装置30は、複雑な時間依存性をモデル化するために、WaveNet(van den Oord, A., Dieleman, S., Zen, H., Simonyan, K., Vinyals, O., Graves, A., Kalchbrenner, N., Senior, A.W., Kavukcuoglu, K.: Wavenet: A generative model for raw audio. CoRR abs/1609.03499 (2016))で使用されているのと同じゲート付活性化ユニット(gated activation unit)
【数25】
を使用する。
【0075】
第3モジュールf1Dの最終層は、自車両の局所的な運動を出力する。図8は、自車両の姿勢を更新するために使用されるモデルを示す図である。LSTCNNは、(T+τ-1)の入力フレームを使用して局所的なモーションδpを出力する。
【0076】
通常の都市環境で走行する車両のビジュアルオドメトリによる位置姿勢推定には、図8に示すように、2次元平面上を移動する2次元車両運動を考えるのみで十分である。時刻kにおける自車両の位置姿勢は、p=[x,y,θ]、即ち、自車両の位置、及び方位角によって表現される。本実施の形態では、時刻(k-1)からkまでの前進距離ΔL及び角速度Δθで表現される局所的運動Δp=[ΔL,Δθを用いて自車両の姿勢を更新する。
【0077】
具体的には、ビジュアルオドメトリ装置30は、局所的運動Δpを用いて、自車両の位置姿勢を下式(11)で更新する。
【数26】
式(11)では、SE(3)やSE(2)によるパラメータ化よりはパラメータ数が少なくできている。車は回転せずに横向きに進むことはできないため、式(11)は車両が実行可能な動きを出力するものである。
【0078】
以上のように、本実施の形態のビジュアルオドメトリシステム100によれば、3次元の畳込みカーネルを2次元空間の2次元カーネルと等速直線運動の速度との積に分解することで、3次元畳込み演算を2次元畳込み演算の時間方向の積和演算に置き換えるので、畳込み演算の演算量を削減できる。
【産業上の利用可能性】
【0079】
本発明は、3次元の畳込みカーネルを2次元空間の2次元カーネルと等速直線運動の速度との積に分解することで、3次元畳込み演算を2次元畳込み演算の時間方向の積和演算に置き換えるので、畳込み演算の演算量を削減でき、ビジュアルオドメトリシステム及びそれを構成する3次元畳込み演算装置等として有用である。
【符号の説明】
【0080】
100 ビジュアルオドメトリシステム
10 イベントカメラ
20 3次元畳込み円座装置
30 ビジュアルオドメトリ装置
図1
図2A
図2B
図3A
図3B
図3C
図4
図5