Meet YOLO26: next-gen vision AI.

Link to this sectionUltralytics YOLO26を使用したワークアウトのモニタリング#

Open Workouts Monitoring In Colab

Ultralytics YOLO26 を用いたポーズ推定によるワークアウトのモニタリングは、身体の重要なランドマークや関節をリアルタイムで正確に追跡することで、運動評価を強化します。この技術は、運動フォームに関する即時のフィードバックを提供し、ワークアウトルーチンを追跡し、パフォーマンス指標を測定することで、ユーザーとトレーナー双方にとってトレーニングセッションを最適化します。



Watch: How to Monitor Workout Exercises with Ultralytics YOLO | Squats, Leg Extension, Pushups and More

Link to this sectionワークアウトモニタリングの利点#

  • パフォーマンスの最適化: モニタリングデータに基づいてワークアウトを調整し、より良い結果を得る。
  • 目標達成: フィットネス目標を追跡および調整して、測定可能な進捗を実現する。
  • パーソナライズ: 個々のデータに基づいたカスタマイズされたワークアウトプランで効果を高める。
  • 健康への意識: 健康上の問題やオーバートレーニングを示すパターンを早期に検出する。
  • 情報に基づいた意思決定: ルーチンの調整や現実的な目標設定のためのデータ駆動型の意思決定。

Link to this section実社会での応用#

ワークアウトモニタリングワークアウトモニタリング
YOLO ポーズ推定による腕立て伏せのカウントYOLO ポーズ推定による懸垂のカウント
腕立て伏せのカウント懸垂のカウント
Ultralytics YOLOを使用したワークアウトのモニタリング
# Run a workout example
yolo solutions workout show=True

# Pass a source video
yolo solutions workout source="path/to/video.mp4"

# Use keypoints for pushups
yolo solutions workout kpts="[6, 8, 10]"

Link to this sectionキーポイントマップ#

YOLO ポーズ推定キーポイント順序図

Link to this sectionAIGym の引数#

AIGym の引数をまとめた表を以下に示します。

引数タイプデフォルト説明
modelstrNoneUltralytics YOLOモデルファイルへのパス。
up_anglefloat145.0「アップ(上)」ポーズの角度しきい値。
down_angleint90「ダウン(下)」ポーズの角度しきい値。
kptslist[int]'[6, 8, 10]'ワークアウトの監視に使用される3つのキーポイントインデックスのリスト。これらのキーポイントは、腕立て伏せ、懸垂、スクワット、腹筋運動などのエクササイズにおいて、肩、肘、手首などの体の関節や部位に対応します。

AIGym ソリューションは、さまざまなオブジェクト追跡パラメーターもサポートしています。

引数タイプデフォルト説明
trackerstr'botsort.yaml'使用する追跡アルゴリズムを指定します(例:bytetrack.yamlまたは botsort.yaml)。
conffloat0.1検出の信頼度しきい値を設定します。低い値を設定するとより多くの物体を追跡できますが、誤検知が含まれる可能性があります。
ioufloat0.7重なり合う検出をフィルタリングするためのIntersection over Union(IoU)しきい値を設定します。
classeslistNoneクラスインデックスで結果をフィルタリングします。例えば、classes=[0, 2, 3]と設定すると、指定されたクラスのみを追跡します。
verboseboolTrue追跡結果の表示を制御し、追跡された物体の視覚的な出力を行います。
devicestrNone推論に使用するデバイスを指定します(例:cpucuda:0、または 0)。CPU、特定のGPU、その他の演算デバイスをモデル実行用に選択できます。

さらに、以下の可視化設定を適用できます。

引数タイプデフォルト説明
showboolFalseTrueの場合、注釈付きの画像や動画をウィンドウに表示します。開発やテスト中の即時的な視覚フィードバックに役立ちます。
line_widthint or NoneNoneバウンディングボックスの線の太さを指定します。Noneの場合、線の太さは画像サイズに基づいて自動的に調整されます。明瞭さのための視覚的なカスタマイズが可能です。
show_confboolTrue各検出の信頼度スコアをラベルと一緒に表示します。各検出に対するモデルの確信度を把握できます。
show_labelsboolTrue視覚的出力において各検出のラベルを表示します。検出されたオブジェクトを即座に理解するのに役立ちます。

