JP7036610B2 - 学習方法およびプログラム - Google Patents

学習方法およびプログラム Download PDF

Info

Publication number
JP7036610B2
JP7036610B2 JP2018022308A JP2018022308A JP7036610B2 JP 7036610 B2 JP7036610 B2 JP 7036610B2 JP 2018022308 A JP2018022308 A JP 2018022308A JP 2018022308 A JP2018022308 A JP 2018022308A JP 7036610 B2 JP7036610 B2 JP 7036610B2
Authority
JP
Japan
Prior art keywords
image
neural network
movement amount
output
error
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
JP2018022308A
Other languages
English (en)
Other versions
JP2018156640A (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.)
Panasonic Intellectual Property Corp of America
Original Assignee
Panasonic Intellectual Property Corp of America
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 Panasonic Intellectual Property Corp of America filed Critical Panasonic Intellectual Property Corp of America
Publication of JP2018156640A publication Critical patent/JP2018156640A/ja
Application granted granted Critical
Publication of JP7036610B2 publication Critical patent/JP7036610B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Description

本開示は、学習方法およびプログラムに関し、特にニューラルネットワークを用いてコンピュータが行う学習方法およびプログラムに関する。
近年、画像間の動きを表現したものであるオプティカルフローを推定する技術がある。オプティカルフローをリアルタイムに精度よく推定することができれば、移動中の自動車に搭載されているカメラ等で得た画像から、路上にある複数のオブジェクトを検出または追跡することができる。このため、事故などの可能性を事前に検知し回避するシステムである先進運転支援システム(Advanced Driver Assistance System:ADAS)および自動運転車を実現するための技術としても期待される。
例えば、例えば非特許文献1には、Kitti Datasetなどの既知のデータセットで用意された正解データを教師データとして用いて学習させたニューラルネットワークにオプティカルフローを推定させる技術が開示されている。
G. Long, L. Kneip, J. M. Alvarez, H. Li, X. Zhang, and Q. Yu. Learning image matching by simply watching video.In European Conference on Computer Vision, pages 434-450. Springer, 2016. 1, 3 M. Jaderberg, K. Simonyan, A. Zisserman, et al. Spatial transformer networks. In Advances in Neural Information Processing Systems, pages 2017-2025, 2015. 2
しかしながら、非特許文献1で開示された技術では、オプティカルフローをリアルタイムに精度よく推定させることが難しいという問題がある。既知のデータセットで用意された正解データは、数量が不十分であり、さらに、オプティカルフローの推定に使うために用意されていないからである。一方、教師データなしでニューラルネットワークを学習させることができれば、学習に利用できるデータセットの数量は十分用意できるものの、意図する出力すなわちオプティカルフローの推定を学習させることは難しい。
本開示は、上述の事情を鑑みてなされたもので、ニューラルネットワークに教師データなしでオプティカルフローの推定を学習させることができる学習方法およびプログラムを提供することを目的とする。
上記課題を解決するために、本開示の一形態に係る学習方法は、動画像を構成する時間的に隣接する第1画像および第2画像であって、前記第1画像および前記第1画像から所定時間後の画像である前記第2画像をニューラルネットワークに入力する入力ステップと、前記第1画像および前記第2画像を用いて、前記ニューラルネットワークに、前記第1画像中の全画素に対して用いる変換行列であって前記第1画像を前記第2画像に変換する変換行列を出力することを学習させる学習ステップと、前記変換行列より生成される前記第1画像の各画素の前記所定時間後までの移動量を表現した移動量画像を、前記第1画像および前記第2画像の間の動きの推定結果として出力する出力ステップとを含む。
なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータで読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
本開示の学習方法等によれば、ニューラルネットワークに教師データなしでオプティカルフローの推定を学習させることができる。
図1は、実施の形態における推定器の構成の一例を示すブロック図である。 図2は、図1に示す推定器が用いるニューラルネットワークの構成の一例を示すブロック図である。 図3は、実施の形態におけるH-netの構成の一例を示す図である。 図4は、図1に示す推定器が用いるニューラルネットワークの構成の一例を示すブロック図である。 図5は、実施の形態におけるF-netの構成の一例を示す図である。 図6は、実施の形態における推定器の推定処理結果を概念的に示す図である。 図7は、実施の形態における学習方法を示すフローチャートである。 図8は、実施の形態の学習処理で用いられるニューラルネットワークの構成の一例を示す図である。 図9は、図7に示すステップS12の詳細処理の一例を示すフローチャートである。 図10は、図7に示すステップS12の詳細処理を概念的に示す図である。 図11は、本開示の学習方法の学習効果を示す図である。 図12は、Kitti raw Data setを用いて学習させた本開示のニューラルネットワークの評価結果を示す図である。 図13は、Virtual Kitti Data setを用いて本開示の学習方法を行った場合の評価を示す別の図である。 図14は、DR(eye)VE Data baseを用いて本開示の学習方法の環境条件の影響を評価を示す図である。
(本発明の基礎となった知見)
一般的に、移動中の自動車で得られる画像からモーションフローの推定を精度よく行うことは、専用のハードウェアを必要とする複雑な処理を必要とすることが知られている。一方で、近年では、モーションフローを推定することを目的としたアルゴリズムの開発が盛んになってきている。しかしながら、モーションフローの推定させるために使える、公に利用可能なデータセットは欠如しており、重大な問題となっている。
例えば、公に利用可能なデータセットであるKitti Flow Data setは、2D-3Dマッチングを実行し正確な対応づけを行い正解データを作成するためにLIDAR点群を用いて取得されている。そして、Kitti Flow Data setで用意されている正解データは、400未満の正解情報付きフレームであり、数量は十分でない。さらに、当該正解データは、オプティカルフローの推定に使うために用意されたものでないため、オプティカルフローの推定を学習させるために用いる正解データとしては精度が十分でない。
一方、教師データなしでオプティカルフローの推定を学習させる方法では、十分な数量のデータセットを用いることができるが、教師データという正解情報なしでオプティカルフローの推定をどのように学習させるかが問題である。上記非特許文献1に開示される技術のように、教師データありで学習させた場合でも、オプティカルフローをリアルタイムに精度よく推定させることが難しいことからも問題であることがわかる。
そこで、本開示の一形態に係る学習方法は、動画像を構成する時間的に隣接する第1画像および第2画像であって、前記第1画像および前記第1画像から所定時間後の画像である前記第2画像をニューラルネットワークに入力する入力ステップと、前記第1画像および前記第2画像を用いて、前記ニューラルネットワークに、前記第1画像中の全画素に対して用いる変換行列であって前記第1画像を前記第2画像に変換する変換行列を出力することを学習させる学習ステップと、前記変換行列より生成される前記第1画像の各画素の前記所定時間後までの移動量を表現した移動量画像を、前記第1画像および前記第2画像の間の動きの推定結果として出力する出力ステップとを含む。
これにより、ニューラルネットワークに教師データなしでオプティカルフローの推定を学習させることができる。
また、本開示の一形態に係る学習方法は、動画像を構成する時間的に隣接する第1画像および第2画像であって、前記第1画像および前記第1画像から所定時間後の画像である前記第2画像を、ニューラルネットワークに入力する入力ステップと、i)前記ニューラルネットワークを構成する第1ニューラルネットワークに、前記第1画像および前記第2画像を用いて、前記第1画像の各画素の前記所定時間後までの第1移動量を表現した第1移動量画像を出力することを学習させ、ii)前記ニューラルネットワークを構成する前記第1ニューラルネットワークと異なる第2ニューラルネットワークに、前記第1画像、前記第2画像および前記第1移動量画像を用いて、前記第1画像の各画素の前記所定時間後までの第2移動量を表現した第2移動量画像を出力することを学習させる学習ステップと、前記第2移動量画像を、前記第1画像および前記第2画像の間の動きの推定結果として出力する出力ステップとを含む。
これにより、ニューラルネットワークに教師データなしでオプティカルフローの推定を学習させることができる。
ここで、例えば、前記学習ステップでは、前記第1画像および前記第2画像を用いて、前記第1ニューラルネットワークに、前記第1画像中の全画素に対して用いる変換行列であって前記第1画像を前記第2画像に変換する変換行列を出力することを学習させることにより、前記変換行列から生成される前記第1移動量画像を出力することを学習させてもよい。
また、例えば、前記学習ステップでは、前記変換行列と前記第1画像とにより生成される、前記第1画像から前記所定時間後の画像である第1推定画像と前記第2画像との誤差である第1誤差、および、前記第2移動量画像と前記第1画像とにより生成される、前記第1画像から前記所定時間後の画像である第2推定画像と前記第2画像との誤差である第2誤差を結合した結合誤差を算出し、算出した前記結合誤差が最小になった場合に、前記結合誤差が最小になった前記第1ニューラルネットワークおよび前記第2ニューラルネットワークの重みを、学習させた前記第1ニューラルネットワークおよび前記第2ニューラルネットワークの重みとして決定する決定ステップとを含むとしてもよい。
また、例えばここで、前記ニューラルネットワークを構成する第1ニューラルネットワークは、1以上の畳み込み層と、1以上の全結合層とで構成され、前記全結合層は、前記変換行列を構成する9つの係数となる9つパラメータのうちの少なくとも8つのパラメータを出力するように構成されているとしてもよい。
さらに、例えば、前記ニューラルネットワークを構成する第1ニューラルネットワークは、2以上の畳み込み層とで構成され、前記2以上の畳み込み層のうちの最終層は、前記変換行列を構成する9つの係数となる9つパラメータのうちの少なくとも8つのパラメータを出力するように構成されているとしてもよい。
また、例えば、前記ニューラルネットワークを構成する第2ニューラルネットワークは、1以上の畳み込み層からなる圧縮層と、前記圧縮層の後に位置し、1以上の逆畳み込み層からなる展開層と、前記展開層の後に位置する1つの畳み込み層とで構成され、前記1つの畳み込み層は、前記第2移動量画像を構成する画素の移動量を示す2つのパラメータを出力するように構成されているとしてもよい。
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータで読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。以下の実施の形態で示される数値、形状、構成要素、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また全ての実施の形態において、各々の内容を組み合わせることもできる。
(実施の形態)
以下では、図面を参照しながら、実施の形態における推定器10の情報処理方法等の説明を行う。
[推定器10の構成]
図1は、実施の形態における推定器10の構成の一例を示すブロック図である。図2は、図1に示す推定器10が用いるニューラルネットワークの構成の一例を示すブロック図である。
推定器10は、ニューラルネットワークを用いたコンピュータ等で実現される。推定器10は、時間的に連続する画像から構成される動画像である映像が入力されると、画像間の動きの推定結果であるオプティカルフローを出力する。なお、推定器10は、オプティカルフローとして推定した画像間の動きを表現した画像を出力してもよいし、推定した画像間の動きを表現した情報を出力してもよい。また、映像は、典型的には、自動車に搭載されたカメラ等の撮像手段により、自動車の進む方向を撮影することで得られた時間的に連続する動画像であるが、これに限らない。時間的に連続する静止画像であってもよい。
以下、推定器10が用いるニューラルネットワークの構成例について説明する。
[ニューラルネットワーク10aの構成]
図2は、図1に示す推定器10が用いるニューラルネットワーク10aの構成の一例を示すブロック図である。
ニューラルネットワーク10aは、図2に示すように、H-net11と、STL12とを備える。以下では、ニューラルネットワーク10aは、Ego-motion Networkと称することもある。ニューラルネットワーク10aは、動画像を構成する時間的に隣接する第1画像51および第2画像52であって、第1画像51および第1画像51から所定時間後の画像である第2画像52が入力され、第1画像51および第2画像52の間の動きの推定結果を出力する。
<H-net11>
H-net11は、第1ニューラルネットワークの一例であり、第1画像51中の全画素に対して用いる変換行列Hであって第1画像51を第2画像52に変換する変換行列Hを出力する。より具体的には、H-net11は、1以上の畳み込み層と、1以上の全結合層とで構成され、変換行列Hを構成する3×3の9つの係数となる9つのパラメータを出力する。つまり、全結合層は、変換行列Hを構成する9つの係数となる9つパラメータを出力するように構成されている。なお、全結合層は、変換行列Hを構成する9つの係数となる9つパラメータのうちの少なくとも8つのパラメータを出力するように構成されていてもよい。8つのパラメータから9つ目のパラメータを算出できるからである。
ここで、変換行列Hは、2つの静止画像間のモーションフィールド(動きの領域、場所)を概算することができる行列であり、例えば第1画像51を第2画像52に射影変換することのできる行列である。この変換行列Hでは、3×3の9つパラメータで射影を特徴づけることができるため、出力空間の次元を減少させることができる。このため、H-net11は、高速に演算処理を行うことができる。
図3は、実施の形態におけるH-net11の構成の一例を示す図である。
H-net11は、例えば図3に示すように、6つの畳み込み層(Conv111~Con116)と3つの全結合層(FC117~FC119)とで構成された小型のニューラルネットワークである。Conv111およびConv112の出力数は32、Conv113およびConv113の出力数は64、Conv115およびConv116の出力数は128となるように構成されている。6つの畳み込み層(Conv111~Con116)は、3×3カーネルを特徴とし、畳み込みの適用間隔であるストライドを2としている。6つの畳み込み層(Conv111~Con116)は、ReLU(Rectified Linear Unit)を活性化関数として用いる。
また、FC117の出力数は128、FC118の出力数は1024であり、全結合層の最終層のFC119の出力数は9となるように構成されている。
なお、H-net11は、1以上の畳み込み層と、1以上の全結合層とで構成されれば足りると説明したが、1以上の全結合層のうち最終層となる全結合層の出力数は、FC119に示す9となるように構成される。
また、全結合層の出力結果は、畳み込み層でも実現し得るため、H-net11は、全結合層を構成していなくてもよい。つまり、H-net11は、2以上の畳み込み層で構成されてもよく、2以上の畳み込み層のうち最終層となる畳み込み層の出力数を、FC119と同じように9となるように構成されればよい。上述したように、8つのパラメータから9つ目のパラメータを算出することができるので、2以上の畳み込み層のうちの最終層は、前記変換行列Hを構成する9つの係数となる9つパラメータのうちの少なくとも8つのパラメータを出力するように構成されていてもよい。
<STL12>
STL12は、H-net11より出力された変換行列Hを用いて、第1画像51の各画素の所定時間後までの第1移動量を表現した第1移動量画像61を、第1画像51および第2画像52の間の動きの推定結果として出力する。STL12は、例えば非特許文献2に開示されている空間的不変性を保てる完全に微分可能な空間変換ネットワーク(Spatial Transformer Network:STN)で構成された空間変換層(Spatial transformer Layer)である。非特許文献2では、同一物体のある角度から撮影された画像を、同一物体を別の角度で撮影された他の画像にワープ(変形などの変換)を行わせる変換行列の出力するためのパラメータをSTNに学習させることが開示されている。そして、例えばニューラルネットワークなどの一般的なパラメトリック関数によって2つのフレームU、Ut+1から推定された射影変換Tφが与えられると、STNは、Tφ(U)を計算することで、Ut+1を得ることができる。
なお、STL12は、H-net11より出力された変換行列Hを用いて、第1画像51を変換することで、第2画像52に近い画像である推定画像を生成することができる。H-net11より推定された変換行列Hは、第1画像51を歪ませて第2画像52に変換するための射影行列である。したがって、変換行列Hは、画像間の全体の動きを捉えることができるものの、画像中の個々のオブジェクトの詳細の動きを捉えるまでには至らないグローバル変換を行う。そのため、H-net11より出力された変換行列Hを用いて第1画像51が変換された推定画像は第2画像52とはならず、近い画像となる。同様に、H-net11より出力された変換行列Hを用いて生成される第1移動量画像61は、第1画像51および第2画像52の間の全体の動きの推定結果を示すが、画像中の個々のオブジェクトの詳細な動きの推定までは示していない。
このように、ニューラルネットワーク10aは、H-net11が出力する変換行列Hより生成される第1画像の各画素の所定時間後までの第1移動量を表現した第1移動量画像61を、第1画像51および第2画像52の間の動きの推定結果として出力する。第1移動量画像61は、第1画像51の各画素の所定時間後までの第1移動量を表現していることから、第1画像51と第2画像との間の動きを表現したオプティカルフローと捉えることができる。つまり、ニューラルネットワーク10aは、推定したオプティカルフローを出力できる。
なお、推定器10が用いるニューラルネットワークの構成は、図2に示すニューラルネットワーク10aの構成に限らない。図4に示すニューラルネットワーク10bの構成であってもよい。以下、これについて説明する。
[ニューラルネットワーク10bの構成]
図4は、図1に示す推定器10が用いるニューラルネットワーク10bの構成の一例を示すブロック図である。図2と同様の要素には同一の符号を付しており、詳細な説明は省略する。
ニューラルネットワーク10bは、図4に示すように、H-net11と、STL12とF-net13とを備える。ニューラルネットワーク10bも、ニューラルネットワーク10aと同様に、動画像を構成する時間的に隣接する第1画像51および第2画像52であって、第1画像51および第1画像51から所定時間後の画像である第2画像52が入力され、第1画像51および第2画像52の間の動きの推定結果を出力する。なお、図4では、H-net11と、STL12とF-net13とを有するニューラルネットワークを、Ego-motion Network11aと示している。
<F-net13>
F-net13は、ニューラルネットワーク10bを構成する第1ニューラルネットワークと異なる第2ニューラルネットワークの一例であり、refinement networkと称することもある。F-net13は、第1画像51、第2画像52および第1移動量を表現した第1移動量画像61が入力され、第1画像51の各画素の所定時間後までの第2移動量を表現した第2移動量画像62を出力する。より具体的には、F-net13は、1以上の畳み込み層からなる圧縮層と、圧縮層の後に位置し、1以上の逆畳み込み層からなる展開層と、展開層の後に位置する1つの畳み込み層とで構成され、第2移動量を表現した第2移動量画像62を構成する各画素の移動量を示す2つパラメータを出力する。つまり、展開層の後に位置する1つの畳み込み層は、第2移動量を構成する画素の移動量を示す2つのパラメータを出力するように構成されている。
図5は、実施の形態におけるF-net13の構成の一例を示す図である。
F-net13は、例えば図5に示すように、5つの圧縮層(C-block131~135)と5つの展開層(T-block136~140)と、畳み込み層である最終層(Conv141)とで構成されている。図5に示す矢印は、圧縮層と展開層との間のスキップ接続を示している。5つの圧縮層(C-block131~135)と5つの展開層(T-block136~140)とで、次元削減するオートエンコーダを構成する。5つの展開層(T-block136~140)は5つの圧縮層の構造をミラーリングした構造となっている。
C-block131およびC-block132の出力数は96、C-block133~C-block135の出力数は128である。5つの圧縮層であるC-block133~C-block135はそれぞれ、3つの畳み込み層で構成され、3×3カーネルを特徴とし、3つの畳み込み層のうち最終層のストライドを2、これ以外のストライドを1としている。つまり、各圧縮層では、3つの畳み込み層の最終層以外の2つの畳み込み層では1画素ずつずらして特徴を抽出し、最終層で2画素ずつずらして特徴を抽出する。このようにして、各圧縮層は、入力される第1移動量画像61の特徴を圧縮して次に伝達する。
T-block136~T-block138の出力数は128、T-block139およびT-block140の出力数は96である。5つの展開層であるT-block136~T-block140はそれぞれ、3つの逆畳み込み層(転置畳み込み層とも称する)で構成され、4×4カーネルを特徴とし、3つの畳み込み層のうち先頭層のストライドを2、これ以外のストライドを1としている。つまり、3つの畳み込み層の先頭層では2画素ずつずらして特徴を展開し、後の2つの層で1画素ずつずらして特徴を抽出することで、5つの展開層のそれぞれは、入力される圧縮された第1移動量画像61の特徴を展開して次に伝達する。
また、最終層の畳み込み層であるConv141の出力数は2となるように構成されている。ここで、出力数を2としているのは、第2移動量画像を構成する画素の移動量を、画像のX方向、Y方向の2つのパラメータで表現するからである。
このように、ニューラルネットワーク10bでは、H-net11が出力する変換行列Hより生成される第1画像の各画素の所定時間後までの第1移動量を表現した第1移動量画像61と第1画像51と第2画像とをF-net13に入力する。そして、F-net13が出力する第1画像51の各画素の所定時間後までの第2移動量を表現した第2移動量画像62を、第1画像51および第2画像52の間の動きの推定結果として出力する。
なお、第2移動量画像62は、第1画像51の各画素の所定時間後までの第2移動量を表現していることから、第1画像51と第2画像との間の動きを表現したオプティカルフローと捉えることができる。つまり、ニューラルネットワーク10bは、推定したオプティカルフローを出力できる。
[推定器10の推定処理結果]
図6は、実施の形態における推定器10の推定処理結果を概念的に示す図である。図6には、推定器10が図4に示すニューラルネットワーク10bを用いた場合の推定処理結果の一例が示されている。
図6に示すように、推定器10が用いるニューラルネットワーク10bに、第1画像51および第2画像52として、時間的に連続する車載カメラの画像であるフレームX、Xt+1を入力したとする。この場合、Ego-motion Network11aは、第1移動量画像61として、フレームXの各画素の所定時間後までの移動量を表現した移動量画像FをF-net13に出力する。ここで、移動量画像FはフレームX、Xt+1間の動きを色の濃淡で示した画像である。F-net13は、Ego-motion Network11aから出力された移動量画像FとフレームX、Xt+1とが入力され、フレームXの各画素の所定時間後までの移動量を表現した移動量画像Fを、フレームX、Xt+1の間の動きの推定結果として出力する。
図6に示す例では、移動量画像Fおよび移動量画像Fの中心から左側の色の濃淡において、色が濃いほどフレームX、Xt+1間で左側の動きが大きいことを示している。同様に、移動量画像Fおよび移動量画像の中心から右側の色の濃淡において、色が濃いほどフレームX、Xt+1間で右側の動きが大きいことを示している。
また、移動量画像Fは、フレームX、Xt+1の間の全体の動きを捉えることができるものの、フレームX中に含まれる個々のオブジェクトの詳細な動きを捉えるまでには至らない。一方、移動量画像Fは、移動量画像Fを精緻化(refine)にしたものに該当し、フレームX、Xt+1の間の全体の動きに加えてフレームX中に含まれる個々のオブジェクトの詳細な動きを捉えるものになっている。
[推定器10の学習処理]
以下、このような推定器10を実現するための学習処理について説明する。推定器10として機能する前の、学習処理が行われるものをニューラルネットワーク10cと称して説明する。
[学習方法]
図7は、実施の形態における学習方法を示すフローチャートである。
図7に示すように、まず、コンピュータは、第1画像および第2画像をニューラルネットワーク10cに入力する入力処理を行う(S11)。より具体的には、コンピュータは、動画像を構成する時間的に隣接する第1画像51および第2画像52であって、第1画像51および第1画像51から所定時間後の画像である第2画像52をニューラルネットワーク10cに入力する。
次に、コンピュータは、ニューラルネットワーク10cの学習処理を行う(S12)。ここで、学習後のニューラルネットワーク10cが図2を用いて説明したニューラルネットワーク10aになるとする。この場合、コンピュータは、ステップS11で入力した第1画像51および第2画像52を用いて、ニューラルネットワーク10cに、第1画像51中の全画素に対して用いる変換行列Hであって第1画像51を第2画像52に変換する変換行列Hを出力することを学習させる。
一方、学習後のニューラルネットワーク10cが図4を用いて説明したニューラルネットワーク10bになるとする。この場合、コンピュータは、i)ニューラルネットワーク10cを構成する第1ニューラルネットワークに、ステップS11で入力した第1画像51および第2画像52を用いて、第1画像51の各画素の所定時間後までの第1移動量を表現した第1移動量画像61を出力することを学習させる。また、コンピュータは、i)とともに、ii)ニューラルネットワーク10cを構成する第1ニューラルネットワークと異なる第2ニューラルネットワークに、ステップS11で入力した第1画像51、第2画像52および第1移動量画像61を用いて、第1画像51の各画素の所定時間後までの第2移動量を表現した第2移動量画像62を出力することを学習させる。ここで、コンピュータは、ステップS11で入力した第1画像51および第2画像52を用いて、第1ニューラルネットワークに、第1画像51中の全画素に対して用いる変換行列Hであって第1画像51を第2画像52に変換する変換行列Hを出力することを学習させることにより、変換行列Hから生成される第1移動量画像61を出力することを学習させてもよい。
なお、コンピュータは、動画像を構成する時間的に隣接する第1画像および第2画像の組を大量に用意している。つまり、コンピュータは、ステップS11~S12を繰り返すことで大量の第1画像および第2画像の組を用いて、ニューラルネットワーク10cを学習させることができる。
次に、コンピュータは、オプティカルフロー推定結果の出力処理を行う(S13)。ここで、学習後のニューラルネットワーク10cが図2を用いて説明したニューラルネットワーク10aになるとする。この場合、コンピュータは、ステップS12において学習されたニューラルネットワーク10cが出力する変換行列Hより生成される第1画像51の各画素の所定時間後までの移動量を表現した第1移動量画像61を、第1画像51および第2画像52の間の動きの推定結果として出力する。上述したように、この第1移動量画像61は第1画像51と第2画像との間の動きを表現したオプティカルフローと捉えることができるからである。つまり、コンピュータは、学習後のニューラルネットワーク10cにオプティカルフロー推定結果を出力させることができる。
一方、学習後のニューラルネットワーク10cが図4を用いて説明したニューラルネットワーク10bになるとする。この場合、コンピュータは、ステップS12において学習されたニューラルネットワーク10cが出力する第2移動量画像62を、第1画像51および第2画像52の間の動きの推定結果として出力する。上述したように、この第2移動量画像62は第1画像51と第2画像との間の動きを表現したオプティカルフローと捉えることができるからである。つまり、コンピュータは、学習後のニューラルネットワーク10cにオプティカルフロー推定結果を出力させることができる。
[学習方法の詳細]
以下、図7に示すステップS12の詳細処理について説明する。
<ニューラルネットワーク10cの構成>
図8は、実施の形態の学習処理で用いられるニューラルネットワーク10cの構成の一例を示す図である。図8には、学習後のニューラルネットワーク10cが図4を用いて説明したニューラルネットワーク10bになるとした場合のニューラルネットワーク10cの構成が示されている。なお、図4と同様の要素には同一の符号を付しており、詳細な説明は省略する。
図8に示すニューラルネットワーク10cは、H-net11cと、STL12とF-net13cと、STL14と、第1誤差算出部15と、第2誤差算出部16とを備える。
H-net11cは、学習済みでない重みを有する点を除けば、H-net11と同じである。
STL12は、H-net11cより出力された変換行列Hを用いて、第1画像51の各画素の所定時間後までの第1移動量を表現した第1移動量画像61cを、第1画像51および第2画像52の間の動きの推定結果として出力する。つまり、第1移動量画像61cは、学習済みでないH-net11cが出力した変換行列Hを用いて生成される。
また、STL12は、H-net11cより出力された変換行列Hを用いて第1画像51を変換した画像であって第2画像52と推定する画像である第1推定画像63cを出力する。つまり、STL12は、さらに、第1画像51が入力されることで、H-net11cより出力された変換行列Hから、第2画像52と推定する第1推定画像63cを生成して出力する。
F-net13cは、学習済みでない重みを有する点を除けば、F-net13と同じである。つまり、F-net13cは、第1移動量画像61cを用いて、第2移動量画像62cを生成して出力する。
STL14は、STL12と同様に、STNで構成された空間変換層である。STL14は、F-net13cより出力された第2移動量画像62cを用いて、第2画像52と推定する画像である第2推定画像64cを生成して出力する。
第1誤差算出部15は、第1推定画像63cと第2画像52との誤差である第1誤差を算出する。
第2誤差算出部16は、第2推定画像64cと第2画像52との誤差である第2誤差を算出する。
<ステップS12の詳細処理>
図9は、図7に示すステップS12の詳細処理の一例を示すフローチャートである。図9では、一例として、図8に示したニューラルネットワーク10cを用いてステップS12の学習処理を行うとして説明する。
ステップS12において、コンピュータは、まず、ニューラルネットワーク10cに変換行列Hと第2移動量画像62cとを出力させる(S121)。より具体的には、コンピュータは、H-net11cに、第1画像51中の全画素に対して用いる変換行列Hであって第1画像51を第2画像52に変換する変換行列Hを出力させる。これとともに、コンピュータは、F-net13cに、第1画像51、第2画像52および変換行列Hから生成される第1移動量を表現した第1移動量画像61cを用いて、第1画像51の各画素の所定時間後までの第2移動量を表現した第2移動量画像62cを出力させる。
次に、コンピュータは、ステップS121で出力させた変換行列Hに基づき算出される第1誤差、および、ステップS121で出力させた第2移動量画像62cに基づき算出される第2誤差を結合した結合誤差を算出する(S122)。より具体的には、コンピュータは、第1画像51とステップS121で出力させた変換行列Hとにより生成される、第1画像51から所定時間後の画像である第1推定画像63cと第2画像52との誤差である第1誤差を算出する。また、コンピュータは、第1画像51とステップS121で出力させた第2移動量画像62cとにより生成される、第1画像51から所定時間後の画像である第2推定画像64cと第2画像52との誤差である第2誤差を算出する。そして、コンピュータは、第1誤差と第2誤差とを結合した結合誤差を算出する。
ここで、第1誤差、第2誤差および結合誤差は、例えばCharbonnier lossを用いて算出される。
次に、コンピュータは、ステップS122において算出した結合誤差が最小であるか判定する(S123)。
ステップS123において結合誤差が最小でない場合(S123でNo)、その差が小さくなるようにH-net11cとF-net13cとの重みを更新する(S124)。そして、コンピュータは、ステップS121の処理から繰り返す回帰処理を行う。
一方、ステップS123において結合誤差が最小である場合(S123でYes)、結合誤差が最小になったときのH-net11cとF-net13cの重みを学習済みの重みとして決定する(S124)。より具体的には、S122de算出した結合誤差が最小になった場合、結合誤差が最小になったH-net11cおよびF-net13cの重みを、学習させたEgo-motion Network11aおよびF-net13の重みとして決定する。なお、結合誤差が最小とは、回帰処理の上限回数を決めた場合に、上限回数までの回帰処理における結合誤差の最小を意味するとしてもよい。
図10は、図7に示すステップS12の詳細処理を概念的に示す図である。図10も、図8に示したニューラルネットワーク10cを用いて学習処理した場合の一例が示されている。
図10に示すように、ニューラルネットワーク10cに、第1画像51および第2画像52として、時間的に連続する車載カメラの画像であるフレームX、Xt+1を入力したとする。この場合、コンピュータは、ニューラルネットワーク10cを構成するEgo-motion Network11aに、第1移動量画像61cとして、フレームXの各画素の所定時間後までの移動量を表現した移動量画像FHCをF-net13cに出力させる。ここで、移動量画像FHcはフレームX、Xt+1間の動きを色の濃淡で示している。
また、コンピュータは、Ego-motion Network11aに、H-net11cより出力させた変換行列Hを用いて、フレームXを変換した画像であって第2画像52と推定する画像である第1推定画像E t+1を出力させる。
また、コンピュータは、Ego-motion Network11aから出力された移動量画像FHcとフレームX、Xt+1とをF-net13cに入力する。そして、コンピュータは、F-net13cにフレームXの各画素の所定時間後までの移動量を表現した移動量画像Fcを、フレームX、Xt+1の間の動きの推定結果として出力させる。
また、コンピュータは、STL14に、F-net13cより出力された移動量画像Fcを用いて、第2画像52と推定する画像である第2推定画像E t+1を生成し出力させる。
また、コンピュータは、第1誤差算出部15に第1推定画像E t+1と第2画像52との誤差である第1誤差を算出させ、かつ、第2誤差算出部16に、第2推定画像E t+1と第2画像52との誤差である第2誤差を算出する。そして、コンピュータは、第1誤差、および第2誤差を結合した結合誤差を最小にするように、ニューラルネットワーク10cに重みを学習させる。
ここで、第1誤差および第2誤差を評価するために、例えば(式1)で示されるCharbonnier lossの誤差関数を用いればよい。また、結合誤差は、例えば(式2)のように、第1誤差および第2誤差を重み付けすることによって評価すればよい。なお、(式1)および(式2)に示される誤差関数は一例である。また、(式1)において、εは、例えば0.1などの正則化定数であり、過学習等を抑制するための追加される項である。α、βは重み付けに用いられる。
Figure 0007036610000001
Figure 0007036610000002
図10からわかるように、ニューラルネットワーク10cにオプティカルフロー推定をさせるために、本開示の学習方法を行う際、学習のために入力されるフレームX、Xt+1のうちのフレームXt+1を教師データの役割を担わせることができる。つまり、本開示の学習方法では、学習のためにフレームXと共に入力されるフレームXt+1以外を教師データとする必要がないので、別途正解データを用意しておく必要がないのがわかる。
[効果等]
ニューラルネットワークを用いたオプティカルフローの推定は、最も活発な研究分野の一つである。しかし、車載カメラで撮影された動画像を構成する時間的に隣接する2つの画像間の密なモーションフローを推定することは困難であり、ニューラルネットワークに、オプティカルフローの推定を精度よく短時間に行わせることは難しいとされてきた。
これは主に2つの要因によるものと分析される。1つ目の要因は、オプティカルフローの推定を行うためには自動車の動き(Ego-motionとも呼ばれる)だけではない影響を加味する必要があることである。例えば都市で撮影されたシーン画像は、建物など主に静止した物体から構成され、シーン画像の平面内の動きのパターンは車載カメラの動きと強く相関する。しかし、当該シーン画像は、静止した物体のみで構成されておらず、他の自動車または歩行者など、静止した物体の周囲の物体は車載カメラの動きとは独立して動く。したがって、オプティカルフローの推定結果を信頼できるものにするには、上記のEgo-motionと周囲の物体の動きとの2つのタイプの動きを正しく推定する必要がある。
2つ目の要因は、オプティカルフローの推定を行わせるために、正解情報として画素レベルで正確なオプティカルフロー情報を含むデータを収集する必要があることである。上述したが、このような正解情報を含むデータを収集するのは困難である。一般的に公開されている自動車用データセットは、正解情報としてのオプティカルフロー情報が欠けているからである。
1つ目の要因に対しては、本実施の形態の学習方法では、Ego-motionと周囲物体の動きとの2つのタイプの動きのうち、Ego-motionを第1ニューラルネットワークであるH-netで推定させ、周囲物体の動きを第2ニューラルネットワークであるF-netで推定させることで対処した。つまり、連続した2つ画像間を、時間的に前の画像が時間的に後の画像に、画素レベルで射影幾何変換されていると解し、射影幾何学変換する変換行列の要素を出力することをH-netに学習させる。そして、H-netにより出力された変換行列を上述したSTLで第1移動量画像に変換することで、Ego-motionを示すオプティカルフローの推定をすることができる。なお、射影幾何学変換の空間的制約から、周囲物体の動きを変換行列に反映できないことから、上述したように、第1移動量画像は、連続した2つ画像間の全体の動きの推定結果を示すが、画像中の個々のオブジェクトの詳細な動きの推定までは示していない。
つまり、第1移動量画像は、連続した2つ画像間のオプティカルフローの推定を粗く行ったことに該当する。
そして、第1移動量画像を教師データとして担わせつつ連続した2つ画像間とから、第1移動量画像に周囲物体の動きをさらに反映させた第2移動量画像を出力することをF-netに学習させる。つまり、第2移動量画像は、第1移動量画像の精緻化(refine)を行ったことに該当する。
このようにして、本実施の形態の学習方法によれば、連続した2つ画像間のオプティカルフローの推定を学習させることができる。
2つ目の要因に対して、本実施の形態の学習方法では、学習のために入力される時間的に隣接する2つの画像のうちの時間的に後の画像を教師データとして用いるなどにより自己学習させて対処した。つまり、本実施の形態の学習方法では、オプティカルフローの推定の学習に、予め用意された教師データを必要としないように対処した。
より具体的には、第1ニューラルネットワークであるH-net11に第1画像51を第2画像52に変換する変換行列の出力を学習させることにより、学習のために共に入力される第2画像に教師データの役割を担わせることができる。また、第2ニューラルネットワークであるF-net13に、H-net11が出力する変換行列から生成された第1移動量画像61を教師データの役割を担わせて学習させることができる。つまり、上述したH-net11のみ、またはH-net11およびF-net13を構成するニューラルネットワークを用いる本実施の形態の学習方法によれば、学習のために入力される時間的に隣接する2つの画像のみを用いて、自己学習することができる。
このようにして、本実施の形態の学習方法によれば、たH-net11のみ、またはH-net11およびF-net13を構成するニューラルネットワークに対して、教師データなしでオプティカルフローの推定を学習させることができる。
(実施例)
以下、本開示の推定器10に用いられるニューラルネットワークの有効性について検証したので、その実験結果を実施例として説明する。
上述したように、推定器10に用いられるニューラルネットワークは、学習のために入力される時間的に隣接する2つの画像のうちの時間的に後の画像を教師データとして用いるなどにより自己学習することができる。つまり、オプティカルフローの推定に用意された正解データである教師データを必要としない。このため、推定器10に用いられるニューラルネットワークに学習させる際には、Kitti rawまたはDR(eye)VEなどの大規模な自動車データセットを使用することができる。ここで、Kitti raw Data setは、カールスルーエ市で取得した44000枚の画像を含んでいるし、DR(eye)VE Data baseは、高速道路、繁華街または田舎などにおいて、昼と夜の間、および、太陽と、雨または大きなシーン変動との間の遷移による画像状態の急激な変化を含む、555000枚の画像を含んでいる。
一方、Kitti Flowは、正解情報を含む実際の自動車用のデータセットの最大規模として知られているが、レーニングとテストの2つのバージョンで800個以下の正解情報付きペア画像の組み合わせに過ぎない。なお、近年では、Kittiから影響を受けた合成自動車データセットとしてVirtual Kittiがリリースされている。しかし、このVirtual Kitti Data setでも、オプティカルフロー、セマンティックセグメンテーション、奥行きおよびオブジェクトのバウンディングボックス、並びにオブジェクトバウンディングボックスにおいて、完全な正解情報が付けられた21,000以上のフレームを含むに留まる。
以下では、Kitti raw Data set、Virtual Kitti Data set またはDR(eye)VE Data baseを用いて推定器10に用いられるニューラルネットワークの性能を評価したので、その結果について説明する。なお、以下の実験において、Kitti raw Data set、Virtual Kitti Data set またはDR(eye)VE Data baseの個々のデータセットに対して微調整を行わずに用いた。
<実験条件>
本実験では、学習率を10-4、ミニバッチサイズを16、β1を0.5に設定し、それ以外のパラメータをデフォルト(初期値)としてAdam optimizerを用いて学習を行った。また、学習は、それぞれ1000個のミニバッチで構成された250epoch後に終了するとした。また、H-netおよびF-netの第1誤差および第2誤差を評価するため結合誤差は、上述した(式2)を用いて、αを0.5、βを1とした。
<実験結果>
図11は、本開示の学習方法の学習効果を示す図である。なお、図11では最初の50個のミニバッチ分はプロットスケールをより読みやすくするために省略している。また、図11において、細線のデータは、比較例であり、Virtual Kitti Data setの正解データを教師データとして用いて学習させた場合のバッチ数とAverage Point Errorとの関係を示している。一方、太線のデータは、本開示のニューラルネットワークをVirtual Kitti Data setを用いて教師なしで学習させた場合のバッチ数とReconstruction Errorとの関係を示している。Reconstruction Errorは、(式2)の結合誤差の値に該当する。
図11に示すように、本開示のニューラルネットワークは、比較例と比べて、バッチ数が少ないときには学習効果に差があるものの、バッチ数が500程度以上になると同等になっているのがわかる。つまり、本開示の推定器10に用いられるニューラルネットワーク10cを、教師データなしで学習させた場合でも、十分なバッチ数すなわちデータセット数があれば、効果的な学習を行えるのがわかる。
図12は、Kitti raw Data setを用いて学習させた本開示のニューラルネットワークの評価結果を示す図である。図12では、H-netおよびF-netを独立して例えば(式1)を最小化するように学習させたとき評価結果が示されている。また、図12では、学習後のH-netおよびF-netを有する本開示のニューラルネットワーク10cを、例えば(式2)を最小化するように学習させたとき評価結果がjointとして示されている。また、図12において、Accuracy@5は、End Point Errorが5ピクセル未満のモーションベクトルの比率を意味し、値が高いほど性能が良い。APEはすべてのモーションベクトルのAverage Point Errorを意味し、低いほど性能が良い。なお、Time(s)は、NVIDIA GTX 1080 Ti GPUを使用して計算された実行時間を意味する。
図11に示すように、F-netは、H-netと比較して実行時間が略4倍遅く、精度を示すAccuracy@5およびAPEも悪いのがわかる。F-netは、上述したようなオートエンコーダの構成を有することから、独立した学習で高い性能を達成させるには、大量の正解情報を含むデータセットが必要であると考えられる。
一方、上述した変換行列Hは、画像のワープ(変形などの変換)に用いることから、変換行列の出力を学習させるH-netでは、教師データがなくとも高い性能を示し、12 msの実行時間で変換行列の出力をすることができる。
なお、本開示のニューラルネットワーク10cに該当するjointでは、実行時間がH-netと比較して4倍以上遅く、F-netと比較しても遅いが、Accuracy@5がF-net、H-netと比較して改善していることがわかる。APEも、H-netよりは低いがF-netよりも改善していることがわかる。
これらから、実施の形態で説明したH-netを構成する本開示のニューラルネットワーク10a、および、F-net、H-net構成する本開示のニューラルネットワーク10bが有用であることがわかる。
図13は、Virtual Kitti Data setを用いて本開示の学習方法を行った場合の評価を示す別の図である。図13には、比較例として、教師データを用いて学習された他の手法におけるモデルDeepFlow、EpicFlow、FlowNetv2、MRFlowの評価も示している。
なお、Virtual Kitti Data setは、典型的な自動車の視点を取り入れながらも、他のデータセットとの違いがある。例えば、Virtual Kitti Data setは、コンピュータレンダリングされたシーンに典型的なアーティファクトが存在する。しかし、現時点では、Virtual Kitti Data setは、シーンをコンピュータグラフィックスでワーピング(変形)して得られた、自動車用の高密度な正解オプティカルフロー情報を提供する最大のデータセットである。そして、Virtual Kitti Data setは、LIDARベースの正解情報を有する他のデータセットとは対照的に、正確であることが保証されている。
図13に示すように、Ours(またはOur+FT)すなわち本開示の学習方法は、教師データを用いて学習した他のモデルよりも実行時間が短く、精度を示すAccuracy@5およびAPEも、他のモデルよりと同等以上であるのがわかる。具体的には、本開示の学習方法は、他のモデルと比較して最良のAPE結果を得ている上で、最速の他のモデルよりも2.5倍高速であるのがわかる。
図14は、DR(eye)VE Data baseを用いて本開示の学習方法の環境条件の影響を評価を示す図である。図14には、比較例として、教師データを用いて学習された他の手法におけるモデルDeepFlow、EpicFlowの評価も示している。DR(eye)VE Data baseでは、正解情報が用意されていないため、オプティカルフローを推定した推定画像のPSNR(Peak Signal to Noise Ratio)を測定し、PSNRを環境条件の影響を評価指標とした。
図14に示すように、Oursすなわち本開示の学習方法は、夜間の環境、雨中の環境、日中の環境のいずれの場合でも、教師データを用いて学習した他のモデルよりもPSNRが高いのがわかる。例えば、本開示の学習方法は、他のモデルと比較して夜間の環境でもPSNRが高いことを示している。これは、本開示の学習方法により学習後の推定器10に出力させたオプティカルフローを推定した推定画像の強度が低いのがわかり、当該推定画像が効果的に低い誤差であるのがわかる。また、本実験では、図14に示すように、環境条件が本開示の学習方法により学習させた推定器10のオプティカルフロー推定には大きな影響を与えないことがわかる。
以上のように、本開示に係る学習方法およびそのプログラムによれば、ニューラルネットワークに教師なしでオプティカルフローの推定を学習させることができる。そして、本開示に係る学習方法により学習させた推定器は、オプティカルフローの推定を、リアルタイムに近い短時間で行うことができ、かつ、精度よく行うことができる。したがって、本開示に係る学習方法およびそのプログラムを、ADASまたは自動運転など、リアルタイムかつ精度よく路上にある複数のオブジェクトを検出または追跡をすることが要求されるシステムに十分に適用できる。
(他の実施態様の可能性)
以上、実施の形態において本開示の学習方法について説明したが、各処理が実施される主体や装置に関しては特に限定しない。ローカルに配置された特定の装置内に組み込まれたプロセッサーなど(以下に説明)によって処理されてもよい。またローカルの装置と異なる場所に配置されているクラウドサーバなどによって処理されてもよい。
なお、本開示は、上記実施の形態に限定されるものではない。例えば、本明細書において記載した構成要素を任意に組み合わせて、また、構成要素のいくつかを除外して実現される別の実施の形態を本開示の実施の形態としてもよい。また、上記実施の形態に対して本開示の主旨、すなわち、請求の範囲に記載される文言が示す意味を逸脱しない範囲で当業者が思いつく各種変形を施して得られる変形例も本開示に含まれる。
また、本開示は、さらに、以下のような場合も含まれる。
(1)上記の装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAMまたはハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
(2)上記の装置を構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
(3)上記の装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。前記ICカードまたは前記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。前記ICカードまたは前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ICカードまたは前記モジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
(4)また、本開示は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
(5)また、本開示は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータで読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray(登録商標) Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
また、本開示は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、本開示は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を、前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
本開示は、ニューラルネットワークを用いた学習方法およびプログラムに利用でき、特にADASおよび自動運転など、リアルタイムかつ精度よく路上にある複数のオブジェクトを検出または追跡をすることが要求されるシステムに利用できる。
10 推定器
10a、10b、10c ニューラルネットワーク
11、11c H-net
11a Ego-motion Network
12 STL
13、13c F-net
14 STL
15 第1誤差算出部
16 第2誤差算出部
51 第1画像
52 第2画像
61、61c 第1移動量画像
62、62c 第2移動量画像
63c 第1推定画像
64c 第2推定画像
111、112、113、114、115、116、141 Conv
117、118、119 FC
131、132、133、134、135 C-block
136、137、138、139、140 T-block

