(57)【要約】【課題】所望のカテゴリの画像であって、かつ、所望の固有特徴を有する画像を生成することができるようにする。【解決手段】生成部３は、第一の画像と同じカテゴリに属する第二の画像から得られた当該カテゴリに属する画像に共通する特徴であるカテゴリ特徴と、第一の画像と第二の画像とで異なる固有の特徴である固有特徴と、を関連付けることで第一の画像を生成する。【選択図】図１
2020095407.tif 000002
【特許請求の範囲】
【請求項１】
所望の固有特徴を有する第一の画像を生成する画像生成装置であって、
前記第一の画像と同じカテゴリに属する第二の画像から得られた前記カテゴリに属する画像に共通する特徴であるカテゴリ特徴と、前記第一の画像と前記第二の画像とで異なる固有の特徴である固有特徴と、を関連付けることで前記第一の画像を生成する生成部
を有し、
前記固有特徴は、前記第二の画像を分割した分割領域の各々について、前記所望の固有特徴が関連付けられたものである
画像生成装置。
【請求項２】
前記カテゴリ特徴は、前記第二の画像から前記固有特徴を除いて抽出されるように、かつ、所定の識別器に前記固有特徴を有すると識別されないように学習されている
請求項１記載の画像生成装置。
【請求項３】
前記生成部は、
前記所望の固有特徴と関連付けられた分割領域の位置情報を用いたマスクを、前記カテゴリ特徴にかけたものを変換し、前記変換により得られたデータを用いて前記第一の画像を生成する
請求項１又は２記載の画像生成装置。
【請求項４】
前記生成部は、
更に、前記所望の固有特徴から、前記所望の固有特徴が関連付けられた分割領域の位置情報を抑制したデータと、前記カテゴリ特徴とを含むデータを変換し、前記変換により得られたデータを用いて前記第一の画像を生成する
請求項３記載の画像生成装置。
【請求項５】
前記生成部は、
前記第二の画像を入力として前記カテゴリ特徴を抽出するエンコーダと、
前記カテゴリ特徴と前記所望の固有特徴とを入力として前記第一の画像を生成するデコーダと、
を更に含み、
前記エンコーダ及びデコーダは、学習用の固有特徴と、前記学習用の固有特徴を有する学習用画像とのペアに基づいて、前記学習用画像を前記エンコーダに入力し、前記学習用の固有特徴を前記デコーダに入力したときに前記デコーダが、前記学習用画像を再構成し、かつ、前記カテゴリ特徴を入力とする所定の識別器により前記学習用の固有特徴を有すると識別されないように予め学習されている
請求項１記載の画像生成装置。
【請求項６】
前記所定の識別器は、前記カテゴリ特徴を入力としたときに正しく前記固有特徴を有すると識別するように予め学習されている
請求項５記載の画像生成装置。
【請求項７】
所望の特徴を有する第一の画像を生成する画像生成方法であって、
生成部が、前記第一の画像と同じカテゴリに属する第二の画像から得られた前記カテゴリに属する画像に共通する特徴であるカテゴリ特徴と、前記第一の画像と前記第二の画像とで異なる固有の特徴である固有特徴と、を関連付けることで前記第一の画像を生成し、
前記固有特徴は、前記第二の画像を分割した分割領域の各々について、前記所望の固有特徴が関連付けられたものである
画像生成方法。
【請求項８】
コンピュータを、請求項１乃至６の何れか１項記載の画像生成装置の各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像生成装置、画像生成方法、及びプログラムに係り、特に、所望の固有特徴を有する画像を生成する画像生成装置、画像生成方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、デジタルカメラやスマートフォンの普及により画像の取得が容易となり、これらの画像に写った物体を機械で識別することで、工場での人の目視点検の代替や、小売り店舗での商品の欠品検知自動化等、様々な場面で人の作業効率化に役立ちはじめている。
【０００３】
このように、画像に写った物体を機械で識別する、画像の識別技術への要望は高まっている。
【０００４】
画像の識別技術に関して、近年、非特許文献１で開示されているような、ＣＮＮ（Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）に基づく手法が多く開示されている。
【０００５】
ＣＮＮは、特徴を検出するフィルタをスライドさせながら入力画像に対して掛け合わせて作成した特徴マップを出力する畳み込み処理と、抽出した特徴を局所領域ごとにまとめ上げるプーリング処理を繰り返し行っている。
【０００６】
ＣＮＮが高い識別性能を発揮するためには、大量の学習データをＣＮＮに入力し、これらを識別するようにフィルタを学習する必要がある。つまり、高精度な識別能力を持ったＣＮＮを獲得するためには、大量の学習データが必要である。
【０００７】
大量の学習データをすべて人手で用意するためには、多くのコストがかかる。具体的には、画像をカテゴリに分類する画像分類タスクのための学習データを用意するためには、カテゴリ毎に多くの画像が必要であり、例えば非特許文献２で開示されている画像分類タスク用公開データセットＩｍａｇｅＮｅｔを題材とした画像認識のコンペティションＩＬＳＶＲＣ２０１２で使用されたデータセットでは、１カテゴリ当たり約１，２００枚、合計１，０００カテゴリ分の画像が用意されている。さらに、カテゴリが詳細（例えば、椅子カテゴリを、ソファ、ベンチ、ダイニングチェアカテゴリに分ける場合）になるほど、学習データの準備がより大変になる。
【０００８】
上記の問題に対して、少量の画像データを準備し、これらを変換することで、画像データを拡張する方法がある。
【０００９】
例えば、非特許文献１では、予め定めた画像の幾何学的な変換方法（クロップや回転など）を用いて画像データを拡張し、拡張した画像データセットで画像分類器の学習を行うことで画像分類精度の向上を確認している。
【００１０】
また、特許文献１や非特許文献３では、カテゴリに共通して存在する特徴（属性）に基づいて画像を変換する方法が提案されている。画像とその画像が持つ属性のペアデータを複数用意し、これを学習データとして画像生成装置を学習する。
【００１１】
この画像生成装置に、画像と変換したい属性とのペアを入力すると、変換したい属性を特徴として持つ画像が出力される。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２０１８−５５３８４号公報
【非特許文献】
【００１３】
【非特許文献１】C. Szegedy, W. Liu, Y. Jia, P. Sermanet, S. Reed, D. Anguelov, D. Erhan, V. Vanhoucke, A. Rabinovich. ”Going deeper with convolutions.” In proc. IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2015, pp. 1-9.
【非特許文献２】O. Russakovsky, J. Deng, H. Su, J. Krause, S. Satheesh, S. Ma, Z. Huang, A. Karpathy, A. Khosla, M. Bernstein, A. Berg, L. Fei-Fei. ” ImageNet Large Scale Visual Recognition Challenge.” In proc. International Journal of Computer Vision (IJCV), 2015, pp.211-252.
【非特許文献３】G. Lample, N. Zeghidour, N. Usunier, A. Bordes, L. Denoyer, M. Ranzato, “Fader Networks: Manipulating Images by Sliding Attributes.” In Proc. Of NIPS, 2017, pp.5963-5972.
【発明の概要】
【発明が解決しようとする課題】
【００１４】
しかし、非特許文献１で得られる画像データセットは、画像の幾何学的な変換で得られる画像に限られるため、幾何学的な変換で得られない画像は正しく分類できない可能性がある、という問題があった。
【００１５】
例えば、色や柄の異なる画像は得られないため、少量の画像データセットに無い色や柄の画像を正しく分類できない可能性がある。
【００１６】
また、非特許文献３では、属性に基づいて多様な変換が可能であるが、変換対象となる画像は、画像生成装置の学習に用いたカテゴリの物体に限られる。そのため、画像生成装置の学習に用いた学習データに無い未知のカテゴリの画像を変換する場合には、変換する場所が定まらず、望んだ第一の画像を得られない、という問題があった。
【００１７】
例えば、図８に示すように、カテゴリ「キャップ」が学習データに無い未知のカテゴリである場合、キャップのカテゴリに属する画像のどの位置を変換すべきか分からない。
【００１８】
本発明は上記の点に鑑みてなされたものであり、所望のカテゴリの画像であって、かつ、所望の固有特徴を有する画像を生成することができる画像生成装置、画像生成方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１９】
本発明に係る画像生成装置は、所望の固有特徴を有する第一の画像を生成する画像生成装置であって、前記第一の画像と同じカテゴリに属する第二の画像から得られた前記カテゴリに属する画像に共通する特徴であるカテゴリ特徴と、前記第一の画像と前記第二の画像とで異なる固有の特徴である固有特徴と、を関連付けることで前記第一の画像を生成する生成部を有し、前記固有特徴は、前記第二の画像を分割した分割領域の各々について、前記所望の固有特徴が関連付けられたものである。
【００２０】
また、本発明に係る画像生成方法は、所望の特徴を有する第一の画像を生成する画像生成方法であって、生成部が、前記第一の画像と同じカテゴリに属する第二の画像から得られた前記カテゴリに属する画像に共通する特徴であるカテゴリ特徴と、前記第一の画像と前記第二の画像とで異なる固有の特徴である固有特徴と、を関連付けることで前記第一の画像を生成し、前記固有特徴は、前記第二の画像を分割した分割領域の各々について、前記所望の固有特徴が関連付けられたものである。
【００２１】
本発明に係る画像生成装置及び画像生成方法によれば、生成部が、第一の画像と同じカテゴリに属する第二の画像から得られた当該カテゴリに属する画像に共通する特徴であるカテゴリ特徴と、第一の画像と第二の画像とで異なる固有の特徴である固有特徴と、を関連付けることで第一の画像を生成する。固有特徴は、第二の画像を分割した分割領域の各々について、所望の固有特徴が関連付けられたものである。
【００２２】
このように、第一の画像と同じカテゴリに属する第二の画像から得られた当該カテゴリに属する画像に共通する特徴であるカテゴリ特徴と、第一の画像と第二の画像とで異なる固有の特徴である固有特徴と、を関連付けることで第一の画像を生成することにより、所望のカテゴリの画像であって、かつ、所望の固有特徴を有する画像を生成することができる。
【００２３】
また、本発明に係る画像生成装置の記カテゴリ特徴は、前記第二の画像から前記固有特徴を除いて抽出されるように、かつ、所定の識別器に前記固有特徴を有すると識別されないように学習されていることができる。
【００２４】
また、本発明に係る画像生成装置の前記生成部は、前記所望の固有特徴と関連付けられた分割領域の位置情報を用いたマスクを、前記カテゴリ特徴にかけたものを変換し、前記変換により得られたデータを用いて前記第一の画像を生成することができる。
【００２５】
また、本発明に係る画像生成装置の前記生成部は、更に、前記所望の固有特徴から、前記所望の固有特徴が関連付けられた分割領域の位置情報を抑制したデータと、前記カテゴリ特徴とを含むデータを変換し、前記変換により得られたデータを用いて前記第一の画像を生成することができる。
【００２６】
また、本発明に係る画像生成装置の前記生成部は、前記第二の画像を入力として前記カテゴリ特徴を抽出するエンコーダと、前記カテゴリ特徴と前記所望の固有特徴とを入力として前記第一の画像を生成するデコーダと、を更に含み、前記エンコーダ及びデコーダは、学習用の固有特徴と、前記学習用の固有特徴を有する学習用画像とのペアに基づいて、前記学習用画像を前記エンコーダに入力し、前記学習用の固有特徴を前記デコーダに入力したときに前記デコーダが、前記学習用画像を再構成し、かつ、前記カテゴリ特徴を入力とする所定の識別器により前記学習用の固有特徴を有すると識別されないように予め学習されていることができる。
【００２７】
また、本発明に係る画像生成装置の前記所定の識別器は、前記カテゴリ特徴を入力としたときに正しく前記固有特徴を有すると識別するように予め学習されていることができる。
【００２８】
本発明に係るプログラムは、コンピュータを、上記の画像生成装置の各部として機能させるためのプログラムである。
【発明の効果】
【００２９】
本発明の画像生成装置、画像生成方法、及びプログラムによれば、所望のカテゴリの画像であって、かつ、所望の固有特徴を有する画像を生成することができる。
【図面の簡単な説明】
【００３０】
【図１】本発明の実施の形態に係る画像生成装置の構成の一例を示すブロック図である。
【図２】本発明の実施の形態に係る画像生成装置のエンコーダ、デコーダ、及び識別器の関係を示すイメージ図である。
【図３】本発明の実施の形態に係る画像生成装置のデコーダの構成の一例を示すイメージ図である。
【図４】本発明の実施の形態に係る画像生成装置より生成される第一の画像の例である。
【図５】本発明の実施の形態に係る画像生成装置の学習処理ルーチンを示すフローチャートである。
【図６】本発明の実施の形態に係る画像生成装置のデコード処理ルーチンを示すフローチャートである。
【図７】本発明の実施の形態に係る画像生成装置の画像生成処理ルーチンを示すフローチャートである。
【図８】本発明の課題を示すイメージ図である。
【発明を実施するための形態】
【００３１】
以下、本発明の実施の形態について図面を用いて説明する。
【００３２】
＜本発明の実施の形態に係る画像生成装置の構成＞
図１を参照して、本発明の実施の形態に係る画像生成装置１００の構成について説明する。図１は、本発明の実施の形態に係る画像生成装置の構成を示すブロック図である。
【００３３】
画像生成装置１００は、ＣＰＵと、ＲＡＭと、後述する画像生成処理ルーチンを実行するためのプログラムを記憶したＲＯＭとを備えたコンピュータで構成され、機能的には次に示すように構成されている。
【００３４】
図１に示すように、本実施形態に係る画像生成装置１００は、入力部１と、記憶部２と、生成部３と、パラメータ更新部４と、出力部５とを備えて構成される。以下、画像生成装置１００の処理を、学習処理と、画像生成処理とに分けて各機能を説明する。
【００３５】
＜＜学習処理＞＞
入力部１は、学習用の固有特徴と、当該学習用の固有特徴を含む学習用画像との１以上のペアの入力を受け付ける。
【００３６】
本実施形態において、カテゴリ特徴とは、所望のカテゴリに属する対象に共通する特徴である。例えば、帽子のカテゴリ「ハット」であれば、つばの部分が「丸い」といった特徴である。
【００３７】
また、固有特徴（属性）とは、所望のカテゴリに属する複数の対象に必ずしも共通しない場合がある特徴である。例えば、帽子のカテゴリ「ハット」であれば、「青い」という特徴である。「青い」という特徴は、カテゴリ「ハット」に属する複数の対象に共通する場合もあれば、共通しない場合もある。
【００３８】
また、属性位置データとは、第一の画像（出力画像）における各位置の固有特徴（属性）を示すデータである。
【００３９】
具体的には、学習用画像ｘは、サイズが横幅×縦幅×チャネル数のテンソルであり、ここでは、学習用画像ｘの横幅をＷ、縦幅をＨ、チャネル数をＤとする。また、学習用画像ｘは、横幅と縦幅が等しいテンソル（すなわち、Ｗ＝Ｈ）であれば何でも良い。
【００４０】
また、テンソルの最左上手前の座標を（０，０，０）とし、最左上手前から右にｗ、下にｈ進み、奥にｄ枚目のチャネルに相当する座標を（ｗ，ｈ，ｄ）と表記するものとする。
【００４１】
また、説明の簡単のため、各テンソルについて、横幅の次元を次元１、縦幅の次元を次元２、チャネル数の次元を次元３と記載する。すなわち、学習用画像ｘの次元１のサイズはＷ、次元２のサイズはＨ、次元３のサイズはＤとなる。
【００４２】
横幅と縦幅が等しくない画像（Ｗ≠Ｈ）から横幅と縦幅が等しい（Ｗ＝Ｈ）画像を作成する方法は、テンソルのサイズを変更する処理であれば何でも良く、例えばリサイズ処理、画像の一部を切り出すクロップ処理、画像の周囲に数値０や画像の端の画素を繰り返し追加するパディング処理、又は画像の端の画素を上下または左右で逆にして追加するミラーリング処理等を行う。
【００４３】
固有特徴とは、同じカテゴリの画像で異なる固有の特徴であり、学習用画像を分割した分割領域の各々について、固有特徴が関連付けられたものである。
【００４４】
本実施形態では、入力部１は、各位置についての、固有特徴としての属性を表す属性位置データｙの入力を受け付ける。属性位置データｙは、学習用画像ｘの変換後における各位置の属性を示すデータである。
【００４５】
属性とは、当該画像生成装置１００で変換する予め定義した画像の固有特徴を表す言葉であれば何でも良く、例えば赤、青等の色、木製、ガラス等の素材、ドットやストライプ等の柄等の特徴を示す言葉である。
【００４６】
また、各属性が特定可能な識別子が付与されているものとする。例えば、予め定義した属性がＡ種類のとき、０以上Ａ未満の自然数を付与する。また、学習用画像ｘの変換後の各位置における各属性の有無を、属性位置データｙが示すものとする。
【００４７】
属性位置データｙは、属性がＡ種類のとき、サイズがＭ×Ｎ×ＡのテンソルＹであり、学習用画像ｘのサイズがＷ×Ｈ×Ｄとしたとき１≦Ｍ≦Ｗ、１≦Ｎ≦Ｈとなり、Ｍ＝Ｎであるものとする。
【００４８】
学習用画像ｘについて、横幅をＭ個に、縦幅をＮ個に分割しグリッドに分け、学習用画像ｘの変換後の画像について、最左上から右にｍ番目、下にｎ番目のグリッドが持つ属性を特定する数値がａであるとき、テンソルＹの（ｍ，ｎ，ａ）の位置に１を配置する。
【００４９】
一方、当該グリッドが数値ａで特定される属性を持っていない場合、テンソルＹの（ｍ，ｎ，ａ）の位置に０を配置する。
【００５０】
そして、入力部１は、受け付けた学習用画像ｘと属性位置データｙとの１以上のペアを、生成部３に渡す。
【００５１】
記憶部２には、学習用画像ｘを入力として学習用画像ｘと同一のカテゴリに属する画像に共通する特徴であるカテゴリ特徴としての潜在表現Ｅ（ｘ）を抽出するエンコーダ、潜在表現Ｅ（ｘ）と属性位置データｙとを入力として各位置に属性を有し、かつ、当該カテゴリに属する画像を生成するデコーダ、及び潜在表現Ｅ（ｘ）を入力として各属性が含まれるか否かを識別する識別器が格納されている。
【００５２】
具体的には、エンコーダ、デコータ、及び識別器は、それぞれニューラルネットワークであり、記憶部２には、各ニューラルネットワークのパラメータが格納されている。
【００５３】
生成部３は、出力画像
2020095407.tif 000003
と同じカテゴリに属する学習用画像から得られた潜在表現Ｅ（ｘ）と、属性位置データｙと、を関連付けることで出力画像
2020095407.tif 000004
を生成する。
【００５４】
具体的には、生成部３は、まず、記憶部２からエンコーダ、デコーダ及び識別器の各パラメータを取得する。
【００５５】
次に、生成部３は、学習用画像ｘをエンコーダに入力して潜在表現Ｅ（ｘ）を抽出し、抽出した潜在表現Ｅ（ｘ）と属性位置データｙをデコーダに入力して、出力画像
2020095407.tif 000005
を生成する。
【００５６】
図２に、エンコーダ、デコーダ、及び識別器の関係を示す。
【００５７】
エンコーダは、学習用画像ｘを入力とし、学習用画像ｘから属性情報を除いたカテゴリ特徴を抽出するニューラルネットワークであれば何でも良い。以下、本実施形態では、カテゴリ特徴の例として、潜在表現Ｅ（ｘ）を用いて説明する。
【００５８】
例えば、非特許文献３のエンコーダを採用することができる。非特許文献３のエンコーダは、入力される画像のサイズが２５６×２５６×３であるとき、出力される潜在表現Ｅ（ｘ）のサイズが２×２×５１２となるニューラルネットワークを用いている。
【００５９】
デコーダは、潜在表現Ｅ（ｘ）と属性位置データｙを入力とし、学習用画像ｘとサイズが同じ画像であり、かつ、属性位置データｙによって与えられた各位置の属性情報を持つ画像を生成するニューラルネットワークである。
【００６０】
図３にデコーダの構成を示す。図３に示すように、デコーダは、ローカル用潜在表現前処理、ローカル用属性位置データ前処理、ローカル用入力データ統合処理、ローカルデコーダの処理、グローバル用属性位置データ前処理、グローバル用入力データ統合処理、グローバルデコーダの処理、及び画像デコーダの処理の各処理を行う。
【００６１】
ローカルデコーダ、グローバルデコーダ、及び画像デコーダはそれぞれニューラルネットワークであり、デコーダでは、ローカルデコーダの出力であるテンソルと、グローバルデコーダの出力であるテンソルと、属性位置データｙとを次元３の方向に重ね合わせたテンソルを画像デコーダに入力し、出力画像
2020095407.tif 000006
を生成する。以下、デコーダの各処理について説明する。
【００６２】
ローカルデコーダは、属性のある位置のみをフィルタリングするためのデコーダである。ローカルデコーダは、属性位置データｙをマスクとして使用し、属性のある位置のみに着目するように潜在表現Ｅ（ｘ）を変換する。
【００６３】
具体的には、ローカルデコーダは、入力となるテンソルのサイズの次元１及び次元２が属性位置データｙの次元１及び次元２のサイズと同じであり、次元３のサイズが潜在表現Ｅ（ｘ）の次元３のサイズと同じであり、入力のテンソルと同じサイズのテンソルを出力するニューラルネットワークであれば何でも良い。
【００６４】
ローカルデコーダに属性位置データｙの次元１及び次元２のサイズと同じテンソルを入力するために、ローカル用潜在表現前処理により潜在表現Ｅ（ｘ）のサイズを変形し、ローカル用属性位置データ前処理により属性位置データｙのサイズを変形し、各前処理の出力をローカル用入力データ統合処理により統合する。
【００６５】
具体的には、ローカル用潜在表現前処理は、潜在表現Ｅ（ｘ）のサイズの次元１及び次元２が属性位置データｙの次元１及び次元２のサイズと同じテンソルになるよう変形する処理である。
【００６６】
例えば、ローカル用潜在表現前処理は、潜在表現Ｅ（ｘ）のサイズが２×２×５１２であり、属性位置データｙのサイズが１６×１６×１１であるとき、ローカル用潜在表現前処理の出力を１６×１６×５１２のテンソルとするために、潜在表現Ｅ（ｘ）のテンソルを１×１×５１２に変形した後に、次元１及び次元２の方向に１６×１６個複製し、１６×１６×５１２のテンソルを出力する処理を行う。
【００６７】
また、ローカル用属性位置データ前処理は、属性位置データｙの次元３のサイズが、潜在表現Ｅ（ｘ）の次元３のサイズと同じテンソルになるよう変形する処理である。
【００６８】
例えば、ローカル用属性位置データ前処理は、潜在表現Ｅ（ｘ）のサイズが２×２×５１２であり、属性位置データｙのサイズが１６×１６×１１であるとき、ローカル用属性位置データ前処理の出力を１６×１６×５１２のテンソルとするために、属性位置データｙのテンソルを次元３の方向に足し合わせ、１６×１６×１のテンソルにした後、これを次元３の方向に５１２個複製し、１６×１６×５１２のテンソルを出力する処理を行う。
【００６９】
ローカル用入力データ統合処理は、ローカル用潜在表現前処理の出力であるテンソルと、ローカル用属性位置データ前処理の出力であるテンソルを入力とし、これら入力された２つのテンソルと同じサイズのテンソルを出力する処理である。
【００７０】
例えば、ローカル用入力データ統合処理は、入力された２つのテンソルを掛け合わせることにより、次元１及び次元２が属性位置データｙの次元１及び次元２のサイズと同じであり、かつ、次元３のサイズが潜在表現Ｅ（ｘ）の次元３のサイズと同じであるテンソルを出力する処理を行う。
【００７１】
グローバルデコーダは画像全体としての構造を保持するためのデコーダである。グローバルデコーダは、属性位置データｙの位置情報を、事前に属性位置データｙの次元１及び次元２のサイズを縮小することで、抑制し、潜在表現Ｅ（ｘ）と合わせて変換することで画像全体の構造を保つように変換する。
【００７２】
具体的には、グローバルデコーダは、次元１及び次元２が潜在表現Ｅ（ｘ）の次元１及び次元２のサイズと同じテンソルを入力とし、次元１及び次元２のサイズが属性位置データｙの次元１及び次元２と同じサイズのテンソルを出力するニューラルネットワークであれば何でも良い。
【００７３】
グローバルデコーダに次元１及び次元２が潜在表現Ｅ（ｘ）の次元１及び次元２のサイズと同じテンソルを入力するために、グローバル用属性位置データ前処理により属性位置データｙのサイズを変形し出力したテンソルと、潜在表現Ｅ（ｘ）とをグローバル用入力データ統合処理により統合する処理である。
【００７４】
具体的には、グローバル用属性位置データ前処理は、属性位置データｙの次元１及び次元２のサイズが、潜在表現Ｅ（ｘ）の次元１及び次元２のサイズと同じテンソルになるよう変形する処理である。
【００７５】
例えば、グローバル用属性位置データ前処理は、潜在表現Ｅ（ｘ）のサイズが２×２×５１２であり、属性位置データｙのサイズが１６×１６×１１であるとき、畳み込みニューラルネットワークにより畳み込み処理を行い、２×２×５１２のテンソルを出力する処理を行う。
【００７６】
グローバル用入力データ統合処理は、潜在表現Ｅ（ｘ）と、グローバル用属性位置データ前処理の出力であるテンソルを入力とし、次元１及び次元２のサイズが、これら入力された２つのテンソルの次元１及び次元２と同じサイズのテンソルを出力する処理である。
【００７７】
例えば、グローバル用入力データ統合処理は、入力された２つのテンソルを次元３の方向に重ね合わせることで、次元１及び次元２が潜在表現の次元１及び次元２のサイズと同じであるテンソルを出力する処理を行う。
【００７８】
画像デコーダは、ローカルデコーダの出力であるテンソルと、グローバルデコーダの出力であるテンソルと、属性位置データｙとを次元３の方向に重ね合わせたテンソルを入力として、出力画像
2020095407.tif 000007
を生成する処理を行う。
【００７９】
識別器は、画像から得られた潜在表現Ｅ（ｘ）を入力としたときに当該画像が有する属性を識別するニューラルネットワークである。
【００８０】
例えば、識別器は、潜在表現Ｅ（ｘ）のサイズが２×２×５１２であり、属性数が１０であるとき、入力として２×２×５１２のテンソルを受け付け、出力が長さ１０のベクトルとなるニューラルネットワークを用いることができる。
【００８１】
そして、生成部３は、学習用画像ｘ、生成した出力画像
2020095407.tif 000008
、及び属性位置データｙを、パラメータ更新部４に渡す。
【００８２】
パラメータ更新部４は、属性位置データｙと、属性位置データｙが表す各位置の属性を有する学習用画像ｘとのペアに基づいて、学習用画像ｘをエンコーダに入力し、属性位置データｙをデコーダに入力したときにデコーダが、学習用画像ｘを再構成し、かつ、潜在表現Ｅ（ｘ）を入力とする識別器により属性位置データｙが表す属性を有すると識別されないようにエンコーダ及びデコーダの各パラメータを更新し、潜在表現Ｅ（ｘ）を入力としたときに属性位置データｙが表す属性を有すると正しく識別するように識別器のパラメータを更新する。
【００８３】
具体的には、パラメータ更新部４は、まず、記憶部２からエンコーダ、デコーダ、及び識別器の各パラメータを取得する。
【００８４】
次に、パラメータ更新部４は、下記の二種類の制約を満たすようニューラルネットワークであるエンコーダ、デコーダ、及び識別器の各パラメータを更新する。
【００８５】
一つ目の制約は、生成した出力画像
2020095407.tif 000009
が、学習用画像ｘを再構成するようにエンコーダ及びデコーダの各パラメータを更新することである。
【００８６】
この一つ目の制約を満たすよう設定された学習方法であれば何でも良く、例えば非特許文献３では、学習用画像ｘと生成した出力画像
2020095407.tif 000010
との二乗誤差を計算し、これを小さくするようにエンコーダ及びデコーダの各パラメータを更新する。
【００８７】
二つ目の制約は、学習用画像ｘが入力されたエンコーダが属性情報を除くように潜在表現Ｅ（ｘ）を抽出し、かつ、識別器は潜在表現Ｅ（ｘ）から属性位置データｙが表す属性を有すると正しく識別するようにエンコーダ及び識別器の各パラメータを更新することである。
【００８８】
この二つ目の制約を満たすよう設定された学習方法であれば何でも良く、例えば、非特許文献３では、識別器が潜在表現Ｅ（ｘ）から属性位置データｙが表す属性を有すると正しく識別する確率を小さくするようエンコーダのパラメータを更新することに対し、識別器が潜在表現Ｅ（ｘ）から属性位置データｙが表す属性を有すると識別する確率が大きくなるように識別器のパラメータを更新する。
【００８９】
そして、パラメータ更新部４は、学習したエンコーダ、デコーダ、及び識別器の各パラメータを、記憶部２に格納する。
【００９０】
なお、学習処理では、入力された学習画像ｘ及び属性位置データｙの１以上のペアの各々について、１つのペア毎にエンコーダ、デコーダ、及び識別器の各パラメータを学習してもよいし、バッチ処理等により複数同時、又は一括して学習してもよい。
【００９１】
＜＜画像生成処理＞＞
次に、画像生成処理について説明する。画像生成装置１００の画像生成処理では、固有特徴である属性位置データｙを有する第一の画像
2020095407.tif 000011
を生成する。
【００９２】
なお、簡単のため、本実施形態では、第二の画像ｘは、学習画像ｘと同様のテンソルであるものとする。
【００９３】
入力部１は、生成したい第一の画像
2020095407.tif 000012
と同じカテゴリに属する第二の画像ｘ、及び所望の固有特徴である属性位置データｙの入力を受け付ける。
【００９４】
具体的には、第二の画像ｘは、サイズが横幅×縦幅×チャネル数のテンソルであり、ここでは、第二の画像ｘの横幅をＷ、縦幅をＨ、チャネル数をＤとする。また、第二の画像ｘは、横幅と縦幅が等しいテンソル（すなわち、Ｗ＝Ｈ）であれば何でも良い。
【００９５】
また、テンソルの最左上手前の座標を（０，０，０）とし、最左上手前から右にｗ、下にｈ進み、奥にｄ枚目のチャネルに相当する座標を（ｗ，ｈ，ｄ）と表記するものとする。
【００９６】
また、説明の簡単のため、学習処理と同様に、各テンソルについて、横幅の次元を次元１、縦幅の次元を次元２、チャネル数の次元を次元３と記載する。すなわち、第二の画像ｘの次元１のサイズはＷ、次元２のサイズはＨ、次元３のサイズはＤとなる。
【００９７】
横幅と縦幅が等しくない画像（Ｗ≠Ｈ）から横幅と縦幅が等しい（Ｗ＝Ｈ）画像を作成する方法は、テンソルのサイズを変更する処理であれば何でも良く、例えばリサイズ処理、画像の一部を切り出すクロップ処理、画像の周囲に数値０や画像の端の画素を繰り返し追加するパディング処理、又は画像の端の画素を上下または左右で逆にして追加するミラーリング処理等を行う。
【００９８】
そして、入力部１は、受け付けた第二の画像ｘと属性位置データｙとを、生成部３に渡す。
【００９９】
記憶部２には、学習処理により学習されたエンコーダ、デコーダ、及び識別器の各パラメータが格納されている。
【０１００】
生成部３は、第一の画像
2020095407.tif 000013
と同じカテゴリに属する第二の画像ｘから得られた潜在表現Ｅ（ｘ）と、属性位置データｙと、を関連付けることで第一の画像
2020095407.tif 000014
を生成する。
【０１０１】
具体的には、生成部３は、まず、記憶部２から学習済みのエンコーダ、デコーダ及び識別器の各パラメータを取得する。
【０１０２】
次に、生成部３は、第二の画像ｘをエンコーダに入力して潜在表現Ｅ（ｘ）を抽出し、抽出した潜在表現Ｅ（ｘ）と属性位置データｙをデコーダに入力して、第一の画像
2020095407.tif 000015
を生成する。
【０１０３】
そして、生成部３は、生成した第一の画像
2020095407.tif 000016
を出力部５に渡す。
【０１０４】
出力部５は、第一の画像
2020095407.tif 000017
を出力する。
【０１０５】
図４に画像生成装置１００により生成される第一の画像の例を示す。図４の例では、カテゴリ「帽子」に属する第二の画像ｘと、対象物全体の位置が属性「黒色」を有することを表す属性位置データｙとから、帽子全体の位置が黒色となる第一の画像
2020095407.tif 000018
を生成することが示されている。
【０１０６】
これは、未知のカテゴリの第二の画像であっても、上記学習処理により学習済みのエンコーダにより属性情報を除いた当該カテゴリの潜在表現Ｅ（ｘ）を抽出することができ、抽出した潜在表現Ｅ（ｘ）に対して、所望の属性位置データｙが表す属性を関連付けることができることによる。
【０１０７】
様々な属性位置データｙを本実施形態に係る画像生成装置１００に入力することにより、第二の画像と同一のカテゴリであって、属性位置データｙが表す属性を有する複数の第一の画像
2020095407.tif 000019
を生成することができる。
【０１０８】
このように生成された複数の第一の画像
2020095407.tif 000020
は、例えば物体検出器の学習用の画像に用いることができる。
【０１０９】
＜本発明の実施の形態に係る画像生成装置の作用＞
図５は、本発明の実施の形態に係る学習処理ルーチンを示すフローチャートである。
【０１１０】
入力部１に、属性位置データｙが表す各位置の属性を有する学習用画像ｘ及び当該属性位置データｙの１以上のペアが入力されると、画像生成装置１００において、図５に示す学習処理ルーチンが実行される。
【０１１１】
まず、ステップＳ１００において、属性位置データｙと、学習用画像ｘとの１以上のペアの入力を受け付ける。
【０１１２】
ステップＳ１１０において、生成部３は、学習用画像ｘをエンコーダに入力して潜在表現Ｅ（ｘ）を抽出する。
【０１１３】
ステップＳ１２０において、上記ステップＳ１１０において抽出した潜在表現Ｅ（ｘ）と属性位置データｙをデコーダに入力して、出力画像
2020095407.tif 000021
生成する。
【０１１４】
ステップＳ１３０において、属性位置データｙと、属性位置データｙが表す各位置の属性を有する学習用画像ｘとのペアに基づいて、学習用画像ｘをエンコーダに入力し、属性位置データｙをデコーダに入力したときにデコーダが、学習用画像ｘを再構成し、かつ、潜在表現Ｅ（ｘ）を入力とする識別器により属性位置データｙが表す属性を有すると識別されないようにエンコーダ及びデコーダの各パラメータを更新し、潜在表現Ｅ（ｘ）を入力としたときに属性位置データｙが表す属性を有すると正しく識別するように識別器のパラメータを更新する。
【０１１５】
図６は、上記ステップＳ１２０におけるデコード処理ルーチンを示すフローチャートである。
【０１１６】
ステップＳ１２１において、生成部３は、潜在表現Ｅ（ｘ）のサイズの次元１及び次元２が属性位置データｙの次元１及び次元２のサイズと同じテンソルになるよう変形するローカル用潜在表現前処理を行う。
【０１１７】
ステップＳ１２２において、生成部３は、属性位置データｙの次元３のサイズが、潜在表現Ｅ（ｘ）の次元３のサイズと同じテンソルになるよう変形するローカル用属性位置データ前処理を行う。
【０１１８】
ステップＳ１２３において、生成部３は、上記ステップＳ１２１により得られたテンソルと、上記ステップＳ１２２により得られたテンソルを入力とし、これら入力された２つのテンソルと同じサイズのテンソルを出力するローカル用入力データ統合処理を行う。
【０１１９】
ステップＳ１２４において、生成部３は、上記ステップＳ１２４により得られたテンソルをローカルデコーダに入力し、属性位置データｙをマスクとして使用し、属性のある位置のみに着目するように潜在表現Ｅ（ｘ）を変換する。
【０１２０】
ステップＳ１２５において、生成部３は、属性位置データｙの次元１及び次元２のサイズが、カテゴリ特徴の次元１及び次元２のサイズと同じテンソルになるよう変形するグローバル用属性位置データ前処理を行う。
【０１２１】
ステップＳ１２６において、生成部３は、潜在表現Ｅ（ｘ）と、上記ステップＳ１２５により得られたテンソルを入力とし、次元１及び次元２のサイズが、これら入力された２つのテンソルの次元１及び次元２と同じサイズのテンソルを出力するグローバル用入力データ統合処理を行う。
【０１２２】
ステップＳ１２７において、生成部３は、上記ステップＳ１２６により得られたテンソルをグローバルデコーダに入力し、属性位置データｙの位置情報を抑制し、潜在表現Ｅ（ｘ）と合わせて変換することで画像全体の構造を保つように変換する。
【０１２３】
ステップＳ１２８において、生成部３は、上記ステップＳ１２４によりデコードされたテンソルと、上記ステップＳ１２７によりデコードされたテンソルと、属性位置データｙとを次元３の方向に重ね合わせたテンソルとを画像デコーダに入力して、出力画像
2020095407.tif 000022
を生成する
【０１２４】
図７は、本発明の実施の形態に係る画像生成処理ルーチンを示すフローチャートである。なお、学習処理ルーチンと同様の処理については、同一の符号を付して詳細な説明は省略する。
【０１２５】
入力部１に第二の画像ｘ及び属性位置データｙが入力されると、画像生成装置１００において、図７に示す画像生成処理ルーチンが実行される。
【０１２６】
まず、ステップＳ２００において、生成したい第一の画像
2020095407.tif 000023
と同じカテゴリに属する第二の画像ｘ、及び属性位置データｙの入力を受け付ける。
【０１２７】
ステップＳ２３０において、上記ステップＳ１２０により得られた第一の画像
2020095407.tif 000024
を出力する。なお、画像生成処理ではステップＳ１２８において、生成部３は、第一の画像
2020095407.tif 000025
を生成する。
【０１２８】
以上説明したように、本発明の実施形態に係る画像生成装置によれば、第一の画像と同じカテゴリに属する第二の画像から得られた当該カテゴリに属する画像に共通する特徴であるカテゴリ特徴と、第一の画像と第二の画像とで異なる固有の特徴である固有特徴と、を関連付けることで第一の画像を生成することにより、所望のカテゴリの画像であって、かつ、所望の固有特徴を有する画像を生成することができる。
【０１２９】
なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【０１３０】
本実施形態では、学習処理と画像生成処理とを同一の画像生成装置１００により行うこととしたが、別の装置で行うようにしてもよい。この場合、学習処理により学習済みのエンコーダ、デコーダ、及び識別器が格納された記憶部２を画像生成処理に用いればよい。
【０１３１】
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。
【符号の説明】
【０１３２】
１     入力部
２     記憶部
３     生成部
４     パラメータ更新部
５     出力部
１００ 画像生成装置
【図１】
2020095407.tif 000026
【図２】
2020095407.tif 000027
【図３】
2020095407.tif 000028
【図４】
2020095407.tif 000029
【図５】
2020095407.tif 000030
【図６】
2020095407.tif 000031
【図７】
2020095407.tif 000032
【図８】
2020095407.tif 000033