Ultralytics YOLO26을 이용한 운동 모니터링
Ultralytics YOLO26의 포즈 추정(pose estimation) 기능을 통한 운동 모니터링은 주요 신체 랜드마크와 관절을 실시간으로 정확하게 추적하여 운동 평가를 향상시킵니다. 이 기술은 운동 자세에 대한 즉각적인 피드백을 제공하고, 운동 루틴을 기록하며, 성과 지표를 측정하여 사용자와 트레이너 모두를 위한 훈련 세션을 최적화합니다.
Watch: How to Monitor Workout Exercises with Ultralytics YOLO | Squats, Leg Extension, Pushups and More
운동 모니터링의 이점
- 성과 최적화: 모니터링 데이터를 기반으로 운동을 조정하여 더 나은 결과를 도출합니다.
- 목표 달성: 피트니스 목표를 추적하고 조정하여 측정 가능한 성장을 이룹니다.
- 개인화: 개인 데이터를 바탕으로 효과적인 맞춤형 운동 계획을 수립합니다.
- 건강 인식: 건강 문제나 과도한 훈련을 나타내는 패턴을 조기에 감지합니다.
- 정보 기반 의사결정: 루틴을 조정하고 현실적인 목표를 설정하기 위한 데이터 기반 의사결정을 지원합니다.
실제 세계에서의 활용 사례
| 운동 모니터링 | 운동 모니터링 |
|---|---|
![]() | ![]() |
| 팔굽혀펴기 횟수 측정 | 턱걸이 횟수 측정 |
# 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]"키포인트(KeyPoints) 맵

