[IROS 2025] FSGlove: An Inertial-Based Hand Tracking System with Shape-Aware Calibration

안녕하세요 최인하입니다. 로봇 데이터를 취득하기 위해서 사용되는 방법들 중 Teleoperation은 로봇을 시연자가 직접 조작하기 때문에 로봇 embodiment에 맞는 정교한 데이터를 취득할 수 있습니다. 하지만 시연자가 로봇을 직접 조작하는 과정에서 사람과 로봇 간의 embodiment의 차이 기구학적 오차 때문에 시연자의 의도가 로봇에게 정확히 전달되기란 참 어려운 문제입니다. 이러한 문제는 데이터의 품질에 직접적인 영향을 미칠 수 있으며 시연자로 하여금 데이터를 모으는 과정이 더욱 힘들어질 수 있습니다.

Fig. 1 (a)에서 볼 수 있듯이 사람 손과 로봇 손의 형상은 차이가 있고 이로인해 (c)와 (d)처럼 시연자가 의도한 동작이 로봇에게 잘못 전달 될 수 있습니다. 이와 같은 문제로 인하여 하드웨어 쪽에서는 사람 손과 유사한 크기와 기구학을 가진 로봇 손을 만들기 위해 노력중이고, 소프트웨어 쪽에서는 사람 손의 dexterity를 로봇 손에게 어떻게 전이 시킬까 고민하고 있는 것 같습니다. 두 분야가 잘 합쳐져야 사람과 같은 로봇 손이 사람과 같은 움직임을 구사할 수 있겠죠.

오늘 리뷰할 FSGlove는 하드웨어 글러브로 사람 손의 dexterity를 최대한 잘 capture 해보자라는 motivation을 다루는 논문입니다. 기존 MoCap glove들은 최대 21DoF 정도를 측정했으며, 이는 사람 손의 dexterity를 충분히 표현하지 못한다고 합니다. 따라서 논문에서는 각 finger의 3개의 link 마다 IMU를 부착하고, 손 등에 하나의 IMU를 부착하여 최대 48DoF 를 측정할 수 있다고 합니다. 또한 논문에서 새롭게 제시하는 DiffHCal calibration 방식을 사용하여 보다 정확한 MoCaP이 가능하다고 합니다. 뒤에서 더 자세히 설명하겠습니다.

논문의 핵심 contribution을 소개하면 다음과 같습니다.

  • IMU 센싱과 hand shape aware reconstruction 과정을 통합한 high-DoF 오픈소스 데이터 글러브를 제시
  • 사람 손의 서로 다른 형상을 인식하는 differentiable calibration framework 제시
  • 높은 정밀도와 정확도를 입증하는 검증 수행

SYSTEM ARCHITECTURE AND DESIGN

글러브의 구조는 Fig. 3과 같습니다. 착용자의 기구학적인 motion 정보를 얻기 위해 장갑에는 IMU(HI229)가 손가락 각 link와 손등에 부착되어 있습니다. 간략하게 설명해보면 head는 Raspberry pi 2W(이하 SBC)이며, 16개의 IMU sensor 값을 받습니다. SBC(single board computer)가 16개의 센서 값을 동시에 받기 위하여 USB-UART Bridge chip 2개를 통합한 custom Daughter board를 통해서 UART 통신을 수행한다고 합니다. 또한 Li-ion Battery를 사용하여 불편한 케이블 필요 없이 2시간 가량 사용할 수 있다고 합니다. (총 가격은 426달러로, IMU 가격이 75%를 차지한다고 하네요.)

SBC와 pc는 wifi로 통신 되며, 통신 방식으로는 gRPC 방식이 사용된다고 합니다. 또한 많은 센서가 사용되므로, 시간 동기화가 필요합니다. SBC는 NTP를 사용해 pc와 자신의 시스템 clock을 주기적으로 맞추며, 16개의 IMU는 timestamp가 찍힌 시간을 사용하여 time sync module에 의해서 정렬되고, ROS message filter 기반 approximate policy를 활용하여 시간적으로 가까운 데이터를 하나의 measurement entry로 묶는다고 합니다.

MOCAP DATA ALIGNMENT AND SHAPE-AWARE CALIBRATION

Pose Alignment

MoCap를 위해서 측정한 센서 값을 hand motion data로 변경해야 됩니다. FSGlove에서는 센서 값을 변경하는 과정에서 관절 값과 시연자의 손 형상을 모두 고려 할 수 있는 DiffHCal 방법을 제시합니다. DiffHCal은 손의 관절과 shape을 파라미터 화하는 MANO hand model 기반으로 구축되었습니다.

FSGlove는 위에서 설명한 것과 같이 관절에 IMU 센서가 부착된 것이 아닌 link에 부착되어 있기 때문에 이를 관절 값으로 바로 사용할 수 없습니다. 또한 사람마다의 link의 길이나, 착용 위치가 다르므로 이를 매번 보정해주어야 합니다.

따라서 사람 손을 mano로 표현하기 위해서 우선 가상의 mano 월드 프레임을 지정하면 다음과 같이 수식으로 표현할 수 있습니다.

여기서 R(M)은 mano 월드 프레임에서 표현된 i 번째 link의 회전이고, R(w)는 IMU의 센서 값입니다.

mano hand는 각 joint index를 부로 link index로 표기하므로 관절 값은 식 (2)번과 같이 각 link의 상대 회전 값으로 구할 수 있습니다.

하지만 식(1)의 A를 구하기 위해서는 시연자가 가상의 손 모양을 정확히 따라해야 구할 수 있습니다. 하지만 센서 오차, 글러브 틀어짐 등등이 발생할 수 있으므로 정확히 A를 구하는 것은 불가능합니다. 따라서 논문에서는 오차 보정 C를 추가하여 두개의 파라미터를 구합니다.

