JP6946255B2 - 学習装置、推定装置、学習方法およびプログラム - Google Patents

学習装置、推定装置、学習方法およびプログラム Download PDF

Info

Publication number
JP6946255B2
JP6946255B2 JP2018213008A JP2018213008A JP6946255B2 JP 6946255 B2 JP6946255 B2 JP 6946255B2 JP 2018213008 A JP2018213008 A JP 2018213008A JP 2018213008 A JP2018213008 A JP 2018213008A JP 6946255 B2 JP6946255 B2 JP 6946255B2
Authority
JP
Japan
Prior art keywords
class
estimation
learning
parallax
likelihood
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
JP2018213008A
Other languages
English (en)
Other versions
JP2020080047A (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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2018213008A priority Critical patent/JP6946255B2/ja
Priority to US16/548,550 priority patent/US11531862B2/en
Publication of JP2020080047A publication Critical patent/JP2020080047A/ja
Application granted granted Critical
Publication of JP6946255B2 publication Critical patent/JP6946255B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/2431Multiple classes
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/776Validation; Performance evaluation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads

Landscapes

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

Description

本発明の実施形態は、学習装置、推定装置、学習方法およびプログラムに関する。
ステレオ画像内の各画素に対してステレオ画像間で対応位置を求め、三角測量の原理によって奥行きを求める技術が知られている。このような技術で求められる奥行きの情報には、幅広い用途がある。例えば、自動車の自動運転では、自動車に設置されたカメラ画像から奥行きを求めることで障害物を抽出し、自動車の走行の制御に利用することができる。
また、所定の奥行き間隔ごとにクラスを割り当て、ディープニューラルネットワークなどで表される推定モデルを用いてクラスを推定することで奥行きを推定する技術が提案されている。
特開2017−207874号公報
W. Luo et al.,Efficient Deep Learning for Stereo Matching,International Conference on Computer Vision and Pattern Recognition,2016. A. Kendall et al.,End-to-End Learning of Geometry and Context for Deep Stereo Regression、International Conference on Computer Vision,2017. Seki et al.,SGM-Nets: Semi-global matching with neural networks, International Conference on Computer Vision and Pattern Recognition, 2017.
しかしながら、従来技術では、クラスを高精度に推定できない場合があった。
実施形態の学習装置は、尤度算出部と、重み算出部と、学習部と、を備える。尤度算出部は、入力データが複数の推定クラスのいずれに属するかを推定するための推定モデルを用いて学習データが複数の推定クラスに属する尤度を算出する。重み算出部は、複数の推定クラスのうち他の推定クラスより正解データに近い第1クラスの尤度と、第1クラスに隣接する第2クラスおよび第3クラスの尤度と、を予め定められた形状の関数にあてはめたときに、関数の極値となる位置が正解データに相当するように、推定モデルを学習するときに用いる損失関数の重みを算出する。学習部は、損失関数を用いて推定モデルを学習する。
ステレオ画像を用いた奥行き推定を説明する図。 第1の実施形態にかかる学習装置のブロック図。 第1の実施形態における学習処理のフローチャート。 視差と相違度との関係を示す図。 視差と相違度との関係を示す図。 2次曲線の例を示す図。 等角直線の例を示す図。 第2の実施形態にかかる推定システムのブロック図。 第2の実施形態における推定処理のフローチャート。 ステレオ画像からの視差の推定結果の一例を示す図。 第1または第2の実施形態にかかる装置のハードウェア構成図。
以下に添付図面を参照して、この発明にかかる学習装置の好適な実施形態を詳細に説明する。
奥行きを推定するためのディープニューラルネットワークの学習に用いる損失関数について、以下のような2つの方法が提案されている(非特許文献1)。
・クロスエントロピー(Cross Entropy)損失:最も真の奥行きに近い奥行きのラベルに対して、一定の重みを設定する。
・ソフトクロスエントロピー(Soft Cross Entropy)損失:最も真の奥行きに近い奥行きラベルと、その周辺に一定の重みを設定する。
なお真の奥行きとは、例えば、学習時に正解データとして与えられる奥行きである。これらの方法では、最も真の奥行きに近いクラスは推定されるが、クラス間に位置する奥行きは推定されない。例えば、10m、20m、30mの3つの奥行きクラスが設定されているときには、これらの3つの奥行きクラスのいずれか(10mか、20mか、30mか)のみが推定結果として出力される。一方、例えば、11.5mなどの、3つの奥行きクラスの中間に相当するクラス(中間クラス、サブクラス)は推定されない。
従って、推定精度はクラス数に依存し、高精度に推定するには非常に多くのクラスを用意する必要が生じる。しかし、多数のクラスについて学習データを用意することは困難であり、またニューラルネットワークの規模が大きくなるため、実現は容易ではない。
別の方法として、中間クラスの奥行きを推定するSoft argminレイヤーとL1損失との組み合わせを用いる技術が提案されている(非特許文献2)。しかし、この技術では、真の奥行き周辺で相違度が低くなる保証がない。また、このような技術では、非特許文献3に示すような正則化を用いることができない。
なお相違度とは、入力されたデータが各クラスと相違する度合いを表す値である。相違度は、入力されたデータが各クラスに属することの尤もらしさを表す尺度(尤度)の一例である。尤度の他の例としては、入力されたデータと各クラスとが類似する度合いを示す類似度が挙げられる。
ここで、ステレオ画像を用いた奥行き推定について図1を用いてさらに説明する。視点の異なる2枚の画像301および302があり、画像301上の画素311における奥行きを推定する場合を例に説明する。画素311の奥行きは、光線321上に位置する。このため、光線321を画像302に投影したエピポーラ線331上から画素311に対応する位置が求められる。
ニューラルネットワークを用いない場合には、画素311の周辺に小領域312が設定され、類似するパターンが画像302から探索されることで、画像302内の小領域313が得られる。
ニューラルネットワークを用いる場合には、小領域ではなく、各画素に特徴量が計算され、特徴量を用いて奥行きが推定される。画像302への探索は、通常は画素単位で行われる。従って探索する画素数1つ1つをクラスと考えれば、奥行き推定を多クラス問題として扱うことができる。
なお、類似する画素間の位置の差(例えば画素数)は視差に相当するが、視差は三角測量の原理により奥行きに変換することができる。従って、例えば視差(画素数)を表すクラスを推定することは、奥行きクラスを推定することと等価である。
精度よく奥行きを推定するには、サブピクセル単位で対応位置を求める必要がある。例えば、ニューラルネットワークを用いない技術では、SAD(Sum of Absolute Difference)およびSSD(Sum of Squared Difference)などを用いて小領域同士の相違度を求め、1画素未満のサブピクセルレベルの視差値が必要な場合には、等角直線または二次曲線を用いて推定される。一方、ニューラルネットワークを用いる場合には、クラス単位での学習方法しか開示されていない。このため、サブピクセル単位でクラスを推定することができなかった。
(第1の実施形態)
第1の実施形態にかかる学習装置は、サブクラス単位(例えばサブピクセル単位)でクラスを推定できるように、推定モデルを学習する。この結果、推定モデルが尤度を出力する対象として予め定められた推定クラスの中間のクラスに相当するサブクラスを推定可能となる。すなわち、クラスをより高精度に推定可能となる。以下では、ステレオ画像を用いた視差の推定(奥行きの推定)を例に説明するが、視差の推定以外のクラス推定にも同様の手順を適用可能である。
図2は、第1の実施形態にかかる学習装置100の構成例を示すブロック図である。図2に示すように、学習装置100は、受付部101と、尤度算出部102と、重み算出部103と、学習部104と、出力制御部105と、記憶部121と、を備えている。
記憶部121は、学習装置100による各種処理に用いる各種データを記憶する。例えば記憶部121は、推定処理に用いる推定モデルを定める変数(パラメータ)を記憶する。推定モデルは、例えば、ニューラルネットワーク(ディープニューラルネットワークなど)により表されるモデルである。推定モデルはニューラルネットワークで表されるモデルに限られるものではない。入力データが、複数の推定クラスのいずれに属するかを推定できるモデルであれば、どのようなモデルであってもよい。
記憶部121は、フラッシュメモリ、メモリカード、RAM(Random Access Memory)、HDD(Hard Disk Drive)、および、光ディスクなどの一般的に利用されているあらゆる記憶媒体により構成することができる。
受付部101は、学習装置100による各種処理に用いる各種データの入力を受け付ける。例えば受付部101は、学習処理に用いる学習データの入力を受け付ける。ステレオ画像から視差クラス(奥行きクラス)を推定する場合は、受付部101は、例えば、ステレオ画像と、画素ごとの真の視差(奥行き)を含む正解データと、の入力を受け付ける。
尤度算出部102は、推定モデルを用いて、入力されたデータ(学習データを含む)が複数の推定クラスに属する尤度(例えば相違度)を、複数の推定クラスそれぞれについて算出する。クラスの推定に用いるニューラルネットワークは、データを入力し、複数の推定クラスそれぞれの尤度を出力するように構成することができる。尤度算出部102は、例えばこのようなニューラルネットワークを用いて尤度を算出する。
重み算出部103は、推定モデルを学習するときに用いる損失関数の重みを算出する。より具体的には、重み算出部103は、複数の推定クラスのうち他の推定クラスより正解データに近いクラス(第1クラス)の尤度と、このクラスに隣接する2以上のクラス(第2クラス、第3クラス)の尤度と、を予め定められた形状の関数にあてはめたときに、関数の極値となる位置が正解データに相当するように、損失関数の重みを算出する。重みの算出方法の詳細は後述する。
学習部104は、損失関数を用いて推定モデルを学習する。例えば、学習部104は、学習データに対して算出された尤度と、重み算出部103により算出された重みを適用した損失関数と、を用いて損失を算出し、算出した損失を最小化するように推定モデルを学習する。ニューラルネットワークを推定モデルとして用いる場合、学習部104は、誤差逆伝播法などの学習方法を用いてニューラルネットワークを学習することができる。
出力制御部105は、外部の装置に対するデータの出力処理を制御する。例えば、出力制御部105は、学習した推定モデルに関するデータ(パラメータなど)を、推定モデルにより推定処理を実行する装置に出力する。
上記各部(受付部101、尤度算出部102、重み算出部103、学習部104、および、出力制御部105)は、例えば、1または複数のプロセッサにより実現される。例えば上記各部は、CPU(Central Processing Unit)などのプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現してもよい。上記各部は、専用のIC(Integrated Circuit)などのプロセッサ、すなわちハードウェアにより実現してもよい。上記各部は、ソフトウェアおよびハードウェアを併用して実現してもよい。複数のプロセッサを用いる場合、各プロセッサは、各部のうち1つを実現してもよいし、各部のうち2以上を実現してもよい。
次に、このように構成された第1の実施形態にかかる学習装置100による学習処理について説明する。図3は、第1の実施形態における学習処理の一例を示すフローチャートである。
受付部101は、ステレオ画像と、画素ごとの視差(奥行き)の真値と、の入力を受け付ける(ステップS101)。真の奥行きは、例えばLiDAR(Laser Imaging Detection and Ranging)等の3Dセンサで取得することができる。また、真の奥行きは、カメラの内部パラメータおよび外部パラメータを用いて視差に変換することができる。このようにして算出される視差の真値は、通常、小数精度で表される。
次に尤度算出部102は、ニューラルネットワークなどの推定モデルに受け付けたステレオ画像を入力し、視差ごとの尤度(相違度)を算出する(ステップS102)。尤度算出部102は、例えば、非特許文献2に示されるようなニューラルネットワークを用いて尤度を算出することができる。ただし、非特許文献2に示されるニューラルネットワークには最後にSoft argminレイヤーが含まれているが、このレイヤーは本実施形態では不要である。これにより、各画素において視差ごとの相違度を算出することができる。
正しくニューラルネットワークが学習された場合には、正しい視差で最も低い相違度が出力される。なおニューラルネットワークが尤度として類似度を出力する場合は、正しい視差で最も高い類似度が出力される。すなわち、相違度=−類似度と解釈することができる。
なお上述の通り、非特許文献2のSoft argminレイヤーでは最終的に推定される視差は正しいかもしれないが、正しい視差で最も低い相違度になるとは限らない。例えば、視差50が正しい視差である場合に、視差50で相違度1となり、それ以外は0となれば問題は生じない。しかし非特許文献2の方法では、視差25と視差75でそれぞれ相違度0.5であってもよいため、いずれが正しい視差であるかを一意に決めることができない。
次に学習部104は、画素ごとに視差を算出する(ステップS103)。上述のように視差の真値が小数精度で表される場合は、学習部104は、視差の真値に最も近い整数精度の視差を計算する。例えば学習部104は、小数精度の視差を四捨五入することで、整数精度の視差を算出することができる。整数精度の視差を算出することは、推定モデルが推定する視差クラスのうち、視差の真値に最も近い視差クラスを得ることに相当する。すなわち、本ステップでは、学習部104は、サブクラスを持つ可能性のある真値に対して最も近いクラスを特定する。従って、視差に相当するクラスが1画素単位ではなく、例えば10画素単位である場合には、学習部104は、視差の真値を四捨五入するのではなく、視差の真値に最も近いクラスを、10画素単位の視差クラスから求める。
次に重み算出部103は、ニューラルネットワークの学習に用いる損失関数の重みを算出する(ステップS104)。重みの算出方法は、あてはめに用いる関数ごとに異なる。重みの算出方法の詳細は後述する。
次に学習部104は、算出された重みを設定した損失関数を用いて、学習データに対する損失を算出し、算出した損失を最小化するようにニューラルネットワークを学習する(ステップS105)。学習部104は、例えば、算出した損失を誤差とする誤差逆伝播法により、ニューラルネットワークを学習する。
学習部104は、学習が終了したか否かを判定する(ステップS106)。学習部104は、例えば、学習の回数が上限値に達したか否か、または、損失の改善の大きさが閾値より小さくなったか、などにより、学習の終了を判定する。
学習が終了していない場合(ステップS106:No)、ステップS101に戻り、新たな学習データに対して処理が繰り返される。学習が終了したと判定された場合(ステップS106:Yes)、学習処理を終了する。
このような学習処理により、ニューラルネットワークが持つパラメータが決定される。決定されたパラメータで表されるニューラルネットワークを用いることにより、サブクラス単位でクラスを推定可能となる。例えば視差クラスの推定の場合、サブピクセル単位で視差クラスを推定可能となる。
次に、あてはめる関数の形状として2次曲線の形状を用いる場合(以下の(F1))、および、等角直線の形状を用いる場合(以下の(F2))の2通りの重みの算出方法について説明する。
重み算出方法の説明の前に、非特許文献1で開示されているクロスエントロピー損失、および、ソフトクロスエントロピー損失について説明する。
クロスエントロピー損失Eceは、以下の(1)式に示すように、ラベルxのクラスに対して、重みp(x)と相違度σ(x)の対数を乗算して積算した値である。真のクラスであるときにp(x)は1、それ以外は0とする。図4は、クロスエントロピー損失を用いる場合の視差と相違度との関係を示す図である。dgtは、真値に最も近い視差を表す。クロスエントロピー損失では、視差dgtにのみ、重み「1」が設定される。
Figure 0006946255
ソフトクロスエントロピー損失では、(1)式のp(x)が以下の(2)式のように算出される。
Figure 0006946255
(2)式の例では、真値に最も近い視差dgt、真値の1つ隣の視差dgt±1、および、真値の2つ隣の視差dgt±2の合計5つの視差に重みが設定される。具体的には、視差dgtにはλ1が、視差dgt±1にはλ2が、視差dgt±2にはλ3が、重みp(x)として設定される。図5は、ソフトクロスエントロピー損失を用いる場合の視差と相違度との関係を示す図である。
なお非特許文献1では、λ1、λ2およびλ3は、それぞれ0.5、0.2、および、0.05とされている。このように、非特許文献1では、真値に最も近い視差dgtを基準に一定の重みが設定される。従って、仮に本実施形態と同様に2次曲線または等角直線を相違度に対してあてはめたとしても、真値に最も近い視差dgtが極値を持つ値として推定される。このため、サブクラスに位置する真値そのものを推定することはできない。
(F1)2次曲線の場合
あてはめる関数として、2次曲線を用いる場合について説明する。図6は、あてはめた2次曲線の例を示す図である。図6に示すように、真値601に最も近い視差dgtとそれに隣接する視差dgt+1と視差dgt−1の相違度に対して2次曲線611をあてはめると、真値601に最も近い視差dgtから真値601までの偏差d^は以下の(3)式によって求めることができる。
Figure 0006946255
重み算出部103は、ニューラルネットワークで出力される相違度が、真値に最も近いクラス周辺で2次曲線の形状となるように、(1)式の重みp(x)を以下の(4)式に従い算出する。
Figure 0006946255
αは設定パラメータであり、例えば0.2が設定される。αの値はこれに限られず、非負でp(x)>0を満たせばどのような値であってもよい。
また、(4)式では隣接するクラス(視差)は、視差dgt+1と視差dgt−1としているが、隣接する2以上のクラス(視差)であればどのようなクラスを用いてもよい。例えば、視差dgt+Kと視差dgt−Kと(Kは2以上の整数)を用いてもよい。また、隣接するクラスの個数および位置は、左右で異なっていてもよい。
ここで、(4)式を導出する手順について説明する。偏差d^で極値となる2次曲線を以下の(5)式で表す。ここで、αとβは曲線の形状を決めるパラメータである。
Figure 0006946255
(3)式をdgtを中心として考えると、dgtは0、dgt−1は−1、dgt+1は1である。相違度σは2次関数であるため、(5)式を代入すると、以下の(6)式のように表される。
Figure 0006946255
クロスエントロピーで与える重みの和が1になるように正規化すると、以下の(7)式が得られる。
Figure 0006946255
(7)式を整理すると以下の(8)式が得られる。
Figure 0006946255
(8)式をβについて整理すると、以下の(9)式が得られる。
Figure 0006946255
(9)式および(6)式から(4)式を導出することができる。
(4)式は、視差dgtと視差dgt+1と視差dgt−1のそれぞれの重みを(3)式に代入して得られる偏差d^が一致するという条件を満たす。この条件を満たせば、(4)式以外の式により重みを算出してもよい。
(F2)等角直線の場合
あてはめる関数として、等角直線を用いる場合について説明する。図7は、あてはめた等角直線の例を示す図である。図7に示すように、真値701に最も近い視差dgtとそれに隣接する視差dgt+1と視差dgt−1の相違度に対して等角直線711、712をあてはめると、等角直線の極小値で真の視差となる。また、真値701に最も近い視差dgtから真値701までの偏差d^は以下の(10)式によって求めることができる。
Figure 0006946255
重み算出部103は、(10)式を満たすような重みとして、以下の(11)式に従い重みを決めればよい。
Figure 0006946255
ここで、(11)式を導出する手順について説明する。2次曲線の場合と同様に、dgtを中心として考えると、dgtは0、dgt−1は−1、dgt+1は1である。等角直線を以下の(12)式および(13)式で表す。
Figure 0006946255
Figure 0006946255
等角直線であることから、傾きαは(12)式と(13)式で正負が逆になる。まず、σ(dgt+1)<σ(dgt−1)の場合を考える。dgt−1とdgtは(12)式で表現され、dgt+1は(13)式で表現されることから、以下の(14)式が得られる。
Figure 0006946255
(14)式を(10)式に代入すると、以下の(15)式が得られる。
Figure 0006946255
また、(7)式と同様に、重みの和が1になるように正規化すると、以下の(16)式が得られる。
Figure 0006946255
(15)式と(16)式より、以下の(17)式が得られる。
Figure 0006946255
(12)式および(13)式の等角直線は偏差d^で最小値となるように設定されており、重みもσ(0)が最小となる。クロスエントロピーでは真値に近い方の重みを大きくする必要があるため、等角直線は上に凸な形状である。よって、上に凸になるように、ここでは1から減じる形とする。これにより、以下の(18)式が得られる。
Figure 0006946255
(17)式と(18)式より、(11)式が導出される。σ(dgt+1)≧σ(dgt−1)の場合も同様の手順で(11)式が導出される。
(11)式は、視差dgtと視差dgt+1と視差dgt−1のそれぞれの重みを(10)式に代入して得られる偏差d^が一致するという条件を満たす。この条件を満たせば、(11)式以外の式により重みを算出してもよい。また、αは設定パラメータであり、p(x)が非負になるように調整されればよい。αは、例えば0.1などの値が設定される。
なお、図6および図7は、相違度を尤度として用いる例を示すため、2次曲線または等角直線の極値は極小値となる。例えば類似度のように、値が大きいほど、クラスに属することの尤もらしさが大きいことを示す尤度を用いる場合は、2次曲線または等角直線の極値は極大値となる。このような場合であっても、重みおよび偏差は、上記の(3)式、(4)式、(10)式および(11)式により算出することができる。
なお、これまでは、ステレオ画像からの視差(奥行き)の推定を例に説明したが、1つの画像からの視差の推定、および、視差の推定以外のクラス推定にも適用可能である。例えば、順序性を持つ(例えば数値として表される)クラスを推定対象とする場合にも上記と同様の手順を適用できる。
順序性を持つクラスとしては、例えば、画像データから推定される画像データ内のオブジェクトの動き(動きベクトルなど)を表すクラス、および、画像データから推定される画像データ内の物体(人物など)の属性(人物の年齢など)を表すクラスが挙げられる。
例えば、顔画像からニューラルネットワークを用いて年齢を推定する場合、0歳、10歳、・・・のように10歳間隔でクラスを設定する。真値が12歳などのサブクラスでは、0歳と10歳と20歳の3つのクラスの相違度に対して、予め定められた形状の関数(2次曲線、等角直線など)をあてはめることで、相違度の極値が12歳となるように3つのクラスの重みを設定する。この重みを用いてニューラルネットワークの損失関数を構成し、この損失関数により算出される損失を逆伝播することでニューラルネットワークを学習する。
なお2次元で表される動きベクトルを推定する場合、尤度は2次元で表されるが、このような場合も、例えば2次元で表される尤度を予め定められた形状の関数にあてはめ、上記と同様の手順を適用することができる。
このように、第1の実施形態にかかる学習装置では、サブクラス単位でクラスを推定できるように推定モデルを学習する。これにより、学習した推定モデルを用いて、サブクラスを推定可能となる。すなわち、クラスをより高精度に推定可能となる。
(第2の実施形態)
第2の実施形態では、第1の実施形態の学習装置100で学習した推定モデルを用いてクラスを推定する推定装置を備える推定システムについて説明する。
図8は、第2の実施形態にかかる推定システムの構成の一例を示すブロック図である。図8に示すように、推定システムは、学習装置100と、推定装置200と、がネットワーク300により接続された構成となっている。
ネットワーク300は、インターネットなどであるが、その他のどのような形態のネットワークであってもよい。例えば、ネットワーク300は、有線ネットワークおよび無線ネットワークのいずれであってもよい。
学習装置100は、第1の実施形態と同様の機能を備えるため、同一の符号を付し説明を省略する。
推定装置200は、通信制御部201と、受付部202と、尤度算出部203(第2尤度算出部)と、推定部204と、記憶部221と、を備えている。
記憶部221は、推定装置200で実行される各種処理で用いる各種データを記憶する。例えば記憶部221は、学習装置100から送信された推定モデルのパラメータを記憶する。記憶部221は、フラッシュメモリ、メモリカード、RAM、HDD、および、光ディスクなどの一般的に利用されているあらゆる記憶媒体により構成することができる。
通信制御部201は、学習装置100などの外部装置との間の通信を制御する。例えば通信制御部201は、学習装置100から、学習済みの推定モデルを定めるパラメータの情報などを受信する。
受付部202は、推定装置200による各種処理に用いる各種データの入力を受け付ける。例えば受付部202は、推定処理の対象となる入力データの入力を受け付ける。ステレオ画像から視差クラス(奥行きクラス)を推定する場合は、受付部101は、例えば、ステレオ画像の入力を受け付ける。
尤度算出部203は、記憶部221に記憶された推定モデルを用いて、入力データが複数の推定クラスに属する尤度(例えば相違度)を、複数の推定クラスそれぞれについて算出する。
推定部204は、算出された尤度を用いて、入力データのクラスを推定する。より具体的には、推定部204は、複数の推定クラスのうち尤度が最大となるクラス(第4クラス)の尤度と、このクラスに隣接する2以上のクラス(第5クラス、第6クラス)の尤度と、を予め定められた形状の関数にあてはめたときに、関数の極値となる位置に相当するクラスまたはサブクラスを、入力データのクラスとして推定する。なお尤度として相違度を用いる場合は、尤度が最大となることは、相違度が最小となることに相当する。推定処理の詳細は後述する。
なお、図8に示す推定システムの構成は一例であり、これに限られるものではない。例えば、推定装置200の各部と学習装置100の各部とを1つの装置(推定装置)内に備える構成としてもよい。この場合、共通化できる機能(例えば、受付部101と受付部202、尤度算出部102と尤度算出部203、記憶部121と記憶部221)は共通化してもよい。また推定装置200は、物理的に1つの装置によって構成されてもよいし、物理的に複数の装置によって構成されてもよい。例えば推定装置200は、クラウド環境上で構築されてもよい。
次に、このように構成された第2の実施形態にかかる推定装置200による推定処理について図9を用いて説明する。図9は、第2の実施形態における推定処理の一例を示すフローチャートである。なお第2の実施形態は、第1の実施形態と同様にステレオ画像からの視差推定を例に説明するが、適用可能なクラスは視差クラスに限定されるものではない。また推定処理の前までに、学習装置100で学習された推定モデルのパラメータが記憶部221に記憶され、推定処理で利用できるようになっているものとする。
受付部202は、ステレオ画像の入力を受け付ける(ステップS201)。第2の実施形態では、ニューラルネットワークの学習が不要であるため、真値は入力されない。
次に尤度算出部203は、記憶部221に記憶された推定モデル(例えばニューラルネットワーク)のパラメータを用いて、入力されたステレオ画像に対する相違度を算出する(ステップS202)。この処理により、画像内の各画素に対して、予め定められた視差クラス(視差数)ごとの相違度が求められる。
次に推定部204は、画像内の画素ごとに、相違度が最小となる視差d(類似度であれば、類似度が最大となる視差)を算出する(ステップS203)。推定部204は、例えば以下の(19)式を用いて、視差dを算出する。
Figure 0006946255
さらに推定部204は、dに隣接する視差d+1およびd−1を特定する。特定する視差はdの1つ隣の視差dgt±1である必要はなく、少なくとも2つ以上の隣接する視差であればよい。
推定部204は、相違度が最小となる視差d、および、隣接する2つの視差の合計3つの視差の相違度を用いて、予め定められた形状の関数にあてはめたときに関数の極値となる位置に対する偏差d^を算出する(ステップS204)。予め定められた形状の関数は、上記(F1)2次曲線または(F2)等角直線のいずれかであり、ニューラルネットワークの学習時と同じ関数が用いられる。
(F1)2次曲線の場合には、推定部204は(3)式に相違度σを代入し、偏差d^を算出する。(F2)等角直線の場合には、推定部204は(10)式に相違度σを代入し、偏差d^を算出する。
次に推定部204は、算出された偏差d^を用いて、サブクラス単位の視差(サブピクセル視差)を推定する(ステップS205)。(3)式または(10)式により、偏差d^は−0.5〜0.5の範囲で推定される。隣接する視差が1画素の場合、すなわち、視差クラスが1画素単位で定められている場合には、算出された偏差d^をそのまま用いればよい。視差クラスがN画素(Nは2以上の整数)単位で定められている場合は、算出された偏差d^をN倍して用いればよい。
推定部204は、算出された視差dと偏差d^を以下の(20)式に示すように加算してサブピクセル視差Dを算出する。
Figure 0006946255
図10は、ステレオ画像からの視差の推定結果の一例を示す図である。画像1001は、入力画像の例を示す。画像1002〜1008は、視差画像の例を示す。視差画像は、例えば色ごとに視差の大きさを示す画像として表すことができる。例えば視差が大きい(距離が近い)ほど暖色に近くなり、視差が小さい(遠方)ほど青色に近くなるような画像とすることができる。道路などは連続的に距離が変化するため、手前から遠方に向かうにしたがって、連続的に色が変化している様子が示されている。
画像1002は、視差の真値を示す視差画像の例である。画像1004は、クロスエントロピー損失を用いて学習したニューラルネットワークにより、画素ごとに最小の相違度を持つ視差を算出し、視差の大きさに応じて可視化した視差画像の例を示す。画像1003は、画像1004と同様に算出した視差について、ステップS204と同様の方法で偏差を算出し、ステップS205と同様の方法でサブピクセル視差を推定し、サブピクセル視差を可視化した視差画像の例を示す。
画像1003および1004の両方とも、色が連続して変わっておらず、離散的な視差が推定されていることが確認できる。クロスエントロピー損失では、ニューラルネットワークの学習時に、サブクラスを考慮して損失の重みを設定しないためである。
画像1006および1005は、クロスエントロピー損失の代わりにソフトクロスエントロピー損失を損失関数として用いて、それぞれ画像1004および1003と同様の処理を適用して得られた視差画像の例を示す。画像1005に示すように、ソフトクロスエントロピー損失についても、ステップS204およびステップS205と同様の方法を適用しただけではサブクラスは正しく推定されない。
画像1008は、本実施形態の方法により学習したニューラルネットワークを用いて、画素ごとに最小の相違度を持つ視差を算出し、視差の大きさに応じて可視化した視差画像の例を示す。画像1007は、さらにステップS204に示す方法により偏差を算出し、ステップS205に示す方法によりサブピクセル視差を推定し、サブピクセル視差を可視化した視差画像の例を示す。
画像1008に示すように、関数にあてはめてサブピクセル視差を推定する処理(ステップS204、ステップS205)を実行しない場合は、離散的なクラスしか推定されず、視差が非連続で変化している。これに対して、画像1007に示すように、関数にあてはめてサブピクセル視差を推定する処理を実行すると、連続的に視差が変化し、真値に近い値が推定可能となる。
このように、第2の実施形態にかかる推定装置では、サブクラス単位でクラスを推定できるように学習した推定モデルを用いることにより、入力データのクラスをサブクラス単位で推定可能となる。
以上説明したとおり、第1から第2の実施形態によれば、サブクラス単位でクラスを推定できるように推定モデルを学習することにより、クラスをより高精度に推定可能となる。
次に、第1または第2の実施形態にかかる装置(学習装置、推定装置)のハードウェア構成について図11を用いて説明する。図11は、第1または第2の実施形態にかかる装置のハードウェア構成例を示す説明図である。
第1または第2の実施形態にかかる装置は、CPU51などの制御装置と、ROM(Read Only Memory)52やRAM(Random Access Memory)53などの記憶装置と、ネットワークに接続して通信を行う通信I/F54と、各部を接続するバス61を備えている。
第1または第2の実施形態にかかる装置で実行されるプログラムは、ROM52等に予め組み込まれて提供される。
第1または第2の実施形態にかかる装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM(Compact Disk Read Only Memory)、フレキシブルディスク(FD)、CD−R(Compact Disk Recordable)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供されるように構成してもよい。
さらに、第1または第2の実施形態にかかる装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、第1または第2の実施形態にかかる装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
第1または第2の実施形態にかかる装置で実行されるプログラムは、コンピュータを上述した装置の各部として機能させうる。このコンピュータは、CPU51がコンピュータ読取可能な記憶媒体からプログラムを主記憶装置上に読み出して実行することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
100 学習装置
101 受付部
102 尤度算出部
103 重み算出部
104 学習部
105 出力制御部
121 記憶部
200 推定装置
201 通信制御部
202 受付部
203 尤度算出部
204 推定部
221 記憶部
300 ネットワーク

Claims (13)

  1. 入力データが複数の推定クラスのいずれに属するかを推定するための推定モデルを用いて、学習データが複数の前記推定クラスに属する尤度を算出する尤度算出部と、
    複数の前記推定クラスのうち他の前記推定クラスより正解データに近い第1クラスの尤度と、前記第1クラスに隣接する第2クラスおよび第3クラスの尤度と、を予め定められた形状の関数にあてはめたときに、前記関数の極値となる位置が前記正解データに相当するように、前記推定モデルを学習するときに用いる損失関数の重みを算出する重み算出部と、
    前記損失関数を用いて前記推定モデルを学習する学習部と、
    を備える学習装置。
  2. 前記形状は、2次曲線の形状、または、等角直線の形状である、
    請求項1に記載の学習装置。
  3. 複数の前記推定クラスは、画像データから推定される視差を表すクラス、画像データから推定される画像データ内のオブジェクトの動きを表すクラス、または、画像データから推定される画像データ内の物体の属性を表すクラスである、
    請求項1に記載の学習装置。
  4. 前記推定モデルは、ニューラルネットワークモデルである、
    請求項1に記載の学習装置。
  5. 請求項1に記載の学習装置により学習された前記推定モデルを用いて、入力データが複数の前記推定クラスに属する尤度を算出する第2尤度算出部と、
    複数の前記推定クラスのうち前記尤度が最大となる第4クラスの前記尤度と、前記第4クラスに隣接する第5クラスおよび第6クラスの尤度と、を前記関数にあてはめたときに、前記関数の極値となる位置に相当するクラスを推定する推定部と、
    を備える推定装置。
  6. 入力データが複数の推定クラスのいずれに属するかを推定するための推定モデルを用いて、学習データが複数の前記推定クラスに属する尤度を算出する尤度算出ステップと、
    複数の前記推定クラスのうち他の前記推定クラスより正解データに近い第1クラスの尤度と、前記第1クラスに隣接する第2クラスおよび第3クラスの尤度と、を予め定められた形状の関数にあてはめたときに、前記関数の極値となる位置が前記正解データに相当するように、前記推定モデルを学習するときに用いる損失関数の重みを算出する重み算出ステップと、
    前記損失関数を用いて前記推定モデルを学習する学習ステップと、
    を含む学習方法。
  7. 前記形状は、2次曲線の形状、または、等角直線の形状である、
    請求項6に記載の学習方法。
  8. 複数の前記推定クラスは、画像データから推定される視差を表すクラス、画像データから推定される画像データ内のオブジェクトの動きを表すクラス、または、画像データから推定される画像データ内の物体の属性を表すクラスである、
    請求項6に記載の学習方法。
  9. 前記推定モデルは、ニューラルネットワークモデルである、
    請求項6に記載の学習方法。
  10. コンピュータを、
    入力データが複数の推定クラスのいずれに属するかを推定するための推定モデルを用いて、学習データが複数の前記推定クラスに属する尤度を算出する尤度算出部と、
    複数の前記推定クラスのうち他の前記推定クラスより正解データに近い第1クラスの尤度と、前記第1クラスに隣接する第2クラスおよび第3クラスの尤度と、を予め定められた形状の関数にあてはめたときに、前記関数の極値となる位置が前記正解データに相当するように、前記推定モデルを学習するときに用いる損失関数の重みを算出する重み算出部と、
    前記損失関数を用いて前記推定モデルを学習する学習部と、
    として機能させるためのプログラム。
  11. 前記形状は、2次曲線の形状、または、等角直線の形状である、
    請求項10に記載のプログラム。
  12. 複数の前記推定クラスは、画像データから推定される視差を表すクラス、画像データから推定される画像データ内のオブジェクトの動きを表すクラス、または、画像データから推定される画像データ内の物体の属性を表すクラスである、
    請求項10に記載のプログラム。
  13. 前記推定モデルは、ニューラルネットワークモデルである、
    請求項10に記載のプログラム。
JP2018213008A 2018-11-13 2018-11-13 学習装置、推定装置、学習方法およびプログラム Active JP6946255B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018213008A JP6946255B2 (ja) 2018-11-13 2018-11-13 学習装置、推定装置、学習方法およびプログラム
US16/548,550 US11531862B2 (en) 2018-11-13 2019-08-22 Learning device, estimating device, learning method, and computer program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018213008A JP6946255B2 (ja) 2018-11-13 2018-11-13 学習装置、推定装置、学習方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2020080047A JP2020080047A (ja) 2020-05-28
JP6946255B2 true JP6946255B2 (ja) 2021-10-06

Family

ID=70550668

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018213008A Active JP6946255B2 (ja) 2018-11-13 2018-11-13 学習装置、推定装置、学習方法およびプログラム

Country Status (2)

Country Link
US (1) US11531862B2 (ja)
JP (1) JP6946255B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020230214A1 (ja) * 2019-05-10 2020-11-19 日本電信電話株式会社 深度推定装置、深度推定モデル学習装置、深度推定方法、深度推定モデル学習方法、及び深度推定プログラム
CN112418498B (zh) * 2020-11-12 2024-06-04 中国农业大学 用于智能温室的温度预测方法及***
US20220176998A1 (en) * 2020-12-08 2022-06-09 Guangzhou Automobile Group Co., Ltd. Method and Device for Loss Evaluation to Automated Driving
CN114912568A (zh) * 2021-02-09 2022-08-16 日本电气株式会社 数据处理的方法、设备和计算机可读存储介质
CN118284904A (zh) * 2021-11-10 2024-07-02 富士胶片株式会社 学习方法、学习装置、学习程序及图像处理装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5974325B2 (ja) * 2012-09-11 2016-08-23 東海光学株式会社 光学レンズのクラス判別方法
US10572800B2 (en) * 2016-02-05 2020-02-25 Nec Corporation Accelerating deep neural network training with inconsistent stochastic gradient descent
US10176198B1 (en) * 2016-05-09 2019-01-08 A9.Com, Inc. Techniques for identifying visually similar content
JP6733302B2 (ja) 2016-05-17 2020-07-29 株式会社リコー 画像処理装置、撮像装置、移動体機器制御システム、画像処理方法、及びプログラム
GB2553782B (en) * 2016-09-12 2021-10-20 Niantic Inc Predicting depth from image data using a statistical model
CN108537871B (zh) * 2017-03-03 2024-02-20 索尼公司 信息处理设备和信息处理方法
US11003989B2 (en) * 2017-04-27 2021-05-11 Futurewei Technologies, Inc. Non-convex optimization by gradient-accelerated simulated annealing

Also Published As

Publication number Publication date
US11531862B2 (en) 2022-12-20
US20200151540A1 (en) 2020-05-14
JP2020080047A (ja) 2020-05-28

Similar Documents

Publication Publication Date Title
JP6946255B2 (ja) 学習装置、推定装置、学習方法およびプログラム
CN108961327B (zh) 一种单目深度估计方法及其装置、设备和存储介质
AU2017324923B2 (en) Predicting depth from image data using a statistical model
KR102147361B1 (ko) 객체 인식 장치 및 방법, 객체 인식 모델 학습 장치 및 방법
CN111209770B (zh) 一种车道线识别方法及装置
US8755630B2 (en) Object pose recognition apparatus and object pose recognition method using the same
US11274922B2 (en) Method and apparatus for binocular ranging
JP6489551B2 (ja) 画像のシーケンスにおいて前景を背景から分離する方法およびシステム
KR20180087994A (ko) 스테레오 매칭 방법 및 영상 처리 장치
CN103310421B (zh) 针对高清图像对的快速立体匹配方法及视差图获取方法
EP3182369B1 (en) Stereo matching method, controller and system
CN105335955A (zh) 对象检测方法和对象检测装置
EP3769265A1 (en) Localisation, mapping and network training
US11030478B1 (en) System and method for correspondence map determination
JP7055769B2 (ja) データ生成装置、データ生成方法およびプログラム
CN114372523A (zh) 一种基于证据深度学习的双目匹配不确定性估计方法
CN110428461B (zh) 结合深度学习的单目slam方法及装置
CN114072842A (zh) 从图像中确定深度的方法和相关***
WO2021051382A1 (zh) 白平衡处理方法和设备、可移动平台、相机
US11734845B2 (en) System and method for self-supervised monocular ground-plane extraction
US10853657B2 (en) Object region identifying apparatus, object region identifying method, and computer program product
CN113344988B (zh) 立体匹配方法、终端及存储介质
CN114761998A (zh) 通过神经网络的自适应学习从图像确定深度的方法及其***
EP4174775A1 (en) Prediction method; computer program, readable medium, system and mobile machine for implementing the method
KR102653972B1 (ko) 그래디언트 부스팅 네트워크를 이용한 단안 영상 기반 깊이 추정 방법 및 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200826

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210714

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210915

R151 Written notification of patent or utility model registration

Ref document number: 6946255

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151