小売店舗内で人物を追跡手法に関する論文を読んでみた
はじめに
クラスメソッド株式会社の山本です。
この記事では、以前論文をサーベイした際に、今後役立ちそうな論文を読みまとめた内容について記載します。
(この記事の内容を書いたのは2022年5月15日です。現在の状況とは異なる場合があります。)
論文
データセット
https://github.com/longcw/crossview_3d_pose_tracking
著者
Carnegie Mellon University
Stanford University
University of Michigan
AiFi Inc
協力店舗:Carrefour(カルフール)
https://www.youtube.com/watch?v=480mlpn5zXM&ab_channel=AiFi
投稿動画
https://www.youtube.com/watch?v=wOTv2Gvy5nM&ab_channel=ACMSIGCHI
まとめ・コントリビューション
- 自律チェックアウトシステムを提案・実装した
- 3Dポース推定、複数人・複数商品マッチングアルゴリズムを提案・実装した
- 実店舗で13ヶ月で運用した、結果を分析した
- 2019/9~2020/10
- 日別あたりの精度が、最高で97%の精度を達成
- 精度 = 正解のレシートを発行した率 = ユーザが取得した商品が会計時に合っていた割合
学び・Passregi CVとの比較
基本的な構成・処理の流れ・使用するデータ
共通点が多い(異なる点をコメントで追記)
入力
- RGBカメラ
- 重量センサ
ロジック
- RGBカメラの画像から骨格(Pose)を検出
- 検出対象:上半身のみ
- 複数カメラの骨格(Pose)から、骨格の3次元座標を計測
- 計算方法:三角測量
- 骨格の3次元座標をもとに追跡
- 重量のイベントを検知
- 距離の時系列を使用して、複数人間で紐づけして取得ユーザを判定する
- 商品の位置から2m以内の骨格を検索
- イベント時刻から一定期間内において、
手首(など)が一番距離が近いユーザの尤度を、
重量イベントの時刻との差分で重み付け - その他工夫している点
- 商品位置を前側にずらす(手首が隠れる場合に対応)
キャリブレーション
- モバイルデバイス(iPad?)を使って店舗をスキャンし、
店舗の物理モデルを作成してる(6.1s 2pに記載あり) - カメラのキャリブレーションは、ARマーカを検出する方式っぽい(上の動画)
開発
- 繰り返し改良(SW・アルゴリズム・カメラ配置)を重ねている(表1)
- RGBカメラのみ
- RGBDカメラ(RealSense)を追加
- 再度改良して、RGBカメラのみ
評価
- 全体精度
- 重量イベントごとの取得ユーザが正解だった割合
- レシート(1会計)ですべて商品が正解だった割合
- 正しかった商品の割合
- 詳細
- 重量イベント時に、2m以内にいたユーザ数と精度
- 重量イベント時に、2番目に近かったユーザの距離と精度
他・体験
- ゲートなし
- POSと接続し、店舗端末でチェック・後払い
- 間違っていたら訂正(顧客が操作、店員が補助)
- (これによって正解データを収集)
- すべてエッジで処理
- サーバには、NVidia Tesla T4 GPU * 4台 を搭載
- 冷蔵庫に対応している
参考になること・情報・データ
-
待ち時間による来店客の離脱率(40%、離脱の一番大きい要因)
-
商品の分類(CV)で実用上の精度を出すのは難しい(85%がMax、SotA)
-
評価指標・計算方法
-
精度の限界・目安(96.4%、レシートの正解率、日別での最高値)
平均的には90~95%
-
セルフレジの精度・正確性(86%)
-
遅延時間:2秒(「レシートの発行まで」、どこから?)
-
カメラの数:52 (店舗の広さはカフェとほぼ同じ)
-
RealSenseは一旦使ったがやめた
- 要因の1つ:デバイスが不安定なこと
-
取得ユーザ判定の精度
- 2名:95%程度 3名以上:87%程度
-
ユーザの密度(商品が取られたセグメントから2m内のユーザ数)
- ほぼ3名以下、最大5名
- 1名が60%程度 2名が20%程度 3名が10%程度(200cmの場合)
-
取得商品数
- ほぼ3点以下、最大13点
-
重量センサ・デバイスは自作
- 結構苦労している模様
- 3.4節、6.1節、6.3.1項に記載あり
-
運用上の問題
-
追跡
- 入退店エリア以外ではpop/sinkしない
Passregiがやったほうが良いこと
- 人物の取った商品を記憶しておく
商品が戻された場合は商品を持っているユーザのみから判定する - 正解データを生成する・集めるために、体験の流れ・方法を加える
(ユーザ・スタッフ)- 訂正した内容を集められるようにする
- 物理的制約(棚)を加えて、追跡精度をあげる
- RGB画像のみによる骨格の3次元座標推定をやってみる
- 長期のユーザ・実地テスト(データ収集・分析)
- もしくは、統制環境でのテスト
- 店舗の導線設計
- ゲート周り
- 商品から会計端末までの距離
わからなかったこと
追跡そのもの精度([6]の実装なので、そこで評価?)
カメラ映像のフレームレート
どのエッジデバイスを使っているか
内容
背景
課題
小売店舗における会計待ちは大きな問題
- 来店客の40%が、待ち時間を理由に離脱する
- 一番大きな離脱要因
レジシステムの種類とPros/Cons
- セルフスキャン(最後にまとめてスキャン)
- 精度はそこまで高くない
- 結局ユーザが不慣れで、待ち時間が短縮されにくいい
- scan & go
- 精度がそこまで高くない(ロスが発生する)
- 自律会計
- 本稿の対象
自律会計システムの種類とPros/Cons
- CVのみ
- 商品認識が大変
- 精度が高くない
SotAでも85%程度
15%のミスは実店舗で許容できない、10%が最大許容値 - データセットを用意するのが大変(何万枚も必要、照明)
- オクルージョンが発生しないことが条件
- 精度が高くない
- 精度を上げるために、大量のカメラが必要
- Amazonが一部取り組んでいるが情報が非公開
- 商品認識が大変
- CV+他センサ
- 本稿の取り組み(CV+重量センサ)
- 導入が若干大変
- 重量センサを
- 精度が高い
- 先行研究[38]で94%
- 失敗要因は複数人が近いとき(本稿で解決する技術課題)
- CV+人手
- コストが高い
- その場で会計を確認するまでにかかる時間が長い(数十分)
関連研究
(後で書く)
提案・システム構成
(後で書く)
評価
(後で書く)
実運用上の問題点・解決策
運用上の課題
- 重量のばらつきが大きい商品があった
- 商品配置の変更を、システムに反映させる必要があった
- 商品が隣の重量センサに乗っかってしまうことがあった
- スタッフが商品補充する場合があった(これは評価から外した)
ユーザの行動
- 実験初期は分析・いたずらが多かった
ハードウェアの障害・改善
- 重量センサ
- 自作だったので、運用当初は障害が発生することが多かった
- 冷蔵庫内のプレートで、IDを誤検知することがあった
- カメラ
- 選択肢としては、ToF・ステレオカメラ・RGBカメラがあった
- 近年のRGB画像に対する技術進歩と、扱いやすさなどの観点から、
RGBを使うことにした - アップデートを重ねた
- V1:天井にRGBカメラ34台設置した
- 店舗すべての空間を最低3台カバーする
- V2:TopDown-ViewのRGBD(RealSense)を加えた
- V3:RGBカメラ34台の角度を調整し、手のトラッキングをできるようにした
- added computation,
network requirements
physical device stability
の観点から、Depthカメラはやめた
- added computation,
- V4:TopDown-Viewのカメラを15台追加した
- 商品をとっているユーザを、より撮影しやすくなった
- V1:天井にRGBカメラ34台設置した
Discussion