(57)【要約】【課題】バリエーション豊かな料理の一助となる創意工夫の余地がある料理画像を簡易に提供すること。【解決手段】画像生成装置１０は、ユーザによって入力された食材に関する情報と、ランダムに生成された乱数データとを取得する。そして、画像生成装置１０は、取得した食材に関する情報および乱数データを入力として、料理画像を生成するための学習済みモデルを用いて、料理画像を生成する。【選択図】図１
2019153223.tif 000002
【特許請求の範囲】
【請求項１】
ユーザによって入力された食材に関する情報と、ランダムに生成された乱数データとを取得する取得部と、
前記取得部によって取得された前記食材に関する情報および前記乱数データを入力として、料理画像を生成するための学習済みモデルを用いて、前記料理画像を生成する学習済み生成部と
を有することを特徴とする画像生成装置。
【請求項２】
本物の料理の画像である料理画像と、該本物の料理に使用された食材に関する情報とを対応付けて記憶する記憶部と、
前記記憶部に記憶された食材に関する情報と前記乱数データとを入力として、料理画像を生成する第一のモデルを用いて、前記料理画像を生成する生成部と、
前記記憶部に記憶された前記料理画像と前記食材に関する情報を訓練データとして、入力された画像の本物らしさを識別する第二のモデルを用いて、前記生成部によって生成された料理画像の本物らしさを識別する識別部と、
本物らしい料理画像を生成できるように前記第一のモデルを最適化し、料理画像の識別精度が向上できるように前記第二のモデルを最適化する学習部とをさらに有し、
前記学習済み生成部は、前記学習部によって最適化された第一のモデルを前記学習済みモデルとして用いて、前記料理画像を生成することを特徴とする請求項１に記載の画像生成装置。
【請求項３】
前記生成部は、前記記憶部に記憶された食材に関する情報として食材名に対して、Ｗｏｒｄ−ｅｍｂｅｄｄｉｎｇを行ってベクトルに変換し、該ベクトルを正規分布に基づく潜在変数として表現することにより次元圧縮を行い、次元圧縮されたベクトルと乱数ベクトルとを結合し、結合したベクトルを入力として、前記第一のモデルを用いて、前記料理画像を生成することを特徴とする請求項２に記載の画像生成装置。
【請求項４】
画像生成装置によって実行される画像生成方法であって、
ユーザによって入力された食材に関する情報と、ランダムに生成された乱数データとを取得する取得工程と、
前記取得工程によって取得された前記食材に関する情報および前記乱数データを入力として、料理画像を生成するための学習済みモデルを用いて、前記料理画像を生成する学習済み生成工程と
を含んだことを特徴とする画像生成方法。
【請求項５】
ユーザによって入力された食材に関する情報と、ランダムに生成された乱数データとを取得する取得ステップと、
前記取得ステップによって取得された前記食材に関する情報および前記乱数データを入力として、料理画像を生成するための学習済みモデルを用いて、前記料理画像を生成する学習済み生成ステップと
をコンピュータに実行させることを特徴とする画像生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像生成装置、画像生成方法および画像生成プログラムに関する。
【背景技術】
【０００２】
従来、家庭における調理では、既に手もとにある食材を活用しつつも、生活の質を向上するために対象の料理に相応の多様性を確保したい、あるいは創意工夫によって新たな料理を作ってみたいという状況がしばしば発生する。このような状況において、ユーザに手もとの食材で作りうる料理の方向性を示唆する技術が存在する。
【０００３】
このような技術として、例えば、料理画像と対応する食材を格納したデータベース上での検索技術（例えば、クックパッド（登録商標）など）や汎用のウェブ画像検索技術（例えば、Ｇｏｏｇｌｅ（登録商標）画像検索など）がある。このような検索技術では、料理名や食材名等の検索クエリが入力されると、人気や関連度に応じて、検索結果が出力される。
【０００４】
また、古典的な知識処理や自然言語処理技術に基づくレシピの自動生成技術（例えば、Ｃｈｅｆ  Ｗａｔｓｏｎ（登録商標）など）も存在する。このような技術では、既存のレシピを改変して新しいレシピを出力するとともに、既存のレシピに対応する既存の料理画像を出力する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−１９２０５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の手法では、バリエーション豊かな料理の一助となる創意工夫の余地がある料理画像を簡易に提供することができないという課題があった。例えば、上述した従来の検索技術では、出力される検索結果が人気や関連度で整序されるので、類似した料理ばかりが上位に表示されがちであり、適切かつ多様な検索結果を得るためには、検索クエリの作成に際してユーザ側の熟練が必要になるという課題があった。また、検索技術であるが故に、データベース上、ないしウェブ上に存在する料理以外がユーザに提示されないという課題があった。
【０００７】
また、上述した従来のレシピの自動生成技術では、既存のレシピの改変を行っているので、改変元のレシピと根本的に異なるようなレシピが生成されることはなく、レシピが具体的かつ仔細に出力されるので、ユーザが創意工夫を行う余地が少ないという課題があった。また、改変されたレシピとともに出力される料理画像が、既存の料理画像であるため、新しいレシピによって作られる料理の外見は提示されず、実際に調理するまで料理の外観は推測が困難であった。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明の画像生成装置は、ユーザによって入力された食材に関する情報と、ランダムに生成された乱数データとを取得する取得部と、前記取得部によって取得された前記食材に関する情報および前記乱数データを入力として、料理画像を生成するための学習済みモデルを用いて、前記料理画像を生成する学習済み生成部とを有することを特徴とする。
【０００９】
また、本発明の画像生成方法は、画像生成装置によって実行される画像生成方法であって、ユーザによって入力された食材に関する情報と、ランダムに生成された乱数データとを取得する取得工程と、前記取得工程によって取得された前記食材に関する情報および前記乱数データを入力として、料理画像を生成するための学習済みモデルを用いて、前記料理画像を生成する学習済み生成工程とを含んだことを特徴とする。
【００１０】
また、本発明の画像生成プログラムは、ユーザによって入力された食材に関する情報と、ランダムに生成された乱数データとを取得する取得ステップと、前記取得ステップによって取得された前記食材に関する情報および前記乱数データを入力として、料理画像を生成するための学習済みモデルを用いて、前記料理画像を生成する学習済み生成ステップとをコンピュータに実行させることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、バリエーション豊かな料理の一助となる創意工夫の余地がある料理画像を簡易に提供することができるという効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】図１は、第１の実施形態に係る画像生成装置の構成例を示すブロック図である。
【図２】図２は、料理データ記憶部に記憶されるデータの一例を示す図である。
【図３】図３は、第１の実施形態に係る画像生成装置における学習処理を説明する図である。
【図４】図４は、ユーザ端末に表示される食材の入力画面の一例を示す図である。
【図５】図５は、第１の実施形態に係る画像生成装置における画像生成処理を説明する図である。
【図６】図６は、ユーザ端末に表示される料理画像の出力画面の一例を示す図である。
【図７】図７は、第１の実施形態に係る画像生成装置における学習処理の流れの一例を示すフローチャートである。
【図８】図８は、第１の実施形態に係る画像生成装置における画像生成処理の流れの一例を示すフローチャートである。
【図９】図９は、画像生成プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１３】
以下に、本願に係る画像生成装置、画像生成方法および画像生成プログラムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態により本願に係る画像生成装置、画像生成方法および画像生成プログラムが限定されるものではない。
【００１４】
［第１の実施形態］
以下の実施の形態では、第１の実施形態に係る画像生成装置１０の構成、画像生成装置１０の処理の流れを順に説明し、最後に第１の実施形態による効果を説明する。
【００１５】
［画像生成装置の構成］
図１は、第１の実施形態に係る画像生成装置の構成例を示すブロック図である。図１を用いて、画像生成装置１０の構成を説明する。図１に示すように、画像生成装置１０は、ユーザ端末２０とネットワーク３０を介して接続されている。
【００１６】
ここでユーザ端末２０は、例えば、デスクトップ型ＰＣ、タブレット型ＰＣ、ノート型ＰＣ、携帯電話機、スマートフォン、ＰＤＡ（Personal  Digital  Assistant）等の情報処理装置である。
【００１７】
また、図１に示すように、この画像生成装置１０は、通信処理部１１、制御部１２および記憶部１３を有する。以下に画像生成装置１０が有する各部の処理を説明する。
【００１８】
通信処理部１１は、各種情報に関する通信を制御する。例えば、通信処理部１１は、ユーザ端末２０から食材名と料理画像の生成要求とを受信する。また、通信処理部１１は、ユーザ端末２０に対して生成した料理画像を送信する。
【００１９】
記憶部１３は、制御部１２による各種処理に必要なデータおよびプログラムを格納するが、特に本発明に密接に関連するものとしては、料理データ記憶部１３ａを有する。例えば、記憶部１３は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置などである。なお、料理データ記憶部１３ａに記憶されるデータは、事前に格納されたデータであって、適宜更新可能なデータである。
【００２０】
料理データ記憶部１３ａは、本物の料理の画像である料理画像と、該本物の料理に使用された食材に関する情報とを対応付けて記憶する。例えば、料理データ記憶部１３ａは、図２に例示するように、本物の料理の画像である「料理画像」と、料理画像の料理に使用された食材の名称を示す「食材名」と、食材名をベクトル化した「食材ベクトル」とを対応付けて記憶する。図２は、料理データ記憶部に記憶されるデータの一例を示す図である。
【００２１】
図２の例を挙げて説明すると、料理データ記憶部１３ａは、料理画像「画像Ａ」と、食材名「卵、鶏肉、玉ねぎ・・・」と、食材ベクトル「ベクトルＡ」とを対応付けて記憶する。なお、図２に例示した情報は一例であり、これに限定されるものではない。なお、図２の例では、料理画像および食材ベクトルについて、画像Ａ、ベクトルＡ等と簡略的に記載している。
【００２２】
制御部１２は、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行するが、特に本発明に密接に関連するものとしては、生成部１２ａ、識別部１２ｂ、学習部１２ｃ、取得部１２ｄおよび学習済み生成部１２ｅを有する。ここで、制御部１２は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）、ＧＰＵ（Graphical  Processing  Unit）などの電子回路やＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などの集積回路である。
【００２３】
制御部１２の各機能部によって実行される処理は、モデルの機械学習を行う学習フェーズと学習済みモデルを用いて料理画像を生成する画像生成フェーズとに大別される。制御部１２における生成部１２ａ、識別部１２ｂおよび学習部１２ｃは、学習フェーズにおける処理を行う機能部であり、取得部１２ｄおよび学習済み生成部１２ｅは、画像生成フェーズにおける処理を行う機能部である。なお、第１の実施形態に係る画像生成装置１０は、学習フェーズにおける学習処理および画像生成フェーズにおける画像生成処理の両方を行う装置として説明するが、これに限定されるものではなく、画像生成フェーズにおける画像生成処理のみを行うようにしてもよい。この場合には、画像生成装置１０は、事前に機械学習処理が行われた学習済みモデルを予め設定されているものとする。
【００２４】
また、学習フェーズにおいては、例えば、ニューラルネットワークの一種である敵対的生成ネットワークであるＧＡＮ（Generative  Adversarial  Network）を利用し、生成器と識別器という二つのニューラルネットワークを組み合わせて所与のデータ集合に対する学習を行う。例えば、学習処理として、対象データが画像である場合には、生成器は何らかのランダムな画像を生成するように、識別器は入力画像が元のデータ集合に属するものであるか生成器の生成したものであるかを識別するように構築される。なお、学習フェーズにおける学習処理および画像生成フェーズにおける画像生成処理については、後に図を用いて詳述する。以下では、各機能部について説明する。
【００２５】
生成部１２ａは、料理データ記憶部１３ａに記憶された食材に関する情報と乱数とを入力として、料理画像を生成する第一のモデル（以下では、「生成器」と記載）を用いて、料理画像を生成する。
【００２６】
具体的な処理を説明すると、生成部１２ａは、料理データ記憶部１３ａからランダムサンプリングを行って食材名のセットを取得する。そして、生成部１２ａは、取得した食材名をベクトルに変換する。例えば、生成部１２ａは、取得した食材名をＷｏｒｄ−ｅｍｂｅｄｄｉｎｇを行ってベクトルφに変換し、さらにベクトルφを正規分布Ｎ（μ（φ），σ（φ））に基づく潜在変数ｃ´として表現することにより次元圧縮を行う。そして、生成部１２ａは、ベクトルｃ´と乱数ベクトルｚを結合し、結合したベクトルを入力として生成器を用いて、料理画像を生成する。
【００２７】
識別部１２ｂは、料理データ記憶部１３ａに記憶された料理画像と食材に関する情報を訓練データとして、入力された画像の本物らしさを識別する第二のモデル（以下では、「識別器」と記載）を用いて、生成部１２ａによって生成された料理画像の本物らしさを識別する。
【００２８】
具体的な処理を説明すると、識別部１２ｂは、生成器により生成された料理画像と、生成部１２ａが料理データ記憶部１３ａからランダムサンプリングを行って取得した食材名に対応する本物の料理画像および食材ベクトルｃ´とを識別器に入力し、畳み込みニューラルネットワークを用いて、生成器により生成された料理画像が本物らしいかを識別する。なお、どのように本物らしいかを識別する手法については、既存のどのような手法を用いてもよいが、例えば、生成器により生成された料理画像と本物の料理画像との確率分布の距離を計算し、計算した距離に応じて本物らしさを定義するようにしてもよい。
【００２９】
学習部１２ｃは、本物らしい料理画像を生成できるように生成器を最適化し、料理画像の識別精度が向上できるように識別器を最適化する。例えば、学習部１２ｃは、上述したように、生成器によって料理画像が生成され、識別器によって料理画像の本物らしさを識別されるたびに、本物らしい料理画像を生成できるように生成器のパラメータを最適化し、料理画像の識別精度が向上できるように識別器のパラメータを最適化する。なお、学習部１２ｃは、パラメータを最適化する手法については、どのような手法であってもよく、機械学習における既存の最適化手法のうち、どの手法を適用してもよい。
【００３０】
ここで、図３を用いて、第１の実施形態に係る画像生成装置１０における学習処理の一連の流れを説明する。図３は、第１の実施形態に係る画像生成装置における学習処理を説明する図である。図３に示すように、画像生成装置１０では、生成器と識別器という二つのニューラルネットワークを組み合わせて適用し、生成器はランダムな料理画像を生成するように、識別器は入力された料理画像が本物の料理画像に属するものであるか生成器の生成した料理画像であるかを識別するように構築される。
【００３１】
図３に示すように、画像生成装置１０は、料理データ記憶部１３ａから取得した「食材名」をＷｏｒｄ−ｅｍｂｅｄｄｉｎｇを行ってベクトルφに変換する。そして、画像生成装置１０は、ベクトルφを正規分布Ｎ（μ（φ），σ（φ））に基づく潜在変数ｃ´として表現することにより次元圧縮を行い、ベクトルｃ´と乱数ベクトルｚを結合する（図３の（Ａ）参照）。
【００３２】
そして、画像生成装置１０は、結合したベクトルを生成器に入力し、畳み込みニューラルネットワークを用いてアップサンプリングして料理画像を生成する（図３の（Ｂ）参照）。
【００３３】
続いて、画像生成装置１０は、生成器により生成された料理画像と、生成部１２ａが料理データ記憶部１３ａからランダムサンプリングを行って取得した食材名に対応する本物の料理画像および食材ベクトルｃ´とを識別器に入力し、畳み込みニューラルネットワークを用いて、生成器により生成された料理画像が本物らしいかを識別する（図３の（Ｃ）参照）。
【００３４】
画像生成装置１０は、上記の処理（図３の（Ａ）〜（Ｃ）の処理）を繰り返し、生成器がより本物らしい料理画像を生成できるように、識別器が料理画像の識別精度が向上できるように、それぞれのニューラルネットワークのパラメータを最適化する。このように、画像生成装置１０では、二つのニューラルネットワークを同時並行で訓練することで、学習が成功すれば、学習済みモデルの生成器は本物の料理画像と識別困難な料理画像をランダムに生成して出力するようになる。
【００３５】
つまり、画像生成装置１０では、学習に用いるデータ集合として、実際の料理画像とその料理で用いられている食材たちの名称が組になったものを利用する。そして、画像生成装置１０は、生成器がランダムに画像を生成する際、及び、識別器が入力画像を識別する際に、それぞれの画像の料理に用いられている食材たちの名称を付加情報として利用するよう、ＧＡＮの構造を改良する。これによって、学習済みモデルの生成器は食材たちの名前を所与として、対応するそれらしい料理画像をランダムに生成して出力するようになる。
【００３６】
また、画像生成装置１０では、「食材名」をＷｏｒｄ−ｅｍｂｅｄｄｉｎｇを行ってベクトルφに変換した後、ベクトルφを正規分布Ｎ（μ（φ），σ（φ））に基づく潜在変数ｃ´として表現している。通常、食材の種類は膨大（数百次元）であり、入力する食材名を通常のＯｎｅ−ｈｏｔベクトルなどに変換してしまうと表現能力が低くなってしまう。このため、生成器や識別器にこのままＯｎｅ−ｈｏｔベクトルを入力すると、そのベクトルの要素の多くは０につぶれてしまい、学習がうまく進まない場合がある。
【００３７】
これに対して、画像生成装置１０では、「食材名」をＷｏｒｄ−ｅｍｂｅｄｄｉｎｇを行ってベクトルφに変換した後、ベクトルφを正規分布Ｎ（μ（φ），σ（φ））に基づく潜在変数ｃ´として表現することにより、より高い表現能力をもっと低次元ベクトルに変換する。このことにより、要素の多くが０に潰れることを防ぎ、学習をうまく進行させることが可能である。また、潜在変数ｃ´は、確率分布に基づく表現であり、生成器の生成する画像の多様性を損なうものではない。
【００３８】
図１の説明に戻って、取得部１２ｄは、ユーザによって入力された食材に関する情報と、ランダムに生成されたランダムデータとを取得する。例えば、取得部１２ｄは、ユーザ端末２０に表示された入力画面に入力された食材名を取得する。ここで、図４の例を用いて、ユーザ端末２０に表示される食材の入力画面の一例を説明する。図４は、ユーザ端末に表示される食材の入力画面の一例を示す図である。
【００３９】
図４に例示するように、ユーザ端末２０では、食材名を入力するためのテキストボックスと、料理画像の生成を指示するためのボタンとが表示される。例えば、図４に例示するように、ユーザ端末２０に表示された入力画面において、テキストボックスに「卵、鶏肉、玉ねぎ・・・」と入力し、「画像生成」と表示されたボタンを押下することで、食材名「卵、鶏肉、玉ねぎ・・・」と料理画像の生成要求とがユーザ端末２０から画像生成装置１０に送信される。入力時におけるシチュエーションの一例として、例えば、ユーザが、夕飯等を作る際に、手もとにある食材名をテキストボックスに入力する。
【００４０】
なお、図４に例示する入力画面は一例であり、これに限定されるものではない。例えば、図４の例では、一つのテキストボックスが表示され、一つのテキストボックスに複数の食材名が入力されている例を示すが、複数のテキストボックスが表示され、各テキストボックスに一つずつ食材名が入力されるようにしてもよい。また、テキストボックスに代えて食材名を選択するためのプルダウンリストを表示してもよく、プルダウンリストから食材を選択できるようにしてもよい。
【００４１】
また、取得部１２ｄは、ユーザ端末２０から食材名を受信すると、食材名をベクトルに変換する。例えば、取得部１２ｄは、取得した食材名をＷｏｒｄ−ｅｍｂｅｄｄｉｎｇを行ってベクトルφに変換し、さらにベクトルφを正規分布Ｎ（μ（φ），σ（φ））に基づく潜在変数ｃ´として表現することにより次元圧縮を行う。そして、取得部１２ｄは、食材ベクトルｃ´と乱数ベクトルｚを結合する。
【００４２】
学習済み生成部１２ｅは、取得部１２ｄによって取得された食材に関する情報および乱数データを入力として、料理画像を生成するための学習済みモデルを用いて、料理画像を生成する。具体的には、学習済み生成部１２ｅは、取得部１２ｄによって食材ベクトルｃ´と乱数ベクトルｚとが結合されたベクトルを入力として学習済みモデル（生成器）を用いて、料理画像を生成する。つまり、学習済み生成部１２ｅは、上述の学習部１２ｃによって最適化された生成器を学習済みモデルとして用いて、料理画像を生成する。その後、学習済み生成部１２ｅは、生成した料理画像をユーザ端末２０に出力する。
【００４３】
ここで、図５を用いて、第１の実施形態に係る画像生成装置１０における画像生成処理の一連の流れを説明する。図５は、第１の実施形態に係る画像生成装置における画像生成処理を説明する図である。図５に示すように、画像生成装置１０では、生成器と識別器という二つのニューラルネットワークを組み合わせて適用し、生成器はランダムな料理画像を生成するように、識別器は入力された料理画像が本物の料理画像に属するものであるか生成器の生成した料理画像であるかを識別するように構築される。
【００４４】
図５に示すように、画像生成装置１０は、料理データ記憶部１３ａから取得した「食材名」をＷｏｒｄ−ｅｍｂｅｄｄｉｎｇを行ってベクトルφに変換する。そして、画像生成装置１０は、ベクトルφを正規分布Ｎ（μ（φ），σ（φ））に基づく潜在変数ｃ´として表現することにより次元圧縮を行い、ベクトルｃ´と乱数ベクトルｚを結合する。
【００４５】
そして、画像生成装置１０は、結合したベクトルを学習済みモデルである生成器に入力し、畳み込みニューラルネットワークを用いてアップサンプリングして料理画像を生成する。その後、画像生成装置１０は、生成した料理画像をユーザ端末２０に送信する。
【００４６】
ここで、図６の例を用いて、ユーザ端末２０に表示される料理画像の出力画面について説明する。図６は、ユーザ端末に表示される料理画像の出力画面の一例を示す図である。図６に例示するように、ユーザ端末２０において、料理画像の出力画面として、食材名が入力されたテキストボックスの下に料理画像が表示されている。ここで表示されている料理画像は、学習済みモデルの生成器によってランダムに生成されたものである。例えば、ユーザ端末２０には、ユーザが手元にある食材名を所与としてランダムに生成された、既存の料理画像と異なる料理画像が表示される。
【００４７】
このように、画像生成装置１０は、学習済みモデルの生成器によってランダムに料理画像を生成するので、例えば、ユーザの手もとにある食材が以前と同一の場合でも相応のばらつきがあり、既存の料理画像とは異なる料理画像をユーザに提供することが可能である。このため、ユーザが家庭での調理において手もとの食材を用いて作りうる料理についての多様で新奇性のある示唆を容易に得ることができ、その創意工夫を通じた生活の質の向上につなげることができる。
【００４８】
［画像生成装置の処理手順］
次に、図７および図８を用いて、第１の実施形態に係る画像生成装置１０による処理手順の例を説明する。図７は、第１の実施形態に係る画像生成装置における学習処理の流れの一例を示すフローチャートである。図８は、第１の実施形態に係る画像生成装置における画像生成処理の流れの一例を示すフローチャートである。
【００４９】
まず、図７を用いて、画像生成装置１０における学習処理の流れの一例を説明する。図７に例示するように、画像生成装置１０の生成部１２ａは、料理データ記憶部１３ａからランダムサンプリングを行って食材名を取得する（ステップＳ１０１）。そして、生成部１２ａは、取得した食材名をＷｏｒｄ−ｅｍｂｅｄｄｉｎｇを行ってベクトルφに変換する（ステップＳ１０２）。
【００５０】
続いて、生成部１２ａは、変換したベクトルφを正規分布Ｎ（μ（φ），σ（φ））に基づく潜在変数ｃ´として表現することにより次元圧縮を行う（ステップＳ１０３）。そして、生成部１２ａは、ベクトルｃ´と乱数ベクトルｚを結合し（ステップＳ１０４）、結合したベクトルから生成器の畳み込みニューラルネットワークを用いて、料理画像を生成する（ステップＳ１０５）。
【００５１】
そして、識別部１２ｂは、生成器により生成された料理画像と、生成部１２ａが料理データ記憶部１３ａからランダムサンプリングを行って取得した食材名に対応する本物の料理画像および食材ベクトルｃ´とを識別器に入力し、識別器の畳み込みニューラルネットワークを用いて、生成器により生成された料理画像が本物らしいかを識別する（ステップＳ１０６）。
【００５２】
その後、学習部１２ｃは、所定の手法により、本物らしい料理画像を生成できるように生成器のパラメータを最適化し、料理画像の識別精度が向上できるように識別器のパラメータを最適化する（ステップＳ１０７）。なお、画像生成装置１０では、上記のステップＳ１０１〜１０７の一連の処理を所定の条件を満たすまで繰り返し行うものとする。例えば、画像生成装置１０は、予め繰り返し行う回数を設定するようにしてもよいし、生成器および識別器の精度が所定の閾値を満たすまで繰り返し行うようにしてもよい。
【００５３】
次に、図８を用いて、画像生成装置１０における画像生成処理の流れの一例を説明する。図８に例示するように、取得部１２ｄは、ユーザ端末２０から食材名の入力を受け付けると（ステップＳ２０１肯定）、食材名をベクトルφに変換する（ステップＳ２０２）。続いて、取得部１２ｄは、変換したベクトルφを正規分布Ｎ（μ（φ），σ（φ））に基づく潜在変数ｃ´として表現することにより次元圧縮を行う（ステップＳ２０３）。そして、取得部１２ｄは、食材ベクトルｃ´と乱数ベクトルｚを結合する（ステップＳ２０４）。
【００５４】
そして、学習済み生成部１２ｅは、結合したベクトルを入力として学習済みモデル（生成器）を用いて、料理画像を生成する（ステップＳ２０５）。その後、学習済み生成部１２ｅは、生成した料理画像をユーザ端末２０に出力する（ステップＳ２０６）。
【００５５】
（第１の実施形態の効果）
第１の実施形態に係る画像生成装置１０は、ユーザによって入力された食材に関する情報と、ランダムに生成された乱数データとを取得し、取得した食材に関する情報および乱数データを入力として、料理画像を生成するための学習済みモデルを用いて、料理画像を生成する。このため、バリエーション豊かな料理の一助となる創意工夫の余地がある料理画像を簡易に提供することが可能である。
【００５６】
つまり、画像生成装置１０では、学習済みモデルの生成器によってランダムに未知でかつ本物らしい料理画像を生成することができ、ユーザの手もとにある食材が以前と同一ないし類似の場合でも相応のばらつきがあり、ユーザに料理の外観をある程度想像させる料理画像を提供することができる。
【００５７】
また、画像生成装置１０では、レシピを提示するのではなく、既存の料理画像とは異なる料理画像をユーザに提供するので、調理に際して一定の創意工夫を凝らす余地がある。また、画像生成装置１０は、手もとにある食材名を入力するだけでよいため、簡易に料理画像を得ることが出来る。このように、画像生成装置１０では、ユーザが家庭での調理において手もとの食材を用いて作りうる料理についての多様で新奇性のある示唆を容易に得ることができ、その創意工夫を通じた生活の質の向上につなげることが可能である。
【００５８】
（システム構成等）
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００５９】
また、本実施の形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００６０】
（プログラム）
また、上記実施形態において説明した画像生成装置が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。例えば、実施形態に係る画像生成装置１０が実行する処理をコンピュータが実行可能な言語で記述した画像生成プログラムを作成することもできる。この場合、コンピュータが画像生成プログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかる画像生成プログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録された画像生成プログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。
【００６１】
図９は、画像生成プログラムを実行するコンピュータを示す図である。図９に例示するように、コンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有し、これらの各部はバス１０８０によって接続される。
【００６２】
メモリ１０１０は、図９に例示するように、ＲＯＭ（Read  Only  Memory）１０１１及びＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、図９に例示するように、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、図９に例示するように、ディスクドライブ１１００に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１１００に挿入される。シリアルポートインタフェース１０５０は、図９に例示するように、例えばマウス１１１０、キーボード１１２０に接続される。ビデオアダプタ１０６０は、図９に例示するように、例えばディスプレイ１１３０に接続される。
【００６３】
ここで、図９に例示するように、ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、上記の、画像生成プログラムは、コンピュータ１０００によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ１０９０に記憶される。
【００６４】
また、上記実施形態で説明した各種データは、プログラムデータとして、例えばメモリ１０１０やハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出し、各種処理手順を実行する。
【００６５】
なお、画像生成プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、画像生成プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ネットワーク（ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【００６６】
上記の実施形態やその変形は、本願が開示する技術に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【００６７】
１０  画像生成装置
１１  通信処理部
１２  制御部
１２ａ  生成部
１２ｂ  識別部
１２ｃ  学習部
１２ｄ  取得部
１２ｅ  学習済み生成部
１３  記憶部
１３ａ  料理データ記憶部
２０  ユーザ端末
３０  ネットワーク
【図１】
2019153223.tif 000003
【図２】
2019153223.tif 000004
【図３】
2019153223.tif 000005
【図４】
2019153223.tif 000006
【図５】
2019153223.tif 000007
【図６】
2019153223.tif 000008
【図７】
2019153223.tif 000009
【図８】
2019153223.tif 000010
【図９】
2019153223.tif 000011