(57)【要約】【課題】画像を畳み込みニューラルネットワークにより高解像度化させる画像超解像装置を提供する。【解決手段】画像超解像装置１は、入力画像からブロックを切り出すブロック切り出し手段１０と、切り出したブロックを低域成分として、畳み込みニューラルネットワークを用いて高域成分を推定する畳み込みニューラルネットワーク手段１２と、高域成分をウェーブレット再構成し、ブロックを超解像した超解像ブロックを生成するウェーブレット再構成手段１３と、ブロックを切り出した位置に超解像ブロックを再配置し、超解像画像を生成するブロック配置手段１４と、を備える。【選択図】図２
2019204167.tif 000002
【特許請求の範囲】
【請求項１】
画像をウェーブレット分解した低域成分から当該画像の高域成分を推定する畳み込みニューラルネットワークを用いて、入力画像を高解像度化する画像超解像装置であって、
前記入力画像から予め定めたサイズのブロックを切り出すブロック切り出し手段と、
前記ブロックを前記低域成分として、前記畳み込みニューラルネットワークを用いて前記ブロックに対応する前記高域成分を推定する畳み込みニューラルネットワーク手段と、
前記高域成分をウェーブレット再構成し、前記ブロックを超解像した超解像ブロックを生成するウェーブレット再構成手段と、
前記ブロックを切り出した位置に前記超解像ブロックを再配置し、前記入力画像に対する超解像画像を生成するブロック配置手段と、
を備えることを特徴とする画像超解像装置。
【請求項２】
前記畳み込みニューラルネットワークは、色に関して１以上のチャンネル分の画像から前記チャンネル分の高域成分を推定することを特徴とする請求項１に記載の画像超解像装置。
【請求項３】
前記ブロック切り出し手段は、前記チャンネル分の画像から前記チャンネル分のブロックを切り出して、前記畳み込みニューラルネットワーク手段への入力とし、
前記ウェーブレット再構成手段は、前記チャンネル分のブロックと、前記畳み込みニューラルネットワーク手段で推定される前記チャンネル分の高域成分とから、前記チャンネル分の超解像ブロックを生成し、
前記ブロック配置手段は、前記チャンネル分の超解像ブロックをチャンネル別に配置することで、チャンネルの数に対応した超解像画像を生成することを特徴とする請求項２に記載の画像超解像装置。
【請求項４】
前記ブロック切り出し手段は、前記入力画像において、領域が重複するように切り出し、
前記ブロック配置手段は、前記超解像ブロックの重複した領域を合成して前記超解像画像を生成することを特徴とする請求項１から請求項３のいずれか一項に記載の画像超解像装置。
【請求項５】
請求項１から請求項４のいずれか一項に記載の画像超解像装置で用いる畳み込みニューラルネットワークのパラメータを学習するパラメータ学習装置であって、
入力画像から、前記畳み込みニューラルネットワークの入力となる画像の水平方向および垂直方向に２倍の解像度のブロックを順次切り出すブロック切り出し手段と、
前記ブロックをウェーブレット分解した低域成分と、高域成分とを生成するウェーブレット分解手段と、
前記低域成分を入力し、前記畳み込みニューラルネットワークにおいて順方向に伝播させることで高域成分を推定する学習用畳み込みニューラルネットワーク手段と、
前記ウェーブレット分解手段で生成された高域成分と、前記学習用畳み込みニューラルネットワーク手段で推定された高域成分との誤差を演算する誤差演算手段と、を備え、
前記学習用畳み込みニューラルネットワーク手段は、前記誤差を誤差逆伝播法により、前記畳み込みニューラルネットワークにおいて逆方向に伝播させることで、前記畳み込みニューラルネットワークの結合重み係数を前記パラメータとして学習することを特徴とするパラメータ学習装置。
【請求項６】
前記畳み込みニューラルネットワークは、色に関して１以上のチャンネル分の画像から前記チャンネル分の高域成分を推定することを特徴とする請求項５に記載のパラメータ学習装置。
【請求項７】
前記ブロック切り出し手段は、前記チャンネル分の画像から前記チャンネル分のブロックを切り出し、
前記ウェーブレット分解手段は、前記チャンネル分のブロックから、前記チャンネル分の低域成分と高域成分とを生成することを特徴とする請求項６に記載のパラメータ学習装置。
【請求項８】
コンピュータを、請求項１から請求項４のいずれか一項に記載の画像超解像装置として機能させるための画像超解像プログラム。
【請求項９】
コンピュータを、請求項５から請求項７のいずれか一項に記載のパラメータ学習装置として機能させるためのパラメータ学習プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、畳み込みニューラルネットワークにより画像を高解像度化させる画像超解像装置およびそのプログラム、ならびに、画像超解像装置に用いる畳み込みニューラルネットワークのパラメータを学習するパラメータ学習装置およびそのプログラムに関する。
【背景技術】
【０００２】
従来、画像の解像度を向上させる手法として、入力画像に対して、ウェーブレット変換等の直交変換を行った後、高解像度化した画像の空間高周波スペクトルを推定し、入力画像と逆直交変換を行うことで、入力画像を高解像度化する手法が開示されている（特許文献１参照）。
【０００３】
この手法は、入力画像と高解像度化後の画像との間には自己相似性が存在すると仮定して、入力画像を直交変換した空間高周波スペクトルから、高解像度化後の帯域の空間高周波スペクトルを補間生成する。
そして、この手法は、入力画像が予め原画像を低解像度化した画像であって、原画像をオクターブ分解した帯域別のスペクトルパワー代表値を既知の情報として外部から入力する。あるいは、この手法は、自己相似性を前提として、入力画像をオクターブ分解した帯域別のスペクトルパワー代表値を、そのまま、水平・垂直方向に２倍した帯域のスペクトルパワー代表値とする。
そして、この手法は、入力画像のスペクトルと空間高周波スペクトルとを、外部から入力したスペクトルパワー代表値、あるいは、帯域別に入力画像から求めたスペクトルパワー代表値となるように補正する。
そして、この手法は、補正した入力画像のスペクトルと空間高周波スペクトルとに対して、逆直交変換を行うことで、高解像度化した画像を生成する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−５９１３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
前記した特許文献１に記載された従来の手法は、空間高周波スペクトルを推定するために、入力画像を生成した原画像をオクターブ分解した帯域別のスペクトルパワー代表値を既知の情報として用い、空間高周波スペクトルを推定する。
しかし、このような原画像に対する情報は、必ずしも得られるわけではない。そのため、この手法では、元となる原画像がない画像からは、高解像度の画像を生成することができないという問題がある。
【０００６】
また、従来の手法は、別の手法として、自己相似性を前提として、入力画像をオクターブ分解した帯域別のスペクトルパワー代表値を用いて、空間高周波スペクトルを推定する。
しかし、この場合、従来の手法は、スペクトルパワーの調整のみでしか、空間高周波スペクトルを推定することができない。このように、スペクトルパワー代表値を用いたスペクトルパワーの調整のみでは、細かい空間周波数単位でのスペクトルの調整には限界がある。そのため、従来の手法に対して、さらなる高画質化の要望があった。
【０００７】
本発明は、このような問題や要望に鑑みてなされたものであり、学習済みの畳み込みニューラルネットワークを用いて、元となる原画像がなくても高画質な高解像度画像を生成することが可能な画像超解像装置およびそのプログラム、ならびに、その畳み込みニューラルネットワークのパラメータを学習するパラメータ学習装置およびそのプログラムを提供することを課題とする。
【課題を解決するための手段】
【０００８】
前記課題を解決するため、本発明に係る画像超解像装置は、画像をウェーブレット分解した水平方向および垂直方向の両方が低域である低域成分から、水平方向および垂直方向のいずれか一方または両方が高域である高域成分を推定する予めパラメータが学習された畳み込みニューラルネットワークを用いて、入力画像の解像度を向上させる画像超解像装置であって、ブロック切り出し手段と、畳み込みニューラルネットワーク手段と、ウェーブレット再構成手段と、ブロック配置手段と、を備える構成とした。
【０００９】
かかる構成において、画像超解像装置は、ブロック切り出し手段によって、高解像度化の対象となる入力画像から予め定めたサイズのブロックを順次切り出す。
そして、画像超解像装置は、畳み込みニューラルネットワーク手段によって、切り出したブロックを低域成分として、畳み込みニューラルネットワークを用いて当該ブロックに対応する高域成分を推定する。
【００１０】
そして、画像超解像装置は、ウェーブレット再構成手段によって、畳み込みニューラルネットワーク手段で推定された高域成分をウェーブレット再構成し、ブロックを超解像した超解像ブロックを生成する。これによって、ブロックの水平方向および垂直方向に２倍の解像度の画像（超解像ブロック）が生成されることになる。
【００１１】
そして、画像超解像装置は、ブロック配置手段によって、ブロックを切り出した位置に超解像ブロックを再配置する。これによって、画像超解像装置は、超解像ブロックが画像全体に配置された高解像度画像（超解像画像）を生成する。
なお、画像超解像装置は、コンピュータを、前記した各手段として機能させるための画像超解像プログラムで動作させることができる。
【００１２】
また、前記課題を解決するため、本発明に係るパラメータ学習装置は、画像超解像装置で用いる畳み込みニューラルネットワークのパラメータを学習するパラメータ学習装置であって、ブロック切り出し手段と、ウェーブレット分解手段と、学習用畳み込みニューラルネットワーク手段と、誤差演算手段と、を備える構成とした。
【００１３】
かかる構成において、パラメータ学習装置は、ブロック切り出し手段によって、入力画像から、畳み込みニューラルネットワークの入力となる画像の水平方向および垂直方向に２倍の解像度のブロックを順次切り出す。
そして、パラメータ学習装置は、ウェーブレット分解手段によって、ブロックをウェーブレット分解した水平方向および垂直方向の両方が低域である低域成分と、水平方向および垂直方向のいずれか一方または両方が高域である高域成分とを生成する。
【００１４】
そして、パラメータ学習装置は、学習用畳み込みニューラルネットワーク手段によって、ウェーブレット分解手段で生成された低域成分を入力し、畳み込みニューラルネットワークにおいて順方向に伝播させることで高域成分を推定する。
さらに、パラメータ学習装置は、誤差演算手段によって、ウェーブレット分解手段で生成された高域成分と、学習用畳み込みニューラルネットワーク手段で推定された高域成分との誤差を演算する。
【００１５】
そして、パラメータ学習装置は、学習用畳み込みニューラルネットワーク手段によって、誤差演算手段で演算された誤差を誤差逆伝播法により、畳み込みニューラルネットワークにおいて逆方向に伝播させることで、畳み込みニューラルネットワークの結合重み係数を学習する。
これによって、パラメータ学習装置は、画像超解像装置が用いる畳み込みニューラルネットワークのパラメータである結合重み係数を学習する。
なお、パラメータ学習装置は、コンピュータを、前記した各手段として機能させるためのパラメータ学習プログラムで動作させることができる。
【発明の効果】
【００１６】
本発明は、以下に示す優れた効果を奏するものである。
本発明にかかる画像超解像装置によれば、畳み込みニューラルネットワークを用いて、入力画像に対して高域成分を合成することで、超解像画像を生成することができる。この高域成分は、種々の波形の高域成分を学習したものである。そのため、本発明は、従来のような高域成分のパワー調整のみではないため、高画質な超解像画像を生成することができる。
本発明にかかるパラメータ学習装置によれば、学習用の画像を用いて、画像超解像装置が用いる畳み込みニューラルネットワークのパラメータを学習することができる。そのため、本発明は、画像超解像装置が対象とする画像に応じて、学習用の画像を変えることができ、画像超解像装置が用いる畳み込みニューラルネットワークを最適化することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の概要を説明するための概要図であって、（ａ）は画像超解像装置の処理概要を示す図、（ｂ）はパラメータ学習装置の処理概要を示す図である。
【図２】本発明の実施形態に係る画像超解像装置の構成を示すブロック構成図である。
【図３】本発明の実施形態に係る画像超解像装置のカラー画像を対象としたウェーブレット再構成手段の構成を示すブロック構成図である。
【図４】本発明の実施形態に係る画像超解像装置の動作を示すフローチャートである。
【図５】本発明の実施形態に係る画像超解像装置の具体例（その１）を示すブロック構成図である。
【図６】本発明の実施形態に係る画像超解像装置の具体例（その２）を示すブロック構成図である。
【図７】本発明の実施形態に係るパラメータ学習装置の構成を示すブロック構成図である。
【図８】本発明の実施形態に係るパラメータ学習装置のカラー画像を対象としたウェーブレット分解手段の構成を示すブロック構成図である。
【図９】本発明の実施形態に係るパラメータ学習装置の動作を示すフローチャートである。
【発明を実施するための形態】
【００１８】
以下、本発明の実施形態について図面を参照して説明する。
＜発明の概要＞
まず、図１を参照して、本発明の概要について説明する。図１（ａ）は、畳み込みニューラルネットワーク（ＣＮＮ：Convolutional Neural Network）を用いた本発明の画像超解像装置１（図２）の処理概要を示す図である。図１（ｂ）は、本発明の画像超解像装置１（図２）で用いるＣＮＮのパラメータを学習するパラメータ学習装置（図７）の処理概要を示す図である。
【００１９】
画像超解像装置１（図２）は、画像Ｌ（低解像画像）を、水平方向および垂直方向に２倍した画像Ｈ（超解像画像）に高解像度化するものである。
図１（ａ）に示すように、画像超解像装置１は、画像ＬのブロックＢ（例えば、８×８画素）を順次切り出し、当該ブロックＢを、２次元ウェーブレット分解における水平、垂直ともに低域成分であるＬＬ画像（ＬＬ１）とする。また、画像超解像装置１は、ＬＬ画像（ＬＬ１）から、予めパラメータＰａを学習したＣＮＮによって、高域３成分として、ＬＬ画像（ＬＬ１）に対応する水平が高域成分、垂直が低域成分であるＨＬ画像（ＨＬ１＾）と、水平が低域成分、垂直が高域成分であるＬＨ画像（ＬＨ１＾）と、水平、垂直ともに高域成分であるＨＨ画像（ＨＨ１＾）とを推定する。
【００２０】
そして、画像超解像装置１は、ＬＬ画像（ＬＬ１）と、ＨＬ画像（ＨＬ１＾）と、ＬＨ画像（ＬＨ１＾）と、ＨＨ画像（ＨＨ１＾）とをウェーブレット再構成することで、ブロックＢに対応した超解像ブロックＳ（ＬＬ０＾）を生成する。
このように、画像超解像装置１は、ブロックＢごとにＣＮＮを用いた高解像度化を行うことで、低解像度の画像Ｌから高解像度（超解像）の画像Ｈを生成する。
【００２１】
パラメータ学習装置２（図７）は、画像超解像装置１が用いるＣＮＮのパラメータＰａを学習するものである。
図１（ｂ）に示すように、パラメータ学習装置２は、学習用画像ＤのブロックＥ（例えば、１６×１６画素）を順次切り出す。そして、パラメータ学習装置２は、２次元ウェーブレット分解により、ブロックＥ（ＬＬ０′）を、ＬＬ画像（ＬＬ１′）と、ＨＬ画像（ＨＬ１′）と、ＬＨ画像（ＬＨ１′）と、ＨＨ画像（ＨＨ１′）とに分解する。
そして、パラメータ学習装置２は、ＬＬ画像（ＬＬ１′）をＣＮＮに入力し、その出力であるＨＬ画像（ＨＬ１＾）、ＬＨ画像（ＬＨ１＾）およびＨＨ画像（ＨＨ１＾）と、正解データであるウェーブレット分解後のＨＬ画像（ＨＬ１′）、ＬＨ画像（ＬＨ１′）およびＨＨ画像（ＨＨ１′）との誤差をなくすように誤差逆伝播法により、ＣＮＮのパラメータＰａを学習する。
【００２２】
なお、パラメータ学習装置２は、学習用画像Ｄとして、画像超解像装置１が高解像度化する対象となる画像の特徴（絵柄等）を含んだ画像を用いることで、画像超解像装置１が用いるＣＮＮを最適化することができる。例えば、パラメータ学習装置２は、学習用画像Ｄとして、高解像度化の対象となる低解像の画像Ｌを用いてパラメータ学習を行ってもよい。
また、パラメータ学習装置２は、学習用画像Ｄとして、汎用的な画像を用いれば、汎用的な画像を高解像度化するための画像超解像装置１が用いるＣＮＮを学習することができる。
なお、学習用画像Ｄは、１枚である必要なく、複数枚の画像を用いてもよい。
以下、画像超解像装置１およびパラメータ学習装置２の構成および動作について詳細に説明する。
【００２３】
＜画像超解像装置の構成＞
図２を参照して、画像超解像装置１の構成について説明する。なお、ここでは、画像超解像装置１に入力する画像Ｌの解像度を水平Ａｘ画素、垂直Ａｙ画素とする。また、画像超解像装置１が出力する画像Ｈの解像度を、画像Ｌを水平方向および垂直方向にそれぞれ２倍した水平２Ａｘ画素、垂直２Ａｙ画素とする。
図２に示すように、画像超解像装置１は、ブロック切り出し手段１０と、ブロック走査手段１１と、畳み込みニューラルネットワーク手段１２と、ウェーブレット再構成手段１３と、ブロック配置手段１４と、を備える。
【００２４】
ブロック切り出し手段１０は、入力画像（画像Ｌ）の部分画像であるブロックを切り出すものである。以下、画像Ｌの画像座標（ｘ，ｙ）における第ｃの色成分の画素値をＬ（ｘ，ｙ，ｃ）と記す。ここで、画像Ｌをモノクロ画像とした場合、ｃ＝０、画像ＬをＣ原色のカラー画像とした場合、ｃは０以上Ｃ未満（Ｃは２以上の整数、例えば、ＲＧＢ画像の場合Ｃ＝３）である。
ブロック切り出し手段１０は、水平Ｐ画素および垂直Ｑ画素（Ｐ×Ｑ画素）の矩形領域のブロックを画像Ｌから切り出す。ここで、ＰおよびＱはともに自然数とし、かつ、Ｐ×Ｑは２以上とする。例えば、Ｐ＝８およびＱ＝８である。
【００２５】
ここで、ブロック切り出し手段１０は、後記するブロック走査手段１１が指定する切り出し座標（ｐ，ｑ）を基準に切り出しを行う。例えば、ブロック走査手段１１から、切り出し座標（ｐ，ｑ）を指定された場合、ブロック切り出し手段１０は、画像座標（ｐ，ｑ）と画像座標（ｐ＋Ｐ−１，ｑ＋Ｑ−１）とを対角の２点とする矩形内（境界を含む）の画像Ｌの画素値列を部分画像（ブロック）として切り出す。
ブロック切り出し手段１０は、切り出したブロックを畳み込みニューラルネットワーク手段１２と、ウェーブレット再構成手段１３とに出力する。
【００２６】
なお、ブロック切り出し手段１０は、ブロックの切り出しとともに、色成分ｃごとの画素値の正規化（係数αｃ，オフセットβｃ）を施しても構わない。
具体的には、ブロック切り出し手段１０は、以下の式（１）により正規化を行いブロックＢの画素値（ｘ，ｙ，ｃ）とする。
【００２７】
【数１】
2019204167.tif 000003
【００２８】
例えば、画像Ｌが、輝度・色差表現によるカラー画像（Ｃ＝３）であって、ｃ＝０（輝度）については、画素値が１６〜２３５の範囲、ｃ＝１およびｃ＝２（色差）については、画素値が１６〜２４０の範囲である場合、α０＝１／２１９、β０＝−１６／２１９、α１＝α２＝１／２２４、β１＝β２＝−１６／２２４とする。
【００２９】
ブロック走査手段１１は、ブロック切り出し手段１０がブロックを切り出す基準となる切り出し座標（ｐ，ｑ）を逐次生成するものである。ブロック走査手段１１は、例えば、時点ｕ（ｕは０以上の整数）において、以下の式（２）により、水平方向Ｐ画素および垂直方向Ｑ画素の間隔で、ラスタ走査の順序に座標（ｐ，ｑ）を生成する。
【００３０】
【数２】
2019204167.tif 000004
【００３１】
また、二項演算子％は、ａ％ｂが非負の整数ａを正の整数ｂで除したときの剰余を求めるものとして定義する。また、Ｂｘは、水平方向のブロックの切り出し数である。
あるいは、ブロック走査手段１１は、例えば、時点ｕ（ｕは０以上の整数）において、以下の式（３）により、時間の前後で切り出し画像が重なり合うように、水平方向Ｐ／２画素および垂直方向Ｑ／２画素の間隔で、ラスタ走査の順序に座標（ｐ，ｑ）を生成することとしてもよい。
【００３２】
【数３】
2019204167.tif 000005
【００３３】
ブロック走査手段１１は、生成した切り出し座標（ｐ，ｑ）を、ブロック切り出し手段１０と、ブロック配置手段１４とに出力する。
【００３４】
畳み込みニューラルネットワーク手段１２は、ブロック切り出し手段１０で切り出したブロックを入力して予め学習した畳み込みニューラルネットワークによる処理を実行するものである。畳み込みニューラルネットワーク手段１２は、入力したブロックと同じ標本数のブロックを３チャンネル分生成する。すなわち、畳み込みニューラルネットワーク手段１２は、ブロックの標本数の３倍の標本数のデータを出力する。
例えば、畳み込みニューラルネットワーク手段１２は、ブロック切り出し手段１０から、Ｐ×Ｑ画素の矩形のブロックが入力された場合、Ｐ×Ｑ画素の画像を３チャンネル分出力する。
畳み込みニューラルネットワーク手段１２は、例えば、１個以上の畳込手段１２０と、１個以上の活性化関数適用手段１２１とを交互に縦続接続した構成とすることができる。
図２に示すように、畳み込みニューラルネットワーク手段１２は、Ｌ個の畳込手段１２０（１２０１，１２０２，…，１２０Ｌ）と、Ｌ個の活性化関数適用手段１２１（１２１１，１２１２，…，１２１Ｌ）と、を備える。
【００３５】
畳込手段１２０は、予め定めたサイズの学習済みの結合重み係数（パラメータ）を有するカーネルを用いて畳み込み演算を行うものである。
畳込手段１２０ｉ（ｉは１以上Ｌ以下の整数）は、カーネルサイズＭｉ×Ｎｉ×Ｋｉ−１の３階テンソルの畳み込み演算器（カーネル：不図示）をＫｉ種類（Ｔｉ（０）（ｒ，ｓ，ｔ）〜Ｔｉ（Ｋｉ−１）（ｒ，ｓ，ｔ））備え、サイズＰ×Ｑ×Ｋｉ−１の３階テンソルＩｉ−１（ｒ，ｓ，ｔ）の入力に対して、畳み込み演算を行い、サイズＰ×Ｑ×Ｋｉの３階テンソルＪｉ（ｒ，ｓ，ｔ）として出力する。
具体的には、畳込手段１２０ｉは、以下の式（４）により、Ｊｉ（ｒ，ｓ，ｔ）を算出する。
【００３６】
【数４】
2019204167.tif 000006
【００３７】
なお、テンソルＴｉ（ｋ）（ρ，σ，τ）（ｋは０以上Ｋｉ未満の整数）は、ｒｉ（０）以上ｒｉ（１）以下の整数ρ、ｓｉ（０）以上ｓｉ（１）以下の整数σ、０以上Ｋｉ−１未満の整数τに対して、定義されているものとする。
【００３８】
また、畳込手段１２０ｉは、式（４）において、Ｉｉ−１（ｒ−ρ，ｓ−σ，τ）を参照するにあたって、ｒ−ρ＜０、ｒ−ρ≧Ｐ、ｓ−σ＜０またはｓ−σ≧Ｑの場合（テンソルの定義域外を参照した場合）には、その値として、例えば、Ｉｉ−１（ｒ−ρ，ｓ−σ，τ）＝０（ゼロパディング）として定義した値を用いる。あるいは、畳込手段１２０ｉは、定義域内の最近傍の要素の値（０次外挿値）を用いてもよい。
なお、ｒｉ（０）、ｒｉ（１）、ｓｉ（０）およびｓｉ（１）は、例えば、以下の式（５）、あるいは、式（６）により定義した値を用いる。
【００３９】
【数５】
2019204167.tif 000007
【数６】
2019204167.tif 000008
【００４０】
例えば、Ｍｉ＝５、Ｎｉ＝５の場合、式（５）および式（６）のいずれによっても、ｒｉ（０）＝−２、ｒｉ（１）＝＋２、ｓｉ（０）＝−２、ｓｉ（１）＝＋２となる。
また、例えば、Ｍｉ＝４、Ｎｉ＝４の場合、式（５）によれば、ｒｉ（０）＝−１、ｒｉ（１）＝＋２、ｓｉ（０）＝−１、ｓｉ（１）＝＋２となり、式（６）によれば、ｒｉ（０）＝−２、ｒｉ（１）＝＋１、ｓｉ（０）＝−２、ｓｉ（１）＝＋１となる。
【００４１】
なお、初段の畳込手段１２０１への入力は、サイズＰ×Ｑ×Ｋ０の３階テンソルＩ０（ｒ，ｓ，ｔ）であるが、Ｋ０は入力画像Ｌがモノクロ画像の場合にはＫ０＝１、Ｃチャンネルのカラー画像の場合にはＫ０＝Ｃと定義する（Ｃは原色の数、例えば、ＲＧＢ画像等の典型的なカラー画像においてはＣ＝３）。
また、畳込手段１２０１への入力であるＩ０（ｒ，ｓ，ｔ）には、以下の式（７）に示すように、ブロック切り出し手段１０から入力されるブロックＢ（ｒ，ｓ，ｔ）を設定する。
【００４２】
【数７】
2019204167.tif 000009
【００４３】
一方、最終段の畳込手段１２０Ｌにおける畳み込み演算器（不図示）の種類数ＫＬは、入力画像Ｌがモノクロ画像の場合にはＫＬ＝３、Ｃチャンネル（Ｃは原色の数、典型的にはＣ＝３）のカラー画像の場合にはＫＬ＝３Ｃと定義する
【００４４】
活性化関数適用手段１２１は、畳込手段１２０の出力に対して、活性化関数を用いた演算を行うものである。
活性化関数適用手段１２１ｉ（ｉは１以上Ｌ以下の整数）は、以下の式（８）に示すように、畳込手段１２０ｉから入力されるサイズＰ×Ｑ×Ｋｉの３階テンソルＪｉ（ｒ，ｓ，ｔ）の各成分に対して、活性化関数φを適用し、その適用結果を、サイズＰ×Ｑ×Ｋｉの３階テンソルＩｉ（ｒ，ｓ，ｔ）として出力する。
【００４５】
【数８】
2019204167.tif 000010
【００４６】
テンソルＪの各成分に対して適用する活性化関数φｉ，ｔは、ｉまたはｔのいずれか、あるいは、その両方に関してすべて同一でなくても構わないし、ｉおよびｔのすべての組み合わせについて同一であっても構わない。典型的な例としては、ｉおよびｔのすべての組み合わせについて同一とするか、同一とは限らない活性化関数をｉごとに設定する。
例えば、ｉ＝１，２，…，Ｌ−１については、ＲｅＬＵ（Rectified Linear Unit：正規化線形関数）を用い（式（９）参照）、ｉ＝Ｌについては活性化関数を用いない（式（１３）参照）等である。以下に、活性化関数適用手段１２１で適用する活性化関数の具体例である関数φを示す。
例えば、関数φは、以下の式（９）に示すＲｅＬＵを用いることができる。
【００４７】
【数９】
2019204167.tif 000011
【００４８】
また、関数φは、以下の式（１０）に示すシグモイド（sigmoid）関数を用いることができる。
【００４９】
【数１０】
2019204167.tif 000012
【００５０】
また、関数φは、以下の式（１１）に示す双曲線正接関数を用いることができる。
【００５１】
【数１１】
2019204167.tif 000013
【００５２】
また、関数φは、以下の式（１２）に示すソフトサイン（softsign）関数を用いることができる。
【００５３】
【数１２】
2019204167.tif 000014
【００５４】
また、関数φは、以下の式（１３）に示す恒等写像（活性化関数を適用しない）を用いても構わない。
【００５５】
【数１３】
2019204167.tif 000015
【００５６】
この式（１３）に示すように、テンソルＪの全成分について活性化関数を適用しない場合、活性化関数適用手段１２１ｉそのものを構成から省略しても構わない。
なお、最終段の畳込手段１２０Ｌ以外の畳込手段１２０に接続される活性化関数適用手段１２１には、ニューラルネットワークの滑らかな表現を学習するため、非線形な活性化関数（式（１３）以外）を用いることする。
最終段の畳込手段１２０Ｌの後段に接続される活性化関数適用手段１２１Ｌには、すべての出力を活性化させるため、正、負および零の値をとり得る活性化関数（例えば、式（１１）の双曲線正接関数、式（１２）のソフトサイン関数）を用いるか、活性化関数を適用しない関数（式（１３））を用いるか、あるいは、活性化関数適用手段１２１Ｌそのものを省略するものとする。
畳み込みニューラルネットワーク手段１２は、畳み込みニューラルネットワークによる処理を実行した最終段の演算結果ＪＬを、ウェーブレット再構成手段１３に出力する。
【００５７】
図３に、本発明の実施形態に係る画像超解像装置１のカラー画像を対象としたウェーブレット再構成手段１３の構成を示す。
ウェーブレット再構成手段１３は、色成分ごとにウェーブレット再構成を行う第１ウェーブレット再構成手段１３１と、第２ウェーブレット再構成手段１３２と、第３ウェーブレット再構成手段１３３と、を有し、ブロック切り出し手段１０で切り出されるブロックＢと、畳み込みニューラルネットワーク手段１２で演算されたブロックＢの３倍の標本数のデータＪＬとに基づいて、ウェーブレット再構成を行い、超解像ブロックＳを生成するものである。なお、以下では、超解像ブロックＳの座標（ｘ，ｙ）における色成分ｃの画素値をＳ（ｘ，ｙ，ｃ）と表す。ただし、入力画像Ｌがモノクロ画像の場合には、色成分ｃは、ｃ＝０のみとする。この場合、ウェーブレット再構成手段１３は図２に示すように１つの構成とすればよい。
【００５８】
ウェーブレット再構成手段１３がウェーブレット再構成に用いる基底関数は任意であるが、例えば、ハール（Haar）基底を用いることができる。
例えば、入力画像Ｌがモノクロ画像で、基底関数がハール基底の場合、ウェーブレット再構成手段１３は、ブロック切り出し手段１０の出力であるブロックＢ（ｒ，ｓ，０）と、畳み込みニューラルネットワーク手段１２の出力であるＪＬ（ｒ，ｓ，０）、ＪＬ（ｒ，ｓ，１）およびＪＬ（ｒ，ｓ，２）とに基づいて、以下の式（１４）により、超解像ブロックＳを生成する。
【００５９】
【数１４】
2019204167.tif 000016
【００６０】
また、例えば、入力画像Ｌがカラー画像で、基底関数がハール基底の場合、ウェーブレット再構成手段１３は、以下の式（１５）により、超解像ブロックＳを生成する。
【００６１】
【数１５】
2019204167.tif 000017
【００６２】
ウェーブレット再構成手段１３は、生成した超解像ブロックＳを、ブロック配置手段１４に出力する。
【００６３】
ブロック配置手段１４は、ブロック走査手段１１で生成されるブロックＢの切り出し座標（ｐ，ｑ）に基づいて、当該ブロックＢに対応してウェーブレット再構成手段１３で生成される超解像ブロックＳを配置して、超解像画像を生成するものである。
【００６４】
なお、ブロック走査手段１１が生成する座標を、ブロックが重なり合わない切り出し座標（ｐ，ｑ）とする場合、ブロック配置手段１４は、切り出し座標（ｐ，ｑ）に応じて、超解像ブロックＳを配置することで、超解像画像を生成する。
また、ブロック走査手段１１が生成する座標を、ブロックが重なる切り出し座標（ｐ，ｑ）とする場合、ブロック配置手段１４は、切り出し座標（ｐ，ｑ）に応じて、超解像ブロックＳをブレンディングにより合成することで、超解像画像を生成する
具体的には、ブロック配置手段１４は、ブロックが重なり合わない切り出し座標の場合（前記式（２）参照）、以下の式（１６）により、ブロック走査手段１１の走査に応じた座標（ｐ，ｑ）に対応して、超解像ブロックＳを超解像画像Ｈに配置する。
【００６５】
【数１６】
2019204167.tif 000018
【００６６】
なお、入力画像Ｌがモノクロ画像の場合、Ｃ＝１とし、出力画像Ｈの第３引数のｃはｃ＝０のみとする。
また、ブロック配置手段１４は、ブロックが重なり合う切り出し座標の場合（前記式（３）参照）、以下の式（１７）により、所定の重みＷｐ，ｑ（ρ，σ，ｃ）を付加して、オーバーラップ部分のブレンディングを行い、超解像画像Ｈを合成する。
【００６７】
【数１７】
2019204167.tif 000019
【００６８】
ブロック配置手段１４は、式（１７）に示すように、１時点前までに足し込まれた結果であるＨｏｌｄに、現時点で得られた超解像ブロックＳに空間的な重みＷｐ，ｑを付加したものを足し込む。ここで、１時点前とは、ブロック走査手段１１が前記式（３）の演算で用いる時点ｕを、ｕ−１とした時点である。なお、走査開始前の出力画像Ｈには、初期値として、すべて“０”を設定する。
重みＷｐ，ｑには、以下の式（１８）、式（１９）に示すように、水平方向の因子Ｗｐ，ｑ（Ｈｏｒ）と垂直方向の因子Ｗｐ，ｑ（Ｖｅｒ）の積を用いることができる。
【００６９】
【数１８】
2019204167.tif 000020
【数１９】
2019204167.tif 000021
【００７０】
前記式（１８）の重みを用いることで、ブロック配置手段１４は、ブロックの中心部分が最大の重み付けとなり、ブロックの重なり合う部分が水平方向および垂直方向のそれぞれについて線形に減衰する重み付けとなるように、ブロックをブレンディングする。これによって、ブロック配置手段１４は、ブロック間の境界を目立たなくすることができる。
ブロック配置手段１４は、ブロック走査手段１１が入力画像Ｌの走査を終えた時点で、入力画像Ｌの４倍（水平２倍、垂直２倍）の解像度を有する出力画像（超解像画像）Ｈを生成することができる。
【００７１】
以上説明したように画像超解像装置１を構成することで、画像超解像装置１は、予め学習したパラメータを用いた畳み込みニューラルネットワークにより、高解像度の画像（超解像画像）を生成することができる。
このとき、入力画像Ｌが原画像を縮小して生成したものであっても、画像超解像装置１は、原画像を参照することなく、入力画像Ｌに対するウェーブレット再構成可能な空間高周波スペクトルを推定し、超解像画像Ｈを生成することができる。
なお、画像超解像装置１は、コンピュータを、前記した各手段として機能させるためのプログラム（画像超解像プログラム）により動作させることができる。
【００７２】
＜画像超解像装置の動作＞
図４を参照（構成については、適宜図２参照）して、画像超解像装置１の動作について説明する。なお、畳み込みニューラルネットワーク手段１２の畳込手段１２０の結合重み係数は、予めパラメータ学習装置２（図７）によって学習されたパラメータが設定されているものとする。
【００７３】
ステップＳ１において、ブロック走査手段１１は、入力画像Ｌにおいて、ラスタ走査の順序で、Ｐ×Ｑ画素のブロックの切り出し位置となる座標（ｐ，ｑ）を生成する。
なお、ブロックの切り出し位置は、ブロックが重ならない位置としてもよいし、ブロックが重複する位置としてもよく、予め定めたいずれか一方の切り出し位置とする。
【００７４】
ステップＳ２において、ブロック切り出し手段１０は、入力画像Ｌから、ステップＳ１で生成された座標（ｐ，ｑ）を切り出し位置として、入力画像ＬからＰ×Ｑ画素のブロックを切り出す。ブロック切り出し手段１０が切り出すブロックは、図１（ａ）に示したブロックＢのＬＬ画像（ＬＬ１）に相当する。
【００７５】
ステップＳ３において、畳み込みニューラルネットワーク手段１２は、ステップＳ２で切り出したブロックを入力し、畳込手段１２０および活性化関数適用手段１２１で構成された畳み込みニューラルネットワーク（ＣＮＮ）による演算を実行することで、ブロックの標本数の３倍の標本数のデータを出力する。
この畳み込みニューラルネットワーク手段１２が出力するデータは、図１（ａ）に示したＨＬ画像（ＨＬ１＾）、ＬＨ画像（ＬＨ１＾）およびＨＨ画像（ＨＨ１＾）に相当する。
【００７６】
ステップＳ４において、ウェーブレット再構成手段１３は、ステップＳ２で切り出したブロック（ＬＬ画像）と、ステップＳ３で生成したデータ（ＨＬ画像、ＬＨ画像およびＨＨ画像）とをウェーブレット再構成し、超解像ブロックを生成する。
【００７７】
ステップＳ５において、ブロック配置手段１４は、ステップＳ４で生成された超解像ブロックを、ステップＳ１で生成された座標（ｐ，ｑ）に対して、出力画像Ｈ上の座標（２ｐ，２ｑ）の位置に配置する。なお、ステップＳ１で、ブロックの切り出し位置をブロックが重ならない位置とした場合、ブロック配置手段１４は、出力画像Ｈ上の座標（２ｐ，２ｑ）の位置にそのまま超解像ブロックを配置する。一方、ステップＳ１で、ブロックの切り出し位置をブロックが重ならない位置とした場合、ブロック配置手段１４は、出力画像Ｈ上の座標（２ｐ，２ｑ）の位置において、すでに配置済みの超解像ブロックと重なる部分のブレンディングを行う。
【００７８】
ステップＳ６において、ブロック走査手段１１は、入力画像Ｌのすべてのブロックを走査したか否かを判定する。
ここで、入力画像Ｌのすべてのブロックを走査していない場合（ステップＳ６でＮｏ）、画像超解像装置１は、ステップＳ１に戻って、動作を継続する。
【００７９】
一方、入力画像Ｌのすべてのブロックを走査した場合（ステップＳ６でＹｅｓ）、ステップＳ７において、画像超解像装置１は、超解像ブロックを配置した出力画像（超解像画像）Ｈを出力する。
以上の動作により、画像超解像装置１は、畳み込みニューラルネットワークによって、高解像度の画像（超解像画像）を生成することができる。
【００８０】
（畳み込みニューラルネットワークの具体例）
ここで、画像超解像装置１が用いる畳み込みニューラルネットワークの一例について説明する。
図５は、画像超解像装置１の具体例を示すブロック構成図であって、畳み込みニューラルネットワークＮ１として、５層ＣＮＮの例を示している。図５で、Ｃｏｎｖ．（５，５，１６）は、畳込手段１２０を示し、５×５のカーネルを１６種類備えていることを示している。また、ＲｅＬＵは、正規化線形関数を用いた活性化関数適用手段１２１を示している。
最終段の畳込手段であるＣｏｎｖ．（５，５，３）は、５×５のカーネルを３種類備えていることを示している。また、ここでは、最終段に、活性化関数適用手段１２１を用いない例を示している。なお、Ｃｏｎｖ．が使用するカーネルの結合重み係数は、パラメータ学習装置２（図７）からパラメータＰａとして与えられる。
【００８１】
最終段のＣｏｎｖ．（５，５，３）のカーネルを３種類とすることで、畳み込みニューラルネットワークＮ１は、ＨＬ画像（ＨＬ１＾）、ＬＨ画像（ＬＨ１＾）およびＨＨ画像（ＨＨ１＾）の３種類の画像を出力する。
これによって、画像超解像装置１は、ブロックＢをＬＬ画像（ＬＬ１）とし、畳み込みニューラルネットワークＮ１の出力であるＨＬ画像（ＨＬ１＾）、ＬＨ画像（ＬＨ１＾）およびＨＨ画像（ＨＨ１＾）とを、ウェーブレット再構成することで、超解像ブロックＳ（ＬＬ０＾）を生成することができる。
【００８２】
図６は、画像超解像装置１の他の具体例を示すブロック構成図であって、畳み込みニューラルネットワークＮ２として、８層ＣＮＮの例を示している。
なお、ここでは、図５の畳み込みニューラルネットワークＮ１と層数が異なる以外に、各層間に適宜加算器Ａを備え、直前の層の出力に、その層よりも前の層の出力を加算する構成としている。
このように、畳み込みニューラルネットワークＮ２は、ＲｅｓＮｅｔ（Residual Network）の構成としてもよい。これによって、少ない層数でも層の深度を深めることで、より推定精度の高い畳み込みニューラルネットワークを構成することができる。
【００８３】
＜パラメータ学習装置の構成＞
次に、図７を参照して、パラメータ学習装置２の構成について説明する。なお、ここでは、パラメータ学習装置２に入力される画像Ｄの解像度を水平Ｄｘ画素、垂直Ｄｙ画素とする。
図７に示すように、パラメータ学習装置２は、ブロック切り出し手段２０と、ブロック走査手段２１と、ウェーブレット分解手段２２と、学習用畳み込みニューラルネットワーク手段２３と、誤差演算手段２４と、パラメータ出力手段２５と、を備える。
【００８４】
ブロック切り出し手段２０は、入力画像（画像Ｄ）の部分画像であるブロックを切り出すものである。以下、画像Ｄの画像座標（ｘ，ｙ）における第ｃの色成分の画素値をＤ（ｘ，ｙ，ｃ）と記す。ここで、画像Ｄをモノクロ画像とした場合、ｃ＝０、画像ＤをＣ原色のカラー画像とした場合、ｃは０以上Ｃ未満（Ｃは２以上の整数、例えば、ＲＧＢ画像の場合Ｃ＝３）である。
【００８５】
ブロック切り出し手段２０は、水平２Ｐ画素および垂直２Ｑ画素（２Ｐ×２Ｑ画素）の矩形領域のブロックを画像Ｄから切り出す。ここで、ＰおよびＱはともに自然数とし、かつ、Ｐ×Ｑは２以上とする。なお、ＰおよびＱは、画像超解像装置１のブロック切り出し手段１０（図２）が切り出すブロックの水平画素数（Ｐ）および垂直画素数（Ｑ）と同じとする。例えば、Ｐ＝８およびＱ＝８である。
【００８６】
ここで、ブロック切り出し手段２０は、後記するブロック走査手段２１が指定する切り出し座標（ｐ，ｑ）を基準に切り出しを行う。例えば、ブロック走査手段２１から、切り出し座標（ｐ，ｑ）を指定された場合、ブロック切り出し手段２０は、画像座標（ｐ，ｑ）と画像座標（ｐ＋２Ｐ−１，ｑ＋２Ｑ−１）とを対角の２点とする矩形内（境界を含む）の画像Ｄの画素値列を部分画像（ブロック）として切り出す。
ブロック切り出し手段２０は、切り出したブロックをウェーブレット分解手段２２に出力する。
【００８７】
なお、ブロック切り出し手段２０は、ブロックの切り出しとともに、色成分ｃごとの画素値の正規化（係数αｃ，オフセットβｃ）を施しても構わない。
具体的には、ブロック切り出し手段２０は、以下の式（２０）により正規化を行いブロックＥの画素値（ｘ，ｙ，ｃ）とする。
【００８８】
【数２０】
2019204167.tif 000022
【００８９】
例えば、画像Ｄが、輝度・色差表現によるカラー画像（Ｃ＝３）であって、ｃ＝０（輝度）については、画素値が１６〜２３５の範囲、ｃ＝１およびｃ＝２（色差）については、画素値が１６〜２４０の範囲である場合、α０＝１／２１９、β０＝−１６／２１９、α１＝α２＝１／２２４、β１＝β２＝−１６／２２４とする。
【００９０】
ブロック走査手段２１は、ブロック切り出し手段１０がブロックを切り出す基準となる切り出し座標（ｐ，ｑ）を逐次生成するものである。
ブロック走査手段２１は、画像Ｄ内を所定の画素間隔でラスタスキャンするように走査しても構わないし、乱数により座標（ｐ，ｑ）を生成することとしても構わない。
ブロック走査手段２１が乱数により座標（ｐ，ｑ）を生成する場合、例えば、ｐは０以上（Ｄｘ−２Ｐ）以下の一様乱数、また、ｑは０以上（Ｄｙ−２Ｑ）以下の一様乱数とする。なお、この一様乱数は、それを近似する疑似乱数としても構わない。
ブロック走査手段２１は、生成した切り出し座標（ｐ，ｑ）を、ブロック切り出し手段２０に出力する。
【００９１】
図８に、本発明の実施形態に係るパラメータ学習装置２のカラー画像を対象としたウェーブレット分解手段２２の構成を示す。
ウェーブレット分解手段２２は、色成分ごとにウェーブレット分解を行う第１ウェーブレット分解手段２２１と、第２ウェーブレット分解手段２２２と、第３ウェーブレット分解手段２２３と、を有し、ブロック切り出し手段２０で切り出したブロックを入力して、ウェーブレット分解を行うものである。なお、入力画像Ｄがモノクロ画像の場合には、ウェーブレット分解手段２２は図７に示すように１つの構成とすればよい。
【００９２】
ウェーブレット分解手段２２は、入力したブロックに対して、２次元ウェーブレット分解を適用することで、水平、垂直ともに低域成分であるＬＬ画像、水平が高域成分、垂直が低域成分であるＨＬ画像、水平が低域成分、垂直が高域成分であるＬＨ画像、および、水平、垂直ともに高域成分であるＨＨ画像を生成する。ＬＬ画像、ＨＬ画像、ＬＨ画像およびＨＨ画像は、いずれもＰ×Ｑ画素の解像度を有する。
【００９３】
２次元ウェーブレット分解に用いる基底関数は、画像超解像装置１のウェーブレット再構成手段１３（図２）が用いた基底関数と同じ（例えば、ハール基底）であることが好ましい。
例えば、基底関数としてハール基底を用いる場合、ウェーブレット分解手段２２は、以下の式（２１）により、ブロック切り出し手段２０で切り出したブロックＥから、ＬＬ画像（ＬＬ（ｒ，ｓ，ｔ））、ＨＬ画像（ＨＬ（ｒ，ｓ，ｔ））、ＬＨ画像（ＬＨ（ｒ，ｓ，ｔ））およびＨＨ画像（ＨＨ（ｒ，ｓ，ｔ））を生成する。
【００９４】
【数２１】
2019204167.tif 000023
【００９５】
ただし、入力画像Ｄがモノクロ画像の場合には、Ｃ＝１とする。
ウェーブレット分解手段２２は、生成したＬＬ画像を、学習用畳み込みニューラルネットワーク手段２３に出力し、ＨＬ画像、ＬＨ画像およびＨＨ画像を、誤差演算手段２４に出力する。
【００９６】
学習用畳み込みニューラルネットワーク手段２３は、ウェーブレット分解手段２２で生成されたＬＬ画像を入力し、出力がウェーブレット分解手段２２で生成されたＨＬ画像、ＬＨ画像およびＨＨ画像となるように、畳み込みニューラルネットワークのパラメータ（カーネルの結合重み係数）を学習するものである。
図７に示すように、学習用畳み込みニューラルネットワーク手段２３は、Ｌ個の畳込手段２３０（２３０１，２３０２，…，２３０Ｌ）と、Ｌ個の活性化関数適用手段２３１（２３１１，２３１２，…，２３１Ｌ）と、を備える。畳込手段２３０および活性化関数適用手段２３１は、画像超解像装置１の畳み込みニューラルネットワーク手段１２（図２）の畳込手段１２０および活性化関数適用手段１２１と同じ接続構成とする。
【００９７】
畳込手段２３０は、逐次学習される結合重み係数（パラメータ）を用いて畳み込み演算を行うものである。さらに、畳込手段２３０は、畳み込みニューラルネットワークの後段から入力される誤差に基づいて誤差逆伝播法により結合重み係数を更新し、誤差を前段に伝播するものでもある。
畳込手段２３０ｉ（ｉは１以上Ｌ以下の整数）は、サイズＰ×Ｑ×Ｋｉ−１の３階テンソルＩｉ−１（ｒ，ｓ，ｔ）の入力に対して、畳み込み演算を行い、サイズＰ×Ｑ×Ｋｉの３階テンソルＪｉ（ｒ，ｓ，ｔ）として出力する（前記式（４）参照）。
なお、畳込手段２３０ｉが用いるカーネルのサイズおよび種類は、畳込手段１２０ｉ（図２）と同じとする。
【００９８】
ここで。初段の畳込手段２３０１への入力は、サイズＰ×Ｑ×Ｋ０の３階テンソルＩ０（ｒ，ｓ，ｔ）であるが、Ｋ０は入力画像Ｄがモノクロ画像の場合にはＫ０＝１、Ｃチャンネルのカラー画像の場合にはＫ０＝Ｃと定義する（Ｃは原色の数、例えば、ＲＧＢ画像等の典型的なカラー画像においてはＣ＝３）。
また、畳込手段２３０１への入力であるＩ０（ｒ，ｓ，ｔ）には、以下の式（２２）に示すように、ウェーブレット分解手段２２から入力されるＬＬ画像（ＬＬ（ｒ，ｓ，ｔ））を設定する。
【００９９】
【数２２】
2019204167.tif 000024
【０１００】
活性化関数適用手段２３１は、畳込手段２３０の出力に対して、活性化関数を用いた演算を行うものである。さらに、活性化関数適用手段２３１は、畳み込みニューラルネットワークの後段から入力される誤差を前段に伝播するものでもある。
活性化関数適用手段２３１ｉ（ｉは１以上Ｌ以下の整数）は、畳込手段２３０ｉから入力されるサイズＰ×Ｑ×Ｋｉの３階テンソルＪｉ（ｒ，ｓ，ｔ）の各成分に対して、活性化関数φを適用し、その適用結果を、サイズＰ×Ｑ×Ｋｉの３階テンソルＩｉ（ｒ，ｓ，ｔ）として出力する。なお、活性化関数適用手段２３１ｉが用いる活性化関数は、活性化関数適用手段１２１ｉと同じとする。
【０１０１】
学習用畳み込みニューラルネットワーク手段２３は、畳み込みニューラルネットワーク手段１２（図２）と同様に、畳込手段２３０１から活性化関数適用手段２３１Ｌへとテンソルを順伝播することで、サイズＰ×Ｑ×３Ｃの３階テンソルＪＬ（ｒ，ｓ，ｔ）を算出する。なお、畳込手段２３０１から畳込手段２３０Ｌまでのそれぞれの畳込手段２３０の結合重み係数（パラメータ）の初期値は、予め無作為的または作為的に設定しておく。例えば、結合重み係数の初期値は、一様乱数またはこれを近似する疑似乱数により生成し、設定することができる。
学習用畳み込みニューラルネットワーク手段２３は、算出した３階テンソルＪＬを誤差演算手段２４に出力する。
【０１０２】
また、学習用畳み込みニューラルネットワーク手段２３は、逐次、誤差演算手段２４から誤差を入力されるたびに、繰り返し、誤差逆伝播法により結合重み係数を更新する。この繰り返しの回数は、予め定めた回数（例えば、１００万回）であってもよいし、学習用畳み込みニューラルネットワーク手段２３が畳込手段２３０の結合重み係数の変化の度合いを監視し、その変化の度合いが予め定めた閾値を下回るまでであってもよい。あるいは、繰り返しの回数は、予め定めた回数を超え、かつ、結合重み係数の変化の度合いが閾値を下回るまでとしてもよい。
学習用畳み込みニューラルネットワーク手段２３は、誤差逆伝播法による結合重み係数の更新を完了（学習完了）した後、それぞれの畳込手段２３０の結合重み係数をパラメータ出力手段２５に出力する。
【０１０３】
誤差演算手段２４は、学習用畳み込みニューラルネットワーク手段２３で演算された３階テンソルＪＬと、ウェーブレット分解手段２２で生成されたＨＬ画像、ＬＨ画像およびＨＨ画像との誤差を演算するものである。
誤差演算手段２４は、以下の式（２３）に示すように、３階テンソルＪＬ（ｒ，ｓ，ｔ）と、ＨＬ画像（ＨＬ（ｒ，ｓ，ｔ））、ＬＨ画像（ＬＨ（ｒ，ｓ，ｔ））およびＨＨ画像（ＨＨ（ｒ，ｓ，ｔ））とから、サイズＰ×Ｑ×３Ｃの３階テンソル値である誤差テンソルΔを演算し、学習用畳み込みニューラルネットワーク手段２３に出力する。
【０１０４】
【数２３】
2019204167.tif 000025
【０１０５】
パラメータ出力手段２５は、学習用畳み込みニューラルネットワーク手段２３の学習完了後出力されるそれぞれの畳込手段２３０における結合重み係数を、出力パラメータとして出力するものである。
このパラメータ出力手段２５が出力するパラメータは、画像超解像装置１（図２）の畳み込みニューラルネットワーク手段１２を構成する畳込手段１２０（１２０１，１２０２，…，１２０Ｌ）に設定されることで、画像超解像装置１を最適な状態で動作させることができる。
【０１０６】
以上説明したようにパラメータ学習装置２を構成することで、パラメータ学習装置２は、画像超解像装置１で画像を高解像度化するための畳み込みニューラルネットワークのパラメータを学習することができる。
なお、パラメータ学習装置２は、コンピュータを、前記した各手段として機能させるためのプログラム（パラメータ学習プログラム）により動作させることができる。
【０１０７】
＜パラメータ学習装置の動作＞
図９を参照（構成については、適宜図７参照して、パラメータ学習装置２の動作について説明する。なお、畳み込みニューラルネットワーク手段１２の畳込手段１２０の結合重み係数は、予めパラメータ学習装置２（図７）によって学習されたパラメータが設定されているものとする。
【０１０８】
ステップＳ１０において、ブロック走査手段２１は、入力画像Ｄにおいて、ラスタ走査またはランダムに、２Ｐ×２Ｑ画素のブロックの切り出し位置となる座標（ｐ，ｑ）を生成する。
【０１０９】
ステップＳ１１において、ブロック切り出し手段２０は、入力画像Ｄから、ステップＳ１０で生成された座標（ｐ，ｑ）を切り出し位置として、入力画像Ｄから２Ｐ×２Ｑ画素のブロックを切り出す。ブロック切り出し手段２０が切り出すブロックは、図１（ｂ）に示したブロックＥのＬＬ画像（ＬＬ０′）に相当する。
【０１１０】
ステップＳ１２において、ウェーブレット分解手段２２は、ステップＳ１１で切り出したブロックに対して、２次元ウェーブレット分解を適用する。これによって、ウェーブレット分解手段２２は、ブロックから、水平、垂直ともに低域成分であるＬＬ画像、水平が高域成分、垂直が低域成分であるＨＬ画像、水平が低域成分、垂直が高域成分であるＬＨ画像、および、水平、垂直ともに高域成分であるＨＨ画像を生成する。ウェーブレット分解後の画像は、図１（ｂ）に示したＬＬ画像（ＬＬ１′）、ＨＬ画像（ＨＬ１′）、ＬＨ画像（ＬＨ１′）およびＨＨ画像（ＨＨ１′）に相当する。
【０１１１】
ステップＳ１３において、学習用畳み込みニューラルネットワーク手段２３は、ステップＳ１２で生成したＬＬ画像を入力し、畳込手段２３０および活性化関数適用手段２３１で構成された畳み込みニューラルネットワーク（ＣＮＮ）による演算を実行することで、ブロックの標本数の３倍の標本数のデータを出力する。この学習用畳み込みニューラルネットワーク手段２３の出力は、図１（ｂ）に示したＨＬ画像（ＨＬ１＾）、ＬＨ画像（ＬＨ１＾）、および、ＨＨ画像（ＨＨ１＾）に相当する。
【０１１２】
ステップＳ１４において、誤差演算手段２４は、ステップＳ１２でウェーブレット分解で生成したＨＬ画像（ＨＬ１′）、ＬＨ画像（ＬＨ１′）およびＨＨ画像（ＨＨ１′）と、ステップＳ１３でＣＮＮの演算で生成したＨＬ画像（ＨＬ１＾）、ＬＨ画像（ＬＨ１＾）およびＨＨ画像（ＨＨ１＾）との誤差を演算する。
【０１１３】
ステップＳ１５において、学習用畳み込みニューラルネットワーク手段２３は、ステップＳ１４で演算された誤差に基づいて、誤差逆伝播法により、畳み込みニューラルネットワーク（ＣＮＮ）の結合重み係数を更新する。
ステップＳ１６において、学習用畳み込みニューラルネットワーク手段２３は、予め定めた繰り返し回数等によって、学習が完了したか否かを判定する。
ここで、学習が完了していない場合（ステップＳ１６でＮｏ）、パラメータ学習装置２は、ステップＳ１０に戻って、動作を継続する。
【０１１４】
一方、学習が完了した場合（ステップＳ１６でＹｅｓ）、ステップＳ１７において、パラメータ出力手段２５は、学習用畳み込みニューラルネットワーク手段２３の畳込手段２３０における結合重み係数を、出力パラメータとして出力する
以上の動作により、パラメータ学習装置２は、画像超解像装置１が用いる畳み込みニューラルネットワークのパラメータを学習することができる。
【０１１５】
なお、パラメータ学習装置２におけるパラメータの学習は画像超解像装置１を製造する前に行い、学習後のパラメータを画像超解像装置１に反映すればよい。
また、画像超解像装置１の製造後、適宜の時期にパラメータ学習装置２におけるパラメータの学習を行い、画像超解像装置１のパラメータを再設定することとしてもよい。
また、例えば、パラメータ学習装置２が画像超解像装置１と同一の入力画像で学習を行う場合、画像超解像装置１の動作中の適宜の時期（例えば、入力画像の毎入力時）に、パラメータ学習装置２を動作させ、学習後のパラメータを画像超解像装置１に設定することとしてもよい。
【符号の説明】
【０１１６】
１      画像超解像装置
１０    ブロック切り出し手段
１１    ブロック走査手段
１２    畳み込みニューラルネットワーク手段
１２０  畳込手段
１２１  活性化関数適用手段
１３    ウェーブレット再構成手段
１４    ブロック配置手段
２      パラメータ学習装置
２０    ブロック切り出し手段
２１    ブロック走査手段
２２    ウェーブレット分解手段
２３    学習用畳み込みニューラルネットワーク手段
２３０  畳込手段
２３１  活性化関数適用手段
２４    誤差演算手段
２５    パラメータ出力手段
【図１】
2019204167.tif 000026
【図２】
2019204167.tif 000027
【図３】
2019204167.tif 000028
【図４】
2019204167.tif 000029
【図５】
2019204167.tif 000030
【図６】
2019204167.tif 000031
【図７】
2019204167.tif 000032
【図８】
2019204167.tif 000033
【図９】
2019204167.tif 000034