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

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

▶ テンセント・アメリカ・エルエルシーの特許一覧

特許7418578マイクロ構造マスクを用いたマルチスケールファクタ画像の超解像
<>
  • 特許-マイクロ構造マスクを用いたマルチスケールファクタ画像の超解像 図1
  • 特許-マイクロ構造マスクを用いたマルチスケールファクタ画像の超解像 図2
  • 特許-マイクロ構造マスクを用いたマルチスケールファクタ画像の超解像 図3
  • 特許-マイクロ構造マスクを用いたマルチスケールファクタ画像の超解像 図4
  • 特許-マイクロ構造マスクを用いたマルチスケールファクタ画像の超解像 図5
  • 特許-マイクロ構造マスクを用いたマルチスケールファクタ画像の超解像 図6
  • 特許-マイクロ構造マスクを用いたマルチスケールファクタ画像の超解像 図7
  • 特許-マイクロ構造マスクを用いたマルチスケールファクタ画像の超解像 図8
  • 特許-マイクロ構造マスクを用いたマルチスケールファクタ画像の超解像 図9
  • 特許-マイクロ構造マスクを用いたマルチスケールファクタ画像の超解像 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-11
(45)【発行日】2024-01-19
(54)【発明の名称】マイクロ構造マスクを用いたマルチスケールファクタ画像の超解像
(51)【国際特許分類】
   G06N 3/04 20230101AFI20240112BHJP
   G06T 3/4046 20240101ALI20240112BHJP
   G06T 3/4053 20240101ALI20240112BHJP
