(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-05
(45)【発行日】2024-11-13
(54)【発明の名称】データ生成方法、データ生成装置、およびプログラム
(51)【国際特許分類】
G06T 11/80 20060101AFI20241106BHJP
G06T 7/00 20170101ALI20241106BHJP
【FI】
G06T11/80 A
G06T7/00 350C
(21)【出願番号】P 2023099732
(22)【出願日】2023-06-19
(62)【分割の表示】P 2020144866の分割
【原出願日】2019-03-18
【審査請求日】2023-07-10
(32)【優先日】2019-03-11
(33)【優先権主張国・地域又は機関】US
【新規性喪失の例外の表示】特許法第30条第2項適用 平成30年3月21日革新知能統合研究センターにおいて開催されたTokyo Deep Learing Workshop 2018で発表
(73)【特許権者】
【識別番号】515130201
【氏名又は名称】株式会社Preferred Networks
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】ジン ヤンハ
(72)【発明者】
【氏名】シュ カシュン
(72)【発明者】
【氏名】ティエン イーンタオ
【審査官】鈴木 明
(56)【参考文献】
【文献】特開2019-003402(JP,A)
【文献】特開2018-173711(JP,A)
【文献】特開2018-171271(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 11/80
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサが、潜在情報
を生成モデル
に入力することでデータを生成し、
前記潜在情報は、ブロックチェーン準拠コードにより表された情報である、
データ生成方法。
【請求項2】
少なくとも1つのプロセッサが、ブロックチェーン準拠コードである潜在情報をブロックチェーン準拠コードではない潜在情報に変換し、変換後の前記潜在情報を生成モデルに入力することでデータを生成する、
データ生成方法。
【請求項3】
前記少なくとも1つのプロセッサが、所定の対応関係に基づいて、ブロックチェーン準拠コードである前記潜在情報をブロックチェーン準拠コードではない変換後の前記潜在情報に変換する、
請求項
2に記載のデータ生成方法。
【請求項4】
前記所定の対応関係は、ブロックチェーン準拠コードである前記潜在情報の要素と、ブロックチェーン準拠コードではない変換後の前記潜在情報の要素との間の対応関係である、
請求項3に記載のデータ生成方法。
【請求項5】
ブロックチェーン準拠コードである前記潜在情報は、ブロックチェーン準拠コードではない変換後の前記潜在情報よりデータ量が少ない、
請求項
2乃至請求項4のいずれか1項に記載のデータ生成方法。
【請求項6】
前記潜在情報は、オブジェクトを特徴付ける情報を含む、
請求項1乃至請求項5のいずれか1項に記載のデータ生成方法。
【請求項7】
前記潜在情報は、少なくとも、前記オブジェクトの髪型、髪の色、目の色、肌の色、表情、付属物の有無のいずれか1つに関する情報を含む、
請求項6に記載のデータ生成方法。
【請求項8】
前記潜在情報は、前記オブジェクトの固有の特徴と可変的な特徴とを含む、
請求項6に記載のデータ生成方法。
【請求項9】
前記潜在情報は、第1の潜在情報と第2の潜在情報とを融合することで生成された融合潜在情報である、
請求項1乃至請求項
8のいずれか1項に記載のデータ生成方法。
【請求項10】
前記少なくとも1つのプロセッサが、前記第1の潜在情報と前記第2の潜在情報とを融合することで前記融合潜在情報を生成する、
請求項
9に記載のデータ生成方法。
【請求項11】
前記少なくとも1つのプロセッサが、前記第1の潜在情報と前記第2の潜在情報とを用いた遺伝的操作を実行することで前記融合潜在情報を生成する、
請求項
10に記載のデータ生成方法。
【請求項12】
前記遺伝的操作は、少なくとも、交叉、突然変異、選択のいずれかを含む、
請求項
11に記載のデータ生成方法。
【請求項13】
前記第1の潜在情報は、メイン属性とサブ属性とを含み、
前記第2の潜在情報は、メイン属性とサブ属性とを含む、
請求項
11又は請求
12に記載のデータ生成方法。
【請求項14】
前記少なくとも1つのプロセッサが、前記第1の潜在情報と前記第2の潜在情報とを用いて、少なくとも、四則演算、論理演算のいずれかを実行することによって、前記融合潜在情報を生成する、
請求項
9乃至請求項
13のいずれか1項に記載のデータ生成方法。
【請求項15】
前記少なくとも1つのプロセッサが、ランダムな情報を用いて前記融合潜在情報を生成する、
請求項
9乃至請求項
14のいずれか1項に記載のデータ生成方法。
【請求項16】
前記第1の潜在情報は、ブロックチェーン準拠コードで表された情報である、
請求項
9乃至請求項
15のいずれか1項に記載のデータ生成方法。
【請求項17】
前記第1の潜在情報は、第2のユーザが第1のユーザから購入した情報である、
請求項
9乃至請求項
16のいずれか1項に記載のデータ生成方法。
【請求項18】
前記第1の潜在情報は、第1のオブジェクトを特徴付ける情報を含み、
前記第2の潜在情報は、第2のオブジェクトを特徴付ける情報を含む、
請求項9乃至請求項17のいずれか1項に記載のデータ生成方法。
【請求項19】
前記第1の潜在情報は、少なくとも、前記第1のオブジェクトの髪型、髪の色、目の色、肌の色、表情、付属物の有無のいずれか1つに関する情報を含み、
前記第2の潜在情報は、少なくとも、前記第2のオブジェクトの髪型、髪の色、目の色、肌の色、表情、付属物の有無のいずれか1つに関する情報を含む、
請求項18に記載のデータ生成方法。
【請求項20】
前記第1の潜在情報は、前記第1のオブジェクトの固有の特徴と可変的な特徴とを含み、
前記第2の潜在情報は、前記第2のオブジェクトの固有の特徴と可変的な特徴とを含む、
請求項18に記載のデータ生成方法。
【請求項21】
前記少なくとも1つのプロセッサは、前記
オブジェクトと、
前記第1のオブジェクトと、
前記第2のオブジェクトとを家系図形式で表示装置に表示する、
請求項
18乃至請求項20のうち請求項6に従属するいずれか1項に記載のデータ生成方法。
【請求項22】
前記生成モデルは、ニューラルネットワークである、
請求項1乃至請求
項21のいずれか1項に記載のデータ生成方法。
【請求項23】
前記データは、少なくとも、画像、動画又は音声のいずれかである、
請求項1乃至請求
項22のいずれか1項に記載のデータ生成方法。
【請求項24】
少なくとも1つのプロセッサ、を備え、
前記少なくとも1つのプロセッサは、請求項1乃至請求項
23のいずれか1項に記載のデータ生成方法を実行する、
データ生成装置。
【請求項25】
少なくとも1つのプロセッサに、請求項1乃至請求項
23のいずれか1項に記載のデータ生成方法を実行させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、画像生成方法に関する。
【背景技術】
【0002】
インターネットなどのネットワーク上において、様々なツールを提供するサイト又はプラットフォームが提供されている。例えば、提供されたパーツを用いて、ユーザがアバター画像、キャラクタ画像などのデジタル画像を作成し、作成したデジタル画像を編集、公開、交換等するためのツールを提供するプラットフォームがインターネット上に開設されている。
【0003】
例えば、CryptoKittiesでは、ユーザは、父母のネコの画像から子供のネコの画像を作成することができ、保有するネコの画像を、仮想通貨を利用して売買することが可能である。
【0004】
しかしながら、CryptoKittiesにおいて生成された子供のネコの画像は、父母のネコの各パーツ(例えば、目、耳など)を組み合わせることによって生成され、ユニークな特徴がないうえに、バリエーションが少なかった。
【先行技術文献】
【非特許文献】
【0005】
【文献】https://www.cryptokitties.co/
【発明の概要】
【発明が解決しようとする課題】
【0006】
本開示の課題は、新規な画像生成技術を提供することである。
【課題を解決するための手段】
【0007】
上記課題を解決するため、本開示の一態様は、少なくとも1つのプロセッサが、潜在情報を生成モデルに入力することでデータを生成し、前記潜在情報は、ブロックチェーン準拠コードにより表された情報である、データ生成方法に関する。
【図面の簡単な説明】
【0008】
【
図1】本開示の一実施例による画像生成処理を示す概略図である。
【
図2】本開示の一実施例によるデジタル画像を示す図である。
【
図3】本開示の一実施例によるデジタル画像を示す図である。
【
図4】本開示の一実施例によるデジタル画像を示す図である。
【
図5】本開示の一実施例による画像生成装置を示す概略図である。
【
図6】本開示の一実施例による画像生成装置の機能構成を示すブロック図である。
【
図7】本開示の一実施例によるプラットフォーム上の画像情報を示す図である。
【
図8】本開示の一実施例によるプラットフォーム上の画像情報を示す図である。
【
図9】本開示の一実施例による潜在情報の融合を示す図である。
【
図10】本開示の一実施例による融合画像を示す図である。
【
図11】本開示の一実施例による遺伝的操作による潜在情報の融合を示す図である。
【
図12】本開示の他の実施例による潜在情報の融合を示す図である。
【
図13】本開示の他の実施例による潜在情報の融合を示す図である。
【
図14】本開示の一実施例による画像生成処理を示すフローチャートである。
【
図15】本開示の一実施例による敵対的生成ネットワークによる学習処理を示すフローチャートである。
【
図16】本開示の他の実施例による画像生成処理を示す概略図である。
【
図17】本開示の他の実施例による画像生成処理を示すフローチャートである。
【
図18】本開示の一実施例による画像生成システムを示す概略図である。
【
図19】本開示の一実施例による画像生成装置、訓練装置及びユーザ装置のハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【0009】
以下、図面に基づいて本開示の実施の形態を説明する。以下の実施例では、デジタル画像を生成する画像生成装置及び方法が開示される。
[本開示の概略]
本開示の実施例による画像生成装置は、融合対象の2つの画像の潜在情報(例えば、遺伝子コード、属性など)を所定の操作(例えば、遺伝的操作など)により融合(fuse)することで融合潜在情報を生成し、生成した融合潜在情報を訓練済み生成モデルに入力することで、2つの画像を融合した融合画像を生成する。
【0010】
具体的には、
図1に示されるようなキャラクタ画像は、コード(例えば、遺伝子コードなど、ノイズと呼んでもよい)と属性(例えば、髪型、髪の色、目の色、肌の色、表情、眼鏡や帽子などの付属物など。全てを使用してもよいし、その一部を使用してもよい。)とを含む潜在情報によって特徴付けされる。例えば、以下の実施例による画像生成装置は、
図2及び3に示されるような融合対象の2つのキャラクタ画像の潜在情報を融合し、融合潜在情報を訓練済み生成モデル(例えば、敵対的生成ネットワーク(GANs)により訓練済みの生成器などの機械学習モデル)に入力し、
図4に示されるような融合画像を生成する。
【0011】
本開示によると、画像生成装置は、2つの潜在情報のコードと属性とを継承させることにより、入力された画像のパーツの単なる組み合わせではなく、バリエーションに富んだユニークな融合画像を生成することができる。また、生成モデルを用いることにより、全体として調和した融合画像を生成することができる。
[画像生成装置]
まず、
図5~11を参照して、本開示の一実施例による画像生成装置を説明する。
図5は、本開示の一実施例による画像生成装置を示す概略図である。
【0012】
図5に示されるように、画像生成装置100は、訓練済み生成モデルを有し、融合対象の2つの画像の潜在情報を取得すると、取得した潜在情報を所定の操作に従って融合して融合潜在情報を生成する。そして、画像生成装置100は、生成した融合潜在情報を生成モデルに入力して融合画像を生成する。
【0013】
具体的には、画像生成装置100は、画像生成のためのプラットフォームを実現するためのものであってもよく、例えば、ウェブサイトを介し当該プラットフォームを提供してもよい。例えば、プラットフォームにログインしたユーザが融合対象となる2つの画像を指定すると、画像生成装置100は、当該ユーザから指定された2つの画像の潜在情報を取得し、取得した潜在情報を所定の操作に従って融合する。例えば、当該操作は、潜在情報に対する交叉、突然変異、選択などの遺伝的操作、四則演算、論理演算などの所定の合成演算などであってもよい。そして、画像生成装置100は、訓練済み生成モデルを利用して、融合潜在情報から融合画像を生成し、生成した融合画像をプラットフォーム上にてユーザに提供してもよい。
【0014】
なお、図示された実施例では、訓練済み生成モデルは、画像生成装置100に備えられているが、本開示はこれに限定されず、例えば、画像生成装置100に通信接続された外部装置に配置されてもよい。この場合、画像生成装置100は、融合潜在情報を当該外部装置に送信し、訓練済み生成モデルによって生成された融合画像を外部装置から取得してもよい。
【0015】
図6は、本開示の一実施例による画像生成装置の機能構成を示すブロック図である。
図6に示されるように、画像生成装置100は、潜在情報取得部110、潜在情報融合部120及び融合画像生成部130を有する。
【0016】
潜在情報取得部110は、融合対象の2つの画像のそれぞれの潜在情報を取得する。例えば、融合対象の画像は、アバター画像、キャラクタ画像などのビットマップ画像であってもよく、当該アバター、キャラクタなどのオブジェクトを特徴付ける潜在情報と関連付けされる。ここで、潜在情報は、観測データ(例えば、画像データ)からモデル等を通じて推論される潜在変数が有する情報であってもよい。
【0017】
具体的には、潜在情報はコードと属性とを含んでもよい。ここで、コードは、当該オブジェクトの固有の特徴(例えば、体の骨格、顔のパーツの形状など)を表し、属性は、当該オブジェクトの可変的な特徴(例えば、髪型、表情など)を表してもよい。例えば、
図7及び8に示されるように、オブジェクトの画像に関連して、バーコードにより表示されるコード、各種属性及びサブ属性(すなわち、画像には発現していないが、当該画像に備わっている属性)が表示されるユーザインタフェースを介して、2つの画像(#596506,#529690)がユーザによって融合対象の画像として選択されると、潜在情報取得部110は、これら2つの画像に関連付けされているコード(図示された具体例では、(Xc1,Xc2,・・・,Xc(n-1),Xcn)及び(Yc1,Yc2,・・・,Yc(n-1),Ycn)として示される)と、属性(図示された具体例では、(Xa1,Xa2,・・・,Xa(m-1),Xam)及び(Ya1,Ya2,・・・,Ya(m-1),Yam)として示される)とを取得し、取得したコードと属性とから構成される各画像の潜在情報を潜在情報融合部120にわたす。
【0018】
潜在情報融合部120は、2つの画像の潜在情報を融合し、融合潜在情報を生成する。例えば、潜在情報取得部110からコード(Xc1,Xc2,・・・,Xc(n-1),Xcn)及び(Yc1,Yc2,・・・,Yc(n-1),Ycn)と、属性(Xa1,Xa2,・・・,Xa(m-1),Xam)及び(Ya1,Ya2,・・・,Ya(m-1),Yam)とを取得すると、潜在情報融合部120は、
図9に示されるように、取得したコード(Xc1,Xc2,・・・,Xc(n-1),Xcn)及び(Yc1,Yc2,・・・,Yc(n-1),Ycn)と、属性(Xa1,Xa2,・・・,Xa(m-1),Xam)及び(Ya1,Ya2,・・・,Ya(m-1),Yam)とに対して所定の融合操作を実行し、(Zc1,Zc2,・・・,Zc(n-1),Zcn)及び(Za1,Za2,・・・,Za(m-1),Zam)から構成される融合潜在情報を生成する。
【0019】
ここで、当該融合操作は、図示されるようにコード単位及び属性単位に対して実行されてもよいし、あるいは、他の実施例では、潜在情報単位に対して実行されてもよい。そして、潜在情報融合部120は、生成した融合潜在情報を融合画像生成部130にわたす。また、融合対象の画像は、必ずしも異なる2つの画像である必要はなく、同一の画像又は異なる3つ以上の画像であってもよい。
【0020】
融合画像生成部130は、融合潜在情報を訓練済み生成モデルに入力し、融合画像を生成する。例えば、潜在情報融合部120から融合潜在情報(Zc1,Zc2,・・・,Zc(n-1),Zcn)及び(Za1,Za2,・・・,Za(m-1),Zam)を取得すると、融合画像生成部130は、取得した融合潜在情報を訓練済み生成モデルに入力し、
図10に示されるような融合画像を出力として生成する。生成された融合画像は、図示されるように、コード(Zc1,Zc2,・・・,Zc(n-1),Zcn)と、属性(Za1,Za2,・・・,Za(m-1),Zam)とから構成される潜在情報と関連付けされる。また、融合画像は、親子関係にある2つのオリジンの画像と関連付けして表示されてもよい。更に、融合画像の祖先の画像が家系図形式で表示されてもよい。
【0021】
一実施例では、訓練済み生成モデルは、敵対的生成ネットワーク(GANs)に従って訓練された生成器であってもよい。例えば、訓練装置200は、ニューラルネットワークなどによって実現される生成器及び識別器を敵対的生成ネットワークとして予め訓練し、画像生成装置100に提供してもよい。
【0022】
一例となる訓練処理では、訓練画像のデータセットが訓練装置200に与えられ、訓練装置200はまず、乱数などのコードを生成器に入力し、出力として画像を取得する。次に、訓練装置200は、生成器によって生成された画像とデータセットの訓練画像との何れかを識別器に入力し、入力された画像が生成器によって生成された画像と、訓練画像との何れであるかを示す識別結果を出力として取得する。そして、訓練装置200は、識別器が正しい識別をするように識別器のパラメータを更新する。さらに、訓練装置200は、識別器が誤った識別をするように生成器のパラメータを更新する。所定数の入力データに対して上述した処理の実行を完了したなどの所定の終了条件を充足すると、訓練装置200は、最終的に取得された生成器を訓練済み生成モデルとして画像生成装置100に提供する。
【0023】
また、他の一例となる訓練処理では、属性を備えた訓練画像のデータセットが訓練装置200に与えられ、訓練装置200は、乱数などのコードと属性とを生成器に入力し、出力として画像を取得する。次に、訓練装置200は、生成器によって生成された画像とデータセットの訓練画像との何れかを識別器に入力し、入力された画像が生成器によって生成された画像と、訓練画像との何れであるか、及び属性は何であるかを示す識別結果を出力として取得する。そして、訓練装置200は、識別器が正しい識別をするように識別器のパラメータを更新する。さらに、訓練装置200は、識別器が誤った識別をするように生成器のパラメータを更新する。所定数の入力データに対して上述した処理の実行を完了したなどの所定の終了条件を充足すると、訓練装置200は、最終的に取得された生成器を訓練済み生成モデルとして画像生成装置100に提供する。
【0024】
本開示による訓練済み生成モデルは、上述した敵対的生成ネットワークに従って訓練された生成器又はニューラルネットワークに限定されず、他の何れか適切な訓練手法に従って訓練された何れかのタイプの機械学習モデルであってもよい。
【0025】
一実施例では、潜在情報融合部120は、取得した2つの潜在情報に対して遺伝的操作を実行することによって、融合潜在情報を生成してもよい。例えば、
図11に示されるように、潜在情報融合部120は、2つのコードと2つの属性とをそれぞれ交叉(crossover)することによって、融合コードと融合属性とを生成してもよい。図示された具体例では、融合対象の潜在情報XのコードXcは"0.2","1.4","0.4",・・・から構成され、属性Xaは"金髪","眼鏡有","笑顔",・・・から構成され、融合対象の潜在情報YのコードYcは"-0.2","0.9","0.8",・・・から構成され、属性Yaは"緑髪","眼鏡無","赤面",・・・から構成されている。
【0026】
このとき、潜在情報融合部120は、コードXc及びYcの要素を交叉することによって、図示されるように、融合潜在情報ZのコードZc"-0.2","1.4","0.4",・・・を生成してもよい。また、潜在情報融合部120は、属性Xa及びYaの要素を交叉することによって、図示されるように、属性Za"緑髪","眼鏡有","笑顔",・・・を生成してもよい。ここで、上述した交叉は、各要素単位によるものであるが、本実施例による交叉は、これに限定されず、任意数の要素の組み合わせ毎によるものであってもよい。
【0027】
なお、本実施例による遺伝的操作は、交叉に限定されず、例えば、突然変異(mutation)、選択(selection)などの他の遺伝的操作を含んでもよい。例えば、突然変異では、潜在情報融合部120は、融合対象の潜在情報X,Yの要素と異なる値を融合潜在情報Zの1つ以上の要素に設定してもよい。融合操作に突然変異を導入することによって、生成される融合潜在情報のバリエーションを増加させることができる。
【0028】
また、他の実施例では、潜在情報融合部120は、取得した2つの潜在情報の平均をとることによって、融合潜在情報を生成してもよい。例えば、
図1に示されるような"0.2"、"-0.2"などの数値により表される潜在情報の要素については、2つの画像の対応する要素の平均値によって融合潜在情報の対応する要素が決定されてもよい。この場合、例えば、"Glasses"と"No Glasses"などの択一的な値を有する要素(付属物の有無など)については、融合潜在情報の対応する要素は、ランダムに何れかの値に決定されてもよい。
【0029】
また、更なる他の実施例では、潜在情報融合部120は、取得した2つの潜在情報に対して論理演算・四則演算を実行することによって、融合潜在情報を生成してもよい。論理演算としては、例えば、論理和、論理積、排他的論理和、否定演算などであってもよい。四則演算としては、例えば、加算、減算、乗算、除算などであってもよい。例えば、算術平均、調和平均などのような四則演算の組み合わせも含まれる。2つの潜在情報に変換(例えば、指数・対数演算)・変動(例えば、ランダムノイズ)を加えた上に四則演算を実行し、または、2つの潜在情報に四則演算を実行してから変換・変動することなどであってもよい(例えば、幾何平均、指数平均)。
【0030】
また、更なる他の実施例では、潜在情報融合部120は、取得した2つの潜在情報に対して上述した操作の何れか1つ以上の組み合わせを実行することによって、融合潜在情報を生成してもよい。
【0031】
一実施例では、潜在情報は更に、サブ属性を含んでもよい。上述した属性(メイン属性と呼ぶ)は、融合画像に発現する確率の高い属性である一方、サブ属性は、当該画像には発現しておらず、発現確率は低いものの、融合画像に発現する可能性のある属性である。例えば、サブ属性は、メイン属性と同様の内容(例えば、髪型、表情など)であってもよい。メイン属性とサブ属性との何れか一方が確率的に選択され、融合潜在情報を生成するのに利用されてもよい。
図7,8及び10に示されるように、サブ属性もまたユーザインタフェース上に表示されてもよい。
【0032】
例えば、
図12Aに示されるように、2つのオリジンの潜在情報X,Yがそれぞれ、コードXc、メイン属性Xa_main及びサブ属性Xa_subと、コードYc、メイン属性Ya_main及びサブ属性Ya_subとから構成されているとする。ここで、メイン属性が選択される確率Pmainと、サブ属性が選択される確率Psubとが予め設定され(限定されることなく、図示された具体例では、Pmain=75%及びPsub=25%)、設定された確率に従って、融合潜在情報の生成に利用される属性が決定されてもよい。
【0033】
例えば、
図12Bに示される具体例では、潜在情報Xについては、メイン属性Xa_mainが選択され、潜在情報Yについては、サブ属性Ya_subが選択される。ここで、属性を選択する際の確率値は、属性を構成する要素毎に異なる値に設定してもよい。また、設定された確率値に応じて、属性を構成する要素毎にメイン属性とサブ属性との何れか一方を選択するようにしてもよい。
【0034】
潜在情報融合部120は、選択された潜在情報X(=Xc+Xa_main)と潜在情報Y(=Yc+Ya_sub)とに基づいて、
図12Cに示されるような融合潜在情報Zを生成する。
【0035】
図示されるように、融合潜在情報Zもまた、メイン属性Za_main及びサブ属性Za_subを有してもよい。例えば、融合対象の属性Xa_main,Ya_subを交叉する際、潜在情報融合部120は、交叉によって融合潜在情報Zのメイン属性Za_mainに選択されなかった要素からサブ属性Za_subを構成してもよい。
【0036】
ここで、融合潜在情報ZがコードZc、メイン属性Za_main及びサブ属性Za_subを有する場合、生成モデルは、入力されるメイン属性Za_mainに対してサブ属性Za_subより高い重み付けとなるように予め訓練されてもよい。また、メイン属性とサブ属性とを重み付けで融合し、訓練済み生成モデルに入力してもよい。あるいは、融合画像生成部130は、サブ属性Za_subを生成モデルに入力することなく、コードZcとメイン属性Za_mainとに基づき融合画像を生成してもよい。
【0037】
このようにサブ属性を導入することによって、生成される融合潜在情報のバリエーションを増加させることができ、融合画像のバリエーションを増やすことができる。サブ属性の数は任意に選択してもよい。
【0038】
同様に、潜在情報は更に、サブコードを含んでもよい。上述したコード(メインコードと呼ぶ)は、融合画像に発現する確率の高いコードである。一方、サブコードは、当該画像には発現しておらず、発現確率は低いものの、融合画像に発現する可能性のあるコードである。サブコードもまた、バーコードなどによってユーザインタフェース上に表示されてもよい。
【0039】
例えば、
図13Aに示されるように、2つのオリジンの潜在情報X,Yがそれぞれ、メインコードXc_main、サブコードXc_sub、メイン属性Xa_main及びサブ属性Xa_subと、メインコードYc_main、サブコードYc_sub、メイン属性Ya_main及びサブ属性Ya_subとから構成されているとする。ここで、メインコードが選択される確率Pmainと、サブコードが選択される確率Psubとが予め設定され(限定されることなく、図示された具体例では、Pmain=75%及びPsub=25%)、設定された確率に従って、融合潜在情報の生成に利用されるコードが決定されてもよい。
【0040】
例えば、
図13Bに示される具体例では、潜在情報Xについては、サブコードXc_subが選択され、潜在情報Yについては、メインコードYc_mainが選択される。ここで、コードを選択する際の確率値は、コードを構成する要素毎に異なる値に設定してもよい。また、設定された確率値に応じて、コードを構成する要素毎にメインコードとサブコードとの何れか一方を選択するようにしてもよい。
【0041】
潜在情報融合部120は、選択された潜在情報X(=Xc_sub+Xa_main)と潜在情報Y(=Yc_main+Ya_sub)とに基づいて、
図13Cに示されるような融合潜在情報Zを生成する。
【0042】
図示されるように、融合潜在情報Zもまた、メインコードZc_main及びサブコードZc_subを有してもよい。例えば、融合対象のコードXc_sub,Yc_mainを交叉する際、潜在情報融合部120は、交叉によって融合潜在情報ZのメインコードZc_mainに選択されなかった要素からサブコードZc_subを構成してもよい。
【0043】
メイン属性Za_main及びサブ属性Za_subと同様に、生成モデルは、入力されるメインコードZc_mainに対してサブコードZc_subより高い重み付けとなるように予め訓練されてもよい。また、メインコードとサブコードとを重みづけで融合し、訓練済み生成モデルに入力してもよい。あるいは、融合画像生成部130は、サブコードZc_subを生成モデルに入力することなく、メインコードZcとメイン属性Za_mainとに基づき融合画像を生成してもよい。
【0044】
このようにサブコードを導入することによって、生成される融合潜在情報のバリエーションを増加させることができ、融合画像のバリエーションを増やすことができる。
[画像生成処理及び学習処理]
次に、
図14及び15を参照して、本開示の一実施例による画像生成処理及び学習処理を説明する。
図14は、本開示の一実施例による画像生成処理を示すフローチャートである。当該画像生成処理は、画像生成装置100、特に画像生成装置100のプロセッサによって実行可能である。
【0045】
図14に示されるように、ステップS101において、潜在情報取得部110は、融合対象となる2つのオリジンの潜在情報を取得する。典型的には、これらオリジンの潜在情報は、プラットフォーム上でユーザによって保有され、ユーザが融合対象のオリジンの画像を指定すると、潜在情報取得部110は、指定されたオリジンの潜在情報をプラットフォームから取得し、潜在情報融合部120にわたす。
【0046】
ステップS102において、潜在情報融合部120は、取得した潜在情報を融合する。具体的には、潜在情報融合部120は、取得した潜在情報に対して交叉などの遺伝的操作を実行することによって、融合潜在情報を生成してもよい。
【0047】
ステップS103において、融合画像生成部130は、取得した融合潜在情報を訓練済み生成モデルに入力する。当該生成モデルは、訓練装置200によって予め訓練されたものであり、例えば、敵対的生成ネットワークにおける生成器であってもよい。訓練済み生成モデルは、入力される潜在情報から画像を生成するよう訓練されたものである。
【0048】
ステップS104において、融合画像生成部130は、訓練済み生成モデルから融合画像を生成する。生成された融合画像は、当該融合画像に関連する潜在情報、すなわち、訓練済み生成モデルに入力された融合潜在情報と共に、プラットフォーム上のユーザのフォルダなどに格納される。
【0049】
図15は、本開示の一実施例による敵対的生成ネットワークによる学習処理を示すフローチャートである。当該学習処理は、敵対的生成ネットワークによる生成器及び識別器に対して、訓練装置200、特に訓練装置200のプロセッサによって実行される。当該学習処理では、訓練画像のデータセットが、訓練装置200に提供される。
【0050】
図15に示されるように、ステップS201において、訓練装置200は、乱数などのコード(ノイズ)とランダムな属性とで構成される潜在情報を生成器に入力し、出力として画像を取得する。
【0051】
ステップS202において、訓練装置200は、取得した画像又はデータセットの訓練画像を識別器に入力し、入力された画像が生成器によって生成された画像と訓練画像との何れであるかを示す識別結果を出力として取得する。ここで、属性を識別器に入力してもよいし、識別結果として属性を出力させてもよい。
【0052】
ステップS203において、訓練装置200は、敵対的生成ネットワークによるパラメータ更新手順に従って、識別結果に基づき生成器及び識別器のパラメータを調整する。具体的には、訓練装置200は、正しい識別結果を出力するように識別器のパラメータを更新し、識別器が誤った識別をするように生成器のパラメータを更新する。
【0053】
ステップS204において、訓練装置200は、終了条件を充足したか判断し、終了条件を充足している場合(S204:YES)、当該学習処理を終了し、終了条件を充足していない場合(S204:NO)、ステップS201に戻り、次の訓練データに対して上述したステップS201~S204を繰り返す。例えば、終了条件としては、所定数の入力データに対して当該学習処理が実行されたことなどであってもよい。
【0054】
訓練装置200は、当該学習処理の実行後に取得された生成器を訓練済み生成モデルとして画像生成装置100に提供する。
[ブロックチェーン準拠コード]
次に、
図16及び17を参照して、本開示の他の実施例による画像生成処理を説明する。
図16は、本開示の他の実施例による画像生成処理を示す概略図である。本実施例では、潜在情報がブロックチェーンに準拠したコードにより提供され、これにより、潜在情報が、ブロックチェーンベースの流通ネットワークを介しユーザ間でやりとり可能になる。
【0055】
図16に示されるように、潜在情報は、イーサリアムなどのブロックチェーンベースの流通ネットワークの何れかの規格に準拠したブロックチェーン準拠コードにより表されてもよい。
【0056】
例えば、イーサリアムでは、潜在情報は320ビットで記述され、具体的には、コードは256ビットで記述され、属性は64ビットで記述される。すなわち、ブロックチェーン準拠コードで表されていない潜在情報の典型的なデータ量(例えば、0.65KB)と比較して、ブロックチェーン準拠コードはより少ないデータ量によって潜在情報を表している。
【0057】
ブロックチェーン準拠コードで表された潜在情報とブロックチェーン準拠コードで表されていない潜在情報の要素との間には対応関係が規定され、双方の関係が一意的に決定できるようにしてもよい。画像生成装置100は、例えば、他のユーザから購入したブロックチェーン準拠コードによる潜在情報と、自らが所有する潜在情報とを利用して、これら2つの潜在情報から融合画像を生成してもよい。
【0058】
なお、ブロックチェーン準拠コードは、上述したイーサリアムの準拠コードに限定されず、他の何れか適切なブロックチェーン技術に基づく規格に準拠したコードであってもよい。本明細書を通じて、潜在情報という用語は、ブロックチェーン準拠コードで表されていない潜在情報だけでなく、本実施例におけるブロックチェーン準拠コードで表される潜在情報もまた含む。
【0059】
図17は、本開示の他の実施例による画像生成処理を示すフローチャートである。当該画像生成処理は、画像生成装置100、特に画像生成装置100のプロセッサによって実行可能である。
【0060】
図17に示されるように、ステップS301において、潜在情報取得部110は、融合対象となる2つのオリジンの潜在情報を示すブロックチェーン準拠コードを取得する。例えば、ブロックチェーン準拠コードは、ブロックチェーンベースのプラットフォームを介し他のユーザから取得されてもよい。ここで、ブロックチェーン準拠コードで表されていない潜在情報をブロックチェーン準拠コードの潜在情報に変換する処理を実行してもよい。
【0061】
ステップS302において、潜在情報融合部120は、取得したブロックチェーン準拠コードを融合する。例えば、潜在情報融合部120は、取得したブロックチェーン準拠コードに対して交叉などの遺伝的操作を実行することによって、融合ブロックチェーン準拠コードを生成してもよい。ここで、
図5~14を参照してブロックチェーン準拠コードを用いない場合に説明した融合処理(サブ・メインの選択等を含む)を、ブロックチェーン準拠コードに対する融合処理に適用してもよい。ブロックチェーン準拠コードで表された潜在情報が、少なくとも、サブ属性及びサブコードの何れか一つを含んでもよい。
【0062】
ステップS303において、潜在情報融合部120は、取得した融合ブロックチェーン準拠コードを融合潜在情報に変換する。当該変換は、例えば、ブロックチェーン準拠コードとブロックチェーン準拠コードにより表されていない潜在情報の要素との間の対応関係を示す対応情報に従って実行されてもよい。
【0063】
ステップS304において、融合画像生成部130は、取得した融合潜在情報を訓練済み生成モデルに入力する。当該生成モデルは、訓練装置200によって予め訓練されたものであり、例えば、敵対的生成ネットワークにおける生成器であってもよい。訓練済み生成モデルは、入力される潜在情報から画像を生成するよう訓練されたものである。
【0064】
ステップS305において、融合画像生成部130は、訓練済み生成モデルから融合画像を生成する。生成された融合画像は、融合潜在情報と共にプラットフォーム上のユーザのフォルダなどに格納されてもよい。
【0065】
なお、本実施例では、融合処理は、ブロックチェーン準拠コードにより表された潜在情報に対して実行されたが、本開示は、これに限定されず、融合対象のブロックチェーン準拠コードをブロックチェーン準拠コードではない潜在情報に変換し、変換された潜在情報に対して融合処理を実行するようにしてもよい。
【0066】
このようにして、各ユーザは、相対的にデータ量の大きなブロックチェーン準拠コードにより表されていない潜在情報ではなく、よりデータ量の少ないブロックチェーン準拠コードにより表された潜在情報を保有することができる。また、ブロックチェーンとスマートコントラクトにより、デジタル資産の価値と所有権を保証できるという効果を奏する。生成モデルの特性を利用することで、スマートコントラクトによる2つの画像の融合が可能になり、融合の結果は追跡可能かつ予測不能であるため、ユーザにとってゲームがより面白いものになると考えられる。
【0067】
次に、
図18を参照して、本開示の一実施例による画像生成システムを説明する。本実施例では、画像生成装置100の一部又は全ての機能が、画像生成システム10においてクラウドサービスとして提供され、ユーザがパーソナルコンピュータなどのユーザ装置300を経由して、融合画像の生成及び生成した融合画像の取得を実行してもよい。例えば、画像生成装置100は、ユーザ装置300と異なる場所に設置されていてもよい。
【0068】
図18に示されるように、画像生成システム10は、画像生成装置100及び画像生成装置100に通信接続されたユーザ装置300を有する。
【0069】
ユーザ装置300が融合対象の画像をネットワークを介し画像生成装置100に指示すると、画像生成装置100は、受信した指示に基づいて、融合対象の画像の潜在情報を融合して融合潜在情報を生成する。そして、画像生成装置100は、生成した融合潜在情報を訓練済み生成モデルに入力して融合画像を生成し、生成した融合画像をユーザ装置300に送信する。ユーザ装置300は、画像生成装置100で生成された融合画像をネットワークを介し取得する。なお、ユーザによって指示された融合対象の潜在情報は、ブロックチェーン準拠コードにより表された潜在情報であってもよいし、ブロックチェーン準拠コードにより表されていない潜在情報であってもよい。
【0070】
また、
図18では、融合対象の潜在情報がユーザ装置300から画像生成装置100に送信されているが、ユーザに指示された2つのオリジン画像に関する情報がユーザ装置300から画像生成装置100に送信されるようにしてもよい。この場合、画像生成装置100が、ユーザからの指示に基づいて、融合対象となる潜在情報を取得してもよい。
【0071】
上述した実施例は画像生成に着目したが、本開示は、これに限定されず、動画、音声など、潜在情報から生成できる何れかのタイプの情報の生成に適用されてもよい。また、上述した画像生成技術は、キャラクタ等を新たに生成するゲームに利用されてもよい。
[画像生成装置、訓練装置及びユーザ装置のハードウェア構成]
実施形態における画像生成装置100、訓練装置200及びユーザ装置300において、各機能は、アナログ回路、デジタル回路又はアナログ・デジタル混合回路で構成された回路であってもよい。また、各機能の制御を行う制御回路を備えていてもよい。各回路の実装は、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等によるものであってもよい。
【0072】
上記の全ての記載において、画像生成装置100、訓練装置200及びユーザ装置300の少なくとも一部はハードウェアで構成されていてもよいし、ソフトウェアで構成され、ソフトウェアの情報処理によりCPU(Central Processing Unit)等が実施をしてもよい。ソフトウェアで構成される場合には、画像生成装置100、訓練装置200、ユーザ装置300及びその少なくとも一部の機能を実現するプログラムを記憶媒体に収納し、コンピュータに読み込ませて実行させるものであってもよい。記憶媒体は、磁気ディスク(例えばフレキシブルディスク)や光ディスク(例えばCD-ROMやDVD-ROM)等の着脱可能なものに限定されず、ハードディスク装置やメモリを利用するSSD(Solid State Drive)などの固定型の記憶媒体であってもよい。すなわち、ソフトウェアによる情報処理がハードウェア資源を用いて具体的に実装されるものであってもよい。さらに、ソフトウェアによる処理は、FPGA等の回路に実装され、ハードウェアが実行するものであってもよい。ジョブの実行は、例えば、GPU(Graphics Processing Unit)等のアクセラレータを使用して行ってもよい。
【0073】
例えば、コンピュータが読み取り可能な記憶媒体に記憶された専用のソフトウェアをコンピュータが読み出すことにより、コンピュータを上記の実施形態の装置とすることができる。記憶媒体の種類は特に限定されるものではない。また、通信ネットワークを介してダウンロードされた専用のソフトウェアをコンピュータがインストールすることにより、コンピュータを上記の実施形態の装置とすることができる。こうして、ソフトウェアによる情報処理が、ハードウェア資源を用いて、具体的に実装される。
【0074】
図19は、本開示の一実施形態におけるハードウェア構成の一例を示すブロック図である。画像生成装置100、訓練装置200及びユーザ装置300は、プロセッサ101と、主記憶装置102と、補助記憶装置103と、ネットワークインタフェース104と、デバイスインタフェース105と、を備え、これらがバス106を介して接続されたコンピュータ装置として実現できる。
【0075】
なお、
図14の画像生成装置100、訓練装置200及びユーザ装置300は、各構成要素を一つ備えているが、同じ構成要素を複数備えていてもよい。また、1台の画像生成装置100、訓練装置200及びユーザ装置300が示されているが、ソフトウェアが複数のコンピュータ装置にインストールされて、当該複数の画像生成装置100訓練装置200及びユーザ装置300それぞれがソフトウェアの異なる一部の処理を実行してもよい。この場合、複数の画像生成装置100、訓練装置200及びユーザ装置300それぞれがネットワークインタフェース104等を介して、通信してもよい。
【0076】
プロセッサ101は、画像生成装置100、訓練装置200及びユーザ装置300の制御部および演算装置を含む電子回路(処理回路、Processing circuit、Processing circuitry)である。プロセッサ101は、画像生成装置100、訓練装置200及びユーザ装置300の内部構成の各装置などから入力されたデータやプログラムに基づいて演算処理を行い、演算結果や制御信号を各装置などに出力する。具体的には、プロセッサ101は、画像生成装置100、訓練装置200及びユーザ装置300のOS(Operating System)や、アプリケーションなどを実行することにより、画像生成装置100、訓練装置200及びユーザ装置300を構成する各構成要素を制御する。プロセッサ101は、上記の処理を行うことができれば特に限られるものではない。画像生成装置100、訓練装置200、ユーザ装置300及びそれらの各構成要素は、プロセッサ101により実現される。ここで、処理回路とは、1チップ上に配置された1又は複数の電気回路を指してもよいし、2つ以上のチップあるいはデバイス上に配置された1又は複数の電気回路を指してもよい。複数の電子回路を用いる場合、各電子回路は有線又は無線により通信してもよい。
【0077】
主記憶装置102は、プロセッサ101が実行する命令および各種データなどを記憶する記憶装置であり、主記憶装置102に記憶された情報がプロセッサ101により直接読み出される。補助記憶装置103は、主記憶装置102以外の記憶装置である。なお、これらの記憶装置は、電子情報を格納可能な任意の電子部品を意味するものとし、メモリでもストレージでもよい。また、メモリには、揮発性メモリと、不揮発性メモリがあるが、いずれでもよい。画像生成装置100、訓練装置200及びユーザ装置300内において各種データを保存するためのメモリ、例えば、メモリは、主記憶装置102又は補助記憶装置103により実現されてもよい。例えば、メモリの少なくとも一部は、この主記憶装置102又は補助記憶装置103に実装されていてもよい。別の例として、アクセラレータが備えられている場合には、前述したメモリの少なくとも一部は、当該アクセラレータに備えられているメモリ内に実装されていてもよい。
【0078】
ネットワークインタフェース104は、無線又は有線により、通信ネットワーク108に接続するためのインタフェースである。ネットワークインタフェース104は、既存の通信規格に適合したものを用いればよい。ネットワークインタフェース104により、通信ネットワーク108を介して通信接続された外部装置109Aと情報のやり取りが行われてもよい。
【0079】
外部装置109Aは、例えば、カメラ、モーションキャプチャ、出力先デバイス、外部のセンサ、入力元デバイスなどが含まれる。また、外部装置109Aは、画像生成装置100、訓練装置200及びユーザ装置300の構成要素の一部の機能を有する装置でもよい。そして、画像生成装置100、訓練装置200及びユーザ装置300は、画像生成装置100、訓練装置200及びユーザ装置300の処理結果の一部を、クラウドサービスのように通信ネットワーク108を介して受け取ってもよい。
【0080】
デバイスインタフェース105は、外部装置109Bと直接接続するUSB(Universal Serial Bus)などのインタフェースである。外部装置109Bは、外部記憶媒体でもよいし、ストレージ装置でもよい。メモリは、外部装置109Bにより実現されてもよい。
【0081】
外部装置109Bは出力装置でもよい。出力装置は、例えば、画像を表示するための表示装置でもよいし、音声などを出力する装置などでもよい。例えば、LCD(Liquid Crystal Display)、CRT(Cathode Ray Tube)、PDP(Plasma Display Panel)、有機EL(ElectroLuminescence)ディスプレイ、スピーカなどがあるが、これらに限られるものではない。
【0082】
なお、外部装置109Bは入力装置でもよい。入力装置は、キーボード、マウス、タッチパネル、マイクロフォンなどのデバイスを備え、これらのデバイスにより入力された情報を画像生成装置100、訓練装置200及びユーザ装置300に与える。入力装置からの信号はプロセッサ101に出力される。
【0083】
例えば、本実施形態における画像生成装置100の潜在情報取得部110、潜在情報融合部120及び融合画像生成部130等は、1又は複数のプロセッサ101により実現されてもよい。また、画像生成装置100、訓練装置200及びユーザ装置300のメモリは、主記憶装置102又は補助記憶装置103により実現されてもよい。また、制御装置100は、1又は複数のメモリを搭載してもよい。
【0084】
本明細書において、"a,bおよびcの少なくとも1つ"は、a,b,c,a-b,a-c,b-c,a-b-cの組み合わせだけでなく、a-a,a-b-b,a-a-b-b-c-cなどの同じ要素の複数の組み合わせも含む表現である。また、a-b-c-dの組み合わせのように、a,b,c以外の要素を含む構成もカバーする表現である。
【0085】
同様に、本明細書において、"a,b又はcの少なくとも1つ"は、a,b,c,a-b,a-c,b-c,a-b-cの組み合わせだけでなく、a-a,a-b-b,a-a-b-b-c-cなどの同じ要素の複数の組み合わせも含む表現である。また、a-b-c-dの組み合わせのように、a,b,c以外の要素を含む構成もカバーする表現である。
【0086】
以上、本開示の実施例について詳述したが、本開示は上述した特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本開示の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0087】
10 画像生成システム
100 画像生成装置
101 プロセッサ
102 主記憶装置
103 補助記憶装置
104 ネットワークインタフェース
105 デバイスインタフェース
108 通信ネットワーク
109A,B 外部装置
110 潜在情報取得部
120 潜在情報融合部
130 融合画像生成部
200 訓練装置
300 ユーザ装置