소개
컴퓨터 비전 영역 내에서, 인간 자세 추정은 현실과 게임에서 기계적 자율성 및 건강 관리에 이르기까지 애플리케이션을 갖는 매력적인 분야로 나타납니다. 이 기사는 인간 자세 추정의 복잡성, 그 중요성, 근본적인 발전 및 눈에 띄는 응용 분야를 밝힙니다.
컴퓨터 비전 내부의 흥미로운 분야 인 자세 추정에는 개인의 신체에 중점을 두어 포즈를 분석하는 것이 포함됩니다. 우리의 목표는이 혁신을 요가 영역에 가져와 그림에서 요가 자세를 인식하고 분류 할 수있게하는 것입니다.
학습 목표
- 인간 포즈 추정 원칙과 컴퓨터 비전에서의 중요성에 대한 깊은 이해를 얻습니다.
- 인간 포즈 추정 기술이 개인화 된 지침과 실시간 피드백으로 요가 실습을 향상시키는 방법을 이해하십시오.
- Python 및 관련 라이브러리를 사용하여 요가 애플리케이션을위한 인간 포즈 추정 알고리즘을 구현하는 실용적인 기술을 개발하십시오.
이 기사는 Data Science Blogathon 의 일부로 출판되었습니다 .
목차
- 인간 포즈 추정을 이해합니다
- 상향식 대 하향식 방법 포즈 추정 방법
- 인기있는 라이브러리 및 도구
- 인간 포즈 추정 향상 : 간단하고 효율적인 접근
- 인간 포즈 추정의 적용
- 자주 묻는 질문
인간 포즈 추정을 이해합니다
인간 포즈 추정은 사람의 방향을 그래픽으로 나타내는 컴퓨터 비전 작업입니다. 모델 기반 접근 방식을 활용하는이 기술은 이미지 나 비디오에서 인체 부품 및 관절의 포즈를 식별하고 분류합니다. 핵심은 손목, 어깨 및 무릎과 같은 조인트를 정의하는 일련의 좌표 세트를 캡처하는 데 있습니다.
인간 포즈 추정의 중요성
사람들의 탐지는 머신 러닝 알고리즘으로 발전하여 컴퓨터가 포즈 탐지 및 추적을 통해 인체 언어를 이해할 수있게 해줍니다. 이 기술은 상업적으로 실행 가능해졌으며 보안, 비즈니스 인텔리전스, 건강 및 안전 및 엔터테인먼트와 같은 다양한 산업에 영향을 미칩니다. 특히, 코로나 바이러스 전염병의 시대에는 실시간 포즈 감지가 사회적 거리 조치를 구현하는 데 도움이됩니다.
2D와 3D 인간 자세 추정의 대비
두 가지 주요 방법은 2D 자세 추정과 3D 자세 추정입니다. 이전의 게이지는 2D 공간의 바디 조인트 영역 인 반면, 마지막 언급 된 것은 추가 z 차원을 예상함으로써 2D 사진을 3D 항의로 바꿉니다. 3D 포즈 추정은 도전적이지만 표현에서 정확한 공간 위치를 허용합니다.
인간 포즈 추정 모델의 유형
인간 포즈 추정 모델은 세 가지 주요 유형에 속합니다.
- 골격 기반 모델 : 3D 및 2D 포즈 추정에 사용되는 골격 구조를 나타냅니다.
- 윤곽 기반 모델 : 2D 포즈 추정에 중점을 두어 신체의 외관과 모양을 강조합니다.
- 볼륨 기반 모델 : 3D 포즈 추정에 사용 된 3D 인체 모델 및 포즈를 사용합니다.
상향식 대 하향식 방법 포즈 추정 방법
인간 포즈 추정 방법은 상향식과 하향식의 두 가지 접근법으로 광범위하게 분류됩니다. 상향식은 각 신체 조인트를 개별적으로 평가하는 반면 하향식은 먼저 신체 탐지기를 사용하고 발견 된 경계 상자 내에서 조인트를 결정합니다.
인간 포즈 추정의 작업을 이해하려면 기본 구조, 모델 아키텍처 개요 및 포즈 추정을위한 다양한 접근법을 탐구하는 것이 포함됩니다. 이 과정에는 절대 포즈 추정, 상대 포즈 추정 및 그 조합이 포함됩니다.
인기있는 라이브러리 및 도구
몇몇 오픈 소스 라이브러리는 휴먼 포즈 추정을 용이하게합니다.
- Openpose : 2D 및 3D 포즈 추정을 지원하는 다원 시스템.
- Posedetection : 실시간 포즈 추정 모델을 제공하는 Tensorflow.js를 구축했습니다.
- Densepose : 2D RGB 이미지에서 3D 표면 기반 모델에 인간 픽셀을 맵핑합니다.
- 알파 포스 : 하향식 접근법을 사용하여 실시간 다원자 포즈 추정 라이브러리.
- HRNET (고해상도 순) : 고당도 키 포인트 열 맵 예측에 적합합니다.
인간 포즈 추정 향상 : 간단하고 효율적인 접근
이제 특정 단계에 따라 간단한 인간 포즈 추정 코드로 시작하겠습니다.
1 단계 : 단계 설정
여행을 시작하려면 필요한 라이브러리를 설치하여 환경을 설정해야합니다. OpenCV, Numpy 및 MediaPipe은 프로젝트에 필수적입니다. 설치하려면 다음 명령을 실행하십시오.
! PIP 설치 OpenCV-Python MediaPipe
우리는이 기사에서 MediaPipe 인 Google이 컴퓨터 비전 작업에 중점을 둔 기계 학습 파이프 라인을 구축하기 위해 개발 한 오픈 소스 프레임 워크 인 MediaPipe를 소개했습니다. Mediapipe는 복잡한 시각적 응용 프로그램의 구현을 단순화하여 최소한의 노력으로 통합 될 수있는 인간 포즈 추정을위한 미리 훈련 된 모델을 제공합니다. 크로스 플랫폼 기능은 모바일 장치, 웹 응용 프로그램 및 데스크탑에서 일관된 성능을 보장하며 실시간 처리를위한 설계를 통해 빠른 비디오 입력 분석을 가능하게합니다.
2 단계 : 필요한 라이브러리를 가져옵니다
수학 수학 CV2 가져 오기 Numpy를 NP로 가져옵니다 시간에서 가져 오기 시간 미디어 파이프를 MP로 가져옵니다 matplotlib.pyplot을 plt로 가져옵니다 IPYTHON.DISPLAY 가져 오기 HTML
- `Math ': 계산을위한 수학적 함수를 제공합니다.
- `CV2` : 이미지 조작 및 처리와 같은 컴퓨터 비전 작업을위한 OpenCV 라이브러리.
- ```NP '로서 Numpy': 배열 및 행렬을 지원하는 수치 컴퓨팅을위한 Numpy Library.
- `Time` : 시간 작업을위한 모듈, 여기에서 실행 시간을 측정하는 데 사용됩니다.
- `mpeat as mp`
- `matplotlib.pyplot as plt`
- `ipython.display html` : 노트북 내에 HTML 컨텐츠를 표시하기위한 iPython 모듈.
3 단계 : Initialze MediaPipe 패키지
포즈 감지 및 시각화를위한 미디어 파이프 포즈 및 드로잉 유틸리티를 설정하십시오.
# 미디어 파이프 포즈 클래스 초기화. mp_pose = mp.solutions.pose # 포즈 기능 설정. pose = mp_pose.pose (static_image_mode = true, min_detection_confidence = 0.3, model_complexity = 2) # 미디어 파이프 도면 클래스 초기화, 주석에 유용합니다. mp_drawing = mp.solutions.drawing_utils
- 이 라인은 포즈 추정 작업을 수행하기 위해 미디어 파이프 프레임 워크에서 필요한 구성 요소를 초기화합니다.
- mp_pose = mp.solutions. 미디어 파이프 포즈 클래스 초기화 포즈 추정 기능을 활성화합니다.
- pose = mp_pose.pose (static_image_mode = true, min_detection_confidence = 0.3, model_complexity = 2) 정적 이미지 모드, 최소 감지 신뢰도 및 모델 복잡성과 같은 특정 매개 변수로 포즈 기능을 설정합니다.
- mp_drawing = mp.solutions.drawing_utils는 미디어 파이프 그리기 유틸리티 클래스를 초기화하여 포즈 랜드 마크 및 연결로 이미지를 주석에 맞는 기능을 제공하여 포즈 추정 결과의 시각화를 용이하게합니다.
4 단계 : 이미지를로드 및 표시합니다
OpenCV를 사용하여 이미지를로드하고 matplotlib를 표시하십시오.
sample_img = cv2.imread ( '/content/istockphoto-664637378-612x612.jpg') plt.figure (figsize = [10,10]) plt.title ( "sample_image") plt.axis ( 'off') plt.imshow (sample_img [:, : ::- 1]); plt.show ()
- 이 코드 세그먼트는 OpenCV 라이브러리 (cv2.imread ())를 사용하여 지정된 파일 경로에서 샘플 이미지를로드합니다.
- 그런 다음 matplotlib를 사용하여로드 된 이미지를 지정된 크기 (plt.figure (figsize = [10, 10])), title (plt.title ( "샘플 이미지")) 및 축 틱 (plt.axis ( 'off'))의 그림에 표시합니다.
- 이미지는 최종적으로 plt.imshow () 함수를 사용하여 표시되며, 지정된 그림에 이미지를 표시하는 데 도움이됩니다. matplotlib가 RGB 이미지가 디스플레이를 기대하기 때문에 [:, : :: -1] 색인화는 이미지를 bgr에서 rgb 형식으로 변환하는 데 사용됩니다.
5 단계 : 랜드 마크를 감지하고 인쇄합니다
이미지를 RGB로 변환하고 MediaPipe를 사용하여 포즈 랜드 마크를 감지하십시오. 처음 두 개의 감지 된 랜드 마크 (예 : 코, 왼쪽_eye_inner)를 인쇄하십시오.
kyypoint_identification
kyypoint_landmark
# 이미지를 RGB 형식으로 변환 한 후 포즈 감지를 수행하십시오. 결과 = pose.process (cv2.cvtcolor (sample_img, cv2.color_bgr2rgb)) # 랜드 마크가 있는지 확인하십시오. 결과 IF 결과. # 첫 두 개의 랜드 마크 만 표시하려는 경우 두 번 반복하십시오. 범위 (2)의 i를 위해 : # 발견 된 정규화 된 랜드 마크를 표시합니다. print (f '{mp_pose.poselandmark (i) .name} : \ n {results.pose_landmarks.landmark [mp_pose.poselandmark (i) .value]}')
- 이 코드 세그먼트는 OpenCV의 CV2.CVTColor () 함수를 사용하여 RGB 형식으로 변환 한 후 샘플 이미지에서 POSE 감지를 수행합니다.
- 그런 다음 results.pose_landmarks 속성을 사용하여 이미지에서 포즈 랜드 마크가 발견되는지 확인합니다.
- 랜드 마크가 발견되면 처음 두 랜드 마크를 반복하여 이름과 좌표를 인쇄합니다.
- 획기적인 이름은 mp_pose.poselandmark (i) .name을 사용하여 얻어지며 코디네이트는 results.pose_landmarks.landmark [mp_pose.poselandmark (i) .value]를 사용하여 액세스합니다.
산출:
코: X : 0.7144814729690552 Y : 0.3049055337905884 Z : -0.148374036169052 가시성 : 0.999918937683105 LEFT_EYE_INNER : X : 0.7115224599838257 Y : 0.2835153341293335 Z : -0.13594578206539154 가시성 : 0.9999727010726929
6 단계 : 이미지에 랜드 마크를 그립니다
이미지의 사본을 만들고 MediaPipe 유틸리티를 사용하여 감지 된 랜드 마크를 그리고 표시하십시오.
# 랜드 마크를 그리는 샘플 이미지의 사본을 만듭니다. img_copy = sample_img.copy () # 랜드 마크가 있는지 확인하십시오. 결과 IF 결과. # 샘플 이미지에 랜드 마크를 그리십시오. mp_drawing.draw_landmarks (image = img_copy, landmark_list = results.pose_landmarks, connections = mp_pose.pose_connections) # 그림의 크기를 지정하십시오. 그림 = plt.figure (figsize = [10, 10]) # 랜드 마크가 그려진 상태에서 출력 이미지를 표시하고 표시를 위해 BGR을 RGB로 변환하십시오. plt.title ( "출력") plt.axis ( 'off') plt.imshow (img_copy [:, :, :: -1]) plt.show ()
- 이 코드 세그먼트는 별도의 이미지에 랜드 마크를 그리는 동안 원본 이미지를 보존하기 위해 샘플 이미지의 사본을 생성합니다.
- 결과에 포즈 랜드 마크가 있는지 확인합니다.
- 랜드 마크가 발견되면 mp_drawing.draw_landmarks ()를 사용하여 복사 된 이미지의 랜드 마크를 그립니다.
- 출력 이미지를 표시하기위한 그림의 크기는 plt.figure (figsize = [10, 10])를 사용하여 지정됩니다.
- 마지막으로 plt.imshow ()를 사용하여 그려진 랜드 마크가있는 출력 이미지를 표시합니다. [:, : :: -1] 인덱싱은 matplotlib가있는 올바른 디스플레이를 위해 BGR에서 RGB 형식으로 이미지를 변환하는 데 사용됩니다.
7 단계 : 3D 포즈 시각화
MediaPipe의 Plot_landmarks ()를 사용하여 감지 된 랜드 마크를 3D로 시각화하십시오.
# 줄거리는 3D로 랜드 마크를 포즈로합니다. mp_drawing.plot_landmarks (results.pose_world_landmarks, mp_pose.pose_connections)
- 이 코드 세그먼트는 MediaPipe의 Plot_landmarks () 함수를 사용하여 3D 공간에서 포즈 랜드 마크를 표시합니다.
- 결과가 필요합니다. Prope_world_landmarks는 입력으로서 세계 좌표의 포즈 랜드 마크를 나타냅니다.
- mp_pose.pose_connections 다른 랜드 마크 사이의 연결을 지정하여 골격 구조를 시각화하는 데 도움이됩니다.
8 단계 : 사용자 정의 포즈 감지 기능
맞춤형 포즈 감지의 경우 Detectpose ()를 사용합니다. 이 함수는 포즈 감지를 수행하고 결과를 표시하며 선택적으로 랜드 마크를 반환합니다.
def detectospose (이미지, pose, display = true) : '' '' 이 기능은 이미지에서 포즈 감지를 수행합니다. Args : 이미지 : 포즈 랜드 마크를 감지 해야하는 눈에 띄는 사람이있는 입력 이미지. 포즈 : 포즈 감지를 수행하는 데 필요한 포즈 설정 기능. 디스플레이 : true로 설정되면 부울 값은 원래 입력 이미지, 결과 이미지를 표시합니다. 그리고 3D 줄거리의 랜드 마크를 포즈하고 아무것도 반환하지 않습니다. 보고: output_image : 감지 된 포즈 랜드 마크가 그려진 입력 이미지. 랜드 마크 : 감지 된 랜드 마크 목록은 원래 규모로 변환됩니다. '' '' # 입력 이미지의 사본을 만듭니다. output_image = image.copy () # BGR에서 이미지를 RGB 형식으로 변환합니다. imagergb = cv2.cvtcolor (image, cv2.color_bgr2rgb) # 자세 감지를 수행하십시오. 결과 = pose.process (imagergb) # 입력 이미지의 높이와 너비를 검색하십시오. 높이, 너비, _ = image.shape # 감지 된 랜드 마크를 저장하기 위해 목록을 초기화하십시오. 랜드 마크 = [] # 랜드 마크가 감지되었는지 확인하십시오. 결과 IF 결과. # 출력 이미지에 랜드 마크를 그리십시오. mp_drawing.draw_landmarks (image = output_image, landmark_list = results.pose_landmarks, Connections = mp_pose.pose_connection) # 감지 된 랜드 마크를 반복하십시오. 결과의 랜드 마크. # 랜드 마크를 목록에 추가하십시오. Landmarks.Append ((int (landmark.x * width), int (landmark.y * height), (Landmark.z * width)))) # 원래 입력 이미지와 결과 이미지가 표시되어 있는지 확인하십시오. 디스플레이 인 경우 : # 원래 입력 이미지와 결과 이미지를 표시합니다. plt.figure (figsize = [22,22]) plt.subplot (121); plt.imshow (image [:, : :: -1]); plt.title ( "Original Image"); plt.axis ( 'off'); plt.subplot (122); plt.imshow (output_image [:, :, :: -1]); plt.title ( "출력 이미지"); plt.axis ( 'off'); # 또한 포즈 랜드 마크를 3D로 플로팅하십시오. mp_drawing.plot_landmarks (results.pose_world_landmarks, mp_pose.pose_connections) # 그렇지 않으면 또 다른: # 출력 이미지와 발견 된 랜드 마크를 반환합니다. output_image, 랜드 마크를 반환합니다
- 이 함수 detectpose ()는 MediaPipe의 포즈 모델을 사용하여 입력 이미지에서 포즈 감지를 수행합니다.
- 이미지 (입력 이미지), 포즈 (포즈 설정 함수) 및 디스플레이 (결과를 표시할지 여부를 나타내는 부울)의 세 가지 매개 변수가 필요합니다.
- 입력 이미지를 복사하여 원본을 보존하고 MediaPipe에서 요구하는대로 이미지를 BGR에서 RGB 형식으로 변환합니다.
- 변환 된 이미지의 포즈를 감지하고 mp_drawing.draw_landmarks ()를 사용하여 출력 이미지에 감지 된 랜드 마크를 그립니다.
- 이 기능은 또한 입력 이미지의 높이와 너비를 검색하고 빈 목록을 초기화하여 감지 된 랜드 마크를 저장합니다.
- 디스플레이 매개 변수가 true로 설정된 경우 원래 입력 이미지, 랜드 마크가 그려진 출력 이미지를 표시하고 mp_drawing.plot_landmarks ()를 사용하여 3D 공간의 랜드 마크를 표시합니다.
- Display가 False 인 경우 랜드 마크와 감지 된 랜드 마크 목록으로 출력 이미지를 반환합니다.
9 단계 : 샘플 실행
Detectpose () 함수를 사용하여 새로운 샘플 이미지에서 포즈 감지를 실행하십시오.
# 다른 샘플 이미지를 읽고 포즈 감지를 수행하십시오. image = cv2.imread ( '/content/hd-Wallpaper-training-gym-pose-woman-yoga-exercises.jpg') 감지 (이미지, 포즈, 디스플레이 = true)
- 이 코드 세그먼트는 지정된 파일 경로에서 다른 샘플 이미지를 읽습니다.
- 그런 다음 detectpose () 함수를 호출하여 이전에 초기화 된 포즈 설정을 사용하여 이미지에서 포즈 감지를 수행합니다.
- 디스플레이 매개 변수를 true로 설정하면 기능이 원래 입력 이미지, 결과 이미지가 그려진 랜드 마크 및 랜드 마크의 3D 플롯을 표시하도록 지시합니다.
10 단계 : 포즈 분류 (선택 사항)
다음 단계는 관절 각도에 따라 전사, 나무 등과 같은 포즈를 분류하는 기능을 정의하는 것입니다.
Warrior-Pose, T-Poss, Tree-Pose, Unknown
def classifypose (Landmarks, output_image, display = false) : '' '' 이 기능은 다양한 신체 조인트의 각도에 따라 요가 포즈를 분류합니다. Args : 랜드 마크 : 포즈를 분류 해야하는 사람의 감지 된 랜드 마크 목록. output_image : 감지 된 포즈 랜드 마크가 그려진 사람의 이미지. 디스플레이 : true로 설정된 경우 부울 값은 포즈 레이블로 결과 이미지를 표시합니다. 그것에 쓰여지고 아무것도 반환하지 않습니다. 보고: output_image : 감지 된 포즈 랜드 마크가 그려진 이미지가 그려지고 레이블을 작성했습니다. 레이블 : output_image에있는 사람의 분류 된 포즈 레이블. '' '' # 포즈의 레이블을 초기화합니다. 이 단계에서는 알려져 있지 않습니다. 레이블 = '알 수없는 포즈' # 이미지에 레이블이 작성 될 색상 (빨간색)을 지정하십시오. color = (0, 0, 255) # 필요한 각도를 계산합니다. #---------------------------------------------------------------------------------------------------------------- # 왼쪽 어깨, 팔꿈치 및 손목 지점 사이의 각도를 얻습니다. left_elbow_angle = calculateAngle (landmarks [mp_pose.poselandmark.left_shoulder.value], 랜드 마크 [mp_pose.poselandmark.left_elbow.value], 랜드 마크 [mp_pose.poselandmark.left_wrist.value])) # 오른쪽 어깨, 팔꿈치 및 손목 지점 사이의 각도를 얻습니다. right_elbow_angle = calculateAngle (landmarks [mp_pose.poselandmark.right_shoulder.value], 랜드 마크 [mp_pose.poselandmark.right_elbow.value], 랜드 마크 [mp_pose.poselandmark.right_wrist.value]) # 왼쪽 팔꿈치, 어깨 및 고관절 사이의 각도를 얻습니다. left_shoulder_angle = calculateAngle (랜드 마크 [mp_pose.poselandmark.left_elbow.value], 랜드 마크 [mp_pose.poselandmark.left_shoulder.value], 랜드 마크 [mp_pose.poselandmark.left_hip.value]))) # 오른쪽 엉덩이, 어깨 및 팔꿈치 점 사이의 각도를 얻습니다. right_shoulder_angle = calculateAngle (landmarks [mp_pose.poselandmark.right_hip.value], 랜드 마크 [mp_pose.poselandmark.right_shoulder.value], 랜드 마크 [mp_pose.poselandmark.right_elbow.value]))) # 왼쪽 엉덩이, 무릎 및 발목 지점 사이의 각도를 얻습니다. left_knee_angle = calculateAngle (랜드 마크 [mp_pose.poselandmark.left_hip.value], 랜드 마크 [mp_pose.poselandmark.left_knee.value], 랜드 마크 [mp_pose.poselandmark.left_ankle.value])) # 오른쪽 엉덩이, 무릎 및 발목 지점 사이의 각도 얻기 right_knee_angle = calculateAngle (랜드 마크 [mp_pose.poselandmark.right_hip.value], 랜드 마크 [mp_pose.poselandmark.right_knee.value], 랜드 마크 [mp_pose.poselandmark.right_ankle.value])) #---------------------------------------------------------------------------------------------------------------- # Warrior II Pose 또는 T 포즈인지 확인하십시오. # 둘 다에 대해서는 두 팔이 똑바로 똑바로 져야하며 어깨는 특정 각도에 있어야합니다. #---------------------------------------------------------------------------------------------------------------- # 양 암이 똑바로 있는지 확인하십시오. If Left_elbow_angle> 165 및 Left_elbow_angle 165 및 right_elbow_angle 80 및 left_shoulder_angle 80 및 right_shoulder_angle 165 및 Left_knee_angle 165 및 right_knee_angle 90 및 Left_knee_angle 90 및 right_knee_angle 160 및 Left_knee_angle 160 및 right_knee_angle 165 및 Left_knee_angle 165 및 right_knee_angle 315 및 LEFT_KNEE_ANGL 25 및 Right_Knee_angle <p><img src="/static/imghwm/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/174433982947729.jpg?x-oss-process=image/resize,p_40" class="lazy" alt="효율적인 인간 자세 추정" ></p><p><img src="/static/imghwm/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/174433983294618.jpg?x-oss-process=image/resize,p_40" class="lazy" alt="효율적인 인간 자세 추정" ></p><p><img src="/static/imghwm/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/174433983446597.jpg?x-oss-process=image/resize,p_40" class="lazy" alt="효율적인 인간 자세 추정" ></p><pre class="brush:php;toolbar:false"> # 샘플 이미지를 읽고 포즈 분류를 수행하십시오. image = cv2. imread ( '/content/amp-1575527028-- 삼각형 pose.jpg') output_image, 랜드 마크 = Detectospose (이미지, 포즈, 디스플레이 = 거짓) 랜드 마크 인 경우 : classifypose (랜드 마크, output_image, display = true)
- 이 코드 세그먼트는 지정된 파일 경로에서 샘플 이미지를 읽습니다.
- 그런 다음 detectpose () 함수를 호출하여 이전에 초기화 된 포즈 설정을 사용하여 이미지에서 포즈 감지를 수행합니다.
- 디스플레이 매개 변수가 False 인 경우 기능이 결과를 표시합니다.
- 이미지에 감지 된 랜드 마크가 포함 된 경우, 함수는 Classifoys ()을 호출하여 이러한 랜드 마크를 기반으로 포즈를 분류하고 결과를 표시합니다.
# 샘플 이미지를 읽고 포즈 분류를 수행하십시오. image = cv2.imread ( '/content/warrior2.jpg') output_image, 랜드 마크 = Detectospose (이미지, 포즈, 디스플레이 = 거짓) 랜드 마크 인 경우 : classifypose (랜드 마크, output_image, display = true)
- 이 코드 세그먼트는 지정된 파일 경로에서 샘플 이미지를 읽습니다.
- 그런 다음 detectpose () 함수를 호출하여 이전에 초기화 된 포즈 설정을 사용하여 이미지에서 포즈 감지를 수행합니다.
- 디스플레이 매개 변수가 False로 설정되어 함수가 결과를 표시하지 않아야 함을 나타냅니다.
- 이미지에서 랜드 마크가 감지되면, 감지 된 랜드 마크를 기반으로 포즈를 분류하고 결과를 표시하기 위해 classifypose () 함수를 호출합니다.
인간 포즈 추정의 적용
인간 포즈 추정은 다양한 영역에서 응용을 찾습니다.
체력 및 건강 산업
- 개인화 된 지침 : 포즈 감지 응용 프로그램은 요가 세션을 통해 사용자를 안내하여 포즈 정렬에 대한 실시간 피드백을 제공합니다.
- 진행 추적 : 시스템은 사용자의 진행 상황을 모니터링하여 개별 기술 수준에 맞는 수정 또는 발전을 제안합니다.
산업 수준의 응용 프로그램
- 기업 웰빙 프로그램 : 회사는 요가 포즈 탐지를 통합하여 웰빙 프로그램과 스트레스 감소를 통해 직원 건강을 향상시킬 수 있습니다.
의료
- 자세 교정 : 포즈 감지는 재활 운동 중에 자세를 교정하는 데 도움이되어 올바른 움직임 실행을 보장합니다.
- 원격 모니터링 : 의료 전문가는 환자의 요가 세션을 원격으로 모니터링하여 가상 지원을 제공하고 필요에 따라 루틴을 조정합니다.
스포츠 훈련
- 유연성 및 근력 교육 : 스포츠 훈련 프로그램의 포즈 탐지는 유연성과 강도가 필요한 선수들에게 전반적인 성능을 향상시킵니다.
교육
- 대화식 학습 : POSE DETECTION은 교육 기관 학생들을위한 요가의 대화식 및 접근 가능한 학습을 향상시킵니다.
- 기술 평가 : 교사는 기술을 사용하여 학생들의 요가 기술을 평가하고 개선을위한 대상 지침을 제공합니다.
엔터테인먼트와 게임
- 몰입 형 경험 : VR 또는 AR 응용 프로그램은 포즈를 통해 사용자를 안내하는 가상 강사와 몰입 형 요가 경험을 만듭니다.
- 대화식 게임 : 피트니스 게임에서 포즈 탐지는 운동을 즐겁고 사용자에게 동기를 부여합니다.
산업의 인체 공학
- 데스크 요가 세션 : 포즈 탐지를 직장 웰빙 프로그램에 통합하면 짧은 요가 세션, 자세 개선 및 직원의 스트레스 감소를 제공합니다.
- 인체 공학적 평가 : 고용주는 포즈 감지를 사용하여 워크 스테이션의 인체 공학적 측면을 평가하여 직원들 사이에서 더 나은 건강을 증진시킵니다.
사용자 혜택
- 올바른 형태 : 양식에 대한 즉각적인 피드백은 부상의 위험을 줄여서 사용자가 요가 관행으로부터 최대한의 이점을 얻도록합니다.
- 편의성 : 사용자는 가상 강사 나 응용 프로그램을 안내하는 편의상 요가를 연습 할 수 있으며 물리 수업이 필요하지 않습니다.
- 동기 부여 : 실시간 진행 상황 추적 및 피드백은 사용자가 요가 루틴과 일치하도록 동기를 부여합니다.
결론
요가 포즈와 인간 포즈 감지의 통합은 다양한 부문을 초월하여 건강과 체력을 혁신합니다. 피트니스 산업의 개인화 된 지침 및 진보 추적에서 건강 관리의 재활 및 물리 치료 강화에 이르기 까지이 기술은 다양한 응용 분야를 제공합니다. 스포츠 훈련에서 운동 선수의 유연성과 강점에 기여하는 반면 교육에서는 대화식 및 평가 가능한 요가 학습 경험을 제공합니다.
이 작업장은 데스크 요가 세션 및 인체 공학적 평가로 인한 혜택을 받아 직원 복지를 촉진합니다. 가상 강사의 안내 인 사용자는 올바른 형태의 피드백, 편의성 및 동기 부여를 즐기고 요가 실습에 대한보다 건강하고 효율적인 접근 방식을 촉진합니다. 구식 혁신과 구식 관행의 이러한 변형 조합은 포괄적 인 복지 반란을위한 길을 깨끗하게합니다.
주요 테이크 아웃
- 컴퓨터 비전 내부의 필드 인 Human 자세 추정에는 개인의 신체에 중점을 두어 포즈를 분석하는 것이 포함됩니다.
- 인간 자세 추정은 건강과 건강에서 건강 관리, 스포츠 준비, 교육, 즐거움 및 작업 환경 인체 공학으로 확장되는 적용을 제공했습니다.
- Yoga Hone에 대한 자세 발견 혁신을 통합하면 고객이 개인화 된 방향, 실시간 입력, 고급 추종자, 안락함 및 영감을 제공하여 복지와 더 능숙한 운동으로 전진하게됩니다.
- 인간 포즈 탐지와 요가 실습의 통합은 웰빙 기술의 상당한 발전을 나타내며 포괄적 인 웰빙 혁명의 길을 열어줍니다.
자주 묻는 질문
Q1. 인간 자세 추정은 무엇이며 어떻게 작동합니까?A. 인간 자세 추정은 컴퓨터 비전 전략 일 수 있습니다.이 전략은 개인의 신체에 중점을두고 포즈를 분석하는 데 중점을 둔 키를 인식하는 것이 포함될 수 있습니다. 계산을 활용하여 이러한 주요 초점을 구별하고 분류하여 실시간 시간을 따르는 인간 발달 및 검사를 허용합니다.
Q2. 요가 실습에서 인간 포즈 추정의 주요 응용 프로그램은 무엇입니까?A. 인간 자세 추정 기술은 요가 연마에 연결하여 개인화 된 방향, 포즈 배열에 대한 실시간 입력, 고급 추종자 및 가상 요가 교육을 고객에게 공급할 수 있습니다. 또한 요가 교육, 회복 및 스포츠 준비에도 활용할 수 있습니다.
Q3. 인간 포즈 추정을위한 인기있는 라이브러리와 도구는 무엇입니까?A. 인기있는 오픈 소스 라이브러리 및 휴먼 포즈 추정을위한 도구에는 Openpose, Posedetection, Densepose, Alphapose 및 HRNET (고해상도 순)가 포함됩니다. 이 라이브러리는 포즈 추정 작업을 수행하기위한 미리 훈련 된 모델 및 API를 제공합니다.
Q4. 인간 포즈 추정 기술은 요가의 자세 교정에 사용할 수 있습니까?A. 예, 인간 자세 추정 혁신은 포즈 배치에 대한 실시간 비판을 제공하고 고객이 합법적 인 형태와 배열을 달성하는 데 도움이되는 변경 또는 변경을 제안함으로써 요가의 포즈 구제에 활용 될 수 있습니다.
Q5. 인간 포즈 추정 기술은 요가의 초보자에게 적합합니까?A. 예, 인간 자세 추정 혁신은 요가에 대한 지시, 피드백 및 시각적 신호를 제공하여 요가 자세를 정확하고 안전하게 배우고 돕는 요가의 입찰에 유용 할 수 있습니다.
이 기사에 표시된 미디어는 분석 Vidhya가 소유하지 않으며 저자의 재량에 따라 사용됩니다.
위 내용은 효율적인 인간 자세 추정의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