【FI】
G06N3/04
G06T3/40 725
G06T3/40 730
【請求項の数】 20
(21)【出願番号】P 2022534810
(86)(22)【出願日】2021-07-12
(65)【公表番号】
(43)【公表日】2023-02-14
(86)【国際出願番号】 US2021041252
(87)【国際公開番号】W WO2022035533
(87)【国際公開日】2022-02-17
【審査請求日】2022-06-08
(31)【優先権主張番号】63/065,608
(32)【優先日】2020-08-14
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/363,280
(32)【優先日】2021-06-30
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【弁理士】
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】ウェイ・ジアン
(72)【発明者】
【氏名】ウェイ・ワン
(72)【発明者】
【氏名】シャン・リュウ
【審査官】山田 辰美
(56)【参考文献】
【文献】特開2019-110120(JP,A)
【文献】中国特許出願公開第111353940(CN,A)
【文献】中国特許出願公開第111353939(CN,A)
【文献】国際公開第2020/102812(WO,A1)
【文献】米国特許出願公開第2004/0260662(US,A1)
【文献】米国特許出願公開第2017/0374374(US,A1)
【文献】米国特許出願公開第2018/0268284(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/04
G06T 3/40
(57)【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサによって実行される画像処理方法であって、
高さ、幅、およびチャネル数を含む入力低解像度(LR)画像を取得するステップと、
前記入力LR画像に基づいて特徴テンソルを計算するように構成された特徴量学習ディープニューラルネットワーク(DNN)を実行するステップと、
前記特徴量学習DNNによって計算された前記特徴テンソルに基づいて、前記入力LR画像よりも高い解像度を有する高解像度(HR)画像を、アップスケーリングDNNによって生成するステップと、を含み、
前記アップスケーリングDNNのネットワーク構造が、異なるスケールファクタに応じて異なり、
前記特徴量学習DNNのネットワーク構造が、前記異なるスケールファクタのそれぞれに対して同じ構造である、方法。
【請求項2】
テストステージで、
ターゲットスケールファクタに基づいて、前記特徴量学習DNNのマスクされた重み係数を生成するステップと、
選択された重み係数に基づいて、前記ターゲットスケールファクタの前記アップスケーリングDNNのサブネットワークを選択し、推論計算によって前記特徴テンソルを計算するステップと、をさらに含む、請求項1に記載の方法。
【請求項3】
前記選択された重み係数を使用して、前記特徴テンソルをアップスケーリングモジュールに通過させることに基づいて、前記HR画像を生成するステップをさらに含む、請求項2に記載の方法。
【請求項4】
前記特徴量学習DNNおよび前記アップスケーリングDNNのうちの少なくとも1つの重み係数が、サイズc1、k1、k2、k3、c2の5次元(5D)テンソルを含み、
前記特徴量学習DNNおよび前記アップスケーリングDNNのうちの少なくとも1つの層の入力が、サイズh1、w1、d1、c1の4次元(4D)テンソルAを含み、
前記層の出力が、サイズh2、w2、d2、c2の4DテンソルBであり、
c1、k1、k2、k3、c2、h1、w1、d1、c1、h2、w2、d2およびc2のそれぞれが、1以上の整数であり、
h1、w1、d1が、前記4DテンソルAの高さ、重み、深度であり、
h2、w2、d2が、前記4DテンソルBの高さ、重み、深度であり、
c1およびc2がそれぞれ、入力チャネルの数および出力チャネルの数であり、
k1、k2、k3が、畳み込みカーネルのサイズであり、それぞれ、高さ軸、重み軸、深度軸に対応する、請求項1に記載の方法。
【請求項5】
前記5Dテンソルを3次元(3D)テンソルに再構成するステップと、
前記5Dテンソルを2次元(2D)行列に再構成するステップと、をさらに含む、請求項4に記載の方法。
【請求項6】
前記3Dテンソルが、サイズc1’、c2’、kであり、ここで、c1’×c2’×k=c1×c2×k1×k2×k3であり、
前記2D行列が、サイズc1’、c2’であり、ここでc1’×c2’=c1×c2×k1×k2×k3である、請求項5に記載の方法。
【請求項7】
訓練ステージで、
マスクされた重み係数を決定するステップと、
重み充填モジュールを介した、前記特徴量学習DNNの重みおよび前記アップスケーリングDNNの重みに関する学習処理に基づいて、更新された重み係数を取得するステップと、
前記更新された重み係数に基づいて、マイクロ構造プルーニング処理を実行し、モデルインスタンスおよびマスクを取得するステップと、をさらに含む、請求項6に記載の方法。
【請求項8】
前記学習処理が、前記重み係数をランダムな初期値と以前に学習したモデルの対応する重みとに設定することによって、ゼロ値を有する前記重み係数を再初期化するステップを含む、請求項7に記載の方法。
【請求項9】
前記マイクロ構造プルーニング処理が、
前記3Dテンソルおよび前記2D行列のうちの少なくとも1つの複数のマイクロ構造ブロックのそれぞれに対して損失を計算するステップと、
計算された損失に基づいて、前記マイクロ構造ブロックをランク付けするステップと、を含む、請求項7に記載の方法。
【請求項10】
前記マイクロ構造プルーニング処理が、歪み損失が閾値に達したか否かに基づいて、前記マイクロ構造プルーニング処理を停止することを決定するステップをさらに含む、請求項9に記載の方法。
【請求項11】
画像処理のための装置であって、
コンピュータプログラムコードを格納するように構成された少なくとも1つのメモリと、
前記コンピュータプログラムコードにアクセスし、前記コンピュータプログラムコードの指示にしたがって動作するように構成された少なくとも1つのプロセッサと、を備え、前記コンピュータプログラムコードが、
前記少なくとも1つのプロセッサに、高さ、幅、およびチャネル数を含む入力低解像度(LR)画像を取得させるように構成された取得コードと、
前記少なくとも1つのプロセッサに、前記入力LR画像に基づいて特徴テンソルを計算するように構成された特徴量学習ディープニューラルネットワーク(DNN)を実行させるように構成された実行コードと、
前記少なくとも1つのプロセッサに、前記特徴量学習DNNによって計算された前記特徴テンソルに基づいて、前記入力LR画像よりも高い解像度を有する高解像度(HR)画像を、アップスケーリングDNNによって生成させるように構成された生成コードと、を含み、
前記アップスケーリングDNNのネットワーク構造が、異なるスケールファクタに応じて異なり、
前記特徴量学習DNNのネットワーク構造が、前記異なるスケールファクタのそれぞれに対して同じ構造である、装置。
【請求項12】
前記生成コードが、テストステージで、前記少なくとも1つのプロセッサに、
ターゲットスケールファクタに基づいて、前記特徴量学習DNNのマスクされた重み係数を生成させ、
選択された重み係数に基づいて、前記ターゲットスケールファクタの前記アップスケーリングDNNのサブネットワークを選択させ、推論計算によって前記特徴テンソルを計算させる
ようにさらに構成されたコードである、請求項11に記載の装置。
【請求項13】
前記HR画像を生成することが、前記選択された重み係数を使用して、前記特徴テンソルをアップスケーリングモジュールに通過させることに基づく、請求項12に記載の装置。
【請求項14】
前記特徴量学習DNNおよび前記アップスケーリングDNNのうちの少なくとも1つの重み係数が、サイズc1、k1、k2、k3、c2の5次元(5D)テンソルを含み、
前記特徴量学習DNNおよび前記アップスケーリングDNNのうちの前記少なくとも1つの層の入力が、サイズh1、w1、d1、c1の4次元(4D)テンソルAを含み、
前記層の出力が、サイズh2、w2、d2、c2の4DテンソルBであり、
c1、k1、k2、k3、c2、h1、w1、d1、c1、h2、w2、d2およびc2のそれぞれが、1以上の整数であり、
h1、w1、d1が、前記4DテンソルAの高さ、重み、深度であり、
h2、w2、d2が、前記4DテンソルBの高さ、重み、深度であり、
c1およびc2がそれぞれ、入力チャネルの数および出力チャネルの数であり、
k1、k2、k3が、畳み込みカーネルのサイズであり、それぞれ、高さ軸、重み軸、深度軸に対応する、請求項11に記載の装置。
【請求項15】
前記少なくとも1つのプロセッサに、前記5Dテンソルを3次元(3D)テンソルに再構成させ、前記5Dテンソルを2次元(2D)行列に再構成させるように構成された再構成コードをさらに含む、請求項14に記載の装置。
【請求項16】
前記3Dテンソルが、サイズc1’、c2’、kであり、ここで、c1’×c2’×k=c1×c2×k1×k2×k3であり、
前記2D行列が、サイズc1’、c2’であり、ここでc1’×c2’=c1×c2×k1×k2×k3である、請求項15に記載の装置。
【請求項17】
訓練ステージで、
前記少なくとも1つのプロセッサに、マスクされた重み係数を決定させるように構成された決定コードと、
前記少なくとも1つのプロセッサに、重み充填モジュールを介した、前記特徴量学習DNNの重みおよび前記アップスケーリングDNNの重みに関する学習処理に基づいて、更新された重み係数を取得させるように構成された取得コードと、
前記少なくとも1つのプロセッサに、前記更新された重み係数に基づいて、マイクロ構造プルーニング処理を実行させ、モデルインスタンスおよびマスクを取得させるように構成された実施コードと、をさらに含む、請求項16に記載の装置。
【請求項18】
前記学習処理が、前記重み係数をランダムな初期値と以前に学習したモデルの対応する重みとに設定することによって、ゼロ値を有する前記重み係数を再初期化することを含む、請求項17に記載の装置。
【請求項19】
前記マイクロ構造プルーニング処理が、
前記3Dテンソルおよび前記2D行列のうちの少なくとも1つの複数のマイクロ構造ブロックのそれぞれに対して損失を計算することと、
計算された損失に基づいて、前記マイクロ構造ブロックをランク付けすることと、を含む、請求項17に記載の装置。
【請求項20】
コンピュータに、
高さ、幅、およびチャネル数を含む入力低解像度(LR)画像を取得することと、
前記入力LR画像に基づいて特徴テンソルを計算するように構成された特徴量学習ディープニューラルネットワーク(DNN)を実行することと、
前記特徴量学習DNNによって計算された前記特徴テンソルに基づいて、前記入力LR画像よりも高い解像度を有する高解像度(HR)画像を、アップスケーリングDNNによって生成することと、を実行させ、
前記アップスケーリングDNNのネットワーク構造が、異なるスケールファクタに応じて異なり、
前記特徴量学習DNNのネットワーク構造が、前記異なるスケールファクタのそれぞれに対して同じ構造である、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2020年8月14日に出願された米国特許仮出願第63/065,608号、および2021年6月30日に出願された米国特許出願第17/363,280号の優先権を主張するものであり、これらは参照によりその全体が本出願に明示的に組み込まれる。
【0002】
本開示は、マルチスケールファクタ単一画像超解像(SISR)フレームワークを対象としており、ここで、例示的な実施形態によれば、1つのモデルインスタンスのみを使用して、例えば、複数のバイナリマイクロ構造マスクからのガイダンスを用いて異なるスケールファクタのSISRを実現することができる。
【背景技術】
【0003】
ISO/IEC MPEG(JTC 1/SC 29/WG 11)は、将来のビデオ符号化技術の標準化に対する潜在的なニーズを積極的に探ってきた。ISO/IEC JPEGは、ディープニューラルネットワーク(DNN)を用いたAIベースのニューラル画像圧縮に焦点を当てたJPEG-AIグループを設立した。また、中国のAVS規格では、AVS-AI特別グループも結成し、ニューラル画像およびビデオ圧縮技術に取り組んでいる。セマンティック分類、ターゲット検出/認識、ターゲットトラッキング、ビデオ品質エンハンスメントなどの広範囲におけるビデオアプリケーションでのAI技術およびDNNの成功によって、DNNモデル圧縮が強く必要とされており、MPEGおよびAVSの両方は、DNNモデルを圧縮してストレージおよび計算の両方を節約するニューラルネットワーク圧縮規格(NNR)に取り組んでいる。
【0004】
同時に、4K(3840x2160)や8K(7680x4320)などの高解像度(HR)ディスプレイコンテンツの人気の増加にともない、画像/ビデオSRが、HR画像/ビデオコンテンツの整合を生成する産業界で大きな注目を集めている。SISTは、対応する低解像度(LR)画像からHR画像を生成することを目的としており、監視イメージング、医療イメージング、没入型体験などに幅広く適用されている。実世界のシナリオでは、SRシステムは、異なるユーザに合わせて様々なスケールファクタのLR画像を拡大する必要がある。
【0005】
SISRは、近年のDNNの発展により大きな成功を達成した。しかし、これらのSISR法は、各スケールファクタを個別のタスクとして扱い、各スケールファクタ(例えば、×2、×3、または×4)に対して個別のモデルを訓練する。その結果、これらのモデルインスタンスをすべて格納して展開する必要があり、これはコストが高すぎて、特にモバイルデバイスなどのストレージや計算リソースが制限されたシナリオでは実用的ではない。
【0006】
したがって、このような問題に対する技術的解決策が望まれている。
【発明の概要】
【課題を解決するための手段】
【0007】
1つまたは複数の異なる技術的問題に対処するために、本開示は、例示的な実施形態によれば、1つまたは複数のビューポートマージン更新に関して没入型ビデオを配信しながら、ネットワークオーバーヘッドおよびサーバ計算オーバーヘッドを低減する技術的な解決策を提供する。
【0008】
コンピュータプログラムコードを格納するように構成されたメモリと、コンピュータプログラムコードにアクセスし、コンピュータプログラムコードによって指示されるように動作するように構成された1つまたは複数のプロセッサと、を含む方法および装置が含まれる。コンピュータプログラムは、少なくとも1つのプロセッサに、高さ、幅、およびチャネル数を含む入力低解像度(LR)画像を取得させるように構成された取得コードと、少なくとも1つのプロセッサに、入力LR画像に基づいて特徴テンソルを計算するように構成された特徴量学習ディープニューラルネットワーク(DNN)を実行させるように構成された実行コードと、少なくとも1つのプロセッサに、特徴量学習DNNによって計算された特徴テンソルに基づいて、入力LR画像よりも高い解像度を有する高解像度(HR)画像を、アップスケーリングDNNによって生成させるように構成された生成コードと、を含み、アップスケーリングDNNのネットワーク構造は、異なるスケールファクタに応じて異なり、特徴量学習DNNのネットワーク構造は、異なるスケールファクタのそれぞれに対して同じ構造である。
【0009】
例示的な実施形態によれば、生成コードは、テストステージで、少なくとも1つのプロセッサに、入力LR画像およびターゲットスケールファクタに基づいて、特徴量学習DNNのマスクされた重み係数を生成させ、マスクされた重み係数に基づき、選択された重み係数に基づいて、ターゲットスケールファクタのアップスケーリングDNNのサブネットワークを選択させ、推論計算によって特徴テンソルを計算させるようにさらに構成されたコードである。
【0010】
例示的な実施形態によれば、HR画像を生成することは、選択された重み係数を使用して、特徴テンソルをアップスケーリングモジュールに通過させることに基づく。
【0011】
例示的な実施形態によれば、特徴量学習DNNおよびアップスケーリングDNNのうちの少なくとも1つの重み係数が、サイズc1、k1、k2、k3、c2の5次元(5D)テンソルを含み、特徴量学習DNNおよびアップスケーリングDNNのうちの少なくとも1つの層の入力がサイズh1、w1、d1、c1の4次元(4D)テンソルAを含み、層の出力が、サイズh2、w2、d2、c2の4DテンソルBであり、c1、k1、k2、k3、c2、h1、w1、d1、c1、h2、w2、d2およびc2のそれぞれが、1以上の整数であり、h1、w1、d1が、テンソルAの高さ、重み、深度であり、h2、w2、d2が、テンソルBの高さ、重み、深度であり、c1およびc2がそれぞれ、入力チャネルの数および出力チャネルの数であり、k1、k2、k3が、畳み込みカーネルのサイズであり、それぞれ、高さ軸、重み軸、深度軸に対応する。
【0012】
例示的な実施形態によれば、少なくとも1つのプロセッサに、5Dテンソルを3次元(3D)テンソルに再構成させ、5Dテンソルを2次元(2D)行列に再構成させるように構成された再構成コードがさらに存在する。
【0013】
例示的な実施形態によれば、3Dテンソルは、サイズc1’、c2’、kであり、ここで、c1’×c2’×k=c1×c2×k1×k2×k3であり、2D行列が、サイズc1’、c2’であり、ここでc1’×c2’=c1×c2×k1×k2×k3である。
【0014】
例示的な実施形態によれば、訓練ステージで、少なくとも1つのプロセッサに、マスクされた重み係数を決定させるように構成された決定コードと、少なくとも1つのプロセッサに、重み充填モジュールを介した、特徴量学習DNNの重みおよびアップスケーリングDNNの重みに関する学習処理に基づいて、更新された重み係数を取得させるように構成された取得コードと、少なくとも1つのプロセッサに、更新された重み係数に基づいて、マイクロ構造プルーニング処理を実施させ、モデルインスタンスおよびマスクを取得させるように構成された実施コードとがさらに存在する。
【0015】
例示的な実施形態によれば、学習処理は、重み係数を任意のランダムな初期値と、以前に学習したモデルの対応する重みとに設定することによって、ゼロ値を有する重み係数を再初期化することを含む。
【0016】
例示的な実施形態によれば、マイクロ構造プルーニング処理は、3Dテンソルおよび2D行列のうちの少なくとも1つの複数のマイクロ構造ブロックのそれぞれに対して損失を計算することと、計算された損失に基づいて、マイクロ構造ブロックをランク付けすることとを含む。
【0017】
例示的な実施形態によれば、マイクロ構造プルーニング処理は、歪み損失が閾値に達したか否かに基づいて、マイクロ構造プルーニング処理を停止することを決定することをさらに含む。
【0018】
開示された主題のさらなる特徴、性質、および様々な利点は、以下の詳細な説明および添付の図面からより明らかになるであろう。
【図面の簡単な説明】
【0019】
図1】実施形態による簡略化された概略図である。
図2】実施形態による簡略化されたフローチャートである。
図3】実施形態による簡略化されたブロック図である。
図4】実施形態による簡略化されたブロック図である。
図5】実施形態による簡略化されたフローチャートである。
図6】実施形態による簡略化されたブロック図である。
図7】実施形態による簡略化されたブロック図である。
図8】実施形態による簡略化されたブロック図である。
図9】実施形態による簡略化されたブロック図である。
図10】実施形態による概略図である。
【発明を実施するための形態】
【0020】
後述する提案された特徴は、個別に使用されてもよいし、任意の順序で組み合わされてもよい。さらに、実施形態は、処理回路(例えば、1つまたは複数のプロセッサまたは1つまたは複数の集積回路)によって実施されてもよい。一例では、1つまたは複数のプロセッサは、非一時的なコンピュータ可読媒体に格納されているプログラムを実行する。
【0021】
図1は、本開示の一実施形態による通信システム100の簡略化されたブロック図を示す。通信システム100は、ネットワーク105を介して相互接続された少なくとも2つの端末102、103を含んでよい。データの一方向伝送のために、第1の端末103は、ネットワーク105を介して他の端末102に伝送するためにローカル位置でビデオデータを符号化してよい。第2の端末102は、ネットワーク105から他の端末の符号化されたビデオデータを受信し、符号化されたデータを復号し、復元されたビデオデータを表示してよい。一方向データ伝送は、メディアサービスアプリケーションなどで一般的であることがある。
【0022】
図1は、例えばビデオ会議中に発生する可能性がある符号化されたビデオの双方向伝送をサポートするために提供される端末101と端末104の第2のペアを示す。データの双方向伝送のために、各端末101および104は、ネットワーク105を介して他の端末に伝送するためにローカル位置で、取り込んだビデオデータを符号化してよい。各端末101および104はまた、他方の端末によって送信された符号化されたビデオデータを受信する場合もあり、符号化されたデータを復号してよく、復元されたビデオデータをローカルディスプレイデバイスに表示してよい。
【0023】
図1では、端末101、102、103および104は、サーバ、パーソナルコンピュータおよびスマートフォンとして示されてよいが、本開示の原理はそのように限定されるものではない。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレイヤ、および/または専用のビデオ会議機器をともなう用途を見出す。ネットワーク105は、例えば有線および/または無線通信ネットワークを含む、端末101、102、103および104間で、符号化されたビデオデータを伝達する任意の数のネットワークを表す。通信ネットワーク105は、回路交換および/またはパケット交換チャネルにおいてデータを交換してよい。代表的なネットワークには、通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワークおよび/またはインターネットが含まれる。本発明の目的のために、ネットワーク105のアーキテクチャおよびトポロジは、本明細書で以下に説明されない限り、本開示の動作にとって重要ではない場合がある。
【0024】
図2は、複数のスケールファクタでSISRをサポートする1つのSISRモデルインスタンスのみを学習および展開するための、本明細書に記載のマルチスケールファクタSISRフレームワークの例示的な実施形態によるフローチャート200を示す。特に、実施形態は、以下に説明するように、ターゲットとするスケールファクタごとに1つずつのバイナリマスクのセットを学習し、SISRモデルインスタンスをガイドし、異なるスケールファクタでHR画像を生成する。
【0025】
例えば、S201において、サイズ(h、w、c)の入力画像ILRが与えられると(ここでh、w、cはそれぞれ、高さ、幅、チャネル数)、全体的なSISRは、S202の特徴量学習DNNとS204のアップスケーリングDNNとの2つの部分に分離可能なDNNである。S202の特徴量学習DNNは、LR入力画像ILRに基づいてS203で特徴テンソルFLRを計算することを目的とし、アップスケーリングDNNは、特徴テンソルFLRに基づいてS205でHR画像IHRを生成することを目的とする。S204のアップスケーリングDNNのネットワーク構造は、スケールファクタに関連し、異なるスケールファクタに対して異なるが、S202の特徴量学習DNNのネットワーク構造は、スケールファクタに無関係であり、例示的な実施形態によるすべてのスケールファクタに対して同じである。特徴量学習DNNは、通常、アップスケーリングDNNよりも(DNNパラメータ数に関して)はるかに大きい。例示的な実施形態によれば、SISRモデルが達成することが望ましい、昇順にランク付けされたN個のスケールファクタの対象s1、…、sNのセットを取得できる。SISR DNNの全体的な構造を図3のダイアグラム300に示す。例えば、ブロック301において、
【数1】
は、S202の特徴量学習DNNの重み係数のセットを表す。ここで各
【数2】
は、j番目の層の重み係数である。さらに、
【数3】
は、スケールファクタsiに対応するバイナリマスクのセットを表すことができ、ここで各
【数4】
は、
【数5】
と同じ形状であり、
【数6】
の各エントリは1または0であり、
【数7】
の対応する重みエントリが、スケールファクタsiのSR画像を生成するための推論計算に関与するか否かを示す。S202の特徴量学習DNNとは異なり、S204のアップスケーリングDNNは、ブロック302、303、304などのいくつかの軽量サブネットワークを含む。例示的な実施形態によれば、このような
【数8】
は、スケールファクタsiに対応するS204のアップスケーリングDNNのサブネットワークの重み係数のセットを表し、ここで、各
【数9】
はj番目の層の重み係数である。
【0026】
各重み係数
【数10】
は、サイズ(c1、k1、k2、k3、c2)の一般的な5次元(5D)テンソルである。層の入力は、サイズ(h1、w1、d1、c1)の4次元(4D)テンソルAであり、層の出力は、サイズ(h2、w2、d2、c2)の4DテンソルBである。サイズc1、k1、k2、k3、c2、h1、w1、d1、h2、w2、d2は、1以上の整数である。サイズc1、k1、k2、k3、c2、h1、w1、d1、h2、w2、d2のいずれかが1になると、対応するテンソルは低次元に減少する。各テンソルの各アイテムは浮動小数点数である。パラメータh1、w1およびd1(h2、w2およびd2)は、入力テンソルA(出力テンソルB)の高さ、重み、深度である。パラメータc1(c2)は、入力(出力)チャネルの数である。パラメータk1、k2およびk3は、それぞれ高さ軸、重み軸、深度軸に対応する畳み込みカーネルのサイズである。出力Bは、入力A、重み
【数11】
、また利用可能であればマスク
【数12】
に基づいて、畳み込み演算θによって計算される(
【数13】
については、実施形態では、マスク
【数14】
も関連付けることも可能であり、
【数15】
のすべてのエントリは1に設定されることに留意されたい)。すなわち、実施形態では、少なくとも一般的に、Bはマスクされた重みで畳み込まれたAとして計算されると考える。
【0027】
【数16】
【0028】
ここで、・は要素単位の乗算である。
【0029】
図4のダイアグラム400は、上述の学習された重み係数
【数17】
、およびマスク
【数18】
が与えられた、例示的な実施形態によるテストステージの例示的な実施形態を示す。例えば、入力LR画像ILRおよびターゲットスケールファクタsiが与えられると、対応するマスク
【数19】
を使用し、特徴量学習DNNのためのマスクされた重み係数
【数20】
を生成し、スケールファクタsiに対するアップスケーリングDNNの対応するサブネットワークを、重み係数
【数21】
を用いて選択する。次に、マスクされた重み係数
【数22】
を使用して、ブロック401で、特徴量学習モジュールは、推論計算によって特徴FLRを計算し、これはさらに、ブロック402でアップスケーリングモジュールを通過し、選択された重み係数
【数23】
を使用してHR結果IHRを生成する。
【0030】
例示的な実施形態によれば、図4のフローチャート500では、同じ出力を取得するために再構成された入力と再構成された
【数24】
との畳み込みに対応して、(各マスク
【数25】
のように)各
【数26】
の形状を変更することができる。例えば、このような実施形態は、以下の構成となる。(1)S502で、5Dの重みテンソルをサイズ(c1’、c2’、k)の3Dテンソルに再構成する。
ここで、
c1’×c2’×k=c1×c2×k1×k2×k3(例えば、好ましい構成はc1’=c1、c2’=c2、k=k1×k2×k3) 式2
である。
(2)S503で、5D重みテンソルをサイズ(c1’、c2’)の2D行列に再構成する。ここで、
c1’×c2’=c1×c2×k1×k2×k3(例えば、いくつかの好ましい構成はc1’=c1、c2’=c2×k1×k2×k3、またはc1’=c1×k1×k2×k3) 式3
である。
【0031】
例示的な実施形態は、畳み込み演算がどのように実施されるかという基礎的なGEMM行列の乗算処理と整合するように、マスクの所望のマイクロ構造で設計され、その結果、マスクされた重み係数を使用する推論計算を加速することができる。例示的な実施形態によれば、3D再構成重みテンソルまたは2D再構成重み行列の各層のマスク(マスクされた重み係数として)に対して、ブロック単位のマイクロ構造を使用することが可能であり、具体的には、再構成された3D重みテンソルの場合は、S504で、そのパーティションをサイズ(gi、go、gk)のブロックに分割し、再構成された2D重み行列の場合は、S505で、サイズ(gi、go)のブロックに分割する。マスクのブロック内のすべてのアイテムは、同じバイナリ値1または0を有する。すなわち、重み係数は、例示的な実施形態によるブロック単位のマイクロ構造にマスクアウトされる。
【0032】
図7のダイアグラム700によって示される例示的な実施形態は、例示的な実施形態による訓練ステージの全体的なワークフローを示し、ここで、ゴールは、重み
【数27】
のモデルインスタンス、およびマイクロ構造マスクのセット
【数28】
である。i=1、・・・、Nに対して、各
【数29】
は、対象の各スケールファクタsiをターゲットとする。このように、本明細書で言及した問題に対する技術的利点を表すこのゴールを達成するための進歩的なマルチステージ訓練フレームワークが開示される。
【0033】
図7に示すように、実施形態は、siをターゲットとするマスクの訓練を試みることを想定して説明されており、重み
【数30】
と対応するマスク
【数31】
とを有する現在のモデルインスタンスが存在する。また、現在のスケールファクタsiに対して、学習すべき重み係数
【数32】
を有する対応するアップスケーリングDNNが存在する。換言すれば、マスク
【数33】
と、更新された重み係数
【数34】
と、新しい重み係数
【数35】
とを取得することがゴールである。このように、まず、
【数36】
でマスクされた
【数37】
の重み係数を決定する。例えば、好ましい実施形態では、
【数38】
のエントリが1であれば、
【数39】
で対応する重みが決定される。実際には、
【数40】
の0のエントリに対応する残りの重み係数は0の値を有する。次に、学習処理を行い、特徴量学習DNNのためのこれらの決定されていないゼロ値の重みと、アップスケーリングDNN用の重み
【数41】
とを、重み充填モジュール701を介して充填する。これにより、重み係数
【数42】
のセットが更新される。次に、
【数43】
に基づいて、実施形態は、マイクロ構造プルーニングモジュール702を介してマイクロ構造のプルーニングを実施し、モデルインスタンスおよびマスク
【数44】
を取得する。
【0034】
図8のようなさらなる例示的な実施形態は、ダイアグラム800を示し、そこでは、図8の重み充填モジュール801の詳細なワークフローがさらに図示されている。例えば、現在の重み
【数45】
および対応するマスク
【数46】
が与えられると、重み決定および充填モジュール801において、
【数47】
によってマスクされた
【数48】
のそれらの重み係数を決定し、ゼロ値を有する
【数49】
の残りの重み係数を再初期化する(例えば、それらをいくつかのランダムに初期値に設定したり、または重み
【数50】
を有する最初のフルモデルなどの以前に学習したフルモデルの対応する重みを使用したりすることによって)。これにより、特徴量学習DNNの重み係数
【数51】
が得られる。また、アップスケーリングDNNの重み
【数52】
が初期化される(例えば、いくつかのランダムに初期化された値に設定したり、または現在のスケールファクタsiで訓練された個々のフルモデルなどの、以前に学習されたフルモデルの対応する重みを使用したりすることによって)。その後、訓練入力画像ILRは特徴量学習DNNを通過し、特徴量学習モジュール802で
【数53】
を用いて特徴FLRを計算する。FLRはさらにアップスケーリングDNNを通過し、アップスケーリングモジュール803で
【数54】
を用いてHR画像IHRを計算する。訓練目的のために、各訓練入力LR画像ILRは、現在のスケールファクタsiに対して対応するグラウンドトルースHR画像
【数55】
を有する。訓練の一般的なゴールは、グラウンドトルース画像
【数56】
と推定HR画像IHRとの間の歪みを最小化することである。歪み損失
【数57】
は、
【数58】
とIHRとの差のL1またはL2ノルムなどの、演算損失モジュール804の歪みを測定するように計算することができる。この損失の勾配は、バックプロパゲーション&重み更新モジュールにおいて、特徴量学習DNNの
【数59】
の決定されていない重み係数およびアップスケーリングDNNの重み係数
【数60】
を更新するために計算され得る。典型的には、複数のエポック反復が行われ、このバックプロパゲーション&重み更新805において、例えば、最大反復数に達するまで、または損失が収束するまで、損失
【数61】
を最適化する。
【0035】
例示的な実施形態によれば、図9は、図7のマイクロ構造プルーニングモジュール702のより詳細なワークフローがさらに説明されたダイアグラム900を示す。例えば、上述の重み充填モジュール701から、特徴量学習DNNの更新された重み
【数62】
と、アップスケーリングDNNの
【数63】
と、現在のマスク
【数64】
とが与えられると、最初にプルーニングマスク計算モジュール901で、プルーニングマスク
【数65】
の計算が行われる。
【0036】
例示的な実施形態によれば、
【数66】
によってマスクされた
【数67】
の重み係数が決定され、
【数68】
の残りの決定されていない重み係数に対しては、各マイクロ構造ブロックb(3D再構成重みテンソルに対する3Dブロック、または2D再構成重み行列に対する2Dブロック)に対して前述のように、ブロック904で、プルーニング損失Lp(b)(例えば、ブロックの重みのL1またはL2ノルム)の計算が行われる。さらに、これらのマイクロ構造ブロックを、プルーニング損失に基づいて昇順にランク付し、停止基準に達するまで、ランク付けリストから上から下にブロックをプルーニングする(つまり、プルーニングブロックで対応する重みを0に設定することによって行われる)。例えば、検証データセットSvalが与えられると、重み
【数69】
を有するSISRモデルは、歪み損失を生成することができる。
【0037】
【数70】
【0038】
より多くのマイクロブロックがプルーニングされると、この歪み損失は徐々に増加する。停止基準は、歪み損失の増加を許容できる許容可能な割合の閾値とすることができる。また、停止基準は、プルーニングするマイクロ構造ブロックの単純な割合(例えば、50%)であってもよい。バイナリプルーニングマスク
【数71】
のセットを生成することができ、ここで、マスク
【数72】
のエントリが1であることは、
【数73】
の対応する重みがプルーニングされることを意味する。次に、
【数74】
によってマスクされた
【数75】
の追加の決定されていない重みをプルーニングされたとして決定し、
【数76】
のいずれによってもマスクされていない
【数77】
の残りの重みを更新し、規則的なバックプロパゲーションによって、重み
【数78】
を更新し、訓練データ上の歪み損失
【数79】
を最適化する。典型的には、複数のエポック反復が行われ、ブロック905のこのバックプロパゲーション&重み更新処理において、例えば、最大反復数に達するまで、または損失が収束するまで、歪み損失を最適化する。
【0039】
対応するマスク
【数80】
は次のように計算することができる。
【0040】
【数81】
【0041】
すなわち、
【数82】
でマスクされていない
【数83】
のプルーニングされていないエントリは、
【数84】
でマスクされたとして、さらに1に設定される。また、上述のマイクロ構造重みプルーニング処理は、更新された重み
【数85】
を出力する。上記のマイクロ構造プルーニング処理を、任意に
【数86】
にも適用し、モデルサイズや推論計算をさらに減少させることができることに留意されたい。すなわち、プルーニングマスク計算モジュール901において、ブロック903からのアップスケーリングDNNの重みをマイクロ構造に再構成およびパーティショニングし、それらのマイクロ構造のプルーニング損失を計算し、プルーニング損失が小さい最上位ランクのマイクロ構造をプルーニングすることもできる。さらに、実施形態は、SISR歪みの低減と、ストレージおよび計算の節約とのトレードオフとして、任意に選択することができる。
【0042】
最終的に、最後に更新された重み
【数87】
が、例示的な実施形態による、学習されたモデルインスタンスの特徴量学習DNNの最終的な出力重み
【数88】
である。
【0043】
上述実施形態を考慮し、SISR法での任意の従来の試みと比較して、本開示は、複数のスケールファクタを有するSISRの実現のために配備するストレージの大幅な低減、基礎的なSISRモデルの様々なタイプに順応する柔軟かつ一般的なフレームワーク、およびマイクロ構造マスクが計算の低減という追加的利点を提供することなどの技術的利点を提供する。
【0044】
上述した技術は、コンピュータ可読命令を使用し、1つまたは複数のコンピュータ可読媒体に物理的に格納されたコンピュータソフトウェアとして、または特別に構成された1つまたは複数のハードウェアプロセッサによって実施することができる。例えば、図10は、開示された主題の特定の実施形態を実装するのに適したコンピュータシステム1000を示す。
【0045】
コンピュータソフトウェアは、アセンブリ、コンパイル、リンク、または同様のメカニズムの対象となる可能性のある任意の適切な機械語またはコンピュータ言語を使用して符号化して、直接または、コンピュータ中央処理装置(CPU)、グラフィック処理装置(GPU)などによって変換、マイクロコード実行などを介して実行できる命令を含むコードを作成できる。
【0046】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、IoTデバイスなどを含む様々な種類のコンピュータまたはその構成要素上で、実行され得る。
【0047】
図10に示されたコンピュータシステム1000のコンポーネントは、本質的に例示であり、本開示の実施形態を実施するためのコンピュータソフトウェアの使用範囲または機能にいかなる限定を加えることも意図するものではない。コンポーネントの構成は、コンピュータシステム1000の例示的な実施形態に示されるコンポーネントのいずれか、またはそれらの組み合わせに関連する依存関係または要件を有するものとして解釈されるべきではない。
【0048】
コンピュータシステム1000は、いくつかのヒューマンインターフェース入力デバイスを備えてもよい。このようなヒューマンインターフェース入力デバイスは、例えば、触覚入力(キーを押す、スワイプする、データグローブを動かすなど)、音声入力(声、手をたたくなど)、視覚入力(身振りなど)、嗅覚入力(図示せず)による、1人以上のユーザによる入力に応答し得る。ヒューマンインターフェースデバイスは、オーディオ(例えば、音声、音楽、周囲音)、画像(例えば、走査画像、写真画像は静止画像カメラから取得)、ビデオ(2次元映像、立体映像を含む3次元映像など)など、必ずしも人間による意識的な入力に直接関連しない特定のメディアを取り込むために使用され得る。
【0049】
入力ヒューマンインターフェースデバイスは、キーボード1001、マウス1002、トラックパッド1003、タッチスクリーン1010、ジョイスティック1005、マイクロフォン1006、スキャナ1008、カメラ1007のうちの1つまたは複数(それぞれ1つのみ示されている)を含むことができる。
【0050】
コンピュータシステム1000は、いくつかのヒューマンインターフェース出力デバイスを備えてもよい。そのようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音、光、および匂い/味によって1人または複数の人間ユーザの感覚を刺激し得る。そのようなヒューマンインターフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン1010、またはジョイスティック1005による触覚フィードバックがあるが、入力デバイスとして機能しない触覚フィードバックデバイスもあり得る)、オーディオ出力デバイス(スピーカー1009、ヘッドフォン(図示せず)など)、視覚出力デバイス(CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン1010などであって、それぞれタッチスクリーン入力能力を有するもの、有さないもの、それぞれ触覚フィードバック機能を有するもの、有さないもの、そのうちのいくつかは、2次元視覚出力、または立体写真出力などの手段による3次元を越える出力を出力することができるもの、バーチャルリアリティグラス(図示せず)、ホログラフィックディスプレイ、スモークタンク(図示せず)など)、およびプリンタ(図示せず)を含み得る。
【0051】
コンピュータシステム1000はまた、CD/DVD1011などの媒体を有するCD/DVD ROM/RW1020などの光学媒体、サムドライブ1022、取り外し可能ハードドライブまたはソリッドステートドライブ1023、テープやフロッピー(登録商標)ディスクなどの従来の磁気媒体(図示せず)、セキュリティドングルなどの専用ROM/ASIC/PLDベースのデバイス(図示せず))などの、人間がアクセス可能な記憶装置およびその関連する媒体などを含み得る。
【0052】
当業者はまた、本開示内容に関連して使用される「コンピュータ可読媒体」という用語が、伝送媒体、搬送波、または他の一時的信号を包含しないことを理解すべきである。
【0053】
コンピュータシステム1000はまた、1つまたは複数の通信ネットワーク1098へのインターフェース1099を含み得る。ネットワーク1098は、例えば無線、有線、光学的ネットワークであり得る。ネットワーク1098はさらに、ローカル、広域、都市用、車両用、工業用、リアルタイム、遅延耐性ネットワークなどであり得る。ネットワーク1098の例は、例えば、イーサネット(登録商標)などのローカルエリアネットワーク、無線LAN、GSM、3G、4G、5G、LTEなどを含むセルラーネットワーク、有線テレビ、衛星テレビおよび地上波テレビを含むテレビ有線または無線ワイドエリアデジタルネットワークテレビ、CANBusを含む車載および工業用ネットワークなどを含む。特定のネットワーク1098は一般的に、特定の汎用データポートまたは周辺バス(1050および1051)(例えば、コンピュータシステム1000のUSBポート)に接続される外部ネットワークインターフェースアダプタを必要とし、他のネットワークは一般的に、以下に説明するようなシステムバス(例えば、PCコンピュータシステムへのイーサネット(登録商標)インターフェース、またはスマートフォンコンピュータシステムへのセルラーネットワークインターフェース)に接続されることによって、コンピュータシステム1000のコアに統合される。これらのネットワーク1098のいずれかを使用して、コンピュータシステム1000は、他のエンティティと通信することができる。そのような通信は、例えば、ローカルエリアデジタルネットワークまたは広域デジタルネットワークを使用する他のコンピュータシステムに対して、単方向、受信のみ(例えば、放送TV)、単方向送信のみ(例えば、特定のCANbusデバイスへのCANbus)、または双方向であり得る。特定のプロトコルおよびプロトコルスタックは、上述したように、それらのネットワークおよびネットワークインターフェースのそれぞれで使用し得る。
【0054】
前述のヒューマンインターフェースデバイス、ヒューマンアクセス可能な記憶装置、およびネットワークインターフェースは、コンピュータシステム1000のコア1040に取り付けられ得る。
【0055】
コア1040は1つまたは複数の中央処理ユニット(CPU)1041、グラフィックス処理ユニット(GPU)1042、グラフィックスアダプタ1017、フィールドプログラム可能ゲートアレイ(FPGA)1043の形態の専用プログラム可能処理ユニット、特定のタスクのためのハードウェアアクセラレータ1044などを含み得る。このようなデバイスは、読出し専用メモリ(ROM)1045、ランダムアクセスメモリ1046、ユーザがアクセスできない内部のハードドライブ、SSDなどの内部大容量記憶装置1047とともに、システムバス1048を介して接続されてもよい。いくつかのコンピュータシステムでは、システムバス1048は、追加のCPU、GPUなどによる拡張が可能なように、1つ以上の物理プラグの形態でアクセスすることができる。周辺デバイスは、直接的または周辺バス1051を介してコアのシステムバス1048に接続することができる。周辺バスのアーキテクチャには、PCI、USBなどが含まれる。
【0056】
CPU1041、GPU1042、FPGA1043、およびアクセラレータ1044は、前述したコンピュータコードを作成可能ないくつかの命令を、組み合わせて実行することができる。コンピュータコードは、ROM1045またはRAM1046に記憶させることができる。過渡的なデータもRAM1046に記憶でき、他方、永続的なデータは、例えば、内部大容量記憶装置1047に記憶することができる。キャッシュメモリを使用することによって、任意の記憶デバイスへの高速ストレージおよび検索を可能にし、当該キャッシュメモリは1つまたは複数のCPU1041、GPU1042、大容量記憶装置1047、ROM1045、RAM1046などに密接に関連することができる。
【0057】
コンピュータ可読媒体は、様々なコンピュータ実施動作を実行するためのコンピュータコードを有し得る。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構築されたものであってもよく、またはコンピュータソフトウェア技術の当業者に良く知られた利用可能な種類のものであってもよい。
【0058】
例として、かつ限定する目的ではなく、アーキテクチャ1000、具体的にはコア1040を有するコンピュータシステムは、1つ以上の有形のコンピュータ可読媒体に具体化されたソフトウェアを実行する、(複数の)プロセッサ(CPU、GPU、FPGA、アクセラレータなど)の結果としての機能性を提供することができる。このようなコンピュータ可読媒体は、先に紹介したようなユーザがアクセス可能な大容量記憶装置、ならびにコア内部大容量記憶装置1047またはROM1045などの、非一時的な性質をもつ、コア1040のいくつかの記憶装置に関連する媒体であってもよい。本開示の様々な実施形態を実施するソフトウェアは、このようなデバイスに記憶されて、コア1040によって実行することができる。コンピュータ可読媒体は、特定の需要にしたがって、1つ以上の記憶デバイスまたはチップを含むことができる。ソフトウェアは、コア1040および具体的にはその中のプロセッサ(CPU、GPU、FPGAなどを含む)に、RAM1046に記憶されているデータ構造の定義、およびソフトウェアによって定義された工程に従ったこのようなデータ構造の変更を含む、本明細書で説明する特定の工程、または特定の工程の特定の部分を実行させることができる。これに加えて、またはこれに代えて、コンピュータシステムは、回路(例えば、アクセラレータ1044)に配線された、或いは回路で具体化されたロジックの結果としての機能性を提供でき、本明細書で説明する特定の工程、または特定の工程の特定の部分を実行するために、ソフトウェアの代わりに、またはソフトウェアとともに動作させることができる。ソフトウェアに対する言及は、必要に応じてロジックを包含することができ、その逆もまた可能である。コンピュータ可読媒体への参照は、適切な場合には、実行のためにソフトウェアを格納する回路(集積回路(IC)など)、実行のための論理回路を具現化する回路、またはその両方を包含することができる。本開示は、ハードウェアとソフトウェアの任意の適切な組み合わせを包含する。
【0059】
本開示はいくつかの例示的な実施形態を説明してきたが、本開示の範囲内に入る修正、置換、および様々な代替等価物がある。したがって、当業者は、本明細書に明示的に示されていないまたは記載されていないが、本開示の原理を具体化し、したがってその趣旨および範囲内にある多数のシステムおよび方法を案出することができることが理解されよう。
【符号の説明】
【0060】
100 通信システム
101 第1の端末
102 第2の端末
103 端末
104 端末
105 ネットワーク
701 重み充填モジュール
702 マイクロ構造プルーニングモジュール
801 重み充填モジュール
802 特徴量学習モジュール
803 アップスケーリングモジュール
804 損失演算モジュール
805 バックプロパゲーション&重み更新モジュール
901 プルーニングマスク計算モジュール
902 特徴量学習
903 アップスケーリング
904 損失計算
905 重み更新および充填
1000 コンピュータシステム
1001 キーボード
1002 マウス
1003 トラックパッド
1005 ジョイスティック
1006 マイクロフォン
1007 カメラ
1008 スキャナ
1009 スピーカー
1010 タッチスクリーン
1011 CD/DVD
1017 グラフィックスアダプタ
1020 CD/DVD ROM/RW
1022 サムドライブ
1023 取り外し可能ハードドライブまたはソリッドステートドライブ
1040 コア
1041 中央処理ユニット
1042 グラフィックス処理ユニット
1043 フィールドプログラム可能ゲートアレイ
1044 アクセラレータ
1045 読出し専用メモリROM
1046 ランダムアクセスメモリ
1047 内部大容量記憶装置
1048 システムバス
1050 汎用データポート
1051 周辺バス
1098 通信ネットワーク
1099 ネットワークインターフェース
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10