AIGym 인수
다음은 AIGym 인수를 정리한 표입니다:
| 인수(Argument) | 유형(Type) | 기본값(Default) | 설명 |
|---|---|---|---|
model | str | None | Ultralytics YOLO 모델 파일 경로입니다. |
up_angle | float | 145.0 | 'up' 자세에 대한 각도 임계값입니다. |
down_angle | int | 90 | 'down' 자세에 대한 각도 임계값입니다. |
kpts | list[int] | '[6, 8, 10]' | 운동 모니터링에 사용되는 세 개의 키포인트 인덱스 목록입니다. 이 키포인트는 팔굽혀펴기, 턱걸이, 스쿼트, 복근 운동과 같은 운동을 위해 어깨, 팔꿈치, 손목 등 신체 관절이나 부위에 해당합니다. |
AIGym 솔루션은 다양한 객체 추적 매개변수도 지원합니다:
| 인수(Argument) | 유형(Type) | 기본값(Default) | 설명 |
|---|---|---|---|
tracker | str | 'botsort.yaml' | 사용할 추적 알고리즘을 지정합니다. 예: bytetrack.yaml 또는 botsort.yaml. |
conf | float | 0.1 | 탐지에 대한 신뢰도 임계값을 설정합니다. 낮은 값을 사용할수록 더 많은 객체가 추적되지만 오탐지가 포함될 수 있습니다. |
iou | float | 0.7 | 중복 탐지를 필터링하기 위한 Intersection over Union (IoU) 임계값을 설정합니다. |
classes | list | None | 클래스 인덱스별로 결과를 필터링합니다. 예를 들어, classes=[0, 2, 3]은 지정된 클래스만 추적합니다. |
verbose | bool | True | 추적 결과 표시를 제어하여 추적된 객체의 시각적 출력을 제공합니다. |
device | str | None | 추론을 위한 장치(예: cpu, cuda:0 또는 0)를 지정합니다. 모델 실행을 위해 CPU, 특정 GPU 또는 기타 컴퓨팅 장치 중 하나를 선택할 수 있습니다. |
또한 다음과 같은 시각화 설정을 적용할 수 있습니다:
| 인수(Argument) | 유형(Type) | 기본값(Default) | 설명 |
|---|---|---|---|
show | bool | False | True인 경우 주석이 달린 이미지나 비디오를 창에 표시합니다. 개발 또는 테스트 중 즉각적인 시각적 피드백을 얻는 데 유용합니다. |
line_width | int or None | None | 바운딩 박스의 선 두께를 지정합니다. None인 경우 이미지 크기에 따라 선 두께가 자동으로 조정됩니다. 명확성을 위한 시각적 사용자 정의를 제공합니다. |
show_conf | bool | True | 레이블과 함께 각 탐지에 대한 신뢰도 점수를 표시합니다. 각 탐지에 대한 모델의 확신 수준을 알 수 있습니다. |
show_labels | bool | True | 시각적 출력에서 각 탐지에 대한 레이블을 표시합니다. 탐지된 객체를 즉시 이해할 수 있게 합니다. |
FAQ
Ultralytics 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 섹션을 참조하십시오.
운동 모니터링에 Ultralytics YOLO26을 사용하면 어떤 이점이 있나요?
운동 모니터링에 Ultralytics YOLO26을 사용하면 다음과 같은 주요 이점이 있습니다:
- 성과 최적화: 모니터링 데이터를 기반으로 운동을 조정하여 더 나은 결과를 얻을 수 있습니다.
- 목표 달성: 피트니스 목표를 쉽게 추적하고 조정하여 측정 가능한 성장을 이룰 수 있습니다.
- 개인화: 개인 데이터를 바탕으로 최적의 효과를 내는 맞춤형 운동 계획을 얻을 수 있습니다.
- 건강 인식: 잠재적인 건강 문제나 과도한 훈련을 나타내는 패턴을 조기에 감지합니다.
- 정보 기반 의사결정: 데이터 기반 의사결정을 통해 루틴을 조정하고 현실적인 목표를 설정합니다.
YouTube 동영상 시연을 통해 이러한 이점을 직접 확인할 수 있습니다.
Ultralytics YOLO26의 운동 감지 및 추적 정확도는 어느 정도인가요?
Ultralytics YOLO26은 최첨단 포즈 추정 기능 덕분에 운동 감지 및 추적 성능이 매우 뛰어납니다. 주요 신체 랜드마크와 관절을 정확하게 추적하여 운동 자세와 성과 지표에 대한 실시간 피드백을 제공합니다. 모델의 사전 학습된 가중치와 강력한 아키텍처는 높은 정밀도(precision)와 신뢰성을 보장합니다. 실제 적용 사례는 팔굽혀펴기와 턱걸이 횟수 측정을 다루는 문서의 실제 애플리케이션 섹션을 확인하십시오.
맞춤형 운동 루틴에 Ultralytics YOLO26을 사용할 수 있나요?
네, Ultralytics YOLO26은 맞춤형 운동 루틴에 맞게 조정할 수 있습니다. AIGym 클래스는 pushup, pullup, abworkout 등 다양한 포즈 유형을 지원합니다. 특정 운동을 감지하기 위해 키포인트와 각도를 지정할 수 있습니다. 다음은 예제 설정입니다:
from ultralytics import solutions
gym = solutions.AIGym(
line_width=2,
show=True,
kpts=[6, 8, 10], # For pushups - can be customized for other exercises
)인수 설정에 대한 자세한 내용은 Arguments AIGym 섹션을 참조하십시오. 이러한 유연성을 통해 다양한 운동을 모니터링하고 피트니스 목표에 따라 루틴을 커스터마이징할 수 있습니다.
Ultralytics YOLO26을 사용하여 운동 모니터링 결과를 저장하려면 어떻게 해야 하나요?
운동 모니터링 결과를 저장하려면 처리된 프레임을 저장하는 비디오 기록기(video writer)를 포함하도록 코드를 수정하면 됩니다. 다음은 예시입니다:
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()이 설정을 통해 모니터링된 비디오를 출력 파일로 저장할 수 있으며, 나중에 운동 성과를 검토하거나 트레이너와 공유하여 추가 피드백을 받을 수 있습니다.

