Artoke

리깅: 논문 — 임의 포즈 이족 캐릭터 오토리깅 (Eurographics 2021)

T포즈가 없으면 리깅도 없다? — 이 논문이 뒤집은 전제

3D 캐릭터를 움직이게 하려면 리깅이 필요하다. 메시 안에 스켈레톤을 심고, 표면의 각 정점이 어느 뼈를 얼마나 따라갈지 정하는 작업이다. 오토리깅 연구는 이 지루한 작업을 자동화해 왔는데, 대부분 한 가지 조용한 전제를 깔고 있었다. 입력 캐릭터가 T포즈나 A포즈 같은 기준 포즈로 서 있어야 한다는 것이다.

문제는 현실의 3D 모델이 그렇게 얌전하지 않다는 데 있다. 스캔으로 얻은 인체, 조각가가 역동적인 포즈로 빚은 크리처, 게임에서 뽑아낸 애셋은 팔을 휘두르거나 무릎을 굽힌 채로 온다. Kim, Son, Bae, Kim이 Eurographics 2021 단편 논문으로 발표한 Auto-rigging 3D Bipedal Characters in Arbitrary Poses는 바로 이 지점을 겨냥한다. 임의 포즈의 이족(bipedal) 캐릭터 메시를 받아서, 스켈레톤의 위치방향, 그리고 표면이 뼈를 따라 움직이는 변형 공간까지 end-to-end로 추정하는 방법이다.

임의 포즈의 이족 캐릭터에 자동으로 리깅을 수행한 결과
Thumbnail Image · 출처: 논문 — 임의 포즈 이족 캐릭터 오토리깅 (Eurographics 2021)

리깅을 수식으로 쓰면 — 무엇을 추정해야 하는지가 보인다

먼저 "리깅이 완성됐다"는 말이 수학적으로 무엇인지 적어 보자. 가장 널리 쓰이는 변형 모델인 선형 블렌드 스키닝(LBS)은 정점 하나가 움직이는 방식을 이렇게 쓴다.

기호를 하나씩 풀면 이렇다. 는 변형 전 메시의 번째 정점 위치이고, 는 애니메이션이 적용된 뒤의 위치다. 는 뼈(관절)의 개수, 번째 뼈의 변형을 나타내는 행렬로, 그 뼈가 얼마나 돌고 얼마나 이동했는지를 담는다. 는 스키닝 가중치인데, "정점 가 뼈 를 얼마나 따라가는가"를 나타내는 값이다. 가중치는 보통 , 을 만족하도록 정규화한다.

이 식을 보면 오토리깅이 추정해야 할 대상이 세 덩어리로 나뉜다는 것이 드러난다. (1) 각 관절이 메시 안 어디에 있는가(위치), (2) 각 뼈의 로컬 좌표축이 어느 쪽을 향하는가(방향 — 를 정의할 기준 프레임), (3) 각 정점이 어느 뼈에 얼마나 묶이는가(가중치 , 즉 변형 공간). 기준 포즈 입력을 가정하는 기존 방법은 이 중 (2)를 거의 공짜로 얻는다. T포즈에서는 팔뼈가 옆으로, 다리뼈가 아래로 향한다는 걸 미리 알기 때문이다. 임의 포즈에서는 이 가정이 무너지므로, 방향까지 데이터에서 직접 추정해야 한다. 이것이 이 논문이 기존 연구와 갈라지는 핵심 지점이다.

모호성과 싸우는 무기 — 고정된 스켈레톤 토폴로지

포즈의 자유를 허용하면 문제의 모호성이 급격히 커진다. 웅크린 캐릭터의 다리 메시에서, 어디까지가 허벅지이고 어디부터가 정강이인지 형상만 보고 판단하기 어렵다. 팔이 몸통에 붙어 있으면 팔과 몸통의 경계도 흐려진다. 관절 개수나 연결 구조까지 함께 추정하려 들면 탐색 공간이 감당할 수 없이 넓어진다.

논문의 선택은 명료하다. 스켈레톤의 토폴로지를 고정하는 것이다. 이족 캐릭터라는 대상 범위를 정해 두고, 머리–몸통–양팔–양다리로 이어지는 정해진 관절 집합과 연결 구조를 미리 못박는다. 그러면 네트워크가 풀 문제는 "어떤 스켈레톤인가"가 아니라 "이 정해진 스켈레톤의 관절 가 이 메시에서 어디에, 어떤 방향으로 놓이는가"로 좁혀진다. 관절마다 의미가 고정되어 있으니(왼쪽 무릎은 항상 왼쪽 무릎) 학습 데이터의 정답과 예측을 일대일로 대응시킬 수 있고, 포즈가 늘어놓은 모호성을 구조라는 사전 지식으로 눌러 담을 수 있다. 대신 사족보행 동물이나 팔이 여섯 개인 크리처는 범위 밖이 된다. 자유도를 버려서 강건함을 산 트레이드오프다.