Claims (5)

  1. 動画像を構成する時間的に隣接する第1画像および第2画像であって、前記第1画像および前記第1画像から所定時間後の画像である前記第2画像を、ニューラルネットワークに入力する入力ステップと、
    i)前記ニューラルネットワークを構成する第1ニューラルネットワークに、前記第1画像および前記第2画像を用いて、前記第1画像の各画素の前記所定時間後までの第1移動量を表現した第1移動量画像を出力することを学習させ、ii)前記ニューラルネットワークを構成する前記第1ニューラルネットワークと異なる第2ニューラルネットワークに、前記第1画像、前記第2画像および前記第1移動量画像を用いて、前記第1画像の各画素の前記所定時間後までの第2移動量を表現した第2移動量画像を出力することを学習させる学習ステップと、
    前記第2移動量画像を、前記第1画像および前記第2画像の間の動きの推定結果として出力する出力ステップとを含
    前記学習ステップでは、
    前記第1画像および前記第2画像を用いて、前記第1ニューラルネットワークに、前記第1画像中の全画素に対して用いる変換行列であって前記第1画像を前記第2画像に変換する変換行列を出力することを学習させることにより、前記変換行列から生成される前記第1移動量画像を出力することを学習させ
    前記学習ステップでは、
    前記変換行列と前記第1画像とにより生成される、前記第1画像から前記所定時間後の画像である第1推定画像と前記第2画像との誤差である第1誤差、および、前記第2移動量画像と前記第1画像とにより生成される、前記第1画像から前記所定時間後の画像である第2推定画像と前記第2画像との誤差である第2誤差を結合した結合誤差を算出し、
    算出した前記結合誤差が最小になった場合に、前記結合誤差が最小になった前記第1ニューラルネットワークおよび前記第2ニューラルネットワークの重みを、学習させた前記第1ニューラルネットワークおよび前記第2ニューラルネットワークの重みとして決定する決定ステップとを含む
    習方法。
  2. 前記ニューラルネットワークを構成する第1ニューラルネットワークは、
    1以上の畳み込み層と、
    1以上の全結合層とで構成され、
    前記全結合層は、前記変換行列を構成する9つの係数となる9つパラメータのうちの少なくとも8つのパラメータを出力するように構成されている、
    請求項1に記載の学習方法。
  3. 前記ニューラルネットワークを構成する第1ニューラルネットワークは、
    2以上の畳み込み層とで構成され、
    前記2以上の畳み込み層のうちの最終層は、前記変換行列を構成する9つの係数となる9つパラメータのうちの少なくとも8つのパラメータを出力するように構成されている、
    請求項に記載の学習方法。
  4. 前記ニューラルネットワークを構成する第2ニューラルネットワークは、
    1以上の畳み込み層からなる圧縮層と、
    前記圧縮層の後に位置し、1以上の逆畳み込み層からなる展開層と、
    前記展開層の後に位置する1つの畳み込み層とで構成され、
    前記1つの畳み込み層は、前記第2移動量画像を構成する画素の移動量を示す2つのパラメータを出力するように構成されている、
    請求項またはに記載の学習方法。
  5. 動画像を構成する時間的に隣接する第1画像および第2画像であって、前記第1画像および前記第1画像から所定時間後の画像である前記第2画像を、ニューラルネットワークに入力する入力ステップと、
    i)前記ニューラルネットワークを構成する第1ニューラルネットワークに、前記第1画像および前記第2画像を用いて、前記第1画像の各画素の前記所定時間後までの第1移動量を表現した第1移動量画像を出力することを学習させ、ii)前記ニューラルネットワークを構成する前記第1ニューラルネットワークと異なる第2ニューラルネットワークに、前記第1画像、前記第2画像および前記第1移動量画像を用いて、前記第1画像の各画素の前記所定時間後までの第2移動量を表現した第2移動量画像を出力することを学習させる学習ステップと、
    前記第2移動量画像を、前記第1画像および前記第2画像の間の動きの推定結果として出力する出力ステップとを、コンピュータに実行させ、
    前記学習ステップでは、
    前記第1画像および前記第2画像を用いて、前記第1ニューラルネットワークに、前記第1画像中の全画素に対して用いる変換行列であって前記第1画像を前記第2画像に変換する変換行列を出力することを学習させることにより、前記変換行列から生成される前記第1移動量画像を出力することを学習させ
    前記学習ステップでは、
    前記変換行列と前記第1画像とにより生成される、前記第1画像から前記所定時間後の画像である第1推定画像と前記第2画像との誤差である第1誤差、および、前記第2移動量画像と前記第1画像とにより生成される、前記第1画像から前記所定時間後の画像である第2推定画像と前記第2画像との誤差である第2誤差を結合した結合誤差を算出し、
    算出した前記結合誤差が最小になった場合に、前記結合誤差が最小になった前記第1ニューラルネットワークおよび前記第2ニューラルネットワークの重みを、学習させた前記第1ニューラルネットワークおよび前記第2ニューラルネットワークの重みとして決定する決定ステップとを含む
    プログラム。
