Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7692283B2 - スタイルトランスファープログラムおよびスタイルトランスファー方法 - Google Patents
[go: Go Back, main page]

JP7692283B2 - スタイルトランスファープログラムおよびスタイルトランスファー方法 - Google Patents

スタイルトランスファープログラムおよびスタイルトランスファー方法 Download PDF

Info

Publication number
JP7692283B2
JP7692283B2 JP2021076919A JP2021076919A JP7692283B2 JP 7692283 B2 JP7692283 B2 JP 7692283B2 JP 2021076919 A JP2021076919 A JP 2021076919A JP 2021076919 A JP2021076919 A JP 2021076919A JP 7692283 B2 JP7692283 B2 JP 7692283B2
Authority
JP
Japan
Prior art keywords
style
buffer
style transfer
images
transfer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021076919A
Other languages
English (en)
Other versions
JP2022170757A (ja
Inventor
エドガー ハンディ
陽一郎 三宅
新平 坂田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Square Enix Co Ltd
Original Assignee
Square Enix Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Square Enix Co Ltd filed Critical Square Enix Co Ltd
Priority to JP2021076919A priority Critical patent/JP7692283B2/ja
Priority to US17/731,148 priority patent/US12136179B2/en
Publication of JP2022170757A publication Critical patent/JP2022170757A/ja
Application granted granted Critical
Publication of JP7692283B2 publication Critical patent/JP7692283B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/00Three-dimensional [3D] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/00Two-dimensional [2D] image generation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/00Two-dimensional [2D] image generation
    • G06T11/10Texturing; Colouring; Generation of textures or colours
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/00Three-dimensional [3D] image rendering
    • G06T15/06Ray-tracing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three-dimensional [3D] modelling for computer graphics
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating three-dimensional [3D] models or images for computer graphics
    • G06T19/20Editing of three-dimensional [3D] images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2024Style variation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Architecture (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)

Description

本発明の実施形態の少なくとも1つは、スタイルトランスファープログラムおよびスタイルトランスファー方法に関する。
写真画像をゴッホ風やモネ風などの所定のスタイルに応じた画像へ変換する、スタイルトランスファーの技術が知られている。
特許文献1には、スタイル変換(style transfer)についての記載がなされている。
特開2020-187583号公報
ところで、ビデオゲーム等において、画像のレンダリングに用いられるバッファは複数存在する。このバッファ単位でスタイル変換を行うことができれば、ユーザに提供する画像の表現力が増大する。
本発明の少なくとも一つの実施形態の目的は、上記課題を解決し、ユーザに提供する画像の表現力を増大させることである。
非限定的な観点によると、本発明の一実施形態に係るスタイルトランスファープログラムは、サーバに、レンダリングに用いられるバッファからバッファデータを取得する取得機能と、前記バッファデータに対して、1以上のスタイル画像に基づいたスタイルトランスファーを適用する、スタイルトランスファー機能と、スタイルトランスファーが適用された後のデータを出力する出力機能と、を実現させるためのものである。
非限定的な観点によると、本発明の一実施形態に係るスタイルトランスファー方法は、コンピュータによるスタイルトランスファー方法であって、レンダリングに用いられるバッファからバッファデータを取得する取得処理と、前記バッファデータに対して、1以上のスタイル画像に基づいたスタイルトランスファーを適用する、スタイルトランスファー処理と、スタイルトランスファーが適用された後のデータを出力する出力処理とを含むものである。
本願の各実施形態により1または2以上の不足が解決される。
本発明の実施形態の少なくとも一つに対応するビデオゲーム処理システムの構成の例を示すブロック図である。 本発明の実施形態の少なくとも一つに対応するサーバの構成を示すブロック図である。 本発明の実施形態の少なくとも一つに対応するスタイルトランスファープログラム処理の例を示すフローチャートである。 本発明の実施形態の少なくとも一つに対応するサーバの構成を示すブロック図である。 本発明の実施形態の少なくとも一つに対応するスタイルトランスファープログラム処理の例を示すフローチャートである。 本発明の実施形態の少なくとも一つに対応するサーバの構成を示すブロック図である。 本発明の実施形態の少なくとも一つに対応するスタイルトランスファープログラム処理の例を示すフローチャートである。 本発明の実施形態の少なくとも一つに対応するサーバの構成を示すブロック図である。 本発明の実施形態の少なくとも一つに対応するスタイルトランスファープログラム処理の例を示すフローチャートである。 本発明の実施形態の少なくとも一つに対応するサーバの構成を示すブロック図である。 本発明の実施形態の少なくとも一つに対応するスタイルトランスファープログラム処理の例を示すフローチャートである。 本発明の実施形態の少なくとも一つに対応する、スタイルトランスファーに用いられるニューラルネットワークの構造例を示す概念図である。 本発明の実施形態の少なくとも一つに対応するサーバの構成を示すブロック図である。 本発明の実施形態の少なくとも一つに対応するスタイルトランスファープログラム処理の例を示すフローチャートである。 本発明の実施形態の少なくとも一つに対応する、スタイルトランスファーに用いられるニューラルネットワークの構造例を示す概念図である。 本発明の実施形態の少なくとも一つに対応する最適化処理の処理例を示すフローチャートである。
以下、本発明の実施形態の例について図面を参照して説明する。なお、以下で説明する各実施形態の例における各種構成要素は、矛盾等が生じない範囲で適宜組み合わせ可能である。また、ある実施形態の例として説明した内容については、他の実施形態においてその説明を省略している場合がある。また、各実施形態の特徴部分に関係しない動作や処理については、その内容を省略している場合がある。さらに、以下で説明する各種フローやシーケンスを構成する各種処理の順序は、処理内容に矛盾等が生じない範囲で順不同である。
[第1の実施形態]
本発明の第1の実施形態の概要について説明をする。以下では、第1の実施形態として、サーバにおいて実行されるスタイルトランスファープログラムを例示して説明する。
図1は、本発明の実施形態の少なくとも一つに対応するビデオゲーム処理システムの構成の例を示すブロック図である。ビデオゲーム処理システム100は、ビデオゲーム処理サーバ10(サーバ10)と、ビデオゲーム処理システム100のユーザ(ゲームのプレイヤ等)が使用するユーザ端末20とを備える。ユーザ端末20A、20B、および20Cはそれぞれ、ユーザ端末20の一例である。ビデオゲーム処理システム100の構成はこれに限定されない。例えば、ビデオゲーム処理システム100は、単一のユーザ端末を複数のユーザが使用する構成であってよい。ビデオゲーム処理システム100が複数のサーバを備えてもよい。
サーバ10とユーザ端末20は、それぞれインターネットなどの通信ネットワーク30に通信可能に接続されている。通信ネットワーク30とサーバ10との間の接続、および通信ネットワーク30とユーザ端末20との間の接続は有線接続であっても無線接続であってもよい。例えば、ユーザ端末20は、通信事業者が管理する基地局と無線通信回線によるデータ通信を行うことにより、通信ネットワーク30と接続してよい。
ビデオゲーム処理システム100は、サーバ10とユーザ端末20とを備えることにより、ユーザの操作に応じて各種処理を実行するための各種機能を実現する。
サーバ10はビデオゲームの進行を制御する。サーバ10は、ビデオゲーム処理システム100の管理者によって管理され、複数のユーザ端末20に対して各種処理に関する情報を提供するための各種機能を有する。
サーバ10は、プロセッサ11と、メモリ12と、記憶装置13とを備える。プロセッサ11は、例えば、各種の演算および制御を行うCPU(Central Processing Unit)等の中央処理装置である。また、サーバ10がGPU(Graphics Processing Unit)を備える場合には、各種の演算および制御の一部をGPUによって行うようにしてもよい。サーバ10は、メモリ12に読み出したデータを用いて各種の情報処理をプロセッサ11にて実行し、得られた処理結果を必要に応じて記憶装置13に記憶させる。
記憶装置13は、各種情報を格納する記憶媒体としての機能を有する。記憶装置13の構成は特に限定されないが、ユーザ端末20にかかる処理負荷を軽減させるといった観点から、ビデオゲーム処理システム100にて行われる制御に必要な各種情報を全て記憶可能な構成であることが好ましい。このような例には、HDDやSSDがある。ただし、各種情報を記憶する記憶装置は、サーバ10がアクセス可能な状態で記憶領域を備えていればよく、例えば専用の記憶領域をサーバ10の外部に有する構成とされていてもよい。サーバ10は、ビデオゲーム処理システム100の管理者等によって管理され、複数のユーザ端末20に対して各種処理に関する情報を提供するための各種機能を有する。サーバ10は、ゲーム画像をレンダリング可能なゲームサーバなどの情報処理装置によって構成される。
ユーザ端末20はユーザによって管理され、ネットワーク配信型のゲームを行うことが可能な通信端末によって構成される。ネットワーク配信型のゲームを行うことが可能な通信端末の例として、例えば携帯電話端末、PDA(Personal Digital Assistant)、携帯型ゲーム装置、VRゴーグル、ARグラス、スマートグラス、所謂ウェアラブルデバイスなどがある。ビデオゲーム処理システム100が含み得るユーザ端末の構成はこれらに限定されず、ユーザが合成画像を認識し得る構成であればよい。ユーザ端末の構成の他の例には、各種通信端末を組み合わせたものやパーソナルコンピュータ、据置型ゲーム装置がある。
ユーザ端末20は、通信ネットワーク30に接続し、サーバ10との通信を行うことにより各種処理を実行するためのハードウェア(例えば、座標に応じたブラウザ画面やゲーム画面を表示する表示装置など)およびソフトウェアを備える。なお、複数のユーザ端末20のそれぞれは、サーバ10を介さずに互いに直接通信を行うこともできる構成とされていてもよい。
ユーザ端末20には表示装置が内蔵されていてよい。また、ユーザ端末20に対して、表示装置が無線接続あるいは有線接続されていてもよい。なお、表示装置は極めて一般的な構成であるため、ここでは図示を省略している。ゲーム画面は例えば、前述の合成画像として表示装置によって表示され、ユーザがこの合成画像を認識する。ゲーム画面は例えば、ユーザ端末が備える表示装置の一例であるディスプレイや、ユーザ端末と接続された表示装置の一例であるディスプレイに表示される。表示装置には、例えば、ホログラム表示が可能なホログラムディスプレイ装置や、画像(ゲーム画面を含む)をスクリーン等に映写する映写装置なども含まれる。
ユーザ端末20は、プロセッサ21と、メモリ22と、記憶装置23とを備える。プロセッサ21は、例えば、各種の演算および制御を行うCPU(Central Processing Unit)等の中央処理装置である。また、ユーザ端末20がGPU(Graphics Processing Unit)を備える場合には、各種の演算および制御の一部をGPUによって行うようにしてもよい。ユーザ端末20は、メモリ22に読み出したデータを用いて各種の情報処理をプロセッサ21にて実行し、得られた処理結果を必要に応じて記憶装置23に記憶させる。記憶装置23は、各種情報を格納する記憶媒体としての機能を有する。
ユーザ端末20には入力装置が内蔵されていてよい。また、ユーザ端末20に対して入力装置が無線接続あるいは有線接続されていてもよい。入力装置はユーザによる操作入力を受け付ける。ユーザによる操作入力に応じて、サーバ10が備えるプロセッサまたはユーザ端末20が備えるプロセッサが、各種の制御処理を実行する。入力装置の例として、携帯電話端末が備えるタッチパネル画面、ARグラスに無線接続あるいは有線接続されたコントローラなどがある。また、ユーザ端末20が備えるカメラも入力装置に相当し得る。ユーザはカメラの前で手を動かす等のジェスチャーにより、操作入力を行う(ジェスチャー入力)。
その他、ユーザ端末20はスピーカ等の他の出力装置を備えていてよい。他の出力装置は、ユーザに対して音声やその他の各種の情報を出力する。
図2は、本発明の実施形態の少なくとも一つに対応するサーバの構成を示すブロック図である。サーバ10の構成の例であるサーバ10Aは、取得部101と、スタイルトランスファー部102と、出力部103とを少なくとも備える。サーバ10Aが備えるプロセッサは、記憶装置に保持されたスタイルトランスファープログラムを参照し、そのプログラムを実行することにより、取得部101と、スタイルトランスファー部102と、出力部103とを機能的に実現する。
取得部101は、レンダリングに用いられるバッファからバッファデータを取得する機能を有する。スタイルトランスファー部102は、バッファデータに対して、1以上のスタイル画像に基づいたスタイルトランスファーを適用する機能を有する。出力部103は、スタイルトランスファーが適用された後のデータを出力する機能を有する。
次に、本発明の第1の実施形態におけるプログラム実行処理について説明する。図3は、本発明の実施形態の少なくとも一つに対応するスタイルトランスファープログラム処理の例を示すフローチャートである。
取得部101は、レンダリングに用いられるバッファからバッファデータを取得する(St11)。スタイルトランスファー部102は、取得したバッファデータに対して、1以上のスタイル画像に基づいたスタイルトランスファーを適用する(St12)。出力部103は、スタイルトランスファーが適用された後のデータを出力する(St13)。
スタイルは、たとえば建築、美術、音楽などにおける様式または型などを意味する。スタイルは例えば、ゴッホ風やピカソ風などの画風を意味してもよい。スタイルは、画像の形式(例えば色、所定の模様、またはパターン等)を意味してもよい。
レンダリングに用いられるバッファとは、例えば3次元のCG画像をレンダリングする機能を有するレンダリングエンジンが用いるバッファなどを意味する。
スタイルトランスファー部102は、スタイルトランスファー用のニューラルネットワークを用いて良い。関連する技術として例えば、Vincent Dumoulin, et.al. 「A LEARNED REPRESENTATION FOR ARTISTIC STYLE」等がある。スタイルトランスファー部102がニューラルネットワークに所定のサイズの入力画像を入力することにより、スタイルトランスファーが適用された出力画像が得られる。
出力部103によるスタイルトランスファー適用後のデータの出力先は、取得部101がバッファデータを取得したバッファとは異なるバッファであってよい。より特定的には、前記取得部101がバッファデータを取得したバッファを第1バッファとした場合、スタイルトランスファーの適用後のデータの出力先は、第1バッファとは異なる第2バッファであってよい。第2バッファは、レンダリング処理において第1バッファの後に用いられるバッファであってもよい。
その他、出力部103によるスタイルトランスファーの適用後のデータの出力先は、サーバ10Aが備える出力装置であってよく、サーバ10Aから見た外部装置であってもよい。
第1の実施形態の一側面として、レンダリングに用いられるバッファ単位でスタイルトランスファーを適用することができる。これにより、ユーザに提供する画像による表現力を増大させることができる。
第1の実施形態の一側面として、取得部101およびスタイルトランスファー部102などを、上述のバッファの操作が可能なゲームエンジンに組み込むことにより、従来用いられていた写真などのデータよりもリッチな情報に基づいてスタイルトランスファーを行うことができる。例えば、ゲームエンジンがゲーム画面に表示させる特定のオブジェクトを認識して、特定のオブジェクトに対応するバッファに対してのみスタイルトランスファーを適用することができるようになる。
第1の実施形態の一側面として、バッファに対してスタイルトランスファーを適用する構成であれば、バッファ毎に適用するスタイルトランスファーの種類を適宜選択することができるので、多彩なCG表現が可能となる。例えば、第1バッファに対してはゴッホ風にスタイルを変換するスタイルトランスファーを適用し、第2バッファに対してはゴーギャン風にスタイルを変換するスタイルトランスファーを適用する、などの事が新たに可能になる。
第1の実施形態の一側面として、レンダリングに用いられるバッファに対してスタイルトランスファーを適用することにより、ゲーム画像のスタイルをリアルタイムに変化させることができる。
[第2の実施形態]
本発明の第2の実施形態の概要について説明をする。以下では、第2の実施形態として、サーバにおいて実行されるスタイルトランスファープログラムを例示して説明する。なお、サーバは、図1に記載のビデオゲーム処理システム100が備えるサーバ10であってよい。
図4は、本発明の実施形態の少なくとも一つに対応するサーバの構成を示すブロック図である。サーバ10の構成の例であるサーバ10Bは、取得部101Bと、スタイルトランスファー部102と、出力部103とを少なくとも備える。サーバ10Bが備えるプロセッサは、記憶装置に保持されたスタイルトランスファープログラムを参照し、そのプログラムを実行することにより、取得部101Bと、スタイルトランスファー部102と、出力部103とを機能的に実現する。
取得部101Bは、レンダリングに用いられる3Dバッファからバッファデータを取得する機能を有する。スタイルトランスファー部102は、バッファデータに対して、1以上のスタイル画像に基づいたスタイルトランスファーを適用する機能を有する。出力部103は、スタイルトランスファーが適用された後のデータを出力する機能を有する。
次に、本発明の第2の実施形態におけるプログラム実行処理について説明する。図5は、本発明の実施形態の少なくとも一つに対応するスタイルトランスファープログラム処理の例を示すフローチャートである。
取得部101Bは、レンダリングに用いられる3Dバッファからバッファデータを取得する(St21)。スタイルトランスファー部102は、取得したバッファデータに対して、1以上のスタイル画像に基づいたスタイルトランスファーを適用する(St22)。出力部103は、スタイルトランスファーが適用された後のデータを出力する(St23)。
スタイルは、たとえば建築、美術、音楽などにおける様式または型などを意味する。スタイルは例えば、ゴッホ風やピカソ風などの画風を意味してもよい。スタイルは、画像の形式(例えば色、所定の模様、またはパターン等)を意味してもよい。
レンダリングに用いられる3Dバッファとは、例えば3次元空間を表現可能なデータを格納するバッファを意味する。
スタイルトランスファー部102および出力部103については、第1の実施形態と同様であるため、詳しい説明を省略する。
第2の実施形態の一側面として、レンダリングに用いられる3Dバッファに対してスタイルトランスファーを適用することができる。これにより、ユーザに対して表示される3DCGのマップ全体のスタイルを、ゲームにおける各種の条件などに基づいて変換することができる。
[第3の実施形態]
本発明の第3の実施形態の概要について説明をする。以下では、第3の実施形態として、サーバにおいて実行されるスタイルトランスファープログラムを例示して説明する。
図6は、本発明の実施形態の少なくとも一つに対応するサーバの構成を示すブロック図である。サーバ10の構成の例であるサーバ10Cは、取得部101Cと、スタイルトランスファー部102と、出力部103とを少なくとも備える。サーバ10Cが備えるプロセッサは、記憶装置に保持されたスタイルトランスファープログラムを参照し、そのプログラムを実行することにより、取得部101Cと、スタイルトランスファー部102と、出力部103とを機能的に実現する。
取得部101Cは、レンダリングに用いられる中間バッファからバッファデータを取得する機能を有する。スタイルトランスファー部102は、取得したバッファデータに対して、1以上のスタイル画像に基づいたスタイルトランスファーを適用する機能を有する。出力部103は、スタイルトランスファーが適用された後のデータを出力する機能を有する。
次に、本発明の第3の実施形態におけるプログラム実行処理について説明する。図7は、本発明の実施形態の少なくとも一つに対応するスタイルトランスファープログラム処理の例を示すフローチャートである。
取得部101Cは、レンダリングに用いられる中間バッファからバッファデータを取得する(St31)。スタイルトランスファー部102は、取得したバッファデータに対して、1以上のスタイル画像に基づいたスタイルトランスファーを適用する(St32)。出力部103は、スタイルトランスファーが適用された後のデータを出力する(St33)。
スタイルは、たとえば建築、美術、音楽などにおける様式または型などを意味する。スタイルは例えば、ゴッホ風やピカソ風などの画風を意味してもよい。スタイルは、画像の形式(例えば色、所定の模様、またはパターン等)を意味してもよい。
レンダリングに用いられる中間バッファとは、レンダリング処理の途中で用いられるバッファである。中間バッファの一例として、RGBバッファ、BaseColorバッファ、Metallicバッファ、Specularバッファ、Roughnessバッファ、Normalバッファなどがある。これらのバッファは、最終的に出力されるCG画像が格納される最終バッファより前に配置されたバッファであり、最終バッファとは異なるバッファである。レンダリングに用いられる中間バッファは、列挙された前述のバッファには限られない。
スタイルトランスファー部102および出力部103については、第1の実施形態と同様であるため、詳しい説明を省略する。
第3の実施形態の一側面として、レンダリングに用いられる中間バッファに格納されたデータに対してスタイルトランスファーを適用することにより、スタイルトランスファーが適用されたデータを、中間バッファの出力として得ることができる。カラー情報や、光の反射情報などの各種の観点で切り出された、レンダリングの途中段階における一部のデータに対してスタイルトランスファーを適用することができるので、きめ細やかなスタイル変換やスタイル制御を行うことができるようになる。また、スタイトランスファーが適用されたデータを用いて最終画像を生成することにより、ユーザに提供する最終画像による表現力をさらに増大させることができる。
[第4の実施形態]
本発明の第4の実施形態の概要について説明をする。以下では、第4の実施形態として、サーバにおいて実行されるスタイルトランスファープログラムを例示して説明する。
図8は、本発明の実施形態の少なくとも一つに対応するサーバの構成を示すブロック図である。サーバ10の構成の例であるサーバ10Dは、取得部101と、スタイルトランスファー部102Dと、出力部103とを少なくとも備える。サーバ10Dが備えるプロセッサは、記憶装置に保持されたスタイルトランスファープログラムを参照し、そのプログラムを実行することにより、取得部101と、スタイルトランスファー部102Dと、出力部103とを機能的に実現する。
取得部101は、レンダリングに用いられるバッファからバッファデータを取得する機能を有する。スタイルトランスファー部102Dは、取得したバッファデータに対して、複数のスタイル画像に基づいたスタイルトランスファーを適用する機能を有する。スタイルトランスファーの適用は、ニューラルネットワークの所定の層において複数のスタイル画像に基づくパラメータを混入し、かつ、複数のスタイル画像に基づいて定義された最適化関数に基づいて最適化処理を行って得られた学習済みのニューラルネットワークに、前記バッファデータを入力することにより行われる。出力部103は、スタイルトランスファーが適用された後のデータを出力する機能を有する。
次に、本発明の第4の実施形態におけるプログラム実行処理について説明する。図9は、本発明の実施形態の少なくとも一つに対応するスタイルトランスファープログラム処理の例を示すフローチャートである。
取得部101は、レンダリングに用いられるバッファからバッファデータを取得する(St41)。スタイルトランスファー部102Dは、取得したバッファデータに対して、複数のスタイル画像に基づいたスタイルトランスファーを適用する(St42)。出力部103は、スタイルトランスファーが適用された後のデータを出力する(St43)。
スタイルは、たとえば建築、美術、音楽などにおける様式または型などを意味する。スタイルは例えば、ゴッホ風やピカソ風などの画風を意味してもよい。スタイルは、画像の形式(例えば色、所定の模様、またはパターン等)を意味してもよい。
レンダリングに用いられるバッファは、第1~第3の実施形態において説明したバッファのうちいずれかであってよい。
スタイルトランスファー部102Dは、取得したバッファデータに対して、複数のスタイル画像に基づいたスタイルトランスファーを適用する機能を有する。スタイルトランスファー部102Dは、複数のスタイルをブレンドしたスタイルトランスファーを行う。
スタイルトランスファー部102Dは、スタイルトランスファー用のニューラルネットワークを用いて良い。関連する技術として例えば、Vincent Dumoulin, et.al. 「A LEARNED REPRESENTATION FOR ARTISTIC STYLE」等がある。
第4の実施形態においては、複数のスタイルをブレンドして適用する。そのために、学習時のニューラルネットワークの所定の層において複数のスタイル画像に基づくパラメータを混入する。所定の層は、例えばアフィン層(全結合層)であってよい。
第4の実施形態においてはさらに、複数のスタイル画像に基づいて定義された最適化関数に基づいて、ニューラルネットワークについて最適化処理を行う。この最適化処理によって、複数のスタイル画像により適合した、学習済みのニューラルネットワークが得られる。
スタイルトランスファー部102Dが、学習済みのニューラルネットワークに所定のサイズの入力画像を入力することにより、スタイルトランスファーが適用された出力画像が得られる。第4の実施形態において、入力画像は上述のバッファデータに対応する。
出力部103については、第1の実施形態と同様であるため、詳しい説明を省略する。
第4の実施形態の一側面として、ニューラルネットワークの所定の層において複数のスタイル画像に基づくパラメータを混入するだけでなく、複数のスタイル画像に基づいて定義された最適化関数に基づいて最適化処理が行われる。これにより、この最適化処理によって得られた学習済みのニューラルナットワークを用いて、複数のスタイル画像がきれいにブレンドされたスタイルトランスファーを実現することができる。
[第5の実施形態]
本発明の第5の実施形態の概要について説明をする。以下では、第5の実施形態として、サーバにおいて実行されるスタイルトランスファープログラムを例示して説明する。
図10は、本発明の実施形態の少なくとも一つに対応するサーバの構成を示すブロック図である。サーバ10の構成の例であるサーバ10Yは、取得部101Yと、スタイルトランスファー部102Yと、出力部103Yと、スタイル画像選択部104Yとを少なくとも備える。サーバ10Yが備えるプロセッサは、記憶装置に保持されたスタイルトランスファープログラムを参照し、そのプログラムを実行することにより、取得部101Yと、スタイルトランスファー部102Yと、出力部103Yと、スタイル画像選択部104Yとを機能的に実現する。
取得部101Yは、レンダリングに用いられるバッファからバッファデータを取得する機能を有する。スタイルトランスファー部102Yは、取得したバッファデータに対して、1以上のスタイル画像に基づいたスタイルトランスファーを適用する機能を有する。出力部103Yは、スタイルトランスファーが適用された後のデータを出力する機能を有する。スタイル画像選択部104Yは、所定の条件に基づいて、前記1以上のスタイル画像を選択する機能を有する。
次に、本発明の第5の実施形態におけるプログラム実行処理について説明する。図11は、本発明の実施形態の少なくとも一つに対応するスタイルトランスファープログラム処理の例を示すフローチャートである。
スタイル画像選択部104Yは、所定の条件に基づいて、1以上のスタイル画像を選択する(St51)。取得部101Yは、レンダリングに用いられるバッファからバッファデータを取得する(St52)。スタイルトランスファー部102Yは、取得したバッファデータに対して、ステップSt51において選択された1以上のスタイル画像に基づいたスタイルトランスファーを適用する(St53)。出力部103Yは、スタイルトランスファーが適用された後のデータを出力する(St54)。
所定の条件は、サーバ10Yが進行を制御しているビデオゲームにおける各種の条件であってよい。所定の条件として、例えば進行中のビデオゲームに登場するキャラクタの感情、該キャラクタが用いた技や魔法の種類、バフやデバフ、レベルアップ等の該キャラクタの状態変化などが挙げられる。なお、キャラクタはプレイヤーキャラクタ(PC)であってもよく、ノンプレイヤ―キャラクタ(NPC)であってもよい。キャラクタは味方キャラクタであっても敵キャラクタであってもよい。
所定の条件は、進行中のビデオゲームにおけるキャラクタ以外のオブジェクトに係る条件であってもよい。オブジェクトの例としては、ビデオゲームのマップに配置された建物や生物、ビデオゲームの進行中に登場したアイテム等が挙げられる。所定の条件は、オブジェクトが登場したか否か、オブジェクトが何回登場したか、オブジェクトが破壊されるなどしてマップから消失したか否か、など、種々のものが考えられる。
所定の条件は、進行中のビデオゲームにおけるメタ情報またはシステム情報に係る条件であってもよい。進行中のビデオゲームにおけるメタ情報に係る条件の一例としては、プレイヤーキャラクタが居るゲーム内の舞台の変更(例えば未来都市への舞台移動)などがある。進行中のビデオゲームにおけるシステム情報に係る条件の一例としては、ユーザによるビデオゲームのプレイ時間などがある。
所定の条件は上記のものには限られず、その他の種々の条件であってよい。
スタイルは、たとえば建築、美術、音楽などにおける様式または型などを意味する。スタイルは例えば、ゴッホ風やピカソ風などの画風を意味してもよい。スタイルは、画像の形式(例えば色、所定の模様、またはパターン等)を意味してもよい。
レンダリングに用いられるバッファとは、例えば3次元のCG画像をレンダリングする機能を有するレンダリングエンジンが用いるバッファなどを意味する。
レンダリングに用いられるバッファは3Dバッファであってよい。レンダリングに用いられる3Dバッファとは、例えば3次元空間を表現可能なデータを格納するバッファを意味する。
レンダリングに用いられるバッファは中間バッファであってもよい。レンダリングに用いられる中間バッファとは、レンダリング処理の途中で用いられるバッファである。中間バッファの一例として、RGBバッファ、BaseColorバッファ、Metallicバッファ、Specularバッファ、Roughnessバッファ、Normalバッファなどがある。これらのバッファは、最終的に出力されるCG画像が格納される最終バッファより前に配置されたバッファであり、最終バッファとは異なるバッファである。レンダリングに用いられる中間バッファは、列挙された前述のバッファには限られない。
スタイルトランスファー部102Yは、スタイルトランスファー用のニューラルネットワークを用いて良い。関連する技術として例えば、Vincent Dumoulin, et.al. 「A LEARNED REPRESENTATION FOR ARTISTIC STYLE」等がある。スタイルトランスファー部102Yがニューラルネットワークに所定のサイズの入力画像を入力することにより、スタイルトランスファーが適用された出力画像が得られる。
図12は、本発明の実施形態の少なくとも一つに対応する、スタイルトランスファーに用いられるニューラルネットワークN1の構造例を示す概念図である。ニューラルネットワークN1は、入力画像に基づくピクセル群を潜在(Latent)パラメータに変換する第1変換層と、畳み込み(Convolution)等によりダウンサンプリングを行う1以上の層と、複数の残差ブロック(Residual Blocks)層と、アップサンプリングを行う層と、潜在(Latent)パラメータをピクセル群に変換する第2変換層とを含む。なお、第2変換層の出力であるピクセル群に基づいて出力画像が得られる。
ニューラルネットワークN1の第1変換層とダウンサンプリングを行う層との間や、ダウンサンプリングを行う層に含まれる複数の畳み込み層同士の間等に、全結合層が配置される。全結合層は、アフィン層(Affine layer)とも呼ばれている。
スタイルトランスファー部102Yは、取得部101Yが取得したバッファデータを、ニューラルネットワークN1の第1変換層に入力する。これにより、スタイルトランスファー適用後のデータがニューラルネットワークN1の第2変換層から出力される。
出力部103Yによるスタイルトランスファー適用後のデータの出力先は、取得部101Yがバッファデータを取得したバッファとは異なるバッファであってよい。より特定的には、取得部101Yがバッファデータを取得したバッファを第1バッファとした場合、スタイルトランスファー適用後のデータの出力先は、第1バッファとは異なる第2バッファであってよい。第2バッファは、レンダリング処理において第1バッファの後に用いられるバッファであってもよい。
その他、出力部103Yによるスタイルトランスファー適用後のデータの出力先は、サーバ10Yが備える出力装置であってよく、サーバ10Yから見た外部装置であってもよい。
第5の実施形態の一側面として、レンダリングに用いられるバッファ単位でスタイルトランスファーを適用することができる。これにより、ユーザに提供する画像による表現力を増大させることができる。
第5の実施形態の一側面として、取得部101Yおよびスタイルトランスファー部102Yなどを、上述のバッファの操作が可能なゲームエンジンに組み込むことにより、従来用いられていた写真などのデータよりもリッチな情報に基づいてスタイルトランスファーを行うことができる。例えば、ゲームエンジンがゲーム画面に表示される特定のオブジェクトを認識して、特定のオブジェクトに対応するバッファに対してのみスタイルトランスファーを適用することができるようになる。
第5の実施形態の一側面として、バッファに対してスタイルトランスファーを適用する構成であれば、バッファ毎に適用するスタイルトランスファーの種類を適宜選択することができるので、多彩なCG表現が可能となる。例えば、第1バッファに対してはゴッホ風にスタイルを変換するスタイルトランスファーを適用し、第2バッファに対してはゴーギャン風にスタイルを変換するスタイルトランスファーを適用する、などの事が新たに可能になる。
第5の実施形態の一側面として、レンダリングに用いられるバッファに対してスタイルトランスファーを適用することにより、ゲーム画像のスタイルをリアルタイムに変化させることができる。
第5の実施形態の一側面として、レンダリングに用いられる3Dバッファに対してスタイルトランスファーを適用することができる。これにより、ユーザに対して表示される3DCGのマップ全体のスタイルを、ゲームにおける各種の条件などに基づいて変換することができる。
第5の実施形態の一側面として、レンダリングに用いられる中間バッファに格納されたデータに対してスタイルトランスファーを適用することにより、スタイルトランスファーが適用されたデータを、中間バッファの出力として得ることができる。カラー情報や、光の反射情報などの各種の観点で切り出された、レンダリングの途中段階における一部のデータに対してスタイルトランスファーを適用することができるので、きめ細やかなスタイル変換やスタイル制御を行うことができるようになる。また、スタイトランスファーが適用されたデータを用いて最終画像を生成することにより、ユーザに提供する最終画像による表現力をさらに増大させることができる。
第5の実施形態の一側面として、進行中のビデオゲーム等に係る種々の条件に応じて、上述のバッファに対して異なるスタイルトランスファーを適用することができる。例えば、バッファが、ビデオゲームに登場するオブジェクトに対応するバッファである場合は、オブジェクト毎に異なるスタイルトランスファーを適用することができる。バッファが3Dバッファである場合は、例えばゲームに登場するキャラクタの感情(笑い、泣き、怒り等)に基づいて、マップ全体のタッチを変えることができる。キャラクタがゲーム中で用いた技や魔法の種類に基づいてマップ全体のタッチを変えることもできる。キャラクタの状態変化に基づいてマップ全体のタッチを変えても良い。バッファが中間バッファである場合は、キャラクタの感情、魔法の種類、状態変化等に基づいて、中間バッファが司る色(BaseColorバッファ)、表面をメタル状にするか否か(Metallicバッファ)、光の反射度合(Specularバッファ)、粗さ(Roughnessバッファ)などを、対象のスタイル画像に基づいて個別に変換することができるようになる。
[第6の実施形態]
本発明の第6の実施形態の概要について説明をする。以下では、第6の実施形態として、サーバにおいて実行されるスタイルトランスファープログラムを例示して説明する。
図13は、本発明の実施形態の少なくとも一つに対応するサーバの構成を示すブロック図である。サーバ10の構成の例であるサーバ10Zは、取得部101Zと、スタイルトランスファー部102Zと、出力部103Zとを少なくとも備える。サーバ10Zが備えるプロセッサは、記憶装置に保持されたスタイルトランスファープログラムを参照し、そのプログラムを実行することにより、取得部101Zと、スタイルトランスファー部102Zと、出力部103Zとを機能的に実現する。
取得部101Zは、レンダリングに用いられるバッファからバッファデータを取得する機能を有する。スタイルトランスファー部102Zは、バッファデータに対して、複数のスタイル画像に基づいたスタイルトランスファーを適用する機能を有する。出力部103Zは、スタイルトランスファーが適用された後のデータを出力する機能を有する。
次に、本発明の第6の実施形態におけるプログラム実行処理について説明する。図14は、本発明の実施形態の少なくとも一つに対応するスタイルトランスファープログラム処理の例を示すフローチャートである。
取得部101Zは、レンダリングに用いられるバッファからバッファデータを取得する(St61)。スタイルトランスファー部102Zは、取得したバッファデータに対して、複数のスタイル画像に基づいたスタイルトランスファーを適用する(St62)。出力部103Zは、スタイルトランスファーが適用された後のデータを出力する(St63)。
スタイルは、たとえば建築、美術、音楽などにおける様式または型などを意味する。スタイルは例えば、ゴッホ風やピカソ風などの画風を意味してもよい。スタイルは、画像の形式(例えば色、所定の模様、またはパターン等)を意味してもよい。
レンダリングに用いられるバッファとは、例えば3次元のCG画像をレンダリングする機能を有するレンダリングエンジンが用いるバッファなどを意味する。
レンダリングに用いられるバッファは3Dバッファであってよい。レンダリングに用いられる3Dバッファとは、例えば3次元空間を表現可能なデータを格納するバッファを意味する。
レンダリングに用いられるバッファは中間バッファであってもよい。レンダリングに用いられる中間バッファとは、レンダリング処理の途中で用いられるバッファである。中間バッファの一例として、RGBバッファ、BaseColorバッファ、Metallicバッファ、Specularバッファ、Roughnessバッファ、Normalバッファなどがある。これらのバッファは、最終的に出力されるCG画像が格納される最終バッファより前に配置されたバッファであり、最終バッファとは異なるバッファである。レンダリングに用いられる中間バッファは、列挙された前述のバッファには限られない。
なお、取得部101Zは、レンダリングに用いられるバッファ以外の場所から、スタイルトランスファーを適用する対象となるデータを取得してもよい。例えば取得部101Zは、メモリ12や、サーバ10Zからみた外部装置などから、スタイルトランスファーを適用する対象となるデータを取得してもよい。取得されるデータは、典型的には画像データであるが、それ以外の種類のデータ(例えば音声データ等)であってもよい。
スタイルトランスファー部102Zによるスタイルトランスファーの適用(ステップSt62)は、ニューラルネットワークの所定の層において複数のスタイル画像に基づくパラメータを混入し、かつ、前記複数のスタイル画像に基づいて定義された最適化関数に基づいて最適化処理を行って得られた学習済みのニューラルネットワークに、バッファデータを入力することにより行われる。以下、学習済みのニューラルネットワークについて説明する。
図15は、本発明の実施形態の少なくとも一つに対応する、スタイルトランスファーに用いられるニューラルネットワークN2の構造例を示す概念図である。ニューラルネットワークN2は、入力画像に基づくピクセル群を潜在(Latent)パラメータに変換する第1変換層と、畳み込み(Convolution)等によりダウンサンプリングを行う1以上の層と、複数の残差ブロック(Residual Blocks)層と、アップサンプリングを行う層と、潜在(Latent)パラメータをピクセル群に変換する第2変換層とを含む。なお、第2変換層の出力であるピクセル群に基づいて出力画像が得られる。
ニューラルネットワークN2の第1変換層とダウンサンプリングを行う層との間や、ダウンサンプリングを行う層に含まれる複数の畳み込み層同士の間等には全結合層が配置される。全結合層は、アフィン層(Affine layer)とも呼ばれている。
ニューラルネットワークN2のアフィン層A1には、複数のスタイル画像に基づくパラメータが混入される。より具体的には、以下の通りである。
ニューラルネットワークN2のアフィン層A1は、アフィン変換のパラメータをaおよびbとし、画像のピクセルの潜在(Latent)変数をxとした場合、畳み込み層の出力の潜在変数xを、x*a+bに変換する処理を行う層である。
ここで、任意のスタイル1とスタイル2とをブレンドする場合、スタイルトランスファー部102Zによる制御の下で、アフィン層A1で行われる処理は以下の通りである。スタイル1に係るスタイル画像から導出されたアフィン変換パラメータをaおよびbとする。スタイル2に係るスタイル画像から導出されたアフィン変換パラメータをaおよびbとする。このとき、スタイル1とスタイル2とをブレンドする場合のアフィン変換パラメータはa=(a+a)/2と、b=(b+b)/2とになる。そして、アフィン層A1においてx*a+bを計算することにより、スタイル1とスタイル2のブレンドを行うことができる。なお、前記はスタイル1とスタイル2とを均等に(それぞれ50%ずつ)ブレンドする場合の計算式を示している。当業者の通常の知識に基づいて、スタイル1が80%、スタイル2が20%などのように、各スタイルに基づく影響度がそれぞれ異なる割合となるように重みづけを行った上でブレンドしてもよい。
ブレンドするスタイルの数は3以上であってもよい。nが3以上の自然数である場合に、n個のスタイルをブレンドする場合のアフィン変換パラメータは、例えばa=(a+a……+a)/nと、b=(b+b……+b)/nとであってよい。各スタイルに基づく影響度がそれぞれ異なる割合となるように重みづけを行った上でブレンドしてもよい点については、前述のスタイルの数が2の場合と同様である。
サーバ10Zのメモリ12等には、複数のスタイルについての変換パラメータaおよびb(kは1からnまでの間の任意の自然数)が保存されていてよい。また、複数のスタイルについての変換パラメータは、例えば(a,a,……,a)および(b,b,……,b)等のように、ベクトル形式でメモリ12や記憶装置13等に保存されていてもよい。各スタイルに基づく影響度がそれぞれ異なる割合となるように重みづけを行う場合は、各スタイルに応じた重みを示す値がメモリ12や記憶装置13等に保存されていてもよい。
次に、ニューラルネットワークN2について機械学習を行うための最適化関数について説明する。最適化関数は損失関数とも呼ばれることがある。ニューラルネットワークN2に対して、複数のスタイル画像に基づいて定義された最適化関数に基づいて最適化処理を行うことにより、学習済みのニューラルネットワークN2が得られる。なお、説明の便宜上、学習前後のそれぞれのニューラルネットワークについて、同じ参照符号であるN2が用いられている。
例えば、上述の関連する技術においては、以下のように定義された最適化関数が用いられている。
スタイル最適化関数:
Figure 0007692283000001
コンテンツ最適化関数:
Figure 0007692283000002
上述の最適化関数において、pは生成された画像を示す。生成された画像は、機械学習に用いられるニューラルネットワークの出力画像に相当する。s(小文字のs)は例えば抽象絵画などのスタイル画像を示す。Uは第iレイヤのユニットの総数を示す。Uは第jレイヤのユニットの総数を示す。Gはグラムマトリクス(Gram matrix)を示す。φはVGG-16アーキテクチャの第i番目の活性化関数の出力を示す。S(大文字のS)はスタイルの最適化を計算するためのVGG-16のレイヤ群を示す。c(小文字のc)はコンテンツ画像を示す。C(大文字のC)はコンテンツ最適化関数を計算するためのVGG-16のレイヤ群であり、jは当該レイヤ群に含まれるレイヤのインデックスである。絶対値記号に付加されたFはフロベニウスノルムを意味する。
上述のスタイル最適化関数およびコンテンツ最適化関数によって定義された最適化関数の値を最小化するようにニューラルネットワークに対して機械学習を行い、学習後のニューラルネットワークに入力画像を入力することにより、スタイル画像が示すスタイルに近づくように変換がなされた出力画像がニューラルネットワークから出力される。
ここで、上記のような最適化関数を用いた最適化処理では、複数のスタイルをブレンドしてスタイルトランスファーを行う場合に、ブレンドの結果は改良の余地があるものとなった。
そこで、本発明の第6の実施形態においては、複数のスタイル画像に基づいて定義された最適化関数に基づいて最適化処理を行う。これにより、複数のスタイル画像に基づいた最適化を行うことができる。その結果、入力画像に対して複数のスタイルがきれいにブレンドされた出力画像を得ることができる。
より具体的には、最適化処理は、複数のスタイル画像から選ばれた任意の二つのスタイル画像に基づいて定義された第1の最適化関数を用いて最適化処理を行う、第1の最適化処理と、前記複数のスタイル画像における一つのスタイル画像に基づいて定義された第2の最適化関数を用いて最適化処理を行う、第2の最適化処理とを含んでいてよい。これにより、ブレンドしたいスタイルの数が3以上である場合に、好適な最適化を行う事ができる。その結果、入力画像に対して複数のスタイルがよりきれいにブレンドされた出力画像を得ることができる。
次に、第1の最適化関数および第2の最適化関数について説明する。第6の実施形態の一側面として、第1の最適化関数は以下の式(1)で定義されてよい。
Figure 0007692283000003
第6の実施形態の一側面として、第2の最適化関数は以下の式(2)で定義されてよい。
Figure 0007692283000004
上記の式において、
Figure 0007692283000005
は複数のスタイル画像からなるスタイル画像群であり、qおよびrはスタイル画像群に含まれる任意のスタイル画像を示す。ただし、qとrは互いに異なるスタイル画像である。Ni,rはφ特徴マップの行数である。Ni,cはφ特徴マップの列数である。p、s(小文字のs)、G、φ、S、c(小文字のc)、およびFについては、上述の関連する技術におけるものと同様である。
上記の第1の最適化関数は、生成された画像をpとし、複数のスタイル画像から選ばれた任意の二つのスタイル画像をqおよびrとしたときに、画像pに所定の演算を行って得られた値と、スタイル画像qおよびrにそれぞれ前記所定の演算を行って得られた値の平均値と、の間のノルムを合算する関数である。上記の式(1)は、所定の演算が、
Figure 0007692283000006
である場合を示している。所定の演算は、上記以外の演算であってもよい。
上記の第2の最適化関数は、生成された画像をpとし、スタイル画像をsとしたときに、画像pに所定の演算を行って得られた値と、スタイル画像sに前記所定の演算を行って得られた値との間のノルムを合算する関数である。上記の式(2)は、所定の演算が、
Figure 0007692283000007
である場合を示している。所定の演算は、上記以外の演算であってもよい。
次に、上述の第1の最適化関数および第2の最適化関数を用いた最適化処理の例について説明する。
図16は、本発明の実施形態の少なくとも一つに対応する最適化処理の処理例を示すフローチャートである。ここでは、第1の最適化関数が上記の式(1)で定義される関数であり、第2の最適化関数が上記の式(2)で定義される関数である場合の処理例について説明する。
最適化処理の処理主体は、装置が備えるプロセッサである。プロセッサを備えた装置(以下、装置A)は上述のサーバ10Zであってよい。この場合、図1に示したプロセッサ11が処理主体となる。プロセッサを備えた装置Aは、サーバ10Z以外の他の装置(例えば、ユーザ端末20や他のサーバ等)であってもよい。
ブレンドされるスタイルの数をnとする。プロセッサは、スタイル画像群に含まれるn個のスタイル画像の中から、任意の二つのスタイル画像qおよびrを選択する(St71)。
プロセッサは、選択されたスタイル画像qおよびrについての第1の最適化関数の値を最小化するように最適化を行う(St72)。なお、生成された画像pについては、プロセッサがニューラルネットワークの出力画像を画像pとして取得する。ニューラルネットワークは、装置Aに実装されていてもよく、装置A以外の他の装置に実装されていてもよい。
プロセッサは、通りの全パターンにつき最適化を行ったか否かを判定する(St73)。すなわちプロセッサは、n個のスタイル画像の中から任意の二つのスタイル画像qおよびrを選択することについて、全てのパターンを処理済みであるか否かを判定する。通りの全パターンにつき最適化を行った場合(St73:YES)、ステップSt74へと処理が遷移する。通りの全パターンにつき最適化を行っていない場合(St73:NO)、ステップSt71へと処理が戻り、プロセッサが次の二つのスタイル画像qおよびrの組み合わせを選択する。
プロセッサは、スタイル画像群に含まれるn個のスタイル画像の中から、一つのスタイル画像sを選択する(St74)。
プロセッサは、選択されたスタイル画像sについての第2の最適化関数の値を最小化するように最適化を行う(St75)。なお、生成された画像pについては、プロセッサがニューラルネットワークの出力画像を画像pとして取得する。ニューラルネットワークは、装置Aに実装されていてもよく、装置A以外の他の装置に実装されていてもよい。
プロセッサは、通りの全パターンにつき最適化を行ったか否かを判定する(St76)。すなわちプロセッサは、n個のスタイル画像の中から任意のスタイル画像sを選択することについて、全てのパターンを処理済みであるか否かを判定する。通りの全パターンにつき最適化を行った場合(St76:YES)、図16に示した最適化処理は終了する。通りの全パターンにつき最適化を行っていない場合(St76:NO)、ステップSt74へと処理が戻り、プロセッサが次の一つのスタイル画像sを選択する。
スタイルトランスファー部102Zは、例えば上記のようにして最適化が行われた学習済みのニューラルネットワークN2の第1変換層に、取得部101Zが取得したバッファデータを入力する。これにより、n個のスタイル画像がきれいにブレンドされたスタイルトランスファーの適用後のデータがニューラルネットワークN2の第2変換層から出力される。
関連する技術における最適化処理に基づいて出力された画像データの場合、複数のスタイルのブレンド結果がぶれて、色が平均化されるだけであった。一方、本発明の第6の実施形態に係る上記の最適化処理に基づいて出力された出力画像の場合、色とパターンがきれいにブレンドされる。
出力部103Zによるスタイルトランスファー適用後のデータの出力先は、取得部101Zがバッファデータを取得したバッファとは異なるバッファであってよい。より特定的には、前記取得部101がバッファデータを取得したバッファを第1バッファとした場合、スタイルトランスファーの適用後のデータの出力先は、第1バッファとは異なる第2バッファであってよい。第2バッファは、レンダリング処理において第1バッファの後に用いられるバッファであってもよい。
その他、出力部103Zによるスタイルトランスファーの適用後のデータの出力先は、サーバ10Zが備える出力装置であってよく、サーバ10Zから見た外部装置であってもよい。
第6の実施形態の一側面として、複数のスタイル画像に基づいたスタイルトランスファーにおいて、複数のスタイル画像に基づいて定義された最適化関数に基づいて最適化処理を行うことにより、出力画像におけるスタイルのブレンドについての品質を向上させることができる。
第6の実施形態の一側面として、任意の二つのスタイル画像についての最適化を行ってから、各スタイル画像について最適化を行うことにより、出力画像におけるスタイルのブレンドについての品質をさらに向上させることができる。
第6の実施形態の一側面として、二つのスタイル画像に由来するそれぞれの値の平均を取ってから、生成された画像との間のノルムを計算することにより、二つのスタイル画像に対してバランス良く最適化を行うことができる。
第6の実施形態の一側面として、第1の最適化関数が上述の式(1)で定義される関数であることにより、複数のスタイル画像に応じて色とパターンがきれいにブレンドされた出力画像を得ることができる。
第6の実施形態の一側面として、二つのスタイル画像を選択して最適化を行った後に、各スタイル画像についての最適化も行う事により、各スタイル画像のそれぞれに対してもバランス良く最適化を行うことができる。
第6の実施形態の一側面として、第2の最適化関数が上述の式(2)で定義される関数であることにより、各スタイル画像に応じて色とパターンがきれいにブレンドされた出力画像を得ることができる。
以上に説明したように、本願の各実施形態により1または2以上の不足が解決される。なお、夫々の実施形態による効果は、非限定的な効果または効果の一例である。
上述した各実施形態では、ユーザ端末20およびサーバ10は、自己が備える記憶装置に記憶されている各種制御プログラム(例えば、スタイルトランスファープログラム)に従って、上述した各種の処理を実行する。また、ユーザ端末20やサーバ10に限られない他のコンピュータが、自己が備える記憶装置に記憶されている各種制御プログラム(例えば、スタイルトランスファープログラム)に従って、上述した各種の処理を実行してもよい。
また、ビデオゲーム処理システム100の構成は、上述した各実施形態の例として説明した構成に限定されない。例えばユーザ端末が実行する処理として説明した処理の一部または全部をサーバ10が実行する構成としてもよいし、サーバ10が実行する処理として説明した処理の一部または全部をユーザ端末20が実行する構成としてもよい。また、サーバ10が備える記憶部(記憶装置)の一部または全部をユーザ端末20が備える構成としてもよい。すなわち、ビデオゲーム処理システム100における、ユーザ端末とサーバのどちらか一方が備える機能の一部または全部を、他の一方が備える構成とされていてもよい。
また、プログラムが、上述した各実施形態の例として説明した機能の一部または全部を、通信ネットワークを含まない装置単体に実現させる構成としてもよい。
[付記]
上述した実施形態の説明は、少なくとも下記発明を、当該発明の属する分野における通常の知識を有する者がその実施をすることができるように記載した。
[1]
サーバに、
レンダリングに用いられるバッファからバッファデータを取得する取得機能と、
前記バッファデータに対して、1以上のスタイル画像に基づいたスタイルトランスファーを適用する、スタイルトランスファー機能と、
スタイルトランスファーが適用された後のデータを出力する出力機能と、
を実現させるためのスタイルトランスファープログラム。
[2]
前記バッファは3Dバッファである、
[1]に記載のスタイルトランスファープログラム。
[3]
前記バッファは中間バッファである、
[1]に記載のスタイルトランスファープログラム。
[4]
前記サーバに、
所定の条件に基づいて、前記1以上のスタイル画像を選択する、スタイル画像選択機能を
実現させるための[1]から[3]のうちいずれか一項に記載のスタイルトランスファープログラム。
[5]
前記スタイルトランスファー機能では、前記バッファデータに対して、複数のスタイル画像に基づいたスタイルトランスファーを適用する機能を実現させ、
前記スタイルトランスファーの適用は、ニューラルネットワークの所定の層において複数のスタイル画像に基づくパラメータを混入し、かつ、前記複数のスタイル画像に基づいて定義された最適化関数に基づいて最適化処理を行って得られた学習済みのニューラルネットワークに、前記バッファデータを入力することにより行われる、
[1]から[4]のうちいずれか一項に記載のスタイルトランスファープログラム。
[6]
前記最適化処理は、前記複数のスタイル画像から選ばれた任意の二つのスタイル画像に基づいて定義された第1の最適化関数を用いて最適化処理を行う、第1の最適化処理と、
前記複数のスタイル画像おける一つのスタイル画像に基づいて定義された第2の最適化関数を用いて最適化処理を行う、第2の最適化処理とを含む、
[5]に記載のスタイルトランスファープログラム。
[7]
前記第1の最適化関数が、
生成された画像をpとし、前記複数のスタイル画像から選ばれた任意の二つのスタイル画像をqおよびrとしたときに、画像pに所定の演算を行って得られた値と、スタイル画像qおよびrにそれぞれ前記所定の演算を行って得られた値の平均値と、の間のノルムを合算する関数である、
[6]に記載のスタイルトランスファープログラム。
[8]
前記第1の最適化関数が、
Figure 0007692283000008
である、
[7]に記載のスタイルトランスファープログラム。
[9]
前記第2の最適化関数が、
生成された画像をpとし、スタイル画像をsとしたときに、画像pに所定の演算を行って得られた値と、スタイル画像sに前記所定の演算を行って得られた値との間のノルムを合算する関数である、
[6]から[8]のうちいずれか一項に記載のスタイルトランスファープログラム。
[10]
前記第2の最適化関数が、
Figure 0007692283000009
である、
[9]に記載のスタイルトランスファープログラム。
[11]
[1]から[10]のうちいずれか一項に記載のスタイルトランスファープログラムがインストールされたサーバ。
[12]
[1]から[10]のうちいずれか一項に記載のスタイルトランスファープログラムがインストールされたコンピュータ。
[13]
コンピュータによるスタイルトランスファー方法であって、
レンダリングに用いられるバッファからバッファデータを取得する取得処理と、
前記バッファデータに対して、1以上のスタイル画像に基づいたスタイルトランスファーを適用する、スタイルトランスファー処理と、
スタイルトランスファーが適用された後のデータを出力する出力処理とを含む、
スタイルトランスファー方法。
本発明の実施形態の一つによれば、ユーザに提供する画像の表現力を増大させるスタイルトランスファープログラムおよびスタイルトランスファー方法として有用である。
10、10A、10B、10C、10D、10Y、10Z サーバ
11 プロセッサ
12 メモリ
13 記憶装置
20、20A、20B、20C ユーザ端末
21 プロセッサ
22 メモリ
23 記憶装置
30 通信ネットワーク
100 ビデオゲーム処理システム
101、101B、101C、101Y、101Z 取得部
102、102D、102Y、102Z スタイルトランスファー部
103、103Y、103Z 出力部
104Y スタイル画像選択部
N1、N2 ニューラルネットワーク

Claims (6)

  1. サーバに、
    レンダリングに用いられるバッファからバッファデータを取得する取得機能と、
    前記バッファデータに対して、1以上のスタイル画像に基づいたスタイルトランスファーを適用する、スタイルトランスファー機能と、
    スタイルトランスファーが適用された後のデータを出力する出力機能と、
    を実現させるためのスタイルトランスファープログラムであって、
    前記スタイルトランスファー機能では、前記バッファデータに対して、複数のスタイル画像に基づいたスタイルトランスファーを適用する機能を実現させ、
    前記スタイルトランスファーの適用は、ニューラルネットワークの所定の層において複数のスタイル画像に基づくパラメータを混入し、かつ、前記複数のスタイル画像に基づいて定義された最適化関数に基づいて最適化処理を行って得られた学習済みのニューラルネットワークに、前記バッファデータを入力することにより行われ、
    前記最適化処理は、前記複数のスタイル画像から選ばれた任意の二つのスタイル画像に基づいて定義された第1の最適化関数を用いて最適化処理を行う、第1の最適化処理と、
    前記複数のスタイル画像おける一つのスタイル画像に基づいて定義された第2の最適化関数を用いて最適化処理を行う、第2の最適化処理とを含む、
    スタイルトランスファープログラム
  2. 前記バッファは3Dバッファである、
    請求項1に記載のスタイルトランスファープログラム。
  3. 前記バッファは中間バッファである、
    請求項1に記載のスタイルトランスファープログラム。
  4. 前記サーバに、
    所定の条件に基づいて、前記1以上のスタイル画像を選択する、スタイル画像選択機能を
    実現させるための請求項1から請求項3のうちいずれか一項に記載のスタイルトランスファープログラム。
  5. 請求項1から請求項のうちいずれか一項に記載のスタイルトランスファープログラムがインストールされたサーバ。
  6. コンピュータによるスタイルトランスファー方法であって、
    レンダリングに用いられるバッファからバッファデータを取得する取得処理と、
    前記バッファデータに対して、1以上のスタイル画像に基づいたスタイルトランスファーを適用する、スタイルトランスファー処理と、
    スタイルトランスファーが適用された後のデータを出力する出力処理とを含み、
    前記スタイルトランスファー処理では、前記バッファデータに対して、複数のスタイル画像に基づいたスタイルトランスファーを適用する処理をし、
    前記スタイルトランスファーの適用は、ニューラルネットワークの所定の層において複数のスタイル画像に基づくパラメータを混入し、かつ、前記複数のスタイル画像に基づいて定義された最適化関数に基づいて最適化処理を行って得られた学習済みのニューラルネットワークに、前記バッファデータを入力することにより行われ、
    前記最適化処理は、前記複数のスタイル画像から選ばれた任意の二つのスタイル画像に基づいて定義された第1の最適化関数を用いて最適化処理を行う、第1の最適化処理と、
    前記複数のスタイル画像おける一つのスタイル画像に基づいて定義された第2の最適化関数を用いて最適化処理を行う、第2の最適化処理とを含む、
    スタイルトランスファー方法。
JP2021076919A 2021-04-29 2021-04-29 スタイルトランスファープログラムおよびスタイルトランスファー方法 Active JP7692283B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2021076919A JP7692283B2 (ja) 2021-04-29 2021-04-29 スタイルトランスファープログラムおよびスタイルトランスファー方法
US17/731,148 US12136179B2 (en) 2021-04-29 2022-04-27 Style transfer program and style transfer method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021076919A JP7692283B2 (ja) 2021-04-29 2021-04-29 スタイルトランスファープログラムおよびスタイルトランスファー方法

Publications (2)

Publication Number Publication Date
JP2022170757A JP2022170757A (ja) 2022-11-11
JP7692283B2 true JP7692283B2 (ja) 2025-06-13

Family

ID=83807761

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021076919A Active JP7692283B2 (ja) 2021-04-29 2021-04-29 スタイルトランスファープログラムおよびスタイルトランスファー方法

Country Status (2)

Country Link
US (1) US12136179B2 (ja)
JP (1) JP7692283B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180068463A1 (en) 2016-09-02 2018-03-08 Artomatix Ltd. Systems and Methods for Providing Convolutional Neural Network Based Image Synthesis Using Stable and Controllable Parametric Models, a Multiscale Synthesis Framework and Novel Network Architectures
JP2020112907A (ja) 2019-01-09 2020-07-27 凸版印刷株式会社 画像スタイル変換装置、画像スタイル変換方法、及びプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200065434A (ko) * 2018-11-30 2020-06-09 주식회사 인공지능연구원 스타일 팔레트/브러시 서비스 제공 장치
JP7423905B2 (ja) 2019-05-15 2024-01-30 ブラザー工業株式会社 機械学習モデルのトレーニング方法、データ生成装置、および、学習済みの機械学習モデル
US11637998B1 (en) * 2020-12-11 2023-04-25 Nvidia Corporation Determination of luminance values using image signal processing pipeline

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180068463A1 (en) 2016-09-02 2018-03-08 Artomatix Ltd. Systems and Methods for Providing Convolutional Neural Network Based Image Synthesis Using Stable and Controllable Parametric Models, a Multiscale Synthesis Framework and Novel Network Architectures
JP2020112907A (ja) 2019-01-09 2020-07-27 凸版印刷株式会社 画像スタイル変換装置、画像スタイル変換方法、及びプログラム

Also Published As

Publication number Publication date
US12136179B2 (en) 2024-11-05
JP2022170757A (ja) 2022-11-11
US20220351479A1 (en) 2022-11-03

Similar Documents

Publication Publication Date Title
JP7512347B2 (ja) 仮想店舗管理プログラム、仮想店舗管理システムおよび仮想店舗管理方法
US11948245B2 (en) Relighting images and video using learned lighting and geometry
CN108734749A (zh) 图像的视觉风格变换
CN106575445A (zh) 毛皮虚拟化身动画
CN116091676B (zh) 虚拟对象的面部渲染方法及点云特征提取模型的训练方法
JP2023171165A (ja) スタイル変換プログラム、スタイル変換装置、およびスタイル変換方法
US20240173620A1 (en) Predicting the Appearance of Deformable Objects in Video Games
CN112116589A (zh) 虚拟形象的评测方法、装置、设备及计算机可读存储介质
JP2025101944A (ja) 仮想オブジェクト表示プログラム、仮想オブジェクト表示システム、および仮想オブジェクト表示方法
JP7692283B2 (ja) スタイルトランスファープログラムおよびスタイルトランスファー方法
CN116862759A (zh) 基于生成对抗网络的个性化肖像生成系统及方法
CN106952325A (zh) 用于操作三维动画角色的方法和装置
JP2023019221A (ja) スタイルトランスファープログラムおよびスタイルトランスファー方法
JP4865472B2 (ja) プログラム、情報記憶媒体及び画像生成システム
US12223576B2 (en) Apparatus and method for creating avatar
Vayadande et al. MetaNexus: connecting worlds, redefining reality
JP7325775B2 (ja) 画像処理システム、方法、及びプログラム
KR20240049695A (ko) 2d 이미지로부터 3d 오브젝트를 생성하는 서버 및 방법
CN114299203A (zh) 虚拟模型的处理方法和装置
Hall et al. Collaborative interactive evolution of art in the latent space of deep generative models
CN119048648B (zh) 一种变形动画的处理方法、电子设备
KR102815524B1 (ko) Ai 기반 광고 이미지 생성 방법, 서버 및 컴퓨터 프로그램
Ruti Optimization of 3D Models for Mobile Games: Balancing Quality and Performance
Hu et al. P‐4.15: Application of 3D Gaussian Splatting in Gaussian Avatar
Karmakar et al. Unfolding a Hidden Risk of Direct 3D Software Usage for Animation Character Design

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240411

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20250115

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20250131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20250203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20250131

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20250403

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20250507

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20250603

R150 Certificate of patent or registration of utility model

Ref document number: 7692283

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150