(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-01-16
(45)【発行日】2023-01-24
(54)【発明の名称】検索プログラム、サーバ装置、検索方法及び検索システム
(51)【国際特許分類】
G06F 16/532 20190101AFI20230117BHJP
G06Q 30/0601 20230101ALI20230117BHJP
【FI】
G06F16/532
G06Q30/06 300
(21)【出願番号】P 2018220243
(22)【出願日】2018-11-26
【審査請求日】2021-08-26
(73)【特許権者】
【識別番号】514053169
【氏名又は名称】株式会社メルカリ
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】山口 拓真
【審査官】原 秀人
(56)【参考文献】
【文献】特開2016-103235(JP,A)
【文献】特開2009-251850(JP,A)
【文献】特開2013-186546(JP,A)
【文献】国際公開第2011/021605(WO,A1)
【文献】特開2015-106300(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06Q 30/06
(57)【特許請求の範囲】
【請求項1】
クエリ画像を入力する入力工程と、
前記クエリ画像内に検索対象と非検索対象とが含まれていた場合に、
前記クエリ画像の特徴量から前記非検索対象部分の特徴量を取り除いた特徴量と複数の画像の特徴量とに基づいて、複数の画像の中から、該検索対象に類似する物品を含み、かつ、該非検索対象を含まない画像を検索する検索工程と
をコンピュータに実行させるための検索プログラム。
【請求項2】
前記検索工程は、
前記クエリ画像内に検索対象と該検索対象とともに撮影された人物とが含まれていた場合に、
前記クエリ画像の特徴量から前記人物の特徴量を取り除いた特徴量と複数の画像の特徴量とに基づいて、前記複数の画像の中から、該検索対象に類似する物品を含み、かつ、人物を含まない画像を検索する、請求項1に記載の検索プログラム。
【請求項3】
前記検索工程は、
前記クエリ画像
の特徴量に含まれる人物の特徴量よりも、前記クエリ画像
の特徴量に含まれる検索対象の特徴量を重み付けして検索する、請求項2に記載の検索プログラム。
【請求項4】
前記検索工程は、
前記クエリ画像
の特徴量を含む特徴ベクトルを、物品と該物品とともに撮影された人物とが含まれる画像
の特徴量を含む特徴ベクトルで減算し、
減算した特徴ベクトルに含まれる負値の特徴量を非負化し、
前記負値の特徴量を非負化した特徴ベクトルを用いて、前記複数の画像それぞれ
の特徴量を含む各特徴ベクトルとの類似度を算出する、請求項2に記載の検索プログラム。
【請求項5】
物品と該物品とともに撮影された人物とが含まれる複数の画像それぞれ
の特徴量を含む各特徴ベクトルに基づいて、代表ベクトルを算出する算出工程を、コンピュータに実行させ、
前記検索工程は、
前記クエリ画像
の特徴量を含む特徴ベクトルを、前記代表ベクトルで減算する、請求項4に記載の検索プログラム。
【請求項6】
前記算出工程は、
物品と該物品とともに撮影された人物とが含まれる複数の画像を、物品のカテゴリに応じて分類し、カテゴリごとに分類された複数の画像それぞれ
の特徴量を含む各特徴ベクトルに基づいて、カテゴリごとに代表ベクトル候補を算出し、
カテゴリごとに算出した代表ベクトル候補に基づいて、前記代表ベクトルを算出する、請求項5に記載の検索プログラム。
【請求項7】
クエリ画像を入力する入力部と、
前記クエリ画像内に検索対象と非検索対象とが含まれていた場合に、
前記クエリ画像の特徴量から前記非検索対象部分の特徴量を取り除いた特徴量と複数の画像の特徴量とに基づいて、複数の画像の中から、該検索対象に類似する物品を含み、かつ、該非検索対象を含まない画像を検索する検索部と
を有するサーバ装置。
【請求項8】
クエリ画像を入力する入力工程と、
前記クエリ画像内に検索対象と非検索対象とが含まれていた場合に、
前記クエリ画像の特徴量から前記非検索対象部分の特徴量を取り除いた特徴量と複数の画像の特徴量とに基づいて、複数の画像の中から、該検索対象に類似する物品を含み、かつ、該非検索対象を含まない画像を検索する検索工程と
を有する検索方法。
【請求項9】
端末とサーバ装置とが通信可能に接続される検索システムであって、
クエリ画像を入力する入力部と、
前記クエリ画像内に検索対象と非検索対象とが含まれていた場合に、
前記クエリ画像の特徴量から前記非検索対象部分の特徴量を取り除いた特徴量と複数の画像の特徴量とに基づいて、複数の画像の中から、該検索対象に類似する物品を含み、かつ、該非検索対象を含まない画像を検索する検索部と
を有する検索システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、検索プログラム、サーバ装置、検索方法及び検索システムに関する。
【背景技術】
【0002】
従来より、クエリ画像に類似する類似画像を検索するための種々の検索方法が提案されている(例えば、下記特許文献1、2等)。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2001-052175号公報
【文献】特開2001-319232号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記検索方法の場合、クエリ画像内に検索対象の物品と非検索対象の両方が含まれ、かつ、検索対象の物品の特徴量よりも、非検索対象の特徴量の方が類似度に与える影響が大きい場合に、適切な画像を検索することができない、という問題がある。
【0005】
本発明は上記課題に鑑みてなされたものであり、クエリ画像を用いた画像検索において、検索対象に応じた検索結果を出力することを目的とする。
【課題を解決するための手段】
【0006】
本発明の一実施形態によれば、検索プログラムは、例えば、以下のような構成を有する。即ち、
クエリ画像を入力する入力工程と、
前記クエリ画像内に検索対象と非検索対象とが含まれていた場合に、前記クエリ画像の特徴量から前記非検索対象部分の特徴量を取り除いた特徴量と複数の画像の特徴量とに基づいて、複数の画像の中から、該検索対象に類似する物品を含み、かつ、該非検索対象を含まない画像を検索する検索工程とをコンピュータに実行させる。
【発明の効果】
【0007】
本発明によれば、クエリ画像を用いた画像検索において、検索対象に応じた検索結果を出力することができる。
【図面の簡単な説明】
【0008】
【
図1】検索システムのシステム構成の一例を示す図である。
【
図2】サーバ装置のハードウェア構成の一例を示す図である。
【
図3】登録情報格納部内の登録情報の具体例を示す図である。
【
図4】特徴ベクトル情報(商品)保存部に保存される特徴ベクトル情報(商品)の具体例を示す図である。
【
図5】特徴ベクトル情報(人物)保存部に保存される特徴ベクトル情報(人物)及び代表ベクトルの具体例を示す図である。
【
図6】商品情報登録部の機能構成の一例を示す図である。
【
図7】商品情報検索部の機能構成の一例を示す図である。
【
図8】検索システムにおける商品情報登録処理の流れを示すシーケンス図である。
【
図9】検索システムにおける商品情報検索処理の流れを示すシーケンス図である。
【
図10】特徴ベクトル算出用モデルの学習処理を説明するための図である。
【
図11】特徴ベクトル情報(人物)及び代表ベクトル生成処理の流れを示すフローチャートである。
【
図12】特徴ベクトル情報(人物)及び代表ベクトル生成処理の処理内容を説明するための第1の図である。
【
図13】特徴ベクトル情報(商品)生成処理の流れを示すフローチャートである。
【
図14】特徴ベクトル情報(商品)生成処理の処理内容を説明するための図である。
【
図15】商品情報検索処理の流れを示すフローチャートである。
【
図16】商品情報検索処理の処理内容を説明するための図である。
【
図17】商品情報検索処理の具体例を示す図である。
【
図18】ユーザ端末の検索画面に表示される検索結果の一例を示す第1の図である。
【
図19】ユーザ端末の検索画面に表示される検索結果の一例を示す第2の図である。
【
図20】特徴ベクトル情報(人物)及び代表ベクトル生成処理の処理内容を説明するための第2の図である。
【
図21】ユーザ端末のチャット画面の一例を示す図である。
【発明を実施するための形態】
【0009】
以下、各実施形態の詳細について説明する。なお、各実施形態に係る明細書及び図面の記載に際して、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省く。
【0010】
[第1の実施形態]
<1.検索システムのシステム構成>
はじめに、検索システムのシステム構成について説明する。
図1は、検索システムのシステム構成の一例を示す図である。
【0011】
図1に示すように、検索システム100は、サーバ装置110と、ユーザ180_1~180_nそれぞれが利用するユーザ端末170_1~170_nとを有する。なお、ユーザ端末170_1~170_nは、ネットワーク190を介してサーバ装置110と通信可能に接続される。
【0012】
サーバ装置110には、フリーマーケットサービスプログラムがインストールされており、当該プログラムが実行されることで、サーバ装置110は、フリーマーケットサービス部120として機能する。
【0013】
フリーマーケットサービス部120は、ネットワーク190を介して接続されるユーザ端末170_1~170_nのユーザ180_1~180_nに対して、各種商品等を取引する場を提供するサービスを行う。
【0014】
ここで、フリーマーケットサービスプログラムには、少なくとも、登録プログラムと検索プログラムとが含まれているものとする。そして、これらのプログラムが実行されることで、サーバ装置110は、商品情報登録部130と商品情報検索部140とを有するフリーマーケットサービス部120として機能する。
【0015】
商品情報登録部130は、ユーザ180_1~180_nが商品を出品すべく、ユーザ端末170_1~170_nから商品情報を送信した場合に、当該商品情報を受信し、登録情報格納部150に格納する。なお、本実施形態では、登録情報格納部150に格納された複数の商品情報を、「登録情報」と総称する。
【0016】
また、商品情報登録部130は、格納した各商品情報に含まれる商品画像から、「特徴ベクトル」(画像から抽出される特徴量の項目と特徴量の値との組)を抽出し、特徴ベクトル情報(商品)保存部151に保存する。
【0017】
更に、商品情報登録部130は、格納した各商品情報に含まれる商品画像のうち、特定の商品画像(例えば、商品以外に、商品を着用した人物が含まれる商品画像(「着用画像」))から特徴ベクトルを抽出し、特徴ベクトル情報(人物)保存部152に保存する。
【0018】
商品情報検索部140は、ユーザ端末170_1~170_nからクエリ画像を含む検索要求を受信した場合に、特徴ベクトル情報(人物)保存部152に保存された特徴ベクトルを用いて、クエリ画像に含まれる人物の特徴量の影響を抑制する処理を行う。そのうえで、商品情報検索部140は、クエリ画像に含まれる検索対象に類似する商品を含む商品画像を検索する。
【0019】
具体的には、商品情報検索部140は、特徴ベクトル情報(商品)保存部151に保存された特徴ベクトルの中から、処理後のクエリ画像の特徴ベクトルに類似する特徴ベクトルを求めることで、クエリ画像内の検索対象に類似する商品を含む商品画像を検索する。
【0020】
なお、商品情報検索部140では、検索した商品画像を含む検索結果を、検索要求の送信元のユーザ端末(ユーザ端末170_1~170_nのいずれか)に送信する。
【0021】
<サーバ装置のハードウェア構成>
次に、検索システム100に含まれるサーバ装置110のハードウェア構成について説明する。
図2は、サーバ装置のハードウェア構成の一例を示す図である。
【0022】
図2に示すように、サーバ装置110は、CPU(Central Processing Unit)201、ROM(Read Only Memory)202、RAM(Random Access Memory)203を有する。また、サーバ装置110は、GPU(Graphics Processing Unit)204を有する。なお、CPU201、GPU204などのプロセッサ(処理回路、Processing Circuit、Processing Circuitry)と、ROM202、RAM203などのメモリは、いわゆるコンピュータを形成する。
【0023】
更に、サーバ装置110は、補助記憶装置205、表示装置206、操作装置207、I/F(Interface)装置208、ドライブ装置209を有する。なお、サーバ装置110の各ハードウェアは、バス210を介して相互に接続される。また、
図2に示す各ハードウェアは、一例に過ぎず、一部を変更して(例えば、GPU204を外して)サーバ装置110を構成してもよいことはいうまでもない。
【0024】
CPU201は、補助記憶装置205にインストールされた各種プログラム(例えば、フリーマーケットサービスプログラム等)を実行する演算デバイスである。
【0025】
ROM202は、不揮発性メモリであり、主記憶装置として機能する。ROM202は、補助記憶装置205にインストールされた各種プログラムをCPU201が実行するために必要な各種プログラム、データ等を格納する。具体的には、ROM202はBIOS(Basic Input/Output System)やEFI(Extensible Firmware Interface)等のブートプログラム等を格納する。
【0026】
RAM203は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)等の揮発性メモリであり、主記憶装置として機能する。RAM203は、補助記憶装置205にインストールされた各種プログラムがCPU201によって実行される際に展開される、作業領域を提供する。
【0027】
GPU204は、画像処理用の演算デバイスであり、CPU201によりフリーマーケットサービスプログラムが実行される際に、各種画像データについて、並列処理による高速演算を行う。なお、GPU204は、内部メモリ(GPUメモリ)を搭載しており、各種画像データについて並列処理を行う際に必要な情報を一時的に保持する。
【0028】
補助記憶装置205は、各種プログラムや、各種プログラムがCPU201によって実行される際に用いられる各種データ等を格納する。例えば、登録情報格納部150、特徴ベクトル情報(商品)保存部151、特徴ベクトル情報(人物)保存部152は、補助記憶装置205において実現される。
【0029】
表示装置206は、サーバ装置110の内部状態を表示する表示デバイスである。操作装置207は、サーバ装置110の管理者がサーバ装置110に対して各種指示を入力する際に用いる入力デバイスである。I/F装置208は、ネットワーク190と接続し、ユーザ端末170_1~170_nと通信を行うための接続デバイスである。
【0030】
ドライブ装置209は記録媒体220をセットするためのデバイスである。ここでいう記録媒体220には、CD-ROM、フレキシブルディスク、光磁気ディスク等のように情報を光学的、電気的あるいは磁気的に記録する媒体が含まれる。また、記録媒体220には、ROM、フラッシュメモリ等のように情報を電気的に記録する半導体メモリ等が含まれていてもよい。
【0031】
なお、補助記憶装置205にインストールされる各種プログラムは、例えば、配布された記録媒体220がドライブ装置209にセットされ、該記録媒体220に記録された各種プログラムがドライブ装置209により読み出されることでインストールされる。あるいは、補助記憶装置205にインストールされる各種プログラムは、ネットワーク190を介してダウンロードされることで、インストールされてもよい。
【0032】
<登録情報の具体例>
次に、登録情報格納部150内の登録情報の具体例について説明する。
図3は、登録情報格納部内の登録情報の具体例を示す図である。
【0033】
図3に示すように、登録情報300は、複数の商品情報により構成される。具体的には、登録情報300には、情報の項目として、"商品ID"、"商品属性情報"、"商品画像"が含まれ、複数の商品情報それぞれが、当該情報の項目ごとにわけて登録情報格納部150に格納されることで、登録情報300が構成される。
【0034】
例えば、"商品ID"には、商品情報のうち、商品を識別するための識別子が格納される。"商品属性情報"には、商品情報のうち、商品の属性(例えば、商品のカテゴリ、商品のブランド、商品のタイトル等)を示す情報が格納される。"商品画像"には、商品情報のうち、商品画像が格納される。
【0035】
なお、"商品画像"に格納される商品画像には、商品単体の画像の他、商品を着用した人物が含まれる商品画像(着用画像)等が含まれる。
【0036】
<特徴ベクトル情報(商品)の具体例>
次に、特徴ベクトル情報(商品)保存部151に保存される特徴ベクトル情報(商品)の具体例について説明する。特徴ベクトル情報(商品)保存部151では、商品画像から抽出された特徴ベクトルを、商品情報と対応付けて、特徴ベクトル情報(商品)として保存する。
図4は、特徴ベクトル情報(商品)保存部に保存される特徴ベクトル情報(商品)の具体例を示す図である。
【0037】
図4に示すように、特徴ベクトル情報(商品)400には、情報の項目として、商品情報についての情報の項目である"商品ID"、"商品属性情報"、"商品画像"に加え、"特徴ベクトル"が含まれる。"特徴ベクトル"には、"商品画像"に格納された商品画像から抽出された特徴ベクトルが格納される。
【0038】
なお、上述したとおり、特徴ベクトルは、画像から抽出される特徴量の項目と特徴量の値との組であり、
図4の例は、特徴量の項目として、"特徴1"~"特徴m"が抽出されたことを示している。また、
図4の例は、特徴量の値を、棒グラフの長さとして示している。
【0039】
<特徴ベクトル情報(人物)の具体例>
次に、特徴ベクトル情報(人物)保存部152に保存される特徴ベクトル情報(人物)等の具体例について説明する。特徴ベクトル情報(人物)保存部152では、着用画像から抽出された特徴ベクトルを、商品情報と対応付けて、特徴ベクトル情報(人物)として保存するとともに、着用画像から抽出された特徴ベクトルに基づいて算出された代表ベクトルを保存する。
【0040】
図5は、特徴ベクトル情報(人物)保存部に保存される特徴ベクトル情報(人物)及び代表ベクトルの具体例を示す図である。
【0041】
図5に示すように、特徴ベクトル情報(人物)500には、情報の項目として、"商品ID"、"商品属性情報"、"着用画像"、"特徴ベクトル"が含まれる。特徴ベクトル情報(人物)500の場合、登録情報300を構成する各商品情報に含まれる商品画像の中から選択された着用画像が"着用画像"に格納され、対応する商品の識別子、商品の属性情報が、それぞれ、"商品ID"、"商品属性情報"に格納される。また、"特徴ベクトル"には、"着用画像"に格納された着用画像から抽出された特徴ベクトルが格納される。なお、
図4と同様、
図5の例は、特徴量の項目として、"特徴1"~"特徴m"が抽出されたことを示している。また、
図5の例は、特徴量の値を、棒グラフの長さとして示している。
【0042】
代表ベクトル510は、特徴ベクトル情報(人物)500の"特徴ベクトル"に格納された、各着用画像の特徴ベクトルに基づいて算出される。代表ベクトル510は、例えば、各着用画像の特徴ベクトルの平均値を算出することで求められる。あるいは、代表ベクトル510は、各着用画像の特徴ベクトルの中央値を算出することで求められる。あるいは、代表ベクトル510は、各着用画像の特徴ベクトルを整数化し、最頻値を算出することで求められる。
【0043】
<商品情報登録部の機能構成>
次に、サーバ装置110のフリーマーケットサービス部120が有する商品情報登録部130の機能構成について説明する。
図6は、商品情報登録部の機能構成の一例を示す図である。
図6に示すように、商品情報登録部130は、商品情報取得部610、商品情報(着用画像)選択部620、画像特徴抽出部630、人物特徴演算部640、商品情報読み出し部650を有する。
【0044】
商品情報取得部610は、ユーザ180_1~180_nが商品を出品すべく、ユーザ端末170_1~170_nから商品情報を送信した場合において、当該商品情報を受信するごとに、登録情報格納部150に格納する。これにより、登録情報格納部150内の登録情報300は、商品情報取得部610が商品情報を受信するごとに更新される。
【0045】
商品情報(着用画像)選択部620は、登録情報格納部150内の登録情報300を構成する各商品情報のうち、着用画像を含む商品情報を選択して読み出し、画像特徴抽出部630に通知する。なお、商品情報(着用画像)選択部620は、例えば、着用画像を含む商品情報が、登録情報格納部150内に登録情報300として一定程度登録されたタイミングで、着用画像を含む商品画像を選択して読み出すものとする。
【0046】
この場合、画像特徴抽出部630では、商品情報(着用画像)選択部620より通知された商品情報に含まれる着用画像から、特徴ベクトルを抽出し、商品情報と対応付けて人物特徴演算部640に通知する。
【0047】
人物特徴演算部640は、人物特徴演算部640より通知された各商品情報に対応付けられた特徴ベクトルに基づいて、代表ベクトル510を算出する。また、人物特徴演算部640は、着用画像から抽出された特徴ベクトルが対応付けられた商品情報を、特徴ベクトル情報(人物)500として、代表ベクトル510とともに特徴ベクトル情報(人物)保存部152に保存する。
【0048】
商品情報読み出し部650は、登録情報格納部150内の登録情報300を読み出し、画像特徴抽出部630に通知する。
【0049】
この場合、画像特徴抽出部630では、商品情報読み出し部650より通知された登録情報300を構成する各商品情報に含まれる商品画像から、特徴ベクトルを抽出する。また、画像特徴抽出部630は、抽出した特徴ベクトルを商品情報と対応付けて、特徴ベクトル情報(商品)400として、特徴ベクトル情報(商品)保存部151に保存する。
【0050】
<商品情報検索部の機能構成>
次に、サーバ装置110のフリーマーケットサービス部120が有する商品情報検索部140の機能構成について説明する。
図7は、商品情報検索部の機能構成の一例を示す図である。
図7に示すように、商品情報検索部140は、クエリ画像取得部710、検索対象物検出部720、画像特徴抽出部630、画像特徴変換部740、類似ベクトル演算部750、検索結果出力部760を有する。
【0051】
クエリ画像取得部710は入力部の一例であり、ユーザ端末170_1~170_nから検索要求を受信し、受信した検索要求に含まれるクエリ画像を取得する。
【0052】
検索対象物検出部720は、クエリ画像から、検索対象の商品を含む領域を検索対象領域として検出する。ただし、検索対象物検出部720の機能は必須ではなく、商品情報検索部140は、検索対象物検出部720を実行しなくてもよい。
【0053】
画像特徴抽出部630は、検索対象物検出部720により検出された検索対象領域から特徴ベクトルを抽出し、画像特徴変換部740に通知する。
【0054】
画像特徴変換部740は、特徴ベクトル情報(人物)保存部152に格納された代表ベクトル510を読み出し、画像特徴抽出部630より通知された特徴ベクトルから、代表ベクトル510を減算することで、減算後の特徴ベクトルを算出する。具体的には、画像特徴変換部740は、特徴量の項目ごとに、特徴ベクトルの特徴量の値から代表ベクトル510の特徴量の値を減算することで、減算後の特徴ベクトルを算出する。これにより、減算後の特徴ベクトルは、人物の特徴量の影響が抑制された特徴ベクトルとなる。
【0055】
また、画像特徴変換部740は、減算後の特徴ベクトルに含まれる負値をゼロ化することで、減算後の特徴ベクトルを変換し、変換後の特徴ベクトルを算出する。具体的には、画像特徴変換部740は、各特徴量の項目のうち、減算により負値になった特徴量の項目について、特徴量の値をゼロ値に変換する(非負化する)。これにより、変換後の特徴ベクトルは、負値を含まない特徴ベクトルとなる。人物の特徴量の影響を抑制するために減算したにも関わらず、減算の結果、負値として人物の特徴量の影響が現れたのでは、人物の特徴量の影響を抑制したことにならないため、画像特徴変換部740では、ゼロ値に変換することで、人物の特徴量の影響を適切に抑制する。
【0056】
類似ベクトル演算部750は検索部の一例であり、特徴ベクトル情報(商品)保存部151より、特徴ベクトル情報(商品)400を読み出し、画像特徴変換部740より通知された変換後の特徴ベクトルに類似する特徴ベクトルを検索する。また、類似ベクトル演算部750は、検索した特徴ベクトルを、検索結果出力部760に通知する。
【0057】
検索結果出力部760は、類似ベクトル演算部750より通知された特徴ベクトルが対応付けられた商品情報を、検索結果として、検索要求の送信元のユーザ端末(ユーザ端末170_1~170_nのいずれか)に送信する。
【0058】
<商品情報登録処理の流れ>
次に、検索システム100における商品情報登録処理の流れについて説明する。
図8は、検索システムにおける商品情報登録処理の流れを示すシーケンス図である。
【0059】
ステップS801において、サーバ装置110の商品情報登録部130に含まれる画像特徴抽出部630は、特徴ベクトルを抽出するための学習モデル(特徴ベクトル算出用モデル。詳細は後述)を機械学習する際に用いる学習用画像を取得する。学習用画像には、例えば、登録情報格納部150内の登録情報300を構成する複数の商品情報の一部の商品情報に含まれる商品画像等が用いられる。なお、学習用画像に用いるのは、商品画像に限定されず、例えば、ネットワーク190上でダウンロード可能な任意の画像であってもよい。
【0060】
ステップS802において、画像特徴抽出部630は、取得した学習用画像を用いて、特徴ベクトル算出用モデルを機械学習する。
【0061】
ステップS810_1~S810_3において、ユーザ端末170_1~170_nは、ユーザ180_1~180_nより出品する商品についての商品情報の入力を受け付け、サーバ装置110に送信する。
【0062】
ステップS811_1~S811_3において、サーバ装置110の商品情報登録部130に含まれる商品情報取得部610は、受信した商品情報(ユーザ180_1~180_nが出品する商品についての商品情報)を、順次、登録情報格納部150に格納する。これにより、登録情報格納部150内に登録情報300が構成される。
【0063】
ステップS820において、サーバ装置110の商品情報登録部130に含まれる商品情報(着用画像)選択部620、画像特徴抽出部630、人物特徴演算部640は、特徴ベクトル情報(人物)及び代表ベクトル生成処理を実行する。これにより、特徴ベクトル情報(人物)保存部152には、特徴ベクトル情報(人物)500及び代表ベクトル510が格納される。
【0064】
ステップS830_1において、商品情報読み出し部650、画像特徴抽出部630は、特徴ベクトル情報(商品)生成処理を実行する。これにより、特徴ベクトル情報(商品)保存部151には、特徴ベクトル情報(商品)400が格納される。
【0065】
ステップS810_4~S810_6において、ユーザ端末170_1~170_nは、ユーザ180_1~180_nより商品情報の入力を受け付け、サーバ装置110に送信する。
【0066】
ステップS811_4~S811_6において、サーバ装置110の商品情報登録部130に含まれる商品情報取得部610は、受信した商品情報を、順次、登録情報格納部150に格納する。これにより、登録情報格納部150内の登録情報300が更新される。
【0067】
ステップS830_2において、商品情報読み出し部650、画像特徴抽出部630は、特徴ベクトル情報(商品)生成処理を実行する。これにより、特徴ベクトル情報(商品)保存部151の特徴ベクトル情報(商品)400が更新される。以降、ステップS810_7~S810_9、ステップS811_7~S811_9においても同様の処理が繰り返される。
【0068】
このように、検索システム100では、はじめに特徴ベクトル情報(人物)及び代表ベクトル生成処理(ステップS820)を1回実行して、代表ベクトル510を生成する。以降、検索システム100では、登録情報300が複数回更新されるごとに(あるいは所定時間が経過するごとに)、特徴ベクトル情報(商品)生成処理を実行し、特徴ベクトル情報(商品)400を更新する。
【0069】
<商品情報検索処理の流れ>
次に、検索システム100における商品情報検索処理の流れについて説明する。
図9は、検索システムにおける商品情報検索処理の流れを示すシーケンス図である。
【0070】
ステップS900_1において、ユーザ端末170_1~170_nは、ユーザ180_1~180_nより検索要求を受け付け、サーバ装置110に送信する。
【0071】
ステップS910_1において、サーバ装置110の商品情報検索部140は、商品情報検索処理を実行し、検索要求の送信元のユーザ端末(ユーザ端末170_1~170_nのいずれか)に、検索結果を送信する。
【0072】
ステップS901_1において、ユーザ端末170_1~170_nは、検索結果を受信して表示する。以降、検索システム100では、ユーザ端末170_1~170_nが検索要求を受け付けるごとに、サーバ装置110が商品情報検索処理を実行し、ユーザ端末170_1~170_nに検索結果を表示する。
【0073】
なお、
図9に示す商品情報検索処理は、
図8に示す商品情報登録処理のステップS810_1以降の処理と、並行して実行されるものとする。
【0074】
<商品情報登録処理の各工程の詳細>
次に、
図8に示す商品情報登録処理に含まれる各工程(ここでは、特徴ベクトル算出用モデルの学習処理、特徴ベクトル情報(人物)及び代表ベクトル生成処理、特徴ベクトル情報(商品)生成処理)の詳細について説明する。
【0075】
(1)特徴ベクトル算出用モデルの学習処理(ステップS802)の詳細
はじめに、特徴ベクトル算出用モデルの学習処理(ステップS802)の詳細について説明する。
図10は、特徴ベクトル算出用モデルの学習処理を説明するための図である。画像特徴抽出部630では、学習用画像を読み出すと、特徴ベクトル算出用モデル1000に入力する。なお、学習用画像として一部の商品画像に含まれる商品画像を用いる場合にあっては、画像特徴抽出部630は、学習処理前に登録情報格納部150より当該商品情報を学習用画像として読み出し、特徴ベクトル算出用モデル1000に入力する。
【0076】
学習用画像には、予め、対応するカテゴリ、ブランド、模様等の商品属性情報が対応付けられており、特徴ベクトル算出用モデル1000は、学習用画像が入力されると、対応する商品属性情報が出力されるように、モデルパラメータの機械学習を行う。なお、特徴ベクトル算出用モデル1000は、ニューラルネットワーク(例えば、畳み込みニューラルネットワーク)等により構成されているものとする。
【0077】
これにより、画像特徴抽出部630では、特徴ベクトル算出用モデル1000について学習済みモデルを生成する。画像特徴抽出部630では、特徴ベクトル算出用モデル1000についての学習済みモデルを用いて、特徴ベクトルを抽出する。
【0078】
(2)特徴ベクトル情報(人物)及び代表ベクトル生成処理(ステップS820)の詳細
次に、特徴ベクトル情報(人物)及び代表ベクトル生成処理(ステップS820)の詳細について説明する。
図11は、特徴ベクトル情報(人物)及び代表ベクトル生成処理の流れを示すフローチャートである。
【0079】
図11に示すように、ステップS1101において、商品情報(着用画像)選択部620は、登録情報格納部150内の登録情報300を構成する商品情報のうち、着用画像を含む商品情報を選択して読み出し、着用画像を取得する。
【0080】
ステップS1102において、画像特徴抽出部630は、特徴ベクトル算出用モデル1000についての学習済みモデルを用いて、特徴ベクトルを抽出する。
図12は、特徴ベクトル情報(人物)及び代表ベクトル生成処理の処理内容を説明するための第1の図である。
【0081】
図12に示すように、画像特徴抽出部630は、着用画像を、順次、学習済みモデル1200(特徴ベクトル算出用モデル1000についての学習済みモデルの第k層までを実行可能にした学習済みモデル)に入力する。これにより、画像特徴抽出部630では、順次、第k層より、特徴ベクトルを抽出する。学習済みモデルの中間層である第k層では、人間が認識しやすい特徴量が算出されるため、第k層を可視化し、特徴ベクトルを算出することで、人間が認識しやすい特徴ベクトルを抽出することができるからである。なお、第k層より抽出される特徴ベクトルは、各特徴量の値が非負値となるように構成されているものとする。特徴ベクトル間で演算を行う際、特徴量の値として負値が含まれていると、負値で減算するケースが生じることとなり、そのような場合、特徴量の値が正値側に振れることになるからである。つまり、減算したにも関わらず、人物の特徴量の影響が抑制されないといった事態を回避するためである。
【0082】
ステップS1103において、人物特徴演算部640は、代表ベクトル510を算出する。人物特徴演算部640は、例えば、各着用画像から抽出された各特徴ベクトルの平均値を算出することで、代表ベクトル510を算出する(
図12参照)。なお、代表ベクトル510の算出方法は、これに限定されず、例えば、各着用画像の特徴ベクトルから、商品画像の特徴ベクトルを減算して、負値を非負化した後、平均値を算出することで、代表ベクトル510を算出してもよい。かかる算出方法によれば、着用画像の特徴ベクトルからそのまま代表ベクトルを算出する場合と比較して、商品画像を減算しすぎないというメリットがある。
【0083】
ステップS1104において、人物特徴演算部640は、読み出された商品情報に、抽出した特徴ベクトルを対応付けることで、特徴ベクトル情報(人物)500を生成し、特徴ベクトル情報(人物)保存部152に保存する。また、人物特徴演算部640は、算出した代表ベクトルを、特徴ベクトル情報(人物)保存部152に保存する。
【0084】
(3)特徴ベクトル情報(商品)生成処理(ステップS830_1等)の詳細
次に、特徴ベクトル情報(商品)生成処理(ステップS830_1等)の詳細について説明する。
図13は、特徴ベクトル情報(商品)生成処理の流れを示すフローチャートである。
【0085】
図13に示すように、ステップS1301において、商品情報読み出し部650は、登録情報格納部150内の登録情報300を読み出し、各商品情報に含まれる商品画像を取得する。
【0086】
ステップS1302において、画像特徴抽出部630は、学習済みモデル1200を用いて、商品画像から特徴ベクトルを抽出する。
図14は、特徴ベクトル情報(商品)生成処理の処理内容を説明するための図である。
【0087】
図14に示すように、画像特徴抽出部630は、商品画像を、順次、学習済みモデル1200(特徴ベクトル算出用モデル1000についての学習済みモデルの第k層までを実行可能にした学習済みモデル)に入力する。これにより、画像特徴抽出部630では、順次、第k層より、特徴ベクトル1410_1~1410_pを抽出する。なお、上述したとおり、第k層より抽出される特徴ベクトル1410_1~1410_pは、各特徴量の値が非負値となるように構成されている。
【0088】
ステップS1303において、画像特徴抽出部630は、読み出された商品情報に、抽出した特徴ベクトルを対応付けることで、特徴ベクトル情報(商品)400を生成し、特徴ベクトル情報(商品)保存部151に保存する。
【0089】
<商品情報検索処理の詳細>
次に、商品情報検索処理(ステップS910_1等)の詳細について説明する。
図15は、商品情報検索処理の流れを示すフローチャートである。
図15に示すように、ステップS1501において、クエリ画像取得部710は、ユーザ端末170_1~170_nから検索要求を受信し、受信した検索要求に含まれるクエリ画像を取得する。
【0090】
ステップS1502において、検索対象物検出部720は、取得されたクエリ画像から、検索対象の商品を含む領域を検索対象領域として検出する。
【0091】
ステップS1503において、画像特徴抽出部630は、取得されたクエリ画像の検索対象領域から特徴ベクトルを抽出する。
図16は、商品情報検索処理の処理内容を説明するための図である。
図16に示すように、画像特徴抽出部630は、クエリ画像から検出した検索対象領域を、学習済みモデル1200(特徴ベクトル算出用モデル1000についての学習済みモデルの第k層までを実行可能にした学習済みモデル)に入力する。これにより、画像特徴抽出部630では、第k層より、検索対象領域の特徴ベクトル1600を抽出する。なお、上述したとおり、第k層より抽出される特徴ベクトル1600は、各特徴量の値が非負値となるように構成されている。
【0092】
ステップS1504において、画像特徴変換部740は、特徴ベクトル情報(人物)保存部152に格納された代表ベクトル510を読み出し、ステップS1503において抽出された検索対象領域の特徴ベクトル1600から、代表ベクトル510を減算する。これにより、画像特徴変換部740は、減算後の特徴ベクトルを算出する。
【0093】
ステップS1505において、画像特徴変換部740は、減算後の特徴ベクトルについて、負値の特徴量をゼロ値に変換する(非負化する)。これにより、画像特徴変換部740は、変換後の特徴ベクトルを算出する。
【0094】
ステップS1506において、類似ベクトル演算部750は、特徴ベクトル情報(商品)保存部151より、特徴ベクトル情報(商品)400を読み出し、変換後の特徴ベクトルに類似する特徴ベクトルを検索する。
【0095】
ステップS1507において、検索結果出力部760は、類似ベクトル演算部750により検索された特徴ベクトルが対応付けられた商品情報を、特徴ベクトル情報(商品)400において特定する。また、検索結果出力部760は、特定した商品情報を、検索結果として、検索要求の送信元のユーザ端末(ユーザ端末170_1~170_nのいずれか)に送信する。
【0096】
<商品情報検索処理の具体例>
次に、商品情報検索処理の具体例について説明する。
図17は、商品情報検索処理の具体例を示す図である。
図17に示す各特徴ベクトルは、横軸が特徴量の項目であり、縦軸が特徴量の値を示している。
【0097】
画像特徴変換部740では、検索対象領域の特徴ベクトル1600から、代表ベクトル510を減算することで、減算後の特徴ベクトル1701を算出する。これにより、減算後の特徴ベクトル1701は、検索対象の特徴量が非検索対象の特徴量よりも重み付けされたことになる(クエリ画像に含まれる人物の特徴量の影響を抑制することができる)。
【0098】
ここで、画像特徴変換部740では、特徴量の項目ごとに、特徴量の値を減算するため、特徴量の項目によっては、減算後の特徴量の値が、負値になる場合がある(点線領域1702参照)。
【0099】
画像特徴変換部740では、減算後の特徴ベクトル1701のうち、特徴量の値が負値となった項目について、特徴量の値をゼロに変換する(点線領域1704参照)。これにより、画像特徴変換部740では、変換後の特徴ベクトル1703を算出する。
【0100】
類似ベクトル演算部750では、特徴ベクトル情報(商品)保存部151より読み出した各商品情報に含まれる商品画像の特徴ベクトル1410_1~1410_pの中から、変換後の特徴ベクトル1703との類似度が高い商品画像の特徴ベクトルを検索する。
【0101】
なお、類似ベクトル演算部750では、類似度が所定の閾値以上の複数の商品画像の特徴ベクトルを検索してもよいし、類似度が最も高い商品画像の特徴ベクトルを検索してもよい。
図17の例は、紙面の都合上、類似度が最も高い商品画像の特徴ベクトル1410_iを検索した様子を示している。
【0102】
検索結果出力部760は、商品画像の特徴ベクトル1410_iが対応付けられた商品情報1710を、特徴ベクトル情報(商品)保存部151より読み出す。また、検索結果出力部760は、読み出した商品情報1710を、検索結果として、検索要求の送信元のユーザ端末(ユーザ端末170_1~170_nのいずれか)に送信する。
【0103】
<商品情報検索処理の検索結果の具体例>
次に、ユーザ端末170_1~170_nの検索画面に表示される検索結果の具体例について説明する。
図18は、ユーザ端末の検索画面に表示される検索結果の一例を示す第1の図である。
【0104】
図18に示すように、検索画面1800には、クエリ画像を読み込むための"クエリ画像読み込み"ボタン1811と、読み込んだクエリ画像を表示するクエリ画像表示欄1801とが含まれる。また、検索画面1800には、クエリ画像を含む検索要求を送信するための"検索要求"ボタン1812と、検索要求の送信に応じてサーバ装置110から送信された検索結果を表示する検索結果表示欄1821とが含まれる。
【0105】
図18(a)は、サーバ装置110にて、商品情報検索部140による商品情報検索処理(
図15参照)が実行された場合の検索結果(ここでは、15個の商品画像)が表示された様子を示している。
【0106】
図18(a)に示すように、商品情報検索部140による商品情報検索処理によれば、クエリ画像内に、衣服と該衣服を着た人物とが含まれていた場合でも、当該衣服に類似する衣服を含み、かつ、人物を含まない商品画像を検索することができる。
【0107】
一方、
図18(b)は、比較例として、一般的な商品情報検索処理が実行された場合の検索結果が表示された様子を示している。
【0108】
図18(b)に示すように、一般的な商品情報検索処理によれば、クエリ画像内に、衣服と該衣服を着た人物とが含まれていた場合、人物を含む商品画像が検索されることになる。
【0109】
つまり、一般的な商品情報検索処理の場合、クエリ画像内に含まれる非検索対象に類似する商品画像が検索される。
【0110】
これに対して、商品情報検索部140による商品情報検索処理によれば、上述したとおり、クエリ画像内に含まれる検索対象と類似する商品を含み、かつ、クエリ画像内に含まれる非検索対象を含まない商品画像を検索することができる。
【0111】
図19は、ユーザ端末の検索画面に表示される検索結果の一例を示す第2の図である。なお、検索画面1800内の構成は、
図18に示した検索画面1800内の構成と同じであるため、ここでは、検索画面1800内の構成の説明は省略する。
【0112】
図18との相違点は、クエリ画像表示欄1801に表示されるクエリ画像である。
図19のクエリ画像表示欄1801に表示されたクエリ画像の場合、衣服を着た人物の背景に模様が映っている。
【0113】
図19(a)に示すように、商品情報検索部140によれば、
図18(a)と同様に、クエリ画像内に、検索対象の衣服と該衣服を着た人物とが含まれていた場合でも、当該衣服に類似する衣服を含み、かつ、人物を含まない商品画像を検索することができる。加えて、
図19(a)の場合、衣服を着た人物の背景に模様が含まれている場合であっても、背景の模様に類似する商品画像が検索されることはない。検索対象物検出部720により、検索対象の商品を含む領域が検索対象領域として検出されるためである。なお、クエリ画像表示欄1801に表示されたクエリ画像中の矩形領域は、検索対象物検出部720により検出された検索対象領域を示している。
【0114】
一方、
図19(b)は、比較例として、検索対象物検出部720が、検索対象の商品を含む領域を検索対象領域として検出する処理を実行しなかった場合の検索結果が表示された様子を示している。
【0115】
図19(b)に示すように、検索対象領域を検出する処理を実行しなかった場合、クエリ画像内に含まれる、検索対象領域以外の領域に類似する商品画像が検索されることになる。
【0116】
つまり、検索対象領域を検出する処理を実行しなかった場合、クエリ画像内に含まれる非検索対象に類似する商品画像が検索される。
【0117】
これに対して、商品情報検索部140による商品情報検索処理によれば、上述したとおり、クエリ画像内に含まれる検索対象と類似する商品を含み、かつ、クエリ画像内に含まれる非検索対象を含まない商品画像を検索することができる。
【0118】
<まとめ>
以上の説明から明らかなように、第1の実施形態に係るサーバ装置では、
・ユーザ端末より送信された検索要求を受信し、クエリ画像を取得する。
・クエリ画像内に検索対象(例えば、衣服)と非検索対象(例えば、人物)の両方が含まれていた場合に、複数の商品画像の中から、検索対象に類似する商品を含み、かつ、非検索対象を含まない商品画像を検索する。
【0119】
これにより、第1の実施形態に係るサーバ装置によれば、クエリ画像を用いた商品検索において、検索対象に応じた検索結果を出力することができる。
【0120】
[第2の実施形態]
上記第1の実施形態では、登録情報300より、着用画像を含む商品情報を選択し、着用画像を、順次、学習済みモデル1200に入力することで抽出される特徴ベクトルから代表ベクトルを算出するものとして説明した。しかしながら、代表ベクトルの算出方法はこれに限定されない。
【0121】
例えば、着用画像を含む商品画像を選択した際、選択した商品画像をカテゴリごとに分類し、分類したカテゴリごとに代表ベクトル候補を抽出したうえで、代表ベクトルを算出してもよい。
【0122】
図20は、特徴ベクトル情報(人物)生成処理の処理内容を説明するための第2の図である。
図12との相違点は、
図20の場合、着用画像をカテゴリごとに分類し、カテゴリごとに学習済みモデル1200に、順次、入力する点である。
【0123】
これにより、例えば、カテゴリ1に分類された着用画像については、カテゴリ1の特徴ベクトルが抽出され、カテゴリ2に分類された着用画像については、カテゴリ2の特徴ベクトルが抽出される。更に、カテゴリxに分類された着用画像については、カテゴリxの特徴ベクトルが抽出される。
【0124】
ここで、第2の実施形態において、人物特徴演算部640は、カテゴリごとに抽出した特徴ベクトルに基づいて、カテゴリごとに代表ベクトル候補を算出する。更に、人物特徴演算部640は、各カテゴリの代表ベクトル候補を取得し、平均値を算出することで、代表ベクトル2000を算出する。
【0125】
ただし、代表ベクトル2000の算出方法は、これに限定されない。例えば、カテゴリごとに、各着用画像の特徴ベクトルから商品画像の特徴ベクトルを減算して、負値を非負化した後、カテゴリ間で平均値を算出することで、代表ベクトル2000を算出してもよい。
【0126】
以上の説明から明らかなように、第2の実施形態に係るサーバ装置では、着用画像に基づいて代表ベクトルを算出する際、カテゴリに応じた代表ベクトル候補を算出したうえで、代表ベクトルを算出する。
【0127】
これにより、第2の実施形態に係るサーバ装置によれば、上記第1の実施形態と同様の効果を享受できるとともに、更に、代表ベクトルを最適化することができる。
【0128】
[第3の実施形態]
上記第1及び第2の実施形態では、商品情報検索処理を実行するにあたり、ユーザ端末170_1~170_nに検索画面1800を表示するものとして説明した。しかしながら、検索画面1800以外の画面(例えば、チャット画面)を介して、商品情報検索処理を実行するように構成してもよい。
【0129】
図21は、ユーザ端末のチャット画面の一例を示す図である。なお、
図21では、縦方向にスクロールすることで表示される表示内容を1つの図に納めるために、画面の縦方向の長さを長くして図示している。
【0130】
図21に示すように、チャット画面においてクエリ画像2101を入力することで、質問2102("画像で検索しますか?")が表示されるため、ユーザ180_1~180_nは、回答2103("はい")を入力する。これにより、クエリ画像2101を含む検索要求がサーバ装置110に送信され、サーバ装置110にて、商品情報検索処理が実行されることで、チャット画面2100には、検索結果2104が表示される。
【0131】
このように、チャット画面2100によれば、ユーザ180_1~180_nは、"検索要求"ボタンを押圧する代わりに、チャットを介して、検索要求を送信することができる。
【0132】
[その他の実施形態]
上記第1及び第2の実施形態では、商品情報検索部140の各部(クエリ画像取得部710~検索結果出力部760)を、サーバ装置110側に設けるものとして説明した。しかしながら、商品情報検索部140の一部の機能については、ユーザ端末170_1~170_n側に設けてもよい。例えば、クエリ画像取得部710、検索対象物検出部720、画像特徴抽出部630は、ユーザ端末170_1~170_n側に設けてもよい。
【0133】
これにより、サーバ装置110では、ユーザ端末170_1~170_nから、特徴ベクトルを受信して、商品情報検索処理を実行することができる。ただし、この場合、ユーザ端末170_1~170_nは、事前に学習済みモデル1200を取得しておく必要がある。
【0134】
あるいは、クエリ画像取得部710、検索対象物検出部720、画像特徴抽出部630、画像特徴変換部740は、ユーザ端末170_1~170_n側に設けてもよい。これにより、サーバ装置110では、ユーザ端末170_1~170_nから、変換後の特徴ベクトルを受信して、商品情報検索処理を実行することができる。ただし、この場合、ユーザ端末170_1~170_nは、事前に学習済みモデル1200及び代表ベクトル510を取得しておく必要がある。
【0135】
あるいは、商品情報検索部140の全ての機能を、ユーザ端末170_1~170_n側に設けてもよい。これにより、ユーザ端末170_1~170_nでは商品情報検索処理を実行することができる。ただし、この場合、ユーザ端末170_1~170_nは、事前に学習済みモデル1200及び代表ベクトル510を取得しておくとともに、定期的に、特徴ベクトル情報(商品)400を取得しておく必要がある。商品点数が多くない場合や、商品の更新頻度が低い場合に有効である。
【0136】
また、上記第1及び第2の実施形態において、特徴ベクトル情報(人物)及び代表ベクトル生成処理は、1回のみ実行し、特徴ベクトル情報(商品)生成処理は、例えば、所定時間が経過するごとに実行するものとして説明した。しかしながら、特徴ベクトル情報(人物)及び代表ベクトル生成処理についても、特徴ベクトル情報(商品)生成処理と同様に、所定時間が経過するごとに実行するように構成してもよい。また、特徴ベクトル情報(商品)生成処理は、商品情報が格納され、登録情報が更新されるごとに実行するように構成してもよい。
【0137】
また、上記第1及び第2の実施形態では、検索対象を衣服とし、非検索対象を当該衣服を着用した人物とした。そして、当該人物が当該衣服を着用した着用画像について代表ベクトルを算出する構成とした。しかしながら、検索対象は衣服に限定されず、アクセサリや小物等であってもよい。この場合、非検索対象は、当該アクセサリを身に着けた人物や、当該小物を保持する人物となる。そして、当該人物がアクセサリを身に着けた(あるいは小物を保持した)着用画像について代表ベクトルが算出されることになる。
【0138】
つまり、着用画像には、衣服を着用することのほか、アクセサリを身に付けたり、小物を保持することなど、検索対象とともに撮影された人物が含まれる画像全般が含まれるものとする。
【0139】
また、非検索対象は、人物に限定されず、例えば、商品が椅子に載置された画像においては、椅子を非検索対象としてもよい。あるいは、商品がハンガにかかっている画像においては、ハンガを非検索対象としてもよい。ただし、これらを非検索対象とする場合には、これらを含む画像に基づいて、代表ベクトルを算出しておく必要がある。
【0140】
また、上記第1及び第2の実施形態では、検索結果として、商品ID、商品属性情報、商品画像等を送信するものとして説明したが、商品ID、商品属性情報、商品画像のうちの少なくとも1つを送信するようにしてもよい。また、検索結果として、商品ID、商品属性情報、商品画像以外の情報を送信するようにしてもよい。
【0141】
また、上記第1の実施形態では、クエリ画像内に、衣服と該衣服を着た人物とが含まれていた場合でも、商品情報検索部140によれば、当該衣服に類似する衣服を含み、かつ、人物を含まない商品画像を検索することができることを示した。しかしながら、商品情報検索部140による商品情報検索処理の効果はこれに限定されない。クエリ画像内に、衣服のみが含まれる場合(つまり、クエリ画像が着用画像でない場合)でも、商品情報検索部140によれば、当該衣服に類似する衣服を含み、かつ、人物を含まない商品画像を検索することができることはいうまでもない。
【0142】
また、上記第1及び第2の実施形態において、商品情報検索部140は、クエリ画像において人物の特徴量の影響を抑えるように、変換後の特徴ベクトルを算出した。しかしながら、変換後の特徴ベクトルの算出方法はこれに限定されず、例えば、クエリ画像においてユーザの趣味嗜好がより明確になるように、変換後の特徴ベクトルを算出してもよい。これにより、ユーザに対する商品のレコメンド処理を実現することが可能になる。
【0143】
また、上記第1及び第2の実施形態では、商品情報検索部140が検索する対象画像が、商品画像の場合について説明した。しかしながら、商品情報検索部140が検索する対象画像は、商品画像に限定されない。例えば、情景画像や絵画画像等であってもよい。ただし、情景画像の場合には、例えば、クエリ画像において、電柱や自動車の特徴量の影響を抑えるように、変換後の特徴ベクトルを算出することになる。また、絵画画像の場合には、例えば、クエリ画像において、額縁の形状の特徴量の影響を抑えるように、変換後の特徴ベクトルを算出することになる。
【0144】
また、上記第1及び第2の実施形態では、検索対象に類似する商品を含み、かつ、非検索対象を含まない商品画像を検索する場合について説明した。しかしながら、検索する画像は商品画像に限定されず、例えば、検索対象に類似する物品を含み、かつ、非検索対象を含まない任意の画像を検索してもよい。
【0145】
なお、上記実施形態に挙げた構成等に、その他の要素との組み合わせなど、ここで示した構成に本発明が限定されるものではない。これらの点に関しては、本発明の趣旨を逸脱しない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
【符号の説明】
【0146】
100 :検索システム
110 :サーバ装置
120 :フリーマーケットサービス部
130 :商品情報登録部
140 :商品情報検索部
150 :登録情報格納部
151 :特徴ベクトル情報(商品)保存部
152 :特徴ベクトル情報(人物)保存部
170_1~170_n :ユーザ端末
300 :登録情報
400 :特徴ベクトル情報(商品)
500 :特徴ベクトル情報(人物)
510 :代表ベクトル
610 :商品情報取得部
620 :商品情報(着用画像)選択部
630 :画像特徴抽出部
640 :人物特徴演算部
650 :商品情報読み出し部
710 :クエリ画像取得部
720 :検索対象物検出部
740 :画像特徴変換部
750 :類似ベクトル演算部
760 :検索結果出力部
1000 :特徴ベクトル算出用モデル
1200 :学習済みモデル
1410_1~1410_p :商品画像の特徴ベクトル
1600 :検索対象領域の特徴ベクトル
1701 :減算後の特徴ベクトル
1703 :変換後の特徴ベクトル
1800 :検索画面
2000 :代表ベクトル