IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

特許7483405学習装置、電子機器、学習方法、電子機器の制御方法およびプログラム
<>
  • 特許-学習装置、電子機器、学習方法、電子機器の制御方法およびプログラム 図1
  • 特許-学習装置、電子機器、学習方法、電子機器の制御方法およびプログラム 図2
  • 特許-学習装置、電子機器、学習方法、電子機器の制御方法およびプログラム 図3
  • 特許-学習装置、電子機器、学習方法、電子機器の制御方法およびプログラム 図4
  • 特許-学習装置、電子機器、学習方法、電子機器の制御方法およびプログラム 図5
  • 特許-学習装置、電子機器、学習方法、電子機器の制御方法およびプログラム 図6
  • 特許-学習装置、電子機器、学習方法、電子機器の制御方法およびプログラム 図7
  • 特許-学習装置、電子機器、学習方法、電子機器の制御方法およびプログラム 図8
  • 特許-学習装置、電子機器、学習方法、電子機器の制御方法およびプログラム 図9
  • 特許-学習装置、電子機器、学習方法、電子機器の制御方法およびプログラム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-07
(45)【発行日】2024-05-15
(54)【発明の名称】学習装置、電子機器、学習方法、電子機器の制御方法およびプログラム
(51)【国際特許分類】
   G06T 7/00 20170101AFI20240508BHJP
   G06T 5/70 20240101ALI20240508BHJP
