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

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

▶ KDDI株式会社の特許一覧

<>
  • 特許-動きボケ除去装置及びプログラム 図1
  • 特許-動きボケ除去装置及びプログラム 図2
  • 特許-動きボケ除去装置及びプログラム 図3
  • 特許-動きボケ除去装置及びプログラム 図4
  • 特許-動きボケ除去装置及びプログラム 図5
  • 特許-動きボケ除去装置及びプログラム 図6
  • 特許-動きボケ除去装置及びプログラム 図7
  • 特許-動きボケ除去装置及びプログラム 図8
  • 特許-動きボケ除去装置及びプログラム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-01-31
(45)【発行日】2023-02-08
(54)【発明の名称】動きボケ除去装置及びプログラム
(51)【国際特許分類】
   G06T 7/00 20170101AFI20230201BHJP
   G06T 5/00 20060101ALI20230201BHJP
【FI】
G06T7/00 350C
G06T5/00 710
【請求項の数】 9
(21)【出願番号】P 2020003972
(22)【出願日】2020-01-14
(65)【公開番号】P2021111236
(43)【公開日】2021-08-02
【審査請求日】2022-01-07
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100092772
【弁理士】
【氏名又は名称】阪本 清孝
(74)【代理人】
【識別番号】100119688
【弁理士】
【氏名又は名称】田邉 壽二
(72)【発明者】
【氏名】徐 建鋒
(72)【発明者】
【氏名】田坂 和之
(72)【発明者】
【氏名】符 軍
【審査官】伊知地 和之
(56)【参考文献】
【文献】特開2017-187954(JP,A)
【文献】韓国公開特許第10-2019-0067111(KR,A)
【文献】Xin Tao et al.,Scale-Recurrent Network for Deep Image Deblurring,2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition,米国,IEEE,2018年06月23日,pp.8174-8182,https://ieeexplore.ieee.org/document/8578951
【文献】Sachin Mehta et al.,ESPNet: Efficient Spatial Pyramid of Dilated Convolutions for Semantic Segmentation,Computer Vision and Pattern Recognition,米国,2018年07月25日,pp.1-29,https://arxiv.org/abs/1803.06815
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00
G06T 3/00 - 3/60
G06T 5/00 - 5/50
G06T 7/00 - 7/90
G06V 10/00 - 20/90
G06V 30/418
G06V 40/16
G06V 40/20
CSDB(日本国特許庁)
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
畳込ニューラルネットワークを用いて、入力画像に対して、互いに異なる解像度スケールそれぞれで動きボケ除去を行った出力画像を得る、互いに共通するネットワーク構造を有する少なくとも2つのネットワーク部(N0,N1,N2)を備える動きボケ除去装置であって、
前記ネットワーク部は、入力画像より出力画像を得るまでの途中の処理を担うネットワーク構造として、互いに異なる空間スケールの特徴を少なくとも2つ抽出して統合する効率的空間ピラミッド構造(ES,E34,E25,E14)を備えることを特徴とする動きボケ除去装置。
【請求項2】
前記効率的空間ピラミッド構造は、互いに異なる空間的な拡張率が定義されたカーネル(K1,K2,K3,K4)を用いた畳込を行うことで、互いに異なる空間スケールの特徴を少なくとも2つ抽出して統合することを特徴とする請求項1に記載の動きボケ除去装置。
【請求項3】
前記互いに異なる空間的な拡張率が定義されたカーネルは、互いに同一サイズであり、且つ、当該定義されている拡張率に応じた空間的な広がりを有するものであることを特徴とする請求項2に記載の動きボケ除去装置。
【請求項4】
前記効率的空間ピラミッド構造では、前記互いに異なる空間的な拡張率が定義されたカーネル(K1,K2,K3,K4)を用いた畳込(P102~P402)以外の畳込として、ポイントワイズの畳込(P50,P101~P401、P52)のみを行うことを特徴とする請求項2または3に記載の動きボケ除去装置。
【請求項5】
前記効率的空間ピラミッド構造は、前記互いに異なる空間的な拡張率が定義されたカーネル(K1,K2,K3,K4)を用いた畳込を並列(CL1,CL2,CL3,CL4)に行うことを特徴とする請求項2ないし4のいずれかに記載の動きボケ除去装置。
【請求項6】
前記効率的空間ピラミッド構造は、前記畳込を並列に行った後に、拡張率が低い側での畳込の出力を拡張率が高い側での畳込の出力へと加算(P203,P303,P403)したうえで、前記互いに異なる空間スケールの特徴を少なくとも2つ抽出して統合(P51)することを特徴とする請求項5に記載の動きボケ除去装置。
【請求項7】
前記ネットワーク部は、入力画像より出力画像を得るまでの間にテンソルを逐次的に加工する処理のネットワーク構造として、テンソルの空間サイズを下げながらチャネルサイズを上げる前段側構造と、テンソルの空間サイズを上げながらチャネルサイズを下げる後段側構造と、を有し、前記効率的空間ピラミッド構造は、前記後段側構造に含まれることを特徴とする請求項1ないし6のいずれかに記載の動きボケ除去装置。
【請求項8】
前記少なくとも2つのネットワーク部は、低解像度側のネットワーク部の出力画像がアップサンプリングされたうえで、高解像度側のネットワーク部の動きボケ除去対象となる入力画像と共に入力されるカスケード接続の構造(C1,C2,CS)を有することを特徴とする請求項1ないし7のいずれかに記載の動きボケ除去装置。
【請求項9】
コンピュータを請求項1ないし8のいずれかに記載の動きボケ除去装置として機能ささせることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、計算量を抑制して効果的に画像の動きボケ除去を行うことができる動きボケ除去装置及びプログラムに関する。
【背景技術】
【0002】
動きボケ(モーションブラー)が存在する低画質画像から動きボケを補償・除去する従来技術として、深層学習ニューラルネットワーク技術を活用するものがある。最新技術として例えば、非特許文献1と非特許文献2ではさらに、マルチスケールの深層学習ニューラルネットワークにより動きボケを効果的に除去する。
【0003】
非特許文献1の手法では、画像をマルチスケールで用意して、それぞれを階層的に畳込ニューラルネットワーク(CNN)に入力しており、再構成した小さい画像(低解像度側スケールの層で得た画像)を畳込でアップサンプリングして、次の大きい画像スケール(高解像度側スケール)を扱う層に対しても入力させるようにしている。また、非特許文献2の手法では、異なるスケールで抽出した特徴マップを時系列データとして扱って、LSTM(長・短期記憶)モデルを利用することが特徴である。
【先行技術文献】
【非特許文献】
【0004】
【文献】Nah, Seungjun, Tae Hyun Kim, and Kyoung Mu Lee. "Deep multi-scale convolutional neural network for dynamic scene deblurring." In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 3883-3891. 2017.
【文献】Tao, Xin, Hongyun Gao, Xiaoyong Shen, Jue Wang, and Jiaya Jia. "Scale-recurrent network for deep image deblurring." In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 8174-8182. 2018.
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、深層学習は一般に計算量が多い傾向があるが、非特許文献1や2の手法による深層学習を用いた動きボケ除去の手法は、元々多い計算量がさらに多くなってしまうという課題があった。例えば、サイズ(横×縦)が1280×720の解像度画像を入力すると、非特許文献1では1760.04GFLOPs(ギガ(G)単位での浮動小数点演算(FLOP)の回数(複数のs)、number of floating point operations)の計算量であり、非特許文献2は1434.82GFLOPsの計算量である。
【0006】
上記従来技術の課題に鑑み、本発明は、計算量を抑制して効率的に画像の動きボケ除去を行うことができる動きボケ除去装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するため、本発明は、畳込ニューラルネットワークを用いて、入力画像に対して、互いに異なる解像度スケールそれぞれで動きボケ除去を行った出力画像を得る、互いに共通するネットワーク構造を有する少なくとも2つのネットワーク部(N0,N1,N2)を備える動きボケ除去装置であって、前記ネットワーク部は、入力画像より出力画像を得るまでの途中の処理を担うネットワーク構造として、互いに異なる空間スケールの特徴を少なくとも2つ抽出して統合する効率的空間ピラミッド構造(ES,E34,E25,E14)を備えることを特徴とする。また、コンピュータを前記動き除去装置として機能させるプログラムであることを特徴とする。
【発明の効果】
【0008】
本発明の前記特徴によれば、互いに異なる空間スケールの特徴を少なくとも2つ抽出して統合する効率的空間ピラミッド構造の利用により、軽量化されたネットワーク構造によって計算量を抑制して効果的に動きボケ除去を行うことが可能となる。
【図面の簡単な説明】
【0009】
図1】一実施形態に係る動きボケ除去装置の機能ブロック図である。
図2】第2NW部、第1NW部及び第0NW部における共通のネットワーク構造の一例を示す図である。
図3】デプスワイズ分離畳込の模式例を示す図である。
図4】ESP構造を示す図である。
図5】各拡張率k=1,2,3,4で拡張したサイズ3×3のカーネルの模式例を示す図である。
図6】ESP構造による処理の概念図である。
図7】本実施形態の動きボケ除去装置の動きボケ除去性能の検証結果を表として示すものである。
図8】ネットワーク構造の変形例を示す図である。
図9】一般的なコンピュータにおけるハードウェア構成の例を示す図である。
【発明を実施するための形態】
【0010】
図1は、一実施形態に係る動きボケ除去装置の機能ブロック図である。動きボケ除去装置10は、主要な構成の一例として3階層のマルチスケールでCNNを用いた処理を行う第0NW(ネットワーク)部N0、第1NW部N1及び第2NW部N2を備え、さらに、これらの階層間での解像度調整を行う第1ダウンサンプル部D1、第2ダウンサンプル部D2、第1アップサンプル部U1及び第2アップサンプル部U2を備える。
【0011】
動きボケ除去装置10は、その全体的な処理として、動きボケ除去の対象となる入力画像Pinを読み込み、動きボケ除去した結果として出力画像Poutを得るものである。この際の各部の概略的な処理内容は以下の第1~第3手順をこの順番で実行するというものである。
【0012】
(第1手順)…第2NW部N2における低解像度での動きボケ除去
入力画像Pinは高解像度(例えばサイズ(横×縦)1280×720)で構成されるものであり、第2ダウンサンプル部D2においてこの入力画像Pinをダウンサンプリングして低解像度化した画像P2in(例えば1/4にダウンサンプリングしたサイズ320×180)を得る。第2NW部N2では低解像度の画像P2inに対して動きボケ除去処理を適用し、同低解像度(例えばサイズ320×180)で構成された動きボケ除去された出力画像P2outを得る。
【0013】
(第2手順)…第1NW部N1における中解像度での動きボケ除去
高解像度(例えばサイズ1280×720)の入力画像Pinを、第1ダウンサンプル部D1においてダウンサンプリングして中解像度化した画像P1in(例えば1/2にダウンサンプリングしたサイズ640×360)を得る。また、第1手順で動きボケ除去された低解像度の出力画像P2out(サイズ320×180)を接続C2に示すようにアップサンプル部U2で画像P1inと同サイズ(640×360)へとアップサンプリングした画像P2Uinを得る。第1NW部N1ではこれら中解像度の画像P1in及びP2Uinを入力として、画像P1inについて同中解像度(640×360)において動きボケ除去された出力画像P1outを得る。
【0014】
(第3手順)…第0NW部N0における高解像度での動きボケ除去
第2手順で動きボケ除去された中解像度の出力画像P1out(サイズ640×360)を接続C1に示すようにアップサンプル部U1で高解像度の入力画像Pinと同サイズ(1280×720)へとアップサンプリングした画像P1Uinを得る。第0NW部N0ではこれら高解像度の画像Pin及びP1Uinを入力として、入力画像Pinについて同高解像度(1280×720)において動きボケ除去された出力画像Poutを得る。
【0015】
以上、第1~第3手順として示される通り、動きボケ除去装置10において入力画像Pinを動きボケ除去した出力画像Poutを得る際は、第1手順において低解像度で動きボケ除去し、その結果を利用して第2手順において中解像度で動きボケ除去し、その結果を利用して最後に第3手順において高解像度(入力画像Pinの解像度)で動きボケ除去する、という低解像度側から高解像度側へのマルチスケールで処理が行われる。以下、図1に示されるような3段階でのマルチスケールの場合について説明するが、動きボケ除去装置10では2段階以上の任意数のマルチスケールでの処理を用いて同様に、動きボケ除去を行うことが可能である。
【0016】
以下の説明では、第1~第3手順の説明例と同様に、第0NW部N0において入力及び出力される高解像度の画像サイズが1280×720であり、第1NW部N1において入力及び出力される中解像度の画像サイズが640×360であり、第2NW部N2において入力及び出力される低解像度の画像サイズが320×180である場合を説明例として用いる。
【0017】
第1手順、第2手順、第3手順においてそれぞれの入力データを用いて動きボケ除去の処理を行う、第2NW部N2、第1NW部N1及び第0NW部N0は共通の構造の畳込ニューラルネットワーク構造を有しており、共通の処理によって動きボケ除去を行うものである。図2は、第2NW部N2、第1NW部N1及び第0NW部N0における共通のネットワーク構造NSの一例を示す図である。
【0018】
図2に示されるようにネットワーク構造NSの一例は、入力及び出力テンソルの層L0と、層L0の下位の層L1と、層L1の下位の層L2と、層L2の下位の層L3と、に大別することができる。図示される通り、各層において実行される処理群は以下の通りである。(各処理は以下に説明する通りであるが、図2では欄EXとして凡例欄を設けてある。)
層L0…処理P01,P02,P03,P04,SC0,P05,P06,SK,P07,CS
層L1…処理P11,P12,SC1,P13,E14,D15,P16
層L2…処理P21,P22,P23,SC2,P24,E25,D26,P27
層L3…処理P31,P32,P33,E34,D35,P36
【0019】
以下、第1手順での第2NW部N2による処理の場合を例として、ネットワーク構造NSにおける各処理を順番に説明する。層L0において、処理P01では2つの入力データを結合したテンソルT01を得る。第2NW部N2の場合、最も低解像度の側にあるため、さらに低解像度の側の出力をアップサンプリングしたカスケード接続CS(図1の接続C2やC1)が存在しないため、入力データは1つのみ(図1の第2ダウンサンプル部D2で得た低解像度画像P2inのみ)である。従って、処理P01においては2つのデータを結合することに代えて、1つの入力データ(低解像度画像P2in)とそのコピー画像(同一の低解像度画像P2in)とを結合することで、テンソルT01を得る。従って、低解像度画像P2in(「横×縦×チャネル数」のテンソルサイズ320×180×3)に対して処理P01を適用したテンソルはチャネル数が倍となったサイズ320×180×6で構成されるものとなる。
【0020】
処理P02は、テンソルT01に対してconv3x3, stride=2(カーネルサイズ3×3の畳込処理)及びその後のReLU(正規化線形関数)による活性化処理を施す(以下、説明簡素化のための表記としてこのような処理を、カーネルサイズ等のパラメータ指定の情報も含めて「conv3x3, ReLU」等と表記する。新しい表記を用いる場合にはその都度、説明する。)ことにより、サイズ320×180×64のテンソルT02を得る。次いで処理P03で同様に、テンソルT03に対して「conv3x3, ReLU」の処理を施すことにより同サイズ320×180×64のテンソルT03を得る。テンソルT03は「conv1x1」の処理を伴う層L0内でのスキップ接続SC0の入力とされ、且つ、層L1へと処理をつなげる処理P04の入力とされる。
【0021】
層L0から層L1へとつなげる処理P04は、テンソルT03に「conv3x3, stride=2(カーネルサイズ3x3、ストライド幅2の畳込処理、以下同様), ReLU」の処理を施すことにより、空間解像度を半減し且つチャネル数を倍増したサイズ160×90×128のテンソルT04を得る。処理P11はテンソルT04に対して「conv3x3, ReLU」の処理を施すことにより同サイズ160×90×128のテンソルT11を得る。テンソルT11は「conv1x1」の処理を伴う層L1内でのスキップ接続SC1の入力とされ、且つ、層L2へと処理をつなげる処理P12の入力とされる。
【0022】
層L1から層L2へとつなげる処理P12は、テンソルT11に「conv3x3, stride=2, ReLU」の処理を施すことにより、空間解像度を半減し且つチャネル数を倍増したサイズ80×45×256のテンソルT12を得る。処理P21はテンソルT12に対して「conv3x3, ReLU」の処理を施すことにより同サイズ80×45×256のテンソルT21を得る。次いで同じく、処理P22はテンソルT21に対して「conv3x3, ReLU」の処理を施すことにより同サイズ80×45×256のテンソルT22を得る。テンソルT22は「conv1x1」の処理を伴う層L2内でのスキップ接続SC2の入力とされ、且つ、層L3へと処理をつなげる処理P23の入力とされる。
【0023】
層L2から層L3へとつなげる処理P23は、テンソルT22に「conv3x3, stride=2, ReLU」の処理を施すことにより、空間解像度を半減し且つチャネル数を倍増したサイズ40×22×512のテンソルT23を得る。処理P31はテンソルT23に対して「conv3x3, ReLU」の処理を施すことにより同サイズ40×22×512のテンソルT31を得る。次いで同じく、処理P32はテンソルT31に対して「conv3x3, ReLU」の処理を施すことにより同サイズ40×22×512のテンソルT32を得る。
【0024】
処理P33ではテンソルT32をそのままコピーしてテンソルT33を得る。(すなわち、テンソルT32とテンソルT33は同一である。このコピー処理P33は、図2の構成を対称的なものとして視認性を向上させる便宜上のものであり、実際には省略してよい。)
【0025】
なお、処理P33を境界として、ネットワーク構造NSは前段側処理の構造と後段側処理の構造とに分けることができる。(ここで、スキップ接続等の構造は除くものとする。)前段側処理は処理P01,P02,P03,P04,P11,P12,P21,P22,P23,P31,P32を含み、処理対象となるテンソルに関して、層を下位側へと移るごとに空間サイズ(横×縦)を減らしながらチャネルサイズを増やす処理が行われる。逆に、後段側処理は処理E34,D35,P36,E25,D26,P27,E14,D15,P16,P6を含み、層を上位側へと移るごとに処理対象となるテンソルに関して、空間サイズ(横×縦)を増やしながらチャネルサイズを減らす処理が行われる。(ただし、後述するように処理D35,D26,D15は空間サイズを一定のままチャネルサイズを増やすものであるが、これは後段側の処理P36,P27,P16(層を上位側に移す処理)の前処理として、後段側処理でのテンソルサイズ変化の傾向に合致するものである。)
【0026】
処理E34は、テンソルT33に対してEPS処理を適用することにより、同サイズ40×22×512のテンソルT34を得る。処理D35は、テンソルT34に対して「depth-wise conv3x3(後述), ReLU, conv1x1」の処理を施すことでチャネル数が倍増したサイズ40×22×1024のテンソルT35を得る。処理E34において実行されるEPS処理は、本実施形態において計算量を抑制して高速に動きボケ除去を実現することに寄与するものであり、その詳細は後述する。(なお、後述する層L2,L1における処理E25,E14もEPS処理であり、その詳細は後述する。)
【0027】
処理D35の「depth-wise conv3x3, ReLU, conv1x1」とは、深層学習分野における既存手法であるデプスワイズ分離畳込(depthwise separable convolution)処理である。すなわち、デプスワイズ(処理対象テンソルにおける深さ方向ごと、すなわちチャネルごと)の畳込処理に次いでポイントワイズ(処理対象テンソルにおける点(ピクセル)ごと)の畳込処理を行うものであり、処理D35に関しては以下(1)~(3)の通りである。(後述する処理D26,D15に関しても扱うテンソルサイズが異なるのみであり、同様のデプスワイズ分離畳込処理が行われる。)図3は、処理D35に関してデプスワイズ分離畳込の模式例を示す図であり、テンソルT34からテンソルT35を得るまでの間の中間出力としてのテンソルT341,T342の模式例を示している。
【0028】
(1) テンソルT34(サイズ40×22×512)の512個の各チャネル(サイズ40×22)に対してそれぞれ、デプスワイズ畳込処理(conv3x3)として、当該チャネルに対応するサイズ3×3の2次元カーネル(全部でチャネル数に等しい512個)による畳込を行い、第1中間出力としてテンソルT341(サイズ40×22×512)を得る。
(2) 第1中間出力のテンソルT341に対して「ReLU」処理を行い、第2中間出力としてテンソルT342(同サイズ40×22×512)を得る。
(3) 第2中間出力のテンソルT342(サイズ40×22×512)に対して「conv1x1」処理(ポイントワイズ畳込処理)として、サイズ1×1×512のカーネル(ポイントワイズのカーネル)を1024個用いてそれぞれ畳込処理を行った結果として、処理D35の最終的な出力であるテンソルT35を得る。
【0029】
層L3から層L2へ戻す処理P36は、テンソルT35にピクセルシャッフル(Pixel shuffle)の処理を施すことにより、空間解像度を増加(横及び縦の両方を2倍)させチャネル数が減少(1/4倍)されたサイズ80x45x256のテンソルT360(不図示)を得る。ピクセルシャッフルの処理は畳込ニューラルネットワーク分野(超解像分野など)における既存手法であり、3次元的なブロック構造を有するテンソル内の各ピクセルをその位置に基づいて規則的に並び替える(並び替え前の3次元的なピクセル位置に剰余演算等を施して得られる位置を並び替え後の位置とする)ことにより、チャネル数を1/r2倍(r>1)に減らして、空間解像度をr2倍に増やす(横r倍及び縦r倍)ものである。
【0030】
層L2において、処理P24は、テンソルT22に対して「conv1x1」を施したうえでスキップ接続SC2されるテンソルT220(不図示)と、処理P36の出力テンソルT360(不図示)と、を加算する処理を行うことにより同サイズ80x45x256のテンソルT24を得る。処理E25は、テンソルT24に対してEPS処理(処理E34のEPS処理と共に詳細を後述)を適用することにより、同サイズ80x45x256のテンソルT25を得る。処理D26は、テンソルT25に対して「depth-wise conv3x3, ReLU, conv1x1」の処理を施すことでチャネル数が倍増したサイズ80×45×512のテンソルT26を得る。
【0031】
層L2から層L1へ戻す処理P27は、テンソルT26にピクセルシャッフルの処理を施すことにより、空間解像度を増加(横及び縦の両方を2倍)させチャネル数が減少(1/4倍)されたサイズ160x90x128のテンソルT270(不図示)を得る。
【0032】
層L1において、処理P13は、テンソルT11に対して「conv1x1」を施したうえでスキップ接続SC1されるテンソルT110(不図示)と、処理P27の出力テンソルT270(不図示)と、を加算する処理を行うことにより同サイズ160x90x128のテンソルT13を得る。処理E14は、テンソルT13に対してEPS処理(処理E34,E25のEPS処理と共に詳細を後述)を適用することにより、同サイズ160x90x128のテンソルT14を得る。処理D15は、テンソルT14に対して「depth-wise conv3x3, ReLU, conv1x1」の処理を施すことでチャネル数が倍増したサイズ160x90x256のテンソルT15を得る。
【0033】
層L1から層L0へ戻す処理P16は、テンソルT15にピクセルシャッフルの処理を施すことにより、空間解像度を増加(横及び縦の両方を2倍)させチャネル数が減少(1/4倍)されたサイズ320x180x64のテンソルT160(不図示)を得る。
【0034】
層L0において、処理P05は、テンソルT03に対して「conv1x1」を施したうえでスキップ接続SC0されるテンソルT030(不図示)と、処理P16の出力テンソルT160(不図示)と、を加算する処理を行うことにより同サイズ320x180x64のテンソルT05を得る。処理P06はテンソルT05に対して「conv3x3」の処理を施してサイズ320x180x3(チャネル数が3であり、入力画像P2inと同様のサイズ及びチャネル数)のテンソルT06を得る。処理P07は、テンソルT06と入力画像P2inとを加算する(対応するピクセル位置及びチャネル毎にピクセル値を加算する)ことにより、出力テンソルT07を得る。当該出力テンソルT07はすなわち、図1における第2NW部N2により入力画像P2inを動きボケ除去した結果の出力画像P2outに該当するものである。
【0035】
この出力画像P2out図1にカスケード接続C2として示されるように、アップサンプル部U2によるアップサンプリング処理を経た画像P2Uinとして第1NW部N1へと入力される。このマルチスケールでの処理の流れは、図2においてカスケード接続CS(出力側で見た場合当該ネットワークの出力に対するアップサンプル処理と、高解像度側のネットワークへの入力処理とを表す)として示されている。(なお、図2のカスケード接続CSは、入力側で見た場合、当該ネットワークの入力として、低解像度側のネットワークの出力がアップサンプリングされたものを利用することを表す。)
【0036】
以上、図2のネットワーク構造NSにおける各処理を、第1手順における第2NW部N2の場合に関して説明したが、第2手順及び第3手順における第1NW部N1及び第0NW部N0の場合も同様のネットワーク構造NSにより同様の処理が行われる。すなわち、第2NW部N2、第1NW部N1及び第0NW部N0では入出力画像とそのサイズのみが異なり、共通の図2のネットワーク構造NS(学習によって定まるパラメータは一般に異なる)による共通の処理が行われる。第1NW部N1及び第0NW部N0の場合のネットワーク構造NSに関して入出力画像及びその関連処理は以下の通りである。
【0037】
第1NW部N1の場合、処理P01においてダウンサンプリングされた中解像度の入力画像P1inと、第2NW部N2の出力画像P2outがアップサンプリングされた入力画像P2Uinと、の2つを結合してテンソルT01を得る。処理P07ではテンソルT01のうち中解像度の入力画像P1inと、テンソルT06とを加算して出力テンソルT07すなわち出力画像P1outを得て、当該出力画像P1outはカスケード接続CSによりアップサンプリングされて第0NW部N0へと入力される。
【0038】
第0NW部N0の場合、処理P01において高解像度の入力画像Pinと、第1NW部N1の出力画像P1outがアップサンプリングされた入力画像P1Uinと、の2つを結合してテンソルT01を得る。処理P07ではテンソルT01のうち高解像度の入力画像Pinと、テンソルT06とを加算して出力テンソルT07すなわち出力画像Poutを得る。第0NW部N0は、図1に示されるマルチスケール構造のうち最も高解像度側にあるため、図2のネットワーク構造NSにおいて出力テンソルT07の側からさらに高解像度側へと接続するカスケード接続CSは省略される。
【0039】
以下、詳細を後述するとしていた図2のネットワーク構造NSにおけるESP処理を説明する。ESP処理は層L1,L2,L3においてそれぞれ処理E14,E25,E34として実行され、上記説明したように入出力のテンソルサイズが層(及び、当該ネットワーク構造NSがマルチスケールの第2NW部N2、第1NW部N1及び第0NW部N0のいずれに該当するか)によって異なる点を除いて、共通の畳込ニューラルネットワーク構造(ただし、学習によって定まるパラメータは一般に異なる)による処理が行われる。
【0040】
ESP処理とは効率的空間ピラミッド(Efficient Spatial Pyramid)構造による処理であり、具体的に図4に示されるESP構造ESにより、入力テンソルTinから出力テンソルToutを得るものである。図示される通り、ESP構造ESにより以下のような処理が行われることで、TinよりToutを得ることができる。一例として、4つの列CL1~CL4として示されるように、ESP構造ESにおいては4階層のマルチスケール(拡張率)で並列に処理が行われるが、2階層以上の任意階層数のマルチスケールで同様の処理を行うようにしてもよい。図4の4階層の場合の例では、以下に説明するように列CL1では処理P101,P102が拡張率k=1において行われ、列CL2では処理P201,P202,P203が拡張率k=2において行われ、列CL3では処理P301,P302,P303が拡張率k=3において行われ、列CL4では処理P401,P402,P403が拡張率k=4において行われる。
【0041】
入力テンソルTinは処理P50への入力とされ、且つ、スキップ接続により処理P53への入力とされる。処理P50は入力テンソルに対して「conv1x1」の処理を行うことでテンソルT50を得て、処理P101,P201,P301,P401への共通の入力とする。処理P101,P201,P301,P401ではテンソルT50に対して、カーネルサイズ3×3でそれぞれ拡張率k=1,2,3,4の拡張カーネルを用いたデプスワイズ畳込処理(depth-wise dilated convolution)を適用することにより、それぞれテンソルT101,T201,T301,T401を得る。
【0042】
処理P101,P201,P301,P401における各拡張率kでの拡張・デプスワイズ畳込処理は、処理D35,D26,D15に関して説明したデプスワイズ畳込処理の変形例に相当する。具体的には、図3を参照して説明した処理(1)~(3)のうち、処理(1)において用いるサイズ3×3のカーネルを、拡張率kで拡張したカーネルに変更する。図5は、処理P101,P201,P301,P401における各拡張率k=1,2,3,4で拡張したサイズ3×3のカーネルK1,K2,K3,K4の模式例を示す図である。すなわち、k=1の場合のカーネルは、通常の3×3のカーネルである。図5にて碁盤の目で示されるピクセル分布のうち黒色のピクセルがカーネルの定義される位置である。拡張率k≧2の場合のカーネルK2,K3,K4は、当該拡張率kだけ間引いた(空間的に拡張した)位置に存在する、合計3×3個(カーネルサイズ分の個数)のピクセルが、カーネルの定義される位置となる。(カーネルの位置は各拡張率k=1,2,3,4においてその3×3個のうちの中心位置となる。)拡張率k≧2のカーネルを用いることで、空間的に一定割合kで間引かれて、且つ、カーネルサイズは3×3=9という一定値に保つようにすることで計算量を増加させることなく、面積割合でk2倍のより広い空間範囲の特徴を抽出可能となる。また、処理P101,P201,P301,P401においてk=1,2,3,4と段階的な拡張率のカーネルを並列で利用することにより、マルチスケールで空間的な特徴を抽出可能となる。これらの特徴により、ESP処理は計算量を増加させることなく高精度に動きボケ除去を可能とすることに寄与するものとなる。
【0043】
処理P102,P202,P302,P402ではそれぞれ、テンソルT101,T201,T301,T401に対して「conv1x1」の処理を行うことでそれぞれテンソルT102,T202,T302,T402を得る。処理P203ではテンソルT102とテンソルT202を加算してテンソルT203を得る。処理P303ではテンソルT203とテンソルT302を加算してテンソルT303を得る。処理P403ではテンソルT303とテンソルT402を加算してテンソルT403を得る。処理P51ではテンソルT102,T203,T303,T403を結合して、マルチスケールの特徴が抽出されたものとしてのテンソルT51を得る。処理P52ではテンソルT51に対して「conv1x1」の処理を行うことでテンソルT52を得る。処理P53では、テンソルT52にスキップ接続される入力テンソルTinを加算することで、ESP構造ESにおける最終的な出力としてのテンソルToutを得る。
【0044】
図6は、以上のESP構造ESによる処理の概念図であり、各拡張率k=1,2,3,4のマルチスケールで特徴が抽出されることを模式的に示したものとして、ESP構造ESにおいて処理されるテンソルのうち主要なものを処理の流れと共に示した図である。
【0045】
なお、図4に示したESP構造ESは各拡張率k=1,2,3,4の4段階のマルチスケールで特徴抽出する例であったが、任意のN(N≧2)段階の各拡張率k=1,2,…,Nを有するものとして図4と同様に、ESP構造ESを構成することができる。
【0046】
以上、本実施形態の動きボケ除去装置10によれば、図1に示されるようなマルチスケールで動きボケ除去を適用し、且つこの際、各スケール(図1及び図2の各スケール)において図4に示されるようなESP構造を用いることによって効果的にマルチスケールで統合された特徴を抽出するようにしているため、畳込ニューラルネットワークを用いながらも計算量の増加を抑制して、精度よく動きボケ除去を行うことが可能となる。
【0047】
特に、ESP構造においては、k=1,2,3,4の拡張カーネルを用いたデプスワイズ畳込処理以外の畳込処理(図4のP50,P102~P402,P52と、図3に示されるデプスワイズ畳込処理(拡張カーネルの場合も同様)の最終段にあるconv1x1)は全て「conv1x1」すなわちポイントワイズの畳込処理であることにより、マルチスケールで高速に計算可能である。当該構造はまた、従来技術における畳込層の増大を本実施形態において防止し、ネットワーク構造の軽量化にも寄与している。
【0048】
図7は、本実施形態の動きボケ除去装置10の動きボケ除去性能の検証結果を表として示すものであり、対比例として前掲の非特許文献1(DeepDeblur)及び非特許文献2(SRN)が示されている。検証にはGoProと呼ばれる公開データセットを用いた。なお、この公開データセットは以下のURLよりアクセス可能である。
https://github.com/SeungjunNah/DeepDeblur_release
【0049】
図7にて、PSNR(ピーク信号対雑音比)とSSIM(構造的類似性)は生成した画像(動きボケ除去を適用した画像)と正解画像(Ground truth)の比較であり、精度指標として、値が大きいほど劣化が小さく動きボケ除去の効果が大きいことを示すものである。FLOPs(浮動小数点演算の回数)は計算量の指標であり、数値末尾のGはギガであり、高いほど計算量が多いことを示す。本実施形態は、既存手法である非特許文献1,2と同等の動きボケ除去の効果を維持しつつ、計算量の削減に成功している。
【0050】
以下、種々の補足的事項を説明する。
【0051】
(1)図2を参照して説明したネットワーク構造NSは、入力及び出力テンソルの層L0に加えて、L1,L2,L3の3つの層による合計4層を有するものとしたが、この変形例として、簡素な最小構成である図8に示される層L0及びL1の2層のみで構成されるネットワーク構造NS2でもよい。ネットワーク構造NS2において層L0は図2のネットワーク構造NSと同一であるが、層L1では処理P12(より下位の層L2へ移すもの)が削除され、スキップ接続SC1に代えてコピー処理P330が配置されることにより、テンソルT11をそのままテンソルT13として、ESP処理E14への入力とする。
【0052】
同様にして、ネットワーク構造NSの変形例として、層L0と、これより下位側の少なくとも1つの層とを有する2層以上の任意の階層数の構造を用いることが可能である。
【0053】
(2)図9は、一般的なコンピュータ装置70におけるハードウェア構成を示す図であり、動きボケ除去装置10は、このような構成を有する1つ以上のコンピュータ装置70として実現可能である。コンピュータ装置70は、所定命令を実行するCPU(中央演算装置)71、CPU71の実行命令の一部又は全部をCPU71に代わって又はCPU71と連携して実行する専用プロセッサ72(GPU(グラフィック演算装置)や深層学習専用プロセッサ等)、CPU71や専用プロセッサ72にワークエリアを提供する主記憶装置としてのRAM73、補助記憶装置としてのROM74、通信インタフェース75、ディスプレイ76、マウス、キーボード、タッチパネル等によりユーザ入力を受け付ける入力インタフェース77と、これらの間でデータを授受するためのバスBSと、を備える。
【0054】
動きボケ除去装置10等の各部は、各部の機能に対応する所定のプログラムをROM74から読み込んで実行するCPU71及び/又は専用プロセッサ72によって実現することができる。
【符号の説明】
【0055】
10…動きボケ除去装置、N0…第0NW部、N1…第1NW部、N2…第2NW部
E34,E25,E14…ESP処理、ES…ESP構造
図1
図2
図3
図4
図5
図6
図7
図8
図9