반응형
해당 코드를 사용하기 위해서는 Pose Estimation model을 통하여 포즈의 좌표를 추출한 다음
원하는 신체 부위의 값을 입력해야 한다.
posenet으로 예를 들어 왼쪽어깨의 각도를 추출하고 싶으면 p1 - left shoulder, p2 - left elbow, p3 - left hip
이처럼 변수에 좌표 xy값을 입력한다.
angle_vec의 True, False 여부로 시계방향, 반시계방향으로 각도를 얻을 수 있다.
def get_angle(p1 : list, p2 : list ,p3 : list, angle_vec : bool) -> float:
"""
세점 사이의 끼인 각도 구하기
"""
rad = np.arctan2(p3[1] - p1[1], p3[0] - p1[0]) - np.arctan2(p2[1] - p1[1], p2[0] - p1[0])
deg = rad * (180 / np.pi)
if angle_vec:
deg = 360-abs(deg)
return abs(deg)
반응형
'ML | DL > Pose estimation' 카테고리의 다른 글
PoseNet keypoint로 skeleton 그리기 (1) | 2022.03.17 |
---|---|
ml5 PoseNet KNN Classification 사용방법 (0) | 2022.03.17 |
Pose Similarity - Weight Distance Python 코드 (0) | 2022.03.17 |
MediaPipe - BlazaPose 사용방법 (0) | 2022.03.17 |
댓글