1.MediaPipe BlazePose:リアルタイムにオンデバイスでポーズを追跡(2/2)まとめ
・Tracking Modelはキーポイントの「ヒートマップとオフセット」の組合わせを教師として使用
・20%の誤差であれな許容範囲(PCK@0.2)の基準で性能測定し84.1の精度となった
・スピードと品質のバランスを変えたBlazePose liteとBlazePose fullの2モデルを提供
2.MediaPipe BlazePoseの性能
以下、ai.googleblog.comより「On-device, Real-time Body Pose Tracking with MediaPipe BlazePose」の意訳です。元記事の投稿は2020年8月13日、Valentin BazarevskyさんとIvan Grishchenkoさんによる投稿です。
アイキャッチ画像のクレジットはPhoto by Вера Мошегова on Pixabay
Tracking Model
パイプラインのポーズ推定コンポーネントは、それぞれ3つの自由度(x軸とy軸による位置と可視属性)を持つ33のキーポイント全ての位置に加えて、前述の2つの位置合わせ用の仮想キーポイントを予測します。
計算集約型のヒートマップ予測(compute-intensive heatmap prediction)を採用する従来のアプローチとは異なり、私達のモデルでは、回帰アプローチを使用します。以下に示すように、全てのキーポイントの「ヒートマップとオフセット」の組み合わせを教師役として使用します。
具体的には、トレーニング中に、最初に「ヒートマップとオフセットを使った損失(heatmap and offset loss)」を使用して、上図の中央と左側のネットワークをトレーニングします。
次に、ヒートマップの出力のみを削除し、回帰エンコーダー(右のネットワーク)をトレーニングします。これにより、ヒートマップを効果的に教師役として、軽量埋め込みを学習させる事ができます。
以下の表は、さまざまなトレーニング戦略から得られたモデル品質のアブレーション研究を示しています。評価指標は「20%の誤差であれな許容範囲(PCK@0.2)」とします。(つまり、モデルが検出したポイントと実際のポイントの二次元平面上での位置ズレが、対応する人物の胴体サイズの20%より小さい場合は、ポイントが正しく検出されたと見なします。)
人間が作業した際の基準値を取得するために、何人かの注釈付け作業者に複数のサンプルに注釈を付けるように依頼したところ、PCK@0.2では平均97.2の精度となりました。トレーニングと検証は、偏りが発生しないように、様々なポーズを地理的に多様なデータセットから所得して行われており、均一にサンプリングされています。
Mean 2D Euclidean error, normalized by torso size | PCK@0.2 | |
Headmaps | 16.2 | 83.6 |
Regression without Headmaps loss | 15.9 | 79.9 |
Regression with Headmaps loss | 14.4 | 84.1 |
幅広いハードウェアをカバーするために、2つのポーズTrackingモデルを提供します。
BlazePose liteとBlazePose fullです。この2つはスピードと品質のバランスが異なります。
CPUを使ったパフォーマンス評価時には、XNNPACKを使用しています。モバイルGPUの場合、TFLite GPUバックエンドを使用しています
Pixel CPU, FPS using XNNPack | Pixel CPU, FPS using TFLite GPU | Browser MBP’17 3.5GHz i7 FPS MediaPipe WASM | |
BlazePose lite | 44 | 112 | 13.5 |
BlazePose full | 18 | 69 | 6.2 |
アプリケーション
人間のポーズを認識する事で、フィットネスやヨガの回数カウントなど、様々なアプリケーションを構築できます。 例として、スクワットと腕立て伏せの回数を数えるカウンターを提示します。これらは、ユーザーが行った運動を統計情報として自動的にカウントしたり、実行されたエクササイズのポーズが綺麗かの確認をしたりできます。このような使用例は、追加の分類器ネットワークを使用するか、正規化されたポーズ空間で最も近いポーズに一致する単純な joint pairwise distance lookupアルゴリズムを使って実装できます。
検出された体のポーズに基づいたトレーニング回数カウンタ
左:スクワット
右:腕立て伏せ
結論
Android、iOS、Python用に上半身の動きをターゲットにしたバージョンのMediaPipe BlazePoseをリリースしました。BlazePoseは、ML Kitで今後リリースが予定されているPose検出APIを介して、より幅広いモバイルデベロッパーコミュニティでも利用できるようになります。
モバイルだけではなく、Webベースのブラウザー内で動作するバージョンもviz.mediapipe.devのデモページでご覧いただけます。この人間のポーズを知覚する機能をより広い研究開発コミュニティに提供することで、創造的なユースケースの出現、新しいアプリケーションの刺激、新しい研究の道が開かれることを願っています。
私達は、このテクノロジーをより堅牢で安定したトラッキングにし、更に多様な人間のポーズや動きに拡張する予定です。付属のモデルカードでは、これらのモデルの使用がGoogleのAI原則と確実に一致するように、使用目的、制限、モデルの公平性について詳しく説明しています。このテクノロジーを公開することで、研究開発者コミュニティのメンバー全体が新しい創造的なアイデアやアプリケーションに刺激を与えることができると私たちは信じています。
私達はあなたがそれを使って何を構築できるかを見て興奮しています!
ヨガのポーズをBlazePoseでポーズトラッキングした結果
謝辞
私たちと一緒に技術に取り組んだすべてのチームメンバーに感謝します。
Fan Zhang, Artsiom Ablavatski, Yury Kartynnik, Tyler Zhu, Karthik Raveendran, Andrei Vakunov, Andrei Tkachenka, Marat Dukhan, Raman Sarokin, Tyler Mullen, Gregory Karpiak, Suril Shah, Buck Bourdon, Jiuqiang Tang, Ming Guang Yong, Chuo-Ling Chang, Juhyun Lee, Michael Hays, Camillo Lugaresi, Esha Uboweja, Siarhei Kazakou, Andrei Kulik, Matsvei Zhdanovich, そして Matthias Grundmann.
3.MediaPipe BlazePose:リアルタイムにオンデバイスでポーズを追跡(2/2)関連リンク
1)ai.googleblog.com
On-device, Real-time Body Pose Tracking with MediaPipe BlazePose
2)arxiv.org
BlazePose: On-device Real-time Body Pose tracking
3)google.github.io
MediaPipe BlazePose
MediaPipe Face Detection
MediaPipe Hands
4)openaccess.thecvf.com
Exploiting Offset-guided Network for Pose Estimation and Tracking(PDF)
5)viz.mediapipe.dev
demo/pose_tracking
コメント