JP2018022308A 2017-03-16 2018-02-09 学習方法およびプログラム Active JP7036610B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201762472151P 2017-03-16 2017-03-16
US62/472,151 2017-03-16

Publications (2)

Publication Number Publication Date
JP2018156640A JP2018156640A (ja) 2018-10-04
JP7036610B2 true JP7036610B2 (ja) 2022-03-15

Family

ID=63522380

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018022308A Active JP7036610B2 (ja) 2017-03-16 2018-02-09 学習方法およびプログラム

Country Status (5)

Country Link
US (1) US11687773B2 (ja)
EP (1) EP3598387B1 (ja)
JP (1) JP7036610B2 (ja)
CN (1) CN109564687B (ja)
WO (1) WO2018168539A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11008000B2 (en) * 2017-06-20 2021-05-18 Motional Ad Llc Risk processing for vehicles having autonomous driving capabilities
JP7345236B2 (ja) * 2017-11-10 2023-09-15 株式会社小松製作所 作業車両の動作を推定するための方法、システム、学習済みの分類モデルの製造方法、学習データ、及び学習データの製造方法
KR20200010640A (ko) * 2018-06-27 2020-01-31 삼성전자주식회사 모션 인식 모델을 이용한 자체 운동 추정 장치 및 방법, 모션 인식 모델 트레이닝 장치 및 방법
JP2020095428A (ja) 2018-12-12 2020-06-18 株式会社東芝 モデル学習システム、モデル学習方法、プログラム、及び記憶媒体
CN111627051B (zh) * 2019-02-27 2023-12-15 中强光电股份有限公司 电子装置及用以估计光流的方法
US11120582B2 (en) * 2019-07-31 2021-09-14 Z2Sky Technologies Inc. Unified dual-domain network for medical image formation, recovery, and analysis
EP4032299A1 (en) * 2019-09-20 2022-07-27 InterDigital VC Holdings, Inc. Video compression based on long range end-to-end deep learning
DE112020006351T5 (de) * 2019-12-26 2022-10-20 Panasonic Intellectual Property Management Co., Ltd. Anzeigesteuervorrichtung, Anzeigesystem und Anzeigesteuerverfahren
JP7405379B2 (ja) 2022-03-01 2023-12-26 ソフトバンク株式会社 情報処理装置、情報処理方法及び情報処理プログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04241077A (ja) * 1991-01-24 1992-08-28 Mitsubishi Electric Corp 移動物体認識方法
JPH11283040A (ja) * 1998-01-29 1999-10-15 Mitsubishi Electric Corp 操作制御装置および動作解析プログラムを記録したコンピュ―タ読み取り可能な記録媒体
KR20000011728A (ko) * 1998-07-15 2000-02-25 이데이 노부유끼 움직임 벡터 검출 방법, 움직임 벡터 산출 프로그램이 기록된 기록 매체, 움직임 검출 장치, 움직임 검출 방법, 화상 엔코딩 장치, 화상 엔코딩 방법, 움직임 벡터 산출 방법, 움직임 벡터 산출 프로그램이 기록된 기록 매체
JP3963424B2 (ja) * 2000-10-23 2007-08-22 株式会社エッチャンデス 視覚装置
JP4102318B2 (ja) * 2004-03-03 2008-06-18 日本電信電話株式会社 道具動作認識装置および道具動作認識方法
EP1780672A1 (en) * 2005-10-25 2007-05-02 Bracco Imaging, S.P.A. Method of registering images, algorithm for carrying out the method of registering images, a program for registering images using the said algorithm and a method of treating biomedical images to reduce imaging artefacts caused by object movement
JP4615594B2 (ja) * 2008-10-17 2011-01-19 シャープ株式会社 画像表示装置及び方法、画像処理装置及び方法
US9008363B1 (en) * 2013-01-02 2015-04-14 Google Inc. System and method for computing optical flow
JP2016217842A (ja) * 2015-05-19 2016-12-22 株式会社小野測器 回転速度計測装置
US20170109584A1 (en) * 2015-10-20 2017-04-20 Microsoft Technology Licensing, Llc Video Highlight Detection with Pairwise Deep Ranking

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Anurag Ranjan et al.,Optical Flow Estimation using a Spatial Pyramid Network,arXiv,2016年,pp. 1-10,https://arxiv.org/abs/1611.00850
Eddy Ilg et al,FlowNet 2.0: Evolution of Optical Flow Estimation with Deep Networks,arXiv,2016年,pp. 1-10,https://arxiv.org/abs/1612.01925

