(57)【要約】【課題】高解像度画像の高周波成分を高精度に回復することが可能な畳み込みニューラルネットワークのネットワークパラメータを設定する。【解決手段】画像処理装置１０３は、畳み込みニューラルネットワークに入力画像を与えることで得られる推定画像と前記入力画像に対応する訓練画像との誤差を算出し、該誤差の周波数成分に対して重み付けを行い、重み付けが行われた誤差から勾配を算出し、該勾配を用いて畳み込みニューラルネットワークのネットワークパラメータを設定する。【選択図】図２
2018195069.tif 000002
【特許請求の範囲】
【請求項１】
畳み込みニューラルネットワークに入力画像を与えることで得られる推定画像と前記入力画像に対応する訓練画像との誤差を算出し、該誤差の周波数成分に対して重み付けを行う誤差重み付け手段と、
前記重み付けが行われた前記誤差から勾配を算出し、該勾配を用いて前記畳み込みニューラルネットワークのネットワークパラメータを設定するパラメータ設定手段とを有することを特徴とする画像処理装置。
【請求項２】
前記誤差は、前記入力画像と前記訓練画像との差分を示す画像であることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記誤差重み付け手段は、
前記誤差の周波数分解を行って周波数成分ごとの周波数係数を算出し、
前記周波数係数のうち、所定の高周波成分に対応する高周波係数に対して重み付け係数を適用して加重高周波係数を算出し、
前記加重高周波係数に対して前記周波数分解の逆変換を行うことを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記周波数分解は離散コサイン変換であり、前記周波数係数は離散コサイン変換係数であることを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記重み付け係数は、前記高周波係数に対して一様に重みを加えるように設定されていることを特徴とする請求項３または４に記載の画像処理装置。
【請求項６】
前記重み付け係数の大きさは、１．５以上、２．５以下であることを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記所定の高周波成分は、高周波側１／２以上、２／３以下の高周波成分であることを特徴とする請求項５または６に記載の画像処理装置。
【請求項８】
前記重み付け係数は、前記高周波係数に対して単調増加する重みを加えるように設定されていることを特徴とする請求項３または４に記載の画像処理装置。
【請求項９】
前記重み付け係数の最大値は、３以上、６以下であることを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
前記所定の高周波成分は、高周波側２／３以上、４／５以下の高周波成分であることを特徴とする請求項８または９に記載の画像処理装置。
【請求項１１】
前記入力画像は、正解画像に対して劣化した劣化画像であり、
前記訓練画像は、前記正解画像であることを特徴とする請求項１から１０のいずれか一項に記載の画像処理装置。
【請求項１２】
前記入力画像は、低解像度画像であり、
前記推定画像は、前記低解像度画像より高解像度の推定画像であり、
前記訓練画像は、前記低解像度画像より高解像度の訓練画像であることを特徴とする請求項１から１０のいずれか一項に記載の画像処理装置。
【請求項１３】
前記入力画像は、ノイズにより劣化したノイズ劣化画像であり、
前記推定画像は、前記ノイズ劣化画像よりノイズによる劣化が少ない推定画像であり、
前記訓練画像は、前記ノイズ劣化画像よりノイズによる劣化が少ない訓練画像であることを特徴とする請求項１から１０のいずれか一項に記載の画像処理装置。
【請求項１４】
前記入力画像は、ぼけを含むぼけ画像であり、
前記推定画像は、前記ぼけ画像よりぼけによる劣化が少ない推定画像であり、
前記訓練画像は、前記ぼけ画像よりぼけによる劣化が少ない訓練画像であることを特徴とする請求項１から１０のいずれか一項に記載の画像処理装置。
【請求項１５】
撮像素子と、
該撮像素子を通して得られた画像を入力画像とする請求項１から１４のいずれか一項に記載の画像処理装置とを有することを特徴とする撮像装置。
【請求項１６】
畳み込みニューラルネットワークに入力画像を与えることで得られる推定画像と前記入力画像に対応する訓練画像との誤差を算出し、該誤差の周波数成分に対して重み付けを行うステップと、
前記重み付けが行われた前記誤差から勾配を算出し、該勾配を用いて前記畳み込みニューラルネットワークのネットワークパラメータを設定するステップとを有することを特徴とする画像処理方法。
【請求項１７】
コンピュータに画像処理を実行させるコンピュータプログラムであって、
前記画像処理は、
畳み込みニューラルネットワークに入力画像を与えることで得られる推定画像と前記入力画像に対応する訓練画像との誤差を算出し、該誤差の周波数成分に対して重み付けを行う処理と、
前記重み付けが行われた前記誤差から勾配を算出し、該勾配を用いて前記畳み込みニューラルネットワークのネットワークパラメータを設定する処理とを有することを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、畳み込みニューラルネットワーク（Convolutional Neural Network：ＣＮＮ）を用いた超解像手法であるＳＲＣＮＮにおいて、高精度に高周波成分を回復する画像処理技術に関する。
【背景技術】
【０００２】
ＳＲＣＮＮは、非特許文献１にて開示されているように、ＣＮＮを用いて低解像度画像から高解像度画像を生成する超解像（super-resolution：ＳＲ）手法である。ＣＮＮは、入力画像に対してフィルタの畳み込み（convolution）を行った後に非線形処理を繰り返すことで、目的とする出力画像を生成する画像処理手法である。
【０００３】
フィルタは後述する訓練画像から学習によって生成され、一般に複数存在する。また、入力画像に対してフィルタの畳み込みを行った後に非線形処理を行うことで得られる複数の画像は特徴マップ（feature map）と呼ばれる。さらに、入力画像に対してフィルタの畳み込みを行った後に非線形処理を行う一連の処理は、層（layer）という単位で表現される。例えば、１層目のフィルタや２層目の特徴マップ等と呼ばれる。例えばフィルタの畳み込みと非線形処理を３回繰り返すＣＮＮは、３層のネットワーク構造と呼ばれる。
【０００４】
ＣＮＮは、以下のように定式化できる。
【０００５】
【数１】
2018195069.tif 000003
【０００６】
式（１）において、Ｗｎはｎ層目のフィルタであり、ｂｎはｎ層目のバイアスである。ｆは非線形処理演算子であり、Ｘｎはｎ層目の特徴マップであり、＊は畳み込み演算子である。右辺の（ｌ）はｌ番目のフィルタまたは特徴マップを表している。また、非線形処理としては、従来のシグモイド関数（sigmoid function）や収束性に優れたＲｅＬＵ（Rectified Linear Unit）が用いられる。ＲｅＬＵは、
【０００７】
【数２】
2018195069.tif 000004
【０００８】
により与えられる。すなわち、入力ベクトルＺの要素のうち負のものに対しては０を出力し、正のものに対してはそのままＺを出力する非線形な処理である。
【０００９】
超解像とは、画素が粗い（画素サイズが大きい）イメージセンサで取得した低解像度画像から元の高解像度画像を生成（推定）する画像処理である。超解像には、光学像を形成する光学系と該光学像を光電変換するイメージセンサの画素開口で失われる高解像度画像の高周波成分を高精度に回復すること（ぼけを除去して鮮鋭化すること）が求められる。
【００１０】
ＳＲＣＮＮでは、まず低解像度な訓練画像とこれに対応する高解像度な訓練画像（正解画像）からなる訓練画像の組を用意する。次に、低解像度な入力画像を高解像度な変換画像に高精度に変換することができるように、訓練画像の組を用いてＣＮＮのネットワークパラメータ（前述したフィルタおよびバイアス）を学習により設定する。ＣＮＮのネットワークパラメータの学習は、以下のように定式化できる。
【００１１】
【数３】
2018195069.tif 000005
【００１２】
式（３）において、Ｗはフィルタであり、Ｌは損失関数（loss function）、ηは学習率である。損失関数は、低解像度訓練画像をＣＮＮに入力した際に、得られる高解像度の推定画像定と正解画像との誤差を評価する関数である。また、学習率ηは、勾配法（gradient descent method）におけるステップ幅と同じ役割を有する。また、各フィルタに関する損失関数の勾配は、微分の連鎖律により求められる。また、式（３）は、フィルタに対する学習を示したが、バイアスに対しても同様である。
【００１３】
式（３）は、推定画像と正解画像との誤差が小さくなるようにネットワークパラメータを更新する学習法を表す。この学習法は、誤差逆伝搬法（back propagation method）と呼ばれる。また、損失関数については、後に本発明の実施例において詳細に説明する。
【００１４】
次にＳＲＣＮＮでは、学習により生成したＣＮＮのネットワークパラメータを用いて、式（１）に従って任意の低解像度画像から高解像度画像を生成する超解像処理を行う。
【００１５】
ＳＲＣＮＮの学習には反復計算を要し、一般には時間がかかる。しかし、一度ネットワークパラメータを学習すれば、それを用いて高速に超解像処理を行える。また、ＳＲＣＮＮは高い汎化性能、すなわち学習に用いていない画像でも良好に超解像できる性質を有する。これにより、ＳＲＣＮＮは他の技術と比べて高速かつ高精度な超解像処理を可能とする。
【先行技術文献】
【非特許文献】
【００１６】
【非特許文献１】Chao Dong、Chen Change Loy、Kaiming He、Xiaoou Tang、「Image super-resolution using deep convolutional networks」、IEEE Transactions on Pattern Analysis and Machine Intelligence、アメリカ合衆国、2015、pp.295-307
【特許文献】
【００１７】
【特許文献１】特開２０１４−１９５３３３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１８】
ＳＲＣＮＮでは、高解像度画像の高周波成分を高精度に回復することができない。これは、ＳＲＣＮＮが用いている損失関数を見ると明らかである。ＳＲＣＮＮが用いている損失関数は、以下で与えられる。
【００１９】
【数４】
2018195069.tif 000006
【００２０】
式（４）式において、Ｘは低解像度訓練画像をＣＮＮに入力した際に、得られる高解像度な推定画像であり、Ｙは入力した低解像度訓練画像に対応する高解像度な訓練画像（正解画像）である。
2018195069.tif 000007
【００２１】
はＬ２ノルムであり、簡単にはベクトルＺの要素の２乗和の平方根である。式（４）は、ともに高解像度な推定画像と正解画像の誤差として、両画像の差分の２乗和を用いる。
【００２２】
式（４）は、周波数的には、低周波成分から高周波成分までに等しい重みを付けて、高解像度な推定画像と正解画像との差分をとっていることと等価である。しかし、一般に自然画像は低周波成分を主として含み、高周波成分はそれに比べて少ないため、このように誤差を評価すると、高解像度な推定画像における高周波成分の回復を評価することができない。つまり、損失関数は、高解像度画像の推定において低周波成分さえ回復できれば誤差が小さくなるために、高周波成分を回復しない関数であると言える。
【００２３】
以上の理由から、ＳＲＣＮＮが用いている損失関数により学習したＣＮＮのネットワークパラメータでは、高解像度画像の高周波成分を高精度に回復することができない。
【００２４】
本発明は、高解像度画像の高周波成分を高精度に回復することが可能なＣＮＮのネットワークパラメータを設定できるようにした画像処理装置および画像処理方法等を提供する。
【課題を解決するための手段】
【００２５】
本発明の一側面としての画像処理装置は、畳み込みニューラルネットワークに入力画像を与えることで得られる推定画像と前記入力画像に対応する訓練画像との誤差を算出し、該誤差の周波数成分に対して重み付けを行う誤差重み付け手段と、重み付けが行われた誤差から勾配を算出し、該勾配を用いて畳み込みニューラルネットワークのネットワークパラメータを設定するパラメータ設定手段とを有することを特徴とする。なお、上記画像処理装置を備えた撮像装置も、本発明の他の一側面を構成する。
【００２６】
また、本発明の他の一側面としての画像処理方法は、畳み込みニューラルネットワークに入力画像を与えることで得られる推定画像と入力画像に対応する訓練画像との誤差を算出し、該誤差の周波数成分に対して重み付けを行うステップと、重み付けが行われた誤差から勾配を算出し、該勾配を用いて畳み込みニューラルネットワークのネットワークパラメータを設定するステップとを有することを特徴とする。なお、上記画像処理方法をコンピュータに実行させる画像処理プログラムも、本発明の他の一側面を構成する。
【発明の効果】
【００２７】
本発明によれば、ＣＮＮを用いた超解像手法であるＳＲＣＮＮにおいて、高精度に高周波成分を回復することができる。
【図面の簡単な説明】
【００２８】
【図１】本発明の実施例である画像処理装置を備えた撮像装置の構成を示すブロック図。
【図２】上記画像処理装置が行う画像処理方法を示すフローチャート。
【図３】本発明の実施例１に用いるステップ関数状の重み付け係数を説明する図。
【図４】実施例１の効果を説明する数値計算結果を示す図。
【図５】従来技術の効果を説明する数値計算結果を示す図。
【図６】実施例１と従来技術の周波数領域の比較図。
【図７】本発明の実施例２に用いる線形関数状の重み付け係数を説明する図。
【図８】実施例２の効果を説明する数値計算結果を示す図。
【発明を実施するための形態】
【００２９】
以下、本発明の実施例について図面を参照しながら説明する。
【００３０】
まず本発明の具体的な実施例（数値例）を説明する前に、本発明の代表的な実施例について説明する。図１には、本発明の実施例である画像処理装置１０３を備えた撮像装置１００の構成を示している。
【００３１】
撮像装置１００は、結像光学系１０１と、撮像素子１０２と、画像処理装置１０３とを有する。結像光学系１０１は、撮像素子１０２の撮像面上に光学像（被写体像）を形成する。結像光学系１０１は、１又は複数のレンズにより構成されてもよいし、反射鏡、屈折率分布素子またはＤＭＤ（Digital Mirror Device）等の光学素子により構成されてもよい。結像光学系１０１の結像特性は、未知でもよいが、既知であることが望ましい。結像特性は、画角、被写体距離、波長および輝度等の条件に対する光学像のぼけを点像強度分布（Point Spread Function：ＰＳＦ）で表したものである。また、結像光学系１０１の働きは、画像処理的にはＰＳＦの畳み込み積分で与えられる。
【００３２】
撮像素子１０２は、ＣＭＯＳ（Complementary Metal Oxide Semiconductor）イメージセンサにより構成され、その撮像面上に形成された被写体像を光電変化し、該被写体像の光強度に応じた電気信号を出力する。撮像素子１０２は、ＣＭＯＳイメージセンサに限らず、光強度に応じた電気信号が出力できれば、他のものであってもよい。例えば、ＣＣＤ（Charge Coupled Device）イメージセンサを用いてもよい。また、撮像素子１０２の働きは、画像処理的には、高解像度な光学像の光電変換により得られる複数画素が１画素の広がり（開口）により平均化されて低解像度画像における１画素となるダウンサンプリングで与えられる。
【００３３】
画像処理装置１０３は、パーソナルコンピュータやワークステーション等の演算装置により構成され、撮像素子１０２が出力する電気信号を用いて生成される撮像画像を入力画像として後述する画像処理を行う。画像処理装置１０３は、不図示の内部記憶部に格納されたコンピュータプログラムである画像処理プログラム（アプリケーション）を実行してもよいし、該プログラムを回路として実装したボード等を有していてもよい。また、外部記憶媒体（半導体メモリや光ディスク等）に記憶された画像処理プログラムを読み込んで画像処理を実行してもよい。
【００３４】
撮像装置１００は、結像光学系１０１が撮像素子１０２と一体に設けられた光学系一体型であってもよいし、結像光学系１０１の着脱交換が可能な光学系交換型であってもよい。光学系交換型である場合は、後述する画像処理で用いるパラメータ（ＣＮＮのネットワークパラメータ）として、使用する結像光学系１０１に適したものを用いる必要がある。これは、該パラメータは、結像光学系１０１の結像特性に応じて設定されるべきだからである。
【００３５】
次に、画像処理装置１０３が実行する画像処理（方法）について、図２に示したフローチャートを用いて説明する。なお、Ｓはステップまたは処理を示す。画像処理装置１０３は、誤差重み付け手段およびパラメータ設定手段として機能する。
【００３６】
ステップＳ２０１では、画像処理装置１０３は、入力画像としての低解像度訓練画像とこれに対応する高解像度訓練画像（正解画像）からなる訓練画像の組を準備する。なお、結像光学系１０１の結像特性が既知である場合は、計算機を用いたシミュレーションにより、高解像度訓練画像から低解像度訓練画像を生成してもよい。すなわち、高解像度訓練画像に対して結像光学系１０１の結像特性であるＰＳＦを畳み込み、得られる光学像に撮像素子１０２の影響を付加（ダウンサンプリング）することで、低解像度訓練画像を生成してもよい。
【００３７】
また、結像光学系１０１の結像特性が未知である場合は、撮像装置１００を用いて既知の高解像度パターン（バーチャート等）を撮像することで、低解像度訓練画像を生成してもよい。
【００３８】
また、各訓練画像はカラー画像でもモノクロ画像でもよいが、以下の説明では、各訓練画像をモノクロ画像として説明する。訓練画像がカラー画像である場合は、カラーチャンネルごとに又はカラー画像の輝度成分にのみ、以下で説明する画像処理を適用すればよい。
【００３９】
さらに、本実施例では、非特許文献１に倣って、低解像度訓練画像をバイキュービック（Bicubic）補間して、高解像度訓練画像と同じサイズにしている。例えば、２倍超解像を行う場合、低解像度画像は高解像度画像と比べてそのサイズが半分になるが、補間処理により低解像度画像のサイズを２倍にして両訓練画像のサイズを揃える。
【００４０】
ステップＳ２０２では、画像処理装置１０３は、訓練画像から畳み込みニューラルネットワーク（ＣＮＮ）のネットワークパラメータを学習する。この際、損失関数として以下の式（５）で与えられる関数を用いる。
【００４１】
【数５】
2018195069.tif 000008
【００４２】
式（５）において、Ｘは低解像度訓練画像をＣＮＮに入力して得られる高解像度推定画像であり、Ｙは入力した低解像度訓練画像に対応する高解像度訓練画像（正解画像）である。Ψは高周波成分に重み付けする行列（高周波重み付け行列）であり、以下の式（６）で与えられる。
【００４３】
【数６】
2018195069.tif 000009
【００４４】
式（６）において、Φは周波数分解を行う離散コサイン変換（Discrete Cosine Transform:ＤＣＴ）に用いられるＤＣＴ行列であり、Γは重み付け係数行列である。重み付け係数行列Γは、ＤＣＴ行列により得られるＤＣＴ係数（離散コサイン変換係数）に重み付けする係数（重み付け係数）を対角成分に有する対角行列である。この重み付け係数の決定方法については後の実施例で詳細に説明する。
【００４５】
式（６）では、まず高解像度推定画像と正解画像との差分（誤差）を示す差分画像をＤＣＴ変換して得られる周波数成分ごとのＤＣＴ係数（周波数係数）のうち、所定の高周波成分に対応する高周波係数（高周波ＤＣＴ係数）に対して重み付け係数行列を適用する。これにより、高周波ＤＣＴ係数に対する重み付けを行う。さらに、式（６）では、その重み付けした高周波ＤＣＴ係数（加重高周波係数）をＤＣＴ逆変換することを意味する。言い換えると、式（６）は、自然画像にはあまり含まれていない高周波成分に重み付けすることで、高解像度推定画像の高周波成分が良好に回復しなければ、大きなペナルティが加わるようにすることを意味する。上記損失関数を用いて学習したＣＮＮのネットワークパラメータを用いることで、高精度に高周波成分を回復することが可能となる。また、学習には、式（３）で説明した誤差逆伝搬法を用いる。誤差逆伝搬法において用いる損失関数の勾配は、以下の式（７）で与えられる。
【００４６】
【数７】
2018195069.tif 000010
【００４７】
式（７）において、Ｙ’は高周波重み付け行列Ψで重み付けした高解像度正解画像Ｙである。
【００４８】
このように、本実施例では、推定誤差の高周波成分に重み付けをして、ネットワークを学習する。
【００４９】
従来、画像の高周波成分に重み付けをする超解像は行われてきたが、重み付けをした後に学習することは行われておらず、また式（５）と式（６）に示した損失関数とそれを用いた学習法（式（７））も従来にはなかったものである。
【００５０】
また、特開２０１４−１９５３３３号公報では、周波数領域または実空間において重み付けした測度を用いて、ビデオ信号の予測誤差信号の量子化誤差を評価し、周波数空間と実空間のどちらで量子化するかを選択する方法が開示されている。予測誤差信号とは、前フレームとの差分を予測した信号である。しかし、上記公報で開示されている重み付けは、エッジでは誤差を許容し、フラットであれば誤差を許容しないという本実施例とは逆の目的でなされている。しかも、周波数領域において重み付けした測度を用いてネットワークを学習することは開示されていない。
【００５１】
以上の処理を予め行って学習したＣＮＮのネットワークパラメータを不図示の記憶部に記憶しておいてもよい。また、半導体メモリや光ディスク等の記憶媒体にネットワークパラメータを記憶しておき、その記憶媒体から以下の処理を行う前に記憶されたネットワークパラメータ読み込んでもよい。
【００５２】
ステップＳ２０３では、画像処理装置１０３は、撮像装置１００（撮像素子１０２）により取得した任意の低解像度画像（入力画像）に対して、学習したＣＮＮのネットワークパラメータを用いて高解像度画像を生成（推定）する。ここでは、式（１）で示した超解像方法を用いる。
【００５３】
また、取得した低解像度画像がカラー画像である場合は、カラーチャンネルごとに学習したＣＮＮのネットワークパラメータを用いて、カラーチャンネルごとに低解像度画像から高解像度画像を生成し、それぞれのカラーチャンネルの高解像度画像を合成すればよい。または、カラー画像の輝度成分から学習したＣＮＮのネットワークパラメータを用いて低解像度輝度画像から高解像度輝度画像を生成し、その高解像度輝度画像を、補間した色差画像と融合すればよい。
【００５４】
さらに、画像処理結果を不図示の記憶部に記憶してもよいし、不図示の表示部に表示してもよい。
【００５５】
以上の処理により、撮像装置１００で取得した任意の低解像度画像から高解像度画像を生成することができる。
【００５６】
次に、具体的な実施例について説明する。
【実施例１】
【００５７】
実施例１では、先に説明した画像処理によって生成した超解像画像（高解像度画像）の数値計算結果を示す。
【００５８】
ＣＮＮは、非特許文献１にて開示された３層のネットワーク構造を有している。１層目のフィルタサイズは９×９を６４個であり、２層目のフィルタサイズは６４×１×１×３２であり、３層目のフィルタサイズは５×５を３２個である。２層目のフィルタは、入力画像サイズをＮｙ×Ｎｘとして、１層目が出力するＮｘ×Ｎｙ×６４次元の行列をＮｘ×Ｎｙ×３２次元の行列に変換するものである。
【００５９】
１層目から３層目のフィルタの学習率はそれぞれ、１０−４、１０−６および１０−８である。また、１層目から３層目のバイアスの学習率は１０−５、１０−７および１０−９である。各層のフィルタの初期値は正規分布乱数で与え、各層のバイアスの初期値はゼロとした。１層目と２層目の活性化関数として、前述したＲｅＬＵを用いた。また、誤差逆伝搬の回数は３×１０５回とした。
【００６０】
光学系は、Ｆ値が２．８、波長が０．５５μｍかつ等倍である収差を考慮しない理想レンズとした。光学系は結像特性が既知であればどのような構成のものでもよい。本実施例では、簡単のために収差を考慮しなかった。イメージセンサは、１画素のサイズが１．５μｍであり、開口率が１００％のものを用いた。簡単のため、イメージセンサノイズは考慮しなかった。
【００６１】
また、超解像倍率を２倍とした。光学系が等倍で、イメージセンサの１画素サイズが１．５μｍであるので、高解像度画像の１画素サイズは０．７５μｍとなる。
【００６２】
訓練画像は、３２×３２画素のモノクロの高解像度訓練画像と低解像度訓練画像との組が計１５０００組集まったものである。低解像度訓練画像は、前述したＦ値２．８、波長０．５５μｍ、等倍という光学条件および１画素サイズが１．５μｍで開口率が１００％というイメージセンサを仮定して、複数の高解像度訓練画像から数値計算により生成した。すなわち、１画素サイズが０．７５μｍの高解像度訓練画像を、上記光学条件でぼけさせた後、上記イメージセンサで取得して１画素サイズが１．５μｍの低解像度訓練画像を生成する。また、前述したように、高解像度訓練画像と低解像度訓練画像は互いに同じサイズになるようにバイキュービック補間処理を行った。撮像装置１００で取得される低解像度画像に対してもバイキュービック補間した後、その補間画像に対して超解像処理を行った。高解像度訓練画像を、画素値の最大値が１になるように規格化した。
【００６３】
損失関数の重み付け係数は、図３に示すステップ関数状のものを用いた。具体的には、高解像度推定画像と正解画像との差分画像から算出されるＤＣＴ係数のうち高周波側１／２の高周波成分である高周波ＤＣＴ係数を２．５倍するものとした。
【００６４】
なお、重み付け係数は、高周波ＤＣＴ係数に一様な重みを加えられればどのようなものでもよい。例えば、本実施例のようにステップ関数状のものでもよいし、ステップ関数が鈍ったシグモイド関数状のものを用いてもよい。また、一様に重み付けをする高周波ＤＣＴ係数は、厳密に高周波側１／２の高周波成分に対応するものである必要はなく、高周波側１／２以上、２／３以下の高周波成分に対応するものであればよい。さらに、高周波ＤＣＴ係数に一様に加える重みは、厳密に２．５倍である必要はなく、１．５倍以上、２．５倍以下の範囲であればよい。すなわち、重み付け係数の大きさは、１．５以上、２．５以下であればよい。
【００６５】
図４（ａ）〜（ｃ）は、本実施例での画像処理の結果を示す。図４（ａ）は低解像度画像のバイキュービック補間画像を示し、図４（ｂ）は本実施例における高解像度推定画像、図４（ｃ）は正解画像を示す。各画像はモノクロ画像であり、画像サイズはＮｘ＝Ｎｙ＝２５６画素である。これらの図から、本実施例では、バイキュービック補間画像に比べて正解画像に近い鮮鋭な（ぼけによる劣化が少ない）推定画像が得られたことが分かる。
【００６６】
本実施例の効果を２乗平均平方根誤差（Root Mean Square Error：ＲＭＳＥ）で定量的に評価した。ＲＭＳＥは以下の式（８）で与えられる。
【００６７】
【数８】
2018195069.tif 000011
【００６８】
式（８）において、Ｐ，Ｑは任意のＭ×１次元ベクトルであり、ｐｉ，ｑｉはそれぞれＰ，Ｑのｉ番目の要素である。ＲＭＳＥがゼロに近いほど、Ｐ，Ｑがより類似していることを示す。すなわち、高解像度推定画像と正解画像のＲＭＳＥがゼロに近いほど、推定画像が高精度に超解像できていると言える。
【００６９】
表１は、低解像度画像のバイキュービック補間画像と正解画像のＲＭＳＥおよび本実施例により得られた高解像度推定画像と正解画像のＲＭＳＥを示す。前者のＲＭＳＥより後者のＲＭＳＥ方がゼロに近いので、本実施例によれば、より高精度に超解像できることが分かる。
【００７０】
【表１】
2018195069.tif 000012
【００７１】
次に、本実施例と従来技術とを比較する。従来技術としては、非特許文献１で開示されているＳＲＣＮＮを用いる。また、従来技術は損失関数の重み付けを除いて本実施例と同様なので、説明は省略する。
【００７２】
図５は、従来技術により得られた高解像度推定画像を示す。表２に、従来技術により得られた高解像度推定画像と正解画像のＲＭＳＥを示す。このＲＭＳＥよりも本実施例により得られた高解像度推定画像と正解画像のＲＭＳＥの方がゼロに近いので、本実施例によれば、より高精度に超解像できることが分かる。
【００７３】
【表２】
2018195069.tif 000013
【００７４】
図６は、本実施例と従来技術との１次元スペクトルによる比較結果を示す。１次元スペクトルとは、画像を２次元フーリエ変換することで得られる２次元スペクトルの絶対値をとり、動径方向に積算して１次元のベクトルとして表現したスペクトルである。図６において、横軸は規格化された空間周波数を示し、図の右側ほど高周波数であることを示している。縦軸は１次元スペクトルの対数値を示している。実線は正解画像の１次元スペクトルを示し、点線は従来技術により得られた高解像度推定画像の１次元スペクトルを示している。一点鎖線は本実施例により得られた高解像度推定画像の１次元スペクトルを示している。
【００７５】
この図において、高周波領域において一点鎖線が点線より実線に近いことから、従来技術より本実施例の方が多くの高周波成分を回復できていることが分かる。なお、画像にノイズ様の高周波成分を加えることでも、高周波成分を増やすことはできる。しかし、その場合は高周波成分を増やした画像の画質が低下し、該画像と正解画像のＲＭＳＥがゼロから離れる。一方、本実施例により得られた高解像度推定画像と正解画像のＲＭＳＥは、従来技術よりゼロに近くなっていることから、高周波成分を高精度に回復できていることが分かる。
【００７６】
以上のことから、本実施例によれば、従来技術に比べて、高周波成分をより高精度に回復することができると言える。
【実施例２】
【００７７】
実施例２では、損失関数の重み付け係数として、線形関数状のもの（正確には区分線形関数）を用いた数値計算の結果を示す。実施例１とは損失関数の重み付け係数が異なるだけであるので、それ以外についての説明は省略する。
【００７８】
図７は、本実施例における線形関数状の重み付け係数を示す。この重み付け係数は、高解像度推定画像と正解画像との差分画像から算出されるＤＣＴ係数のうち高周波側２／３の高周波成分である高周波ＤＣＴ係数に、最大値が３倍となるように線形に重み付けするものである。
【００７９】
なお、重み付け係数は、高周波ＤＣＴ係数に対して単調増加する重みを加えられればどのようなものでもよい。例えば、本実施例のように線形関数状のものでもよいし、累乗関数や指数関数等の曲線状のものでもよい。また、単調増加する重みを加える高周波ＤＣＴ係数は、厳密に高周波側２／３の高周波成分に対応するものである必要はなく、高周波側２／３以上、４／５以下の高周波成分に対応するものであればよい。また、高周波ＤＣＴ係数に対して単調増加するように加える重みは、最大値が厳密に３倍である必要はなく、最大値が３倍以上、６倍以下の範囲であればよい。すなわち、重み付け係数の最大値が３以上、６以下であればよい。
【００８０】
図８は、本実施例により得られた高解像度推定画像を示す。低解像度画像（のバイキュービック補間画像）と正解画像は実施例１と同じである。表３に、本実施例により得られた高解像度推定画像と正解画像のＲＭＳＥを示す。このＲＭＳＥは、従来技術により得られた高解像度推定画像と正解画像のＲＭＳＥよりゼロに近い。また、１次元スペクトルによる周波数空間での評価も、具体的には示さないが、実施例１と同様である。このため、本実施例によれば、従来技術に比べて、より正解画像に近い鮮鋭な（ぼけによる劣化が少ない）高解像度推定画像を得ることができる。
【００８１】
【表３】
2018195069.tif 000014
【実施例３】
【００８２】
実施例３では、超解像ではなく、ノイズ除去を行う場合について説明する。ノイズ除去においても、高周波成分の高精度な回復は重要となっている。その理由は、ノイズにより劣化したノイズ劣化画像のうち本来の画像の高周波成分と高周波ノイズとを見分けることが難しく、ノイズ劣化画像から高周波ノイズを良好に除去することが難しいためである。
【００８３】
例えば、画像処理分野においては、メジアンフィルタ（median filter）を用いてノイズ劣化画像からスパイクノイズが除去される。メジアンフィルタは、ノイズ劣化画像中の注目画素の画素値を、該注目画素の隣接範囲内の画素の中間値（メジアン）と置き換えるフィルタである。このメジアンフィルタを用いることにより、周囲の画素に比べて顕著に大きい又は小さい画素値はノイズと判断されて除去される。しかし、同時にエッジ等の画像の高周波成分も平均化されて鈍る。このため、画像の高周波成分を高精度に回復することが必要である。
【００８４】
実施例１，２で説明した画像処理をノイズ除去に適用するには、学習で用いる訓練画像を変えるだけでよい。具体的には、低解像度訓練画像（入力画像）と高解像度訓練画像の代わりに、訓練ノイズ劣化画像とこれよりもノイズによる劣化が少ない訓練鮮鋭画像とを用いて、ＣＮＮのネットワークパラメータを学習すればよい。その他は、実施例１，２と同様であるので、説明は省略する。
【実施例４】
【００８５】
実施例４では、超解像ではなく、ぼけ除去を行う場合について説明する。ぼけ除去においても、高周波成分の高精度な回復は重要である。その理由は、ぼけ除去の目的が光学系やイメージセンサの開口により失われた画像の高周波成分を回復することだからである。
【００８６】
実施例１，２で説明した画像処理をぼけ除去に適用するには、学習で用いる訓練画像を変えるだけでよい。具体的には、低解像度訓練画像（入力画像）と高解像度訓練画像の代わりに、ぼけを含む訓練ぼけ画像とこれよりもぼけによる劣化が少ない訓練鮮鋭画像とを用いて、ＣＮＮのネットワークパラメータを学習すればよい。その他は、実施例１，２と同様であるので、説明は省略する。
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００８７】
以上説明した各実施例は代表的な例にすぎず、本発明の実施に際しては、各実施例に対して種々の変形や変更が可能である。
【符号の説明】
【００８８】
１０３  画像処理装置
【図１】
2018195069.tif 000015
【図２】
2018195069.tif 000016
【図３】
2018195069.tif 000017
【図４】
2018195069.tif 000018
【図５】
2018195069.tif 000019
【図６】
2018195069.tif 000020
【図７】
2018195069.tif 000021
【図８】
2018195069.tif 000022