(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024020924
(43)【公開日】2024-02-15
(54)【発明の名称】特定プログラム、特定方法および情報処理装置
(51)【国際特許分類】
G06T 7/00 20170101AFI20240207BHJP
G06V 10/764 20220101ALI20240207BHJP
G06V 10/422 20220101ALI20240207BHJP
【FI】
G06T7/00 660Z
G06T7/00 350B
G06V10/764
G06V10/422
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022123482
(22)【出願日】2022-08-02
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】木幡 駿
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA02
5L096AA06
5L096BA02
5L096CA04
5L096CA05
5L096FA16
5L096FA66
5L096FA69
5L096GA34
5L096GA51
5L096HA05
5L096HA11
5L096JA03
5L096KA04
5L096MA07
(57)【要約】
【課題】人物の誤同定を抑制することを課題とする。
【解決手段】情報処理装置は、複数のカメラのそれぞれが撮影した画像の重なる領域から得られる同一人物の複数のペア画像を取得する。情報処理装置は、取得をした複数のペア画像に含まれる複数の人物画像のそれぞれから得られる人物特徴量に対応するノードを有する有向グラフを生成する。情報処理装置は、ノード間で人物特徴量が類似する人物画像の数に基づいて、生成された有向グラフのリンクの重みを算出する。情報処理装置は、算出されたリンクの重みに基づいて、複数のペア画像の全体で人物特徴量が類似する人物画像の総数が最大となる人物特徴量の組合せパターンを特定する。
【選択図】
図10
【特許請求の範囲】
【請求項1】
コンピュータに、
複数のカメラのそれぞれが撮影した画像の重なる領域から得られる同一人物の複数のペア画像を取得し、
取得をした複数のペア画像に含まれる複数の人物画像のそれぞれから得られる人物特徴量に対応するノードを有する有向グラフを生成し、
前記ノード間で人物特徴量が類似する人物画像の数に基づいて、生成された有向グラフのリンクの重みを算出し、
算出されたリンクの重みに基づいて、前記複数のペア画像の全体で前記人物特徴量が類似する人物画像の総数が最大となる人物特徴量の組合せパターンを特定する、
処理を実行させることを特徴とする特定プログラム。
【請求項2】
前記生成する処理は、
前記複数のペア画像ごとに前記ペア画像に含まれる2つの人物画像の人物特徴量の各々に対応する2つのノードを始点から終点への向きへ順に並べ、前記複数のペア画像のうち第1のペア画像の2つの親ノードのそれぞれおよび第2のペア画像の2つの子ノードのそれぞれをリンクで接続した有向グラフを生成する、ことを特徴とする請求項1に記載の特定プログラム。
【請求項3】
前記特定する処理は、
前記有向グラフの始点から終点までの経路で前記リンクの重みの総和が最大となるノードの組合せパターンをダイクストラ法にしたがって探索することにより、前記複数のペア画像の全体で前記人物特徴量が類似する人物画像の総数が最大となる人物特徴量の組合せパターンを特定する、ことを特徴とする請求項1に記載の特定プログラム。
【請求項4】
前記複数のペア画像ごとに2つの人物画像の人物特徴量のうち前記組合せパターンに含まれない方の人物特徴量を前記組合せパターンに含まれる方の人物特徴量に補正し、
前記人物画像の組合せごとに補正後の人物特徴量を用いて人物画像間の人物特徴量の距離を算出することにより距離行列を算出し、
算出された距離行列に基づいて前記複数のペア画像のデータセットに含まれる人物画像をクラスタリングし、
クラスタリングの結果として得られたクラスタごとに疑似ラベルを生成し、
前記人物画像を前記疑似ラベルのクラスに分類する機械学習モデルの機械学習に用いる学習データとして、前記複数のペア画像のデータセットに含まれる人物画像を説明変数とし、正解の疑似ラベルを目的変数とする前記学習データを生成する、
処理を前記コンピュータに実行させることを特徴とする請求項1~3のいずれか1つに記載の特定プログラム。
【請求項5】
コンピュータが、
複数のカメラのそれぞれが撮影した画像の重なる領域から得られる同一人物の複数のペア画像を取得し、
取得をした複数のペア画像に含まれる複数の人物画像のそれぞれから得られる人物特徴量に対応するノードを有する有向グラフを生成し、
前記ノード間で人物特徴量が類似する人物画像の数に基づいて、生成された有向グラフのリンクの重みを算出し、
算出されたリンクの重みに基づいて、前記複数のペア画像の全体で前記人物特徴量が類似する人物画像の総数が最大となる人物特徴量の組合せパターンを特定する、
処理を実行することを特徴とする特定方法。
【請求項6】
複数のカメラのそれぞれが撮影した画像の重なる領域から得られる同一人物の複数のペア画像を取得し、
取得をした複数のペア画像に含まれる複数の人物画像のそれぞれから得られる人物特徴量に対応するノードを有する有向グラフを生成し、
前記ノード間で人物特徴量が類似する人物画像の数に基づいて、生成された有向グラフのリンクの重みを算出し、
算出されたリンクの重みに基づいて、前記複数のペア画像の全体で前記人物特徴量が類似する人物画像の総数が最大となる人物特徴量の組合せパターンを特定する、
制御部を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、特定プログラム、特定方法および情報処理装置に関する。
【背景技術】
【0002】
生活様式の変化や労働力の不足に伴い、店舗運営の自動化や効率化を目的として、店舗内の監視カメラを用いた購買行動分析が利用されている。購買行動分析の例としては、店舗内の買い回り状況から行動分析により消費者の購買特性を推定したり、セルフレジの店舗にて不審行動を検知したりすることで、新規顧客開拓や店舗運営効率化を実現することが挙げられる。なお、買い回り状況からの行動分析とは、対象とする消費者が店舗内のどの商品を購入していくかを分析することをいい、不審行動検知とは、買い物かごに入れた商品をスキャンせずに退店していくかをいう。
【0003】
近年では、様々な店舗内の購買行動を分析するために、店舗内に設置された複数の監視カメラによる人物追跡技術が利用されている。この人物追跡技術としては、人物検出モデルと人物同定モデルとを組み合わせた同一人物の追跡技術が知られている。例えば、同一人物の追跡技術では、人物検出モデルにより、各監視カメラの画像からバウンディングボックスを検出し、人物同定モデルにより、各監視カメラの各フレームの人物のバウンディングが同一人物か否かを同定することが行われる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2019-29021号公報
【特許文献2】特開2018-61114号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記技術では、人物追跡技術で使用する各モデルの学習データの画像特性と、人物追跡技術を実際に適用する店舗で撮像した画像データの画像特性とが異なることが多く、人物同定モデルの推論精度が低下し、人物の誤同定が発生する。
【0006】
例えば、適用対象である店舗ごとに、監視カメラの画角や輝度が異なり、さらには、季節、流行に伴う服装の変化、年齢、人種などの客層が異なり、商品棚、床や柱の色や模様などの背景も異なる。このような画像特性の組合せは膨大であり、すべての組合せを訓練させることは現実的ではない。
【0007】
また、各モデルの訓練に使用する学習データのデータセットは、店舗ごとに用意することは実用上、非現実的であることから、一般的に公開されている公開データセットを使用することが多い。
【0008】
例えば、人物検出モデルは、画像データを入力し、画像データ内の人物の存在位置を推定し、そのエリア(バウンディングボックス)を出力するように深層学習などにより構築される。また、人物同定モデルは、2つの人物のバウンディングボックスが指定された画像データを入力し、それらの人物の特徴量(特徴ベクトル)を出力するように深層学習などにより構築される。なお、以降では、バウンディングボックスが指定された画像データを「バウンディングボックス画像」と記載することがある。
【0009】
このように、各モデルの学習データとしては、同一人物を様々な角度から撮像したバウンディングボックス画像を、大量の人数分取得することが好ましいが、実環境で学習データセットを取得することは膨大なコストがかかる。また、公開データセットで、様々な店舗の画像特性を網羅することは困難である。
【0010】
一つの側面では、人物の誤同定を抑制することができる特定プログラム、特定方法および情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0011】
第1の案では、特定プログラムは、コンピュータに、複数のカメラのそれぞれが撮影した画像の重なる領域から得られる同一人物の複数のペア画像を取得し、取得をした複数のペア画像に含まれる複数の人物画像のそれぞれから得られる人物特徴量に対応するノードを有する有向グラフを生成し、前記ノード間で人物特徴量が類似する人物画像の数に基づいて、生成された有向グラフのリンクの重みを算出し、算出されたリンクの重みに基づいて、前記複数のペア画像の全体で前記人物特徴量が類似する人物画像の総数が最大となる人物特徴量の組合せパターンを特定する、処理を実行させる。
【発明の効果】
【0012】
一実施形態によれば、人物の誤同定を抑制することができる。
【図面の簡単な説明】
【0013】
【
図1】
図1は、実施例1にかかるシステムの全体構成例を示す図である。
【
図2】
図2は、人物追跡技術の参考技術1を説明する図である。
【
図3】
図3は、店舗の実映像を用いた学習データの生成を説明する図である。
【
図4】
図4は、人物追跡技術の参考技術2を説明する図である。
【
図5】
図5は、人物追跡技術の参考技術3を説明する図である。
【
図6】
図6は、疑似ラベルの生成事例を説明する図である。
【
図7】
図7は、疑似ラベルの生成事例を説明する図である。
【
図8】
図8は、人物特徴量の選択事例を説明する図である。
【
図9】
図9は、人物特徴量の選択事例を説明する図である。
【
図10】
図10は、実施例1にかかる人物追跡技術に用いる人物同定モデルの生成を説明する図である。
【
図11】
図11は、実施例1にかかる情報処理装置の機能構成を示す機能ブロック図である。
【
図12】
図12は、人物検出モデルの生成を説明する図である。
【
図14】
図14は、人物バウンディングボックスの検出を説明する図である。
【
図19】
図19は、組合せ最適化問題の定式化を説明する図である。
【
図20】
図20は、人物特徴量の組合せパターンの特定を説明する図である。
【
図22】
図22は、事前処理の流れを示すフローチャートである。
【
図23】
図23は、同一人物ペアの抽出処理の流れを示すフローチャートである。
【
図24】
図24は、学習データ生成処理の流れを示すフローチャートである。
【
図25】
図25は、人物同定モデルの機械学習処理の流れを示すフローチャートである。
【
図26】
図26は、推論処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0014】
以下に、本願の開示する特定プログラム、特定方法および情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
【実施例0015】
[全体構成]
図1は、実施例1にかかるシステムの全体構成例を示す図である。
図1に示すように、このシステムは、空間の一例である店舗1と、店舗1の異なる場所に設置された複数のカメラ2と、情報処理装置10とを有する。
【0016】
複数のカメラ2それぞれは、店舗1内の所定領域を撮像する監視カメラの一例であり、撮像した映像のデータを、情報処理装置10に送信する。以下の説明では、映像のデータを「映像データ」と表記する場合がある。また、映像データには、時系列の複数の画像フレームが含まれる。各画像フレームには、時系列の昇順に、フレーム番号が付与される。1つの画像フレームは、カメラ2があるタイミングで撮影した静止画像の画像データである。
【0017】
情報処理装置10は、複数のカメラ2それぞれにより撮像された各画像データを解析するコンピュータの一例である。なお、複数のカメラ2それぞれと情報処理装置10とは、有線や無線を問わず、インターネットや専用線などの各種ネットワークを用いて接続される。また、店舗1内には、通常のレジ、セルフレジなどが設置されており、店員は、スマートフォンなどの端末を保持している。
【0018】
近年では、各種店舗(特にセルフレジなどを導入する店舗)では、店舗内の購買行動を分析するために、店舗内に設置された複数の監視カメラによる人物追跡技術が利用されている。
図2は、人物追跡技術の参考技術1を説明する図である。
図2に示すように、人物追跡技術は、人物検出モデル50と人物同定モデル60とを組み合わせた同一人物の追跡技術である。
【0019】
人物検出モデル50は、各カメラ2の画像データの入力に応じて、人物の存在位置を示す人物バウンディングボックス(Bounding Box:Bbox)を検出し、出力結果として出力する。人物同定モデル60は、各カメラの画像データから検出された2つの人物バウンディングボックスの入力に応じて、それらの人物の特徴量(特徴ベクトル)の類似度評価、あるいは距離評価により、人物が同一人物であるか否かの判定結果を出力する。
【0020】
ところが、実運用において、人物同定モデルの機械学習(訓練)に利用される学習データ(訓練データ)の画像特性と、各カメラ2が撮像する実際の画像データの画像特性とが異なる場合、人物同定モデル60の精度が低下する。また、各カメラ2の設置位置が異なることから、カメラの画角、輝度、背景なども異なるので、学習データの環境と実運用の環境とが一致しない状況では人物同定モデル60の精度が低下する。
【0021】
すなわち、人物同定の学習データと推論対象の実店舗で、画像特性に不一致が生じる場合、人物特徴分布が変動するので、人物特徴量の推論精度が低下し、人物を誤同定する。このような誤同定により、カメラ2により撮像される画像データを用いて同一人物を追跡することが難しくなり、正確な購買行動の分析ができない。
【0022】
そこで、人物追跡技術の参考技術2では、店舗1のフロアマップとカメラ配置は取得可能であることから、複数カメラの撮影領域の重なり部分を利用し、同時刻において各カメラ2に映る同一位置の人物バウンディングボックスは同一人物である特性に着目し、推論対象店舗の人物同定の学習データを取得する。このようにして取得された学習データを用いて、人物同定モデルの機械学習を実行することにより、画像特性の影響を小さくし、人物の誤同定を抑制する。
【0023】
図3は、店舗1の実映像を用いた学習データの生成を説明する図である。
図3に示すように、店舗1内に設置された各カメラ2は、異なる位置から異なる方向を撮像するが、撮像対象の領域が一部共通している(重複している)。例えば、カメラAで撮像された画像データには、人物Aと人物Bが写っており、カメラBで撮像された画像データには、人物Aと人物Bと人物Dが写っており、各カメラには人物Aと人物Bとが共通して撮像されている。したがって、人物Aと人物Bが「人物がだれか」までは特定できないものの、同一人物であることは特定できる。また、人物Aと人物Bは、異なる方向から撮像されており、同じ画像データではない。
【0024】
すなわち、店舗内のカメラ2の映像データを用いることで、同一人物の画像データであって、異なる方向から撮像された複数の画像データを収集することができる。上記の参考技術2は、このような異なる方向から撮像された同一人物の各画像データを学習データに用いて、人物同定モデルの機械学習を実行する。
【0025】
図4は、人物追跡技術の参考技術2を説明する図である。
図4に示すように、参考技術2では、一般に利用される公開データセットなどから、画像データと正解データ(人物ラベル)が対応付けられた学習データを取得する。そして、参考技術2では、例えば畳み込みニューラルネットワークで構成される第1の機械学習モデルに画像データを入力して出力結果を取得し、出力結果と正解データとが一致するように、第1の機械学習モデルの訓練を実行する。すなわち、参考技術2では、複数の人物に関連する学習データを用いた多クラス分類問題の機械学習により、第1の機械学習モデルを生成する。
【0026】
その後、参考技術2では、学習済みの第1の機械学習モデルの入力層および中間層と、新たな出力層とを用いて第2の機械学習モデルを生成する。また、参考技術2では、店舗の画像データから生成された同一人物の画像データである第1画像データと第2画像データとを用いて、同一人物ラベル(正解データ)が付与された学習データを生成する。そして、参考技術2では、店舗の画像データから生成された学習データの第1画像データと第2画像データとを第2の機械学習モデルに入力して同一性の判定結果を含む出力結果を取得し、出力結果と正解データとが一致するように、第2の機械学習モデルの訓練を実行する。すなわち、参考技術2では、所定の人物に関する学習データを用いた2クラス分類問題の機械学習により、第2の機械学習モデルを生成する。なお、以降では、店舗の画像データから生成された同一人物の画像データである第1画像データおよび第2画像データを「同一人物のペア画像」または「ペア画像」と記載することがある。さらに、以降では、同一人物のペア画像に含まれる要素となる第1画像データおよび第2画像データの各々を指して「サンプル」と記載することがある。
【0027】
参考技術2によれば、このように生成された第2の機械学習モデルを用いて人物同定を実行することで、推論対象の店舗に適した人物特徴量が学習され、人物追跡精度が向上し、精度良く購買行動分析を実現できる。
【0028】
このような参考技術2の応用例として、下記に説明する参考技術3がある。
図5は、人物追跡技術の参考技術3を説明する図である。
図5に示すように、参考技術3は、一般に利用される公開データセットなどから取得される学習データを用いて、多クラス分類問題の訓練により、第1の機械学習モデルを生成する点では
図4を用いて説明した参考技術2と共通する。その一方で、参考技術3では、学習済みの第1の機械学習モデルの入力層および中間層と、新たな出力層とを用いて第2の機械学習モデルとは異なる第3の機械学習モデルが生成される点が参考技術2とは異なる。
【0029】
この点を説明すると、参考技術3では、店舗1の複数のカメラ2の撮影領域の重なり部分に基づいて抽出された同一人物のバウンディングボックス画像のペアを含む、N個のペア画像のデータセットを用いて、人物特徴量の距離行列M1が生成される。
【0030】
例えば、N個のペア画像の各々に含まれるサンプルの各々が訓練済みの第1の機械学習モデルの入力層および中間層が転用された畳み込みNN(Neural Network)へ入力される。このようにサンプルが入力された畳み込みNNは、サンプルを特徴空間へ埋め込むことにより得られた人物特徴量(特徴ベクトル)を出力する。これにより、N個のペア画像のデータセットに含まれる2N個のサンプルの各々の人物特徴量が得られる。
【0031】
そして、参考技術3では、2N個のサンプルの組合せごとにサンプル間の人物特徴量の距離(コサイン距離など)を算出することにより、距離行列M1が生成される。このとき、参考技術3では、ペア画像のデータセットに基づいて、同一のペア画像に含まれるサンプルのペアのうち一方のサンプルの人物特徴量を選択し、選択されなかった他方のサンプルの人物特徴量を選択されたサンプルの人物特徴量に置換する。このようにペア画像のサンプル間で人物特徴量を統一する人物特徴量の補正が実行された上で、2N個のサンプルの組合せごとにサンプル間の人物特徴量の距離を算出することにより、距離行列M1が生成される。なお、ここでは、距離が算出される例を挙げるが、距離の代わりに、サンプル間の類似度が算出されることとしてもよい。
【0032】
その後、参考技術3では、距離行列M1に基づいてN個のペア画像のデータセットに含まれる2N個のサンプルをクラスタリングする。
【0033】
例えば、
図5には、i=1~i=5の5つのサンプルが抜粋して示された5行×5列の距離行列M1を用いてクラスタリングが実行される場合が例示されている。このとき、2つのクラスタ間の距離が閾値Th1(0.2)以下である場合、2つのクラスタが併合される例を挙げる。
【0034】
この場合、i=1のサンプルには、距離が閾値Th1である他のサンプルが存在しないので、他のクラスタとは併合されず、i=1のサンプルが1つのクラスタとしてそのまま残る。一方、i=2~i=5の4つのサンプルの各々は、ハッチングで示された通り、全ての組合せで距離が閾値Th1であるので、1つのクラスタに併合される。
【0035】
そして、参考技術3では、クラスタリングの結果として得られた2つのクラスタのうち、i=1のサンプルが属するクラスタには、疑似ラベルAが生成されると共に、i=2~i=5の4つのサンプルが属するクラスタには、疑似ラベルBが生成される。このように生成される疑似ラベルに基づいて、N個のペア画像のデータセットに含まれる2N個のサンプルの人物特徴量と、疑似ラベルとが対応付けられた学習データが生成される。
【0036】
その上で、参考技術3では、2N個のサンプルの人物特徴量を説明変数とし、疑似ラベルを目的変数とし、訓練済みの第1の機械学習モデルの入力層および中間層が転用された畳み込みNNと、新たな出力層とを含む第3の機械学習モデルが訓練される。
【0037】
具体的には、サンプルの人物特徴量を第3の機械学習モデルに入力して疑似ラベルのカテゴリに対応するクラスのラベルを含む出力結果を取得し、出力結果と正解の疑似ラベルとが一致するように、第3の機械学習モデルの訓練が実行される。すなわち、第3の機械学習モデルの出力結果と正解の疑似ラベルとに基づいて目的関数を最適化することにより、第3の機械学習モデルのパラメータが更新される。例えば、第3の機械学習モデルのパラメータは、出力結果と正解の疑似ラベルとから得られる損失を最小化する損失関数に基づいて更新できる。
【0038】
しかしながら、上記の参考技術3では、ペア画像のサンプル間で人物特徴量を統一する人物特徴量の補正で、2つのサンプルのうち不適切な方のサンプルの人物特徴量に補正される場合があるので、疑似ラベルの精度が悪化し、人物を誤同定する一面がある。
【0039】
図6及び
図7は、疑似ラベルの生成事例を説明する図である。
図6及び
図7には、同一人物のペア画像の例として、
図5に示すi=2のサンプルおよびi=5のサンプルのペアを含むペア画像が例示されている。さらに、
図6には、ペア画像の2つのサンプルのうち補正に用いるサンプルの選択が成功して疑似ラベルの生成が成功するOK例が示されている。一方で、
図7には、ペア画像の2つのサンプルのうち補正に用いるサンプルの選択が失敗して疑似ラベルの生成が失敗するNG例が示されている。
【0040】
ここで、以下では、
図5~
図7に示すi=1~i=5の5つのサンプルのうち、i=2~i=5の4つのサンプルが同一人物のバウンディングボックス画像であることとして説明を続ける。
【0041】
例えば、
図6に示す例で言えば、ペア画像の2つのサンプルのうち補正に用いるサンプルとして、i=2のサンプルが選択される。この場合、補正に用いるサンプルとして選択されなかったi=5のサンプルの人物特徴量は、補正に用いるサンプルとして選択されたi=2のサンプルの人物特徴量に補正される。
【0042】
このような補正が実行された上で、i=1~i=5の5つのサンプルの組合せごとにサンプル間の人物特徴量の距離を算出することにより、距離行列M1が生成される。この距離行列M1に基づいてi=1~i=5の5つのサンプルのクラスタリングが実行される場合、
図5に示す例と同様、疑似ラベルの生成に成功する。すなわち、i=1のサンプルが属するクラスタには、疑似ラベルAが生成されると共に、i=2~i=5の4つのサンプルが属するクラスタには、疑似ラベルBが生成される。
【0043】
このようにi=2のサンプルの人物特徴量が補正に用いるサンプルとして選択された場合、i=2~i=5の4つのサンプルに同一の疑似ラベルBを付与できるので、疑似ラベルの生成が成功する。
【0044】
一方、
図7に示す例で言えば、ペア画像の2つのサンプルのうち補正に用いるサンプルとして、i=5のサンプルが選択される。この場合、補正に用いるサンプルとして選択されなかったi=2のサンプルの人物特徴量は、補正に用いるサンプルとして選択されたi=5のサンプルの人物特徴量に補正される。
【0045】
このような補正が実行された上で、i=1~i=5の5つのサンプルの組合せごとにサンプル間の人物特徴量の距離を算出することにより、距離行列M2が生成される。この距離行列M2に基づいてi=1~i=5の5つのサンプルのクラスタリングが実行される場合、次の通りとなる。
【0046】
すなわち、i=1のサンプルには、距離が閾値Th1である他のサンプルが存在しないので、他のクラスタとは併合されず、i=1のサンプルが1つのクラスタとしてそのまま残る。また、i=2のサンプルの人物特徴量は、i=5のサンプルの人物特徴量に置換されているので、i=2のサンプルの人物特徴量およびi=5のサンプルの人物特徴量の間の距離はゼロとなる。このようなi=5のサンプル以外、i=2のサンプルには、距離が閾値Th1である他のサンプルが存在しない。よって、i=2のサンプルおよびi=5のサンプルが同一のクラスタとして分類される。また、i=3のサンプルには、距離が閾値Th1であるi=4のサンプルが存在する。このため、i=3のサンプルおよびi=4のサンプルが同一のクラスタとして分類される。
【0047】
このようなクラスタリングの結果として得られた3つのクラスタのうち、i=1のサンプルが属するクラスタには、疑似ラベルAが生成される。さらに、i=2のサンプルおよびi=5のサンプルが属するクラスタには、疑似ラベルBが生成される。さらに、i=3のサンプルおよびi=4のサンプルが属するクラスタには、疑似ラベルCが生成される。
【0048】
このようにペア画像のうちi=5のサンプルの人物特徴量が補正に用いるサンプルとして選択された場合、i=2~i=5の4つのサンプルに同一の疑似ラベルを付与できないので、疑似ラベルの生成が失敗する。
【0049】
図7に示す事例を避ける側面から、補正に用いるサンプルをランダムに選択したり、あるいは一方を固定で選択したりするのでは、N個のペア画像の各々で補正に用いるサンプルが選択される中で選択の失敗が避けられず、不適切な人物特徴量の混入も避け得ない。
【0050】
そこで、実施例1では、同一人物のペア画像から2つのサンプルを代表する人物特徴量を選択する際、サンプル間の人物特徴量の距離が閾値以下となる類似サンプルの数の特性に着目する。
【0051】
ここで言う「特性」とは、1つの側面として、同一のカテゴリの疑似ラベルに属さないサンプル、すなわちバウンディングボックス画像は、類似サンプルが少ない傾向を持つという知見を指す。つまり、類似サンプルの数が多い方の人物特徴量を選択すると、同一のカテゴリの疑似ラベルへの組み込みが促進される側面がある。
【0052】
図8及び
図9は、人物特徴量の選択事例を説明する図である。
図8には、ペア画像の2つのサンプルのうち補正に用いるサンプルの選択が成功するOK例の類似サンプル数が示される一方で、
図9には、ペア画像の2つのサンプルのうち補正に用いるサンプルの選択が失敗するNG例の類似サンプル数が示されている。
【0053】
図8に示すように、補正に用いるサンプルの選択が成功するOK例では、同一人物のペア画像のうちi=2のサンプルが選択される。この場合、i=2のサンプルは、i=3のサンプルおよびi=4のサンプルと類似するので、類似サンプル数は「2」となる。一方、
図9に示すように、補正に用いるサンプルの選択が失敗するNG例では、同一人物のペア画像のうちi=5のサンプルが選択される。この場合、i=5のサンプルには、類似するサンプルが存在しないので、類似サンプル数は「0」となる。
【0054】
これら
図8及び
図9に示す事例からも、同一のカテゴリの疑似ラベルに属するサンプルは、類似サンプルが多い傾向を持つと共に、同一のカテゴリの疑似ラベルに属さないサンプルは、類似サンプルが少ない傾向を持つことが明らかである。このことから、類似サンプルの数が多い方の人物特徴量を選択すると、同一のカテゴリの疑似ラベルへの組み込みが促進されることも自明となる。
【0055】
このような着想の下、実施例1では、N個のペア画像の全体で類似サンプルの総数が最大となる人物特徴量の組合せパターンを特定する。このようにして特定された人物特徴量の組合せパターンに基づいて算出される距離行列を用いてサンプルをクラスタリングし、その結果に基づいて各サンプルに疑似ラベルを付与して、人物同定モデルの機械学習を実行する。
【0056】
これにより、ペア画像のサンプル間で人物特徴量を統一する人物特徴量の補正で、適切な方のサンプルの人物特徴量を補正に用い、疑似ラベルの精度悪化を抑制し、人物の誤同定を抑制する。
【0057】
図10は、実施例1にかかる人物追跡技術に用いる人物同定モデルの生成を説明する図である。
図10に示すように、実施例1にかかる人物追跡技術は、一般に利用される公開データセットなどから取得される学習データを用いて、多クラス分類問題の訓練により、第1の機械学習モデルを生成する点では
図5を用いて説明した参考技術3と共通する。その一方で、実施例1では、ペア画像ごとに補正に用いるサンプルが選択されたサンプルの組合せパターンを決定する際、N個のペア画像の全体で類似サンプルの総数が最大となるサンプルの組合せパターンを特定する点が異なる。
【0058】
ここで、類似サンプルの総数の算出時には、他の同一人物ペアの選択結果の影響を受けるので、個々の同一人物ペアで数を比較するのではなく、全体の数が最大となる組み合わせを算出する必要がある。
【0059】
例えば、同一人物のペア画像ごとに補正に用いるサンプルが選択される全ての組合せパターンについて類似サンプルの総数を計算する場合、同一人物のペア画像の数が増加するに連れて計算量が増大する。すなわち、同一人物のペア画像の数をN個としたとき、1つのペア画像につき2通りのサンプルの選択肢が存在するので、計算量は2Nとなる。このような側面から、実施例1では、全ての組合せパターンについて類似サンプルの総数を計算する場合と同等の精度の疑似ラベルの生成および計算量の削減を実現する近似解法を人物特徴量の組合せパターンの特定に適用する。
【0060】
より詳細には、実施例1では、ペア画像ごとに当該ペア画像に含まれる2つのサンプルの人物特徴量に対応する2つのノードを始点から終点への向きへ順に並べた有向グラフを定義する。この有向グラフでは、あるペア画像の2つのノードの各々の子ノードが別のペア画像の2つのノードとされると共に、2つの親ノードのそれぞれおよび2つの子ノードのそれぞれがリンクで接続される。このように定義される有向グラフは、始点から各ペア画像の一方のサンプルを採用して終点に至る経路を意味する。
【0061】
このような有向グラフの下、実施例1では、直前ノードの人物特徴量の選択結果が反映された類似サンプル数を算出し、その値を各リンクの重みとする。例えば、リンクの始点側に接続される直前ノードまでの経路に含まれるノードと、リンクの終点側に接続される直後ノードとの間における類似サンプル数がリンクの重みとして算出される。
【0062】
その上で、実施例1では、ダイクストラ法などのアルゴリズムにしたがって有向グラフ上のリンクの重みの総和が最大となるノードの組合せパターン、つまり人物特徴量の組合せパターンを特定する組合せ最適化問題として定式化する。これは有向グラフで取り得る経路の重み総和の組合せの中から、最適な組み合わせを求める組合せ最適化問題と等価である。このように定式化された最適化問題の計算を実行することにより、N個のペア画像の全体で類似サンプルの総数が最大となる人物特徴量の組合せパターンの特定が実現される。さらに、ダイクストラ法が適用される場合、人物特徴量の組合せパターンを特定する計算量がN2まで削減され得る。
【0063】
このように特定された人物特徴量の組合せパターンにしたがってN個のペア画像の各々で2つのサンプルの人物特徴量のうち補正に用いる人物特徴量が選択される。
【0064】
このため、
図8に示す事例の通り、補正に用いる人物特徴量の選択に成功した状態で算出された距離行列M1に基づいてクラスタリングが実行される。それ故、
図6に示す事例の通り、i=1のサンプルに疑似ラベルAを付与すると共に、i=2~i=5の4つのサンプルに同一の疑似ラベルBを付与できるので、疑似ラベルの生成が成功する。
【0065】
このように生成に成功した疑似ラベルがサンプルに付与された学習データに基づいて、訓練済みの第1の機械学習モデルの入力層および中間層が転用された畳み込みNNと、新たな出力層とを含む第3の機械学習モデルが訓練される。
【0066】
情報処理装置10は、このように訓練された第3の機械学習モデルを用いて人物同定を実行することで、疑似ラベルの精度悪化が抑制され、人物追跡精度が向上し、精度良く購買行動分析を実現できる。
【0067】
[機能構成]
図11は、実施例1にかかる情報処理装置10の機能構成を示す機能ブロック図である。
図11に示すように、情報処理装置10は、通信部11、記憶部12、制御部20を有する。
【0068】
通信部11は、他の装置との間の通信を制御する処理部であり、例えば通信インタフェースなどにより実現される。例えば、通信部11は、カメラ2から映像データを受信し、制御部20による処理結果を店員の端末などに送信する。
【0069】
記憶部12は、各種データや制御部20が実行するプログラムなどを記憶する処理部であり、メモリやハードディスクなどにより実現される。記憶部12は、映像データDB13、公開データセット14、店舗データセット15、人物検出モデル16、人物同定モデル17を記憶する。
【0070】
映像データDB13は、店舗1に設置される複数のカメラ2それぞれにより撮像された映像データを記憶するデータベースである。例えば、映像データDB13は、カメラ2ごと、または、撮像された時間帯ごとに、映像データを記憶する。
【0071】
公開データセット14は、予め収集された学習データを記憶する。具体的には、公開データセット14は、人物検出モデル16の機械学習に用いる学習データと、人物同定モデル17の多クラス分類問題の機械学習に用いる学習データとを記憶する。
【0072】
例えば、人物検出モデル16の機械学習に用いる学習データは、人物が写っている画像データと、写っている人物の存在位置を示す人物バウンディングボックスとが対応付けられたデータである。すなわち、画像データが説明変数、人物バウンディングボックスが目的変数(正解データ)となる。
【0073】
また、多クラス分類問題用の学習データは、人物バウンディングボックスと、その人物がだれであるか否かを示す人物ラベルとが対応付けられたデータである。すなわち、人物バウンディングボックスが説明変数、人物ラベルが目的変数(正解データ)となる。
【0074】
店舗データセット15は、人物同定モデル17の機械学習に用いる学習データを記憶する。具体的には、店舗データセット15は、後述する制御部20により、店舗1のカメラ2の映像データを用いて生成された学習データを記憶する。ここで記憶される学習データは、人物バウンディングボックス画像と、疑似ラベルとが対応付けられたデータである。すなわち、人物バウンディングボックス画像が説明変数、同一人物ラベルが目的変数(正解データ)となる。
【0075】
人物検出モデル16は、画像データの入力に応じて、画像データの人物バウンディングボックスを検出する、入力層と中間層と出力層を有する機械学習モデルである。例えば、人物検出モデル16には、畳み込みニューラルネットワークを採用することができる。
【0076】
人物同定モデル17は、人物バウンディングボックスの入力に応じて、その人物バウンディングボックスがどの人物であるかを識別する、入力層と中間層と出力層を有する機械学習モデルである。例えば、人物同定モデル17には、畳み込みニューラルネットワークを採用することができる。
【0077】
制御部20は、情報処理装置10全体を司る処理部であり、例えばプロセッサなどによる実現される。この制御部20は、検出モデル生成部21、事前処理部22、学習データ生成部23、同定モデル生成部24、推論実行部25を有する。なお、検出モデル生成部21、事前処理部22、学習データ生成部23、同定モデル生成部24、推論実行部25は、プロセッサが有する電子回路やプロセッサが実行するプロセスなどにより実現される。
【0078】
検出モデル生成部21は、機械学習により、人物検出モデル16を生成する処理部である。具体的には、検出モデル生成部21は、入力された学習データから人物バウンディングボックスを検出するように、人物検出モデル16が有する重みなどの各種パラメータの更新を実行することで、人物検出モデル16を生成する。
【0079】
図12は、人物検出モデル16の生成を説明する図である。
図12に示すように、検出モデル生成部21は、入力となる画像データと人物バウンディングボックスが指定される正解データとが対応付けられた学習データを、公開データセット14から取得する。そして、検出モデル生成部21は、画像データを人物検出モデル16に入力して、人物検出モデル16の出力結果を取得する。その後、検出モデル生成部21は、出力結果と正解データとの誤差が小さくなるように、誤差逆伝播などにより人物検出モデル16の機械学習を実行する。
【0080】
事前処理部22は、映像取得部22aと変換処理部22bとを有し、店舗1で撮像された画像データから人物同定モデル17の学習データを生成するための事前処理を実行する処理部である。すなわち、事前処理部22は、推論対象である店舗1のフロアマップに対する各カメラ2の撮影領域の射影変換係数を推定する。
【0081】
映像取得部22aは、各カメラ2から映像データを取得して映像データDB13に格納する処理部である。例えば、映像取得部22aは、各カメラ2から随時取得してもよく、定期的に取得してもよい。
【0082】
変換処理部22bは、カメラ2ごとに異なる、各カメラ2で撮像される画像データの座標である画像座標を、各カメラで共通する、店舗1のフロアマップの座標であるフロアマップ座標に変換するための射影変換係数を推定する処理部である。なお、カメラおよびフロア構成は一般的に固定であることから、射影変換(ホモグラフィ)係数の推定は一回実施したらよい。
【0083】
図13は、射影変換係数の算出を説明する図である。
図13に示すように、変換処理部22bは、カメラ画像(画像座標系)とフロアマップ(フロアマップ座標系)との間で対応する任意の点(対応点)を指定する。例えば、変換処理部22bは、画像座標系から、点(x
1,y
1)、点(x
2,y
2)、点(x
3,y
3)、点(x
4,y
4)を特定する。同様に、変換処理部22bは、フロアマップ座標系から、点(X
1,Y
1)、点(X
2,Y
2)、点(X
3,Y
3)、点(X
4,Y
4)を特定する。その後、変換処理部22bは、画像座標系(x,y)からフロアマップ座標系(X,Y)への射影変換係数a
i(i=1-8)を、
図13の式(1)に示した連立方程式を解くことにより算出する。なお、対応点は、ユーザが指定してもよく、画像解析により同じ場所の点を特定してもよい。
【0084】
学習データ生成部23は、検出部23aと抽出部23bと生成部23cと算出部23dと特定部23eを有し、人物検出および座標算出を実行して、カメラ2の画像データから人物同定モデル17の学習データを生成する処理部である。
【0085】
検出部23aは、各カメラ2により撮像された画像データから、学習済みである人物検出モデル16を用いて、人物バウンディングボックスを検出する処理部である。
図14は、人物バウンディングボックスの検出を説明する図である。
図14に示すように、検出部23aは、カメラ2で撮像された画像データを人物検出モデル16に入力し、ID=aの人物バウンディングボックス、ID=bの人物バウンディングボックス、ID=cの人物バウンディングボックス、ID=dの人物バウンディングボックスが検出された出力結果を取得する。
【0086】
このようにして、検出部23aは、設置位置が異なる各カメラ2により、異なる方向で撮像された様々な画像データに対して人物検出を行い、検出された人物バウンディングボックスを含む出力結果を取得して、記憶部12等に格納する。
【0087】
抽出部23bは、検出部23aにより検出された人物バウンディングボックスのフロアマップ座標を算出し、同一人物のペア画像を抽出する処理部である。
【0088】
まず、抽出部23bは、事前処理部22により算出された射影変換係数を用いて、検出部23aにより検出された画像座標系の人物バウンディングボックスをフロアマップ座標系に変換する。
図15は、座標変換を説明する図である。
図15に示すように、抽出部23bは、各人物バウンディングボックスの下端中央の画像座標(x,y)を人物位置とし、フロアマップ座標(X,Y)での人物位置を算出する。
【0089】
例えば、抽出部23bは、画像座標系で検出された人物位置を示す点(x
1,y
1)、点(x
2,y
2)、点(x
3,y
3)、点(x
4,y
4)それぞれについて、
図15の式(2)に示す変換式を用いて、フロアマップ座標系の人物位置を示す点(X
1,Y
1)、点(X
2,Y
2)、点(X
3,Y
3)、点(X
4,Y
4)に変換する。このようにして、抽出部23bは、各カメラ2の画像データに写っている、カメラ固有の画像座標系の人物バウンディングボックスを、各カメラ共通のフロアマップ座標系で表現する。
【0090】
次に、抽出部23bは、2つのカメラ間で同等のフロアマップ座標に位置する、ペアの人物バウンディングボックス画像のデータセットを取得する。すなわち、抽出部23bは、各カメラ2の画像データのうち同時刻に撮像された複数の画像データの人物バウンディングボックスを用いて、同一人物である(対となる)人物バウンディングボックスのペアを抽出する。
【0091】
図16は、同一人物ペアの抽出を説明する図である。
図16に示すように、抽出部23bは、時刻tにカメラAで撮像された画像データAと、同時刻の時刻tにカメラBで撮像された画像データBとを取得する。そして、抽出部23bは、カメラAの画像データAから検出された画像座標系の人物バウンディングボックスを、
図15の式(2)を用いて、フロアマップ座標系の人物バウンディングボックスに変換する。同様に、抽出部23bは、カメラBの画像データBから検出された画像座標系の人物バウンディングボックスを、
図15の式(2)を用いて、フロアマップ座標系の人物バウンディングボックスに変換する。
【0092】
そして、抽出部23bは、各カメラの撮像範囲が重なるフロアマップ座標の範囲を算出する。例えば、
図16に示すように、カメラAの撮像範囲は、X軸がX
A
inかX
A
outの範囲かつY軸がY
A
inかY
A
outの範囲であり、その範囲内に、人物位置として(X
A
a,Y
A
a)と(X
A
b,Y
A
b)が検出されている。また、カメラBの撮像範囲は、X軸がX
B
inかX
B
outの範囲かつY軸がY
B
inかY
B
outの範囲であり、その範囲内に、人物位置として(X
B
a,Y
B
a)、(X
B
b,Y
B
b)、(X
B
c,Y
B
c)、(X
B
d,Y
B
d)が検出されている。なお、各人物位置は、上述したように、検出された人物バウンディングボックスの下端中央の画像座標である。
【0093】
ここで、抽出部23bは、カメラAのフロアマップ座標の範囲(X
A,Y
A)とカメラBのフロアマップ座標の範囲(X
B,Y
B)の重なる範囲(X
AB,Y
AB)を算出する。なお、
図16の式3に示すように、X
ABの範囲は、「X
A
inまたはX
B
in」のうちの最大値以上かつ「X
A
outもしくはX
B
out」のうちの最小値以下であり、Y
ABの範囲は、「Y
A
inまたはY
B
in」のうちの最大値以上かつ「Y
A
outもしくはY
B
out」のうちの最小値以下である。
【0094】
続いて、抽出部23bは、重なり範囲(XAB,YAB)にいる各カメラの人物群について、同等位置の人物ペアを抽出する。具体的には、抽出部23bは、ユークリッド距離による最小重み付きマッチング等の手法を用いて、近傍ペアの組合せを抽出し、近傍ペアのうち、ユークリッド距離が既定閾値より小さいペアを同一人物ペアとする。このとき、抽出部23bは、毎フレーム分抽出するとほぼ同じペアデータを大量に取得することになるので、サンプリングで間引くこともできる。
【0095】
図16の例では、抽出部23bは、カメラAとカメラBの重なり範囲に、カメラA側の撮影範囲には人物Aa(X
A
a,Y
A
a)と人物Ab(X
A
b,Y
A
b)の人物が検出され、カメラB側の撮影範囲には人物Ba(X
B
a,Y
B
a)と人物Bd(X
B
d,Y
B
d)の人物が検出されていることを特定する。続いて、抽出部23bは、人物Aa(X
A
a,Y
A
a)と人物Ba(X
B
a,Y
B
a)のユークリッド距離および人物Aa(X
A
a,Y
A
a)と人物Bd(X
B
d,Y
B
d)のユークリッド距離を算出する。同様に抽出部23bは、人物Ab(X
A
b,Y
A
b)と人物Ba(X
B
a,Y
B
a)のユークリッド距離および人物Ab(X
A
b,Y
A
b)と人物Bd(X
B
d,Y
B
d)のユークリッド距離を算出する。
【0096】
その後、抽出部23bは、ユークリッド距離が既定閾値より小さい人物ペアとして、人物Aa(XA
a,YA
a)と人物Ba(XB
a,YB
a)、人物Ab(XA
b,YA
b)と人物Bd(XB
d,YB
d)の各ペアを抽出する。
【0097】
このようにして、抽出部23bは、同時刻で撮像された各カメラの画像データに含まれる人物(人物バウンディングボックス)について、同一人物となるペアを抽出する。これにより、N個の同一人物のペア画像のセットが得られる。
【0098】
生成部23cは、同一人物のペア画像に含まれる複数のサンプルの人物特徴量に対応するノードを有する有向グラフを生成する処理部である。
【0099】
図17は、有向グラフの生成を説明する図である。
図17に示すように、まず、生成部23cは、N個のペア画像の各々に含まれるサンプルの各々を訓練済みの第1の機械学習モデルの入力層および中間層が転用された畳み込みニューラルネットワークへ入力する。これにより、N個のペア画像のデータセットに含まれる2N個のサンプルの各々の人物特徴量が得られる。
【0100】
そして、生成部23cは、N個の同一人物のペア画像ごとに当該ペア画像に含まれる2つサンプルの人物特徴量に対応する2つのノードを始点から終点への向きへ順に並べる。このとき、あるペア画像の2つのノードの各々の子ノードが別のペア画像の2つのノードとされると共に、2つの親ノードの各々および2つの子ノードの各々をリンクで接続する。
【0101】
例えば、有向グラフの始点ノードvSの次に、1つ目のペアの人物特徴量f1
iに対応するノードおよび人物特徴量f1
jに対応するノードが並べられる。これに続いて、2つ目のペアの人物特徴量f2
iに対応するノードおよび人物特徴量f2
jに対応するノード、・・・、N個目のペアの人物特徴量fN
iに対応するノードおよび人物特徴量fN
jに対応するノードが順に並べられる。これらN個目のペアのノードの次には、終点ノードvTが並べられる。
【0102】
このような有向グラフでは、あるペア画像の2つのノードの各々の子ノードが別のペア画像の2つのノードとされると共に、2つの親ノードのそれぞれおよび2つの子ノードのそれぞれがリンクで接続される。
【0103】
例えば、1つ目のペアと2つ目のペアの間のリンクを例に言えば、次に挙げる4つのリンクが定義される。すなわち、人物特徴量f1
iおよび人物特徴量f2
iを接続するリンク、人物特徴量f1
iおよび人物特徴量f2
jを接続するリンク、人物特徴量f1
jおよび人物特徴量f2
iを接続するリンク、人物特徴量f1
jおよび人物特徴量f2
jを接続するリンクが定義される。
【0104】
このように定義される有向グラフは、始点から各ペア画像の一方のサンプルを採用して終点に至る経路を意味する。
【0105】
算出部23dは、有向グラフに含まれるリンクの重みを算出する処理部である。例えば、算出部23dは、有向グラフに含まれるリンクごとに、直前ノードの人物特徴量の選択結果が反映された類似サンプル数を算出し、その値を当該リンクの重みに設定する。
【0106】
図18は、リンクの重みの算出を説明する図である。
図18には、太線の実線で示されたリンクにおける類似サンプル数と、太線の破線で示されたリンクにおける類似サンプル数とが例示されている。
【0107】
例えば、太線の実線で示されたリンクの場合、当該リンクの終点側に接続される直後ノードであるi=2のサンプルの人物特徴量と、当該リンクの始点側に接続される直前ノードまでの経路に含まれるノード、例えばi=1、i=3およびi=4のサンプルの人物特徴量との間で類似サンプル数が算出される。この場合、i=2のサンプルの人物特徴量と、i=3およびi=4のサンプルの人物特徴量との距離が閾値Th1以下となるので、類似サンプル数は「2」と算出される。このように算出された類似サンプル数「2」が太線の実線で示されたリンクの重みとして設定される。
【0108】
また、太線の破線で示されたリンクの場合、当該リンクの終点側に接続される直後ノードであるi=5のサンプルの人物特徴量と、当該リンクの始点側に接続される直前ノードまでの経路に含まれるノード、例えばi=1、i=3およびi=4のサンプルの人物特徴量との間で類似サンプル数が算出される。この場合、i=5のサンプルの人物特徴量に対する距離が閾値Th1以下となる人物特徴量は存在しないので、類似サンプル数は「0」と算出される。このように算出された類似サンプル数「0」が太線の破線で示されたリンクの重みとして設定される。
【0109】
なお、
図18には、直前ノードまでの経路に含まれるノードの例として、2つのリンクの間で共通するi=1、i=3およびi=4のサンプルの人物特徴量を抜粋して挙げたが、直前ペアのノードごとに異なる人物特徴量が含まれ得る。
【0110】
特定部23eは、同一人物のペア画像の全体で類似サンプルの総数が最大となる人物特徴量の組合せパターンを特定する処理部である。例えば、特定部23eは、ダイクストラ法にしたがって有向グラフ上のリンクの重みの総和が最大となるノードの組合せパターン、つまり人物特徴量の組合せパターンを特定する組合せ最適化問題として定式化する。
【0111】
図19は、組合せ最適化問題の定式化を説明する図である。例えば、
図19に示す有向グラフG=(V,E)に関連する要素を次の通りに表すこととする。すなわち、エッジをe
ij=(v
i,v
j)∈E、ノードをv
i∈V、さらに、エッジe
ijの重みをa
ij、類似サンプル数を|R(i,J)|と表す。ノードv
iは、サンプルiの人物特徴量に対応する。類似サンプル数|R(i,J)|は、直前ノードiの人物特徴量を考慮したノードjの類似サンプル数に対応する。
【0112】
ここで、
図19に示す有向グラフGの始点ノードv
Sから終点ノードv
Tまでの経路zで類似サンプルの総数が最大となる経路を探索する最適化問題は、ダイクストラ法にしたがってアルゴリズムAgに定式化できる。このアルゴリズムAgは、有向グラフGで取り得る経路zの重み総和の組合せの中から、最適な組み合わせを求める組合せ最適化問題を意味する。このようにダイクストラ法が適用される場合、人物特徴量の組合せパターンを特定する計算量をN
2まで削減できる。
【0113】
特定部23eは、このようにアルゴリズムAgに定式化された最適化問題の計算を実行することにより、N個のペア画像の全体で類似サンプルの総数が最大となる人物特徴量の組合せパターンを特定する。
【0114】
図20は、人物特徴量の組合せパターンの特定を説明する図である。
図20に示すように、
図19に示すアルゴリズムAgに定式化された最適化問題の計算が実行されることにより、太線で示されたリンクが連なる経路がN個のペア画像の全体で類似サンプルの総数が最大となる人物特徴量の組合せパターンとして特定される。このように特定される人物特徴量の組合せパターンによれば、補正に用いる人物特徴量の選択を成功させることができる。例えば、最適化問題の計算で得られた経路で2つ目のペア画像に含まれる人物特徴量iおよび人物特徴量jのうち同一の疑似ラベルへの組み込みが促進される人物特徴量jを選択できる。
【0115】
このように人物特徴量の組合せパターンが特定された後、学習データ生成部23は、N個の同一人物のペア画像ごとに2つのサンプルの人物特徴量のうち特定部23eにより特定された人物特徴量の組合せパターンに対応する人物特徴量に統一する補正を実行する。このような補正により、N個の同一人物のペア画像ごとに人物特徴量の組合せパターンで選択されなかった人物特徴量が人物特徴量の組合せパターンで選択された人物特徴量に置換される。
【0116】
その後、学習データ生成部23は、
図10に示された通り、2N個のサンプルの組合せごとに補正後の人物特徴量を用いてサンプル間の人物特徴量の距離を算出することにより距離行列M1を算出する。そして、学習データ生成部23は、距離行列M1に基づいてN個のペア画像のデータセットに含まれる2N個のサンプルをクラスタリングし、クラスタリングの結果として得られたクラスタごとに疑似ラベルを生成する。その上で、学習データ生成部23は、N個のペア画像のデータセットに含まれる2N個のサンプルの人物特徴量を説明変数、疑似ラベルを目的変数とする学習データを生成して、店舗データセット15に格納する。
【0117】
図11に戻り、同定モデル生成部24は、第1機械学習部24aと第2機械学習部24bとを有し、人物同定モデル17の機械学習を実行する処理部である。
【0118】
第1機械学習部24aは、公開データセット14を用いた多クラス分類問題による機械学習を実行し、第一の機械学習モデルを生成する。
図10を用いて説明した通り、第1機械学習部24aは、同一人物が異なる写り方をした各学習データの入力に応じて、入力された各学習データに写っている人物を識別する多クラス分類問題の機械学習により、第一の機械学習モデルを生成する。なお、第一の機械学習モデルは、入力層および中間層を含む畳み込みニューラルネットワークと、出力層とを含んでよい。
【0119】
例えば、第1機械学習部24aは、公開データセット14に含まれる人物Aの様々な人物バウンディングボックスを、畳み込みニューラルネットワークに入力して、出力層から各識別結果(出力結果)を取得する。そして、第1機械学習部24aは、各識別結果と人物ラベル(人物A)との誤差が小さくなるように、言い換えると人物Aと識別されるように、畳み込みニューラルネットおよび出力層のパラメータ更新を実行する。
【0120】
同様に、第1機械学習部24aは、公開データセット14に含まれる人物Bの様々な人物バウンディングボックスを、畳み込みニューラルネットワークに入力して、出力層から各識別結果を取得する。そして、第1機械学習部24aは、各識別結果と人物ラベル(人物B)との誤差が小さくなるように、畳み込みニューラルネットおよび出力層のパラメータ更新を実行する。
【0121】
公開データセットを用いた機械学習が終了すると、第2機械学習部24bは、店舗データセット15を用いた機械学習を実行することにより、第3の機械学習モデルの一例である人物同定モデル17を生成する。
【0122】
具体的には、第2機械学習部24bは、学習済みである第1の機械学習モデルの入力層および中間層を含む畳み込みニューラルネットワークと、未学習である新たな出力層とを用いて、人物同定モデル17の層構造のパラメータを設定する。そして、第2機械学習部24bは、店舗データセット15に記憶される学習データを用いて、人物バウンディングボックス画像を疑似ラベルのクラス分類を行う機械学習により、人物同定モデル17を生成する。
【0123】
例えば、
図10に示すように、第2機械学習部24bは、2N個のサンプルの人物特徴量を説明変数とし、疑似ラベルを目的変数とし、訓練済みの第1の機械学習モデルの入力層および中間層が転用された畳み込みNNと、新たな出力層とを含む第3の機械学習モデルを訓練する。
【0124】
具体的には、サンプルの人物特徴量を第3の機械学習モデルに入力して疑似ラベルのカテゴリに対応するクラスのラベルを含む出力結果を取得し、出力結果と正解の疑似ラベルとが一致するように、第3の機械学習モデルの訓練が実行される。すなわち、第3の機械学習モデルの出力結果と正解の疑似ラベルとに基づいて目的関数を最適化することにより、第3の機械学習モデルのパラメータが更新される。例えば、第3の機械学習モデルのパラメータは、出力結果と正解の疑似ラベルとから得られる損失を最小化する損失関数に基づいて更新できる。
【0125】
図11に戻り、推論実行部25は、同定モデル生成部24により生成された人物同定モデル17を用いて、実店舗のカメラ2で撮像された各画像データに写っている人物の同定を実行する処理部である。すなわち、推論実行部25は、人物同定モデル17を用いて、各カメラ2で撮像された画像データ内の人物の紐づけを実行する。
【0126】
図21は、推論処理を説明する図である。
図21に示すように、推論実行部25は、店舗の各カメラ2で撮像された各画像データを、学習済みの人物検出モデル16に入力して、検出された人物バウンディングボックスを含む出力結果を取得する。例えば、推論実行部25は、異なる出力結果に含まれる「ID=xx」の人物バウンディングボックスと「ID=yy」の人物バウンディングボックスとを取得する。
【0127】
そして、推論実行部25は、「ID=xx」の人物バウンディングボックスを人物同定モデル17に入力し、人物同定モデル17の出力層の直前の層から人物特徴量を取得する。同様に、推論実行部25は、「ID=yy」の人物バウンディングボックスを人物同定モデル17に入力し、人物同定モデル17の出力層の直前の層から人物特徴量を取得する。
【0128】
その後、推論実行部25は、各特徴量の類似度を算出し、類似度が高い場合に、「ID=xx」の人物バウンディングボックスと「ID=yy」の人物バウンディングボックスとは同一人物であると推論する。一方、推論実行部25は、各特徴量の類似度が低い場合に、「ID=xx」の人物バウンディングボックスと「ID=yy」の人物バウンディングボックスとは非同一人物であると推論する。
【0129】
例えば、推論実行部25は、各特徴量の類似度として、各特徴量のユークリッド距離やコサイン類似度、各特徴量の要素の二乗誤差などを算出し、算出した類似度が閾値以上である場合に、同一人物と推論する。
【0130】
このようにして同一人物として推論された各人物バウンディングボックスを追跡することで、その人物の店内における行動分析や購入商品の分析に利用することができる。
【0131】
[処理の流れ]
次に、上述した各処理部が実行する処理について説明する。ここでは、事前処理、同一人物ペアの抽出処理、学習データ生成処理、機械学習処理、推論処理について説明する。
【0132】
(事前処理)
図22は、事前処理の流れを示すフローチャートである。
図22に示すように、事前処理部22は、各カメラ2の映像データを取得し(S101)、予め設計された店舗のフロアマップを取得する(S102)。
【0133】
そして、事前処理部22は、カメラ2の画像データとフロアマップとにおいて、対応する任意の点である対応点を特定し(S103)、
図13の式(1)を用いて、射影変換係数を推定する(S104)。
【0134】
(同一人物ペアの抽出処理)
図23は、同一人物ペアの抽出処理の流れを示すフローチャートである。
図23に示すように、学習データ生成部23は、映像データDB13から各カメラ2の映像データを取得し(S201)、事前処理部22により推定された射影変換係数を取得する(S202)。
【0135】
続いて、学習データ生成部23は、各カメラ2の映像データ内の各画像データを、人物検出モデル16に入力した人物検知を実行し(S203)、人物バウンディングボックスを検出する(S204)。
【0136】
そして、学習データ生成部23は、射影変換係数を用いて、各人物の人物バウンディングボックスのフロアマップ座標を算出する(S205)。すなわち、学習データ生成部23は、各人物の人物バウンディングボックスの画像座標系をフロアマップ座標に変換する。
【0137】
その後、学習データ生成部23は、2つのカメラの画像データについて、フロアマップ座標系の重なり領域を算出する(S206)。そして、学習データ生成部23は、2つのカメラで撮像された同時刻の画像データのうち、同等位置の人物ペアを抽出する(S207)。
【0138】
(学習データ生成処理)
図24は、学習データ生成処理の流れを示すフローチャートである。
図24に示すように、学習データ生成部23は、同一人物のペア画像ごとに当該ペア画像に含まれる2つサンプルの人物特徴量に対応する2つのノードを始点から終点への向きへ順に並べた有向グラフGを生成する(S211)。
【0139】
上記のステップS211では、あるペア画像の2つのノードの各々の子ノードが別のペア画像の2つのノードとされると共に、2つの親ノードのそれぞれおよび2つの子ノードのそれぞれを接続するリンクが有向グラフGに設定される。
【0140】
そして、学習データ生成部23は、ステップS211で生成された有向グラフGに含まれるリンクの個数Kに対応する回数の分、下記のステップS212から下記のステップS213までの処理を反復するループ処理1を実行する。
【0141】
すなわち、学習データ生成部23は、リンクkの直前ノードまでの経路に含まれるノードと、リンクkの直後ノードとの間で類似サンプル数を算出する(S212)。その上で、学習データ生成部23は、ステップS212で算出された類似サンプル数をリンクkの重みに設定する(S213)。
【0142】
このようなループ処理1が反復されることにより、有向グラフGに含まれるK個のリンクごとに当該リンクの重みが算出される。
【0143】
そして、学習データ生成部23は、有向グラフGで取り得る経路zの重み総和の組合せの中から、最適な組合せを求める最適化問題を計算することにより、N個のペア画像の全体で類似サンプルの総数が最大となるノードの組合せパターン、つまり人物特徴量の組合せパターンを特定する(S214)。
【0144】
続いて、学習データ生成部23は、N個の同一人物のペア画像ごとに2つのサンプルの人物特徴量のうちステップS214で特定された人物特徴量の組合せパターンに対応する人物特徴量に統一する補正を実行する(S215)。
【0145】
その後、学習データ生成部23は、2N個のサンプルの組合せごとに補正後の人物特徴量を用いてサンプル間の人物特徴量の距離を算出することにより距離行列を算出する(S216)。
【0146】
そして、学習データ生成部23は、距離行列に基づいてN個のペア画像のデータセットに含まれる2N個のサンプルをクラスタリングし、クラスタリングの結果として得られたクラスタごとに疑似ラベルを生成する(S217及びS218)。
【0147】
その上で、学習データ生成部23は、N個のペア画像のデータセットに含まれる2N個のサンプルの人物特徴量を説明変数、疑似ラベルを目的変数とする学習データを生成して、店舗データセット15に格納する(S219)。
【0148】
(機械学習処理)
図25は、人物同定モデルの機械学習処理の流れを示すフローチャートである。
図25に示すように、同定モデル生成部24は、公開データセット14に予め記憶された既存の学習データを取得し(S301)、既存の学習データを用いて、多クラス分類問題として第1の機械学習モデルの機械学習を実行する(S302)。
【0149】
続いて、同定モデル生成部24は、店舗データセット15に格納される店舗の画像データを用いて生成された対象店舗用の学習データを取得し(S303)、対象店舗用の学習データを用いて、人物同定モデル17の機械学習を実行する(S304)。
【0150】
(推論処理)
図26は、推論処理の流れを示すフローチャートである。
図26に示すように、推論実行部25は、各カメラ2の各画像データを取得し(S401)、各画像データを人物検出モデル16に入力して、人物バウンディングボックスを検出する(S402)。
【0151】
そして、推論実行部25は、2つの人物バウンディングボックスを人物同定モデル17に入力し(S403)、人物同定モデル17の出力層の直前(1つ前)の層から、各人物バウンディングボックスの特徴量を取得する(S404)。その後、推論実行部25は、各人物バウンディングボックスの特徴量の類似度を算出し、人物同定を実行する(S405)。
【0152】
[効果]
上述したように、情報処理装置10は、同一人物のペア画像から2つのサンプルを代表する人物特徴量を選択する際、サンプル間の人物特徴量の距離が閾値以下となる類似サンプルの数の特性に着目し、N個のペア画像の全体で類似サンプルの総数が最大となる人物特徴量の組合せパターンを特定する。このように特定された人物特徴量の組合せパターンにしたがって生成に成功した疑似ラベルがサンプルに付与された学習データに基づいて、人物同定モデル17が生成される。したがって、情報処理装置10は、このように生成された人物同定モデル17を用いて人物同定を実行することで、疑似ラベルの精度悪化が抑制され、人物追跡精度が向上し、精度良く購買行動分析を実現できる。さらに、推論対象店舗の人物同定の学習データを取得することができるので、分析対象の学習データを自動で取得可能であり、人物同定の精度を継続的に向上することもできる。
【0153】
図27は、実施例1による効果を説明する図である。
図27では、参考技術3と実施例1による技術(提案技術)の人物同定の推論精度の比較を示している。ここでは、人物画像特性(季節、背景等)の異なるデータセットA、データセットBおよびデータセットCが例示する。さらに、データセットAで学習、データセットBで推論を行うパターンP1、データセットBで学習、データセットAで推論を行うパターンP2、データセットBで学習、データセットCで推論を行うパターンP3、並びに、データセットAで学習、データセットCで推論を行うパターンP4の計4パターンで参考技術3と実施例1による提案技術の人物同定の推論精度を比較する。
【0154】
図27に示すように、大量の人物データの中で特定順位以内に同一人物として同定される割合である累積照合特性による推論精度で比較する。例えば、参考技術3の場合、ペア画像のサンプル間で人物特徴量を統一する人物特徴量の補正で、2つのサンプルのうち不適切な方のサンプルの人物特徴量に補正される場合があるので、十分な推論精度が得られない。一方、実施例1による手法では、ペア画像のサンプル間で人物特徴量を統一する人物特徴量の補正で、適切な方のサンプルの人物特徴量を補正に用いることができるので、推論精度が向上している。例えば、適合率1位を比較すると、パターンP1では、参考技術3の推論精度が「93.2」であるのに対して、実施例1の推論精度が「94.0」に改善している。さらに、パターンP2では、参考技術3の推論精度が「81.9」であるのに対して、実施例1の推論精度が「82.3」に改善している。さらに、パターンP3では、参考技術3の推論精度が「60.6」であるのに対して、実施例1の推論精度が「65.1」に改善している。さらに、パターンP4では、参考技術3の推論精度が「64.0」であるのに対して、実施例1の推論精度が「66.9」に改善している。このようにパターンP1~P4の計4パターンの全てで実施例1の推論精度が参考技術3の推論精度よりも優れていることから、実施例1の推論精度の改善が明らかである。
【0155】
このように、情報処理装置10は、推論対象店舗に適した人物特徴量が学習され、人物追跡精度が向上し、精度良く購買行動分析を実現できる。情報処理装置10は、店舗内の複数監視カメラから人物を精度よく同定することで、買い回り行動や不審行動などを追跡できる。情報処理装置10は、複数カメラの撮影領域の重なり情報から、推論対象店舗の人物同定データを取得して学習することができる。
また、各装置の構成要素の分散や統合の具体的形態は図示のものに限られない。例えば、事前処理部22と学習データ生成部23とが統合されてもよい。つまり、その構成要素の全部または一部は、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合されてもよい。さらに、各装置の各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
このように、情報処理装置10は、プログラムを読み出して実行することで情報処理方法を実行する情報処理装置として動作する。また、情報処理装置10は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、情報処理装置10によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、上記実施例が同様に適用されてもよい。
このプログラムは、インターネットなどのネットワークを介して配布されてもよい。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD-ROM、MO(Magneto-Optical disk)、DVD(Digital Versatile Disc)などのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行されてもよい。