以下、情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
本実施の形態において、画像の中のファッションアイテムを認識し、当該認識結果を用いて情報を提示する情報処理装置について説明する。なお、ファッションアイテムとは、人物が身に付けている装着物である。ファッションアイテムは、オブジェクトの一例であり、例えば、ワンピース、トップス、アウター、マフラー、ストール、シューズ、パンツ等である。
また、本実施の形態において、取得された1以上のオブジェクト識別子を出力する情報処理装置について説明する。
さらに、本実施の形態において、画像内のオブジェクトの部分画像を用いた画像検索ができる情報処理装置について説明する。
図1は、本実施の形態における情報処理装置1のブロック図である。情報処理装置1は、格納部11、受付部12、処理部13、および出力部14を備える。格納部11は、画像格納部111、およびオブジェクト決定情報格納部112を備える。処理部13は、オブジェクト情報取得部131、および商品検索部132を備える。出力部14は、オブジェクト情報出力部141、商品出力部142を備える。
格納部11は、各種の情報が格納される。各種の情報とは、例えば、1または2以上のオブジェクトが含まれる画像、後述する商品データベースである。
画像格納部111は、画像が格納される。画像は、1以上のオブジェクトが含まれる。オブジェクトが含まれる画像とは、オブジェクトが表出している画像である。オブジェクトが含まれる画像とは、例えば、オブジェクトが写っている写真等である。画像は、通常、撮影された写真であるが、人手により作成されたイラスト、ベクトルデータ等でも良い。また、画像は、例えば、JPG、PNGであり、そのデータフォーマット問わない。また、オブジェクトは何でも良い。但し、オブジェクトは、人間の装着物が好適である。装着物は、例えば、ジャケット、Tシャツ、パンツ、靴などの物品である。
オブジェクト決定情報格納部112は、1または2以上のオブジェクト決定情報が格納される。オブジェクト決定情報は、オブジェクト識別子を決定するための情報である。オブジェクト決定情報は、条件とオブジェクト識別子とを有する。条件は、部位を識別する部位識別子、関節を識別する関節識別子、装着物の形状に関する形状情報、袖の長さ識別子、人の属性値である人物属性値を有する条件である。人物属性値は、例えば、性別、年齢、年齢層、大人か子供か等である。オブジェクト決定情報は、例えば、以下の(1)から(7)に示すような情報である。
(1)「<条件>部位:上半身,下半身 <オブジェクト識別子>ワンピース」
取得された部位識別子が「上半身」および「下半身」である場合(上半身から下半身までまたがっている場合)は、オブジェクト識別子は「ワンピース」であることを示すオブジェクト決定情報。
(2)「<条件>部位:上半身&下半身,性別:女性 <オブジェクト識別子>ワンピース」
取得された部位識別子が「上半身」および「下半身」であり、取得された人物属性値のうちの性別が「女性」である場合は、オブジェクト識別子は「ワンピース」であることを示すオブジェクト決定情報。
(3)「<条件>部位:胴 <オブジェクト識別子>トップス」
取得された部位識別子が「胴」である場合、オブジェクト識別子は「トップス」であることを示すオブジェクト決定情報。
(4)「<条件>部位:胴,形状情報:前に空きあり <オブジェクト識別子>アウター&トップス(トップスの上にアウターを着ている)」
取得された部位識別子が「胴」であり、取得された形状情報が「前に空きあり」である場合、オブジェクト識別子は「アウター」および「トップス」であることを示すオブジェクト決定情報。
(5)「<条件>部位:胴,袖の長さ識別子:半袖 <オブジェクト識別子>半袖のトップス」
取得された部位識別子が「胴」であり、取得された袖の長さ識別子が「半袖」である場合、オブジェクト識別子は「半袖のトップス」であることを示すオブジェクト決定情報。
(6)「<条件>部位:首 <オブジェクト識別子>マフラー|ストール」
取得された部位識別子が「首」である場合、オブジェクト識別子は「マフラー」または「ストール」であることを示すオブジェクト決定情報。
(7)「<条件>部位:足先&足首 <オブジェクト識別子>シューズ」
取得された部位識別子が「足先」かつ「足首」である場合、オブジェクト識別子は「シューズ」であることを示すオブジェクト決定情報。
受付部12は、各種の情報や指示を受け付ける。各種の情報や指示とは、画像、動作指示等である。動作指示とは、情報処理装置1の動作の開始の指示である。各種の情報や指示等の入力手段は、キーボードやマウスやメニュー画面によるもの等、何でも良い。受付部12は、キーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。また、受付部12は、外部の装置から各種の情報や指示を受信しても良い。
処理部13は、各種の処理を行う。各種の処理とは、例えば、オブジェクト情報取得部131、商品検索部132等が行う処理である。
オブジェクト情報取得部131は、画像に対する画像認識処理により、1以上の各オブジェクトを認識し、1以上の各オブジェクトを識別するオブジェクト識別子を取得する。オブジェクト識別子は、通常、オブジェクトの種類を示す情報(例えば、ジャケット、パンツ等)である。つまり、オブジェクト識別子は、オブジェクトを一意に識別する情報でなくても良い。オブジェクト識別子は、ここでは、通常、装着物の種類を示す情報である。なお、オブジェクト識別子は、オブジェクトを一意に識別する情報でも良い。
オブジェクト情報取得部131は、画像の中の人物領域を検出し、当該人物領域の中の、人物の1以上の部位または人物の1以上の関節を検出し、1以上の装着物の領域を検出し、1以上の各装着物を識別するオブジェクト識別子を、検出した1以上の部位の情報または1以上の関節の情報を用いて、装着物の領域ごとに取得する。
さらに詳細には、オブジェクト情報取得部131は、例えば、以下の方法により、画像から1以上のオブジェクト識別子を取得する。
第一に、オブジェクト情報取得部131は、画像の背景から人物領域を抽出する。かかる処理は、例えば、Fast R-CNNという技術が利用可能である。なお、Fast R-CNNについて、インターネットウェブページ(URL:https://arxiv.org/abs/1504.08083)等を参照のこと。また、論文「画像系列からの人物領域の抽出(玉木他3名)」(インターネットウェブページ(URL:http://home.hiroshima-u.ac.jp/tamaki/study/iee99.pdf#search='%E4%BA%BA%E7%89%A9%E9%A0%98%E5%9F%9F%E3%82%92%E6%8A%BD%E5%87%BA'))に記載の手法等により、画像の中の人物領域が検出可能である。
第二に、オブジェクト情報取得部131は、抽出された人物領域の中の人体の部位または/および関節の位置を推定する。抽出された人物領域の中の人体の部位や観察の位置を検出する技術として、Convolutional Pose Machines(CPM)が利用可能である。人体の部位とは、例えば、頭部、上半身、下半身、首、腰、手首、足先、足首等である。なお、CPMはある程度、人物を枠内に捉えてから使用するモデルなので、 Faster-RCNNの結果を使うことは好適である。
第三に、オブジェクト情報取得部131は、人物領域または画像全体から物体候補領域を抽出する。なお、かかる抽出には、SelectiveSearchが利用可能である。SelectiveSearchは画像処理の手法であり、色ベースでセグメンテーションしたものの類似性に基づいて処理する。SelectiveSearchは、物体認識の候補領域を切り出すためのアルゴリズムであり、インターネットウェブページ(URL:http://blog-jp.alpaca.ai/entry/2015/08/05/235408)等に記載されている。SelectiveSearchを用いた場合、物体候補領域に対するスコアが出力される。
第四に、オブジェクト情報取得部131は、抽出された各物体候補領域に対して、性別と身体部位とオブジェクト識別子とを推定する。なお、オブジェクト識別子は、ファッションアイテムカテゴリと言っても良い。また、オブジェクト識別子を推定するために、Inception-v3が利用可能である。Inception-v3について、インターネットウェブページ(URL:http://qiita.com/KojiOhki/items/dab6922b6cd7b990c002)等に記載されている。ただし、Inception-v3では、独自に学習した独自学習層を用いる。独自学習層とは、あらかじめ人手によって膨大な画像データに対してさまざまなアイテムカテゴリをタグ付けし、これを教師データとして深層学習により学習させたディープニューラルネットワークである。なお、ここで画像に対して、色補正の処理を行い、当該処理後の画像に対して、上記のオブジェクト識別子等を推定する処理を行うことにより、オブジェクト識別子等の推定精度の向上を図ることができる。また、色補正とは、例えば、画像内の画素値の平均が特定の値(例えば、グレー)であるとして、画像または部分画像(例えば、物体認識の候補領域の画像)の画素値の平均が特定値となるように、各画素値を変更する処理である。
第五に、オブジェクト情報取得部131は、1以上のオブジェクト決定情報を用いて、仮に決定された物体候補領域の修正を行う。つまり、例えば、オブジェクト情報取得部131は、ファッションアイテムに関するヒューリスティクス(1以上のオブジェクト決定情報)を用いて、物体候補領域のスコアのボーナス配点の調整を行う。さらに具体的には、SelectiveSearchにより出力された物体候補領域のスコアを、1以上のオブジェクト決定情報を用いて、増減させる。つまり、オブジェクト情報取得部131は、1以上のオブジェクト決定情報のいずれかの条件の中の部位識別子に合致する領域のスコアは増加させ、いずれの条件の中の部位識別子にも合致しない領域のスコアは減少させるような処理を行う。
第六に、オブジェクト情報取得部131は、物体候補領域に対するスコアを元に領域を統合して、各カテゴリの範囲を推定する。つまり、オブジェクト情報取得部131は、物体候補領域に対するスコアが予め決められた条件を満たすほど低く、隣接している2以上の領域を統合して、最終的に決定された各物体領域に対するオブジェクト識別子を決定する。
なお、オブジェクト情報取得部131の処理の前に、通常、オブジェクト識別子を取得するための学習が行われ、学習モデルが格納部11に格納されている。オブジェクト識別子の識別精度は学習データの品質にも左右される。たとえば、髪の長いモデルが着こなしたワンピースを学習させると、髪型も一緒に特徴量として学習してしまう。本学習において、例えば、髪型を識別するネットワークを学習させ、学習モデルを格納部11に格納しておく。そして、オブジェクト情報取得部131は、その学習モデルを使用して、画像から髪型部分を取り除いてから、いずれかのアルゴリズムにより、画像から1以上のオブジェクト識別子を取得することは好適である。
オブジェクト情報取得部131は、例えば、人物領域検出手段1311、部位検出手段1312、装着物検出手段1313、人物属性値取得手段1314、およびオブジェクト識別子取得手段1315を備え、当該5つの構成要素を用いて、画像から1以上のオブジェクト識別子を取得しても良い。
人物領域検出手段1311は、画像の中の人物領域を検出する。人物領域検出手段1311は、例えば、背景から人物領域を抽出する。
部位検出手段1312は、人物領域の中の、人物の1以上の部位の領域または人物の1以上の関節の位置を検出する。
装着物検出手段1313は、画像の中の人物領域の中の、人物が身に付けている1以上の装着物を検出する。
装着物検出手段1313は、例えば、まず、人物領域検出手段1311が検出した人物領域の中から、部位検出手段1312が検出した部位の領域または関節の位置の情報を用いて、物体候補領域を抽出する。
人物属性値取得手段1314は、人物の属性値である1以上の人物属性値を取得する。人物属性値は、性別、年齢、年齢層等である。人物属性値取得手段1314の処理は公知技術である。
オブジェクト識別子取得手段1315は、1以上の各装着物に対応する部位の領域または関節の位置を用いて、1以上の各装着物を識別するオブジェクト識別子を取得する。
オブジェクト識別子取得手段1315は、例えば、部位の領域または関節の位置が人物の肌の色を含むか否かを判断し、判断結果をも用いて、袖の長さに対応するオブジェクト識別子を取得する。なお、ある特定の領域が人物の肌の色を含むか否かを判断する技術は公知技術であるので、詳細な説明を省略する。
オブジェクト識別子取得手段1315は、例えば、装着物の形状に関する形状情報を取得し、形状情報をも用いて、オブジェクト識別子を取得する。
オブジェクト識別子取得手段1315は、例えば、1以上の人物属性値をも用いて、オブジェクト識別子を取得する。
例えば、オブジェクト識別子取得手段1315は、装着物検出手段1313により抽出された各装着物に対して、オブジェクト識別子を推定する。
オブジェクト識別子取得手段1315は、例えば、装着物検出手段1313が検出した装着物毎に、部位検出手段1312が検出した部位の領域または関節の位置の情報、人物属性値取得手段1314が検出した人物属性値のうちのいずれか1以上を用いて、オブジェクト決定情報格納部112の1以上の各オブジェクト決定情報に含まれる条件に合致するか否かを判断し、合致する条件と対になるオブジェクト識別子を取得しても良い。
なお、装着物検出手段1313、人物属性値取得手段1314、またはオブジェクト識別子取得手段1315は、画像に対して、色補正の処理を行い、当該処理後の画像に対して、オブジェクト識別子等を推定する処理を行うことにより、オブジェクト識別子等の推定精度の向上を図ることができる。
商品検索部132は、オブジェクト情報出力部141の出力である1以上の各オブジェクト識別子に対応する部分画像を画像から切り出し、1以上の各部分画像を用いて、商品データベースを検索し、オブジェクト識別子ごとに、1以上の商品情報の全部または一部を取得する。商品データベースは、商品画像を有する1以上の商品情報である。商品データベースは、格納部11に存在しても良いし、外部の装置に存在していても良い。商品情報は、例えば、商品を識別する商品識別子、商品名、価格(単価)、商品の属性値(例えば、色、サイズ、産地、材料、形状等)、商品の写真、商品の画像等を有する。商品識別子は、例えば、商品番号、商品ID等である。
なお、商品検索部132は、例えば、1以上の各部分画像を格納されている商品画像と比較するために特徴量ベクトルに変換する。そして、予め検索対象の商品画像の特徴量ベクトルを算出しておき(商品データベース内に格納されている)、商品検索部132は、例えば、各部分画像の特徴量ベクトルと、検索対象の商品画像の特徴量ベクトルとの類似度を検出し、ランキングする。なお、類似度の算出には、コサイン距離を用いることが好適であるが、ユークリッド距離を用いても良い。なお、かかる処理は、類似画像の検索処理であり、公知技術であるので詳細な説明を省略する。
また、商品検索部132は、例えば、検索した商品画像に対応する商品識別子やコーディネート識別子を取得しても良い。コーディネート識別子とは、複数の商品が組み合わさって生まれるコーディネーションに対して付与されたIDであり、商品画像に対応付けて商品データベースに格納されている。
出力部14は、各種の情報を出力する。各種の情報とは、例えば、1以上のオブジェクト識別子、画像、商品情報等である。
なお、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
オブジェクト情報出力部141は、オブジェクト情報取得部131が取得した1以上のオブジェクト識別子を出力する。オブジェクト情報出力部141は、画像に重畳して、1以上のオブジェクト識別子を出力することは好適である。その際、オブジェクト情報出力部141は、画像内の領域に対応づける態様で、当該領域内のオブジェクトのオブジェクト識別子を出力することは好適である。
商品出力部142は、商品検索部132が取得した1以上の商品情報の全部または一部を出力する。
格納部11、画像格納部111は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。格納部11等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が格納部11等で記憶されるようになってもよく、通信回線等を介して送信された情報が格納部11等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部11等で記憶されるようになってもよい。
処理部13、オブジェクト情報取得部131、商品検索部132、人物領域検出手段1311、部位検出手段1312、装着物検出手段1313、オブジェクト識別子取得手段1315、人物属性値取得手段1314は、通常、MPUやメモリ等から実現され得る。処理部13等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
出力部14、オブジェクト情報出力部141、商品出力部142は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部14等は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。関節
次に、情報処理装置1の動作例について、図2のフローチャートを用いて説明する。
(ステップS201)受付部12は、画像を受け付けたか否かを判断する。画像を受け付けた場合はステップS202に行き、画像を受け付けない場合はステップS201に戻る。なお、画像の受け付けとは、指示に応じた画像格納部111からの画像の読出しでも良いし、外部の装置からの画像の受信等でも良い。
(ステップS202)オブジェクト情報取得部131は、ステップS201で受け付けられた画像から人物領域を抽出する。なお、オブジェクト情報取得部131は、人物領域から、さらに髪型部分を取り除く処理を行うことは好適である。
(ステップS203)オブジェクト情報取得部131は、ステップS202で抽出した人物領域から、人体の1以上の部位の領域の情報または/および1以上の関節の位置の情報を取得する。
(ステップS204)オブジェクト情報取得部131は、物体候補領域を推定する。物体候補領域とは、認識され得るオブジェクトの候補の領域である。ここで、オブジェクト情報取得部131は、例えば、各物体候補領域の領域らしさのスコアを算出する。
(ステップS205)オブジェクト情報取得部131は、ステップS202で抽出した人物領域の画像から、1以上の人物属性値を取得する。
(ステップS206)オブジェクト情報取得部131は、カウンタiに1を代入する。
(ステップS207)オブジェクト情報取得部131は、ステップS204で推定したi番目の物体候補領域が存在するか否かを判断する。i番目の物体候補領域が存在する場合はステップS208に行き、存在しない場合はステップS211に行く。
(ステップS208)オブジェクト情報取得部131は、i番目の物体候補領域の部分画像から、人体の部位を決定する。この時、ステップS203で取得した部位の領域の情報または/および関節の位置の情報を使用する。
(ステップS209)オブジェクト情報取得部131は、ステップS208で取得した人体の部位の情報を用いて、オブジェクト識別子を取得する。なお、ここで、オブジェクト情報取得部131は、ステップS208で取得した人体の部位の情報等を、オブジェクト決定情報格納部112の1以上のオブジェクト決定情報の条件に適用し、合致する条件と対になるオブジェクト識別子を取得しても良い。
(ステップS210)オブジェクト情報取得部131は、カウンタiを1、インクリメントする。ステップS207に戻る。
(ステップS211)オブジェクト情報取得部131は、1以上の各物体候補領域のスコアを用いて、物体候補領域を統合する。そして、オブジェクト情報取得部131は、統合した物体候補領域の部位の領域または関節の位置の情報を用いて、当該統合した物体候補領域のオブジェクト識別子を取得する。なお、オブジェクト情報取得部131は、例えば、スコアが閾値より小さいまたは閾値以下の隣接する領域を統合する。なお、本ステップにおいて、統合される物体候補領域が存在しない場合もあり得る。そして、本ステップで、物体領域が確定する。
(ステップS212)商品検索部132は、1以上の各物体領域に対応する商品情報を検索する。検索処理について、図3のフローチャートを用いて説明する。
(ステップS213)出力部14は、情報を出力する。情報は、例えば、画像、1以上のオブジェクト識別子、商品情報である。ステップS201に戻る。
なお、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、ステップS212の検索処理について、図3のフローチャートを用いて説明する。
(ステップS301)商品検索部132は、カウンタiに1を代入する。
(ステップS302)商品検索部132は、i番目の物体領域に対応するオブジェクト識別子が存在するか否かを判断する。存在すればステップS303に行き、存在しなければ上位処理にリターンする。
(ステップS303)商品検索部132は、i番目の物体領域を画像から切り出し、部分画像を取得する。
(ステップS304)商品検索部132は、ステップS303で取得した部分画像を用いて、商品データベースの商品画像を検索し、類似度が閾値以上または類似度が閾値より大きい類似度の商品画像を含む商品情報を商品データベースから取得する。なお、類似度が閾値以上または類似度が閾値より大きい類似度の商品画像と対になる商品情報を商品データベースから取得しても良い。つまり、取得する商品情報は、商品画像を含んでも含まなくても良い。
(ステップS305)商品検索部132は、カウンタiを1、インクリメントする。ステップS302に戻る。
以上、本実施の形態によれば、人物領域の中の人体の部位や間接の位置等を推定し、当該人体の部位や関節の位置等を用いて、ファッションアイテムの検出を行うので、画像の中のオブジェクトを精度高く認識できる。
なお、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における情報処理装置1を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、画像に対する画像認識処理により、1以上の各オブジェクトを認識し、前記1以上の各オブジェクトを識別するオブジェクト識別子を取得するオブジェクト情報取得部と、前記オブジェクト情報取得部が取得した1以上のオブジェクト識別子を出力するオブジェクト情報出力部として機能させるためのプログラムであって、前記オブジェクトは、人物の装着物であり、前記オブジェクト情報取得部は、前記画像の中の人物領域を検出し、前記人物領域の中の、人物の1以上の部位または人物の1以上の関節を検出し、1以上の装着物の領域を検出し、前記1以上の各装着物を識別するオブジェクト識別子を、前記検出した1以上の部位の情報または1以上の関節の情報を用いて、装着物の領域ごとに取得するものとして、コンピュータを機能させるためのプログラムである。
上記プログラムにおいて、前記オブジェクト情報取得部は、前記画像の中の人物領域を検出する人物領域検出手段と、前記人物領域の中の、人物の1以上の部位または人物の1以上の関節を検出する部位検出手段と、前記人物領域の中の、人物が身に付けている1以上の装着物を検出する装着物検出手段と、前記1以上の各装着物に対応する前記部位の検出結果または前記関節の検出結果を用いて、前記1以上の各装着物を識別するオブジェクト識別子を取得するオブジェクト識別子取得手段とを具備するものとして、コンピュータを機能させるプログラムであることは好適である。
上記プログラムにおいて、前記オブジェクト情報取得部 は、前記部位の領域または前記関節の位置が人物の肌の色を含むか否かを判断し、当該判断結果をも用いて、袖の長さに対応するオブジェクト識別子を取得するものとして、コンピュータを機能させるプログラムであることは好適である。
上記プログラムにおいて、前記オブジェクト情報取得部 は、前記装着物の形状に関する形状情報を取得し、当該形状情報をも用いて、オブジェクト識別子を取得するものとして、コンピュータを機能させるプログラムであることは好適である。
上記プログラムにおいて、前記オブジェクト情報取得部は、前記人物の属性値である1以上の人物属性値を取得する人物属性値取得手段をさらに具備し、前記オブジェクト情報取得部 は、前記1以上の人物属性値をも用いて、オブジェクト識別子を取得するものとして、コンピュータを機能させるプログラムであることは好適である。
上記プログラムにおいて、前記オブジェクト情報出力部の出力である1以上の各オブジェクト識別子に対応する部分画像を画像から切り出し、当該1以上の各部分画像を用いて、商品画像を有する1以上の商品情報が格納された商品データベースを検索し、オブジェクト識別子ごとに、1以上の商品情報の全部または一部を取得する商品検索部と、前記商品検索部が取得した1以上の商品情報の全部または一部を出力する商品出力部として、コンピュータをさらに機能させるプログラムであることは好適である。
(実施の形態2)
本実施の形態において、受信された画像(例えば、写真)の中の1以上のオブジェクトを認識し、当該1以上のオブジェクトの識別子を取得し、当該1以上のオブジェクト識別子を用いて取得した提示情報を端末装置に送信する情報処理装置を具備する情報システムについて説明する。ここで、提示情報は、例えば、受信された画像内のオブジェクト(例えば、ジャケット)と同じまたは同種のオブジェクトの商品情報等である。また、提示情報は、例えば、受信された画像内のオブジェクト(例えば、ジャケット)とは異なる種類のオブジェクトである。また、提示情報は、例えば、受信された画像内のオブジェクト(例えば、ジャケット)とは異なる種類のオブジェクトであり、画像内のオブジェクトに合うオブジェクト(例えば、パンツ)の商品情報等である。
また、本実施の形態において、オブジェクトの認識結果を端末装置に送信し、端末装置においてユーザのオブジェクト選択を受け付け、当該選択されたオブジェクトに応じた提示情報を端末装置に送信する情報処理装置を具備する情報システムについて説明する。
また、本実施の形態において、カメラモードなどの付加情報に応じて、提示情報を取得するアルゴリズムが異なる情報システムについて説明する。つまり、例えば、アルゴリズムとして、付加情報に応じて、画像内のオブジェクトと同一のオブジェクトを提示情報として取得する「コレがほしい!」アルゴリズムや、画像内のオブジェクトと異種のオブジェクトを提示情報として取得する「コーディネートする」アルゴリズムがある。なお、「コレがほしい!」アルゴリズムとは、例えば、画像内のユーザが選択したオブジェクトと同一のオブジェクトを提示するアルゴリズムであるが、画像内のオブジェクトと同一の種類のオブジェクトを提示情報として取得するアルゴリズムでも良い。また、「コーディネートする」アルゴリズムとは、例えば、画像内のユーザが選択したオブジェクトに合う(コーディネートされた)異種のオブジェクトを提示するアルゴリズムである。
また、本実施の形態において、オブジェクト認識のために、例えば、ディープラーニングと呼ばれる深層学習やその他の画像解析技術を用いる情報システムについて説明する。なお、オブジェクト認識の技術は、実施の形態1で説明したオブジェクト情報取得部131の技術が利用可能である。
図4は、本実施の形態における情報システムAの概念図である。情報システムAは、1または2以上の端末装置2、および情報処理装置を備える。端末装置2は、例えば、スマートフォン、タブレット端末、いわゆるパーソナルコンピュータ、携帯電話等である。端末装置2は、撮影機能を有することは好適である。ただし、端末装置2の種類は問わない。また、情報処理装置3は、いわゆるクラウドサーバ、ASPサーバ等であり、その種類は問わない。
図5は、本実施の形態における情報システムAのブロック図である。
端末装置2は、端末格納部21、端末受付部22、端末送信部23、端末受信部24、端末出力部25、および撮影部26を備える。
情報処理装置3は、格納部31、受信部32、処理部33、および送信部34を備える。格納部31は、画像格納部111、および商品情報格納部312を備える。受信部32は、画像受信部321、操作情報受信部322、および購入情報受信部323を備える。処理部33は、オブジェクト情報取得部131、商品検索部332、決済処理部333を備える。送信部34は、オブジェクト情報送信部341、および商品情報送信部342を備える。
端末装置2を構成する端末格納部21は、各種の情報が格納される。各種の情報とは、例えば、1または2以上のオブジェクトが含まれる画像である。オブジェクトが含まれる画像とは、オブジェクトが表出している画像である。オブジェクトが含まれる画像とは、例えば、オブジェクトが写っている写真等である。画像は、通常、撮影された写真である。画像は、情報処理装置3に送信される画像である。また、オブジェクトは何でも良い。オブジェクトは、例えば、ジャケット、Tシャツ、パンツ、靴などの物品である。また、画像は、例えば、室内風景、近隣の住環境など不動産に関する写真である。かかる場合、オブジェクトは、例えば、室内の物(家具、電気製品など)、写真に写る家、自然物(例えば、山、森など)等である。また、画像は、例えば、食品、盛り付け、調理法、室内風景など食事やレストランに関する写真である。かかる場合、オブジェクトは、例えば、食品、料理、皿、レストランの席、椅子等である。また、画像は、例えば、景色やアトラクションなど宿泊地や旅行、レジャーに関する写真である。かかる場合、オブジェクトは、例えば、遊園地の乗物、写真に写る自然物等である。その他、画像は、例えば、クルマや人物の画像等、何でもよい。また、各種の情報とは、例えば、後述する付加情報、ユーザを識別するユーザ識別子等である。ユーザ識別子は、端末装置2を識別する情報でも良い。ユーザ識別子は、例えば、ID、電話番号、メールアドレス、IPアドレス、MACアドレス、ブラウザのクッキー情報等である。
端末受付部22は、各種の情報や指示を受け付ける。端末受付部22は、例えば、端末出力部25が出力した1以上のオブジェクト識別子に対するユーザの操作を受け付ける。1以上のオブジェクト識別子に対するユーザの操作とは、通常、オブジェクトの選択指示である。また、端末受付部22は、端末出力部25が出力した提示情報に対するユーザの選択を受け付ける。各種の情報や指示は、上記以外に、例えば、撮影することの指示である撮影指示、画像を送信する指示である送信指示等である。端末受付部22は、例えば、提示情報の一種であるURLに対する指示を受け付けても良い。かかる場合、当該URLで特定されるウェブページが端末装置2にダウンロードされる。
ここで、受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。
各種の情報や指示の入力手段は、タッチパネルやキーボードやマウスやメニュー画面によるもの等、何でも良い。端末受付部22は、タッチパネルやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
端末送信部23は、画像を情報処理装置3に送信する。画像は、撮影部26により撮影され、端末格納部21に一時格納されている写真でも良いし、予め端末格納部21に格納されている画像等でも良い。画像は、通常、静止画であるが動画でも良い。また、端末送信部23は、撮影部26が撮影を行い、画像を取得した場合に、当該画像を情報処理装置3に直ちに(ユーザの指示なしに)送信することは好適である。ただし、端末送信部23は、撮影部26が撮影を行い、画像を取得した後に、ユーザの指示に基づいて、当該画像を情報処理装置3に送信しても良い。
端末送信部23は、付加情報も情報処理装置3に送信しても良い。付加情報とは、画像以外の情報である。付加情報とは、例えば、カメラのモード等のカメラ情報、どのアルゴリズムを用いるかを示すフラグ、どのアルゴリズムを用いるかを示すユーザ指示の情報等である。なお、付加情報は画像と一緒に送信されることが好適であるが、一緒でなくても良い。つまり、付加情報の送信タイミングは問わない。なお、端末送信部23が付加情報も送信する場合、端末送信部23は、端末格納部21の付加情報を取得する。また、付加情報は、例えば、GPSによる位置情報、撮影時刻、フェイスブック(登録商標)やインスタグラム(登録商標)など写真掲載元の情報やその写真を共有しているユーザID、「いいね!」の数等である。また、カメラ情報は、カメラのモード以外、例えば、ズームの倍率、露光、シャッタースピード等でも良い。なお、端末装置2は、通常、付加情報を取得するための付加情報取得手段(図示しない)を有する。付加情報取得手段は、例えば、GPS受信機、時計、写真掲載元の情報等を取得するためのMPUおよびソフトウェア等である。
端末送信部23は、操作情報を情報処理装置3に送信する。操作情報とは、端末受付部22が受け付けた操作に関する情報である。操作情報は、例えば、端末出力部25が出力した1以上のオブジェクト識別子に対して、ユーザが選択した一のオブジェクト識別子を有する。操作情報は、ユーザが選択した一のオブジェクトのオブジェクト識別子だけでも良い。操作情報は、ユーザ識別子を有することは好適である。操作情報は、ユーザが選択した2以上のオブジェクトのオブジェクト識別子を含んでいても良い。
端末送信部23は、購入情報を情報処理装置3に送信する。購入情報とは、ユーザが購入する商品に関する情報である。購入情報は、端末受付部22が受け付けたユーザの選択に関する情報である。購入情報は、購入の決済のために必要な情報である。購入情報は、例えば、ユーザが購入を指示した商品の商品識別子と数量とを有する。購入情報は、通常、ユーザ識別子を有する。なお、ここで、商品とは、いわゆるサービスも含む、と考えても良い。商品とは、通常、販売対象である。ただし、商品は、販売対象では無い、無料の閲覧対象等でも良い。
端末受信部24は、1以上のオブジェクト情報を情報処理装置3から受信する。オブジェクト情報は、オブジェクトに関する情報であり、オブジェクト識別子を含む。上述したように、オブジェクト識別子は、例えば、オブジェクトの種類を示す情報(例えば、ジャケット、パンツ等)である。また、オブジェクト情報は、オブジェクト識別子のみでも良い。また、オブジェクト情報は、例えば、画像内のオブジェクトの位置に関する位置情報を含んでも良い。位置情報は、画像内のオブジェクトの領域を示す情報でも良い。位置情報は、例えば、画像内のオブジェクトの位置を示す1つまたは2つの相対的な座標値である。
また、端末受信部24は、提示情報を情報処理装置3から受信する。なお、提示情報は、ユーザに提示する情報であり、商品に関する情報である。また、提示情報は、ユーザにレコメンドするレコメンド情報でも良い。また、提示情報は、検索結果の情報でも良い。また、商品に関する情報とは、例えば、商品を購入するための画面、商品を購入できるウェブページ、商品を購入できるウェブページのURL、商品を閲覧できるウェブページ、商品を閲覧できるウェブページのURL、商品の仕様の情報等である。
端末出力部25は、画像と1以上のオブジェクト識別子とを出力する。画像と1以上のオブジェクト識別子との出力態様は問わない。端末出力部25は、画像内に1以上のオブジェクト識別子を出力することは好適である。端末出力部25は、例えば、1以上のオブジェクト情報が有する、各オブジェクト識別子の位置情報が示す位置に1以上のオブジェクト識別子を画像上に出力する。
また、端末出力部25は、端末受信部24が受信した提示情報を出力する。提示情報の出力態様も問わない。
ここで、出力とは、通常、ディスプレイへの表示であるが、プロジェクターを用いた投影、プリンタでの印字、外部の装置への送信、記録媒体への蓄積、音声による読み上げ、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
撮影部26は、撮影し、画像を取得する。撮影部26は、例えば、カメラである。また、撮影のトリガーは、通常、ユーザの指示であるが、問わない。
情報処理装置3を構成する格納部31は、各種の情報を格納し得る。各種の情報とは、例えば、画像、1以上の商品情報、1以上のユーザ情報等である。ユーザ情報は、ユーザに関する情報である。ユーザ情報は、例えば、ユーザ識別子、氏名、年齢、性別、住所、電話番号、メールアドレス、SNSのID等を有する。
商品情報格納部312には、1以上の商品情報が格納される。1以上の商品情報は、上述した商品データベースと言っても良い。商品情報は、商品またはサービス(以下、商品等という)に関する情報である。商品情報は、例えば、商品等を識別する商品識別子、商品等の画像、価格、特徴、属性値(例えば、色、サイズ、形状等)等を有する。また、商品情報は、例えば、商品を紹介したり、商品を購入したりするウェブページである。ただし、商品情報の構造は問わない。なお、商品情報は、外部のサーバ装置に存在しても良い。格納部31は、外部のサーバ装置にアクセスするための情報(例えば、URL、IPアドレス、API等)を格納していても良い。そして、かかる場合、外部のサーバ装置にアクセスするための情報を用いて、外部のサーバ装置にアクセスされ、商品情報等が、情報処理装置3により取得される。なお、外部のサーバ装置にアクセスするための情報は、商品情報と捉えても良い。かかる場合、商品情報は、例えば、商品を紹介したり、商品を購入したりするウェブページのURLである。
受信部32は、各種の情報や指示を端末装置2から受信する。各種の情報や指示とは、例えば、画像、付加情報、購入情報等である。
画像受信部321は、1または2以上のオブジェクトが含まれる画像(例えば、写真)を端末装置2から受信する。また、画像受信部321は、画像とともに、画像以外の情報である付加情報をも受信することは好適である。画像受信部321が付加情報を受信するタイミングは問わない。画像受信部321は、画像と共に付加情報を受信しても良いし、画像を受信した後に、例えば、選択されたオブジェクトと共に付加情報を受信する等しても良い。画像受信部321は、外部のサーバ装置から画像を受信しても良い。外部のサーバ装置とは、例えば、SNSサーバ(例えば、インスタグラム(登録商標)やフェイスブック(登録商標))である。
操作情報受信部322は、ユーザが行った操作に関する操作情報を端末装置2から受信する。操作情報受信部322は、例えば、端末装置2で画像と共に出力された1以上のオブジェクト識別子に対するユーザの操作に関する操作情報を端末装置2から受信する。操作情報とは、端末装置2で出力された1以上のオブジェクト識別子に対して、ユーザが選択した一のオブジェクト識別子を有する。
購入情報受信部323は、購入情報を端末装置2から受信する。購入情報は、例えば、商品識別子、数量、ユーザ識別子等を有する。
処理部33は、各種の処理を行う。各種の処理とは、例えば、オブジェクト情報取得部131、商品検索部332、決済処理部333等が行う処理である。
オブジェクト情報取得部131の詳細は、上述した。しかし、オブジェクト情報取得部131は、実施の形態1で説明した動作に加えて、以下のような処理を行っても良い。
オブジェクト情報取得部131は、画像受信部321が受信した画像に対する画像認識処理により、1または2以上の各オブジェクトを認識し、1または2以上の各オブジェクトを識別するオブジェクト識別子を取得し、各オブジェクト識別子を含む1または2以上のオブジェクト情報を取得しても良い。
オブジェクト情報取得部131は、受信部32が受信した画像に対して、ディープラーニングと呼ばれる深層学習やエッジ検出、その他の画像認識技術や人工知能技術を用いた画像認識処理により、1または2以上の各オブジェクトを認識し、1または2以上の各オブジェクトを識別するオブジェクト識別子を取得し、各オブジェクト識別子を含む1または2以上のオブジェクト情報を取得しても良い。深層学習(ディープラーニング)を用いた画像認識処理は、公知技術であるので、詳細な説明を省略する。また、オブジェクト情報取得部131は、画像受信部321が受信した画像に付加された情報も用いてオブジェクトを認識してもよい。なお、ここで、付加された情報とは、上述した付加情報であり、例えば、位置を示す位置情報、時刻を示す時刻情報等である。また、付加された情報を用いたオブジェクト認識も、例えば、深層学習等の人工知能技術を用いるのは好適である。
例えば、画像が写真であり、写真が撮影された位置を示す位置情報が付加情報である場合、オブジェクト情報取得部131は、認識したオブジェクトに対応する位置情報が、付加情報である位置情報に近い順にソートしてオブジェクト情報を取得する。なお、かかる場合、オブジェクト情報に対応付けて、オブジェクトに対応する位置情報が管理されている、とする。
また、取得するオブジェクトがSNSサーバにアップされている写真であり、写真または写真が含まれる投稿情報(記事と言っても良い)に対する反応を示す情報(例えば、「いいね」を示す情報)が付加情報である場合、オブジェクト情報取得部131は、「いいね」の数が多い順にオブジェクト情報を取得することは好適である。かかる場合、オブジェクト情報取得部131は、写真または写真が含まれる投稿情報に対する反応を示す情報を、SNSサーバから取得する、とする。かかる反応を示す情報を取得する処理は公知技術であるので、詳細な説明を省略する。
なお、オブジェクト情報取得部131が1以上のオブジェクト識別子を取得するアルゴリズムは問わない。例えば、格納部31にオブジェクトの画像とオブジェクト識別子との組が1組以上格納されており、オブジェクト情報取得部131は、画像内の輪郭を抽出し、当該輪郭から1以上のオブジェクトの各領域を切り出し、切り出した領域の1以上の各画像(部分画像)と格納部31の画像との類似度を算出し、類似度が最も大きい格納部31の画像と対になるオブジェクト識別子を、切り出した領域の1以上の部分画像ごとに取得しても良い。また、オブジェクト情報取得部131は、切り出した領域の位置を特定する位置情報も取得することは好適である。
商品検索部332は、オブジェクト情報出力部141の出力である1以上の各オブジェクト識別子に対応する部分画像を画像から切り出し、1以上の各部分画像を用いて、商品画像を有する1以上の商品情報が格納された商品データベースを検索し、オブジェクト識別子ごとに、1以上の商品情報の全部または一部を取得する。なお、商品データベースは、商品情報格納部312の商品情報群でも良いし、外部のサーバ装置に格納されている商品情報群でも良い。また、商品データベースは、RDB等のデータベース構造に限らず、そのデータ構造は問わない。つまり、商品データベースは、1以上の商品情報であれば良い。
商品検索部332は、オブジェクト情報取得部131が取得した1以上のオブジェクト識別子で識別されるオブジェクトに関連があり、オブジェクトと同じ種類または異なる種類の1以上のオブジェクトの商品情報の全部または一部を取得する。
商品検索部332は、操作情報受信部322が受信した操作情報を用いて、1以上のオブジェクトの商品情報の全部または一部を取得する。
商品検索部332は、一のオブジェクト識別子で識別されるオブジェクトのオブジェクト情報を用いて商品情報の全部または一部を取得する。
商品検索部332は、オブジェクト情報取得部131が取得した1以上のオブジェクト情報を用いて、当該1以上のオブジェクト情報のうちの一のオブジェクト情報に含まれる一のオブジェクト識別子で識別されるオブジェクトに関連があり、当該オブジェクトと異なる種類のオブジェクトのオブジェクト情報を、提示情報として取得する。なお、オブジェクト情報は、通常、上述した商品情報である。商品検索部332は、オブジェクト情報取得部131が取得した1以上のオブジェクト情報を用いて、ユーザに提示する提示情報を取得しても良い。商品検索部332は、オブジェクト情報取得部131が取得した1以上のオブジェクト情報を用いて、当該1以上のオブジェクト情報のうちの一のオブジェクト情報が有するオブジェクト識別子で識別されるオブジェクトと同じオブジェクトのオブジェクト情報、または一のオブジェクト識別子で識別されるオブジェクトと同じ種類のオブジェクトのオブジェクト情報を、提示情報として取得しても良い。商品検索部332が提示情報を取得するアルゴリズムは問わない。商品検索部332は、例えば、オブジェクト情報取得部131が取得したオブジェクト情報に含まれるオブジェクト識別子をキーとして、格納部31の商品情報を検索し、1以上の商品情報を取得し、かかる1以上の商品情報の全部または一部を有する提示情報を取得する。また、商品検索部332は、例えば、オブジェクト情報取得部131が取得したオブジェクト情報に含まれるオブジェクト識別子に対応する部分画像の1以上の特徴量(例えば、色など)を取得し、かかる1以上の特徴量を用いて、格納部31から1以上の商品情報を取得し、かかる1以上の商品情報の全部または一部を有する提示情報を取得する。また、商品検索部332は、例えば、オブジェクト情報取得部131が取得したオブジェクト情報に含まれるオブジェクト識別子に対応する部分画像と最も類似する画像に対応する商品情報(商品情報格納部312に格納されている)を取得し、当該商品情報が示す商品を購入した人が良く買っている1以上の商品の商品情報を用いて提示情報を取得する。つまり、商品検索部332は、協調フィルタリング等の公知のアルゴリズムを用いて、提示情報を取得しても良い。また、商品検索部332は、例えば、特許第5064063号、特許第5140289号等に記載のレコメンド技術を用いて、提示情報を取得しても良い。
また、商品検索部332は、「コーディネートする」アルゴリズムと「コレが欲しい!」アルゴリズムの両方を同時に実行し、2以上の提示情報を取得しても良いし、「コーディネートする」アルゴリズムと「コレが欲しい!」アルゴリズムのどちらか一方を実行し、1または2以上の提示情報を取得しても良い。
また、商品検索部332は、「コーディネートする」アルゴリズムと「コレが欲しい!」アルゴリズムのどちらか一方を使い分けて、提示情報を取得しても良い。「コーディネートする」アルゴリズムと「コレが欲しい!」アルゴリズムとの使い分けのための条件は問わない。かかる条件は、例えば、端末装置2から受信したユーザの指示である。かかる条件は、例えば、付加情報である。
また、商品検索部332は、画像受信部321が受信した画像に付加された付加情報を用いて、オブジェクトに対する提示情報を取得してもよい。
商品検索部332は、操作情報受信部322が受信した操作情報を用いて、ユーザに提示する提示情報を取得する。商品検索部332は、操作情報受信部322が受信した操作情報が有するオブジェクト識別子を用いて、提示情報を取得することは好適である。商品検索部332は、例えば、操作情報受信部322が受信した操作情報が有するオブジェクト識別子を用いて、上述したアルゴリズム等を用いて、提示情報を取得しても良い。
操作情報が2以上のオブジェクト識別子を含む場合、商品検索部332は、当該2以上のオブジェクト識別子を用いて、提示情報を取得することは好適である。
商品検索部332は、例えば、操作情報受信部322が受信した操作情報が有する一のオブジェクト識別子で識別されるオブジェクトと異なる種類のオブジェクトのオブジェクト情報を、提示情報として取得する。ここで、一のオブジェクト識別子は、通常、操作情報が有するオブジェクト識別子(ユーザが選択したオブジェクトの識別子)である。かかる処理のアルゴリズムは、「コーディネートする」アルゴリズムである。さらに詳細には、商品検索部332は、例えば、操作情報受信部322が受信した操作情報が有するオブジェクト識別子と異なる種類のオブジェクトを、「コーディネートする」アルゴリズムを用いて、当該オブジェクト識別子で識別されるオブジェクトの画像の1以上の特徴量を取得し、当該1以上の特徴量を用いて、当該オブジェクト(例えば、ジャケット)に合う(デザイン的にマッチする)異なる種類のオブジェクト(例えば、パンツ)の提示情報を取得する。
商品検索部332は、上記の「コーディネートする」アルゴリズムを、例えば、以下のように実現する。つまり、商品検索部332は、例えば、公知のレコメンド技術を用いて、端末装置2のユーザに対して、操作情報が有するオブジェクト識別子で識別されるオブジェクトに対するおすすめのオブジェクト集合を取得し、その集合の中から操作情報が有するオブジェクト識別子と異なる種類のオブジェクト識別子で識別されるオブジェクト情報を取得する。なお、公知のレコメンド技術とは、例えば、協調フィルタリング、特許第5064063号、特許第5140289号等に記載のレコメンド技術、「情報推薦システム入門 −理論と実践−(共立出版)」等の書籍に記載された技術である。商品検索部332は、端末装置2のユーザのユーザ行動履歴(ユーザの商品の購買履歴など)を用いて、操作情報が有するオブジェクト識別子で識別されるオブジェクトと異なる種類のオブジェクトのオブジェクト情報を取得することは好適である。ただし、商品検索部332がオブジェクト情報を取得するアルゴリズムは問わないことは言うまでもない。なお、「コーディネートする」アルゴリズムにおいて、商品検索部332は、操作情報が有するオブジェクト識別子で識別されるオブジェクトと異なる種類のオブジェクトのオブジェクト情報を取得すれば良い。つまり、商品検索部332は、操作情報が有するオブジェクト識別子で識別されるオブジェクトにデザイン的に合う異種のオブジェクトのオブジェクト情報を取得する必要まではない。提示情報は、商品情報を含んでも良いし、外部の装置にアクセスするためのURL等でも良い。
商品検索部332は、例えば、一のオブジェクト識別子で識別されるオブジェクトと同じオブジェクトのオブジェクト情報を、提示情報として取得する。ここで、一のオブジェクト識別子は、通常、操作情報が有するオブジェクト識別子である。かかる処理のアルゴリズムは、「コレがほしい!」アルゴリズムである。さらに具体的には、商品検索部332は、例えば、操作情報受信部322が受信した操作情報が有するオブジェクト識別子で識別されるオブジェクトの画像を用いて、画像検索し、「コレが欲しい!」アルゴリズムを適用して、当該オブジェクトと同一のオブジェクトの提示情報を取得する。ここでの提示情報も、商品情報を含んでも良いし、外部の装置にアクセスするためのURL等でも良い。
また、商品検索部332は、例えば、一のオブジェクト識別子で識別されるオブジェクトと同じ種類のオブジェクトのオブジェクト情報を、提示情報として取得する。ここで、一のオブジェクト識別子は、通常、操作情報が有するオブジェクト識別子である。かかる処理のアルゴリズムは、「コレが欲しい!」アルゴリズムを拡張したアルゴリズムである。
商品検索部332は、付加情報に応じて、提示情報を取得するアルゴリズムが異なることは好適である。
ここで、異なるアルゴリズムとは、例えば、「コレが欲しい!」アルゴリズムと「コーディネートする」アルゴリズムである。「コレが欲しい!」アルゴリズムとは、例えば、ユーザが選択した一のオブジェクト識別子で識別されるオブジェクトと同じオブジェクトのオブジェクト情報を、提示情報として取得するアルゴリズムである。「コレが欲しい!」アルゴリズムとは、例えば、オブジェクト情報取得部131が取得したオブジェクト情報を取得したり、ユーザが選択した一のオブジェクト識別子で識別されるオブジェクトと同じ種類のオブジェクト情報を取得したりするアルゴリズムである。「コーディネートする」アルゴリズムとは、ユーザが選択した一のオブジェクト識別子で識別されるオブジェクトに合う異種のオブジェクトのオブジェクト情報を、提示情報として取得することである。
商品検索部332は、例えば、カメラ情報が自撮りモードを示す情報である場合は、「コーディネートする」アルゴリズムを採用する。また、商品検索部332は、例えば、カメラ情報が自撮りではないモード(ノーマルモード)を示す情報である場合は、「コレが欲しい!」アルゴリズムを採用する。また、自撮りモードとは、端末装置2のディスプレイに端末装置2のユーザが写るモードであり、カメラの撮影方向がディスプレイ側であるモードである。ノーマルモードとは、自撮りモードとは逆がカメラの撮影方向となるモードで、端末装置2の背面側が撮影方向となるモードである。
決済処理部333は、受信された購入情報を用いた決済処理を行う。決済処理は、決済のための処理であれば何でも良い。決済処理部333は、例えば、クレジットカード会社の決済サーバに、購入情報を送信する処理でも良い。決済処理部333は、アフィリエイトの情報を処理しても良い。アフィリエイト情報の処理とは、例えば、端末装置2に出力されたアフィリエイトリンクがユーザにより指示(通常、クリック)された場合に、アフィリエイトを管理するサーバ装置等にアフィリエイトIDなどを送信することである。アフィリエイトIDとは、アフィリエイトを管理する会社から発行されるIDであり、アフィリエイトリンクとは、通常、提示情報とアフィリエイトIDが組み合わされたURLである。また、決済処理部333は、例えば、当該ユーザの情報に対応付けて、購入情報を蓄積する処理でも良い。決済処理は、公知技術であるので、詳細な説明を省略する。
送信部34は、各種の情報を端末装置に送信する。各種の情報とは、例えば、オブジェクト情報、提示情報である。
オブジェクト情報送信部341は、オブジェクト情報取得部131が取得した1以上のオブジェクト情報を端末装置2に送信する。
商品情報送信部342は、商品検索部332が取得した提示情報を端末装置2に送信する。提示情報は、通常、1または2以上の商品情報を含む。
商品情報送信部342は、商品検索部332が取得した1以上の商品情報の全部または一部を端末装置2に送信する。なお、商品情報送信部342は、商品出力部と言っても良い。かかる場合、商品出力部は、商品検索部332が取得した1以上の商品情報の全部または一部を出力する。ここでの出力は、通常、送信であるが、表示や表示装置への送信でも良い。
端末格納部21、格納部31、および商品情報格納部312は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。端末格納部21等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が端末格納部21等で記憶されるようになってもよく、通信回線等を介して送信された情報が端末格納部21等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が端末格納部21等で記憶されるようになってもよい。
端末送信部23、送信部34、オブジェクト情報送信部341、および商品情報送信部342は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
端末受信部24、受信部32、画像受信部321、操作情報受信部322、および購入情報受信部323は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
端末出力部25は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。端末出力部25は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
処理部33、オブジェクト情報取得部131、商品検索部332、および決済処理部333は、通常、MPUやメモリ等から実現され得る。処理部33等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
次に、情報システムAの動作について説明する。まず、端末装置2の動作について、図6のフローチャートを用いて説明する。
(ステップS601)端末受付部22は、撮影指示を受け付けたか否かを判断する。撮影指示を受け付けた場合はステップS602に行き、撮影指示を受け付けない場合はステップS620に行く。
(ステップS602)撮影部26は、撮影し、画像を取得する。そして、撮影部26は、撮影した画像を端末格納部21に少なくとも一時蓄積する。
(ステップS603)端末出力部25は、ステップS602で取得された画像(ここでは、写真)を出力する。
(ステップS604)端末装置2の図示しない端末処理部は、画像を送信するか否かを判断する。画像を送信する場合はステップS605に行き、画像を送信しない場合はステップS601に戻る。なお、端末処理部は、端末格納部21に格納されているフラグをチェックし、当該フラグが画像を送信することを示す情報である場合は画像を送信し、当該フラグが画像を送信しないことを示す情報である場合は画像を送信しない。なお、端末装置2の端末送信部23は、ステップS602で画像が取得された場合、自動的に画像を情報処理装置3に送信しても良い。また、端末受付部22が、ユーザからの送信の指示を受け付けた場合に、画像を送信しても良い。
(ステップS605)端末送信部23は、端末格納部21に格納されている付加情報を取得する。なお、付加情報は、例えば、カメラモードである。
(ステップS606)端末送信部23は、ステップS602で取得された画像とステップS605で取得された付加情報とを用いて、送信する情報を構成する。なお、端末送信部23は、付加情報を用いずに、ステップS602で取得された画像を用いて送信する情報を構成しても良い。
(ステップS607)端末送信部23は、ステップS606で構成した情報を情報処理装置3に送信する。なお、端末格納部21には、通常、情報処理装置3と通信するための情報(例えば、情報処理装置3のIPアドレスやURL等)が格納されている。
(ステップS608)端末受信部24は、1以上のオブジェクト情報を情報処理装置3から受信したか否かを判断する。1以上のオブジェクト情報を受信した場合はステップS609に行き、受信しない場合はステップS608に戻る。なお、ステップS607における情報の送信後、所定時間以上経過した場合に、タイムアウトにより、ステップS601に戻ることは好適である。
(ステップS609)端末出力部25は、ステップS608で受信した1以上のオブジェクト情報から、1以上のオブジェクト識別子を取得する。
(ステップS610)端末出力部25は、ステップS609で取得した1以上のオブジェクト識別子を用いて、出力する情報を構成する。なお、端末出力部25は、1以上の各オブジェクト情報が有する画像の位置情報を用いて、1以上のオブジェクト識別子を画像の中の適切な位置に出力するように、出力する情報を構成することは好適である。
(ステップS611)端末出力部25は、ステップS610で構成した情報を出力する。なお、ここで、端末出力部25は、ステップS603で出力した画像に重畳する態様で、1以上のオブジェクト識別子を含むステップS610で構成した情報を出力することは好適である。
(ステップS612)端末受付部22は、ステップS611で出力された1以上のオブジェクト識別子に対する操作を受け付けたか否かを判断する。操作を受け付けた場合はステップS613に行き、操作を受け付けない場合はステップS612に戻る。なお、ステップS611における情報の出力後、所定時間以上経過した場合に、タイムアウトにより、ステップS601に戻ることは好適である。また、ここでの操作は、通常、出力されている1以上のオブジェクト識別子から一のオブジェクト識別子を選択する操作である。
(ステップS613)端末送信部23は、ステップS612において受け付けた操作に基づいて、操作情報を構成する。なお、操作情報は、通常、ステップS612において選択された一のオブジェクト識別子を有する。
(ステップS614)端末送信部23は、ステップS613で構成した操作情報を情報処理装置3に送信する。
(ステップS615)端末受信部24は、情報処理装置3から提示情報を受信したか否かを判断する。提示情報を受信した場合はステップS616に行き、提示情報を受信しない場合はステップS615に戻る。なお、ステップS614における操作情報の送信後、所定時間以上経過した場合に、タイムアウトにより、ステップS601に戻ることは好適である。
(ステップS616)端末出力部25は、ステップS615で受信された提示情報を出力する。
(ステップS617)端末受付部22は、ステップS616で出力された提示情報に対するユーザの選択を受け付けたか否かを判断する。ユーザの選択を受け付けた場合はステップS618に行き、ユーザの選択を受け付けない場合はステップS601に戻る。
(ステップS618)端末送信部23は、ステップS617で受け付けられたユーザの選択に基づいて、購入情報を構成する。
(ステップS619)端末送信部23は、購入情報を情報処理装置3に送信する。ステップS601に戻る。
(ステップS620)端末受付部22は、その他の情報や指示を受け付けたか否かを判断する。その他の情報や指示を受け付けた場合はステップS621に行き、その他の情報や指示を受け付けない場合はステップS601に戻る。
(ステップS621)図示しない端末処理部は、その他の情報や指示に応じた処理を行う。ステップS601に戻る。
なお、図6のフローチャートにおいて、ユーザのオブジェクト識別子の選択がなくても、提示情報が受信されても良い。ユーザのオブジェクト識別子の選択がないことは、操作情報が情報処理装置3に送信されないことである。
また、図6のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
また、図6のフローチャートのステップS607において、撮影した画像を情報処理装置3に送信した。しかし、ステップS607において、端末格納部21に格納されている画像を情報処理装置3に送信しても良い。端末格納部21に格納されている画像は、例えば、端末装置2に予め格納されていた写真、ウェブページから取得された写真、SNS等からダウンロードした写真等である。
さらに、図6のフローチャートにおいて、1以上のオブジェクト情報を情報処理装置3から受信(S608)した後、オブジェクトの種類を示すオブジェクト識別子を表示せず、1以上のオブジェクト情報である提示情報を出力(S616)しても良い。特に、「コレが欲しい!」アルゴリズムを採用する場合、端末装置2は、かかる動作を行うことは好適である。
次に、情報処理装置3の動作について、図7のフローチャートを用いて説明する。
(ステップS701)画像受信部321は、画像等を端末装置2から受信したか否かを判断する。画像等を受信した場合はステップS702に行き、画像等を受信しない場合はステップS701に戻る。なお、画像等とは、例えば、画像と付加情報である。画像等とは、例えば、ユーザ識別子を含む。画像等とは、画像のみでも良い。
(ステップS702)オブジェクト情報取得部131は、ステップS701で受信された画像に対する画像認識処理を行い、1以上の各オブジェクトを認識し、1以上の各オブジェクトを識別するオブジェクト識別子を取得する。オブジェクト情報取得部131が1以上のオブジェクト識別子を取得するアルゴリズムは、実施の形態1で説明したアルゴリズムを採用することは好適である。
(ステップS703)オブジェクト情報取得部131は、ステップS702で取得した1以上のオブジェクト識別子を用いて、1以上のオブジェクト情報を構成する。なお、オブジェクト情報は、オブジェクト識別子だけでも良い。
(ステップS704)オブジェクト情報送信部341は、ステップS703で構成した1以上のオブジェクト情報を、画像等を送信してきた端末装置2に送信する。
(ステップS705)操作情報受信部322は、端末装置2から操作情報を受信したか否かを判断する。操作情報を受信した場合はステップS706に行き、操作情報を受信しなかった場合はステップS705に戻る。
(ステップS706)商品検索部332は、ステップS705で受信された操作情報を用いて、1以上のオブジェクト識別子を取得する。ここで、操作情報は2以上のオブジェクト識別子を含んでいても良い。
(ステップS707)商品検索部332は、ステップS701で受信された画像等の中に、付加情報が存在するか否かを判断する。付加情報が存在すればステップS708に行き、付加情報が存在しなければステップS710に行く。
(ステップS708)商品検索部332は、ステップS701で受信された画像等の中から付加情報を取得する。
(ステップS709)商品検索部332は、ステップS706で取得した1以上のオブジェクト識別子とステップS708で取得した付加情報等を用いて、提示情報を取得する。ステップS711に行く。なお、例えば、付加情報であるカメラ情報が自撮りモードを示す情報である場合は、商品検索部332は、「コーディネートする」アルゴリズムを採用し、付加情報であるカメラ情報が自撮りではないモードを示す情報である場合は、「コレが欲しい!」アルゴリズムを採用し、提示情報を取得する。
(ステップS710)商品検索部332は、ステップS706で取得した1以上のオブジェクト識別子等を用いて、提示情報を取得する。商品検索部332は、例えば、「コーディネートする」アルゴリズム、または「コレが欲しい!」アルゴリズムを採用し、提示情報を取得する。
(ステップS711)商品情報送信部342は、取得された提示情報を端末装置2に送信する。
(ステップS712)購入情報受信部323は、端末装置2から購入情報を受信したか否かを判断する。購入情報を受信した場合はステップS713に行き、購入情報を受信しなかった場合はステップS701に戻る。
(ステップS713)決済処理部333は、ステップS712で受信された購入情報を用いて、決済処理を行う。ステップS701に戻る。
なお、図7のフローチャートにおいて、ステップS702で、1以上のオブジェクト識別子を取得された後、商品検索部332は、当該1以上のオブジェクト識別子を用いて、提示情報を取得しても良い。かかる場合、ステップS703からステップS706の処理が省略され得る。また、図7のフローチャートにおいて、画像受信部321が画像を端末装置2から受信した場合、オブジェクト情報取得部131は当該画像の中のオブジェクト認識を行い、商品検索部332は当該オブジェクトと同一のオブジェクトのオブジェクト情報を検索し、オブジェクト情報を有する提示情報を構成しても良い。そして、商品情報送信部342は、取得された提示情報を端末装置2に送信しても良い。
また、図7のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
以下、本実施の形態における情報システムAの具体的な動作について説明する。情報システムAの概念図は図4である。
また、以下、4つの具体例について述べる。具体例1は、情報処理装置3が付加情報を用いずに提示情報を取得して、端末装置2に送信する場合である。具体例2は、情報処理装置3が、カメラが自撮りモードである旨を示す付加情報を用いて提示情報を取得して、端末装置2に送信する場合である。具体例2は、「コーディネートする」アルゴリズムを採用する場合である。具体例3は、情報処理装置3が、カメラがノーマルモードである旨を示す付加情報を用いて提示情報を取得して、端末装置2に送信する場合である。具体例3は、「コレが欲しい!」アルゴリズムを採用する場合である。具体例4は、端末装置2から画像が送信された後、情報処理装置3は画像からオブジェクト識別子を取得し、当該オブジェクト識別子を用いて、提示情報を取得し、端末装置2に送信する場合である。つまり、具体例4は、端末装置2から画像を送信するだけで、ユーザとのインタラクションなしに、情報処理装置3から端末装置2に提示情報が送信される場合である。
(具体例1)
まず、端末装置2のユーザは、端末装置2のカメラを用いて、洋服を着ているマネキンを撮影した、とする。つまり、端末装置2の端末受付部22は、撮影指示を受け付ける。そして、撮影部26は、撮影し、写真(画像)を取得し、当該写真を端末格納部21に一時蓄積する。また、端末出力部25は、取得された写真をディスプレイに表示する。かかる写真は、図8である、とする。
次に、ユーザは、ディスプレイに表示された写真を送信する写真送信指示を端末装置2に入力した(送信ボタン801を押下した)、とする。次に、端末受付部22は、写真送信指示を受け付ける。そして、端末送信部23は、写真送信指示に対応する写真を用いて、送信する情報を構成し、当該情報を送信する。
次に、情報処理装置3の画像受信部321は、写真を有する情報を端末装置2から受信する。
そして、オブジェクト情報取得部131は、受信された写真に対して、上述したアルゴリズムを用いて画像認識処理を行い、写真の中の4つのオブジェクトを認識し、4つの各オブジェクトのオブジェクト識別子(ネクタイ、ジャケット、パンツ、靴)を取得した、とする。なお、ここでのオブジェクト識別子は、物(例えば、商品)の名前である。物の名前は、物の種類の名前と考えても良い。ただし、物の名前は、固有名称でも良い。
また、オブジェクト情報取得部131は、写真の中の各オブジェクトの相対的位置を示す位置情報を取得する。位置情報は、例えば、オブジェクトが存在する領域を特定する情報でも良いし、オブジェクトが存在する領域の特徴点(例えば、領域の左上の点、または中心点など)の座標情報等でも良い。ここで、オブジェクト情報取得部131は、オブジェクト識別子「ネクタイ」に対する位置情報((x11,y11)(x12,y12))、オブジェクト識別子「ジャケット」に対する位置情報((x21,y21)(x22,y22))、オブジェクト識別子「パンツ」に対する位置情報((x31,y31)(x32,y32))、オブジェクト識別子「靴」に対する位置情報((x41,y41)(x42,y42))を取得した、とする。
次に、オブジェクト情報取得部131は、取得した4つのオブジェクト識別子(ネクタイ、ジャケット、パンツ、靴)を用いて、4つのオブジェクト情報を構成する。なお、オブジェクト情報は、オブジェクト識別子と位置情報とを有する。
次に、オブジェクト情報送信部341は、構成した4つのオブジェクト情報を、写真等を送信してきた端末装置2に送信する。
次に、端末装置2の端末受信部24は、4つのオブジェクト情報を情報処理装置3から受信する。
次に、端末出力部25は、4つの各オブジェクト情報から、4つのオブジェクト識別子(ネクタイ、ジャケット、パンツ、靴)を取得する。
次に、端末出力部25は、4つの各オブジェクト識別子に対応する位置情報を用いて、オブジェクト識別子を出力する位置(写真内の位置)を決定する。なお、かかる位置の決定方法は問わない。
次に、端末出力部25は、写真内の決定した位置に、4つのオブジェクト識別子を出力する。かかる出力例は、図9である。
次に、ユーザは、写真内のパンツと同一または類似するパンツを購入したい、と思っている、とする。そして、ユーザは、表示されている4つのオブジェクト識別子の中から、「パンツ」を選択する指示を入力した、とする。すると、端末装置2の端末受付部22は、出力された4つのオブジェクト識別子のうちの「パンツ」に対する選択操作を受け付ける。そして、端末出力部25は、オブジェクト識別子「パンツ」の表示を、他のオブジェクト識別子と視覚的に区別可能なように表示態様を変更する。ここでは、端末出力部25は、オブジェクト識別子「パンツ」の表示を反転表示とする(901参照)。
次に、ユーザは、図9の送信ボタン(902)を押下した、とする。すると、端末受付部22は、操作情報の送信指示を受け付ける。そして、端末送信部23は、選択されているオブジェクト識別子「パンツ」を有する操作情報を構成する。次に、端末送信部23は、当該操作情報を情報処理装置3に送信する。
次に、情報処理装置3の操作情報受信部322は、端末装置2から操作情報を受信する。
次に、商品検索部332は、受信された操作情報が有するオブジェクト識別子「パンツ」を取得する。そして、商品検索部332は、オブジェクト識別子「パンツ」を用いて、提示情報を取得する。ここでは、商品検索部332は、オブジェクト識別子「パンツ」と対になる3つのパンツの商品情報(図示しない)を商品情報格納部312から取得する。なお、商品情報は、ここでは、商品の画像、商品名、価格、商品の特徴等の情報を有する、とする。そして、商品検索部332は、3つのパンツの商品情報を有する提示情報を構成する。なお、提示情報は、商品情報に加えて、購入することを選択するためのチェックボックス、サイズを入力するためのフィールド等を有する、とする。かかるチェックボックス、フィールド等のユーザインターフェースを構成する情報等は、予め格納部31に格納されている、とする。
次に、商品情報送信部342は、構成された提示情報を端末装置2に送信する。
次に、端末装置2の端末受信部24は、情報処理装置3から提示情報を受信する。そして、端末出力部25は、受信された提示情報を出力する。かかる出力例は、図10である。
次に、ユーザは、図10の画面に対して、購入したい商品を選択し(1001)、サイズ「M」を入力し(1002)、購入ボタン1003を押下した、とする。すると、端末受付部22は、出力された提示情報に対するユーザの選択を受け付ける。そして、端末送信部23は、受け付けられたユーザの選択に基づいて、購入情報を構成する。ここで、購入情報は、商品を識別する識別子「パンツABC」、サイズ「M」、ユーザを識別するユーザ識別子等を有する。なお、ユーザ識別子は、例えば、端末格納部21に格納されている、とする。次に、端末送信部23は、購入情報を情報処理装置3に送信する。
次に、情報処理装置3の購入情報受信部323は、端末装置2から購入情報を受信する。そして、決済処理部333は、受信された購入情報を用いて、決済処理を行う。
以上の処理により、写真を用いた商品情報の提示、および商品の購入が可能となる。なお、具体例1において、商品検索部332は、オブジェクト識別子「パンツ」と対になる商品情報であり、図9の画像内のパンツと同一であると判断されるパンツの画像を有する商品情報(図示しない)を商品情報格納部312から取得しても良い。かかる場合、端末装置2には、一つの商品情報を有する提示情報が出力される。
(具体例2)
まず、端末装置2のユーザは、端末装置2のカメラのモードを「自撮り」モードに設定した、とする。すると、端末受付部22は、カメラのモードを「自撮り」モードに設定する指示を受け付ける。そして、図示しない端末処理部は、カメラのモードを「自撮り」モードに設定する。
次に、端末装置2のユーザは、端末装置2のカメラを用いて、自分を撮影した、とする。つまり、端末装置2の端末受付部22は、撮影指示を受け付ける。そして、撮影部26は、撮影し、自分の写真を取得し、当該写真を端末格納部21に一時蓄積する。また、端末出力部25は、取得された写真をディスプレイに表示する。かかる写真は、図8である、とする。
次に、ユーザは、ディスプレイに表示された写真を送信する写真送信指示を端末装置2に入力した、とする。次に、端末受付部22は、写真送信指示を受け付ける。そして、端末送信部23は、写真送信指示に対応する写真を用いて、送信する情報を構成し、当該情報を送信する。なお、端末送信部23は、端末格納部21の付加情報を取得し、写真と付加情報を有する情報を送信しても良い。
次に、情報処理装置3の画像受信部321は、写真を有する情報を端末装置2から受信する。そして、情報処理装置3は、具体例1で説明した処理と同様の処理を行い、4つのオブジェクト情報を、写真等を送信してきた端末装置2に送信する。なお、4つのオブジェクト情報は、4つのオブジェクト識別子(ネクタイ、ジャケット、パンツ、靴)、およびオブジェクト識別子「ネクタイ」に対する位置情報((x11,y11)(x12,y12))、オブジェクト識別子「ジャケット」に対する位置情報((x21,y21)(x22,y22))、オブジェクト識別子「パンツ」に対する位置情報((x31,y31)(x32,y32))、オブジェクト識別子「靴」に対する位置情報((x41,y41)(x42,y42))を有する、とする。
次に、端末装置2の端末受信部24は、4つのオブジェクト情報を情報処理装置3から受信する。そして、端末装置2は、具体例1で説明した処理と同様の処理を行い、図9に示すような画面を出力する。
次に、ユーザは、写真内のパンツに合うジャケット等を購入したいと思い、ユーザは、表示されている4つのオブジェクト識別子の中から、「パンツ」を選択する指示を入力した、とする。すると、端末装置2の端末受付部22は、出力された4つのオブジェクト識別子のうちの「パンツ」に対する選択操作を受け付ける。そして、端末出力部25は、オブジェクト識別子「パンツ」の表示を、他のオブジェクト識別子と視覚的に区別可能なように表示態様を変更する。ここでは、端末出力部25は、オブジェクト識別子「パンツ」の表示を反転表示とする(901参照)。
次に、ユーザは、図9の送信ボタン(902)を押下した、とする。すると、端末受付部22は、操作情報の送信指示を受け付ける。そして、端末送信部23は、選択されているオブジェクト識別子「パンツ」と、付加情報とを有する操作情報を構成する。ここで、付加情報は、カメラ情報の中のカメラのモード「自撮り」である。そして、次に、端末送信部23は、当該操作情報を情報処理装置3に送信する。なお、付加情報が写真とともに送信されている場合、操作情報は付加情報を有さないことは好適である。
次に、情報処理装置3の操作情報受信部322は、端末装置2から操作情報を受信する。
次に、商品検索部332は、受信された操作情報が有するオブジェクト識別子「パンツ」を取得する。次に、商品検索部332は、先に受信されていた画像等の中から付加情報「自撮り」を取得する。
次に、商品検索部332は、取得したオブジェクト識別子「パンツ」と付加情報「自撮り」とを用いて、提示情報を取得する。つまり、商品検索部332は、付加情報「自撮り」から、オブジェクト識別子「パンツ」とは異なる商品の商品情報を取得する処理を行う。さらに具体的には、ここでは、オブジェクト識別子「パンツ」を除くオブジェクト識別子であり、既に受信しているオブジェクト識別子である「ネクタイ」「ジャケット」「靴」に対応する商品情報を取得する処理を行う。また、商品検索部332は、例えば、写真内の「パンツ」の色や形状等の属性値を取得し、当該属性値を用いて、写真内の「パンツ」に合う「ネクタイ」、「ジャケット」、「靴」のうちの1種類以上の商品情報を取得することは好適である。なお、ここでは、商品検索部332は、オブジェクト識別子「ネクタイ」と対になる4つの商品情報、「ジャケット」と対になる2つの商品情報、および「靴」と対になる3つの商品情報を商品情報格納部312から取得する、とする。そして、商品検索部332は、取得した商品情報を用いて、提示情報を構成する。
次に、商品情報送信部342は、構成された提示情報を端末装置2に送信する。
次に、端末装置2の端末受信部24は、情報処理装置3から提示情報を受信する。そして、端末出力部25は、受信された提示情報を出力する。かかる出力例は、図11である。図11において、ユーザが選択した「パンツ」に合うジャケット、ネクタイ、靴の商品情報が出力されている。
次に、ユーザは、図11の画面に対して、購入したい商品を選択し(1101、1102)、購入ボタン1103を押下した、とする。すると、端末受付部22は、出力された提示情報に対するユーザの選択を受け付ける。そして、端末送信部23は、受け付けられたユーザの選択に基づいて、購入情報を構成する。ここで、購入情報は、選択されたネクタイを識別する識別子、選択された靴を識別する識別子、ユーザを識別するユーザ識別子等を有する。なお、ユーザ識別子は、例えば、端末格納部21に格納されている、とする。次に、端末送信部23は、購入情報を情報処理装置3に送信する。
次に、情報処理装置3の購入情報受信部323は、端末装置2から購入情報を受信する。そして、決済処理部333は、受信された購入情報を用いて、決済処理を行う。
以上の処理により、写真を用いた商品情報の提示等、および商品の購入が可能となる。かつ、付加情報「自撮りモード」に対応する提示情報がユーザに提供される。
なお、具体例2において、ユーザが図9において、2以上のオブジェクト識別子を選択した場合、端末装置2から情報処理装置3に、2以上のオブジェクト識別子を有する選択情報が送信される。そして、情報処理装置3の商品検索部332は、選択情報が有する2以上のオブジェクト識別子を用いて、提示情報を取得する。そして、商品情報送信部342は、かかる提示情報を送信する。なお、ユーザが図9において、パンツとネクタイを選択した場合、商品検索部332は、例えば、写真内のネクタイとパンツとは異なる種類の商品である1以上のジャケットの商品情報を取得し、提示情報を構成する。なお、1以上のジャケットの商品情報を取得するレコメンドのアルゴリズムは、上述した公知のアルゴリズムでも良い。また、選択情報が有する2以上のオブジェクト識別子を用いて、提示情報を取得することは、選択情報が有する2以上のオブジェクト識別子に対応する2以上のオブジェクトに合うオブジェクト(2以上のオブジェクトとは異種のオブジェクト)の情報である提示情報を取得することである。
(具体例3)
まず、端末装置2のユーザは、端末装置2のカメラのモードを自撮りではないモードである「ノーマル」モードに設定した、とする。「ノーマル」とは、通常、端末装置2のディスプレイと反対側に設置されているカメラのことである。すると、端末受付部22は、カメラのモードを「ノーマル」モードに設定する指示を受け付ける。そして、図示しない端末処理部は、カメラのモードを「ノーマル」モードに設定する。
次に、端末装置2のユーザは、端末装置2のカメラを用いて、店舗の洋服を着たマネキンを撮影した、とする。つまり、端末装置2の端末受付部22は、撮影指示を受け付ける。そして、撮影部26は、撮影し、マネキンの写真を取得し、当該写真を端末格納部21に一時蓄積する。また、端末出力部25は、取得された写真をディスプレイに表示する。かかる写真は、図12である、とする。
次に、ユーザは、ディスプレイに表示された写真を送信する写真送信指示を端末装置2に入力した、とする。次に、端末受付部22は、写真送信指示を受け付ける。そして、端末送信部23は、写真送信指示に対応する写真と、端末格納部21の付加情報「ノーマル」とを用いて、送信する情報を構成し、当該情報を送信する。
次に、情報処理装置3の画像受信部321は、写真と付加情報とを有する情報を端末装置2から受信する。そして、情報処理装置3は、具体例1で説明した処理と同様の処理を行い、写真を用いて、2つのオブジェクト情報(ネクタイのオブジェクト情報とジャケットのオブジェクト情報)を取得し、写真等を送信してきた端末装置2に送信する。なお、2つのオブジェクト情報は、2つのオブジェクト識別子(ネクタイ、ジャケット)、およびオブジェクト識別子「ネクタイ」に対する位置情報((x11,y11)(x12,y12))、オブジェクト識別子「ジャケット」に対する位置情報((x21,y21)(x22,y22))を有する、とする。なお、画像受信部321は、受信した付加情報を端末格納部21に一時蓄積する。
次に、端末装置2の端末受信部24は、2つのオブジェクト情報を情報処理装置3から受信する。そして、端末装置2は、具体例1で説明した処理と同様の処理を行い、図13に示すような画面を出力する。
次に、ユーザは、写真内のジャケットと同一または同種のジャケットを購入したいと思い、ユーザは、表示されている2つのオブジェクト識別子の中から、「ジャケット」を選択する指示を入力した、とする。すると、端末装置2の端末受付部22は、出力された2つのオブジェクト識別子のうちの「ジャケット」に対する選択操作を受け付ける。そして、端末出力部25は、オブジェクト識別子「ジャケット」の表示を、他のオブジェクト識別子と視覚的に区別可能なように表示態様を変更する。ここでは、端末出力部25は、オブジェクト識別子「ジャケット」の表示を反転表示とする(1301参照)。
次に、ユーザは、図13の送信ボタン(1302)を押下した、とする。すると、端末受付部22は、操作情報の送信指示を受け付ける。そして、端末送信部23は、選択されているオブジェクト識別子「ジャケット」を有する操作情報を構成する。そして、次に、端末送信部23は、当該操作情報を情報処理装置3に送信する。
次に、情報処理装置3の操作情報受信部322は、端末装置2から操作情報を受信する。
次に、商品検索部332は、受信された操作情報が有するオブジェクト識別子「ジャケット」を取得する。次に、商品検索部332は、先に受信され、端末格納部21に格納されている付加情報「ノーマル」を取得する。
次に、商品検索部332は、取得したオブジェクト識別子「ジャケット」と付加情報「ノーマル」とを用いて、提示情報を取得する。つまり、商品検索部332は、付加情報「ノーマル」から、オブジェクト識別子「ジャケット」と同一または同種の商品の商品情報を取得する処理を行う。なお、ここでは、商品検索部332は、付加情報「ノーマル」から、オブジェクト識別子「ジャケット」と同一の商品の商品情報を取得する処理を行う、とする。また、商品検索部332は、写真内の「ジャケット」の色や形状等の属性値を取得し、当該属性値を用いて、写真内の「ジャケット」と類似度が閾値(例えば、90[完全一致で100とする場合])以上の商品情報を同一の商品の商品情報として、格納部31から取得することは好適である。そして、商品検索部332は、取得した商品情報を用いて、提示情報を構成する。
次に、商品情報送信部342は、構成された提示情報を端末装置2に送信する。
次に、端末装置2の端末受信部24は、情報処理装置3から提示情報を受信する。そして、端末出力部25は、受信された提示情報を出力する。かかる出力例は、図14である。
次に、ユーザは、図14の画面に対して、ユーザは購入すると判断し、商品を選択し(1401)、サイズ「S」を入力し、購入ボタン1403を押下した、とする。すると、端末受付部22は、出力された提示情報に対するユーザの選択を受け付ける。そして、端末送信部23は、受け付けられたユーザの選択に基づいて、購入情報を構成する。ここで、購入情報は、選択されたジャケットを識別する識別子、ユーザを識別するユーザ識別子等を有する。なお、ユーザ識別子は、例えば、端末格納部21に格納されている、とする。次に、端末送信部23は、購入情報を情報処理装置3に送信する。
次に、情報処理装置3の購入情報受信部323は、端末装置2から購入情報を受信する。そして、決済処理部333は、受信された購入情報を用いて、決済処理を行う。
以上の処理により、写真等の画像を用いた商品情報の検索、提示、および商品の購入が可能となる。かつ、以上の処理により、付加情報「ノーマルモード」に対応する提示情報がユーザに提供される。
(具体例4)
まず、端末装置2のユーザは、端末装置2のカメラを用いて、洋服を着ているマネキンを撮影した、とする。つまり、端末装置2の端末受付部22は、撮影指示を受け付ける。そして、撮影部26は、撮影し、写真(画像)を取得し、当該写真を端末格納部21に一時蓄積する。また、端末出力部25は、取得された写真をディスプレイに表示する。かかる写真は、図12である、とする。
次に、ユーザは、ディスプレイに表示された写真を送信する写真送信指示を端末装置2に入力した(送信ボタン1201を押下した)、とする。次に、端末受付部22は、写真送信指示を受け付ける。そして、端末送信部23は、写真送信指示に対応する写真を用いて、送信する情報を構成し、当該情報を送信する。
次に、情報処理装置3の画像受信部321は、写真を有する情報を端末装置2から受信する。
そして、オブジェクト情報取得部131は、受信された写真に対して、上述したアルゴリズムを用いて画像認識処理を行い、写真の中の2つのオブジェクトを認識し、2つの各オブジェクトのオブジェクト識別子(ネクタイ、ジャケット)を取得した、とする。
次に、商品検索部332は、取得された2つのオブジェクト識別子(ネクタイ、ジャケット)を用いて、提示情報を取得する。ここでは、商品検索部332は、オブジェクト識別子「ネクタイ」または「ジャケット」に対応するネクタイおよびジャケットに合う商品情報(例えば、パンツの商品情報)を格納部31から取得する。なお、ネクタイおよびジャケットに対しては、パンツの商品情報を取得すること等の商品の組み合わせ情報(2以上の商品識別子を有する)は、格納部31に格納されている、とする。なお、ネクタイおよびジャケットに合うパンツの商品情報は、上述したレコメンドアルゴリズムにより取得されても良い。
そして、商品検索部332は、取得した商品情報を有する提示情報を構成する。なお、提示情報は、商品情報に加えて、購入することを選択するためのチェックボックス、サイズを入力するためのフィールド等を有する、とする。かかるチェックボックス、フィールド等のユーザインターフェースを構成する情報等は、予め格納部31に格納されている、とする。
次に、商品情報送信部342は、構成された提示情報を端末装置2に送信する。
次に、端末装置2の端末受信部24は、情報処理装置3から提示情報を受信する。そして、端末出力部25は、受信された提示情報を出力する。かかる出力例は、例えば、図10である。
次に、ユーザは、提示情報の出力画面に対して、購入したい商品を選択し、送信ボタンを押下した、とする。すると、端末受付部22は、出力された提示情報に対するユーザの選択を受け付ける。そして、端末送信部23は、受け付けられたユーザの選択に基づいて、購入情報を構成する。次に、端末送信部23は、購入情報を情報処理装置3に送信する。
次に、情報処理装置3の購入情報受信部323は、端末装置2から購入情報を受信する。そして、決済処理部333は、受信された購入情報を用いて、決済処理を行う。
以上の処理により、写真を送信するだけで、自動的に提示情報を取得でき、容易に商品の購入が可能となる。なお、具体例4において、商品検索部332は、写真の中の認識された2つのオブジェクトと同じオブジェクトの商品情報を提示情報として、取得しても良い。かかる場合、商品検索部332は、写真の中の認識された2つの各オブジェクトと同一のオブジェクトの商品情報を、画像検索等により、外部の装置から検索して取得しても良い。
以上、本実施の形態によれば、撮影した画像等を用いた情報の提示ができる。
また、本実施の形態によれば、ユーザと対話しながら、撮影した画像等を用いた適切な情報の提示ができる。
さらに、本実施の形態によれば、撮影した画像等を用い、かつカメラのモード等の付加情報を用いて、付加情報に応じた極めて適切な情報の提示ができる。
なお、本実施の形態における端末装置2を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムにおいて、コンピュータがアクセス可能な記録媒体は、1または2以上のオブジェクトが含まれる画像が格納される端末格納部を具備し、コンピュータを、前記画像を前記サーバ装置に送信する端末送信部と、ユーザに提示する情報であり、商品に関する情報である提示情報を受信する端末受信部と、前記提示情報を出力する端末出力部として機能させるためのプログラムである。
また、上記プログラムにおいて、コンピュータを、1以上のオブジェクト情報を前記サーバ装置から受信する端末受信部と、前記画像と前記1以上のオブジェクト情報が有する1以上のオブジェクト識別子とを出力する端末出力部と、前記端末出力部が出力した1以上のオブジェクト識別子に対するユーザの操作を受け付ける端末受付部としてさらに機能させ、前記端末送信部は、前記端末受付部が受け付けた操作に関する操作情報を前記サーバ装置に送信するものとして、コンピュータを機能させるためのプログラムであることは好適である。
また、本実施の形態における情報処理装置3を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、画像に対する画像認識処理により、1以上の各オブジェクトを認識し、前記1以上の各オブジェクトを識別するオブジェクト識別子を取得するオブジェクト情報取得部と、前記オブジェクト情報取得部が取得した1以上のオブジェクト識別子を出力するオブジェクト情報出力部として機能させるためのプログラムであって、前記オブジェクトは、人物の装着物であり、前記オブジェクト情報取得部は、前記画像の中の人物領域を検出し、前記人物領域の中の、人物の1以上の部位または人物の1以上の関節を検出し、1以上の装着物の領域を検出し、前記1以上の各装着物を識別するオブジェクト識別子を、前記検出した1以上の部位の情報または1以上の関節の情報を用いて、装着物の領域ごとに取得するものとして、コンピュータを機能させるためのプログラムである。
上記プログラムにおいて、前記画像は、端末装置から画像受信部が受信した画像であり、前記商品検索部は、前記オブジェクト情報取得部が取得した1以上のオブジェクト識別子で識別されるオブジェクトに関連があり、当該オブジェクトと同じ種類または異なる種類の1以上のオブジェクトの商品情報の全部または一部を取得し、前記商品出力部は、前記商品検索部が取得した1以上の商品情報の全部または一部を前記端末装置に送信するものとして、コンピュータを機能させるプログラムであることは好適である。
上記プログラムにおいて、前記端末装置で前記画像と共に出力された1以上のオブジェクト識別子に対するユーザの操作に関する操作情報を前記端末装置から受信する操作情報受信部として、さらにコンピュータを機能させ、前記商品検索部は、前記操作情報受信部が受信した操作情報を用いて、1以上のオブジェクトの商品情報の全部または一部を取得するものとして、コンピュータを機能させるプログラムであることは好適である。
また、情報処理装置3を実現するソフトウェアは、以下のようなプログラムでも良い。つまり、このプログラムは、コンピュータを、画像を端末装置から受信する画像受信部と、前記画像受信部が受信した画像に対する画像認識処理により、前記1以上の各オブジェクトを認識し、前記1以上の各オブジェクトを識別するオブジェクト識別子を取得し、当該各オブジェクト識別子を含む1以上のオブジェクト情報を取得するオブジェクト情報取得部と、前記オブジェクト情報取得部が取得した1以上のオブジェクト情報を用いて、当該1以上のオブジェクト情報のうちの一のオブジェクト情報に含まれる一のオブジェクト識別子で識別されるオブジェクトに関連があり、当該オブジェクトと異なる種類のオブジェクトのオブジェクト情報を、提示情報として取得する商品検索部と、前記提示情報を前記端末装置に送信する商品情報送信部として機能させるためのプログラムである。
また、上記プログラムにおいて、前記商品検索部は、前記一のオブジェクト識別子で識別されるオブジェクトと同じオブジェクトのオブジェクト情報、または前記一のオブジェクト識別子で識別されるオブジェクトと同じ種類のオブジェクトのオブジェクト情報をも、提示情報として取得するものとして、コンピュータを機能させるプログラムであることは好適である。
また、上記プログラムにおいて、コンピュータを、前記オブジェクト情報取得部が取得した1以上のオブジェクト情報を送信するオブジェクト情報送信部と、前記操作情報を前記端末装置から受信する操作情報受信部として、さらに機能させ、前記商品検索部は、前記操作情報受信部が受信した操作情報を用いて、ユーザに提示する提示情報を取得するものとして、コンピュータを機能させるプログラムであることは好適である。
また、上記プログラムにおいて、前記操作情報は、前記端末出力部が出力した1以上のオブジェクト識別子に対して、ユーザが選択した一のオブジェクト識別子を有し、前記商品検索部は、前記一のオブジェクト識別子で識別されるオブジェクトのオブジェクト情報を用いて提示情報を取得するものとして、コンピュータを機能させるプログラムであることは好適である。
また、上記プログラムにおいて、前記商品検索部は、前記一のオブジェクト識別子で識別されるオブジェクトに関連があり、当該オブジェクトと異なる種類のオブジェクトのオブジェクト情報を、提示情報として取得する、または前記一のオブジェクト識別子で識別されるオブジェクトと同じオブジェクトのオブジェクト情報、または前記一のオブジェクト識別子で識別されるオブジェクトと同じ種類のオブジェクトのオブジェクト情報を、提示情報として取得するものとして、コンピュータを機能させるプログラムであることは好適である。
また、上記プログラムにおいて、前記画像受信部は、前記画像とともに、画像以外の情報である付加情報をも受信し、前記商品検索部は、前記付加情報に応じて、提示情報を取得するアルゴリズムが異なるものとして、コンピュータを機能させるプログラムであることは好適である。
また、上記プログラムにおいて、前記付加情報は、前記画像が撮影されたカメラに関するカメラ情報を含むものとして、コンピュータを機能させるプログラムであることは好適である。
また、上記プログラムにおいて、前記商品検索部は、前記カメラ情報が自撮りモードを示す情報である場合は、前記一のオブジェクト識別子で識別されるオブジェクトと異なる種類のオブジェクトのオブジェクト情報を、提示情報として取得し、前記カメラ情報が自撮りモードでないモードを示す情報である場合は、前記一のオブジェクト識別子で識別されるオブジェクトと同じまたは同じ種類のオブジェクトのオブジェクト情報を、提示情報として取得するものとして、コンピュータを機能させるプログラムであることは好適である。
また、上記プログラムにおいて、前記オブジェクト情報取得部は、前記画像受信部が受信した画像に対して、深層学習を用いた画像認識処理により、前記2以上の各オブジェクトを認識し、前記2以上の各オブジェクトを識別するオブジェクト識別子を取得し、当該各オブジェクト識別子を含む2以上のオブジェクト情報を取得するものとして、コンピュータを機能させるプログラムであることは好適である。
また、上記プログラムにおいて、前記購入情報を前記端末装置から受信する購入情報受信部と、前記購入情報を用いた決済処理を行う決済処理部として、コンピュータをさらに機能させるプログラムであることは好適である。
また、図15は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の情報処理装置1等を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図15は、このコンピュータシステム300の概観図であり、図16は、システム300のブロック図である。
図15において、コンピュータシステム300は、CD−ROMドライブを含むコンピュータ301と、キーボード302と、マウス303と、モニタ304とを含む。
図16において、コンピュータ301は、CD−ROMドライブ3012に加えて、MPU3013と、CD−ROMドライブ3012に接続されたバス3014と、ブートアッププログラム等のプログラムを記憶するためのROM3015と、MPU3013に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM3016と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3017とを含む。ここでは、図示しないが、コンピュータ301は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
コンピュータシステム300に、上述した実施の形態の情報処理装置1等の機能を実行させるプログラムは、CD−ROM3101に記憶されて、CD−ROMドライブ3012に挿入され、さらにハードディスク3017に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ301に送信され、ハードディスク3017に記憶されても良い。プログラムは実行の際にRAM3016にロードされる。プログラムは、CD−ROM3101またはネットワークから直接、ロードされても良い。
プログラムは、コンピュータ301に、上述した実施の形態の情報処理装置1等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム300がどのように動作するかは周知であり、詳細な説明は省略する。
なお、上記プログラムにおいて、情報を送信するステップや、情報を受信するステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記各実施の形態において、各処理は、単一の装置によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。