(57)【要約】【課題】編集対象のデータ中の一部のデータにおける中間表現やコンディショナル情報の操作・変更により柔軟なデータ編集を実現すること。【解決手段】データ編集装置は、第１のデータ中の少なくとも一部の第１のデータ領域に対して、前記第１のデータ領域の中間表現又はコンディショナル情報の少なくとも一方の変更の指定を受け付ける受付手段と、複数の生成モデルの中から選択された１以上の生成モデルと、前記変更された中間表現又はコンディショナル情報の少なくとも一方とを用いて、前記第１のデータ領域を編集した第２のデータを生成する生成手段と、前記第２のデータを、前記第１のデータ中の前記第１のデータ領域部分に合成した第３のデータを作成する合成手段と、を有する。【選択図】図３
2020086542.tif 000002
【特許請求の範囲】
【請求項１】
第１のデータ中の少なくとも一部の第１のデータ領域に対して、前記第１のデータ領域の中間表現又はコンディショナル情報の少なくとも一方の変更の指定を受け付ける受付手段と、
複数の生成モデルの中から選択された１以上の生成モデルと、前記変更された中間表現又はコンディショナル情報の少なくとも一方とを用いて、前記第１のデータ領域を編集した第２のデータを生成する生成手段と、
前記第２のデータを、前記第１のデータ中の前記第１のデータ領域部分に合成した第３のデータを作成する合成手段と、
を有するデータ編集装置。
【請求項２】
前記第１のデータは、画像を示すデータであり、
前記第１のデータにおいて、物体が含まれる前記第１のデータ領域を少なくとも検出する検出手段を有する、請求項１に記載のデータ編集装置。
【請求項３】
前記検出手段は、
更に、前記コンディショナル情報として、前記物体のクラスを示すクラス情報を検出する、請求項２に記載のデータ編集装置。
【請求項４】
前記第１のデータの編集後のデータとして前記第３のデータを出力する出力手段を有する、請求項１乃至３の何れか一項に記載のデータ編集装置。
【請求項５】
前記第１のデータ領域から中間表現を生成する中間表現生成手段を有し、
前記受付手段は、
前記中間表現生成手段が生成した中間表現又は前記コンディショナル情報の少なくとも一方の変更の指定を受け付け、
前記生成手段は、
前記変更された中間表現又はコンディショナル情報の少なくとも一方を前記生成モデルに入力することで、前記生成モデルの出力として前記第２のデータを生成する、請求項１乃至４の何れか一項に記載のデータ編集装置。
【請求項６】
前記生成モデルは、段階的に前記第２のデータを生成するモデルであり、
前記生成手段は、
前記変更された中間表現又はコンディショナル情報の少なくとも一方を前記段階毎に又は前記段階に応じて変更して前記生成モデルに入力することで、前記第２のデータを生成する、請求項１乃至５の何れか一項に記載のデータ編集装置。
【請求項７】
前記生成モデルは、複数の層で構成されるニューラルネットワークにより実現され、各層によって段階的に前記第２のデータを生成するモデルである、請求項６に記載のデータ編集装置。
【請求項８】
前記複数の生成モデルの中から、前記コンディショナル情報又は前記変更されたコンディショナル情報の少なくとも一方に応じて、１以上の生成モデルを選択する選択手段を有する、請求項１乃至７の何れか一項に記載のデータ編集装置。
【請求項９】
前記第１のデータは、画像を示すデータであり、
前記受付手段は、
前記画像中の物体が含まれる前記第１のデータ領域において、前記物体の一部の画像領域である第２のデータ領域に対する前記コンディショナル情報の変更の指定を受け付ける、請求項１乃至８の何れか一項に記載のデータ編集装置。
【請求項１０】
第１のデータ中の少なくとも一部の第１のデータ領域に対して、前記第１のデータ領域の中間表現又はコンディショナル情報の少なくとも一方の変更の指定を受け付ける受付手順と、
複数の生成モデルの中から選択された１以上の生成モデルと、前記変更された中間表現又はコンディショナル情報の少なくとも一方とを用いて、前記第１のデータ領域を編集した第２のデータを生成する生成手順と、
前記第２のデータを、前記第１のデータ中の前記第１のデータ領域部分に合成した第３のデータを作成する合成手順と、
をコンピュータが実行するデータ編集方法。
【請求項１１】
第１のデータ中の少なくとも一部の第１のデータ領域に対して、前記第１のデータ領域の中間表現又はコンディショナル情報の少なくとも一方の変更の指定を受け付ける受付手順と、
複数の生成モデルの中から選択された１以上の生成モデルと、前記変更された中間表現又はコンディショナル情報の少なくとも一方とを用いて、前記第１のデータ領域を編集した第２のデータを生成する生成手順と、
前記第２のデータを、前記第１のデータ中の前記第１のデータ領域部分に合成した第３のデータを作成する合成手順と、
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ編集装置、データ編集方法及びプログラムに関する。
【背景技術】
【０００２】
ノイズ等の中間表現と、クラス情報等のコンディショナル情報とを入力として、画像や音声、文章等のデータを生成する生成モデルが知られている。このような生成モデルとして、敵対的生成ネットワーク（以降、GAN（Generative Adversarial Networks）と表す。）の一種であるclass-conditional GANが知られている。
【０００３】
しかしながら、例えば、画像中の一部の画像領域における中間表現やコンディショナル情報を操作したり、画像生成の各段階で中間表現やコンディショナル情報を変更したりすることで当該画像領域のみを編集する等、柔軟な編集を行うことはできなかった。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Jun-Yan Zhu, Philipp Krahenbuhl, Eli Shechtman, Alexei A. Efros. Generative Visual Manipulation on the Natural Image Manifold, In ECCV, 2016.
【非特許文献２】Anh Nguyen, Jason Yosinski, Yoshua Bengio, Alexey Dosovitskiy, Jeff Clune. Plug & Play Generative Networks: Conditional Iterative Generation of Images in Latent Space, arXiv:1612.00005, 2016.
【非特許文献３】Takeru Miyato, Masanori Koyama. cGANs with Projection Discriminator, In ICLR, 2018.
【非特許文献４】Han Zhang, Ian Goodfellow, Dimitris Metaxas, Augustus Odena. Self-Attention Generative Adversarial Networks, arXiv:1805.08318, 2018.
【非特許文献５】Andrew Brock, Jeff Donahue, Karen Simonyan. Large Scale GAN Training for High Fidelity Natural Image Synthesis, arXiv:1809.11096, 2018.
【非特許文献６】Jun-Yan Zhu, Taesung Park, Phillip Isola, Alexei A. Efros, Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks, arXiv:1703.10593, 2017.
【非特許文献７】Xiaodan Liang, Hao Zhang, Eric P. Xing. Generative Semantic Manipulation with Contrasting GAN, arXiv:1708.00315, 2017.
【非特許文献８】Takuhiro Kaneko, Kaoru Hiramatsu, and Kunio Kashino, Generative Attribute Controller with Conditional Filtered Generative Adversarial Networks. IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2017.
【非特許文献９】Xun Huang, Serge Belongie. Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization, In ICCV, 2017.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の実施の形態は、上記の点に鑑みてなされたもので、編集対象のデータ中の一部のデータにおける中間表現やコンディショナル情報の操作・変更により柔軟なデータ編集を実現することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の実施の形態におけるデータ編集装置は、第１のデータ中の少なくとも一部の第１のデータ領域に対して、前記第１のデータ領域の中間表現又はコンディショナル情報の少なくとも一方の変更の指定を受け付ける受付手段と、複数の生成モデルの中から選択された１以上の生成モデルと、前記変更された中間表現又はコンディショナル情報の少なくとも一方とを用いて、前記第１のデータ領域を編集した第２のデータを生成する生成手段と、前記第２のデータを、前記第１のデータ中の前記第１のデータ領域部分に合成した第３のデータを作成する合成手段と、を有する。
【図面の簡単な説明】
【０００７】
【図１】本発明の実施の形態における画像編集装置の全体構成の一例を示す図である。
【図２】本発明の実施の形態における画像編集処理の一例を示すフローチャートである。
【図３】画像編集の流れの一例を説明するための図である。
【図４】中間表現及びクラス情報の生成モデルへの入力の一例を説明するための図である。
【図５】生成モデルの各段階で中間表現を変更する場合の一例を説明するための図である。
【図６】本発明の実施の形態における画像編集装置のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【０００８】
以下、本発明の実施の形態について説明する。本発明の実施の形態では、一例として、編集対象のデータが画像であるものとし、画像中の一部の画像領域における中間表現やコンディショナル情報をユーザが操作したり、画像生成の各段階で中間表現やコンディショナル情報を変更させたりすることで、当該画像領域を編集可能な画像編集装置１０について説明する。なお、中間表現及びコンディショナル情報は、「条件変数」とも称される。
【０００９】
本発明の実施の形態は、編集対象のデータが画像である場合に限られず、例えば、音声や文章（テキスト）等の種々のデータを編集する場合にも同様に適用することが可能である。
【００１０】
ここで、中間表現とは、生成モデルに入力される条件変数のことであり、文脈によっては「ノイズ」、「潜在変数」と称されることもある。本明細書では、「中間表現Ｚ」と表す。
【００１１】
また、コンディショナル情報とは、編集対象のデータの何等かの状態、条件、分類等を示す情報である。編集対象のデータが画像である場合には、コンディショナル情報としては、例えば、画像中の画素が属するクラスを示すクラス情報等が挙げられる。なお、クラスとは、例えば、画像中の画素が表す物体の種類や分類、カテゴリ等のことである。また、編集対象のデータが音声や文章等である場合には、コンディショナル情報としては、例えば、音声や文章をエンコーダでエンコードした結果であってもよいし、音声が男性であるか又は女性であるかの分類や音声の高低の分類等であってもよい。
【００１２】
本発明の実施の形態では、主に、コンディショナル情報の一例としてクラス情報について説明し、「クラス情報Ｃ」と表す。また、中間表現は、「中間表現Ｚ」と表す。
【００１３】
また、本発明の実施の形態では、画像生成には、GAN等のニューラルネットワークで実現される生成モデルを用いるものとする。また、このニューラルネットワークは、CNNのように、中間表現Ｚを入力として段階的に解像度を高める変換を繰り返す構造であるものとする。ただし、生成モデルはニューラルネットワークで実現されるものに限られず、各段階のうちの少なくとも１つの段階で空間的な解像度を持った形式に変換される構造のモデルであれば、任意の生成モデルを用いることが可能である。このような生成モデルの１つとして、特に、段階的に解像度を高めるようにして画像が生成されるモデルを用いることも可能である。
【００１４】
なお、本発明の実施の形態における画像編集装置１０は、例えばＰＣ（パーソナルコンピュータ）等を用いて実現されるが、これに限られない。画像編集装置１０は、例えば、スマートフォンやタブレット端末等を用いて実現されてもよい。
【００１５】
本発明の実施の形態における画像編集装置１０は、（１）生成モデルの条件変数である中間表現Ｚ及びクラス情報Ｃを空間的に自由かつ連続的に操作可能とし、（２）画像生成の各段階で条件変数を変更可能とする、ことにより画像中の一部の画像領域を柔軟に編集可能とする。なお、画像生成の各段階とは、例えば、生成モデルがニューラルネットワークで実現されている場合はニューラルネットワークの各層（レイヤ）のことである。
【００１６】
これにより、例えば、様々な物体が写った画像に対して、この画像の一部の物体のクラスを変更（例えば、犬を猫にする、犬をライオンにする等）することが可能となる。また、物体全体のクラス変更だけでなく、例えば、犬の耳等の物体の一部分のみを画像編集の対象にしたり、画像編集の度合いを連続的に変化（例えば、犬と猫の中間のクラスに変更する等）させたりすること等も可能となる。このように、本発明の実施の形態における画像編集装置１０によれば、柔軟かつ幅広いバリエーションの画像編集が可能となる。なお、編集対象となる画像の形式は限定されず、例えば、絵、イラスト、写真、ＣＧ（コンピュータグラフィックス）等、任意の形式の画像を用いることが可能である。
【００１７】
＜全体構成＞
まず、本発明の実施の形態における画像編集装置１０の全体構成について、図１を参照しながら説明する。図１は、本発明の実施の形態における画像編集装置１０の全体構成の一例を示す図である。
【００１８】
図１に示すように、本発明の実施の形態における画像編集装置１０は、画像編集処理部１１０と、記憶部１２０とを有する。画像編集処理部１１０は、画像中の一部の画像領域における条件変数の操作・変更により当該画像領域の編集を行う処理（画像編集処理）を実行する。また、記憶部１２０は、例えば、異なるクラスの物体が含まれる画像で学習された生成モデル（学習済みの生成モデル）が記憶されている。例えば、人の画像で学習された生成モデルや犬の画像で学習された生成モデル、人の画像と犬の画像とで学習された生成モデル等の複数の生成モデルが記憶されている。このように、記憶部１２０には、様々なクラスの物体が含まれる画像で学習された複数の生成モデルが予め記憶されている。なお、記憶部１２０には、生成モデルの他にも、例えば、編集対象の画像等が記憶されていてもよい。
【００１９】
ここで、画像編集処理部１１０には、操作受付部１１１と、入力部１１２と、物体検出部１１３と、モデル選択部１１４と、中間表現生成部１１５と、画像生成部１１６と、合成部１１７と、出力部１１８とが含まれる。
【００２０】
操作受付部１１１は、ユーザによる各種操作（例えば、クラス情報Ｃを変更する画像領域の指定操作や変更後のクラス情報Ｃの設定操作等）を受け付ける。
【００２１】
入力部１１２は、編集対象の画像を入力する。以降、入力部１１２が入力した画像を「入力画像」と表す。すなわち、入力画像が編集対象の画像である。
【００２２】
物体検出部１１３は、既存の物体検出技術により入力画像中の１以上の物体の位置及びクラスをそれぞれ検出する。ここで、物体の位置は、例えば、当該物体に対するバウンディングボックスとして検出される。また、物体のクラスが検出されることで、当該物体のクラス情報Ｃが得られる。
【００２３】
モデル選択部１１４は、物体検出部１１３が検出した物体のうち、ユーザにより編集対象として選択された物体に対して、記憶部１２０に記憶されている生成モデルの中から適した生成モデルを選択する。
【００２４】
中間表現生成部１１５は、ユーザにより編集対象として選択された物体のバウンディングボックス内の画像領域（この画像領域は「画像パッチ」又は単に「パッチ」とも称される。）の中間表現Ｚを生成する。
【００２５】
画像生成部１１６は、変更後のクラス情報Ｃ及び中間表現Ｚを用いて、モデル選択部１１４が選択した生成モデルにより画像（つまり、編集対象の物体の画像パッチと同じサイズの画像）を生成する。生成モデルにより生成された画像を「編集後画像パッチ」とも表す。
【００２６】
合成部１１７は、画像生成部１１６が生成した編集後画像パッチを、入力画像中の該当の画像パッチ部分に合成した画像を作成する。この合成後の画像を「編集後入力画像」とも表す。
【００２７】
出力部１１８は、合成部１１７が作成した編集後入力画像を出力する。ここで、出力部１１８は、任意の出力先に編集後入力画像を出力すればよい。例えば、記憶部１２０に編集後入力画像を出力（保存）してもよいし、ディスプレイ等の表示装置に編集後入力画像を出力（表示）してもよいし、ネットワークを介して接続される他の装置に編集後入力画像を出力（送信）してもよい。
【００２８】
＜画像編集処理＞
次に、本発明の実施の形態における画像編集処理について、図２を参照しながら説明する。図２は、本発明の実施の形態における画像編集処理の一例を示すフローチャートである。
【００２９】
ステップＳ１０１：入力部１１２は、編集対象の画像を入力する。ここで、入力部１１２は、例えば、編集対象の画像を指定する操作がユーザにより行われ、操作受付部１１１が当該操作を受け付けたことに応じて、当該画像を入力すればよい。なお、入力部１１２が入力する画像（入力画像）の入力元としては、画像編集装置１０のローカルストレージ（例えば、記憶部１２０）であってもよいし、ネットワークドライブやクラウドストレージ等であってもよい。
【００３０】
ステップＳ１０２：物体検出部１１３は、入力画像中の１以上の物体の位置及びクラスをそれぞれ検出する。以降では、物体検出部１１３により検出された物体のクラスを「物体クラス」とも表す。
【００３１】
ここで、例えば、図３に示す入力画像１０００が入力部１１２により入力された場合、物体検出部１１３は、当該入力画像１０００中の物体（人及び犬）の位置及び物体クラスをそれぞれ検出する。これにより、例えば、バウンディングボックスＢ１及び物体クラス「犬」と、バウンディングボックスＢ２及び物体クラス「人」とが検出される。これにより、物体毎に、当該物体の物体クラスを示すクラス情報Ｃが得られる。なお、クラス情報Ｃは、例えば、バウンディングボックス内の画像領域（画像パッチ）に含まれる各画素がどのクラスに属するかを示すクラスマップとして得られてもよい。ここで、クラスマップは、画像パッチと同じ解像度を持つデータ構造の情報である。ただし、物体クラスとしてどのようなクラスが存在し、どのような形式で物体クラスが表現されるか等は、物体検出部１１３を実現するオブジェクトディテクターによって異なる。
【００３２】
なお、図３に示す例では、物体の位置としてバウンディングボックスが検出された場合を示しているが、これに限られず、例えば、当該物体を囲む任意の領域（任意の矩形領域や任意の円形領域、任意の多角形領域、当該物体の境界で表される領域等）が検出されてもよい。この場合、当該領域が画像パッチとなる。また、当該領域は必ずしも物体を囲んでいる必要はなく、物体の一部が領域からはみ出していてもよい。更に、画像パッチが入力画像１０００の一部である必要はなく、画像パッチと入力画像１０００とが一致していてもよい。
【００３３】
また、上記のステップＳ１０２では、必ずしもクラス情報Ｃが検出される必要はなく、例えば、バウンディングボックス（又は、物体を囲む任意の領域等）のみが検出されてもよい。更に、物体検出部１１３により物体の位置及びクラスが検出される必要はなく、例えば、入力画像１０００中の物体の位置及びクラスの少なくとも一方をユーザにより指定されてもよい。この場合、操作受付部１１１により物体の位置及びクラスの少なくとも一方の指定を受け付ければよい。
【００３４】
ステップＳ１０３：操作受付部１１１は、上記のステップＳ１０２で検出された物体のうち、ユーザによる編集対象の物体の選択操作を受け付ける。ここで、以降では、図３に示す入力画像１０００中のバウンディングボックスＢ１に対応する物体（犬）を編集対象の物体とする選択操作が行われたものとして説明を続ける。なお、例えば、上記のステップＳ１０２で検出された物体が１つである場合や上記のステップＳ１０２で検出された全ての物体が編集対象として自動的に選択される場合等には、このステップＳ１０３は省略されてもよい。
【００３５】
ステップＳ１０４：操作受付部１１１は、上記のステップＳ１０３で選択された物体のバウンディングボックス内の画像領域（画像パッチ）に対して編集対象の領域（以降、「対象領域」とも表す。）及びその目標クラスを設定する操作を受け付ける。なお、目標クラスとは、対象領域の物体クラスの変更先とするクラスのことである。
【００３６】
ここで、図３に示す例では、ユーザは、例えば、バウンディングボックスＢ１内の画像パッチ１１００に対して、目標クラスに対応した色でペイントすること等により対象領域１１０１を設定する操作を行う。なお、対象領域及び目標クラスの設定方法は、目標クラスに対応した色でペイントする方法以外にも、例えば、目標クラスの名称等を直接指定又は選択してもよい。また、対象領域の設定方法についても、フリーハンドでペイントする方法以外に、例えば、「耳」や「鼻」等の部位を指定又は選択する方法が採用されてもよい。
【００３７】
上記の対象領域及び目標クラスの設定により、編集対象の物体のクラス情報Ｃから変更後のクラス情報Ｃが作成される。変更後のクラス情報Ｃは、当該物体の画像パッチと同じ解像度を持つデータ構造の情報であるものとする。例えば、変更前のクラス情報Ｃもクラスマップである場合、変更後のクラス情報Ｃは、変更前のクラス情報Ｃが表すクラスマップを構成する各値のうち、対象領域に対応する値を目標クラスに応じた値に変更したものである。ただし、変更後のクラス情報Ｃが生成モデルに入力される際に当該クラス情報Ｃを適宜リサイズすればよいため、変更後のクラス情報Ｃと当該物体の画像パッチとが同じ解像度でなくてもよい。
【００３８】
ここで、ユーザは、目標クラスとして、各画素がどのクラスに属するかだけでなく、その割合まで設定することができる。例えば、或る画素について、目標クラス「ライオン１００％」と設定することもできるし、目標クラス「ライオン６０％  ペルシャ猫４０％」と設定することもできる。このように、ユーザは、連続的な値で構成されるクラスマップを変更後のクラス情報Ｃとして作成することができる。なお、変更前のクラス情報Ｃは、連続的な値で構成されるクラスマップであってもよいし、離散的な値で構成されるクラスマップであってもよい。
【００３９】
このように、本発明の実施の形態では、ユーザは、画像パッチ１１００に対して、クラス情報Ｃを空間的に自由（つまり、画像中の物体の任意の領域におけるクラス情報Ｃを操作可能）かつ連続的に操作することができる。
【００４０】
ステップＳ１０５：モデル選択部１１４は、上記のステップＳ１０３で選択された物体に対して、この物体の物体クラス及び目標クラスに応じた生成モデルを記憶部１２０から選択する。
【００４１】
例えば、物体クラスが「柴犬」であり、対象領域（例えば、耳部分）の目標クラスが「シェパード」である場合、モデル選択部１１４は、犬の画像で学習された生成モデルを選択することが挙げられる。また、例えば、物体クラスが「犬」であり、対象領域（例えば、顔部分）の目標クラスが「ライオン」である場合、モデル選択部１１４は、犬の画像とライオンの画像とで学習された生成モデルを選択することが挙げられる。なお、モデル選択部１１４は、物体クラス又は目標クラスのいずれか一方のみに応じた生成モデルを記憶部１２０から選択してもよい。
【００４２】
このように、モデル選択部１１４は、物体クラス及び目標クラスの少なくとも一方に応じて、当該物体の画像パッチの編集に適した生成モデル（つまり、物体クラスを目標クラスに変更した画像生成を高い精度を行うことが可能な学習済み生成モデル）を選択すればよい。
【００４３】
また、モデル選択部１１４は、記憶部１２０から複数の生成モデルを選択してもよいし、これらの複数の生成モデルを候補としてユーザに提示した上で、これらの候補のうち、ユーザによって選択された１つ以上の生成モデルを最終的に選択してもよい。また、モデル選択部１１４は、複数の生成モデルを候補としてユーザに提示する際に、これら候補に対して何等かのスコア（例えば、物体クラスを目標クラスに変更した画像生成の精度を示す指標値等）を提示してもよい。更に、モデル選択部１１４は、記憶部１２０から生成モデルを選択するだけでなく、例えば、ＡＰＩ（Application Programming Interface）等として外部サービスによって提供されている生成モデルからも選択してもよい。
【００４４】
なお、上記のステップＳ１０５で複数の生成モデルが選択された場合、以降のステップＳ１０５〜ステップＳ１０８は、生成モデル毎に、並列又は直列に実行されればよい。
【００４５】
ステップＳ１０６：中間表現生成部１１５は、上記のステップＳ１０３で選択された物体の画像パッチの中間表現Ｚを生成する。ここで、中間表現Ｚは、例えば、学習済みのエンコーダに画像パッチを入力することで生成すればよい。これ以外にも、例えば、上記のステップＳ１０５で選択された生成モデルにランダムな初期値を入力することで生成された画像と当該画像パッチとの誤差を誤差逆伝播により最適化することで中間表現Ｚを生成してもよい。又は、例えば、上記のステップＳ１０５で選択された生成モデルに、上記の学習済みエンコーダに画像パッチを入力することで生成された情報を入力し、この入力により生成モデルで生成された画像と当該画像パッチとの誤差を誤差逆伝播により最適化することで中間表現を生成してもよい。ここで、誤差としては、例えば、当該画像と当該画像パッチとが同一の解像度となるように一方又は両方をリサイズした後の画像同士の誤差を用いてもよいし、任意の学習済みニューラルネットワーク等を用いて当該画像の特徴量と当該画像パッチの特徴量とをそれぞれ抽出した上で、これらの特徴量同士の誤差を用いてもよい。特に、このような特徴量として、GANの識別器（discriminator）の中間層の出力を用いてもよい。
【００４６】
なお、画像パッチを生成モデルやエンコーダに入力する際には、これらの生成モデルやエンコーダに入力可能なように、当該画像パッチの解像度がリサイズされる。
【００４７】
ステップＳ１０７：画像生成部１１６は、上記のステップＳ１０５で選択された生成モデルに対して、変更後のクラス情報Ｃ及び中間表現Ｚを入力することで、例えば図３に示す編集後画像パッチ１２００を生成する。この編集後画像パッチ１２００には、対象領域１１０１が目標クラスに応じて編集された領域１２０１が含まれる。なお、編集後画像パッチは、当該生成モデルにより生成され、当該生成モデルの出力として得られる。
【００４８】
このとき、画像生成部１１６は、変更後のクラス情報Ｃを、生成モデルにおける画像生成の各段階に対応する解像度のクラスマップにリサイズした上で、当該生成モデルに入力する。
【００４９】
例えば、図４に示すように、CNNで実現される生成モデルがレイヤ１、レイヤ２、レイヤ３等で構成されている場合、画像生成部１１６は、中間表現Ｚを当該生成モデルに入力すると共に、変更後のクラス情報Ｃが示すクラスマップを各レイヤが入力可能な解像度にリサイズした上で当該生成モデルに入力する。例えば、クラス数をＣＮとして、レイヤ１にクラス情報を入力する際に入力可能なデータの次元数がＨ１×Ｗ１×ＣＮ（次元）である場合、画像生成部１１６は、変更後のクラス情報Ｃが示すクラスマップの解像度をＨ１×Ｗ１（次元）にリサイズした上で、当該生成モデルのレイヤ１に入力する。同様に、例えば、レイヤ２が入力可能なデータの次元数がＨ２×Ｗ２×ＣＮ（次元）である場合、画像生成部１１６は、変更後のクラス情報Ｃが示すクラスマップの解像度をＨ２×Ｗ２（次元）にリサイズした上で、当該生成モデルのレイヤ２に入力する。他のレイヤ（段階）についても同様である。
【００５０】
ここで、上記では、変更後のクラス情報Ｃが示すクラスマップのリサイズのみを行ったが、これに限られない。例えば、各段階（レイヤ）に応じて、変更後のクラス情報Ｃが示すクラスマップを変更してもよい。具体的には、各段階に応じて、変更後のクラス情報Ｃが示すクラスマップに含まれる各値を変更（例えば、或る画素に対応する値に所定の定数を乗じる等）してもよいし、段階によってはクラスマップを生成モデルに入力しなくてもよい。特に、生成モデルによる画像生成の知見により、生成モデルの浅いレイヤ（例えば、第１層目）には変更後のクラス情報Ｃが示すクラスマップを生成モデルに入力しないようにしてもよい。これにより、生成モデルにより生成される画像を、より高い自由度で、より柔軟に変更することができる。
【００５１】
また、上記では、中間表現Ｚをそのまま生成モデルに入力したが、これに限られず、例えば、中間表現Ｚに何等かの変化を加えて変更した上で、この変更後の中間表現Ｚを生成モデルに入力してもよい。更に、例えば、生成モデルが画像生成の各段階で中間表現Ｚを入力可能である場合には、段階毎に又は段階に応じて中間表現Ｚに何等かの変化を加えて変更した上で、変更後の中間表現Ｚを生成モデルに入力してもよい。
【００５２】
なお、上記のクラスマップの変更や中間表現Ｚの変更は、ユーザの操作によって具体的に値が変更されてもよいし、画像生成部１１６により自動的に値が変更されてもよい。また、ユーザの操作によって具体的に値を変更するか又は自動的に値を変更するかは、例えば、設定情報としてユーザが予め設定可能であってもよい。
【００５３】
ここで、生成モデルの各段階で中間表現Ｚを変更する場合の一例として、入力画像１０００とは異なる他の画像（以降、「参照画像」と表す。）の中間表現を用いる場合について、図５を参照しながら説明する。図５は、生成モデルの各段階で中間表現を変更する場合の一例を説明するための図である。図５では、一例として、入力画像１０００及び参照画像と、上記のステップＳ１０２で検出されるバウンディングボックスの画像パッチの解像度とが一致しているものとする。
【００５４】
上記のステップＳ１０６で入力画像１０００から生成される中間表現を「中間表現Ｚ０」、同様に参照画像から生成される中間表現を「中間表現Ｚ１」として、中間表現Ｚ０及び中間表現Ｚ１をそれぞれ生成モデルに入力する。このとき、図５に示すように、ユーザにより指定されたウェイトマップを用いて、生成モデルの各段階で、中間表現Ｚ１の特徴量（の一部）を、中間表現Ｚ０の特徴量の一部に混合した特徴量（以降、「混合特徴量」と表す。）を生成する。
【００５５】
より詳細には、中間表現Ｚ０が入力された場合における生成モデルの段階ｎ（ｎ＝０，・・・，Ｎ）の特徴量をＦ０（ｎ）、中間表現Ｚ１が入力された場合における生成モデルの段階ｎの特徴量をＦ１（ｎ）、生成モデルの段階ｎにおけるウェイトマップをＭ（ｎ）とする。このとき、例えば、各段階ｎで、以下により段階ｎにおける混合特徴量を生成する。
【００５６】
【数１】
2020086542.tif 000003
【００５７】
ここで、Ｎｒｅｆは参照画像数であり、図５に示す例ではＮｒｅｆ＝１である。○はアダマール積、λ（ｎ）は０≦λ（ｎ）≦１であり、段階ｎにおける混合の強さを表す。また、Ｍｉ（ｎ）はウェイトマップであり、Ｆｉ（ｎ）の各要素のうち、混合する要素に対応する値を１、混合しない要素に対応する値を０としたデータである。なお、上記の数１に示す混合特徴量を、明細書のテキストでは、便宜上、「〜Ｆ（ｎ）」と表す。
【００５８】
そして、図５に示すように、最終的に出力される混合特徴量〜Ｆ（Ｎ）を出力画像として、この出力画像を編集後画像パッチ１２００とする。
【００５９】
なお、図５に示す例では、便宜上、参照画像は１つであるものとしたが、上記の数１に示すように、参照画像数Ｎｒｅｆは２以上であってもよい。また、図５に示す例では、生成モデルの各段階ｎで混合特徴量を生成したが、これに限られず、或る特定の１つ以上の段階ｎでのみ混合特徴量を生成してもよい。特に、生成モデルの浅い段階ｎ（例えば、ｎ＝０等）でのみ混合特徴量を生成するようにしてもよい。
【００６０】
また、図５に示す例では、例えば、段階ｎ＝０で、４×４のＦ（０）０の中央の４つの特徴量（例えば、（２，２），（２，３），（３，２），（３，３）の位置にある４つ特徴量）が混合されているが、上述したように、どの特徴量を混合対象とするかはウェイトマップＭｉ（ｎ）により決定される。したがって、ユーザは、ウェイトマップＭｉ（ｎ）を指定することで、どの段階ｎで、特徴量のどの要素を対象とした混合を行うかを決定することができる。
【００６１】
更に、図５に示す例では、各段階ｎでＦ０（ｎ）とＦ１（ｎ）との間で同一の位置にある特徴量を混合しているが、これに限られず、例えば、Ｆ０（ｎ）とＦ１（ｎ）との間で異なる位置にある特徴量を混合してもよい。具体的には、例えば、段階ｎ＝０で、４×４のＦ（０）０の中央の４つの特徴量（例えば、（２，２），（２，３），（３，２），（３，３）の位置にある４つ特徴量）を、Ｆ１（１）の左上の４つの特徴量（例えば、（１，１），（１，２），（２，１），（２，２）の位置にある４つの特徴量）にそれぞれ混合する、等である。すなわち、一般的には、任意の段階ｎで、Ｆｉ（ｎ）の任意の（空間的）位置にある特徴量を、Ｆ１（ｎ）の任意の（空間的）位置にある特徴量に混合してもよい。
【００６２】
なお、本発明の実施の形態では、入力画像（の特徴量）に対して、１以上の参照画像（の特徴量）を混合するための式として、上記の数１に示す式を説明したが、上記の数１に示す式は一例であって、１次元以上の解像度を有している任意のデータ同士を混合するための式であれば任意の式を用いることができる。
【００６３】
ステップＳ１０８：合成部１１７は、上記のステップＳ１０７で生成された編集後画像パッチ１２００を、入力画像１０００の画像パッチ１１００部分（すなわち、上記のステップＳ１０３で選択された物体の画像パッチ部分）に合成して、例えば図３に示す編集後入力画像１３００を作成する。ここで、合成部１１７は、例えば、画像パッチ１１００に含まれる対象領域１１０１をマスクとして編集後画像パッチ１２００から領域１２０１を切り出した上で、Poisson Image Blending等の画像合成手法を用いて入力画像１０００の画像パッチ１１００部分に合成することで、編集後入力画像１３００を作成すればよい。これにより、境界部分での画像アーティファクトの発生を回避することができる。
【００６４】
ステップＳ１０９：出力部１１８は、上記のステップＳ１０８で作成された編集後入力画像１３００を出力する。なお、このとき、上記のステップＳ１０５で複数の生成モデルが選択されたことにより、上記のステップＳ１０８で複数の編集後入力画像が作成された場合には、これら複数の編集後入力画像をユーザが選択可能に表示されてもよい。これにより、ユーザは、複数の生成モデルによってそれぞれ編集された複数の編集後入力画像のうち、所望の編集後入力画像を得ることができるようになる。
【００６５】
＜ハードウェア構成＞
次に、本発明の実施の形態における画像編集装置１０のハードウェア構成について、図６を参照しながら説明する。図６は、本発明の実施の形態における画像編集装置１０のハードウェア構成の一例を示す図である。
【００６６】
図６に示すように、本発明の実施の形態における画像編集装置１０は、入力装置２０１と、表示装置２０２と、外部Ｉ／Ｆ２０３と、通信Ｉ／Ｆ２０４と、ＲＡＭ（Random Access Memory）２０５と、ＲＯＭ（Read Only Memory）２０６と、プロセッサ２０７と、補助記憶装置２０８とを有する。これら各ハードウェアは、バス２０９により通信可能に接続されている。
【００６７】
入力装置２０１は、例えばキーボードやマウス、タッチパネル等であり、ユーザが各種操作を入力するのに用いられる。表示装置２０２は、例えばディスプレイ等であり、画像編集装置１０の各種の処理結果（例えば、入力画像や編集後入力画像等）を表示する。なお、画像編集装置１０は、入力装置２０１及び表示装置２０２のうちの少なくとも一方を有していなくてもよい。
【００６８】
外部Ｉ／Ｆ２０３は、外部装置とのインタフェースである。外部装置には、記録媒体２０３ａ等がある。画像編集装置１０は、外部Ｉ／Ｆ２０３を介して、記録媒体２０３ａ等の読み取りや書き込み等を行うことができる。記録媒体２０３ａには、画像編集処理部１１０を実現する１以上のプログラムや編集対象となる画像等が記録されていてもよい。
【００６９】
記録媒体２０３ａには、例えば、フレキシブルディスク、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disk）、ＳＤメモリカード（Secure Digital memory card）、ＵＳＢ（Universal Serial Bus）メモリカード等がある。
【００７０】
通信Ｉ／Ｆ２０４は、画像編集装置１０を通信ネットワークに接続するためのインタフェースである。画像編集処理部１１０を実現する１以上のプログラムや編集対象となる画像等は、通信Ｉ／Ｆ２０４を介して、所定のサーバ装置等から取得（ダウンロード）されてもよい。
【００７１】
ＲＡＭ２０５は、プログラムやデータを一時保持する揮発性の半導体メモリである。ＲＯＭ２０６は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。ＲＯＭ２０６には、例えば、ＯＳ（Operating System）に関する設定や通信ネットワークに関する設定等が格納されている。
【００７２】
プロセッサ２０７は、例えばＣＰＵ（Central Processing Unit）やＧＰＵ（Graphics Processing Unit）等であり、ＲＯＭ２０６や補助記憶装置２０８等からプログラムやデータをＲＡＭ２０５上に読み出して処理を実行する演算装置である。画像編集処理部１１０は、例えば補助記憶装置２０８に格納されている１以上のプログラムがプロセッサ２０７に実行させる処理により実現される。なお、画像編集装置１０は、プロセッサ２０７として、ＣＰＵとＧＰＵとの両方を有していてもよいし、ＣＰＵ又はＧＰＵのいずれか一方のみを有していてもよい。また、画像編集装置１０は、例えば、ＦＰＧＡ（Field-Programmable Gate Array）等の専用の半導体チップを有していてもよい。
【００７３】
補助記憶装置２０８は、例えばＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）等であり、プログラムやデータを格納している不揮発性の記憶装置である。補助記憶装置２０８には、例えば、ＯＳ、各種のアプリケーションソフトウェア、画像編集処理部１１０を実現する１以上のプログラム等が格納されている。また、記憶部１２０は、例えば、補助記憶装置２０８を用いて実現される。
【００７４】
本発明の実施の形態における画像編集装置１０は、図６に示すハードウェア構成を有することにより、上述した画像編集処理を実現することができる。なお、図６に示すハードウェア構成は一例であって、他の構成であってもよい。例えば、画像編集装置１０は、複数のプロセッサ２０７を有していてもよいし、複数のＲＡＭ２０５や複数のＲＯＭ２０６、複数の補助記憶装置２０８等を有していてもよい。また、例えば、画像編集装置１０は、複数のコンピュータで構成されていてもよい。
【００７５】
＜まとめ＞
以上のように、本発明の実施の形態における画像編集装置１０は、画像中の一部の画像領域における条件変数をユーザが操作したり、画像生成の各段階で条件変数を変更させたりすることで、当該画像領域を編集することができる。このとき、本発明の実施の形態では、画像中の物体検出と、当該物体の一部の領域における条件変数の操作とを組み合わせると共に、画像生成の各段階での条件変数の変更を更に組み合わせることで、画像編集を実現している。これにより、本発明の実施の形態における画像編集装置１０によれば、柔軟かつ幅広いバリエーションの画像編集が可能となる。
【００７６】
なお、本発明の実施の形態では、図２のステップＳ１０２でバウンディングボックスや物体を囲む任意の領域等を検出する場合について説明したが、例えば、入力画像中で編集したい領域をユーザがフリーハンド等で指定（例えば、円や矩形で囲む等）してもよい。これにより、例えば、この指定された領域に対して対象領域及び目標クラスが設定されることで、当該対象領域及び目標クラスに応じて入力画像を編集することができる。具体的には、例えば、入力画像中で編集したい領域をユーザが円で囲んで、目標クラス「柴犬」等と設定することで、当該領域に柴犬が含まれる編集後入力画像を出力することができるようになる。
【００７７】
また、本発明の実施の形態では、図２のステップＳ１０４で目標クラスを設定する操作（つまり、コンディショナル情報の変更）を受け付けたが、これに限られず、例えば、中間表現Ｚの変更を受け付けてもよいし、コンディショナル情報の変更と中間表現Ｚの変更との両方を受け付けてもよい。したがって、図２のステップＳ１０７では変更後のコンディショナル情報と（変更されていない）中間表現Ｚとから編集後画像パッチを生成してもよいし、（変更されていない）コンディショナル情報と変更後の中間表現Ｚとから編集後画像パッチを生成してもよいし、変更後のコンディショナル情報と変更後の中間表現Ｚとから編集後画像パッチを生成してもよい。
【００７８】
ここで、本発明の実施の形態では、編集対象の画像として静止画を対象に説明したが、これに限られず、例えば、動画を編集対象としてもよい。動画を編集対象とする場合、動画を構成する各フレーム画像に対して、本発明の実施の形態における画像編集処理を繰り返し適用すればよい。また、本発明の実施の形態は、画像編集だけでなく、例えば、セマンティックセグメンテーション等のタスクにも応用可能である。
【００７９】
更に、上述したように、本発明の実施の形態では、編集対象のデータは画像に限られない。編集対象のデータとしては、例えば、音声、文章、３Ｄオブジェクト等の任意のデータを対象とすることが可能である。すなわち、１次元以上の解像度を有しているデータ（特に、時間的又は空間的な解像度を有しているデータ）であれば、任意のデータを対象とすることが可能である。したがって、本発明の実施の形態によれば、１次元以上の解像度を有している任意のデータを編集対象として、当該編集対象のデータ中の一部のデータにおける中間表現やコンディショナル情報の操作・変更により、柔軟なデータ編集を実現することができるようになる。
【００８０】
本発明の実施の形態では、画像編集装置１０が単一の装置で実現されている場合について説明したが、例えば、複数の装置群で実現されていてもよい。すなわち、画像編集処理部１１０に含まれる機能部（操作受付部１１１、入力部１１２、物体検出部１１３、モデル選択部１１４、中間表現生成部１１５、画像生成部１１６、合成部１１７及び出力部１１８）の少なくとも一部の機能部が画像編集装置１０とは異なる他の装置で実現されていてもよい。同様に、記憶部１２０が画像編集装置１０とは異なる他の装置で実現されていてもよい。
【００８１】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【００８２】
１０        画像編集装置
１１０      画像編集処理部
１１１      操作受付部
１１２      入力部
１１３      物体検出部
１１４      モデル選択部
１１５      中間表現生成部
１１６      画像生成部
１１７      合成部
１１８      出力部
１２０      記憶部
【図１】
2020086542.tif 000004
【図２】
2020086542.tif 000005
【図３】
2020086542.tif 000006
【図４】
2020086542.tif 000007
【図５】
2020086542.tif 000008
【図６】
2020086542.tif 000009