(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-07-26
(45)【発行日】2022-08-03
(54)【発明の名称】画像処理方法及びその装置、コンピュータ機器並びにコンピュータプログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20220727BHJP
G06T 7/207 20170101ALI20220727BHJP
【FI】
G06T7/00 350B
G06T7/207
(21)【出願番号】P 2021518115
(86)(22)【出願日】2020-03-04
(86)【国際出願番号】 CN2020077720
(87)【国際公開番号】W WO2020177701
(87)【国際公開日】2020-09-10
【審査請求日】2021-05-06
(31)【優先権主張番号】201910171831.8
(32)【優先日】2019-03-07
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】514187420
【氏名又は名称】テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ジャン,カイハオ
(72)【発明者】
【氏名】ルゥオ,ウェンハン
(72)【発明者】
【氏名】リ,ホォンドン
【審査官】松浦 功
(56)【参考文献】
【文献】ZHANG, K. et al.,Adversarial Spatio-Temporal Learning for Video Deblurring,IEEE Transactions on Image Processing [online],IEEE,2019年01月,Vol. 28, No. 1,pp. 291-301,[検索日 2022.05.10], インターネット,URL:https://ieeexplore.ieee.org/document/8449842
【文献】GATYS, L.A. et al.,Image Style Transfer Using Convolutional Neural Networks,2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR) [online],IEEE,2016年,pp. 2414-2423,[検索日 2022.05.10], インターネット,URL:https://ieeexplore.ieee.org/document/7780634
【文献】JOHNSON, J. et al.,Perceptual Losses for Real-Time Style Transfer and Super-Resolution [online],2016年03月27日,[検索日 2022.05.10], インターネット,URL:https://arxiv.org/pdf/1603.08155.pdf
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00 - 7/90
G06T 1/00
G06V 10/00 -20/90
Google Scholar
(57)【特許請求の範囲】
【請求項1】
コンピュータ機器が実行する画像処理方法であって、
初期ネットワークをトレーニングして、第1ネットワークを取得するステップであり、前記第1ネットワークは、第1サンプル画像に基づいて、前記第1サンプル画像よりも高い精細度を有する複数の第1処理画像を取得するために使用される、ステップと、
前記第1ネットワークをトレーニングして、第2ネットワークを取得するステップであり、前記第2ネットワークは、第2サンプル画像に基づいて、前記第2サンプル画像よりも高い精細度を有する複数の第2処理画像を取得するために使用され、前記複数の第2処理画像は、動きの違いがある、ステップと、
前記第2ネットワークをトレーニングして、第3ネットワークを取得するステップであり、前記第3ネットワークは、第3サンプル画像に基づいて、前記第3サンプル画像よりも高い精細度を有する複数の第3処理画像を取得するために使用され、前記複数の第3処理画像は、動きの違いがあり、且つ、前記第3サンプル画像に隠された情報を保持する、ステップと、
画像処理命令を受信した場合に、前記第3ネットワークに基づき、原画像に対して画像処理を実行して、複数の目標画像を取得するステップと、を含む、
ことを特徴とする、方法。
【請求項2】
前記初期ネットワークをトレーニングして、第1ネットワークを取得するステップは、
少なくとも1つの第1サンプル画像を前記初期ネットワークに入力して、第1サンプル画像ごとに複数の第1処理画像を出力するステップと、
前記複数の第1処理画像の第1損失関数の関数値が第1目標値より大きい場合に、逆伝播アルゴリズムを介して前記初期ネットワークのパラメータを変更するステップである、前記第1損失関数は、前記複数の第1処理画像の精細度が前記第1サンプル画像よりも高いことを保証するために使用される、ステップと、
前記第1損失関数の関数値が前記第1目標値以下になった後で、前記第1ネットワークを取得するステップと、を含む、
ことを特徴とする、請求項1に記載の方法。
【請求項3】
前記方法は、さらに、
前記複数の第1処理画像をオプティカルフローネットワークに入力して、オプティカルフロー損失を出力するステップと、
前記複数の第1処理画像を知覚ネットワークに入力して、知覚損失を出力するステップと、
前記オプティカルフロー損失、前記知覚損失及び忠実度損失に従って、前記第1損失関数の関数値を取得するステップと、
を含む、
ことを特徴とする、請求項2に記載の方法。
【請求項4】
前記第1ネットワークをトレーニングして、第2ネットワークを取得するステップは、
少なくとも1つの第2サンプル画像を前記第1ネットワークに入力して、第2サンプル画像ごとに複数の第2処理画像を出力するステップと、
前記複数の第2処理画像の第2損失関数の関数値が第2目標値より大きい場合に、逆伝播アルゴリズムを介して前記第1ネットワークのパラメータを変更するステップであり、前記第2損失関数は、前記複数の第2処理画像の精細度が前記第2サンプル画像よりも高く、且つ、動きの違いがあることを保証するために使用される、ステップと、
前記第2損失関数の関数値が前記第2目標値以下になった後で、前記第2ネットワークを取得するステップと、を含む、
ことを特徴とする、請求項1に記載の方法。
【請求項5】
前記方法は、さらに、
前記複数の第2処理画像をオプティカルフローネットワークに入力して、オプティカルフロー損失を出力するステップと、
前記複数の第2処理画像を知覚ネットワークに入力して、知覚損失を出力するステップと、
前記知覚損失に従って、特徴行列損失を取得するステップと、
前記オプティカルフロー損失、前記知覚損失、前記特徴行列損失及び忠実度損失に従って、前記第2損失関数の関数値を取得するステップと、含む、
ことを特徴とする、請求項4に記載の方法。
【請求項6】
前記第2ネットワークをトレーニングして、第3ネットワークを取得するステップは、
少なくとも1つの第3サンプル画像を前記第2ネットワークに入力して、第3サンプル画像ごとに複数の第3処理画像を出力するステップと、
前記複数の第3処理画像の第3損失関数の関数値が第3目標値より大きい場合に、逆伝播アルゴリズムを介して前記第2ネットワークのパラメータを変更するステップであり、前記第3損失関数は、前記複数の第3処理画像の精細度が前記第3サンプル画像よりも高く、動きの違いがあり、且つ、前記第3サンプル画像で隠された情報を保持することを保証するために使用される、ステップと、
前記第3損失関数の関数値が前記第3目標値以下になった後で、前記第3ネットワークを取得するステップと、を含む、
ことを特徴とする、請求項1に記載の方法。
【請求項7】
前記方法は、さらに、
前記複数の第3処理画像をオプティカルフローネットワークに入力して、オプティカルフロー損失を出力するステップと、
前記複数の第3処理画像を知覚ネットワークに入力して、知覚損失を出力するステップと、
前記知覚損失に従って、特徴行列損失を取得するステップと、
前記オプティカルフロー損失、前記知覚損失、前記特徴行列損失、忠実度損失、及びぼかし損失に従って、前記第3損失関数の関数値を取得するステップと、を含む、
ことを特徴とする、請求項6に記載の方法。
【請求項8】
前記方法は、さらに、
前記複数の第1処理画像に従って、少なくとも1つの第2サンプル画像を合成するステップと、
前記複数の第2処理画像に従って、少なくとも1つの第3サンプル画像を合成するステップと、を含む、
ことを特徴とする、請求項1ないし7のいずれか一項に記載の方法。
【請求項9】
前記初期ネットワークは、少なくとも1つの隠れ層を含み、各隠れ層は、畳み込み層、正規化層、及び非線形層を含む、
ことを特徴とする、請求項1に記載の方法。
【請求項10】
画像処理装置であって、
トレーニングモジュール及び処理モジュールを備え、
前記トレーニングモジュールは、初期ネットワークをトレーニングして、第1ネットワークを取得するように構成され、前記第1ネットワークは、第1サンプル画像に基づいて、前記第1サンプル画像よりも高い精細度を有する複数の第1処理画像を取得するために使用され、
前記トレーニングモジュールは、更に、前記第1ネットワークをトレーニングして、第2ネットワークを取得するように構成され、前記第2ネットワークは、第2サンプル画像に基づいて、前記第2サンプル画像よりも高い精細度を有する複数の第2処理画像を取得するために使用され、前記複数の第2処理画像は、動きの違いがあり、
前記トレーニングモジュールは、更に、前記第2ネットワークをトレーニングして、第3ネットワークを取得するように構成され、前記第3ネットワークは、第3サンプル画像に基づいて、前記第3サンプル画像よりも高い精細度を有する複数の第3処理画像を取得するために使用され、前記複数の第3処理画像は、動きの違いがあり、且つ、前記第3サンプル画像で隠された情報を保持し、
前記処理モジュールは、画像処理命令を受信した場合に、前記第3ネットワークに基づき、原画像に対して画像処理を実行して、複数の目標画像を取得する、ように構成される、
ことを特徴とする、装置。
【請求項11】
前記トレーニングモジュールは、更に、
少なくとも1つの第1サンプル画像を前記初期ネットワークに入力して、第1サンプル画像ごとに複数の第1処理画像を出力し、
前記複数の第1処理画像をオプティカルフローネットワークに入力して、オプティカルフロー損失を出力し、
前記複数の第1処理画像を知覚ネットワークに入力して、知覚損失を出力し、
前記オプティカルフロー損失、前記知覚損失及び忠実度損失に従って、第1損失関数の関数値を取得し、
前記複数の第1処理画像の前記第1損失関数の関数値が第1目標値より大きい場合に、逆伝播アルゴリズムを介して、前記初期ネットワークのパラメータを変更し、前記第1損失関数は、前記複数の第1処理画像の精細度が前記第1サンプル画像よりも高いことを保証するために使用され、
前記第1損失関数の関数値が前記第1目標値以下になった後で、前記第1ネットワークを取得する、
ように構成される、
ことを特徴とする、請求項10に記載の装置。
【請求項12】
前記トレーニングモジュールは、更に、
少なくとも1つの第2サンプル画像を前記第1ネットワークに入力して、第2サンプル画像ごとに複数の第2処理画像を出力し、
前記複数の第2処理画像をオプティカルフローネットワークに入力して、オプティカルフロー損失を出力し、
前記複数の第2処理画像を知覚ネットワークに入力して、知覚損失を出力し、
前記知覚損失に従って、特徴行列損失を取得し、
前記オプティカルフロー損失、前記知覚損失、前記特徴行列損失、及び忠実度損失に従って、第2損失関数の関数値を取得し、
前記複数の第2処理画像の前記第2損失関数の関数値が第2目標値より大きい場合に、逆伝播アルゴリズムを介して、前記第1ネットワークのパラメータを変更し、前記第2損失関数は、前記複数の第2処理画像の精細度が前記第2サンプル画像よりも高く、且つ、動きの違いがあることを保証するために使用され、
前記第2損失関数の関数値が前記第2目標値以下になった後で、前記第2ネットワークを取得する、
ように構成される、
ことを特徴とする、請求項10に記載の装置。
【請求項13】
前記トレーニングモジュールは、更に、
少なくとも1つの第3サンプル画像を前記第2ネットワークに入力して、第3サンプル画像ごとに複数の第3処理画像を出力し、
前記複数の第3処理画像をオプティカルフローネットワークに入力して、オプティカルフロー損失を出力し、
前記複数の第3処理画像を知覚ネットワークに入力して、知覚損失を出力し、
前記知覚損失に従って、特徴行列損失を取得し、
前記オプティカルフロー損失、前記知覚損失、前記特徴行列損失、忠実度損失、及びぼかし損失に従って、第3損失関数の関数値を取得し、
前記複数の第3処理画像の前記第3損失関数の関数値が第3目標値より大きい場合に、逆伝播アルゴリズムを介して、前記第2ネットワークのパラメータを変更し、前記第3損失関数は、前記複数の第3処理画像の精細度が前記第3サンプル画像よりも高く、動きの違いがあり、且つ、前記第3サンプル画像で隠された情報を保持することを保証するために使用され、
前記第3損失関数の関数値が前記第3目標値以下になった後で、前記第3ネットワークを取得する、
ように構成される、
ことを特徴とする、請求項10に記載の装置。
【請求項14】
コンピュータ機器であって、
メモリ及びプロセッサを備え、前記メモリは、コンピュータ可読命令を記憶し、前記コンピュータ可読命令が前記プロセッサによって実行されると、前記プロセッサに、請求項1ないし9のいずれか一項に記載の方法を実行させる、コンピュータ機器。
【請求項15】
複数のコンピュータ可読命令を含むコンピュータプログラムであって、コンピュータによって実行されると、前記コンピュータに請求項1ないし9のいずれか一項に記載の方法を実施させる、
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、2019年03月07日に中国特許局に提出された、出願番号が201910171831.8、発明名称「画像処理方法及びその装置、コンピュータ機器並びに記憶媒体」の中国特許出願に基づく優先権を主張し、その内容の全てが引用により本願に組み込まれている。
【0002】
本願は、画像処理分野に関する。具体的には、画像処理方法及びその装置、コンピュータ機器並びにコンピュータプログラムに関する。
【背景技術】
【0003】
モバイル端末の普及に伴い、モバイル端末を使って画像を撮影するプロセスでは、機器の揺れや被写体の動きによって、撮影された画像がぼやけやすくなる。ボケ画像を復元するために、近年では、通常畳み込みニューラルネットワークを使用して、ボケ画像に対して画像処理を実行する。
【0004】
現在、一枚のボケ画像を少なくとも1つの畳み込みニューラルネットワークに同時に入力することができ、当該少なくとも1つの畳み込みニューラルネットワークは並列に配置され、各畳み込みニューラルネットワークは、一枚の鮮明画像を出力し、それにより、少なくとも一枚の鮮明画像を取得することができる。ここで、当該ボケ画像は、精細度がプリセットされた値よりも低い任意の画像である。
【0005】
上記の並列式畳み込みニューラルネットワークアーキテクチャにおいて、並列に配置された畳み込みニューラルネットワークの間には相互作用が足りないため、上記のネットワークアーキテクチャでの畳み込みニューラルネットワーク情報の相互作用能力が弱くなり、より多くの鮮明画像を必要とする場合、より多くの畳み込みニューラルネットワークをトレーニングする必要があるが、畳み込みニューラルネットワークの数が増加したため、画像処理プロセスにおける計算量も増加する。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本願で提供される様々な実施例に基づき、画像処理方法及びその装置、コンピュータ機器並びにコンピュータプログラムを提供する。
【課題を解決するための手段】
【0007】
コンピュータ機器が実行する画像処理方法は、
初期ネットワークをトレーニングして、第1ネットワークを取得するステップであって、当該第1ネットワークは、第1サンプル画像に基づいて、当該第1サンプル画像よりも高い精細度を有する複数の第1処理画像を取得するために使用される、ステップと、
当該第1ネットワークをトレーニングして、第2ネットワークを取得するステップであって、当該第2ネットワークは、第2サンプル画像に基づいて、当該第2サンプル画像よりも高い精細度を有する複数の第2処理画像を取得するために使用され、当該複数の第2処理画像は、動きの違いがある、ステップと、
当該第2ネットワークをトレーニングして、第3ネットワークを取得するステップであって、当該第3ネットワークは、第3サンプル画像に基づいて、当該第3サンプル画像よりも高い精細度を有する複数の第3処理画像を取得するために使用され、当該複数の第3処理画像は、動きの違いがあり、且つ当該第3サンプル画像で隠された情報を保持する、ステップと、
画像処理命令を受信した場合、当該第3ネットワークに基づき、原画像に対して画像処理を実行して、複数の目標画像を取得するステップと、を含む。
【0008】
画像処理装置は、トレーニングモジュール及び処理モジュールを備え、
当該トレーニングモジュールは、初期ネットワークをトレーニングして、第1ネットワークを取得するように構成され、当該第1ネットワークは、第1サンプル画像に基づいて、当該第1サンプル画像よりも高い精細度を有する複数の第1処理画像を取得するために使用され、
当該トレーニングモジュールは更に、当該第1ネットワークをトレーニングして、第2ネットワークを取得するように構成され、当該第2ネットワークは、第2サンプル画像に基づいて、当該第2サンプル画像よりも高い精細度を有する複数の第2処理画像を取得するために使用され、当該複数の第2処理画は、動きの違いがあり、
当該トレーニングモジュールは更に、当該第2ネットワークをトレーニングして、第3ネットワークを取得するように構成され、当該第3ネットワークは、第3サンプル画像に基づいて、当該第3サンプル画像よりも高い精細度を有する複数の第3処理画像を取得するために使用され、当該複数の第3処理画像は、動きの違いがあり、且つ当該第3サンプル画像で隠された情報を保持し、
当該処理モジュールは、画像処理命令を受信した場合、当該第3ネットワークに基づき、原画像に対して画像処理を実行して、複数の目標画像を取得するように構成される。
【0009】
コンピュータ可読命令が記憶された不揮発性記憶媒体は、前記コンピュータ可読命令が1つ以上のプロセッサによって実行される際に、1つ以上のプロセッサに画像処理方法のステップを実行させる。
【0010】
コンピュータプログラムは、コンピュータに、1つ以上のプロセッサに画像処理方法のステップを実行させる。
【0011】
コンピュータ機器は、メモリ及びプロセッサを備え、前記メモリは、コンピュータ可読命令を記憶し、前記コンピュータ可読命令が前記プロセッサによって実行される際に、前記プロセッサに画像処理方法のステップを実行させる。
【0012】
本願の1つ以上の実施例の詳細は、以下の図面及び説明で提案される。本願の他の特徴、目的及び利点は、明細書、図面及び特許請求の範囲から
明らかになる。
【図面の簡単な説明】
【0013】
本願実施例の技術的解決策をより明確に説明するために、以下は、実施例の説明で使用される図面について簡単に紹介する。以下に説明される図面は、本願のいくつかの実施例に過ぎず、当業者にとっては、創造的な作業なしに、これらの図面にしたがって他の図面を得ることもできることは自明である。
【
図1】本願実施例で提供される画像処理方法の実施環境の概略図である。
【
図2】本願実施例で提供される画像処理方法のフローチャートである。
【
図3】本願実施例で提供される画像処理方法の概略図である。
【
図4】本願実施例で提供される初期ネットワークのトレーニングのフローチャートである。
【
図5】は、本願実施例で提供される初期ネットワークのトレーニングの概略図である。
【
図6】本願実施例で提供される第1ネットワークのトレーニングのフローチャートである。
【
図7】本願実施例で提供される第1ネットワークのトレーニングの概略図である。
【
図8】本願実施例で提供される第2ネットワークのトレーニングのフローチャートである。
【
図9】本願実施例で提供される第2ネットワークのトレーニングの概略図である。
【
図10】本願実施例で提供される画像処理装置の概略的な構造図である。
【
図11】本願実施例で提供されるコンピュータ機器の概略的な構造図である。
【発明を実施するための形態】
【0014】
本願の目的、技術的解決策及び利点をより明確且つ明らかにするために、以下、図面及び実施例を参照して、本願について、さらに詳細に説明する。ここで説明された具体的な実施例は、本願を説明するものに過ぎず、本願を限定しないことを理解されたい。
【0015】
図1は、本願実施例で提供される画像処理方法の実施環境の概略図である。
図1を参照すると、当該実施環境は、少なくとも1つの端末101及びサーバ102を含み得る。
【0016】
ここで、当該端末101は、画像処理サービスを提供することができる任意の電子機器であってもよく、それにより、初期ネットワークを当該端末101でトレーニングすることができ、端末101が画像処理命令のトリガー操作を検出すると、トレーニング後のネットワークに基づき、原画像に対して画像処理を実行し、それにより、複数の目標画像を取得するように当該端末101をトリガーすることができる。ここで、当該複数の目標画像は、当該原画像に基づいて再構成された、原画像よりも高い精細度を有する複数のフレームの動的画像である。例えば、当該端末101は、デジタルカメラであってもよく、ユーザがプリセットされた値よりも低い精細度を有するボケ画像を撮影した場合、画像処理命令をトリガーして、当該複数の目標画像を取得することができる。
【0017】
いくつかの実施例において、初期ネットワークを当該サーバ102でトレーニングすることができ、端末101が画像処理命令のトリガー操作を検出すると、端末101は、原画像が搬送された画像処理命令をサーバ102に送信し、サーバ102は、当該画像処理命令に基づき、当該原画像に対して画像処理を実行して、当該複数の目標画像を生成し、当該複数の目標画像を端末101に送信する。
【0018】
ここで、当該サーバ102は、画像処理サービスを提供することができるコンピュータ機器であってもよく、当該サーバは、少なくとも1つのトレーニングセットのうちの少なくとも1つのサンプル画像を介してネットワークをトレーニングして生成し、それにより、トレーニング完了後のネットワークに基づいて画像処理を実行することができる。もちろん、当該サーバ102は、トレーニングデータベースを記憶することができ、それにより、画像処理命令を受信するたびに、より多くのサンプル画像を取得するために、当該画像処理命令によって搬送される原画像をトレーニングデータベースの任意のトレーニングセットに記憶する。
【0019】
以下、上記の実施環境に基づき、本願実施例のコンピュータ機器が実行する画像処理方法について説明する。当該コンピュータ機器は、具体的に、サーバであってもよい。
図2は、本願実施例で提供される画像処理方法のフローチャートである。
図2を参照すると、当該実施例は、次のステップを含む。
【0020】
ステップ201において、サーバが、初期ネットワークをトレーニングして、第1ネットワークを取得し、当該第1ネットワークは、第1サンプル画像に基づいて、当該第1サンプル画像よりも高い精細度を有する複数の第1処理画像を取得するために使用される。
【0021】
ステップ202において、サーバが、当該第1ネットワークをトレーニングして、第2ネットワークを取得し、当該第2ネットワークは、第2サンプル画像に基づいて、当該第2サンプル画像よりも高い精細度を有する複数の第2処理画像を取得するために使用される。当該複数の第2処理画像は、動きの違いがある。
【0022】
ステップ203において、サーバが、当該第2ネットワークをトレーニングして、第3ネットワークを取得し、当該第3ネットワークは、第3サンプル画像に基づいて、当該第3サンプル画像よりも高い精細度を有する複数の第3処理画像を取得するために使用される。当該複数の第3処理画像は、動きの違いがあり、且つ、当該第3サンプル画像で隠された情報を保持する。
【0023】
ステップ204において、画像処理命令を受信した場合、サーバが、当該第3ネットワークに基づき、原画像に対して画像処理を実行して、複数の目標画像を取得する。
【0024】
本願実施例で提供される画像処理方法によれば、サーバは、初期ネットワークをトレーニングして、第1ネットワークを取得し、それにより、畳み込みニューラルネットワークのボケ除去能力をトレーニングし、当該第1ネットワークをトレーニングして、第2ネットワークを取得し、それにより、動きの違いがある複数の処理画像を出力する畳み込みニューラルネットワークの能力をトレーニングし、当該第2ネットワークをトレーニングして、第3ネットワークを取得し、それにより、サンプル画像の非表示情報を回復する畳み込みニューラルネットワークの能力をトレーニングし、それにより、画像処理命令を受信した場合、当該第3ネットワークに基づき、原画像に対して画像処理を実行して、複数の目標画像を取得することができる。1つの畳み込みニューラルネットワークのみを使用して、原画像よりも精細度が高く、動きの違いがあり、且つ原画像の非表示情報を保持する複数の目標画像を出力するため、当該ネットワークの各畳み込み層の情報交換機能は強力である。より多くの鮮明画像を必要とする場合、並列式ネットワークアーキテクチャと比較すると、各画像処理プロセスにおける計算量が削減され、画像処理の効率が向上する。
【0025】
図3は、上記の実施例に基づき、本願実施例で提供される画像処理方法の概略図であり、
図3に示されるように、初期ネットワークをトレーニングして第3ネットワークを取得するプロセスは、3つの段階に分割することができる。いくつかの実施例において、第1段階では、サーバが、初期ネットワークをトレーニングして第1ネットワークを取得し、第2段階では、サーバが、第1ネットワークをトレーニングして第2ネットワークを取得し、第3段階では、サーバが、第2ネットワークをトレーニングして第3ネットワークを取得する。
【0026】
上記の3つのトレーニング段階に基づき、以下、第1段階のトレーニングプロセスについて詳細に説明する。
図4は、本願実施例で提供される初期ネットワークのトレーニングのフローチャートであり、
図4を参照すると、当該実施例は、次のステップを含む。
【0027】
ステップ401において、サーバが、少なくとも1つの第1サンプル画像を初期ネットワークに入力して、第1サンプル画像ごとに複数の第1処理画像を出力する。
【0028】
ここで、当該少なくとも1つの第1サンプル画像は、処理対象となるボケ画像であり、当該ボケ画像は、精細度が第1プリセットされた閾値よりも低い画像であってもよく、当該複数の第1処理画像は、第1サンプル画像に対してボケ除去処理を実行する複数の鮮明画像である。例えば、当該鮮明画像は、精細度が当該ボケ画像よりも高い画像であってもよく、当該鮮明画像は、精細度が当該ボケ画像よりも高く、且つ第2プリセットされた閾値より高い画像であってもよい。ここで、当該第2プリセットされた閾値は、当該第1プリセットされた閾値より高い任意の値である。本願実施例は、当該第1プリセットされた閾値及び第2プリセットされた閾値の値について特に限定しない。
【0029】
図5は、本願実施例で提供される初期ネットワークのトレーニングの概略図であり、
図5に示されるように、以下、入力及び出力の2つのプロセスからの初期ネットワークのトレーニングをそれぞれ紹介する。
【0030】
1)上記のステップ401の入力プロセスでは、各第1サンプル画像について、サーバは、先ず、当該第1サンプル画像をデコーディングし、それにより、当該第1サンプル画像の各画素点の配置行列を取得し、当該配置行列を当該初期ネットワークに入力する。例示的に、当該第1サンプル画像は、シングルチャネル画像(1次元の配置行列に対応する)であってもよく、マルチチャネル画像(多次元の配置行列に対応する)であってもよい。本願実施例は、当該第1サンプル画像のチャネル数について特に限定しない。例えば、当該第1サンプル画像は、赤緑青(RGB)などの3つのチャネルの画像であってもよく、それにより、当該第1サンプル画像をデコーディングした後で、画素点の3次元行列を取得することができる。
【0031】
いくつかの実施例において、サーバは、前処理プロセスにより当該第1サンプル画像を取得することができる。即ち、サーバは、複数の動きの違いがある複数の鮮明画像(
図5に示されるI
sharp)を1つのぼやけた第1サンプル画像(
図5に示されるI
blurry)に合成し、それにより、複数の第1処理画像(
図5に示されるI
syn)と当該複数の鮮明画像I
sharpとの間の差異情報を取得するのに便利であるため、第1損失関数を取得するのに便利である。ここで、当該複数の鮮明画像は、人が移動するという動的プロセス中に連続して撮影された画像であってもよく、ビデオからインターセプトされた連続するビデオ画像フレームであってもよく、当該複数の鮮明画像は、ローカルに記憶されてもよく、クラウドから取得されたものであってもよいが、本願実施例は、当該複数の鮮明画像の取得方法について特に限定しない。
【0032】
例示的に、トレーニングデータが十分である場合、サーバは、前処理プロセスを実行せず、データベースに少なくとも1つのトレーニングセットを記憶する。各トレーニングセットはいずれも、少なくとも1つの第1サンプル画像を含み、サーバは、当該少なくとも1つのトレーニングセットの全ての第1サンプル画像を当該少なくとも1つの第1サンプル画像として取得することができ、それにより、データベースから既存のトレーニングデータを直接抽出する。これにより、第1サンプル画像の前処理を回避し、初期ネットワークのトレーニング効率を向上させる。
【0033】
上記のプロセスにおいて、当該初期ネットワークは、少なくとも1つの隠れ層を含み、当該少なくとも1つの隠れ層は直列に接続され、前の隠れ層の出力画像を現在の隠れ層の入力画像として使用することができる。例示的に、各隠れ層は、畳み込み層、正規化層、及び非線形層を含み、これは、上記の少なくとも1つの隠れ層の連結と同様である。
【0034】
ここで、当該畳み込み層は、特徴情報を抽出するための畳み込み処理を実行するために使用され、当該畳み込み層は、少なくとも1つの畳み込みカーネルを含み得る。各畳み込みカーネルは、畳み込み操作を実行する時の重み行列を指示するために使用される。当該正規化層は、前の畳み込み層の出力画像を正規化処理するために使用され、当該非線形層は、前の正規化層の出力画像に非線形の活性化関数を追加するために使用される。
【0035】
上記の初期ネットワークのアーキテクチャにおいては、例として、i番目の隠れ層の場合、i-1番目の隠れ層の非線形層の出力画像を当該i番目の隠れ層の畳み込み層に入力し、i番目の隠れ層の畳み込み層の出力画像を当該i番目の隠れ層の正規化層に入力し、i番目の隠れ層の正規化層の出力画像を当該i番目の隠れ層の非線形層に入力し、当該i番目の隠れ層の非線形層の出力画像をi+1番目の隠れ層の畳み込み層に入力し、これによって類推する。ここで、iは、1より大きいか等しい任意の正の整数であり、即ち、i番目の隠れ層は、当該パス内の任意の隠れ層であってもよく、上記の入力画像及び出力画像は、両方とも特徴マップ(feature map)であることに留意されたい。
【0036】
いくつかの実施例において、サーバは、第1サンプル画像のチャネル数に従って、最後の隠れ層の畳み込み層のうちの畳み込みカーネルの数を設定し、それにより、初期ネットワークによって出力される当該複数の第1処理画像の数を制御することができる。一つの可能な実施形態において、第1サンプル画像のチャネル数がNである場合、最後の隠れ層の畳み込み層の畳み込みカーネル数をN*Kに設定し、それにより、複数の第1処理画像の出力数をKに制御することができる。ここで、N及びKは、正の整数である。例えば、第1サンプル画像が3チャネル画像である場合、上記の畳み込みカーネルの数を21に設定することにより、当該第1サンプル画像を初期ネットワークに入力した後で、7つの3チャネルの第1処理画像を出力することができるようにする。
【0037】
2)上記の状況に基づき、上記のステップ401の出力プロセスにおいて、サーバは、第1サンプル画像ごとに、当該少なくとも1つの隠れ層を順次入力して、複数の第1処理画像を出力することができ、それにより、1つの初期ネットワークを使用して複数の第1処理画像を取得することにより、複数の畳み込みニューラルネットワークを構築して複数の第1処理画像を取得するという煩わしいアーキテクチャを回避し、1つの画像処理プロセスにおける計算量を減らし、画像処理ロジックを最適化する。
【0038】
例示的に、上記の各隠れ層間を接続する場合、残差ブロック(residual block)を導入することもでき、これは、各隠れ層について、前の隠れ層の非線形層の出力画像を現在の隠れ層の正規化層の出力画像と重ね合わせた後で、残差ブロックを取得し、当該残差ブロックを当前隠れ層の非線形層の入力画像として使用することができ、それにより、ニューラルネットワークの劣化問題が解決され、初期ネットワークが深くなるほど、画像処理の効果が向上する。
【0039】
例示的に、上記の正規化層は、バッチ正規化(batch normalization、BNと略称)を使用して線形操作を実行することは、1次元又は多次元の特徴行列を持つ入力画像について、各次元の行列点の平均値と分散を取得し、当該平均値と分散に従って、当該次元の各行列点を正規化し、正規化された行列点のそれぞれを線形変換して、出力画像の多次元特徴行列を取得する。上記のバッチ正規化操作により、各隠れ層の出力画像を同様に分布させることができ、それにより、初期ネットワークのトレーニング速度を高速化させ、初期ネットワークの勾配分散問題を改善する。
【0040】
例示的に、上記の非線形層で使用する活性化関数は、sigmoid関数、tanh関数、及びReLU関数などであってもよい。いくつかの実施例において、ReLU関数を使用して非線形層の計算量を減らし、逆伝播による深層ネットワークの勾配消失の問題を回避することができる。
【0041】
いくつかの実施例において、当該隠れ層は、正規化層を含まなくてもよく、即ち、各隠れ層は、畳み込み層及び非線形層のみを含み、それにより、初期ネットワークのアーキテクチャを単純化する。もちろん、当該隠れ層は、正規化層及び非線形層を含まなくてもよく、畳み込み層のみを介して入力画像に対して特徴抽出を実行し、それにより、初期ネットワークのアーキテクチャを単純化する。
【0042】
いくつかの実施例において、第1サンプル画像及び第1処理画像のサイズが変化しないことを保証するために、サーバは、各畳み込みプロセス中にゼロパディング(zero padding)処理を実行して、畳み込み後の特徴行列のサイズが変更しないようにする。
【0043】
ステップ402において、サーバが、当該複数の第1処理画像をオプティカルフローネットワークに入力して、オプティカルフロー損失を出力する。
【0044】
ここで、当該オプティカルフローネットワークは、当該複数の第1処理画像と当該第1サンプル画像との間のオプティカルフロー損失を計算するために使用され、当該オプティカルフロー損失は、当該複数の第1処理画像と第1サンプル画像との間のオブジェクトの時空的相関情報(動きの違い)を表す。
【0045】
いくつかの実施例において、オプティカルフローネットワークは、収縮部分及び拡大部分を含み得る。当該収縮部分は、当該複数の第1処理画像の特徴情報を深く抽出し、当該拡大部分は、収縮部分の出力画像を高画素の画像に回復するために使用される。
【0046】
上記の収縮部分は、少なくとも1つの隠れ層を含み得る。各隠れ層は、接続順序に従って、1つの畳み込み層、1つの非線形層及び1つのプーリング層を含み得る。ここで、畳み込み層及び非線形層は、上記のステップ401で紹介された初期ネットワークと同様であり、それに応じて参照することができ、当該プーリング層は、畳み込み層及び非線形層によって処理された出力画像を圧縮するために使用され、当該出力画像のサイズを縮小し、それにより、より深い時空的相関情報の抽出が容易になり、それとともに、オプティカルフローネットワークの計算の複雑さも簡素化される。
【0047】
例示的に、上記の収縮部分において、拡張畳み込み(dilated convolution)方法により畳み込み演算を行い、それにより、受容野(receptive field)を効果的に増加させ、より多くの時空的相関情報を抽出することができ、オプティカルフローネットワークの計算量を減らすことができる。
【0048】
上記の拡大部分において、アンプーリング(unpooling)方法、アップサンプリング(unsampling)方法、又は逆畳み込み(deconvolution、転置畳み込みとも呼ばれる)方法のうちの少なくとも1つの拡大方法を使用することができ、それにより、収縮部分の出力画像のサイズを増加させ、収縮部分の出力画像の解像度を向上させる。
【0049】
上記のプロセスにおいて、サーバは、当該オプティカルフローネットワークを介して、当該複数の第1処理画像に対して、第1サンプル画像の画素に対する当該複数の第1処理画像の画素の時間領域及び空間領域の変化(即ち、時空的相関情報)を抽出することができ、それにより、当該第1処理画像の画素と当該第1サンプル画像の画素との間の画素対応関係を取得する。サーバは、当該画素対応関係に従って、当該第1処理画像と第1サンプル画像との間のオブジェクトのオプティカルフロー損失を取得することができる。
【0050】
いくつかの実施例において、上記のステップ402のオプティカルフロー損失の損失関数は、次の式で表すことができる。
【0051】
【0052】
以上の式において、Iblurryは、第1サンプル画像(即ち、初期ネットワークの入力画像)を表し、Gは、初期ネットワークの作用を表し、それにより、G(Iblurry)は、第1処理画像(即ち、初期ネットワークによって処理された第1サンプル画像)を表し、xは、幅方向における第1処理画像の画素点の位置を表し、yは、高さ方向における第1処理画像の画素点の位置を表し、Wは、第1処理画像の幅を表し、Hは、第1処理画像の高さを表し、Iflowは、オプティカルフローネットワークによって抽出された第1処理画像の時空的相関情報を表す特徴マップを表し、それにより、Lflowは、複数の第1処理画像と元の鮮明画像との間の時空的相関情報を表すことができる。
【0053】
ステップ403において、サーバが、当該複数の第1処理画像を知覚ネットワークに入力して、知覚損失を出力する。
【0054】
ここで、当該知覚ネットワークは、当該複数の第1処理画像と、第1サンプル画像を合成した鮮明画像との間の知覚損失を計算するために使用され、当該知覚損失は、当該複数の第1処理画像と当該鮮明画像との間の高レベルの特徴損失を表す。
【0055】
いくつかの実施例において、当該知覚ネットワークは、事前にトレーニングされたVGGネットワーク(visual geometry group network、VGGNetと略称)であってもよく、当該複数の第1処理画像と当該鮮明画像との間の知覚の類似度を測定し、それにより、当該初期ネットワークのボケ除去効果を評価することができる。例えば、当該知覚ネットワークは、VGG-16又はVGG-19であり、本願実施例は、当該知覚ネットワークのアーキテクチャについて特に限定しない。
【0056】
当該知覚ネットワークがVGG-16であることを例とすると、VGG-16は16個の隠れ層を含み、各隠れ層はいずれも、3*3の小型畳み込みカーネル、及び2*2の最大プーリング層を使用し、ネットワークの深化に伴い、毎回プーリング後の画像のサイズは半分に縮小し、深さは2倍になり、それにより、知覚ネットワークの構造を簡素化し、高レベルの特徴損失を抽出するのに便利である。
【0057】
いくつかの実施例において、上記のステップ403の知覚損失の損失関数は、次の式で表すことができる。
【0058】
【0059】
以上の式において、Isharpは、第1サンプル画像を合成した鮮明画像(即ち、第1サンプル画像を前処理するときに使用される鮮明画像)を表し、Iblurryは、第1サンプル画像(即ち、初期ネットワークの入力画像)を表し、Gは、初期ネットワークの作用を表し、それにより、G(Iblurry)は、第1処理画像(即ち、初期ネットワークによって処理された第1サンプル画像)を表すことができ、Фは、知覚ネットワークの作用を表し、それにより、Lperceptualは、第1処理画像と元の鮮明画像との間の高レベルの特徴損失を表すことができる。
【0060】
上記のプロセスにおいて、前処理する場合、鮮明画像を介して第1サンプル画像を合成することができることは、鮮明画像に対してファジィ処理を行うことと同等であり、その後、ぼやけた第1サンプル画像を初期ネットワークGに入力して、第1処理画像G(Iblurry)を出力することは、第1サンプル画像に対して精細度の復元を実行することと同等であるため、初期ネットワークGのボケ除去効果がよくなるほど、第1処理画像G(Iblurry)は元の鮮明画像にますます近くなり、知覚損失の損失関数Lperceptualも0に近づき、それにより、損失関数Lperceptualの値に従って、初期ネットワークGのボケ除去効果を評価することができる。
【0061】
ステップ404においては、サーバが、当該オプティカルフロー損失、当該知覚損失及び忠実度損失に従って、第1損失関数の関数値を取得する。
【0062】
上記のプロセスにおいては、当該第1損失関数が、当該複数の第1処理画像の精細度が当該第1サンプル画像よりも高いことを保証するために使用され、第1損失関数L1は、オプティカルフロー損失Lflow、知覚損失Lperceptual、及び忠実度損失LMSEを含んでよく、次の式で表すことができる。
【0063】
【0064】
ここで、オプティカルフロー損失Lflow及び知覚損失Lperceptualの関数項は、上記のステップ403で既に紹介されており、それに応じて参照することができるが、忠実度損失LMSEの関数項では、x、y、W、及びHの意味は、オプティカルフロー損失Lflowと同じである。
【0065】
上記のプロセスにおいて、忠実度損失は、第1処理画像と鮮明画像との間の画素の平均二乗誤差(mean square error、MSEと略称)を計算した結果を表すために使用される。オプティカルフロー損失、忠実度損失、及び、知覚損失の寄与を共同で考慮することにより、第1処理画像と鮮明画像との間の画素及び時空的相関情報の違いを判断することができるだけでなく、第1処理画像と鮮明画像との間の知覚の違いがあるため、より正確なパラメータ調整を行うことができる。
【0066】
ステップ405において、当該複数の第1処理画像の当該第1損失関数の関数値が第1目標値より大きい場合、サーバは、逆伝播アルゴリズムを介して当該初期ネットワークのパラメータを変更する。
【0067】
ここで、当該第1目標値は、0より大きく1より小さい任意の値であってもよく、逆伝播アルゴリズム(backpropagation algorithm、BPアルゴリズムとも呼ばれる)は、伝播及び重み更新などの2つのリンクの繰り返しループの反復である。
【0068】
例示的に、当該第1目標値は0.01であってもよく、それにより、第1損失関数の関数値が0.01より大きい場合、サーバは、逆伝播アルゴリズムを介して初期ネットワークのパラメータを変更する。
【0069】
上記のプロセスにおいて、当該第1損失関数の関数値が第1目標値より大きい場合、連鎖導出式を通じて、重み行列を変更するための基礎を取得することができ、それにより、当該基礎に従って初期ネットワークのパラメータを変更する。
【0070】
ステップ406において、サーバが、上記のステップ401~405の反復実行を行い、当該第1損失関数の関数値が当該第1目標値以下になった後で、当該第1ネットワークを取得する。
【0071】
ここで、当該第1ネットワークは、第1サンプル画像に基づいて、当該第1サンプル画像よりも高い精細度を有する複数の第1処理画像を取得するために使用される。
【0072】
上記のステップ405により、第1損失関数の関数値が所望値を満たさない場合、逆伝播アルゴリズムを介して初期ネットワークのパラメータを変更し、それにより、第1損失関数の関数値が当該第1目標値以下になるまで、上記のステップ401~405で実行される操作を反復実行する。これは、初期ネットワークのボケ除去能力に対するトレーニングを完了したと見なすことができ、それにより、トレーニング後のボケ除去能力を備えた初期ネットワークを第1ネットワークとして使用する。
【0073】
上記のステップ401~406において、サーバは、第1損失関数に基づき、初期ネットワークをトレーニングして、第1ネットワークを取得し、それにより、第1段階のトレーニングを完了して、第1ネットワークが、第1サンプル画像よりも精細度が高い複数の第1処理画像を出力することができるようにする。例示的に、サーバは、オプティカルフロー損失及び/又は知覚損失を取得しなくてもよいため、トレーニングプロセスを簡素化させる。
【0074】
上記の第1段階のトレーニングに基づき、本願実施例で提供される第2段階のトレーニング方法を実行することができ、
図6は、本願実施例で提供される第1ネットワークのトレーニングのフローチャートであり、
図6を参照して、以下、第2段階のトレーニング方法について詳細に説明する。
【0075】
ステップ601において、サーバが、当該複数の第1処理画像に従って、少なくとも1つの第2サンプル画像を合成する。
【0076】
図7は、本願実施例で提供される第1ネットワークのトレーニングの概略図であり、
図7に示されるように、上記のプロセスにおいて、サーバは、当該複数の第1処理画像の各画素点の平均値を当該第2サンプル画像の各画素点の値として使用する。例えば、初期ネットワークが7枚の第1処理画像を出力することができる場合、サーバは、当該7枚の第1処理画像に対応する位置の画素点の画素値を合計し、7で割って、第2サンプル画像を取得することができる。
【0077】
もちろん、上記の例に基づいて、サーバは、当該7枚の第1処理画像から任意の3枚の第1処理画像を選択し、当該3枚の第1処理画像の対応する位置の画素点の画素値を合計し、3で割って、1枚の第2サンプル画像を取得することもできる。残りの4枚の第1処理画像に対して、同様な操作を実行して、3枚の第1処理画像を選択して画素の平均値によって、もう1枚の第2サンプル画像を取得することもでき、それにより、当該7枚の第1処理画像から、2枚の第2サンプル画像を取得することができる。
【0078】
上記のステップ601において、サーバは、当該複数の第1処理画像に従って、少なくとも1つの第2サンプル画像を合成することができ、それにより、ローカルのサンプル容量がトレーニング要件を満たさない場合、トレーニングプロセス中に新しいサンプル画像を継続的に生成することができ、大量のインターネットデータから第2サンプル画像を選別することを回避し、それにより、第1ネットワークに対する更なるトレーニングによるコストを低減させる。
【0079】
いくつかの実施例において、サーバは、第1処理画像なしに当該第2サンプル画像を取得することもできる。即ち、サーバは、時空的相関情報を有する任意の複数の鮮明画像を1つのぼやけた第2サンプル画像に合成し、それにより、複数の第2処理画像と当該複数の鮮明画像との間の差異情報を取得するのに便利であるため、第2損失関数を取得するのに便利である。ここで、当該複数の鮮明画像は、人が移動するという動的プロセス中に連続して撮影された画像であってもよく、ビデオからインターセプトされた連続するビデオ画像フレームであってもよく、当該複数の鮮明画像は、ローカルに記憶されてもよく、クラウドから取得されたものであってもよいが、本願実施例は、当該複数の鮮明画像の取得方法について特に限定しない。
【0080】
いくつかの実施例において、データベースに少なくとも1つのトレーニングセットが記憶されている場合、サーバは、第1処理画像に従って第2サンプル画像を生成せず、当該少なくとも1つのトレーニングセット内の全てのトレーニングデータを当該少なくとも1つの第2サンプル画像として取得することもでき、それにより、データベースから既存のトレーニングデータを直接抽出し、畳み込みニューラルネットワークのトレーニングプロセスを簡素化する。
【0081】
ステップ602において、サーバが、少なくとも1つの第2サンプル画像を当該第1ネットワークに入力して、第2サンプル画像ごとに複数の第2処理画像を出力する。
【0082】
上記のステップ602は、上記のステップ401と同様であるが、初期ネットワークのボケ除去能力を初期トレーニングして、第1ネットワークを取得したため、更なるトレーニングのために第2サンプル画像を第1ネットワークに入力し、それに応じて参照することができる。
【0083】
ステップ603において、サーバが、当該複数の第2処理画像をオプティカルフローネットワークに入力して、オプティカルフロー損失を出力する。
【0084】
上記のステップ603は、上記のステップ402と同様であるため、それに応じて参照することができる。
【0085】
ステップ604において、サーバが、当該複数の第2処理画像を知覚ネットワークに入力して、知覚損失を出力する。
【0086】
上記のステップ604は、上記のステップ403と同様であるため、それに応じて参照することができる。
【0087】
ステップ605において、サーバが、当該知覚損失に従って、特徴行列損失を取得する。
【0088】
上記のプロセスにおいて、サーバは、ステップ604から取得した知覚損失に基づき、次の式でグラム行列(gram matrix、Gram行列とも呼ばれる)を取得することができる。
【0089】
【0090】
ここで、Fiは、i番目の第2サンプル画像に対応する複数の第2処理画像の特徴行列(即ち、当該複数の第2処理画像が知覚ネットワークを介して出力された特徴マップ)を表し、Fi
Tは、i番目の第2サンプル画像に対応する複数の第2処理画像の特徴行列の転置行列を表し、Nは、毎回トレーニングするときのサンプル数を表し、M=C*H*Wであり、Cは、特徴行列Fiのチャネル数を表し、Hは、特徴行列Fiの高さを表し、Wは、特徴行列Fiの幅を表す。
【0091】
例示的に、i(iは、1より大きくNより小さい任意の整数である)番目の第2サンプル画像に対応する複数の第2処理画像の場合、Fi
T・Fiを計算する場合、先ず、知覚ネットワークの各畳み込み層の複数の特徴を2対2で内積を取得して、各畳み込み層のGram行列を取得し、それにより、対応する畳み込み層間のユークリッド距離を計算し、異なる畳み込み層のユークリッド距離を合計して得られた結果をi番目の第2サンプル画像に対応する複数の第2処理画像の特徴行列として使用し、即ち、任意の第2サンプル画像に対応する複数の第2処理画像の場合、上記の方法により特徴行列を計算することができる。
【0092】
上記のステップ605において、当該特徴行列損失は、第1処理画像と第2処理画像との間の動きの違い情報を表し、Gram行列の特徴行列損失に基づく関数式を以下に示す。
【0093】
【0094】
ここで、Kは、第1ネットワークによって毎回出力される第2処理画像の数を表し、I’
sharpは、第2サンプル画像を合成する鮮明画像(即ち、ステップ601の複数の第1処理画像)を表し、I‘
blurryは、第2サンプル画像(即ち、第1ネットワークの入力画像)を表し、Gは、第1ネットワークの作用を表し、それにより、G(I‘
blurry)は、第2処理画像(即ち、第1ネットワークによって処理された第2サンプル画像)を表すことができ、Gramは、Gram行列の演算を表し、それにより、LGramは、第2処理画像と元の鮮明画像(第1処理画像)との間の特徴行列損失(即ち、動きの差異情報)を表すことができる。
【0095】
ステップ606において、サーバが、当該オプティカルフロー損失、知覚損失、当該特徴行列損失及び忠実度損失に従って、第2損失関数の関数値を取得する。
【0096】
上記のプロセスにおいて、当該第2損失関数は、当該複数の第2処理画像の精細度が当該第2サンプル画像よりも高く、且つ動きの違いがあることを保証するために使用され、第2損失関数L2は、オプティカルフロー損失L’
flow、知覚損失L’
perceptual、特徴行列損失LGram、及び忠実度損失L’
MSEを含んでよく、次の式で表すことができる。
【0097】
【0098】
ここで、特徴行列損失LGramの関数項は、上記のステップ605で紹介されており、それに応じて参照することができる。ここで、L’
flowは、オプティカルフローネットワークによって抽出された、第2処理画像の時空的相関情報を表す特徴マップを表し、知覚損失L’
perceptual及び忠実度損失L’
MSEの関数項では、I’
sharp、I’
blurry、及びG(I’
burry)は、特徴行列損失LGramでの意味と同じである。
【0099】
さらに、xは、幅方向における第2処理画像の画素点の位置を表し、yは、高さ方向における第2処理画像の画素点の位置を表し、Wは、第2処理画像の幅(第1処理画像I’
sharpの幅と同じである)を表し、Hは、第2処理画像の高さ(第1処理画像I’
sharpの高さと同じである)を表し、Фは、知覚ネットワークの作用を表す。
【0100】
上記のプロセスにおいて、忠実度損失は、第2処理画像と第1処理画像との間の画素の平均二乗誤差(mean square error、MSEと略称)を計算した結果を表すために使用される。オプティカルフロー損失、オプティカルフロー損失、忠実度損失、知覚損失、及び特徴行列の寄与を共同で考慮することにより、第1処理画像と第2処理画像との間の画素及び時空的相関情報の違いを判断することができるだけでなく、第1処理画像と第2処理画像との間の知覚の違い及び動きの違いがあると考慮するため、より正確なパラメータ調整を行うことができる。
【0101】
ステップ607において、当該複数の第2処理画像の当該第2損失関数の関数値が第2目標値より大きい場合、サーバは、逆伝播アルゴリズムを介して当該第1ネットワークのパラメータを変更する。
【0102】
ここで、当該第2目標値は、0より大きいか1より小さい任意の値であってもよく、当該第2目標値は、第1目標値と同じであってもよく、第1目標値と異なってもよいが、本願実施例は、当該第2目標値の値について特に限定しない。
【0103】
上記のステップ607は、ステップ405と同様であるため、それに応じて参照することができる。
【0104】
ステップ608において、サーバが、上記のステップ601~607の反復実行を行い、当該第2損失関数の関数値が当該第2目標値以下になった後で、当該第2ネットワークを取得する。
【0105】
ここで、当該第2ネットワークは、第2サンプル画像に基づいて、当該第2サンプル画像よりも高い精細度を有する複数の第2処理画像を取得するために使用され、当該複数の第2処理画像は、動きの違いがある。
【0106】
上記のステップ608により、第2損失関数の関数値が所望値を満たさない場合、逆伝播アルゴリズムを介して第1ネットワークのパラメータを変更し、それにより、第2損失関数の関数値が当該第2目標値以下になるまで、上記のステップ601~607で実行される操作を繰り返して実行するが、これは、動きの違いがある画像を出力する第1ネットワークのトレーニングが完了したと見なすことができ、それにより、トレーニング後の第1ネットワークを当該第2ネットワークとして使用する。
【0107】
上記のステップ601~608において、サーバは、第2損失関数に基づき、第1ネットワークをトレーニングして、第2ネットワークを取得し、それにより、第2段階のトレーニングを完了して、第2ネットワークが、精細度が第2サンプル画像よりも高く、且つ、動きの違いがある複数の第2処理画像を出力することができるようにする。例示的に、サーバは、オプティカルフロー損失及び/又は知覚損失を取得しなくてもよいため、トレーニングプロセスを簡素化させる。
【0108】
上記の第2段階のトレーニングに基づき、本願実施例で提供される第3段階のトレーニング方法を実行することができ、
図8は、本願実施例で提供される第2ネットワークのトレーニングのフローチャートである。
図8を参照して、以下、第2段階のトレーニング方法について詳細に説明する。
【0109】
ステップ801において、サーバが、当該複数の第2処理画像に従って、少なくとも1つの第3サンプル画像を合成する。
【0110】
図9は、本願実施例で提供される第2ネットワークのトレーニングの概略図であり、
図9に示されるように、上記のステップ801は、ステップ601と同様であり、それに応じて参照することができる。
【0111】
ステップ802において、サーバが、少なくとも1つの第3サンプル画像を当該第2ネットワークに入力して、第3サンプル画像ごとに複数の第3処理画像を出力する。
【0112】
上記のステップ802は、ステップ602又はステップ401と同様であるため、それに応じて参照することができる。
【0113】
ステップ803において、サーバが、当該複数の第3処理画像をオプティカルフローネットワークに入力して、オプティカルフロー損失を出力する。
【0114】
上記のステップ803は、ステップ603又はステップ402と同様であるため、それに応じて参照することができる。
【0115】
ステップ804において、サーバが、当該複数の第3処理画像を知覚ネットワークに入力して、知覚損失を出力する。
【0116】
上記のステップ804は、ステップ604又はステップ403と同様であるため、それに応じて参照することができる。
【0117】
ステップ805において、サーバが、当該知覚損失に従って、特徴行列損失を取得する。
【0118】
上記のステップ805は、ステップ605と同様であるため、それに応じて参照することができる。
【0119】
ステップ806において、サーバが、当該オプティカルフロー損失、知覚損失、当該特徴行列損失、忠実度損失、及びぼかし損失に従って、第3損失関数の関数値を取得する。
【0120】
ここで、当該ぼかし損失は、特徴の欠落による第3サンプル画像と第3処理画像との間の非表示差異情報を指示し、当該ぼかし損失は、次の式で表すことができる。
【0121】
【0122】
以上の式では、Iinは、第3サンプル画像を合成するための鮮明な第2処理画像を表し、Bは、ボケ画像を生成する操作を表し、Gは、第2ネットワークの作用を表し、Kは、当該第2ネットワークによって毎回出力された複数の第3処理画像の数を表し、Nは、第3サンプル画像の数を表す。
【0123】
以上の式から分かるように、ぼかし損失は2つの部分を含み、1つは第2処理画像と第3処理画像との間の非表示差異情報であり、1つは、第3サンプル画像と、複数の第3処理画像に従って合成されたボケ画像との間の非表示差異情報であり、それにより、特徴の欠落による第2ネットワークの非表示差異情報全体を表すことができる。
【0124】
上記のステップ806において、当該第3損失関数は、当該複数の第3処理画像の精細度が当該第3サンプル画像よりも高く、動きの違いがあり、且つ当該第3サンプル画像で隠された情報を保持することを保証するために使用され、第3損失関数L3は、オプティカルフロー損失L’
’
flow、知覚損失L’’
perceptual、忠実度損失L’’
MSE、特徴行列損失L’
Gram、及びぼかし損失L’’
MSEを含んでよく、次の式で表すことができる。
【0125】
【0126】
ここで、ぼかし損失Lcは、上記と同じであり、それに応じて参照することができる。オプティカルフロー損失L’’
flow、特徴行列損失L’
Gram、知覚損失L’’
percptual、及び忠実度損失L’’
MSEの関数式は、上記のステップ606と同様であり、それに応じて参照することができる。
【0127】
さらに、xは、幅方向における第3処理画像の画素点の位置を表し、yは、高さ方向における第3処理画像の画素点の位置を表し、Wは、第3処理画像の幅(第2処理画像I’’
sharpの幅と同じである)、Hは、第2処理画像の高さ(第2処理画像I’’
sharpの高さと同じである)を表し、I’’
flowは、オプティカルフローネットワークによって抽出された、第3処理画像の時空的相関情報を表す特徴マップを表し、Фは、知覚ネットワークの作用を表し、Gramは、Gram行列の演算を表す。
【0128】
上記のプロセスにおいて、忠実度損失は、第3処理画像と第2処理画像との間の画素の平均二乗誤差(mean square error、MSEと略称)を計算した結果を表すために使用される。オプティカルフロー損失、オプティカルフロー損失、忠実度損失、知覚損失、特徴行列、及びぼかし損失の寄与を共同で考慮することにより、第1処理画像と第2処理画像との間の画素及び時空的相関情報の違いを判断することができるだけでなく、第1処理画像と第2処理画像との間の知覚の違い及び動きの違いがあると考慮し、第2ネットワークの作用により、元のボケ画像の非表示差異情報が欠落されているかどうかを考慮することもできるため、欠落されたボケ画像の元の非表示情報を復元するように、より正確なパラメータ調整を行うことができる。
【0129】
ステップ807において、当該複数の第3処理画像の当該第3損失関数の関数値が第3目標値より大きい場合、サーバは、逆伝播アルゴリズムを介して当該第2ネットワークのパラメータを変更する。
【0130】
ここで、当該第3目標値は、0より大きいか1より小さい任意の値であってもよく、当該第3目標値は、第1目標値及び/又は第2目標値と同じであってもよく、異なってもよいが、本願実施例は、当該第3目標値の値について特に限定しない。
【0131】
いくつかの実施例において、第2ネットワークのパラメータを調整する場合、前回トレーニングする時に出力された複数の第3処理画像を1枚のボケ画像に合成することができ、それにより、当該ボケ画像を当該第2ネットワークに入力して今回のトレーニングを行う。それにより、当該複数の鮮明な第3処理画像を教師情報として使用し、これにより、第3損失関数の値を取得するのに便利であるため、トレーニング速度を加速させる。
【0132】
上記のステップ807は、ステップ607又はステップ405と同様であるため、それに応じて参照することができる。
【0133】
ステップ808において、サーバが、上記のステップ801~807の反復実行を行い、当該第3損失関数の関数値が当該第3目標値以下になった後で、当該第3ネットワークを取得する。
【0134】
ここで、当該第3ネットワークは、第3サンプル画像に基づいて、当該第3サンプル画像よりも高い精細度を有する複数の第3処理画像を取得するために使用され、当該複数の第3処理画像は、動きの違いがあり、且つ、当該第3サンプル画像で隠された情報を保持する。
【0135】
上記のステップ808により、第3損失関数の関数値が所望値を満たさない場合、逆伝播アルゴリズムを介して第2ネットワークのパラメータを変更し、それにより、第3損失関数の関数値が当該第3目標値以下になるまで、上記のステップ801~807で実行される操作を繰り返して実行する。これは、元のボケ画像の非表示情報を保持する画像を出力する第2ネットワークのトレーニングが完了したと見なすことができ、それにより、トレーニング後の第2ネットワークを当該第3ネットワークとして使用する。
【0136】
上記のステップ801~808において、サーバが、第3損失関数に従って、第2ネットワークをトレーニングして、第3ネットワークを取得し、これにより、第3ネットワークは、精細度が第3サンプル画像より高く、動きの違いがあり、且つ、第3サンプル画像で隠された情報を保持する複数の第3処理画像を出力することができ、例示的に、サーバは、オプティカルフロー損失及び/又は知覚損失を取得しないこともでき、それにより、トレーニングプロセスを簡素化する。
【0137】
ステップ809において、画像処理命令を受信した場合、サーバが、当該原画像を当該第3ネットワークに入力して、当該複数の目標画像を出力する。
【0138】
上記のステップ401~406、ステップ601~608、及びステップ801~809において、サーバが、初期ネットワークをトレーニングして、第3ネットワークを取得し、これにより、当該第3ネットワークの原画像を入力して、精細度が当該原画像よりも高く、動きの違いがあり、且つ、原画像の非表示情報を保持する複数の目標画像を出力することができる。ここで、当該画像処理命令は、原画像を少なくとも搬送する。
【0139】
上記の各実施例で言及された「ボケ画像」は、精細度が第1プリセットされた閾値よりも低い任意の画像であってもよく、上記の各実施例で言及された「鮮明画像」は、精細度が当該ボケ画像よりも高い任意の画像であってもよいことに留意されたい。もちろん、当該鮮明画像は、精細度が当該ボケ画像よりも高く、且つ、第2プリセットされた閾値よりも高い任意の画像であってもよく、ここで、当該第2プリセットされた閾値は、当該第1プリセットされた閾値より高いも高い任意の値であるが、本願実施例は、当該第1プリセットされた閾値及び第2プリセットされた閾値の値について特に限定しない。
【0140】
本願実施例で提供される画像処理方法によると、サーバは、第1損失関数に従って、初期ネットワークをトレーニングして、第1ネットワークを取得し、それにより、畳み込みニューラルネットワークのボケ除去能力をトレーニングし、第2損失関数に従って、当該第1ネットワークをトレーニングして、第2ネットワークを取得し、それにより、動きの違いがある複数の処理画像を出力する畳み込みニューラルネットワークの能力をトレーニングし、第3損失関数に従って、当該第2ネットワークをトレーニングして、第3ネットワークを取得し、それにより、当該第2ネットワークに基づき、入力画像の非表示情報を最大限に復元し、それにより、画像処理命令を受信した場合、当該第3ネットワークに基づき、原画像に対して画像処理を実行して、複数の目標画像を取得することができる。1つの畳み込みニューラルネットワークを使用して、複数の精細度が原画像よりも高く、動きの違いがあり、且つ原画像の非表示情報を保持する目標画像を出力するためには、当該ネットワーク内の各畳み込み層の情報相互作用は強い。より多くの鮮明画像を必要とする場合、並列式ネットワークアーキテクチャと比較すると、各画像処理プロセスにおける計算量が削減され、画像処理の効率が向上する。
【0141】
さらに、オプティカルフローネットワークを介してオプティカルフロー損失を取得し、出力画像の時空的相関情報を深く抽出することができ、知覚ネットワークを介して知覚損失を取得し、出力画像と元の鮮明画像の知覚の違いを抽出することができる。さらに、知覚損失に従って特徴行列損失を取得し、動きの違い情報を取得することができ、さらに、ぼかし損失を取得することにより、非表示差異情報を判断し、それにより、畳み込みニューラルネットワークのパラメータを正確に調整することができる。
【0142】
上記の全ての例示的な技術案を任意の組み合わることにより、本発明の例示的な実施例を形成することができる。
【0143】
図10は、本願実施例で提供される画像処理装置の概略的な構造図であり、
図10を参照すると、当該装置は、トレーニングモジュール1001及び処理モジュール1002を備える。画像処理装置が備える各モジュールの全て又は一部は、ソフトウェア、ハードウェア、又はそれらの組み合わせによって実現され得る。
【0144】
トレーニングモジュール1001は、初期ネットワークをトレーニングして、第1ネットワークを取得するように構成され、当該第1ネットワークは、第1サンプル画像に基づいて、当該第1サンプル画像よりも高い精細度を有する複数の第1処理画像を取得するために使用される。
【0145】
当該トレーニングモジュール1001は、更に、当該第1ネットワークをトレーニングして、第2ネットワークを取得するように構成され、当該第2ネットワークは、第2サンプル画像に基づいて、当該第2サンプル画像よりも高い精細度を有する複数の第2処理画像を取得するために使用され、当該複数の第2処理画像は、動きの違いがある。
【0146】
当該トレーニングモジュール1001は、更に、当該第2ネットワークをトレーニングして、第3ネットワークを取得するように構成され、当該第3ネットワークは、第3サンプル画像に基づいて、当該第3サンプル画像よりも高い精細度を有する複数の第3処理画像を取得するために使用され、当該複数の第3処理画像は、動きの違いがあり、且つ、当該第3サンプル画像で隠された情報を保持する。
【0147】
当該処理モジュール1002は、画像処理命令を受信した場合、当該第3ネットワークに基づき、原画像に対して画像処理を実行して、複数の目標画像を取得するように構成される。
【0148】
本願実施例で提供される画像処理装置によると、サーバは、初期ネットワークをトレーニングして、第1ネットワークを取得し、それにより、畳み込みニューラルネットワークのボケ除去能力をトレーニングし、当該第1ネットワークをトレーニングして、第2ネットワークを取得する。それにより、動きの違いがある複数の処理画像を出力する畳み込みニューラルネットワークの能力をトレーニングし、当該第2ネットワークをトレーニングして、第3ネットワークを取得する。それにより、サンプル画像の非表示情報を回復する畳み込みニューラルネットワークの能力をトレーニングし、それにより、画像処理命令を受信した場合、当該第3ネットワークに基づき、原画像に対して画像処理を実行して、複数の目標画像を取得することができる。1つの畳み込みニューラルネットワークのみを使用して、複数の精細度が原画像よりも高く、動きの違いがあり、且つ、原画像の非表示情報を保持する目標画像を出力するためには、当該ネットワーク内の各畳み込み層の情報相互作用は、強い。より多くの鮮明画像を必要とする場合、並列式ネットワークアーキテクチャと比較すると、各画像処理プロセスにおける計算量が削減され、画像処理の効率が向上する。
【0149】
一つの可能な実施形態において、
図10の装置構成に基づき、当該トレーニングモジュール1001は、更に、少なくとも1つの第1サンプル画像を当該初期ネットワークに入力して、第1サンプル画像ごとに複数の第1処理画像を出力し、当該複数の第1処理画像の第1損失関数の関数値が第1目標値より大きい場合、逆伝播アルゴリズムを介して当該初期ネットワークのパラメータを変更し、当該第1損失関数は、当該複数の第1処理画像の精細度が当該第1サンプル画像よりも高いことを保証するために使用され、当該第1損失関数の関数値が当該第1目標値以下になった後、当該第1ネットワークを取得するように構成される。
【0150】
一つの可能な実施形態において、
図10の装置構成に基づき、当該トレーニングモジュール1001は、更に、当該複数の第1処理画像をオプティカルフローネットワークに入力して、オプティカルフロー損失を出力し、当該複数の第1処理画像を知覚ネットワーク入力して、知覚損失を出力し、当該オプティカルフロー損失、当該知覚損失、及び忠実度損失に従って、第1損失関数の関数値を取得するように構成される。
【0151】
一つの可能な実施形態において、
図10の装置構成に基づき、当該トレーニングモジュール1001は、更に、少なくとも1つの第2サンプル画像を当該第1ネットワークに入力して、第2サンプル画像ごとに複数の第2処理画像を出力し、当該複数の第2処理画像の第2損失関数の関数値が第2目標値より大きい場合、逆伝播アルゴリズムを介して当該第1ネットワークのパラメータを変更し、当該第2損失関数は、当該複数の第2処理画像の精細度が当該第2サンプル画像よりも高く、且つ、動きの違いがあることを保証するために使用され、当該第2損失関数の関数値が当該第2目標値以下になった後、当該第2ネットワークを取得するように構成される。
【0152】
一つの可能な実施形態において、
図10の装置構成に基づき、当該トレーニングモジュール1001は、更に、当該複数の第2処理画像をオプティカルフローネットワークに入力して、オプティカルフロー損失を出力し、当該複数の第2処理画像を知覚ネットワーク入力して、知覚損失を出力し、当該知覚損失に従って、特徴行列損失を取得し、当該オプティカルフロー損失、知覚損失、当該特徴行列損失、及び忠実度損失に従って、第2損失関数の関数値を取得するように構成される。
【0153】
一つの可能な実施形態において、
図10の装置構成に基づき、当該トレーニングモジュール1001は、更に、少なくとも1つの第3サンプル画像を当該第2ネットワークに入力して、第3サンプル画像ごとに複数の第3処理画像を出力し、当該複数の第3処理画像の第3損失関数の関数値が第3目標値より大きい場合、逆伝播アルゴリズムを介して当該第2ネットワークのパラメータを変更し、当該第3損失関数は、当該複数の第3処理画像の精細度が当該第3サンプル画像よりも高く、動きの違いがあり、且つ、当該第3サンプル画像で隠された情報を保持することを保証するために使用され、当該第3損失関数の関数値が当該第3目標値以下になった後、当該第3ネットワークを取得するように構成される。
【0154】
一つの可能な実施形態において、
図10の装置構成に基づき、当該トレーニングモジュール1001は、更に、当該複数の第3処理画像をオプティカルフローネットワークに入力して、オプティカルフロー損失を出力し、当該複数の第3処理画像を知覚ネットワーク入力して、知覚損失を出力し、当該知覚損失に従って、特徴行列損失を取得し、当該オプティカルフロー損失、知覚損失、当該特徴行列損失、忠実度損失、及びぼかし損失に従って、第3損失関数の関数値を取得するように構成される。
【0155】
一つの可能な実施形態において、
図10の装置構成に基づき、当該トレーニングモジュール1001は、更に、当該複数の第1処理画像に従って、少なくとも1つの第2サンプル画像を合成し、当該複数の第2処理画像に従って、少なくとも1つの第3サンプル画像を合成するように構成される。
【0156】
一つの可能な実施形態において、当該初期ネットワークは少なくとも1つの隠れ層を含み、各隠れ層は、畳み込み層、正規化層及び非線形層を含む。
【0157】
上記の全ての例示的な技術案を任意の組み合わることにより、本発明の例示的な実施例を形成することができる。
【0158】
上述の実施例で開示された画像処理装置が画像を処理する場合、上記の各機能モジュールの分割のみを例に挙げて説明したが、実際の応用では、必要に応じて上述の機能を異なる機能モジュールに割り当てられることにより完了してもよく、即ち、コンピュータ機器の内部構造を異なる機能モジュールに分割して、上述の機能のすべて又は一部を完了することができることに留意されたい。なお、上述の実施例で開示された画像処理装置は、画像処理方法の実施例と同じ構想に属し、その具体的な実現プロセスについては方法の実施例を参照する。
【0159】
図11は、本願実施例で提供されるコンピュータ機器の概略的な構造図であり、当該コンピュータ機器1100は、構成やパフォーマンスが異なることにより大きな差を有し得る。当該コンピュータ機器は、1つ又は1つ以上のプロセッサ(central processing units、CPUと略称)1101、及び、1つ又は1つ以上のメモリ1102を備える。いくつかの実施例において、当該コンピュータ機器1100は、スマートフォン、タブレットコンピュータ、動画エキスパートグループオーディオレイヤー3(Moving Picture Experts Group Audio Layer III、MP3と略称)プレーヤー、動画エキスパートグループオーディオレイヤー4(Moving Picture Experts Group Audio Layer IV、MP4と略称)プレーヤー、ラップトップコンピュータ又はデスクトップコンピュータであってもよい。コンピュータ機器1100は、端末、サーバ、ユーザ機器、携帯式端末、ラップトップ端末、デスクトップ端末などの他の名称で称されてもよい。
【0160】
ここで、当該メモリ1102は、少なくとも1つの命令を記憶し、上記の各画像処理方法の実施例で提供される方法を実現するために、当該少なくとも1つの命令は、当該プロセッサ1101によってローディング及び実行される。もちろん、入力及び出力するように、当該コンピュータ機器は、更に、有線又は無線ネットワークインターフェース、キーボード、及び入力/出力インターフェースなどのコンポーネントを備えることができ、当該コンピュータ機器は、更に、機器機能を実現するための他のコンポーネントを備えることができる。
【0161】
一つの実施例において、メモリ及びプロセッサを備えるコンピュータ機器を提供し、メモリは、コンピュータ可読命令を記憶し、コンピュータ可読命令がプロセッサによって実行されると、プロセッサに上記の画像処理方法のステップを実行させる。ここで、画像処理方法のステップは、上述の各実施例の画像処理方法におけるステップであってもよい。
【0162】
一つの実施例において、コンピュータ可読命令が記憶されたコンピュータ機器を提供し、コンピュータ可読命令がプロセッサによって実行されると、プロセッサに上記の画像処理方法のステップを実行させる。ここで、画像処理方法のステップは、上述の各実施例の画像処理方法におけるステップであってもよい。
【0163】
上記の実施例の方法の全て又は一部のプロセスは、コンピュータ可読命令によって、関連するハードウェアに命令することにより完了してもよいことが当業者であれば自明である。前記プログラムは、不揮発性コンピュータ可読取記憶媒体に記憶されてもよく、当該プログラムは実行されると、上記の各方法の実施例のプロセスを含み得る。ここで、本願で提供される各実施例で使用されるメモリ、ストレージ、データベース又は他の媒体への参照の全ては、不揮発性及び/又は揮発性メモリを含み得る。不揮発性メモリは、読み取り専用メモリ(ROM)、プログラマブルROM(PROM)、電気的プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、又はフラッシュメモリを含み得る。揮発性メモリは、ランダムアクセスメモリ(RAM)又は外部キャッシュメモリを含み得る。説明するものであり、限定するものではないが、RAMは、スタティックRAM(SRAM)、ダイナミックRAM(DRAM)、同期DRAM(SDRAM)、デュアルデータ率SDRAM(DDRSDRAM)、強化型SDRAM(ESDRAM)、同期接続(Synchlink) DRAM(SLDRAM)、ラムバス(Rambus)直接RAM(RDRAM)、直接メモリバスダイナミックRAM(DRDRAM)、及びメモリバスダイナミックRAM(RDRAM)などの様々な形であってもよい。
【0164】
以上、実施例の各技術的特徴を任意に組み合わせることができ、説明を簡潔にするために、上述の実施例における各技術的特徴の全ての可能な組み合わせについては説明していない。しかしながら、これらの技術的特徴の組み合わせに矛盾がない限り、それらの全ては、本明細書の範囲と見なされるべきである。
【0165】
以上、実施例は本願のいくつかの実施形態のみを説明しており、それらの説明はより具体的且つ詳細であるが、本発明の特許の範囲を限定するものとして解釈されるべきではない。当業者にとって、本願の構想から逸脱することなく、いくつかの変形又は改善を加えることもでき、これらの変形又は改善は、両方とも、本願の保護範囲に属することに留意されたい。したがって、本願の特許の保護範囲は、特許請求を基準とするべきである。
(注:「特許請求の範囲」は、自発補正として手続補正書を提出するので、いただいた”2100809-Japanese-amended-claims-”の方だけを修正しています。従って、翻訳文提出時には、以下の「特許請求の範囲」をそのまま使用します。)