【FI】
G06T7/00 350B
G06T5/70
【請求項の数】 17
(21)【出願番号】P 2020029497
(22)【出願日】2020-02-25
(65)【公開番号】P2021135583
(43)【公開日】2021-09-13
【審査請求日】2023-02-20
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100125254
【弁理士】
【氏名又は名称】別役 重尚
(72)【発明者】
【氏名】大浦 颯人
【審査官】長谷川 素直
(56)【参考文献】
【文献】国際公開第2014/104151(WO,A1)
【文献】特開2020-004405(JP,A)
【文献】特開2016-103245(JP,A)
【文献】特開平05-191796(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G06T 5/70
G06N 3/00
(57)【特許請求の範囲】
【請求項1】
複数の学習データを含む学習セットについて、前記複数の学習データの特徴量の分布が所定の分布となるように前記学習セットに含まれる学習データの数を調整する調整手段と、
前記学習セットを用いて機械学習を行い、学習済みモデルを生成する学習手段と、
を備えることを特徴とする学習装置。
【請求項2】
前記調整手段は、前記学習データの特徴量が大きくなるに応じて、該学習データの割合を高くする第1の分布となるように前記学習データの数を調整することを特徴とする請求項1に記載の学習装置。
【請求項3】
前記調整手段は、前記学習セットに含まれる前記複数の学習データを用いて前記機械学習が行われた後に、前記特徴量が所定量以上の学習データを追加することを特徴とする請求項2に記載の学習装置。
【請求項4】
前記調整手段は、前記学習セットに含まれる全ての前記学習データを用いた前記機械学習が行われた後に、前記複数の学習データの特徴量の分布を平均化する調整を行うことを特徴とする請求項2に記載の学習装置。
【請求項5】
前記調整手段は、前記学習データの特徴量が小さくなるに応じて、該学習データの割合を高くする第2の分布となるように前記学習データの数を調整することを特徴とする請求項1に記載の学習装置。
【請求項6】
前記調整手段は、前記学習セットに含まれる全ての前記学習データを用いた前記機械学習が行われた後に、前記特徴量が所定量未満の学習データを追加することを特徴とする請求項5に記載の学習装置。
【請求項7】
前記調整手段は、複数の前記学習セットのそれぞれについて、前記複数の学習データの特徴量の分布が所定の分布となるように前記学習セットに含まれる学習データの数を調整し、
複数の前記学習手段は、対応する学習セットを用いて機械学習を行うことを特徴とする請求項1に記載の学習装置。
【請求項8】
前記学習装置は、複数の前記学習手段がそれぞれ機械学習して得られる複数の前記学習済みモデルを切り替えて推論処理を実行することを特徴とする請求項7に記載の学習装置。
【請求項9】
前記学習装置は、推論対象となるデータの特徴量に応じて、前記複数の学習済みモデルのうち何れかに切り替えて前記推論処理を実行することを特徴とする請求項8に記載の学習装置。
【請求項10】
前記学習セットは、前記特徴量が所定の閾値未満の複数の学習データまたは前記特徴量が前記所定の閾値以上の複数の学習データにより構成されることを特徴とする請求項7乃至9のうち何れか1項に記載の学習装置。
【請求項11】
前記学習データは、非圧縮画像を符号化し、復号した学習用の復号画像であり、
前記学習済みモデルは、復号画像が入力されたときに、前記復号画像を回復した回復画像を出力することを特徴とする請求項1乃至10のうち何れか1項に記載の学習装置。
【請求項12】
前記特徴量は、前記復号画像の画素差分値、画素平均値または分散値であることを特徴とする請求項11に記載の学習装置。
【請求項13】
複数の学習データを含む学習セットについて、前記複数の学習データの特徴量の分布が所定の分布となるように前記学習セットに含まれる学習データの数を調整し、該学習データの数が調整された学習セットを用いて機械学習を行い、学習済みモデルを生成する学習装置から前記学習済みモデルを取得する取得手段と、
取得した前記学習済みモデルを用いて推論処理を行う推論手段と、
を備えることを特徴とする電子機器。
【請求項14】
複数の学習データを含む学習セットについて、前記複数の学習データの特徴量の分布が所定の分布となるように前記学習セットに含まれる学習データの数を調整する工程と、
前記学習セットを用いて機械学習を行い、学習済みモデルを生成する工程と、
を備えることを特徴とする学習方法。
【請求項15】
複数の学習データを含む学習セットについて、前記複数の学習データの特徴量の分布が所定の分布となるように前記学習セットに含まれる学習データの数を調整し、該学習データの数が調整された学習セットを用いて機械学習を行い、学習済みモデルを生成する学習装置から前記学習済みモデルを取得する工程と、
取得した前記学習済みモデルを用いて推論処理を行う工程と、
を備えることを特徴とする電子機器の制御方法。
【請求項16】
請求項1乃至12のうち何れか1項に記載の学習装置の各手段をコンピュータに実行させるためのプログラム。
【請求項17】
請求項13に記載の電子機器の各手段をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習装置、電子機器、学習方法、電子機器の制御方法およびプログラムに関する。
【背景技術】
【0002】
近年、画像処理に、ニューラルネットワーク等の機械学習が活用されるようになっている。例えば、機械学習されたニューラルネットワークに対して画像データが入力されると、画像処理に関する推論結果が得られる。機械学習は多くの学習データを用いて行われる。このとき、機械学習に用いられる学習データによっては、推論精度が低くなることがある。関連する技術として、特許文献1の技術が提案されている。特許文献1の技術では、欠陥候補の種類判別結果が一致しない場合、検査要員による入力に応じて新たな教師データが追加されて、再学習が行われることで、判別基準が設定し直される。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2014-153906号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述した特許文献1の技術では、学習モデルの初期学習が行われた後、欠陥候補の種類判別結果が一致しない場合に教師データが追加されて再学習が行われる。従って、再学習は行われているものの、学習モデルの性能は、学習モデルに対する初期学習の影響が大きく、支配的になる。このため、初期学習の際に用いられた学習データが適正でないと、特許文献1のように教師データが追加された再学習が行われたとしても、再学習により得られる学習モデルの推論精度があまり向上しない可能性がある。
【0005】
本発明は、機械学習により得られる学習済みモデルの推論精度を向上させることを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するために、本発明の学習装置は、複数の学習データを含む学習セットについて、前記複数の学習データの特徴量の分布が所定の分布となるように前記学習セットに含まれる学習データの数を調整する調整手段と、前記学習セットを用いて機械学習を行い、学習済みモデルを生成する学習手段と、を備えることを特徴とする。
【発明の効果】
【0007】
本発明によれば、機械学習により得られる学習済みモデルの推論精度を向上させることができる。
【図面の簡単な説明】
【0008】
図1】本実施形態のシステムの一例を示す図である。
図2】画像特徴量の分布の一例を示す図である。
図3】3つの分布の画質回復の大きさを示す図である。
図4】第1実施形態の学習処理を示す図である。
図5】第1実施形態の処理の流れを示すフローチャートである。
図6】学習セットの調整処理の流れを示すフローチャートである。
図7】第2実施形態の処理の流れを示すフローチャートである。
図8】第3実施形態の学習処理を示す図である。
図9】学習セットの一例を示す図である。
図10】第3実施形態の推論処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、本発明の各実施の形態について図面を参照しながら詳細に説明する。しかしながら、以下の各実施の形態に記載されている構成はあくまで例示に過ぎず、本発明の範囲は各実施の形態に記載されている構成によって限定されることはない。
【0010】
<第1実施形態>
以下、図面を参照して、第1実施形態について説明する。図1は、本実施形態のシステムの一例を示す図である。コンピュータ10は、CPU11、メモリ12、記憶装置13、通信部14、表示部15、入力制御部16、GPU17(Graphics Processing Unit)および内部バス100を有する。コンピュータ10は、他の構成を有していていてもよい。コンピュータ10は、機械学習を行う学習装置である。コンピュータ10は、例えば、クラウドサーバやエッジコンピュータ等であってもよい。コンピュータ10は、画像処理を行う機能を有していてもよい。
【0011】
CPU11は、記憶装置13に記憶されているコンピュータプログラム(以下、プログラム)を実行することによって、内部バス100を介してコンピュータ10の各機能ブロックの動作を制御する。以下、CPU11が各実施形態の処理を行うものとして説明するが、GPU17がCPU11の動作を補助してもよい。CPU11は、調整手段に対応する。
【0012】
メモリ12は、書き換え可能な揮発性メモリである。メモリ12は、コンピュータ10の各部の動作を制御するためのプログラムやコンピュータ10の各動作に関する情報、CPU11による処理前後の情報等を一時的に記録する。メモリ12は、例えばRAMであり、各情報を一時的に記録するために十分な記憶容量を備えている。また、メモリ12は、ニューラルネットワークの処理内容を記述したプログラム(機械学習を行うためのプログラム)を記憶する。また、メモリ12は、ニューラルネットワークの重み係数やバイアス値等の学習済みの係数パラメータを記憶する。
【0013】
各実施形態では、学習モデルにニューラルネットワークを適用した例を説明する。ただし、学習モデルの機械学習アルゴリズムとしては、例えば、サポートベクターマシンや決定木、ロジスティクス回帰等が適用されてもよい。重み係数は、ニューラルネットワークにおいてノード間の接続の強さを示すための値であり、バイアスは重み係数と入力データの積算値に対してオフセットを与えるための値である。
【0014】
記憶装置13は、電気的に消去および記録が可能なメモリであり、例えばハードディスクやSSD(Solid State Drive)等が適用される。記憶装置13は上述したコンピュータプログラムやメモリ12に一時保存された処理結果等の情報を記憶する。通信部14は、無線通信または有線通信により、外部装置や周辺機器と通信を行う。図1の例では、通信部14は、端末19と通信を行う。コンピュータ10は、複数の端末19と通信を行うことができる。また、通信部14は、記録媒体等の周辺機器と情報の通信を行うことができる。通信部14は、例えば、IEEE802.11等のような無線通信規格に適合する通信方式やUSB(Universal Serial Bus)規格に適合する通信方式を用いて、通信を行うことができる。
【0015】
表示部15は、例えば、液晶ディスプレイや有機ELディスプレイ等である。表示部15は、CPU11やGPU17等が出力する所定の情報を表示する。例えば、表示部15は、GPU17が出力する画像信号に基づいて、画像を表示する。入力制御部16は、入力装置からの入力を制御する。例えば、入力装置としてはキーボードやマウス等が用いられる。入力制御部16は、入力装置が受け付けた操作内容を電気信号に変換し、コンピュータ10の各部に対して、変換された電気信号(入力信号)を伝える。GPU17は、学習手段に対応する。
【0016】
GPU17は、演算処理を並列に行うことで、演算処理を高速に処理できる回路である。各実施形態では、GPU17は、ニューラルネットワークの演算処理に用いられる。GPU17は、内部バス100を介して、相互に各部と通信可能である。GPU17は、表示部15に出力する画像信号の処理にも好適である。各実施形態では、ニューラルネットワークの演算処理にGPU17が用いられる例について説明する。ニューラルネットワークの演算処理は、CPU11により行われてもよいし、CPU11とGPU17とが協働して行ってもよい。また、ニューラルネットワークの演算処理には、GPU17ではなく、機械学習に特化したプログラミング回路等が適用されてもよい。
【0017】
端末19は、主に推論処理を行う電子機器である。端末19は、例えば、スマートフォンやタブレット端末、画像処理装置等の電子機器である。端末19は、画像処理装置が搭載された撮像装置であってもよい。端末19の構成は、コンピュータ10と同様である。端末19が推論処理を行う場合、端末19は、コンピュータ10から学習済みモデルを取得する。この場合、端末19の通信部は取得手段として機能する。そして、端末19のCPUは、GPUに推論処理を行わせて、推論結果を得る。この場合、端末19のGPUは、推論手段として機能する。
【0018】
次に、ニューラルネットワークの学習について説明する。各実施形態のニューラルネットワークは、例えば、CNN(Convolutional Neural Network)であってもよい。CNNは、例えば、畳み込み層とプーリング層とが交互に積層された層構造に、全結合層および出力層が接続されたネットワーク構成が採用される。また、ニューラルネットワークの機械学習は、コンピュータ10以外の装置で行われてもよい。ニューラルネットワークの機械学習は、目的となる処理結果に対し、ニューラルネットワークの重み係数やバイアス値等の係数パラメータを適切な値に近づけ、処理を最適化していくことである。
【0019】
以下、画像回復を行うニューラルネットワークの学習について説明する。画像回復を行うニューラルネットワークが学習されることで、係数パラメータが調整される。そして、学習が完了したニューラルネットワークを用いて、画像回復の推論処理が行われる。ニューラルネットワークは、画像回復処理以外の処理に適用されてもよい。例えば、ニューラルネットワークは、所定の画像処理や音声処理等にも適用され得る。
【0020】
画像回復は、例えば、圧縮されていない画像信号(符号化される前の画像信号)を符号化して圧縮した画像を復号した画像(復号画像)を回復する処理である。圧縮されていない画像信号を非圧縮画像としたとき、復号画像には、符号化による歪みが生じるため、その画質は、非圧縮画像の画質より低下する。このため、コンピュータ10は、画像回復の処理を行うことにより、復号画像を回復させる。ニューラルネットワークの学習が行われる際に用いられる学習データは、教師画像(教師データ)となる非圧縮画像と、復号画像との組み合わせを含む。学習データは、例えば、記憶装置13に記憶されていてもよいし、通信部14により外部の装置(例えば、撮像装置)から取得されてもよい。
【0021】
ニューラルネットワークに対して、学習データのうち復号画像が入力される。これにより、GPU17は、ニューラルネットワークの係数パラメータを調整する演算処理を行う。ニューラルネットワークには、複数の学習データが入力され、GPU17は、ニューラルネットワークの係数パラメータを調整する演算処理を繰り返し行う。そして、ニューラルネットワークが演算結果として出力する回復画像と、教師画像としての非圧縮画像との画素値の差が小さくなるように、ニューラルネットワークの係数パラメータが調整される。例えば、ニューラルネットワークの係数パラメータの演算処理には、平均二乗誤差(mse: mean squared error)が用いられる。ただし、ニューラルネットワークの係数パラメータの調整には、平均二乗誤差以外の手法が用いられてもよい。
【0022】
GPU17は、mseが「0」を近づけるようにニューラルネットワークの機械学習を行う。ニューラルネットワークの機械学習には、平均二乗誤差を用いた誤差逆伝搬法が用いられてもよい。mseの定義式は、以下の式(1)で表される。
【0023】
【数1】
【0024】
式(1)におけるxはデータの誤差を示し、nはデータの個数を示す。ここでは、データとして、画像の画素が該当する。このように画質が劣る復号画像の画素値を、画質が低下していない非圧縮画像に画素値を近づけることで、画質が改善され、画像回復が実現される。各実施形態で行われる機械学習は、教師あり学習であるが、例えば、機械学習の手法として、強化学習等が用いられてもよい。
【0025】
次に、推論処理について説明する。推論処理は、コンピュータ10が行ってもよいし、端末19が行ってもよい。ここでは、コンピュータ10が推論処理を行うものとする。上述したように、ニューラルネットワークの機械学習が行われると、ニューラルネットワークの係数パラメータが調整される。ニューラルネットワークに対して、未知の復号画像が入力されると、ニューラルネットワークは推論処理を行う。ニューラルネットワークが行う推論処理により、復号画像の回復処理が行われ、回復画像が出力される。上述したように、ニューラルネットワークには、複数の学習データが入力される。複数の学習データにより構成される学習データ群が、学習セットである。GPU17は、学習セットについて、特徴量(画像特徴量)を用いて、ニューラルネットワークの機械学習を行うものとする。
【0026】
ここでは、復号画像の画素最大値Pmaxと最小値Pminとの差Pmax-Pminで定義される画素差分値を、画像特徴量とする。ただし、画素差分値の計算式および画像特徴量の値は、これらに限定されない。画像特徴量は、画素平均値や分散値等であってもよい。図2は、画像特徴量の分布の一例を示す図である。図2において、横軸は画像特徴量を示し、縦軸は画像セットに含まれる学習用の復号画像の数を示す。縦軸および横軸のそれぞれは、縦軸と横軸との交点から離れるほど、値が増加することを示している。よって、図2は、画像特徴量のそれぞれの区間に含まれる画像数を表す。
【0027】
図2(a)は、学習セット内に、画像特徴量が小さい復号画像から大きい復号画像までが平均的に含まれる分布(平均分布)を示す図である。つまり、学習セット内の各復号画像は、画像特徴量が小さい復号画像から大きい復号画像まで同程度の数である。図2(b)は、画像特徴量が大きい復号画像ほど、その数が多くなる分布(増加分布)を示す図である。増加分布は、第1の分布に対応する。つまり、増加分布は、復号画像の画像特徴量が大きくなるに応じて、画像セットのうちの画像特徴量が大きい復号画像の割合が高くなる分布である。図2(c)は、増加分布と逆の傾向を示す分布(減少分布)を示す図である。減少分布は、第2の分布に対応する。減少分布は、画像特徴量の小さい復号画像ほど、その数が多くなる分布である。つまり、減少分布は、復号画像の画像特徴量が小さくなるに応じて、画像セットのうちの画像特徴量が小さい復号画像の割合が高くなる分布である。
【0028】
以上より、平均分布は、それぞれの画像特徴量の区間に含まれる復号画像の数が平均的に分布していることを示している。平均分布は、全ての画像特徴量の区間で全て同じ数でなくてもよい。増加分布は、それぞれの画像特徴量の区間に含まれる復号画像の数が、画像特徴量に比例して増加するように分布していることを示す。増加分布における画像特徴量と復号画像の数とは比例関係でなくてもよい。減少分布は、それぞれの画像特徴量の区間に含まれる復号画像の数が、画像特徴量に比例して減少するように分布していることを示す。減少分布における画像特徴量と復号画像の数とは比例関係でなくてもよい。
【0029】
次に、推論処理について説明する。上述したように、推論処理は、コンピュータ10により行われる。ただし、推論処理は、コンピュータ10以外の端末19等により行われることもある。ニューラルネットワークに復号画像が入力されると、GPU17は、ニューラルネットワークによる推論処理を行い、推論結果をデータとして出力する。図3は、画像特徴量と画質回復の大きさとの関係を示すグラフである。推論処理で用いられる画像群である推論データは、復号画像の特徴量の割合が平均的になるように調整されているものとする。CPU11は、ニューラルネットワークに入力する復号画像と非圧縮画像との組、およびニューラルネットワークから出力される回復画像と非圧縮画像との組のそれぞれのmseを求める。そして、CPU11は、求められたmseからピーク信号対雑音比(PSNR: Peak Signal-to-noise ratio)を求める。
【0030】
CPU11は、2つのPSNRの差分を求めることで、ニューラルネットワークにより画質回復の向上の度合いを得ることができる。PSNRの単位はdBであり、求められた差分値が大きいほど画質回復の度合いが大きい。PSNRの定義式を、以下の式(2)に示す。式(2)中のmaxは復号画像が取り得る画素の最大値を示す。また、図3の横軸で示す値の画像特徴量の範囲は、図2で示した画像特徴量の範囲と同一である。
【0031】
【数2】
【0032】
図3の推論結果が示すように、画像特徴量が大きい復号画像ほど画質回復の平均値が低い。従って、画素差分値を画像特徴量とした場合、画像特徴量が大きい復号画像は画質回復の難易度が高く、画像特徴量が小さい復号画像は画質回復の難易度が低い。また、図3のグラフの傾向から、破線で示される増加分布は、3つの分布のうち、画質回復の難易度が高い復号画像(画像特徴量が大きい復号画像)を最も高い度合いで画質回復できている。一方、増加分布は、画質回復の難易度が低い復号画像(画像特徴量が小さい復号画像)の画質回復の度合いは最も低い。
【0033】
実線で示される平均分布は、画像特徴量が小さい復号画像については、画質回復の度合いが増加分布より優れているが、減少分布よりは劣る。一方、平均分布は、画像特徴量が大きい復号画像についての画質回復の度合いは増加分布よりも劣っており、減少分布より優れている。点線で示される減少分布は、3つの分布のうち、画質回復の難易度が低い復号画像(画像特徴量が小さい復号画像)を最も高い度合いで画質回復できている。一方、減少分布は、画質回復の難易度が高い復号画像(画像特徴量が小さい復号画像)の画質回復の度合いは最も低い。
【0034】
そこで、第1実施形態では、CPU11は、学習セットが増加分布になるように調整する。これにより、画質回復の難易度が高い復号画像(画像特徴量が大きい復号画像)の学習回数を多くすることができる。その結果、ニューラルネットワークによる推論結果に画質回復の難易度による偏りが生じることが抑制され、画質回復の平準化が図られる。
【0035】
次に、学習処理について説明する。図4は、第1実施形態の学習処理を示す図である。図4において、複数の復号画像が復号画像記憶部21に記憶されている。復号画像記憶部21は、例えば、メモリ12や記憶装置13であってもよい。画像特徴量抽出部22は、復号画像記憶部21から復号画像を取得し、取得した復号画像から画像特徴量を抽出する。画像特徴分布調整部23は、抽出された画像特徴量に基づいて、画像特性の分布を調整する。これにより、画像特徴の分布が調整された学習セットが生成される。生成された学習セットは、学習セット記憶部24に記憶される。学習セットは、複数の復号画像だけでなく、複数の復号画像のそれぞれに対応する非圧縮画像(教師画像)を含む。画像特徴量抽出部22および画像特徴分布調整部23は、CPU11により実現される。
【0036】
画像回復部25はニューラルネットワークにより構成される。GPU17は、学習セットのうち、学習用の復号画像を入力とし、非圧縮画像を教師画像として、ニューラルネットワークの機械学習を行う。画像回復部25は、学習結果として、画質が回復された回復画像を出力する。出力された回復画像は、回復画像記憶部26に記憶される。GPU17は、画像回復部25としてのニューラルネットワークの機械学習を行う際に、学習セット記憶部24に記憶されている所定数の復号画像を用いて機械学習した時点で、学習セットを更新してもよい。所定数は、機械学習が行われる前に、予め設定される。
【0037】
画像特徴分布調整部23は、学習セットの更新を行う際、画像分布の調整を行う。例えば、画像特徴分布調整部23は、学習セットに、画像特徴量の大きな復号画像がさらに多く含まれるように学習セットを更新する。画像特徴分布調整部23が行う画像分布の調整は、上記の例には限定されない。例えば、画像特徴分布調整部23は、画像特徴量の分布が平均分布となるように学習セットを更新してもよい。
【0038】
次に、第1実施形態の処理の流れについて説明する。図5は、第1実施形態の処理の流れを示すフローチャートである。S501において、CPU11は、画像特徴量抽出部22および画像特徴分布調整部23としての処理として、学習セットの画像特徴量による調整処理を行う。S501の処理の詳細は、後述する。S501の後、CPU11は、学習セットをメモリ12や記憶装置13等に記憶する。S502において、CPU11は、GPU17にニューラルネットワークの学習処理を実行させる。S503において、CPU11は、学習セットに含まれる所定数の復号画像(学習セットに含まれる全ての復号画像)の画像の機械学習が終了したかを判定する。また、CPU11は、例えば、学習回数が所定回数に達したかに基づいて、S503の判定を行ってもよい。なお、S503の判定処理は省略されてもよい。この場合、学習セットは更新されることなく、機械学習が実行されていく。
【0039】
CPU11は、S503でNoと判定した場合、処理をS502に戻し、他の復号画像を用いた学習処理を継続する。一方、CPU11は、S503でYesと判定した場合、処理をS504に進める。従って、CPU11は、学習セットの全ての復号画像についての機械学習を少なくとも1回行った後に、S504以降の処理を行う。S504において、CPU11は、学習セットを、画像特徴量の大きな復号画像がさらに多く含まれるように更新するか、または画像特徴量の分布がさらに平均的になるように更新するかを判定する。何れの更新を行うかは、事前に設定されるものとする。また、機械学習の進行度に応じて、何れの更新を行うかの判定をしてもよい。例えば、機械学習の途中段階で、画像回復の度合いが所望の度合いにならない場合、CPU11は、画質回復の度合いをより向上させることができる更新を選択してもよい。
【0040】
CPU11は、S504でYesと判定した場合、つまり画像特徴量の大きな復号画像がさらに多く含まれるように更新する場合、処理をS505に進める。S505において、CPU11は、画像特徴量の大きな復号画像(画像特徴量が所定量以上の復号画像)がさらに多く含まれるように、分布を調整する。このとき、CPU11は、予め定められた数式に基づいて、画像分布パラメータを調整する。学習セットには、画像特徴量が大きい復号画像が追加される。そして、CPU11は、処理をS507に進める。
【0041】
CPU11は、S504でNoと判定した場合、つまり画像特徴量の分布がさらに平均的になるように更新する場合、処理をS506に進める。S506において、CPU11は、画像特徴量の分布がさらに平均的になるような調整を行う。このとき、CPU11は、予め定められた数式に基づいて、画像分布パラメータを調整する。学習セットには、画像特徴量の分布がさらに平均的になるような画像特徴量を持つ復号画像が追加される。これにより、学習セットに含まれる複数の復号画像の画像特徴量の分布は平均化される。
【0042】
S507において、CPU11は、ニューラルネットワークの機械学習が完了したかを判定する。CPU11は、S507でNoと判定した場合、つまり機械学習が完了していない場合、処理をS501に戻す。一方、CPU11は、S507でYesと判定した場合、つまり機械学習が完了した場合、図5のフローチャートの処理をさせる。ニューラルネットワークの学習が完了すると、係数パラメータが調整されたニューラルネットワークが学習済みモデルとして生成される。
【0043】
次に、S501の学習セットの調整について説明する。図6は、学習セットの調整処理の流れを示すフローチャートである。S601において、CPU11は、復号画像を取得し、取得した復号画像の画像特徴量を抽出する。上述したように、各実施形態における画像特徴量は、画素差分値である。CPU11は、取得した復号画像の画素最大値Pmaxと最小値Pminとをそれぞれ求め、差Pmax-Pminを、画素差分値として求める。S602において、CPU11は、S601で抽出された画像特徴量に基づいて、取得した復号画像が学習セットに含める復号画像であるかを判定する。
【0044】
CPU11は、S602でYesと判定した場合、つまり取得した復号画像が学習セットに含める復号画像である場合、処理をS603に進める。一方、CPU11は、S602でNoと判定した場合、つまり取得した復号画像が学習セットに含める復号画像でない場合、処理をS604に進める。CPU11は、抽出された画像特徴量を持つ複合画像が、学習セットの分布を所定の分布(増加分布)とするために必要な復号画像である場合に、S602でYesと判定してもよい。
【0045】
例えば、学習セットの復号画像の数が1万枚であり、画像特徴量が最大の区間に含まれる復号画像が全体の20%である分布(所定の分布)を想定する。この場合、画像セットに、画像特徴量が最大の区間に含まれる復号画像が2千枚に達していれば、学習セットに復号画像を追加する必要はない。従って、CPU11は、S602でNoと判定し、S603の処理を実行しない。一方、画像セットに、画像特徴量が最大の区間に含まれる復号画像が2千枚に達していない場合、CPU11は、S603の処理を行い、学習セットに復号画像を追加する。これにより、学習セットに含まれる学習用の復号画像の数が調整され、学習セットに含まれる複数の学習用の復号画像の分布を増加分布とすることができる。なお、CPU11は、学習セットに、画像特徴量が最小の区間に含まれる復号画像を追加してもよい。
【0046】
S604において、CPU11は、学習セットの画像特徴量の分布が、予め設定される学習セットの画像特徴量の分布(所定の分布)と合致したかを判定する。このとき、CPU11は、学習セットについての画像特徴量の分布の割合が、所定の設定値に達したかに基づいて、S604の判定を行ってもよい。CPU11は、S604でNoと判定した場合、つまり学習セットの画像特徴量の分布が、予め設定される学習セットの画像特徴量の分布と合致していない場合、処理をS601に戻す。そして、学習セットの画像特徴量の分布が、予め設定される学習セットの画像特徴量の分布と合致するまで、CPU11は、新たな復号画像を用いて図6のフローチャートの処理を行う。一方、CPU11は、S604でYesと判定した場合、図6のフローチャートの処理を終了させる。
【0047】
以上説明したように、本実施形態では、CPU11は、ニューラルネットワークを機械学習させるための学習セットの画像特徴量の分布が増加分布となるような調整を行う。つまり、CPU11は、学習セットに、画質回復の難易度が高い復号画像が多く含まれるような分布となるような調整を行う。これにより、画質回復の難易度が高い復号画像の学習回数を多くすることができ、学習済みのニューラルネットワークが行う推論による画質回復の難易度の偏りを抑制できる。その結果、ニューラルネットワークによる画質回復の平準化を図ることができ、学習セットの調整を行わない場合と比較して、画質回復能力を向上させることができる。
【0048】
<第2実施形態>
次に、第2実施形態について説明する。第2実施形態では、学習セットの画像特徴量分布の調整において、画像特徴量が小さい復号画像が多く含まれるように調整される。つまり、画像特徴量が小さい復号画像の学習回数を多くした機械学習が行われる。このため、第2実施形態で生成される学習済みモデルによる推論結果は、画質回復の難易度が比較的低い復号画像(画像特徴量の小さな復号画像)の画質回復に適した推論結果となる。以下、第1実施形態と重複する部分の説明については省略する。第2実施形態の構成は、第1実施形態と同様である。
【0049】
図7は、第2実施形態の処理の流れを示すフローチャートである。S701において、CPU11は、学習セットに含まれる複数の復号画像についての画像特徴量の分布が所定の分布(減少分布)となるように学習セットの調整を行う。このため、CPU11は、抽出した復号画像が、学習セットに含まれる複数の復号画像についての画像特徴量の分布を減少分布とするために必要な復号画像であるかを判定する。抽出された復号画像が、学習セットに含まれる複数の復号画像についての画像特徴量の分布を減少分布とするために必要な復号画像である場合、CPU11は、抽出した復号画像を学習セットに追加する。処理の流れとしては、図6のフローチャートと同様であるが、第2実施形態では、CPU11は、学習セットに含まれる複数の復号画像についての画像特徴量の分布が所定の分布(減少分布)となるように学習セットの調整を行う。
【0050】
S702およびS703は、図5のS502およびS503と同様であるため、説明を省略する。S704において、CPU11は、学習セットに、画像特徴量が小さい画像(画像特徴量が所定量未満の復号画像)がさらに多く含まれるような更新を行うかを判定する。何れの更新を行うかは、事前に設定されるものとする。また、機械学習の進行度に応じて、何れの更新を行うかの判定がされてもよい。第2実施形態では、学習セットの全ての復号画像についての機械学習が少なくとも1回行われた後に、学習セットが更新される場合、CPU11は、学習セットに、画像特徴量が小さい復号画像がさらに多く含まれるように更新を行う。
【0051】
このため、CPU11は、S704でYesと判定した場合、つまり学習セットに画像特徴量が小さい復号画像がさらに多く含まれるような更新を行う場合、処理をS705に進める。一方、CPU11は、S704でNoと判定した場合、つまり学習セットに画像特徴量が小さい復号画像がさらに多く含まれるような更新を行わない場合、処理をS707に進める。S705において、CPU11は、画像特徴量の小さな復号画像がさらに多く含まれるように、分布を調整する。このとき、CPU11は、予め定められた数式に基づいて、画像分布パラメータを調整する。学習セットには、画像特徴量が小さい復号画像が追加される。そして、CPU11は、処理をS706に進める。
【0052】
S706の処理は、図5のS507の処理と同様である。つまり、S706において、CPU11は、機械学習が完了しているかを判定する。CPU11は、S706でNoと判定した場合、処理をS701に戻す。一方、CPU11は、S706でYesと判定した場合、図7のフローチャートの処理を終了させる。
【0053】
第2実施形態では、CPU11は、学習するデータの特性を考慮して、学習セットの調整を行う。つまり、CPU11は、画像特徴量が小さな復号画像、すなわち平坦な特徴を持つ復号画像に適した画質回復を行うことができるニューラルネットワークの機械学習が行われるように制御する。これにより、第2実施形態では、平坦な画像についての画質回復性能を向上させることができる。
【0054】
<第3実施形態>
次に、第3実施形態について説明する。第1実施形態および第2実施形態と重複する部分については、説明を省略する。また、第3実施形態の構成は、第1実施形態および第2実施形態と同様である。第2実施形態では、CPU11は、画像特徴量が小さい復号画像が多く含まれるように調整した学習セットを用いて機械学習を行う。この場合、1つのニューラルネットワークで、画像特徴量が小さい復号画像を多く用いて機械学習が行われるため、画像特徴量が小さくない復号画像(例えば、画像特徴量が大きい復号画像)の画質回復性能は低くなる。そこで、第3実施形態では、複数のニューラルネットワークの機械学習が行われて、複数の学習済みモデルが生成される。
【0055】
図8は、第3実施形態の学習処理を示す図である。画像特徴量抽出部22として機能するCPU11は、復号画像から画像特徴量を抽出する。そして、画像特徴分布調整部23として機能するCPU11は、抽出された画像特徴量に基づいて、画像特性の分布を調整する。このとき、CPU11は、画像特徴量の分布がそれぞれ異なる複数の学習セットを生成する。図8の例では、n個の学習セットにより学習セット群30が構成される。また、第3実施形態では、複数の画像回復部により画像回復部群31が構成される。画像回復部群31の各画像回復部は、それぞれ図4の画像回復部25に相当する。つまり、画像回復部群31の各画像回復部は、それぞれ異なるGPU17により実現される。図8の例では、学習セットの数に対応するn個の画像回復部により画像回復部群31が構成される。各画像回復部は、対応する学習セットの復号画像をニューラルネットワークに入力して、機械学習を行う。
【0056】
画像回復部群31の各画像回復部は、学習結果として、それぞれ学習済みモデルを出力する。図8の例では、学習結果として、n個の学習済みモデルが生成される。n個の学習済みモデルにより学習済みモデル群32が構成される。各学習済みモデルは、学習済みのニューラルネットワークであり、係数パラメータが調整されている。そして、各学習済みモデルは、それぞれ画像特徴量の分布が異なる学習セットにより機械学習されることにより得られる。
【0057】
図9は、学習セットの一例を示す図である。図9(a)は、画像特徴量が小さい復号画像を多く含む学習セット1の一例を示す図である。図9(b)は、画像特徴量が大きい復号画像を多く含む学習セット2の一例を示す図である。学習セット1および学習セット2は、学習セット群30の一部の学習セットである。学習セット1を用いた機械学習が行われる場合は、第1実施形態と同様の処理が行われる。学習セット2を用いた機械学習が行われる場合は、第2実施形態と同様の処理が行われる。
【0058】
また、学習セット群30に含まれる学習セットは、図9(c)に示されるように、画像特徴量が所定の閾値未満の複数の復号画像により構成されてもよい。また、学習セット群30に含まれる学習セットは、図9(d)に示されるように、画像特徴量が所定の閾値以上の複数の復号画像により構成されてもよい。例えば、図9(c)の例では、減少分布のうち画像特徴量が大きい復号画像(画像特徴量が所定の閾値以上の復号画像)は、機械学習に用いられない。また、図9(d)の例では、増加分布のうち画像特徴量が小さい復号画像(画像特徴量が所定の閾値以上の復号画像)は、機械学習に用いられない。
【0059】
以上の処理により、画像特徴量の分布がそれぞれ異なる複数の学習セットを用いて機械学習された複数の学習済みモデルが生成される。次に、複数の学習済みモデルを用いた推論処理について説明する。図10は、第3実施形態の推論処理の流れを示すフローチャートである。以下、コンピュータ10が推論処理を行うものとして説明するが、上述したように、端末19が推論処理を行ってもよい。この場合、端末19は、コンピュータ10から複数の学習済みモデルを取得する。
【0060】
S901において、CPU11は、記憶装置13に保存されている推論セットから、任意の復号画像をメモリ12に展開し、展開された復号画像から画像特徴量を抽出する。推論セットは、推論処理を行うための複数の未知の復号画像により構成される復号画像群である。S902において、CPU11は、推論対象となる復号画像の画像特徴量を抽出し、抽出された画像特徴量に応じて、学習済みモデルを切り替える。例えば、抽出された画像特徴量が小さい場合、CPU11は、画像特徴量が小さい復号画像を多く含む学習セットを用いて機械学習された学習済みモデルを選択する。また、抽出された画像特徴量が大きい場合、CPU11は、画像特徴量が大きい復号画像を多く含む学習セットを用いて機械学習された学習済みモデルを選択する。
【0061】
S903において、CPU11は、切り替えられた学習済みモデルに対して、復号画像を入力して、GPU17に推論処理を行わせる。これにより、GPU17は、係数パラメータが調整されたニューラルネットワークにより演算を行う。そして、演算結果として、回復画像が得られる。ニューラルネットワークに入力される復号画像は、符号化による圧縮処理により歪みが生じており、ニューラルネットワークは、歪みが回復された回復画像を出力する。S904において、CPU11は、推論セットに含まれる全ての復号画像の推論処理が完了したかを判定する。CPU11は、S904でNoと判定した場合、全ての復号画像の推論処理が完了していないため、処理をS901に戻す。一方、CPU11は、S904でYesと判定した場合、全ての復号画像の推論処理が完了したため、図10のフローチャートの処理を終了させる。
【0062】
従って、第3実施形態では、画像特徴量の分布が異なるように調整された複数の学習セットのそれぞれを用いて、ニューラルネットワークの機械学習が行われることで、複数の学習済みモデルが生成される。そして、複数の学習済みモデルのうち、推論対象である復号画像の画像特徴量に応じた学習済みモデルを用いて推論処理が行われるため、画質回復性能を向上させることができる。
【0063】
以上、本発明の好ましい実施の形態について説明したが、本発明は上述した各実施の形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。本発明は、上述の各実施の形態の1以上の機能を実現するプログラムを、ネットワークや記憶媒体を介してシステムや装置に供給し、そのシステム又は装置のコンピュータの1つ以上のプロセッサーがプログラムを読み出して実行する処理でも実現可能である。また、本発明は、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0064】
10 コンピュータ
11 CPU
17 GPU
19 端末
22 画像特徴量抽出部
23 画像特徴分布調整部
24 学習セット記憶部
25 画像回復部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10