(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023075764
(43)【公開日】2023-05-31
(54)【発明の名称】学習装置、学習方法及びプログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20230524BHJP
G06N 3/08 20230101ALI20230524BHJP
G06T 1/40 20060101ALI20230524BHJP
【FI】
G06T7/00 350C
G06N3/08
G06T1/40
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2021188872
(22)【出願日】2021-11-19
(71)【出願人】
【識別番号】314012076
【氏名又は名称】パナソニックIPマネジメント株式会社
(74)【代理人】
【識別番号】100132241
【弁理士】
【氏名又は名称】岡部 博史
(74)【代理人】
【識別番号】100135703
【弁理士】
【氏名又は名称】岡部 英隆
(72)【発明者】
【氏名】中村 譲
(72)【発明者】
【氏名】石井 育規
(72)【発明者】
【氏名】丸山 悠樹
(72)【発明者】
【氏名】佐藤 智
【テーマコード(参考)】
5B057
5L096
【Fターム(参考)】
5B057CA01
5B057CA08
5B057CA12
5B057CA16
5B057CB01
5B057CB02
5B057CB08
5B057CB12
5B057CB16
5B057DC40
5L096DA01
5L096DA02
5L096HA11
5L096JA11
5L096KA04
5L096KA15
(57)【要約】
【課題】推定に用いられるニューラルネットワークの汎化性能の向上に適した学習データを生成する。
【解決手段】第1のニューラルネットワークを用いて第1の画像を第2のドメインの画像に疑似的に変換した第2の変換画像を作成し、第1のニューラルネットワークと異なる第2のニューラルネットワークを用いて第2の変換画像を第1のドメインの画像に再構成した第1の再構成画像に変換し、第2のニューラルネットワークを用いて第2の画像を第1のドメインの画像に疑似的に変換した第1の変換画像を作成し、第1のニューラルネットワークを用いて第1の変換画像を第2のドメインの画像に再構成した第2の再構成画像に変換する変換部と、画像変換による損失を計算し、損失が最小になる第1のニューラルネットワーク及び第2のニューラルネットワークのパラメータに更新する更新部を備える、学習装置。
【選択図】
図3
【特許請求の範囲】
【請求項1】
第1のドメインの第1の画像を第2のドメインの第2の画像に変換する第1のニューラルネットワークの学習装置であって、
前記第1のニューラルネットワークを用いて前記第1の画像を前記第2のドメインの画像に疑似的に変換した第2の変換画像を作成し、前記前記第1のニューラルネットワークと異なる第2のニューラルネットワークを用いて前記第2の変換画像を前記第1のドメインの画像に再構成した第1の再構成画像に変換し、前記第2のニューラルネットワークを用いて前記第2の画像を前記第1のドメインの画像に疑似的に変換した第1の変換画像を作成し、前記第1のニューラルネットワークを用いて前記第1の変換画像を前記第2のドメインの画像に再構成した第2の再構成画像に変換する変換部と、
前記第1の画像と前記第1の再構成画像との第1の差分を計算し、前記第2の画像と前記第2の再構成画像との第2の差分を計算し、前記第1のドメインの第1の正解ラベルに基づいた構造情報から、前記第1の画像と前記第2の変換画像との第3の差分を計算し、前記第2のドメインの第2の正解ラベルに基づいた構造情報から、前記第2の画像と前記第1の変換画像との第4の差分を計算し、前記第1の差分、前記第2の差分、前記第3の差分及び前記第4の差分に基づいて画像変換による損失を計算し、前記損失が最小になる第1のニューラルネットワーク及び第2のニューラルネットワークのパラメータに更新する更新部を備える、
学習装置。
【請求項2】
前記変換部は、前記第1及び第2のニューラルネットワークと異なる第3のニューラルネットワークを用いて、前記第2の画像及び前記第2の変換画像が真の画像か偽の画像か画像の真偽を識別し、前記第1乃至第3のニューラルネットワークと異なる第4のニューラルネットワークを用いて、前記第1の画像及び前記第1の変換画像が真の画像か偽の画像か画像の真偽を識別する
請求項1に記載の学習装置。
【請求項3】
前記更新部は、前記第3のニューラルネットワークまたは前記第4のニューラルネットワークが出力した画像の真偽識別結果に基づいて、前記第3のニューラルネットワークまたは前記第4のニューラルネットワークのパラメータを更新する、
請求項2に記載の学習装置。
【請求項4】
前記第1の画像は可視光画像であり、前記第2の画像は赤外線画像である、
請求項1~3のいずれかに記載の学習装置。
【請求項5】
学習装置を用いて、第1のドメインの第1の画像を第2のドメインの第2の画像に変換する第1のニューラルネットワークの学習方法であって、
前記学習装置の処理部は、前記第1のニューラルネットワークを用いて前記第1の画像を前記第2のドメインの画像に疑似的に変換した第2の変換画像を作成し、前記前記第1のニューラルネットワークと異なる第2のニューラルネットワークを用いて前記第2の変換画像を前記第1のドメインの画像に再構成した第1の再構成画像に変換し、前記第2のニューラルネットワークを用いて前記第2の画像を前記第1のドメインの画像に疑似的に変換した第1の変換画像を作成し、前記第1のニューラルネットワークを用いて前記第1の変換画像を前記第2のドメインの画像に再構成した第2の再構成画像に変換し、
前記学習装置の処理部は、前記第1の画像と前記第1の再構成画像との第1の差分を計算し、前記第2の画像と前記第2の再構成画像との第2の差分を計算し、前記第1のドメインの第1の正解ラベルに基づいた構造情報から、前記第1の画像と前記第2の変換画像との第3の差分を計算し、前記第2のドメインの第2の正解ラベルに基づいた構造情報から、前記第2の画像と前記第1の変換画像との第4の差分を計算し、前記第1の差分、前記第2の差分、前記第3の差分及び前記第4の差分に基づいて画像変換による損失を計算し、前記損失が最小になる第1のニューラルネットワーク及び第2のニューラルネットワークのパラメータに更新する、
学習方法。
【請求項6】
請求項5に記載の学習方法を、前記学習装置の処理部に実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は学習装置、学習方法及びプログラムに関するものである。
【背景技術】
【0002】
クラス識別、物体検出及び位置回帰などの推定を行うニューラルネットワークなどの機械学習で使用される学習データを生成する技術が従来から知られている。例えば、変分自己符号化器(VAE)や敵対的ネットワーク(GAN)などのディープラーニングを用いて学習データに類似したデータを生成する技術が、学習データの水増しや学習データの代替に利用されている。
【先行技術文献】
【特許文献】
【0003】
【非特許文献】
【0004】
【非特許文献1】Jun-Yan Zhu,Taesung Park,Phillip Isola,Alexei A.Efros,“Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks”ICCV 2017
【非特許文献2】A.Radford,L.Metz,and S.Chintala.Unsupervised representation learning with deep convolutional generative adversarial networks.In ICLR,2016
【非特許文献3】Phillip Isola,Jun-Yan Zhu,Tinghui Zhou,Alexei A.Efros,University of California, Berkeley,“Image-to-Image Translation with Conditional Adversarial Nets,”CVPR2017
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら従来の技術では、データの変換そのものを目的としており、推定に用いられるニューラルネットワークの識別性能の向上に適した学習データを生成することが困難であった。
【課題を解決するための手段】
【0006】
本開示の一態様に係る学習装置は、第1のドメインの第1の画像を第2のドメインの第2の画像に変換する第1のニューラルネットワークの学習装置である。学習装置は、変換部と更新部を備える。変換部は、第1のニューラルネットワークを用いて前記第1の画像を前記第2のドメインの画像に疑似的に変換した第2の変換画像を作成し、前記前記第1のニューラルネットワークと異なる第2のニューラルネットワークを用いて前記第2の変換画像を前記第1のドメインの画像に再構成した第1の再構成画像に変換し、前記第2のニューラルネットワークを用いて前記第2の画像を前記第1のドメインの画像に疑似的に変換した第1の変換画像を作成し、前記第1のニューラルネットワークを用いて前記第1の変換画像を前記第2のドメインの画像に再構成した第2の再構成画像に変換する。更新部は、前記第1の画像と前記第1の再構成画像との第1の差分を計算し、前記第2の画像と前記第2の再構成画像との第2の差分を計算し、前記第1のドメインの第1の正解ラベルに基づいた構造情報から、前記第1の画像と前記第2の変換画像との第3の差分を計算し、前記第2のドメインの第2の正解ラベルに基づいた構造情報から、前記第2の画像と前記第1の変換画像との第4の差分を計算し、前記第1の差分、前記第2の差分、前記第3の差分及び前記第4の差分に基づいて画像変換による損失を計算し、前記損失が最小になる第1のニューラルネットワーク及び第2のニューラルネットワークのパラメータに更新する。
【0007】
本開示の一態様に係る学習方法は、学習装置を用いて、第1のドメインの第1の画像を第2のドメインの第2の画像に変換する第1のニューラルネットワークの学習方法である。学習方法は、学習装置の処理部で行われる。前記学習装置の処理部は、前記第1のニューラルネットワークを用いて前記第1の画像を前記第2のドメインの画像に疑似的に変換した第2の変換画像を作成し、前記前記第1のニューラルネットワークと異なる第2のニューラルネットワークを用いて前記第2の変換画像を前記第1のドメインの画像に再構成した第1の再構成画像に変換し、前記第2のニューラルネットワークを用いて前記第2の画像を前記第1のドメインの画像に疑似的に変換した第1の変換画像を作成し、前記第1のニューラルネットワークを用いて前記第1の変換画像を前記第2のドメインの画像に再構成した第2の再構成画像に変換する。前記学習装置の処理部は、前記第1の画像と前記第1の再構成画像との第1の差分を計算し、前記第2の画像と前記第2の再構成画像との第2の差分を計算し、前記第1のドメインの第1の正解ラベルに基づいた構造情報から、前記第1の画像と前記第2の変換画像との第3の差分を計算し、前記第2のドメインの第2の正解ラベルに基づいた構造情報から、前記第2の画像と前記第1の変換画像との第4の差分を計算し、前記第1の差分、前記第2の差分、前記第3の差分及び前記第4の差分に基づいて画像変換による損失を計算し、前記損失が最小になる第1のニューラルネットワーク及び第2のニューラルネットワークのパラメータに更新する。
【発明の効果】
【0008】
本開示の学習装置、学習方法及びプログラムによれば、従来の技術よりも推定に用いられるニューラルネットワークの識別性能の向上に適した学習データを水増しすることができるため、ニューラルネットワークなどの機械学習を用いて性能の高いクラス識別、物体検出及び位置回帰などの推定を行うことができる。
【図面の簡単な説明】
【0009】
【
図3】実施形態のニューラルネットワークの構成例を示す図
【
図4】実施形態の学習方法の例を示すフローチャート
【発明を実施するための形態】
【0010】
以下、適宜図面を参照しながら、学習装置、学習方法及びプログラムの実施形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。
【0011】
なお、添付図面および以下の説明は、当業者が本開示を十分に理解するために、提供されるのであって、これらにより特許請求の範囲に記載の主題を限定することは意図されていない。
【0012】
(実施形態)
本発明に係る実施形態の学習装置は、第1ドメインのデータとして第1画像の入力を受け付け、第2のドメインのデータである第2画像に類似するように(第2のドメインのデータ風に)変換を行う第1のニューラルネットワークと、第2ドメインのデータとして第2画像の入力を受け付け、第1のドメインのデータである第1画像に類似するように(第1のドメインのデータ風に)変換を行う第2のニューラルネットワークとを学習させる装置である。
【0013】
図1は、実施形態の画像変換の概要図である。例えば、
図1のように第1のニューラルネットワークの入力が、車載カメラによって撮影された前方の可視光画像であり、第2のニューラルネットワークの入力が、車載カメラによって撮影された前方の赤外線画像である。そして、学習装置が、第1ドメインのデータとして可視光画像の入力を受け付け、第2のドメインのデータである赤外線画像に類似するような疑似赤外線画像に変換を行い、第2ドメインのデータとして疑似赤外線画像の入力を受け付け、第1のドメインのデータに類似するような再構成可視光画像に変換する。このような変換を行うことで、第1のニューラルネットワーク及び第2のニューラルネットワークの学習を行う場合について説明する。
【0014】
このような変換を学習するために、本発明に係る実施形態の学習装置には、車載カメラであらかじめ撮影された可視光画像(第1のドメインのデータ)と、赤外線画像(第2のドメインのデータ)と、第1のドメインの正解ラベルのデータと、第2のドメインの正解ラベルのデータと、が格納されている。正解ラベルには、画像内に含まれる他車両の外接矩形や車両の外接直方体の地面と接している頂点の画像内の位置などが記述されている。
【0015】
また、本発明に係る実施形態の学習装置は、第1のドメインのデータによる第1のニューラルネットワークと第2のドメインのデータによる第2のニューラルネットワークの学習による変換品質を向上させるため、第1のニューラルネットワークと第2のニューラルネットワークをさらに学習する。第1のニューラルネットワークは、第1のドメインのデータを、第2のドメインのデータに類似するように(第2のドメインのデータ風に)変換し、第2のニューラルネットワークは、第2のドメインのデータを、第1のドメインのデータに類似するように(第1のドメインのデータ風に)変換する。
【0016】
第2のドメインのデータは、例えば赤外線画像と、正解ラベルのデータである。
【0017】
このように学習用の赤外線画像(第2のドメインのデータ)と、それらに対する正解ラベルとが本発明に係る実施形態の学習装置に格納される。
【0018】
なお、第2のドメインのデータは、赤外線画像に限られない。第2のドメインのデータ及びその正解ラベルは、第1のドメインのデータの水増しあるいは代替として利用できるデータと、正解データとの組であれば任意でよい。
【0019】
また正解ラベルについては、第1のドメインのデータの正解ラベルには含まれているが、第2のドメインのデータの正解ラベルには含まれていないデータがあってもよい。逆に、第2のドメインのデータの正解ラベルには含まれているが、第1のドメインのデータの正解ラベルには含まれていないデータがあってもよい。
【0020】
また、第2のニューラルネットワークが、第1のドメインのデータの正解ラベルから第1のドメインのデータに対応するデータを生成できる場合、第2のドメインのデータの正解ラベルを用意しなくてもよい(第1のドメインのデータの正解ラベルと同一でもよい)。
【0021】
第1のニューラルネットワークは、第1のドメインのデータを第2のドメインのデータと類似するように変換できるニューラルネットワークであれば任意でよい。第2のニューラルネットワークは、第2のドメインのデータを第1のドメインのデータと類似するように変換できるニューラルネットワークであれば任意でよい。第1及び第2のニューラルネットワークには、第2のドメインのデータ形式と第1のドメインのデータ形式とに基づいて、最も適切な変換技術を適用してよい。第1及び第2のニューラルネットワークに適用される変換技術は、例えばCycleGAN(非特許文献1)、DCGAN(非特許文献2)及びPix2Pix(非特許文献3)などである。
【0022】
[構成例]
図2は、本発明に係る実施形態の学習装置1の構成例を示すブロック図である。この学習装置1は、例えば専用または汎用コンピュータを用いて構成される。本発明に係る実施形態の学習装置1は、
図2に示すように、処理部10、記憶部20、通信部30、及び、各構成を接続するバス40を備える。
【0023】
処理部10は、取得部11、変換部12、更新部13を備える。各部の処理の具体的な説明については後述する。なお、
図2では、本発明に係る実施形態に関わる主要な機能ブロックを例示しているが、処理部10が有する機能はこれらに限られない。
【0024】
学習装置1で実行される各機能の処理は、例えば、コンピュータによって実行可能なプログラムの形態で記憶部20に記憶されている。処理部10は、記憶部20からプログラムを読み出して実行することで、各プログラムに対応する機能を実現するプロセッサである。各プログラムを読み出した状態の処理部10は、
図2に示した各機能ブロックを有する。
【0025】
なお、
図2では、単一の処理部10により各機能ブロックが実現されるものとして図示しているが、複数の独立したプロセッサを組み合わせて処理部10を構成しても構わない。この場合、各処理機能がプログラムとして構成されてもよいし、特定の機能が専用の独立したプログラム実行回路に実装されてもよい。
【0026】
上述の「プロセッサ」は、例えば、CPU(Central Processing Unit)やGPU(Graphical Processing Unit)などの汎用プロセッサ、あるいは、特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)、プログラマブル論理デバイス(例えば、単純プログラマブル論理デバイス(Simple Programmable Logic Device:SPLD)、複合プログラマブル論理デバイス(Complex Programmable Logic Device:CPLD)、フィールドプログラマブルゲートアレイ(Field Programmable Gate Array:FPGA))などの回路である。
【0027】
処理部10は記憶部20に保存されたプログラムを読み出し実行することで機能を実現する。なお、記憶部20にプログラムを保存する代わりに、処理部10の回路内にプログラムを直接組み込むよう構成しても構わない。この場合、処理部10は回路内に組み込まれたプログラムを読み出し実行することで機能を実現する。
【0028】
記憶部20は、処理部10の各機能ブロックに伴うデータなどを必要に応じて記憶する。記憶部20は、ニューラルネットワークのプログラムと、重みパラメータを記憶している。本発明に係る実施形態の記憶部20は、プログラムと、各種の処理に用いられるデータとを記憶する。例えば、記憶部20は、RAM(Random Access Memory)、フラッシュメモリなどの半導体メモリ素子、ハードディスク、光ディスクなどである。また、記憶部20は、学習装置1の外部の記憶装置で代替されてもよい。記憶部20は、LAN(Local Area Network)やインターネットなどにより伝達されたプログラムをダウンロードして記憶または一時記憶した記憶媒体であってもよい。また、記憶媒体は1つに限らず、複数の媒体から構成されてもよい。
【0029】
記憶部20には、あらかじめ学習に用いる第1のドメインのデータ及びそのデータに対する正解ラベルと、第2のドメインのデータとそのデータに対する正解ラベルが格納されていてもよいし、別のサーバなどの装置にあらかじめ格納されている前述のデータを、LANなどを介して一部ずつ読み出し、記憶部20に格納してもよい。
【0030】
通信部30は、有線または無線で接続された外部装置と情報の入出力を行うインタフェースである。通信部30は、ネットワークに接続して通信を行ってもよい。
【0031】
次に、処理部10が有する各機能ブロックの処理について説明する。
【0032】
取得部11は、記憶部20から第1のドメインのデータと、第1のドメインのデータの正解ラベルとを学習データとして読み出す。また、取得部11は、記憶部20から第2のドメインのデータと、第2のドメインのデータの正解ラベルとを学習データとして読み出す。
【0033】
変換部12は、ニューラルネットワークを用いて
図1のように、第1のドメインのデータ(可視光画像)を受け付け、第1のドメインのデータを第2のドメインのデータに類似する第2の変換データ(疑似赤外線画像)に変換し、第2のドメインのデータを受け付け、第2のドメインのデータを第1のドメインのデータに類似する第1の変換データ(再構成可視画像)に変換する。なお、変換に用いられるニューラルネットワークの構成の詳細については、後述する。変換部12がニューラルネットワークを用いるとは、記憶部20に記憶されたニューラルネットワークのプログラムと、重みパラメータを用いることを意味する。
【0034】
更新部13は、取得部11によって読み出された学習データ(第1のドメインのデータ及びその正解ラベル、又は、第2のドメインのデータ及びその正解ラベル)に基づいて、ニューラルネットワークのパラメータを更新する。なお、更新方法の詳細については後述する。
【0035】
[ニューラルネットワークの構成例]
図3は本発明に係る実施形態のニューラルネットワークの構成例を示す図である。
図3の例では、第1のドメインのデータとして可視光画像が用いられ、第2のドメインのデータとして赤外線画像が用いられる場合を示す。
【0036】
第1及び第2のドメインのデータは、R、G、Bのカラー画像でもよいし、色空間を変換したカラー画像(例えばY、U、Vのカラー画像)でもよい。また、第1及び第2のドメインのデータは、カラー画像をモノクロ化した1チャンネルの画像でもよい。また、第1及び第2のドメインのデータは、そのままの画像ではなく、例えばR、G、Bのカラー画像であれば、各チャンネルの画素値の平均値を引いた画像でもよい。また例えば、第1及び第2のドメインのデータは、各画素の画素値を0~1あるいは-1~1の範囲とした正規化画像などでもよい。正規化は、例えば各画素の画素値から平均値を引いた後、各画素値を分散あるいは画像の画素値のダイナミックレンジで割ることにより行われる。
【0037】
図3に示されるように、第1のニューラルネットワーク(以下図面では「ニューラルネットワーク」を「NN」と称す)101は、第1のドメインのデータD1Dの入力を受け付けると、第1のドメインのデータD1Dを第2のドメインのデータに類似する第2の変換データD2CDに変換して出力する。
【0038】
第2のニューラルネットワーク102は、第2のドメインのデータD2Dの入力を受け付けると、第2のドメインのデータD2Dを第1のドメインのデータに類似する第1の変換データD1CDに変換して出力する。
【0039】
第1のニューラルネットワーク101は、第1の変換データD1CDの入力を受け付けると、第2のドメインのデータに類似する第2の再構成データD2RDに変換して出力する。
【0040】
第2のニューラルネットワーク102は、第2の変換データD2CDの入力を受け付けると、第1のドメインのデータに類似する第1の再構成データD1RDに変換して出力する。
【0041】
第3のニューラルネットワーク103は、第2のドメインのデータD2D、又は、第2の変換データD2CDの入力を受け付けると、真の画像か偽の画像かを識別する。そして、第3のニューラルネットワーク103は、第2のドメインのデータD2D、又は、第2の変換データD2CDの真偽の識別結果を第3の更新部133に送信する。
【0042】
第4のニューラルネットワーク104は、第1のドメインのデータD1D、又は、第1の変換データD1CDの入力を受け付けると、第1のドメインのデータD1D、又は、第1の変換データD1CDの真の画像か偽の画像かを識別する。そして、第4のニューラルネットワーク104は、真偽の識別結果を第4の更新部134に送信する。
【0043】
第1のニューラルネットワーク101と、第2のニューラルネットワーク102と、第3のニューラルネットワーク103と、第4のニューラルネットワーク104は、上述の変換部12によって利用される。
【0044】
第1のニューラルネットワーク101と、第2のニューラルネットワーク102と、第3のニューラルネットワーク103と、第4のニューラルネットワーク104のパラメータは、更新部13によって更新される。更新部13は、第1の更新部131と、第2の更新部132と、第3の更新部133と、第4の更新部134と、第5の更新部135と、第6の更新部136を備える。
【0045】
第1の更新部131は、第1のドメインのデータD1Dを受け付け、第2のニューラルネットワーク102から第1の再構成データD1RDを受け付ける。そして、第1の更新部131は、第1のニューラルネットワーク101のパラメータと、第2のニューラルネットワーク102のパラメータを、第1の再構成データD1RDが、第1のドメインのデータD1Dに近づくように更新する。
【0046】
第2の更新部132は、第2のドメインのデータD2Dを受け付け、第1のニューラルネットワーク101から第2の再構成データD2RDを受け付ける。そして、第2の更新部132は、第2のニューラルネットワーク102のパラメータと、第1のニューラルネットワーク101のパラメータを、第2の再構成データD2RDが、第2のドメインのデータD2Dに近づくように更新する。
【0047】
第3の更新部133は、第3のニューラルネットワーク103から真偽の識別結果を受け付ける。そして、第3の更新部133は、画像の真偽の識別結果に基づいて第3のニューラルネットワーク103のパラメータを、真の画像か偽の画像かを正しく識別できるように更新する。
【0048】
第4の更新部134は、第4のニューラルネットワーク104から真偽の識別結果を受け付ける。そして、第4の更新部134は、画像の真偽の識別結果に基づいて第4のニューラルネットワーク104のパラメータを、真の画像か偽の画像かを正しく識別できるように更新する。
【0049】
第5の更新部135は、第1のドメインのデータD1Dと、第2の変換データD2CDと、取得部11から第1のドメインのデータの正解ラベルD1CLを受け付ける。そして、第5の更新部135は、第1のニューラルネットワーク101のパラメータを、第1のドメインのデータD1Dと、第2の変換データD2CDと、第1のドメインのデータの正解ラベルD1CLとに基づいて、第1のニューラルネットワーク101のパラメータを更新する。
【0050】
第6の更新部136は、第2のドメインのデータD2Dと、第1の変換データD1CDと、取得部11から第2のドメインのデータの正解ラベルD2CLを受け付ける。そして、第6の更新部136は、第2のニューラルネットワーク102のパラメータを、第2のドメインのデータD2Dと、第1の変換データD1CDと、第2のドメインのデータの正解ラベルD2CLとに基づいて、第2のニューラルネットワーク102のパラメータを更新する。
【0051】
具体的には、第1の更新部131は、第1の再構成データD1RDと、第1のドメインのデータD1Dとの差分から損失Lcycle1を計算する。また同様に、第2の更新部132は、第2の再構成データD2RDと、第2のドメインデータD2Dとの差分から損失Lcycle2を計算する。第3の更新部133は、0を超え1未満の確率値で出力される数値と「真値:1」と「偽値:0」との差分から損失Lgan1を計算する。また同様に、第4の更新部134は、0を超え1未満の確率値で出力される数値と「真値:1」と「偽値:0」との差分から損失Lgan2を計算する。第5の更新部135は、第1のドメインのデータの正解ラベルD1CLに基づいた領域構造情報から、第1のドメインのデータD1Dと、第2の変換データD2CDとの差分から損失Ledge1を計算する。また同様に、第6の更新部136は、第2のドメインのデータの正解ラベルD2CLに基づいた領域構造情報から、第2のドメインのデータD2Dと、第1の変換データD1CDとの差分から損失Ledge2を計算する。そして更新部13は、Lcycle1とLcycle2とLedge1とLedge2を下記式(1)によって重み付き加算することにより損失Lgを求める。
Lg=a×Lcycle1+b×Lcycle2+c×Ledge1+d×Ledge2 ・・・(1)
ここで、a、b、c、dは所定の定数である。
【0052】
そして、第1の更新部131、第2の更新部132、第5の更新部135、及び第6の更新部136は、この損失Lgが最小となるように第1のニューラルネットワーク101及び第2のニューラルネットワーク102のパラメータを更新する。
【0053】
なお、第1のニューラルネットワーク101及び第2のニューラルネットワーク102のパラメータの更新方法については、ここに述べた方法だけでなく、第1のニューラルネットワーク101及び第2のニューラルネットワーク102の出力において、第1及び第2のドメインのデータD1D,D2Dと、第1及び第2の再構成データD1RD,D2RDとの差分が下がる方法であれば、他の方法であっても構わない。
【0054】
また、損失の計算方法は、損失をニューラルネットワークに遡及させてパラメータを更新できれば、どのような計算で行ってもよく、タスクに応じた損失の計算方法を選択すればよい。例えば、損失の計算方法は、L1Loss、L2Loss、SSIMLoss、PerceptualLossなどを使用してもよいし、これらの方法を組み合わせて使用してもよい。また、学習の進み具合に応じて、上記の定数a、b、c、dを適応的に変更してもよい。
【0055】
また、第3の更新部133及び第4の更新部134は、損失Lgan1、Lgan2が最小となるように第3のニューラルネットワーク103及び第4のニューラルネットワーク104のパラメータを更新する。
【0056】
なお、第3のニューラルネットワーク103及び第4のニューラルネットワーク104のパラメータの更新方法については、ここに述べた方法だけでなく、第3のニューラルネットワーク103及び第4のニューラルネットワーク104の出力において「真値:1」と「偽値:0」との差分が下がる方法であれば、他の方法であっても構わない。
【0057】
また、損失の計算方法は、損失をニューラルネットワークに遡及させてパラメータを更新できれば、どのような計算で行ってもよく、タスクに応じた損失の計算方法を選択すればよい。例えば損失の計算方法は、CrossEntropyLossやL1LossやL2Lossなどを選択すればよい。
【0058】
なお、Ledge1とLedge2の計算方法については、ここに述べた方法だけでなく、第1及び第2のドメインの正解ラベルD1CL,D2CLに基づいた領域構造情報から、第1及び第2のドメインのデータD1D,D2Dと、第1及び第2の変換データD1CD,D2CDとの差分が下がる方法であれば任意でよい。例えば、第1及び第2のドメインの正解ラベルD1CL,D2CLに基づく画像内に含まれる物体領域の外接矩形から、第1及び第2のドメインデータD1D,D2Dと、第1及び第2の変換データD1CD,D2CDにおける各領域内の画素情報から任意の計算方法を選択してもよい。例えば、損失の計算方法は、エッジ抽出を行い、エッジの強度又は位置や方向の誤差、又はChamfer等のマッチング処理の結果を損失として選択してもよい。エッジの抽出方法としては、LaplacianやDifference of Gaussian等の任意のフィルタ処理を選択してもよい。また、領域内の画素情報から周波数領域に変換を行い、周波数帯域での差分による計算方法を選択してもよい。
【0059】
[学習方法の例]
図4は本発明に係る実施形態の学習方法の例を示すフローチャートである。はじめに、取得部11が、記憶部20から学習データ(第1のドメインのデータ、第1のドメインのデータの正解ラベル、第2のドメインのデータ、及び、第2のドメインのデータの正解ラベル)を読み出す(ステップS31)。
【0060】
取得部11は、例えば第1のドメインのデータが可視光画像で、第2のドメインのデータが赤外線画像の場合、可視光画像とその正解ラベルとを1枚ずつ、赤外線画像とその正解ラベルとを1枚ずつ読み出してもよい。また例えば、取得部11は、可視光画像とその正解ラベルの組、及び、赤外線画像とその正解ラベルの組を、例えば2枚や4枚、8枚ずつなど複数枚をセットで読み出してもよい。また例えば、取得部11は、第1のドメインのデータD1D及び第2ドメインのデータD2Dの読み込み枚数を変えてもよい。
【0061】
これらの入力の組(1度に処理対象とするデータの単位)を以降ではバッチと呼ぶことがある。また入力1バッチに対するパラメータ更新処理の回数をイテレーション数と呼ぶことがある。
【0062】
次に、変換部12が、第1のニューラルネットワーク101による変換処理を実行する(ステップS32)。具体的には、変換部12は、読み込まれたバッチ内の第1のドメインのデータD1Dを第1のニューラルネットワーク101に入力し、第2の変換データD2CDを生成する。
【0063】
次に、変換部12が、第2のニューラルネットワーク102による変換処理を実行する(ステップS33)。具体的には、変換部12は、読み込まれたバッチ内の第2のドメインのデータD2Dを第2のニューラルネットワーク102に入力し、第1の変換データD1CDを生成する。
【0064】
次に、変換部12が、第2のニューラルネットワーク102による変換処理を実行する(ステップS34)。具体的には、変換部12は、生成された第2の変換データを第2のニューラルネットワーク102に入力し、第1の再構成データD1RDを生成する。
【0065】
次に、変換部12が、第1のニューラルネットワーク101による変換処理を実行する(ステップS35)。具体的には、変換部12は、生成された第1の変換データを第1のニューラルネットワーク101に入力し、第2の再構成データD2RDを生成する。
【0066】
次に、第1の更新部131、第2の更新部132、第5の更新部135、及び第6の更新部136が、ステップS32~ステップS35の処理結果に基づいて、上述の式(1)により定義された損失を計算する(ステップS36)。
【0067】
次に、第1の更新部131、第2の更新部132、第5の更新部135及び第6の更新部136が、ステップS36の処理によって計算された損失に基づいて、第1のニューラルネットワーク101及び第2のニューラルネットワーク102のパラメータを更新する(ステップS37)。
【0068】
次に、変換部12が第3のニューラルネットワーク103による識別処理を実行する(ステップS38)。具体的には、変換部12は、第2のドメインのデータD2Dと、生成された第2の変換データD2CDを第3のニューラルネットワーク103に入力し、真の画像か偽の画像かを識別する。
【0069】
次に、変換部12が第4のニューラルネットワーク104による識別処理を実行する(ステップS39)。具体的には、変換部12は、第1のドメインのデータD1Dと、生成された第1の変換データD1CDを第4のニューラルネットワーク104に入力し、真の画像か偽の画像かを識別する。
【0070】
次に、第3の更新部133及び第4の更新部134が、ステップS38及びステップS39の処理結果に基づいて、損失を計算する(ステップS40)。
【0071】
次に、第3の更新部133及び第4の更新部134が、ステップS40の処理によって計算された損失に基づいて、第3のニューラルネットワーク103及び第4のニューラルネットワーク104のパラメータを更新する(ステップS41)。
【0072】
次に、更新部13が、所定の回数(イテレーション数)、更新処理を繰り返したか否かを判定する(ステップS42)。所定の回数、更新処理を繰り返していない場合(ステップS42、No)、処理はステップS31に戻り、所定の回数、更新処理を繰り返した場合(ステップS42、Yes)、処理は終了する。
【0073】
以上、説明したように、本発明に係る実施形態の学習装置1では、変換部12が、第1のドメインのデータを受け付け、第1のドメインのデータを第2のドメインのデータに類似する第2の変換データに変換する第1のニューラルネットワーク101を用いて、第1のドメインのデータを第2の変換データに変換し、第2のドメインのデータを受け付け、第2のドメインのデータを第1のドメインのデータに類似する第1の変換データに変換する第2のニューラルネットワーク102を用いて、第2のドメインのデータを第1の変換データに変換し、第2の変換データを受け付け、第2の変換データを第1の再構成データに変換する第2のニューラルネットワーク102を用いて、第2の変換データを第1の再構成データに変換し、第1の変換データを受け付け、第1の変換データを第2の再構成データに変換する第1のニューラルネットワーク101を用いて、第1の変換データを第2の再構成データに変換する。第3のニューラルネットワーク103は、第2のドメインのデータ、又は、第2の変換データの入力を受け付けると、真の画像か偽の画像かを識別する。第4のニューラルネットワーク104は、第1のドメインのデータ、又は、第1の変換データの入力を受け付けると、真の画像か偽の画像かを識別する。
【0074】
第1の更新部131は、第1のニューラルネットワーク101のパラメータを、第1の再構成データが、第1のドメインのデータに近づくように更新する。第2の更新部132は、第2のニューラルネットワーク102のパラメータを、第2の再構成データが、第2のドメインのデータに近づくように更新する。第3の更新部133は、第3のニューラルネットワーク103のパラメータを、真の画像か偽の画像かを正しく識別できるように更新する。第4の更新部134は、第4のニューラルネットワーク104のパラメータを、真の画像か偽の画像かを正しく識別できるように更新する。第5の更新部135は、第1のニューラルネットワーク101のパラメータを、第1のドメインのデータと、第2の変換データと、第1のドメインのデータの正解ラベルとに基づいて、第1のニューラルネットワーク101のパラメータを更新する。第6の更新部136は、第2のニューラルネットワーク102のパラメータを、第2のドメインのデータと、第1の変換データと、第2のドメインのデータの正解ラベルとに基づいて、第2のニューラルネットワーク102のパラメータを更新する。
【0075】
これにより本発明に係る実施形態の学習装置1によれば、画像変換に用いられるニューラルネットワーク(第1のニューラルネットワーク101及び第2のニューラルネットワーク102)の生成品質の向上に適した学習をすることができる。具体的には、本発明に係る実施形態の学習装置1では、例えば可視光画像を入力し、赤外線画像を生成する第1のニューラルネットワーク101と、赤外線画像を入力し、可視光画像を生成する第2のニューラルネットワーク102とを学習できる。これにより、第1のドメインの画像(可視光画像など)を生成する生成ネットワーク(第1のニューラルネットワーク101)及び第2のドメインの画像(赤外線画像など)を生成する生成ネットワーク(第2のニューラルネットワーク102)の生成品質を向上させることができる。このため、推定に用いられるネットワークの識別性能を向上させることができる。
【0076】
なお、本発明に係る実施形態の学習装置1における上述の処理機能は、上述したように、例えばコンピュータを用いて構成される学習装置1がプログラムを実行することにより実現される。この場合、本発明に係る実施形態の学習装置1で実行されるプログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するようにしてもよい。また、本発明に係る実施形態の学習装置1で実行されるプログラムを、インターネットなどのネットワーク経由で提供または配布するようにしてもよい。さらに、本発明に係る実施形態の学習装置1で実行されるプログラムを、ROMなどの不揮発性の記録媒体に予め組み込んで提供するようにしてもよい。
【0077】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【産業上の利用可能性】
【0078】
本開示にかかる学習装置、学習方法及びプログラムは、従来の技術よりも優れた学習データを水増しすることが可能となるため、クラス識別、物体検出及び位置回帰などのニューラルネットワークなどの機械学習を用いたデータ分析処理として有用である。
【符号の説明】
【0079】
1 学習装置
10 処理部
11 取得部
12 変換部
13 更新部
20 記憶部
30 通信部
101 第1のニューラルネットワーク
102 第2のニューラルネットワーク
103 第3のニューラルネットワーク
104 第4のニューラルネットワーク
131 第1の更新部
132 第2の更新部
133 第3の更新部
134 第4の更新部
135 第5の更新部
136 第6の更新部