(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-03-06
(45)【発行日】2023-03-14
(54)【発明の名称】映像復元方法及び装置
(51)【国際特許分類】
G06T 5/00 20060101AFI20230307BHJP
G06N 3/08 20230101ALI20230307BHJP
G06T 1/40 20060101ALI20230307BHJP
【FI】
G06T5/00 700
G06N3/08
G06T1/40
(21)【出願番号】P 2021205680
(22)【出願日】2021-12-20
【審査請求日】2021-12-20
(31)【優先権主張番号】10-2021-0010638
(32)【優先日】2021-01-26
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2021-0034480
(32)【優先日】2021-03-17
(33)【優先権主張国・地域又は機関】KR
【新規性喪失の例外の表示】特許法第30条第2項適用 https://arxiv.org/abs/2012.11225にて「Searching for Controllable Image Restoration Networks」として公開
(73)【特許権者】
【識別番号】390019839
【氏名又は名称】三星電子株式会社
【氏名又は名称原語表記】Samsung Electronics Co.,Ltd.
【住所又は居所原語表記】129,Samsung-ro,Yeongtong-gu,Suwon-si,Gyeonggi-do,Republic of Korea
(73)【特許権者】
【識別番号】521081975
【氏名又は名称】ソウル ナショナル ユニヴァーシティ アール アンド ディービー ファウンデーション
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】權 基南
(72)【発明者】
【氏名】金 熙元
(72)【発明者】
【氏名】李 ▲きょん▼武
(72)【発明者】
【氏名】李 炯旭
【審査官】板垣 有紀
(56)【参考文献】
【文献】特開2020-095407(JP,A)
【文献】国際公開第2020/165196(WO,A1)
【文献】成冨 志優 他,Conditional GANによる食事写真の属性操作,第10回データ工学と情報マネジメントに関するフォーラム (第16回日本データベース学会年次大会) [Online],日本,電子情報通信学会データ工学研究専門委員会 日本データベース学会 情報処理学会データベースシステム研究会,2018年03月06日
(58)【調査した分野】(Int.Cl.,DB名)
G06T 5/00
G06N 3/08
G06T 1/40
(57)【特許請求の範囲】
【請求項1】
入力映像、及び、複数の候補映像効果のうち第1映像効果を指示する第1タスクベクトルを受信するステップと、
ソースニューラルネットワークのタスク-非依存アーキテクチャに基づいて、前記入力映像から前記複数の候補映像効果が共有している共通特徴を抽出するステップと、
前記ソースニューラルネットワークのタスク-特化アーキテクチャ及び前記第1タスクベクトルに基づいて、前記共通特徴を前記第1映像効果に対応する第1復元映像に復元するステップと、
を含む、映像復元方法。
【請求項2】
前記復元するステップは、
前記タスク-特化アーキテクチャに前記第1タスクベクトルを適用して第1タスク-特化ネットワークを決定するステップと、
前記第1タスク-特化ネットワークに基づいて、前記共通特徴を前記第1復元映像に復元するステップと、
を含む、請求項1に記載の映像復元方法。
【請求項3】
前記復元するステップは、
前記第1タスク-特化ネットワークに基づいて、前記共通特徴から前記第1映像効果に特化した第1特化特徴を抽出するステップと、
前記第1タスク-特化ネットワークに基づいて、前記第1特化特徴を前記第1映像効果に対応する第1復元映像に復元するステップと、
を含む、請求項2に記載の映像復元方法。
【請求項4】
前記第1タスク-特化ネットワークを決定するステップは、
アーキテクチャ制御ネットワークを用いて、前記第1タスクベクトルに対応する第1チャネル選択情報を生成するステップと、
前記第1チャネル選択情報に基づいて、前記タスク-特化アーキテクチャの少なくとも一部のチャネルを除去し前記第1タスク-特化ネットワークを決定するステップと、
を含む、請求項2に記載の映像復元方法。
【請求項5】
前記第1チャネル選択情報を生成するステップは、
前記アーキテクチャ制御ネットワークを介して、前記第1タスクベクトルを処理して第1実数ベクトルを生成するステップと、
変換関数を介して前記第1実数ベクトルの各実数エレメントを真又は偽りに変換して、前記第1チャネル選択情報を生成するステップと、
を含む、請求項4に記載の映像復元方法。
【請求項6】
前記抽出するステップは、
前記タスク-非依存アーキテクチャに共有パラメータを適用して、タスク-非依存ネットワークを決定するステップと、
前記タスク-非依存ネットワークに基づいて、前記入力映像から前記共通特徴を抽出するステップと、
を含む、請求項1に記載の映像復元方法。
【請求項7】
前記複数の候補映像効果のうち第2映像効果に対応する第2タスクベクトルを受信するステップと、
前記タスク-特化アーキテクチャ及び前記第2タスクベクトルに基づいて、前記共通特徴を前記第2映像効果に対応する第2復元映像に復元するステップと、
をさらに含み、
前記共通特徴は、前記第2復元映像の復元のためにリユースされる、
請求項1に記載の映像復元方法。
【請求項8】
前記第1タスクベクトルは、前記第1映像効果の各効果タイプの調整レベルを含む、
請求項1に記載の映像復元方法。
【請求項9】
第1トレーニング入力映像、複数の候補映像効果のうち第1映像効果を指示する第1タスクベクトル、及び、前記第1映像効果による第1トレーニング目標映像を含む第1トレーニングデータセット、を受信するステップと、
ソースニューラルネットワークのタスク-非依存アーキテクチャに基づいて、前記第1トレーニング入力映像から前記複数の候補映像効果が共有している共通特徴を抽出するステップと、
前記ソースニューラルネットワークのタスク-特化アーキテクチャ及び前記第1タスクベクトルに基づいて、前記共通特徴を第1復元映像に復元するステップと、
前記第1トレーニング目標映像と前記第1復元映像との間の差、及び、前記共通特徴の抽出及び前記第1復元映像の復元に関する演算量に基づいて、前記ソースニューラルネットワークを更新するステップと、
を含む、トレーニング方法。
【請求項10】
前記ソースニューラルネットワークを更新するステップは、
前記タスク-非依存アーキテクチャに含まれたレイヤの数が増加し、前記演算量が減少するように前記ソースニューラルネットワークを更新するステップ、を含む、
請求項9に記載のトレーニング方法。
【請求項11】
前記第1タスクベクトルは、前記第1映像効果の各効果タイプの調整レベルを含み、
前記調整レベルの値は、前記第1トレーニング入力映像の入力効果レベルと前記第1トレーニング目標映像の目標効果レベルとの間の差によって決定される、
請求項9に記載のトレーニング方法。
【請求項12】
第2トレーニング入力映像、第2映像効果を指示する第2タスクベクトル、及び、前記第2映像効果による第2トレーニング目標映像を含む第2トレーニングセットが存在し、前記第2トレーニング入力映像の入力効果レベルと前記第2トレーニング目標映像の目標効果レベルとの間の差が、前記第1トレーニング入力映像の入力効果レベルと前記第1トレーニング目標映像の目標効果レベルとの間の差と同一である場合、前記第2タスクベクトルは前記第1タスクベクトルと同じ値を有する、
請求項11に記載のトレーニング方法。
【請求項13】
コンピュータで読み出し可能な記憶媒体に格納されたコンピュータプログラムであって、
コンピュータで実行可能な複数の命令を含み、
実行されると、前記コンピュータのハードウェアに、請求項1~請求項12のいずれか1項に記載の方法を実施させる、
コンピュータプログラム。
【請求項14】
入力映像を生成するカメラと、
プロセッサであり、
前記入力映像、及び、複数の候補映像効果のうち第1映像効果を指示する第1タスクベクトルを受信し、
ソースニューラルネットワークのタスク-非依存アーキテクチャに基づいて、前記入力映像から前記複数の候補映像効果が共有している共通特徴を抽出し、
前記ソースニューラルネットワークのタスク-特化アーキテクチャ及び前記第1タスクベクトルに基づいて、前記共通特徴を前記第1映像効果に対応する第1復元映像に復元する、プロセッサと、
を含む、電子装置。
【請求項15】
前記プロセッサは、
前記タスク-特化アーキテクチャに前記第1タスクベクトルを適用して第1タスク-特化ネットワークを決定し、
前記第1タスク-特化ネットワークに基づいて、前記共通特徴を前記第1復元映像に復元する、
請求項14に記載の電子装置。
【請求項16】
前記プロセッサは、
前記第1タスク-特化ネットワークに基づいて、前記共通特徴から前記第1映像効果に特化した第1特化特徴を抽出し、
前記第1タスク-特化ネットワークに基づいて、前記第1特化特徴を前記第1映像効果に対応する第1復元映像に復元する、
請求項15に記載の電子装置。
【請求項17】
前記プロセッサは、
アーキテクチャ制御ネットワークを用いて前記第1タスクベクトルに対応する第1チャネル選択情報を生成し、
前記第1チャネル選択情報に基づいて、前記タスク-特化アーキテクチャの少なくとも一部のチャネルを除去して前記第1タスク-特化ネットワークを決定する、
請求項15に記載の電子装置。
【請求項18】
前記プロセッサは、
前記アーキテクチャ制御ネットワークを介して、前記第1タスクベクトルを処理して第1実数ベクトルを生成し、
変換関数を介して前記第1実数ベクトルの各実数エレメントを真又は偽りに変換して、前記第1チャネル選択情報を生成する、
請求項17に記載の電子装置。
【請求項19】
前記プロセッサは、
前記タスク-非依存アーキテクチャに共有パラメータを適用して、タスク-非依存ネットワークを決定し、
前記タスク-非依存ネットワークに基づいて、前記入力映像から前記共通特徴を抽出する、
請求項14に記載の電子装置。
【請求項20】
前記プロセッサは、
前記複数の候補映像効果のうち第2映像効果に対応する第2タスクベクトルを受信し、
前記タスク-特化アーキテクチャ及び前記第2タスクベクトルに基づいて、前記共通特徴を前記第2映像効果に対応する第2復元映像に復元し、
前記共通特徴は、前記第2復元映像の復元のためにリユースされる、
請求項14に記載の電子装置。
【請求項21】
プロセッサであり、
入力映像、及び、候補映像効果のうち第1映像効果を指示する第1タスクベクトルを受信し、
タスク-非依存アーキテクチャを用いて、前記入力映像から前記候補映像効果が共有している共通特徴を抽出し、
前記第1タスクベクトルに基づいて、タスク-特化アーキテクチャの少なくとも1つのチャネルを除去して、第1タスク-特化ネットワークを生成し、
前記第1タスク-特化ネットワークを用いて、前記共通特徴から前記第1映像効果に特化した第1特化特徴を抽出し、
前記第1タスク-特化ネットワークを用いて、前記第1特化特徴を第1復元映像に復元する、プロセッサ、
を含む、電子装置。
【請求項22】
前記プロセッサは、
前記タスク-特化アーキテクチャに共有パラメータを適用して、前記第1タスク-特化ネットワークを生成する、
請求項21に記載の電子装置。
【請求項23】
前記プロセッサは、
アーキテクチャ制御ネットワークを介して、前記第1タスクベクトルを処理して第1実数ベクトルを生成し、
変換関数を介して前記第1実数ベクトルの実数エレメントの各実数エレメントを変換し、前記タスク-特化アーキテクチャの前記少なくとも1つのチャネルを除去するために用いられる第1チャネル選択情報を生成する、
請求項21に記載の電子装置。
【請求項24】
前記プロセッサは、
前記候補映像効果のうち第2映像効果を指示する第2タスクベクトルを受信し、
前記第2タスクベクトルに基づいて、前記タスク-特化アーキテクチャの少なくとも1つのチャネルを除去して第2タスク-特化ネットワークを生成し、
前記第2タスク-特化ネットワークを用いて、前記共通特徴から前記第2映像効果に特化した第2特化特徴を抽出し、
前記第2タスク-特化ネットワークを用いて、前記第2特化特徴を第2復元映像に復元する、
請求項21に記載の電子装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、映像復元方法及び装置に関する。
【背景技術】
【0002】
映像復元は、劣化状態の映像を、向上した画質の映像に復元する技術である。映像復元のためにディープラーニング基盤のニューラルネットワークが用いられる。ニューラルネットワークは、ディープラーニングに基づいてトレーニングされた後、非線形関係にある入力データ及び出力データを互いにマッピングすることで目的に適する推論(inference)を実行することができる。このようなマッピングを生成するトレーニングされた能力は、ニューラルネットワークの学習能力といえる。しかも、映像復元のような特化した目的のためにトレーニングされたニューラルネットワークは、例えば、トレーニングしていない入力パターンに対して比較的正確な出力を生成する一般化能力を有することができる。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本発明の目的は、映像復元方法及び装置を提供することにある。
【課題を解決するための手段】
【0004】
一実施形態によれば、映像復元方法は、入力映像、及び、複数の候補映像効果のうち第1映像効果を指示する第1タスクベクトルを受信するステップと、ソースニューラルネットワークのタスク-非依存アーキテクチャに基づいて、前記入力映像から前記複数の候補映像効果が共有している共通特徴を抽出するステップと、前記ソースニューラルネットワークのタスク-特化アーキテクチャ及び前記第1タスクベクトルに基づいて、前記共通特徴を前記第1映像効果に対応する第1復元映像に復元するステップと、を含む。
【0005】
一実施形態によれば、第1トレーニング入力映像、複数の候補映像効果のうち第1映像効果を指示する第1タスクベクトル、及び、前記第1映像効果による第1トレーニング目標映像を含む第1トレーニングデータセットを受信するステップと、ソースニューラルネットワークのタスク-非依存アーキテクチャに基づいて、前記第1トレーニング入力映像から前記複数の候補映像効果が共有している共通特徴を抽出するステップと、前記ソースニューラルネットワークのタスク-特化アーキテクチャ及び前記第1タスクベクトルに基づいて、前記共通特徴を第1復元映像に復元するステップと、前記第1トレーニング目標映像と前記第1復元映像との間の差、及び、前記共通特徴の抽出及び前記第1復元映像の復元に関する演算量に基づいて、前記ソースニューラルネットワークを更新するステップと、を含む。
【0006】
一実施形態によれば、電子装置は、入力映像を生成するカメラと、前記入力映像、及び、複数の候補映像効果のうち第1映像効果を指示する第1タスクベクトルを受信し、ソースニューラルネットワークのタスク-非依存アーキテクチャに基づいて、前記入力映像から前記複数の候補映像効果が共有している共通特徴を抽出し、前記ソースニューラルネットワークのタスク-特化アーキテクチャ及び前記第1タスクベクトルに基づいて、前記共通特徴を前記第1映像効果に対応する第1復元映像に復元する、プロセッサと、を含む。
【0007】
一実施形態によれば、電子装置は、入力映像、及び、候補映像効果のうち第1映像効果を指示する第1タスクベクトルを受信し、タスク-非依存アーキテクチャを用いて前記入力映像から前記候補映像効果が共有している共通特徴を抽出し、前記第1タスクベクトルに基づいて、タスク-特化アーキテクチャの少なくとも1つのチャネルを除去して第1タスク-特化ネットワークを生成し、前記第1タスク-特化ネットワークを用いて、前記共通特徴から前記第1映像効果に特化した第1特化特徴を抽出し、前記第1タスク-特化ネットワークを用いて前記第1特化特徴を第1復元映像に復元する。
【発明の効果】
【0008】
本発明によれば、映像復元方法及び装置を提供することができる。
【図面の簡単な説明】
【0009】
【
図1】一実施形態に係る映像復元装置の概略的な動作を示す図である。
【
図2】一実施形態に係るソースニューラルネットワーク及び変形ネットワークを示す図である。
【
図3】一実施形態に係るタスク-特化アーキテクチャ及び制御アーキテクチャを示す図である。
【
図4】一実施形態に係る第1タスクベクトルに基づいた映像復元動作を示したフローチャートである。
【
図5】一実施形態に係るトレーニング装置を示すブロック図である。
【
図6】一実施形態に係るソースニューラルネットワークのアーキテクチャを示す図である。
【
図7】一実施形態に係るチャネル選択動作を示す図である。
【
図8】一実施形態に係るアーキテクチャ制御ネットワークの構成を示す図である。
【
図9】絶対的な目標を有するトレーニングデータセットを示す図である。
【
図10】一実施形態に係る相対的目標を有するトレーニングデータセットを示す図である。
【
図11】一実施形態に係るトレーニングデータセットの構成を示す図である。
【
図12】一実施形態に係る第1トレーニングデータセットに基づいたトレーニング動作を示したフローチャートである。
【
図13】一実施形態に係る映像復元装置を示すブロック図である。
【
図14】一実施形態に係る電子装置を示すブロック図である。
【発明を実施するための形態】
【0010】
本明細書で開示する特定の構造的又は機能的な説明は、単に実施形態を説明することを目的として例示したものであり、実施形態は、様々な異なる形態で実施され、本発明は、本明細書で説明した実施形態に限定されるものではなく、本発明の範囲は、実施形態で説明した技術的な思想に含まれている変更、均等物、または代替物を含む。
【0011】
第1又は第2などの用語を複数の構成要素を説明するために用いることがあるが、このような用語は、1つの構成要素を他の構成要素から区別する目的としてのみ解釈されなければならない。例えば、第1構成要素は第2構成要素と命名することができ、同様に、第2構成要素は第1構成要素にも命名することができる。
【0012】
いずれかの構成要素が他の構成要素に「連結」されているか「接続」されていると言及されたときには、その他の構成要素に直接的に連結されているか又は接続されているが、中間に他の構成要素が存在し得るものと理解されなければならない。
【0013】
単数の表現は、文脈上、明白に異なる意味をもたない限り、複数の表現を含む。本明細書において、「含む」又は「有する」等の用語は、明細書上に記載した特徴、数字、ステップ、動作、構成要素、部品、又は、これらを組み合わせたものが存在することを示すものであって、1つ又はそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品、又は、これを組み合わせたものなどの存在又は付加の可能性を予め排除しないものとして理解しなければならない。
【0014】
異なるように定義さがれない限り、技術的又は科学的な用語を含む、ここにおいて使用される全ての用語は、本実施形態が属する技術分野で通常の知識を有する者によって一般的に理解されるものと同じ意味を有する。一般的に用いられる予め定義された用語は、関連技術の文脈上で有する意味と一致する意味を有するものと解釈すべきであって、本明細書で明白に定義しない限り、理想的又は過度に形式的な意味として解釈されることはない。
【0015】
以下、添付する図面を参照しながら実施形態を詳細に説明する。添付図面を参照して説明するが、図面符号に関係なく、同一の構成要素には同一の参照符号を付与し、これに対する重複する説明は省略することにする。
【0016】
図1は、一実施形態に係る映像復元装置の概略的な動作を示す。
図1を参照すると、映像復元装置100は、入力映像101及び様々なタスクベクトル102を受信し、様々な復元映像103を出力する。様々なタスクベクトル102は、様々な映像効果(image effects)に対応する。様々なタスクベクトル102は、1つ以上のディメンション(dimension)を有する。各ディメンションは効果タイプを示し、各ディメンションの値は調整レベルを示す。調整レベルは、タスクベクトル102によって調整される効果レベルの大きさを示す。劣化の観点で、効果タイプ及び効果レベルは、劣化タイプ及び劣化レベルと称する。様々なタスクベクトル102は、映像復元装置100の設計者及び/又は運営者によって予め設定され、あるいは、映像復元装置100の使用過程においてユーザに応じて設定されてもよい。
【0017】
様々な映像効果の効果タイプは、ノイズ効果、ブラー効果、JPEG圧縮効果、ホワイトバランス効果、露出効果、対比効果、レンズ歪み効果、及び、これらの少なくとも1つの組み合わせを含む。例えば、3-ディメンションのタスクベクトルの第1ディメンションはノイズ効果を示し、第1ディメンションの値はノイズレベルを示す。第2ディメンションはブラー効果を示し、第2ディメンションの値はブラーレベルを示す。第3ディメンションはJPEG圧縮(Joint Photographic Experts Group compression)効果を示し、第3ディメンションの値はJPEG圧縮レベルを示す。但し、これは1つの例示に過ぎず、タスクベクトルは、他のディメンション、他の効果タイプ、及び/又は、他の効果レベルを有し得る。
【0018】
映像復元は、映像効果の適用を含む。きれいな映像を優れた品質の映像であると仮定すれば、映像効果の適用により、映像品質は向上されてもよく、劣化されてもよい。例えば、映像品質は、ノイズ除去効果を介して向上されてもよく、ノイズ追加効果を介して劣化されてもよい。映像復元は、このような映像品質の向上及び/又は劣化を誘発し得る。
【0019】
映像復元装置100は、様々なタスクベクトル102によって指示される様々な映像効果を入力映像101に適用して、様々な復元映像103を生成する。映像復元装置100は、ソースニューラルネットワーク110に様々なタスクベクトル102を適用して変形ネットワーク120を決定し、変形ネットワーク120を用いて様々な復元映像103を生成する。映像復元装置100は、ソースニューラルネットワーク110及び変形ネットワーク120を用いて映像復元に必要な演算を最小化することができる。
【0020】
ソースニューラルネットワーク110及び変形ネットワーク120は、複数のレイヤを含むディープニューラルネットワーク(deep neural network、DNN)を含む。複数のレイヤは、入力層、少なくとも1つの隠れ層、及び、出力層を含む。
【0021】
ディープニューラルネットワークは、完全接続ネットワーク(fully connected network、FCN)、畳み込みニューラルネットワーク(convolutional neural network、CNN)、及び、リカレントニューラルネットワーク(recurrent neural network、RNN)のうち少なくとも1つを含んでもよい。例えば、ニューラルネットワーク内の複数のレイヤのうち少なくとも一部は、CNNに該当し、他の一部はFCNに該当する。この場合、CNNは畳み込みレイヤと称してもよく、FCNを完全接続レイヤと称してもよい。
【0022】
CNNの場合、各レイヤに入力されるデータは入力特徴マップと称してもよく、各レイヤから出力されるデータは出力特徴マップと称してもよい。入力特徴マップ及び出力特徴マップは、活性化データ(activation data)と称してもよい。畳み込みレイヤが入力層に該当する場合、入力層の入力特徴マップは入力映像であってもよい。入力特徴マップとウェイトカーネル(weight kernel)との間の畳み込み演算を介して出力特徴マップが生成される。入力特徴マップ、出力特徴マップ、及び、ウェイトカーネルは、それぞれテンソル(tensor)単位で区分される。
【0023】
ニューラルネットワークは、ディープラーニングに基づいてトレーニングされた後、非線形関係にある入力データ及び出力データを互いにマッピングすることで、トレーニング目的に適する推論(inference)を実行することができる。ディープラーニングは、ビッグデータセットから映像又は音声認識のような問題を解決するための機械学習方式である。ディープラーニングは、準備されたトレーニングデータを用いてニューラルネットワークをトレーニングし、エネルギーの最小化された地点に行く最適化問題解説過程として理解される。
【0024】
ディープラーニングの教師あり(supervised)学習又は教師無し(unsupervised)学習を介して、ニューラルネットワークの構造、あるいはモデルに対応するウェイトが求められ、このようなウェイトを介して入力データ及び出力データが互いにマッピングされる。ニューラルネットワークの幅と深さが十分に大きければ、任意の関数を実現できる程の容量を有し得る。ニューラルネットワークが適切なトレーニング過程を介して十分に多い量のトレーニングデータを学習すれば、最適な性能を達成することができる。
【0025】
以下では、ニューラルネットワークが「予め」トレーニングされたものとして表現されるが、ここで「予め」とは、ニューラルネットワークが「開始」される前を示す。ニューラルネットワークが「開始」されたということは、ニューラルネットワークが推論のための準備ができたことを意味する。例えば、ニューラルネットワークが「開始」されたことは、ニューラルネットワークがメモリにロードされたこと、あるいは、ニューラルネットワークがメモリにロードされた後にニューラルネットワークに推論のための入力データが入力されたことを含む。
【0026】
ソースニューラルネットワーク110は、タスク-非依存アーキテクチャ(task-agnostic architecture)、タスク-特化アーキテクチャ(task-specific architecture)、及び、制御アーキテクチャ(control architecture)を含む。タスク-非依存アーキテクチャは、入力映像101から各タスクに共通して用いられる特徴を抽出する。このような特徴は、共通特徴と呼ぶことができる。タスク-特化アーキテクチャは、共通特徴に基づいて各タスクに特化した特徴を抽出する。このような特徴は、特化特徴と呼ぶことができる。タスク-特化アーキテクチャは、特化特徴を復元映像に復元する。制御アーキテクチャは、各タスクベクトル及びタスク-特化アーキテクチャに基づいて各タスク-特化ネットワークを決定する。
図2及び
図3を参照して、ソースニューラルネットワーク110及び変形ネットワーク120をさらに説明する。
【0027】
図2は、一実施形態に係るソースニューラルネットワーク及び変形ネットワークを示している。
図2を参照すると、ソースニューラルネットワーク200は、タスク-非依存アーキテクチャ201及びタスク-特化アーキテクチャ202を含む。ソースニューラルネットワーク220に第1タスクベクトル203が適用されて、第1変形ネットワーク210が生成され、第2タスクベクトル204が適用されて、第2変形ネットワーク220が生成され得る。追加的なタスクベクトルに基づいて追加的な変形ネットワークが生成され、本発明は、追加的なタスクベクトル及び追加的な変形ネットワークに適用されてもよい。
【0028】
第1変形ネットワーク210は、入力映像205に基づいて第1復元映像206を復元する。第1変形ネットワーク210は、タスク-非依存ネットワーク211及び第1タスク-特化ネットワーク212を含む。タスク-非依存ネットワーク211は、タスク-非依存アーキテクチャ201に共有パラメータを適用して決定され、第1タスク-特化ネットワーク212は、タスク-特化アーキテクチャ202に第1タスクベクトル203を適用して決定される。例えば、第1タスクベクトル203を用いてタスク-特化アーキテクチャ202に関するチャネルプルーニング(channel pruning)を行って、第1タスク-特化ネットワーク212が決定されてもよい。このようなプルーニングを介して演算が縮小され得る。タスク-非依存ネットワーク211は、入力映像205から共通特徴を抽出し、第1タスク-特化ネットワーク212は、共通特徴から第1タスクベクトル203により指示される第1映像効果に特化した第1特化特徴を抽出することができる。第1タスク-特化ネットワーク212は、第1特化特徴を第1復元映像206に復元することができる。
【0029】
第2変形ネットワーク220は、入力映像205に基づいて第2復元映像207を復元する。第2変形ネットワーク220は、タスク-非依存ネットワーク221及び第2タスク-特化ネットワーク222を含む。タスク-非依存ネットワーク211とタスク-非依存ネットワーク221とは同一であってもよい。タスク-非依存ネットワーク221は、タスク-非依存アーキテクチャ201に共有パラメータを適用して決定され、タスク-非依存ネットワーク221は、入力映像205から共通特徴を抽出することができる。この共通特徴は、タスク-非依存ネットワーク211の出力と同一であってもよい。従って、タスク-非依存ネットワーク211の出力が第2復元映像207の復元のためにリユースされ、タスク-非依存ネットワーク221の決定のための動作、及び、タスク-非依存ネットワーク221の特徴抽出の動作が省略されてもよい。第2タスク-特化ネットワーク222は、タスク-特化アーキテクチャ202に第2タスクベクトル204を適用して決定されてもよい。第2タスク-特化ネットワーク222は、共通特徴から第2タスクベクトル204により指示される第2映像効果に特化した第2特化特徴を抽出し、第2特化特徴を第2復元映像207に復元することができる。
【0030】
図3は、一実施形態に係るタスク-特化アーキテクチャ及び制御アーキテクチャを示している。
図3を参照すると、タスク-特化アーキテクチャ310は、チャネル選択器311~313、及び、複数のレイヤ315~317を含み、制御アーキテクチャ320は、複数のアーキテクチャ制御ネットワーク321~323を含む。複数のアーキテクチャ制御ネットワーク321~323それぞれは、少なくとも1つの畳み込みレイヤ及び少なくとも1つの活性化関数を含む。例えば、畳み込みレイヤは、1×1畳み込みレイヤであってもよく、活性化関数はReLU関数であってもよい。但し、これは1つの例示に過ぎず、1×1以外の他のディメンションの畳み込みレイヤ、及び/又は、シグモイド(Sigmoid)、ハイパボリックタンジェント(hyperbolic tangent、tanh)のような他の非線型関数が用いられてもよい。チャネル選択器311~313及びアーキテクチャ制御ネットワーク321~323の対は、複数のレイヤ315~317に対応する。
【0031】
映像復元装置は、タスクベクトル301をタスク-特化アーキテクチャ310に適用してタスク-特化ネットワークを決定することができる。
【0032】
映像復元装置は、アーキテクチャ制御ネットワーク321~323及びチャネル選択器311~313を用いて、複数のレイヤ315~317それぞれに関するチャネル選択情報を生成する。アーキテクチャ制御ネットワーク321~323それぞれは、タスクベクトルに基づいて、タスクに対するチャネル重要度(又は、チャネルに対するタスク選好度)を決定する。チャネル重要度(又は、タスク選好度)は、実数ベクトルの形式を有する。アーキテクチャ制御ネットワーク321~323によって出力されたチャネル重要度それぞれは、互いに異なる値を有してもよい。チャネル選択器311~313のそれぞれは、チャネル重要度に基づいてチャネル選択情報を生成する。チャネル選択器311~313のそれぞれは、チャネル重要度を示す実数ベクトルの各実数エレメントを真(true)又は偽り(false)に変換して、チャネル選択情報を生成してもよい。チャネル選択情報は、2進ベクトルの形式を有してもよい。
【0033】
映像復元装置は、複数のレイヤ315~317のそれぞれに関するチャネル選択情報に基づいて、タスクベクトル301に対応するタスク-特化ネットワークを決定する。映像復元装置は、チャネル選択情報に基づいて複数のレイヤ315~317のそれぞれにチャネルプルーニングを適用して、タスク-特化ネットワークを決定する。例えば、第1レイヤ315がc個の出力チャネルを有する場合、第1チャネル選択器311によって生成されたチャネル選択情報を介して、c個の出力チャネルのうち少なくとも一部が除去されてもよい。チャネル選択情報の真に対応するチャネルは保持され、偽りに対応するチャネルは除去される。チャネルの除去は、チャネルのスキップ(skip)を意味する。例えば、ウェイトカーネルをそれぞれ出力チャネルに対応するウェイトテンソルに区分される場合、映像復元装置は、除去対象チャネルのウェイトテンソルをレジスタでロードしないまま、残りのチャネルのウェイトテンソルで該当レイヤの畳み込み演算を行ってもよい。このように特定タスクベクトル301によるチャネルスキップを介して、該当タスクベクトル301に特化されたタスク-特化ネットワークを実現することができる。
【0034】
図4は、一実施形態に係る第1タスクベクトルに基づいた映像復元動作を示したフローチャートである。
図4に示すステップS410~S430は、順次実行され、あるいは非順次に実行されてもよい。例えば、ステップS410~S430の順序が変更され、かつ/あるいは、ステップS410~S430の少なくとも2つが並列に実行されてもよい。ステップS410~S430は、映像復元装置100、1300、及び/又は、電子装置1400の少なくとも1つの構成要素(例えば、プロセッサ1310、1410)によって実行されてもよい。
【0035】
図4を参照すると、ステップS410において、入力映像、及び、複数の候補映像効果のうち第1映像効果を指示する第1タスクベクトルが受信される。ステップS420において、ソースニューラルネットワークのタスク-非依存アーキテクチャに基づいて、入力映像から複数の候補映像効果が共有している共通特徴が抽出される。ステップS420で、タスク-非依存アーキテクチャに共有パラメータを適用してタスク-非依存ネットワークが決定され、タスク-非依存ネットワークに基づいて入力映像から共通特徴を抽出することができる。
【0036】
ステップS430において、ソースニューラルネットワークのタスク-特化アーキテクチャ及び第1タスクベクトルに基づいて、共通特徴が第1映像効果に対応する第1復元映像に復元される。ステップS430で、タスク-特化アーキテクチャに第1タスクベクトルを適用して第1タスク-特化ネットワークが決定され、第1タスク-特化ネットワークに基づいて、共通特徴が第1復元映像に復元され得る。ここで、第1タスク-特化ネットワークに基づいて、共通特徴から第1映像効果に特化された第1特化特徴が抽出され、第1タスク-特化ネットワークに基づいて、第1特化特徴が第1映像効果に対応する第1復元映像に復元され得る。
【0037】
また、アーキテクチャ制御ネットワークを用いて第1タスクベクトルに対応する第1チャネル選択情報が生成され、第1チャネル選択情報に基づいてタスク-特化アーキテクチャの少なくとも一部のチャネルを除去して、第1タスク-特化ネットワークが決定される。ここでは、アーキテクチャ制御ネットワークを介して第1タスクベクトルを処理して第1実数ベクトルが生成され、変換関数により第1実数ベクトルの各実数エレメントを真又は偽りに変換し、第1チャネル選択情報を生成することができる。
【0038】
ステップS410~S430に関連して、第2タスクベクトルに基づいた映像復元動作が実行され得る。例えば、複数の候補映像効果のうち第2映像効果に対応する第2タスクベクトルが受信され、タスク-特化アーキテクチャ及び第2タスクベクトルに基づいて、共通特徴が第2映像効果に対応する第2復元映像に復元される。この共通特徴は、ステップS420で抽出された共通特徴に該当し、当該共通特徴は、第2復元映像の復元のためにリユースされる。ある入力映像から共通特徴が抽出されれば、該当の共通特徴は、同じ入力映像に対する様々な映像効果の復元映像を復元するためにリユースされてもよい。このようなリユースにより、特徴抽出のための演算が縮小され得る。その他に、映像復元には、
図1~
図3及び
図5~
図14に対する説明が適用され得る。
【0039】
図5は、一実施形態に係るトレーニング装置を示すブロック図である。
図5を参照すると、トレーニング装置500は、プロセッサ510及びメモリ520を含む。プロセッサ510は、トレーニングデータに基づいて、メモリ520に格納されたソースニューラルネットワーク530をトレーニングする。ソースニューラルネットワーク530のトレーニングは、ソースニューラルネットワーク530を更新すること、および/又は、ソースニューラルネットワーク530のパラメータ(例えば、ウェイト)を更新することを含む。ソースニューラルネットワーク530は、予めトレーニングされ、及び/又は、使用過程でオン-デバイスでトレーニングされてもよい。トレーニングデータは、トレーニング入力及びトレーニング出力を含む。言い換えれば、トレーニング出力は、トレーニング目標のように称されてもよい。トレーニング入力はトレーニング入力映像及びタスクベクトルを含み、トレーニング出力はトレーニング目標映像を含む。
【0040】
ソースニューラルネットワーク530は、タスク-非依存アーキテクチャ、タスク-特化アーキテクチャ、及び、制御アーキテクチャを含む。トレーニング装置500は、タスク-特化プルーニング及びタスク-非依存プルーニングを介して、効率よくアーキテクチャを検索することができる。タスク-特化プルーニングは、各タスクに関連のないネットワークパラメータを適応的に除去する方法を学習し、タスク-非依存プルーニングは、様々なタスクにわたってネットワークの初期レイヤを共有して、効率よくアーキテクチャを検索する方法を学習することができる。
【0041】
制御可能な映像復元又は映像変調は、各効果タイプに対して効果の程度が異なる映像を復元することができる。D個の効果タイプが与えられれば、タスクベクトルtm∈RDはm番目の映像復元作業、言い換えれば、m番目の映像効果(m∈{1、2、...、M})を符号化し、tm(tm,d∈[0、1])の各d番目の構成要素は、該当d番目の劣化タイプに対する調整レベルを決定する。ニューラルネットワークをトレーニングする間に、タスクベクトルtmは、入力映像と対象映像の対応トレーニング対と共にランダムにサンプリングされてもよい。推論の際に、タスクベクトルは映像効果を決定する制御変数に該当する。
【0042】
現実の劣化映像において、所定の測定値(例えば、PSNR(peak signal-to-noise ratio)、LPIPS(learned perceptual image patch similarity)、ユーザの選好度など)に関して、最上の映像効果を生成する最適なタスクベクトルが分からないと仮定する。従って、このようなタスクベクトルを検索するために制御可能な映像復元ネットワークが、入力映像当たり複数の映像効果を生成する過程が要求される。ここで、ユーザの選好度又は要求が満たされるまで、与えられたタスクに対して生成された任意の数の映像効果をMに示す。
【0043】
以前作業のアーキテクチャは、固定された状態で、映像効果当たり、ネットワークの全体推論を行ってもよい。実施形態によれば、復元プロセスの算出費用を最小化して、入力映像当たり、様々な映像効果を正確に生成するネットワークアーキテクチャが提供され得る。与えられたM個の映像効果を生成するための平均算出費用について、数式(1)のように示す。
【数1】
R(f,x,t
m)はネットワークアーキテクチャf、入力映像x、及びタスクベクトルt
mを用いてm番目の映像効果を生成するためのFLOPS(floating point operations persecond)又は遅延時間を示す。タスク-特化プルーニングは、各映像効果に特化した効率的なネットワークアーキテクチャを検索することができる。これは数式(2)のような平均算出費用を示す。
【数2】
固定されたアーキテクチャfは、タスク-特化プルーニングプロセスに必要な補助算出費用ε
mを有するm番目の映像効果の特定効率的なネットワークf
mに代替されてもよい。その次に、タスク-非依存プルーニングは、特徴リユース可能にするために、作業の全般にわたって初期レイヤの特徴マップを共有しているタスク-非依存アーキテクチャf
aを決定することができる。これは数式(3)のように示す。
【数3】
f
m
Sはf
a後のf
mの残りのタスク-特化レイヤであり、x
~はf
a(x)の特徴マップ出力である。特徴マップ出力は、各タスク間の共通特徴に該当する。その結果、全てのM個の映像効果に対してx
~の単一算出のみが要求されてもよく、共有初期レイヤの特徴マップに対する重複したM-1個の算出が除去される。これについて、数式(4)のように示す。
【数4】
R(f
a,x)はf
aに対する単一算出の算出費用である。トレーニング装置500は、損失関数に基づいてソースニューラルネットワーク530をトレーニングする。損失関数は、復元性能に関する第1損失成分及び演算量に関する第2損失成分を含む。トレーニング装置500は、ソースニューラルネットワーク530の復元性能が向上され、ソースニューラルネットワーク530に関する演算量が縮小されるように、ソースニューラルネットワーク530をトレーニングする。より具体的に、トレーニング装置500は、トレーニング入力(トレーニング入力映像及びタスクベクトル)に対するソースニューラルネットワーク530の出力(復元映像)をトレーニング出力(トレーニング目標映像)と比較し、比較結果に基づいて損失関数の第1損失成分を決定する。また、トレーニング装置500は、復元性能の損傷を最小化して演算量が縮小されるように、ソースニューラルネットワーク530をトレーニングする。例えば、演算量の縮小は、タスク-非依存アーキテクチャに含まれているレイヤの数及び/又はタスク-特化アーキテクチャから除去されるチャネルの数の増加により達成することができる。
【0044】
トレーニング装置500の検索アルゴリズムは、スーパーネットワークと呼ばれる大規模ネットワークから効率的であるか、性能ごとの最適なネットワークを検索する、ことを目標とするスーパーネットワーク基盤アクセス方式である。検索プロセスは、動作又は構成要素の検索空間で行われ、検索プロセスの各組み合せは、スーパーネットワークから導き出された候補ネットワークを提供することができる。ソースニューラルネットワーク530は、スーパーネットワークに該当し、ソースニューラルネットワーク530から導き出された変形ネットワークは、候補ネットワークに該当する。トレーニング装置500は、タスクの間にレイヤが共有されなければならないかの有無、及び、チャネルがスーパーネットワークから除去されなければならないかの有無を、アーキテクチャコントローラと共にエンドツーエンド方式(end-to-end manner)により決定する。
【0045】
図6は、一実施形態に係るソースニューラルネットワークのアーキテクチャを示す。
図6を参照すると、ソースニューラルネットワーク600は、タスク-非依存アーキテクチャ610、タスク-特化アーキテクチャ620、及び、制御アーキテクチャ630を含む。タスク-非依存アーキテクチャ610は、複数のレイヤ6101~6103及び複数のチャネル選択器6111~6114を含む。タスク-非依存アーキテクチャ610は、チャネル選択器6111の出力をチャネル選択器6114の出力に加える動作に対応する、スキップコネクション6121をさらに含んでもよい。複数のレイヤ6101~6103は、畳み込み動作及び/又は活性化関数の演算に対応する。例えば、レイヤ6101,6103は3×3畳み込み演算に対応し、レイヤ6102は、3×3畳み込み演算及び活性化演算(例えば、ReLU演算)に対応する。レイヤ6101のストライド(stride)は、レイヤ6102,6103に比べて2倍大きくてもよい。3×3及び/又は2倍のような数値は相違に調整されてもよい。
【0046】
タスク-特化アーキテクチャ620は、特徴抽出パート621及び映像復元パート622を含む。特徴抽出パート621は、複数のチャネル選択器6211~6213及び複数のレイヤ6215,6216を含む。特徴抽出パート621は、畳み込みブロック6219によるタスクベクトルtmの畳み込み結果を、チャネル選択器6213の出力に乗算される乗算動作、及び、スキップコネクション6218によりタスク-非依存アーキテクチャ610の出力を乗算結果に加える足し算動作をさらに含んでもよい。複数のレイヤ6215,6216は、畳み込み動作及び/又は活性化関数の演算に対応する。例えば、レイヤ6215は、3×3畳み込み演算及び活性化演算(例えば、ReLU演算)に対応し、レイヤ6216は、3×3畳み込み演算に対応する。レイヤ6215,6216のストライドは、レイヤ6102,6103と同一であってもよい。
【0047】
映像復元パート622は、複数のレイヤ6221,6222、及び、チャネル選択器6224を含む。映像復元パート622は、畳み込みブロック6229によるタスクベクトルtmの畳み込み結果をレイヤ6222の出力に乗算される乗算動作、及び、スキップコネクション6227によりタスク-非依存アーキテクチャ610の入力を乗算結果に加える足し算動作をさらに含んでもよい。制御アーキテクチャ630は、複数のアーキテクチャ制御ネットワーク6301~6304を含む。複数のレイヤ6221,6222は、畳み込み動作、活性化関数の演算、及び、ピクセルシャッフル動作のうち少なくとも1つに対応する。例えば、レイヤ6221は、×2ピクセルシャッフル動作、3×3畳み込み演算、及び活性化演算(例えば、ReLU演算)に対応し、レイヤ6222は、3×3畳み込み演算に対応する。レイヤ6101の2倍のストライドとレイヤ6221の2倍のピクセルシャッフルを介して、入力映像と復元映像の大きさが同一に保持され得る。
【0048】
トレーニング装置は、各チャネルが与えられたタスクに重要であるか、全てのタスクに重要であるか、又は、何でもないかを決定して、ネットワークを効率よく検索することができる。タスク-特化アーキテクチャ620を検索するために、与えられたタスクに対して重要なチャネルは保持され、関係のないチャネルは除去される。以下、タスク-特化アーキテクチャはfSに示す。同様に、タスク-非依存アーキテクチャ610の場合、ほとんどのタスクに重要なチャネルは保持され、関係のないチャネルは除去される。以下、タスク-非依存アーキテクチャはfaに示す。タスクに対するチャネル重要度(又は、チャネルに対するタスク選好度)Za∈RN×C及びZS
m∈RN×Cによって決定される。チャネル重要度ZS
mは、制御アーキテクチャ630の出力に該当する。以下で再び説明するが、チャネル重要度Zaは、チャネル重要度ZS
mに基づいて決定される。ここで、m、N、及びCは、タスクインデックス、チャネル選択モジュールインデックス、及びチャネルインデックスを示す。
【0049】
図7をさらに参照して、チャネル選択動作を説明する。チャネル選択器710は、チャネル重要
図701をチャネル選択情報702に変換し、チャネル選択情報702に基づいて、スーパー特徴マップ705で少なくとも一部のチャネルを選択(又は、少なくとも一部のチャネルを除去)して、変形特徴マップ706を決定する。チャネル重要
図701は、実数ベクトルに該当し、チャネル選択情報702は、2進ベクトルに該当する。チャネル選択器710は、変換関数711を介して、実数ベクトルの各実数エレメントを真又は偽りに変換して、2進ベクトルを決定することができる。変換関数711は、数式(5)のように提供される微分可能な(differentiable)ゲーティング関数(gating function)である。
【数5】
*∈{a,s}であり、Z
*はZ
*
mの構成要素を示し、II[]は、入力が真であるときに1を返還し、そうでなければ、0をリターンする指示関数(indicator function)である。従って、Z
S
m及びZ
aの各パラメータは、スーパーネットワークで対応チャネルがf
S及びf
aに対してそれぞれ活性化又は不活性化されるように決定される。トレーニング時に、乗算演算712を介して、スーパー特徴マップ705にチャネル選択情報702を乗算して、変形特徴マップ706が生成される。推論の場合、乗算演算712がスキップ処理に代替されてもよく、そのため、演算量の減少が実現され得る。より具体的に、チャネル選択情報702の偽りに対応するウェイトテンソルのロードはスキップし、真に対応するウェイトテンソルのみが選択的にロードされて畳み込み演算に用いられて実行され得る。
【0050】
図8をさらに参照すると、アーキテクチャ制御ネットワークについて説明する。
図8を参照すると、アーキテクチャ制御ネットワークf
Cは、畳み込みレイヤ811及び活性化関数812を含み、完全接続ネットワークから構成される。f
Cは、f
Sのネットワークアーキテクチャを適応的に修正することができる。f
Cは、数式(6)のように定義される。
【数6】
f
C
nは、n番目のチャネル選択器のアーキテクチャ制御ネットワークを示す。Z
S
mがチャネルに対するタスク選好度を示し、各タスクベクトルがスーパーネットワークでチャネルを適応的に活性化するため、t
mの関数である。
【0051】
再び
図6を参照すると、タスク-非依存レイヤを検索するために、数式(7)のようにトレーニングの全般にわたるタスクから各チャネルに対する選好度Z
S
m,n,cを収集し、各チャネルに対する選好度Z
a
n,Cを決定する。
【数7】
Z
aは0値に初期化されてもよい。cはn番目のチャネル選択モジュールのチャネルインデックス、αは指数移動平均(exponential moving average)に対するハイパーパラメータを示す。Z
aは数式(8)のように合意の基準(agreement criterion)を算出して各チャネルの選好度に対する大きさMのミニバッチ(mini-batch)でタスクの合意を推定するために用いられる。
【数8】
γは閾値ハイパーパラメータである。数式(8)が成立されるか否かは、ブーリアン変数(Boolean variable)ηによって示される。数式(8)が成立すれば(η=1)、ほとんどのタスクは、チャネルをプルーニングしてレイヤを共有することに同意する。しかし、数式(8)の条件は、現在のトレーニングミニバッチにあるタスクによって成立したり、成立しないこともある。従って、ηは、数式(7)と同様に、数式(9)のように全体データセットからタスクの合意を得るために、トレーニングの間にS
nを通じて累積される。
【数9】
S
nが0に初期化されてもよい。S
nが大きいほど、より多くのタスクがn番目のチャネルに対する選好度に同意し、より多くの戦略がn番目のチャネル選択モジュールがタスク-非依存となることを好む。タスク-非依存レイヤは、ネットワークの初期ステップに共に位置し、タスク間に特徴リユースを可能にする。n番目のチャネル選択モジュールは、n番目のチャネル選択器と以前チャネル選択器の全てが数式(10)のように与えられた閾値γよりも大きいS
iを有する場合タスク-非依存に該当する。これは数式(10)のように示される。
【数10】
φ∈Z
N
2は決定変数を示す。n番目のチャネル選択器がタスク-非依存である場合、n番目の構成要素φ
nは1である。
【0052】
効率的なアーキテクチャを検索するために、実施形態は正規化ターム(regularization term)を使用する。L( 、 )は、映像復元作業のための標準l
1損失関数を示す。リソース正規化関数R
1()は、現在検索されたアーキテクチャのリソース量を数式(4)によって算出される。様々な映像効果をより効率よく生成するためのタスク-非依存レイヤ数を最大化するために、正規化関数R
2が用いられてもよい。全般的な目的関数は数式(11)のように示すことができる。
【数11】
θは復元ネットワークf(f
S及びf
a)、ψはアーキテクチャ制御ネットワークf
Cの学習可能なパラメータであり、λ
1及びλ
2はこれらの均衡をとるためのハイパーパラメータである。可能であれば性能を犠牲することなくネットワークをタスク-非依存にするために、R
2は、数式(12)のようにチャネル重要度に対するタスク間の不一致にペナルティを与えることができる。
【数12】
n=0のレイヤは入力映像を示し、入力映像が与えられたタスクに対する様々な映像効果に対して共有されるため、φ
0≡1であってもよい。数式(11)において、Lは復元性能に関する第1損失成分であり、R
1及びR
2は演算量に関する第2損失成分である。第1損失成分は、トレーニング目標映像と復元映像との間の差が減少するようにソースニューラルネットワークをトレーニングし、第2損失成分は、タスク-非依存アーキテクチャに含まれたレイヤの数が増加し、演算量は減少するようにソースニューラルネットワークをトレーニングすることができる。
【0053】
図9は、絶対的な目標を有するトレーニングデータセットを示す。従来における映像復元作業は、様々な劣化レベルの劣化映像を本来の映像に復元するものと定義される。例えば、トレーニング入力映像911~913は、互いに異なる劣化レベル(例えば、1~3)を有しているにも関わらず、それぞれ同じ劣化レベル(例えば、0)のトレーニング目標映像921とトレーニング対をなすことがある。
図9の例示において、トレーニング目標映像921は絶対的な目標である。
【0054】
図10は、一実施形態に係る相対的目標を有するトレーニングデータセットを示し、
図11は、一実施形態に係るトレーニングデータセットの構成を示す。実施形態に係る制御可能な映像復元は、視覚的に満足する様々な映像効果を生成することを目標とし、これは単一オリジナル映像への復元にフォーカスした従来におけるトレーニング基盤で達成することは難しい。実施形態によれば、復元作業は、劣化レベル(又は、効果レベル)を調整して様々な効果を付与することで再定義される。例えば、トレーニング入力映像1011~1013は、それぞれトレーニング目標映像1021~1023のいずれか1つとトレーニングの対をなすことができる。
図10の例示において、トレーニング目標映像1021~1023は相対的な目標である。
【0055】
復元程度は、入力と目標との間のレベル差を示す調整レベルで与えられる。例えば、トレーニング入力映像1011をトレーニング目標映像1021に、トレーニング入力映像1012をトレーニング目標映像1022に、トレーニング入力映像1013をトレーニング目標映像1023に復元することは、0の調整レベルに対応する。トレーニング入力映像1012をトレーニング目標映像1021に、トレーニング入力映像1013をトレーニング目標映像1022に復元することは、1の調整レベルに対応する。トレーニング入力映像1013をトレーニング目標映像1021に復元することは、2の調整レベルに対応する。反対に、劣化効果の追加のための-1、-2の調整レベルも存在し得る。このような調整レベルに基づいて、タスクベクトルt
mが数式(13)のように定義される得る。
【数13】
l
in、l
gt∈R
Dは、入力映像及び目標映像の劣化レベルないし効果レベルを示す。d番目の劣化タイプに対してl
in
d、l
gt
d∈[0、1]に定義される。例えば、
図11示す像1101~1106は、標準偏差σ=0~50のノイズを有する。このようなノイズに基づいて、映像1101~1106に劣化レベルl=0ないし1が付与される。l
gt
d<l
in
dの場合、目標映像が入力映像よりも少なく劣化されたシナリオ、言い換えれば、入力映像をよりも優れる品質の目標映像に復元するシナリオに対応する。l
gt
d>l
in
dの場合は、目標映像が入力映像よりも劣化されたシナリオ、言い換えれば、入力映像に劣化効果を追加するシナリオに対応する。
【0056】
第2映像1102が第1トレーニング入力映像であり、第4映像1104が第1トレーニング目標映像である場合、第1タスクベクトルはノイズレベルを0.4だけ低くする第1映像効果を指示し、このような第1トレーニング入力映像、第1タスクベクトル、及び、第1トレーニング目標映像は、第1トレーニングセットを構成する。第3映像1103が第2トレーニング入力映像に該当し、第5映像1105が第2トレーニング目標映像に該当する場合、第2タスクベクトルはノイズレベルを0.4だけ低くする第2映像効果を指示し、このような第2トレーニング入力映像、第2タスクベクトル、及び、第2トレーニング目標映像は、第2トレーニングセットを構成する。ここで、第2トレーニング入力映像の入力効果レベルと第2トレーニング目標映像の目標効果レベルとの間の差が、第1トレーニング入力映像の入力効果レベルと第1トレーニング目標映像の目標効果レベルとの間の差が同一である。従って、第1タスクベクトルと第2タスクベクトルは同じ値を有する。そのため、第1タスクベクトルと第2タスクベクトルは0.4のレベル差という相対的な目標にトレーニング方向を設定することができる。各ミニバッチに対してトレーニング映像の対は、単一劣化タイプに対する均一分布、全ての劣化タイプに対する2進分布、及び、全ての劣化タイプに対する均一分布に対して同一にサンプリングされ得る。
【0057】
図12は、一実施形態に係る第1トレーニングデータセットに基づいたトレーニング動作を示したフローチャートである。
図12のステップS1210~S1240は順次実行され、あるいは、順次に実行されなくてもよい。例えば、ステップS1210~S1240の順序が変更され、かつ/あるいは、ステップS1210~S1240の少なくとも2つが並列的に実行されてもよい。ステップS1210~S1240は、トレーニング装置500及び/又は電子装置1400の少なくとも1つの構成要素(例えば、プロセッサ510,1410)によって実行されてもよい。
【0058】
ステップS1210において、第1トレーニング入力映像、複数の候補映像効果から第1映像効果を指示する第1作業ベクトル、及び、第1映像効果による第1トレーニング目標映像を含む第1トレーニングデータセットが受信される。ステップS1220において、ソースニューラルネットワークのタスク-非依存アーキテクチャに基づいて、第1トレーニング入力映像から複数の候補映像効果が共有している共通特徴が抽出される。ステップS1230において、ソースニューラルネットワークのタスク-特化アーキテクチャ及び第1作業ベクトルに基づいて、共通特徴が第1復元映像に復元される。ステップS1240において、第1トレーニング目標映像と第1復元映像との間の差、及び共通特徴の抽出及び第1復元映像の復元に関する演算量に基づいて、ソースニューラルネットワークが更新される。例えば、ソースニューラルネットワークは、タスク-非依存アーキテクチャに含まれているレイヤ数が増加し、演算量が減少されるように更新され得る。
【0059】
第1タスクベクトルは、第1映像効果の各効果タイプの調整レベルを含んでもよく、調整レベルの値は、第1トレーニング入力映像の入力効果レベルと第1トレーニング目標映像の目標効果レベルとの間の差により決定される。第2トレーニング入力映像、第2映像効果を指示する第2タスクベクトル、及び第2映像効果による第2トレーニング目標映像を含む第2トレーニングセットが存在し、第2トレーニング入力映像の入力効果レベルと第2トレーニング目標映像の目標効果レベルとの間の差が、第1トレーニング入力映像の入力効果レベルと第1トレーニング目標映像の目標効果レベルとの間の差と同一である場合、第2タスクベクトルは第1タスクベクトルと同じ値を有する。その他に、トレーニングには、
図1~
図11及び
図13~
図14に関する説明が適用され得る。
【0060】
図13は、一実施形態に係る映像復元装置を示すブロック図である。
図13を参照すると、装置1300は、プロセッサ1310及びメモリ1320を含む。メモリ1320はプロセッサ1310に接続され、プロセッサ1310によって実行可能な命令語、プロセッサ1310が演算するデータ又はプロセッサ1310によって処理されたデータを格納する。メモリ1320は非一時的なコンピュータで読み出し可能な記憶媒体、例えば、高速ランダムアクセスメモリ及び/又は不揮発性のコンピュータで読み出し可能な記憶媒体(例えば、1つ以上のディスク記憶装置、フラッシュメモリ装置、又は、その他の不揮発性固体メモリ装置)を含む。
【0061】
プロセッサ1310は、
図1~
図12及び
図14に示す動作を行うための命令語を実行する。例えば、プロセッサ1310は、入力映像、及び、複数の候補映像効果のうち第1映像効果を指示する第1タスクベクトルを受信し、ソースニューラルネットワークのタスク-非依存アーキテクチャに基づいて、入力映像から複数の候補映像効果が共有している共通特徴を抽出し、ソースニューラルネットワークのタスク-特化アーキテクチャ及び第1タスクベクトルに基づいて、共通特徴を第1映像効果に対応する第1復元映像に復元することができる。その他に、映像復元装置1300には、
図1~
図12及び
図14の説明が適用され得る。
【0062】
図14は、一実施形態に係る電子装置を示すブロック図である。
図14を参照すると、電子装置1400は、プロセッサ1410、メモリ1420、カメラ1430、格納装置1440、入力装置1450、出力装置1460、及び、ネットワークインターフェース1470を含み、これらは通信バス1480を介して通信できる。例えば、電子装置1400は、移動電話、スマートフォン、PDA、ネットブック、タブレットコンピュータ、ラップトップコンピュータなどのようなモバイル装置、スマートウォッチ、スマートバンド、スマートメガネなどのようなウェアラブルデバイス、デスクトップ、サーバなどのようなコンピューティング装置、テレビ、スマートテレビ、冷蔵庫などのような家電製品、ドアラックなどのようなセキュリティー装置、自律走行車両、スマート車両などのような車両の少なくとも一部として実現され得る。電子装置1400は、
図1に示す映像復元装置100、
図5に示すトレーニング装置500、及び、
図13に示す映像復元装置1300の少なくとも1つを構造的及び/又は機能的に含むことができる。
【0063】
プロセッサ1410は、電子装置1400内で実行するための機能及び命令語を実行する。例えば、プロセッサ1410は、メモリ1420又は格納装置1440に格納された命令語を処理する。プロセッサ1410は、
図1~
図13を参照して説明された動作を行うことができる。例えば、プロセッサ1410は、入力映像、及び、複数の候補映像効果のうち、第1映像効果を指示する第1タスクベクトルを受信し、ソースニューラルネットワークのタスク-非依存アーキテクチャに基づいて、入力映像から複数の候補映像効果が共有している共通特徴を抽出し、ソースニューラルネットワークのタスク-特化アーキテクチャ及び第1タスクベクトルに基づいて、共通特徴を第1映像効果に対応する第1復元映像に復元する。メモリ1420は、コンピュータで読み出し可能な記憶媒体又はコンピュータで読み出し可能な記憶装置を含む。メモリ1420は、プロセッサ1410によって実行するための命令語を格納し、電子装置1400によりソフトウェア及び/又はアプリケーションが実行される間に関連情報を格納する。
【0064】
カメラ1430は、入力映像(写真及び/又はビデオ)を生成する。格納装置1440は、コンピュータで読み出し可能な記憶媒体又はコンピュータで読み出し可能な記憶装置を含む。格納装置1440は、メモリ1420よりもさらに多い量の情報を格納し、情報を長期間格納することができる。例えば、格納装置1440は、磁気ハードディスク、光ディスク、フラッシュメモリ、フロッピーディスク、又は技術分野で知られた他の形態の不揮発性メモリを含んでもよい。
【0065】
入力装置1450は、キーボード及びマウスを通した伝統的な入力方式、並びに、タッチ入力、音声入力、及びイメージ入力のような新しい入力方式を介してユーザから入力を受信されてもよい。例えば、入力装置1450は、キーボード、マウス、タッチスクリーン、マイクロホン、又は、ユーザから入力を検出し、検出された入力を電子装置1400に伝達できる任意の他の装置を含む。出力装置1460は、視覚的、聴覚的、又は触覚的なチャネルを介してユーザに電子装置1400の出力を提供する。出力装置1460は、例えば、ディスプレイ、タッチスクリーン、スピーカ、振動発生装置、又はユーザに出力を提供できる任意の他の装置を含む。ネットワークインターフェース1470は、有線又は無線ネットワークを介して外部装置と通信することができる。
【0066】
以上で説明した実施形態は、ハードウェア構成要素、ソフトウェア構成要素、又は、ハードウェア構成要素及びソフトウェア構成要素の組み合せで具現される。例えば、本実施形態で説明した装置及び構成要素は、例えば、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ(digital signal processor)、マイクロコンピュータ、FPA(field programmable array)、PLU(programmable logic unit)、マイクロプロセッサー、又は、命令(instruction)を実行して応答する異なる装置のように、1つ以上の汎用コンピュータ又は特殊目的コンピュータを用いて具現される。処理装置は、オペレーティングシステム(OS)及び前記オペレーティングシステム上で行われる1つ以上のソフトウェアアプリケーションを行うことができる。また、処理装置は、ソフトウェアの実行に応答してデータをアクセス、格納、操作、処理、及び生成することもできる。理解の利便のために、処理装置は、1つが使用されるものと説明される場合もあるが、当該技術分野において通常の知識を有する者は、処理装置が複数の処理要素(processing element)及び/又は複数のタイプの処理要素を含んでいることが分かる。例えば、処理装置は、複数のプロセッサ又は一のプロセッサ及び一つのコントローラを含んでもよい。また、並列プロセッサのような、他の処理構成も可能である。
【0067】
ソフトウェアは、コンピュータプログラム、コード、命令、又は、そのうちの一つ以上の組合せを含み、希望の通りに動作するよう処理装置を構成したり、独立的又は結合的に処理装置を命令することができる。ソフトウェア及び/又はデータは、処理装置によって解釈され、処理装置に命令又はデータを提供するために、いずれかの類型の機械、構成要素、物理的装置、仮想装置、コンピュータ格納媒体又は装置、もしくは、送信される信号波に永久的又は一時的に具体化することができる。ソフトウェアはネットワークに連結されたコンピュータシステム上に分散され、分散した方法で格納され、実行され得る。ソフトウェア及びデータは一つ以上のコンピュータで読出し可能な記憶媒体に格納され得る。
【0068】
本実施形態による方法は、様々なコンピュータ手段を介して実施されるプログラム命令の形態で具現され、コンピュータ読み取り可能な記憶媒体に格納される。記憶媒体は、プログラム命令、データファイル、データ構造などを単独で又は組み合せで含む。記憶媒体及びプログラム命令は、本発明の目的のために特別に設計して構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり、使用可能なものであってもよい。コンピュータ読み取り可能な記憶媒体の例として、ハードディスク、フロッピー(登録商標)ディスク、及び磁気テープのような磁気媒体、CD-ROM、DVDのような光記録媒体、フロプティカルディスクのような磁気-光媒体、並びに、ROM、RAM、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置を含む。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行される高級言語コードを含む。
【0069】
上記で説明したハードウェア装置は、本発明に示す動作を実行するために1つ以上のソフトウェアモジュールとして作動するように構成してもよく、その逆も同様である。
【0070】
上述のように、実施形態が限定された図面によって説明されてきたが、当技術分野で通常の知識を有する者であれば、上記の説明に基づいて様々な技術的な修正及び変形を適用することができる。例えば、説明された技術が、説明された方法と異なる順で実行されてよく、かつ/あるいは、説明されたシステム、構造、装置、回路などの構成要素が説明された方法と異なる形態で結合又は組み合わせられてもよく、他の構成要素又は均等物によって置き換え又は置換されたとしても適切な結果を達成することができる。
【0071】
したがって、本発明の範囲は、開示された実施形態に限定されて定められるものではなく、特許請求の範囲及び特許請求の範囲と均等なものなどによって定められるものである。
【符号の説明】
【0072】
110 映像復元装置
110 ソースニューラルネットワーク
120 変形ネットワーク
200 ソースニューラルネットワーク
210 第1変形ネットワーク
220 第2変形ネットワーク
310 タスク-特化アーキテクチャ
320 制御アーキテクチャ