(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022189901
(43)【公開日】2022-12-22
(54)【発明の名称】学習方法、学習装置、プログラムおよび記録媒体
(51)【国際特許分類】
G06V 10/72 20220101AFI20221215BHJP
G06V 10/82 20220101ALI20221215BHJP
G06T 7/00 20170101ALI20221215BHJP
G06N 20/00 20190101ALI20221215BHJP
G06N 3/08 20060101ALI20221215BHJP
【FI】
G06V10/72
G06V10/82
G06T7/00 350C
G06N20/00 130
G06N3/08 140
【審査請求】有
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2022168157
(22)【出願日】2022-10-20
(62)【分割の表示】P 2018225420の分割
【原出願日】2018-11-30
(71)【出願人】
【識別番号】000001270
【氏名又は名称】コニカミノルタ株式会社
(74)【代理人】
【識別番号】110001933
【氏名又は名称】弁理士法人 佐野特許事務所
(72)【発明者】
【氏名】関井 大気
(57)【要約】
【課題】物体のCGモデルを含む画像として学習効果の高い画像を得て、画像認識の精度を向上させる。
【解決手段】学習方法は、学習データ生成ステップ(S1)と、学習ステップ(S2)とを含む。学習データ生成ステップでは、物体のCGモデルを含む合成画像と、物体の教師信号とを有する学習データを生成する。学習ステップでは、上記学習データから物体の情報を認識する認識機能を学習する。学習データ生成ステップでは、誤差逆伝搬法によって合成画像と教師信号とから計算される、合成画像の画素ごとの誤差の勾配に基づいて、誤差が大きくなる方向に修正して新たな学習データを生成する。学習ステップでは、上記新たな学習データを用いて認識機能を学習する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
物体のCGモデルを含む合成画像と、前記物体の教師信号とを有する学習データを生成する学習データ生成ステップと、
前記学習データから前記物体の情報を認識する認識機能を学習する学習ステップとを含み、
前記学習データ生成ステップでは、誤差逆伝搬法によって前記合成画像と前記教師信号とから計算される、前記合成画像の画素ごとの誤差の勾配に基づいて、誤差が大きくなる方向に修正して新たな学習データを生成し、
前記学習ステップでは、前記新たな学習データを用いて前記認識機能を学習することを特徴とする学習方法。
【請求項2】
前記学習データ生成ステップでは、前記合成画像に含まれる複数のCGモデルごとに算出される、画素ごとの前記誤差の勾配に基づいて、前記合成画像に含まれる前記CGモデルを他のCGモデルで置換することを特徴とする請求項1に記載の学習方法。
【請求項3】
前記学習データ生成ステップでは、前記合成画像をニューロ演算によって異なる画質に変換することを特徴とする請求項1または2に記載の学習方法。
【請求項4】
前記学習ステップでは、前記誤差の勾配を用いて、前記物体のCGモデルのパラメータに関するパラメータ勾配を算出し、前記パラメータ勾配に基づいて、前記物体のCGモデルのパラメータを修正することを特徴とする請求項1から3のいずれかに記載の学習方法。
【請求項5】
前記学習ステップでは、前記物体のCGモデルのパラメータに、算出した前記パラメータ勾配に所定の負の係数を乗算した値を加えて、前記パラメータを修正することを特徴とする請求項4に記載の学習方法。
【請求項6】
前記物体のCGモデルの前記パラメータは、前記物体の三次元位置、角度、色、模様、形状、反射特性、照明条件の少なくともいずれかに関する情報を含むことを特徴とする請求項4または5に記載の学習方法。
【請求項7】
物体のCGモデルを含む合成画像と、前記物体の教師信号とを有する学習データを生成する学習データ生成部と、
入力画像に含まれる物体の情報を認識する物体認識部と、
前記物体認識部の認識機能を学習する学習処理部とを備え、
前記学習処理部は、誤差逆伝搬法によって前記合成画像と前記教師信号とから前記合成画像の画素ごとの誤差の勾配を計算し、
前記学習データ生成部は、前記誤差の勾配に基づいて、誤差が大きくなる方向に修正して新たな学習データを生成し、
前記学習処理部は、前記新たな学習データを用いて前記認識機能を学習することを特徴とする学習装置。
【請求項8】
前記学習処理部は、前記合成画像に含まれる複数のCGモデルごとに、画素ごとの前記誤差の勾配を算出し、
前記学習データ生成部は、画素ごとの前記誤差の勾配に基づいて、前記合成画像に含まれる前記CGモデルを他のCGモデルで置換することを特徴とする請求項7に記載の学習装置。
【請求項9】
前記学習データ生成部は、前記合成画像をニューロ演算によって異なる画質に変換することを特徴とする請求項7または8に記載の学習装置。
【請求項10】
前記学習処理部は、前記誤差の勾配を用いて、前記物体のCGモデルのパラメータに関するパラメータ勾配を算出し、前記パラメータ勾配に基づいて、前記物体のCGモデルのパラメータを修正することを特徴とする請求項7から9のいずれかに記載の学習装置。
【請求項11】
前記学習処理部は、前記物体のCGモデルのパラメータに、算出した前記パラメータ勾配に所定の負の係数を乗算した値を加えて、前記パラメータを修正することを特徴とする請求項10に記載の学習装置。
【請求項12】
前記物体のCGモデルの前記パラメータは、前記物体の三次元位置、角度、色、模様、形状、反射特性、照明条件の少なくともいずれかに関する情報を含むことを特徴とする請求項10または11に記載の学習装置。
【請求項13】
請求項1から6のいずれかに記載の学習方法をコンピュータに実行させるためのプログラム。
【請求項14】
請求項13に記載のプログラムを記録した、コンピュータ読取可能な記録媒体。
【請求項15】
物体のCGモデルを含む合成画像と、前記物体の教師信号とを有する学習データを生成する学習データ生成部と、
ニューロ演算によって入力画像に含まれる物体の情報を認識する物体認識部と、
前記物体認識部の認識機能を学習する学習処理部とを備え、
前記学習処理部は、誤差逆伝搬法によって前記合成画像と前記教師信号とから前記合成画像の画素ごとの誤差の勾配を計算し、
前記学習データ生成部は、前記誤差の勾配に基づいて、誤差が大きくなる方向に修正して新たな学習データを生成し、
前記学習処理部は、前記新たな学習データを用いて前記認識機能を学習した学習モデルを用いて、物体を認識する物体認識装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、物体のCG(Computer Graphics)モデルを含む合成画像から、物体の情報を認識するニューラルネットワークの認識機能を学習するための学習方法、学習装置、プログラムおよび記録媒体に関する。なお、CGモデルとは、CG技術によって作成した画像または画像データを指す。
【背景技術】
【0002】
画像中の物体の情報(物体の存在の有無、物体の種類、物体の動作など)をDNN(Deep Neural Network)によって学習・認識する技術は、監視カメラシステムなどの多くのアプリケーションにとって有用である。認識対象である物体の情報に関して、物体の見え方や外観のバリエーションが多い場合、想定されるシーンの学習データ(画像および教師信号)を準備する人的コストが高くなる。
【0003】
従来、人的コスト抑制のために、CGモデルを用いた学習データの自動生成が試みられている。例えば特許文献1では、背景画像とCGモデルとを重畳させて教師画像データを生成するようにしている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2018-124939号公報(請求項1、段落〔0017〕、
図1等参照)
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところが、CGモデルを用いて学習データを自動生成する場合でも、従来は、生成するCGモデルのバリエーションに関するパラメータは、人(ユーザ)が予め設定していた。そのため、CG技術によって生成されるシーンが冗長である(例えば似ている)など、学習効果の低い画像しか生成されず、そのような画像を用いて学習を行った場合に、画像中の物体の情報の認識精度が低下する問題があった。
【0006】
本発明は、上記の問題点を解決するためになされたもので、その目的は、物体のCGモデルを含む画像として学習効果の高い画像を得ることができ、上記画像を用いた学習によって画像認識の精度を向上させることができる学習方法、学習装置、プログラムおよび記録媒体を提供することにある。
【課題を解決するための手段】
【0007】
本発明の一側面に係る学習方法は、物体のCGモデルを含む合成画像と、前記物体の教師信号とを有する学習データを生成する学習データ生成ステップと、前記学習データから前記物体の情報を認識する認識機能を学習する学習ステップとを含み、前記学習データ生成ステップでは、誤差逆伝搬法によって前記合成画像と前記教師信号とから計算される、前記合成画像の画素ごとの誤差の勾配に基づいて、誤差が大きくなる方向に(前記学習データを)修正して新たな学習データを生成し、前記学習ステップでは、前記新たな学習データを用いて前記認識機能を学習する。
【0008】
本発明の他の側面に係る学習装置は、物体のCGモデルを含む合成画像と、前記物体の教師信号とを有する学習データを生成する学習データ生成部と、入力画像に含まれる物体の情報を認識する物体認識部と、前記物体認識部の認識機能を学習する学習処理部とを備え、前記学習処理部は、誤差逆伝搬法によって前記合成画像と前記教師信号とから前記合成画像の画素ごとの誤差の勾配を計算し、前記学習データ生成部は、前記誤差の勾配に基づいて、誤差が大きくなる方向に(前記学習データを)修正して新たな学習データを生成し、前記学習処理部は、前記新たな学習データを用いて前記認識機能を学習する。
【0009】
本発明のさらに他の側面に係るプログラムは、上記した学習方法をコンピュータに実行させるためのプログラムである。
【0010】
本発明のさらに他の側面に係る記録媒体は、上記プログラムを記録した、コンピュータ読取可能な記録媒体である。
【0011】
本発明のさらに他の側面に係る物体認識装置は、物体のCGモデルを含む合成画像と、前記物体の教師信号とを有する学習データを生成する学習データ生成部と、ニューロ演算によって入力画像に含まれる物体の情報を認識する物体認識部と、前記物体認識部の認識機能を学習する学習処理部とを備え、前記学習処理部は、誤差逆伝搬法によって前記合成画像と前記教師信号とから前記合成画像の画素ごとの誤差の勾配を計算し、前記学習データ生成部は、前記誤差の勾配に基づいて、誤差が大きくなる方向に(前記学習データを)修正して新たな学習データを生成し、前記学習処理部は、前記新たな学習データを用いて前記認識機能を学習した学習モデルを用いて、物体を認識する。
【発明の効果】
【0012】
物体のCGモデルを含む画像として学習効果の高い画像を得ることができ、上記画像を用いた学習によって画像認識の精度を向上させることができる。
【図面の簡単な説明】
【0013】
【
図1】本発明の実施の形態に係る学習装置の概略の構成を示すブロック図である。
【
図2】上記学習装置による学習方法の処理の流れを示すフローチャートである。
【
図3】上記学習方法による処理を模式的に示す説明図である。
【
図4】合成画像において、誤差の勾配の絶対値が異なる領域を模式的に示す説明図である。
【
図5】上記学習装置による他の学習方法の処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0014】
本発明の実施の形態について、図面に基づいて説明すれば、以下の通りである。なお、本発明は、以下の内容に限定されるわけではない。
【0015】
〔学習装置の構成〕
図1は、本実施形態の学習装置1の概略の構成を示すブロック図である。学習装置1は、例えば、パーソナルコンピュータなどの端末装置で構成されている。この学習装置1は、入力部2と、記憶部3と、表示部4と、通信部5と、読取部6と、学習データ生成部7と、物体認識部8と、学習処理部9と、制御部10とを有している。
【0016】
入力部2は、例えばキーボード、マウス、タッチパッド、タッチパネルなどで構成されており、ユーザによる各種の指示入力を受け付ける。
【0017】
記憶部3は、各種のデータを記憶するメモリである。上記各種のデータには、制御部10の動作プログラムや、後述する学習データの生成に必要なデータ、すなわち、物体のCGモデル、他のモデル(例えば背景の画像)、上記物体の教師信号などが含まれる。上記教師信号には、例えば、物体の正解のクラスを示すラベル、物体の位置(XYZの各軸方向の位置)、物体の回転角度(XYZの各軸周りの回転角度)、物体の色などの情報が含まれる。なお、学習データの生成に必要な上記データは、学習装置1の外部の端末装置やサーバーに記憶されてもよい。
【0018】
このような記憶部3は、例えばハードディスクで構成されるが、RAM(Random Access Memory)、ROM(Read Only Memory)、光ディスク、光磁気ディスク、不揮発性メモリなどの記録媒体から適宜選択して構成されてもよい。
【0019】
表示部4は、各種の情報を表示するデバイスであり、例えば液晶表示装置で構成される。通信部5は、外部の端末装置やサーバーと通信するためのインターフェースであり、入出力端子などを含んで構成される。なお、学習装置1と外部の端末装置等との間の通信形態は、有線ケーブルやLAN(Local Area Network)などの通信回線を介した通信であってもよいし、無線通信であってもよい。後者の場合、通信部5は、アンテナ、送受信回路、変調回路、復調回路などをさらに含んで構成される。
【0020】
読取部6は、記録媒体Rに記録された情報(例えば制御部10の動作プログラム)を読み取る装置であり、例えばディスクドライブで構成される。なお、記録媒体Rが可搬型の不揮発性メモリである場合、上記不揮発性メモリの接続部が指し込まれる接続ポートも読取部6に含まれるとする。
【0021】
学習データ生成部7、物体認識部8および学習処理部9は、例えばGPU(Graphics Processing Unit)で構成されている。GPUは、リアルタイムな画像処理に特化した演算装置である。
【0022】
学習データ生成部7は、物体のCGモデルを含む合成画像と、上記物体の教師信号とを有する学習データを生成する。このような学習データの生成は、学習データ生成部7が、記憶部3から、物体のCGモデルと他のモデルとを読み出し、これらを合成して合成画像を生成するとともに、記憶部3から、上記物体の教師信号を読み出し、上記合成画像と上記教師信号とを組み合わせることで行うことができる。
【0023】
特に、学習データ生成部7は、画像合成部7aと、画質変換部7bとを含む。画像合成部7aは、記憶部3に記憶されている物体のCGモデルと、他のモデルとを合成して合成画像を生成する。なお、上記他のモデルは、CGモデルであってもよいし、カメラでの撮影によって取得された画像であってもよい。
【0024】
画質変換部7bは、画像合成部7aにて生成した合成画像を、該合成画像とは異なる画質の画像に変換する。例えば、画質変換部7aは、複数のCGモデルを合成した合成画像を、現実的な画像(実際の撮影によって得られる、CGらしくない画像)に近づくように、画質を変換する。このような画質変換技術としては、DRIT(Diverse Image-to-Image Translation via Disentangled Representations)を用いることができる。
【0025】
画質変換部7bは、例えば畳み込み型ニューラルネットワーク(CNN;Convolutional Neural Network)などの機械学習が可能なネットワークで構成されている。合成画像の入力に対して、CNNでの演算により、合成画像の画質を変換した画像が得られる。したがって、画質変換部7bは、画像合成部7aにて生成した合成画像をニューロ演算によって異なる画質に変換すると言うこともできる。なお、本実施形態では、画質変換部7bによる画質変換を必ずしも行う必要はなく、それゆえ、画質変換部7bを省略して学習データ生成部7を構成することも可能である。
【0026】
物体認識部8は、例えばCNNで構成されており、ニューロ演算によって入力画像に含まれる物体の情報を認識(推定)し、その認識結果を出力する。上記認識結果には、推定された物体のクラス(種類)およびスコアが含まれる。
【0027】
学習処理部9は、学習データ生成部7で生成された学習データ(合成画像+教師データ)を用いて、物体認識部8の認識機能を学習する。ここで、「認識機能を学習する」とは、本実施形態のように物体認識部8がCNNで構成されている場合、CNNの畳み込み層、プーリング層および出力層を構成する各ノードの重みを、CNNでの認識結果と教師信号との誤差に基づいて調整することを言う。
【0028】
制御部10は、例えば中央演算処理装置(CPU;Central Processing Unit)で構成されており、記憶部3に記憶された動作プログラムに従って動作し、学習装置1の各部の動作を制御する。
【0029】
〔学習方法〕
次に、本実施形態の学習方法について説明する。
図2は、
図1の学習装置1による学習方法の処理の流れを示すフローチャートである。また、
図3は、上記学習方法による処理を模式的に示す説明図である。本実施形態の学習方法は、学習データ生成ステップ(S1)と、学習ステップ(S2)とを含む。以下、より詳細に説明する。
【0030】
(S1;学習データ生成ステップ)
S1では、まず、制御部10のカウンタ(図示せず)のカウント値nを、n=1に設定する(S11)。なお、カウント値nは、ここでは学習回数を示す値とする。そして、学習データ生成部7は、物体のCGモデルを含む合成画像と、上記物体の教師信号とを有する学習データを生成する。
【0031】
例えば、学習データ生成部7の画像合成部7aは、記憶部3に記憶された(予め準備された)複数のCGモデルの中から、物体のCGモデルM1(便宜的に「前景物体画像」とも呼ぶ)と、別のCGモデルM2(便宜的に「背景物体画像」とも呼ぶ)とをランダムに選択して読み出すとともに、上記物体の教師信号Tを読み出す(S12)。そして、読み出したCGモデルM1およびM2をCG技術によって合成して合成画像Mを生成し(S13)、合成画像Mと教師信号Tとを組み合わせて学習データとする。物体のCGモデルM1、CGモデルM2、教師信号Tとしては、例えば、「鳥」、「地面」、「鳥であることを示すラベル」、をそれぞれ考えることができる。なお、記憶部3から読み出すCGモデルは、3つ以上であってもよい。
【0032】
続いて、学習データ生成部7の画質変換部7b(CNN)は、合成画像Mをニューロ演算によって異なる画質に変換する(S14)。これにより、合成画像Mよりもカメラで撮影した画像に近い合成画像M’が得られる。なお、S14の工程は、必要に応じて行われればよい。以下、「合成画像M’」は、適宜「合成画像M」に置き換えることができるとする。
【0033】
(S2;学習ステップ)
次に、学習処理部9は、S1で作成した学習データを用いて、合成画像M’からニューロ演算によって、合成画像M’に含まれる物体の情報を認識する認識機能を学習する。より具体的には、以下の通りである。
【0034】
まず、合成画像M’を物体認識部8(CNN)に入力し、物体認識部8にて、ニューロ演算による物体の認識結果を得る(S21)。そして、学習処理部9は、物体の認識結果と教師信号Tとの誤差Eを計算し(S22)、上記誤差を物体認識部8および画質変換部7bの順に逆伝搬して(誤差逆伝搬法)、物体認識部8および画質変換部7bを構成するCNNを学習する(S23)。これにより、学習処理部9は、変換前の合成画像Mの画素ごとの誤差の勾配を求めることができる(S24)。
【0035】
ここで、「誤差の勾配」とは、物体の認識結果の誤差Eを、CNNのノードの出力値yで偏微分した値(∂E/∂y)を指し、誤差逆伝搬法によってノードの重みwに関する誤差Eの偏微分の値(∂E/∂w)を求める演算式において、微分の連鎖によって登場する項を指す。
【0036】
すなわち、入力側からi番目の層の各ノードのそれぞれから信号yiを受け取り、それぞれの重みwijを掛けて全て足し合わせた値vjが、入力側からj番目の層に入力される場合を考える。この場合、
vj=Σ(wij・yi)
である。次に、このvjを入力としてj番目の層の出力yjを計算すると、
yj=φj(vj)
となる。ここで、φは、活性化関数である。
【0037】
誤差Eを重みwijで偏微分するとき、微分の連鎖律により、
∂E/∂wij=(∂E/∂yj)・(∂yj/∂vj)・(∂vj/∂wij)
が成り立つ。上式の右辺の第1項が、上述した「誤差の勾配」に相当する。この「誤差の勾配」は、j番目の層の入力値yj、つまり、i番目の層の各ノードの出力値(画素の値)が、誤差Eにどのくらい影響しているかを示す。したがって、i番目の層をCNNの入力層と考えることにより、入力画像の画素のごとの誤差の勾配、すなわち、合成画像Mの画素ごとの誤差の勾配を求めることができる。なお、CNNの層数がさらに増えても、上記と同様の考え方(微分の連鎖)に基づいて、合成画像Mの画素ごとの誤差の勾配を求めることができる。
【0038】
次に、学習処理部9は、カウント値nが所定値kに達したか否かを判断する(S25)。所定値kは、物体認識部8の学習回数として、ユーザによって予め設定された値である。なお、所定値kはデフォルトで設定されていてもよい。S25にて、n=kである場合、物体認識部8の学習が所定回数行われたとして、処理を終了する。
【0039】
一方、S25にて、n=kでない場合、学習処理部9は、カウント値nをインクリメントし、n=n+1とする(S26)。次に、学習処理部9は、合成画像Mの合成に用いたCGモデルM1およびCGモデルM2のそれぞれについて、上記で求めた誤差の勾配の絶対値の全画素(各モデルの領域)の平均を算出する(S27)。そして、学習処理部9は、CGモデルM1とCGモデルM2とのうち、上記平均が最も高いCGモデル以外のCGモデルを特定し、特定したCGモデルと置換すべき他のCGモデルを、記憶部3の中からランダムに選択する(S28)。
【0040】
図4は、合成画像Mにおいて、誤差の勾配の絶対値が異なる領域を模式的に示している。図中、ハッチングを付した領域は、ハッチングを付していない領域に比べて、誤差の勾配の絶対値が閾値よりも大きいことを示している。すなわち、同図の例では、物体のCGモデルM1(前景物体画像)のほうが、CGモデルM2(背景物体画像)よりも、誤差の勾配の絶対値の平均が大きい。この場合、学習処理部9は、誤差の勾配の絶対値の平均がより小さいCGモデルM2を、他のCGモデルと置換すべきCGモデルと判断する。
【0041】
なお、合成画像を構成するCGモデルが3つ以上ある場合、誤差の勾配の絶対値の平均が最も高いCGモデル以外の少なくとも1つのCGモデルを特定し、特定したCGモデルと置換すべき他のCGモデルを、記憶部3の中から選択すればよい。すなわち、合成画像中で他のCGモデルと置換すべきCGモデルは、2つ以上であってもよい。
【0042】
次に、S13に戻り、学習データ生成部7は、合成画像Mの一部を、S28で選択された他のCGモデルで置換する。S13以降の工程は、S25にてn=kとなるまで、つまり、学習回数が所定回数に達するまで、繰り返し行われる。したがって、2回目以降の学習ステップでは、上記他のCGモデルで置換した後の合成画像を有する学習データを用いて、物体認識部8の認識機能を学習することになる(S21~S23)。
【0043】
〔効果〕
以上のように、S1の学習データ生成ステップでは、誤差逆伝搬法によって合成画像M(またはM’)と教師信号Tとから計算される、合成画像Mの画素ごとの誤差の勾配に基づいて、合成画像Mの一部を他のCGモデルで置換して、新たな学習データを生成する(S13)。これにより、物体認識部8でのニューロ演算による物体の情報の認識結果と教師信号Tとの誤差が置換前よりも大きくなるような合成画像を得ることができる。つまり、人がパラメータを設定して生成したバリエーションの合成画像よりも、学習効果の高い(認識し難い)合成画像を得ることができる。したがって、S2の学習ステップにおいて、他のCGモデルで置換した後の合成画像を含む上記新たな学習データを用いて、物体認識部8の認識機能を学習することにより(S23)、高い学習効果を得ることができ、物体認識部8における画像認識の精度を向上させることができる。
【0044】
特に、学習処理部9は、合成画像Mに含まれる複数のCGモデルごとに、画素ごとの誤差の勾配の絶対値の平均を算出し(S27)、学習データ生成部7は、上記平均が最も高いCGモデル以外のCGモデルを、他のCGモデルで置換する(S13)。このように、画素ごとの誤差の勾配に基づいて、合成画像に含まれるCGモデルを他のCGモデルで置換することにより、物体認識部8での認識結果と教師信号Tとの誤差が置換前よりも大きい合成画像を確実に得ることができる。したがって、置換後の合成画像を含む新たな学習データを用いて学習を行うことにより、高い学習効果を確実に得ることができ、画像認識の精度を確実に向上させることができる。
【0045】
また、S1の学習データ生成ステップでは、合成画像Mをニューロ演算によって異なる画質に変換する(S14)。この画質変換により、物体認識部8でのニューロ演算による認識結果と教師信号Tとの誤差が、画質変換を行わない場合に比べて大きくなるような合成画像M’を得ることができる。したがって、このような合成画像M’を用いてS2の学習を行うことにより、さらに高い学習効果を得て、画像認識の精度をさらに向上させることができる。
【0046】
〔他の学習方法〕
図5は、本実施形態の学習装置1による他の学習方法の処理の流れを示すフローチャートである。
図5では、上述したS2の学習ステップにおいて、S26とS27との間に、パラメータ勾配を算出するステップ(S26-1)が加わり、S27とS28との間に、パラメータの修正ステップ(S27-1)が加わっている。それ以外は、
図2のフローチャートと同様である。以下、
図2と異なる点について説明する。
【0047】
S26-1では、学習処理部9は、S24で取得した合成画像Mの画素ごとの誤差の勾配を用いて、物体のCGモデルM1のパラメータに関するパラメータ勾配を算出する。ここで、CGモデルM1のパラメータとしては、例えば物体(例えば鳥)の三次元位置、角度、色、模様、形状、反射特性、照明条件の少なくともいずれかに関する情報を含む。具体的には、誤差の勾配を物体のCGモデルM1のパラメータで微分することにより、上記パラメータ勾配が得られる。上記パラメータ勾配は、物体のCGモデルM1のパラメータが誤差の勾配にどのくらい影響しているかを示す。
【0048】
S27-1では、物体のCGモデルM1のパラメータ(例えば物体の三次元位置)に、S26-1で算出したパラメータ勾配に所定の負の係数を乗算した値を加えて、上記パラメータを修正する。
【0049】
このように、S26-1でパラメータ勾配を求め、S27-1で、上記パラメータ勾配に基づいて、物体のCGモデルM1のパラメータを修正することにより、例えば、物体認識部8での物体の認識結果と教師信号Tとの誤差が大きくなる方向に上記パラメータを修正することができる。これにより、合成画像の一部を他のCGモデルで置換して(S13)、さらに学習効果の高い(認識し難い)合成画像を得ることができる。したがって、上記合成画像を含む新たな学習データを用いて物体認識部8の学習を行うことにより(S23)、高い学習効果をさらに得て、画像認識の精度をさらに向上させることができる。
【0050】
また、CGモデルのパラメータの数が増大すると、上記パラメータの修正パターンは指数関数的に増大する。例えば、上記パラメータとして、物体の三次元位置、角度、色の3種類を考えただけでも、修正パターンとしては、位置に関して3次元(XYZの各軸方向)、角度に関して3次元(XYZの各軸周り)、色に関してM次元(色がM種類ある場合)の計3×3×Mパターンが存在する。上記パラメータ勾配に基づいて、物体のCGモデルM1のパラメータ(例えば三次元位置)を修正することにより、修正パターンを一意に特定することができ、これによって、学習効果の高い合成画像を容易に得ることができる。
【0051】
また、物体のCGモデルM1のパラメータに、S26-1で算出したパラメータ勾配に所定の負の係数を乗算した値を加えて、上記パラメータを修正することにより、物体認識部8での認識結果と教師信号Tとの誤差が大きくなる方向に上記パラメータを確実に修正できる。その結果、学習効果の高い(認識し難い)画像を確実に得ることができる。
【0052】
また、物体のCGモデルM1のパラメータは、物体の三次元位置、角度、色の少なくともいずれかに関する情報を含む。この場合、物体の三次元位置、角度、色、模様、形状、反射特性、照明条件の少なくともいずれかについて、物体のCGモデルM1を修正して、認識結果と教師信号Tとの誤差が大きい画像、つまり、学習効果の高い画像を得ることができる。
【0053】
〔プログラムおよび記録媒体〕
本実施形態で説明した学習装置1は、例えば、所定のプログラム(アプリケーションソフトウェア)をインストールしたコンピュータ(PC)で構成することができる。上記プログラムをコンピュータ(例えばCPUとしての制御部10)が読み取って実行することにより、学習装置1の各部を動作させて上述した各処理(各工程)を実行させることができる。このようなプログラムは、例えばネットワークを介して外部からダウンロードすることによって取得されて記憶部3に記憶される。また、上記プログラムは、例えばCD-ROM(Compact Disk-Read Only Memory)などのコンピュータ読取可能な記録媒体Rに記録され、この記録媒体Rから上記プログラムをコンピュータが読み取って記憶部3に記憶される形態であってもよい。
【0054】
〔その他〕
以上で説明した本実施形態の学習方法、学習装置、プログラムおよび記録媒体は、以下のように表現することができる。
【0055】
1.物体のCGモデルを含む合成画像と、前記物体の教師信号とを有する学習データを生成する学習データ生成ステップと、
前記学習データを用いて、前記合成画像からニューロ演算によって前記物体の情報を認識する認識機能を学習する学習ステップとを含み、
前記学習データ生成ステップでは、誤差逆伝搬法によって前記合成画像と前記教師信号とから計算される、前記合成画像の画素ごとの誤差の勾配に基づいて、新たな学習データを生成し、
前記学習ステップでは、前記新たな学習データを用いて前記認識機能を学習することを特徴とする学習方法。
【0056】
2.前記学習データ生成ステップでは、前記合成画像に含まれる複数のCGモデルごとに算出される、画素ごとの前記誤差の勾配に基づいて、前記合成画像に含まれる前記CGモデルを他のCGモデルで置換することを特徴とする前記1に記載の学習方法。
【0057】
3.前記学習データ生成ステップでは、前記合成画像をニューロ演算によって異なる画質に変換することを特徴とする前記1または2に記載の学習方法。
【0058】
4.前記学習ステップでは、前記誤差の勾配を用いて、前記物体のCGモデルのパラメータに関するパラメータ勾配を算出し、前記パラメータ勾配に基づいて、前記物体のCGモデルのパラメータを修正することを特徴とする前記1から3のいずれかに記載の学習方法。
【0059】
5.前記学習ステップでは、前記物体のCGモデルのパラメータに、算出した前記パラメータ勾配に所定の負の係数を乗算した値を加えて、前記パラメータを修正することを特徴とする前記4に記載の学習方法。
【0060】
6.前記物体のCGモデルの前記パラメータは、前記物体の三次元位置、角度、色、模様、形状、反射特性、照明条件の少なくともいずれかに関する情報を含むことを特徴とする前記4または5に記載の学習方法。
【0061】
7.物体のCGモデルを含む合成画像と、前記物体の教師信号とを有する学習データを生成する学習データ生成部と、
ニューロ演算によって入力画像に含まれる物体の情報を認識する物体認識部と、
前記物体認識部の認識機能を学習する学習処理部とを備え、
前記学習処理部は、誤差逆伝搬法によって前記合成画像と前記教師信号とから前記合成画像の画素ごとの誤差の勾配を計算し、
前記学習データ生成部は、前記誤差の勾配に基づいて、新たな学習データを生成し、
前記学習処理部は、前記新たな学習データを用いて前記認識機能を学習することを特徴とする学習装置。
【0062】
8.前記学習処理部は、前記合成画像に含まれる複数のCGモデルごとに、画素ごとの前記誤差の勾配を算出し、
前記学習データ生成部は、画素ごとの前記誤差の勾配に基づいて、前記合成画像に含まれる前記CGモデルを他のCGモデルで置換することを特徴とする前記7に記載の学習装置。
【0063】
9.前記学習データ生成部は、前記合成画像をニューロ演算によって異なる画質に変換することを特徴とする前記7または8に記載の学習装置。
【0064】
10.前記学習処理部は、前記誤差の勾配を用いて、前記物体のCGモデルのパラメータに関するパラメータ勾配を算出し、前記パラメータ勾配に基づいて、前記物体のCGモデルのパラメータを修正することを特徴とする前記7から9のいずれかに記載の学習装置。
【0065】
11.前記学習処理部は、前記物体のCGモデルのパラメータに、算出した前記パラメータ勾配に所定の負の係数を乗算した値を加えて、前記パラメータを修正することを特徴とする前記10に記載の学習装置。
【0066】
12.前記物体のCGモデルの前記パラメータは、前記物体の三次元位置、角度、色、模様、形状、反射特性、照明条件の少なくともいずれかに関する情報を含むことを特徴とする前記10または11に記載の学習装置。
【0067】
13.前記1から6のいずれかに記載の学習方法をコンピュータに実行させるためのプログラム。
【0068】
14.前記13に記載のプログラムを記録した、コンピュータ読取可能な記録媒体。
【0069】
以上、本実施形態では、物体認識部8での認識結果に基づいて、認識困難なCGモデルが適応的に選択されて修正(置換)され、修正後の合成画像を用いて物体認識部8のCNNが学習される。これにより、人が設定したバリエーションよりも学習効果の高い新たな学習データの生成が可能であり、画像認識の精度を向上させることができる。なお、学習効果の高い「新たな学習データの生成」は、CGモデルの修正のほか、CGモデルのパラメータの修正、画質変換パラメータの修正などによって行うことができるが、これらに限定されるわけではない。画像または教師信号を生成する上で必要な要素については全て、合成画像の画素ごとの誤差の勾配に基づいて、物体の認識結果と教師信号との誤差が大きくなる方向に修正することにより、学習効果の高い「新たな学習データ」を生成できる対象となり得る。
【0070】
以上、本発明の実施形態について説明したが、本発明の範囲はこれに限定されるものではなく、発明の主旨を逸脱しない範囲で拡張または変更して実施することができる。
【産業上の利用可能性】
【0071】
本発明は、例えば物体のCGモデルを含む合成画像から、物体の情報を認識するニューラルネットワークの認識機能を学習する学習装置に利用可能である。
【符号の説明】
【0072】
1 学習装置
7 学習データ生成部
8 物体認識部
9 学習処理部
M 記録媒体