JP6908863B2 - 信号変更装置、方法、及びプログラム - Google Patents

信号変更装置、方法、及びプログラム Download PDF

Info

Publication number
JP6908863B2
JP6908863B2 JP2019515732A JP2019515732A JP6908863B2 JP 6908863 B2 JP6908863 B2 JP 6908863B2 JP 2019515732 A JP2019515732 A JP 2019515732A JP 2019515732 A JP2019515732 A JP 2019515732A JP 6908863 B2 JP6908863 B2 JP 6908863B2
Authority
JP
Japan
Prior art keywords
attribute
signal
value
hidden variable
hidden
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
JP2019515732A
Other languages
English (en)
Other versions
JPWO2018203549A1 (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2018203549A1 publication Critical patent/JPWO2018203549A1/ja
Application granted granted Critical
Publication of JP6908863B2 publication Critical patent/JP6908863B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning
    • G06F3/04855Interaction with scrollbars
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Probability & Statistics with Applications (AREA)
  • Processing Or Creating Images (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Description

本発明は、信号を変更するための信号変更装置、方法、及びプログラムに関する。
本願は、2017年5月2日に、日本へ出願された特願2017−091733号に基づき優先権を主張し、その内容をここに援用する。
従来より、画像を直接編集する方法が知られている(非特許文献1)。
また、画像の属性を1次元のベクトルで表現し(cVAE:conditional variational auto-encoder)、画像を編集する方法が知られている(非特許文献2)。
また、属性ベクトル(attribute vector)を以下のように計算し、計算された属性ベクトルを目的画像に付加する方法が知られている(非特許文献3)。
(attribute vector) = (ある属性を含む画像の隠れ変数の平均)−(ある属性を含まない画像の隠れ変数の平均)
なお、隠れ変数とは、画像を表現するのに有用なエッセンスのようなものである。
上記非特許文献1に記載の方法では、顔が正面を向いている、髪が短い/髪を束ねている、化粧が薄い/化粧なし、などの強い制約条件があるため、多様な入力データに対応することは困難である。
また、上記非特許文献2に記載の方法では、属性を1次元で表現しているため、表現能力が不十分である。
また、上記非特許文献3に記載の方法では、画像から抽出される隠れ変数内で、個体性と属性とが分離されていないため、画像を編集しにくい。
本発明は、上記事情を考慮して成されたものであり、画像などの信号を適切に変更することができる信号変更装置、方法、及びプログラムを提供することを目的とする。
本発明の一態様は、取得された信号を出力する信号出力部と、前記取得された信号が表現する対象を構成する要素、又は信号発生源に関する属性の値の変更指示を受付可能な状態で、前記属性の値を表示する信号属性値表示部と、前記属性の値の前記変更指示を受け付けると、変更後の属性の値を取得する変更後属性値取得部と、前記変更後属性値取得部によって取得された前記変更後の前記属性の値に基づいて、前記変更指示を受け付けた属性の値を変更する変更部と、前記属性の値が変更された、変更後の信号を出力する変更後信号出力部と、を含む信号変更装置である。
本発明の一態様は上記の信号変更装置であって、前記取得された信号および前記変更後の信号の各々は、画像であり、前記属性は、前記画像が表現する被写体を構成する要素に関する属性である。
本発明の一態様は上記の信号変更装置であって、前記信号属性値表示部は、前記属性の値の前記変更指示を受付可能な前記状態として、前記属性の値を示すコントローラで、前記属性の値を表示する。
本発明の一態様は、入力された信号の属性を表す隠れ変数を抽出する変数抽出部と、前記変数抽出部によって抽出された前記隠れ変数の値を、転写元の信号から抽出された属性を表す隠れ変数の値に置き換えることにより、前記抽出された前記隠れ変数の値を変更する変更部と、前記変更部によって変更された前記隠れ変数から、信号を生成する信号生成部と、を含む信号変更装置である。
本発明の一態様は上記の信号変更装置であって、前記取得された信号から、前記信号の個体性を表す第1の隠れ変数と、前記第1の隠れ変数とは独立した第2の隠れ変数であって前記信号の各属性を表す隠れ変数又は前記隠れ変数に基づく隠れ変数と、を含む複数の隠れ変数を抽出し、前記取得された信号に基づく属性ベクトルを用いて前記第2の隠れ変数を変換することにより前記変更後の信号の各属性を表す第3の隠れ変数を取得する変数抽出部をさらに備え、前記信号属性値表示部は、前記第3の隠れ変数を出力し、前記変更部は、前記変更後属性値取得部によって取得された前記変更後の前記属性の値に基づいて、前記第3の隠れ変数の値を変更する。
本発明の一態様は上記の信号変更装置であって、前記変更部は、前記変更後属性値取得部によって取得された前記変更後の前記属性の値に基づいて前記第3の隠れ変数の値を置換し、置換後の第3の隠れ変数の値と、前記第1の隠れ変数の値と、予め学習された少なくとも1つのニューラルネットワークと、を用いて前記変更後の信号を生成する信号生成部をさらに備える。
本発明の一態様は上記の信号変更装置であって、前記少なくとも1つのニューラルネットワークは、信号の個体性を表す第1の隠れ変数と、前記第1の隠れ変数とは独立した第2の隠れ変数であって前記信号の各属性を表す隠れ変数又は前記隠れ変数に基づく隠れ変数を属性ベクトルにより変換した第3の隠れ変数と、に基づいて、信号を生成する生成器としての第1のニューラルネットワークと、前記生成器により生成される信号が真の信号と同一の分布に従うか否かを識別する識別器としての第2のニューラルネットワークとを互いに競合する最適化条件に従って学習することにより生成される。
本発明の一態様は、上記の信号変更装置を構成する各部として機能させるためのプログラムである。
本発明の一態様は、信号出力部が、取得された信号を出力し、信号属性値表示部が、前記取得された信号が表現する対象を構成する要素、又は信号発生源に関する属性の値の変更指示を受付可能な状態で、前記属性の値を表示し、変更後属性値取得部が、前記属性の値の前記変更指示を受け付けると、変更後の属性の値を取得し、変更部が、前記変更後属性値取得部によって取得された前記変更後の前記属性の値に基づいて、前記変更指示を受け付けた属性の値を変更し、変更後信号出力部が、前記属性の値が変更された、変更後の信号を出力する、信号変更方法である。
本発明の一態様は、変数抽出部が、入力された信号の隠れ変数を抽出し、変更部が、前記変数抽出部によって抽出された前記隠れ変数の値を変更し、信号生成部が、前記変更部によって変更された前記隠れ変数から、信号を生成する、信号変更方法である。
本発明の一態様は、変数抽出部が、入力された信号の属性を表す隠れ変数を抽出し、変更部が、前記変数抽出部によって抽出された前記隠れ変数の値を、転写元の信号から抽出された属性を表す隠れ変数の値に置き換えることにより、前記抽出された前記隠れ変数の値を変更し、信号生成部が、前記変更部によって変更された前記隠れ変数から、信号を生成する、信号変更方法である。
本発明の信号変更装置、方法、及びプログラムによれば、信号を適切に変更することができる、という効果が得られる。
本発明の第1の実施の形態における属性変更画面のイメージ図である。 本発明の第1の実施の形態におけるエンコーダの概念図である。 本発明の第1の実施の形態における生成器の概念図である。 生成器及び識別器を学習する方法を説明するための図である。 本発明の第1および第2の実施の形態に係る信号変更装置の構成を示すブロック図である。 本発明の第1および第2の実施の形態に係る信号変更装置における学習処理ルーチンを示すフローチャートである。 本発明の第1および第2の実施の形態に係る信号変更装置における生成処理ルーチンを示すフローチャートである。 本発明の第2の実施の形態における生成器の概念図である。 本発明の第2の実施の形態における生成器、識別器、及び近似分布の概念図である。 音声信号の属性を変更するための属性変更画面のイメージ図である。 テキストデータの属性を変更するための属性変更画面のイメージ図である。 動画データの属性を変更するための属性変更画面のイメージ図である。 本発明の第2の実施の形態における生成器、識別器、及び近似分布の概念図である。
以下、図面を参照して本発明の実施の形態を詳細に説明する。
<本発明の第1の実施の形態に係る概要>
まず、本発明の第1の実施の形態における概要を説明する。
第1の実施の形態では、図1に示すように、従来の画像編集ソフトと同様に、属性の値に対応するスライドバー96を動かしたり、属性の値に対応するラジオボタン94をクリックしたりすることで、属性を自由自在にコントロールして画像を変更することができるようにする。
ここで、世の中には多様なデータが存在する。例えば、様々な顔の向きに対応する画像、様々な照明条件に対応する画像、様々な年齢に対応する画像、様々な表情に対応する画像がある。
そこで、本実施の形態では、画像を直接編集するのではなく、図2に示すようなニューラルネットワークEを用いて、隠れ変数(画像を表現するのに有用なエッセンスのようなもの)を抽出し、隠れ変数の値を変更する。
また、一つの属性の中にも多様性が存在する。例えば、一言に「前髪」と言っても様々な形状が存在する。
そこで、本実施の形態では、図3に示すように、属性毎に、複数の隠れ変数で各属性を表現する。具体的には、複数の隠れ変数を個体性を表現する隠れ変数と属性を表現する隠れ変数とに分離することで、属性をコントロールしやすくする。属性毎に、複数の隠れ変数で各属性を表現することにより、十分な表現能力を得る。属性が離散的な値で表現される場合、属性が取り得る離散的な値で定められた区間における任意の値を取り得る連続値で隠れ変数を表現してもよい。連続値を有する隠れ変数で各属性を表現することにより、生成器2は、十分な表現能力を得る。同様に、属性がある分布で表現される場合、それよりもより詳細な分布で隠れ変数を表現してもよい。より詳細な分布に従う隠れ変数で各属性を表現することにより、生成器2は、十分な表現能力を得る。なお、複数の隠れ変数のうち、後述する属性ベクトルyにより制約が付与される隠れ変数(図3では隠れ変数z)が属性を表現する隠れ変数である。また、複数の隠れ変数のうち、属性ベクトルyによる制約が付与されない隠れ変数(図3では隠れ変数z)が個体性を表現する隠れ変数である。
また、エンコーダ1(図2)及び生成器2(図3)の構造を愚直に学習しようとする場合、真のデータと、エンコーダ1及び生成器2を介して生成されたデータとの誤差が小さくなるように学習することになる。このとき、隠れ変数と、属性ベクトルyとがそれぞれ何を表すかについて明確な制約を与えられない。
そこで、本実施の形態では、図4に示すように、生成器2の学習時にCFGAN(Conditional Filtered generative adversarial networks)を一緒に学習する。このとき、CFGANは、あるデータ分布から生成した隠れ変数に基づいて生成した画像が、属性ベクトルyに応じて、ある属性を含み、または、ある属性を含まないように制約を付与する。また、識別器3は、属性ベクトルyが表す各属性の有無又は正負の下で、生成された画像が真の画像と同一の分布に従うか否かを識別する。すなわち、識別器3は、生成された画像が真の画像であるか否かを識別する。なお、属性の正負とは、後述するように、例えば「男性/女性」である。これにより、様々な隠れ変数z、zがそれぞれ個体性、属性を表現するように制約を与えることができる。
また、本実施の形態では、画像の属性を変更する際に、個体性を保持したまま属性を変更する。
<本発明の第1の実施の形態に係る信号変更装置の構成>
次に、本発明の第1の実施の形態に係る信号変更装置の構成について説明する。図5に示すように、本発明の第1の実施の形態に係る信号変更装置100は、CPU(Central Processing Unit)と、RAM(Random Access Memory)と、後述する学習処理ルーチン及び生成処理ルーチンを実行するためのプログラムや各種データを記憶したROM(Read Only Memory)と、を含むコンピュータで構成することが出来る。図5に示すように、この信号変更装置100は、機能的には、入力部10と、演算部20と、出力部90とを備えている。
入力部10は、学習データとして、画像データx及び属性ベクトルyの複数のペアを受け付ける。また、入力部10は、変更対象となる画像データxを受け付ける。
演算部20は、学習部30と、ニューラルネットワーク記憶部40と、予測部50と、変数抽出部52と、信号出力部53と、信号属性値表示部54と、変更後属性値取得部56と、予測部58と、変数抽出部60と、変更部62と、信号生成部64と、変更後信号出力部66とを含んでいる。
学習部30は、入力された学習データに基づいて、生成器2としてのニューラルネットワークGと、識別器3としてのニューラルネットワークDとが、互いに競合する最適化条件に従うように、これらニューラルネットワークを学習する。生成器2としてのニューラルネットワークGは、生成された個体性を表す隠れ変数zと各属性を表す隠れ変数z’とを入力とし、個体性を表す隠れ変数z及び各属性を表す隠れ変数z’から、画像データを生成する。識別器3としてのニューラルネットワークDは、生成された画像データが、画像データの各属性を表す属性ベクトルyの下で真の画像データxと同一の分布に従うか否かを識別する。すなわち、識別器3としてのニューラルネットワークDは、生成された画像データが真の画像データxであるか否かを識別する。属性ベクトルyは、例えば、属性の有無や正負を表す。しかし、属性ベクトルyは、特にこれらに限定されるものではない。生成器2としてのニューラルネットワークGへの入力となる各属性を表す隠れ変数z’は、属性ベクトルyの値により、各属性を表す隠れ変数zを変換することにより得られる。変換の一例としては、属性ベクトルyが属性の有無を表す場合(すなわち、属性が有る場合にはy=1、属性が無い場合にはy=0)に、以下の式に示すように、生成された各属性を表す隠れ変数zと属性ベクトルyとを掛け合わせることが考えられる。
Figure 0006908863
あるいは、属性ベクトルyが属性の正負を表す場合に、以下の式に示すように、生成された各属性を表す隠れ変数zに対して、属性ベクトルyに応じて正の値(|z|)(y=1の場合)または負の値(−|z|)(y=0の場合)を与えることが考えられる。
Figure 0006908863
具体的には、学習部30は、入力された学習データの画像データxと属性ベクトルyと、あるデータ分布から生成された個体性を表す隠れ変数zと各属性を表す隠れ変数zとを入力とする。ここで、画像データxが顔画像データである場合には、属性ベクトルyが、「メガネ」、「化粧」、「髭」、「前髪」の各々の有無や、「男性/女性」、「笑顔でない/笑顔」、「老けている/若い」の区別を表し、属性を表す隠れ変数zが、各属性内の多様性(例:どんなメガネか?を表現)を表す。学習部30は、個体性を表す隠れ変数zと各属性を表す隠れ変数zとを乱数を用いて生成してもよい。
また、あるデータ分布から属性を表す隠れ変数zを生成する際には、例えば、属性を表す隠れ変数zが離散的である場合、学習部30は、以下の式に従って、属性を表す隠れ変数zを生成する。
Figure 0006908863
ただし、kは、カテゴリ数(離散的な値の数)を表す。また、Catは、カテゴリ数Kの各カテゴリを示す値からなる分布であり、pは確率である。
また、属性を表す隠れ変数zが連続的である場合には、学習部30は、以下の式に従って、属性を表す隠れ変数zを生成する。
Figure 0006908863
ただし、Unif(−1,1)は、値の範囲を−1から1までとした一様分布である。
なお、他の分布に従う隠れ変数zや変換を採用することができる。例えば、隠れ変数zの分布として、一様分布(Unif(−1,1))ではなく、正規分布を用いることが可能であり、また、値の範囲を変更することも可能である。
また、学習部30は、生成された個体性を表す隠れ変数zと各属性を表す隠れ変数z’とを入力とし、生成器2としてのニューラルネットワークGを用いて、画像データを生成する。このとき、生成器2としてのニューラルネットワークGの入力となる各属性を表す隠れ変数z’は、属性ベクトルyの値により、各属性を表す隠れ変数zを変換することにより得られる。
そして、学習部30は、生成された画像データを、なるべく識別器3が、属性ベクトルyの下で真の画像データと同一の分布に従うと識別する制約を満たすように、生成器2としてのニューラルネットワークGのパラメータを更新する。すなわち、生成された画像を真の画像データであると識別器3が識別するように、生成器2としてのニューラルネットワークGのパラメータが更新される。
また、学習部30は、生成された画像データを、なるべく識別器3が、属性ベクトルyの下で真の画像データと同一の分布に従わないと識別する制約を満たし、かつ、真の画像データxを、識別器3が、真の画像データと同一の分布に従うと識別する制約を満たすように、識別器3としてのニューラルネットワークDのパラメータを更新する。
なお、生成器2としてのニューラルネットワークGと、識別器3としてのニューラルネットワークDとが、互いに競合する最適化条件は、以下の式で表わされる。
Figure 0006908863
ただし、
Figure 0006908863
は、学習データから、真の画像データxと属性ベクトルyをサンプリングすることを表す。
また、
Figure 0006908863
は、個体性を表す隠れ変数zを、あるデータ分布から生成することを表す。例えば、個体性を表す隠れ変数zを、乱数で生成する。
また、
Figure 0006908863
は、属性を表す隠れ変数zを、あるデータ分布から生成することを表す。例えば、属性を表す隠れ変数zを、乱数で生成する。
また、
Figure 0006908863
は、学習データから、属性ベクトルyをサンプリングすることを表す。
また、Eは期待値を表す。
学習部30は、上記の処理を、学習データ毎に行って、生成器2としてのニューラルネットワークGのパラメータと、識別器3としてのニューラルネットワークDのパラメータとを繰り返し更新する。
最終的に得られた、生成器2としてのニューラルネットワークGと、識別器3としてのニューラルネットワークDは、ニューラルネットワーク記憶部40に記憶される。
次に、学習部30は、図2に示すように、入力された学習データに含まれる画像データxを入力とし、エンコーダ1としてのニューラルネットワークEを用いて、個体性を表す隠れ変数zと各属性を表す隠れ変数zを抽出する。
また、学習部30は、図3に示すように、抽出された個体性を表す隠れ変数zと、各属性を表す隠れ変数z’とを入力とし、生成器2としてのニューラルネットワークGを用いて、画像データG(z、z、y)を生成する。このとき、各属性を表す隠れ変数z’は、属性ベクトルyの値により、エンコーダ1としてのニューラルネットワークEが出力する各属性を表す隠れ変数zを変換することにより得られる。なお、図3において、fは、変換に使用するフィルタ関数である。変換の一例としては、エンコーダ1としてのニューラルネットワークEが出力する各属性を表す隠れ変数zと属性ベクトルyとを掛け合わせることが考えられる。
また、学習部30は、生成された画像データが、元の画像データxと同じになる制約を満たすように、エンコーダ1としてのニューラルネットワークEのパラメータを更新する。
学習部30は、上記の処理を、学習データ毎に行って、エンコーダ1としてのニューラルネットワークEのパラメータを繰り返し更新する。
最終的に得られたエンコーダ1としてのニューラルネットワークEは、ニューラルネットワーク記憶部40に記憶される。
予測部50は、入力部10で受け付けた変更対象の画像データxを、属性ベクトルyを予測するための予測器(図示せず)としての予め学習されたニューラルネットワーク(例えば、CNN(Convolutional Neural Networks))に入力し、属性ベクトルyを予測する。
予測器としてのニューラルネットワークは、属性ベクトルyを出力する。属性ベクトルyは、例えば、各属性の有無又は正負の分類である。しかし、属性ベクトルyは、特にこれらに限定されない。
変数抽出部52は、入力された変更対象の画像データxを入力とし、ニューラルネットワーク記憶部40に記憶された、エンコーダ1としてのニューラルネットワークEを用いて、変更対象の画像データxの個体性を表す隠れ変数z及び各属性を表す隠れ変数zを抽出する。また、変数抽出部52は、抽出された各属性を表す隠れ変数zと、予測部50によって予測された属性ベクトルyとに基づいて、各属性を表す隠れ変数z’を求める。このとき、各属性を表す隠れ変数z’は、予測部50によって予測された属性ベクトルyの値により、変数抽出部52によって抽出された各属性を表す隠れ変数zを変換することにより得られる。変換の一例としては、各属性を表す隠れ変数zと属性ベクトルyとを掛け合わせることが考えられる。各属性は、属性毎に、複数の隠れ変数zにより表現されるため、属性ベクトルyの要素は、各属性が対応する複数の隠れ変数の全てに掛け合わされる。
信号出力部53は、出力部90により、上記図1に示すように、属性変更画面92の画像表示領域98Aに、入力された変更対象の画像データxを表示させる。
信号属性値表示部54は、変更対象の画像データxの各属性を表す隠れ変数z’を、値の変更指示を受付可能な状態で出力部90に表示させる。具体的には、上記図1に示すように、属性変更画面92に、各属性を表す隠れ変数z’の値の変更指示を受付可能な状態として、各属性を表す隠れ変数z’の値を示すラジオボタン94又はスライドバー96などの任意のコントローラで隠れ変数z’の値を表示する。
また、属性変更画面92の参照画像表示領域98Bには、属性の転写元となる参照画像データが表示され、参照画像表示領域98Bに対応して、参照画像データを選択するためのラジオボタン94が表示されている。なお、参照画像データの取得方法は、特に限定されない。例えば、入力部10を介して外部のネットワークなどから参照画像データを随時取得してもよいし、入力部10を介して予め参照画像データを取得し、取得した参照画像データを記憶部(図示せず)に記憶しておくようにしてもよい。
変更後属性値取得部56は、属性変更画面92において、変更対象の属性を表す隠れ変数z’の値の変更指示(例えば、属性を表す隠れ変数z’の値を示すラジオボタン94又はスライドバー96に対する操作)を受け付けると、変更対象の属性を表す隠れ変数z’の変更後の値を取得する。
ラジオボタン94に対する操作を受け付けた場合には、変更後属性値取得部56は、操作されたラジオボタン94に対して予め定められた、変更対象の属性を表す隠れ変数z’の変更後の値を取得する。
また、属性「前髪」や属性「化粧」など、属性の有無に関わる隠れ変数に対応するスライドバー96に対する操作を受け付けた場合には、変更後属性値取得部56は、操作されたスライドバー96の位置に対して予め定められた、変更対象の属性を表す隠れ変数z’の変更後の値を取得する。
また、属性「男性/女性」や属性「笑顔でない/笑顔」など、属性の正負に関わる隠れ変数に対応するスライドバー96に対する操作を受け付けた場合には、変更後属性値取得部56は、操作されたスライドバー96の位置に対して予め定められた、変更対象の属性を表す隠れ変数z’の変更後の値を取得する。
また、属性変更画面92において、参照画像データを選択するためのラジオボタン94に対する操作を受け付けた場合には、まず、予測部58は、選択された参照対象の画像データxを、属性ベクトルyを予測するための予め学習されたニューラルネットワーク(CNN)(図示せず)に入力し、属性ベクトルyを予測する。また、変数抽出部60は、選択された参照対象の画像データxを入力とし、ニューラルネットワーク記憶部40に記憶された、エンコーダ1としてのニューラルネットワークEを用いて、参照対象の画像データxの個体性を表す隠れ変数z及び各属性を表す隠れ変数zを抽出する。そして、変数抽出部60は、予測部58によって予測された属性ベクトルyの値により、抽出された各属性を表す隠れ変数zを変換することにより、参照対象の画像データxの各属性を表す隠れ変数z’を求める。変更後属性値取得部56は、参照対象の画像データxの各属性を表す隠れ変数z’を、変更対象の属性を表す隠れ変数z’の変更後の値として取得する。
変更部62は、変数抽出部52によって求められた各属性を表す隠れ変数z’のうち、変更後属性値取得部56によって取得した変更対象の属性を表す隠れ変数z’の値を、変更後の値で置き換えることにより、変更対象の属性を表す隠れ変数z’の値を変更する。
信号生成部64は、変数抽出部52によって抽出された個体性を表す隠れ変数zと、変更部62による変更後の各属性を表す隠れ変数z’とを入力とし、ニューラルネットワーク記憶部40に記憶された、生成器2としてのニューラルネットワークGを用いて、画像データを生成する。
変更後信号出力部66は、出力部90により、上記図1に示すように、属性変更画面92の画像表示領域98Aに、信号生成部64によって生成された画像データを表示させる。
<本発明の第1の実施の形態に係る信号変更装置の作用>
次に、本発明の第1の実施の形態に係る信号変更装置100の作用について説明する。信号変更装置100は、以下に説明する学習処理ルーチンと生成処理ルーチンを実行する。
まず、学習処理ルーチンについて説明する。入力部10が、学習データとして、画像データxと属性ベクトルyとの複数のペアを受け付けると、信号変更装置100は、図6に示す学習処理ルーチンを実行する。
まず、ステップS100では、学習部30が、入力部10で受け付けた複数の学習データのうちの何れか一つを取得する。
次に、ステップS102では、学習部30が、あるデータ分布から個体性を表す隠れ変数zと各属性を表す隠れ変数zを生成する。
ステップS104では、学習部30が、ステップS100で取得した属性ベクトルyの値により、ステップS102で生成された各属性を表す隠れ変数zを変換することにより、各属性を表す隠れ変数z’を求める。
そして、ステップS106では、学習部30が、上記ステップS102およびステップS104でそれぞれ求められた、個体性を表す隠れ変数zと、変換により得られた各属性を表す隠れ変数z’とを入力とし、生成器2としてのニューラルネットワークGを用いて、画像データxを生成する。
ステップS108では、学習部30が、上記ステップS102で生成された個体性を表す隠れ変数zと、各属性を表す隠れ変数z’と、上記ステップS106で生成された画像データxと、ステップS100で得た学習データに含まれる画像データx及び属性ベクトルyとに基づいて、生成器2としてのニューラルネットワークGのパラメータ、及び識別器3としてのニューラルネットワークDのパラメータを更新する。
ステップS110では、学習部30が、全ての学習データについて、上記ステップS100〜S108の処理を実行したか否かを判定する。上記ステップS100〜S108の処理を実行していない学習データが存在する場合、学習部30は、処理を上記ステップS100へ戻し、当該学習データを取得する。一方、全ての学習データについて、上記ステップS100〜S108の処理を実行した場合には、学習部30は、最終的に得られた、生成器2としてのニューラルネットワークGのパラメータ、及び識別器3としてのニューラルネットワークDのパラメータを、ニューラルネットワーク記憶部40に格納する。
次に、ステップS112では、学習部30が、入力部10で受け付けた複数の学習データのうちの何れか一つを取得する。
ステップS114では、学習部30が、ステップS112で得た学習データに含まれる画像データxと属性ベクトルyとを入力として、エンコーダ1としてのニューラルネットワークEを用いて、個体性を表す隠れ変数zと各属性を表す隠れ変数zを抽出する。また、学習部30は、抽出された個体性を表す隠れ変数zと、各属性を表す隠れ変数z’とを入力とし、生成器2としてのニューラルネットワークGを用いて、画像データを生成する。このとき、各属性を表す隠れ変数z’は、当該画像データの属性ベクトルyの値により、抽出された各属性を表す隠れ変数zを変換することにより得られる。
ステップS116では、学習部30が、生成された画像データと、ステップS112で得た学習データに含まれる画像データxとに基づいて、エンコーダ1としてのニューラルネットワークEのパラメータを更新する。
ステップS118では、学習部30が、全ての学習データについて、上記ステップS112〜S116の処理を実行したか否かを判定する。上記ステップS112〜S116の処理を実行していない学習データが存在する場合、学習部30は、処理を上記ステップS112へ戻し、当該学習データを取得する。一方、全ての学習データについて、上記ステップS112〜S116の処理を実行した場合には、学習部30は、学習処理ルーチンを終了し、最終的に得られたエンコーダ1としてのニューラルネットワークEのパラメータを、ニューラルネットワーク記憶部40に格納する。
次に、生成処理ルーチンについて説明する。入力部10が、変更対象となる画像データを受け付けると、信号変更装置100は、図7に示す生成処理ルーチンを実行する。
ステップS150では、信号出力部53が、出力部90により、上記図1に示すように、属性変更画面92の画像表示領域98Aに、入力された変更対象の画像データを表示させる。
ステップS152では、予測部50が、入力部10で受け付けた変更対象となる画像データに基づいて、予め学習された予測器としてのニューラルネットワークを用いて、属性ベクトルyを予測する。
ステップS154では、変数抽出部52が、入力部10で受け付けた変更対象となる画像データを入力として、ニューラルネットワーク記憶部40に記憶された、エンコーダ1としてのニューラルネットワークEを用いて、個体性を表す隠れ変数zと各属性を表す隠れ変数zを抽出する。また、変数抽出部52は、抽出された各属性を表す隠れ変数zと、上記ステップS152で予測された属性ベクトルyとに基づいて、各属性を表す隠れ変数z’を求める。このとき、各属性を表す隠れ変数z’は、予測された属性ベクトルyの値により、抽出された各属性を表す隠れ変数zを変換することにより得られる。
ステップS156では、信号属性値表示部54が、上記ステップS154で求められた変更対象の画像データxの各属性を表す隠れ変数z’を、値の変更指示を受付可能な状態で出力部90に表示させる。具体的には、信号属性値表示部54は、上記図1に示すように、属性変更画面92に、各属性を表す隠れ変数z’の値の変更指示を受付可能な状態として、各属性を表す隠れ変数z’の値を示すラジオボタン94又はスライドバー96で、隠れ変数z’の値を表示する。また、信号属性値表示部54は、属性変更画面92の参照画像表示領域98Bに、予め用意された属性の転写元となる参照画像データを表示する。
ステップS158では、変更後属性値取得部56が、属性変更画面92において、変更対象の属性を表す隠れ変数z’の値の変更指示(例えば、属性を表す隠れ変数z’の値を示すラジオボタン94又はスライドバー96に対する操作)を受け付けると、変更対象の属性を表す隠れ変数z’の変更後の値を取得する。
また、属性変更画面92において、参照画像データを選択するためのラジオボタン94に対する操作を受け付けた場合には、予測部58が、選択された参照対象の画像データを、属性ベクトルyを予測するための予め学習されたニューラルネットワークに入力し、属性ベクトルyを予測する。また、変数抽出部60は、選択された参照対象の画像データxを入力とし、ニューラルネットワーク記憶部40に記憶された、エンコーダ1としてのニューラルネットワークEを用いて、参照対象の画像データxの個体性を表す隠れ変数z及び各属性を表す隠れ変数zを抽出する。そして、変数抽出部60は、予測された属性ベクトルyの値により、抽出された各属性を表す隠れ変数zを変換することにより、参照対象の画像データxの各属性を表す隠れ変数z’を求める。変更後属性値取得部56は、参照対象の画像データxの各属性を表す隠れ変数z’を、変更対象の属性を表す隠れ変数z’の変更後の値として取得する。
ステップS160では、変更部62が、上記ステップS154で求められた各属性を表す隠れ変数z’のうち、上記ステップS158で取得した変更対象の属性を表す隠れ変数z’の値を、変更後の値で置き換えることにより、変更対象の属性を表す隠れ変数za’を変更する。
そして、ステップS162では、信号生成部64が、上記ステップS154で抽出された個体性を表す隠れ変数zと、ステップS160において変更処理が行われた各属性を表す隠れ変数z’とを入力とし、ニューラルネットワーク記憶部40に記憶された、生成器2としてのニューラルネットワークGを用いて、画像データを生成する。
そして、ステップS164では、変更後信号出力部66が、出力部90により、上記図1に示すように、属性変更画面92の画像表示領域98Aに、生成された画像データを表示させて、生成処理ルーチンを終了する。
以上説明したように、本発明の第1の実施の形態に係る信号変更装置は、変更対象の画像データについて抽出された各属性を表す隠れ変数の値の変更指示を受付可能な状態で、属性を表す隠れ変数の値を表示し、属性を表す隠れ変数の値の変更指示を受け付けると、変更後の属性を表す隠れ変数の値に基づいて属性が変更された、変更後の画像データを出力する。これにより、画像データを適切に変更することができる。
また、本発明の第1の実施の形態に係る信号変更装置は、エンコーダ1としてのニューラルネットワークEを用いて、入力された画像データの隠れ変数を抽出し、抽出された隠れ変数の値を変更し、変更された隠れ変数を入力とし、生成器2としてのニューラルネットワークGを用いて、画像データを生成する。これにより、画像データを適切に変更することができる。
また、本発明の第1の実施の形態に係る信号変更装置は、属性毎に、複数の隠れ変数を有するため、属性の多様性を表現することができる。また、本発明の第1の実施の形態に係る信号変更装置は、一つの属性に対する複数の隠れ変数のうちの一つの隠れ変数の値だけをコントロールすることができる。例えば、属性(例えば眼鏡)だけを変える場合は、個体性を表す隠れ変数zを固定して、多次元の隠れ変数zの各次元をインタラクティブに変更すればよい。属性を維持したまま個体性だけを変える場合は、各属性を表す隠れ変数zを固定して、個体性を表す隠れ変数zを変更すればよい。
また、本発明の第1の実施の形態に係る信号変更装置は、画像データにおける個体性を表す隠れ変数、及び各属性を表す隠れ変数を生成し、入力された真の画像データと、入力された、生成しようとする画像データにおける各属性を表す属性ベクトルと、生成された個体性を表す隠れ変数、及び各属性を表す隠れ変数とに基づいて、生成器2としてのニューラルネットワークGと、生成された画像データが、属性ベクトルの下で真の画像データと同一の分布に従うか否かを識別する識別器3としてのニューラルネットワークDとを、互いに競合する最適化条件に従って学習する。これにより、属性を制御しつつ、画像データを生成することができる生成器2としてのニューラルネットワークGおよび識別器3としてのニューラルネットワークDを学習することができる。
なお、上記の実施の形態では、互いに競合する最適化条件に従って、生成器2としてのニューラルネットワークGと、識別器3としてのニューラルネットワークDとを学習する場合を例に説明した。しかし、制約は、これに限定されるものではない。例えば、各隠れ変数が独立なものを表現するように制約を更に設けてもよい。具体的には、以下の式に示す、隠れ変数z’と、隠れ変数z’から生成された画像データとの相関(情報量)が大きくなるように制約を更に設ける。
Figure 0006908863
なお、I(z’;G(z,z,y)|y)は、属性ベクトルyが与えられたときの隠れ変数z’と画像データG(z、z、y)との相互情報量を表す。Hは、条件付きエントロピーを表す。DKLはカルバック・ライブラー情報量(Kullback-Leibler divergence)を表す。P(z’|x,y)は、画像データxおよび属性ベクトルyが与えられたときの隠れ変数z’の分布を表す。z^’(^はzの上に付される)は、P(z’|x,y)の分布に従って得られた隠れ変数である。
P(z’|x,y)は未知であるため、上記の情報量Iを直接求めることは困難である。そのため、上記のように、P(z’|x,y)を近似する近似分布Q(z’|x,y)を導入して、変分法を使い、情報量Iの下限を最大化するように、近似分布Q(z’|x,y)を推定するニューラルネットワークを学習すると共に、互いに競合する最適化条件の最適化を行う。これにより、属性「メガネ」に対する複数の隠れ変数が隠れ変数z と隠れ変数z とを含み、かつ、属性「メガネ」に対する隠れ変数z がサングラスを表す場合に、隠れ変数z がサングラス以外の眼鏡を表現するようになる。
また、上記の第1の実施の形態では、エンコーダ1としてのニューラルネットワークEが、属性を表す隠れ変数zと個体性を表す隠れ変数zを同時に推定する場合を例に説明した。しかし、隠れ変数の推定方法は、これに限定されるものではない。例えば、エンコーダ1としてのニューラルネットワークEが、属性を表す隠れ変数zではなく、属性を表す隠れ変数z’を直接推定することにより、属性を表す隠れ変数z’と個体性を表す隠れ変数zを同時に推定するようにしてもよい。
また、生成器2としてのニューラルネットワークGの学習の際に、近似分布Q(z’|x,y)を推定するニューラルネットワークを一緒に学習した場合は、この近似分布を推定するニューラルネットワークを用いて、属性を表す隠れ変数z’を推定するようにし、エンコーダ1としてのニューラルネットワークEは、個体性を表す隠れ変数zだけを推定するようにしてもよい。
また、エンコーダ1としてのニューラルネットワークEを使わずに、生成器2としてのニューラルネットワークGに任意の個体性を表す隠れ変数zを入力し、生成器2としてのニューラルネットワークGの出力が目的画像xに近づくように勾配法で個体性を表す隠れ変数zを更新していくことで、最適な個体性を表す隠れ変数zを求めるようにしてもよい。また、エンコーダ1としてのニューラルネットワークEで、属性を表す隠れ変数z’と個体性を表す隠れ変数zを求めた後、これらを初期値にして、生成器2としてのニューラルネットワークGに個体性を表す隠れ変数zを入力し、生成器2の出力が目的画像xに近づくように勾配法で個体性を表す隠れ変数zを更新していくことで、最適な個体性を表す隠れ変数zを求めるようにしてもよい。また、エンコーダ1としてのニューラルネットワークE、または、予測器としてのニューラルネットワークを生成器2としてのニューラルネットワークGおよび識別器3としてのニューラルネットワークDと一緒に学習しても良い。
次に、本発明の第2の実施の形態に係る信号変更装置について説明する。なお、第2の実施の形態に係る信号変更装置の構成は、第1の実施の形態に係る信号変更装置の構成と同様であるため、同一の符号を付して説明を省略する。
第2の実施の形態では、各属性を表す隠れ変数が、階層構造になっている点が、第1の実施の形態と異なっている。
<本発明の第2の実施の形態に係る概要>
次に、本発明の第2の実施の形態における概要を説明する。
第2の実施の形態では、属性に対して階層的な制御を実現するために、図8に示すように、各属性を表す隠れ変数が、2階層以上の隠れ変数へ階層的に変換される構造となっている。また、1層目の隠れ変数cが、各属性を表しており、上記第1の実施の形態における属性ベクトルyに対応している。隠れ変数は、例えば属性の有無や正負を表す。しかし、隠れ変数は、特にこれらに限定されるものではない。
2層目の隠れ変数cは、1層目の隠れ変数cの値により変換され、変換結果c’が得られる。また、3層目の隠れ変数cは、2層目の隠れ変数cの変換結果c’の値により変換され、変換結果c’が得られる。そして、信号変更装置100は、個体性を表す隠れ変数zと、変換結果c’とを入力とし、生成器としてのニューラルネットワークGにより、画像データを生成する。
また、ニューラルネットワークの学習では、信号変更装置100は、図9に示すように、1層目の隠れ変数c及び個体性を表す隠れ変数zを入力とし、画像データを生成するニューラルネットワークG、識別器としてのニューラルネットワークD、及び、近似分布としてのニューラルネットワークQを学習する。また、信号変更装置100は、2層目の隠れ変数の変換結果c’及び個体性を表す隠れ変数zを入力とし、画像データを生成するニューラルネットワークG、識別器としてのニューラルネットワークD、及び、近似分布としてのニューラルネットワークQを学習する。さらに、信号変更装置100は、3層目の隠れ変数の変換結果c’及び個体性を表す隠れ変数zを入力とし、画像データを生成するニューラルネットワークG、識別器としてのニューラルネットワークD、及び、近似分布としてのニューラルネットワークQを学習する。なお、図9において、P,P,Pは、それぞれ、識別器としてのニューラルネットワークD,D,Dの識別結果である。また、1層目〜3層目においてそれぞれ得られるc、c’、c’は、近似分布としてのニューラルネットワークQ,Q,Qによって予測された、属性を表す隠れ変数である。
このように、信号変更装置100は、1層目の隠れ変数に対応するニューラルネットワークを最初に学習し、その学習結果をもとに一層深い層の隠れ変数に対応するニューラルネットワークを学習することを再帰的に行って、一階層ずつ、生成器としてのニューラルネットワーク、識別器としてのニューラルネットワーク、及び近似分布としてのニューラルネットワークを学習する。これにより、浅い階層において、抽象的な概念が最初に獲得され、階層が深くなるに従って、徐々に概念を詳細化することができる。
<本発明の第2の実施の形態に係る信号変更装置の構成>
本発明の第2の実施の形態に係る信号変更装置100において、入力部10は、学習データとして、複数の画像データxを受け付ける。また、入力部10は、変更対象となる画像データxを受け付ける。
まず、学習部30は、あるデータ分布から個体性を表す隠れ変数z、z、z及び各階層における各属性を表す隠れ変数c、c、cを生成する。各隠れ変数は、例えば各階層における属性の有無や正負を表す。しかし、隠れ変数は、特にこれらに限定されるものではない。学習部30は、個体性を表す隠れ変数z、z、z及び各階層における各属性を表す隠れ変数c、c、cを乱数を用いて生成してもよい。学習部30は、入力された学習データに含まれる真の画像データxと、生成された個体性を表す隠れ変数z、z、zと各階層における各属性を表す隠れ変数c、c、cとを入力とする。そして、学習部30は、個体性を表す隠れ変数z、z、z及び各属性を表す隠れ変数c、c、cから、画像データを生成するための生成器としてのニューラルネットワーク(例えば、CNN)と、生成された画像データが真の画像データと同一の分布に従うか否かを識別する識別器としてのニューラルネットワーク(例えば、CNN)とを、互いに競合する最適化条件に従い学習する。同時に、学習部30は、生成された画像データについての各属性を表す隠れ変数を推定する近似分布としてのニューラルネットワーク(例えば、CNN)については、情報量の下限を最大化するように学習を行う。学習部30は、上記の処理を、各階層に対して再帰的に繰り返し行う。
具体的には、学習部30は、まず、1層目に対して、入力された学習データに含まれる真の画像データxと、生成された個体性を表す隠れ変数zと、1層目の各属性を表す隠れ変数cとを入力とする。
そして、学習部30は、生成された個体性を表す隠れ変数zと、1層目の各属性を表す隠れ変数cと、生成器としてのニューラルネットワークGとを用いて、画像データを生成する。
そして、学習部30は、生成された画像データを、なるべく識別器が、真の画像データxと同一の分布に従うと識別する制約を満たすように、生成器としてのニューラルネットワークGのパラメータを更新する。すなわち、生成された画像データを真の画像データxであると識別器が識別するように、ニューラルネットワークGのパラメータが更新される。
また、学習部30は、生成された画像データを、なるべく識別器が、真の画像データxと同一の分布に従わないと識別する制約を満たし、かつ、真の画像データxを、識別器が、真の画像データと同一の分布に従うと識別する制約を満たすように、識別器としてのニューラルネットワークDのパラメータを更新する。
また、学習部30は、生成された画像データについての1層目の各属性を表す隠れ変数cを予測する近似分布としてのニューラルネットワークQについて、隠れ変数cと、隠れ変数cから生成された画像データの相関(情報量)の下限が最大化するように、近似分布としてのニューラルネットワークQのパラメータを更新する。
次に、学習部30は、2層目に対して、入力された学習データに含まれる真の画像データxと、近似分布としてのニューラルネットワークQによって予測された1層目の各属性を表す隠れ変数cと、生成された個体性を表す隠れ変数zと、2層目の各属性を表す隠れ変数cとを入力とする。このとき、2層目の各属性を表す隠れ変数c’は、1層目の各属性を表す隠れ変数cの値により、2層目の各属性を表す隠れ変数cを変換することにより得られる。変換の一例としては、2層目の各属性を表す隠れ変数cと1層目の各属性を表す隠れ変数cとを掛け合わせることが考えられる。
また、学習部30は、生成された個体性を表す隠れ変数zと、2層目の各属性を表す隠れ変数cの変換結果c’と、生成器としてのニューラルネットワークGとを用いて、画像データを生成する。
そして、学習部30は、生成された画像データを、なるべく識別器が、1層目の各属性を表す隠れ変数cの下で真の画像データと同一の分布に従うと識別する制約を満たすように、生成器としてのニューラルネットワークGのパラメータを更新する。すなわち、生成された画像データを真の画像データであると識別器が識別するように、ニューラルネットワークGのパラメータが更新される。
また、学習部30は、生成された画像データを、なるべく識別器が、1層目の各属性を表す隠れ変数cの下で真の画像データと同一の分布に従わないと識別する制約を満たし、かつ、真の画像データxを、識別器が、真の画像データと同一の分布に従うと識別する制約を満たすように、識別器としてのニューラルネットワークDのパラメータを更新する。
また、学習部30は、1層目の各属性を表す隠れ変数cの下で、生成された画像データについての2層目の各属性を表す隠れ変数c’を予測する近似分布としてのニューラルネットワークQについて、隠れ変数c’と、隠れ変数c’から生成された画像データの相関(情報量)の下限が最大化するように、近似分布としてのニューラルネットワークQのパラメータを更新する。
次に、学習部30は、3層目に対して、入力された学習データに含まれる真の画像データxと、近似分布としてのニューラルネットワークQによって予測された2層目の各属性を表す隠れ変数c’と、生成された個体性を表す隠れ変数zと、3層目の各属性を表す隠れ変数cとを入力とする。このとき、3層目の各属性を表す隠れ変数c’は、2層目の各属性を表す隠れ変数cの変換結果c’の値により、3層目の各属性を表す隠れ変数cを変換することにより得られる。
また、学習部30は、生成された個体性を表す隠れ変数zと、3層目の各属性を表す隠れ変数cの変換結果c’と、生成器としてのニューラルネットワークGとを用いて、画像データを生成する。
そして、学習部30は、生成された画像データを、なるべく識別器が、2層目の各属性を表す隠れ変数cの変換結果c’の下で真の画像データと同一の分布に従うと識別する制約を満たすように、生成器としてのニューラルネットワークGのパラメータを更新する。すなわち、生成された画像データを真の画像データであると識別器が識別するように、ニューラルネットワークGのパラメータが更新される。
また、学習部30は、生成された画像データを、なるべく識別器が、2層目の各属性を表す隠れ変数cの変換結果c’の下で真の画像データと同一の分布に従わないと識別する制約を満たし、かつ、真の画像データxを、識別器が、真の画像データと同一の分布に従うと識別する制約を満たすように、識別器としてのニューラルネットワークDのパラメータを更新する。
また、学習部30は、2層目の各属性を表す隠れ変数cの変換結果c’の下で、生成された画像データについての3層目の各属性を表す隠れ変数c’を予測する近似分布としてのニューラルネットワークQについて、隠れ変数c’と、隠れ変数c’から生成された画像データの相関(情報量)の下限が最大化するように、近似分布としてのニューラルネットワークQのパラメータを更新する。
学習部30は、上記の処理を、学習データ毎に行って、各種のニューラルネットワークのパラメータを繰り返し更新する。
最終的に得られた、生成器としてのニューラルネットワークG、G、Gと、識別器としてのニューラルネットワークD、D、Dと、近似分布としてのニューラルネットワークQ、Q、Qとは、ニューラルネットワーク記憶部40に記憶される。
次に、学習部30は、入力された学習データに含まれる画像データxを入力とし、エンコーダとしてのニューラルネットワークを用いて、個体性を表す隠れ変数z、z、zを推定し、近似分布としてのニューラルネットワークQ、Q、Qを用いて、各属性を表す隠れ変数c、c’、c’を抽出する。
また、学習部30は、推定された個体性を表す隠れ変数zと、抽出された各属性を表す隠れ変数c’とを入力とし、生成器としてのニューラルネットワークGを用いて、画像データを生成する。
また、学習部30は、生成された画像データが、元の画像データxと同じになる制約を満たすように、エンコーダとしてのニューラルネットワークのパラメータを更新する。
学習部30は、上記の処理を、学習データ毎に行って、エンコーダとしてのニューラルネットワークのパラメータを繰り返し更新する。
最終的に得られたエンコーダとしてのニューラルネットワークは、ニューラルネットワーク記憶部40に記憶される。
予測部50は、入力部10で受け付けた変更対象の画像データを、1層目の各属性を表す隠れ変数cを予測するための近似分布としてのニューラルネットワークQに入力し、1層目の各属性を表す隠れ変数cを予測する。
予測部50は、1層目の各属性を表す隠れ変数cを変数抽出部52に出力する。
変数抽出部52は、入力された変更対象の画像データxを入力とし、ニューラルネットワーク記憶部40に記憶された、エンコーダとしてのニューラルネットワークを用いて、変更対象の画像データxの個体性を表す隠れ変数z、z、zを推定し、近似分布としてのニューラルネットワークQ、Qを用いて、2層目以降の各属性を表す隠れ変数c’、c’を抽出する。変数抽出部52は、予測部50が予測した隠れ変数cおよび抽出した隠れ変数c’、c’を信号属性値表示部54に出力する。
信号属性値表示部54は、変更対象の画像データxの各属性を表す隠れ変数c、c’、c’を、値の変更指示を受付可能な状態で出力部90に表示させる。具体的には、信号属性値表示部54は、属性変更画面92に、各属性を表す隠れ変数c、c’、c’の値の変更指示を受付可能な状態として、各属性を表す隠れ変数c、c’、c’の値を示すラジオボタン94又はスライドバー96で、隠れ変数c、c’、c’の値を表示する。
また、属性変更画面92の参照画像表示領域98Bには、属性の転写元となる参照画像データが表示され、参照画像表示領域98Bに対応して、参照画像データを選択するためのラジオボタン94が表示されている。
変更後属性値取得部56は、属性変更画面92において、変更対象の属性を表す隠れ変数c、c’、c’の値の変更指示(例えば、各属性を表す隠れ変数c’の値を示すラジオボタン94又はスライドバー96に対する操作)を受け付けると、変更対象の属性を表す隠れ変数c、c’、c’の変更後の値を取得する。なお、属性を表す隠れ変数cの値の変更指示を受け付けた場合には、関連する属性を表す隠れ変数c’、c’の値も変更される。また、属性を表す隠れ変数c’の値の変更指示を受け付けた場合には、関連する属性を表す隠れ変数c’の値も変更される。
また、属性変更画面92において、参照画像データを選択するためのラジオボタン94に対する操作を受け付けた場合には、まず、予測部58は、選択された参照対象の画像データを、1層目の各属性を表す隠れ変数cを予測するための近似分布としてのニューラルネットワークQに入力し、1層目の各属性を表す隠れ変数cを予測する。また、変数抽出部60は、選択された参照対象の画像データxを入力とし、ニューラルネットワーク記憶部40に記憶された、エンコーダとしてのニューラルネットワークを用いて、参照対象の画像データxの個体性を表す隠れ変数z、z、zを推定し、近似分布としてのニューラルネットワークQ、Qを用いて、各属性を表す隠れ変数c’、c’を抽出する。そして、変更後属性値取得部56は、求められた各属性を表す隠れ変数c’を、変更対象の属性を表す隠れ変数c’の変更後の値として取得する。
変更部62は、予測部50および変数抽出部52によって求められた各属性を表す隠れ変数c、c’、c’のうち、変更後属性値取得部56によって取得した変更対象の属性を表す隠れ変数c’を、変更後の値で置き換えることにより、変更対象の属性を表す隠れ変数c’を変更する。
信号生成部64は、変数抽出部52によって推定された個体性を表す隠れ変数zと、変更部62による変更後の各属性を表す隠れ変数c’とを入力とし、ニューラルネットワーク記憶部40に記憶された、生成器としてのニューラルネットワークGを用いて、画像データを生成する。
なお、第2の実施の形態に係る信号変更装置100の他の構成及び作用については、第1の実施の形態と同様であるため、説明を省略する。
以上説明したように第2の実施の形態に係る信号変更装置は、3層目の各属性を表す隠れ変数の変換結果の値を、変更指示に従って変更し、エンコーダとしてのニューラルネットワークにより抽出された個体性を表す隠れ変数、及び変更後の3層目の各属性を表す隠れ変数の変換結果を入力として、生成器としてのニューラルネットワークを用いて、画像データを生成する。これにより、画像データを適切に変更することができる。
なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
例えば、上述した実施の形態では、ニューラルネットワークの学習を行う学習部30を含むように信号変更装置100を構成していた。しかし、本発明は、こうした構成に限定されるものではない。例えば、信号変更装置とは別に、学習部30を含む学習装置を設け、予測部、変数抽出部、信号出力部、信号属性値表示部、変更後属性値取得部、変更部、信号生成部、及び、変更後信号出力部を含むように信号変更装置を構成してもよい。
また、上述した実施の形態では、入力される信号が、顔画像データである場合を例に説明した。しかし、入力される信号は、これに限定されるものではなく、顔以外の画像データであってもよい。例えば、入力される信号が、文字画像データであってもよい。この場合には、属性ベクトルyが、文字の種類(例:a,b,c,…,1,2,…)の各々の有無を表し、属性を表す隠れ変数zが、文字内の多様性(例:どんな4か?を表現)を表す。あるいは、属性ベクトルyが、文字のフォント(例:ゴシック体,明朝体,太字,斜体字…)の各々の有無を表し、属性を表す隠れ変数zが、フォント内の多様性(例:どんなゴシック体か?を表現)を表す。
また、入力される信号が、動物画像データ(例えば、鳥画像データ)であってもよい。この場合には、属性ベクトルyが、色(例:赤)の有無を表し、属性を表す隠れ変数zが、色内の多様性(例:どこがどのように赤い鳥か?を表現)を表す。あるいは、属性ベクトルyが、パーツの形状(例:嘴が丸い/嘴が尖っている)を表し、属性を表す隠れ変数zが、パーツ内の多様性(例:どう丸い嘴か?を表現)を表す。
また、入力される信号が、背景画像データであってもよい。この場合には、属性ベクトルyが、背景のタイプ(例:海、山、川、家、道路)を表し、属性を表す隠れ変数zが、背景内の多様性(例:どんな海か?を表現)を表す。
また、入力される信号が、家画像データであってもよい。この場合には、属性ベクトルyが、色(例:赤)の有無を表し、属性を表す隠れ変数zが、色内の多様性(例:どこがどのように赤い家か?を表現)を表す。
また、入力される信号が、建物画像データであってもよい。この場合には、属性ベクトルyが、建物の種類(例:ビル、戸建、タワー)の有無を表し、属性を表す隠れ変数zが、建物内の多様性(例:どのようなビルか?を表現)を表す。あるいは、属性ベクトルyが、パーツの形状(例:屋根が平ら、屋根が丸い、屋根が三角)の有無を表し、属性を表す隠れ変数zが、パーツ内の多様性(例:屋根がどのように平らか?を表現)を表す。
また、上述した実施の形態では、入力される信号が、画像データである場合を例に説明した。しかし、入力される信号は、これに限定されるものではなく、画像データ以外の信号であってもよい。例えば、入力される信号は、音声信号(あるいは楽曲信号)、テキストデータ、または、動画データであってもよい。
音声信号を入力とする場合には、信号変更装置100は、個体性を表す隠れ変数と、属性(音声信号の発生源である人に関する属性(例えば、魅力、男性/女性、若い/年寄り、感情、方言など)や、音声信号を構成する要素に関する属性(例えば、速い/ゆっくり、高い/低い))を表す隠れ変数とを抽出した後、属性を表す隠れ変数を変更して、音声信号を再構成することができる。この場合、信号出力部53または変更後信号出力部66は、図10に示すように、属性変更画面292の音声表示領域298A、298Bに、変更対象の音声データの音声波形及び音声スペクトログラム又は変更後の音声データの音声波形及び音声スペクトログラムを表示させる。また、信号属性値表示部54は、属性変更画面292に、各属性を表す隠れ変数z’の値の変更指示を受付可能な状態として、各属性を表す隠れ変数z’の値を示すラジオボタン94又はスライドバー96で、各属性を表す隠れ変数z’の値を表示する。また、属性変更画面292の参照音声表示領域298Cには、属性の転写元となる参照音声信号の音声波形又はスペクトログラムが表示され、参照音声表示領域298Cに対応して、参照音声信号を選択するためのラジオボタン94が表示されている。また、属性変更画面292には、属性の転写元となる参照音声信号から転写する属性を選択するためのラジオボタン294が表示されている。また、属性変更画面292には、変更対象の音声信号、変更後の音声信号、または参照音声信号を再生することを指示するためのボタン299も表示されている。
テキストデータを入力とする場合には、信号変更装置100は、個体性を表す隠れ変数と、属性(テキストデータの発生源である人に関する属性(例えば、丁寧度、男性/女性など)や、テキストデータを構成する要素に関する属性(例えば、抽象的/具体的、感情、ジャンル、口語/文語、フォーマル/notフォーマル))を表す隠れ変数とを抽出した後、属性を表す隠れ変数を変更して、テキストデータを再構成することができる。この場合、信号出力部53または変更後信号出力部66は、図11に示すように、属性変更画面392のテキスト表示領域398Aに、変更対象のテキストデータ又は変更後のテキストデータを表示させる。また、信号属性値表示部54は、属性変更画面392に、各属性を表す隠れ変数z’の値の変更指示を受付可能な状態として、各属性を表す隠れ変数z’の値を示すラジオボタン94又はスライドバー96で、各属性を表す隠れ変数z’の値を表示する。また、属性変更画面392の参照テキスト表示領域398Bには、属性の転写元となる参照テキストデータが表示され、参照テキスト表示領域398Bに対応して、参照テキストデータを選択するためのラジオボタン94が表示されている。また、属性変更画面392には、属性の転写元となる参照テキストデータから転写する属性を選択するためのラジオボタン294が表示されている。
動画データを入力とする場合には、信号変更装置100は、個体性を表す隠れ変数と、属性(動画データを構成する要素に関する属性(例えば、コミカル度、古い/新しい、実写/アニメ、感情、ジャンルなど))を表す隠れ変数とを抽出した後、属性を表す隠れ変数を変更して、動画データを再構成することができる。この場合、信号出力部53または変更後信号出力部66は、図12に示すように、属性変更画面492の動画表示領域498Aに、変更対象の動画データ又は変更後の動画データを表示させる。また、信号属性値表示部54は、属性変更画面492に、各属性を表す隠れ変数z’の値の変更指示を受付可能な状態として、各属性を表す隠れ変数z’の値を示すラジオボタン94又はスライドバー96で、各属性を表す隠れ変数z’の値を表示する。また、属性変更画面492の参照動画表示領域498Bには、属性の転写元となる参照動画データが表示され、参照動画表示領域498Bに対応して、参照動画データを選択するためのラジオボタン94が表示されている。また、属性変更画面492には、属性の転写元となる参照動画データから転写する属性を選択するためのラジオボタン294が表示されている。また、属性変更画面492には、変更対象の動画データ、変更後の動画データ、または参照動画データを再生することを指示するためのボタン499も表示されている。
なお、上記の実施の形態では、各属性を表す隠れ変数を変更する場合を例に説明した。しかし、変更の対象は、これに限定されるものではない。例えば、個体性を表す隠れ変数の値の変更指示を受け付けて、各属性を表す隠れ変数はそのままとし、画像データから抽出された個体性を表す隠れ変数を変更し、画像データを再構成するようにしてもよい。
また、画像データを再構成した場合の再構成誤差を考慮して、再構成した画像データを補正するようにしてもよい。例えば、以下の式に従って、属性を表す隠れ変数を変更し、かつ、生成器としてのニューラルネットワークを用いて生成した画像データxmodを補正するようにしてもよい。
Figure 0006908863
ただし、xrecは、属性を表す隠れ変数を変更せずに再構成した画像データであり、xは、変更対象の画像データであり、Mは、以下の式に従って予め求められたマスク画像である。
Figure 0006908863
ここで、gは、ガウシアン分布を表し、σは、ΔのRGB(red, green, blue)に関する平均の絶対値である
Figure 0006908863
に対する当該ガウシアン分布の分散を表し、αは、当該ガウシアン分布の広がりを表している。
上述では、マスク画像の算出にガウシアン分布を用いる場合を例に説明したが、ラプラシアン分布など任意の分布を用いてもよい。差分画像のノルムの計算に絶対値の平均値を用いる場合を例に説明したが、L2ノルムなど、任意のノルムを用いてもよい。輝度値ごとにマスク画像を算出してもよい。
また、上述した実施の形態では、識別器、生成器、予測器、及び近似分布としてのニューラルネットワークとして、CNNを用いる場合を例に説明した。しかし、ニューラルネットワークの構造は、これに限定されるものではなく、他のニューラルネットワーク構造を用いてもよい。例えば、時系列性を考慮したモデルであるRNN(Recurrent Neural Network、例えばLSTM(Long short-term memory)など)やFully Connectedなどを用いてもよい。
また、上述した実施の形態では、エンコーダとしてのニューラルネットワークの出力として、隠れ変数そのものを出力する場合を例に説明した。しかし、エンコーダとしてのニューラルネットワークの出力は、これに限定されるものではない。例えば、エンコーダとしてのニューラルネットワークの出力を、隠れ変数の分布に関するパラメータ(例えば、ガウシアン分布の場合、平均と標準偏差)とし、その分布に関するパラメータに従ってサンプリングして隠れ変数を得るようにしてもよい。
また、上記の第2の実施の形態では、エンコーダとしてのニューラルネットワークが、個体性を表す隠れ変数z、z、zを推定し、近似分布としてのニューラルネットワークQ、Qを用いて、属性を表す隠れ変数c’、c’を予測し、予測器としてのニューラルネットワークを用いて隠れ変数cを予測する場合を例に説明した。しかし、エンコーダとしてのニューラルネットワークが、属性を表す隠れ変数c、c、cと個体性を表す隠れ変数z、z、zを同時に推定するようにしてもよい。あるいは、エンコーダとしてのニューラルネットワークが、属性を表す隠れ変数c、cではなく、属性を表す隠れ変数c’、c’を直接推定するようにしてもよい。
また、エンコーダとしてのニューラルネットワークを使わずに、生成器としてのニューラルネットワークに任意の個体性を表す隠れ変数z、z、zを入力し、出力が目的画像xに近づくように勾配法で個体性を表す隠れ変数z、z、zを更新していくことで、最適な個体性を表す隠れ変数z、z、zを求めるようにしてもよい。また、予測器としてのニューラルネットワークで属性を表す隠れ変数cを求め、エンコーダとしてのニューラルネットワークで、属性を表す隠れ変数c’、c’と個体性を表す隠れ変数z、z、zを求めた後、これらを初期値にして、生成器としてのニューラルネットワークに個体性を表す隠れ変数z、z、zを入力し、出力が目的画像xに近づくように勾配法で個体性を表す隠れ変数z、z、zを更新していくことで、最適な個体性を表す隠れ変数z、z、zを求めるようにしてもよい。
また、エンコーダとしてのニューラルネットワークを用いて、個体性を表す隠れ変数z、z、zと同時に、属性を表す隠れ変数c、cを推定する場合には、エンコーダとしてのニューラルネットワークは、推定された各属性を表す隠れ変数c、cと、予測された1層目の各属性を表す隠れ変数cとに基づいて、各属性を表す隠れ変数c’、c’を求める。各属性を表す隠れ変数c’は、以下のように得られる。
まず、2層目の各属性を表す隠れ変数c’が、1層目の各属性を表す隠れ変数cの値により、2層目の各属性を表す隠れ変数cを変換することにより得られる。次に、3層目の各属性を表す隠れ変数c’が、2層目の各属性を表す隠れ変数cの変換結果c’の値により、3層目の各属性を表す隠れ変数cを変換することにより得られる。
また、エンコーダとしてのニューラルネットワーク、または、予測器としてのニューラルネットワークを生成器としてのニューラルネットワークおよび識別器としてのニューラルネットワークと一緒に学習してもよい。
また、上記の第2の実施の形態では、学習データに含まれる画像データから、1層目の各属性を表す隠れ変数cを予測して、学習に用いる場合を例に説明した。しかし、1層目の各属性を表す隠れ変数cの与え方は、これに限定されるものではない。例えば、学習する際に、1層目の各属性を表す隠れ変数cを学習データとして入力するようにしてもよい。
また、1層目の各属性を表す隠れ変数cだけでなく、任意の階層の各属性を表す隠れ変数も学習データとして入力して、より深い階層を学習するようにしてもよい。
また、上記の第1の実施の形態では、学習データに含まれる全ての画像データxについて、属性ベクトルyが付与されている場合を例に説明した。しかし、属性ベクトルyが付与される画像データxは、これに限定されるものではない。例えば、学習データに含まれる一部の画像データxについてだけ、属性ベクトルyが付与されていてもよい。あるいは、学習データが属性ベクトルyを含まずともよい。この場合、信号変更装置は、第2の実施の形態の信号変更装置が属性ベクトルyに対応する各属性を表す隠れ変数cを推定するのと同様に、属性ベクトルyを推定してもよい。信号変更装置は、推定した属性ベクトルyに基づいて、各ニューラルネットワークを学習してもよい。同様に、第2の実施の形態の場合についても、任意の階層の各属性を表す隠れ変数を学習データとして入力するときに、学習データに含まれる一部の画像データxについてだけ隠れ変数を付与するようにしてもよい。
第2の実施の形態の信号変更装置が、1つ前の層の各属性を表す隠れ変数ci−1’の値により、隠れ変数cを変換して隠れ変数c’を得る場合について説明した。しかし、信号変更装置は、これに限定されることなく、隠れ変数c’に対応する層より浅い層の隠れ変数c’(j=1,2,…,i−1)のうち少なくとも1つにより、隠れ変数cを変換して隠れ変数c’を得てもよい。例えば、信号変更装置は、隠れ変数c’を得る際に、隠れ変数c’に対応する層より2つ浅い層の隠れ変数ci−2’により、隠れ変数cを変換して隠れ変数c’を得てもよい。更に、信号変更装置は、隠れ変数c’に対応する層より浅い層の隠れ変数c’(j=1,2,…,i−1)と隠れ変数c’との予め定められた関係に基づいて、隠れ変数c’を得てもよい。
第1の実施の形態の信号変更装置における生成器2において、隠れ変数zを属性ベクトルyで変換する処理をニューラルネットワークが行ってもよい。学習部は、隠れ変数zを変換するニューラルネットワークの学習を、生成器としてのニューラルネットワークGの学習とともに行ってもよい。第2の実施の形態の信号変更装置における生成器2において、隠れ変数cを隠れ変数ci−1’で変換して隠れ変数c’を得る処理をニューラルネットワークが行ってもよい。学習部は、隠れ変数c’を得るニューラルネットワークの学習を、生成器としてのニューラルネットワークGの学習とともに行ってもよい。
第1の実施の形態における信号変更装置が、カテゴリ分布又は一様分布などのデータ分布から隠れ変数z、zを生成する場合について説明した。しかし、隠れ変数z、zを生成する方法は、これに限定されない。例えば、信号変更装置は、ガウシアン分布、ディリクレ分布などを含む任意の分布に基づいて、隠れ変数z、zを生成してもよい。第2の実施の形態における信号変更装置は、同様に、ガウシアン分布、ディリクレ分布などを含む任意の分布に基づいて、隠れ変数z,z,z,c,c,cを生成してもよい。あるいは、第1及び第2の実施の形態における信号変更装置は、隠れ変数それぞれを生成するニューラルネットワークを備えてもよい。
第1及び第2の実施の形態における信号変更装置が、生成器としてのニューラルネットワークGと識別器としてのニューラルネットワークDとの学習における最適化条件として式(5)で表される目的関数を用いる場合について説明した。しかし、生成器としてのニューラルネットワークGと識別器としてのニューラルネットワークDとの学習における最適化条件を表す目的関数は、これに限定されない。例えば、信号変更装置は、Least Squares GAN、Wasserstein GANなどを含む任意の拡張モデルを用いてもよい。
第1及び第2の実施の形態における識別器としてのニューラルネットワークDが、生成器により生成される画像データが属性ベクトルの下で真の画像データと同一の分布に従うか否かを識別する場合について説明した。しかし、識別器としてのニューラルネットワークDが識別する対象は、これに限定されない。例えば、識別器としてのニューラルネットワークDは、生成される画像データが真の画像データと同一の分布に従うか否かを識別してもよい。この場合、生成器としてのニューラルネットワークGと、識別器としてのニューラルネットワークDとの学習における目的関数に、画像データが属性ベクトルを含むか否かの識別結果を加えてもよい。画像データが属性ベクトルを含むとは、属性ベクトルが示す属性(特徴)が画像データに含まれていることである。画像データが属性ベクトルを含むか否かの識別は、例えば、P(c|x)及びP(c|x,p)近似分布を推定するニューラルネットワークQ(l=1,2,…,L)が行ってもよい。
画像データが属性ベクトルを含むか否かの識別結果を、最適化条件としての目的関数に加える場合、例えば、目的関数は式(9)で表される。式(9)で表される目的関数を用いる学習では、生成器としてのニューラルネットワークGと、識別器としてのニューラルネットワークDと、P(c|x)及びP(c|x,p)近似分布を推定するニューラルネットワークQ(l=1,2,…,L)との学習が行われる。
Figure 0006908863
式(9)における、λ,…,λは、トレードオフ・パラメータである。LGAN(D,G)は式(10−1)で表される。LMI/AC(G,Q)は、式(10−2)で表されるLMI(G,Q)と、式(10−3)で表されるLAC(G,Q)との何れかを用いることを表す。学習データに属性ベクトルが含まれない場合、LMI(G,Q)が用いられる。学習データに属性ベクトルが含まれる場合、LAC(G,Q)が用いられる。LHCMI(G,Q)は、式(10−4)で表される。
Figure 0006908863
式(10−1)〜式(10−4)におけるx〜Pdata(x)は、学習データから真の画像データxをサンプリングすることを表す。z〜P(z)は、隠れ変数z(z,z)をあるデータ分布から生成することを表す。c〜P(c)は、1層目の属性ベクトルcをあるデータ分布から生成することを表す。x〜G(^c,z)は、L階層における各属性を表す隠れ変数^cと隠れ変数z(z,z)に基づいて、生成器としてのニューラルネットワークGで画像データを生成することを表す。c,x〜Pdata(c,x)は、学習データから真の画像データxと画像データxに対応する属性ベクトルcとをサンプリングすることを表す。c〜P(c|p)は、P(c|p)の分布に従って隠れ変数cをサンプリングすることを表す。式(10−4)におけるcはl層目の各属性を表す隠れ変数であり、pは(l−1)層目の各属性を表す隠れ変数である。
第2の実施の形態の信号変更装置において、生成される画像データが真の画像データと同一の分布に従うか否かを識別器が識別する場合、学習部30は、図9に示した3層のニューラルネットワークを有する構成に代えて、図13に示す1層のニューラルネットワークを有する構成を備えてもよい。図13に示す1層のニューラルネットワークの構成を学習部30が備える場合、学習部30は、生成器として動作するニューラルネットワークGと、識別器として動作するニューラルネットワークDと、各属性を表す隠れ変数c、c’、c’の分布を推定するニューラルネットワークQ、Q、Qとを有する。
各ニューラルネットワークの学習において、学習部30は、学習対象となる1つのニューラルネットワーク以外の他のニューラルネットワークのパラメータを固定して、学習対象のニューラルネットワークのパラメータを更新する。学習部30が有するニューラルネットワークそれぞれの学習は、第1及び第2の実施の形態において説明した学習と同様に、学習データごとに繰り返し行われる。
ニューラルネットワークQの学習を行う際、学習部30は、予め定められた初期値を設定した隠れ変数c、cと、あるデータ分布から生成される隠れ変数z、cとに基づいて、ニューラルネットワークQのパラメータを更新する。ニューラルネットワークQの学習を行う際、学習部30は、初期値を設定した隠れ変数cと、あるデータ分布から生成される隠れ変数z、c、cとに基づいて、ニューラルネットワークQのパラメータを更新する。ニューラルネットワークQの学習を行う際、学習部30は、あるデータ分布から生成される隠れ変数z、c、c、cに基づいて、ニューラルネットワークQのパラメータを更新する。
属性を表す隠れ変数c、cに設定する初期値は、例えば、隠れ変数c、cが取り得る値の期待値、平均値に基づいて決定される。あるいは、隠れ変数c、cに含まれる変数の数に基づいて初期値を決定してもよい。ニューラルネットワークG、Dの学習は、第2の実施の形態において説明した学習と同様である。
画像データが属性ベクトルを含むか否かの識別は、識別器としてのニューラルネットワークDが行ってもよい。画像データが属性ベクトルを含むか否かの識別を識別器が行う場合、識別器は、入力される画像データに各属性が含まれるか否かを判定するニュールラルネットワークを更に含んでもよい。
信号変更装置は、生成した画像データに対して、既知の画像処理技術を適用してもよい。例えば、信号変更装置は、生成した画像に対して超解像処理や画質の補正を行ってもよい。
上述した実施の形態における信号変更装置および学習装置をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OS(Operating System)や周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD(Compact Disc)−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、FPGA(Field Programmable Gate Array)等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
本発明は、例えば、画像などの信号を変更するために利用することができる。本発明によれば、信号を適切に変更することができる。
1 エンコーダ
2 生成器
3 識別器
10 入力部
20 演算部
30 学習部
40 ニューラルネットワーク記憶部
50 予測部
52 変数抽出部
53 信号出力部
54 信号属性値表示部
56 変更後属性値取得部
58 予測部
60 変数抽出部
62 変更部
64 信号生成部
66 変更後信号出力部
90 出力部
92 属性変更画面
94 ラジオボタン
96 スライドバー
98A 画像表示領域
98B 参照画像表示領域
100 信号変更装置
292 属性変更画面
294 ラジオボタン
298A、298B 音声表示領域
298C 参照音声表示領域
299 ボタン
392 属性変更画面
398A テキスト表示領域
398B 参照テキスト表示領域
492 属性変更画面
498A 動画表示領域
498B 参照動画表示領域
499 ボタン
E,D,G,Q,Q,Q ニューラルネットワーク

Claims (7)

  1. 取得された信号を出力する信号出力部と、
    前記取得された信号が表現する対象を構成する要素、又は信号発生源に関する属性の値の変更指示を受付可能な状態で、前記属性の値を表示する信号属性値表示部と、
    前記属性の値の前記変更指示を受け付けると、変更後の属性の値を取得する変更後属性値取得部と、
    前記変更後属性値取得部によって取得された前記変更後の前記属性の値に基づいて、前記変更指示を受け付けた属性の値を変更する変更部と、
    前記属性の値が変更された、変更後の信号を出力する変更後信号出力部と、
    前記取得された信号から、前記信号の個体性を表す第1の隠れ変数と、前記第1の隠れ変数とは独立した第2の隠れ変数であって前記信号の各属性を表す隠れ変数又は前記隠れ変数に基づく隠れ変数と、を含む複数の隠れ変数を抽出し、前記取得された信号に基づく属性ベクトルを用いて前記第2の隠れ変数を変換することにより前記変更後の信号の各属性を表す第3の隠れ変数を取得する変数抽出部と、
    を備え、
    前記信号属性値表示部は、前記第3の隠れ変数を出力し、
    前記変更部は、前記変更後属性値取得部によって取得された前記変更後の前記属性の値に基づいて、前記第3の隠れ変数の値を変更する、
    信号変更装置。
  2. 前記取得された信号および前記変更後の信号の各々は、画像であり、
    前記属性は、前記画像が表現する被写体を構成する要素に関する属性である
    請求項1記載の信号変更装置。
  3. 前記信号属性値表示部は、前記属性の値の前記変更指示を受付可能な前記状態として、前記属性の値を示すコントローラで、前記属性の値を表示する
    請求項1又は2記載の信号変更装置。
  4. 前記変更部は、前記変更後属性値取得部によって取得された前記変更後の前記属性の値に基づいて前記第3の隠れ変数の値を置換し、
    置換後の第3の隠れ変数の値と、前記第1の隠れ変数の値と、予め学習された少なくとも1つのニューラルネットワークと、を用いて前記変更後の信号を生成する信号生成部をさらに備える、
    請求項に記載の信号変更装置。
  5. 前記少なくとも1つのニューラルネットワークは、信号の個体性を表す第1の隠れ変数と、前記第1の隠れ変数とは独立した第2の隠れ変数であって前記信号の各属性を表す隠れ変数又は前記隠れ変数に基づく隠れ変数を属性ベクトルにより変換した第3の隠れ変数と、に基づいて、信号を生成する生成器としての第1のニューラルネットワークと、
    前記生成器により生成される信号が真の信号と同一の分布に従うか否かを識別する識別器としての第2のニューラルネットワークとを互いに競合する最適化条件に従って学習することにより生成される、
    請求項に記載の信号変更装置。
  6. コンピュータを、請求項1からのいずれか一項に記載の信号変更装置を構成する各部として機能させるためのプログラム。
  7. 信号出力部が、取得された信号を出力し、
    信号属性値表示部が、前記取得された信号が表現する対象を構成する要素、又は信号発生源に関する属性の値の変更指示を受付可能な状態で、前記属性の値を表示し、
    変更後属性値取得部が、前記属性の値の前記変更指示を受け付けると、変更後の属性の値を取得し、
    変更部が、前記変更後属性値取得部によって取得された前記変更後の前記属性の値に基づいて、前記変更指示を受け付けた属性の値を変更し、
    変更後信号出力部が、前記属性の値が変更された、変更後の信号を出力し、
    変数抽出部が、前記取得された信号から、前記信号の個体性を表す第1の隠れ変数と、前記第1の隠れ変数とは独立した第2の隠れ変数であって前記信号の各属性を表す隠れ変数又は前記隠れ変数に基づく隠れ変数と、を含む複数の隠れ変数を抽出し、前記取得された信号に基づく属性ベクトルを用いて前記第2の隠れ変数を変換することにより前記変更後の信号の各属性を表す第3の隠れ変数を取得し、
    前記信号属性値表示部が、前記第3の隠れ変数を出力し、
    前記変更部が、取得された前記変更後の前記属性の値に基づいて、前記第3の隠れ変数の値を変更する、
    信号変更方法。
JP2019515732A 2017-05-02 2018-05-01 信号変更装置、方法、及びプログラム Active JP6908863B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017091733 2017-05-02
JP2017091733 2017-05-02
PCT/JP2018/017404 WO2018203549A1 (ja) 2017-05-02 2018-05-01 信号変更装置、方法、及びプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2021004529A Division JP7144699B2 (ja) 2017-05-02 2021-01-14 信号変更装置、方法、及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2018203549A1 JPWO2018203549A1 (ja) 2020-01-09
JP6908863B2 true JP6908863B2 (ja) 2021-07-28

Family

ID=64016119

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2019515732A Active JP6908863B2 (ja) 2017-05-02 2018-05-01 信号変更装置、方法、及びプログラム
JP2021004529A Active JP7144699B2 (ja) 2017-05-02 2021-01-14 信号変更装置、方法、及びプログラム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2021004529A Active JP7144699B2 (ja) 2017-05-02 2021-01-14 信号変更装置、方法、及びプログラム

Country Status (3)

Country Link
US (1) US11288851B2 (ja)
JP (2) JP6908863B2 (ja)
WO (1) WO2018203549A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6831453B2 (ja) * 2017-05-02 2021-02-17 日本電信電話株式会社 信号検索装置、方法、及びプログラム
TWI682359B (zh) * 2018-01-29 2020-01-11 國立清華大學 影像補全方法
US10970765B2 (en) * 2018-02-15 2021-04-06 Adobe Inc. Generating user-customized items using a visually-aware image generation network
JP7099292B2 (ja) * 2018-12-11 2022-07-12 日本電信電話株式会社 画像生成装置、画像生成方法、及びプログラム
CN110264398B (zh) * 2019-07-16 2021-05-28 北京市商汤科技开发有限公司 图像处理方法及装置
US11176713B2 (en) * 2020-01-31 2021-11-16 Adobe Inc. Generation of controlled attribute-based images
US12026845B2 (en) * 2020-08-31 2024-07-02 Nvidia Corporation Image generation using one or more neural networks
US12112130B2 (en) * 2021-11-03 2024-10-08 Adobe Inc. Counterfactual text stylization

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003022451A (ja) 2001-07-06 2003-01-24 Minolta Co Ltd 画像生成方法、画像生成プログラム、画像生成プログラムを記録したコンピュータ読取可能な記録媒体および画像生成装置
US7039222B2 (en) * 2003-02-28 2006-05-02 Eastman Kodak Company Method and system for enhancing portrait images that are processed in a batch mode
JP4845382B2 (ja) * 2004-02-06 2011-12-28 キヤノン株式会社 画像処理装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP4738857B2 (ja) * 2005-03-23 2011-08-03 キヤノン株式会社 画像処理装置およびその方法
US8391639B2 (en) 2007-07-23 2013-03-05 The Procter & Gamble Company Method and apparatus for realistic simulation of wrinkle aging and de-aging
US9760935B2 (en) 2014-05-20 2017-09-12 Modiface Inc. Method, system and computer program product for generating recommendations for products and treatments
JP5799381B1 (ja) 2014-08-18 2015-10-21 株式会社メイクソフトウェア 写真撮影遊戯機及びその制御プログラム
JP5950486B1 (ja) 2015-04-01 2016-07-13 みずほ情報総研株式会社 加齢化予測システム、加齢化予測方法及び加齢化予測プログラム
JP6483578B2 (ja) * 2015-09-14 2019-03-13 株式会社東芝 音声合成装置、音声合成方法およびプログラム

Also Published As

Publication number Publication date
US11288851B2 (en) 2022-03-29
JP2021064408A (ja) 2021-04-22
JPWO2018203549A1 (ja) 2020-01-09
JP7144699B2 (ja) 2022-09-30
WO2018203549A1 (ja) 2018-11-08
US20200193661A1 (en) 2020-06-18

Similar Documents

Publication Publication Date Title
JP6908863B2 (ja) 信号変更装置、方法、及びプログラム
JP6831453B2 (ja) 信号検索装置、方法、及びプログラム
Fabius et al. Variational recurrent auto-encoders
CN110322416B (zh) 图像数据处理方法、装置以及计算机可读存储介质
CN111489412A (zh) 用于使用神经网络生成基本逼真图像的语义图像合成
CN111079601A (zh) 基于多模态注意力机制的视频内容描述方法、系统、装置
JP7078875B2 (ja) 信号生成装置、信号生成学習装置、方法、及びプログラム
KR20200078214A (ko) 스타일 변환을 위한 영상 처리 장치 및 방법
KR20200052453A (ko) 딥러닝 모델 학습 장치 및 방법
CN116564338B (zh) 语音动画生成方法、装置、电子设备和介质
CN114663685B (zh) 一种行人重识别模型训练的方法、装置和设备
Hu et al. Unified discrete diffusion for simultaneous vision-language generation
JP2018055384A (ja) 信号調整装置、信号生成学習装置、方法、及びプログラム
JP6886120B2 (ja) 信号検索装置、方法、及びプログラム
CN118015110A (zh) 人脸图像生成方法及装置、计算机可读存储介质、终端
CN116932788A (zh) 封面图像提取方法、装置、设备及计算机存储介质
CN114581829A (zh) 基于强化学习的连续手语识别方法、电子设备和存储介质
KR102183310B1 (ko) 전문성 이식을 통한 딥러닝 기반의 전문 이미지 해석 장치 및 방법
CN115984652B (zh) 符号生成系统的训练方法、装置、电子设备和存储介质
Elibol et al. Semi-supervised and population based training for voice commands recognition
Chiranjeevi et al. A Comparative Analysis on the Effectiveness of GAN Performance
CN118842975A (en) Digital human video generation method, device, equipment and medium
CN117854524A (zh) 动画角色语音变换系统及方法、存储介质、电子装置
CN117590949A (zh) 一种虚拟人物的人机交互方法及装置
JP2024124970A (ja) 情報処理装置及び情報処理方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190823

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190823

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201020

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20201221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210114

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: 20210601

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210614

R150 Certificate of patent or registration of utility model

Ref document number: 6908863

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150