(57)【要約】【課題】画像処理精度を低下させずに、ＣＮＮによる画像処理を高速に実行可能な画像処理装置、撮像装置、画像処理方法、プログラムおよび記憶媒体を提供すること。【解決方法】入力画像を取得する取得部と、畳み込みニューラルネットワークにおける学習で生成されるネットワークパラメータのうち、畳み込みニューラルネットワークの中間層で得られる特徴マップに基づいて選択された一部のネットワークパラメータを用いて、入力画像を出力画像に変換する変換部と、を有する。【選択図】図１
2019139713.tif 000002
【特許請求の範囲】
【請求項１】
入力画像を取得する取得部と、
畳み込みニューラルネットワークにおける学習で生成されるネットワークパラメータのうち、前記畳み込みニューラルネットワークの中間層で得られる特徴マップに基づいて選択された一部のネットワークパラメータを用いて、前記入力画像を出力画像に変換する変換部と、を有することを特徴とする画像処理装置。
【請求項２】
前記変換部は、学習促進部および画像変換部を有し、前記学習促進部で実行される第１の畳み込みニューラルネットワークにおける学習で生成されるネットワークパラメータのうち、前記第１の畳み込みニューラルネットワークを用いて得られる特徴マップに基づいて選択された一部のネットワークパラメータと、前記画像変換部で実行される畳み込みニューラルネットワークにおける学習で生成されるネットワークパラメータとを用いて、前記入力画像を前記出力画像に変換することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記画像変換部は、前記出力画像を出力することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記入力画像を前記出力画像に変換する際に使用される前記一部のネットワークパラメータを選択する選択部を更に有することを特徴とする請求項１から３のいずれか1項に記載の画像処理装置。
【請求項５】
前記入力画像は、劣化しており、
前記出力画像は、前記入力画像を補正した画像であることを特徴とする請求項１から４のいずれか１項に記載の画像処理装置。
【請求項６】
前記変換部は、前記特徴マップのうち、解像度が高い特徴マップに対応するネットワークパラメータを用いて、前記入力画像を前記出力画像に変換することを特徴とする請求項１から５のいずれか１項に記載の画像処理装置。
【請求項７】
光学系を用いた撮像により入力画像を生成する取得部と、
畳み込みニューラルネットワークにおける学習で生成されるネットワークパラメータのうち、前記畳み込みニューラルネットワークの中間層で得られる特徴マップに基づいて選択された一部のネットワークパラメータを用いて、前記入力画像を出力画像に変換する変換部と、を有することを特徴とする撮像装置。
【請求項８】
入力画像を取得するステップと、
畳み込みニューラルネットワークにおける学習で生成されるネットワークパラメータのうち、前記畳み込みニューラルネットワークの中間層で得られる特徴マップに基づいて選択された一部のネットワークパラメータを用いて、前記入力画像を出力画像に変換するステップと、を有することを特徴とする画像処理方法。
【請求項９】
コンピュータに、
入力画像を取得するステップと、
畳み込みニューラルネットワークにおける学習で生成されるネットワークパラメータのうち、前記畳み込みニューラルネットワークの中間層で得られる特徴マップに基づいて選択された一部のネットワークパラメータを用いて、前記入力画像を出力画像に変換するステップと、を実行させることを特徴とするプログラム。
【請求項１０】
請求項９に記載のプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
【請求項１１】
入力画像を取得する取得部と、
第１の畳み込みニューラルネットワークを用いて前記入力画像を複数の第１の特徴マップに変換する入力部と、
第２の畳み込みニューラルネットワークを用いて前記入力画像を複数の第２の特徴マップに変換するメイン部と、
第３の畳み込みニューラルネットワークを用いて前記複数の第１の特徴マップと前記複数の第２の特徴マップとを加算することで生成される複数の第３の特徴マップを出力画像に変換する出力部と、を有し、
前記出力部は、前記第１の畳み込みニューラルネットワークにおける学習で生成されるネットワークパラメータのうち、前記複数の第１の特徴マップに基づいて選択された一部のネットワークパラメータと、前記第２および第３の畳み込みニューラルネットワークにおける学習で生成されるネットワークパラメータとを用いて、前記複数の第３の特徴マップを前記出力画像に変換することを特徴とする画像処理装置。
【請求項１２】
前記第１の畳み込みニューラルネットワークでは、前記入力画像に対してそれぞれサイズが異なる複数のフィルタの畳み込みを行った後、非線形演算する処理を繰り返すことで、それぞれ解像度が異なる前記複数の第１の特徴マップが生成されることを特徴とする請求項１１に記載の画像処理装置。
【請求項１３】
前記第２の畳み込みニューラルネットワークでは、前記入力画像に対して複数のフィルタの畳み込みを行った後、非線形演算する処理を繰り返すことで、前記複数の第２の特徴マップが生成されることを特徴とする請求項１１または１２に記載の画像処理装置。
【請求項１４】
前記複数の第１の特徴マップと前記複数の第２の特徴マップとが加算される場合、解像度が等しい第１の特徴マップと第２の特徴マップとが要素ごとに加算されることを特徴とする請求項１０から１２のいずれか1項に記載の画像処理装置。
【請求項１５】
前記入力部、前記メイン部または前記前記出力部のいずれかが、前記複数の第３の特徴マップを生成することを特徴とする請求項１１から１４のいずれか１項に記載の画像処理装置。
【請求項１６】
前記出力部は、前記複数の第３の特徴マップに対して、それぞれサイズの異なる複数のフィルタの逆畳み込みを行った後、非線形演算することで得られる特徴マップに対して、重み付けすることで、前記出力画像を生成することを特徴とする請求項１０から１５のいずれか１項に記載の画像処理装置。
【請求項１７】
前記第１の畳み込みニューラルネットワークと前記第２の畳み込みニューラルネットワークにおいて用いられるフィルタおよびバイアスは異なることを特徴とする請求項１０から１６のいずれか１項に記載の画像処理装置。
【請求項１８】
前記出力部は、前記複数の第１の特徴マップのうち解像度が高い第１の特徴マップに対応するネットワークパラメータを用いて、前記複数の第３の特徴マップを前記出力画像に変換することを特徴とする請求項１０から１７のいずれか１項に記載の画像処理装置。
【請求項１９】
前記出力部における非線形演算は、Ｌｅａｋｙ  Ｒｅｃｔｉｆｉｅｄ  Ｌｉｎｅａｒ  ＵｎｉｔまたはＰａｒａｍｅｔｒｉｃ  Ｒｅｃｔｉｆｉｅｄ  Ｌｉｎｅａｒ  Ｕｎｉｔであることを特徴とする請求項１６に記載の画像処理装置。
【請求項２０】
光学系を用いた撮像により入力画像を生成する取得部と、
第１の畳み込みニューラルネットワークを用いて前記入力画像を複数の第１の特徴マップに変換する入力部と、
第２の畳み込みニューラルネットワークを用いて前記入力画像を複数の第２の特徴マップに変換するメイン部と、
第３の畳み込みニューラルネットワークを用いて前記複数の第１の特徴マップと前記複数の第２の特徴マップとを加算することで生成される複数の第３の特徴マップを出力画像に変換する出力部と、を有し、
前記出力部は、前記第１の畳み込みニューラルネットワークにおける学習で生成されるネットワークパラメータのうち、前記複数の第１の特徴マップに基づいて選択された一部のネットワークパラメータと、前記第２および第３の畳み込みニューラルネットワークにおける学習で生成されるネットワークパラメータとを用いて、前記複数の第３の特徴マップを前記出力画像に変換することを特徴とする撮像装置。
【請求項２１】
入力画像を取得するステップと、
第１の畳み込みニューラルネットワークを用いて前記入力画像を複数の第１の特徴マップに変換するステップと、
第２の畳み込みニューラルネットワークを用いて前記入力画像を複数の第２の特徴マップに変換するステップと、
第３の畳み込みニューラルネットワークを用いて前記複数の第１の特徴マップと前記複数の第２の特徴マップとを加算することで生成される複数の第３の特徴マップを出力画像に変換するステップと、を有し、
前記出力画像に変換するステップでは、前記第１の畳み込みニューラルネットワークにおける学習で生成されるネットワークパラメータのうち、前記複数の第１の特徴マップに基づいて選択された一部のネットワークパラメータと、前記第２および第３の畳み込みニューラルネットワークにおける学習で生成されるネットワークパラメータとを用いて、前記複数の第３の特徴マップを前記出力画像に変換することを特徴とする画像処理方法。
【請求項２２】
コンピュータに、
入力画像を取得するステップと、
第１の畳み込みニューラルネットワークを用いて前記入力画像を複数の第１の特徴マップに変換するステップと、
第２の畳み込みニューラルネットワークを用いて前記入力画像を複数の第２の特徴マップに変換するステップと、
第３の畳み込みニューラルネットワークを用いて前記複数の第１の特徴マップと前記第２の特徴マップとを加算することで生成される複数の第３の特徴マップを出力画像に変換するステップと、を実行させるプログラムであって、
前記出力画像に変換するステップでは、前記第１の畳み込みニューラルネットワークにおける学習で生成されるネットワークパラメータのうち、前記複数の第１の特徴マップに基づいて選択された一部のネットワークパラメータと、前記第２および第３の畳み込みニューラルネットワークにおける学習で生成されるネットワークパラメータとを用いて、前記複数の第３の特徴マップを前記出力画像に変換することを特徴とするプログラム。
【請求項２３】
請求項２２に記載のプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＮＮ（Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ、畳み込みニューラルネットワーク）を用いて画像処理を実行する画像処理装置、撮像装置、画像処理方法、プログラムおよび記憶媒体に関する。
【背景技術】
【０００２】
ＣＮＮとは、画像に対して、学習（ｔｒａｉｎｉｎｇまたはｌｅａｒｎｉｎｇ）により生成されるフィルタの畳み込み（ｃｏｎｖｏｌｕｔｉｏｎ）を行った後、非線形演算することを繰り返す、学習型の画像処理技術である。フィルタは、局所受容野（Ｌｏｃａｌ  Ｒｅｃｅｐｔｉｖｅ  Ｆｉｅｌｄ：ＬＰＦ）とも呼ばれる。画像に対してフィルタの畳み込みを行った後、非線形演算して得られる中間画像は、特徴マップ（ｆｅａｔｕｒｅ  ｍａｐ）と呼ばれる。学習は、入力訓練画像と出力訓練画像の組からなる訓練画像（ｔｒａｉｎｉｎｇ  ｉｍａｇｅｓまたはｄａｔａ  ｓｅｔｓ）を用いて行われ、入力画像から対応する出力画像に高精度に変換できるフィルタの値を生成する。
【０００３】
画像がＲＧＢカラーチャンネルを持つ場合や、特徴マップが複数の画像を含む画像群から構成されている場合、畳み込みに使用されるフィルタも、それに応じて複数チャンネルを持つ。すなわち、畳み込みフィルタは、縦横サイズと枚数の他に、チャンネル数を加えた、４次元配列で表現される。
【０００４】
画像（または特徴マップ）にフィルタの畳み込みを行った後、非線形演算する処理は、層（ｌａｙｅｒ）という単位で表現される。例えば、ｍ層目の特徴マップやｎ層目のフィルタなどと呼ばれる。また、例えば、フィルタの畳み込みと非線形演算を３回繰り返すＣＮＮは、３層構造のネットワークをしている、などと呼ばれる。この処理は、以下の式（１）で定式化できる。
【０００５】
【数１】
2019139713.tif 000003
【０００６】
ここで、Ｗｎはｎ層目のフィルタ、ｂｎはｎ層目のバイアス、ｆは非線形演算子、Ｘｎはｎ層目の特徴マップ、＊は畳み込み演算子である。右肩の（ｌ）は、ｌ番目のフィルタまたは特徴マップであることを表している。フィルタおよびバイアスは、学習で生成され、まとめてネットワークパラメータとも呼ばれる。非線形演算として、一般的に、シグモイド関数（ｓｉｇｍｏｉｄ  ｆｕｎｃｔｉｏｎ）やＲｅＬＵ（Ｒｅｃｔｉｆｉｅｄ  Ｌｉｎｅａｒ  Ｕｎｉｔ）が用いられる。ＲｅＬＵは、以下の式（２）で表され、入力されたベクトルＸの要素のうち負のものはゼロ、正のものはそのままとする非線形な処理である。
【０００７】
【数２】
2019139713.tif 000004
【０００８】
負値も出力する場合、ＬＲｅＬＵ（Ｌｅａｋｙ  ＲｅＬＵ）やＰＲｅＬＵ（Ｐａｒａｍｅｔｒｉｃ  ＲｅＬＵ）を用いればよい。ＬＲｅＬＵは、以下の式（３）で表され、入力されたベクトルＸの要素のうち負のものは０．０１倍、正のものはそのままとする非線形な処理である。
【０００９】
【数３】
2019139713.tif 000005
【００１０】
ＰＲｅＬＵは、入力されたベクトルＸの要素のうち負のものに加える重みを可変（パラメトリック）としたものである。ＰＲｅＬｕを使用する場合、ＬＲｅＬＵを使用する場合に比べて、高精度な学習が期待できるが、学習にかかる時間と計算負荷が大きくなってしまう。
【００１１】
学習は、一般的に、入力訓練画像（劣化画像）に対応する出力訓練画像（鮮鋭画像、正解画像）の組からなる訓練画像を用いて、以下の式（４）で表される目的関数を最小化することで行われる。
【００１２】
【数４】
2019139713.tif 000006
【００１３】
ここで、Ｌは、正解と推定との誤差を測る損失関数（ｌｏｓｓ  ｆｕｎｃｔｉｏｎ）である。Ｙｉはｉ番目の出力訓練画像、Ｘｉはｉ番目の入力訓練画像である。Ｆは、ＣＮＮの各層で行われる演算（式（１）参照）を、まとめて表した関数である。θは、ネットワークパラメータ（フィルタおよびバイアス）である。
2019139713.tif 000007
【００１４】
は、Ｌ２ノルムであり、簡単にはベクトルＺの要素の２乗和の平方根である。ｎは、学習に用いられる訓練画像の数である。一般的に訓練画像の数は多いため、確率的勾配降下法（Ｓｔｏｃｈａｓｔｉｃ  Ｇｒａｄｉｅｎｔ  Ｄｅｓｃｅｎｔ：ＳＧＤ）では、ランダムに選択された一部の訓練画像だけを学習に用いることで、計算負荷を低減することができる。
【００１５】
また、目的関数を最小化（＝最適化）法として、モーメンタム（ｍｏｍｅｎｔｕｍ）法やＡｄａＧｒａｄ法、ＡｄａＤｅｌｔａ法およびＡｄａｍ法など、様々な方法が知られている。Ａｄａｍ法は、以下の式（５）で表される。
【００１６】
【数５】
2019139713.tif 000008
【００１７】
ここで、θｉｔは反復ｔ回目におけるｉ番目のネットワークパラメータ、ｇはネットワークパラメータθｉｔに関する損失関数Ｌの勾配、ｍ、ｖはモーメントベクトルである。αは基本学習率（ｂａｓｅ  ｌｅａｒｎｉｎｇ  ｒａｔｅ）、β１、β２はハイパーパラメータ、εは定数である。なお、学習における最適化法として、基本的に何を用いてもよいが、方法ごとに収束性の違いがあるため、学習時間の違いが生じる。
【００１８】
ＣＮＮによる画像処理では、学習で生成されるネットワークパラメータを用いた以下の式（６）で表される演算により、入力画像を出力画像に変換する。
【００１９】
【数６】
2019139713.tif 000009
【００２０】
ここで、Ｘは入力画像、Ｙは出力画像、θは学習で生成されるネットワークパラメータ、ＦはＣＮＮの各層で行われる演算をまとめて表した関数である。なお、以下の説明では、「学習で生成されるネットワークパラメータ」を「学習済みネットワークパラメータ」と言う。
【００２１】
従来、高精度な画像処理のために多層ＣＮＮ、すなわち多くのネットワークパラメータを使用するＣＮＮが用いられる。非特許文献１に開示されている多層ＣＮＮの１つであるＲＥＤ−Ｎｅｔでは、３０層もの多層ＣＮＮにより高精度な超解像が行われる。
【先行技術文献】
【非特許文献】
【００２２】
【非特許文献１】Ｘｉａ−Ｊｉａｏ  Ｍａｏ、Ｃｈｕｎｈｕａ  Ｓｈｅｎ、Ｙｕ−Ｂｉｎ  Ｙａｎｇ、「Ｉｍａｇｅ  ｒｅｓｔｏｒａｔｉｏｎ  ｕｓｉｎｇ  ｃｏｎｖｏｌｕｔｉｏｎａｌ  ａｕｔｏ−ｅｎｃｏｄｅｒｓ  ｗｉｔｈ  ｓｙｍｍｅｔｒｉｃ  ｓｋｉｐ  ｃｏｎｎｅｃｔｉｏｎｓ」、ａｒＸｉｖ：１６０６．０８９２１、２０１６年
【非特許文献２】Ｌｅｏｎ  Ａ．Ｇａｔｙｓ、Ａｌｅｘａｎｄｅｒ  Ｓ．Ｅｃｋｅｒ、Ｍａｔｔｈｉａｓ  Ｂｅｔｈｇｅ、「Ｉｍａｇｅ  Ｓｔｙｌｅ  Ｔｒａｎｓｆｅｒ  Ｕｓｉｎｇ  Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ」、Ｔｈｅ  ＩＥＥＥ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ  ａｎｄ  Ｐａｔｔｅｒｎ  Ｒｅｃｏｇｎｉｔｉｏｎ、２０１６年、ｐｐ．２４１４−２４２３
【発明の概要】
【発明が解決しようとする課題】
【００２３】
しかしながら、非特許文献１に開示された従来技術では、多くの畳み込みを行う必要があるため、画像処理を高速に実行することは困難である。
【００２４】
ＣＮＮによる画像処理を高速に実行するためには、畳み込みを行う回数を減らせばよい。すなわち、学習済みネットワークパラメータの一部を使用して画像処理すればよいが、この場合、画像処理精度が大きく低下してしまう。
【００２５】
非特許文献２では、画像認識用多層ＣＮＮの中間層で得られる特徴マップを用いて、２枚の画像を融合するＳｔｙｌｅ  Ｔｒａｎｓｆｅｒが開示されている。しかしながら、非特許文献２では、入力画像を特徴づける量（特徴マップ）を出力することを目的としており、画像出力までの画像処理の高速化については考慮されていない。また、非特許文献２では、画像処理精度についても当然考慮されていない。
【００２６】
本発明は、画像処理精度を低下させずに、ＣＮＮによる画像処理を高速に実行可能な画像処理装置、撮像装置、画像処理方法、プログラムおよび記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【００２７】
本発明の一側面としての画像処理装置は、入力画像を取得する取得部と、畳み込みニューラルネットワークにおける学習で生成されるネットワークパラメータのうち、前記畳み込みニューラルネットワークの中間層で得られた特徴マップに基づいて選択された一部のネットワークパラメータを用いて、前記入力画像を出力画像に変換する変換部と、を有することを特徴とする。
【００２８】
また、本発明の他の側面としての撮像装置は、光学系を用いた撮像により入力画像を生成する取得部と、畳み込みニューラルネットワークにおける学習で生成されるネットワークパラメータのうち、前記畳み込みニューラルネットワークの中間層で得られる特徴マップに基づいて選択された一部のネットワークパラメータを用いて、前記入力画像を出力画像に変換する変換部と、を有することを特徴とする。
【００２９】
また、本発明の他の側面としての画像処理方法は、入力画像を取得するステップと、畳み込みニューラルネットワークにおける学習で生成されるネットワークパラメータのうち、前記畳み込みニューラルネットワークの中間層で得られる特徴マップに基づいて選択された一部のネットワークパラメータを用いて、前記入力画像を出力画像に変換するステップと、を有することを特徴とする。
【００３０】
また、本発明の他の側面としてのプログラムは、コンピュータに、入力画像を取得するステップと、畳み込みニューラルネットワークにおける学習で生成されるネットワークパラメータのうち、前記畳み込みニューラルネットワークの中間層で得られる特徴マップに基づいて選択された一部のネットワークパラメータを用いて、前記入力画像を出力画像に変換するステップと、を実行させることを特徴とする。
【００３１】
また、本発明の他の側面としての画像処理装置は、入力画像を取得する取得部と、第１の畳み込みニューラルネットワークを用いて前記入力画像を複数の第１の特徴マップに変換する入力部と、第２の畳み込みニューラルネットワークを用いて前記入力画像を複数の第２の特徴マップに変換するメイン部と、第３の畳み込みニューラルネットワークを用いて前記複数の第１の特徴マップと前記複数の第２の特徴マップとを加算することで生成される複数の第３の特徴マップを出力画像に変換する出力部と、を有し、前記出力部は、前記第１の畳み込みニューラルネットワークにおける学習で生成されるネットワークパラメータのうち、前記複数の第１の特徴マップに基づいて選択された一部のネットワークパラメータと、前記第２および第３の畳み込みニューラルネットワークにおける学習で生成されるネットワークパラメータとを用いて、前記複数の第３の特徴マップを前記出力画像に変換することを特徴とする。
【００３２】
また、本発明の他の側面としての撮像装置は、光学系を用いた撮像により入力画像を生成する取得部と、第１の畳み込みニューラルネットワークを用いて前記入力画像を複数の第１の特徴マップに変換する入力部と、第２の畳み込みニューラルネットワークを用いて前記入力画像を第２の特徴マップに変換するメイン部と、第３の畳み込みニューラルネットワークを用いて前記複数の第１の特徴マップと前記第２の特徴マップとを加算することで生成される複数の第３の特徴マップを出力画像に変換する出力部と、を有し、前記出力部は、前記第１の畳み込みニューラルネットワークにおける学習で生成されるネットワークパラメータのうち、前記複数の第１の特徴マップに基づいて選択された一部のネットワークパラメータと、前記第２および第３の畳み込みニューラルネットワークにおける学習で生成されるネットワークパラメータとを用いて、前記複数の第３の特徴マップを前記出力画像に変換することを特徴とする。
【００３３】
また、本発明の他の側面としての画像処理方法は、入力画像を取得するステップと、第１の畳み込みニューラルネットワークを用いて前記入力画像を複数の第１の特徴マップに変換するステップと、第２の畳み込みニューラルネットワークを用いて前記入力画像を複数の第２の特徴マップに変換するステップと、第３の畳み込みニューラルネットワークを用いて前記複数の第１の特徴マップと前記複数の第２の特徴マップとを加算することで生成される複数の第３の特徴マップを出力画像に変換するステップと、を有し、前記出力画像に変換するステップでは、前記第１の畳み込みニューラルネットワークにおける学習で生成されるネットワークパラメータのうち、前記複数の第１の特徴マップに基づいて選択された一部のネットワークパラメータと、前記第２および第３の畳み込みニューラルネットワークにおける学習で生成されるネットワークパラメータとを用いて、前記複数の第３の特徴マップを前記出力画像に変換することを特徴とする。
【００３４】
また、本発明の他の側面としてのプログラムは、コンピュータに、入力画像を取得するステップと、第１の畳み込みニューラルネットワークを用いて前記入力画像を複数の第１の特徴マップに変換するステップと、第２の畳み込みニューラルネットワークを用いて前記入力画像を複数の第２の特徴マップに変換するステップと、第３の畳み込みニューラルネットワークを用いて前記複数の第１の特徴マップと前記複数の第２の特徴マップとを加算することで生成される複数の第３の特徴マップを出力画像に変換するステップと、を実行させるプログラムであって、前記出力画像に変換するステップでは、前記第１の畳み込みニューラルネットワークにおける学習で生成されるネットワークパラメータのうち、前記複数の第１の特徴マップに基づいて選択された一部のネットワークパラメータと、前記第２および第３の畳み込みニューラルネットワークにおける学習で生成されるネットワークパラメータとを用いて、前記複数の第３の特徴マップを前記出力画像に変換することを特徴とする。
【発明の効果】
【００３５】
本発明によれば、画像処理精度を低下させずに、ＣＮＮによる画像処理を高速に実行可能な画像処理装置、撮像装置、画像処理方法、プログラムおよび記憶媒体を提供することができる。
【図面の簡単な説明】
【００３６】
【図１】本発明の実施形態に係る画像処理装置の構成を示す図である。
【図２】本発明の実施形態に係る画像処理方法を示すフローチャートである。
【図３】本発明の別の実施形態に係る画像処理システムの構成を示す図である。
【図４】本発明の別の実施形態に係る撮像装置の構成を示す図である。
【図５】実施例１のネットワーク構造を示す図である。
【図６】実施例１の数値計算結果を示す図である。
【図７】実施例１の学習促進部の説明図である。
【図８】実施例２のネットワーク構造を示す図である。
【発明を実施するための形態】
【００３７】
以下、本発明の実施例について、図面を参照しながら詳細に説明する。各図において、同一の部材については同一の参照番号を付し、重複する説明は省略する。
【００３８】
図１は、本発明の実施形態に係る画像処理装置１００の構成を示す図である。画像処理装置１００は、取得部１０１および変換部１０２を有する。
【００３９】
取得部１０１は、入力画像を取得する。取得部１０１は、例えば、デジタルカメラやデジタルスキャナなどのデジタル画像データを取得可能な機器である。入力画像は、一般的に劣化している。例えば、デジタルカメラにより取得される画像は、結像光学系や光学ローパスフィルタに起因するぼけ、イメージセンサに起因するノイズまたはデモザイキングのエラーなどにより劣化している。ＣＮＮの学習において大量に必要となる訓練画像を数値計算で生成できるため、画像劣化過程は既知であることが望ましい。ただし、場合によっては訓練画像を準備できることもあるため、画像劣化過程が既知であることは必須ではない。画像データの形式は、例えば、ＲＡＷ、ＢＭＰ（Ｂｉｔｍａｐ）またはＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）などの計算機に読み込み可能な形式である。入力画像は、カラー画像、モノクロ画像、または動画像（複数枚の画像）である。以下の説明では、簡単のため入（出）力画像をモノクロ画像とする。
【００４０】
変換部１０２は、例えば、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、ワークステーション、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、またはサーバなどのＣＮＮの演算を実行可能な計算機である。変換部１０２は、学習済みのネットワークパラメータを用いて、取得部１０１で取得された入力画像から入力画像に存在する劣化が補正された出力画像を生成し、生成された出力画像を出力する。変換部１０２から出力された出力画像は、画像処理装置１００内の不図示の記憶部に記憶されてもよいし、画像処理装置１００外の不図示の表示部に表示されてもよい。また、不図示のＣＤ−ＲＯＭドライブやＵＳＢインターフェースなどインターフェース機器を介して、画像処理装置１００外の不図示の記憶媒体に記憶されてもよい。
【００４１】
変換部１０２は、ＣＮＮが実行される、学習促進部および画像変換部を有する。変換部１０２において、学習は、学習促進部と画像変換部が結合され、１つのＣＮＮにより実行される。また、変換部１０２において、画像処理は、学習促進部で実行されるＣＮＮの学習済みネットワークパラメータの一部および画像変換部で実行されるＣＮＮの学習済みネットワークパラメータを用いて実行される。
【００４２】
学習促進部は、取得部１０１で取得された入力画像から、画像変換部の学習を促進させる情報を抽出し、画像変換部に提供する。画像変換部の学習を促進させる情報とは、入力画像を多重解像度表現した情報や、入力画像を周波数分解した情報などを表した特徴マップである。入力画像を多重解像度表現した情報は、例えば、複数サイズの畳み込みフィルタを用いたＣＮＮにより、入力画像から抽出できる。入力画像から学習促進部が抽出した情報は、画像変換部の対応する特徴マップに、並置や加算要素として提供される。
【００４３】
学習促進部は画像変換部の学習を促進させることを主目的としており、学習が完了した後の画像処理では学習促進部で実行されるＣＮＮの学習済みネットワークパラメータの一部を用いるようにしてもよい。例えば、学習促進部が抽出する入力画像を多重解像度表現した情報のうち、高解像の特徴マップのみを用いて画像処理を行ってもよい。これにより、畳み込み回数を減らすことができるため、画像処理を高速に実行することができる。また、入力画像から出力画像への変換は、主に画像変換部により行われるので、画像処理精度も大きく低下しない。
【００４４】
従来、画像処理は、学習済みのネットワークパラメータを省略せずに用いたＣＮＮにより行われる。一方、本実施形態では、画像処理は、学習促進部で実行されるＣＮＮの学習済みネットワークパラメータの一部を用いて実行されるため、従来に比べて高速に実行可能である。
【００４５】
画像変換部は、取得部１０１で取得された入力画像を出力画像に変換する。本実施形態では、画像変換部では、多層ＣＮＮが実行される。画像変換部で多層ＣＮＮが実行される場合、その中間層において入力画像の多重解像度情報が得られる。中間層で得られる特徴マップの解像度は、畳み込みに用いられるフィルタサイズから、以下の式（７）で表される。
【００４６】
【数７】
2019139713.tif 000010
【００４７】
ここで、Ｈ、Ｗはそれぞれ、入力画像（または畳み込みされる特徴マップ）の縦横サイズである。ＹＨ、ＹＷはそれぞれ、出力画像（または畳み込みで得られる特徴マップ）の縦横サイズである。ＦＨ、ＦＷはそれぞれ、畳み込みに用いられるフィルタの縦横サイズである。
【００４８】
式（７）より、画像に対してフィルタの畳み込みを行うことで取得される特徴マップは、元の画像よりサイズが小さい（解像度が低い）。また、例えば、縦横サイズ３×３のフィルタを２回畳み込むことで得られる特徴マップおよび縦横サイズ５×５のフィルタを１回畳み込むことで得られる特徴マップの縦横サイズ（解像度）は等しい。
【００４９】
中間層で得られる特徴マップと、学習促進部から提供される入力画像の多重解像度情報とを、要素ごとの和をとることで、画像変換部の学習が促進される。これは、多層ＣＮＮの中間層は、入出力層から遠いために起こる、勾配消失（ｇｒａｄｉｅｎｔ  ｖａｎｉｓｈｉｎｇ）を防ぐことができるからである。勾配消失とは、簡単には、中間層まで学習に必要な勾配情報が到達せず、中間層の学習が進まない現象である。本実施形態では、学習促進部を設けることで、中間層に直接情報を送り込み、画像変換部の学習を促進させることができる。
【００５０】
なお、本実施形態では、画像変換部では、多層ＣＮＮが実行されるが、本発明はこれに限定されない。入力画像から出力画像に変換可能であれば、画像変換部で多層ＣＮＮが実行される必要はない。
【００５１】
画像処理装置１００は、ユーザからの指示（出力画像の画質や画像処理時間など）に応じて、画像処理時の学習促進部における省略条件を決定する選択部を有してもよい。
【００５２】
図２は、本発明の実施形態に係る画像処理方法を示すフローチャートである。ステップＳ２０１では、取得部１０１は、入力画像を取得する。ステップＳ２０２では、変換部１０２は、取得部１０１から入力された入力画像を、ＣＮＮの学習済みネットワークパラメータの一部を用いて出力画像に変換する。
【００５３】
図３は、本発明の別の実施形態に係る画像処理システム２００の構成の一例を示している。画像処理システム３００は、デジタルカメラである取得部３０１およびＰＣである変換部３０２を有する。画像処理結果である出力画像は、ディスプレイに表示される。
【００５４】
図４は、本発明の別の実施形態に係るデジタルカメラ（撮像装置）３００の一例を示している。デジタルカメラ４００は、レンズとイメージセンサとを備える取得部４０１および画像処理エンジンである変換部４０２を有する。画像処理結果である出力画像は、モニタに表示される。
【実施例１】
【００５５】
本実施例では、変換部１０２の機能を記述したプログラムを用いて、超解像（ｓｕｐｅｒ  ｒｅｓｏｌｕｔｉｏｎ）した数値計算の結果を示す。超解像とは、取得部１０１で取得される低解像度の入力画像から、高解像度の出力画像を生成する画像処理技術である。
【００５６】
図５は、変換部１０２で実行されるＣＮＮのネットワーク構造を示す図である。変換部１０２は、取得部１０１から低解像度の入力画像を取得する。入力部、メイン部および出力部において、３つのＣＮＮが実行される。図５において、ｃｏｎｖは畳み込み層を、ｄｅｃｏｎｖは逆（転置）畳み込み層を表している。
【００５７】
ここで、畳み込みと逆畳み込みについて説明する。畳み込みと逆畳み込みは、以下の式（８）で表される。
【００５８】
【数８】
2019139713.tif 000011
【００５９】
ここで、Ｕ、Ｖはそれぞれ、畳み込みで得られる特徴マップおよび畳み込みされる特徴マップ、Ｍは畳み込みを表す行列（畳み込み行列）である。特徴マップは、適当な変換（辞書式配列など）でベクトルとして表現されている。式（７）より、特徴マップＵは、特徴マップＶより長さが短い（解像度が低い）。よって、畳み込み行列Ｍは、横長の行列である。
【００６０】
Ｙ、Ｘはそれぞれ、逆畳み込みで得られる特徴マップと逆畳み込みされる特徴マップであり、ベクトルとして表現されている。特徴マップＹ、Ｘは、畳み込み行列Ｍの転置行列ＭＴで関係付けられている。転置行列ＭＴは、縦長の行列である。したがって、特徴マップＹは、特徴マップＸより長さが長い（解像度が高い）。すなわち、逆畳み込みは、畳み込みの逆操作とみなすことができる。また、逆畳み込みで得られる特徴マップの解像度は、逆畳み込みに用いられるフィルタサイズから、以下の式（９）で表される。
【００６１】
【数９】
2019139713.tif 000012
【００６２】
ここで、Ｈ、Ｗはそれぞれ、入力画像（または逆畳み込みされる特徴マップ）の縦横サイズである。ＹＨ、ＹＷはそれぞれ、出力画像（または逆畳み込みで得られる特徴マップ）の縦横サイズである。ＦＨ、ＦＷはそれぞれ、逆畳み込みに用いるフィルタの縦横サイズである。
【００６３】
式（９）より、特徴マップに対してフィルタの逆畳み込みを行うことで取得される画像は、元の特徴マップよりサイズが大きい（解像度が高い）。
【００６４】
図５において、各層の上の数字列はフィルタの縦横サイズ、チャンネル数、および枚数を表している。例えば、「３×３×１×８」は、縦横サイズ３×３、チャンネル数１、枚数８枚のフィルタを用いて畳み込み、または逆畳み込みを行うことを表している。また、記号
2019139713.tif 000013
【００６５】
は、特徴マップの要素ごとの和を表している。
【００６６】
学習促進部は入力部に相当し、入力部では、５つの互いに異なるフィルタを用いるＣＮＮが実行される。学習促進部は、入力部のＣＮＮより得られる、入力画像を多重解像度表現した情報（特徴マップ）を、画像変換部に提供する。
【００６７】
画像変換部は、メイン部と出力部に相当する。メイン部では、６層の多層ＣＮＮが実行される。画像変換部の学習促進のために、メイン部の中間層において得られる特徴マップと、学習促進部から得られる特徴マップとが要素ごとに加算された後、非線形演算が行われる。特徴マップを要素ごとに加算するため、学習促進部から得られる特徴マップと、メイン部の中間層において得られる特徴マップの解像度は等しい。
【００６８】
出力部では、６つの互いに異なるフィルタを用いるＣＮＮが実行される。具体的には、学習促進部から得られる特徴マップとメイン部の中間層において得られる特徴マップとが加算された特徴マップに対して逆畳み込みを行うことで取得される特徴マップに対して、非線形演算した後、重み付けすることで出力画像が生成される。本実施例では、非線形演算の際、メイン部ではＲｅＬＵ、出力部ではＬＲｅＬＵが用いられるが、本発明はこれに限定されない。
【００６９】
学習の際、入力訓練画像は、出力訓練画像に対して適当なぼけを加えた後、得られた画像の２×２画素を平均化することで、１／２にダウンサンプリングして生成される。正確には、生成された低解像度画像をバイキュービック（Ｂｉｃｕｂｉｃ）補間により２倍アップサンプリングした画像を、入力訓練画像として用いる。これは、画像処理精度向上のための処理ではなく、単に入力訓練画像と出力訓練画像の画素数を合わせるためである。また、訓練画像はモノクロ画像であり、画素値は［０  １］の範囲になるように規格化されている。
【００７０】
ネットワークパラメータの初期値として、全ての層でＸａｖｉｅｒが用いられる。学習では、最適化法としてＡｄａｍ法を用いたＳＧＤが使用される。Ａｄａｍ法では、基本学習率αを１０−４、ハイパーパラメータβ１、β２をそれぞれ０．９、０．９９９、定数εを１０−８としている。ＳＧＤでは、７６８００枚の訓練画像から、ランダムに選択された１２８枚の訓練画像が用いられる。学習の反復回数は、１８×１０４回（３００エポック）である。
【００７１】
図６は、本実施例の数値計算結果（画像処理結果）を示している。図７は、学習促進部の説明図である。入力画像として、１２５×１２５画素の画像をバイキュービック補間により２倍アップサンプリングして、２５６×２５６画素にした画像を用いている。出力画像から入力画像を生成する方法は、学習での生成方法と同様である。正解画像は、２５６×２５６画素の画像である。入力画像および正解画像はモノクロ画像であり、画素値は［０  １］の範囲になるように規格化されている。
【００７２】
図７に示されるように、学習促進部では、入力画像に対して、５×５〜１３×１３画素のフィルタを用いて畳み込みが行われ、入力画像を多重解像度表現した情報（特徴マップ）１〜５が抽出される。入力画像に対して大きなフィルタを用いて畳み込みを行う場合、取得される特徴マップの解像度は低下する。そのため、特徴マップ１を高解像度の特徴マップ、特徴マップ５を低解像度の特徴マップと呼ぶ。
【００７３】
図６の横軸は、画像処理時に使用された特徴マップを表している。例えば、条件１２３とは学習促進部を用いて得られる図７の５つの特徴マップのうち、特徴マップ１、２、３を用いて画像処理を行ったことを意味している。図６の左縦軸（実線）は、超解像した際にかかる時間である。図６の右縦軸（点線）は、超解像した際に得られる出力画像の画質を、画質評価指標ＳＳＩＭで表している。画質評価指標ＳＳＩＭは０〜１の値をとり１に近いほど、出力画像と正解画像が類似していることを表している。
【００７４】
従来技術では、学習済みのネットワークパラメータを全て使用するＣＮＮにより、画像処理が実行される。したがって、図６の条件１２３４５における結果は、従来技術による超解像結果である。一方、本発明では、学習済みのネットワークパラメータの一部を使用するＣＮＮにより、画像処理が実行される。本実施例では、低解像度の特徴マップに対応する学習済みのネットワークパラメータを省略し、学習済みのネットワークパラメータの一部を使用するＣＮＮにより、画像処理が実行される。条件１２３４、条件１２３、条件１２における結果は、本発明による超解像結果である。図６に示されるように、本発明による結果は従来技術の結果に比べて画質の点ではほぼ変わらないが、画像処理を高速に実行可能である。
【００７５】
以上説明したように、本発明は、学習促進部で実行されるＣＮＮの学習済みネットワークパラメータの一部を省略することで、画像の画質を大きく低下させることなく、画像処理を高速に実行可能である。より具体的には、学習促進部で得られる高解像度側の特徴マップに対応する学習済みネットワークパラメータを用いることで、画像の画質を大きく低下させることなく、画像処理を高速に実行可能である。
【００７６】
なお、本実施例のネットワーク構造（フィルタサイズ、フィルタ数、チャンネル数、非線形演算）は一例であり、本発明はこれに限定されない。
【実施例２】
【００７７】
図８は、変換部１０２に実装されているＣＮＮのネットワーク構造を示す図である。本実施例のネットワーク構造は、非特許文献１で開示されているＲＥＤ−Ｎｅｔであり、簡単のため１０層構造のネットワークとしている。図中の記号は、実施例１と同様である。
【００７８】
本実施例のネットワーク構造の場合、例えば、図中の点線で囲った部分（中間層）を学習促進部、それ以外の部分を画像変換部とみなすことで、本発明を適用可能である。すなわち、画像処理の際にはＲＥＤ−Ｎｅｔの中間層に対応する学習済みネットワークパラメータを省略することで、画像処理を高速に実行可能である。なお、ＲＥＤ−Ｎｅｔにはショートカットコネクションと呼ばれる、中間層をつなぐショートカット（ＳＣ）があるため、中間層に対応する学習済みネットワークパラメータを省略しても、画像処理できる。また、本実施例の学習促進部は一例であり、省略可能な中間層であれば、対応する学習済みネットワークパラメータを省略することで、画像処理を高速に実行可能である。
［その他の実施例]
本発明は、上述の実施例の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００７９】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【符号の説明】
【００８０】
１００  画像処理装置
１０１  取得部
１０２  変換部
【図１】
2019139713.tif 000014
【図２】
2019139713.tif 000015
【図３】
2019139713.tif 000016
【図４】
2019139713.tif 000017
【図５】
2019139713.tif 000018
【図６】
2019139713.tif 000019
【図７】
2019139713.tif 000020
【図８】
2019139713.tif 000021