ViTa-Zero: 손가락 접촉으로 가려진 물체의 6D 자세를 고치는 법

ViTa-Zero는 카메라가 추정한 물체의 위치·방향을 손가락 접촉과 로봇 기하에 대조하고, 맞지 않을 때 상대 자세를 최적화합니다. 이미 알고 있는 물체 mesh는 유지하고 그 mesh를 어디에, 어떤 방향으로 놓을지 고치는 방식입니다. 손가락이 물체를 가려 영상 단서가 줄어도 실제 접촉 위치와 관절 위치가 추가 조건을 제공합니다.

ViTa-Zero 논문은 시각 추정, 물리적 가능성 검사, 촉각 보정의 세 모듈을 설명합니다. 여기서 6D 자세는 3차원 위치와 3차원 회전을 뜻합니다. 논문은 RGB 입력에 MegaPose, RGB-D 입력에 FoundationPose를 사용하며 첫 프레임에서 자세를 추정한 뒤 다음 프레임부터 추적합니다.

접촉 신호를 카메라 좌표의 점으로 바꾼다

손가락 센서가 눌렸다는 값만으로는 물체 자세를 수정하기 어렵습니다. 그 접촉이 공간의 어느 위치에서 발생했는지가 필요합니다. ViTa-Zero는 촉각 신호를 접촉 점군으로 표현하고, 로봇의 순기구학을 이용해 점의 위치를 카메라 좌표계에 놓습니다. 논문의 taxel 센서는 출력값을 임계값으로 나눠 접촉 여부를 Boolean 값으로 만듭니다. Taxel은 촉각 배열의 개별 감지 지점을 뜻합니다.

비교할 물체 쪽에는 알려진 mesh가 있습니다. 표면에서 점을 샘플링해 접촉 거리 검사용 점군을 만들고, 복셀화한 표현으로 겹침 검사를 빠르게 수행합니다. 로봇 쪽은 관절각에 따라 배치되는 mesh를 점군으로 바꿉니다. 같은 관절각이라도 손가락 표면의 어느 부분이 물체와 만나는지를 기하로 비교할 수 있게 됩니다.

가상의 예로, 손가락 두 개가 상자의 양쪽을 누르는 동안 카메라의 추정 상자가 오른쪽으로 치우쳤다고 합시다. 한 손가락은 상자에서 떨어진 것으로 보이고 다른 손가락은 상자 안으로 들어간 것으로 보일 수 있습니다. 접촉 점군과 두 mesh를 같은 좌표계에 놓으면 이 두 불일치를 서로 다른 검사로 드러낼 수 있습니다.

가까움·겹침·시간 변화가 서로 다른 오류를 찾는다

논문은 다음 세 종류의 조건으로 시각 자세를 검사합니다.

조건 비교하는 기하 발견하려는 불일치
접촉 거리 변환된 물체 표면점과 접촉점 센서는 닿았는데 추정 표면은 떨어져 있음
침투 물체 복셀과 로봇 점군의 겹침 추정 물체와 손가락이 지나치게 겹침
시간에 따른 접촉 패치 변화 연속 프레임의 물체 표면 접촉 패치 추적 중 접촉 위치가 갑자기 크게 바뀜

침투 조건에는 허용 겹침 임계값이 들어갑니다. 센서 잡음과 보정 오차가 있는 표현에서 겹침을 무조건 0으로 요구하는 대신 허용 범위를 둔 것입니다. 시간 조건은 대칭 물체의 추정 자세가 프레임 사이에서 뒤집히는 것 같은 급격한 변화를 다룹니다. 이 조건이 비교하는 대상은 논문 식 (3)에 정의된 접촉 패치의 변화입니다.

접촉 조건은 원문을 조금 더 세밀하게 읽어야 합니다. 본문은 각 접촉점이 물체 표면과 닿는다고 설명하지만, 표시된 식 (1)은 모든 점 쌍 중 전역 최소 거리를 임계값과 비교합니다. 가장 가까운 한 쌍의 존재와 모든 접촉점의 근접성은 다른 조건입니다.

