特許第6962747号(P6962747)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 株式会社日立製作所の特許一覧

<>
  • 特許6962747-データ合成装置および方法 図000012
  • 特許6962747-データ合成装置および方法 図000013
  • 特許6962747-データ合成装置および方法 図000014
  • 特許6962747-データ合成装置および方法 図000015
  • 特許6962747-データ合成装置および方法 図000016
  • 特許6962747-データ合成装置および方法 図000017
  • 特許6962747-データ合成装置および方法 図000018
  • 特許6962747-データ合成装置および方法 図000019
  • 特許6962747-データ合成装置および方法 図000020
  • 特許6962747-データ合成装置および方法 図000021
  • 特許6962747-データ合成装置および方法 図000022
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6962747
(24)【登録日】2021年10月18日
(45)【発行日】2021年11月5日
(54)【発明の名称】データ合成装置および方法
(51)【国際特許分類】
   G06F 16/53 20190101AFI20211025BHJP
【FI】
   G06F16/53
【請求項の数】8
【全頁数】19
(21)【出願番号】特願2017-166062(P2017-166062)
(22)【出願日】2017年8月30日
(65)【公開番号】特開2019-45984(P2019-45984A)
(43)【公開日】2019年3月22日
【審査請求日】2019年12月24日
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000279
【氏名又は名称】特許業務法人ウィルフォート国際特許事務所
(72)【発明者】
【氏名】クリンキグト マルティン
(72)【発明者】
【氏名】童 彬
(72)【発明者】
【氏名】村上 智一
【審査官】 鹿野 博嗣
(56)【参考文献】
【文献】 特開平09−134454(JP,A)
【文献】 ZHANG, Han et al.,StackGAN: Text to Photo-realistic Image Synthesiswith Stacked Generative Adversarial Networks,arXiv:1612.03242[online],2017年08月05日,[検索日: 2021.01.07], インターネット<URL:https://arxiv.org/abs/1612.03242>
【文献】 REED, Scott et al.,Generative Adversarial Text to Image Synthesis,arXiv:1605.05396 [online],2016年06月05日,[検索日:2021.01.07], インターネット<URL: https://arxiv.org/abs/1605.05396>
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/53
(57)【特許請求の範囲】
【請求項1】
自然言語で記述可能なオブジェクトに関する合成可能なデータである要素オブジェクトを予め蓄積したデータベースと、
自然言語の文からコンセプトまたはコンテキストの少なくとも一方を抽出する抽出部と、
前記コンセプトまたは前記コンテキストを所定の特徴空間におけるベクトルで表現した特徴ベクトルに変換する変換部と、
入力された特徴ベクトルに従って要素オブジェクトを合成するニューラルネットワークモデルを予め保持しており、前記ニューラルネットワークモデルおよび前記特徴ベクトルに基づき、前記データベースから要素オブジェクトを選択し該要素オブジェクトを用いて合成データを生成する合成部と、
前記合成データを生成する過程で得られた、前記合成データの生成に利用した要素オブジェクトに関する情報を利用してゼロショット学習を行い、前記ニューラルネットワークモデルを更新する更新部と、
を有する、データ合成装置。
【請求項2】
前記更新部は、前記合成データを生成する過程で得られた、前記合成データの生成に利用した要素オブジェクトに関する情報が、前記データベースに蓄積されたオブジェクト画像に与えられていない情報であることを認識すると、前記ゼロショット学習を行うことを決定する、
請求項に記載のデータ合成装置。
【請求項3】
自然言語で記述可能なオブジェクトに関する合成可能なデータである要素オブジェクトを予め蓄積したデータベースと、
自然言語の文からコンセプトまたはコンテキストの少なくとも一方を抽出する抽出部と、
前記コンセプトまたは前記コンテキストを所定の特徴空間におけるベクトルで表現した特徴ベクトルに変換する変換部と、
入力された特徴ベクトルに従って要素オブジェクトを合成するニューラルネットワークモデルを予め保持しており、前記ニューラルネットワークモデルおよび前記特徴ベクトルに基づき、前記データベースから要素オブジェクトを選択し該要素オブジェクトを用いて合成データを生成する合成部と、
要素オブジェクトに関する情報を利用してゼロショット学習を行い、前記ニューラルネットワークモデルを更新する更新部と、を有し、
前記抽出部が、前記ニューラルネットワークモデルの学習のために与えられたサンプル文からコンセプトまたはコンテキストの少なくとも一方を抽出し、
前記変換部が、前記コンセプトまたは前記コンテキストを所定の特徴空間におけるベクトルで表現した特徴ベクトルに変換し、
前記更新部が、前記特徴ベクトルの情報を利用してゼロショット学習を行い、前記ニューラルネットワークモデルを更新する
ータ合成装置。
【請求項4】
前記更新部が、Generative Adversarial Networksを用いた敵対的訓練によるゼロショット学習により前記ニューラルネットワークモデルを更新する、請求項またはに記載のデータ合成装置。
【請求項5】
入力された特徴ベクトルに従って要素オブジェクトを合成するニューラルネットワークモデルを予め保持し、
自然言語で記述可能なオブジェクトに関する合成可能なデータである要素オブジェクトを予め蓄積したデータベースを備え、
抽出手段が、自然言語の文からコンセプトまたはコンテキストの少なくとも一方を抽出し、
変換手段が、前記コンセプトまたは前記コンテキストを所定の特徴空間におけるベクトルで表現した特徴ベクトルに変換し、
合成手段が、前記ニューラルネットワークモデルおよび前記特徴ベクトルに基づき、前記データベースから要素オブジェクトを選択し、該要素オブジェクトを用いて合成データを生成し、
更新手段が、前記合成データを生成する過程で得られた、前記合成データの生成に利用した要素オブジェクトに関する情報を利用してゼロショット学習を行い、前記ニューラルネットワークモデルを更新する、
データ合成方法。
【請求項6】
前記更新手段は、前記合成データを生成する過程で得られた、前記合成データの生成に利用した要素オブジェクトに関する情報が、前記データベースに蓄積されたオブジェクト画像に与えられていない情報であることを認識すると、前記ゼロショット学習を行うことを決定する、
請求項5に記載のデータ合成方法。
【請求項7】
入力された特徴ベクトルに従って要素オブジェクトを合成するニューラルネットワークモデルを予め保持し、
自然言語で記述可能なオブジェクトに関する合成可能なデータである要素オブジェクトを予め蓄積したデータベースを備え、
抽出手段が、自然言語の文からコンセプトまたはコンテキストの少なくとも一方を抽出し、
変換手段が、前記コンセプトまたは前記コンテキストを所定の特徴空間におけるベクトルで表現した特徴ベクトルに変換し、
合成手段が、前記ニューラルネットワークモデルおよび前記特徴ベクトルに基づき、前記データベースから要素オブジェクトを選択し、該要素オブジェクトを用いて合成データを生成する、
更新手段が、要素オブジェクトに関する情報を利用してゼロショット学習を行い、前記ニューラルネットワークモデルを更新する、データ合成方法であり、
前記抽出手段が、前記ニューラルネットワークモデルの学習のために与えられたサンプル文からコンセプトまたはコンテキストの少なくとも一方を抽出し、
前記変換手段が、前記コンセプトまたは前記コンテキストを所定の特徴空間におけるベクトルで表現した特徴ベクトルに変換し、
前記更新手段が、前記特徴ベクトルの情報を利用してゼロショット学習を行い、前記ニューラルネットワークモデルを更新する、
データ合成方法。
【請求項8】
前記更新手段が、Generative Adversarial Networksを用いた敵対的訓練によるゼロショット学習により前記ニューラルネットワークモデルを更新する、請求項5または7に記載のデータ合成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、言葉によるデータ合成を可能にする技術に関する。
【背景技術】
【0002】
画像と自然言語の言葉を関連付けることにより画像の様々な応用が可能となる。例えば、画像と言葉を関連づけると言葉による画像検索が可能となる。画像と言葉を関連付ける技術として、例えば、画像アノテーション技術がある。画像アノテーション技術は、対象画像の画像領域から特徴量を抽出し、予め特徴を学習しメタデータを付与してある画像の中から対象画像に最も近い特徴量を有する画像を選択し、その画像のメタデータを対象画像に付与する技術である。また、特許文献1には、学習用画像から複数の特徴量を抽出し、バイナリ識別器を用いて複数の特徴量を分類し、識別情報と特徴量とを対応付けるための学習モデルを識別情報及び特徴量の種類毎に作成し、識別情報の条件付確率を求める計算式をシグモイド関数で近似し、識別情報の条件付確率が最大となるようにシグモイド関数のパラメータを最適化することで識別情報毎に学習モデルを最適化する技術が開示されている。それにより、画像に信頼性の高い識別情報を付与することができる。
【0003】
また画像合成技術として、四角いキャンバスの中に「山」「海」のような言葉を配置して、画像を合成する技術もある。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2012−038244号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
近年では画像の新たな活用が求められている。例えば、言葉で表現した所望の画像を作り出すことも求められる。しかしながら、上述した従来の画像アノテーション技術は、データベースの中から所望の画像を選択するものであり、新たな画像を作り出すことはできない。言葉を配置して画像を合成する技術では、単純な位置関係を表現することはできるが、「走って電車に乗る」といった時間的空間的関係や動作状況を表現することができず、こうした画像を合成することができない。また、従来の画像合成技術では、大量の画像とその画像に対する説明文を学習させることで、テキストから画像を生成するモデルを構築するが、学習データに含まれない未知の事象に対して適切な画像を生成することは困難である。
また、上述した画像と同様に音声やセンサデータなど他の様々なデータも自然言語の言葉と関連付けることができれば、そのデータの活用も大きく広がることが考えられる。
【0006】
本発明の目的は、言葉によるデータ合成を可能にする技術を提供することである。
【課題を解決するための手段】
【0007】
本発明の一つの態様に従うデータ合成装置は、自然言語で記述可能なオブジェクトに関する合成可能なデータである要素オブジェクトを予め蓄積したデータベースと、自然言語の文からコンセプトまたはコンテキストの少なくとも一方を抽出する抽出部と、前記コンセプトまたは前記コンテキストを所定の特徴空間におけるベクトルで表現した特徴ベクトルに変換する変換部と、入力された特徴ベクトルに従って要素オブジェクトを合成するニューラルネットワークモデルを予め保持しており、前記ニューラルネットワークモデルおよび前記特徴ベクトルに基づき、前記データベースから要素オブジェクトを選択し該要素オブジェクトを用いて合成データを生成する合成部と、を有する。
【発明の効果】
【0008】
本発明によれば、特徴ベクトルに従って要素オブジェクトを合成するニューラルネットワークモデルを予め保持し、自然言語の文からコンセプトとコンテキストの少なくとも一方を抽出し、それらを特徴ベクトルに変換し、ニューラルネットワークモデルに基づき要素オブジェクトを合成して合成データを生成するので、自然言語の文で表現されたユーザ所望の合成データを、データベースに蓄積された要素オブジェクトから生成することができる。また、学習に用いていない未知のシーンの画像を生成することができる。
【図面の簡単な説明】
【0009】
図1】実施例1による画像合成システムの物理構成を示すブロック図である。
図2】実施例1による画像合成装置のブロック図である。
図3】実施例1による画像合成処理のフローチャートである。
図4】実施例1による画像合成処理のシーケンス図である。
図5】実施例1による画像合成装置の動作例を示すシーケンス図である。
図6】実施例2による画像合成装置のブロック図である。
図7】実施例2による機械学習処理のフローチャートである。
図8】実施例3による画像合成システムの物理構成を示すブロック図である。
図9】実施例3による端末のブロック図である。
図10】実施例4によるデータベースが蓄積するデータの一例を示す図である。
図11】実施例5による画像合成装置のブロック図である。
【発明を実施するための形態】
【0010】
以下、本発明の実施形態について図面を参照して説明する。
【実施例1】
【0011】
図1は、実施例1による画像合成システムの物理構成を示すブロック図である。図1を参照すると、画像合成システムは、端末100、画像合成装置200、およびデータベース300を有している。端末100と画像合成装置200は通信ネットワーク101で接続され、画像合成装置200は通信ネットワーク201で接続される。通信ネットワーク101は例えばインターネットである。通信ネットワーク201は例えばLAN(Local Area Network)である。
【0012】
端末100は、ユーザ10が直接利用する情報端末であり、例えば、パーソナルコンピュータ、タブレット端末、スマートフォンなどである。ユーザ10の指示により、ユーザが所望する合成画像を自然言語で表現した文の情報を画像合成装置200に送り、文に合った画像の合成を要求する。また、端末100は、画像合成装置200が作成した合成画像のデータを画像合成装置200から受信し、内部の記憶措置(不図示)にデータを記録するとともに合成画像を画面に表示する。
【0013】
データベース300は、画像合成に利用する様々な画像のデータを、画像合成装置200から取得可能に蓄積するデータベースである。データベース300には、様々な物をそれぞれ表示する画像(オブジェクト画像)のデータが蓄積されている。オブジェクト画像にはその画像に表示されている物を示す情報(ラベル)が付加されている。例えば、オブジェクト画像には、その画像に表示されている物の名称の情報がラベルとして付加されている。
【0014】
画像合成装置200は、ユーザ10が操作する端末100からの要求に従い、データベース300に蓄積されたデータを利用して、ユーザ10の所望する画像(合成画像)を合成する計算機である。
【0015】
図2は、実施例1による画像合成装置のブロック図である。図2を参照すると、画像合成装置200は、文処理部210、コンセプト抽出部220、コンテキスト抽出部230、エンベディング変換部240、画像合成部250、および画像出力部260を有している。
【0016】
文処理部210は、端末100から受信した文を解析し、意味の解釈が可能な最小単位のエンティティ(以下「最小エンティティ」という)変換するとともに各エンティティの品詞を判断する。これにより文はコンセプト抽出部220およびコンテキスト抽出部230にて処理可能な形式となる。
【0017】
コンセプト抽出部220は、文処理部210にて解析された文からコンセプトを抽出する。具体的には例えば、コンセプト抽出部220は、文処理部210による解析により得られたエンティティのうち、品詞が名詞であるものを入力としコンセプトとして抽出すればよい。
【0018】
コンセプトは例えば、名詞に対する属性や特徴の関係性を記述したものである。例えば「犬」に対して「動物」「毛」といった関連語句が記述される。
【0019】
コンテキスト抽出部230は、文処理部210にて解析された文からコンテキストを抽出する。具体的には例えば、コンテキスト抽出部230は、コンセプト抽出部220で抽出されたコンセプトをそのままコンテキストとしたもの、文処理部210による解析により得られたエンティティのうち動詞など名詞以外の品詞の最小エンティティとコンセプトとを接続したもの、動詞でコンセプトとコンセプトを接続したものをコンテキストとして抽出すればよい。
【0020】
コンテキストは語句の文章表現の関係性を記述したものである。例えば「犬」と「走る」といった関係性が記述される。
【0021】
エンベディング変換部240は、コンセプトおよびコンテキストを、特徴空間におけるベクトルである特徴ベクトルに変換する。特徴ベクトルにより、コンセプトあるいはコンテキストの意味が表現される。これにより、コンセプトおよびコンテキストの意味を特徴ベクトルにより処理することが可能となる。本実施例では、コンセプトおよびコンテキストの特徴ベクトルがニューラルネットワークモデルの入力となる。
【0022】
画像合成部250は、機械学習により得たニューラルネットワーク(NN)モデルを予め保持しており、エンベディング変換部240で生成されたコンセプトの特徴ベクトルに応じたオブジェクト画像をデータベース300から取得し、コンセプトおよびコンテキストの特徴ベクトルとNNモデルとに基づいてオブジェクト画像を配置することにより合成画像を生成する。例えば、NNモデルは、コンセプトを含むコンテキストの特徴ベクトルを入力とし、合成画像またはその生成方法を出力する。NNモデルでは、入力された特徴ベクトルからレイヤ毎に高次元平面が生成され、最終平面ではコンテキストにおけるコンセプトを解釈した合成画像が出力される。合成画像の生成方法には、例えば、どのオブジェクト画像を用いるか、オブジェクト画像をどのような位置関係に配置するか、などが含まれる。例えば、画像合成部250は、NNモデルの出力に従って、コンセプト抽出部220で抽出されたコンセプトに対応するオブジェクト画像をデータベース300から取得し、そのオブジェクト画像を、コンテキスト抽出部230で抽出されたコンテキストに基づいて配置することにより合成画像を生成すればよい。
【0023】
本方式では、コンセプトとコンテキストの両方の特徴と出力画像が紐づけられるようにNNモデルが構成されていることを特徴とする。これによりコンセプトのみで学習したNNモデルでは合成することができない、事前に関係性が学習されていない対象についても画像を合成することができる。例えば、「雲の中を泳ぐ人」のような、実例のない画像を合成することができる。
【0024】
画像出力部260は、画像合成部250で生成された合成画像のデータを端末100に送信する。
【0025】
図3は、実施例1による画像合成処理のフローチャートである。図3を参照すると、まずステップS210にて、文処理部210が、端末100から受信した文を解析する。次にステップS220にて、コンセプト抽出部220が、文処理部210にて解析された文からコンセプトを抽出する。続いてステップS230にて、コンテキスト抽出部230が、文処理部210にて解析された文からコンテキストを抽出する。
【0026】
なお、文の複雑さによっては、コンセプトのみを抽出することで画像の合成は可能である。また、ここでは、コンセプトの抽出の次にコンテキストの抽出を行う例を示しているが、この順序に限定されることはない。他の例として、コンセプトとコンテキストを同時に抽出してもよい。
【0027】
次にステップS240では、エンベディング変換部240が、コンセプトおよびコンテキストを、特徴空間におけるベクトルである特徴ベクトルに変換する。例えば、Word2Vecにより個々のコンセプトおよびコンテキストを高次元のベクトル表現されたフィーチャにマッピングすることができる。コンセプトあるいはコンテキストの意味が特徴ベクトルで表現される。これにより、コンセプトおよびコンテキストの意味を演算処理することが可能となる。
【0028】
更にステップS250にて、画像合成部250が、コンセプトの特徴ベクトルに応じたオブジェクト画像をデータベース300から取得し、NNモデルを利用して、コンセプトおよびコンテキストの特徴ベクトルに基づき、オブジェクト画像を配置することにより合成画像を生成する。そしてステップS260にて、画像出力部260が、画像合成部250で生成された合成画像のデータを端末100に送信する。
【0029】
図4は、実施例1による画像合成処理のシーケンス図である。図4を参照すると、ステップS501にて、端末100から画像合成装置200に文が送信される。ステップS502にて、画像合成装置200でコンセプトが抽出される。ステップS503にて、画像合成装置200からデータベース300に、抽出されたコンセプトに合う画像が要求される。ステップS504にて、要求された、コンセプトに合った画像がデータベース300から画像合成装置200に返信される。ステップS505にて、画像合成装置200でコンテキストが抽出される。ステップS506にて、コンセプトに合った画像をコンテキストに従って合成した合成画像が生成される。ステップS507にて、合成画像が画像合成装置200から端末100に返送される。
【0030】
図5は、実施例1による画像合成装置の動作例を示すシーケンス図である。
【0031】
端末110は、ステップS610にて、ユーザ10入力した“Man running to train at station.”という文を画像合成装置200に送信する。
【0032】
画像合成装置200では、文を最小エンティティに分割する。そして、画像合成装置200は、最小エンティティの例に変換された文からコンセプトを抽出する。最小エンティティは、例えば、"Man:A"、"Running:P"、"Train:B"、"at station:C"などである。更に、画像合成装置200は、それらのコンセプトが存在するコンテキストを文から抽出する。図5の例では以下のようなコンテキストを抽出することができる。これらのコンセプトおよびコンテキストがNNモデルの入力となる。ここで、A、B、C、P等のアルファベットはコンセプトあるいはコンテキストに付与される識別符号である。
Man:A
Train:B
At Station:C
Man:A running:P
Man:A running:P Train:B
Train:B at station:C
Man:A running:P at Station:C
【0033】
画像合成装置200は、ステップS602にて、コンセプトを取得し、ステップS603にて、コンセプトに対応する画像をデータベース300に要求する。この例では、manとtrainの画像が要求されている。ステップS604にて、データベース300から画像合成装置200に、コンセプトに対応する画像が返信される。この例では、男の画像と駅に停車している電車の画像が返信されている。画像合成装置200は、ステップS605にて、コンテキストを取得し、ステップS606にて、画像を合成する。ここでは、manの画像とtrainの画像を重ね合わせて配置することにより、二次元の合成画像を生成している。画像合成装置200は、ステップS607にて、作成した合成画像のデータを端末100に送信する。画像合成は、コンセプトおよびコンテキスト、コンテキストのみ、あるいはコンセプトのみから合成が可能である。
【0034】
なお、本実施例では、画像を合成する例を示したが、画像と同様にオーディオデータやセンサデータなど他の様々なデータについても自然言語の言葉と関連付けることができれば、そのデータの活用も大きく広がることが考えられる。様々なデータについて、合成可能なデータである要素オブジェクトを用いて合成データを生成することができる。
【0035】
以上、説明したように、本実施例による画像合成装置200は、自然言語で記述可能なオブジェクトに関する合成可能なデータ(画像データ)である要素オブジェクト(オブジェクト画像)を予め蓄積したデータベース300と、自然言語の文からコンセプトまたはコンテキストの少なくとも一方を抽出する抽出部(コンセプト抽出部220、コンテキスト抽出部230)と、コンセプトまたはコンテキストを所定の特徴空間におけるベクトルで表現した特徴ベクトルに変換する変換部(エンベディング変換部240)と、入力された特徴ベクトルに従って要素オブジェクトを合成するニューラルネットワークモデルを予め保持しており、ニューラルネットワークモデルおよび特徴ベクトルに基づき、データベースから要素オブジェクトを選択しその要素オブジェクトを用いて合成データ(合成画像)を生成する合成部(画像合成部250)と、を有している。このように、特徴ベクトルに従って要素オブジェクトを合成するニューラルネットワークモデルを予め保持し、自然言語の文からコンセプトとコンテキストの少なくとも一方を抽出し、それらを特徴ベクトルに変換し、ニューラルネットワークモデルに基づき要素オブジェクトを合成して合成データを生成するので、自然言語の文で表現されたユーザ所望の合成データを、データベースに蓄積された要素オブジェクトから生成することができる。画像についてみると、要素オブジェクトとしてオブジェクト画像をデータベースに予め保持し、自然言語の文からコンセプトとコンテキストの少なくとも一方を抽出し、それらを特徴ベクトルに変換し、ニューラルネットワークモデルに基づきオブジェクト画像を合成して合成画像を生成するので、自然言語の文で表現されたユーザ所望の合成画像タを生成することができる。
【0036】
また、抽出部は、文を意味解釈が可能な最小単位である最小エンティティのうち、名詞である最小エンティティをコンセプトとし、他の最小エンティティとコンセプトを接続してコンテキストを生成する。名詞をコンセプトとし、コンセプトと他の最小エンティティを接続してコンテキストを生成するので、文で表現された物を解釈して合成データに反映させることができる。
【0037】
また、画像合成部は複数のオブジェクト画像を重ね合わせてまたは並べて配置することにより前記合成画像を生成する。比較的少ない処理量で合成画像を生成することができる。
【0038】
また、本実施例では、どのような画像合成方法を用いてもよい。例えば、ニューラルネットワークモデルは、ジェネレータとディスクリミネータという互いに敵対する2つのモデルで学習を行うGenerative Adversarial Networksによるニューラルネットワークモデルであり、ジェネレータにより合成画像を生成する。ユーザの所望するものに比較的近い合成画像を生成することができる。また、より単純な方法として、複数の画像を組み合わせて配置するコラージュにより合成画像を生成してもよい。
【実施例2】
【0039】
実施例1は、画像合成システムが学習済みのニューラルネットワークモデルを予め備え、そのNNモデルを用いて画像を合成する例を示した。実施例2では、画像合成システムがNNモデルを学習し、学習したNNモデルを用いて画像を合成する例を示す。
【0040】
実施例2による画像合成システムは、図1に示した実施例1のものと同様の物理構成を有する。
【0041】
図6は、実施例2による画像合成装置のブロック図である。実施例2による画像合成装置は、図2に示した実施例1のものとは、コンセプト選択部310、コンテキスト生成部320、画像判定部350、および終了条件判定部360を有する点で異なっている。
【0042】
実施例2による画像合成処理は、図3および図4に示した実施例1のものと同様の処理である。
【0043】
図7は、実施例2による機械学習処理のフローチャートである。
【0044】
まず、ステップS310にて、コンセプト選択部310が、様々ある既知のコンセプトから、例えばランダムにあるいは所定の選択方法によりコンセプトを選択する。次に、ステップS320にて、コンテキスト生成部320が、そのコンセプトを含む自然なコンテキストを生成する。例えば、自然言語の様々な文を蓄積しておき、その中から、選択されたコンセプトを含む文をコンテキストとして抽出することにしてもよい。
【0045】
次に、ステップS330にて、エンベディング変換部240が、コンセプトおよびコンテキストを特徴ベクトルに変換する。このときエンベディング変換部240は、実施例1にて説明した画像合成時と同様の方法で、コンセプトおよびコンテキストを特徴ベクトルに変換すればよい。エンベディング変換部240で生成された特徴ベクトルは、実施例1にて説明した画像合成時と同様に、画像合成部250に提供される。
【0046】
次に、ステップS340にて、画像合成部250は、コンセプトおよびコンテキストの特徴ベクトルをNNモデルに入力することにより合成画像を生成する。このとき画像合成部250は、実施例1にて説明した画像合成時と同様の方法で画像合成を行う。
【0047】
次に、ステップS350にて、画像判定部350が、作成された合成画像が、コンセプトとコンテキストを正しく表現したものとなっているか否か判定する。合成画像がコンセプトおよびコンテキストを正しく表現したものでなければ、ステップS340に戻って画像合成をやり直す。合成画像がコンセプトおよびコンテキストを正しく表現したものとなっていれば、次に、ステップS360にて、終了条件判定部360が、所定の終了条件が成立しているか否か判定する。終了条件が成立していれば、機械学習処理は終了する。終了条件が成立していなければ、ステップS310に戻る。終了条件は例えば所定回数だけ機械学習処理がループしたら終了としてもよい。あるいは、所定時間だけ機械学習処理を行ったら終了としてもよい。
【0048】
なお、本実施例も実施例1と同様に、オーディオデータやセンサデータなど画像データ以外のデータにも適用可能である。
【0049】
以上説明したように、本実施例では、画像合成装置200は、ニューラルネットワークモデルの学習に用いるコンセプトを選択するコンセプト選択部310と、ニューラルネットワークモデルの学習に用いるコンテキストを生成するコンテキスト生成部320と、ニューラルネットワークモデルにより生成された合成画像を評価する判定部(画像判定部350)と、を更に有している。そして、変換部(エンベディング変換部240)が、コンセプト選択部310により選択されたコンセプトと、コンテキスト生成部320により生成されたコンテキストとを特徴ベクトルに変換する。合成部(画像合成部250)が、ニューラルネットワークモデルおよび特徴ベクトルに基づき、データベース300から要素オブジェクト(オブジェクト画像)を選択しその要素オブジェクトを用いて合成データを生成する。判定部が、合成データを評価し、合成データが所定の評価を得られなければ合成部および判定部の処理を繰り返す。データ合成装置がデータ合成の機械学習を行うことができるので、ニューラルネットワークモデルを自身で学習して自身で利用するということが可能となる。
【実施例3】
【0050】
実施例1は、ユーザ10が端末100から入力した自然言語の文書に基づいて画像合成装置200が画像を合成し、端末100に送信する例を示した。実施例3では、端末が単独で画像合成を行う例を示す。
【0051】
図8は、実施例3による画像合成システムの物理構成を示すブロック図である。図8を参照すると、画像合成システムは端末110のみで構成されている。端末110は、例えば、パーソナルコンピュータ、タブレット端末、スマートフォンなどの情報機器である。図9は、実施例3による端末のブロック図である。図9を参照すると、実施例3による端末110は、入力部410、表示部420、データベース記憶部430、文処理部210、コンセプト抽出部220、コンテキスト抽出部230、エンベディング変換部240、および画像合成部250を有している。
【0052】
文処理部210、コンセプト抽出部220、コンテキスト抽出部230、エンベディング変換部240、および画像合成部250は、図2に示した実施例1において画像合成装置200が備えていたものと同様である。
【0053】
入力部410は、ユーザ10が生成したい画像に関する文を入力する入力操作部である。
【0054】
表示部420は、画像合成部250で生成された合成画像を表示する表示部である。
【0055】
データベース記憶部430は、図2のデータベース300に相当するオブジェクト画像のデータを蓄積する記憶部である。
【実施例4】
【0056】
実施例1では、データベース300に多数のオブジェクト画像を蓄積しておき、画像合成部250は、データベース300から特定のオブジェクト画像を取得し、それらのオブジェクト画像を合成することにより合成画像を作成した。オブジェクト画像は、人間、電車、うさぎ、など所定の対象物の画像である。しかし、本発明が実施例1の構成および処理に限定されることはない。視覚表現オブジェクトを組み合わせることにより合成画像を生成するものであればよい。視覚表現オブジェクトには、対象物の画像だけでなく、対象物の外観上の特徴を示すパッチも含まれる。パッチにより画像上で対象物の外観上の特徴を修正することが可能である。特徴は、うさぎの例をとれば、「白い毛皮」「短い脚」「長い耳」などであり、それを、うさぎのオブジェクト画像に、白い毛皮のパッチを組み合わせて「白いウサギ」の画像を生成することができる。
【0057】
実施例4では、データベース300に、視覚表現オブジェクトとして、オブジェクト画像の他に、対象物の外観上の詳細な特徴を示すパッチを蓄積しておき、オブジェクト画像とパッチを用いて所望のオブジェクト画像を作成する例を示す。実施例4の画像合成装置200の基本的な構成は、図2に示した実施例1のものと同様である。実施例4では、画像合成部250は、オブジェクト画像とパッチを用いて所望のオブジェクト画像を作成し、その作成したオブジェクト画像を用いて合成画像を作成する。
【0058】
図10は、実施例4によるデータベースが蓄積するデータの一例を示す図である。図10を参照すると、データベース300には、オブジェクト画像510と、それに付随するパッチ520が蓄積されている。画像合成部250は、ユーザ10が入力した文から抽出されたコンセプトおよびコンテキストに基づき、NNモデルを用いて、オブジェクト画像をパッチで修正し、修正した画像を組み合わせて合成画像を生成する。
【0059】
なお、本実施例も、画像データだけでなく、オーディオデータやセンサデータなど他のデータにも適用可能である。
【0060】
以上説明したように、本実施例によれば、要素オブジェクト(オブジェクト画像)は、画像の要素となる視覚的な表現を示す視覚表現オブジェクトであり、合成部(画像合成部250)は、特徴ベクトルに基づいて視覚表現オブジェクトを組み合わせることにより合成画像を生成する。自然言語の文で表現されたユーザ所望の画像を、視覚表現オブジェクトを組み合わせて合成することができる。
【0061】
また、視覚表現オブジェクトには、合成画像に表示する物体の特徴を表すパッチが含まれ、合成部は、オブジェクト画像をパッチにより修正し、修正したオブジェクト画像により合成画像を作成する。パッチによりユーザが所望する合成画像に適するようにオブジェクト画像を修正するので、よりユーザの所望に近い合成画像の生成が可能となる。
【実施例5】
【0062】
実施例1に示した例は、予め学習により取得したNNモデルを使用して画像合成を行う例であった。しかし、本発明がこれに限定されることはない。他の例として、実施例5では、NNモデルを用いた画像合成により得られる情報を利用してゼロショット学習を行い、NNモデルを更新していく例を示す。合成画像を生成する過程で、合成画像を生成するのに利用したオブジェクト画像が何を示しているかに関する情報(以下「オブジェクト画像情報」という)が得られる。本実施例では、合成データを生成する過程で得られたオブジェクト画像情報を利用してゼロショット学習を行い、NNモデルを更新する。合成データの生成で得られた情報を用いたゼロショット学習によりNNモデルを更新するので、言葉によるデータ合成の性能を継続的に向上させることができる。
【0063】
実施例5による画像合成システムの物理構成は図1に示した実施例1のものと同様である。実施例5の画像合成装置200は実施例1のものと一部が異なる。図11は、実施例5による画像合成装置のブロック図である。
【0064】
図11を参照すると、画像合成装置200は、文処理部210、コンセプト抽出部220、コンテキスト抽出部230、エンベディング変換部240、画像合成部250、画像出力部260、およびモデル更新部610を有している。実施例5の画像合成装置200は、実施例1のものと同様に画像合成を行うことができ、文処理部210、コンセプト抽出部220、コンテキスト抽出部230、エンベディング変換部240、画像合成部250、および画像出力部260は、図2に示した実施例1のものと同様である。
【0065】
データベース300に蓄積されたオブジェクト画像には、オブジェクト画像に表示された対象物に関する情報がメタデータ(ラベル)として付加されている。モデル更新部610は、画像合成部250で合成画像を生成する過程に得られた、合成画像の生成に利用したオブジェクト画像に関するオブジェクト画像情報が、データベース300に蓄積されたオブジェクト画像に与えられていない情報(以下「サンプルなしオブジェクト画像情報」という)であることを認識する。例えば、データベース300に蓄積されていない物に関する情報、あるいは、データベース300に蓄積されたオブジェクト画像に付加されていない情報が考えられる。モデル更新部610は、サンプルなしオブジェクト画像情報を認識すると、そのサンプルなしオブジェクト画像情報を利用してNNモデルのゼロショット学習を行うことを決定する。モデル更新部610は、モデル更新部610は、画像合成部250で合成画像を生成する過程に得られた、合成画像の生成に利用したオブジェクト画像に関するオブジェクト画像情報を利用してゼロショット学習を行うことによりNNモデルを更新する。その後、画像合成部250は、更新されたNNモデルを用いて画像合成を行う。サンプルが与えられていない情報を認識すると、その情報をゼロショット学習に利用するので、サンプルが与えられていない情報を効率よくゼロショット学習することができる。
【0066】
なお、モデル更新部610はどのようなタイミングでゼロショット学習を実行してもよいが、例えば、一定期間間隔で行ってもよいし、管理者が指示したタイミングで行ってもよい。
【実施例6】
【0067】
実施例5では、画像合成装置200は、ユーザの要求した合成画像を生成する過程で得られる情報を用いてゼロショット学習を行う例を示したが、本発明がこれに限定されることはない。他の例として実施例6では、NNモデルのゼロショット学習に利用するための文(以下「サンプル文」という)を画像合成装置に与え、画像合成装置は、そのサンプル文を用いて、コンセプト抽出、コンテキスト抽出、およびエンベディング変換を行い、その過程で得られた、オブジェクト画像が何を示しているかに関するオブジェクト画像情報をゼロショット学習に利用する。ただし、NNモデルのゼロショット学習に利用するために与えられたサンプル文に対する処理では、画像合成部250は画像合成を行わない。合成画像を生成する処理は負荷の高い処理であるが、本実施例では、合成画像を実際に生成するまでの処理を完結しなくてもオブジェクト画像情報が得られるので、それをゼロショット学習に利用するというものである。
【0068】
コンセプト抽出、コンテキスト抽出、およびエンベディング変換を行うことによりコンセプトおよびコンテキストが特徴ベクトルで表現した情報(以下「フィーチャ情報」という)される。実施例6では、合成画像の生成まで行わずに得られたフィーチャ情報がゼロショット学習に利用される。そのために実施例6では、NNモデルのゼロショット学習に利用するフィーチャ情報を取得するために、コンセプト抽出、コンテキスト抽出、およびエンベディング変換の処理が実行される。
【0069】
実施例6による画像合成システムの物理構成は図1に示した実施例1(あるいは実施例5)のものと同様である。実施例6の画像合成装置200の構成は図11に示した実施例5による画像合成装置と同様である。
【0070】
画像合成装置200に対してゼロショット学習のためにサンプル文が与えられる。サンプル文は、仮想的な合成画像に関する文であり、NNモデルの学習のための文である。コンセプト抽出部220は、実施例1のものと同様に、サンプル文からコンセプトを抽出する。コンテキスト抽出部230は、実施例1のものと同様に、サンプル文からコンテキストを抽出する。更に、エンベディング変換部240は、コンセプトおよびコンテキストを特徴ベクトルに変換する。これらによりオブジェクト画像情報(フィーチャ情報)が得られる。ただし、画像合成部250は、サンプル文に対する処理では画像合成を行わない。モデル更新部610は、オブジェクト画像情報(フィーチャ情報)を利用してゼロショット学習を行うことによりNNモデルを更新する。合成データを生成しなくてもゼロショット学習によりNNモデルを更新することができ処理量が少ないので、高速な学習が可能であり、言葉によるデータ合成の性能を迅速に向上させることができる。
【実施例7】
【0071】
実施例5では、一般的なニューラルネットワークのゼロショット学習手法を用いてNNモデルを更新する例を示したが、実施例7では、GAN(Generative Adversarial Networks)を用いた敵対的訓練によるゼロショット学習によりNNモデルを更新する例を示す。実施例7では、全てのコンセプトおよびコンテキストの特徴が知られているわけではなく、ゼロショット学習が行われる。コンセプトおよびコンテキストの特徴の限定されたサブセットが与えられると、画像合成装置は、2つのコンセプトの特徴を選択し、それら2つのコンセプトの特徴の間に新しい特徴を合成することができる。その結果として得られる特徴は、いずれのコンセプトではなく、両方を混合したものとなる。そのような特徴を計算し、NNモデルを訓練するために可能なアプローチの一例を以下に示す。
【0072】
実施例7による画像合成システムの物理構成は図1に示した実施例1(あるいは実施例5)のものと同様である。また、実施例7による画像合成装置の構成は図11に示した実施例5のものと同様である。本実施例のモデル更新部610は、条件生成モデルを用いて多様な学習用のサンプルを生成し、GAN(Generative Adversarial Networks)を用いた敵対的訓練によるゼロショット学習によりNNモデルを更新する。条件生成モデルで学習用のサンプルを生成し、GANによるゼロショット学習でニューラルネットワークモデルを更新するので、NNモデルによるデータ合成を継続的に改善し、NNモデルを堅牢にすることができる。
【0073】
本実施例のゼロショット学習について説明する。ここでは以下の表記法に従う。学習データDを式(1)のように表す。
【数1】
【0074】
ここで画像xは式(2)に示すように画像集合の要素である。
【数2】
【0075】
は画像xのラベルであり、それらのラベルは、式(3)に示す既知のクラスのラベル空間から得られる。
【数3】
【0076】
未知のクラスのラベル空間を式(4)で示すものとする。
【数4】
【0077】
式(5)に示す既知の各クラスはワンショット表現または単語エンベディング(単語の特徴ベクトル)で表現することができるものとする。
【数5】
【0078】
本実施例におけるゼロショット学習の目標は、未知の画像を正しいクラスラベル(クラスを示すラベル)のマッピングに近づけるようにマッピングすることができる、最適な意味的エンベディング(意味を表す特徴ベクトル)を見つけることである。つまり、画像とクラスラベルを、ある画像のエンベディングはその画像と同じクラスラベルのエンベディングに近く、ある画像のエンベディングはその画像と異なるクラスのラベルのエンベディングと異なるという意味空間に投影することを目的とする。最小化の目的となる損失を式(6)のように示すことができる。
【数6】
【0079】
ここで、d(x,y)は、画像の意味的エンベディングと同じクラスのラベルの意味的エンベディングとの間の類似性を示す指標である。類似性の指標として、セマンティックマッチングで広く用いられているドット積を用いている。
【0080】
ここで、条件生成モデルをGen(y,z)と表す。ラベルyは、画像xの単語エンベディング(単語の特徴ベクトル)である。生成モデルGenは、画像xと同じ分布から、画像合成において条件として用いる視覚的特徴を出力するNNモデルである。以下、この視覚的特徴を式(7)に示す記号で示すものとする。
【数7】
【0081】
また、単語エンベディングyの補間は式(8)のように表すことができる。
【数8】
【0082】
式(8)の補間は生成モデルGenの入力とみなされ、視覚的特徴空間における補間uを得ることができる。生成された視覚的特徴に対する2つの損失関数(式(9)および式(10))を得ることができる。
【数9】
【0083】
式(9)および式(10)は、視覚的特徴空間における補間uiで補間された視覚的特徴のマッピングが単語エンベディングyiと単語エンベディングyjのマッピングの間にあることを意味する。NNモデルで生成された視覚的特徴(式(7))に対して以下の式(11)および式(12)の損失関数を用いることができる。
【数10】
【0084】
式(11)および式(12)のLを最小化することは、NNモデルで生成される視覚的特徴のマッピングを画像xiのものに近づけようとすることを意味する。式(9)および式(10)は、xi、yi、およびyjを識別する関係を崩さないように補間uiを決めようとするものである。この式(11)および式(12)を用いることにより、より多様なサンプルの視覚的特徴を用いて式(6)を訓練することができる。
【0085】
上述した各実施例は、本発明の説明のための例示であり、本発明の範囲をそれらに限定する趣旨ではない。当業者は、本発明の範囲を逸脱することなしに、他の様々な態様で本発明を実施することができる。
【符号の説明】
【0086】
10…ユーザ、100…端末、101…通信ネットワーク、110…端末、200…画像合成装置、201…通信ネットワーク、210…文処理部、220…コンセプト抽出部、230…コンテキスト抽出部、240…エンベディング変換部、250…画像合成部、260…画像出力部、300…データベース、310…コンセプト選択部、320…コンテキスト生成部、350…画像判定部、360…終了条件判定部、410…入力部、420…表示部、430…データベース記憶部、510…オブジェクト画像、520…パッチ、610…モデル更新部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11