【初心者向け】AnacondaとSpyderで骨格解析に挑戦|画像から動作を見える化する第一歩【基礎となるpython環境構築】

python

✅ はじめに:医療・スポーツ現場でも“動き”をデータで見よう

「歩き方」や「立ち上がりのフォーム」など、人の動きは目ではなんとなく見えても、数値化して記録するのは難しいと思われがちです。

最近では、AI技術を使って画像や動画から“骨格の位置”を自動で検出する技術が無料で使えるようになってきました。
しかしながら、これらの技術を扱うためにはプログラミング言語を何かしら習得する必要があります。今回はプログラミング言語のひとつであるpythonを動作分析で使えるように環境構築をするところを紹介していきます。


✅ このページでやること

最終ゴール:

📷「1枚の画像ファイルを読み込んで、そこに“骨格を描画”する」

対象読者:

  • 医療系やスポーツ系の学生・教員
  • リハビリ職・トレーナーなど現場の専門家
  • プログラムに不慣れだけど動作解析に興味のある方

✅ 1. Anacondaをインストールしよう(Spyder付き)

▶︎ Anacondaとは?

Anaconda(アナコンダ)は、Pythonでのデータ分析やAI開発に必要な道具をまとめてインストールできる無料のソフトです。
中には「Spyder(スパイダー)」という、ボタンひとつでコードが実行できるエディタも含まれています。

▶︎ ダウンロードとインストール

  1. 以下の公式ページにアクセスして、自分のパソコンに合ったバージョンを選びましょう:
    👉 Anaconda公式サイト(https://www.anaconda.com/download)
  2. ダウンロードが終わったら、インストーラーを実行して「Next」で進めていけばOKです。
  3. インストールが終わったら「Anaconda Navigator」という緑のアイコンが表示されます。

※実際のAnacondaを導入した際の画面のスクリーンショットはこちらです。


✅ 2. Spyderを起動してみよう

▶︎ Anaconda NavigatorからSpyderを開く

  1. スタートメニューまたはアプリ一覧から「Anaconda Navigator」を起動
  2. 一覧の中にある「Spyder」ボタンをクリック

▶︎ Spyderの画面構成を確認しよう

  • 左:コードを書くエリア
  • 上:実行ボタン(▶️)
  • 右:変数やグラフなどのビュー

※事前に結果の出力形式を変更する処理をやっておきましょう。詳細は動画に含ませますが、基本的には「ツール」タブの「設定」を開き「IPythonコンソール」のなかのグラフィックを項の中にあるバックエンドのところを「自動」に変更しておきましょう(初期設定だとインラインになっているとおもいますが、この設定だと個人的にちょっと使いずらい)。


✅ 3. ライブラリをインストールしよう

Anacondaを使ってpythonをインストールした後には、ライブラリというものを追加する必要があります。ライブラリというのはpythonのプログラミングの機能を拡張するためのものとして認識してもらえれば大丈夫です。

例えば大規模なデータや計算処理をする場合には「numpy」、「pandas」といったものを使います(今後の記事で使うので紹介はその時に)。

▶︎ 追加するライブラリ(現時点で使うのは2つだけ)

今回の記事では二つのライブラリをインストールします。

  • OpenCV(画像処理)
  • MediaPipe(骨格推定)

▶︎ Anaconda Prompt でライブラリをインストール

Anaconda Promptはスタートの中の「Anaconda(anaconda3)」の中にあります。それを開くと、真っ黒なウィンドウが出現するので、以下の文字列を黒い画面内にコピペしてエンターキーを押してください。

pip install opencv-python
pip install mediapipe

✅ 4. 画像の準備とフォルダ構成

画像ファイルは、自分で用意した「全身が写った写真」を使います。
以下のようにファイルをまとめておくと安心です。今回はこちらで用意したサンプルの画像データ(sample.jpg)の骨格推定をやってみましょう。

コピーする編集するmotion_pose_project/
├─ sample.jpg ← 骨格を表示したい画像
└─ posecheck.py ← このあと紹介するコードファイル

今回の私の環境のケースではデスクトップ上にpose_testというディレクトリを作って、その中に画像ファイルと、後述のコピペで作ってもらうスクリプトファイルを用意しました。

ファイル名を変える場合は、コード中の読み込み部分も同じ名前にしてください。


✅ 5. 実行コード(Spyderに貼り付け)

それでは実際にspyderを開いて画像の骨格推定をやってみましょう。spyderを開いた後の何も書かれていない「タイトル無し.py」に以下のコードをコピペして、先程作成したディレクトリに保存しましょう。そうしたらspyder画面の緑の三角形の実行を押しましょう。

#posecheck.py
import cv2
import mediapipe as mp

# Poseモデルの読み込み
mp_pose = mp.solutions.pose
pose = mp_pose.Pose(static_image_mode=True)

# 画像読み込み
image = cv2.imread("sample.jpg")  # ファイル名は自分のに合わせてください
image_rgb = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)

# 骨格推定
result = pose.process(image_rgb)

# 骨格の描画
mp_drawing = mp.solutions.drawing_utils
mp_drawing.draw_landmarks(image, result.pose_landmarks, mp_pose.POSE_CONNECTIONS)

# 表示
cv2.imshow("Pose", image)
cv2.imwrite("pose_output.jpg", image)

✅ 実行結果を見てみよう!

  • 正常に動作すれば、関節の点と線が描画された画像ウィンドウが表示されます。同じディレクトリにも画像データとして保存されているはずです。
  • うまくいかない場合は、ファイル名やパスを見直してみましょう

今回はこのサンプルの推定結果が出力されましたが、他の画像に変更しても同じように出力されます。


✅ 次回予告:動画から動きをデータとして取り出してみよう!

正直なところ、「これができたからって臨床や動作分析になんの役にたつねん」って思う方もいるかとおもいますが、これはあくまでも各自のパソコンで動作分析をするためのプログラムの環境構築の一環です。この環境がうまくできないことには先には進めないので、一回目の記事のテーマとして採用しました。

このコードを軸にして、次回は動画から動作の流れを検出し、CSVに保存して波形グラフを作る方法も紹介していきます。


✅ おわりに

 KTR Projectでは、動作解析の知識を医療・教育・スポーツの現場へ広げるため、やさしい技術解説記事を発信しています。

  • ご質問や要望はX(旧Twitter)からどうぞ!

コメント

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