두개의 파라미터를 구하기 위해서는 최소 2가지의 표준 손동작이 필요합니다. 논문에서는 Fig. 5 (a)와 같이 3가지 pose calibration 과정을 거쳐 파라미터를 구하게 됩니다.

Shape Calibration

pose alignment만 수행하게 된다면 손의 크기를 고려할 수 없습니다. 두 사람이 같은 손 자세를 취해서 물체를 조작하려 해도 손이 큰 사람은 물체에 이미 접촉해 있을 수 있지만 손이 작은 사람은 물체에 안 닿을 수 있습니다. 이를 해결하기 위해서 손의 shape calibration을 수행하게 됩니다.

논문에서는 시연자의 손 shape을 보정하기 위해서 MANO의 shape parameter β를 사용합니다. 여기서 V는 vertex를 의미하며 E는 edge 집합을 의미합니다. 시연자에 따른 형상 차이는 위에서 언급한 것 처럼 보통 접촉에 의한 차이로 많이 나타나게 되기 때문에 논문에서는 Fig. 5 (b)와 같이 fingertip pinch 자세를 사용하여 calibration을 진행합니다.

v(j)는 mano hand model의 j번째 vertex입니다. 논문에서는 엄지와 검지가 맞닿는 자세를 수행하면 mano hand는 744번째 vertex와 320번째 vertex가 접촉해야 된다고 합니다. 이를 바탕으로 시연자가 그 자세를 따라하게 되면 다음과 같은 식 (5) 으로 calibration을 진행한다고 합니다.

즉 접촉해야 하는 정점사이의 거리가 최소가 되도록하는 β를 구한다고 합니다.

Evaluation

평가는 같은 IMU 방식인 VRTRIX MoCap glove, vision 기반 meta quest 3, 자기장 기반 EMF 방식을 사용하는 manus gloves와 같 자주 사용되는 hand pose estimation 장비들과 비교 평가를 진행했다고 합니다.

첫번째 평가는 IMU 센서가 정말 믿을만한 joint sensing을 수행하는가에 대한 평가를 수행하였습니다. IMU 센서 두개를 플레이트 판에 부착하고 굽혀가면서 위에서 설명했던 방식처럼 상대 회전을 통해 joint sensing을 수행했스빈다. gt 값은 Nokov 광학 motion capture 방식을 사용했다고 하며 이 방식의 정확도는 0.5mm, 회전 정확도 0.3° 이므로 gt 값으로 사용하기 충분했다고 합니다. 결과는 회전 오차 ±2.7° 표준 편차 ±1.8° 정도로 정확했으며 비선형성은 0.7 % 정도로 측정되었다고 합니다. 하지만 이 실험은 플레이트에 IMU를 부착해서 실험을 수행했으므로 실제 시연자가 장갑을 착용하고 시연했을 경우에 비해서 통제가 상당히 많이 된 상태로 보입니다. (결과로 보았을 때는 웬만한 encoder보다 정확하네요)

두번째 평가는 pinch 동작의 오차를 확인하였습니다. 엄지의 fingertip과 각 손가락의 fingertip 간 거리로 측정하였다고 합니다. 이 부분에서 신기했던 점은 meta quest3와 비교했을 경우 index 부분에서 앞선다는 점이 신기했습니다. meta quest3의 경우 index finger와 thumb 같의 pinch 동작으로 UI와의 상호 작용이 이루어 지기 때문에 pinch 동작에 민감한데 FSGlove가 더 좋은 성능을 보이는 것이 신기하다고 생각할 찰나에… 실험을 무작위로 손목을 돌리면서 수행했다고 합니다. 비전 기반인 meta quest3는 손목을 돌려서 측정할 경우(손등이 보이게) tracking 성능이 크게 저하됩니다.

세번째 평가는 shpae reconstruction 평가입니다. 실험을 수행하기 위해 논문에서는 Photoneo MotionCam depth camera를 삼각대에 부착한 뒤 흰색 벽을 보도록 하고, 시연자가 hand pose estimation device를 장착한 상태로 TABLE3 에서 보이는 10가지의 자세를 카메라 앞에서 수행합니다. 이 때 카메라는 high-precision grayscale depth image를 취득하고, 디바이스는 hand reconstruction을 수행합니다. GroundedSAM을 활용하여 depth image에서의 손을 추출하고, 추출된 영역은 point cloud로 변환되어 hand reconstruction 결과로 나온 mesh와 Chamfer Distance errror로 비교 평가 된다고 하네요.

놀라운 점은 FSGlove가 다른 디바이스를 압도했다는 결과인데.. MANUS의 가격이 1000~3000만원 라는 것을 고려하면 말이 안되는 결과인 것 같습니다.

이상으로 리뷰를 마치겠습니다. 감사합니다.

Author: 최 인하

1 thought on “[IROS 2025] FSGlove: An Inertial-Based Hand Tracking System with Shape-Aware Calibration

  1. 안녕하세요 인하님 리뷰 감사합니다.

    IMU 센서에 관한 실험같은 경우 3D 프린팅 된 플레이트 위에서 실험을 진행한 것으로 보이는데요, 이 경우 IMU 센서 자체의 성능은 확보가 됐지만, 장갑류 같은 구겨질 수 있는 재질에선 설계상 오차가 발생할 수 있을 것 같은데요, 다른 연구들에서 해당 부분을 다룬 설계나 실험, 혹은 인하님이 장갑에 IMU 센서를 사용한다면 적용할 아이디어가 있으신가요?

Leave a Reply