Also Published As

Publication number Publication date
WO2018168539A1 (ja) 2018-09-20
EP3598387A1 (en) 2020-01-22
CN109564687B (zh) 2023-10-13
US11687773B2 (en) 2023-06-27
US20190332939A1 (en) 2019-10-31
JP2018156640A (ja) 2018-10-04
CN109564687A (zh) 2019-04-02
EP3598387A4 (en) 2020-01-22
EP3598387B1 (en) 2023-09-20

Similar Documents

Publication Publication Date Title
JP7036610B2 (ja) 学習方法およびプログラム
Li et al. A deep learning based image enhancement approach for autonomous driving at night
US11176381B2 (en) Video object segmentation by reference-guided mask propagation
Ming et al. Deep learning for monocular depth estimation: A review
Sakaridis et al. Semantic foggy scene understanding with synthetic data
Yang et al. Dense depth posterior (ddp) from single image and sparse range
AU2017324923B2 (en) Predicting depth from image data using a statistical model
Lin et al. Depth estimation from monocular images and sparse radar data
US20220215568A1 (en) Depth Determination for Images Captured with a Moving Camera and Representing Moving Features
WO2019230339A1 (ja) 物体識別装置、移動体用システム、物体識別方法、物体識別モデルの学習方法及び物体識別モデルの学習装置
KR20210025942A (ko) 종단간 컨볼루셔널 뉴럴 네트워크를 이용한 스테레오 매칭 방법
CN112581379A (zh) 图像增强方法以及装置
CN113159236A (zh) 基于多尺度变换的多聚焦图像融合方法及装置
Hamzeh et al. A review of detection and removal of raindrops in automotive vision systems
Liu et al. Learning to see through obstructions with layered decomposition
CN116596792B (zh) 一种面向智能船舶的内河雾天场景恢复方法、系统及设备
Zhang et al. Dynamic selection of proper kernels for image deblurring: a multistrategy design
KR20230083212A (ko) 객체 자세 추정 장치 및 방법
CN115965531A (zh) 模型训练方法及图像生成方法、装置、设备和存储介质
Haji-Esmaeili et al. Large-scale Monocular Depth Estimation in the Wild
KR102543529B1 (ko) 이미지 블러링 처리장치 및 그 방법
Chougule et al. Agd-net: Attention-guided dense inception u-net for single-image dehazing
Nadar et al. Sensor simulation for monocular depth estimation using deep neural networks
KR102587233B1 (ko) 소수의 협소화각 rgbd 영상으로부터 360 rgbd 영상 합성
US20240147065A1 (en) Method and apparatus with autofocus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200821

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210930

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211005

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211210

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: 20220215

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220303

R150 Certificate of patent or registration of utility model

Ref document number: 7036610

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150