본문 바로가기
C.W.K.
Stream
Lesson 02 of 04 · published

포즈와 손, 역할은 하나 주제는 여럿

~12 min · pose, hand, polymorphism, depth

Level 0빈 종이
0 XP0/35 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete
"검출기 셋, 해부 셋, 목줄은 하나. 셋 다 가리키기만 하고 아무도 결정하지 않아."

검출기는 셋, 일은 하나

얼굴 말고도 landmark 모델을 둘 더 써. PoseLandmarker 는 어깨, 엉덩이, 팔꿈치, 무릎 같은 관절 33 개를 찾아. 몸 전체 골격이지. HandLandmarker 는 손마다 21 점을 찾고. 해부는 완전히 다른데 역할은 얼굴 모델이랑 똑같아. 검출기가 할 일은 landmark 가 사진 어디에 있는지 말해주는 것뿐이거든. 주제는 달라도 계약은 하나야. 제안까지, 그 이상은 없어.

근데 몸은 통짜가 아니다

여기서부터 갈라져. 얼굴은 거의 통짜라서 표준 머리 하나에 solvePnP 만 걸면 자세가 딱 잡혀. 몸이랑 손은 관절로 꺾이는 물건이야. 관절마다 따로 움직이니까 통째로 맞출 형태가 아예 없어. 그래서 landmark 를 받아먹는 기하가 주제별로 갈라져. 인물이면 흉곽과 골반에 상자를 씌우고 팔다리마다 끝이 가늘어지는 원뿔 덩어리를 붙여. 손이면 손바닥에 상자를 씌우고 손가락 마디마다 작은 원뿔을 세우고. 목줄은 같은데 그 끝에 달린 작도가 다른 거지.

깊이는 정직하게 약한 자리다

사진 한 장으로는 몸의 깊이가 잘 안 잡혀. 단축된 저 팔뚝이 너한테 오는 중이야, 멀어지는 중이야? 한 장만 보면 둘이 거의 똑같이 생겼고, 아무리 영리하게 굴어도 완전히는 못 갈라. 정보가 아예 없거든. Loomis 는 믿을 만한 도구가 할 법한 방식으로 처리해. 그렇다고 말해버려. 아키텍처 문서에도 헤어날 길로 제대로 된 3D 자세 추정기를 적어뒀지, 모호함이 풀린 척하는 임시방편을 쌓아 올리지 않았어. 한계를 담백하게 알리는 게 가끔 거꾸로 나오는 자신만만한 추측보다 훨씬 값져.

역할은 하나, 주제는 여럿

한 발 물러나면 모양이 딱 다형성이야. fitting 단계는 'landmark 를 제안한다' 는 인터페이스 하나고, 주제마다 그 뒤에 자기 작도를 붙이는 거지. Bonfire 가 '악기는 보여주는 방식이고 음악이 모델' 이라고 말할 때 쓰는 구조랑 같아. 하나의 진실, 여러 갈래의 표현. 여기선 'landmark 가 제안이고 작도가 갈래' 인 거고, 다음 트랙인 네 가지 작도가 통째로 이 위에 서 있어.

Code

인터페이스는 하나, 작도는 주제별로·python
# SAME role, three subjects. Each detector only PROPOSES landmarks.
face_pts = FaceLandmarker.detect(photo)   # 468 mesh points
pose_pts = PoseLandmarker.detect(photo)   # 33 body joints
hand_pts = HandLandmarker.detect(photo)   # 21 points, via a pad sweep

# Downstream, geometry SPECIALIZES per subject -- a face is rigid,
# but a body and a hand are articulated (every joint bends on its own):
head_box   = solve_rigid(face_pts, CANONICAL_HEAD)   # one rigid model + solvePnP
figure     = build_limb_volumes(pose_pts)            # ribcage/pelvis boxes + frustums
hand_const = build_phalanx_frustums(hand_pts)        # palm box + finger frustums

# One 'propose landmarks' interface; specialized constructions per subject.
# That polymorphism is the whole design of Track 5.

External links

Exercise

한쪽 팔이 카메라 쪽으로 오거나 멀어지면서 단축된 인물 사진을 찾아봐. 그 팔만 남기고 다 가린 다음, 팔만 보고 어느 쪽으로 뻗은 건지 맞춰봐. 얼마나 애매한지 직접 느껴봐. 그다음 이게 왜 특정 검출기의 한계가 아니라 사진 한 장 자체의 한계인지, 그리고 정직한 엔진이라면 왜 추측 대신 그걸 알려야 하는지 설명해봐.
Hint
단축은 팔이 다가오든 멀어지든 똑같이 눌러버려서, 한 장으로는 둘을 못 갈라. 계산이 어려운 게 아니라 단서가 아예 없는 거야. 그래서 해법이 같은 평면 입력에 더 영리한 임시방편을 붙이는 게 아니라 정보를 더 주는 3D 모델 쪽인 거고, '모르겠다' 가 정직한 답인 거지.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.