파이프라인 — 메시에서 리깅까지

전체 흐름은 다음 도식처럼 정리할 수 있다.

리깅: 논문 — 임의 포즈 이족 캐릭터 오토리깅 (Eurographics 2021) 도식

입력 메시는 먼저 신경망이 다루기 좋은 규칙적인 부피 표현으로 바뀐다. 메시는 정점 수도 연결 구조도 모델마다 제각각이라, 이렇게 표현을 통일해야 하나의 네트워크로 다양한 캐릭터를 처리할 수 있다. 이후 네트워크가 세 가지 출력 — 관절 위치, 뼈 방향, 스키닝 가중치 — 을 내놓는다. "end-to-end"라는 말은 이 단계들이 따로 최적화되는 게 아니라, 최종 리깅 품질을 향해 한 번에 학습된다는 뜻이다.

수식으로 본 세 가지 출력

관절 위치. 각 관절 의 3차원 좌표를 라 하자. 이런 위치 추정에서는 좌표를 직접 회귀하기보다, 공간의 각 지점이 관절일 가능성을 나타내는 확률 분포(히트맵)를 예측하고 그 기댓값으로 좌표를 읽어내는 방식이 흔히 쓰인다. 위치 손실은 정답 와의 거리로 간단히 쓸 수 있다.

여기서 는 벡터의 길이(유클리드 노름)로, 예측 위치와 정답 위치 사이의 직선 거리를 뜻한다.

뼈 방향. 임의 포즈 문제의 핵심이다. 각 뼈에는 로컬 좌표 프레임, 즉 회전 이 붙는다. 은 3차원 회전 행렬의 집합으로, 이고 행렬식이 1인 행렬들을 말한다. 이 프레임이 있어야 "무릎을 30도 굽혀라" 같은 애니메이션 데이터를 올바른 축에 적용할 수 있다. T포즈 입력이라면 를 규약으로 정해버리면 그만이지만, 임의 포즈에서는 굽은 팔의 뼈 축이 어디를 향하는지 네트워크가 알아내야 한다. 관절 위치만 맞고 방향이 틀리면, 리타게팅한 동작이 엉뚱한 평면에서 꺾이는 캐릭터가 나온다. 이 논문이 위치와 함께 방향(orientation)을 명시적인 추정 대상으로 삼은 이유가 여기에 있다.

변형 공간(스키닝 가중치). 정점 마다 뼈 개수만큼의 점수를 뽑고, 소프트맥스로 정규화해 가중치를 만드는 형태가 일반적이다.

는 네트워크가 내놓는 "정점 와 뼈 의 결합 점수"이고, 지수함수와 분모의 합 덕분에 결과는 자동으로 , 을 만족한다. 앞의 LBS 식에 꽂아 넣기에 딱 맞는 형태다. 이렇게 얻은 가중치가 곧 "이 캐릭터가 움직일 수 있는 방식의 공간", 즉 변형 공간을 정의한다.

왜 이 문제 설정이 의미 있는가

이 논문의 기여를 한 문장으로 줄이면, 오토리깅의 입력 조건에서 "기준 포즈"라는 가정을 걷어내고, 그 대가로 커진 모호성을 고정 토폴로지 + 방향의 명시적 추정이라는 두 장치로 감당해 냈다는 것이다. 짧은 논문답게 구조는 단순하지만, 문제를 나누는 방식이 깔끔하다. LBS 식 에서 미지수가 무엇인지 정확히 짚고, 각 미지수를 하나의 네트워크가 일관되게 추정하도록 묶었다.

실용적인 함의도 분명하다. 스캔 데이터나 조각 소프트웨어에서 나온 "이미 포즈가 잡힌" 캐릭터를, T포즈로 되돌리는 수작업 없이 바로 애니메이션 파이프라인에 올릴 수 있는 길을 연다. 이족이라는 제한은 남지만, 사람 형태의 캐릭터가 3D 콘텐츠의 대부분을 차지한다는 점을 생각하면 실무에서 체감되는 범위는 좁지 않다. 이후의 오토리깅 연구들이 포즈 불변성을 기본 요구사항처럼 다루게 된 흐름 속에서, 이 짧은 논문은 그 방향을 일찍 가리킨 이정표로 읽을 수 있다.

함께 읽기 — 이 글이 쓰는 기초 수학

출처

광고

리깅 파이프라인 자동화 도구

반복 작업은 스크립트에게. 현업에서 쓰는 리깅 툴 모음.

리깅 도구 보기