Slide 1

Slide 1 text

Passregi CVの現在と 取り組んできた改良 2023/04/11 新規事業統括部 Passregiチーム 山本紘暉

Slide 2

Slide 2 text

2 自己紹介 名前:山本 紘暉 Hiroki Yamamoto 所属:クラスメソッド株式会社 新規事業統括部 Passregiチーム(カフェチーム) 担当:CV・MLの研究開発 経歴 - 1991 千葉県浦安市育ち - 2016~ 電機メーカで情報系の研究開発 - 2020~ クラスメソッドでCVの研究開発

Slide 3

Slide 3 text

3 この発表の内容 クラスメソッドで運営しているカフェ(ウォークスルー) 研究開発しているPassregiのCV部分について、ざっくりと紹介 ・改良の過程 ・今取り組んでいること ・得られた知見

Slide 4

Slide 4 text

4 概要

Slide 5

Slide 5 text

5 カフェってなに? 運営していたカフェ(Developers IOカフェ@秋葉原) ウォークスルーな購入システムを開発中 リーダーシップ パートナーシップ ダイバーシティ プロフェッショナル 感謝 顧客視点 フィードバック 情報発信 やってみる 楽しむ クラスメソッドのカルチャー

Slide 6

Slide 6 text

6 ウォークスルー店舗ってなに? 商品をとったら自動で会計される → レジ打ち・セルフスキャン・装着物 : 不要 https://www.youtube.com/watch?v=480mlpn5zXM&ab_channel=AiFi

Slide 7

Slide 7 text

10 ウォークスルー店舗の技術的な課題 会計:どの人がどの商品を何個をとったか 入力 (人がいる空間) 出力 (会計の情報) 商品A:1 商品B:2 商品C:1 商品A:2 商品C:3 A B C

Slide 8

Slide 8 text

11 機器構成と機能の概要 重量センサ カメラ 映像処理 重量処理 判定処理 カメラ:人の行動を認識 + 重量センサ:商品を認識 人の情報 (ユーザAがx,yにいた) 商品の情報 (商品Aが1つ減った)

Slide 9

Slide 9 text

12 CVの機能の概要 検出 (ある時刻) 追跡 (時系列で並べる) 取得判定 (重量と合わせる) 0 0 1 1

Slide 10

Slide 10 text

13 いままでの構成・改良

Slide 11

Slide 11 text

14 CV部分の改良 2018.05 ~ 2020.04 Phase0 追跡 (※) 2020.04 ~ 2020.10 Phase1 複数人で取得判定 2020.11 ~ 2020.12 Phase2 連続手伸ばし判定 2021.01 ~ 2021.05 (他の試行錯誤) 2021.06 ~ 2021.09 Phase3 追跡を実装 2021.11 ~ 2021.12 Phase4 骨格のみに変更 2022.01 ~ 2022.03 Phase5 クラウド版を実装 2022.04 ~ (中断) Phase6 クラウド版を改良 2022.05 ~ Phase7 RGBのみを試す V1 V1.5 V2 V3 2020.05 山本ジョイン ※ 詳しくは https://dev.classmethod.jp/articles/report-developers-io-2019-tokyo-yokota-developersiocafe/

Slide 12

Slide 12 text

15 (Phase0) ToFセンサを使った検出・追跡 https://solutions.hitachi-lg.biz/tof-sensor/ ユーザを追跡している様子 (Human Counter Pro, Hitachi-LG Data Storage) ユーザのID・位置 を取得可能

Slide 13

Slide 13 text

16 Phase1:課題と解決方法 課題:IDと位置だけだと、 商品の近くに複数人いた場合 正確に取得判定できない 解決方法:手を加える ? こっちが取った

Slide 14

Slide 14 text

17 Phase1:使用した技術要素 骨格検出モデル (&fine-tuning) RGB+Depthカメラ (RealSense) https://www.intel.co.jp/content/www/jp/ja/archit ecture-and-technology/realsense-overview.html https://openaccess.thecvf.com/content_cvpr_2 017/papers/Cao_Realtime_Multi- Person_2D_CVPR_2017_paper.pdf 高性能GPUエッジデバイス (Jetson Xavier NX) https://www.nvidia.com/ja-jp/autonomous- machines/embedded-systems/jetson-xavier-nx/

