(57)【要約】      （修正有）【課題】イベントカメラの出力に３次元畳込みを行う３次元畳込み演算装置を提供する。【解決手段】ビジュアルオドメトリシステム１００は、車両に前向きに設置され、２次元空間要素と時間要素とを含む時系列データとしてイベントデータを生成するイベントカメラ１０と、イベントデータに対する２次元空間の２次元カーネルの２次元畳込み演算の時間方向の積和演算によって、畳込み演算を行う畳込み演算装置２０と、３次元畳込み演算装置２０による畳込み演算の結果を用いてビジュアルオドメトリにより車両の位置姿勢を推定するビジュアルオドメトリ装置３０とを備えている。【選択図】図１
2019211879.tif 000002
【特許請求の範囲】
【請求項１】
２次元空間要素と時間要素とを含む時系列データを取得し、
前記時系列データに対する２次元空間の２次元カーネルの２次元畳込み演算の時間方向の積和演算によって、畳込み演算を行う、３次元畳込み演算装置。
【請求項２】
複数の異なる前記速度について、前記２次元カーネルによる畳込み演算の結果を共有する、請求項１に記載の３次元畳込み演算装置。
【請求項３】
前記２次元カーネルの空間方向の大きさは、前記３次元カーネルの空間方向の大きさよりも小さい、請求項１又は２に記載の３次元畳込み演算装置。
【請求項４】
前記時間方向の積和演算を周波数空間での平面のサンプリングとその逆フーリエ変換により行う、請求項１〜３のいずれかに記載の３次元畳込み演算装置。
【請求項５】
過去の演算結果をコピーして再利用して、時間方向の受容野に新たに入るデータと時間方向の受容野から出るデータとの寄与のみを計算する、請求項１〜３のいずれかに記載の３次元畳込み演算装置。
【請求項６】
ハードウェア回路を用いて前記再利用のためのメモリコピーを行う、請求項５に記載の３次元畳込み演算装置。
【請求項７】
前記時系列データとしてイベントカメラからのイベントデータを取得し、
前記イベントデータの２次元空間要素に応じて前記２次元カーネルをコピーして再利用する、請求項１〜６のいずれかに記載の３次元畳込み演算装置。
【請求項８】
車両に前向きに設置され、２次元空間要素と時間要素とを含む時系列データとしてイベントデータを生成するイベントカメラと、
前記時系列データに対する２次元空間の２次元カーネルの２次元畳込み演算の時間方向の積和演算によって、畳込み演算を行う３次元畳込み演算装置と、
前記畳込み演算の結果を用いてビジュアルオドメトリにより前記車両の位置姿勢を推定するビジュアルオドメトリ装置と、
を備えた、ビジュアルオドメトリシステム。
【請求項９】
前記３次元畳込み演算装置と前記ビジュアルオドメトリ装置とでＬＳＴＣＮＮが構成され、
前記ＬＳＴＣＮＮは、前記３次元畳込み演算装置で構成される第１モジュールと、前記ビジュアルオドメトリ装置で構成される第２及び第３モジュールとを含み、
前記第１モジュールは、前記時系列データの局所的な時空間的特徴を捕捉し、
前記第２モジュールは、前記第１モジュールの出力の空間相関を捕捉し、
前記第３モジュールは、前記第２モジュールの出力の時間相関を捕捉する、請求項８に記載のビジュアルオドメトリシステム。
【請求項１０】
コンピュータに、
２次元空間要素と時間要素とを含む時系列データを取得するステップ、及び
前記時系列データに対する２次元空間の２次元カーネルの２次元畳込み演算の時間方向の積和演算によって、畳込み演算を行うステップ、
を実行させる３次元畳込みプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２次元空間要素と時間要素とを含む３次元データの畳込み演算を行う３次元畳込み演算装置、及びそれを含むビジュアルオドメトリシステム、並びに３次元畳込みプログラムに関する。
【背景技術】
【０００２】
動作や行動の認識、ビジュアルオドメトリ（即ち、視覚情報に基づく位置姿勢推定）では、連続するデータから時空間特徴を学習することが重要である。ニューラルネットワーク（Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ：以下、「ＮＮ」とも表記する）は、様々な分野で高い性能を示しており、ＮＮを利用して時空間情報と特徴を捉える方法として、３次元畳込みニューラルネットワーク（３  Ｄｅｍｅｎｓｉｏｎａｌ  Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ：以下、「３ＤＣＮＮ」ともいう。）が有効であることが知られている（例えば、非特許文献１）。しかしながら、３ＤＣＮＮに必要な３次元畳込み演算は、計算量が大きく、高い時間解像度の信号に適用することは、計算量及びメモリ使用量の観点から困難である。
【０００３】
近年、イベントカメラという生物の視覚にヒントを得たカメラデバイスが注目されている。従来のカメラが輝度をフレームで取得するのに対して、イベントカメラは、人間の知覚システムを模倣したカメラであり、輝度の変化のみを捉える。イベントカメラの出力は、輝度が所定の閾値以上に変化した場合の時刻、画素の位置、極性（輝度が小さくなったか大きくなったか）を表す非同期のデータ列である。
【０００４】
よって、イベントカメラの出力は、従来のカメラの出力と比較して、空間的に非常にスパース（疎）であり、データ量が非常に少ない。また、イベントカメラは、従来のカメラと比較して、時間解像度が非常に高く（例えば、マイクロミリ秒オーダ）、ダイナミックレンジが高いという特性がある。すなわち、イベントカメラは、従来のカメラと比較して、少データ量、高時間解像度、ハイダイナミックレンジ（ＨＤＲ）という特性を有している。これらの特性は、瞬時ないしリアルタイムに画像処理をして移動体を検知したり、ビジュアルオドメトリで自己の姿勢及び位置の推定を行う必要がある車載システムにとっては非常に重要である。
【０００５】
そこで、このイベントカメラの出力に３ＤＣＮＮを適用することが考えられる。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Tran, D., Bourdev, L.D., Fergus, R., Torresani, L., Paluri, M.: Learning spatiotemporal features with 3D convolutional networks. In: ICCV, pp. 4489-4497 (2015)
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、３次元畳込み演算の制約から、イベントカメラの高時間解像度の信号を３ＤＣＮＮで処理することは困難である。また、３次元畳込み演算は、デンスなデータを想定しており、イベントカメラの出力のようなスパースなデータに３次元畳込演算を適用する場合には、スパースなデータをデンスにする必要があり、イベントカメラのスパース性を活かした効率的な処理を行うことはできない。
【０００８】
本発明は、イベントカメラの出力が、スパースであり、高時間解像度であるという特性を損ねることなく、イベントカメラの出力に３次元畳込みを行う３次元畳込み演算装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の一態様は３次元畳込み演算装置であって、この３次元畳込み演算装置は、２次元空間要素と時間要素とを含む時系列データを取得し、前記時系列データに対する２次元空間の２次元カーネルの２次元畳込み演算の時間方向の積和演算によって、畳込み演算を行う構成を有している。
【００１０】
この構成により、３次元の畳込みカーネルを２次元空間の２次元カーネルと等速直線運動の速度との積に分解することで、３次元畳込み演算を２次元畳込み演算の時間方向の積和演算に置き換えるので、畳込み演算の演算量を削減できる。
【００１１】
上記の３次元畳込み演算装置において、複数の異なる前記速度について、前記２次元カーネルによる畳込み演算の結果を共有してよい。
【００１２】
この構成により、畳込み演算の演算量をさらに削減できる。
【００１３】
上記の３次元畳込み演算装置において、前記２次元カーネルの空間方向の大きさは、前記３次元カーネルの空間方向の大きさよりも小さくてよい。
【００１４】
この構成により、畳込み演算の演算量をさらに削減できる。
【００１５】
上記の３次元畳込み演算装置において、前記時間方向の積和演算を周波数空間での平面のサンプリングとその逆フーリエ変換により行ってよい。
【００１６】
この構成により、３次元フーリエ空間で平面をサンプリングする処理が行われるので、３次元的な変形を行う従来の処理と比較して、畳込み演算の演算量を削減できる。
【００１７】
上記の３次元畳込み演算装置において、過去の演算結果をコピーして再利用して、時間方向の受容野に新たに入るデータと時間方向の受容野から出るデータとの寄与のみを計算してよい。
【００１８】
この構成により、時系列データの場合は前回の結果をほとんど再利用できるので、時間方向の受容野に新しく入ってくる分と、消える分を考慮するだけで、あとは前回の結果を速度に応じてコピーするだけで３次元畳込み演算の結果を得ることができる。
【００１９】
上記の３次元畳込み演算装置において、ハードウェア回路を用いて前記再利用のためのメモリコピーを行ってよい。
【００２０】
過去の演算結果の再利用のためのメモリコピーは固定であるので、この構成によりハードウェアを用いることで、メモリコピーを高速に行うことができる。
【００２１】
上記の３次元畳込み演算装置において、前記時系列データとしてイベントカメラからのイベントデータを取得してよく、前記イベントデータの２次元空間要素に応じて前記２次元カーネルをコピーして再利用してよい。
【００２２】
イベントカメラで得られるイベントデータはスパースであるので、この構成により、入力イベントの座標に応じて２次元カーネルをコピーするという演算で３次元畳込み演算を実現できる。
【００２３】
本発明の一態様は、ビジュアルオドメトリシステムであって、このビジュアルオドメトリシステムは、車両に前向きに設置され、２次元空間要素と時間要素とを含む時系列データとしてイベントデータを生成するイベントカメラと、前記時系列データに対する２次元空間の２次元カーネルの２次元畳込み演算の時間方向の積和演算によって、畳込み演算を行う３次元畳込み演算装置と、前記畳込み演算の結果を用いてビジュアルオドメトリにより前記車両の位置姿勢を推定するビジュアルオドメトリ装置とを備えた構成を有している。
【００２４】
この構成により、ビジュアルオドメトリのための畳込み演算の演算量を削減できる。
【００２５】
上記のビジュアルオドメトリシステムにおいて、前記３次元畳込み演算装置と前記ビジュアルオドメトリ装置とでＬＳＴＣＮＮが構成されてよく、前記ＬＳＴＣＮＮは、前記３次元畳込み演算装置で構成される第１モジュールと、前記ビジュアルオドメトリ装置で構成される第２及び第３モジュールとを含んでよく、前記第１モジュールは、前記時系列データの局所的な時空間的特徴を捕捉してよく、前記第２モジュールは、前記第１モジュールの出力の空間相関を捕捉してよく、前記第３モジュールは、前記第２モジュールの出力の時間相関を捕捉してよい。
【００２６】
本発明の一態様は、３次元畳込みプログラムであって、この３次元畳込みプログラムは、コンピュータに、２次元空間要素と時間要素とを含む時系列データを取得するステップ、及び前記時系列データに対する２次元空間の２次元カーネルの２次元畳込み演算の時間方向の積和演算によって、畳込み演算を行うステップ、を実行させる。
【発明の効果】
【００２７】
本発明によれば、３次元の畳込みカーネルを２次元空間の２次元カーネルと等速直線運動の速度との積に分解することで、３次元畳込み演算を２次元畳込み演算の時間方向の積和演算に置き換えるので、畳込み演算の演算量を削減できる。
【図面の簡単な説明】
【００２８】
【図１】図１は、本発明の実施の形態のビジュアルオドメトリシステムの構成を示すブロック図である。
【図２Ａ】図２Ａは、イベントカメラから見た車両前方の画像の例である。
【図２Ｂ】図２Ｂは、図２Ａの場合のイベントデータを可視化して示す図である。
【図３Ａ】図３Ａは、一般的な３次元畳込みニューラルネットワークにおける畳込み演算を示す図である。
【図３Ｂ】図３Ｂは、定速３次元畳込みにおける畳込み演算を示す図である。
【図３Ｃ】図３Ｃは、入力データがスパースである場合の定速３次元畳込み演算を示す図である。
【図４】図４は、本発明の実施の形態のビジュアルオドメトリシステムにおけるＬＳＴＣＮＮの全体構成を示す図である。
【図５】図５は、本発明の実施の形態のビジュアルオドメトリ装置におけるネットワーク構造を示す図である。
【発明を実施するための形態】
【００２９】
以下、図面を参照して本発明の実施の形態を説明する。なお、以下に説明する実施の形態は、本発明を実施する場合の一例を示すものであって、本発明を以下に説明する具体的構成に限定するものではない。本発明の実施にあたっては、実施の形態に応じた具体的構成が適宜採用されてよい。
【００３０】
図１は、本発明の実施の形態のビジュアルオドメトリシステムの構成を示すブロック図である。ビジュアルオドメトリシステム１００は、イベントカメラ１０と、３次元畳込み演算装置２０と、ビジュアルオドメトリ装置３０とを備えている。イベントカメラ１０は、２次元の座標（ｘ，ｙ）、タイムステップｔ、及び極性（プラスに変化したかマイナスに変化したか）ｐからなるデータを出力する。
【００３１】
イベントカメラ１０は、各ピクセルの受光強度を測定して閾値以上の変化があったときに他のピクセルとは非同期にイベントデータ（ｘｉ，ｙｉ，ｔｉ，ｐｉ）を出力する。すなわち、このイベントカメラ１０の出力は、２次元空間要素（ｘ，ｙ）と時間要素（ｔ）とを含む時系列データであり、時空間特徴を表している。本実施の形態では、イベントカメラ１０は、車両に前方を向けて設置されている。
【００３２】
図２Ａは、イベントカメラから見た車両前方の画像の例であり、図２Ｂは図２Ａの場合のイベントデータを可視化して示す図である。図２Ｂでは、所定の時間内にイベントが生じた回数が多いピクセルをより明るくすることでイベントデータを可視化している。
【００３３】
イベントカメラ１０が車両に前方を向けて設置されているので、図２Ｂに示すように、このイベントカメラ１０で取得されるイベントデータでは、建物や道路上のエッジが、局所的には時間とともに概ね等速で移動している。すなわち、イベントデータから任意に取り出した部分領域のデータは、短時間でみると概ね一定の速度でシフトする。
【００３４】
３次元畳込み演算装置２０は、イベントカメラ１０から入力データとして時系列のイベントデータを取得する。３次元畳込み演算装置２０は、入力データに対して畳込みカーネルで畳込み演算を行う。
【００３５】
時空間特徴をモデル化するために、３次元畳込みニューラルネットワークを利用することができる。一般的な３次元畳込みニューラルネットワークは、以下の式（１）で表される。
【数１】
2019211879.tif 000003
ここで、
【数２】
2019211879.tif 000004
は、時空間特徴の入力データであり、
【数３】
2019211879.tif 000005
は、３次元畳込みカーネルであり、ｚは入力データと同サイズの出力データである。
【００３６】
図３Ａは、一般的な３次元畳込みニューラルネットワークにおける畳込み演算を示す図である。この３次元畳込ニューラルネットワークでは、入力データと３次元畳込みカーネルとの内積演算（即ち、３次元点乗積演算）を時空間方向（即ち、３次元方向）にスライドさせて行う必要がある。各３次元点乗積には、（ｋＬ×ｋＬ×τ）回の積和演算が必要であり、これを（Ｗ×Ｈ×Ｔ）回繰り返す必要がある。このように、３次元畳込みニューラルネットワークは、膨大な演算量を必要とする。
【００３７】
そこで、本実施の形態では、定速近似を行う。上述のように、イベントカメラ１０は車両に前方を向いて設置されているため、任意の部分領域ないし１ピクセルを短時間でみると、イベントは一定の速度でシフトするとみなすことができる。以下、小さな領域についての微小時間、即ち空間的かつ時間的に微小部分を「局所」という。
【００３８】
３次元畳込み演算装置２０は、車両に設置されたイベントカメラ１０のイベントデータが局所的に定速であるという性質を利用して、３次元畳込み演算のコストを低減する。３次元畳込み演算装置２０によるこのような３次元畳込み（演算）を、以下では、「定速３次元畳込み（演算）」という。
【００３９】
いま、座標（ｘ，ｙ）における局所的に一定の速度ξを
【数４】
2019211879.tif 000006
と定義する。
【００４０】
イベントデータが局所的に一定速度である場合には、時刻ｔにおける局所的な一定速度を示す３次元畳込みカーネルｗは、下式（２）のように近似できる。
【数５】
2019211879.tif 000007
【００４１】
式（２）の局所的定速が成り立つ場合には、画像領域Ｘ（・，・，ｔ）における畳込みによって、時刻ｔによらずに同じ応答が得られる。こようなのパラメータ化によって、本実施の形態の定速３次元畳込みが実現される。
【００４２】
上記の式（２）によって、式（１）の３次元畳込みニューラルネットワークは、下式（３）のように書き換えることができる。
【数６】
2019211879.tif 000008
【００４３】
ここで、
【数７】
2019211879.tif 000009
は、下式（４）で表される速度カーネルである。
【数８】
2019211879.tif 000010
【００４４】
図３Ｂは、定速３次元畳込みにおける畳込み演算を示す図である。３次元畳込み演算装置２０は、図３Ｂに示すように、３次元畳込みカーネルを２次元空間カーネルと３次元速度カーネルに分解する。
【００４５】
速度カーネルを含む畳込み演算は、総和Σを使って下式（５）で表される。
【数９】
2019211879.tif 000011
ここで、
【数１０】
2019211879.tif 000012
は、入力データＸと２次元畳込みカーネルｗ（・，・，１）との２次元畳込みであり、これによって従来の３次元畳込みよりも低コストに演算が可能となる。
【００４６】
また、この２次元畳込み演算の結果は、次のタイムステップのｚξ（・，・，ｔ＋１）に再利用することができる。即ち、式（５）は、異なるξによって特徴づけられる異なる３次元畳込みカーネルが、同一の２次元畳込み演算の結果を共用できるということを意味している。
【００４７】
さらに、式（２）で表される分解では、ｗ（・，・，１）の非０要素が排除されない限り、ｗ（・，・，１）の空間次元のサイズｋｓをｖξ（・，・，・）の空間次元のサイズｋＬより小さくすることができる。よって、高速で移動するエッジを小さな２次元カーネルでモデル化することができる。
【００４８】
最終的な３次元畳込み演算の結果は、ξで定義される異なる方向についてζの積和演算を行うことで得られる。以下では、２通りの積和演算の手法を説明する。３次元畳込みカーネルの表現は、時間方向に沿った構造正則化をするものであり、時間次元の項に沿ったパラメータの共有として解釈することができる。このパラメータ共有では、空間次元でパラメータを共有するので、ＣＮＮ自体が正則化として機能するのと同じ方法で正則化として機能することが期待される。
【００４９】
なお、式（２）で表される分解は、３次元畳込みカーネルｗ（・，・，・）の低階数テンソル近似ではなく、むしろ通常は（速度が０（ξ＝［０，０］Ｔ）である場合を除いて）全階級（フルランク）を有する。したがって、分離可能フィルタの技術を使用することはできない。
【００５０】
過去の畳込み演算の結果を利用することで、時系列データの効率的な積和演算が可能になる。すなわち、式（５）によれば、タイムステップ（ｔ＋１）の３次元畳込み演算の結果を得るために必要な計算の大部分は、すでにタイムステップｔで計算されている。すなわち、下式（６）の再帰式が成り立つ。
【数１１】
2019211879.tif 000013
【００５１】
ここで、
【数１２】
2019211879.tif 000014
であり、
【数１３】
2019211879.tif 000015
であり、それぞれ時間方向の受容野から除去されるデータ、及び時間方向の受容野に新たに入ってくるデータの寄与に対応している。実装の際には、各ピクセルに対して４つの積和演算を必要とするバイリニア補間が使用される。
【００５２】
もう一つの積和演算の手法は、３次元フーリエ空間で平面をサンプリングする手法である。式（６）は、時系列データに対して有効であるが、ニューラルネットワークのミニバッチ学習などランダムに取り出した時系列データの場合には有効ではない。そこで、式（５）の効率的な積和演算のための別のアルゴリズムとして、下式（７）のフーリエ変換を用いて導出されるアルゴリズムを用いる。
【数１４】
2019211879.tif 000016
【００５３】
ここで、ζ＾は、ζのフーリエ変換
【数１５】
2019211879.tif 000017
であり、ＦＴは、添え字によって示される次元に対して作用するフーリエ変換を表す。
【００５４】
フーリエ変換を利用する定速３次元畳込みの各項は、それぞれ、２次元畳込み、時間方向の１次元フーリエ変換、空間方向の２次元フーリエ変換を表す。
【００５５】
本実施の形態の３次元畳込み装置２０は、定速３次元畳込み演算をニューラルネットワークに適用するために、逆伝搬アルゴリズムも導出する。２次元のパラメータは、異なるξによって共有されるので、２次元カーネルｗ（・，・，１）のパラメータに対する上位層からの誤差Ｅの導関数は、各ξの寄与の和として下式（８）で計算される。
【数１６】
2019211879.tif 000018
【００５６】
ここで、畳込み
【数１７】
2019211879.tif 000019
は、上記のフーリエ変換を利用する手法によって計算できる。
【００５７】
本実施の形態の３次元畳込み演算装置２０は、イベントデータのスパース性を利用して、さらに演算量を削減する。図３Ｃは、入力データがスパースである場合の定速３次元畳込み演算を示す図である。イベントデータはスパース性を有するため、下式（９）に示すように、イベントごとに２次元畳込みを計算できる。
【数１８】
2019211879.tif 000020
【００５８】
ここで、ｘｉ：＝｛ｘｉ，ｙｉ，ｔｉ，ｐｉ｝はイベントを表しており、Ｓは、画素［ｘｉ，ｙｉ］Ｔの２次元畳込みカーネルｗ（・，・，１）を変換し、かつ、ｐｉに基づいてその記号を変更する関数である。３次元畳込み演算装置２０は、タイムステップ（ｔ−１）からｔまでの時間間隔δｔで生じたイベント全体について、この関数Ｓの総和をとる。
【００５９】
一般的な３次元畳込みでは、時間的カーネルのサイズτ内に過去のイベントが格納されている必要があるが、式（９）によれば、ζへの寄与分が計算されると、イベントデータを連続的に破棄することができる。これにより、メモリ使用量および処理速度に関して、計算上非常に効率的なアルゴリズムが得られる。
【００６０】
表１は、演算効率を比較した表である。表１において、各パラメータは、Ｗ＝２４０、Ｈ＝１８０、Ｔ＝１００、ｋＬ＝３３、ｋＳ＝１７、τ＝３２、Ｂ＝１、及びα=０．０１とした。また、長さＯの信号のＦＦＴの演算数は、ＯｌｏｇＯとしている。
【表１】
2019211879.tif 000021
【００６１】
表１において、「３ｄｃｏｎｖ」は一般的な３次元畳込みであり、「ｃｖ３ｄｃｏｎｖ」は本実施の形態の定速３次元畳込みである。表１には、積和演算の回数とともに、ＣＰＵ及びＧＰＵのそれぞれの実際の演算時間（Ｔｉｍｅ［ｓ］）が示されている。また、表１には、一般的な３次元畳込み演算に対する積和演算回数の逆比（Ｒａｔｉｏ）も示されている。本実施の形態の定速３次元畳込みでは、３次元畳込みのために必要な積和演算の数は、約（ｋＬ／ｋＳ）２τν倍に減少する。
【００６２】
本実施の形態の３次元畳込み装置２０では、必要な積和演算及びパラメータの数が大幅に削減される。これは、１）３次元畳込みが、効率的な２次元畳込みのτ倍まで減少し、２）２次元カーネルの空間次元が、元の３次元カーネルの空間次元のｋＬ／ｋＳ倍に減少し、３）２次元畳込み演算の結果が、νの異なる速度において共有される、という要因によるものである。
【００６３】
時系列データについては、式（７）を用いて積和演算の結果をコピーして再利用することもでき、時間方向の受容野に新たに入るデータと除去されるデータを考慮するだけでよい。さらに、スパース度αのスパースデータの場合は、２次元畳込みにおける積和演算の回数をα倍だけ減少させることができる。
【００６４】
なお、実際の速度ゲインは、積和演算の大幅な削減（約１万倍）と比較して緩やかである（ＣＰＵは約１０倍、ＧＰＵは約２５倍）。これは、表１には示されていないが式（７）のメモリコピー操作が操作を支配する（＞９５％）ためである。しかしながら、コピー操作は固定されているので、このコピー操作をＧＰＵ言語でコード化してＣＵＤＡ（Compute Unified Device Architecture）などの専用のハードウェアを用いて行うようにすれば、コピー操作の速度を大幅に向上できる。
【００６５】
ビジュアルオドメトリ装置３０は、定速３次元畳込み演算を用いて時空間特徴をモデル化する典型的なアプリケーションとして、ＬＳＴＣＮＮを用いたビジュアルオドメトリによる自車両の位置姿勢推定を行う。ノイズと目に見えない特徴に対して頑健な推定をするためには、３次元畳込み演算装置２０で得られた局所的な特徴の長期依存性をモデル化することが有効である。
【００６６】
ビジュアルオドメトリ装置３０は、定速３次元畳込みによって抽出された局所時空間特徴のグローバルな時空間相関をモデル化するために、ＬＳＴＣＮＮアーキテクチャを利用する。いま、時系列の入力データを
【数１９】
2019211879.tif 000022
とする。ここで、Ｍ×Ｎは、入力データの空間解像度であり、Ｔはモデル化したい時間長である。ＬＳＴＣＮＮであるｆは、ターゲット値ｐＫにかかわらず、下式（１０）のようになる。
【数２０】
2019211879.tif 000023
【００６７】
ビジュアルオドメトリ装置３０のＬＳＴＣＮＮは、定速３次元畳込みと同様の考え方で設計される。すなわち、ビジュアルオドメトリ装置３０のＬＳＴＣＮＮは、過去のタイムステップの計算を再利用することで、時系列の入力データの演算効率を向上する。したがって、本実施の形態のＬＳＴＣＮＮアーキテクチャは、従来のように３次元畳込みないし定速３次元畳込みの層を積み重ねることはない。すなわち、本実施の形態のＬＳＴＣＮＮは、過去の演算結果を可能な限り利用するために、定速３次元畳込みとそれに続く２次元ＣＮＮと１次元ＣＮＮで構成されている。
【００６８】
図４は、本発明の実施の形態のビジュアルオドメトリシステムにおけるＬＳＴＣＮＮの全体構成を示す図である。第１モジュールｆ３Ｄには、定速３次元畳込みの単層が含まれている。第１モジュールｆ３Ｄは、入力データにおける局所的な時空間的特徴を捕捉するものである。第２モジュールｆ２Ｄは、第１モジュールｆ３Ｄによって捕捉された局所的な時空間特徴の空間相関を捕捉する２次元空間ＣＮＮである。第３モジュールｆ１Ｄは、第２モジュールｆ２Ｄからの圧縮された特徴の長期間の時間相関を捕捉する１次元因果ＣＮＮである。
【００６９】
第１モジュールｆ３Ｄは、局所的な時空間の相関を捕捉する。｛ｘｉ，ｙｉ，ｔｉ，ｐｉ｝で構成されるイベントデータのデータ列は、イベントカメラ１０の各ピクセルから非同期的に出力される。各イベントは、密な３次元ボクセルに変換されることなく、式（１０）を使用して訓練されたカーネルに直接畳み込まれる。
【００７０】
第１モジュールｆ３Ｄは、ＲｅＬＵの非線形性に続く定速３次元畳込みの単層から構成される。第１モジュールｆ３Ｄは、入力データＸを連続的に受けて、連続的に局所的な時空間特徴
【数２１】
2019211879.tif 000024
を出力する。ここで、本実施の形態のビジュアルオドメトリ装置３０では、畳込み前のパディングは使用しないので、Ｍ´×Ｎ´は、Ｍ×Ｎより小さく、カーネルのサイズｋＳによって決定される。
【００７１】
図５は、本発明の実施の形態のビジュアルオドメトリ装置におけるネットワーク構造を示す図である。また、図５では、第３モジュールｆ１Ｄによる１次元因果ＣＮＮの詳細な構造を示している。２次元空間ＣＮＮである第２モジュールｆ２Ｄは、空間相関を捕捉する。第２モジュールｆ２Ｄは、空間情報が折り畳まれて圧縮された特徴
【数２２】
2019211879.tif 000025
を算出するために定速３次元畳込みによって抽出される局所的な時空間特徴
【数２３】
2019211879.tif 000026
を処理する。
【００７２】
上述のように、ビジュアルオドメトリ装置３０では、第２モジュール及び第１モジュールが構成されている。ビジュアルオドメトリ装置３０では、パディングなしの畳込み層の後にバッチ正則化（Ioffe, S., Szegedy, C.: Batch normalization: Accelerating deep network training by reducing internal covariate shift. In: International conference on machine learning. (2015) 448-45）及びＲｅＬＵのアクティブ化が行われる。第２モジュールｆ２Ｄでは、最後のｆｃ層の後には、バッチ正則化及びＲｅＬＵのアクティブ化は行われない。第２モジュールｆ２Ｄは、２次元ＣＮＮから構成され、各特徴ｅｋ（ｋ＝１，…，Ｔ）とは独立して動作する。
【００７３】
第３モジュールｆ１Ｄは、時間相関を捕捉する。第３モジュールｆ１Ｄは、圧縮された特徴
【数２４】
2019211879.tif 000027
のシーケンスを処理し、回帰目標値ｐＴ（例えば、動き）を出力する。第３モジュールｆ１Ｄは、最終層にタスク固有のエラー関数を有する因果ＣＮＮモジュールのスタックからなる。
【００７４】
本実施の形態のビジュアルオドメトリ装置３０は、複雑な時間依存性をモデル化するために、ＷａｖｅＮｅｔ（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）
【数２５】
2019211879.tif 000028
を使用する。
【００７５】
第３モジュールｆ１Ｄの最終層は、自車両の局所的な運動を出力する。図８は、自車両の姿勢を更新するために使用されるモデルを示す図である。ＬＳＴＣＮＮは、（Ｔ＋τ−１）の入力フレームを使用して局所的なモーションδｐを出力する。
【００７６】
通常の都市環境で走行する車両のビジュアルオドメトリによる位置姿勢推定には、図８に示すように、２次元平面上を移動する２次元車両運動を考えるのみで十分である。時刻ｋにおける自車両の位置姿勢は、ｐｋ＝［ｘｋ，ｙｋ，θｋ］、即ち、自車両の位置、及び方位角によって表現される。本実施の形態では、時刻（ｋ−１）からｋまでの前進距離ΔＬｋ及び角速度Δθｋで表現される局所的運動Δｐｋ＝［ΔＬｋ，Δθｋ］Ｔを用いて自車両の姿勢を更新する。
【００７７】
具体的には、ビジュアルオドメトリ装置３０は、局所的運動Δｐｋを用いて、自車両の位置姿勢を下式（１１）で更新する。
【数２６】
2019211879.tif 000029
式（１１）では、ＳＥ（３）やＳＥ（２）によるパラメータ化よりはパラメータ数が少なくできている。車は回転せずに横向きに進むことはできないため、式（１１）は車両が実行可能な動きを出力するものである。
【００７８】
以上のように、本実施の形態のビジュアルオドメトリシステム１００によれば、３次元の畳込みカーネルを２次元空間の２次元カーネルと等速直線運動の速度との積に分解することで、３次元畳込み演算を２次元畳込み演算の時間方向の積和演算に置き換えるので、畳込み演算の演算量を削減できる。
【産業上の利用可能性】
【００７９】
本発明は、３次元の畳込みカーネルを２次元空間の２次元カーネルと等速直線運動の速度との積に分解することで、３次元畳込み演算を２次元畳込み演算の時間方向の積和演算に置き換えるので、畳込み演算の演算量を削減でき、ビジュアルオドメトリシステム及びそれを構成する３次元畳込み演算装置等として有用である。
【符号の説明】
【００８０】
１００  ビジュアルオドメトリシステム
１０  イベントカメラ
２０  ３次元畳込み円座装置
３０  ビジュアルオドメトリ装置
【図１】
2019211879.tif 000030
【図２Ａ】
2019211879.tif 000031
【図２Ｂ】
2019211879.tif 000032
【図３Ａ】
2019211879.tif 000033
【図３Ｂ】
2019211879.tif 000034
【図３Ｃ】
2019211879.tif 000035
【図４】
2019211879.tif 000036
【図５】
2019211879.tif 000037