|
翻訳者|朱賢宗 校正者 | Chonglou 概要:この記事では、オープンソースツールRerunを使用して、オープンソースフレームワークMediaPipeに基づく人間のポーズトラッキングを簡単に視覚化する方法と、実際の操作とプログラミングを紹介します。 概要この記事では、オープンソースフレームワーク「MediaPipe」を用いて、人間の姿勢を2次元と3次元の両方で追跡するユースケースを紹介します。この考察をさらに興味深いものにしているのは、オープンソースの可視化ツール「Rerun」が提供する可視化です。Rerunは、人間の動きと姿勢を包括的に可視化します。 著者が MediaPipe を使用して 2D および 3D環境で人間のポーズを追跡し、Rerun ツールの視覚化機能を探る方法を段階的に説明します。 人間の姿勢追跡人間の姿勢追跡は、コンピュータービジョンにおける主要な体位の特定、姿勢の分析、動作の分類に重点を置いたタスクです。この技術の中核を成すのは、視覚入力を評価し、画像座標と3Dワールド座標で体上のランドマークを識別する、事前学習済みの機械学習モデルです。この技術の応用分野には、ヒューマンコンピュータインタラクション、動作分析、ゲーム、仮想現実(VR)、拡張現実(AR)、ヘルスケアなどがありますが、これらに限定されるものではありません。 完璧なモデルが理想ですが、残念ながら現在のモデルはまだ不完全です。データセットには様々な体型のデータが保存されているかもしれませんが、人体は人それぞれ異なります。一人ひとりの体型の独自性は、特に腕や脚のサイズが標準的でない人にとっては課題となり、この技術を使用する際の精度低下につながる可能性があります。この技術をシステムに統合することを検討する際には、不正確さの可能性を認識することが不可欠です。科学界による継続的な努力が、より堅牢なモデルの開発への道を開くことを期待します。 この技術の精度不足に加え、その使用には倫理的および法的側面も考慮する必要があります。例えば、公共の場でポーズをとっている人物を本人の同意なく撮影することは、プライバシー権の侵害につながる可能性があります。この技術を実社会に導入する前に、倫理的および法的側面を考慮に入れることは非常に重要です。 前提条件と初期設定まず、必要なライブラリをインストールします。 MediaPipeを使用して人間の姿勢を追跡するGoogleのポーズランドマーク検出ガイドラインからの画像(参考文献1) コンピューター ビジョンと機械学習をデバイスの ML ソリューションに統合したい開発者にとって、 PythonベースのMediaPipeフレームワークは便利なツールです。 以下のコードでは、 MediaPipeのポーズマーカー検出機能を用いて、画像内の人体マーカーを検出しています。このモデルは、画像座標と3Dワールド座標の両方でポーズマーカーを検出できます。MLモデルが正常に実行されると、出力は画像座標と3Dワールド座標を用いて視覚化できます。 Mediapipeジェスチャ結果セットから2 次元ランドマークの位置を読み取ります。
Mediapipe Pose 結果セットから3D ランドマークの場所を読み取ります。
入力画像内のポーズを追跡および分析します。
Rerunを使用してMediaPipeの出力を視覚化するRerun イメージ ブラウザ (画像は Rerun 公式ドキュメントから、参考文献 2) Rerunは、マルチモーダルデータの可視化ツールとして機能します。Rerun画像ビューアを使用すると、レイアウトの構築、可視化のカスタマイズ、データの操作が可能です。このセクションの残りの部分では、 Rerun SDKを使用してRerun画像ビューアでデータを記録し、表示する方法について詳しく説明します。 ポーズサインモデル(ポーズサイン検出ガイドラインを使用して Google が撮影した画像、参考文献 1) 2Dと3Dの両方のポイントマッピングにおいて、ポイント間の接続を指定することは非常に重要です。これらの接続を定義すると、ポイント間の線が自動的にレンダリングされます。MediaPipeが提供する情報を使用して、pose_connectionsコレクションからポーズポイントの接続を取得し、アノテーションコンテキストを使用してキーポイントの接続として設定できます。 画像座標 - 2次元位置人間の姿勢を 2D ポイントとして視覚化する (画像は著者提供)。 動画内でボディポーズマーカーを視覚化するのは良い選択肢のように思えます。これを実現するには、 Rerunドキュメントのエンティティとコンポーネントの概要をよく理解する必要があります。 「エンティティパス階層」ページでは、同じエンティティに複数のコンポーネントを記録する方法について説明しています。例えば、「video」エンティティを作成し、動画用に「video/rgb」コンポーネント、ボディポーズ用に「video/pose」コンポーネントを含めることができます。ただし、これを動画デザインに使用する場合は、タイムラインの概念を十分に理解する必要があります。各フレームは適切なデータに関連付けることができます。 以下はビデオ上の 2D ポイントを視覚化できる関数です。 3Dワールド座標 - 3Dポイント人間の姿勢を 3D ポイントとして視覚化する (画像は著者提供)。 既に3Dポイントがあるのに、なぜ2Dポイントを選ぶ必要があるのでしょうか?新しいエンティティを作成し、「Person」という名前を付け、これらの3Dポイントに関するデータを出力します。これで完了です!これで、人間のポーズを3Dで表現できます。 手順は次のとおりです。 ソースコードの探索この記事では、 「Human Pose Tracking」サンプルの主要部分に焦点を当てます。実際に操作してみたい方は、このサンプルの完全なソースコードをGitHub (https://github.com/rerun-io/rerun/blob/latest/examples/python/human_pose_tracking/main.py)で公開しています。実装の内部動作を自由に探索、変更、理解してください。 ヒントと提案1. 画像を圧縮して効率を上げる記録された画像を圧縮することで、プロセス全体を高速化できます。 2. メモリ使用量を制限する記録するデータがRAM容量を超えると、古いデータから破棄されます。デフォルトの制限はシステムRAMの75%です。この制限を増やすには、コマンドラインパラメータ「--memorylimit」を使用します。メモリ制限の詳細については、 Rerunの「メモリ使用量を制限する方法」ページをご覧ください。 3. ニーズに合わせて視覚効果をカスタマイズするカスタム再実行ビューア(画像は著者提供) 人間の姿勢追跡を超えてこの記事が役に立ち、参考になったと思われた方は、同様のトピックに関する別の記事をご覧ください。
さらに、コンピューター ビジョンとロボット工学に関する視覚化チュートリアルも頻繁に共有します。 参考文献[1] Googleの論文「ポーズランドマーク検出ガイド」 。このページのコンテンツの一部はGoogleの著作物から複製されており、クリエイティブ・コモンズ 4.0 表示ライセンスに記載されている条件に従って使用することができます。 [2] MITライセンスの下で利用可能な公式リファレンスドキュメントを再実行します。 翻訳者紹介Zhu Xianzong 氏は、51CTO コミュニティ エディター、51CTO 専門ブロガー兼講師、維坊の大学のコンピューター教師、そしてフリー プログラミング コミュニティのベテランです。 原題: 2D および 3D での MediaPipe による人間のポーズ追跡: 再実行ショーケース、著者: Andreas Naoum |
オープンソースのMediaPipeとRerunをベースにした人間のポーズ追跡可視化
関連するおすすめ記事
-
大規模なオープンソースデータセットが衝撃的なスキャンダルに巻き込まれ、大手 AI 企業が関与していることが判明しました。
-
オープンソースの顔認識技術「SeetaFace」入門チュートリアル(パート1)
-
2013年のオープンソース技術の図解
-
マイクロソフトがFlorence-2をオープンソースとして正式に発表し、基本的なビジョンモデルを統一しました!中国チームによって開発されました。
-
AWS のソフトウェアの「オープンソースマイニング」が激しい怒りを巻き起こし、オープンソースベンダー 7 社が訴訟を準備している。
-
LibreOffice プロジェクトにはすでに 400 人を超える開発者と数百万のユーザーがいます。