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

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

▶ グーグル インコーポレイテッドの特許一覧

特許7504120高分解能なリアルタイムでのアーティスティックスタイル転送パイプライン
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-13
(45)【発行日】2024-06-21
(54)【発明の名称】高分解能なリアルタイムでのアーティスティックスタイル転送パイプライン
(51)【国際特許分類】
   G06T 1/40 20060101AFI20240614BHJP
   G06T 11/80 20060101ALI20240614BHJP
   G06T 5/50 20060101ALI20240614BHJP
   G06N 3/04 20230101ALI20240614BHJP
【FI】
G06T1/40
G06T11/80 A
G06T5/50
G06N3/04
【請求項の数】 23
(21)【出願番号】P 2021556587
(86)(22)【出願日】2020-03-12
(65)【公表番号】
(43)【公表日】2022-05-17
(86)【国際出願番号】 US2020022302
(87)【国際公開番号】W WO2020190624
(87)【国際公開日】2020-09-24
【審査請求日】2021-12-03
(31)【優先権主張番号】62/819,717
(32)【優先日】2019-03-18
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/947,262
(32)【優先日】2019-12-12
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】プリンス,アダム
(72)【発明者】
【氏名】ホフマン-ジョン,エリン
(72)【発明者】
【氏名】ポプリン,ライアン
(72)【発明者】
【氏名】ウー,リチャード
(72)【発明者】
【氏名】トーア,アンディープ
【審査官】鈴木 圭一郎
(56)【参考文献】
【文献】中国特許出願公開第107767343(CN,A)
【文献】特開2018-132855(JP,A)
【文献】米国特許出願公開第2018/0137406(US,A1)
【文献】Ram Krishna Pandey et al.,"Computationally Efficient Approaches for Image Style Transfer",2018 15th IEEE India Council International Conference (INDICON),2018年12月18日
【文献】Mkhuseli Ngxande et al.,"DepthwiseGANs: Fast Training Generative Adversarial Networks for Realistic Image Synthesis",2019 Southern African Universities Power Engineering Conference/Robotics and Mechatronics/Pattern Recognition Association of South Africa (SAUPEC/RobMech/PRASA),2019年01月30日,pp.111-116
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/40
G06T 11/80
G06T 5/50
G06N 3/04
(57)【特許請求の範囲】
【請求項1】
方法であって、
ニューラルネットワークを実現するコンピューティングデバイスにおいて、少なくとも1つの画像および基準画像を受信するステップと、
前記コンピューティングデバイスにおいて、前記受信した少なくとも1つの画像に対して分離可能な畳み込みを含む複数のダウンスケーリング動作を実行するステップとを含み、前記複数のダウンスケーリング動作は、
カーネルを用いて第1の分離可能な畳み込みを実行して、チャネルの第1のセットを、前記チャネルの第1のセットよりも数が多いチャネルの第2のセットに変換することと、
前記カーネルを用いて第2の分離可能な畳み込みを実行して、前記第1の分離可能な畳み込みの前記チャネルの第2のセットを、前記チャネルの第2のセットよりも数の多いチャネルの第3のセットに変換することとを含み、前記方法はさらに、
前記コンピューティングデバイスにおいて、前記複数のダウンスケーリング動作の後に、複数の残差ブロックを形成するステップを含み、各々の残差ブロックは、前記カーネルの2つの分離可能な畳み込みおよび2つのインスタンス正規化を含み、前記ニューラルネットワークの各層は、次の層にフィードし、2ホップ離れた層に直接フィードし、前記方法はさらに、
前記コンピューティングデバイスにおいて、前記複数の残差ブロックに対して複数のアップスケーリング動作を実行するステップを含み、前記複数のアップスケーリング動作を実行するステップは、
前記チャネルの第3のセットに対して第3の分離可能な畳み込みを実行して、前記チャネルの第3のセットを前記チャネルの第2のセットに変換することによって、第1のアップスケーリング動作を実行するステップと、
前記チャネルの第2のセットに対して第4の分離可能な畳み込みを実行して、前記チャネルの第2のセットを前記チャネルの第1のセットに変換することによって、第2のアップスケーリング動作を実行するステップとを含み、前記方法はさらに、
前記コンピューティングデバイスに通信可能に結合されたディスプレイデバイスにおいて、少なくとも前記実行された複数のアップスケーリング動作および前記基準画像に基いて、スタイル化された画像を表示するステップを含む、方法。
【請求項2】
前記コンピューティングデバイスにおいて、前記第1の分離可能な畳み込みを実行する前の重みのベクトルおよびバイアスに基づいたフィルタを、前記受信した少なくとも1つの画像の入力値に適用するステップをさらに含む、請求項1に記載の方法。
【請求項3】
前記コンピューティングデバイスにおいて、前記重みおよび前記バイアスのうち少なくとも1つを後処理シェーダに出力するステップを含む、請求項2に記載の方法。
【請求項4】
前記第1の分離可能な畳み込みおよび前記第2の分離可能な畳み込みのカーネルは、3×3のサイズを有し、ストライドが2であり、前記ストライドは、前記カーネルがシフトされる量である、請求項1~3のいずれかに記載の方法。
【請求項5】
前記第1の分離可能な畳み込みは、
前記コンピューティングデバイスにおいて、3のチャネルを有する前記チャネルの第1のセットを、32のチャネルを有する前記チャネルの第2のセットに変換するステップを含む、請求項1~4のいずれかに記載の方法。
【請求項6】
前記第2の分離可能な畳み込みは、
前記コンピューティングデバイスにおいて、32のチャネルを有する前記チャネルの第2のセットを、64のチャネルを有する前記チャネルの第3のセットに変換するステップを含む、請求項5に記載の方法。
【請求項7】
前記形成された残差ブロックは、15の残差ブロックを含み、各々の残差ブロックは、3×3カーネルの2つの分離可能な畳み込みおよび2つのインスタンス正規化を含む、請求項1~6のいずれかに記載の方法。
【請求項8】
前記第1のアップスケーリング動作および前記第2のアップスケーリング動作は、3×3のサイズおよび2のストライドを有するカーネルを用いて実行され、前記ストライドは、前記カーネルがシフトされる量である、請求項1~7のいずれかに記載の方法。
【請求項9】
前記第1のアップスケーリング動作は、
前記コンピューティングデバイスにおいて、前記チャネルの第3のセットの64のチャネルを前記チャネルの第2のセットの32のチャネルに変換することによって前記第3の分離可能な畳み込みを実行するステップを含む、請求項1~8のいずれかに記載の方法。
【請求項10】
前記第2のアップスケーリング動作は、
前記コンピューティングデバイスにおいて、前記チャネルの第2のセットの前記32のチャネルを前記チャネルの第1のセットの3のチャネルに変換することによって前記第4の分離可能な畳み込みを実行するステップを含む、請求項9に記載の方法。
【請求項11】
前記コンピューティングデバイスにおいて、前記受信した少なくとも1つの画像に画像ノイズを追加するステップをさらに含む、請求項1~10のいずれかに記載の方法。
【請求項12】
ニューラルネットワークを実装するシステムであって、
少なくともプロセッサおよびメモリを含むコンピューティングデバイスを備え、前記コンピューティングデバイスは、
少なくとも1つの画像および基準画像を受信し、
前記受信した少なくとも1つの画像に対して分離可能な畳み込みを含む複数のダウンスケーリング動作を実行し、前記複数のダウンスケーリング動作を実行することは、
カーネルを用いて第1の分離可能な畳み込みを実行して、チャネルの第1のセットを、前記チャネルの第1のセットよりも数が多いチャネルの第2のセットに変換することと、
前記カーネルを用いて第2の分離可能な畳み込みを実行して、前記第1の分離可能な畳み込みの前記チャネルの第2のセットを、前記チャネルの第2のセットよりも数の多いチャネルの第3のセットに変換することとを含み、前記コンピューティングデバイスはさらに、
前記複数のダウンスケーリング動作の後に複数の残差ブロックを形成し、各々の残差ブロックは、前記カーネルの2つの分離可能な畳み込みおよび2つのインスタンス正規化を含み、前記ニューラルネットワークの各層は、次の層にフィードし、2ホップ離れた層に直接フィードし、前記コンピューティングデバイスはさらに、
前記複数の残差ブロックに対して複数のアップスケーリング動作を実行し、前記複数のアップスケーリング動作を実行することは、
前記チャネルの第3のセットに対して第3の分離可能な畳み込みを実行して、前記チャネルの第3のセットを前記チャネルの第2のセットに変換することによって、第1のアップスケーリング動作を実行することと、
前記チャネルの第2のセットに対して第4の分離可能な畳み込みを実行して、前記チャネルの第2のセットを前記チャネルの第1のセットに変換することによって、第2のアップスケーリング動作を実行することとを含み、前記システムはさらに、
前記コンピューティングデバイスに通信可能に結合されて、少なくとも前記実行された複数のアップスケーリング動作および前記基準画像に基いて、スタイル化された画像を表示するためのディスプレイデバイスをさらに備える、システム。
【請求項13】
前記コンピューティングデバイスは、前記第1の分離可能な畳み込みを実行する前の重みのベクトルおよびバイアスに基づいたフィルタを、前記受信した少なくとも1つの画像の入力値に適用する、請求項12に記載のシステム。
【請求項14】
前記コンピューティングデバイスは、前記重みおよび前記バイアスのうち少なくとも1つを後処理シェーダに出力する、請求項13に記載のシステム。
【請求項15】
前記第1の分離可能な畳み込みおよび前記第2の分離可能な畳み込みのカーネルは、3×3のサイズを有し、ストライドが2であり、前記ストライドは、前記カーネルがシフトされる量である、請求項12~14のいずれかに記載のシステム。
【請求項16】
前記コンピューティングデバイスは、前記第1の分離可能な畳み込みのために、3のチャネルを有する前記チャネルの第1のセットを、32のチャネルを有する前記チャネルの第2のセットに変換する、請求項12~15のいずれかに記載のシステム。
【請求項17】
前記コンピューティングデバイスは、前記第2の分離可能な畳み込みのために、32のチャネルを有する前記チャネルの第2のセットを、64のチャネルを有する前記チャネルの第3のセットに変換する、請求項16に記載のシステム。
【請求項18】
前記形成された残差ブロックは15の残差ブロックを含み、各々の残差ブロックは、3×3カーネルの2つの分離可能な畳み込みおよび2つのインスタンス正規化を含む、請求項12~17のいずれかに記載のシステム。
【請求項19】
前記第1のアップスケーリング動作および前記第2のアップスケーリング動作は、3×3のサイズおよび2のストライドを有するカーネルを用いて前記コンピューティングデバイスによって実行され、前記ストライドは、前記カーネルがシフトされる量である、請求項12~18のいずれかに記載のシステム。
【請求項20】
前記コンピューティングデバイスは、前記第1のアップスケーリング動作のために、前記チャネルの第3のセットの64のチャネルを前記チャネルの第2のセットの32のチャネルに変換することによって前記第3の分離可能な畳み込みを実行する、請求項12~19のいずれかに記載のシステム。
【請求項21】
前記コンピューティングデバイスは、前記第2のアップスケーリング動作のために、前記チャネルの第2のセットの32のチャネルを前記チャネルの第1のセットの3のチャネルに変換することによって前記第4の分離可能な畳み込みを実行する、請求項20に記載のシステム。
【請求項22】
前記コンピューティングデバイスは、前記受信した少なくとも1つの画像に画像ノイズを追加する、請求項12~21のいずれかに記載のシステム。
【請求項23】
プロセッサによって実行されると前記プロセッサに請求項1~11のいずれかに記載の方法を実行させる命令を含む、コンピュータプログラム。
【発明の詳細な説明】
【背景技術】
【0001】
背景
スタイル転送とは、ある1枚の画像の内容と別の画像のスタイルとを組合わせて新たな画像を作成するプロセスである。現在のスタイル転送システムの中には、入力画像と基準スタイル画像とに基づいてスタイル化された静止画像を作成するものもあり得る。しかしながら、そのようなシステムがアニメーションまたはフルモーション映像上でフレームごとに用いられる場合、得られる結果は概して審美的に見て美しいものではなく、生成するのに長い時間を要する。すなわち、1つのフレームに現われる色、テクスチャ、ブラシストロークなどの特徴が次のフレームで消失してしまい、結果として、ちらつきのある不快な映像となる可能性がある。現在のシステムおよび技術は、ビデオゲームで用いられるようなレートで、または、高分解能でのフルモーション映像のリアルタイムスタイル転送のためのレートで、スタイル転送を実行することができない。
【発明の概要】
【課題を解決するための手段】
【0002】
概要
開示される主題の一実現例に従うと、コンピューティングデバイスにおいて少なくとも1つの画像および基準画像を受信するステップを含む方法が提供され得る。当該方法は、当該コンピューティングデバイスにおいて、当該受信した少なくとも1つの画像に対して分離可能な畳み込みを含む複数のダウンスケーリング動作を実行するステップを含み得る。当該複数のダウンスケーリング動作を実行するステップは、カーネルを用いて第1の分離可能な畳み込みを実行して、チャネルの第1のセットを、当該チャネルの第1のセットよりも数が多いチャネルの第2のセットに変換するステップと、当該カーネルを用いて第2の分離可能な畳み込みを実行して、当該第1の分離可能な畳み込みの当該チャネルの第2のセットを、当該チャネルの第2のセットよりも数の多いチャネルの第3のセットに変換するステップとを含む。当該方法は、当該コンピューティングデバイスにおいて複数の残差ブロックを形成するステップを含み得る。各々の残差ブロックは、当該カーネルの2つの分離可能な畳み込みおよび2つのインスタンス正規化を含む。当該方法は、当該コンピューティングデバイスにおいて、当該複数の残差ブロックに対して複数のアップスケーリング動作を実行するステップを含み得る。当該複数のアップスケーリング動作を実行するステップは、当該チャネルの第3のセットに対して第3の分離可能な畳み込みを実行して、当該チャネルの第3のセットを当該チャネルの第2のセットに変換することによって、第1のアップスケーリング動作を実行するステップと、当該チャネルの第2のセットに対して第4の分離可能な畳み込みを実行して、当該チャネルの第2のセットを当該チャネルの第1のセットに変換することによって、第2のアップスケーリング動作を実行するステップとを含む。当該方法は、当該コンピューティングデバイスに通信可能に結合されたディスプレイデバイスにおいて、少なくとも当該実行された複数のアップスケーリング動作および当該基準画像に基いて、スタイル化された画像を表示するステップを含み得る。
【0003】
開示される主題の一実現例に従うと、少なくともプロセッサおよびメモリを含むコンピューティングデバイスを備えたシステムが提供され得る。当該コンピューティングデバイスは、少なくとも1つの画像および基準画像を受信し、当該受信した少なくとも1つの画像に対して分離可能な畳み込みを含む複数のダウンスケーリング動作を実行する。当該コンピューティングデバイスによって実行される当該複数のダウンスケーリング動作は、カーネルを用いて第1の分離可能な畳み込みを実行して、チャネルの第1のセットを、当該チャネルの第1のセットよりも数が多いチャネルの第2のセットに変換することと、当該カーネルを用いて第2の分離可能な畳み込みを実行して、当該第1の分離可能な畳み込みの当該チャネルの第2のセットを、当該チャネルの第2のセットよりも数の多いチャネルの第3のセットに変換することとを含む。当該コンピューティングデバイスは、複数の残差ブロックを形成し得る。各々の残差ブロックは、当該カーネルの2つの分離可能な畳み込みおよび2つのインスタンス正規化を含む。当該コンピューティングデバイスは、当該複数の残差ブロックに対して複数のアップスケーリング動作を実行し得る。当該コンピューティングデバイスによって実行される当該複数のアップスケーリング動作は、当該チャネルの第3のセットに対して第3の分離可能な畳み込みを実行して、当該チャネルの第3のセットを当該チャネルの第2のセットに変換することによって、第1のアップスケーリング動作を実行することと、当該チャネルの第2のセットに対して第4の分離可能な畳み込みを実行して、当該チャネルの第2のセットを当該チャネルの第1のセットに変換することによって、第2のアップスケーリング動作を実行することとを含み得る。当該システムは、当該コンピューティングデバイスに通信可能に結合されたディスプレイデバイスを含み得る。当該ディスプレイデバイスは、少なくとも当該実行された複数のアップスケーリング動作および当該基準画像に基いて、スタイル化された画像を表示する。
【0004】
開示される主題の一実現例に従うと、少なくとも1つの画像および基準画像を受信することを含む、画像をスタイル化するための手段が提供され得る。当該手段は、受信した少なくとも1つの画像に対して分離可能な畳み込みを含む複数のダウンスケーリング動作を実行し得る。当該複数のダウンスケーリング動作は、カーネルを用いて第1の分離可能な畳み込みを実行して、チャネルの第1のセットを、当該チャネルの第1のセットよりも数が多いチャネルの第2のセットに変換することと、当該カーネルを用いて第2の分離可能な畳み込みを実行して、第1の分離可能な畳み込みのチャネルの第2のセットを、当該チャネルの第2のセットよりも数が多いチャネルの第3のセットに変換することとを含む。当該手段は、複数の残差ブロックを形成し得る。各々の残差ブロックは、当該カーネルの2つの分離可能な畳み込みと2つのインスタンス正規化とを含む。当該手段は、複数の残差ブロックに対して複数のアップスケーリング動作を実行し得る。当該複数のアップスケーリング動作は、チャネルの第3のセットに対して第3の分離可能な畳み込みを実行して当該チャネルの第3のセットをチャネルの第2のセットに変換することによって、第1のアップスケーリング動作を実行することを含む。当該手段はまた、チャネルの第2のセットに対して第4の分離可能な畳み込みを実行して当該チャネルの第2のセットをチャネルの第1のセットに変換することによって、第2のアップスケーリング動作を実行し得る。当該手段は、少なくとも当該実行された複数のアップスケーリング動作と当該基準画像とに基づいて、スタイル化された画像を表示し得る。
【0005】
開示される主題の追加の特徴、利点、および実施形態は、以下の詳細な説明、添付の図面、および添付の特許請求の範囲に記載され得るかまたはそれらを検討することによって明らかになり得る。さらに、上述の概要および以下の詳細な説明はともに例示的なものであり、添付の特許請求の範囲を限定することなくさらなる説明を提供することを意図していることを理解されたい。
【図面の簡単な説明】
【0006】
添付の図面は、開示される主題のさらなる理解をもたらすために含まれるものであって、本明細書に援用されるとともにその一部を構成している。添付の図面はまた、開示される主題の実施形態を例示するとともに、詳細な説明と合わせて、開示される主題の実施形態の原理を説明する役割を果たすものである。開示される主題およびそれが実施され得るさまざまな方法を根本的に理解するために必要となり得る構造的詳細をより詳細に示す試みはなされていない。
図1A】開示される主題の一実現例に従ったスタイル転送モデルを示す図である。
図1B】開示される主題の一実現例に従った、図1Aに示されるスタイル変換モデルの縮小変換モデルを示す図である。
図2A】開示される主題の一実現例に従った、基準画像に基づいてソース映像からの画像をスタイル化する例示的な方法を示す図である。
図2B】開示される主題の一実現例に従った、基準画像に基づいてソース映像からの画像をスタイル化する例示的な方法を示す図である。
図2C】開示される主題の一実現例に従った、基準画像に基づいてソース映像からの画像をスタイル化する例示的な方法を示す図である。
図3A】開示される主題の一実現例に従った、スタイル転送を実行するためのソース映像からの画像を示す図である。
図3B】開示される主題の一実現例に従った、図3Aのソース映像場面に対してスタイル転送を実行するために用いられる基準画像を示す図である。
図3C】開示される主題の一実現例に従った、図3Bの基準画像に基づく、図3Aのソース映像場面のスタイル転送合成画像を示す図である。
図4A】開示される主題の一実現例に従った、3つのニューラルネットワークを用いるスタイル転送モデルを示す図である。
図4B】開示される主題の一実現例に従った、図4Aのスタイル転送モデルの損失ネットワークアーキテクチャを示す図である。
図5A】開示される主題の一実現例に従った、スタイル転送における重み付け調整の画像例を示す図である。
図5B】開示される主題の一実現例に従った、スタイル転送における重み付け調整の画像例を示す図である。
図5C】開示される主題の一実現例に従った、スタイル転送における重み付け調整の画像例を示す図である。
図5D】開示される主題の一実現例に従った、スタイル転送における重み付け調整の画像例を示す図である。
図5E】開示される主題の一実現例に従った、スタイル転送における重み付け調整の画像例を示す図である。
図5F】開示される主題の一実現例に従った、スタイル転送における重み付け調整の画像例を示す図である。
図5G】開示される主題の一実現例に従った、スタイル転送における重み付け調整の画像例を示す図である。
図5H】開示される主題の一実現例に従った、スタイル転送における重み付け調整の画像例を示す図である。
図5I】開示される主題の一実現例に従った、スタイル転送における重み付け調整の画像例を示す図である。
図5J】開示される主題の一実現例に従った、スタイル転送における重み付け調整の画像例を示す図である。
図5K】開示される主題の一実現例に従った、スタイル転送における重み付け調整の画像例を示す図である。
図5L】開示される主題の一実現例に従った、スタイル転送における重み付け調整の画像例を示す図である。
図5M】開示される主題の一実現例に従った、スタイル転送における重み付け調整の画像例を示す図である。
図6】開示される主題の一実現例に従ったコンピューティングデバイスを示す図である。
図7】開示される主題の一実現例に従った例示的なネットワークおよびシステム構成を示す図である。
【発明を実施するための形態】
【0007】
詳細な説明
開示される主題の実現例は、高画像分解能を有する映像のリアルタイム(たとえば、100ms以下のレンダリング時間、毎秒45~60フレームの映像など)スタイル変換を提供する。たとえば、開示される主題は映像の画像のスタイル転送を提供し得る。この場合、映像の各フレームは、ディスプレイスクリーンにわたって水平に表示される1920画素と、ディスプレイスクリーンに垂直に表示される1080画素とを有する分解能を有し得る。ここで、画像は段々にスキャンされる(すなわち、インターレース無しの1080p分解能)。開示される主題の実現例は、映像および/またはビデオゲームのためのスタイルを提供し得る。この場合、各映像フレームは、ゲームプレーヤからの入力で手作業で生成され得る。開示される主題のいくつかの実現例は、3次元(three dimensional:3D)画像として表示されるべき映像の画像および/またはビデオゲームの画像のスタイル転送を提供し得る。開示される主題の実現例は、数分または数時間の長い処理時間を必要とする既存のスタイル転送システムを改善させるとともに、典型的には、低分解能画像を生成する。
【0008】
開示される主題の実現例は、分離可能な畳み込みを含み得る複数のダウンスケーリング動作を用いてスタイル転送を提供し得る。開示される主題のスタイル転送は、ダウンスケーリング動作に基づいて残差ブロックを形成し得る。残差ブロックの各々は、2つの分離可能な畳み込みおよび2つのインスタンス正規化を含む。開示される主題のスタイル転送は、分離可能な畳み込みを含み得るアップスケーリング動作を含み得る。
【0009】
いくつかの現在のシステムは、ディープニューラルネットワークを用いて、2つの画像を組合わせることによって審美的に訴求力のあるアーティスティックな効果をもたらすアーティスティックスタイル転送を提供する。他の現在のシステムは、画像上にアーティスティックスタイルの構成可能なブレンドを生成する多層化されたシステムを提供する。しかしながら、開示される主題の実現例とは異なり、これらのニューラルネットワークおよび多層化システムはスタイル転送を提供するものの、ビデオゲームにおけるような対話型リアルタイム環境における動画目的のために画像を迅速に生成することはできない。
【0010】
他の現在のシステムは、ニューラルネットワークで動画像を作成する際のノイズを低減させる。このようなシステムでは、各フレームは、それ自体を取り囲むフレームを認識せず、当該システムは、ノイズとして視聴者に届くわずかな「むら」を生じさせる。開示される主題の実現例とは異なり、このような現在のシステムはリアルタイムのスタイル変換を提供するものではない。
【0011】
開示される主題の実現例は、カーネルサイズを縮小するとともにダウンスケーリング動作およびアップスケーリング動作の数を減らすことによって、かつ、分離可能な畳み込みにおいて用いられる残差ブロックの数を増やすことによって、従来の層化システムの複雑さを低減して画像のランタイムスタイル転送を増大し得る。
【0012】
開示される主題のスタイル転送システムは、ゲーム環境の映像および/またはビデオゲーム場面に対してトレーニングされ得る畳み込みニューラルネットワークを含み得る。映像および/またはビデオゲーム場面はソース映像であり得る。このトレーニングは、スタイル転送システムが映像および/またはビデオゲーム環境におけるオブジェクトを認識することを可能にし得る。
【0013】
図1Aはスタイル変換モデル100を示す。スタイル変換モデル100はスタイル転送システム(たとえば、図6に示されるコンピューティングデバイス620、ならびに/または、図7に示されるデバイス10、リモートサービス11、ユーザインターフェイス13および/もしくは処理ユニット14)上で実現され得るとともに、図2A図2Cに示されて以下において説明される方法200に関連付けて用いられ得る。スタイルターゲットは、転送されるべきアーティスティックスタイルを有する基準画像(101)(たとえば、図3Bに示される画像310を参照)であり得る。コンテンツターゲットは、基準画像(101)に基づいてスタイルが変換され得る入力画像(102)(たとえば、図3Aに示される画像300を参照)であり得る。モデル100のさまざまな中間層の出力などを用いて、少なくとも2つのタイプの損失、すなわち、スタイル損失(111)およびコンテンツ損失(113)、を計算し得る。これらの損失は、結果として得られるスタイル化された画像が(スタイルの点で)基準画像にどれだけ近づけるべきかと、スタイル化された画像が入力画像にコンテンツの点でどれだけ近づけるべきかとに関連し得る。以下で説明するいくつかの実現例では、変動損失(115)および/または安定性損失(117)がモデル100によって判定され得る。モデル100の中間層は、基準画像(101)および/または入力画像(102)と、スタイル損失(111)、コンテンツ損失(113)、変動損失(115)および/または安定性損失(117)との間の層および/または動作であり得る。
【0014】
図1Bおよび図2A図2Cに関連付けて以下で説明するように、スタイル転送システムの縮小変換(108)を用いて、コンテンツ損失を計算し(すなわち、112においてコンテンツ損失を計算し、113においてコンテンツ損失を出力し)得る。コンテンツ損失(112、113)を計算するために、スタイル転送システムは、入力画像(102)およびスタイル化された画像(109)を用いて、複数画像の少なくとも1つの層(たとえば、早期層106および/または後期層107)における各々の対応する値の差を二乗し、それら結果を全てこれらの層ごとに合計してもよい。いくつかの実現例では、表現の各々には、それらの差異を発見して二乗する前に、値アルファ(すなわち、コンテンツ重み)が掛けられてもよい。いくつかの実現例では、差を二乗した後に、値の各々にコンテンツ重み(アルファ値)が掛けられてもよい。計算されたコンテンツ損失が出力され得る(すなわち、コンテンツ損失113)。
【0015】
スタイル転送システムは、(110)でスタイル損失を計算し、(111)でスタイル損失を出力し得る。基準画像(101)およびスタイル化された画像(109)の未処理の出力をさまざまな層で比較する代わりに、出力のグラム行列が比較されてもよい。グラム行列は、行列にグラム行列自体の転置を掛けることによって得られてもよい。スタイル転送システムは、スタイル化された画像(109)と基準画像(102)との中間表現のグラム行列間のユークリッド距離を判定して、それら画像のスタイルがどれくらい類似しているかを発見し得る。1つ以上の層(たとえば、早期層106および/または後期層107)について各層ごとに計算されたグラム行列の値の各対応する対同士の間のユークリッド距離が判定され得る。これらの値に値ベータ(すなわち、スタイル重み)を掛け得る。計算されたスタイル損失が出力され得る(すなわち、スタイル損失111)。
【0016】
スタイル損失(111)および/またはコンテンツ損失(113)を計算する際に、ビジュアルジオメトリグループ(Visual Geometry Group:VGG)畳み込みニューラルネットワーク(たとえばVGG105)、および/または、他の任意の適切な畳み込みニューラルネットワークが用いられてもよい。VGGは、画像コンテンツ(たとえば、入力画像(102))と(たとえば、基準画像(101)からの)スタイルとの間のバランスを判定するために、および/または、転送される特徴のスケールを判定するために、用いられてもよい。VGGと、スタイル損失(111)および/またはコンテンツ損失(113)の計算とが、以下において図4Aに関連付けてさらに説明され得る。
【0017】
いくつかの実現例では、スタイル転送システムは、変動損失(115)および/または安定性損失(117)を判定し得る。変動損失(115)は、スタイル化された画像におけるノイズ画像の量を減らすために用いられてもよい。すなわち、隣接する画素の値を可能な限り似たものにすることで変動損失が計算され得る(114)。安定性損失(117)は、入力画像の1つ以上の画素と前のフレームの画素との間の画素に関する差を判定し、その差を二乗することによって算出され得る(116)。安定性損失(117)を最小限にするためにスタイル転送システムがトレーニングされ得る。安定性損失(117)を判定する際に、スタイル転送システムは、(たとえば、入力画像が映像および/またはビデオゲームからのものであり、前のフレームが映像および/またはビデオゲームにおける入力画像に先行するフレームである場合)入力画像(102)と前のフレームとの間の差異を判定することによってオプティカルフローを算出し得る(103)。スタイル転送システムは、入力画像の1つ以上の部分間の動きを予測および/または推定し得る。オプティカルフロー(103)は、入力画像(102)および前のフレームを用いて画素のオプティカルフローを推定する(103)予めトレーニングされたニューラルネットワークによって算出され得る。オプティカルフローを算出する際に、ニューラルネットワークは、入力画像と前のフレームとの間の相関性を見出し得る。ニューラルネットワークは、画像特徴表現を判定し得るとともに、入力画像および前のフレームにおける別々の位置でこれら画像特徴表現を整合させ得る。いくつかの実現例では、スタイル転送システムは、オプティカルフローを算出する(103)際に前のフレームと入力画像(102)とを比較するとき、邪魔になる画素を無視してもよい。
【0018】
スタイル転送システムは、安定性損失(117)を判定する際に、ゆがめられたコンテンツ損失(104)を判定する。ゆがめられたコンテンツ損失(104)は、前のフレームと入力画像(102)との間の差に基づく画像の歪みおよび/またはぼやけに基づいて入力画像(102)からのコンテンツの損失を判定し得る。スタイル転送システムは、安定性損失を計算する(116)際に、図1Bおよび図2A図2Cに関連付けて以下において説明する縮小変換を用いてもよい。
【0019】
図1Bは、図1Aに示すスタイル変換モデル100の一部として、および/または図2A図2Cに関連付けて説明される方法200として用いられる縮小変換モデル108の詳細版を示す。入力画像1080p、入力画像540p、入力画像270pなどは、入力された画像(120)についての画像分解能であり得る。図1Bに示される畳み込み演算は、図2A図2Cに関連付けて上で説明され得る。図1Bに示されるバッチ正規化122は、活性化関数を調整および/またはスケーリングすることによって入力画像を正規化するために用いられてもよい。正規化線形ユニット(Rectified Linear Unit:Leaky ReLU)活性化124は、ユニットがアクティブでないときに、予め規定された小さい正の勾配を設けるために用いられ得る。バッチ正規化122がバッチ位置および空間位置にわたってすべての画像を正規化し得る場合、インスタンス正規化126は、独立して、すなわち空間位置にわたって各バッチを正規化し得る。バイアス加算128は、加算されるべき重みの追加のセットであり得る。シグモイド活性化130は、特徴的な「S」字形曲線を有する関数であり得るとともに、出力として特定の範囲を有し得る。
【0020】
図2A図2Cは、開示される主題の実現例に従った、基準画像に基づいてソース映像からの画像をスタイル化する例示的な方法100を示す。いくつかの実現例では、(図1Aおよび図1Bに示される)縮小変換モデル108は方法100を実行し得る。動作100において、コンピューティングデバイスは、少なくとも1つの画像および基準画像を受信し得る。コンピューティングデバイスは、図6に示されるコンピューティングデバイス20、ならびに/または、図7に示されるとともに以下において説明されるデバイス10、リモートサービス11、ユーザインターフェイス13および/もしくは処理ユニット14であり得る。少なくとも1つの画像は、映像および/またはビデオゲームからの画像および/またはフレームであり得る。
【0021】
開示される主題の実現例では、基準画像(すなわち、静止画像)は、映像を用いてトレーニングされたスタイル転送システム(たとえば、図6に示されるコンピューティングデバイス620、ならびに/または、図7に示されるデバイス10、リモートサービス11、ユーザインターフェイス13および/もしくは処理ユニット14)に提供され得る。基準画像は、絵画、写真、鉛筆画等であってもよい。たとえば、図3Aは、開示される主題の実現例に従った、ソース映像場面(すなわち、受信した少なくとも1つの画像)からの画像300を示し、図3Bは、開示される主題の実現例に従った、画像300を含む、図3Aのソース映像場面に対してスタイル転送を実行するために用いられる基準画像310を示す。全体を通して説明されるように、図3Cに示される画像320は、図3Bの画像310を基準画像として用いることによって、図2A図2Cに関連付けて説明される画像300に対して動作を実行した結果、得られてもよい。
【0022】
動作220において、コンピューティングデバイスは、受信した少なくとも1つの画像に対して分離可能な畳み込みを含む複数のダウンスケーリング動作を実行し得る。動作220の個々のダウンスケーリング動作の例が、図2Bおよび図1B(たとえば、1080p画像を540p画像にダウンスケーリング、540p画像を270p画像にダウンスケーリングなど)に示されている。動作222において、コンピューティングデバイスは、カーネルを用いて第1の分離可能な畳み込みを実行して、チャネルの第1のセットをチャネルの第2のセットに変換し得る。チャネルの第2のセットの数は、チャネルの第1のセットよりも多くてもよい。いくつかの実現例では、コンピューティングデバイスは、3のチャネルを有するチャネルの第1のセットを、32のチャネルを有するチャネルの第2のセットに変換してもよい。
【0023】
動作224において、コンピューティングデバイスは、カーネルを用いて第2の分離可能な畳み込みを実行して、第1の分離可能な畳み込みのチャネルの第2のセットをチャネルの第3のセットに変換し得る。チャネルの第3のセットの数は、チャネルの第2のセットよりも多くてもよい。いくつかの実現例では、チャネルの第2のセットは、64のチャネルを有するチャネルの第3のセットに変換され得る32のチャネルを有し得る。
【0024】
いくつかの実現例では、コンピューティングデバイスは、動作222で第1の分離可能な畳み込みを実行する前の重みのベクトルおよびバイアスに基づいたフィルタを、受信した少なくとも1つの画像の入力値に適用し得る。すなわち、フィルタは、複数のダウンスケーリング動作220を実行する前にコンピューティングデバイスによって適用され得る。
【0025】
一例では、開示される主題のスタイル転送システムは、図2A図2Cに示されるとともに上述された以下の動作を用いて、受信した少なくとも1つの画像(たとえば、図3Aの画像300に示されるような、映像またはゲーム映像の1つ以上のフレームを含み得るソース場面)と、(たとえば、図3Bの画像310に示されるような)基準画像のアーティスティックスタイルとを組合わせてもよい。
【0026】
この例では、2つのダウンスケーリング動作は、畳み込みニューラルネットワーク(たとえば、図6に示されるコンピューティングデバイス20、および/または、図7に示されるデバイス10、リモートサービス11、処理ユニット14、および/またはデータベース15)によって実行されて、少なくとも1つの受信画像(すなわち、入力画像)のダウンスケーリングをもたらし得る。ネットワークの畳み込み層は、(たとえば、動作222で)入力に畳み込み演算を適用し得るとともに、その結果を次の層に渡し得る。畳み込み(たとえば、動作220における、受信した少なくとも1つの画像に対する分離可能な畳み込みを含む複数のダウンスケーリング動作)は、視覚刺激に対する個々のニューロンの反応をエミュレートし得る。
【0027】
ニューラルネットワーク内の各ニューロンは、前の層の受信フィールドから受取った入力値にフィルタを適用することによって出力値を計算し得る。ニューロンは、ニューラルネットワークにおける基本単位であり得る。ニューロンは、1つ以上の入力を受信し得るとともに、それらを合計して出力を生成し得る。各入力は別々に重み付けされてもよく、合計は関数(すなわち、フィルタ)に通されてもよい。
【0028】
上述したように、入力値に適用されるフィルタは、重みのベクトルおよびバイアスによって指定され得る。畳み込みニューラルネットワークにおける学習および/またはトレーニングは、バイアスおよび重みを漸進的に調整することによって実行され得る。重みのベクトルおよびフィルタのバイアスは、入力の1つ以上の特徴を表わし得る。畳み込みニューラルネットワークは、同一のフィルタを共有する複数のニューロンを有し得る。これにより、用いられるメモリ(たとえば、図6に示されるコンピューティングデバイス20によって用いられるメモリ27、ならびに/または図7に示されるデバイス10、リモートサービス11、処理ユニット14および/もしくはデータベース15によって用いられるメモリ)を縮小させ得る。なぜなら、単一のバイアスおよび重みの単一のベクトルが、それ自体のバイアスおよび重みのベクトルをそれぞれが有する各フィールドではなく、そのフィルタを共有するフィールドにわたって用いられる可能性があるからである。
【0029】
この例では、(たとえば、図2Bにおいて動作222および224として示されるような)2つのダウンスケーリング動作は、2のストライドを有する3×3カーネル(すなわち、3×3入力ボリューム)のための分離可能な畳み込みを含み得る。ストライドは、カーネルがシフトされる量であり得る。すなわち、ストライド値は、入力ボリューム(たとえば、3×3入力ボリューム、またはカーネル)を中心としてフィルタがどのように畳み込みを行なうかを制御し得る。複数の動作22は、3のチャネル(たとえば、赤色チャネル、緑色チャネル、および青色チャネル)から始まり得るとともに、チャネルの数を2つのダウンスケーリング動作222、224にわたって32のチャネル(すなわち、チャネルの数が3から32に変化する深さ32)と64のチャネル(すなわち、チャネルの数が32から64に変化する深さ64)とに増加させ得る。すなわち、動作222において、3×3カーネルを用いた分離可能な畳み込みは、3のチャネルを、ストライドが2である32のチャネルに変換し得る。動作224において、3×3カーネルを用いた分離可能な畳み込みは、32のチャネルを、ストライドが2である64のチャネルに変換し得る。
【0030】
図2Aに示す動作230において、コンピューティングデバイスは、複数の残差ブロックを形成し得る。各々の残差ブロックは、カーネルの2つの分離可能な畳み込みおよび2つのインスタンス正規化を含む。従来のニューラルネットワークでは、各層は次の層にフィードする。開示される主題の実現例などにおける残差ブロックを有するネットワークでは、各層は、次の層にフィードし得るとともに、約2~3ホップ離れた層に直接フィードし得る。いくつかの実現例では、形成された残差ブロックは15の残差ブロックを含み得る。15の残差ブロックの各々は、3×3カーネルの2つの分離可能な畳み込みと、2つのインスタンス正規化とを含み得る。すなわち、15の残差ブロックは、(図2Bの動作222、224に示されるように)2つのダウンスケーリング動作の後に形成され得る。この場合、各々の残差ブロックは、3×3カーネルの2つの分離可能な畳み込みおよび2つのインスタンス正規化を含む。従来のニューラルネットワークでは、各層は次の層にフィードする。開示される主題の実現例におけるような残差ブロックを有するネットワークでは、各層は、次の層にフィードし得るとともに、2ホップ離れた層に直接フィードし得る(すなわち、2つおきの残差接続)。64のチャネルがあり得るとともに、この3×3カーネルに対してストライドは1であり得る。言い換えれば、3×3カーネル(すなわち、合計30の分離可能な畳み込みに対して各々が15個のブロックを有する2つのインスタンス)であり、64のチャネルがあり、ストライドが1であり、2のインスタンス正規化(すなわち、2つおきの残差接続)がある場合には、30の分離可能な畳み込みが存在し得る。
【0031】
図2Aに示す動作240において、コンピューティングデバイスは、複数の残差ブロックに対して複数のアップスケーリング動作を実行し得る。図2Cに示されるように、コンピューティングデバイスは、動作242において、チャネルの第3のセットに対して第3の分離可能な畳み込みを実行して、これらチャネルの第3のセットをチャネルの第2のセットに変換することによって、第1のアップスケーリング動作を実行し得る。コンピューティングデバイスは、動作244で、チャネルの第2のセットに対して第4の分離可能な畳み込みを実行して、これらチャネルの第2のセットをチャネルの第1のセットに変換することによって、第2のアップスケーリング動作を実行し得る。
【0032】
たとえば、(たとえば、図2Aに示す動作230で)残差ブロックを形成した後、(たとえば、図2Cの動作242、244に示されるような)2つのアップスケーリング動作が実行されてもよい。いくつかの実現例では、第1のアップスケーリング動作(たとえば、図2Cの動作242)は、3×3カーネルで分離可能な畳み込みを転置し得るとともに、64のチャネルは、ストライドが2である32のチャネルに変換され得る。第2のアップスケーリング動作(たとえば、図2Cの動作244)は、3×3カーネルで分離可能な畳み込みを転置し得るとともに、32のチャネルは、ストライドが2である3のチャネルに変換され得る。第1のアップスケーリング動作(たとえば、動作242)および第2のアップスケーリング動作(たとえば、動作244)は、3×3のサイズおよび2のストライドを有するカーネルを用いて実行され得る。
【0033】
図2Aに示す動作250において、コンピューティングデバイスに通信可能に結合されたディスプレイデバイス(たとえば、図6に示すディスプレイ22)は、少なくとも実行された複数のアップスケーリング動作および基準画像に基づいて、スタイル化された画像を表示し得る。方法100は、(たとえば、図3Bの画像310に示されるような)基準画像のアーティスティックスタイルで(たとえば、図3Cの画像320に示されるような)映像を生成し得る。オプティカルフロー推定のための安定化方法を開示される主題の実現例において用いることで、生成された映像のノイズを低減してもよい。
【0034】
開示される主題の実現例は、3つのニューラルネットワークを用いる、図4Aに示されるスタイル転送モデル400を提供し得る。全体を通して3つのニューラルネットワークが説明されているが、1つ以上のニューラルネットワークが用いられてもよい。第1のニューラルネットワークは、基準画像を入力として受取って、そのデータ表現を出力するスタイル予測ネットワークであり得る。第2のニューラルネットワークは、データ表現と共に入力画像(すなわち、変換されるべき画像)を取込んで、スタイル化された画像を出力する変換器ネットワークであり得る。第3のニューラルネットワークは、基準画像、入力画像、およびスタイル化された画像を用いて、これら3つの画像間のコンテンツおよびスタイルの類似性を判定する損失ネットワークであり得る。いくつかの実現例では、損失ネットワークは、画像間の類似性を判定するために、3つ未満または3つよりも多くの画像を用いてもよい。
【0035】
たとえば、図4Aは、スタイル転送ネットワークT(404)に適用される入力画像c(402)と、スタイル予測ネットワークP(408)に適用される基準画像s(406)とを示す。スタイル予測ネットワークP(408)の出力(410)は、スタイル転送ネットワークT(404)に適用されて、スタイル化された画像T(412)を生成し得る。入力画像c(402)、基準画像s(406)、およびスタイル化された画像T(412)は、損失ネットワーク(414)(たとえば、ビジュアルジオメトリグループ(VGG-16)畳み込みニューラルネットワーク)への入力であってもよい。損失ネットワーク(414)は、入力画像c(402)、基準画像s(406)、およびスタイル化された画像T(412)に基づいてスタイル損失(316)および/またはコンテンツ損失(318)を判定し得る。
【0036】
損失ネットワーク(たとえば、図4Aに示すVGG損失ネットワーク314)は、(たとえば、入力画像c(302)からの)画像コンテンツと(たとえば、基準画像s(306)からの)スタイルとの間のバランス、および/または、転送される特徴のスケールを判定するように変換器ネットワークをガイドし得る。損失を算出するために、各画像(たとえば、入力画像c(302)、基準画像s(306)およびスタイル化された画像T(312))は、予めトレーニングされた画像分類ネットワーク(たとえば、VGG損失ネットワーク314)に提供されてもよい。損失ネットワークアーキテクチャ(420)を図4Bに示す。
【0037】
コンテンツ損失(たとえば、図4Aに示すようなコンテンツ損失418)に関して、各層上の入力画像(たとえば、図4Aに示す入力画像c(402))およびスタイル化された画像(たとえば、基準画像s(406))の表現を比較して、これらがどれだけ厳密に合致しているかを判定し得る。(たとえば、図4Aに示されるような)スタイル損失は、基準画像とスタイル化された画像との間の相関性を比較することによって判定され得る。
【0038】
層の連続セットの各々において、損失ネットワーク(414)は、予め定められた小さなパターンの低レベルの局所的表現から画像の特徴および/または特性全体の定義に至るまでの、予め定められた領域にわたる情報を集約し得る。
【0039】
最終的な損失は、コンテンツ損失およびスタイル損失のうちの1つ以上の成分にわたる加重和であり得る。重み付けは、図5A図5Mに示されるとともに以下において説明される例において調整され得るとともに、重み付けは、例示的なビデオゲームフレームスタイル化の文脈において、各層が何に寄与するかを示し得る。この例では、ラベル(たとえば、conv1、conv2、conv3、および/またはconv4)は、図1Aおよび図1Bの畳み込み層の各セットにおける第1の層に対応し得る。すなわち、畳み込み数が多いほど表現のレベルがより高くなる。
【0040】
図5Aは、上述のニューラルネットワークをトレーニングするのに採用された入力画像500を示しており、この画像では、混雑した空の特徴と平地特徴と詳細な建物とのバランスが取られている。図5Bは、この例についての基準画像502を示す。
【0041】
この例では、画像に対する調整前の基本設定は以下のとおりである。
【0042】
【数1】
【0043】
図5Cは、上述のパラメータでトレーニングされた入力画像500であり得る画像504を示す。
【0044】
この例では、図5D図5Hは、conv1(図5D)、conv2(図5E)、conv3(図5F)、およびconv4(図5G)のそれぞれの層からのスタイル損失でトレーニングされ得る。図5Hは、これらの層の全て(すなわち、conv1層、conv2層、conv3層、およびconv4層の組合わせ)を含み得る。図5D図5Hでは、重みは、1e-3から1e-2に変更されてもよく、コンテンツパラメータは、上記に示したデフォルトパラメータから変更されないままでもよい。
【0045】
図5D(convl)に示す画像506は勾配を含み得る。この場合、画像のうちそれほど詳細ではない部分は繰り返しのパターンアーチファクトによって埋められている。図5E(conv2)に示す画像508は、斜めおよび/または水平のアーチファクトを含み得るとともに、(図5Bに示す)基準画像中の月の中間サイズの特徴を含み得る。図5F(conv3)に示される画像510は、基準画像(図5Bの画像502)の特徴的なブラシストロークを含み得るとともに、画素パターンアーチファクトを有するように表わされない可能性もある。図5G(conv4)に示される画像512では、conv4損失の相対値は比較的低いので、モデルは、トレーニングされると入力画像(たとえば、図5Aに示す画像500)を再構築する。図5Hに示す画像514は、デフォルトと本質的に同じパラメータでトレーニングされたモデルを含むが、すべてのスタイル重みには10が掛けられている。図5Hの画像514は、図5Aの入力画像500に詳述されない領域に、より太いスタイルパターンを有し得る。この合成画像(図5Hの画像514)およびconv3(図5Fの画像510)には、図5Bに示す基準画像502からのいくつかの星が存在している。
【0046】
図5I図5Mは、conv1(図5Iの画像516)、conv2(図5Jの画像518)、conv3(図5Kの画像520)、およびconv4(図5Lの画像522)からのコンテンツ損失でトレーニングされた画像を示す。図5Mは、これらの層の全て(すなわち、conv1層、conv2層、conv3層、およびconv4層の組合わせ)を含む画像524を示す。スタイルパラメータは、デフォルト(すなわち、上述の基本設定)から変更されていなくてよく、入力画像重みは、conv4(図5Lの画像522)を除くすべての畳み込みに関して1であってもよく、これは、その相対値が低いせいで1eに設定され得る。
【0047】
図5Iのconv1画像(画像516)はスタイルconv3画像(図5Fの画像520)と同様に表現され得るとともに、図5Jのconv2画像(画像518)は比較的クリーンな地面部分を有するように表現され得る。図5Kのconv3画像(画像520)は、conv2バージョン(図5Kの画像518)と視覚的に同様であり得るが、ブラシストロークがわずかにより強く、はるかに乱雑な地面を含んでいる。図5Lのconv4画像(画像522)は、実際のオブジェクトの詳細を保持し得るとともに、画像の主要な詳細に影響を及ぼさなかった区域においてスタイルについてのコンテンツを犠牲にする可能性があった。図5Mの画像524は、conv1画像、conv2画像、conv3画像、およびconv4画像を含み得るとともに、よりマイルドなスタイル転送を呈し得る。これは、全体的なコンテンツ損失がより高く重み付けされるからであり得る。
【0048】
上述の例では、図5Fに示される画像510および図5Iに示される画像516のスタイル化は、図5Bに示される基準画像502のブラシストロークを引き出すように見える。図5Fに示される画像510のスタイル化は、図5Bに示される基準画像502のように、より「流動的(flow)」である一方で、図5Iに示される画像516は、図5Aに示される入力画像500のように見える可能性があるものの、特に空において、図5Bに示される基準画像502のブラシストロークとより一層合致する。より低レベル(たとえば、conv1(図5Dに示す画像506、図5Eに画像508として示すconv2画像)からのスタイル損失により、図5Hに示す合成画像(画像514)のスタイル化に存在し得るconv3画像(図5Fに示す画像510)と図5Iに示すconv1画像(画像516)とにおけるブラシストロークに余分のテクスチャが追加され得る。
【0049】
図5A図5Mに示す上述の例では、損失重みは、互いに対してスケーリングされ得るようには調整されなかった。すなわち、損失はconv2>conv3>conv1となるようなものであり、これらの損失はconv4よりも大きかった。しかしながら、図5D図5Gおよび図5I図5Lに示される畳み込みの大部分は、複数の画像の結果が質的に異なって見えるように、十分に異なっている可能性もある。
【0050】
上述の例の結果に基づいて、テクスチャがどのように現われるかを確認するために、モデルは、さまざまな層損失のさまざまな組合わせで、および/または、入力画像サイズと基準画像サイズとのさまざまな比で、トレーニングされてもよい。いくつかの実現例では、結果として得られる画像において基準画像のスタイルがより優勢になるように設定が調整されるのに応じて、画像は、たとえばビデオゲームの動きシーケンスにおいてより多くのちらつきを含む可能性がある。いくつかの実現例では、モデルは、1つ以上の安定化方法(たとえば、オプティカルフロー、ノイズなど)とともにトレーニングされてもよい。
【0051】
開示される主題のスタイル転送システムの畳み込みニューラルネットワークは、プロセッサ(たとえば、グラフィック処理ユニット(graphical processing unit:GPU))が畳み込みを効率的に処理し得るように、現在のシステムよりも少ないチャネルおよび畳み込みを用い得る。現在のシステムは、たとえば、より大きな9×9カーネルおよび3×3カーネルの両方で畳み込みを実行し得るとともに、チャネルの数がより大きくなるようにスケーリング動作を実行し得る。たとえば、いくつかの現在のシステムは、3のチャネルから32のチャネルへ、32のチャネルから64のチャネルへ、および64のチャネルから128のチャネルへのスケーリング動作を実行してもよい。このようなシステムが有する残差ブロックはより少なくなる可能性があるが、各ブロックが有するチャネルの数はより多くなる可能性があり、これにより、計算の数が増える可能性がある。現在のシステムは、本開示の主題の実現例と比較して、ダウンスケーリングの段階およびアップスケーリングの段階が多くなっている。すなわち、チャネルの数、スケーリング動作の数、および畳み込みの数を減らすことにより、開示される主題の実現例は、高分解能(たとえば、1080p)でリアルタイムで映像のスタイル変換を提供し得る。
【0052】
連続フレームにわたる安定性を高めるために、開示される主題の畳み込みニューラルネットワークは、画素の予測されたオプティカルフローに基づいた損失関数における安定化項を用い得る。これは計算集約的になり得るが、この計算は、畳み込みニューラルネットワークをトレーニングする際にいくつかの実現例でのみ実行され得るものであって、映像場面および基準画像を用いて画像を生成する際には実行されなくてもよい。すなわち、畳み込みニューラルネットワークがトレーニングされると、損失関数を計算する必要がなくなり得るので、開示される主題の実現例は、計算の複雑さを低く抑えてスタイル転送を実行し得る。畳み込みニューラルネットワークは、一度に1つのフレームに対して演算を実行するにも関わらず、特徴の安定性を強化するように学習し得る。安定化項は、開示される主題の畳み込みニューラルネットワークに、進行中であって現在のフレームの後に続くフレームを「認識」させ得る。すなわち、安定化項は、フレーム間に急激な視覚的変化が起こり得ないように、連続するフレーム(たとえば、過去のフレーム、現在のフレーム、および次のフレーム)間のスタイル転送を滑らかにし得る。
【0053】
畳み込みニューラルネットワークは、たとえば、ビデオゲーム環境などの環境から1分または2分の映像を用いてトレーニングされてもよい。いくつかの実現例では、2分よりも長い(たとえば、10分、20分、30分、1時間などの)映像を用いて畳み込みニューラルネットワークをトレーニングしてもよい。たとえば、複数の異なる視覚環境を有するビデオゲームでは、畳み込みニューラルネットワークは、異なる環境の各々ごとに約2分の映像でトレーニングされ得る。入力映像でトレーニングされる畳み込みニューラルネットワークは重みのセットを生成する。
【0054】
任意の(たとえば、ゲームのソースコードへのアクセスを必要としない)ビデオゲームにスタイル転送を適用するために、開示される主題の実現例は、生成された重みのセットを後処理シェーダに提供し得る。いくつかの実現例では、重みのセットは、Vulkan(商標)後処理シェーダのためのものであり得る。トレーニングされたモデルからの重みはシェーダにエクスポートされ得るとともに、シェーダによって適用され得る。いくつかの実現例では、重みは実行時に変更されてもよい。重み付きのシェーダは小さくてもよく(たとえば、約512KB)、映像ストリームおよび/またはゲームストリームに加えて、リアルタイムで実行されてもよい。すなわち、シェーダは、映像層上で高いフレームレート(たとえば、毎秒45~60フレーム以上)で実行され得る。
【0055】
シェーダは、クラウドベースのゲーミングプラットフォームによって、サーバベースのゲーミングプラットフォームによって、または、ビデオゲーム環境の映像ストリームを実行時に基準静止画像のアーティスティックスタイルに変換するために用いられ得る任意の適切なコンピュータベースのゲーミングプラットフォームによって、提供される映像ストリーム上で実行され得る。いくつかの実現例では、畳み込みニューラルネットワークは連続的に実行されてもよく、シェーダは異なる場所に格納されてもよく、さまざまなレンダリングシステムが用いられてもよく、および/または、シェーダが(映像層上で実行されるのではなく)ゲームエンジン自体に一体化されてもよい。
【0056】
開示される主題の実現例では、スタイルの大きさは、拡大または縮小するようにカスタマイズ可能であり得る。すなわち、結果として得られる映像に対する基準静止画像の影響の量を変化させ得る。画像に存在するノイズの量を変更してもよく、これにより、畳み込みニューラルネットワークがスタイル変換を実行する方法を変更してもよい。いくつかの実現例では、モデルをトレーニングするために用いられる映像の量を増やしてもよく、および/または、モデルをトレーニングするために用いられるノイズテクスチャの量を変更してもよい。
【0057】
開示される主題の実現例によって提供されるアーティスティックスタイル転送をリアルタイムで実行することにより、ゲームプレイ中の視覚スタイルのリアルタイムなシフト、個々にカスタマイズされたアーティスティックスタイル(たとえば擬人化など)、ユーザ作成コンテンツにより生成されたスタイル(たとえば、図面をゲームに変更)、および、ビデオゲームアートスタイルの高速反復、を含むビデオゲームインタラクションを増やすことが可能となり得る。従来のシステムでは、例示された二次元画像を完全に現実化されたゲーム環境に変換するには、典型的には、カスタムテクスチャペインティング、モデリング、マテリアルクラフティング、ライティング、およびチューニングが必要となる。開示される主題の実現例によって提供されるリアルタイムのアーティスティックスタイル転送は、ゲームコンセプトから対話型ゲーム環境のテストに進むまでの時間を短縮することを可能にし得る。開示される主題の実現例は、ビデオゲームに適用されると、ゲーム中のプレーヤのキャラクタの気分に基づいてスタイル変更をもたらし得るとともに、および/または、ゲームの世界または領域のさまざまな部分に対してさまざまなスタイル化を提供し得る。
【0058】
開示される主題の実現例は、ビデオゲームに複数のアートスタイルを提供するように、アートスタイルをリアルタイムでシフトさせることを規定し得る。開示される主題の実現例は、特定のゲームに適したアートスタイルを迅速かつ効率的に見出すために、複数のアートスタイルをテストすることを規定し得る。
【0059】
本開示の主題の実施形態は、さまざまなコンポーネントおよびネットワークアーキテクチャにおいて実現例され、それらとともに用いられ得る。図6は、本開示の主題の実施形態を実現するのに適した例示的なコンピューティングデバイス20である。デバイス20は、たとえば、デスクトップコンピュータもしくはラップトップコンピュータ、または、スマートフォン、タブレットなどのモバイルコンピューティングデバイスであり得る。デバイス20は、ユーザデバイス、スタイル転送デバイス、畳み込みニューラルネットワークデバイス、シェーダデバイスなどであり得る。デバイス20はバス21を含み得る。バス21はコンピュータ20の主要コンポーネントを相互接続する。コンピュータ20の主要コンポーネントは、たとえば、中央プロセッサ24、ランダムアクセスメモリ(Random Access Memory:RAM)、読取り専用メモリ(Read Only Memory:ROM)、フラッシュRAMなどのメモリ27、ディスプレイスクリーンなどのユーザディスプレイ22、キーボード、マウス、タッチスクリーンなどの1つ以上のコントローラおよび関連するユーザ入力デバイスを含み得るユーザ入力インターフェイス26、ハードドライブ、フラッシュストレージなどの固定ストレージ23、光ディスク、フラッシュドライブなどを制御するとともにこれらを収容するように動作するリムーバブル媒体コンポーネント25、ならびに、適切なネットワーク接続を介して1つ以上のリモートデバイスと通信するように動作可能であるネットワークインターフェイス29を含み得る。
【0060】
バス21は、中央プロセッサ24と、RAM、ROM、および上述の他のメモリを含み得る1つ以上のメモリコンポーネントとの間のデータ通信を可能にする。典型的には、RAMは、オペレーティングシステムおよびアプリケーションプログラムがロードされる主メモリである。ROMまたはフラッシュメモリコンポーネントは、特に、周辺コンポーネントとのインタラクションなどの基本的なハードウェア動作を制御する基本入出力システム(Basic Input-Output system:BIOS)を含み得る。コンピュータ20に常駐するアプリケーションは、一般に、ハードディスクドライブ(たとえば、固定ストレージ23)、光学ドライブ、フロッピー(登録商標)ディスク、または他の記憶媒体などのコンピュータ可読媒体上に格納されるとともにコンピュータ可読媒体を介してアクセスされる。
【0061】
固定ストレージ23は、コンピュータ20と一体型であってもよく、または、別個のものであって他のインターフェイスを介してアクセスされてもよい。ネットワークインターフェイス29は、有線接続または無線接続を介してリモートサーバに直接接続されてもよい。ネットワークインターフェイス29は、デジタルセルラ電話、WiFi、Bluetooth(登録商標)、近距離場等を含む、当業者によって容易に理解されるであろう任意の適切な技法およびプロトコルを用いて、このような接続を提供し得る。たとえば、ネットワークインターフェイス29は、以下でさらに詳細に説明されるように、コンピュータが1つ以上のローカルネットワーク、ワイドエリアネットワーク、または他の通信ネットワークを介して他のコンピュータと通信することを可能にし得る。
【0062】
多くの他のデバイスまたはコンポーネント(図示せず)が、同様の態様(たとえば、文書スキャナ、デジタルカメラなど)で接続されてもよい。逆に、本開示を実施するために、図6に示されるコンポーネントの全てが存在する必要はない。コンポーネントは、図示される方法とは異なる方法で相互接続され得る。図6に示すようなコンピュータの動作は、当技術分野では容易に公知であり、本願では詳細には説明しない。本開示を実現するためのコードは、メモリ27、固定ストレージ23、リムーバブル媒体25のうちの1つ以上などのコンピュータ可読記憶媒体、または遠隔格納場所に格納され得る。
【0063】
図7は、開示される主題の実現例に従った例示的な構成を示す。リモートサービスまたはサービスプロバイダ11などの1つ以上のデバイスまたはシステム10、11、ローカルコンピュータ、スマートフォン、タブレットコンピューティングデバイスなどのユーザデバイス10などは、1つ以上のネットワーク7を介して他のデバイスにも接続し得る。サービスプロバイダ11は、スタイル転送システム、畳み込みニューラルネットワークシステム、および/またはシェーダシステムであってもよい。ネットワークは、ローカルネットワーク、ワイドエリアネットワーク、インターネット、または他の任意の好適な通信ネットワーク(複数も可)であってもよく、有線ネットワークおよび/または無線ネットワークを含む任意の適切なプラットフォーム上で実現され得る。デバイス10、11は、たとえばスタイル転送システム、畳み込みニューラルネットワークシステム、および/またはシェーダシステムを含み得る、処理ユニット14、データベース15、およびユーザインターフェイスシステム13などの1つ以上のリモートコンピュータシステムと通信し得る。場合によっては、デバイス10、11は、データベース15、処理ユニット14などの1つ以上の他のシステムへのアクセスを可能にし得るユーザインターフェイスシステム13と通信してもよい。たとえば、ユーザインターフェイス13は、1つ以上の他のコンピュータシステムからデータを供給するユーザアクセス可能なウェブページであってもよい。ユーザインターフェイス13は、人が読取り可能なウェブページがユーザデバイス10上のウェブブラウザクライアントに提供される場合、コンピュータが読取り可能なAPIまたは他のインターフェイスがリモートサービスクライアント11に提供される場合などに、異なるクライアントに異なるインターフェイスを提供し得る。
【0064】
ユーザインターフェイス13、データベース15、および/もしくは処理ユニット14は、一体型システムの一部であってもよく、または、プライベートネットワーク、インターネットもしくは他の任意の適切なネットワークを介して通信する複数のコンピュータシステムを含んでもよい。1つ以上の処理ユニット14は、たとえば、クラウドベースのコンピューティングシステム、検索エンジン、コンテンツ配信システムなどの分散システムの一部であってよく、データベース15および/またはユーザインターフェイス13を含み得るかまたはそれらと通信し得る。いくつかの構成では、分析システム5は、格納されたデータまたは取得されたデータが処理ユニット14、データベース15および/またはユーザインターフェイス13に配信される前に分析システム5によって前処理される場合などに、バックエンド処理を提供し得る。たとえば、機械学習システム5は、さまざまな予測モデル、データ分析などを1つ以上の他のシステム13、14、15に提供してもよい。
【0065】
より一般的には、本開示の主題のさまざまな実施形態は、コンピュータで実施されるプロセスおよびこれらのプロセスを実施するための装置を含んでもよく、またはコンピュータで実施されるプロセスおよびこれらのプロセスを実施するための装置として具現化されてもよい。また、実施形態は、フロッピー(登録商標)ディスク、CD-ROM、ハードドライブ、ユニバーサルシリアルバス(universal serial bus:USB)ドライブ、または他の任意の機械可読記憶媒体などの非一時的な媒体および/または有形媒体において具体化される命令を含むコンピュータプログラムコードを有するコンピュータプログラム製品の形態で具現化されてもよく、このため、コンピュータプログラムコードがコンピュータにロードされてコンピュータによって実行されると、当該コンピュータは、本開示の主題の実施形態を実施するための装置となる。また、実施形態は、記憶媒体に格納されていようとも、コンピュータにロードされていようとも、および/またはコンピュータによって実行されていようとも、何らかの伝送媒体、例えば、電気配線または電気ケーブル、光ファイバ、または電磁波を介して伝送されていようとも、コンピュータプログラムコードの形態で具現化され得る。このため、コンピュータプログラムコードがコンピュータにロードされてコンピュータによって実行されると、当該コンピュータは、本開示の主題の実施形態を実施するための装置となる。汎用マイクロプロセッサ上で実装されると、コンピュータプログラムコードセグメントは、特定の論理回路を作成するようにマイクロプロセッサを構成する。
【0066】
いくつかの構成では、コンピュータ可読記憶媒体に格納されたコンピュータ可読命令のセットは、汎用プロセッサによって実現され得るものであって、汎用プロセッサまたは汎用プロセッサを含むデバイスを、命令を実現または実施するように構成された専用のデバイスに変換し得る。実施形態は、ハードウェアおよび/またはファームウェアで本開示の主題の実施形態に係る技術の全体または一部を具体化する汎用マイクロプロセッサおよび/または特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)などのプロセッサを含み得るハードウェアを用いて実現されてもよい。プロセッサは、メモリ、たとえば、RAM、ROM、フラッシュメモリ、ハードディスク、または電子情報を格納することができる他の任意のデバイスなどに結合されてもよい。メモリは、開示される主題の実施形態に係る技術を実行するために、プロセッサによって実行されるように適合された命令を格納してもよい。
【0067】
説明を目的として、特定の実施形態を参照して上記の説明を行なった。しかしながら、上記の例示的な説明は、網羅的であることを意図しておらず、または本開示の主題の実施形態を開示した厳密な形態に限定することを意図していない。上記の教示を参照することで多くの修正および変形が可能である。実施形態は、開示される主題の実施形態の原理およびその実用的な用途を説明するために選択および説明されてきた。これにより、当業者は、これらの実施形態と、意図された特定の用途に適し得るさまざまな修正を含むさまざまな実施形態とを利用することが可能となる。
【0068】
本明細書中に開示される実現例は、以下に記載するようなシステム、デバイス、配置、技術および構成を含み得る。
【0069】
1.コンピューティングデバイスにおいて、少なくとも1つの画像および基準画像を受信するステップと、
当該コンピューティングデバイスにおいて、当該受信した少なくとも1つの画像に対して分離可能な畳み込みを含む複数のダウンスケーリング動作を実行するステップとを含む方法であって、当該複数のダウンスケーリング動作を実行するステップは、
カーネルを用いて第1の分離可能な畳み込みを実行して、チャネルの第1のセットを、当該チャネルの第1のセットよりも数が多いチャネルの第2のセットに変換するステップと、
当該カーネルを用いて第2の分離可能な畳み込みを実行して、当該第1の分離可能な畳み込みの当該チャネルの第2のセットを、当該チャネルの第2のセットよりも数の多いチャネルの第3のセットに変換するステップとを含み、当該方法はさらに、
当該コンピューティングデバイスにおいて複数の残差ブロックを形成するステップを含み、各々の残差ブロックは、当該カーネルの2つの分離可能な畳み込みおよび2つのインスタンス正規化を含み、当該方法はさらに、
当該コンピューティングデバイスにおいて、当該複数の残差ブロックに対して複数のアップスケーリング動作を実行するステップを含み、当該複数のアップスケーリング動作を実行するステップは、
当該チャネルの第3のセットに対して第3の分離可能な畳み込みを実行して、当該チャネルの第3のセットを当該チャネルの第2のセットに変換することによって、第1のアップスケーリング動作を実行するステップと、
当該チャネルの第2のセットに対して第4の分離可能な畳み込みを実行して、当該チャネルの第2のセットを当該チャネルの第1のセットに変換することによって、第2のアップスケーリング動作を実行するステップとを含み、当該方法はさらに、
当該コンピューティングデバイスに通信可能に結合されたディスプレイデバイスにおいて、少なくとも当該実行された複数のアップスケーリング動作および当該基準画像に基いて、スタイル化された画像を表示するステップを含む、方法。
【0070】
2.当該コンピューティングデバイスにおいて、当該第1の分離可能な畳み込みを実行する前の重みのベクトルおよびバイアスに基づいたフィルタを、受信した少なくとも1つの画像の入力値に適用するステップをさらに含む、実現例1に記載の方法。
【0071】
3.当該コンピューティングデバイスにおいて、当該重みおよび当該バイアスのうち少なくとも1つを後処理シェーダに出力する、実現例2に記載の方法。
【0072】
4.当該第1の分離可能な畳み込みおよび当該第2の分離可能な畳み込みのカーネルは、3×3のサイズを有し、ストライドが2であり、当該ストライドは、当該カーネルがシフトされる量である、上記実現例のいずれか1つに記載の方法。
【0073】
5.当該第1の分離可能な畳み込みは、
当該コンピューティングデバイスにおいて、3のチャネルを有する当該チャネルの第1のセットを、32のチャネルを有する当該チャネルの第2のセットに変換するステップを含む、上記実現例のいずれか1つに記載の方法。
【0074】
6.当該第2の分離可能な畳み込みは、
当該コンピューティングデバイスにおいて、32のチャネルを有する当該チャネルの第2のセットを、64のチャネルを有する当該チャネルの第3のセットに変換するステップを含む、実現例5に記載の方法。
【0075】
7.当該形成された残差ブロックは、15の残差ブロックを含み、各々の残差ブロックは、3×3カーネルの2つの分離可能な畳み込みおよび2つのインスタンス正規化を含む、上記実現例のいずれか1つに記載の方法。
【0076】
8.当該第1のアップスケーリング動作および当該第2のアップスケーリング動作は、3×3のサイズおよび2のストライドを有するカーネルを用いて実行され、当該ストライドは、当該カーネルがシフトされる量である、上記実現例のいずれか1つに記載の方法。
【0077】
9.当該第1のアップスケーリング動作は、
当該コンピューティングデバイスにおいて、当該チャネルの第3のセットの64のチャネルを当該チャネルの第2のセットの32のチャネルに変換することによって当該第3の分離可能な畳み込みを実行するステップを含む、上記実現例のいずれか1つに記載の方法。
【0078】
10.当該第2のアップスケーリング動作は、
当該コンピューティングデバイスにおいて、当該チャネルの第2のセットの当該32のチャネルを当該チャネルの第1のセットの3のチャネルに変換することによって当該第4の分離可能な畳み込みを実行するステップを含む、実現例9に記載の方法。
【0079】
11.当該コンピューティングデバイスにおいて、当該受信した少なくとも1つの画像に画像ノイズを追加するステップをさらに含む、上記実現例のいずれか1つに記載の方法。
【0080】
12.少なくともプロセッサおよびメモリを含むコンピューティングデバイスを備えたシステムであって、当該コンピューティングデバイスは、
少なくとも1つの画像および基準画像を受信し、
当該受信した少なくとも1つの画像に対して分離可能な畳み込みを含む複数のダウンスケーリング動作を実行し、当該複数のダウンスケーリング動作を実行することは、
カーネルを用いて第1の分離可能な畳み込みを実行して、チャネルの第1のセットを、当該チャネルの第1のセットよりも数が多いチャネルの第2のセットに変換することと、
当該カーネルを用いて第2の分離可能な畳み込みを実行して、当該第1の分離可能な畳み込みの当該チャネルの第2のセットを、当該チャネルの第2のセットよりも数の多いチャネルの第3のセットに変換することとを含み、当該コンピューティングデバイスはさらに、
複数の残差ブロックを形成し、各々の残差ブロックは、当該カーネルの2つの分離可能な畳み込みおよび2つのインスタンス正規化を含み、当該コンピューティングデバイスはさらに、
当該複数の残差ブロックに対して複数のアップスケーリング動作を実行し、当該複数のアップスケーリング動作を実行することは、
当該チャネルの第3のセットに対して第3の分離可能な畳み込みを実行して、当該チャネルの第3のセットを当該チャネルの第2のセットに変換することによって、第1のアップスケーリング動作を実行することと、
当該チャネルの第2のセットに対して第4の分離可能な畳み込みを実行して、当該チャネルの第2のセットを当該チャネルの第1のセットに変換することによって、第2のアップスケーリング動作を実行することとを含み、当該システムはさらに、
当該コンピューティングデバイスに通信可能に結合されたディスプレイデバイスを含み、当該ディスプレイデバイスは、少なくとも当該実行された複数のアップスケーリング動作および当該基準画像に基いて、スタイル化された画像を表示する、システム。
【0081】
13.当該コンピューティングデバイスは、当該第1の分離可能な畳み込みを実行する前の重みのベクトルおよびバイアスに基づいたフィルタを、当該受信した少なくとも1つの画像の入力値に適用する、実現例12に記載のシステム。
【0082】
14.当該コンピューティングデバイスは、当該重みおよび当該バイアスのうち少なくとも1つを後処理シェーダに出力する、実現例13に記載のシステム。
【0083】
15.当該第1の分離可能な畳み込みおよび当該第2の分離可能な畳み込みのカーネルは、3×3のサイズを有し、ストライドが2であり、当該ストライドは、当該カーネルがシフトされる量である、上記実現例のいずれか1つに記載のシステム。
【0084】
16.当該コンピューティングデバイスは、当該第1の分離可能な畳み込みのために、3のチャネルを有する当該チャネルの第1のセットを、32のチャネルを有する当該チャネルの第2のセットに変換する、上記実現例のいずれか1つに記載のシステム。
【0085】
17.当該コンピューティングデバイスは、当該第2の分離可能な畳み込みのために、32のチャネルを有する当該チャネルの第2のセットを、64のチャネルを有する当該チャネルの第3のセットに変換する、実現例16に記載のシステム。
【0086】
18.形成された残差ブロックは15の残差ブロックを含み、各々の残差ブロックは、3×3カーネルの2つの分離可能な畳み込みおよび2つのインスタンス正規化を含む、上記実現例のいずれか1つに記載のシステム。
【0087】
19.当該第1のアップスケーリング動作および当該第2のアップスケーリング動作は、3×3のサイズおよび2のストライドを有するカーネルを用いて当該コンピューティングデバイスによって実行され、当該ストライドは、当該カーネルがシフトされる量である、上記実現例のいずれか1つに記載のシステム。
【0088】
20.当該コンピューティングデバイスは、当該第1のアップスケーリング動作のために、当該チャネルの第3のセットの64のチャネルを当該チャネルの第2のセットの32のチャネルに変換することによって当該第3の分離可能な畳み込みを実行する、上記実現例のいずれか1つに記載のシステム。
【0089】
21.当該コンピューティングデバイスは、当該第2のアップスケーリング動作のために、当該チャネルの第2のセットの32のチャネルを当該チャネルの第1のセットの3のチャネルに変換することによって当該第4の分離可能な畳み込みを実行する、実現例20に記載のシステム。
【0090】
22.当該コンピューティングデバイスは、当該受信した少なくとも1つの画像に画像ノイズを追加する、上記実現例のいずれか1つに記載のシステム。
【0091】
23.画像をスタイル化するための手段であって、
少なくとも1つの画像および基準画像を受信するための手段と、
当該受信した少なくとも1つの画像に対して分離可能な畳み込みを含む複数のダウンスケーリング動作を実行するための手段とを含み、当該複数のダウンスケーリング動作を実行するための手段は、
カーネルを用いて第1の分離可能な畳み込みを実行して、チャネルの第1のセットを、当該チャネルの第1のセットよりも数が多いチャネルの第2のセットに変換するための手段と、
当該カーネルを用いて第2の分離可能な畳み込みを実行して、当該第1の分離可能な畳み込みの当該チャネルの第2のセットを、当該チャネルの第2のセットよりも数の多いチャネルの第3のセットに変換するための手段とを含み、当該画像をスタイル化するための手段はさらに、
複数の残差ブロックを形成するための手段を含み、各々の残差ブロックは、当該カーネルの2つの分離可能な畳み込みおよび2つのインスタンス正規化を含み、当該画像をスタイル化するための手段はさらに、
当該複数の残差ブロックに対して複数のアップスケーリング動作を実行するための手段を含み、当該複数のアップスケーリング動作を実行するための手段は、
当該チャネルの第3のセットに対して第3の分離可能な畳み込みを実行して、当該チャネルの第3のセットを当該チャネルの第2のセットに変換することによって、第1のアップスケーリング動作を実行するための手段と、
当該チャネルの第2のセットに対して第4の分離可能な畳み込みを実行して、当該チャネルの第2のセットを当該チャネルの第1のセットに変換することによって、第2のアップスケーリング動作を実行するための手段とを含み、当該画像をスタイル化するための手段はさらに、
少なくとも当該実行された複数のアップスケーリング動作および当該基準画像に基いて、スタイル化された画像を表示するための手段を含む、手段。
【0092】
24.当該第1の分離可能な畳み込みを実行する前の重みのベクトルおよびバイアスに基づいたフィルタを、受信した少なくとも1つの画像の入力値に適用するための手段をさらに含む、実現例21に記載の手段。
【0093】
25.当該重みおよび当該バイアスのうち少なくとも1つを後処理シェーダに出力するための手段をさらに含む、実現例24に記載の方法。
【0094】
26.当該第1の分離可能な畳み込みおよび当該第2の分離可能な畳み込みのカーネルは、3×3のサイズを有し、ストライドが2であり、当該ストライドは、当該カーネルがシフトされる量である、上記実現例のいずれか1つに記載の手段。
【0095】
27.当該第1の分離可能な畳み込みを実行するための手段は、
3のチャネルを有する当該チャネルの第1のセットを、32のチャネルを有する当該チャネルの第2のセットに変換するための手段を含む、上記実現例のいずれか1つに記載の手段。
【0096】
28.当該第2の分離可能な畳み込みを実行するための手段は、
32のチャネルを有する当該チャネルの第2のセットを、64のチャネルを有する当該チャネルの第3のセットに変換するための手段を含む、実現例27に記載の手段。
【0097】
29.当該形成された残差ブロックは、15の残差ブロックを含み、各々の残差ブロックは、3×3カーネルの2つの分離可能な畳み込みおよび2つのインスタンス正規化を含む、上記実現例のいずれか1つに記載の手段。
【0098】
30.当該第1のアップスケーリング動作および当該第2のアップスケーリング動作は、3×3のサイズおよび2のストライドを有するカーネルを用いて実行され、当該ストライドは、当該カーネルがシフトされる量である、上記実現例のいずれか1つに記載の手段。
【0099】
31.当該第1のアップスケーリング動作を実行するための手段は、
当該チャネルの第3のセットの64のチャネルを当該チャネルの第2のセットの32のチャネルに変換することによって当該第3の分離可能な畳み込みを実行するための手段を含む、上記実現例のいずれか1つに記載の手段。
【0100】
32.当該第2のアップスケーリング動作を実行するための手段は、
当該チャネルの第2のセットの当該32のチャネルを当該チャネルの第1のセットの3のチャネルに変換することによって当該第4の分離可能な畳み込みを実行するための手段を含む、実現例31に記載の手段。
【0101】
33.当該受信した少なくとも1つの画像に画像ノイズを追加するための手段をさらに含む、上記実現例のいずれか1つに記載の手段。
図1A
図1B
図2A
図2B
図2C
図3A
図3B
図3C
図4A
図4B
図5A
図5B
図5C
図5D
図5E
図5F
図5G
図5H
図5I
図5J
図5K
図5L
図5M
図6
図7