Slide 15

Slide 15 text

18 Phase1:使用した技術要素(1)骨格検出 fine-tuning (Cubemos社と協力) 世の中のモデル 横から:検出精度が高い 上から:検出精度が低い https://openaccess.thecvf.com/content_cvpr_2 017/papers/Cao_Realtime_Multi- Person_2D_CVPR_2017_paper.pdf 上からの映像でも 骨格を検出できた

Slide 16

Slide 16 text

19 Phase1:使用した技術要素(2)RGB+Depthカメラ Depth画像 距離を計測 RGB画像 骨格を検出 3次元座標を計算

Slide 17

Slide 17 text

20 Phase1:実装したシステム 検出 ・ToFセンサ ・骨格 追跡 ・ToFセンサ 取得判定 ・骨格

Slide 18

Slide 18 text

21 Phase1:結果 商品の近くに複数人いても 正しく取得判定できた

Slide 19

Slide 19 text

24 Phase3:課題と解決方法 課題:人が近くにいると 追跡でミスが起きる (入れ替わり・ロスト) 解決方法:骨格で補助する 追跡ロジックを実装する A B ID:0 ID:1 A B ID:0 ID:1 A B ID:1 ID:0 A B ID:0 ID:1 A B ID:0 ID:1 A B ID:1

Slide 20

Slide 20 text

25 Phase3:使用した技術要素 フィルタ (カルマンフィルタ) SORT (Simple Online and Realtime Tracking) MOT (Multiple Object Tracking) https://arxiv.org/abs/1602.00763 t=n-2 (検出) t=n-1 (検出) t=n (予測)

Slide 21

Slide 21 text

26 Phase3:実装した追跡ロジックと結果 ToF 骨格 人物 それぞれで 追跡 統合 青:ToF 緑:骨格 赤:人物 → 人が密集していても追跡できた

Slide 22

Slide 22 text

27 Phase3:実装した追跡ロジックと結果(詳細) ToFでの追跡で入れ替わり・ロストが発生したが 骨格の追跡で訂正・引き継ぎできた 検出 ・ToFセンサ ・骨格 追跡 ・ToFセンサ ・骨格 取得判定 ・骨格

Slide 23

Slide 23 text

31 Phase5:課題と解決方法 課題:導入費用が高い データ・ログの収集が難しい 解決方法:クラウドに移行する 取得判定 骨格検出 追跡

Slide 24

Slide 24 text

32 Phase5:使用したデバイス Jetson Nano 開発者キット https://developer.nvidia.com/embedded/jetson- nano-developer-kit ハードウェア エンコーダ 高速に動画ファイルを生成 画像(*n)よりも容量を圧縮

Slide 25

Slide 25 text

35 現在の構成

Slide 26

Slide 26 text

36 Phase7:課題と解決方法(取り組み中) 課題 :RGB-Depthカメラの価格が高い 解決方法:RGBカメラで3次元の検出・追跡 Epipolar幾何 ATOM Cam2 https://www.atomtech.co.jp/products/atomcam2 https://en.wikipedia.org/wiki/Epipolar_geometry#/ media/File:Epipolar_geometry.svg Incremental Tracking https://openaccess.thecvf.com/content_CVPR_202 0/html/Chen_Cross-View_Tracking_for_Multi- Human_3D_Pose_Estimation_at_Over_100_CVPR_ 2020_paper.html

Slide 27

Slide 27 text

37 RGBカメラ ATOM Cam2 https://www.atomtech.co.jp/products/atomcam2 安い ・3500円 ・(RGBDカメラ:6万円) 高性能・高機能 ・高解像度・画角広い・20fps ・RTSPで映像を受信できる ・アプリで設定・管理が可能

Slide 28

Slide 28 text

38 骨格検出(エッジデバイス) Jetson AGX Orin 高性能GPUデバイス (従来の5倍の性能、カタログ上) 価格:35万円くらい TensorRT モデルの構成をNVIDIA GPU用に 最適化するライブラリ スループット:PyTorchの5.4倍程度 (PyToch32bit → TensorRT16bit) → 1台で骨格検出処理を400fps(カメラ100台分の映像)を処理可能

Slide 29

Slide 29 text