Hugging Face의 올림픽 코더 -7b : 강력한 오픈 소스 코드 추론 모델 우수한 코드 중심 언어 모델을 개발하기위한 경쟁은 강화되고 있으며, Hugging Face는 엄청난 경쟁자 인 OlympicCoder-7B와 경쟁에 참여했습니다.

AI가 단순한 질문에 대답하는 것 이상을 할 수 있기를 바라는 여러분 중 몇 명이 있습니까? 나는 내가 가지고 있다는 것을 알고 있으며, 늦게 그것이 어떻게 변화하고 있는지에 놀랐습니다. AI 챗봇은 더 이상 채팅에 관한 것이 아니라 창작에 관한 것입니다.

Smart AI가 모든 수준의 엔터프라이즈 소프트웨어 플랫폼 및 애플리케이션에 통합되기 시작함에 따라 (강력한 핵심 도구와 덜 안정적인 시뮬레이션 도구가 있음을 강조해야 함) 이러한 에이전트를 관리하려면 새로운 인프라 기능 세트가 필요합니다. 독일 베를린에 본사를 둔 프로세스 오케스트레이션 회사 인 Camunda는 Smart AI가 적절한 역할을 수행하고 새로운 디지털 작업장에서 정확한 비즈니스 목표 및 규칙에 맞게 조정하는 데 도움이 될 수 있다고 생각합니다. 이 회사는 현재 조직이 AI 에이전트를 모델링, 배포 및 관리하도록 돕기 위해 설계된 지능형 오케스트레이션 기능을 제공합니다. 실용적인 소프트웨어 엔지니어링 관점에서, 이것이 무엇을 의미합니까? 확실성과 비 결정적 프로세스의 통합 이 회사는 핵심은 사용자 (일반적으로 데이터 과학자, 소프트웨어)를 허용하는 것이라고 말했다.

