(57)【要約】      （修正有）【課題】利用者の手書き画像から、利用者が所望する画像の検索を容易にする提供プログラム、提供装置、及び提供方法を提供する。【解決手段】提供プログラムは、利用者が入力したクエリ画像である入力画像を受け付ける受付手順Ｓ１と、受付手順Ｓ１により受け付けられた入力画像から生成されるクエリ画像に類似する画像を取得する取得手順と、画像検索を行う検索サーバに対して取得手順により取得された画像を提供する提供手順Ｓ７とを実行する。【選択図】図１
2019106099.tif 000002
【特許請求の範囲】
【請求項１】
利用者が入力した画像である入力画像を受け付ける受付手順と、
前記受付手順により受け付けられた入力画像から生成される画像を取得する取得手順と、
画像検索を行う検索サーバに対して前記取得手順により取得された画像を提供する提供手順と
を実行させるための提供プログラム。
【請求項２】
前記取得手順は、前記入力画像から生成された画像であって、前記入力画像と類似するように生成された画像を取得し、
前記提供手順は、取引対象の画像検索を行う前記検索サーバに前記画像を提供する
ことを特徴とする請求項１に記載の提供プログラム。
【請求項３】
前記取得手順は、前記入力画像から生成される画像であって、それぞれ異なる複数の画像を取得する
ことを特徴とする請求項１または２に記載の提供プログラム。
【請求項４】
前記取得手順は、前記入力画像から画像を生成するサーバ装置であって、前記入力画像から画像を生成する処理の反復回数がそれぞれ異なる複数のサーバ装置から、複数の画像を順次取得する
ことを特徴とする請求項１〜３のうちいずれか１つに記載の提供プログラム。
【請求項５】
前記提供手順は、前記取得手順が取得した複数の画像のうち、最後に取得された画像を前記検索サーバに対して提供する
ことを特徴とする請求項４に記載の提供プログラム。
【請求項６】
前記取得手順が新たな画像を取得する度に、取得した画像を表示する表示手順
を実行させることを特徴とする請求項１〜５のうちいずれか１つに記載の提供プログラム。
【請求項７】
前記提供手順は、前記表示手順により表示された画像のうち、前記利用者によって選択された画像を前記検索サーバに提供する
ことを特徴とする請求項６に記載の提供プログラム。
【請求項８】
前記表示手順は、前記取得手順により取得された画像のうち、最後に取得された画像を表示する
ことを特徴とする請求項６に記載の提供プログラム。
【請求項９】
前記提供手順は、前記利用者から検索の指示を受付けた際に前記表示手順により表示されていた画像を前記検索サーバに提供する
ことを特徴とする請求項８に記載の提供プログラム。
【請求項１０】
前記表示手順は、前記利用者が入力した画像と共に、前記取得手順により取得された画像を表示する
ことを特徴とする請求項６〜９のうちいずれか１つに記載の提供プログラム。
【請求項１１】
前記表示手順は、前記取得手順が取得した複数の画像のうち、特徴量が、当該複数の画像の特徴量空間における重心から所定の範囲内に含まれる画像を表示する
ことを特徴とする請求項６〜１０のうちいずれか１つに記載の提供プログラム。
【請求項１２】
前記取得手順は、前記受付手順が所定の条件を満たす入力を受け付ける度に、新たな画像を取得する
ことを特徴とする請求項１〜１１のうちいずれか１つに記載の提供プログラム。
【請求項１３】
前記取得手順は、前記入力画像から生成された複数の画像のうちいずれかの画像を利用者が選択した場合は、選択された画像から新たに生成される画像を取得する
ことを特徴とする請求項１〜１２のうちいずれか１つに記載の提供プログラム。
【請求項１４】
前記取得手順は、前記検索サーバの検索対象となる画像の特徴を学習したモデルを用いて前記入力画像から生成された画像を取得する
ことを特徴とする請求項１〜１３のうちいずれか１つに記載の提供プログラム。
【請求項１５】
前記取得手順は、所定の入力から前記検索サーバの検索対象となる画像と類似する画像を出力するように学習が行われたモデルが前記入力画像と類似する画像を出力するように、当該モデルに対する入力を変更することで生成された画像を取得する
ことを特徴とする請求項１４に記載の提供プログラム。
【請求項１６】
前記取得手順は、前記モデルとして、画像の特徴が入力された場合に前記検索サーバの検索対象となる画像を生成するように学習が行われたモデルを用いて前記入力画像から生成された画像を取得する
ことを特徴とする請求項１４または１５に記載の提供プログラム。
【請求項１７】
前記取得手順は、前記モデルとして、ランダムなベクトルから画像を生成するように学習が行われたＧＡＮ（Generative  Adversarial  Network）に対し、前記入力画像に基づいた制約が適用されたベクトルを入力することで生成された画像を取得する
ことを特徴とする請求項１４〜１６のうちいずれか１つに記載の提供プログラム。
【請求項１８】
前記取得手順は、前記モデルが出力する画像が前記入力画像に近づくように、制約が適用されたベクトルを入力することで生成された画像を取得する
ことを特徴とする請求項１７に記載の提供プログラム。
【請求項１９】
前記受付手順は、前記入力画像として、形状を示す情報と、色を示す情報とを個別に受け付け、
前記取得手順は、前記形状を示す情報に基づいた条件と前記色を示す情報に基づいた条件とに基づいて生成される画像を取得する
ことを特徴とする請求項１〜１８のうちいずれか１つに記載の提供プログラム。
【請求項２０】
前記受付手順は、前記色を示す情報として、色が付与された領域を示す情報と、当該領域に付与された色を示す情報とを個別に受け付け
前記取得手順は、前記色を示す情報に基づいた条件として、色が付与された領域を示す情報に基づいた条件と、当該領域に付与された色を示す情報に基づいた条件とに基づいて生成される画像を取得する
ことを特徴とする請求項１９に記載の提供プログラム。
【請求項２１】
前記受付手順は、検索対象となる分野の指定をさらに受付け、
前記取得手順は、前記分野ごとに前記検索サーバの検索対象となる画像の特徴を学習した複数のモデルのうち、前記受付手順により指定を受付けた分野と対応するモデルを用いて前記入力画像から生成された画像を取得する
ことを特徴とする請求項１４〜２０のうちいずれか１つに記載の提供プログラム。
【請求項２２】
前記取得手順は、前記受付手順により受付けられた入力画像の履歴に基づいて生成された画像を取得する
ことを特徴とする請求項１〜２１のうちいずれか１つに記載の提供プログラム。
【請求項２３】
前記取得手順は、前記受付手順により受付けられた入力画像の履歴に基づいて推定された、前記受付手順が将来受付けうる入力画像に基づいて生成された画像を取得する
ことを特徴とする請求項２２に記載の提供プログラム。
【請求項２４】
利用者が入力した画像である入力画像を受け付ける受付部と、
前記受付部により受け付けられた入力画像から生成される画像を取得する取得部と、
画像検索を行う検索サーバに対して前記取得部により取得された画像を提供する提供部と
を有することを特徴とする提供装置。
【請求項２５】
提供装置が実行する提供方法であって、
利用者が入力した画像である入力画像を受け付ける受付工程と、
前記受付工程により受け付けられた入力画像から生成される画像を取得する取得工程と、
画像検索を行う検索サーバに対して前記取得工程により取得された画像を提供する提供工程と
を含むことを特徴とする提供方法。
【請求項２６】
利用者が入力した画像である入力画像を受け付ける受付部と、
前記受付部により受け付けられた入力画像から生成される画像であって、画像検索を行う検索サーバに対して検索クエリとして提供される画像を生成する生成部と、
前記生成部により生成された画像を提供する提供部と
を有することを特徴とする提供装置。
【請求項２７】
提供装置が実行する提供方法であって、
利用者が入力した画像である入力画像を受け付ける受付工程と、
前記受付工程により受け付けられた入力画像から生成される画像であって、画像検索を行う検索サーバに対して検索クエリとして提供される画像を生成する生成工程と、
前記生成工程により生成された画像を提供する提供工程と
を含むことを特徴とする提供方法。
【請求項２８】
利用者が入力した画像である入力画像を受け付ける受付手順と、
前記受付手順により受け付けられた入力画像から生成される画像であって、画像検索を行う検索サーバに対して検索クエリとして提供される画像を生成する生成手順と、
前記生成手順により生成された画像を提供する提供手順と
をコンピュータに実行させるための提供プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、提供プログラム、提供装置、および提供方法に関する。
【背景技術】
【０００２】
従来、検索クエリとして入力された情報と対応する情報の検索を行う技術が知られている。このような技術の一例として、入力された画像が有する特徴量と、検索対象となる画像が有する特徴量との類似度が高い順に、検索対象となる画像を提供する検索技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−０７６２８２号公報
【非特許文献】
【０００４】
【非特許文献１】”Generative  Visual  Manipulation  on  the  Natural  Image  Manifold”  Jun-Yan  Zhu,  Philipp  Krahenbuhl,  Eli  Shechtman,  and  Alexei  A.  Efros
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した検索技術では、利用者が所望する検索を行うことが困難な場合がある。
【０００６】
例えば、上述した検索技術を用いて、電子商店街に出品された商品や役務（以下、「取引対象」と総称する。）を検索する手法が考えられる。しかしながら、上述した検索技術では、検索クエリとして入力された情報（例えば、画像）の特徴量と、取引対象の情報（例えば、画像）の特徴量とを比較しているに過ぎない。このため、上述した検索技術では、検索クエリとして適切な情報を利用者が所望していない場合には、利用者が所望する取引対象とは異なる取引対象の情報を提供する恐れがある。
【０００７】
また、利用者から手書き画像の入力を受付け、受付けた手書き画像を検索クエリとして取引対象を検索するといった検索態様も考えられる。しかしながら、適切な検索を行うには、利用者に対して高精度な手書き画像の入力を求めることとなり、ユーザビリティの悪化を招く恐れがある。
【０００８】
本願は、上記に鑑みてなされたものであって、利用者が所望する検索を容易にすることを目的とする。
【課題を解決するための手段】
【０００９】
本願に係る提供プログラムは、利用者が入力した画像である入力画像を受け付ける受付手順と、前記受付手順により受け付けられた入力画像から生成される画像を取得する取得手順と、画像検索を行う検索サーバに対して前記取得手順により取得された画像を提供する提供手順とを実行させる。
【発明の効果】
【００１０】
実施形態の一態様によれば、利用者が所望する検索を容易にすることができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施形態に係る端末装置および生成サーバが実行する処理の一例を示す図である。
【図２】図２は、実施形態に係る端末装置の表示態様の一例を示す図である。
【図３】図３は、実施形態に係る端末装置および生成サーバの構成例を示す図である。
【図４】図４は、実施形態に係るクエリ候補画像データベースに登録される情報の一例を示す図である。
【図５】図５は、実施形態に係る学習データデータベースに登録される情報の一例を示す図である。
【図６】図６は、実施形態に係るモデルデータベースに登録される情報の一例を示す図である。
【図７】図７は、実施形態に係る端末装置が実行する処理の流れの一例を示すフローチャートである。
【図８】図８は、実施形態に係る生成サーバが実行する処理の流れの一例を示すフローチャートである。
【図９】図９は、ハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１２】
以下に、本願に係る提供プログラム、提供装置、および提供方法を実施するための形態（以下、「実施形態」と記載する。）について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る提供プログラム、提供装置、および提供方法が限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【００１３】
［実施形態］
〔１−１．提供装置の一例〕
まず、図１を用いて、提供装置の一例である端末装置１０および生成サーバ１００が実行する提供処理および生成処理の一例について説明する。図１は、実施形態に係る端末装置および生成サーバが実行する処理の一例を示す図である。図１では、端末装置１０は、インターネット等の所定のネットワークＮ（例えば、図３参照）を介して、生成サーバ１０１、１０２（以下、「生成サーバ１００」と総称する。）や検索サーバ２００と通信可能である。
【００１４】
端末装置１０は、提供処理を実行する情報処理装置であり、例えば、スマートフォンやタブレット等のスマートデバイスにより実現される。例えば、端末装置１０は、３Ｇ（3rd  Generation）やＬＴＥ（Long  Term  Evolution）等の無線通信網を介して任意のサーバ装置と通信を行うことができる携帯端末装置である。なお、端末装置１０は、スマートデバイスのみならず、デスクトップＰＣ（Personal  Computer）やノートＰＣ等の情報処理装置であってもよい。
【００１５】
ここで、端末装置１０は、利用者から各種の入力を受け付ける機能を有する。例えば、端末装置１０は、利用者の入力を受け付けるタッチパネルを有し、利用者が指やスタイラスを用いて描いた画像を手書き画像として受け付ける機能を有する。また、端末装置１０は、カメラ等を有し、利用者が紙等のアナログ媒体に描いた絵を手書き画像として撮影する撮影機能を有する。
【００１６】
生成サーバ１００は、生成処理および提供処理を実行する情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。また、生成サーバ１００は、端末装置１０との間で任意のデータを送受信する機能を有する。なお、生成サーバ１００は、任意の数の生成サーバ１００により実現されてもよく、１台のサーバ装置上で仮想的に動作する複数の仮想サーバ装置により実現されてもよい。また、生成サーバ１００は、例えば、サーバ装置上で動作するＧＰＵ（Graphics  Processing  Unit）により実現されてもよい。
【００１７】
検索サーバ２００は、画像検索を実行する情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。例えば、検索サーバ２００は、検索クエリとなる画像（以下、「クエリ画像」と記載する。）を受け付けると、検索対象となる各種画像の中からクエリ画像と類似する画像を検索し、検索結果を提供する。より具体的な例を挙げると、検索サーバ２００は、電子商店街において出品された取引対象の中から、取引対象を示す画像として登録された画像（以下、「登録画像」と記載する。）がクエリ画像と類似する取引対象を検索し、検索結果として、登録画像がクエリ画像と類似する取引対象の情報を提供する。例えば、検索サーバ２００は、取引対象の登録画像や価格、取引対象を販売する電子商店街の店舗の情報等を提供する。なお、検索サーバ２００は、取引対象の価格や販売履歴、登録画像とクエリ画像との類似度に応じたランキングを生成し、生成したランキングを検索結果として提供してもよい。
【００１８】
〔１−２．提供処理について〕
ここで、利用者が所望する取引対象の名称やブランドが解らない場合、電子商店街において取引対象を検索するのが困難となる。例えば、利用者が所望する取引対象に対して漠然としたイメージを有しているが、そのようなイメージと合致する取引対象の名称やブランド等、取引対象を検索するための検索クエリを想起できない場合、電子商店街において所望する取引対象を検索するのが困難である。
【００１９】
そこで、利用者から画像を検索クエリとして受付け、受付けた検索クエリを用いて画像検索を行うといった手法が考えられる。より具体的な例を挙げると、各種のペイント用アプリケーションを介して、利用者から手書き画像の入力を受付け、受付けた手書き画像を検索クエリとする手法が考えらえる。また、利用者が紙等といったアナログ媒体に手書きした絵等を手書き画像として撮影し、撮影した手書き画像を検索クエリとする手法が考えられる。すなわち、「手書き画像」とは、利用者の手により描画されたものであって、利用者が検索使用とする態様を示すものであれば、端末装置１０が有するタッチパネルやマウス等の入力装置を介して入力された画像のみならず、他の媒体に描画されたものを撮影した画像等を含む概念である。
【００２０】
しかしながら、このような手書き画像を検索クエリとした場合、適切な取引対象を検索することができない恐れがある。例えば、利用者により描かれた手書き画像は、写真等の画像と比較して取引対象が有する特徴が詳細に表れ難い。このため、手書き画像をそのまま検索クエリとした場合、利用者が所望する取引対象を適切に検索することができない恐れがある。
【００２１】
そこで端末装置１０は、以下の提供処理を実行する。まず、端末装置１０は、利用者が入力した画像である入力画像を受け付ける。このような場合、端末装置１０は、受け付けられた入力画像から生成される画像を取得する。そして、端末装置１０は、画像検索を行う検索サーバ２００に対して、取得された画像を提供する。
【００２２】
例えば、端末装置１０は、利用者の手書き画像を入力画像として受け付けると、受付けた手書き画像を生成サーバ１００に対して送信する。このような場合、生成サーバ１００は、以下の生成処理を実行する。まず、生成サーバ１００は、手書き画像を利用者が入力した画像である入力画像として受け付ける。このような場合、生成サーバ１００は、受け付けられた入力画像から生成される画像であって、画像検索を行う検索サーバ２００に対して検索クエリとして提供される画像を生成する。そして、生成サーバ１００は、生成された画像を端末装置１０へと提供する。
【００２３】
すなわち、端末装置１０は、手書き画像そのものを検索クエリとするのではなく、手書き画像から生成される画像であって、検索クエリの候補となる画像（以下、「クエリ候補画像」と記載する。）を取得する。すなわち、端末装置１０は、生成サーバ１００によって手書き画像から生成されたクエリ候補画像を取得する。そして、端末装置１０は、取得したクエリ候補画像を検索サーバ２００へと送信する。
【００２４】
ここで、利用者が所望する取引対象の特徴をクエリ候補画像が手書き画像よりも適切に示している場合、検索サーバ２００は、利用者が所望する取引対象を手書き画像よりも適切に検索することができると考えられる。この結果、端末装置１０は、利用者が所望する取引対象の検索をより適切に実現することができる。
【００２５】
〔１−３．クエリ候補画像について〕
ここで、クエリ候補画像は、手書き画像から生成される画像であって、利用者が所望する取引対象の特徴を手書き画像よりもより適切に示す画像であれば、任意の画像が適用可能である。例えば、クエリ候補画像は、利用者の手書き画像から生成された画像であって、手書き画像と類似するように生成された画像であれば、任意の画像であってもよい。例えば、クエリ候補画像は、手書き画像が示す取引対象の特徴と類似する特徴を有する画像であって、手書き画像よりも詳細に取引対象の特徴を示すものであればよい。例えば、手書き画像に、一方の斜辺が他方の斜辺よりも長い台形の形状であって、赤色が付された図形が含まれている場合、クエリ候補画像は、赤色のハイカットスニーカーを示唆するような画像となればよい。このように、クエリ候補画像が手書き画像よりも詳細に取引対象の特徴を示す場合、手書き画像は、クエリ候補画像の解像度を低下させたものともいえる。そこで、生成サーバ１００は、例えば、各種アップコンバートの技術により、手書き画像をより詳細な画像へと変更することでクエリ候補画像を生成してもよい。
【００２６】
また、クエリ候補画像は、手書き画像よりも検索対象となる画像に類似する画像であればよい。例えば、生成サーバ１００は、手書き画像から電子商店街に登録された取引対象の画像に類似する画像を生成し、端末装置１０へと提供してもよい。このような場合、端末装置１０は、手書き画像から生成された画像であって、取引対象の画像の類似する画像を検索サーバ２００へと提供するので、利用者が所望する取引対象をより適切に検索することができる。すなわち、端末装置１０は、手書き画像から生成される画像であって、検索対象のうちいずれかの検索対象を手書き画像よりも適切に示す画像であれば、任意の手法により生成されたクエリ候補画像を取得して良い。
【００２７】
ここで、生成サーバ１００は、検索サーバ２００の検索対象となる画像の特徴を学習したモデルを用いて手書き画像から生成された画像を生成する。より具体的な例を挙げると、生成サーバ１００は、モデルとして、画像の特徴が入力された場合に検索サーバ２００の検索対象となる画像を生成するように学習が行われたモデルを用いて手書き画像からクエリ候補画像を生成する。
【００２８】
例えば、生成サーバ１００は、複数のノードを多段に接続したニューラルネットワークをモデルとして準備する。このようなモデルは、例えば、ＤＮＮ（Deep  Neural  Network）、オートエンコーダー、ＬＳＴＭ（Long  Short-Term  Memory）、リカレントニューラルネットワーク、畳み込みニューラルネットワーク、再帰型ニューラルネットワーク等、任意のＤＮＮが採用可能である。
【００２９】
このようなモデルに対し、取引対象の特徴を示す情報を入力した際に、その情報が示す特徴を示す取引対象の画像を出力するように学習が行われた場合、そのモデルは、手書き画像が有する特徴から、その特徴を有する取引対象の画像を生成する画像生成モデルとなりえる。例えば、様々な取引対象の画像を教師データとし、その画像を利用者に手書きさせた手書き画像、もしくはその手書き画像が有する特徴を学習データとして、モデルの学習を行うことで、このような画像作成モデルを生成することができる。より具体的には、学習データを入力した際にモデルが出力する画像が教師データと近づくように、モデルが有するノード間の接続係数（すなわち、重み）を修正することで、手書き画像から手書き画像が示す特徴を有する取引対象の画像を生成することができる。
【００３０】
ここで、生成サーバ１００は、ＧＡＮ（Generative  Adversarial  Network）と呼ばれるモデルを用いてもよい。例えば、ＧＡＮは、ジェネレータとディスクリミネイタとを有する。ＧＡＮのジェネレータは、ランダムベクトル等のノイズが入力された際に、入力されたノイズに応じた情報を出力する。一方、ディスクリミネイタは、ジェネレータが出力した情報と所定の訓練データとに対してラベル付を行う。このようなＧＡＮにおいては、ジェネレータの出力と訓練データとに同じラベルが付与されるようにジェネレータの学習が行われ、ジェネレータの出力と訓練データとに異なるラベルが付与されるようにディスクリミネイタの学習が行われる。
【００３１】
ここで、ジェネレータの出力を画像とし、訓練データを取引対象の登録画像とし、ＧＡＮが有するジェネレータとディスクリミネイタとを交互に更新した場合、ジェネレータが生成する画像は、取引対象の登録画像に近づくこととなる。このようなＧＡＮのジェネレータをモデルとして用いることで、生成サーバ１００は、手書き画像からクエリ候補の画像を生成してもよい。より具体的には、生成サーバ１００は、モデルとして、ランダムなベクトルから画像を生成するように学習が行われたＧＡＮに対し、手書き画像に基づいた制約が適用されたベクトルを入力することでクエリ候補画像を生成してもよい。すなわち、生成サーバ１００は、制限付きＧＡＮの技術（例えば、非特許文献１参照）を用いて、手書き画像からクエリ候補画像を生成してもよい。
【００３２】
例えば、生成サーバ１００は、あるランダムベクトルをジェネレータに入力し、ジェネレータが出力した画像と手書き画像とを比較し、ジェネレータが出力する画像が手書き画像に近づくように、ジェネレータに対して入力するベクトルに対して制約を加える。例えば、生成サーバ１００は、初期値としてランダムベクトルを生成し、生成したランダムベクトルをジェネレータに入力する。そして、生成サーバ１００は、ジェネレータが出力する画像と手書き画像とを比較し、ジェネレータが出力する画像が手書き画像に近づくように、ジェネレータに入力したランダムベクトルの各要素の値を更新する。そして、生成サーバ１００は、要素の値を更新したランダムベクトルをジェネレータに再度入力し、ジェネレータが出力する画像と手書き画像とを再度比較し、ジェネレータが出力する画像が手書き画像に近づくように、ジェネレータに入力したランダムベクトルの各要素の値をさらに更新する。
【００３３】
ここで、ＧＡＮのジェネレータは、学習対象となった画像と類似する画像であって、学習対象となった画像が有する特徴を精度よく含む画像を生成する傾向がある。このため、ジェネレータが出力する画像が手書き画像に近づくように、ジェネレータに入力するランダムベクトルの各要素の値を繰り返し更新した場合、生成サーバ１００は、手書き画像が示す取引対象の特徴と共通する特徴を有する画像であって、取引対象の特徴を精度よく含む画像を取得することができる。すなわち、端末装置１０は、所定の入力から検索サーバ２００の検索対象となる画像と類似する画像を出力するように学習が行われたモデルが入力画像と類似する画像を出力するように、モデルに対する入力を変更することで生成された画像を取得する。
【００３４】
このように、生成サーバ１００は、ある手書き画像からＧＡＮを用いてクエリ候補画像を生成した場合、その手書き画像を入力した利用者が所望する取引対象と類似する取引対象の画像をクエリ候補画像として生成することができるので、利用者が所望する取引対象の検索を適切に行わせることができる。
【００３５】
なお、生成サーバ１００は、ＧＡＮが有するネットワークのうち、ジェネレータ部分のみを抽出し、抽出した部分をクエリ候補画像を生成するモデルとして採用してもよく、ＧＡＮ全体をモデルとし、ジェネレータ部分の出力をクエリ候補画像としてもよい。以下の説明では、モデルとして採用されるネットワークであって、全体もしくはジェネレータ部分を、ＧＡＮと総称する場合がある。
【００３６】
〔１−４．モデルのカテゴリについて〕
ここで、上述した各種のモデルが手書き画像の特徴から取引対象の画像を生成する場合、各モデルに対して所定の分野に属する取引対象のみの特徴を学習させた方が、生成される画像の精度が向上する場合がある。そこで、生成サーバ１００は、取引対象のカテゴリごとに異なるモデルを用いて、クエリ候補画像の生成を行ってもよい。
【００３７】
例えば、生成サーバ１００は、第１カテゴリに属する取引対象の画像を訓練データとすることで、第１カテゴリと対応するＧＡＮを生成し、第２カテゴリに属する取引対象の画像を訓練データとすることで、第２カテゴリと対応するＧＡＮを生成する。すなわち、生成サーバ１００は、取引対象が属するカテゴリごとに、ベクトルから取引対象の画像を生成するモデルの学習を行う。一方、端末装置１０は、利用者から手書き画像を受け付けるとともに、検索対象となる取引対象が属するカテゴリの指定を受け付ける。
【００３８】
このような場合、生成サーバ１００は、生成したＧＡＮのうち、利用者が指定したカテゴリと対応するＧＡＮを選択する。そして、生成サーバ１００は、選択されたＧＡＮを用いて、手書き画像からクエリ候補画像の生成を行う。すなわち、生成サーバ１００は、分野ごとに検索サーバ２００の検索対象となる画像の特徴を学習した複数のモデルのうち、指定された分野と対応するモデルを用いて手書き画像からクエリ候補画像の生成を行う。
【００３９】
ここで、取引対象が属するカテゴリは、任意の粒度が採用可能である。例えば、生成サーバ１００は、電子商店街において階層関係を有するカテゴリが採用されている場合、任意の階層におけるカテゴリごとに、モデルの学習を行ってもよい。また、端末装置１０は、生成サーバ１００とは異なる粒度でのカテゴリの指摘を受付けても良い。例えば、生成サーバ１００は、端末装置１０が第１カテゴリに属する第２カテゴリの指定を受付けた場合、第２カテゴリに対応するモデルを用いてクエリ候補画像の生成を行ってもよく、あるいは、第２カテゴリを内包する第１カテゴリに対応するモデルを用いてクエリ候補画像の生成を行ってもよい。
【００４０】
〔１−５．制約条件について〕
ここで、生成サーバ１００は、ＧＡＮが出力する画像が手書き画像に近づくように、ＧＡＮに入力するベクトルに対して制約を適用した。ここで、生成サーバ１００は、手書き画像に基づく制約であれば、任意の態様で制約の適用を行ってよい。
【００４１】
例えば、手書き画像に含まれる境界線は、取引対象の形状を示す情報、すなわち、取引対象の形状が有する特徴を示す情報であると考えられる。また、手書き画像に含まれる色は、取引対象の色を示す情報、すなわち、取引対象が有する色の特徴を示す情報であると考えられる。また、手書き画像のうち、色が付された領域は、取引対象のうち色が付された領域が有する広さや形等の特徴を示す情報であると考えらえる。すなわち、手書き画像には、取引対象が有する特徴を示す情報であって、それぞれ異なる種別の特徴を示す複数の情報が含まれると考えられる。
【００４２】
そこで、生成サーバ１００は、手書き画像からそれぞれ異なる種別の特徴を示す複数の情報を取得し、ＧＡＮに入力するベクトルに対して、取得した各情報に基づいた所定の制約条件を適用してもよい。例えば、生成サーバ１００は、手書き画像の画像解析を行い、境界線等の形状を示す情報と、色を示す情報とを取得する。そして、生成サーバ１００は、取得した形状を示す情報に基づいた条件と、色を示す情報に基づいた条件とを適用することで、クエリ候補画像の生成を行ってよい。また、生成サーバ１００は、色を示す情報に基づいた条件として、色が付与された領域を示す情報に基づいた条件と、その領域に付与された色を示す情報に基づいた条件とに基づいて、クエリ候補画像の生成を行ってもよい。
【００４３】
例えば、生成サーバ１００は、取引対象の登録画像を訓練データとしてＧＡＮの学習を行うことで、ランダムベクトルから取引対象の画像を生成するジェネレータを得る。例えば、生成サーバ１００は、ディスクリミネイタがジェネレータの出力と登録画像とに同じラベルを付与するようにジェネレータを修正する学習と、ジェネレータの出力と登録画像とに異なるラベルを付与するようにディスクリミネイタを修正する学習とを交互に実行する。この結果、生成サーバ１００は、ランダムベクトルから取引対象の登録画像を生成するＧＡＮを得ることができる。
【００４４】
そして、生成サーバ１００は、手書き画像を端末装置１０から取得した場合、以下の式（１）を満たすｚ＊をジェネレータに対する入力として設定する。
【００４５】
【数１】
2019106099.tif 000003
【００４６】
ここで、式（１）のｚとは、前回ジェネレータに入力されたベクトルであり、ｚ０とは、ジェネレータに入力するベクトルの初期値である。また、式（１）のＧ（ｚ）とは、あるベクトルｚを入力した際にジェネレータが出力する画像である。また、式（１）の関数ｆは、ジェネレータに対して入力するベクトルに対し、画像に基づいた制約を付与する操作を示す。例えば、ｆ（Ｇ（ｚ））とは、あるベクトルｚをジェネレータに入力した際にジェネレータが出力した画像Ｇ（ｚ）に基づく制約を加えたベクトルを示す。また、式（１）のＶ０とは、手書き画像が有する色を示す情報（すなわち、色が付与された領域の特徴、および付された色の特徴を示す情報）である。また、また、式（１）のＶ1とは、手書き画像が有する形状を示す情報である。また、式（１）のλは、所定の定数であり、ＥＤとは、ディスクリミネイタによって前回出力されたラベル付与の結果、すなわち、前回ジェネレータが出力した画像が取引対象の画像であるか否かの判定結果の確度である。
【００４７】
生成サーバ１００は、式（１）の右辺に示す値が小さくなるように、ＧＡＮを用いた画像生成と、生成した画像に基づくベクトルの修正とを繰り返し実行する。そして、生成サーバ１００は、所定の回数だけ画像生成とベクトルの修正とを実行した場合、ＧＡＮが出力する画像の精度が所定の閾値を超えた場合、前回画像を生成する際に用いたベクトルと、その画像に基づいて修正したベクトルとの差が所定の範囲内に収まる場合等には、生成した画像をクエリ候補画像として端末装置１０に提供する。なお、生成サーバ１００は、画像生成を行う度に、生成した画像を端末装置１０に提供してもよい。
【００４８】
換言すると、ＧＡＮが出力する画像をＩ、手書き画像をＩ’、ジェネレータに入力するベクトルをｖ、ジェネレータの処理を関数ｆで表すと、生成サーバ１００は、以下の式（２）の値が最少となるように、ＧＡＮを用いた画像生成と、ＧＡＮに入力するベクトルの修正とを繰り返し実行する。
【００４９】
【数２】
2019106099.tif 000004
【００５０】
このような処理の結果、生成サーバ１００は、手書き画像が有する特徴と類似する特徴を有する取引対象の画像をクエリ候補画像として生成することができる。
【００５１】
〔１−６．イテレーションについて〕
上述したように、生成サーバ１００は、手書き画像に基づいた制約条件を考慮して、ＧＡＮを用いた画像生成と、ＧＡＮに入力するベクトルの生成した画像に基づく修正とを繰り返し実行する。すなわち、生成サーバ１００は、イテレーションにより手書き画像からクエリ候補画像を生成する。
【００５２】
ここで、生成サーバ１００は、イテレーションを行うごとに生成した画像をクエリ候補画像として端末装置１０へと提供してもよい。すなわち、生成サーバ１００は、手書き画像から生成される画像であって、それぞれ異なる複数の画像を端末装置１０に提供してもよい。このような場合、端末装置１０は、クエリ候補画像が提供される度に、画面上に提供されたクエリ候補画像を表示してもよい。例えば、端末装置１０は、画面上に設定されたクエリ候補画像用の表示領域に、提供された複数のクエリ候補画像を並べて表示してもよく、提供されたクエリ候補画像のうち最も新しいクエリ候補画像のみを表示してもよい。すなわち、端末装置１０は、クエリ候補画像を取得する度に、画面上に表示されるクエリ候補画像の表示を更新してもよい。
【００５３】
ここで、イテレーションの数が増えれば増える程、生成されるクエリ候補画像の精度が向上するものの、クエリ候補画像の生成に要する時間が増加する。そこで、複数の生成サーバ１００は、それぞれ異なる回数だけイテレーションを実行してもよい。例えば、生成サーバ１０１は、端末装置１０から手書き画像を受け付けると、上述したイテレーションを２０回繰り返し、生成したクエリ候補画像を端末装置１０へと提供する。一方、生成サーバ１０２は、端末装置１０から手書き画像を受け付けると、上述したイテレーションを４０回繰り返し、生成したクエリ候補画像を端末装置１０へと提供する。
【００５４】
このように、端末装置１０は、イテレーションの回数がそれぞれ異なる複数のサーバ装置に対して手書き画像を送信することで、徐々に精度が向上していく複数のクエリ候補画像を順次取得してもよい。また、端末装置１０は、順次取得したクエリ候補画像を順次表示してもよい。このような処理を実行することで、端末装置１０は、例えば、クエリ候補画像を生成する際の待ち時間により生じる利用者の心理的な不快感を軽減することができる。
【００５５】
なお、端末装置１０は、表示されたクエリ候補画像のうちいずれかのクエリ候補画像が選択された場合は、クエリ候補画像の生成中断指示を各生成サーバ１００へと提供してもよい。上述したイテレーションの実行中に、生成中断指示を受付けた場合、生成サーバ１００は、クエリ候補画像の生成を終了してもよい。
【００５６】
〔１−７．検索サーバに提供されるクエリ候補画像について〕
ここで、端末装置１０は、手書き画像から生成されたクエリ候補画像をクエリ画像として検索サーバ２００に提供するのであれば、任意の態様でクエリ候補画像を検索サーバ２００に提供して良い。例えば、図２は、実施形態に係る端末装置の表示態様の一例を示す図である。
【００５７】
例えば、端末装置１０は、入力ウインドウＰＡ、鉛筆アイコンＳＰ、筆アイコンＣＰ、ショッピングアイコンＳＩ、戻るアイコンＢＩ、繰り返しアイコンＲＤＩ、消しゴムアイコンＥＩ、および表示ウインドウＤＡを画面上に表示する。入力インドウＰＡは、手書き画像の入力を受け付ける領域であり、例えば、手書きペイントの入力を受け付けるキャンパスに相当する。
【００５８】
鉛筆アイコンＳＰは、手書き画像として線を入力するための鉛筆を示すアイコンである。例えば、端末装置１０は、利用者が鉛筆アイコンＳＰを選択し、入力ウインドウＰＡ内で指を移動させた場合は、指の移動と対応する形状の線が入力されたものとする。筆アイコンＣＰは、手書き画像として色を付与するための筆を示すアイコンである。例えば、端末装置１０は、利用者が筆アイコンＣＰのいずれかを選択し、入力ウインドウＰＡ内で指を移動させた場合は、指の移動と対応する位置に、選択された筆アイコンＣＰと対応する色が付されたものとする。すなわち、端末装置１０は、所謂ペイントアプリと同様のＵＩ（User  Interface）を介して、手書き画像の入力を受け付ける。
【００５９】
戻るアイコンＢＩは、前回の入力を取り消すためのアイコンである。また、繰り返しアイコンＲＤＩは、前回の入力と同じ入力を行うためのアイコンである。また、消しゴムアイコンＥＩは、入力された線や付された色を消すためのアイコンである。また、表示ウインドウＤＡは、クエリ候補画像を表示するための領域である。また、ショッピングアイコンＳＩは、クエリ候補画像を用いて電子商店街の検索を行うためのアイコンである。
【００６０】
例えば、端末装置１０は、入力ウインドウＰＡを介して、利用者から手書き画像の入力を受け付ける。このような場合、端末装置１０は、所定の条件を満たす入力を受け付ける度に、新たな画像を取得する。例えば、端末装置１０は、利用者が入力ウインドウＰＡに触れる度、線を描く度、色を塗る度、ストロークの度、所定の時間間隔等、任意のタイミングで入力インドウＰＡの手書き画像を生成サーバ１００へと送信する。
【００６１】
なお、端末装置１０は、例えば、画像解析技術等を用いて、利用者が所定の物体を描く度に手書き画像を生成サーバ１００に送信してもよい。例えば、端末装置１０は、利用者が靴ひもを描いたと推定される場合、靴の外観を描いたと推定される場合、ロゴを描いたと推定される場合等、所定の物体を描いたと推定される度に、手書き画像を生成サーバ１００へと送信してもよい。また、端末装置１０は、利用者が同じ様な操作を連続して行うと推定される場合には、それらの操作が完了したと推定された後で、手書き画像の送信を行ってもよい。例えば、端末装置１０は、利用者が平行に近い線の入力を２回以上連続して行った場合、利用者が異なる態様の線を入力した後で、手書き画像の送信を行ってもよい。
【００６２】
ここで、鉛筆アイコンＳＰが選択された際に入力された線は、取引対象の形状を示す情報であると言える。また、筆アイコンＣＰが選択された際に付された色や、色が付された領域は、取引対象の色を示す情報であると言える。そこで、端末装置１０は、所謂ペイントアプリとは異なり、鉛筆アイコンＳＰが選択された際に入力された線と筆アイコンＣＰが選択された際に付された色とを個別に保持する。そして、端末装置１０は、手書き画像を送信する際、筆アイコンＣＰを用いて描かれた線の情報である線情報ＳＩと、筆アイコンＣＰを用いて色が付された領域の情報である色領域情報ＣＡＩと、色領域情報ＣＡＲが示す領域に付与された色を示す色情報ＣＩとを生成サーバ１００に送信する。
【００６３】
このような場合、生成サーバ１００は、線情報ＳＩ、色領域情報ＣＡＩ、および色情報ＣＩとに基づく制約をベクトルに対して適用することで、複数のクエリ候補画像ＱＣＰを生成する。そして、生成サーバ１００は、例えば、クエリ候補画像ＱＣＰを生成する度に、生成したクエリ候補画像ＱＣＰを端末装置１０へと提供する。この結果、端末装置１０は、例えば、ストロークごとに生成される複数のクエリ候補画像ＱＣＰを、生成サーバ１００から取得する度に、表示ウインドウＤＡ上に表示する。
【００６４】
このように、端末装置１０は、生成サーバ１００から取得されるクエリ候補画像ＱＣＰのうち、最も最後に取得されたクエリ候補画像ＱＣＰのみを表示することとなる。例えば、端末装置１０は、利用者の入力に対してインタラクティブにクエリ候補画像ＱＣＰを取得し、取得したクエリ候補画像ＷＣＰを表示ウインドウＤＡに表示する。そして、端末装置１０は、利用者がショッピングアイコンＳＩを選択した場合は、表示ウインドウＤＡに表示されていたクエリ候補画像ＱＣＰ、すなわち、取得した複数のクエリ候補画像ＱＣＰのうち最後に取得したクエリ候補画像ＱＣＰを検索サーバ２００に提供する。
【００６５】
なお、端末装置１０は、例えば、利用者が表示ウインドウＤＡを選択した場合は、生成サーバ１００からこれまでに取得したクエリ候補画像の一覧を表示してもよい。また、端末装置１０は、一覧表示されたクエリ候補画像のうち、利用者が選択したクエリ候補画像を検索サーバ２００に送信してもよい。ここで、端末装置１０は、クエリ候補画像の一覧を表示する場合、全生成サーバ１００が生成したクエリ候補画像をすべて表示してもよく、例えば、各生成サーバ１００が生成したクエリ候補画像のうち最後に取得されたクエリ候補画像ＱＣＰのみを表示してもよい。
【００６６】
ここで、クエリ候補画像ＱＣＰの精度があまり高くない場合、そのクエリ候補画像を手書き画像として新たなクエリ候補画像を生成することで、精度を向上させることができると予測される。そこで、端末装置１０は、手書き画像から生成された複数のクエリ候補画像のうちいずれかのクエリ候補画像を利用者が選択した場合は、選択されたクエリ候補画像から新たに生成されるクエリ候補画像を取得してもよい。例えば、端末装置１０は、利用者が選択したクエリ候補画像を生成サーバ１００に手書き画像として提供してもよい。
【００６７】
〔１−８．その他〕
ここで、生成サーバ１００が生成したクエリ候補画像には、利用者が入力した手書き画像の特徴を適切に有していないものが含まれる場合がある。そこで、生成サーバ１００は、生成サーバ１００から取得したクエリ候補画像のうち、特徴量が所定の条件を満たすクエリ候補画像のみを表示してもよい。例えば、端末装置１０は、取得した複数のクエリ候補画像のうち、特徴量が、複数のクエリ候補画像の特徴量空間における重心から所定の範囲内に含まれるクエリ候補画像を表示してもよい。
【００６８】
例えば、端末装置１０は、クエリ候補画像を受け付ける度に、それまでに受付けたクエリ候補画像の特徴量の重心を算出する。そして、端末装置１０は、新たに受付けたクエリ候補画像の特徴量が、各クエリ候補画像の特徴量の重心から所定の範囲内に収まる場合にのみ、新たに受付けたクエリ候補画像を表示してもよい。また、例えば、生成サーバ１００は、これまでに送信したクエリ候補画像の重心を算出し、新たに生成したクエリ候補画像の特徴量が、各クエリ候補画像の特徴量の重心から所定の範囲内に収まる場合にのみ、生成したクエリ候補画像を端末装置１０へと送信してもよい。
【００６９】
また、端末装置１０は、例えば、所定のテクスチャの入力を受付けてもよい。このようなテクスチャが付された領域やテクスチャの種別は、例えば、筆アイコンＣＰを用いて入力された色が付された領域や色の種別と同様の処理により、クエリ候補画像を生成する際の制約となりえる。また、端末装置１０は、スタンプ等の所定のテンプレートの入力を受付けてもよい。
【００７０】
〔１−９．端末装置と生成サーバとが実行する処理の一例〕
次に、図１に戻り、端末装置１０が実行する提供処理と、生成サーバ１００が実行する生成処理との流れの一例を説明する。まず、端末装置１０は、取引対象が属するカテゴリの指定と共に、手書き画像を受け付ける（ステップＳ１）。このような場合、端末装置１０は、所定のタイミングでその時点における手書き画像ＨＰと指定されたカテゴリとを各生成サーバ１００へと送信する（ステップＳ２）。
【００７１】
このような場合、各生成サーバ１００は、それぞれ異なるカテゴリに属する取引対象の画像をランダムベクトルから生成するように学習が行われたモデルのうち、指定されたカテゴリと対応するモデルに対し、手書き画像に基づく制約条件を適用したベクトルを入力することで、クエリ候補画像を生成する（ステップＳ３）。例えば、生成サーバ１００は、利用者が選択されたカテゴリと対応するモデルＭを選択し、ランダムベクトル生成器Ｇが出力したランダムベクトルをモデルＭに入力する。そして、生成サーバ１００は、モデルＭがランダムベクトルから生成したクエリ候補画像ＱＣＰが、手書き画像ＨＰに近づくように、ランダムベクトルに対する制約を加える。
【００７２】
例えば、生成サーバ１００は、色領域情報ＣＡＩおよび色情報ＣＩとに基づく色制約ＣＲとクエリ候補画像ＱＣＰとの差に基づいた制約Ｖ０を生成する。また、生成サーバ１００は、線情報ＳＩに基づく線制約ＳＲとクエリ候補画像ＱＣＰとの差に基づいた制約Ｖ１を生成する。そして、生成サーバ１００は、制約Ｖ０と制約Ｖ１とに基づいて、新たなベクトル、すなわち、前回生成したクエリ候補画像ＱＣＰをより手書き画像ＨＰへと近づけるためのベクトルを生成し、生成したベクトルを用いて新たなクエリ候補画像ＱＣＰを生成する。なお、生成サーバ１００は、このようなクエリ候補画像ＱＣＰを生成する処理を所定の回数だけ繰り返し実行する。
【００７３】
また、生成サーバ１００は、クエリ候補画像ＱＣＰを生成した場合は、生成したクエリ候補画像ＱＣＰを端末装置１０へと提供する（ステップＳ４）。このような場合、端末装置１０は、クエリ候補画像ＱＣＰを表示する（ステップＳ５）。そして、端末装置１０は、クエリ候補画像ＱＣＰの選択を受付けた場合は（ステップＳ６）、選択されたクエリ候補画像ＱＣＰをクエリ画像として検索サーバ２００に送信する（ステップＳ７）。
【００７４】
ここで、検索サーバ２００は、任意の画像検索手法により、クエリ画像として提供されたクエリ候補画像ＱＣＰと類似する画像を電子商店街に登録された登録画像の中から検索する。例えば、検索サーバ２００は、畳み込みニューラルネットワークを用いて、クエリ画像として提供されたクエリ候補画像ＱＣＰの特徴量を抽出する（ステップＳ８）。そして、検索サーバ２００は、近傍ベクトル検索の技術を用いて、クエリ画像候補ＱＣＰと特徴量が類似する画像の取引対象を検索する（ステップＳ９）。そして、検索サーバ２００は、検索結果を端末装置１０へと提供する（ステップＳ１０）。この結果、端末装置１０は、クエリ画像候補ＱＣＰを用いた画像検索の結果を利用者に提供することとなる。
【００７５】
〔１−１０．取引対象の予測について〕
ここで、端末装置１０は、受付けられた入力画像の履歴に基づいて生成された画像を取得してもよい。例えば、端末装置１０は、受付けられた入力画像の履歴に基づいて推定された、将来受付けうる入力画像に基づいて生成されたクエリ候補画像を取得してもよい。
【００７６】
例えば、利用者が手書き画像として鞄を描く場合、鞄の持ち手を描いてから鞄の本体を描くと予測される。ここで、利用者が鞄の持ち手を描いていることが推定される場合、鞄の本体が描かれていなくとも、鞄全体を示すクエリ候補画像を提供することで、利用者の検索をより容易にすることができるとも考えられる。
【００７７】
そこで、端末装置１０や生成サーバ１００は、手書き画像の履歴に基づいて、利用者が描く取引対象の推定を行い、推定された取引対象のクエリ候補画像を提供してもよい。例えば、生成サーバ１００は、端末装置１０から取得した手書き画像の履歴に基づいて、利用者が将来入力しうる入力画像（以下、「推定画像」と記載する。）の推定を行う。例えば、生成サーバ１００は、利用者が鞄の持ち手を描いていると推定される場合は、鞄全体を示す推定画像を生成する。このような推定画像は、例えば、クエリ候補画像の生成を行うモデルと同様のモデルを用いて推定されてもよく、例えば、利用者が指定したカテゴリのうち、利用者が描いた部分と類似する部分を有する取引対象の登録画像を用いて生成されてもよい。
【００７８】
そして、生成サーバ１００は、生成された推定画像を用いて、クエリ候補画像の生成を行い、生成したクエリ候補画像を端末装置１０に提供する。このような処理の結果、例えば、端末装置１０は、利用者が鞄の持ち手を描いている間に、そのような持ち手を有する鞄全体のクエリ候補画像を提供することができるので、利用者による画像検索をより容易にすることができる。
【００７９】
〔１−１１．処理の実行主体について〕
ここで、端末装置１０は、生成サーバ１００が実行した生成処理を自装置内で実行してもよい。すなわち、端末装置１０は、手書き画像からクエリ候補画像を生成し、生成したクエリ候補画像を検索サーバ２００に提供してもよい。また、生成サーバ１００は、生成したクエリ画像候補ＱＣＰを端末装置１０に提供するのではなく、例えば、検索サーバ２００に提供してもよい。このような処理が実行される場合、検索結果は、検索サーバ２００から端末装置１０へと直接送信されてもよく、検索サーバ２００から生成サーバ１００を介して端末装置１０へと送信されてもよい。
【００８０】
〔２．端末装置および生成サーバの構成〕
以下、上記した学習処理を実現する端末装置１０および生成サーバ１００が有する機能構成の一例について説明する。なお、以下の説明では、利用者が端末装置１０を用いて入力した手書き画像を入力画像と総称する。また、以下の説明では、まず端末装置１０が有する機能構成の一例について説明し、その後、生成サーバ１００が有する機能構成の一例について説明する。
【００８１】
図３は、実施形態に係る端末装置および生成サーバの構成例を示す図である。図３に示すように、端末装置１０は、通信部２０、記憶部３０、タッチパネル５０、および制御部４０を有する。通信部２０は、例えば、ＮＩＣ（Network  Interface  Card）等によって実現される。そして、通信部２０は、ネットワークＮと有線または無線で接続され、生成サーバ１００や検索サーバ２００との間で情報の送受信を行う。
【００８２】
記憶部３０は、例えば、ＲＡＭ（Random  Access  Memory)、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部３０は、クエリ候補画像データベース３１を記憶する。
【００８３】
クエリ候補画像データベース３１には、生成サーバ１００から取得したクエリ候補画像が登録される。例えば、図４は、実施形態に係るクエリ候補画像データベースに登録される情報の一例を示す図である。図４に示すように、クエリ候補画像データベース３１には、「クエリ候補画像ＩＤ（Identifier）」、「画像データ」、および「取得順序」といった項目を有する情報が登録される。
【００８４】
ここで、「クエリ候補画像ＩＤ」とは、クエリ候補画像を示す識別子である。また、「画像データ」とは、クエリ候補画像の画像に関するデータである。また、「取得順序」とは、クエリ候補画像を取得した順序を示す情報である。例えば、図４に示す例では、クエリ候補画像ＩＤ「候補＃１」、画像データ「クエリ候補画像＃１」、および取得順序「１」が対応付けて登録されている。このような情報は、クエリ候補画像ＩＤ「候補＃１」が示すクエリ候補画像のデータが画像データ「クエリ候補画像＃１」であり、クエリ候補画像ＩＤ「候補＃１」が示すクエリ候補画像が「１」番目に取得された画像である旨を示す。
【００８５】
なお、図４に示す例では「候補＃１」、「クエリ候補画像＃１」といった概念的な値を記載したが、実際には、クエリ候補画像を識別するための数値や文字列、各種様式の画像データ等がクエリ候補画像データベース３１に登録されることとなる。なお、クエリ候補画像データベース３１には、図４に示す情報以外にも、任意の情報が登録されていてよい。
【００８６】
図３に戻り、説明を続ける。タッチパネル５０は、端末装置１０が有する入力装置および表示装置である。例えば、タッチパネル５０は、手書き画像の入力を受け付けるとともに、受付けた手書き画像の表示、および生成サーバ１００が生成したクエリ候補画像の表示を行う。また、タッチパネル５０は、利用者からの各種操作を受け付けるとともに、検索サーバ２００から取得した検索結果の表示等を実現する。
【００８７】
制御部４０は、コントローラ（controller）であり、例えば、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）等のプロセッサによって、端末装置１０内部の記憶装置に記憶されている各種プログラムがＲＡＭ等を作業領域として実行されることにより実現される。また、制御部４０は、コントローラ（controller）であり、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現されてもよい。
【００８８】
制御部４０は、入力画像受付部４１、クエリ候補画像取得部４２、表示部４３、およびクエリ画像提供部４４を有する。入力画像受付部４１は、利用者が入力した画像である入力画像を受け付ける。例えば、入力画像受付部４１は、タッチパネル５０を介して利用者から入力画像の入力を受け付ける。例えば、入力画像受付部４１は、入力画像として、形状を示す情報と、色を示す情報とを個別に受け付ける。より具体的には、入力画像受付部４１は、色を示す情報として、色が付与された領域を示す情報と、領域に付与された色を示す情報とを個別に受け付ける。また、入力画像受付部４１は、入力画像とともに、検索対象となる分野の指定をさらに受け付ける。
【００８９】
クエリ候補画像取得部４２は、受け付けられた入力画像から生成される画像を取得する。例えば、クエリ候補画像取得部４２は、入力画像と類似するように生成された画像をクエリ候補画像として取得する。より具体的には、クエリ候補画像取得部４２は、所定のタイミングで、入力画像受付部４１が受け付けた入力画像を生成サーバ１００へと送信することで、生成サーバ１００が生成処理により入力画像から生成した候補画像を取得する。例えば、クエリ候補画像取得部４２は、所定の条件を満たす入力を受け付ける度に、入力画像を生成サーバ１００へと送信することで、新たな画像を取得する。
【００９０】
ここで、生成サーバ１００は、生成処理を実行することで、入力画像からクエリ候補画像を生成することとなる。このため、クエリ候補画像取得部４２は、入力画像から生成された画像であって、取引対象の画像に類似する画像を取得することとなる。また、クエリ候補画像取得部４２は、複数の生成サーバ１００が生成したクエリ候補画像や、生成サーバ１００がイテレーションの度に生成したクエリ候補画像を取得する。このため、クエリ候補画像取得部４２は、入力画像から生成されるクエリ候補画像であって、それぞれ異なる複数のクエリ候補画像を取得することとなる。
【００９１】
ここで、クエリ候補画像取得部４２は、入力画像からクエリ候補画像を生成する生成サーバ１００であって、入力画像からクエリ候補画像を生成する処理の反復回数がそれぞれ異なる複数の生成サーバ１００のそれぞれに入力画像を送信することで、各生成サーバ１００から、それぞれ異なる複数のクエリ候補画像を順次取得してもよい。また、クエリ候補画像取得部４２は、入力画像から生成された複数のクエリ候補画像のうちいずれかのクエリ候補画像を利用者が選択した場合は、選択されたクエリ候補画像を入力画像として再度生成サーバ１００に送信することで、生成サーバ１００が新たに生成したクエリ候補画像を取得してもよい。
【００９２】
また、クエリ候補画像取得部４２は、検索サーバの検索対象となる画像の特徴を学習したモデルを用いて入力画像から生成されたクエリ候補画像を取得してもよい。例えば、クエリ候補画像取得部４２は、所定の入力から検索サーバ２００の検索対象となる画像と類似する画像を出力するように学習が行われたモデルが入力画像と類似する画像を出力するように、モデルに対する入力を変更することで生成された画像を取得する。例えば、クエリ候補画像取得部４２は、モデルとして、画像の特徴が入力された場合に検索サーバ２００の検索対象となる画像を生成するように学習が行われたモデルを用いて入力画像から生成されたクエリ候補画像を取得してもよい。また、クエリ候補画像取得部４２は、モデルが出力するクエリ候補画像が入力画像に近づくように、制約が適用されたベクトルを入力することで生成された画像を取得してもよい。例えば、クエリ候補画像取得部４２は、モデルとして、ランダムなベクトルから画像を生成するように学習が行われたＧＡＮに対し、入力画像に基づいた制約が適用されたベクトルを入力することで生成されたクエリ候補画像を取得してもよい。
【００９３】
また、クエリ候補画像取得部４２は、形状を示す情報に基づいた条件と色を示す情報に基づいた条件とに基づいて生成されるクエリ候補画像を取得してもよい。また、クエリ候補画像取得部４２は、色を示す情報に基づいた条件として、色が付与された領域を示す情報に基づいた条件と、領域に付与された色を示す情報に基づいた条件とに基づいて生成されるクエリ候補画像を取得してもよい。また、クエリ候補画像取得部４２は、分野ごとに検索サーバ２００の検索対象となる画像の特徴を学習した複数のモデルのうち、利用者から指定を受付けた分野と対応するモデルを用いて入力画像から生成されたクエリ候補画像を取得してもよい。例えば、クエリ候補画像取得部４２は、利用者が指定したカテゴリを、入力画像とともに、生成サーバ１００に送信することで、生成サーバ１００が利用者から指定を受付けた分野と対応するモデルを用いて入力画像から生成したクエリ候補画像を取得してもよい。
【００９４】
また、クエリ候補画像取得部４２は、受付けられた入力画像の履歴に基づいて生成された画像を取得してもよい。例えば、クエリ候補画像取得部４２は、受付けられた入力画像の履歴に基づいて推定された、将来受付けうる入力画像に基づいて生成されたクエリ候補画像を取得してもよい。
【００９５】
表示部４３は、新たなクエリ候補画像を取得する度に、取得したクエリ候補画像を表示する。例えば、表示部４３は、画面上に表示ウインドウＤＡを設け、生成サーバ１００からクエリ候補画像が取得される度に、取得されたクエリ候補画像のうち、最後に取得された画像を表示ウインドウＤＡに表示する。なお、表示部４３は、入力ウインドウＰＡを表示ウインドウＤＡとともに設けることで、利用者が入力した入力画像と共に、取得されたクエリ候補画像を表示してもよい。また、表示部４３は、取得した複数のクエリ候補画像の特徴量の重心を算出し、新たに取得されたクエリ候補画像の特徴量が、クエリ候補画像の重心から所定の範囲内に含まれる場合にのみ、新たに取得されたクエリ候補画像を表示してもよい。
【００９６】
クエリ画像提供部４４は、画像検索を行う検索サーバ２００に対して取得されたクエリ候補画像を提供する。例えば、クエリ画像提供部４４は、電子商店街における取引対象の画像検索を行う検索サーバ２００に対し、クエリ候補画像を提供する。このような場合、表示部４３は、検索サーバ２００による検索結果を表示することとなる。
【００９７】
なお、クエリ画像提供部４４は、利用者から検索の指示を受付けた場合は、表示ウインドウＤＡに表示されていたクエリ候補画像を検索サーバ２００に送信してもよく、取得されたクエリ候補画像のうち、最後に取得されたクエリ候補画像を検索サーバ２００に提供してもよい。また、クエリ画像提供部４４は、それまでに取得されたクエリ候補画像の一覧を利用者に提供し、提供したクエリ候補画像のうち利用者が選択したクエリ候補画像を検索サーバ２００に送信してもよい。
【００９８】
続いて、生成サーバ１００が有する機能構成の一例について説明する。生成サーバ１００は、通信部１２０、記憶部１３０、および制御部１４０を有する。通信部１２０は、例えば、ＮＩＣ等によって実現される。そして、通信部１２０は、ネットワークＮと有線または無線で接続され、端末装置１０や検索サーバ２００との間で情報の送受信を行う。
【００９９】
記憶部１３０は、例えば、ＲＡＭ（Random  Access  Memory)、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部１３０は、学習データデータベース１３１、およびモデルデータベース１３２を記憶する。
【０１００】
学習データデータベース１３１には、モデルの学習に用いるデータ、例えば、電子商店街に登録された取引対象の画像データが登録される。例えば、図５は、実施形態に係る学習データデータベースに登録される情報の一例を示す図である。図５に示す例では、学習データデータベース１３１には、「カテゴリＩＤ」、「取引対象ＩＤ」、および「画像データ」といった情報が登録される。なお、学習データデータベース１３１には、図５に示す情報以外にも、取引対象に関する任意の情報（例えば、価格等）が登録されていてもよい。
【０１０１】
例えば、図５に示す例では、学習データデータベース１３１には、カテゴリＩＤ「カテゴリ＃１」、取引対象ＩＤ「取引対象＃１」、および画像データ「画像＃１」といった情報が登録される。このような情報は、取引対象ＩＤ「取引対象＃１」が示す取引対象が、カテゴリＩＤ「カテゴリ＃１」が示すカテゴリに属する取引対象であり、その取引対象の登録画像が画像データ「画像＃１」である旨を示す。なお、図５に示す例では「カテゴリ＃１」、「取引対象＃１」、「画像＃１」といった概念的な値を記載したが、実際には、カテゴリや取引対象を識別するための数値や文字列、各種様式の画像データ等が学習データデータベース１３１に登録されることとなる。
【０１０２】
図３に戻り、説明を続ける。モデルデータベース１３２には、登録画像の特徴を学習した各種のモデルが登録される。例えば、図６は、実施形態に係るモデルデータベースに登録される情報の一例を示す図である。図６に示す例では、モデルデータベース１３２には、「対応カテゴリ」、および「モデルデータ」といった情報が登録される。なお、モデルデータベース１３２には、図６に示す情報以外にも、モデルに対する任意の情報が登録されていてもよい。ここで、「対応カテゴリ」とは、対応付けられたモデルがどのカテゴリに属する取引対象の登録画像の特徴を学習したモデルであるかを示す情報であり、例えば、カテゴリＩＤである。また、モデルデータとは、モデルの構成や各種パラメータを示すデータである。
【０１０３】
例えば、図６に示す例では、モデルデータベース１３２には、対応カテゴリ「カテゴリ＃１」、およびモデルデータ「モデル＃１」といった情報が登録される。このような情報は、対応カテゴリ「カテゴリ＃１」が示すカテゴリの取引対象の登録画像の特徴を学習したモデルが、モデルデータ「モデル＃１」で示されるモデルである旨を示す。なお、図６に示す例では「モデル＃１」といった概念的な値を記載したが、実際には、各ノード間の接続関係や、ノード間の接続係数（すなわち、重み係数）を示す情報がモデルデータベース１３２に登録される。
【０１０４】
ここで、モデルがＧＡＮやＤＮＮ等のニューラルネットワーク、若しくはＳＶＭ等といった単純パーセプトロンと同価のモデルである場合、モデルデータベース１３２には、モデルに入力される情報である入力情報が入力される入力層と、入力層に入力された入力情報に対して所定の処理を順次行う複数の中間層と、複数の中間層のうち最後に処理を行う終端中間層の出力に基づいて、入力情報に対応する出力情報を生成する出力層とを有するモデルのデータが登録されている。より具体的には、モデルデータベース１３２には、各ノードの接続関係や、ノード間の接続係数を示すデータが登録される。
【０１０５】
ここで、モデルは、入力層から出力層までのいずれかの層であって出力層以外の層に属する第１要素と、第１要素と第１要素の重みとに基づいて値が算出される第２要素と、を含み、入力層に入力された情報に対し、出力層以外の各層に属する各要素を第１要素として、第１要素と第１要素の重みとに基づく演算を行うことにより、入力層に入力された情報と対応する情報を出力層から出力するようコンピュータを機能させる。なお、モデルは、人工知能ソフトウェアの一部であるプログラムモジュールとしての利用が想定されるものであってもよい。
【０１０６】
このようなモデルは、入力層に手書き画像等の入力画像に基づく情報が入力された場合に、出力層から、入力画像が示す取引対象の特徴と類似若しくは共通する特徴を有する取引対象の画像であって、入力画像よりも詳細に取引対象の特徴を示すクエリ候補画像を出力するようコンピュータを機能させる。例えば、モデルは、ＣＰＵ及びメモリを備えるコンピュータにて用いられる。具体的には、コンピュータのＣＰＵが、メモリに記憶された学習済モデルからの指令に従って、モデルの入力層に入力された情報に対して、ニューラルネットワークにおける学習済みの重みづけ係数と応答関数等に基づく演算を行い、出力層から、入力画像が示す取引対象の特徴と類似若しくは共通する特徴を有する取引対象の画像であって、入力画像よりも詳細に取引対象の特徴を示すクエリ候補画像を出力するよう動作する。
【０１０７】
ここで、モデルがＧＡＮにより実現される場合、モデルデータベース１３２に登録されるモデルは、ランダムベクトルから対応する取引対象の登録画像を生成するように学習が行われたジェネレータ（すなわち、生成器）を有し、入力画像に基づく制約が適用されたランダムベクトルが入力された場合に、出力層からクエリ候補画像を出力するようコンピュータを機能させる。例えば、モデルは、ジェネレータの出力層が前回出力したクエリ候補画像が、入力画像に近づくように、制約が適用されたランダムベクトルをジェネレータの入力層に入力することで、新たなクエリ候補画像を生成する処理を繰り返し実行するようコンピュータを機能させる。
【０１０８】
ここで、モデルをＤＮＮ等、１つまたは複数の中間層を有するニューラルネットワークで実現される場合、各モデルが含む第１要素とは、入力層または中間層が有するいずれかのノードと見做すことができ、第２要素とは、第１要素と対応するノードから値が伝達されるノード、すなわち、次段のノードと対応し、第１要素の重みとは、第１要素と対応するノードから第２要素と対応するノードに伝達される値に対して考慮される重み、すなわち、接続係数である。
【０１０９】
ここで、端末装置１０は、学習データデータベース１３１に登録される学習データを用いて、入力画像からクエリ候補画像を生成するモデルを生成する。すなわち、学習データデータベース１３１に登録される学習データは、入力情報が入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第１要素と、第１要素と第１要素の重みとに基づいて値が算出される第２要素と、を含み、取引対象の登録画像の特徴を反映させた重みに基づく演算を行うことにより、入力層に手書き画像等の入力画像に基づく情報が入力された場合に、出力層から、入力画像が示す取引対象の特徴と類似若しくは共通する特徴を有する取引対象の画像であって、入力画像よりも詳細に取引対象の特徴を示すクエリ候補画像を出力するようコンピュータを機能させるためのデータである。
【０１１０】
図３に戻り、説明を続ける。制御部１４０は、コントローラであり、例えば、ＣＰＵ、ＭＰＵ等のプロセッサによって、生成サーバ１００内部の記憶装置に記憶されている各種プログラムがＲＡＭ等を作業領域として実行されることにより実現される。また、制御部１４０は、コントローラであり、例えば、ＡＳＩＣやＦＰＧＡ等の集積回路により実現されてもよい。
【０１１１】
また、制御部１４０は、記憶部１３０に記憶されるモデルに従った情報処理により、クエリ候補画像を生成する処理を実行する。例えば、制御部１４０は、入力画像に基づく制約が適用された情報をモデルに入力し、モデルが出力するクエリ候補画像が入力画像に近づくように修正された制約が適用された情報を再度モデルに入力する処理を繰り返し実行することで、クエリ候補画像をモデルから出力させる処理を実行する。
【０１１２】
図３に示すように、制御部１４０は、処理画像受付部１４１、生成部１４２、クエリ候補画像提供部１４３、および学習部１４４を有する。処理画像受付部１４１は、利用者が入力した画像である入力画像を受け付ける。例えば、処理画像受付部１４１は、端末装置１０がタッチパネル５０等を介して利用者から入力を受付けた入力画像を受け付ける。
【０１１３】
生成部１４２は、受け付けられた入力画像から生成される画像であって、画像検索を行う検索サーバ２００に対して検索クエリとして提供される画像、すなわち、クエリ候補画像を生成する。例えば、生成部１４２は、端末装置１０から入力画像と、利用者が指定したカテゴリとを受け付けると、モデルデータベース１３２を参照し、指定されたカテゴリと対応するモデルを読み出す。そして、生成部１４２は、読み出したモデルを用いて、入力画像からクエリ候補画像を生成する生成処理を実行する。
【０１１４】
例えば、生成部１４２は、モデルに対して入力画像に基づく制約が適用された情報を入力し、モデルにクエリ候補画像を出力させる。そして、生成部１４２は、出力されたクエリ候補画像が、入力画像により近づくように、モデルに対して入力する情報に新たな制約を適用し、モデルに新たなクエリ候補画像を出力させる。このような処理を繰り返し実行することで、生成部１４２は、入力画像からクエリ候補画像の生成を行う。
【０１１５】
なお、各生成サーバ１００は、それぞれ異なる回数だけ、クエリ候補画像を生成する際の繰り返し処理を実行してもよい。また、生成部１４２は、検索サーバ２００の検索対象となる画像の特徴を学習したモデルを用いて入力画像からクエリ候補画像を生成してもよい。また、生成部１４２は、画像の特徴が入力された場合に検索サーバ２００の検索対象となる画像を生成するように学習が行われたモデルを用いて入力画像からクエリ候補画像を生成してもよい。また、生成部１４２は、モデルとして、ランダムなベクトルから画像を生成するように学習が行われたＧＡＮに対し、入力画像に基づいた制約が適用されたベクトルを入力することでクエリ候補画像を生成してもよい。また、生成部１４２は、モデルが出力する画像が入力画像に近づくように、制約が適用されたベクトルを入力することでクエリ候補画像を繰り返し生成してもよい。
【０１１６】
また、生成部１４２は、入力画像として、形状を示す情報と、前記色を示す情報とを個別に受け付けた場合、形状を示す情報に基づいた条件と色を示す情報に基づいた条件とを個別に用いて、クエリ候補画像を生成してもよい。例えば、生成部１４２は、モデルが生成したクエリ候補画像に含まれる像の形状が、入力画像として受付けた情報が示す形状に近くなり、かつ、クエリ候補画像に含まれる像の色や色が付された領域が、入力画像として受付けた情報が示す色に近くなるように、モデルに入力するベクトルを修正してもよい。
【０１１７】
また、生成部１４２は、色を示す情報として、色が付与された領域を示す情報と、当該領域に付与された色を示す情報とを個別に受け付けた場合、色を示す情報に基づいた条件として、色が付与された領域を示す情報に基づいた条件と、領域に付与された色を示す情報に基づいた条件とに基づいて、クエリ候補画像の生成を行ってもよい。すなわち、生成部１４２は、上述した各種の生成処理により、入力画像から、クエリ候補画像の生成を行う。
【０１１８】
なお、生成部１４２は、推定画像の生成や、推定画像を用いたクエリ候補画像の生成を行ってもよい。例えば、生成部１４２は手書き画像の履歴に基づいて、推定画像の推定をう。そして、生成部１４２は、推定画像をモデルに入力することで、利用者が将来入力すると推定される推定画像に基づいたクエリ候補画像の生成を行ってもよい。
【０１１９】
クエリ候補画像提供部１４３は、生成された画像を提供する。例えばクエリ候補画像提供部１４３は、生成部１４２がクエリ候補画像を生成する度に、生成されたクエリ候補画像を端末装置１０へと送信する。なお、クエリ候補画像提供部１４３は、生成された各クエリ候補画像の特徴量を算出し、算出した各特徴量の重心を求めるとともに、新たに生成されたクエリ候補画像の特徴量が重心から所定の範囲内に含まれる場合にのみ、新たに生成されたクエリ候補画像を端末装置１０へと提供してもよい。また、クエリ候補画像提供部１４３は、生成部１４２が所定の回数だけイテレーションを実行した場合に、最後に生成されたクエリ候補画像のみを提供してもよく、例えば、生成部１４２が生成したクエリ候補画像のうち、特徴量が重心に最も近いクエリ候補画像のみを提供してもよい。また、クエリ候補画像提供部１４３は、生成したクエリ候補画像を直接検索サーバ２００へと提供してもよい。
【０１２０】
学習部１４４は、モデルの学習を行う。例えば、学習部１４４は、電子商店街における取引対象の登録画像を、取引対象が属するカテゴリごとに収集し、モデルに対して、登録画像が有する特徴をカテゴリごとに学習させる。
【０１２１】
例えば、学習部１４４は、学習データデータベース１３１を参照し、所定のカテゴリに属する取引対象の登録画像を読み出す。続いて、学習部１４４は、ジェネレータとディスクリミネイタとを有するＧＡＮを所定のカテゴリと対応するモデルとして生成する。また、学習部１４４は、生成したモデルのジェネレータにランダムベクトルを入力した際にジェネレータが生成する画像と、読み出した登録画像とに異なるラベルを付与するようにディスクリミネイタの学習を行い、ランダムベクトルが入力された際に生成する画像と、読み出した登録画像とにディスクリミネイタが同じラベルを付与するようにジェネレータの学習を行う。そして、学習部１４４は、生成したモデルをモデルデータベース１３２に登録する。このような学習処理により学習が行われたモデルは、取引対象の登録画像が有する特徴がノード間の重みづけ係数に反映されることとなる。
【０１２２】
〔３．処理フロー〕
次に、図７、図８を用いて、端末装置１０および生成サーバ１００が実行する提供処理および生成処理の手順の一例について説明する。図７は、実施形態に係る端末装置が実行する処理の流れの一例を示すフローチャートである。また、図８は、実施形態に係る生成サーバが実行する処理の流れの一例を示すフローチャートである。
【０１２３】
まず、図７を用いて、端末装置１０が実行する処理の流れの一例を説明する。まず、端末装置１０は、利用者からカテゴリの指定と、入力画像とを受け付ける（ステップＳ１０１）。このような場合、端末装置１０は、入力画像を複数の生成サーバ１００に送信し、入力画像を制約条件として制約付きＧＡＮが生成した画像をクエリ候補画像として取得する（ステップＳ１０２）。そして、端末装置１０は、取得したクエリ画像候補を表示する（ステップＳ１０３）。
【０１２４】
ここで、端末装置１０は、検索指示を受付けたか否かを判定し（ステップＳ１０４）、受付けていない場合は（ステップＳ１０４：Ｎｏ）、ステップＳ１０２を実行する。一方、端末装置１０は、検索指示を受付けた場合は（ステップＳ１０４：Ｙｅｓ）、指定されたクエリ画像候補、あるいは、最後に取得したクエリ画像候補を検索サーバ２００に提供する（ステップＳ１０５）。そして、端末装置１０は、検索結果を表示し（ステップＳ１０６）、処理を終了する。
【０１２５】
続いて、図８を用いて、生成サーバ１００が実行する処理の流れの一例を説明する。まず、生成サーバ１００は、入力画像と指定されたカテゴリとを受け付ける（ステップＳ２０１）。このような場合、生成サーバ１００は、モデルのうち、指定されたカテゴリと対応するモデルを選択する（ステップＳ２０２）。そして、生成サーバ１００は、選択したモデルを用いて、ランダムベクトルから画像を生成し（ステップＳ２０３）、生成した画像が入力画像に近づくように、ランダムベクトルに対して制約を適用し、新たな画像を生成する（ステップＳ２０４）。ここで、生成サーバ１００は、ステップＳ２０４の処理を所定回数行った否かを判定し（ステップＳ２０５）、行っていない場合は（ステップＳ２０５：Ｎｏ）、ステップＳ２０４を再度実行する。
【０１２６】
一方、生成サーバ１００は、処理を所定回数行った場合は（ステップＳ２０５：Ｙｅｓ）、生成した画像をクエリ候補画像として提供し（ステップＳ２０６）、処理を終了する。なお、例えば、生成サーバ１００は、ステップＳ２０４の次にステップＳ２０６を実行し、その後、ステップＳ２０５の処理を実行してもよい。
【０１２７】
〔４．変形例〕
上記では、端末装置１０および生成サーバ１００による提供処理および生成処理の一例について説明した。しかしながら、実施形態は、これに限定されるものではない。以下、端末装置１０および生成サーバ１００による提供処理および生成処理のバリエーションについて説明する。
【０１２８】
〔４−１．装置構成〕
端末装置１０は、任意の数の生成サーバ１００と通信可能に接続されていてもよい。また、生成サーバ１００が実行する生成処理は、端末装置１０により実現されてもよい。また、端末装置１０により実行させる提供処理は、生成サーバ１００により実現されてもよい。例えば、端末装置１０は、図３に示す入力画像受付部４１のみを有し、クエリ候補画像取得部４２やクエリ画像提供部４４は、生成サーバ１００が有していてもよい。また、記憶部１３０に登録された各種の情報は、生成サーバ１００外部のストレージサーバにより管理されるものであってもよい。
【０１２９】
〔４−２．その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【０１３０】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【０１３１】
また、上記してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【０１３２】
〔５．プログラム〕
また、上述した実施形態に係る端末装置１０および生成サーバ１００は、例えば図９に示すような構成のコンピュータ１０００によって実現される。図９は、ハードウェア構成の一例を示す図である。コンピュータ１０００は、出力装置１０１０、入力装置１０２０と接続され、演算装置１０３０、一次記憶装置１０４０、二次記憶装置１０５０、出力ＩＦ（Interface）１０６０、入力ＩＦ１０７０、ネットワークＩＦ１０８０がバス１０９０により接続された形態を有する。
【０１３３】
演算装置１０３０は、一次記憶装置１０４０や二次記憶装置１０５０に格納されたプログラムや入力装置１０２０から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置１０４０は、ＲＡＭ等、演算装置１０３０が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置１０５０は、演算装置１０３０が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ＲＯＭ(Read  Only  Memory)、ＨＤＤ（Hard  Disk  Drive）、フラッシュメモリ等により実現される。
【０１３４】
出力ＩＦ１０６０は、モニタやプリンタといった各種の情報を出力する出力装置１０１０に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、ＵＳＢ（Universal  Serial  Bus）やＤＶＩ（Digital  Visual  Interface）、ＨＤＭＩ（登録商標）（High  Definition  Multimedia  Interface）といった規格のコネクタにより実現される。また、入力ＩＦ１０７０は、マウス、キーボード、およびスキャナ等といった各種の入力装置１０２０から情報を受信するためのインタフェースであり、例えば、ＵＳＢ等により実現される。
【０１３５】
なお、入力装置１０２０は、例えば、ＣＤ（Compact  Disc）、ＤＶＤ（Digital  Versatile  Disc）、ＰＤ（Phase  change  rewritable  Disk）等の光学記録媒体、ＭＯ（Magneto-Optical  disk）等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置１０２０は、ＵＳＢメモリ等の外付け記憶媒体であってもよい。
【０１３６】
ネットワークＩＦ１０８０は、ネットワークＮを介して他の機器からデータを受信して演算装置１０３０へ送り、また、ネットワークＮを介して演算装置１０３０が生成したデータを他の機器へ送信する。
【０１３７】
演算装置１０３０は、出力ＩＦ１０６０や入力ＩＦ１０７０を介して、出力装置１０１０や入力装置１０２０の制御を行う。例えば、演算装置１０３０は、入力装置１０２０や二次記憶装置１０５０からプログラムを一次記憶装置１０４０上にロードし、ロードしたプログラムを実行する。
【０１３８】
例えば、コンピュータ１０００が端末装置１０として機能する場合、コンピュータ１０００の演算装置１０３０は、一次記憶装置１０４０上にロードされたプログラムまたはデータ（例えば、モデル）を実行することにより、制御部４０の機能を実現する。また、コンピュータ１０００が生成サーバ１００として機能する場合、コンピュータ１０００の演算装置１０３０は、一次記憶装置１０４０上にロードされたプログラムまたはデータ（例えば、モデル）を実行することにより、制御部１４０の機能を実現する。コンピュータ１０００の演算装置１０３０は、これらのプログラムまたはデータ（例えば、モデル）を一次記憶装置１０４０から読み取って実行するが、他の例として、他の装置からネットワークＮを介してこれらのプログラムを取得してもよい。
【０１３９】
〔６．効果〕
上述したように、端末装置１０は、利用者が入力した画像である入力画像を受け付けると、受け付けられた入力画像から生成されるクエリ候補画像を取得し、画像検索を行う検索サーバ２００に対して取得されたクエリ候補画像を提供する。例えば、端末装置１０は、入力画像から生成された画像であって、入力画像と類似するように生成された画像をクエリ候補画像として取得する。より具体的な例を挙げると、端末装置１０は、取引対象の画像に類似するクエリ候補画像を取得し、検索サーバ２００にクエリ候補画像を提供する。このように、端末装置１０は、入力画像そのものをクエリ画像とするのではなく、入力画像から生成されたクエリ候補画像をクエリ画像とするので、より精度の高い検索を実現できる結果、利用者が所望する検索を容易にすることができる。
【０１４０】
また、端末装置１０は、入力画像から生成されるクエリ候補画像であって、それぞれ異なる複数のクエリ候補画像を取得する。このため、端末装置１０は、複数のクエリ候補画像から利用者が所望する取引対象を示すクエリ候補画像の選択を受け付けることができる。
【０１４１】
また、端末装置１０は、入力画像からクエリ候補画像を生成する生成サーバ１００であって、入力画像からクエリ候補画像を生成する処理の反復回数がそれぞれ異なる複数の生成サーバ１００から、複数の画像を順次取得する。このため、端末装置１０は、徐々に精度が向上する複数のクエリ候補画像を順番に取得するので、クエリ候補画像を生成する際の待ち時間にともなう利用者の心理的な負担を軽減することができる。
【０１４２】
また、端末装置１０は、取得した複数のクエリ候補画像のうち、最後に取得されたクエリ候補画像を検索サーバ２００に対して提供する。このため、端末装置１０は、利用者が所望する取引対象の特徴を最も適切に表していると推定されるクエリ候補画像を、検索サーバ２００に提供することができるので、利用者が所望する検索を精度よく行うことができる。
【０１４３】
また、端末装置１０は、新たなクエリ候補画像を取得する度に、取得したクエリ候補画像を表示する。また、端末装置１０は、表示されたクエリ候補画像のうち、利用者によって選択されたクエリ候補画像を検索サーバ２００に提供する。もしくは、端末装置１０は、取得されたクエリ候補画像のうち、最後に取得されたクエリ候補画像を表示する。また、端末装置１０は、利用者から検索の指示を受付けた際に表示されていたクエリ候補画像を検索サーバ２００に提供する。また、端末装置１０は、利用者が入力した入力画像と共に、取得されたクエリ候補画像を表示する。このため、端末装置１０は、利用者に対してクエリ候補画像を提供し、利用者が選択したクエリ候補画像をクエリ画像とするので、利用者が所望する検索を精度よく行うことができる。
【０１４４】
また、端末装置１０は、複数のクエリ候補画像のうち、特徴量が、その複数の画像の特徴量空間における重心から所定の範囲内に含まれるクエリ候補画像を表示する。このため、端末装置１０は、明らかに誤りと推定されるクエリ候補画像の表示やクエリ画像としての採用を防ぐことができる。
【０１４５】
また、端末装置１０は、所定の条件を満たす入力を受け付ける度に、新たなクエリ候補画像を取得する。このため、端末装置１０は、利用者に対し、現在の入力に対するクエリ候補画像を示唆することができる。
【０１４６】
また、端末装置１０は、入力画像から生成された複数のクエリ候補画像のうちいずれかのクエリ候補画像を利用者が選択した場合は、選択されたクエリ候補画像から新たに生成されるクエリ候補画像を取得する。このため、端末装置１０は、より精度の高いクエリ候補画像を利用者に提供できる。
【０１４７】
また、端末装置１０は、検索サーバ２００の検索対象となる画像の特徴を学習したモデルを用いて入力画像から生成されたクエリ候補画像を取得する。例えば、端末装置１０は、所定の入力から検索サーバ２００の検索対象となる画像と類似する画像を出力するように学習が行われたモデルが入力画像と類似する画像を出力するように、モデルに対する入力を変更することで生成された画像を取得する。また、端末装置１０は、モデルとして、画像の特徴が入力された場合に検索サーバ２００の検索対象となる画像を生成するように学習が行われたモデルを用いて入力画像から生成されクエリ候補た画像を取得する。また、端末装置１０は、モデルとして、ランダムなベクトルから画像を生成するように学習が行われたＧＡＮに対し、入力画像に基づいた制約が適用されたベクトルを入力することで生成されたクエリ候補画像を取得する。また、端末装置１０は、モデルが出力する画像が入力画像に近づくように、制約が適用されたベクトルを入力することで生成されたクエリ候補画像を取得する。このため、端末装置１０は、入力画像よりも検索精度の向上が可能なクエリ候補を提供することができる。
【０１４８】
また、端末装置１０は、入力画像として、形状を示す情報と、色を示す情報とを個別に受け付け、形状を示す情報に基づいた条件と色を示す情報に基づいた条件とに基づいて生成されるクエリ候補画像を取得する。また、端末装置１０は、色を示す情報として、色が付与された領域を示す情報と、その領域に付与された色を示す情報とを個別に受け付け、色を示す情報に基づいた条件として、色が付与された領域を示す情報に基づいた条件と、その領域に付与された色を示す情報に基づいた条件とに基づいて生成されるクエリ候補画像を取得する。このため、端末装置１０は、入力情報が示す取引対象の特徴を適切に示すクエリ候補画像を取得することができる。
【０１４９】
また、端末装置１０は、検索対象となる分野の指定をさらに受付け、分野ごとに検索サーバ２００の検索対象となる画像の特徴を学習した複数のモデルのうち、指定を受付けた分野と対応するモデルを用いて入力画像から生成されたクエリ候補画像を取得する。このため、端末装置１０は、クエリ候補画像の精度をさらに向上させることができる。
【０１５０】
また、端末装置１０は、受付けられた入力画像の履歴に基づいて生成された画像を取得する。例えば、端末装置１０は、受付けられた入力画像の履歴に基づいて推定された、将来受付けうる入力画像に基づいて生成されたクエリ候補画像を取得する。この結果、例えば、端末装置１０は、利用者が鞄の持ち手を描いたと推定される場合に、そのような持ち手から推定された鞄の画像を入力画像として用いたクエリ候補画像を取得するので、利用者による画像検索をより容易にすることができる。
【０１５１】
また、生成サーバ１００は、利用者が入力した画像である入力画像を受付け、受け付けられた入力画像から生成されるクエリ候補画像であって、画像検索を行う検索サーバ２００に対して検索クエリとして提供される画像を生成し、生成されたクエリ候補画像を提供する。このため、生成サーバ１００は、利用者が所望する検索を容易にすることができる。
【０１５２】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【０１５３】
また、上記してきた「部（section、module、unit）」は、「手段」や「回路」などに読み替えることができる。例えば、生成部は、配信手段や配信回路に読み替えることができる。
【符号の説明】
【０１５４】
１０  端末装置
２０  通信部
３０  記憶部
３１  クエリ候補画像データベース
４０  制御部
４１  入力画像受付部
４２  クエリ候補画像取得部
４３  表示部
４４  クエリ画像提供部
５０  タッチパネル
１００  生成サーバ
１２０  通信部
１３０  記憶部
１３１  学習データデータベース
１３２  モデルデータベース
１４０  制御部
１４１  処理画像受付部
１４２  生成部
１４３  クエリ候補画像提供部
１４４  学習部
２００  検索サーバ
【図１】
2019106099.tif 000005
【図２】
2019106099.tif 000006
【図３】
2019106099.tif 000007
【図４】
2019106099.tif 000008
【図５】
2019106099.tif 000009
【図６】
2019106099.tif 000010
【図７】
2019106099.tif 000011
【図８】
2019106099.tif 000012
【図９】
2019106099.tif 000013
【手続補正書】
【提出日】平成30年7月17日(2018.7.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
利用者が入力した画像である入力画像を受け付ける受付手順と、
所定のモデルを用いて前記入力画像から新たな画像を生成するサーバ装置に対して前記受付手順により受け付けられた入力画像を送信し、当該サーバ装置が当該入力画像から生成した画像を取得する取得手順と、
画像検索を行う検索サーバに対して前記取得手順により取得された画像を提供する提供手順と
をコンピュータに実行させるための提供プログラム。
【請求項２】
利用者が入力した画像である入力画像を受け付ける受付手順と、
入力画像に基づく制約が適用された情報を所定のモデルに入力した際に当該所定のモデルが出力した画像が前記入力画像に近づくように新たな制約を適用した情報を当該所定のモデルに入力する処理を反復実行するサーバ装置であって、当該処理の反復回数がそれぞれ異なる複数のサーバ装置に対して、前記受付手順により受付けられた入力画像を送信し、各サーバ装置が前記処理を反復実行した結果前記所定のモデルが出力した画像を、各サーバ装置が前記処理の反復実行を完了した順に取得する取得手順と、
画像検索を行う検索サーバに対して前記取得手順により取得された画像を提供する提供手順と
をコンピュータに実行させるための提供プログラム。 
【請求項３】
前記提供手順は、前記取得手順が取得した複数の画像のうち、最後に取得された画像を前記検索サーバに対して提供する
ことを特徴とする請求項２に記載の提供プログラム。 
【請求項４】
利用者が入力した画像である入力画像を受け付ける受付手順と、
前記受付手順により受け付けられた入力画像から生成される画像であって、画像検索を行う検索サーバの検索対象となる画像の特徴を学習したモデルを用いて前記入力画像から生成された画像を取得する取得手順と、
前記検索サーバに対して前記取得手順により取得された画像を提供する提供手順と
をコンピュータに実行させるための提供プログラム。 
【請求項５】
前記取得手順は、所定の入力から前記検索サーバの検索対象となる画像と類似する画像を出力するように学習が行われたモデルが前記入力画像と類似する画像を出力するように、当該モデルに対する入力を変更することで生成された画像を取得する
ことを特徴とする請求項１〜４のうちいずれか１つに記載の提供プログラム。
【請求項６】
前記取得手順は、前記モデルとして、画像の特徴が入力された場合に前記検索サーバの検索対象となる画像を生成するように学習が行われたモデルを用いて前記入力画像から生成された画像を取得する
ことを特徴とする請求項１〜５のうちいずれか１つに記載の提供プログラム。
【請求項７】
前記取得手順は、前記モデルとして、ランダムなベクトルから画像を生成するように学習が行われたＧＡＮ（Generative  Adversarial  Network）に対し、前記入力画像に基づいた制約が適用されたベクトルを入力することで生成された画像を取得する
ことを特徴とする請求項１〜６のうちいずれか１つに記載の提供プログラム。
【請求項８】
前記取得手順は、前記モデルが出力する画像が前記入力画像に近づくように、制約が適用されたベクトルを入力することで生成された画像を取得する
ことを特徴とする請求項７に記載の提供プログラム。 
【請求項９】
前記取得手順は、前記入力画像から生成された画像であって、前記入力画像と類似するように生成された画像を取得し、
前記提供手順は、取引対象の画像検索を行う前記検索サーバに前記画像を提供する
ことを特徴とする請求項１〜８のうちいずれか１つに記載の提供プログラム。
【請求項１０】
前記取得手順は、前記入力画像から生成される画像であって、それぞれ異なる複数の画像を取得する
ことを特徴とする請求項１〜９のうちいずれか１つに記載の提供プログラム。
【請求項１１】
前記取得手順が新たな画像を取得する度に、取得した画像を表示する表示手順
をコンピュータに実行させることを特徴とする請求項１〜１０のうちいずれか１つに記載の提供プログラム。 
【請求項１２】
前記提供手順は、前記表示手順により表示された画像のうち、前記利用者によって選択された画像を前記検索サーバに提供する
ことを特徴とする請求項１１に記載の提供プログラム。 
【請求項１３】
前記表示手順は、前記取得手順により取得された画像のうち、最後に取得された画像を表示する
ことを特徴とする請求項１１に記載の提供プログラム。 
【請求項１４】
前記提供手順は、前記利用者から検索の指示を受付けた際に前記表示手順により表示されていた画像を前記検索サーバに提供する
ことを特徴とする請求項１３に記載の提供プログラム。 
【請求項１５】
前記表示手順は、前記利用者が入力した画像と共に、前記取得手順により取得された画像を表示する
ことを特徴とする請求項１１〜１４のうちいずれか１つに記載の提供プログラム。 
【請求項１６】
前記表示手順は、前記取得手順が取得した複数の画像のうち、特徴量が、当該複数の画像の特徴量空間における重心から所定の範囲内に含まれる画像を表示する
ことを特徴とする請求項１１〜１５のうちいずれか１つに記載の提供プログラム。 
【請求項１７】
前記取得手順は、前記受付手順が所定の条件を満たす入力を受け付ける度に、新たな画像を取得する
ことを特徴とする請求項１〜１６のうちいずれか１つに記載の提供プログラム。 
【請求項１８】
前記取得手順は、前記入力画像から生成された複数の画像のうちいずれかの画像を利用者が選択した場合は、選択された画像から新たに生成される画像を取得する
ことを特徴とする請求項１〜１７のうちいずれか１つに記載の提供プログラム。 
【請求項１９】
前記受付手順は、前記入力画像として、形状を示す情報と、色を示す情報とを個別に受け付け、
前記取得手順は、前記形状を示す情報に基づいた条件と前記色を示す情報に基づいた条件とに基づいて生成される画像を取得する
ことを特徴とする請求項１〜１８のうちいずれか１つに記載の提供プログラム。 
【請求項２０】
前記受付手順は、前記色を示す情報として、色が付与された領域を示す情報と、当該領域に付与された色を示す情報とを個別に受け付け
前記取得手順は、前記色を示す情報に基づいた条件として、色が付与された領域を示す情報に基づいた条件と、当該領域に付与された色を示す情報に基づいた条件とに基づいて生成される画像を取得する
ことを特徴とする請求項１９に記載の提供プログラム。 
【請求項２１】
前記受付手順は、検索対象となる分野の指定をさらに受付け、
前記取得手順は、前記分野ごとに前記検索サーバの検索対象となる画像の特徴を学習した複数のモデルのうち、前記受付手順により指定を受付けた分野と対応するモデルを用いて前記入力画像から生成された画像を取得する
ことを特徴とする請求項１〜２０のうちいずれか１つに記載の提供プログラム。 
【請求項２２】
前記取得手順は、前記受付手順により受付けられた入力画像の履歴に基づいて生成された画像を取得する
ことを特徴とする請求項１〜２１のうちいずれか１つに記載の提供プログラム。 
【請求項２３】
前記取得手順は、前記受付手順により受付けられた入力画像の履歴に基づいて推定された、前記受付手順が将来受付けうる入力画像に基づいて生成された画像を取得する
ことを特徴とする請求項２２に記載の提供プログラム。 
【請求項２４】
利用者が入力した画像である入力画像を受け付ける受付部と、
所定のモデルを用いて前記入力画像から新たな画像を生成するサーバ装置に対して前記受付部により受け付けられた入力画像を送信し、当該サーバ装置が当該入力画像から生成した画像を取得する取得部と、
画像検索を行う検索サーバに対して前記取得部により取得された画像を提供する提供部と
を有することを特徴とする提供装置。 
【請求項２５】
提供装置が実行する提供方法であって、
利用者が入力した画像である入力画像を受け付ける受付工程と、
所定のモデルを用いて前記入力画像から新たな画像を生成するサーバ装置に対して前記受付工程により受け付けられた入力画像を送信し、当該サーバ装置が当該入力画像から生成した画像を取得する取得工程と、
画像検索を行う検索サーバに対して前記取得工程により取得された画像を提供する提供工程と
を含むことを特徴とする提供方法。
【請求項２６】
利用者が入力した画像である入力画像を受け付ける受付部と、
入力画像に基づく制約が適用された情報を所定のモデルに入力した際に当該所定のモデルが出力した画像が前記入力画像に近づくように新たな制約を適用した情報を当該所定のモデルに入力する処理を反復実行するサーバ装置であって、当該処理の反復回数がそれぞれ異なる複数のサーバ装置に対して、前記受付部により受付けられた入力画像を送信し、各サーバ装置が前記処理を反復実行した結果前記所定のモデルが出力した画像を、各サーバ装置が前記処理の反復実行を完了した順に取得する取得部と、
画像検索を行う検索サーバに対して前記取得部により取得された画像を提供する提供部と
を有することを特徴とする提供装置。 
【請求項２７】
利用者が入力した画像である入力画像を受け付ける受付工程と、
入力画像に基づく制約が適用された情報を所定のモデルに入力した際に当該所定のモデルが出力した画像が前記入力画像に近づくように新たな制約を適用した情報を当該所定のモデルに入力する処理を反復実行するサーバ装置であって、当該処理の反復回数がそれぞれ異なる複数のサーバ装置に対して、前記受付工程により受付けられた入力画像を送信し、各サーバ装置が前記処理を反復実行した結果前記所定のモデルが出力した画像を、各サーバ装置が前記処理の反復実行を完了した順に取得する取得工程と、
画像検索を行う検索サーバに対して前記取得工程により取得された画像を提供する提供工程と
を含むことを特徴とする提供方法。
【請求項２８】
利用者が入力した画像である入力画像を受け付ける受付部と、
前記受付部により受け付けられた入力画像から生成される画像であって、画像検索を行う検索サーバの検索対象となる画像の特徴を学習したモデルを用いて前記入力画像から生成された画像を取得する取得部と、
前記検索サーバに対して前記取得部により取得された画像を提供する提供部と
を有することを特徴とする提供装置。 
【請求項２９】
利用者が入力した画像である入力画像を受け付ける受付工程と、
前記受付工程により受け付けられた入力画像から生成される画像であって、画像検索を行う検索サーバの検索対象となる画像の特徴を学習したモデルを用いて前記入力画像から生成された画像を取得する取得工程と、
前記検索サーバに対して前記取得工程により取得された画像を提供する提供工程と
を含むことを特徴とする提供方法。
【請求項３０】
利用者が入力した画像である入力画像を受け付ける受付部と、
入力された画像から新たな画像を生成する所定のモデルを用いて、前記受付部により受け付けられた入力画像から生成される画像であって、画像検索を行う検索サーバに対して検索クエリとして提供される画像を生成する生成部と、
前記生成部により生成された画像を提供する提供部と
を有することを特徴とする提供装置。 
【請求項３１】
提供装置が実行する提供方法であって、
利用者が入力した画像である入力画像を受け付ける受付工程と、
入力された画像から新たな画像を生成する所定のモデルを用いて、前記受付工程により受け付けられた入力画像から生成される画像であって、画像検索を行う検索サーバに対して検索クエリとして提供される画像を生成する生成工程と、
前記生成工程により生成された画像を提供する提供工程と
を含むことを特徴とする提供方法。 
【請求項３２】
利用者が入力した画像である入力画像を受け付ける受付手順と、
入力された画像から新たな画像を生成する所定のモデルを用いて、前記受付手順により受け付けられた入力画像から生成される画像であって、画像検索を行う検索サーバに対して検索クエリとして提供される画像を生成する生成手順と、
前記生成手順により生成された画像を提供する提供手順と
をコンピュータに実行させるための提供プログラム。
【請求項３３】
利用者が入力した画像である入力画像を受け付ける受付部と、
入力画像に基づく制約が適用された情報を所定のモデルに入力し、当該所定のモデルが出力した画像が前記入力画像に近づくように新たな制約を適用した情報を当該所定のモデルに再度入力する処理を反復実行することで、前記受付部により受け付けられた入力画像から生成される画像であって、画像検索を行う検索サーバに対して検索クエリとして提供される画像を生成する生成部と、
前記生成部により生成された画像を提供する提供部と
を有することを特徴とする提供装置。
【請求項３４】
利用者が入力した画像である入力画像を受け付ける受付工程と、
入力画像に基づく制約が適用された情報を所定のモデルに入力し、当該所定のモデルが出力した画像が前記入力画像に近づくように新たな制約を適用した情報を当該所定のモデルに再度入力する処理を反復実行することで、前記受付工程により受け付けられた入力画像から生成される画像であって、画像検索を行う検索サーバに対して検索クエリとして提供される画像を生成する生成工程と、
前記生成工程により生成された画像を提供する提供工程と
を含むことを特徴とする提供方法。
【請求項３５】
利用者が入力した画像である入力画像を受け付ける受付手順と、
入力画像に基づく制約が適用された情報を所定のモデルに入力し、当該所定のモデルが出力した画像が前記入力画像に近づくように新たな制約を適用した情報を当該所定のモデルに再度入力する処理を反復実行することで、前記受付手順により受け付けられた入力画像から生成される画像であって、画像検索を行う検索サーバに対して検索クエリとして提供される画像を生成する生成手順と、
前記生成手順により生成された画像を提供する提供手順と
をコンピュータに実行させるための提供プログラム。
【請求項３６】
利用者が入力した画像である入力画像を受け付ける受付部と、
画像検索を行う検索サーバの検索対象となる画像の特徴を学習したモデルを用いて、前記受付部により受け付けられた入力画像から新たな画像を生成する生成部と、
前記生成部により生成された画像を提供する提供部と
を有することを特徴とする提供装置。 
【請求項３７】
利用者が入力した画像である入力画像を受け付ける受付工程と、
画像検索を行う検索サーバの検索対象となる画像の特徴を学習したモデルを用いて、前記受付工程により受け付けられた入力画像から新たな画像を生成する生成工程と、
前記生成工程により生成された画像を提供する提供工程と
を含むことを特徴とする提供方法。 
【請求項３８】
利用者が入力した画像である入力画像を受け付ける受付手順と、
画像検索を行う検索サーバの検索対象となる画像の特徴を学習したモデルを用いて、前記受付手順により受け付けられた入力画像から新たな画像を生成する生成手順と、
前記生成手順により生成された画像を提供する提供手順と
をコンピュータに実行させるための提供プログラム。