(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-08-10
(45)【発行日】2022-08-19
(54)【発明の名称】画像超解像装置およびそのプログラム、ならびに、パラメータ学習装置およびそのプログラム
(51)【国際特許分類】
G06T 3/40 20060101AFI20220812BHJP
【FI】
G06T3/40 730
G06T3/40 725
(21)【出願番号】P 2018097195
(22)【出願日】2018-05-21
【審査請求日】2021-04-09
(73)【特許権者】
【識別番号】000004352
【氏名又は名称】日本放送協会
(74)【代理人】
【識別番号】110001807
【氏名又は名称】弁理士法人磯野国際特許商標事務所
(72)【発明者】
【氏名】三須 俊枝
(72)【発明者】
【氏名】市ヶ谷 敦郎
【審査官】千葉 久博
(56)【参考文献】
【文献】特開2016-91060(JP,A)
【文献】米国特許出願公開第2003/0053717(US,A1)
【文献】河畑則文,“CNNの構造に基づいた多視点超解像画像の最適設計と符号化画質評価”,電子情報通信学会技術研究報告,日本,一般社団法人電子情報通信学会,2018年05月18日,第118巻, 第65号,p.15-20
【文献】Tingwei Wang, 外3名,"Aerial Image Super Resolution via Wavelet Multiscale Convolutional Neural Networks",IEEE Geoscience and Remote Sensing Letters,米国,2018年03月15日,第15巻, 第5号,p.769-773
【文献】Chao Dong, 外3名,"Image Super-Resolution Using Deep Convolutional Networks",IEEE Transactions on Pattern Analysis and Machine Intelligence,米国,2015年06月01日,第38巻, 第2号,p.295-307
(58)【調査した分野】(Int.Cl.,DB名)
G06T 3/40
(57)【特許請求の範囲】
【請求項1】
画像をウェーブレット分解した低域成分から当該画像の高域成分を推定する畳み込みニューラルネットワークを用いて、入力画像を高解像度化する画像超解像装置であって、
前記入力画像から予め定めたサイズのブロックを切り出すブロック切り出し手段と、
前記ブロックを前記低域成分として、前記畳み込みニューラルネットワークを用いて前記ブロックに対応する前記高域成分を推定する畳み込みニューラルネットワーク手段と、
前記ブロックと前記高域成分
とをウェーブレット再構成し、前記ブロックを超解像した超解像ブロックを生成するウェーブレット再構成手段と、
前記ブロックを切り出した位置に
応じて前記超解像ブロックを再配置し、前記入力画像に対する超解像画像を生成するブロック配置手段と、
を備えることを特徴とする画像超解像装置。
【請求項2】
前記畳み込みニューラルネットワークは、色に関して1以上のチャンネル分の画像から前記チャンネル分の高域成分を推定することを特徴とする請求項1に記載の画像超解像装置。
【請求項3】
前記ブロック切り出し手段は、前記チャンネル分の画像から前記チャンネル分のブロックを切り出して、前記畳み込みニューラルネットワーク手段への入力とし、
前記ウェーブレット再構成手段は、前記チャンネル分のブロックと、前記畳み込みニューラルネットワーク手段で推定される前記チャンネル分の高域成分とから、前記チャンネル分の超解像ブロックを生成し、
前記ブロック配置手段は、前記チャンネル分の超解像ブロックをチャンネル別に配置することで、チャンネルの数に対応した超解像画像を生成することを特徴とする請求項2に記載の画像超解像装置。
【請求項4】
前記ブロック切り出し手段は、前記入力画像において、領域が重複するように切り出し、
前記ブロック配置手段は、前記超解像ブロックの重複した領域を合成して前記超解像画像を生成することを特徴とする請求項1から請求項3のいずれか一項に記載の画像超解像装置。
【請求項5】
請求項1から請求項4のいずれか一項に記載の画像超解像装置で用いる畳み込みニューラルネットワークのパラメータを学習するパラメータ学習装置であって、
入力画像から、前記畳み込みニューラルネットワークの入力となる画像の水平方向および垂直方向に2倍の解像度のブロックを順次切り出すブロック切り出し手段と、
前記ブロックをウェーブレット分解した低域成分と、高域成分とを生成するウェーブレット分解手段と、
前記低域成分を入力し、前記畳み込みニューラルネットワークにおいて順方向に伝播させることで高域成分を推定する学習用畳み込みニューラルネットワーク手段と、
前記ウェーブレット分解手段で生成された高域成分と、前記学習用畳み込みニューラルネットワーク手段で推定された高域成分との誤差を演算する誤差演算手段と、を備え、
前記学習用畳み込みニューラルネットワーク手段は、前記誤差を誤差逆伝播法により、前記畳み込みニューラルネットワークにおいて逆方向に伝播させることで、前記畳み込みニューラルネットワークの結合重み係数を前記パラメータとして学習することを特徴とするパラメータ学習装置。
【請求項6】
前記畳み込みニューラルネットワークは、色に関して1以上のチャンネル分の画像から前記チャンネル分の高域成分を推定することを特徴とする請求項5に記載のパラメータ学習装置。
【請求項7】
前記ブロック切り出し手段は、前記チャンネル分の画像から前記チャンネル分のブロックを切り出し、
前記ウェーブレット分解手段は、前記チャンネル分のブロックから、前記チャンネル分の低域成分と高域成分とを生成することを特徴とする請求項6に記載のパラメータ学習装置。
【請求項8】
コンピュータを、請求項1から請求項4のいずれか一項に記載の画像超解像装置として機能させるための画像超解像プログラム。
【請求項9】
コンピュータを、請求項5から請求項7のいずれか一項に記載のパラメータ学習装置として機能させるためのパラメータ学習プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、畳み込みニューラルネットワークにより画像を高解像度化させる画像超解像装置およびそのプログラム、ならびに、画像超解像装置に用いる畳み込みニューラルネットワークのパラメータを学習するパラメータ学習装置およびそのプログラムに関する。
【背景技術】
【0002】
従来、画像の解像度を向上させる手法として、入力画像に対して、ウェーブレット変換等の直交変換を行った後、高解像度化した画像の空間高周波スペクトルを推定し、入力画像と逆直交変換を行うことで、入力画像を高解像度化する手法が開示されている(特許文献1参照)。
【0003】
この手法は、入力画像と高解像度化後の画像との間には自己相似性が存在すると仮定して、入力画像を直交変換した空間高周波スペクトルから、高解像度化後の帯域の空間高周波スペクトルを補間生成する。
そして、この手法は、入力画像が予め原画像を低解像度化した画像であって、原画像をオクターブ分解した帯域別のスペクトルパワー代表値を既知の情報として外部から入力する。あるいは、この手法は、自己相似性を前提として、入力画像をオクターブ分解した帯域別のスペクトルパワー代表値を、そのまま、水平・垂直方向に2倍した帯域のスペクトルパワー代表値とする。
そして、この手法は、入力画像のスペクトルと空間高周波スペクトルとを、外部から入力したスペクトルパワー代表値、あるいは、帯域別に入力画像から求めたスペクトルパワー代表値となるように補正する。
そして、この手法は、補正した入力画像のスペクトルと空間高周波スペクトルとに対して、逆直交変換を行うことで、高解像度化した画像を生成する。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
前記した特許文献1に記載された従来の手法は、空間高周波スペクトルを推定するために、入力画像を生成した原画像をオクターブ分解した帯域別のスペクトルパワー代表値を既知の情報として用い、空間高周波スペクトルを推定する。
しかし、このような原画像に対する情報は、必ずしも得られるわけではない。そのため、この手法では、元となる原画像がない画像からは、高解像度の画像を生成することができないという問題がある。
【0006】
また、従来の手法は、別の手法として、自己相似性を前提として、入力画像をオクターブ分解した帯域別のスペクトルパワー代表値を用いて、空間高周波スペクトルを推定する。
しかし、この場合、従来の手法は、スペクトルパワーの調整のみでしか、空間高周波スペクトルを推定することができない。このように、スペクトルパワー代表値を用いたスペクトルパワーの調整のみでは、細かい空間周波数単位でのスペクトルの調整には限界がある。そのため、従来の手法に対して、さらなる高画質化の要望があった。
【0007】
本発明は、このような問題や要望に鑑みてなされたものであり、学習済みの畳み込みニューラルネットワークを用いて、元となる原画像がなくても高画質な高解像度画像を生成することが可能な画像超解像装置およびそのプログラム、ならびに、その畳み込みニューラルネットワークのパラメータを学習するパラメータ学習装置およびそのプログラムを提供することを課題とする。
【課題を解決するための手段】
【0008】
前記課題を解決するため、本発明に係る画像超解像装置は、画像をウェーブレット分解した水平方向および垂直方向の両方が低域である低域成分から、水平方向および垂直方向のいずれか一方または両方が高域である高域成分を推定する予めパラメータが学習された畳み込みニューラルネットワークを用いて、入力画像の解像度を向上させる画像超解像装置であって、ブロック切り出し手段と、畳み込みニューラルネットワーク手段と、ウェーブレット再構成手段と、ブロック配置手段と、を備える構成とした。
【0009】
かかる構成において、画像超解像装置は、ブロック切り出し手段によって、高解像度化の対象となる入力画像から予め定めたサイズのブロックを順次切り出す。
そして、画像超解像装置は、畳み込みニューラルネットワーク手段によって、切り出したブロックを低域成分として、畳み込みニューラルネットワークを用いて当該ブロックに対応する高域成分を推定する。
【0010】
そして、画像超解像装置は、ウェーブレット再構成手段によって、低域成分であるブロックと畳み込みニューラルネットワーク手段で推定された高域成分とをウェーブレット再構成し、ブロックを超解像した超解像ブロックを生成する。これによって、ブロックの水平方向および垂直方向に2倍の解像度の画像(超解像ブロック)が生成されることになる。
【0011】
そして、画像超解像装置は、ブロック配置手段によって、ブロックを切り出した位置に応じて超解像ブロックを再配置する。これによって、画像超解像装置は、超解像ブロックが画像全体に配置された高解像度画像(超解像画像)を生成する。
なお、画像超解像装置は、コンピュータを、前記した各手段として機能させるための画像超解像プログラムで動作させることができる。
【0012】
また、前記課題を解決するため、本発明に係るパラメータ学習装置は、画像超解像装置で用いる畳み込みニューラルネットワークのパラメータを学習するパラメータ学習装置であって、ブロック切り出し手段と、ウェーブレット分解手段と、学習用畳み込みニューラルネットワーク手段と、誤差演算手段と、を備える構成とした。
【0013】
かかる構成において、パラメータ学習装置は、ブロック切り出し手段によって、入力画像から、畳み込みニューラルネットワークの入力となる画像の水平方向および垂直方向に2倍の解像度のブロックを順次切り出す。
そして、パラメータ学習装置は、ウェーブレット分解手段によって、ブロックをウェーブレット分解した水平方向および垂直方向の両方が低域である低域成分と、水平方向および垂直方向のいずれか一方または両方が高域である高域成分とを生成する。
【0014】
そして、パラメータ学習装置は、学習用畳み込みニューラルネットワーク手段によって、ウェーブレット分解手段で生成された低域成分を入力し、畳み込みニューラルネットワークにおいて順方向に伝播させることで高域成分を推定する。
さらに、パラメータ学習装置は、誤差演算手段によって、ウェーブレット分解手段で生成された高域成分と、学習用畳み込みニューラルネットワーク手段で推定された高域成分との誤差を演算する。
【0015】
そして、パラメータ学習装置は、学習用畳み込みニューラルネットワーク手段によって、誤差演算手段で演算された誤差を誤差逆伝播法により、畳み込みニューラルネットワークにおいて逆方向に伝播させることで、畳み込みニューラルネットワークの結合重み係数を学習する。
これによって、パラメータ学習装置は、画像超解像装置が用いる畳み込みニューラルネットワークのパラメータである結合重み係数を学習する。
なお、パラメータ学習装置は、コンピュータを、前記した各手段として機能させるためのパラメータ学習プログラムで動作させることができる。
【発明の効果】
【0016】
本発明は、以下に示す優れた効果を奏するものである。
本発明にかかる画像超解像装置によれば、畳み込みニューラルネットワークを用いて、入力画像に対して高域成分を合成することで、超解像画像を生成することができる。この高域成分は、種々の波形の高域成分を学習したものである。そのため、本発明は、従来のような高域成分のパワー調整のみではないため、高画質な超解像画像を生成することができる。
本発明にかかるパラメータ学習装置によれば、学習用の画像を用いて、画像超解像装置が用いる畳み込みニューラルネットワークのパラメータを学習することができる。そのため、本発明は、画像超解像装置が対象とする画像に応じて、学習用の画像を変えることができ、画像超解像装置が用いる畳み込みニューラルネットワークを最適化することができる。
【図面の簡単な説明】
【0017】
【
図1】本発明の概要を説明するための概要図であって、(a)は画像超解像装置の処理概要を示す図、(b)はパラメータ学習装置の処理概要を示す図である。
【
図2】本発明の実施形態に係る画像超解像装置の構成を示すブロック構成図である。
【
図3】本発明の実施形態に係る画像超解像装置のカラー画像を対象としたウェーブレット再構成手段の構成を示すブロック構成図である。
【
図4】本発明の実施形態に係る画像超解像装置の動作を示すフローチャートである。
【
図5】本発明の実施形態に係る画像超解像装置の具体例(その1)を示すブロック構成図である。
【
図6】本発明の実施形態に係る画像超解像装置の具体例(その2)を示すブロック構成図である。
【
図7】本発明の実施形態に係るパラメータ学習装置の構成を示すブロック構成図である。
【
図8】本発明の実施形態に係るパラメータ学習装置のカラー画像を対象としたウェーブレット分解手段の構成を示すブロック構成図である。
【
図9】本発明の実施形態に係るパラメータ学習装置の動作を示すフローチャートである。
【発明を実施するための形態】
【0018】
以下、本発明の実施形態について図面を参照して説明する。
<発明の概要>
まず、
図1を参照して、本発明の概要について説明する。
図1(a)は、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)を用いた本発明の画像超解像装置1(
図2)の処理概要を示す図である。
図1(b)は、本発明の画像超解像装置1(
図2)で用いるCNNのパラメータを学習するパラメータ学習装置(
図7)の処理概要を示す図である。
【0019】
画像超解像装置1(
図2)は、画像L(低解像画像)を、水平方向および垂直方向に2倍した画像H(超解像画像)に高解像度化するものである。
図1(a)に示すように、画像超解像装置1は、画像LのブロックB(例えば、8×8画素)を順次切り出し、当該ブロックBを、2次元ウェーブレット分解における水平、垂直ともに低域成分であるLL画像(LL
1)とする。また、画像超解像装置1は、LL画像(LL
1)から、予めパラメータPaを学習したCNNによって、高域3成分として、LL画像(LL
1)に対応する水平が高域成分、垂直が低域成分であるHL画像(HL
1^)と、水平が低域成分、垂直が高域成分であるLH画像(LH
1^)と、水平、垂直ともに高域成分であるHH画像(HH
1^)とを推定する。
【0020】
そして、画像超解像装置1は、LL画像(LL1)と、HL画像(HL1^)と、LH画像(LH1^)と、HH画像(HH1^)とをウェーブレット再構成することで、ブロックBに対応した超解像ブロックS(LL0^)を生成する。
このように、画像超解像装置1は、ブロックBごとにCNNを用いた高解像度化を行うことで、低解像度の画像Lから高解像度(超解像)の画像Hを生成する。
【0021】
パラメータ学習装置2(
図7)は、画像超解像装置1が用いるCNNのパラメータPaを学習するものである。
図1(b)に示すように、パラメータ学習装置2は、学習用画像DのブロックE(例えば、16×16画素)を順次切り出す。そして、パラメータ学習装置2は、2次元ウェーブレット分解により、ブロックE(LL
0′)を、LL画像(LL
1′)と、HL画像(HL
1′)と、LH画像(LH
1′)と、HH画像(HH
1′)とに分解する。
そして、パラメータ学習装置2は、LL画像(LL
1′)をCNNに入力し、その出力であるHL画像(HL
1^)、LH画像(LH
1^)およびHH画像(HH
1^)と、正解データであるウェーブレット分解後のHL画像(HL
1′)、LH画像(LH
1′)およびHH画像(HH
1′)との誤差をなくすように誤差逆伝播法により、CNNのパラメータPaを学習する。
【0022】
なお、パラメータ学習装置2は、学習用画像Dとして、画像超解像装置1が高解像度化する対象となる画像の特徴(絵柄等)を含んだ画像を用いることで、画像超解像装置1が用いるCNNを最適化することができる。例えば、パラメータ学習装置2は、学習用画像Dとして、高解像度化の対象となる低解像の画像Lを用いてパラメータ学習を行ってもよい。
また、パラメータ学習装置2は、学習用画像Dとして、汎用的な画像を用いれば、汎用的な画像を高解像度化するための画像超解像装置1が用いるCNNを学習することができる。
なお、学習用画像Dは、1枚である必要なく、複数枚の画像を用いてもよい。
以下、画像超解像装置1およびパラメータ学習装置2の構成および動作について詳細に説明する。
【0023】
<画像超解像装置の構成>
図2を参照して、画像超解像装置1の構成について説明する。なお、ここでは、画像超解像装置1に入力する画像Lの解像度を水平A
x画素、垂直A
y画素とする。また、画像超解像装置1が出力する画像Hの解像度を、画像Lを水平方向および垂直方向にそれぞれ2倍した水平2A
x画素、垂直2A
y画素とする。
図2に示すように、画像超解像装置1は、ブロック切り出し手段10と、ブロック走査手段11と、畳み込みニューラルネットワーク手段12と、ウェーブレット再構成手段13と、ブロック配置手段14と、を備える。
【0024】
ブロック切り出し手段10は、入力画像(画像L)の部分画像であるブロックを切り出すものである。以下、画像Lの画像座標(x,y)における第cの色成分の画素値をL(x,y,c)と記す。ここで、画像Lをモノクロ画像とした場合、c=0、画像LをC原色のカラー画像とした場合、cは0以上C未満(Cは2以上の整数、例えば、RGB画像の場合C=3)である。
ブロック切り出し手段10は、水平P画素および垂直Q画素(P×Q画素)の矩形領域のブロックを画像Lから切り出す。ここで、PおよびQはともに自然数とし、かつ、P×Qは2以上とする。例えば、P=8およびQ=8である。
【0025】
ここで、ブロック切り出し手段10は、後記するブロック走査手段11が指定する切り出し座標(p,q)を基準に切り出しを行う。例えば、ブロック走査手段11から、切り出し座標(p,q)を指定された場合、ブロック切り出し手段10は、画像座標(p,q)と画像座標(p+P-1,q+Q-1)とを対角の2点とする矩形内(境界を含む)の画像Lの画素値列を部分画像(ブロック)として切り出す。
ブロック切り出し手段10は、切り出したブロックを畳み込みニューラルネットワーク手段12と、ウェーブレット再構成手段13とに出力する。
【0026】
なお、ブロック切り出し手段10は、ブロックの切り出しとともに、色成分cごとの画素値の正規化(係数αc,オフセットβc)を施しても構わない。
具体的には、ブロック切り出し手段10は、以下の式(1)により正規化を行いブロックBの画素値(x,y,c)とする。
【0027】
【0028】
例えば、画像Lが、輝度・色差表現によるカラー画像(C=3)であって、c=0(輝度)については、画素値が16~235の範囲、c=1およびc=2(色差)については、画素値が16~240の範囲である場合、α0=1/219、β0=-16/219、α1=α2=1/224、β1=β2=-16/224とする。
【0029】
ブロック走査手段11は、ブロック切り出し手段10がブロックを切り出す基準となる切り出し座標(p,q)を逐次生成するものである。ブロック走査手段11は、例えば、時点u(uは0以上の整数)において、以下の式(2)により、水平方向P画素および垂直方向Q画素の間隔で、ラスタ走査の順序に座標(p,q)を生成する。
【0030】
【0031】
また、二項演算子%は、a%bが非負の整数aを正の整数bで除したときの剰余を求めるものとして定義する。また、Bxは、水平方向のブロックの切り出し数である。
あるいは、ブロック走査手段11は、例えば、時点u(uは0以上の整数)において、以下の式(3)により、時間の前後で切り出し画像が重なり合うように、水平方向P/2画素および垂直方向Q/2画素の間隔で、ラスタ走査の順序に座標(p,q)を生成することとしてもよい。
【0032】
【0033】
ブロック走査手段11は、生成した切り出し座標(p,q)を、ブロック切り出し手段10と、ブロック配置手段14とに出力する。
【0034】
畳み込みニューラルネットワーク手段12は、ブロック切り出し手段10で切り出したブロックを入力して予め学習した畳み込みニューラルネットワークによる処理を実行するものである。畳み込みニューラルネットワーク手段12は、入力したブロックと同じ標本数のブロックを3チャンネル分生成する。すなわち、畳み込みニューラルネットワーク手段12は、ブロックの標本数の3倍の標本数のデータを出力する。
例えば、畳み込みニューラルネットワーク手段12は、ブロック切り出し手段10から、P×Q画素の矩形のブロックが入力された場合、P×Q画素の画像を3チャンネル分出力する。
畳み込みニューラルネットワーク手段12は、例えば、1個以上の畳込手段120と、1個以上の活性化関数適用手段121とを交互に縦続接続した構成とすることができる。
図2に示すように、畳み込みニューラルネットワーク手段12は、L個の畳込手段120(120
1,120
2,…,120
L)と、L個の活性化関数適用手段121(121
1,121
2,…,121
L)と、を備える。
【0035】
畳込手段120は、予め定めたサイズの学習済みの結合重み係数(パラメータ)を有するカーネルを用いて畳み込み演算を行うものである。
畳込手段120i(iは1以上L以下の整数)は、カーネルサイズMi×Ni×Ki-1の3階テンソルの畳み込み演算器(カーネル:不図示)をKi種類(Ti
(0)(r,s,t)~Ti
(Ki-1)(r,s,t))備え、サイズP×Q×Ki-1の3階テンソルIi-1(r,s,t)の入力に対して、畳み込み演算を行い、サイズP×Q×Kiの3階テンソルJi(r,s,t)として出力する。
具体的には、畳込手段120iは、以下の式(4)により、Ji(r,s,t)を算出する。
【0036】
【0037】
なお、テンソルTi
(k)(ρ,σ,τ)(kは0以上Ki未満の整数)は、ri
(0)以上ri
(1)以下の整数ρ、si
(0)以上si
(1)以下の整数σ、0以上Ki-1未満の整数τに対して、定義されているものとする。
【0038】
また、畳込手段120iは、式(4)において、Ii-1(r-ρ,s-σ,τ)を参照するにあたって、r-ρ<0、r-ρ≧P、s-σ<0またはs-σ≧Qの場合(テンソルの定義域外を参照した場合)には、その値として、例えば、Ii-1(r-ρ,s-σ,τ)=0(ゼロパディング)として定義した値を用いる。あるいは、畳込手段120iは、定義域内の最近傍の要素の値(0次外挿値)を用いてもよい。
なお、ri
(0)、ri
(1)、si
(0)およびsi
(1)は、例えば、以下の式(5)、あるいは、式(6)により定義した値を用いる。
【0039】
【0040】
例えば、Mi=5、Ni=5の場合、式(5)および式(6)のいずれによっても、ri
(0)=-2、ri
(1)=+2、si
(0)=-2、si
(1)=+2となる。
また、例えば、Mi=4、Ni=4の場合、式(5)によれば、ri
(0)=-1、ri
(1)=+2、si
(0)=-1、si
(1)=+2となり、式(6)によれば、ri
(0)=-2、ri
(1)=+1、si
(0)=-2、si
(1)=+1となる。
【0041】
なお、初段の畳込手段1201への入力は、サイズP×Q×K0の3階テンソルI0(r,s,t)であるが、K0は入力画像Lがモノクロ画像の場合にはK0=1、Cチャンネルのカラー画像の場合にはK0=Cと定義する(Cは原色の数、例えば、RGB画像等の典型的なカラー画像においてはC=3)。
また、畳込手段1201への入力であるI0(r,s,t)には、以下の式(7)に示すように、ブロック切り出し手段10から入力されるブロックB(r,s,t)を設定する。
【0042】
【0043】
一方、最終段の畳込手段120Lにおける畳み込み演算器(不図示)の種類数KLは、入力画像Lがモノクロ画像の場合にはKL=3、Cチャンネル(Cは原色の数、典型的にはC=3)のカラー画像の場合にはKL=3Cと定義する
【0044】
活性化関数適用手段121は、畳込手段120の出力に対して、活性化関数を用いた演算を行うものである。
活性化関数適用手段121i(iは1以上L以下の整数)は、以下の式(8)に示すように、畳込手段120iから入力されるサイズP×Q×Kiの3階テンソルJi(r,s,t)の各成分に対して、活性化関数φを適用し、その適用結果を、サイズP×Q×Kiの3階テンソルIi(r,s,t)として出力する。
【0045】
【0046】
テンソルJの各成分に対して適用する活性化関数φi,tは、iまたはtのいずれか、あるいは、その両方に関してすべて同一でなくても構わないし、iおよびtのすべての組み合わせについて同一であっても構わない。典型的な例としては、iおよびtのすべての組み合わせについて同一とするか、同一とは限らない活性化関数をiごとに設定する。
例えば、i=1,2,…,L-1については、ReLU(Rectified Linear Unit:正規化線形関数)を用い(式(9)参照)、i=Lについては活性化関数を用いない(式(13)参照)等である。以下に、活性化関数適用手段121で適用する活性化関数の具体例である関数φを示す。
例えば、関数φは、以下の式(9)に示すReLUを用いることができる。
【0047】
【0048】
また、関数φは、以下の式(10)に示すシグモイド(sigmoid)関数を用いることができる。
【0049】
【0050】
また、関数φは、以下の式(11)に示す双曲線正接関数を用いることができる。
【0051】
【0052】
また、関数φは、以下の式(12)に示すソフトサイン(softsign)関数を用いることができる。
【0053】
【0054】
また、関数φは、以下の式(13)に示す恒等写像(活性化関数を適用しない)を用いても構わない。
【0055】
【0056】
この式(13)に示すように、テンソルJの全成分について活性化関数を適用しない場合、活性化関数適用手段121iそのものを構成から省略しても構わない。
なお、最終段の畳込手段120L以外の畳込手段120に接続される活性化関数適用手段121には、ニューラルネットワークの滑らかな表現を学習するため、非線形な活性化関数(式(13)以外)を用いることする。
最終段の畳込手段120Lの後段に接続される活性化関数適用手段121Lには、すべての出力を活性化させるため、正、負および零の値をとり得る活性化関数(例えば、式(11)の双曲線正接関数、式(12)のソフトサイン関数)を用いるか、活性化関数を適用しない関数(式(13))を用いるか、あるいは、活性化関数適用手段121Lそのものを省略するものとする。
畳み込みニューラルネットワーク手段12は、畳み込みニューラルネットワークによる処理を実行した最終段の演算結果JLを、ウェーブレット再構成手段13に出力する。
【0057】
図3に、本発明の実施形態に係る画像超解像装置1のカラー画像を対象としたウェーブレット再構成手段13の構成を示す。
ウェーブレット再構成手段13は、色成分ごとにウェーブレット再構成を行う第1ウェーブレット再構成手段13
1と、第2ウェーブレット再構成手段13
2と、第3ウェーブレット再構成手段13
3と、を有し、ブロック切り出し手段10で切り出されるブロックBと、畳み込みニューラルネットワーク手段12で演算されたブロックBの3倍の標本数のデータJ
Lとに基づいて、ウェーブレット再構成を行い、超解像ブロックSを生成するものである。なお、以下では、超解像ブロックSの座標(x,y)における色成分cの画素値をS(x,y,c)と表す。ただし、入力画像Lがモノクロ画像の場合には、色成分cは、c=0のみとする。この場合、ウェーブレット再構成手段13は
図2に示すように1つの構成とすればよい。
【0058】
ウェーブレット再構成手段13がウェーブレット再構成に用いる基底関数は任意であるが、例えば、ハール(Haar)基底を用いることができる。
例えば、入力画像Lがモノクロ画像で、基底関数がハール基底の場合、ウェーブレット再構成手段13は、ブロック切り出し手段10の出力であるブロックB(r,s,0)と、畳み込みニューラルネットワーク手段12の出力であるJL(r,s,0)、JL(r,s,1)およびJL(r,s,2)とに基づいて、以下の式(14)により、超解像ブロックSを生成する。
【0059】
【0060】
また、例えば、入力画像Lがカラー画像で、基底関数がハール基底の場合、ウェーブレット再構成手段13は、以下の式(15)により、超解像ブロックSを生成する。
【0061】
【0062】
ウェーブレット再構成手段13は、生成した超解像ブロックSを、ブロック配置手段14に出力する。
【0063】
ブロック配置手段14は、ブロック走査手段11で生成されるブロックBの切り出し座標(p,q)に基づいて、当該ブロックBに対応してウェーブレット再構成手段13で生成される超解像ブロックSを配置して、超解像画像を生成するものである。
【0064】
なお、ブロック走査手段11が生成する座標を、ブロックが重なり合わない切り出し座標(p,q)とする場合、ブロック配置手段14は、切り出し座標(p,q)に応じて、超解像ブロックSを配置することで、超解像画像を生成する。
また、ブロック走査手段11が生成する座標を、ブロックが重なる切り出し座標(p,q)とする場合、ブロック配置手段14は、切り出し座標(p,q)に応じて、超解像ブロックSをブレンディングにより合成することで、超解像画像を生成する
具体的には、ブロック配置手段14は、ブロックが重なり合わない切り出し座標の場合(前記式(2)参照)、以下の式(16)により、ブロック走査手段11の走査に応じた座標(p,q)に対応して、超解像ブロックSを超解像画像Hに配置する。
【0065】
【0066】
なお、入力画像Lがモノクロ画像の場合、C=1とし、出力画像Hの第3引数のcはc=0のみとする。
また、ブロック配置手段14は、ブロックが重なり合う切り出し座標の場合(前記式(3)参照)、以下の式(17)により、所定の重みWp,q(ρ,σ,c)を付加して、オーバーラップ部分のブレンディングを行い、超解像画像Hを合成する。
【0067】
【0068】
ブロック配置手段14は、式(17)に示すように、1時点前までに足し込まれた結果であるHoldに、現時点で得られた超解像ブロックSに空間的な重みWp,qを付加したものを足し込む。ここで、1時点前とは、ブロック走査手段11が前記式(3)の演算で用いる時点uを、u-1とした時点である。なお、走査開始前の出力画像Hには、初期値として、すべて“0”を設定する。
重みWp,qには、以下の式(18)、式(19)に示すように、水平方向の因子Wp,q
(Hor)と垂直方向の因子Wp,q
(Ver)の積を用いることができる。
【0069】
【0070】
前記式(18)の重みを用いることで、ブロック配置手段14は、ブロックの中心部分が最大の重み付けとなり、ブロックの重なり合う部分が水平方向および垂直方向のそれぞれについて線形に減衰する重み付けとなるように、ブロックをブレンディングする。これによって、ブロック配置手段14は、ブロック間の境界を目立たなくすることができる。
ブロック配置手段14は、ブロック走査手段11が入力画像Lの走査を終えた時点で、入力画像Lの4倍(水平2倍、垂直2倍)の解像度を有する出力画像(超解像画像)Hを生成することができる。
【0071】
以上説明したように画像超解像装置1を構成することで、画像超解像装置1は、予め学習したパラメータを用いた畳み込みニューラルネットワークにより、高解像度の画像(超解像画像)を生成することができる。
このとき、入力画像Lが原画像を縮小して生成したものであっても、画像超解像装置1は、原画像を参照することなく、入力画像Lに対するウェーブレット再構成可能な空間高周波スペクトルを推定し、超解像画像Hを生成することができる。
なお、画像超解像装置1は、コンピュータを、前記した各手段として機能させるためのプログラム(画像超解像プログラム)により動作させることができる。
【0072】
<画像超解像装置の動作>
図4を参照(構成については、適宜
図2参照)して、画像超解像装置1の動作について説明する。なお、畳み込みニューラルネットワーク手段12の畳込手段120の結合重み係数は、予めパラメータ学習装置2(
図7)によって学習されたパラメータが設定されているものとする。
【0073】
ステップS1において、ブロック走査手段11は、入力画像Lにおいて、ラスタ走査の順序で、P×Q画素のブロックの切り出し位置となる座標(p,q)を生成する。
なお、ブロックの切り出し位置は、ブロックが重ならない位置としてもよいし、ブロックが重複する位置としてもよく、予め定めたいずれか一方の切り出し位置とする。
【0074】
ステップS2において、ブロック切り出し手段10は、入力画像Lから、ステップS1で生成された座標(p,q)を切り出し位置として、入力画像LからP×Q画素のブロックを切り出す。ブロック切り出し手段10が切り出すブロックは、
図1(a)に示したブロックBのLL画像(LL
1)に相当する。
【0075】
ステップS3において、畳み込みニューラルネットワーク手段12は、ステップS2で切り出したブロックを入力し、畳込手段120および活性化関数適用手段121で構成された畳み込みニューラルネットワーク(CNN)による演算を実行することで、ブロックの標本数の3倍の標本数のデータを出力する。
この畳み込みニューラルネットワーク手段12が出力するデータは、
図1(a)に示したHL画像(HL
1^)、LH画像(LH
1^)およびHH画像(HH
1^)に相当する。
【0076】
ステップS4において、ウェーブレット再構成手段13は、ステップS2で切り出したブロック(LL画像)と、ステップS3で生成したデータ(HL画像、LH画像およびHH画像)とをウェーブレット再構成し、超解像ブロックを生成する。
【0077】
ステップS5において、ブロック配置手段14は、ステップS4で生成された超解像ブロックを、ステップS1で生成された座標(p,q)に対して、出力画像H上の座標(2p,2q)の位置に配置する。なお、ステップS1で、ブロックの切り出し位置をブロックが重ならない位置とした場合、ブロック配置手段14は、出力画像H上の座標(2p,2q)の位置にそのまま超解像ブロックを配置する。一方、ステップS1で、ブロックの切り出し位置をブロックが重ならない位置とした場合、ブロック配置手段14は、出力画像H上の座標(2p,2q)の位置において、すでに配置済みの超解像ブロックと重なる部分のブレンディングを行う。
【0078】
ステップS6において、ブロック走査手段11は、入力画像Lのすべてのブロックを走査したか否かを判定する。
ここで、入力画像Lのすべてのブロックを走査していない場合(ステップS6でNo)、画像超解像装置1は、ステップS1に戻って、動作を継続する。
【0079】
一方、入力画像Lのすべてのブロックを走査した場合(ステップS6でYes)、ステップS7において、画像超解像装置1は、超解像ブロックを配置した出力画像(超解像画像)Hを出力する。
以上の動作により、画像超解像装置1は、畳み込みニューラルネットワークによって、高解像度の画像(超解像画像)を生成することができる。
【0080】
(畳み込みニューラルネットワークの具体例)
ここで、画像超解像装置1が用いる畳み込みニューラルネットワークの一例について説明する。
図5は、画像超解像装置1の具体例を示すブロック構成図であって、畳み込みニューラルネットワークN
1として、5層CNNの例を示している。
図5で、Conv.(5,5,16)は、畳込手段120を示し、5×5のカーネルを16種類備えていることを示している。また、ReLUは、正規化線形関数を用いた活性化関数適用手段121を示している。
最終段の畳込手段であるConv.(5,5,3)は、5×5のカーネルを3種類備えていることを示している。また、ここでは、最終段に、活性化関数適用手段121を用いない例を示している。なお、Conv.が使用するカーネルの結合重み係数は、パラメータ学習装置2(
図7)からパラメータPaとして与えられる。
【0081】
最終段のConv.(5,5,3)のカーネルを3種類とすることで、畳み込みニューラルネットワークN1は、HL画像(HL1^)、LH画像(LH1^)およびHH画像(HH1^)の3種類の画像を出力する。
これによって、画像超解像装置1は、ブロックBをLL画像(LL1)とし、畳み込みニューラルネットワークN1の出力であるHL画像(HL1^)、LH画像(LH1^)およびHH画像(HH1^)とを、ウェーブレット再構成することで、超解像ブロックS(LL0^)を生成することができる。
【0082】
図6は、画像超解像装置1の他の具体例を示すブロック構成図であって、畳み込みニューラルネットワークN
2として、8層CNNの例を示している。
なお、ここでは、
図5の畳み込みニューラルネットワークN
1と層数が異なる以外に、各層間に適宜加算器Aを備え、直前の層の出力に、その層よりも前の層の出力を加算する構成としている。
このように、畳み込みニューラルネットワークN
2は、ResNet(Residual Network)の構成としてもよい。これによって、少ない層数でも層の深度を深めることで、より推定精度の高い畳み込みニューラルネットワークを構成することができる。
【0083】
<パラメータ学習装置の構成>
次に、
図7を参照して、パラメータ学習装置2の構成について説明する。なお、ここでは、パラメータ学習装置2に入力される画像Dの解像度を水平D
x画素、垂直D
y画素とする。
図7に示すように、パラメータ学習装置2は、ブロック切り出し手段20と、ブロック走査手段21と、ウェーブレット分解手段22と、学習用畳み込みニューラルネットワーク手段23と、誤差演算手段24と、パラメータ出力手段25と、を備える。
【0084】
ブロック切り出し手段20は、入力画像(画像D)の部分画像であるブロックを切り出すものである。以下、画像Dの画像座標(x,y)における第cの色成分の画素値をD(x,y,c)と記す。ここで、画像Dをモノクロ画像とした場合、c=0、画像DをC原色のカラー画像とした場合、cは0以上C未満(Cは2以上の整数、例えば、RGB画像の場合C=3)である。
【0085】
ブロック切り出し手段20は、水平2P画素および垂直2Q画素(2P×2Q画素)の矩形領域のブロックを画像Dから切り出す。ここで、PおよびQはともに自然数とし、かつ、P×Qは2以上とする。なお、PおよびQは、画像超解像装置1のブロック切り出し手段10(
図2)が切り出すブロックの水平画素数(P)および垂直画素数(Q)と同じとする。例えば、P=8およびQ=8である。
【0086】
ここで、ブロック切り出し手段20は、後記するブロック走査手段21が指定する切り出し座標(p,q)を基準に切り出しを行う。例えば、ブロック走査手段21から、切り出し座標(p,q)を指定された場合、ブロック切り出し手段20は、画像座標(p,q)と画像座標(p+2P-1,q+2Q-1)とを対角の2点とする矩形内(境界を含む)の画像Dの画素値列を部分画像(ブロック)として切り出す。
ブロック切り出し手段20は、切り出したブロックをウェーブレット分解手段22に出力する。
【0087】
なお、ブロック切り出し手段20は、ブロックの切り出しとともに、色成分cごとの画素値の正規化(係数αc,オフセットβc)を施しても構わない。
具体的には、ブロック切り出し手段20は、以下の式(20)により正規化を行いブロックEの画素値(x,y,c)とする。
【0088】
【0089】
例えば、画像Dが、輝度・色差表現によるカラー画像(C=3)であって、c=0(輝度)については、画素値が16~235の範囲、c=1およびc=2(色差)については、画素値が16~240の範囲である場合、α0=1/219、β0=-16/219、α1=α2=1/224、β1=β2=-16/224とする。
【0090】
ブロック走査手段21は、ブロック切り出し手段10がブロックを切り出す基準となる切り出し座標(p,q)を逐次生成するものである。
ブロック走査手段21は、画像D内を所定の画素間隔でラスタスキャンするように走査しても構わないし、乱数により座標(p,q)を生成することとしても構わない。
ブロック走査手段21が乱数により座標(p,q)を生成する場合、例えば、pは0以上(Dx-2P)以下の一様乱数、また、qは0以上(Dy-2Q)以下の一様乱数とする。なお、この一様乱数は、それを近似する疑似乱数としても構わない。
ブロック走査手段21は、生成した切り出し座標(p,q)を、ブロック切り出し手段20に出力する。
【0091】
図8に、本発明の実施形態に係るパラメータ学習装置2のカラー画像を対象としたウェーブレット分解手段22の構成を示す。
ウェーブレット分解手段22は、色成分ごとにウェーブレット分解を行う第1ウェーブレット分解手段22
1と、第2ウェーブレット分解手段22
2と、第3ウェーブレット分解手段22
3と、を有し、ブロック切り出し手段20で切り出したブロックを入力して、ウェーブレット分解を行うものである。なお、入力画像Dがモノクロ画像の場合には、ウェーブレット分解手段22は
図7に示すように1つの構成とすればよい。
【0092】
ウェーブレット分解手段22は、入力したブロックに対して、2次元ウェーブレット分解を適用することで、水平、垂直ともに低域成分であるLL画像、水平が高域成分、垂直が低域成分であるHL画像、水平が低域成分、垂直が高域成分であるLH画像、および、水平、垂直ともに高域成分であるHH画像を生成する。LL画像、HL画像、LH画像およびHH画像は、いずれもP×Q画素の解像度を有する。
【0093】
2次元ウェーブレット分解に用いる基底関数は、画像超解像装置1のウェーブレット再構成手段13(
図2)が用いた基底関数と同じ(例えば、ハール基底)であることが好ましい。
例えば、基底関数としてハール基底を用いる場合、ウェーブレット分解手段22は、以下の式(21)により、ブロック切り出し手段20で切り出したブロックEから、LL画像(LL(r,s,t))、HL画像(HL(r,s,t))、LH画像(LH(r,s,t))およびHH画像(HH(r,s,t))を生成する。
【0094】
【0095】
ただし、入力画像Dがモノクロ画像の場合には、C=1とする。
ウェーブレット分解手段22は、生成したLL画像を、学習用畳み込みニューラルネットワーク手段23に出力し、HL画像、LH画像およびHH画像を、誤差演算手段24に出力する。
【0096】
学習用畳み込みニューラルネットワーク手段23は、ウェーブレット分解手段22で生成されたLL画像を入力し、出力がウェーブレット分解手段22で生成されたHL画像、LH画像およびHH画像となるように、畳み込みニューラルネットワークのパラメータ(カーネルの結合重み係数)を学習するものである。
図7に示すように、学習用畳み込みニューラルネットワーク手段23は、L個の畳込手段230(230
1,230
2,…,230
L)と、L個の活性化関数適用手段231(231
1,231
2,…,231
L)と、を備える。畳込手段230および活性化関数適用手段231は、画像超解像装置1の畳み込みニューラルネットワーク手段12(
図2)の畳込手段120および活性化関数適用手段121と同じ接続構成とする。
【0097】
畳込手段230は、逐次学習される結合重み係数(パラメータ)を用いて畳み込み演算を行うものである。さらに、畳込手段230は、畳み込みニューラルネットワークの後段から入力される誤差に基づいて誤差逆伝播法により結合重み係数を更新し、誤差を前段に伝播するものでもある。
畳込手段230
i(iは1以上L以下の整数)は、サイズP×Q×K
i-1の3階テンソルI
i-1(r,s,t)の入力に対して、畳み込み演算を行い、サイズP×Q×K
iの3階テンソルJ
i(r,s,t)として出力する(前記式(4)参照)。
なお、畳込手段230
iが用いるカーネルのサイズおよび種類は、畳込手段120
i(
図2)と同じとする。
【0098】
ここで。初段の畳込手段2301への入力は、サイズP×Q×K0の3階テンソルI0(r,s,t)であるが、K0は入力画像Dがモノクロ画像の場合にはK0=1、Cチャンネルのカラー画像の場合にはK0=Cと定義する(Cは原色の数、例えば、RGB画像等の典型的なカラー画像においてはC=3)。
また、畳込手段2301への入力であるI0(r,s,t)には、以下の式(22)に示すように、ウェーブレット分解手段22から入力されるLL画像(LL(r,s,t))を設定する。
【0099】
【0100】
活性化関数適用手段231は、畳込手段230の出力に対して、活性化関数を用いた演算を行うものである。さらに、活性化関数適用手段231は、畳み込みニューラルネットワークの後段から入力される誤差を前段に伝播するものでもある。
活性化関数適用手段231i(iは1以上L以下の整数)は、畳込手段230iから入力されるサイズP×Q×Kiの3階テンソルJi(r,s,t)の各成分に対して、活性化関数φを適用し、その適用結果を、サイズP×Q×Kiの3階テンソルIi(r,s,t)として出力する。なお、活性化関数適用手段231iが用いる活性化関数は、活性化関数適用手段121iと同じとする。
【0101】
学習用畳み込みニューラルネットワーク手段23は、畳み込みニューラルネットワーク手段12(
図2)と同様に、畳込手段230
1から活性化関数適用手段231
Lへとテンソルを順伝播することで、サイズP×Q×3Cの3階テンソルJ
L(r,s,t)を算出する。なお、畳込手段230
1から畳込手段230
Lまでのそれぞれの畳込手段230の結合重み係数(パラメータ)の初期値は、予め無作為的または作為的に設定しておく。例えば、結合重み係数の初期値は、一様乱数またはこれを近似する疑似乱数により生成し、設定することができる。
学習用畳み込みニューラルネットワーク手段23は、算出した3階テンソルJ
Lを誤差演算手段24に出力する。
【0102】
また、学習用畳み込みニューラルネットワーク手段23は、逐次、誤差演算手段24から誤差を入力されるたびに、繰り返し、誤差逆伝播法により結合重み係数を更新する。この繰り返しの回数は、予め定めた回数(例えば、100万回)であってもよいし、学習用畳み込みニューラルネットワーク手段23が畳込手段230の結合重み係数の変化の度合いを監視し、その変化の度合いが予め定めた閾値を下回るまでであってもよい。あるいは、繰り返しの回数は、予め定めた回数を超え、かつ、結合重み係数の変化の度合いが閾値を下回るまでとしてもよい。
学習用畳み込みニューラルネットワーク手段23は、誤差逆伝播法による結合重み係数の更新を完了(学習完了)した後、それぞれの畳込手段230の結合重み係数をパラメータ出力手段25に出力する。
【0103】
誤差演算手段24は、学習用畳み込みニューラルネットワーク手段23で演算された3階テンソルJLと、ウェーブレット分解手段22で生成されたHL画像、LH画像およびHH画像との誤差を演算するものである。
誤差演算手段24は、以下の式(23)に示すように、3階テンソルJL(r,s,t)と、HL画像(HL(r,s,t))、LH画像(LH(r,s,t))およびHH画像(HH(r,s,t))とから、サイズP×Q×3Cの3階テンソル値である誤差テンソルΔを演算し、学習用畳み込みニューラルネットワーク手段23に出力する。
【0104】
【0105】
パラメータ出力手段25は、学習用畳み込みニューラルネットワーク手段23の学習完了後出力されるそれぞれの畳込手段230における結合重み係数を、出力パラメータとして出力するものである。
このパラメータ出力手段25が出力するパラメータは、画像超解像装置1(
図2)の畳み込みニューラルネットワーク手段12を構成する畳込手段120(120
1,120
2,…,120
L)に設定されることで、画像超解像装置1を最適な状態で動作させることができる。
【0106】
以上説明したようにパラメータ学習装置2を構成することで、パラメータ学習装置2は、画像超解像装置1で画像を高解像度化するための畳み込みニューラルネットワークのパラメータを学習することができる。
なお、パラメータ学習装置2は、コンピュータを、前記した各手段として機能させるためのプログラム(パラメータ学習プログラム)により動作させることができる。
【0107】
<パラメータ学習装置の動作>
図9を参照(構成については、適宜
図7参照して、パラメータ学習装置2の動作について説明する。なお、畳み込みニューラルネットワーク手段12の畳込手段120の結合重み係数は、予めパラメータ学習装置2(
図7)によって学習されたパラメータが設定されているものとする。
【0108】
ステップS10において、ブロック走査手段21は、入力画像Dにおいて、ラスタ走査またはランダムに、2P×2Q画素のブロックの切り出し位置となる座標(p,q)を生成する。
【0109】
ステップS11において、ブロック切り出し手段20は、入力画像Dから、ステップS10で生成された座標(p,q)を切り出し位置として、入力画像Dから2P×2Q画素のブロックを切り出す。ブロック切り出し手段20が切り出すブロックは、
図1(b)に示したブロックEのLL画像(LL
0′)に相当する。
【0110】
ステップS12において、ウェーブレット分解手段22は、ステップS11で切り出したブロックに対して、2次元ウェーブレット分解を適用する。これによって、ウェーブレット分解手段22は、ブロックから、水平、垂直ともに低域成分であるLL画像、水平が高域成分、垂直が低域成分であるHL画像、水平が低域成分、垂直が高域成分であるLH画像、および、水平、垂直ともに高域成分であるHH画像を生成する。ウェーブレット分解後の画像は、
図1(b)に示したLL画像(LL
1′)、HL画像(HL
1′)、LH画像(LH
1′)およびHH画像(HH
1′)に相当する。
【0111】
ステップS13において、学習用畳み込みニューラルネットワーク手段23は、ステップS12で生成したLL画像を入力し、畳込手段230および活性化関数適用手段231で構成された畳み込みニューラルネットワーク(CNN)による演算を実行することで、ブロックの標本数の3倍の標本数のデータを出力する。この学習用畳み込みニューラルネットワーク手段23の出力は、
図1(b)に示したHL画像(HL
1^)、LH画像(LH
1^)、および、HH画像(HH
1^)に相当する。
【0112】
ステップS14において、誤差演算手段24は、ステップS12でウェーブレット分解で生成したHL画像(HL1′)、LH画像(LH1′)およびHH画像(HH1′)と、ステップS13でCNNの演算で生成したHL画像(HL1^)、LH画像(LH1^)およびHH画像(HH1^)との誤差を演算する。
【0113】
ステップS15において、学習用畳み込みニューラルネットワーク手段23は、ステップS14で演算された誤差に基づいて、誤差逆伝播法により、畳み込みニューラルネットワーク(CNN)の結合重み係数を更新する。
ステップS16において、学習用畳み込みニューラルネットワーク手段23は、予め定めた繰り返し回数等によって、学習が完了したか否かを判定する。
ここで、学習が完了していない場合(ステップS16でNo)、パラメータ学習装置2は、ステップS10に戻って、動作を継続する。
【0114】
一方、学習が完了した場合(ステップS16でYes)、ステップS17において、パラメータ出力手段25は、学習用畳み込みニューラルネットワーク手段23の畳込手段230における結合重み係数を、出力パラメータとして出力する
以上の動作により、パラメータ学習装置2は、画像超解像装置1が用いる畳み込みニューラルネットワークのパラメータを学習することができる。
【0115】
なお、パラメータ学習装置2におけるパラメータの学習は画像超解像装置1を製造する前に行い、学習後のパラメータを画像超解像装置1に反映すればよい。
また、画像超解像装置1の製造後、適宜の時期にパラメータ学習装置2におけるパラメータの学習を行い、画像超解像装置1のパラメータを再設定することとしてもよい。
また、例えば、パラメータ学習装置2が画像超解像装置1と同一の入力画像で学習を行う場合、画像超解像装置1の動作中の適宜の時期(例えば、入力画像の毎入力時)に、パラメータ学習装置2を動作させ、学習後のパラメータを画像超解像装置1に設定することとしてもよい。
【符号の説明】
【0116】
1 画像超解像装置
10 ブロック切り出し手段
11 ブロック走査手段
12 畳み込みニューラルネットワーク手段
120 畳込手段
121 活性化関数適用手段
13 ウェーブレット再構成手段
14 ブロック配置手段
2 パラメータ学習装置
20 ブロック切り出し手段
21 ブロック走査手段
22 ウェーブレット分解手段
23 学習用畳み込みニューラルネットワーク手段
230 畳込手段
231 活性化関数適用手段
24 誤差演算手段
25 パラメータ出力手段