다음 '25 년 Google Cloud에 참석하면서 Google이 AI 제품을 구별하는 방법을보고 싶어했습니다. 에이전트 공간 (여기서 논의 된)과 고객 경험 제품군 (여기서 논의)에 관한 최근의 발표는 유망한 비즈니스 valu를 강조했습니다.

검색 증강 생성 (RAG) 시스템을위한 최적의 다국적 임베딩 모델 선택 오늘날의 상호 연결된 세계에서 효과적인 다국어 AI 시스템을 구축하는 것이 가장 중요합니다. 강력한 다국어 임베딩 모델은 RE에 중요합니다

Tesla의 Austin Robotaxi 런칭 : Musk의 주장에 대한 자세한 내용 Elon Musk는 최근 텍사스 오스틴에서 Tesla의 다가오는 Robotaxi 런칭을 발표하여 안전상의 이유로 소규모 10-20 대의 차량을 배치하여 빠른 확장 계획을 세웠습니다. 시간

인공 지능이 적용되는 방식은 예상치 못한 일 수 있습니다. 처음에 우리 중 많은 사람들이 주로 코드 작성 및 컨텐츠 작성과 같은 창의적이고 기술적 인 작업에 주로 사용되었다고 생각할 수도 있습니다. 그러나 하버드 비즈니스 리뷰 (Harvard Business Review)가 최근 조사한 결과는 그렇지 않습니다. 대부분의 사용자는 일뿐만 아니라 지원, 조직, 심지어 우정을 위해 인공 지능을 추구합니다! 이 보고서는 AI 신청 사례의 첫 번째는 치료 및 동반자라고 밝혔다. 이것은 24/7 가용성과 익명의 정직한 조언과 피드백을 제공하는 능력이 큰 가치가 있음을 보여줍니다. 반면에, 마케팅 작업 (예 : 블로그 작성, 소셜 미디어 게시물 만들기 또는 광고 사본)은 인기있는 사용 목록에서 훨씬 낮습니다. 이게 왜? 연구 결과와 그것이 어떻게 계속되는지 보자.

AI 요원의 부상은 비즈니스 환경을 변화시키고 있습니다. 클라우드 혁명과 비교하여, AI 에이전트의 영향은 지식 작업에 혁명을 일으킬 것으로 예상되며, 기하 급수적으로 더 크다. 인간의 의사 결정 마키를 시뮬레이션하는 능력


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.