이를 보여 주는 가상 계산으로, 두 접촉점의 최근접 표면 거리가 각각 0.5 mm와 8 mm이고 임계값이 1 mm라고 합시다. 전역 최소 거리는 0.5 mm이므로 식 (1)의 조건을 만족합니다. 그러나 두 번째 점까지 표면에 가깝다는 결론은 나오지 않습니다. 이 글은 논문의 기하적 검사 구조를 설명하며, 이 수식만으로 미확인 구현의 모든 taxel 검사 규칙을 확정하지 않습니다.

끌어당김과 밀어냄을 상대 자세의 비용으로 사용한다

검사에서 불일치가 생기면 ViTa-Zero는 현재 시각 자세에 적용할 상대 회전과 상대 이동을 찾습니다. 논문은 이를 인력·척력 스프링의 에너지를 줄이는 문제로 구성합니다. 접촉한 센서 쪽으로 물체를 가까이 하는 항과 로봇·물체의 침투를 줄이는 항이 함께 작동합니다.

이는 실제 손가락에 새로운 스프링 힘을 명령한다는 뜻이 아니라 추정 자세를 고르는 최적화 비용입니다. 상대 회전은 angle-axis, 상대 이동은 3차원 벡터로 표현하고, 파라미터에 L2 정규화를 추가합니다. 목적식은 인력 에너지, 척력 에너지와 이 정규화 항을 합한 것입니다.

앞선 가상 상자에서 접촉 거리만 줄이려고 한쪽으로 옮기면 반대편 손가락과의 겹침이 커질 수 있습니다. 두 항을 함께 쓰는 이유는 접촉을 설명하는 위치와 겹침이 작은 위치를 동시에 찾기 위해서입니다. 정규화는 상대 보정량에도 비용을 부여합니다. 논문은 활성화된 taxel의 평균 이동 변화로 상대 자세를 초기화한 뒤 PyTorch와 Adam으로 최적화한다고 설명합니다.

최종 자세는 보정 변환을 기존 시각 자세에 합성해 얻습니다. 다음 프레임의 추적은 이 보정된 자세에서 이어집니다. 촉각이 매번 별도의 완성된 자세를 출력하는 구조보다, 시각 추적이 어긋났을 때 현재 접촉 증거로 시작점을 다시 맞추는 구조로 이해하면 흐름이 선명해집니다.

필요한 것은 새 형상보다 일관된 기하 입력이다

ViTa-Zero를 검토할 때 먼저 확보할 입력은 물체 mesh, 관절 상태에 맞는 로봇 기하, 센서 위치와 카메라 좌표 사이의 변환입니다. 접촉 활성화 임계값은 어떤 점이 관측에 들어오는지를 바꾸고, mesh의 크기나 센서 좌표 오차는 실제 접촉을 떨어짐 또는 침투처럼 보이게 합니다. 이 경우에는 물체 자세만 계속 보정하기보다 어떤 입력에서 불일치가 시작됐는지 나눠 봐야 합니다.

접촉 위치의 분포도 중요합니다. 작은 평평한 영역 한 곳에서 얻은 접촉과 여러 방향의 표면에서 얻은 접촉은 자세를 구별하는 데 제공하는 기하가 다릅니다. 예를 들어 대칭 물체의 비슷한 표면점 여러 개는 서로 다른 회전에서도 유사한 접촉을 설명할 수 있습니다. 논문이 시각 추적과 시간 조건을 함께 사용하는 이유를 이해하는 데 도움이 되는 상황입니다.

로봇 촉각 센서 개념에서 다루는 접촉·압력 신호가 이 방법에서는 공간의 점으로 바뀝니다. 이어 알려진 형상과 로봇 기하에 대조되고, 수정된 자세가 다음 영상 추적으로 전달됩니다. 새 물체 형상을 만드는 문제보다, 조작 중 가려지는 물체의 기존 형상을 계속 맞춰 놓는 문제에 해당합니다.

2026년 10월 16일 확인한 논문 v1과 공식 프로젝트 설명을 바탕으로 작성했습니다. 자세 추정 모델, 최적화 코드 및 로봇 조작은 직접 실행하지 않았습니다.