機器構成と流れるデータ 撮影 骨格検出 骨格統合 追跡 追跡結果 (MQTT) 骨格の 2次元座標 (MQTT) RGB映像 (RTSP) …

Slide 30

Slide 30 text

40 機器構成と流れるデータ 撮影 カメラ エッジ デバイス (GPU) 骨格検出 骨格追跡 追跡 訂正・制約 PC PC 2次元座標 * n 3次元座標 RGB映像 * n IDを上書き

Slide 31

Slide 31 text

41 骨格検出の様子

Slide 32

Slide 32 text

42 Phase7:使用している技術要素(1)Epipolar幾何 想定する状況 カメラの位置関係が既知 (キャリブレーション済み) 1. 画像を撮影する 2. 検出する

Slide 33

Slide 33 text

43 Phase7:使用している技術要素(1)Epipolar幾何 3.1. エピポーラ拘束をもとに 距離を計算する 3.2. 距離をもとに対応付けを決める 4. 位置を推定する (triangulation) 0 1 2 3 2 3 0 1

Slide 34

Slide 34 text

47 Phase7:使用している技術要素(1)Epipolar幾何 問題点 0 1 2 3 0 ー 0,1 0,1 0,1 1 0,1 ー 0,1 0,1 2 0,1 0,1 ー 0,1 3 0,1 0,1 0,1 ー 0 1 2 3 4 5 6 7 8 9 10 11 0 ー 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 1 0,1 ー 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 2 0,1 0,1 ー 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 3 0,1 0,1 0,1 ー 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 4 0,1 0,1 0,1 0,1 ー 0,1 0,1 0,1 0,1 0,1 0,1 0,1 5 0,1 0,1 0,1 0,1 0,1 ー 0,1 0,1 0,1 0,1 0,1 0,1 6 0,1 0,1 0,1 0,1 0,1 0,1 ー 0,1 0,1 0,1 0,1 0,1 7 0,1 0,1 0,1 0,1 0,1 0,1 0,1 ー 0,1 0,1 0,1 0,1 8 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 ー 0,1 0,1 0,1 9 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 ー 0,1 0,1 10 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 ー 0,1 11 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 ー … 変数の数: 9倍 探索空間: ✕:9倍 ◯:2**(144-16)倍 =340282366920938463463374607431768211456倍 人数3倍

Slide 35

Slide 35 text

48 Phase7:使用している技術要素 (2) Incremental Tracking https://openaccess.thecvf.com/content_CVPR_202 0/html/Chen_Cross-View_Tracking_for_Multi- Human_3D_Pose_Estimation_at_Over_100_CVPR_ 2020_paper.html

Slide 36

Slide 36 text

49 結果 (5月:論文を読む) 6月 :コア部分を仮実装・検討 7~8月:小さいエリアで初期実装 9~10月:大きいエリアで実装 11~12月:大人数で実験・改良 4m*6m程度のスペースで 13名が歩き回る様子を 追跡できた

Slide 37

Slide 37 text

59 知見・感想 研究開発のバランス ・研究のみではなく最後までやりきる(表面上の理解で終わらない) ・開発だけでは進めない、完璧を求めない 改善だけでは局所解に陥る ・1つの技術要素に執着しない、よりよいものを求め続ける ・単なる改善だけでなく、抜本的な改修を考えるべき ・論文を読むべき(周りの技術を取り込むべき) 進め方 ・「やってみた」も大事だが、先に調べるのも必要 ・やりっぱなしではなく、その後の分析・考察・方針ぎめが大事 ・問題を解き方(技術)は大事だが、 そもそも何が問題でどの問題を解くか(定義)を決めるのがだいじ

Slide 38

Slide 38 text

60 今後 技術 ・より広いエリアでもリアルタイムに処理 ・骨格検出モデルの精度を上げる、新しいモデルを使う 研究開発 ・外部に発表していきたい ・研究成果にしたい ビジネス ・購買行動をサポートする方向を検討する

Slide 39

Slide 39 text

61 まとめ 研究開発しているPassregiのCV部分について、ざっくりと紹介 ・改良の過程 ・ハードウェアや仕組みを変えながら改良してきた ・今取り組んでいること ・RGBカメラを使った追跡 ・精度や速度の改善 ・得られた知見 ・各ハードウェア・ソフトウェア・CVの知見 ・研究開発の進め方・考え方