以下に、本願に係る検索装置、検索方法および検索プログラムを実施するための形態(以下、「実施形態」と記載する。)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る検索装置、検索方法および検索プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略する。
〔1.提供システムの概要〕
以下、図1を用いて、検索装置の一例となる情報提供装置10と、表示装置の一例となる端末装置100を有する提供システム1の一例について説明する。図1は、実施形態に係る提供システムが実行する処理の一例を示す図である。図1に示す例では、提供システム1は、情報提供装置10および端末装置100を有する。なお、以下の説明では、情報提供装置10が実行する処理として、端末装置100が撮影した静止画像または動画像(以下、「画像」と総称する。)に撮影された商品等の取引対象を所定の電子商店街で検索する検索処理の一例について説明する。また、以下の説明では、端末装置100が実行する処理として、取引対象の画像を撮影すると、取引対象を電子商店街で検索するための検索クエリとして、取引対象の画像を複数表示する表示処理の一例について説明する。
情報提供装置10は、インターネット等の所定のネットワークN(例えば、図4を参照。)を介して、端末装置100と通信可能な情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。なお、情報提供装置10は、ネットワークNを介して、任意の数の端末装置100と通信可能であってもよく、任意の数のECサーバ200と通信可能であってもよい。また、情報提供装置10は、複数の情報処理装置が協調して以下に説明する検索処理を実行することで実現されてもよい。
端末装置100は、任意の利用者が使用する情報処理装置であり、PC(Personal Computer)、サーバ装置、スマートデバイスといった情報処理装置により実現される。例えば、端末装置100は、デジタルカメラを有し、利用者の操作に従って画像を撮影する撮影機能と、撮影された画像や情報提供装置10から提供される情報、ECサーバ200から提供される情報等、任意のコンテンツを表示する表示機能とを有する。なお、以下の説明では、以下に説明する表示処理を実行させるアプリケーションをインストールしたスマートフォンを端末装置100の一例として説明する。
ECサーバ200は、端末装置100に対し、電子商店街に関する各種のサービスを提供する情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。
〔1−1.表示処理の概要について〕
まず、端末装置100が実行する表示処理の概要について説明する。従来、電子商店街に出品されている取引対象を、端末装置100が撮影した画像を用いて検索する技術が知られている。しかしながら、従来技術では、画像から取引対象を認識した場合、取引対象を購入するためのウェブページを表示する。このため、利用者が撮影した画像に複数の取引対象が撮影されている場合、いずれかの取引対象を認識すると、認識した取引対象を購入するためのウェブページを表示してしまうので、利用者が所望する取引対象を認識するよりも先に他の取引対象を認識した場合には、利用者が所望しない取引対象を購入するためのウェブページを表示してしまう。
そこで、端末装置100は、以下の表示処理を実行する。まず、端末装置100は、所定の画像に含まれる取引対象の画像を取得する。そして、端末装置100は、取引対象を電子商店街で検索するための検索クエリを示すクエリ情報として、取得された画像を、所定の画像と共に表示する。
例えば、端末装置100は、利用者の操作に従って画像を撮影する。そして、端末装置100は、撮影された画像に含まれる取引対象の画像を、取引対象を電子商店街で検索するための検索クエリを示すクエリ情報として、撮影した画像と共に表示する。例えば、端末装置100は、画像に撮影された取引対象の画像であって、電子商店街に登録された取引対象の画像を検索する検索装置(すなわち、情報提供装置10)に対して、撮影した画像を送信する。なお、端末装置100は、撮影した画像から特徴量やカテゴリを特定し、特定した特徴量やカテゴリを情報提供装置10へと送信してもよい。
一方、情報提供装置10は、端末装置100が撮影した画像を受付けると、受付けた画像に含まれる取引対象の画像を端末装置100に提供し、その取引対象を電子商店街で検索するための検索クエリを示すクエリ候補として表示させる。例えば、情報提供装置10は、端末装置100が撮影した画像に含まれる取引対象を認識し、電子商店街に出品された取引対象のうち、認識した取引対象に対応する取引対象を検索する。例えば、情報提供装置10は、認識した取引対象そのものや、サイズ違いの取引対象、同時に使用される取引対象等、認識した取引対象と関連する取引対象等を検索する。
そして、情報提供装置10は、検索した取引対象の画像であって、電子商店街に登録された取引対象の画像と、電子商店街においてその取引対象を識別するための識別情報(例えば、JAN(Japan Article Number)コード)を取得する。すなわち、情報提供装置10は、電子商店街において異なる出品者が共通する取引対象を出品した場合に、それらの取引対象に対して共通で付与される識別情報を取得する。そして、情報提供装置10は、取得した画像と識別情報とを端末装置100へと送信する。
この結果、端末装置100は、情報提供装置10により検索された画像、すなわち、端末装置100によって撮影された画像に含まれる取引対象の画像であって、電子商店街に登録された取引対象の画像と、取引対象の識別情報とを取得する。そして、端末装置100は、取得した取引対象の画像を、撮影された画像とともに表示する。より具体的には、端末装置100は、取得した取引対象の画像を、対応する識別情報を示すクエリ情報として表示する。なお、端末装置100および情報提供装置10は、上述した処理を画像に撮影された取引対象を識別する度に実行することで、クエリ情報を随時画面上に追加表示する。
そして、端末装置100は、クエリ情報が選択された場合は、選択されたクエリ情報が示す検索クエリを用いて電子商店街の検索を行った検索結果を表示する。例えば、端末装置100は、選択されたクエリ情報と対応する識別情報をECサーバ200へと送信することで、クエリ情報として表示された取引対象を電子商店街で検索した際の検索結果を表示する。
このように、端末装置100は、撮影された画像から複数の取引対象が認識された場合は、認識された各取引対象の画像であって、電子商店街に登録されている各取引対象の画像を、撮影された画像とともに表示する。このため、端末装置100は、画像に撮影された商品のうち、利用者が所望する取引対象の選択を受付けることができるので、画像を用いた取引対象の検索における操作性を向上させることができる。また、端末装置100は、利用者がいずれかの画像を選択した場合は、選択された画像と対応する取引対象の検索結果を表示する。このため、端末装置100は、画像に撮影された取引対象のうち、利用者が購入を所望する取引対象の検索結果を表示することができる。
〔1−2.検索処理の概要について〕
次に、情報提供装置10が実行する検索処理の概要について説明する。上述したように、情報提供装置10は、端末装置100から受付けた画像に撮影された取引対象を認識し、認識した取引対象の画像であって、電子商店街に登録された取引対象の画像、すなわち、出品者により登録された取引対象の画像を検索し、検索した画像をクエリ情報として端末装置100に送信する。
このような処理を実現するため、例えば、各種の画像認識技術を用いて、画像から取引対象が撮影された範囲を特定し、特定した範囲を検索クエリとする類似画像検索により取引対象を検索する手法が考えられる。しかしながら、このような類似画像検索では、検索精度があまり良くない場合がある。また、このような電子商店街における類似画像検索の精度を向上させるため、利用者から取引対象が属するカテゴリの指定を受付け、指定されたカテゴリに属する取引対象の中から、類似画像検索により、画像に撮影された取引対象の検索を行うといった手法が考えられる。しかしながら、このような手法では、利用者からカテゴリの指定を受付ける必要がある。
そこで、情報提供装置10は、以下の検索処理を実行する。例えば、情報提供装置10は、取引対象と取引対象が属するカテゴリとの間の関係性を学習した学習器を用いて、画像に撮影された取引対象が属するカテゴリを推定する。例えば、情報提供装置10は、電子商店街に出品されている取引対象のカテゴリと、取引対象の画像として電子商店街に登録された画像との間の共起性を学習するように学習が行われたCNNを学習器(以下、「カテゴリ推定モデル」と記載する。)として保持する。なお、情報提供装置10は、取引対象の画像だけではなく、味、香り、印象等といった取引対象が有する各種の属性等といった取引対象が有する各種の特徴と、取引対象のカテゴリとの間の関係性を学習したCNNをカテゴリ推定モデルとしてもよい。そして、情報提供装置10は、取引対象の画像をカテゴリ推定モデルに入力し、取引対象が属するカテゴリを推定する。なお、カテゴリ推定モデルは、CNN以外にも、例えば、取引対象の画像を入力した際に、その取引対象が属するカテゴリを出力するように、バックプロパゲーション等の各種学習手法により学習が行われたニューラルネットワーク等、各種の分類処理を実行する任意のモデルにより実現可能である。
ここで、電子商店街においては、木構造等の階層構造を有するカテゴリ分類が採用される場合がある。そこで、情報提供装置10は、上述した学習器を用いて、階層構造を有するカテゴリの中から取引対象が属するカテゴリの推定を行う。このような推定は、例えば、所定の階層のカテゴリに属する取引対象の画像と、そのカテゴリとの間の共起性を学習した学習器により実現可能である。そして、情報提供装置10は、最上位のカテゴリ、すなわち、ルートカテゴリから、推定されたカテゴリまでのカテゴリパスを特定する。
なお、情報提供装置10は、カテゴリの階層構造において子ノードを有さない最下位の末端にあるカテゴリ、すなわち、リーフカテゴリ以外にも、任意の階層のカテゴリと、そのカテゴリに属する取引対象の画像との関係性を学習した学習器を用いて、取引対象が属するカテゴリの推定を行ってもよい。すなわち、情報提供装置10は、ルートカテゴリ以外のカテゴリであれば、任意の階層に属するカテゴリの中から、取引対象が属するカテゴリの推定を行ってよい。
続いて、情報提供装置10は、端末装置100から受付けた画像に撮影された取引対象の特徴量を取得する。例えば、情報提供装置10は、各種の画像認識技術を用いて、受付けた画像から取引対象が撮影された範囲を抽出し、抽出した範囲の画像特徴量を取得する。なお、このような画像特徴量の取得は、GIST(http://ilab.usc.edu/siagian/Research/Gist/Gist.html)、カラーヒストグラム、色分布などの広域特徴量やSIFT(Scale-Invariant Feature Transform)、SURF(Speed-Up Robust Features)、局所画像特徴量等、画像が有する特徴量を取得する任意の技術が採用可能である。なお、ニューラルネットで生成される特徴量も利用可能である。
また、情報提供装置10は、推定されたカテゴリの特徴量(以下、「カテゴリ特徴量」と記載する。)を取得する。より具体的には、情報提供装置10は、ルートカテゴリから推定したカテゴリまでのカテゴリパスが有する特徴を示す特徴量をカテゴリ特徴量として算出する。なお、このようなカテゴリ特徴量は、例えば、類似するカテゴリパス同士のカテゴリ特徴量が類似し、類似しないカテゴリパス同士のカテゴリ特徴量が類似しないように、各カテゴリパスの分散表現を学習し、学習した分散表現をカテゴリ特徴量とすることで実現可能である。なお、情報提供装置10は、カテゴリパスの特徴を示すことができるのあれば、任意の特徴量算出技術により算出された特徴量をカテゴリ特徴量として採用してもよい。
そして、情報提供装置10は、取得したカテゴリ特徴量と、画像特徴量とを用いて、画像に撮影された取引対象に対応する取引対象を、電子商店街に出品された取引対象の中から検索する。より具体的には、情報提供装置10は、カテゴリ特徴量と画像特徴量とを結合した結合特徴量を生成し、生成した結合特徴量を用いて、画像に撮影された取引対象に対応する取引対象を検索する。
例えば、情報提供装置10は、電子商店街に出品された取引対象ごとに、カテゴリ特徴量と画像特徴量とを結合した結合特徴量を算出し、保持する。そして、情報提供装置10は、端末装置100から受付けた画像から生成した結合特徴量と、保持した結合特徴量とを比較することで、撮影された取引対象と結合特徴量が類似する取引対象を、電子商店街に出品された取引対象から特定する。その後、情報提供装置10は、特定した取引対象の画像と、識別情報とを端末装置100に送信する。
このように、情報提供装置10は、撮影された画像から、撮影された取引対象が属するカテゴリを推定するとともに、取引対象の画像特徴量を取得し、カテゴリ特徴量と画像特徴量とを用いて、画像に撮影された取引対象に対応する取引対象を電子商店街から検索する。そして、情報提供装置10は、画像に含まれる取引対象の画像をクエリ情報として撮影した画像とともに表示する端末装置100に対し、検索した取引対象の画像を提供する。このため、情報提供装置10は、利用者に取引対象のカテゴリを指定させずとも、カテゴリを用いた取引対象の検索を行うことができるので、精度良く取引対象の画像検索を実現することができる。
〔1−3.提供システムにおける処理の一例について〕
続いて、図1を用いて、提供システム1における処理の流れの一例を説明する。なお、以下の説明では、電子商店街に出品された取引対象を「出品対象」と記載し、出品対象の画像、すなわち、電子商店街に登録された取引対象の画像を「出品画像」と記載し、端末装置100が撮影した画像を「撮影画像」と記載する。
例えば、図1に示す例では、端末装置100は、利用者の操作に従って、取引対象の画像を撮影する(ステップS1)。図1に示す例では、端末装置100は、ワイン、カメラ、マグカップに入った珈琲、ティッシュペーパー、および缶ジュースを含む画像を撮影する。このような場合、端末装置100は、撮影した取引対象の画像を情報提供装置10に送信する(ステップS2)。
このような場合、情報提供装置10は、撮影画像の中から取引対象が撮影された範囲を抽出する(ステップS3)。そして、情報提供装置10は、各カテゴリに属する取引対象の特徴を学習した学習器を用いて、撮影画像から抽出した範囲に撮影された取引対象が属するカテゴリを推定し、推定したカテゴリのカテゴリパスを特定する(ステップS4)。また、情報提供装置10は、取引対象が撮影された画像の特徴量、すなわち、画像特徴量を算出する(ステップS5)。
そして、情報提供装置10は、推定したカテゴリパスのカテゴリ特徴量と、画像特徴量とを結合した結合特徴量を生成し(ステップS6)、結合特徴量に基づいて、撮影された取引対象を電子商店街から検索する(ステップS7)。そして、情報提供装置10は、電子商店街から検索した取引対象の識別情報と出品画像とを端末装置100に提供する(ステップS8)。
このような場合、端末装置100は、出品画像を選択可能な状態で、撮影した画像とともに複数表示する(ステップS9)。例えば、図1に示す例では、端末装置100は、画面上を、撮影画像ウインドウCW、画像表示ウインドウPW、および操作ウインドウMWに分割する。そして、端末装置100は、撮影画像ウインドウCWに撮影画像を配置して表示するとともに、画像表示ウインドウPWに、情報提供装置10から取得した出品画像をクエリ情報として並べて表示する。例えば、図1に示す例では、端末装置100は、ステップS1にて撮影された取引対象である缶ジュースの出品画像、珈琲豆の出品画像、ワインの出品画像、およびティッシュの出品画像を並べて表示する。なお、端末装置100は、各出品画像を、取引対象が認識される度に追加していってもよい。また、端末装置100は、操作ウインドウMWに、画像の撮影に関する各種操作を受付けるためのアイコンを表示する。
また、端末装置100は、画像表示ウインドウPWに並べて表示された出品画像を利用者が選択した場合は、出品画像が選択された取引対象の識別情報をECサーバ200に送信する(ステップS10)。このような場合、ECサーバ200は、受信した識別情報が示す出品対象、すなわち、出品画像が選択された出品対象の検索結果を価格順にリスティングした検索結果を生成し、生成した検索結果を端末装置100に提供する(ステップS11)。
〔2.端末装置が実行する処理について〕
続いて、図2を用いて、端末装置100における画面遷移の一例を説明する。図2は、実施形態に係る端末装置が表示する画面の一例を説明する図である。なお、図2に示す例では、端末装置100が表示する画面の一例を第1状態から第7状態に分けて記載した。
例えば、端末装置100は、表示処理を実行させるためのアプリケーションが起動された場合には、第1状態に示す画面を表示する。例えば、端末装置100は、撮影画像ウインドウCWにカメラが撮影しているプレビュー画像を明度を低下させた状態で表示するとともに、画像表示ウインドウPWに「スキャンを開始してください」等といったメッセージを表示する。また、端末装置100は、操作ウインドウMW上に、履歴ボタンHB、撮影ボタンSB、およびカメラロールボタンRBを表示する。
一方、端末装置100は、例えば、利用者が撮影ボタンSBを選択した場合には、第2状態に示すように、撮影中である旨を示す形状に変化させた撮影ボタンSBを表示するとともに、カメラが撮影する画像の撮影を開始する。そして、端末装置100は、第2状態に示すように、撮影画像を撮影画像ウインドウCWに表示するとともに、撮影した画像を情報提供装置10に順次送信する。
ここで、利用者が端末装置100を移動させながら画像(動画像)を撮影したものとする。このような場合、端末装置100は、撮影した画像を順次情報提供装置10へと送信し、情報提供装置10が認識した取引対象の出品画像を受付ける。すなわち、端末装置100は、動画像から取引対象が認識される度に、認識された取引対象を電子商店街で検索するための検索クエリを示すクエリ情報として、認識された取引対象の画像を追加表示する。
例えば、情報提供装置10が撮影画像から缶ジュースを認識し、缶ジュースの出品画像と識別情報とを端末装置100に提供したものとする。このような場合、端末装置100は、第2状態に示すように、情報提供装置10から、缶ジュースの出品画像と識別情報とを受付けた場合は、受付けた缶ジュースの出品画像をクエリ情報C1として画像表示ウインドウPWに表示する。
また、情報提供装置10は、撮影画像からマグカップに入った珈琲を認識する。このような場合、情報提供装置10は、CNNを用いた画像検索により、マグカップに入った珈琲の画像から、出品対象となる珈琲豆の識別情報と出品画像とを提供する。例えば、情報提供装置10は、マグカップに入った珈琲の画像から出品対象である珈琲豆との関係性を学習したCNNを用いた画像検索により、出品対象となる珈琲豆の識別情報と出品画像とを提供する。このような場合、端末装置100は、第3状態に示すように、マグカップに入った珈琲ではなく、珈琲豆の出品画像をクエリ情報C2として表示する。なお、情報提供装置10は、マグカップそのものを認識し、出品対象となるマグカップの識別情報と出品画像とを提供してもよい。
また、情報提供装置10は、ワインの出品画像と識別情報とを提供する。この結果、端末装置100は、ワインの出品画像をクエリ情報C3として表示する。また、情報提供装置10は、ティッシュペーパーの出品画像と識別情報とを提供する。この結果、端末装置100は、ティッシュペーパーの出品画像をクエリ情報C4として表示する。このように、端末装置100は、情報提供装置10が撮影画像から認識した順に、取引対象の出品画像をクエリ情報として順に追加表示する。そして、端末装置100は、画像表示ウインドウPW上で、横方向のスクロール操作を受付けた場合は、順に追加表示したクエリ情報C1〜C4をスクロールさせる。なお、端末装置100は、クエリ情報C1〜C4をカルーセル表示してもよい。
ここで、利用者が、珈琲豆のクエリ情報C2およびワインのクエリ情報C3を選択し、取引対象の検索を指示する操作を行ったものとする。このような場合、端末装置100は、選択された複数のクエリ情報が示す複数の検索クエリを用いて電子商店街の検索を行なった検索結果を表示する。例えば、端末装置100は、クエリ情報C2に対応する識別情報、すなわち、珈琲豆の識別情報と、クエリ情報C3に対応する識別情報、すなわち、ワインの識別情報とをECサーバ200に送信する。このような場合、ECサーバ200は、受付けた識別情報が付された出品対象を検索し、検索結果を端末装置100へと送信する。
この結果、端末装置100は、第4状態に示すように、電子商店街における取引対象の検索結果であって、撮影した取引対象のうち、利用者が所望する取引対象である珈琲豆とワインの検索結果を表示することができる。例えば、端末装置100は、電子商店街に出品された珈琲豆とワインとを安価な順に並べた検索結果を表示する。
そして、端末装置100は、検索結果の中から利用者がいずれかの出品対象を選択した場合は、出品対象を販売するコンテンツをECサーバ200から取得し、第5状態に示すように、取得したコンテンツを表示する。この結果、端末装置100は、画像を用いた取引対象の購入を適切に補助することができる。
ここで、第1状態に示す場合に、利用者がカメラロールボタンRBを選択した場合は、端末装置100は、第6状態に示す様に、端末装置100が過去に撮影した画像を並べた、所謂カメラロールCRと、検索ボタンDBとを表示する。すなわち、端末装置100は、端末装置100が所定の記憶領域に保持する画像を並べて表示する。そして、例えば、端末装置100は、利用者がカメラロールCR上からいずれかの画像を選択し、検索ボタンDBを選択した場合は、選択した画像を情報提供装置10へと送信することで、選択した画像に撮影された取引対象の出品画像と識別情報とを取得する。
そして、端末装置100は、第3状態に示すように、選択された画像を撮影画像ウインドウCWに表示するとともに、取得した出品画像をクエリ情報として表示する。すなわち、端末装置100は、カメラロールボタンRBが選択された場合は、過去に撮影された画像を並べて表示し、表示された画像を利用者が選択した場合は、選択された画像に含まれる取引対象の画像を、クエリ情報として複数表示する。
また、端末装置100は、第1状態に示す場合に、利用者が履歴ボタンHBを選択した場合には、第7状態に示すように、利用者が過去に購入した取引対象の出品画像や価格等を履歴として表示する。そして、端末装置100は、履歴として表示された出品画像のうち、いずれかの出品画像を選択した場合は、第5状態に示すように、選択された出品画像と対応する出品対象を販売するコンテンツをECサーバ200から取得して表示する。
〔3.情報提供装置が実行する処理の一例について〕
続いて、図3を用いて、情報提供装置10が実行する検索処理の一例を説明する。図3は、実施形態に係る情報提供装置が実行する検索処理の一例を示す図である。例えば、情報提供装置10は、出品対象に関する各種の情報が格納された出品対象データベース31を保持する。出品対象データベース31には、出品対象である取引対象を識別する出品対象ID(Identifier)、カテゴリパス、出品画像、識別情報、結合特徴量、および出品情報等といった情報が登録されている。
情報提供装置10は、このような出品対象データベース31に登録された情報を用いて、同一のカテゴリに属する取引対象を選択し、選択した取引対象の結合特徴量が有する特徴量を学習器であるCNNに学習させる(ステップS1)。すなわち、情報提供装置10は、カテゴリとそのカテゴリに属する出品対象との共起性をCNNに学習させる。
なお、上述したCNNの学習については、以下に説明する検索処理の前段階として実行されればよい。また、情報提供装置10は、CNNの学習を自装置で実行する必要はなく、例えば、所定の学習装置によって学習が行われたCNNを用いて、以下に説明する検索処理を実行してもよい。
続いて、情報提供装置10は、撮影画像を端末装置100から受付ける(ステップS2)。このような場合、情報提供装置10は、撮影画像にバーコードが含まれているか否かを判定し(ステップS3)、バーコードが含まれている場合は、かかるバーコードと対応する取引対象の識別情報と出品画像とを端末装置100に提供する(ステップS4)。
また、情報提供装置10は、撮影画像からバーコードが撮影されていなかった取引対象を認識し(ステップS5)、認識した取引対象が撮影された範囲を対象画像として抽出する(ステップS6)。そして、情報提供装置10は、対象画像をCNNに入力し、リーフカテゴリを推定する(ステップS7)。また、情報提供装置10は、推定したリーフカテゴリまでのカテゴリパスを取得する(ステップS8)。そして、情報提供装置10は、取得したカテゴリパスの特徴量、すなわち、カテゴリ特徴量を取得する(ステップS9)。
また、情報提供装置10は、対象画像の画像特徴量を取得し(ステップS10)、カテゴリ特徴量と画像特徴量とを結合した結合特徴量を生成する(ステップS11)。そして、情報提供装置10は、結合特徴量を用いて、撮影された取引対象と対応する出品対象の検索を行い(ステップS12)、検索した出品対象の識別情報と出品画像とを取得する(ステップS13)。その後、情報提供装置10は、識別情報と出品画像とを端末装置100に提供する(ステップS14)。
なお、情報提供装置10は、端末装置100からストリーミング送信された画像から、取引対象を認識する度に、ステップS6〜ステップS13に示す処理を実行することで、撮影された取引対象の出品画像と識別情報とを端末装置100に随時提供することとなる。
〔4.処理のバリエーションについて〕
続いて、情報提供装置10および端末装置100が実行する処理のバリエーションの一例について説明する。
〔4−1.検索について〕
上述した例では、端末装置100は、電子商店街に出品された出品対象のうち、撮影された取引対象と同じ出品対象の出品画像を、その出品対象を検索するためのクエリ情報として表示した。しかしながら、実施形態は、これに限定されるものではない。例えば、端末装置100は、撮影された画像に含まれる取引対象の画像を、その取引対象およびその取引対象と関連する他の取引対象を電子商店街で検索するための検索クエリを示すクエリ情報として表示してもよい。例えば、端末装置100は、撮影された取引対象と類似する出品対象を検索するためのクエリ情報を表示してもよい。また、端末装置100は、撮影された画像に含まれる取引対象と関連する他の取引対象の画像を、他の取引対象を電子商店街で検索するための検索クエリを示すクエリ情報として表示してもよい。
より具体的な例を挙げると、端末装置100は、缶ジュースが撮影された場合は、容量が同じ缶ジュースだけではなく、内容物が同じであって、容量が異なる缶ジュースやペットボトルに入れられたジュースを検索するためのクエリ情報を表示してもよい。このようなクエリ情報は、検索対象となる出品対象ごとに異なる画像であってもよく、例えば、ある1つのクエリ情報に、類似する複数の出品対象を検索するための複数の識別情報を対応付けることで実現してもよい。
このような表示を行う場合、情報提供装置10は、画像に撮影された取引対象に対応する出品対象として、画像に撮影された取引対象と類似する出品対象、または、画像に撮影された取引対象と所定の関連性を有する出品対象を検索することとなる。例えば、情報提供装置10は、上述した検索処理を実行することで、缶ジュースが撮影された画像から、撮影された缶ジュースと同一の出品対象を特定し、特定した出品対象の識別情報を取得する。また、情報提供装置10は、取得した識別情報を用いて、撮影された缶ジュースと類似する他の出品対象(例えば、内容物が同じで容量が異なる出品対象や容器が異なる出品対象等)の識別情報を取得する。
そして、情報提供装置10は、撮影された缶ジュースと同一の出品対象の出品画像と、取得した複数の識別情報とを対応付けて端末装置100へと送信する。このような場合、端末装置100は、受付けた出品画像をクエリ情報として表示するとともに、そのクエリ情報が選択された場合は、出品画像が示す出品対象のみならず、その出品対象と類似する他の出品対象を含む検索結果を表示することとなる。
また、端末装置100は、クエリ情報が示す取引対象そのもの以外にも、クエリ情報が示す取引対象と関連する取引対象の検索結果を表示してもよい。例えば、一般的なプリンタは、インクやトナーがプリンタ内部に設置されているため、画像検索によりインクやトナーを購入する場合は、プリンタのカバー等を取り外して、写真を撮影する必要がある。そこで、端末装置100は、プリンタが撮影された場合は、プリンタ本体を検索するためのクエリ情報のみならず、そのプリンタで使用されるインクやトナー等を検索するクエリ情報を表示する。
例えば、端末装置100は、プリンタが撮影された画像を情報提供装置10へと送信する。このような場合、情報提供装置10は、撮影されたプリンタの識別情報を取得し、取得した識別情報から、撮影されたプリンタで使用されるインクやトナー等、撮影されたプリンタと関連する他の出品対象を特定し、特定した出品対象の識別情報を取得する。そして、情報提供装置10は、撮影されたプリンタの出品画像と、取得した複数の識別情報とを対応付けて端末装置100に提供してもよい。
また、情報提供装置10は、プリンタ、インク、トナー等、特定した出品対象ごとに出品画像と識別情報との組を端末装置100に提供してもよい。このような場合、情報提供装置10は、プリンタを撮影した場合に、プリンタそのものを検索するためのクエリ情報のみならず、撮影されたプリンタで使用するインクやトナーを検索するためのクエリ情報をも表示することができる。なお、情報提供装置10は、撮影されたプリンタのマニュアル等を特定し、特定したマニュアルの識別情報を提供してもよい。
なお、検索結果の表示順序については、任意の順序が採用可能である。例えば、端末装置100は、選択されたクエリ情報と対応する識別情報が付与された出品対象を、価格順に並べた検索結果を表示してもよく、利用者の属性に応じた順序で並べた検索結果を表示してもよい。また、端末装置100は、例えば、販売数順、閲覧数順、人気順、各出品者が電子商店街に対して提供する報酬(例えば、広告額)の順等、任意の順序で並び替えが行われた検索結果を表示して良い。また、端末装置100は、飲食料に属する出品対象を、カロリーの順に並べて表示してもよい。また、端末装置100は、検索結果として、若しくは、検索結果中に、各出品対象に対するレビューの文面を合わせて表示してもよい。
また、端末装置100は、複数のクエリ情報が選択された場合は、選択されたクエリ情報と対応する識別情報ごとに、出品対象の検索を行ってもよく、例えば、選択されたクエリ情報と対応する取引対象がセット商品となっている出品対象の検索を行ってもよい。より具体的な例を挙げると、端末装置100は、珈琲豆を示すクエリ情報と、ワインを示すクエリ情報とが選択された場合は、珈琲豆とワインとのセット商品を検索してもよい。
また、端末装置100は、選択された複数のクエリ情報と対応する出品対象をそれぞれ購入した場合に、最安値となるように、出品対象の検索結果を表示してもよい。例えば、端末装置100は、珈琲豆を示すクエリ情報と、ワインを示すクエリ情報とが選択された場合は、珈琲豆とワインとをそれぞれ購入した際に、送料を含めて最安値となる出品対象の組み合わせを検索する。
例えば、A店で珈琲豆が「500円」で販売されており、B店で珈琲豆が「700円」、ワインが「1000円」で販売されているものとする。また、購入物品や数に係わらず、A店での送料は「400円」であり、B店での送料は「600円」であるものとする。このような場合、珈琲豆をA店で購入し、ワインをB店で購入した場合、送料がそれぞれにかかるため、合計金額は、「2500円」となる。一方、珈琲豆とワインとをB店で購入した場合、送料が「600円」で済むため、合計金額は「2300円」となる。このような場合、端末装置100は、検索結果として、B店の珈琲豆およびワインを表示してもよい。
〔4−2.クエリ情報の表示形式について〕
上述した例では、端末装置100は、図2に示す表示態様で、クエリ情報の表示を行った。しかしながら、実施形態は、これに限定されるものではない。例えば、端末装置100は、撮影された取引対象の出品画像をクエリ情報として表示するのであれば、任意の画面レイアウトにおける任意の位置にクエリ情報を表示して良い。
また、例えば、端末装置100は、撮影された取引対象のうちどの取引対象と対応するクエリ情報であるかを示す情報を表示してもよい。例えば、端末装置100は、受信した出品画像と対応する取引対象が撮影された範囲を囲むアイコンを撮影画像ウインドウCWに表示してもよい。また、例えば、端末装置100は、利用者がクエリ情報を選択した際に、選択したクエリ情報と対応する取引対象が撮影された範囲を囲むアイコンを表示してもよい。このような処理は、例えば、情報提供装置10が、出品画像と識別情報との組とともに、端末装置100が撮影した画像のうち、その識別情報が示す取引対象が撮影された範囲を示す範囲情報を端末装置100へと通知することで、実現可能である。
また、端末装置100は、出品画像を受信した場合は、撮影された画像のうち、受信した出品画像と対応する取引対象が撮影された範囲に受信した出品画像を重ねて表示し、その後、出品画像が画像表示ウインドウPWに落ちていくといった対応で、クエリ情報の表示を行ってもよい。このように、端末装置100は、撮影された取引対象のうちどの取引対象と対応するクエリ情報であるかを示す情報を表示することで、操作性をさらに向上させることができる。
なお、端末装置100は、取引対象の画像を撮影する際に、クエリ情報と共に、クエリ情報若しくはクエリ情報が示す検索クエリに関する情報であって、電子商店街に登録された情報を合わせて表示してもよい。例えば、情報提供装置10は、取引対象の画像(すなわち、クエリ情報)と、対応する識別情報と共に、識別情報が示す取引対象の販売価格であって、最も安い販売価格を端末装置100へと送信する。このような場合、端末装置100は、クエリ情報として、取引対象の画像を表示するとともに、かかる画像に情報提供装置10から受付けた販売価格を示す数値を重ねて表示してもよい。このような表示を行うことで、端末装置100は、クエリ情報に電子商店街における最安値を重ねて表示することができる。
なお、端末装置100は、撮影画像から抽出された画像に、電子商店街における最安値を重ねて表示してもよい。また、端末装置100は、販売対象となる取引対象のうち、販売数が最も多い店舗における取引対象の販売価格、閲覧数が最も多い店舗における取引対象の販売価格、人気が最も多い取引対象の販売価格、利用者の属性に応じて選択された取引対象の販売価格等、任意の基準で選択された取引対象の販売価格をクエリ情報と重ねて表示してもよい。また、端末装置10は、クエリ情報と、販売価格とを並べて表示してもよく、送料、取引対象を販売する店舗の名称、店舗や出品対象に対する評価やレビュー等、電子商店街に登録された各種の情報のうち、販売価格以外の情報を表示してもよい。
〔4−3.履歴の表示形式について〕
ここで、端末装置100は、クエリ情報として取得した画像の履歴(以下、「履歴画像」と記載する)を表示する際に、任意の形式で表示を行ってよい。例えば、端末装置100は、画像を撮影した結果、出品画像をクエリ情報として受信した際、または、カメラロールCRから過去に画像が選択され、出品画像をクエリ情報として受信した場合は、撮影した画像や選択された画像と、受信したクエリ情報とを対応付けて記憶しておく。そして、端末装置100は、カメラロールCRから画像が選択された場合は、選択された画像と対応付けて記憶されたクエリ情報を表示してもよい。すなわち、端末装置100は、過去に撮影された画像が選択された場合は、履歴画像として、選択された画像に含まれる複数の取引対象の画像の組をクエリ情報として表示してもよい。
また、端末装置100は、履歴画像として、過去にクエリ情報として受信した出品画像を、時系列順に並べて表示してもよい。また、端末装置100は、履歴画像として、過去に服襟情報として受信した出品画像のうち、利用者が過去にクエリ情報として選択した回数、利用者が対応する出品対象を購入した回数、利用者が対応する出品対象を閲覧した回数等、利用者が過去に撮影した取引対象を容易に検索することができるのであれば、任意の順序でクエリ情報の履歴を表示してもよい。
ここで、過去に撮影した動画像から、利用者が所望する取引対象が撮影された範囲を検索するのは、手間がかかると考えられる。そこで、端末装置100は、過去に撮影した動画像から生成されたパノラマ写真と、動画像に含まれる複数の取引対象を検索するためのクエリ情報との組を表示してもよい。例えば、情報提供装置10は、動画像を受信すると、受信した動画像から取引対象の認識等を行うとともに、動画像から横長のパノラマ写真を生成する。このようなパノラマ写真の生成は、動画像から横長の写真を生成する任意の技術が採用可能である。なお、情報提供装置10は、動画像のうち、取引対象が認識された範囲のみを繋げたパノラマ写真を生成してもよい。そして、情報提供装置10は、生成したパノラマ写真と、クエリ情報となる出品画像を端末装置100に送信する。
このような場合、端末装置100は、パノラマ写真とクエリ情報とを対応付けて記憶する。また、端末装置100は、カメラロールCRからパノラマ写真が選択された場合は、パノラマ写真の一部を撮影画像ウインドウCWに配置して表示するとともに、パノラマ写真のうち、撮影画像ウインドウCW上に表示されている範囲に撮影されている取引対象のクエリ情報を表示する。そして、端末装置100は、パノラマ写真に対するスクロール操作が行われた場合は、パノラマ写真をスクロールさせるとともに、画像表示ウインドウPWに表示されるクエリ情報を、撮影画像ウインドウCW上に表示されている範囲に撮影されている取引対象のクエリ情報に順次切り替える。このような処理を実行することで、端末装置100は、動画像から利用者が所望する取引対象を探す際の操作性を向上させることができる。
なお、例えば、端末装置100は、撮影画像ウインドウCWに表示された画像の拡大や縮小に応じて、表示されるクエリ情報を変更してもよい。すなわち、端末装置100は、画像全体に撮影されている取引対象のクエリ情報のうち、画面上に表示されている取引対象のクエリ情報のみを表示してもよい。
〔4−4.クエリ情報として表示される画像について〕
上述した例では、端末装置100は、撮影された取引対象の画像であって、電子商店街に登録された画像である出品画像をクエリ情報として表示した。しかしながら、実施形態は、これに限定されるものではない。例えば、情報提供装置10は、撮影された取引対象を検索するための識別情報と、撮影された画像から抽出した取引対象の画像とを端末装置100に提供してもよい。このような場合、情報提供装置10は、撮影された画像から抽出された取引対象の画像そのものをクエリ情報として表示することとなる。
なお、端末装置100は、各種の画像認識技術を用いて、撮影された画像から取引対象の画像を抽出し、抽出した画像を情報提供装置10へと送信する。このような場合、情報提供装置10は、受信した画像から取引対象の識別情報を特定し、特定した識別情報を端末装置100へと送信する。このような場合、端末装置100は、抽出した画像をクエリ情報として表示し、表示されたクエリ情報が選択された場合は、情報提供装置10から受信した識別情報を用いて、電子商店街における検索結果を表示してもよい。
〔4−5.情報提供装置が実行する処理について〕
ここで、情報提供装置10は、撮影された全ての取引対象について、上述した検索処理を実行する必要はない。例えば、情報提供装置10は、図3に示すように、取引対象に付与されたバーコードを識別することができる場合は、識別したバーコードを用いて、撮影された取引対象と同一の出品対象を特定し、特定した出品対象の出品画像や識別情報を提供してもよい。
また、情報提供装置10は、上述した検索処理を、出品対象が属するカテゴリごとに段階的に実行してもよい。例えば、情報提供装置10は、全カテゴリを、最上位カテゴリが共通する複数のカテゴリ群に分割する。具体的な例を挙げると、情報提供装置10は、ファッションに属するカテゴリ群、飲食料に属するカテゴリ群、パソコン機器に属するカテゴリ群等に分割する。また、情報提供装置10は、カテゴリ群ごとに、そのカテゴリ群のリーフカテゴリと、そのリーフカテゴリに属する出品情報の結合特徴量との関係を学習させたCNNを保持する。
そして、情報提供装置10は、撮影された取引対象の画像から、取引対象がどのカテゴリ群に属する取引対象であるかを推定し、推定したカテゴリ群に対応するCNNを用いて、取引対象が属するリーフカテゴリを特定してもよい。なお、取引対象がどのカテゴリ群に属するかを推定する際は、任意の分類技術が採用可能である。
また、例えば、情報提供装置10は、ファッションに属するカテゴリ群と対応するCNNを用いて、取引対象がファッションに属するか否かを判定し、取引対象がファッションに属さないと判定された場合は、飲食料に属するカテゴリ群と対応するCNNを用いて、取引対象が飲食料に属するか否かを判定してもよい。すなわち、情報提供装置10は、取引対象が属するカテゴリを段階的に推定してもよい。例えば、情報提供装置10は、あるカテゴリ群と対応するCNNに取引対象の画像を入力した際に、各リーフカテゴリに属する確度が所定の閾値を下回る場合は、そのカテゴリ群に取引対象が属していないと判定してもよい。また、情報提供装置10は、取引対象の画像特徴量を取得する際、カテゴリ群ごとに学習を行ったCNN等の学習器を用いて、取引対象の画像特徴量を取得してもよい。
また、画像に含まれる特徴点の共通性に基づいて、撮影された取引対象と同一又は関連する取引対象を検索する技術が知られている。例えば、隣接する画素間の色彩の差等に基づいて、画像に含まれる境界を特徴点として特定し、特定した特徴点同士の位置関係等の共通性に基づいて、撮影された取引対象と同一又は関連する取引対象を検索する技術が知られている。そこで、情報提供装置10は、上述した検索処理に先駆けて、特徴点を用いた出品対象の検索を行えるか否かを判定し、特徴点を用いた出品対象の適切な検索を行える場合は、特徴点を用いて出品対象の検索を行い、特徴点を用いて出品対象の適切な検索を行えないと判定した場合は、CNNを用いたリーフカテゴリの推定等、上述した検索処理を実行してもよい。
例えば、情報提供装置10は、撮影画像に含まれる特徴点を用いて、撮影された取引対象と対応する出品対象を検索できるか否かを判定する。例えば、情報提供装置10は、特徴点を用いた出品対象の検索を適切に行えた画像の特徴や、特徴点を用いた出品対象の検索が適切に行えなかった画像の特徴を学習したCNNを用いて、撮影画像が特徴点を用いた出品画像の検索に適しているか否かを判定する。
そして、情報提供装置10は、特徴点を用いた出品対象の検索が適切に行えると判定した場合は、特徴点を用いて、撮影された取引対象と対応する出品対象の検索を行う。一方、情報提供装置10は、特徴点を用いた出品対象の検索が適切に行えないと判定した場合は、取引対象の結合特徴量を生成し、生成した結合特徴量を用いて、出品対象の検索を行ってもよい。また、例えば、情報提供装置10は、特徴点を用いた出品対象の検索を実行し、所定の確度算出技術を用いて検索結果の確度を算出し、算出した確度が所定の閾値を下回る場合は、上述した検索処理を実行してもよい。
〔4−6.結合特徴量について〕
上述した情報提供装置10は、カテゴリ特徴量と画像特徴量とを結合した結合特徴量を用いて、出品対象の検索を実行した。ここで、情報提供装置10は、カテゴリ特徴量と画像特徴量とを総合的に用いるのであれば、任意の手法で出品対象の検索を実行してもよい。
例えば、特徴量同士の比較処理は、ユークリッド距離やマンハッタン距離等といった所定の距離関数の値(すなわち、特徴量空間における距離)や、コサイン類似度等といった特徴量空間における向きの比較によって実現可能である。ここで、情報提供装置10は、カテゴリ特徴量同士の比較結果と、画像特徴量同士の比較結果とを総合的に用いて、出品対象の検索を実行してもよい。
また、例えば、情報提供装置10は、カテゴリ特徴量と画像特徴量とを単純に結合した結合特徴量を生成してもよい。例えば、情報提供装置10は、カテゴリ特徴量の値を上位の値とし、画像特徴量の値を下位の値とする結合特徴量を生成し、生成した結合特徴量同士の比較結果に基づいて、出品対象の検索を実行してもよい。このような処理を実行した場合、結合特徴量同士のユークリッド距離を算出した場合は、カテゴリ同士の比較結果がより重要視された検索結果を得ることができる。
また、例えば、情報提供装置10は、カテゴリ特徴量の値を下位の値とし、画像特徴量の値を上位の値として、カテゴリ特徴量と画像特徴量とを結合した結合特徴量を生成し、生成した結合特徴量同士の比較結果に基づいて、出品対象の検索を実行してもよい。このような処理を実行した場合、結合特徴量同士のユークリッド距離を算出した場合は、画像の比較結果(すなわち、外観の比較結果)がより重要視された検索結果を得ることができる。
また、情報提供装置10は、任意の重みづけや次元圧縮等を行って、結合特徴量を生成してもよい。例えば、情報提供装置10は、カテゴリ特徴量と画像特徴量とのそれぞれを独立したベクトルとし、出品対象のカテゴリ特徴量と画像特徴量とのそれぞれとのユークリッド距離を求め、各ユークリッド距離の重みを考慮した加重平均を求めることにより、出品対象の検索を行ってもよい。前述した結合特徴量の上位および下位の値の設定は、この荷重を適切に設定することでも実現可能である。すなわち、情報提供装置10は、カテゴリ特徴量同士の比較結果と、画像特徴量同士の比較結果とを総合的に用いることができるのあれば、任意の設計が採用された特徴量空間を用いて、出品対象の検索を行ってよい。
また、情報提供装置10は、カテゴリ特徴量と画像特徴量とで異なる特徴量空間を生成し、生成した特徴量空間での出品対象の検索を行ってもよい。ここで、情報提供装置10は、カテゴリ特徴量の比較に用いる距離関数と、画像特徴量の比較に用いる距離関数とで、異なる距離関数を採用してもよい。
なお、情報提供装置10は、取引対象が各カテゴリに属する確度に基づいて、カテゴリ特徴量の算出を行ってもよい。例えば、情報提供装置10は、CNNに取引対象の画像を入力した際に、第1カテゴリに属する確度「40」、第2カテゴリに属する確度「40」、および第3カテゴリに属する確度「20」をCNNが出力した場合、ルートカテゴリから第1カテゴリまでの第1カテゴリパスと、ルートカテゴリから第2カテゴリまでの第2カテゴリパスと、ルートカテゴリから第3カテゴリまでの第3カテゴリパスを特定する。
そして、情報提供装置10は、第1カテゴリパスの特徴量と第2カテゴリパスの特徴量と第3カテゴリパスの特徴量とを、第1カテゴリから第3カテゴリに属する確度に応じた重みづけて合計した特徴量をカテゴリ特徴量として生成する。例えば、情報提供装置10は、第1カテゴリパスの特徴量に0.4を積算した値と、第2カテゴリパスの特徴量に0.4を積算した値と、第3カテゴリパスの特徴量に0.2を積算した値との合計をカテゴリ特徴量とする。
なお、情報提供装置10は、確度が所定の値を超えたカテゴリのみを用いて、カテゴリ特徴量を算出してもよい。例えば、情報提供装置10は、第1カテゴリパスの特徴量と第2カテゴリパスの特徴量とを合計し、2で除算した値を特徴量としてもよい。
〔4−7.学習について〕
ここで、上述した情報提供装置10は、取引対象とその取引対象が属するカテゴリのカテゴリパスとの関係をCNNに学習させるのではなく、取引対象とその取引対象が属するリーフカテゴリとの関係をCNNに学習させ、取引対象が属すると推定されたリーフカテゴリから、カテゴリパスを取得した。この結果、情報提供装置10は、例えば、電子商店街のようにカテゴリの階層構造が動的に変化するような場合にも、再学習を行うことなく、カテゴリパスを考慮したカテゴリ特徴量を算出することができる。
しかしながら、実施形態は、これに限定されるものではない。例えば、情報提供装置10は、取引対象とその取引対象が属するカテゴリのカテゴリパスとの関係をCNNに学習させ、撮影画像に含まれる取引対象が属するカテゴリまでのカテゴリパスを推定してもよい。また、情報提供装置10は、最下層のリーフカテゴリ以外にも、任意の階層のカテゴリとそのカテゴリに属する取引対象との関係性をCNNに学習させ、取引対象が属するカテゴリの推定を行ってもよい。
また、情報提供装置10は、電子商店街に登録された出品画像以外にも、例えば、マイクロブログ等に投稿された取引対象の画像や、ウェブ検索等で取得可能な取引対象の画像を学習データとして採用してもよい。このように、情報提供装置10は、出品画像のみならず、一般的な画像を学習データとして採用することで、利用者が撮影した撮影画像から取引対象の識別情報を精度よく特定することができる。
〔4−8.認識対象について〕
ここで、端末装置100は、取引対象の認識精度を向上させるための操作を利用者から受付けてもよい。例えば、端末装置100は、撮影された画像を表示するとともに、利用者が画像上をタップした場合は、タップした位置を情報提供装置10に送信する。このような場合、情報提供装置10は、タップされた位置に撮影されている取引対象を識別し、識別した取引対象の識別情報を取得してもよい。また、情報提供装置10は、タップされた位置に撮影されている取引対象の識別情報のみを取得してもよい。
〔5.端末装置の構成〕
次に、図4を用いて、実施形態に係る端末装置100の構成について説明する。図4は、実施形態に係る端末装置の構成例を示す図である。図4に示すように、端末装置100は、通信部110と、入力部120と、出力部130と、カメラ140と、制御部150とを有する。
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部110は、ネットワークNと有線または無線で接続され、情報提供装置10およびECサーバ200との間で情報の送受信を行う。
入力部120は、利用者から各種操作を受け付ける入力装置である。例えば、入力部120は、キーボードやマウスや操作キー等によって実現される。出力部130は、各種情報を表示するための表示装置である。例えば、出力部130は、液晶ディスプレイ等によって実現される。なお、端末装置100にタッチパネルが採用される場合には、入力部120と出力部130とは一体化される。カメラ140は、動画像や静止画像等の画像を撮影可能なカメラであり、各種のデジタルカメラにより実現される。
制御部150は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等のプロセッサによって、端末装置100内部の記憶装置に記憶されている各種プログラムがRAM等を作業領域として実行されることにより実現される。また、制御部150は、コントローラ(controller)であり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。
図4に示すように、制御部150は、要求部151と、操作制御部152と、表示制御部153とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部150の内部構成は、図4に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部150が有する各処理部の接続関係は、図4に示した接続関係に限られず、他の接続関係であってもよい。
要求部151は、ECサーバ200に対し、識別情報を送信することで、識別情報が示す取引対象であって、電子商店街に出品された取引対象である出品対象の検索結果を要求する。例えば、要求部151は、画面上に表示されたクエリ情報が選択され、電子商限外の検索を行うための所定の操作が行われた場合は、クエリ情報と対応する識別情報をECサーバ200に送信し、検索結果を取得する。そして、要求部151は、検索結果を取得した場合は、表示制御部153に検索結果を出力する。
操作制御部152は、入力部120を介して受け付けた利用者の操作にしたがって、各種制御を実行する。例えば、操作制御部152は、利用者の選択処理や各種操作の内容を、要求部151や表示制御部153に出力し、各種制御を実行させる。なお、操作制御部152が出力する操作内容としては、例えば、画面上におけるスクロール操作やタップ等の選択操作等である。
表示制御部153は、撮影画像やクエリ情報、検索結果等の各種コンテンツの表示を行う。例えば、表示制御部153は、制御部150が、表示処理を実行させる表示プログラムやアプリケーションをRAMを作業領域として実行することで、図4に示すように撮影部154、取得部155、および表示部156として動作する。
撮影部154は、画像を撮影する。例えば、撮影部154は、撮影ボタンSBがタップされた場合は、カメラ140を用いて、静止画像または動画像の撮影を行う。また、撮影部154は、撮影した画像を端末装置100が有する不揮発性の記憶領域(図示は、省略)に登録する。なお、撮影部154は、所謂クラウド上に存在する端末装置100用の記憶領域に、撮影した画像を登録してもよい。
取得部155は、撮影された画像に含まれる取引対象の画像を取得する。例えば、取得部155は、撮影した画像に含まれる取引対象の画像であって、電子商店街に登録された取引対象の画像を取得する。例えば、取得部155は、撮影部154によって撮影された画像を情報提供装置10に対してストリーミング形式で送信する。そして、取得部155は、撮影された取引対象であって、電子商店街に登録された取引対象の画像(すなわち、出品画像)と、取引対象を電子商店街で識別する識別情報を情報提供装置10から取得する。すなわち、取得部155は、画像に撮影された取引対象の画像であって、電子商店街に登録された取引対象の画像を検索する情報提供装置10に対して、カメラ140を用いて撮影された画像を出力する。
表示部156は、撮影された画像に含まれる取引対象の画像を、取引対象を電子商店街で検索するための検索クエリを示すクエリ情報として、撮影した画像と共に複数表示する。例えば、表示部156は、撮影画像ウインドウCWに撮影部154が撮影した画像を表示する。また、表示部156は、取得部155によって出品画像と対応する識別情報とが取得される度に、取得された出品画像をクエリ情報として画像表示ウインドウPWに順次追加表示する。そして、表示部156は、例えば、利用者が画像表示ウインドウPW上でスクロール操作を行った場合は、画像表示ウインドウPW上に表示したクエリ情報をスクロールさせる。すなわち、表示部156は、出品画像を、出品画像が示す取引対象を電子商店街で検索するための検索クエリである識別情報を示す情報として表示する。
また、表示部156は、表示したクエリ情報が選択された場合は、選択されたクエリ情報と対応する識別情報を要求部151に出力する。この結果、要求部151は、選択されたクエリ情報と対応する識別情報を用いた電子商店街の検索結果をECサーバ200から取得する。そして、表示部156は、取得された検索結果を表示する。なお、表示部156は、複数のクエリ情報が選択された場合は、選択された複数のクエリ情報と対応する複数の識別情報を用いた検索結果を表示することとなる。
なお表示部156は、情報提供装置10が撮影された取引対象と類似もしくは関連する取引対象を検索する場合、撮影された取引対象と関連する他の取引対象の出品画像をクエリ情報として表示することとなる。また、表示部156は、情報提供装置10が撮影された取引対象の出品画像と、その取引対象およびその取引対象と類似若しくは関連する取引対象の識別情報とを対応付けて提供する場合は、撮影画像に含まれる取引対象の画像を、その取引対象およびその取引対象と類似もしくは関連する他の取引対象を電子商店街で検索するための検索クエリを示すクエリ情報として表示することとなる。
なお、表示部156は、情報提供装置10が出品画像ではなく、撮影画像のうち取引対象が含まれる領域の画像を提供する場合は、その画像をクエリ情報として表示してもよい。また、例えば、取得部155は、撮影された画像のうち、取引対象が含まれる領域を画像解析技術等によって特定し、特定した範囲のみを情報提供装置10に送信することで、取引対象の識別情報を取得する。このような場合、表示部156は、撮影画像のうち取得部155によって特定された範囲を、クエリ情報として表示してもよい。
また、表示部156は、カメラロールボタンRBが選択された場合は、過去に撮影された画像を不揮発性の記憶領域やクラウド上の記憶領域から読出し、読み出した画像を並べて表示する。そして、取得部155は、表示された画像のいずれかを利用者が選択した場合は、選択された画像を情報提供装置10に送信し、出品画像や識別情報を取得する。そして、表示部156は、取得された出品画像をクエリ情報として表示してもよい。
また、表示部156は、履歴として、同一の画像に含まれる複数の取引対象の画像の組を表示してもよい。例えば、取得部155は、撮影または選択された画像と、画像から取得された出品画像と識別情報との組とを対応付けて所定の記憶領域に格納する。そして、表示部156は、過去に撮影された画像が選択された場合は、選択された画像と対応付けられた全ての出品画像をクエリ情報として表示してもよい。すなわち、表示部156は、クエリ情報の履歴を表示する場合は、取得元となる画像単位で、クエリ情報の履歴を表示してもよい。
また、表示部156は、撮影された動画像から生成されたパノラマ写真と、その動画像に含まれる取引対象の画像の組とを表示してもよい。例えば、取得部155は、情報提供装置10によって生成されたパノラマ写真と、出品画像および識別情報とを対応付けて所定の記憶領域に登録する。また、表示部156は、カメラロールボタンRBが選択された場合は、パノラマ写真若しくは生成元となる動画像のサムネイルを表示し、サムネイルが選択された場合は、パノラマ写真とともに、対応付けられた出品画像をクエリ情報として表示してもよい。また、表示部156は、パノラマ写真のうち表示されている範囲に撮影されている取引対象の出品画像のみをクエリ情報として表示してもよく、パノラマ写真のスクロールに応じて、表示するクエリ情報を変更してもよい。
なお、表示部156は、撮影画像のうち、クエリ情報と対応する取引対象が識別された範囲に所定のアイコンを表示してもよく、クエリ情報と対応する取引対象が識別された場所にクエリ情報を表示してから、徐々に画像表示ウインドウPWへと移動させてもよい。また、表示部156は、選択されたクエリ情報を強調表示してもよく、撮影画像のうち、選択されたクエリ情報と対応する取引対象が識別された範囲に所定のアイコンを表示してもよい。
〔6.情報提供装置の構成〕
続いて、上記した情報提供装置10が有する機能構成の一例について説明する。図5は、実施形態に係る情報提供装置の構成例を示す図である。図5に示すように、情報提供装置10は、通信部20、記憶部30、および制御部40を有する。
通信部20は、例えば、NIC等によって実現される。そして、通信部20は、ネットワークNと有線または無線で接続され、端末装置100やECサーバ200との間で情報の送受信を行う。
記憶部30は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部30は、出品対象データベース31、カテゴリデータベース32、およびモデルデータベース33を記憶する。
以下、図6〜図8を用いて、各データベース31〜33に登録される情報の一例について説明する。例えば、出品対象データベース31には、出品対象に関する各種の情報が登録される。例えば、図6は、実施形態に係る出品対象データベースに登録される情報の一例を示す図である。図6に示す例では、出品対象データベース31には、「出品対象ID」、「カテゴリパス」、「出品画像」、「識別情報」、「結合特徴量」、「出品情報」といった項目を有する情報が登録される。
ここで、「出品対象ID」とは、出品対象を一意に示す識別子である。また、「カテゴリパス」とは、対応付けられた「出品対象ID」が示す出品対象が属するカテゴリのカテゴリパスである。また、「出品画像」とは、対応付けられた「出品対象ID」が示す出品対象の画像であって、出品者によって電子商店街に登録された画像である。また、「識別情報」とは、対応付けられた「出品対象ID」が示す出品対象として登録された取引対象を識別する識別情報であり、異なる「出品対象ID」が示す出品対象であっても、同一の取引対象に対しては、同一の値が識別情報として登録される。また、「結合特徴量」とは、対応付けられた「出品対象ID」が示す出品対象のカテゴリ特徴量および画像特徴量から生成される結合特徴量である。また、「出品情報」とは、対応付けられた「出品対象ID」が示す出品対象の価格や説明文等といった、各種出品対象に関する情報である。
例えば、図6に示す例では、出品対象データベース31には、出品対象ID「出品対象#A」、カテゴリパス「カテゴリ#1>カテゴリ#1−1・・・」、出品画像「画像#A」、識別情報「識別情報#A」、結合特徴量「結合特徴量#A」、出品情報「出品情報#A」が対応付けて登録されている。このような情報は、出品対象ID「出品対象#A」が示す出品対象が、カテゴリパス「カテゴリ#1>カテゴリ#1−1・・・」が示すカテゴリに属しており、出品画像が「画像#A」である旨を示す。また、このような情報は、出品対象ID「出品対象#A」が示す出品対象が、識別情報「識別情報#A」が示す取引対象であり、結合特徴量が「結合特徴量#A」であり、出品情報が「出品情報#A」である旨を示す。
なお、図6に示す例では、「出品対象#A」、「カテゴリ#1」、「画像#A」、「識別情報#A」、「結合特徴量#A」、「出品情報#A」等といった概念的な値を記載したが、実際には、各出品対象を識別するための数値や文字列、カテゴリを示す数値や文字列、画像データ、取引対象を識別するための数値や文字列、特徴量の値、出品対象に関する各種の情報等が登録されることとなる。
カテゴリデータベース32には、電子商店街におけるカテゴリの構造が登録される。例えば、図7は、実施形態に係るカテゴリデータベースに登録される情報の一例を示す図である。図7に示すように、カテゴリデータベース32には、「第1階層カテゴリ」、「第2階層カテゴリ」、「第3階層カテゴリ」、および「カテゴリ特徴量」が対応付けて登録されている。なお、図7に示す例では、電子商店街におけるカテゴリが3段階の階層構造を有する例について記載したが、実際には、カテゴリデータベース32には、任意の階数の階層構造を有するカテゴリの情報が登録されていてもよい。
ここで、「第1階層カテゴリ」、「第2階層カテゴリ」、および「第3階層カテゴリ」は、各階層のカテゴリを示す情報である。また、「カテゴリ特徴量」とは、対応付けられた「第1階層カテゴリ」、「第2階層カテゴリ」、および「第3階層カテゴリ」からなるカテゴリパスが有するカテゴリ特徴量である。
例えば、図7に示す例では、カテゴリデータベース32には、第1階層カテゴリ「カテゴリ#1」、第2階層カテゴリ「カテゴリ#1−1」、第3階層カテゴリ「カテゴリ#1−1−1」、およびカテゴリ特徴量「特徴量#1−1−1」が対応付けて登録されている。このような情報は、「カテゴリ#1」の下位カテゴリとして「カテゴリ#1−1」が存在し、「カテゴリ#1−1」の下位カテゴリとして「カテゴリ#1−1−1」が存在しており、「カテゴリ#1」から「カテゴリ#1−1」を辿り「カテゴリ#1−1−1」へと至るカテゴリパスのカテゴリ特徴量が「特徴量#1−1−1」である旨を示す。
なお、図7に示す例では、「カテゴリ#1」、「特徴量#1−1−1」等といった概念的な値を記載したが、実際には、カテゴリを示す数値や文字列および特徴量の値が登録されることとなる。
モデルデータベース33には、情報提供装置10が使用する各種の分類器や学習器等といったモデルが登録される。例えば、図8は、実施形態に係るモデルデータベースに登録される情報の一例を示す図である。図8に示すように、モデルデータベース33には、「モデル種別」および「モデルデータ」といった情報が登録される。なお、図8に示す例では、「モデルデータ#1」等といった概念的な値を記載したが、実際には、モデルの各種パラメータ等といったデータが登録される。
ここで、「モデル種別」とは、どのような処理に用いられるモデルであるかを示す情報である。また、「モデルデータ」とは、対応付けられた「モデル種別」が示す処理に用いられるモデルの各種パラメータ等といったデータである。
例えば、図8に示す例では、モデルデータベース33には、撮影画像に含まれる取引対象が属するカテゴリを推定する「カテゴリ推定モデル」として、モデルデータ「モデルデータ#1」が登録されており、撮影画像から特徴量を用いた取引対象を検索できるか否かを判定する「判定モデル」として、モデルデータ「モデルデータ#2」が登録されている。また、モデルデータベース33には、画像特徴量を取得する「画像特徴量取得モデル」として、モデルデータ「モデルデータ#3」が登録されており、カテゴリ特徴量を取得する「カテゴリ特徴量取得モデル」として、モデルデータ「モデルデータ#4」が登録されている。
図5に戻り、説明を続ける。制御部40は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等のプロセッサによって、情報提供装置10内部の記憶装置に記憶されている各種プログラムがRAM等を作業領域として実行されることにより実現される。また、制御部40は、コントローラ(controller)であり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。図5に示すように、制御部40は、受付部41、判定部42、抽出部43、推定部44、取得部45、結合部46、検索部47、提供部48、および学習部49を有する。
受付部41は、端末装置100が撮影画像を受付ける。より具体的には、受付部41は、画像に含まれる取引対象の画像をクエリ情報と撮影した画像とともに表示する端末装置100から、撮影画像を受付ける。
判定部42は、撮影画像に含まれる特徴点を用いて撮影画像に撮影された取引対象と対応する出品対象を検索できるか否かを判定する。例えば、判定部42は、モデルデータベース33に登録された判定モデルを用いて、撮影画像に含まれる特徴点から出品対象を適切に検索することができるか否かを判定する。そして、判定部42は、撮影画像に含まれる特徴点から出品対象を適切に検索することができると判定した場合は、検索部47に対して撮影画像を出力するとともに、特徴点を用いた検索を指示する。一方、判定部42は、撮影画像に含まれる特徴点から出品対象を適切に検索することができないと判定した場合は、撮影画像を抽出部43に出力する。
抽出部43は、撮影画像から取引対象が撮影された範囲を抽出する。例えば、抽出部43は、各種の画像認識技術を用いて、撮影画像から取引対象が撮影された範囲を抽出する。そして、抽出部43は、抽出した範囲を推定部44および取得部45に出力する。
推定部44は、取引対象の特徴とその取引対象が属するカテゴリとの間の関係性を学習した学習器を用いて、画像に撮影された取引対象が属するカテゴリを推定する。より具体的には、推定部44は、階層構造を有する複数のカテゴリのうち、画像に撮影された取引対象が属するカテゴリを推定する。例えば、推定部44は、抽出部43が撮影画像から抽出した範囲を受付けると、モデルデータベース33に登録されたカテゴリ推定モデルを読出し、読み出したカテゴリ推定モデルを用いて、抽出部43によって抽出された範囲に撮影された取引対象が属するカテゴリを推定する。
また、推定部44は、カテゴリデータベース32を参照し、推定されたカテゴリのカテゴリパスを取得する。また、推定部44は、カテゴリデータベース32に、取得したカテゴリパスのカテゴリ特徴量が登録されていない場合は、カテゴリ特徴量取得モデルをモデルデータベース33から読出し、読み出したカテゴリ特徴量取得モデルを用いて、取得したカテゴリパスのカテゴリ特徴量を取引対象のカテゴリ特徴量として取得する。そして、推定部44は、取得したカテゴリ特徴量をカテゴリデータベース33に登録する。一方、推定部44は、カテゴリデータベース32に、取得したカテゴリパスのカテゴリ特徴量が登録されている場合は、かかるカテゴリ特徴量を取引対象のカテゴリ特徴量とする。
取得部45は、画像に撮影された取引対象の特徴量を取得する。例えば、取得部45は、画像特徴量取得モデルをモデルデータベース33から読出し、撮影画像のうち、抽出部43によって抽出された範囲を画像特徴量取得モデルに入力することで、撮影された取引対象の画像特徴量を取得する。
結合部46は、カテゴリ特徴量と画像特徴量とを結合した結合特徴量を生成する。例えば、結合部46は、撮影画像に基づいて推定部44が取得した取引対象のカテゴリ特徴量と、取得部45が取得した取引対象の画像特徴量とを結合した結合特徴量を生成する。そして、結合部46は、結合特徴量を検索部47に出力する。
なお、推定部44、取得部45、結合部46は、上述した処理を、出品対象データベース31に登録された出品対象ごとに予め実行することで、各出品対象の結合特徴量を算出し、算出した結合特徴量をあらかじめ出品対象データベース31に登録しておく。例えば、推定部44は、出品対象データベース31に登録されたカテゴリパスから、出品対象のカテゴリ特徴量を取得する。また、取得部45は、出品対象データベース31に登録された出品画像から、出品対象の画像特徴量を取得する。そして、結合部46は、出品対象のカテゴリ特徴量と画像特徴量とを結合した結合特徴量を生成し、生成した結合特徴量を出品対象データベース31に登録する。
検索部47は、カテゴリ特徴量と画像特徴量とを用いて、撮影された取引対象に対応する出品対象を検索する。より具体的には、検索部47は、取引対象が属するカテゴリパスのカテゴリ特徴量と、取引対象の画像特徴量とを用いて、撮影された取引対象に対応する出品対象を検索する。
例えば、検索部47は、撮影画像と特徴点を用いた検索を指示とを判定部42から受付けた場合は、撮影画像が有する特徴点を算出する。また、検索部47は、出品対象データベース31に登録された出品画像のうち、撮影画像が有する特徴点と類似する特徴点を有する出品画像を検索する。そして、検索部47は、撮影画像が有する特徴点と類似する特徴点を有する出品画像を特定した場合は、特定した出品画像と、その出品画像に対応付けられていた識別情報との組を抽出する。
一方、検索部47は、結合部46から結合特徴量を受付けた場合は、結合部46によって生成された結合特徴量、すなわち、撮影された取引対象の結合特徴量と、出品対象データベース31に登録された結合特徴量とを比較することで、撮影された取引対象と対応する出品対象を検索する。例えば、検索部47は、撮影された取引対象そのものとなる出品対象や、撮影された取引対象と類似もしくは所定の関連性を有する出品対象を検索する。そして、検索部47は、検索した出品対象の画像と、その画像に対応付けられていた識別情報との組を抽出する。
すなわち、検索部47は、特徴点を用いて撮影画像に撮影された取引対象と対応する出品対象を検索できると判定された場合は、撮影画像に含まれる特徴点を用いて撮影された取引対象と対応する出品対象を検索する。一方、検索部47は、特徴点を用いて撮影画像に撮影された取引対象と対応する出品対象を検索できないと判定された場合は、推定されたカテゴリ特徴量と、取得された画像特徴量とを用いて、撮影画像に撮影された取引対象に対応する出品対象を検索する。
提供部48は、推定部44と、取得部45と、検索部47とが受付部41により受付けられた撮影画像から検索した取引対象の画像を端末装置100に提供する。より具体的には、提供部48は、撮影画像に含まれる取引対象の画像を端末装置100に提供し、取引対象を電子商店街で検索するための検索クエリを示すクエリ候補として表示させる。例えば、提供部48は、検索部47が出品対象データベース31から抽出した出品画像と識別情報との組を、端末装置100へと送信する。この結果、提供部48は、撮影画像に含まれる取引対象の画像であって、電子商店街に登録された取引対象の画像を提供することとなる。
学習部49は、各種モデルの学習を行い、モデルデータベース33に学習したモデルを登録する。例えば、学習部49は、出品対象データベース31に登録された出品画像と、その出品画像と対応付けられたカテゴリパスのリーフカテゴリとの組を抽出する。そして、学習部49は、抽出した出品画像とリーフカテゴリとの組の関係性を学習させた学習器をカテゴリ推定モデルとして生成する。なお、学習部49は、出品画像と対応づけられた識別情報を用いて、ウェブ上の取引対象の画像を収集し、収集した画像と、その画像に撮影された取引対象が属するリーフカテゴリとの間の関係性をカテゴリ推定モデルに学習させてもよい。
また、学習部49は、特徴点を用いて適切な出品対象の検索を行えた画像や、特徴点を用いて適切な出品対象の検索を行えなかった画像等を学習データとして取得する。そして、学習部49は、取得した学習データを用いて、判定モデルの学習を行う。例えば、学習部49は、特徴点を用いて適切な出品対象の検索を行えた画像が有する特徴を学習するように、判定モデルの学習を行う。
また、学習部49は、類似するカテゴリパスのカテゴリ特徴量が類似し、類似しないカテゴリパスのカテゴリ特徴量が類似しなくなるように、カテゴリ特徴量を算出するカテゴリ特徴量取得モデルの学習を行う。また、学習部49は、類似する画像の画像特徴量が類似し、類似しない画像の画像特徴量が類似しなくなるように、画像特徴量を算出する画像特徴量取得モデルの学習を行う。なお、このようなカテゴリ特徴量取得モデルや、画像特徴量取得モデルの学習は、分類器を学習するための任意の技術が採用可能である。
このように、情報提供装置10は、端末装置100が撮影した撮影画像を受付けると、クエリ情報として表示させる画像を検索し、検索した画像をクエリ情報として端末装置100へと送信することで、検索した画像をクエリ情報として表示させる。例えば、情報提供装置10は、撮影画像に含まれる取引対象の画像であって、電子商店街に出品された出品対象の画像を端末装置100にクエリ情報として表示させる。すなわち、情報提供装置10は、撮影画像に含まれる取引対象の画像をクエリ情報として表示するように、端末装置100を制御する。
ここで、情報提供装置10は、クエリ情報として表示させる画像と、その画像がクエリ情報である旨を示す属性情報(例えば、画像の名称や画像の属性を示す情報)とともに送信する。このような場合、端末装置100は、情報提供装置10から受信した属性情報が、その属性情報とともに受信しが画像がクエリ情報である旨を示す場合は、受信した画像をクエリ情報として表示すればよい。また、情報提供装置10は、画像をクエリ情報として端末装置100に表示させるための命令文(例えば、各種のプログラムやスクリプト等)とともにクエリ情報として表示させる画像を端末装置100へ送信してもよい。このような処理の結果、情報提供装置10は、検索した画像をクエリ情報として端末装置100に表示させることができる。
〔7.クエリ情報を表示する態様について〕
ここで、端末装置100がクエリ情報を追加表示する処理の一例について説明する。例えば、図9は、実施形態に係る端末装置がクエリ情報を表示する態様の一例を示す図である。なお、図9に示す例では、端末装置100が画面奥方向に対して左方向から右方向に回転しながら画像を撮影した場合と、端末装置100が画面奥方向に対して右方向から左方向に回転しながら画像を撮影した場合とで、クエリ情報を表示する態様の一例について記載した。また、図9に示す例では、端末装置100が有するカメラ140の撮影範囲を実線の長方形の枠で記載した。
例えば、図9中(A)に示すように、端末装置100が画面左方向から画面右方向へと回転しながら動画像を撮影している場合は、ワイン、カメラ、缶ジュース、珈琲、およびティッシュペーパーの順で取引対象が撮影範囲に含まれることとなる。この結果、端末装置100は、図9中(B)に示すように、画面左側から、ワイン、カメラ、缶ジュース、珈琲、ティッシュペーパーの順でクエリ情報を並べて表示する。
一方、図9中(C)に示すように、端末装置100が画面右方向から画面左方向へと回転しながら動画像を撮影している場合は、ティッシュ、珈琲、缶ジュース、カメラ、ワインの順で取引対象が撮影範囲に含まれることとなる。この結果、端末装置100は、図9中(D)に示すように、画面左側からティッシュペーパー、珈琲、缶ジュース、カメラ、ワインの順でクエリ情報となる出品画像を取得し、画面上に表示することとなる。
なお、端末装置100は、端末装置100の回転する向きに応じて、クエリ情報を並べる方向を切り替えてもよい。例えば、端末装置100は、利用者が端末装置100を所定の方向に動かしながら動画像を撮影した場合は、取引対象が認識される度に、認識された取引対象の画像を所定の方向に向けて並べるように表示してもよい。
例えば、端末装置100は、図9中(A)に示すように、端末装置100が画面左方向から画面右方向へと回転しながら動画像を撮影している場合は、ジャイロセンサを用いて、端末装置100が画面左方向から画面右方向へと回転している旨を特定する。このような場合、端末装置100は、図9中(B)に示すように、画面左側から、ワイン、カメラ、缶ジュース、珈琲、ティッシュペーパーの順でクエリ情報を並べて表示する。
一方、端末装置100は、図9中(C)に示すように、端末装置100が画面右方向から画面左方向へと回転しながら動画像を撮影している場合は、ジャイロセンサを用いて、端末装置100が画面右方向から画面左方向へと回転している旨を特定する。このような場合、端末装置100は、画面右側から、ティッシュペーパー、珈琲、缶ジュース、カメラ、ワインの順でクエリ情報を並べて表示してもよい。
〔8.情報提供装置が実行する処理の流れの一例〕
続いて、図10、図11を用いて、端末装置100および情報提供装置10が実行する処理の流れの一例を説明する。図10は、実施形態に係る端末装置が実行する表示処理の流れの一例を示すフローチャートである。また、図11は、実施形態に係る情報提供装置が実行する検索処理の流れの一例を示すフローチャートである。
まず、図10を用いて、端末装置100が実行する表示処理の流れの一例を説明する。なお、端末装置100は、利用者の操作に応じて画像の撮影が開始された場合は、画像の撮影を停止させるための操作が行われるまで、図10に示す処理を繰り返し実行する。まず、端末装置100は、画像を撮影し(ステップS101)、撮影した画像を画面上に表示させる(ステップS102)。また、端末装置100は、撮影した画像を情報提供装置10に送信する(ステップS103)。そして、端末装置100は、ECサイトにおける出品画像を受信したか否かを判定し(ステップS104)、受信した場合は(ステップS104:Yes)、受信した出品画像をクエリ情報として並べて表示し(ステップS105)、ステップS101へ戻る。一方、端末装置100は、出品画像を受信していない場合は(ステップS104:No)、ステップS101へ戻る。
次に、図11を用いて、情報提供装置10が実行する検索処理の流れについて説明する。まず、情報提供装置10は、端末装置100が撮影した画像を受付けると(ステップS201)、特徴点を用いた出品対象の検索が可能か否かを判定し(ステップS202)、可能であると判定した場合は(ステップS202:Yes)、特徴点から撮影された取引対象と対応する出品対象を特定する(ステップS203)。
一方、情報提供装置10は、特徴点を用いた出品対象の検索が可能ではないと判定した場合は(ステップS202:No)、撮影画像から取引対象が撮影された範囲を抽出し(ステップS204)、リーフカテゴリの特徴を学習したモデルを用いて、抽出した範囲に撮影された取引対象が属するリーフカテゴリを推定する(ステップS205)。そして、情報提供装置10は、所定のカテゴリから推定したリーフカテゴリまでのカテゴリパスが有するカテゴリ特徴量を取得する(ステップS206)。
また、情報提供装置10は、抽出された画像が有する画像特徴量を取得する(ステップS207)。なお、ステップS205〜ステップS207の処理は、任意の順番で実行されてもよく、並行して実行されてもよい。そして、情報提供装置10は、カテゴリ特徴量と画像特徴量とを結合した結合特徴量を取得し(ステップS208)、取得した結合特徴量を用いて、出品対象を検索する(ステップS209)。また、情報提供装置10は、ステップS203またはステップS209の検索を行った結果、撮影された取引対象と対応する出品対象を特定した場合は、特定した出品対象の識別情報と出品画像とを端末装置100に提供し(ステップS210)、処理を終了する。
〔9.変形例〕
上記では、情報提供装置10および端末装置100による検索処理や表示処理の一例について説明した。しかしながら、実施形態は、これに限定されるものではない。以下、検索処理や表示処理のバリエーションについて説明する。
〔9−1.画像クエリについて〕
上述した例では、端末装置100は、情報提供装置10から受付けた出品画像をクエリ情報として表示し、クエリ情報が選択された場合は、クエリ情報と対応する識別情報を用いて、電子商店街の検索を行った。しかしながら、実施形態は、これに限定されるものではない。例えば、端末装置100および情報提供装置10は、画像クエリを用いた検索を行ってもよい。
例えば、端末装置100は、撮影画像のうち、取引対象が含まれる領域をクエリ情報として表示し、クエリ情報が選択された場合は、選択されたクエリ情報を画像クエリとして用いて電子商店街の検索を行った検索結果を表示してもよい。より具体的な例を挙げると、端末装置100は、情報提供装置10が撮影画像から抽出した取引対象の画像を受付け、受付けた画像をクエリ情報として表示する。なお、端末装置100は、撮影画像から取引対象が撮影された範囲を自装置で認識し、認識した範囲をクエリ情報として表示してもよい。
そして、端末装置100は、表示したクエリ情報が選択された場合は、選択されたクエリ情報を情報提供装置10へと送信する。このような場合、情報提供装置10は、端末装置100から受信した画像から対応する出品対象を検索し、検索した出品対象の出品対象IDや識別情報を端末装置100に通知する。この結果、端末装置100は、情報提供装置10から受付けた識別情報や出品対象IDを用いた電子商店街の検索を行い、検索結果を表示する。なお、端末装置100は、クエリ情報として表示した画像そのものをクエリ画像としてECサーバ200に送信し、撮影された取引対象と対応する出品対象の検索を行ってもよい。
〔9−2.クエリ情報の選択について〕
また、端末装置100は、クエリ情報が選択された場合は、選択されたクエリ情報が示す検索クエリと対応する取引対象の購入に関するコンテンツを表示してもよい。例えば、端末装置100は、選択されたクエリ情報と対応する識別情報と対応付けられた出品対象のうち、販売価格が最も安い出品対象を識別情報ごとに特定する。そして、端末装置100は、ECサーバ200が提供する電子商店街において、特定した出品対象を買物カートに投入し、買い物カートに投入された出品対象の購入確認画面を表示してもよい。すなわち、端末装置100は、選択されたクエリ情報と対応する出品対象の検索結果ではなく、選択されたクエリ情報と対応する出品対象の購入に関するコンテンツを表示してもよい。
〔9−3.送信される情報について〕
上述した例では、端末装置100は、撮影した画像を情報提供装置10に送信した。しかしながら、実施形態は、これに限定されるものではない。例えば、端末装置100は、撮影画像が有する特徴点や特徴量、カテゴリ等を情報提供装置10に送信してもよい。このような場合、情報提供装置10は、撮影画像に代えて、受信した特徴点や特徴量からカテゴリ特徴量が画像特徴量を取得し、取得したカテゴリ特徴量や画像特徴量から撮影された取引対象と対応する出品対象を検索してもよい。また、このような処理を実行する場合、端末装置100は、図5に示す判定部42、抽出部43、推定部44、取得部45、および結合部46を有することとなる。
〔9−4.店舗情報の履歴について〕
ここで、端末装置100は、画像を撮影した際に、GPS(Global Positioning System)等の位置測位システムを用いて、端末装置100の現在位置を特定する。そして、端末装置100は、特定した位置に基づいて、画像を撮影した際に端末装置100が所在した地域名、施設名、店舗名等の位置情報を取得し、取得した位置情報を画像と共に保持する。そして、端末装置100は、カメラロールCRにおいて、画像が選択された場合は、対応付けて保持した位置情報を利用者に提供することで、その画像に撮影された取引対象がどの店舗やどの施設にある取引対象であったかを利用者に提示してもよい。
〔9−5.処理の実行主体について〕
なお、上述した検索処理および表示処理は、端末装置100が単体で実行してもよい。また、上述した検索処理および表示処理は、任意の粒度で分割され、情報提供装置10および端末装置100が分割された任意の処理を実行することで実現されてもよい。例えば、撮影画像から取引対象を認識する処理は、端末装置100が実行してもよく、情報提供装置10が実行してもよい。
また、情報提供装置10が有する各データベース31〜33は、外部のストレージサーバに保持されていてもよい。また、情報提供装置10は、判定部42を有する判定サーバ、抽出部43を有する抽出サーバ、推定部44を有する推定サーバ、取得部45を有する取得サーバ、結合部46、検索部47、および提供部48を有する検索サーバ、および学習部49を有する学習サーバが協調して動作することで、実現されてもよい。
また、提供システム1は、全カテゴリを、最上位カテゴリが共通する複数のカテゴリ群に分割し、分割されたカテゴリ群ごとに、上述した検索処理を実行する情報提供装置10を有し、カテゴリ群ごとに段階的な出品対象の検索を行ってもよい。例えば、提供システム1は、ファッションに属するカテゴリ群に対応する第1の情報提供装置により、撮影された取引対象と対応する出品情報が適切に検索されなかった場合には、飲食料に属するカテゴリ群に対応する第2の情報提供装置により、撮影された取引対象と対応する出品情報の検索を行えばよい。そして、提供システム1は、撮影された取引対象と対応する出品情報が適切に検索されるまで、随時検索対象となるカテゴリ群の切り替えを行えばよい。
〔9−6.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、逆に、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
また、上記してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
〔9−7.プログラム〕
また、上述した実施形態に係る情報提供装置10および端末装置100は、例えば図12に示すような構成のコンピュータ1000によって実現される。図12は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力IF(Interface)1060、入力IF1070、ネットワークIF1080がバス1090により接続された形態を有する。
演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置1040は、RAM等、演算装置1030が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD(Hard Disk Drive)、フラッシュメモリ等により実現される。
出力IF1060は、モニタやプリンタといった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力IF1070は、マウス、キーボード、およびスキャナ等といった各種の入力装置1020から情報を受信するためのインタフェースであり、例えば、USB等により実現される。
なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置1020は、USBメモリ等の外付け記憶媒体であってもよい。
ネットワークIF1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。
演算装置1030は、出力IF1060や入力IF1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。
例えば、コンピュータ1000が情報提供装置10として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部40の機能を実現する。また、例えば、コンピュータ1000が端末装置100として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部150の機能を実現する。
〔10.効果〕
上述したように、情報提供装置10は、取引対象とその取引対象が属するカテゴリとの間の関係性を学習した学習器を用いて、画像に撮影された取引対象が属するカテゴリを推定する。そして、情報提供装置10は、推定されたカテゴリの特徴量と、取得された取引対象の特徴とを用いて、画像に撮影された取引対象に対応する取引対象を検索する。このため、情報提供装置10は、カテゴリの指定を不要とすることができるので、取引対象の画像検索を容易にすることができる。
また、情報提供装置10は、階層構造を有する複数のカテゴリのうち、所定のカテゴリから画像に撮影された取引対象が属するカテゴリまでの階層構造を示すカテゴリパスを推定する。そして、情報提供装置10は、推定されたカテゴリパスの特徴量と、取引対象の特徴量とを用いて、画像に撮影された取引対象に対応する取引対象を検索する。このため、情報提供装置10は、カテゴリパスの共通性や類似性に基づいた画像検索を実現できるので、取引対象が属するカテゴリに階層構造が存在する場合にも、撮影された取引対象と対応する取引対象を検索する際の精度を向上させることができる。
また、情報提供装置10は、画像から取引対象が撮影された範囲を抽出し、取引対象の特徴を示す特徴量として、抽出部により抽出された範囲の画像特徴量を取得する。そして、情報提供装置10は、推定されたカテゴリ特徴量と、取得した画像特徴量とを用いて、取引対象の検索を行う。このため、情報提供装置10は、撮影された取引対象と対応する取引対象を精度良く検索することができる。
また、情報提供装置10は、カテゴリの特徴量と取引対象の特徴量とを結合した結合特徴量を生成し、生成した結合特徴量を用いて、画像に撮影された取引対象に対応する取引対象を検索する。このため、情報提供装置10は、カテゴリの類似性と外観の類似性とに基づいて、撮影された取引対象と対応する取引対象を検索することができる。
また、情報提供装置10は、画像に撮影された取引対象に対応する取引対象として、その画像に撮影された取引対象と類似する取引対象、または、その画像に撮影された取引対象と所定の関連性を有する取引対象を検索する。このため、情報提供装置10は、撮影された取引対象そのもの以外にも、サイズ違いの取引対象や、関連する他の取引対象等の検索を行うことができる。
また、情報提供装置10は、画像に含まれる特徴点を用いて画像に撮影された取引対象と対応する取引対象を検索できるか否かを判定する。そして、情報提供装置10は、特徴点を用いて画像に撮影された取引対象と対応する取引対象を検索できると判定された場合は、画像に含まれる特徴点を用いて画像に撮影された取引対象と対応する取引対象を検索する。一方、情報提供装置10は、特徴点を用いて画像に撮影された取引対象と対応する取引対象を検索できないと判定された場合は、カテゴリの特徴量と、取引対象の特徴とを用いて、画像に撮影された取引対象に対応する取引対象を検索する。このため、情報提供装置10は、取引対象の検索における処理コストの増大を防ぎつつ、撮影された取引対象と対応する取引対象を検索することができる。
また、情報提供装置10は、撮影した画像に含まれる取引対象の画像を、取引対象を検索するための検索クエリを示す画像として、撮影した画像とともに表示する端末装置100から、撮影された画像を受付ける。そして、情報提供装置10は、受付けられた画像から検索した取引対象の画像を端末装置100に提供する。このため、情報提供装置10は、撮影画像を用いた取引対象の検索において、操作性を改善しつつ、取引対象の画像検索を容易にすることができる。
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
また、上記してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、推定部は、推定手段や推定回路に読み替えることができる。