【Python×MediaPipe】CSV出力&肩関節レポートの利用方法

python

これまでの記事では、自分のパソコンにpythonを利用できる環境を構築して、ローカルで解析や骨格推定を行う方法を書いてきました。

しかしながら、いきなり自分でpythonコードを書いて、ディレクトリ構造を考えてパッケージを入れてというのはやはり導入障壁が高いと感じました。

調べていくと、pythonの解析や骨格推定をwebブラウザで動くアプリとして公開できるパッケージ(streamlit)というものがあったので、試しに使ってみることにしました。

具体的には下記の内容です…

MediaPipeの骨格推定データを使って、
CSV出力 → 肩関節可動域の可視化レポートまでを
2つのWebアプリで分けて実装

本記事では、それぞれ二つのアプリの概要と簡単な使い方について紹介していこうと思います。

※アプリは試作版です。KTR環境での動作は確認していますが、人によってはうまく動かない可能性があります。バグやエラーについては随時修正していきますのでご了承ください。


✅ 今回紹介する2つのアプリ

今回は大きく、下記の二つのアプリで構成しています。

STEPアプリ名役割
①骨格推定パートCSV出力アプリ動画 → 骨格座標CSV(ピクセル単位)に変換
②視覚化パートレポート生成アプリCSV → 肩関節の可動域レポート画像を生成

具体的には、動画を一時的にアップロードしてmediapipeで骨格推定して、各関節位置をピクセル座標系で取得する部分と、前額面から撮影された動画を想定し、得られたピクセル座標から肩関節の最大外転時の肩関節外転角度と肩峰挙上角度を算出、そのタイミングのスティックピクチャの描画をしています。


✅ アプリ①|MediaPipe × ピクセル座標CSV出力(10秒以内の動画)

📍 アプリURL:https://app-pose-app-49vjrfy52w63r5ks8xmigu.streamlit.app/

こちらのリンクにアクセスすると、webブラウザ上でアプリが立ち上がります。

🔹 使い方

  1. .mp4動画をアップロード(10秒以内)
  2. アプリ上で自動的に骨格推定 → CSV出力
  3. 「📁 ダウンロード」ボタンから pose_output.csv を保存

※Streamlitの仕様上、長時間の動画の骨格推定は負荷が高いので10秒に限定しています。適宜必要な動作が映っている区間で動画を切り出して使用してください。

🔹 出力形式(CSVの構造)

データの出力形式は、以前に紹介した記事(記事URL: http://ktr-project.net/?p=46)と同じで、各関節のXYのピクセル座標です。本来はZ座標も出ているのですが、今回はカメラ平面のみの推定にフォーカスしているのでオミットしています。

後述のアプリでは上肢の座標しか使用していませんが、このアプリで出力されたcsvにはmediapipe poseで出力される全座標が含まれているので、他の動作分析の素材にも使用することが可能です。

frame, x_0_px, x_1_px, ..., x_32_px, y_0_px, y_1_px, ..., y_32_px

✅ アプリ②|左右肩のスティックピクチャ+角度レポート生成

📍 アプリURL:https://shoulderabd-az86atqimhfqszwnfrujie.streamlit.app/

先程の一個目のアプリと同じように、上記のリンクをクリックするとレポート出力用のwebアプリが立ち上がります。

🔹 使い方

  1. アプリ①でダウンロードした pose_output.csv をアップロード
  2. 自動で全フレームから「最大肩外転角度」「肩峰挙上角度」角を計算
  3. スティックピクチャが表示され、ダウンロード可能(PNG)
  4. 「最大肩外転角度」、「肩峰挙上角度は」webアプリ上でテキストで表示される。

※このアプリは前額面で上半身がきれいに映っている状態で、肩関節外転動作を行うという条件が前提になります。

🔹 表示内容

  • 左右それぞれの最大外転角度/肩峰挙上角度(度単位)
  • 原点補正された座標系によるスティックピクチャ

※動画内で左右それぞれの最大肩外転時のフレームのスティックピクチャの結果が表示されます。左右で必要な方を適宜利用してください。


✅ 特徴とポイント

特徴説明
軽量・高速処理10秒以内に制限することでCloud環境でも安定稼働
可視化に特化数値×図でフォームの分析が簡単に
ブラウザ完結専用ソフト不要、すべてWeb上で処理完了

✅ お問い合わせ

質問・不具合・応用のご相談は X(https://x.com/shimitaro_108) まで📩
ブログでもフィードバック歓迎です!

アプリは試作版なので、今後適宜アップデートしていきます。次回はこのアプリで出力された下肢のピクセル座標を利用して、立ち上がり動作の視覚化アプリを作っていこうと考えています。

コメント

タイトルとURLをコピーしました