
관절 각도 검증기(Joint-Angle Validator)를 사용하여 AI로 포즈 참조 이미지를 만드는 방법
요약
AI를 활용한 포즈 참조 이미지 생성 시 관절 각도, 접지 발, 가시성 등을 입력 계약으로 정의하여 품질을 검증하는 방법을 설명합니다. MediaPipe Pose 랜드마크를 활용해 수치 기반의 재현 가능한 리뷰 공정을 구축하는 가이드를 제공합니다.
핵심 포인트
- 관절 각도와 가시성을 기반으로 한 입력 계약 정의
- MediaPipe를 활용한 랜드마크 추출 및 각도 검증 로직
- 신뢰도(Confidence) 기반의 이미지 거절 및 재생성 프로세스
- 2D 랜드마크의 한계(원근, 차폐 등) 인지 및 주의사항
AI로 포즈 참조 이미지를 만들 때는 분위기의 일치가 아니라, 관절 각도(Joint angle)·접지 발(Grounding foot)·손발의 가시성(Visibility)을 입력 계약(Input contract)으로 정의합니다. 생성 후에 17개의 랜드마크(Landmark)를 추출하여, 허용 각도를 초과한 이미지나 손발이 잘린 이미지를 거절(Reject)하면 재현 가능한 리뷰 공정이 됩니다.
version: 1
pose:
name: contrapposto_right
...
입력 사진은 전신이 보이고, 손발이 겹치지 않으며, 강한 모션 블러(Motion blur)가 없는 것을 사용합니다. 제3자의 사진은 허가를 받아야 합니다.
현재의 AI Pose Generator는 Nano Banana 2를 고정 모델로 사용하며, Poses / Describe / 3D pose의 3가지 경로, 필수 인물 이미지, 종횡비(Aspect ratio), Advanced Settings, Public visibility, sign-in gate를 표시합니다.
Describe 모드용 지시 예시:
Repose the same authorized person into a right-leg contrapposto.
Right knee nearly straight at 164 degrees; left elbow bent about 92 degrees;
torso leans 6 degrees left. Both hands and both feet fully visible.
...
MediaPipe Pose의 랜드마크를 (x, y)로 저장했다는 전제하에, 3점각을 계산합니다.
from math import acos, degrees
def angle(a, b, c):
ba = (a[0] - b[0], a[1] - b[1])
...
랜드마크의 신뢰도(Confidence)가 낮은 경우에는 합격시키지 않고, 다시 촬영하거나 재생성하도록 돌립니다.
required = ["LEFT_WRIST", "RIGHT_WRIST", "LEFT_ANKLE", "RIGHT_ANKLE"]
missing = [name for name in required if points[name]["visibility"] < 0.75]
if missing:
...
나아가 다음 사항을 사람이 확인합니다.
- 손가락의 개수가 늘어나거나 줄어들지 않았는지
- 접지 발과 골반의 기울기가 모순되지 않는지
- 얼굴·옷·배경이 불필요하게 변경되지 않았는지
- 포즈가 위험하거나 물리적으로 불가능하지 않은지
| 증상 (symptom) | 예상 원인 (likely cause) | 해결책 (fix) |
|---|---|---|
| 손이 잘림 | 원본 이미지의 여백 부족 | 전신 이미지·세로형 비율 사용 |
| ... |
2D 랜드마크 각도는 3D 관절 각도가 아닙니다. 카메라 방향, 원근, 의복의 차폐(Occlusion)에 따라 값이 변합니다. 생성된 이미지는 해부학적인 ground truth가 아니라, 리뷰 대상인 참조 자료입니다. 모델이나 UI는 변경될 가능성이 있습니다. sign-out 상태에서는 수치 credits가 표시되지 않으므로, 실제 이미지·비율·설정을 넣은 후의 live estimate를 확인하십시오.
계약과 validator를 먼저 준비한 다음, 동일한 폼으로 후보를 1장 생성하고, 실패한 이미지를 '취향'으로 통과시키지 않는 운용 방식을 취합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기