Link to this sectionよくある質問 (FAQ)#

Link to this sectionUltralytics YOLO26を使用してワークアウトをモニタリングするにはどうすればよいですか?#

Ultralytics YOLO26を使用してワークアウトをモニタリングするには、ポーズ推定機能を活用して、身体の主要なランドマークや関節をリアルタイムで追跡・分析します。これにより、運動フォームに関する即時のフィードバックを受け取り、回数をカウントし、パフォーマンス指標を測定することが可能になります。まずは、腕立て伏せ、懸垂、または腹筋運動のための提供されているサンプルコードの使用から始めてください。

import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))

gym = solutions.AIGym(
    line_width=2,
    show=True,
    kpts=[6, 8, 10],
)

while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        print("Video frame is empty or processing is complete.")
        break
    results = gym(im0)

cv2.destroyAllWindows()

さらなるカスタマイズや設定については、ドキュメントの AIGym セクションを参照してください。

Link to this sectionワークアウトモニタリングにUltralytics YOLO26を使用する利点は何ですか?#

ワークアウトモニタリングにUltralytics YOLO26を使用すると、いくつかの主要な利点が得られます。

  • パフォーマンスの最適化: モニタリングデータに基づいてワークアウトを調整することで、より良い結果を得ることができます。
  • 目標達成: フィットネス目標を容易に追跡および調整し、測定可能な進捗を実現します。
  • パーソナライズ: 個々のデータに基づいたカスタマイズされたワークアウトプランにより、最適な効果が得られます。
  • 健康への意識: 潜在的な健康問題やオーバートレーニングを示すパターンを早期に検出できます。
  • 情報に基づいた意思決定: データ駆動型の意思決定を行い、ルーチンを調整して現実的な目標を設定できます。

これらの利点が実際に機能している様子は、YouTubeの動画デモで確認できます。

Link to this sectionUltralytics YOLO26による運動の検出と追跡の精度はどの程度ですか?#

Ultralytics YOLO26は、最先端の ポーズ推定 機能により、運動の検出と追跡において非常に高い精度を誇ります。主要な身体のランドマークと関節を正確に追跡し、運動フォームとパフォーマンス指標に関するリアルタイムのフィードバックを提供します。このモデルの事前学習済みウェイトと堅牢なアーキテクチャにより、高い 精度 と信頼性が確保されています。実世界での例については、腕立て伏せや懸垂のカウントを紹介しているドキュメントの 実社会での応用 セクションを確認してください。

Link to this sectionUltralytics YOLO26をカスタムワークアウトルーチンに使用できますか?#

はい、Ultralytics YOLO26はカスタムワークアウトルーチンに適応可能です。AIGym クラスは、up_angledown_anglekpts 引数を使用して運動の反復を検出します。キーポイントと角度を指定することで、特定の運動を検出できます。以下にサンプル設定を示します:

from ultralytics import solutions

gym = solutions.AIGym(
    line_width=2,
    show=True,
    kpts=[6, 8, 10],  # For pushups - can be customized for other exercises
)

引数の設定に関する詳細は、AIGym の引数 セクションを参照してください。この柔軟性により、さまざまな運動をモニタリングし、フィットネス目標 に基づいてルーチンをカスタマイズすることが可能です。

Link to this sectionUltralytics YOLO26を使用してワークアウトモニタリングの出力を保存するにはどうすればよいですか?#

ワークアウトモニタリングの出力を保存するには、処理されたフレームを保存するビデオライターをコードに含めるように変更します。以下に例を示します:

import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))

video_writer = cv2.VideoWriter("workouts.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

gym = solutions.AIGym(
    line_width=2,
    show=True,
    kpts=[6, 8, 10],
)

while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        print("Video frame is empty or processing is complete.")
        break
    results = gym(im0)
    video_writer.write(results.plot_im)

cap.release()
video_writer.release()
cv2.destroyAllWindows()

この設定により、モニタリングされたビデオが出力ファイルに書き込まれるため、後でワークアウトのパフォーマンスを確認したり、トレーナーと共有して追加のフィードバックを得たりすることができます。

コメント