(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-07-22
(45)【発行日】2022-08-01
(54)【発明の名称】情報処理装置、情報処理方法およびプログラム
(51)【国際特許分類】
G06F 16/903 20190101AFI20220725BHJP
G06T 7/00 20170101ALI20220725BHJP
G06Q 50/10 20120101ALI20220725BHJP
【FI】
G06F16/903
G06T7/00 300F
G06Q50/10
(21)【出願番号】P 2020161820
(22)【出願日】2020-09-28
【審査請求日】2020-09-28
(73)【特許権者】
【識別番号】399037405
【氏名又は名称】楽天グループ株式会社
(74)【代理人】
【識別番号】110000154
【氏名又は名称】特許業務法人はるか国際特許事務所
(72)【発明者】
【氏名】中澤 満
(72)【発明者】
【氏名】友岡 高志
【審査官】松尾 真人
(56)【参考文献】
【文献】特表2020-526835(JP,A)
【文献】特開2015-111339(JP,A)
【文献】韓国公開特許第10-2008-0036231(KR,A)
【文献】国際公開第2019/187107(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06T 7/00-7/90
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
第1のアカウントにより登録される第1の画像の背景領域、および、第2のアカウントにより登録される第2の画像の背景領域を特定する背景特定部と、
前記第1の画像の背景領域、および、前記第2の画像の背景領域に基づいて、前記第1のアカウントを所有するユーザと前記第2のアカウントを所有するユーザとが同一であるか否かを示す同一情報を出力する情報出力部と、
を含
み、
前記情報出力部は、前記第1の画像の局所的な特徴をそれぞれ示す複数の第1の局所特徴ベクトルを取得し、前記第2の画像の局所的な特徴をそれぞれ示す複数の第2の局所特徴ベクトルを取得し、前記複数の第1の局所特徴ベクトルのそれぞれに対応する前記第2の局所特徴ベクトルを決定し、
前記情報出力部は、前記第1の画像において複数の第1の局所特徴ベクトルの少なくとも一部が抽出された位置と、前記第2の画像において前記第1の局所特徴ベクトルのそれぞれに対応する前記第2の局所特徴ベクトルが抽出された位置とに基づいて、前記第1の局所特徴ベクトルの少なくとも一部が抽出される複数の点のそれぞれの3次元位置を推定し、前記推定された複数の点の3次元位置に基づいて、前記同一情報を出力する、
情報処理装置。
【請求項2】
請求項
1に記載の情報処理装置であって、
前記背景特定部は、第1の画像の背景領域、および、複数の第2の画像のそれぞれの背景領域を特定し、
前記情報出力部は、前記第1の画像から抽出される第1の全体特徴ベクトルと、前記複数の第2の画像のそれぞれから抽出される複数の第2の全体特徴ベクトルとに基づいて、前記複数の第2の画像から、背景領域が前記第1の画像の背景領域に類似する複数の候補画像を選択し、
前記情報出力部は、前記第1の画像の局所的な特徴をそれぞれ示す複数の第1の局所特徴ベクトルと、前記候補画像のいずれかの局所的な特徴をそれぞれ示す複数の第2の局所特徴ベクトルを取得し、前記第1のアカウントを所有するユーザと前記第2のアカウントを所有するユーザとが同一であるか否かを示す同一情報を出力する、
情報処理装置。
【請求項3】
請求項1
または2に記載の情報処理装置であって、
前記背景特定部は、少なくとも1つの第1の画像の背景領域、および、複数の第2の画像のそれぞれの背景領域を特定し、
前記情報出力部は、前記少なくとも1つの第1の画像の背景領域、および、前記複数の第2の画像の背景領域に基づいて、前記第1の画像に対応する1または複数の第2の画像を探索し、前記少なくとも1つの第1の画像に対応する1または複数の第2の画像に基づいて、前記同一情報を出力する、
情報処理装置。
【請求項4】
請求項1から
3のいずれかに記載の情報処理装置であって、
前記同一情報は、前記第1のアカウントを所有するユーザと前記第2のアカウントを所有するユーザとが同一であるか否かの判定結果である、
情報処理装置。
【請求項5】
請求項1から
4のいずれかに記載の情報処理装置であって、
前記同一情報は、前記第1のアカウントを所有するユーザと前記第2のアカウントを所有するユーザとが同一である可能性の大きさを示す、
情報処理装置。
【請求項6】
背景特定部が、第1のアカウントにより登録される第1の画像の背景領域、および、第2のアカウントにより登録される第2の画像の背景領域を特定するステップと、
情報出力部が、前記第1の画像の背景領域、および、前記第2の画像の背景領域に基づいて、前記第1のアカウントを所有するユーザと前記第2のアカウントを所有するユーザとが同一であるか否かを示す同一情報を出力するステップと、
を含
み、
前記同一情報を出力するステップでは、
情報出力部が、前記第1の画像の局所的な特徴をそれぞれ示す複数の第1の局所特徴ベクトルを取得し、前記第2の画像の局所的な特徴をそれぞれ示す複数の第2の局所特徴ベクトルを取得し、前記複数の第1の局所特徴ベクトルのそれぞれに対応する前記第2の局所特徴ベクトルを決定し、
前記情報出力部が、前記第1の画像において複数の第1の局所特徴ベクトルの少なくとも一部が抽出された位置と、前記第2の画像において前記第1の局所特徴ベクトルのそれぞれに対応する前記第2の局所特徴ベクトルが抽出された位置とに基づいて、前記第1の局所特徴ベクトルの少なくとも一部が抽出される複数の点のそれぞれの3次元位置を推定し、前記推定された複数の点の3次元位置に基づいて、前記同一情報を出力する、
情報処理方法。
【請求項7】
第1のアカウントにより登録される第1の画像の背景領域、および、第2のアカウントにより登録される第2の画像の背景領域を特定する背景特定部、および、
前記第1の画像の背景領域、および、前記第2の画像の背景領域に基づいて、前記第1のアカウントを所有するユーザと前記第2のアカウントを所有するユーザとが同一であるか否かを示す同一情報を出力する情報出力部、
としてコンピュータを機能させ
、
前記情報出力部は、前記第1の画像の局所的な特徴をそれぞれ示す複数の第1の局所特徴ベクトルを取得し、前記第2の画像の局所的な特徴をそれぞれ示す複数の第2の局所特徴ベクトルを取得し、前記複数の第1の局所特徴ベクトルのそれぞれに対応する前記第2の局所特徴ベクトルを決定し、
前記情報出力部は、前記第1の画像において複数の第1の局所特徴ベクトルの少なくとも一部が抽出された位置と、前記第2の画像において前記第1の局所特徴ベクトルのそれぞれに対応する前記第2の局所特徴ベクトルが抽出された位置とに基づいて、前記第1の局所特徴ベクトルの少なくとも一部が抽出される複数の点のそれぞれの3次元位置を推定し、前記推定された複数の点の3次元位置に基づいて、前記同一情報を出力する、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【0002】
オンライン上では様々なサービスが提供されている。ユーザはそのサービスを利用するためにアカウントを作成し、作成されたアカウントを用いてサービスを利用する。通常は1つのサービスに対してユーザが作成するアカウントの数は1であるが、あるユーザが1つのサービスに対して複数のアカウントを作成することがある。サービス運営者は、アカウントの利用状況を把握するため、同一のユーザにより作成された複数のアカウントを検出する処理を行っている。
【0003】
下記特許文献1では複数のアカウントのそれぞれのプロフィール情報を用いて一致度を算出し、算出した一致度に基づいてアカウントの利用者が同一人物であるか否かを判定する技術が開示されている。また、下記特許文献2では、各アカウントのプロフィール情報や各アカウントのユーザにより投稿されたGEOタグ等により特定される位置情報に基づいて同一ユーザが有するアカウントを特定する技術が開示されている。また、下記特許文献3には、ソーシャルメディアのユーザの投稿情報を対比し、投稿によく使用している語句、入力の癖、投稿内容等の一致または類似に基づいて、同一のユーザを特定する技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2013-122630号公報
【文献】国際公開第2019/234827号明細書
【文献】特開2017-151574号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
今までの手法では同一ユーザにより作成された複数のアカウントを検出することができない場合がある。例えばユーザがプロフィール情報や位置情報を異ならせて複数のアカウントを登録する場合、または、投稿される文章にユーザの特徴が出にくいサービスである場合には、同一ユーザが作成した複数のアカウントを検出することが難しい。
【0006】
本発明は上記課題を鑑みてなされたものであって、その目的は、従来の手法では検出が難しい場合であっても同一ユーザにより作成された複数のアカウントを検出する技術を提供することにある。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明にかかる情報処理装置は、第1のアカウントにより登録される第1の画像の背景領域、および、第2のアカウントにより登録される第2の画像の背景領域を特定する背景特定部と、前記第1の画像の背景領域、および、前記第2の画像の背景領域に基づいて、前記第1のアカウントを所有するユーザと前記第2のアカウントを所有するユーザとが同一であるか否かを示す同一情報を出力する情報出力部と、を含む。
【0008】
また、本発明にかかる情報処理方法は、第1のアカウントにより登録される第1の画像の背景領域、および、第2のアカウントにより登録される第2の画像の背景領域を特定するステップと、前記第1の画像の背景領域、および、前記第2の画像の背景領域に基づいて、前記第1のアカウントを所有するユーザと前記第2のアカウントを所有するユーザとが同一であるか否かを示す同一情報を出力するステップと、を含む。
【0009】
また、本発明にかかるプログラムは、第1のアカウントにより登録される第1の画像の背景領域、および、第2のアカウントにより登録される第2の画像の背景領域を特定する背景特定部、および、前記第1の画像の背景領域、および、前記第2の画像の背景領域に基づいて、前記第1のアカウントを所有するユーザと前記第2のアカウントを所有するユーザとが同一であるか否かを示す同一情報を出力する情報出力部、としてコンピュータを機能させる。
【0010】
本発明の一形態では、前記情報出力部は、前記第1の画像の局所的な特徴をそれぞれ示す複数の第1の局所特徴ベクトルを取得し、前記第2の画像の局所的な特徴をそれぞれ示す複数の第2の局所特徴ベクトルを取得し、前記複数の第1の局所特徴ベクトルのそれぞれに対応する前記第2の局所特徴ベクトルの探索結果に基づいて、前記同一情報を出力してもよい。
【0011】
本発明の一形態では、前記背景特定部は、第1の画像の背景領域、および、複数の第2の画像のそれぞれの背景領域を特定し、前記情報出力部は、前記第1の画像から抽出される第1の全体特徴ベクトルと、前記複数の第2の画像のそれぞれから抽出される複数の第2の全体特徴ベクトルとに基づいて、前記複数の第2の画像から、背景領域が前記第1の画像の背景領域に類似する複数の候補画像を選択し、前記情報出力部は、前記第1の画像の局所的な特徴をそれぞれ示す複数の第1の局所特徴ベクトルと、前記候補画像のいずれかの局所的な特徴をそれぞれ示す複数の第2の局所特徴ベクトルを取得し、前記第1のアカウントを所有するユーザと前記第2のアカウントを所有するユーザとが同一であるか否かを示す同一情報を出力してもよい。
【0012】
本発明の一形態では、前記情報出力部は、前記第1の画像において複数の第1の局所特徴ベクトルの少なくとも一部が抽出された位置と、前記第2の画像において前記第1の局所特徴ベクトルのそれぞれに対応する前記第2の局所特徴ベクトルが抽出された位置とに基づいて、前記第1の局所特徴ベクトルの少なくとも一部が抽出される複数の点のそれぞれの3次元位置を推定し、前記推定された複数の点の3次元位置に基づいて、前記同一情報を出力してもよい。
【0013】
本発明の一形態では、前記背景特定部は、少なくとも1つの第1の画像の背景領域、および、複数の第2の画像のそれぞれの背景領域を特定し、前記情報出力部は、前記少なくとも1つの第1の画像の背景領域、および、前記複数の第2の画像の背景領域に基づいて、前記第1の画像に対応する1または複数の第2の画像を探索し、前記少なくとも1つの第1の画像に対応する1または複数の第2の画像に基づいて、前記同一情報を出力してもよい。
【0014】
本発明の一形態では、前記同一情報は、前記第1のアカウントを所有するユーザと前記第2のアカウントを所有するユーザとが同一であるか否かの判定結果であってよい。
【0015】
本発明の一形態では、前記同一情報は、前記第1のアカウントを所有するユーザと前記第2のアカウントを所有するユーザとが同一である可能性の大きさを示してもよい。
【発明の効果】
【0016】
本発明により、従来の手法では検出が難しい場合であっても同一ユーザにより作成された複数のアカウントを検出することができる。
【図面の簡単な説明】
【0017】
【
図1】本発明の実施形態にかかる情報処理システムの一例を示す図である。
【
図2】情報処理システムが実現する機能を示すブロック図である。
【
図3】画像登録部の処理の一例を示すフロー図である。
【
図5】背景特定部および特徴抽出部の処理の一例を示すフロー図である。
【
図7】局所特徴ベクトルの抽出を模式的に説明する図である。
【
図8】同一情報生成部の処理の概要を説明する図である。
【
図9】同一情報生成部の処理の一例を示すフロー図である。
【
図10】同一情報出力部の処理の一例を示すフロー図である。
【
図11】同一情報出力部の処理の一例を示すフロー図である。
【
図12】第1および第2の局所特徴ベクトルの対応を説明する図である。
【
図14】第1の画像と第2の画像との対応の一例を示す図である。
【発明を実施するための形態】
【0018】
以下では、本発明の実施形態を図面に基づいて説明する。同じ符号を付された構成に対しては、重複する説明を省略する。本実施形態では、複数のユーザにより複数のアカウントが作成され、複数のアカウントのそれぞれについて複数の画像の投稿を受け付け、その画像を他のアカウントによりアクセスするユーザに開示するサービスを提供する情報処理システムについて説明する。
【0019】
図1は、本発明の実施形態にかかる情報処理システム1の一例を示す図である。情報処理システム1は、情報処理サーバ10と画像ストレージ19とを含む。情報処理サーバ10は、1または複数の顧客端末2と通信し、顧客端末2を操作するユーザが送信する画像をサービス内に登録する。なお情報処理システム1はユーザから受信した画像を画像ストレージ19に格納し、その画像を検索可能な状態にすることにより画像を登録する。
【0020】
情報処理サーバ10はプロセッサ11、記憶部12、通信部13、入出力部14を含む。なお、情報処理システム1は、情報処理サーバ10の処理を実行する複数のサーバコンピュータにより実現されてもよい。
【0021】
プロセッサ11は、記憶部12に格納されているプログラムに従って動作する。またプロセッサ11は通信部13、入出力部14を制御する。なお、上記プログラムは、インターネット等を介して提供されるものであってもよいし、フラッシュメモリやDVD-ROM等のコンピュータで読み取り可能な記憶媒体に格納されて提供されるものであってもよい。
【0022】
記憶部12は、RAMおよびフラッシュメモリ等のメモリ素子とハードディスクドライブのような外部記憶装置とによって構成されている。記憶部12は、上記プログラムを格納する。また、記憶部12は、プロセッサ11、通信部13、入出力部14から入力される情報や演算結果を格納する。
【0023】
通信部13は、他の装置と通信する機能を実現するものであり、例えば無線LAN、有線LANの集積回路などにより構成されている。通信部13は、プロセッサ11の制御に基づいて、他の装置から受信した情報をプロセッサ11や記憶部12に入力し、他の装置に情報を送信する。
【0024】
入出力部14は、表示出力デバイスをコントロールするビデオコントローラや、入力デバイスからのデータを取得するコントローラなどにより構成される。入力デバイスとしては、キーボード、マウス、タッチパネルなどがある。入出力部14は、プロセッサ11の制御に基づいて、表示出力デバイスに表示データを出力し、入力デバイスをユーザが操作することにより入力されるデータを取得する。表示出力デバイスは例えば外部に接続されるディスプレイ装置である。
【0025】
画像ストレージ19は、例えばハードディスクドライブのような外部記憶装置またはフラッシュメモリによって構成されている。画像ストレージ19は情報処理サーバ10の制御に基づいてユーザにより登録される画像を格納する。画像ストレージ19は、情報処理サーバ10の指示に基づいて、情報処理サーバ10から画像を受信して記憶し、読みだされた画像を情報処理サーバ10へ送信する。画像ストレージ19は、情報処理サーバ10と異なる装置であるが、情報処理サーバ10の記憶部12の一部であってもよい。
【0026】
次に、情報処理システム1が提供する機能について説明する。
図2は、情報処理システム1が実現する機能を示すブロック図である。情報処理システム1は、認証部50、画像登録部51、背景特定部53、同一情報出力部55を含む。また同一情報出力部55は機能的に、特徴抽出部56、同一情報生成部57を含む。これらの機能は、情報処理サーバ10に含まれるプロセッサ11によって記憶部12に格納されるプログラムが実行され、通信部13などを制御することにより実現される。
【0027】
認証部50は、情報処理システム1にアクセスするユーザのアカウントを認証する。より具体的には、ユーザが操作する顧客端末2からアカウントを含む認証に必要な情報を取得し、アカウントが適正なものであるか認証する。アカウントが認証されると、以降の顧客端末2と情報処理サーバ10との通信が、アカウントと関連付けられる。なお、事前に情報処理システム1に対してユーザがアカウントを作成しているものとする。
【0028】
画像登録部51は、あるアカウントによりアクセスするユーザから画像を取得し、取得された画像をアカウントと関連付けて画像ストレージ19に格納する。
【0029】
背景特定部53は、アカウントにより登録される画像の背景領域を特定する。
【0030】
同一情報出力部55は、クエリとなる第1のアカウントに関連付けられた第1の画像の背景領域、および、他のアカウントである第2のアカウントに関連付けられた第2の画像の背景領域に基づいて、第1のアカウントを所有するユーザと第2のアカウントを所有するユーザとが同一であるか否かを示す同一情報を出力する。
【0031】
特徴抽出部56は、登録された画像のそれぞれから、その画像の背景領域の全体の特徴を示す1つの全体特徴ベクトルと、その画像の局所的な特徴を示す複数の局所特徴ベクトルとを取得する。
【0032】
同一情報生成部57は、第1の画像に対して取得される第1の全体特徴ベクトルと、第2の画像に対して取得される第2の全体特徴ベクトルとに基づいて同一情報を出力する。また同一情報生成部57は、第1の画像に対して取得される複数の第1の局所特徴ベクトルと、第2の画像に対して取得される複数の第2の局所特徴ベクトルとに基づいて同一情報を出力する。また同一情報生成部57は、少なくとも1つの第1の画像の背景領域、および、複数の第2の画像の背景領域に基づいて、第1の画像に対応する1または複数の第2の画像を探索し、少なくとも1つの第1の画像に対応する1または複数の第2の画像に基づいて、同一情報を出力する。
【0033】
図3は、画像登録部51の処理の一例を示すフロー図である。画像登録部51は、はじめに、顧客端末2よりアップロードされた画像を受信する(ステップS101)。画像登録部51は、画像を送信したアカウントを特定する(ステップS102)。ここで、画像登録部51は、顧客端末2からの通信と関連付けられたアカウントに基づいて画像を送信したアカウントを特定してもよいし、画像とともに送信される情報からアカウントを特定してもよい。画像登録部51は、受信された画像を特定されたアカウントと関連付けて画像ストレージ19に格納する(ステップS103)。
【0034】
図4は、登録される画像の一例を示す図である。
図4は、例えば顧客間で直接的に商品を売り買いするフリーマーケットサービスにおいて登録される画像の例であり、部屋の中に置かれたカバンの画像が示されている。
【0035】
次に、同一のユーザが所有する複数のアカウントを検出するための処理について説明する。
図5は、背景特定部53および特徴抽出部56の処理の一例を示すフロー図である。
図5に示される処理は、画像ごとに実行される。また
図5に示される処理は、画像登録部51が登録する画像を受信するごとに行われてもよいし、定期的にこの処理が実行されていない画像を検出し、その検出された画像のそれぞれに対して
図5に示される処理が実行されてもよい。
【0036】
はじめに、背景特定部53は、処理対象となる画像の背景領域と特定する(ステップS201)。背景領域の特定は、ニューラルネットワークを用いたいわゆるSemantic Segmentationにより行われてもよいし、ニューラルネットワークを用いたいわゆるRegion Proposalの手法により行われてもよい。これらの手法は公知であるので詳細の説明は省略する。
【0037】
背景領域が特定されると、背景特定部53は、その背景領域以外(つまり前景)を塗りつぶした画像を処理対象となる画像の背景領域の画像(背景画像)として取得する(ステップS202)。
【0038】
図6は、背景画像の一例を示す図である。背景画像では、前景であるカバンの領域が塗りつぶされている。塗りつぶされた領域は、以下の処理では画像の存在しない領域として扱われ、全体特徴ベクトル、局所特徴ベクトルの抽出の対象から除外される。
【0039】
背景画像が取得されると、特徴抽出部56は背景画像の独自性を算出する(ステップS203)。背景画像の独自性の算出は、特徴抽出部56が背景画像を機械学習モデルに入力し、その機械学習モデルの出力を算出結果として取得することより行われてよい。機械学習モデルは、本実施形態では例えば、アダブースト、ランダムフォレスト、ニューラルネットワーク、サポートベクタマシン(SVM)、最近傍識別器、などの機械学習が実装された機械学習モデルである。
【0040】
機械学習モデルは、予め、学習入力画像と教師データとを含む学習データにより学習されている。この学習データには、背景画像が所定画素数となるように拡大または縮小された学習入力画像と、その背景画像の独自性の大きさを示す所与の教師データと、が含まれている。
【0041】
機械学習モデルを用いずに独自性が算出されてもよい。例えば、背景画像の階調値の分散を求めることにより独自性の大きさを算出してもよい。この場合、背景が単色に近いほど分散の値が小さくなり、独自性が低くなる。格子などのありきたりなパターンの検出は難しいものの、高速に独自性を算出することができる。
【0042】
また、算出の対象となる背景画像に類似する背景画像に基づいて独自性が算出されてもよい。より具体的には、事前に、既に取得された複数の背景画像を含む画像検索モデルを構築する。そして特徴抽出部56は、その画像検索モデルを用いて算出の対象となる背景画像に類似する背景画像を検索する。特徴抽出部56は、検索により見つかった類似する背景画像の数、または、類似する背景画像と、算出の対象となる背景画像との類似度に基づいて、独自性を算出する。見つかった類似する背景画像の数が少ないほど、または、類似度が小さいほど、独自性が大きくなる。
【0043】
そして、背景画像に独自性がない(独自性の大きさが判定閾値より低い)場合には(ステップS204のN)、特徴抽出部56はこの背景画像が抽出された画像を以下の同一ユーザ所有のアカウントの判定の対象から除外し(ステップS205)、ステップS206からS208の処理は実行されない。
【0044】
ステップS203~S205の処理は、ありきたりの(独自性の低い)背景画像を処理対象から外すために行われる。ありきたりの背景画像は互いに異なるユーザの画像でも存在する可能性が高いため、同一ユーザが所有する複数のアカウントの検出に用いることは適切ではない。そのため、これらの処理により、同一ユーザが所有する複数のアカウントの検出精度を向上させつつ、ありきたりの背景画像に関する処理をスキップさせることで計算リソースを節約することが可能になる。
【0045】
ここで、背景画像に独自性がある(独自性の大きさが判定閾値を超える)場合には(ステップS204のY)、特徴抽出部56は、背景画像から、複数の局所特徴ベクトルを抽出し、抽出された局所特徴ベクトルを背景画像の元の画像に関連付けて記憶させる(ステップS206)。局所特徴ベクトルは画像ストレージ19に格納されてもよいし記憶部12に格納されてもよい。複数の局所特徴ベクトルのそれぞれは、背景画像の局所的な特徴を示す。特徴抽出部56は、例えばSIFT、ORB、BRISKのような公知の手法を用いて局所特徴ベクトルを抽出してよい。
【0046】
特徴抽出部56は、局所特徴ベクトルとともに画像内においてその局所特徴ベクトルが抽出される点の位置も取得し、その点の位置も画像に関連付けて記憶させる。
図7は、局所特徴ベクトルの抽出を模式的に説明する図である。
図7に示される黒丸は、
図6に示される背景画像から局所特徴ベクトルが抽出される点を示す。局所特徴ベクトルは背景画像のうち局所的な特徴のある点から抽出され、局所特徴ベクトルの数は背景画像により異なる。なお、以下では、ある画像から生成される背景画像から抽出される局所特徴ベクトルを、その画像の局所特徴ベクトルと記載する。
【0047】
特徴抽出部56は、局所特徴ベクトル以外の情報も抽出する。より具体的には、特徴抽出部56は背景画像から全体特徴ベクトルを抽出し、抽出された全体特徴ベクトルを背景画像の元の画像に関連付けて記憶させる(ステップS207)。ここで、特徴抽出部56は、1つの背景画像から1つの全体特徴ベクトルを抽出する。なお、以下では、ある画像から生成される背景画像から抽出される全体特徴ベクトルを、その画像の全体特徴ベクトルと記載する。
【0048】
特徴抽出部56は、Bag of Visual Words(BoVW)の手法を用いて全体特徴ベクトルを抽出してよい。この場合、特徴抽出部56は、すべてのアカウントについての背景画像のうち独自性のある背景画像に基づいてVisual Wordsを決定し、背景画像のそれぞれの全体特徴ベクトルを抽出してもよいし、一部の背景画像に基づいてVisual Wordを決定してもよい。BoVWの処理手法は公知であるので処理の詳細の説明は省略する。なお、特徴抽出部56は、ステップS206で抽出された局所特徴ベクトルに基づいて全体特徴ベクトルを抽出してもよいし、ステップS206と異なる手法で抽出された局所特徴ベクトルに基づいて全体特徴ベクトルを抽出してもよい。また精度は低下するが、特徴抽出部56は、前景が塗りつぶされていない画像から全体特徴ベクトルを抽出してもよい。
【0049】
BoVWの代わりに、特徴抽出部56はオートエンコーダのエンコーダ部分に背景画像を入力し、そのエンコーダ部分の出力を全体特徴ベクトルとして取得してよい。この場合オートエンコーダに予め複数の教師画像が入力され、オートエンコーダの出力と教師画像とによりオートエンコーダの各ノードのパラメータが調整されているものとする。
【0050】
以下では、同一情報生成部57の処理について説明する。同一情報生成部57は、あるアカウント(第1のアカウント)と他のアカウント(第2のアカウント)とが同一のユーザであるか否かを判定するために、第1の画像と第2の画像とが同一の背景を有するか否か判定する。第1の画像は、画像登録部51により第1のアカウントと関連付けて記憶された画像であり、第2の画像は画像登録部51により第2のアカウントと関連付けて記憶された画像である。ただし以下の処理の対象となる第1の画像および第2の画像は、ステップS204にて背景画像に独自性があると判定されたものに限定される。
【0051】
図8は、同一情報生成部57の処理の概要を説明する図である。
図8では説明の容易のため、第1のアカウントに関連付けられた1つの第1の画像をクエリ画像として、複数の第2の画像から共通する背景を有するものを検索する場合の例を示す図である。
図8に示される処理は第1のアカウントに関連付けられた第1の画像のそれぞれに対して実行されてよい。
【0052】
同一情報生成部57は、処理負荷の軽減と精度の向上とを両立するために、3段階の処理を実行する。1段階目の処理では、処理負荷の低い手法で類似の背景画像をスクリーニングすることにより第2の画像のグループ(第1の候補グループ)を生成する。この処理では第1の画像の全体特徴ベクトルと第2の画像の全体特徴ベクトルとの類似度により、類似する第2の画像が検出される。また検出された第2の画像は第1の候補グループに追加される。
【0053】
なお、第1の画像の背景画像および第2の画像の背景画像は、それぞれ第1の画像、第2の画像と1対1で対応するため、上記処理では第1の画像および第2の画像の代わりに第1の画像の背景画像、第2の画像の背景画像が検出されても構わない。以下でも同様である。
【0054】
2段階目の処理では、より高精度な手法で類似の背景画像をスクリーニングすることにより、第1の候補グループより数が少なくなる第2の画像のグループ(第2の候補グループ)を生成する。この処理では、第1の画像の複数の局所特徴ベクトル(第1の局所特徴ベクトル)と第2の画像の複数の局所特徴ベクトル(第2の局所特徴ベクトル)とを公知のマッチング手法で対応させ、互いに対応するとされた第1の局所特徴ベクトルと第2の局所特徴ベクトルとのセットの数に基づいて類似が判定されてよい。
【0055】
3段階目の処理では、互いに対応する第1の局所特徴ベクトルと第2の局所特徴ベクトルとのセットから適正な3次元の背景が得られるか否かに基づいて、第2の画像をスクリーニングする。より具体的には、3段階目の処理では、複数のセットからそのセットに含まれる第1および第2の局所特徴ベクトルが抽出される点の3次元位置を推定し、その3次元位置が適正に推定されたかに基づいて適正な3次元の背景が得られたか判定する。この判定は第2の候補グループに含まれる第2の画像のそれぞれについて行われる。同一の背景を含むと判定された第2の画像が最終的な検索結果として出力される。
【0056】
図9から11は、同一情報生成部57の処理の一例を示すフロー図である。
図9から11は、第1のアカウントに関連付けられた複数の第1の画像および第2のアカウントに関連付けられた第2の画像から、互いに同じ背景画像を有する第1の画像と第2の画像とのセットを特定し、その特定されたセットに基づいて第1のアカウントと第2のアカウントとを同一のユーザが所有するか否かを判定する処理を示している。1段階目の処理はステップS305であり、2段階目の処理はステップS311からS317であり、3段階目の処理はステップS321からS327である。
【0057】
はじめに同一情報生成部57は、第1のアカウントに関連付けられた複数の第1の画像のうち、独自性ありと判定された複数の画像から、1つの第1の画像を選択する(ステップS301)。次に同一情報生成部57は、選択された第1の画像に関連付けて記憶された全体特徴ベクトルを第1の全体特徴ベクトルとして取得し(ステップS302)、選択された第1の画像に関連付けて記憶された複数の局所特徴ベクトルを、複数の第1の局所特徴ベクトルとして取得する(ステップS303)。
【0058】
そして同一情報生成部57は、第2のアカウントに関連付けられた第2の画像のそれぞれについて、第1の全体特徴ベクトルとその第2の画像に関連付けられた第2の全体特徴ベクトルとの類似度を算出し、その複数の第2の画像のうち類似度が閾値より高いものを第1の候補グループに追加する(ステップS305)。類似度は例えばL2ノルムであり、類似と判定される類似度の基準は、2段階目の処理より緩くなるように設定される。
【0059】
第1の候補グループに第2の画像が追加されると、同一情報生成部57は、第1の候補グループに属する1つの第2の画像を選択する(ステップS311)。そして、取得された複数の第1の局所特徴ベクトルと、選択された第2の画像に関連付けられた複数の第2の局所特徴ベクトルとの対応を決定する(ステップS312)。
【0060】
対応の決定においては公知のマッチング手法が用いられる。例えば、同一情報生成部57は、第1の局所特徴ベクトルと複数の第2の局所特徴ベクトルのそれぞれとの距離(類似度に相当)を例えばL2ノルムにより算出する。さらに同一情報生成部57は、最も距離(d1)の小さい第2の局所特徴ベクトルと次に距離(d2)の小さい第2の局所特徴ベクトルとで、d1<d2×A(Aは0以上1未満の定数)を満たすものを第1の局所特徴ベクトルに対応する第2の局所特徴ベクトルとして決定し、その第1の特徴ベクトルと対応する第2の特徴ベクトルとのセットを記憶部12に記憶させる。この場合、その決定された第2の局所特徴ベクトルは他の第1の局所特徴ベクトルと対応するものとして決定されない。なお、マッチング手法として、例えばSuperGlueのようなグラフニューラルネットワークにより第1の局所特徴ベクトルと第2の局所特徴ベクトルとのマッチングが行われてもよい。
【0061】
図12は、第1および第2の局所特徴ベクトルの対応を説明する図である。上の画像が1つの第1の画像に対応し、下の画像が1つの第2の画像に対応する。上の画像中の黒丸は第1の局所特徴ベクトルに対応し、下の画像中の黒丸は第2の局所特徴ベクトルに対応する。破線によってつながっている黒丸は互いに対応する第1および第2の局所特徴ベクトルを示している。
【0062】
対応が決定されると、同一情報生成部57は、その対応に基づいて、第1の画像の背景画像と第2の画像の背景画像とが類似しているか否かを判定する(ステップS313)。具体的には、同一情報生成部57は、互いに対応するとされた第1の局所特徴ベクトルと第2の局所特徴ベクトルとのセットの数が閾値を超えるか否かに基づいて類似するか否かを判定してよい。また第1の局所特徴ベクトルの数と第2の局所特徴ベクトルの数のうち小さい方に対するセットの数の割合がセット閾値を超えるか否かに基づいて類似するか否かが判定されてもよい。
【0063】
第1の画像の背景画像と第2の画像の背景画像とが類似していないと判定された場合には(ステップS313のN)、ステップS314およびステップS315の処理はスキップされる。一方第1の画像の背景画像と第2の画像の背景画像とが類似していると判定された場合には(ステップS313のY)、同一情報生成部57は第1の画像の背景画像と第2の画像の背景画像とが極めて近いか否か判定する(ステップS314)。より具体的には、同一情報生成部57は、互いに対応する第1および第2の局所特徴ベクトルのセットの数が厳密閾値より多く、かつ互いに対応する第1の局所特徴ベクトルと第2の局所特徴ベクトルとの距離の和または平均が厳密距離閾値より小さい場合には、同一情報生成部57は第1の画像の背景画像と第2の画像の背景画像とが極めて近いと判定する。ここで厳密閾値は、セット閾値より大きい。
【0064】
第1の画像の背景画像と第2の画像の背景画像とが極めて近いと判定されると(ステップS314のY)、同一情報生成部57は第1の画像と第2の画像とが対応すると判定し、その第1の画像と第2の画像のセットを記憶部12に記憶させ(ステップS319)、3段階目の処理をスキップしステップS326の処理へ遷移させる。
【0065】
第1の画像と第2の画像とで背景が極めて似ている場合には、後続の処理をすることなく第1の画像と第2の画像とが同一の背景を有すると判定している。これにより以降の処理が行われないため処理時間を削減し、また三脚などによりカメラの視点がほぼ同じである場合に、3段階目の処理で第1の画像と第2の画像が対応しないと誤って判定され、第1のアカウントと第2のアカウントとの関係が誤って判定される可能性を減らすことができる。
【0066】
一方、第1の画像の背景画像と第2の画像の背景画像とが極めて近いと判定されない場合には(ステップS314のN)、同一情報生成部57は第2の候補グループに選択された第2の画像を追加し、互いに対応する第1の局所特徴ベクトルと第2の局所特徴ベクトルとのセットを第2の画像に関連付けて記憶部12に記憶させる(ステップS315)。そして第1の候補グループに属する第2の画像のうち選択されていないものが存在する場合には(ステップS316のN)、同一情報生成部57は第1の候補グループから次の第2の画像を選択し(ステップS317)、ステップS312以降の処理を繰り返す。
【0067】
第1の候補グループに属する第2の画像のすべてが選択されている場合には(ステップS316のY)、第2の候補グループが確定され、ステップS321以降の3段階目の処理へ遷移する。
【0068】
第1の候補グループに第2の画像が追加されると、同一情報生成部57は、第2の候補グループに属する1つの第2の画像を選択する(ステップS321)。そして同一情報生成部57は、選択された第2の画像と関連付けて格納される複数のセットに基づいて、セットのそれぞれに対応する点の3次元位置を算出する(ステップS322)。言い換えると、同一情報生成部57は、複数のセットのそれぞれについて、第1の画像において第1の局所特徴ベクトルが抽出された位置と、第2の画像において第2の局所特徴ベクトルが抽出された位置とに基づいて、その第1および第2の局所特徴ベクトルが抽出される点の3次元位置を推定する。
【0069】
3次元位置は、いわゆる三角測量の考え方を用いて推定されてよい。
図13は3次元位置の算出を説明する図である。
【0070】
より具体的には、はじめに、同一情報生成部57は、複数のセットのそれぞれに含まれる第1および第2の特徴ベクトルが抽出された第1および第2の画像(
図13の画像m1,m2参照)における位置(
図13の点Pi1,Pi2参照)に基づいて、画像が撮影された視点e1,e2および撮影方向(視点e1,e2から延びる矢印参照)を推定する。そして同一情報生成部57は、その視点および撮影方向と第1および第2の特徴ベクトルが抽出された位置(点)とに基づいてDirect Linear Transform(DLT)法を用いてその点の3次元位置(
図13の点Pr参照)を求める。なお複数の画像において互いに対応する局所特徴ベクトルが抽出される点の3次元位置を求める手法は公知であるため、より詳細な説明は省略する。この手法は、例えばSfMを実現するソフトウェアでも用いられており、同一情報生成部57はこのソフトウェアを実行することにより複数のセットのそれぞれについて点の3次元位置を算出してもよい。
【0071】
点の3次元位置が算出されると、同一情報生成部57は3次元位置が適正に推定されたか否か判定する。より具体的には、はじめに、同一情報生成部57は、算出された点の3次元位置に基づいて、その点を第1の画像および第2の画像上に再投影し、第1の画像と第2の画像における元の点の位置との再投影誤差を計算する(ステップS323)。ここで第1および第2の画像における元の点の位置は、それぞれ第1および第2の画像において第1および第2の局所特徴ベクトルが抽出された位置である。言い換えると、再投影誤差は、3次元の点が第1の画像へ投影された点と、その点に対応する第1の局所特徴ベクトルが抽出された点との距離、および、その3次元の点が第2の画像へ投影された点と、その点に対応する第2の局所特徴ベクトルが抽出された点との距離である。
【0072】
同一情報生成部57は複数のセットのそれぞれについて計算されたその再投影誤差の和を算出し、その再投影誤差の和が所定の範囲に収まる(判定閾値より小さい)か否か判定する(ステップS324)。再投影誤差の和が所定の範囲に収まる場合には(ステップS324のY)、同一情報生成部57は第1の画像と第2の画像とが対応すると判定し、その第1の画像と第2の画像のセットを記憶部12に記憶させる(ステップS325)。再投影誤差の和が所定の範囲に収まらない(判定閾値より大きい)場合には、ステップS325がスキップされる。なお、和が閾値を超えるか否かに基づく判定の代わりに、再投影誤差の平均や分散に基づく判定が行われてもよい。
【0073】
そして第2の候補グループに属する第2の画像のうち選択されていないものが存在する場合には(ステップS326のN)、同一情報生成部57は第2の候補グループから次の第2の画像を選択し(ステップS327)、ステップS322以降の処理を繰り返す。一方、第2の候補グループに属する第2の画像のすべてが選択されている場合には(ステップS326のY)、3段階目の処理が終了し、ステップS330以降の処理へ遷移する。
【0074】
ステップS330では、同一情報生成部57は第1のアカウントに関連付けられかつ独自性のある1または複数の第1の画像のうちすべての画像が選択されたか判定する。まだ選択されていない画像が存在する場合には(ステップS330のN)、同一情報生成部57は第1のアカウントに関連付けられかつ独自性のある複数の第1の画像のうち、次の第1の画像を選択し(ステップS331)、ステップS302以降の処理を繰り返す。
【0075】
一方、全ての第1の画像が選択された場合には(ステップS330のY)、同一情報生成部57は、記憶部12に記憶された第1の画像および第2の画像のセットに基づいて、第1のアカウントを所有するユーザと、第2のアカウントを所有するユーザとが同一であるか否かを示す同一情報を生成する(ステップS332)。第1の画像および第2の画像をそれぞれ含む複数のセットは、少なくとも1つの第1の画像とその第1の画像に対応する1または複数の第2の画像と等価な情報である。
【0076】
図14は、第1の画像と第2の画像との対応の一例を示す図である。
図14は第1のアカウントと第2のアカウントにおいて背景が同じであるとされ互いに対応すると判定された画像の組み合わせが示されている。画像を結ぶ線が画像間の対応を示している。ステップS332において、同一情報生成部57は、例えば、セットの数や、セットの数を第1の画像と第2の画像の数の和で割った値が所定の閾値を超えた場合に、第1のアカウントと第2のアカウントとが同一のユーザにより所有されると判定し、その判定結果を示す同一情報を作成してよい。このように複数の画像の対応を用いて判定することで、偶然の一致などに起因する誤判定を防ぐことが可能になる。
【0077】
図9から11に示される処理は複数の互いに異なる第2のアカウントについて実行される。そこで、同一情報生成部57は、第1のアカウントにマッチングすると判定された第2のアカウントの数に基づいて、同一情報を生成してもよい。より具体的には、同一情報生成部57は、ステップS332において同一であるか否かを示す同一情報を生成する手法と同様の手法で複数の第2のアカウントのそれぞれについて第1のアカウントと第2のアカウントとがマッチングするか否かを判定する。そして、複数の第2のアカウントについてステップS332によるマッチングの判定がされた後に、同一情報生成部57は、第1のアカウントにマッチングすると判定された第2のアカウントの数に基づいて、第1のアカウントを所有するユーザとその複数の第2のアカウントを所有するユーザとが同一であるか否かを示す同一情報を生成する。
【0078】
例えば同一情報生成部57は、第1のアカウントとマッチングする第2のアカウントの数がアカウント閾値(例えば3以上の整数)より小さい場合には第1のアカウントを所有するユーザとその複数の第2のアカウントを所有するユーザとが同一であることを示す同一情報を生成し、第1のアカウントとマッチングする第2のアカウントの数がアカウント閾値以上である場合には、その同一であることを示す同一情報を生成しなくてよい。これにより、例えば、実際には独自性の低い背景画像が
図9から11に示される処理の対象とされてしまった場合に、本来異なるユーザが所有している第1および第2のアカウントを同一であると誤判定することを防ぐことができる。
【0079】
なお、同一の背景を有するとして第1の画像と第2の画像とが互いに対応すると判定される場合に、同一情報生成部57は、ステップS325,S319の代わりに、その第1の画像に関連付けられた第1のアカウントと、第2の画像に関連付けられた第2のアカウントとが同一のユーザにより所有されると判定して、同一情報を生成してもよい。この場合はこの後に
図9から11の処理は実行されない。この処理により、精度はいくらか低下するものの、処理負荷を低減することができる。
【符号の説明】
【0080】
1 情報処理システム、2 顧客端末、10 情報処理サーバ、11 プロセッサ、12 記憶部、13 通信部、14 入出力部、19 画像ストレージ、50 認証部、51 画像登録部、53 背景特定部、55 同一情報出力部、56 特徴抽出部、57 同一情報生成部。