AI 탐구노트

HACO - 데이터 불균형을 해소하여, 손 접촉을 효과적으로 예측하는 기술 본문

AI 기술

HACO - 데이터 불균형을 해소하여, 손 접촉을 효과적으로 예측하는 기술

42morrow 2025. 5. 30. 10:07

 

사람의 손은 일상에서 물건을 잡고 조작하는 데 필수적인 도구입니다. 손은 단순히 물리적인 도구에 그치지 않고, 사람 간의 비언어적 소통, 정교한 작업 수행, 환경과의 상호작용 등 다양한 역할을 수행합니다. 이러한 이유로 손이 어떤 물체와 어떻게 접촉하고 있는지를 정확히 파악하는 기술은 로봇공학, 가상현실, 행동 인식 등 여러 분야에서 중요한 문제로 떠오르고 있습니다. 테슬라의 휴머노이드 로봇 옵티머스가 뜬금없이 어느 날 계란을 집는 손가락 끝에 압력센서 기능을 공개한 이후로 단순히 잡는게 아니라 사람처럼 민감하게 집고 만질 수 있는 기능이 필요할 것이라는 힌트를 주었던 것이 떠오릅니다.

 

그림 : 테슬라의 옵티머스 휴머노이드의 손가락에 장착된 압력 센서 영상 (출처: Tesla)



최근 들어 손과 다양한 대상 간의 상호작용을 담은 대규모 데이터셋이 속속 공개되며, 이를 바탕으로 정교한 손 접촉 예측 모델의 개발이 가능해졌습니다. 그러나 아직까지 모든 손 부위의 접촉을 고르게 예측하는, 즉 '밀집 손 접촉 추정(dense hand contact estimation)'에 대해 깊이 있게 다룬 연구는 많지 않았습니다. 특히 기존 데이터셋이 접촉하지 않은 손 부위가 훨씬 많은 등 전반적으로 클래스 불균형 문제와, 손끝 중심으로만 접촉 데이터가 몰려 있는 등의 공간적 불균형 문제를 가지고 있다는 점은 모델 성능 저하의 주된 원인이 되어 왔습니다.

 

이러한 문제를 극복하고, 다양한 환경에서 손 접촉을 효과적으로 예측할 수 있는 HACO(HAnd COntact estimation) 프레임워크가 소개되었습니다. 오랜만에 국내 대학교 연구진(서울대 ComputerVision Lab)에서 공개한 내용입니다. 👍️


 

HACO(HAnd COntact estimation) 

1) 기존 방식의 문제점

 

기존 손 접촉 예측 모델들은 대부분 손과 장면 전체와의 접촉에 초점을 맞추고 있었으며, 손의 세부 부위별 접촉까지 정밀하게 다루지 못했습니다. 특히 대부분의 데이터셋에서는 손끝 위주로만 접촉이 기록되어 있어, 손바닥이나 손등과 같은 부위에 대한 접촉은 거의 학습되지 않았습니다. 이로 인해 학습된 모델은 실제 다양한 접촉 상황을 반영하지 못하고, 특정 부위에만 접촉이 예측되는 편향된 결과를 보였습니다.

 

또한, 전체 손 데이터 중 '접촉이 없는 경우'가 대부분을 차지하는 클래스 불균형(class imbalance)은 학습 과정에서 접촉이 있는 데이터를 소외시키는 결과를 낳았습니다. 일부 데이터셋에서는 접촉:비접촉 비율이 1:20에 달하기도 합니다. 이는 실제로 중요한 접촉 상황의 예측을 어렵게 만드는 요인이었습니다.

 

그림 : 손 접촉 데이터셋의 불균형 문제 (a:클래스 불균형, b:공간적 불균형)

 

2) 접근 방식

 

HACO는 위와 같은 두 가지 문제, 즉 클래스 불균형과 공간적 불균형을 해결하는 데 초점을 맞춥니다. 먼저, 클래스 불균형을 해결하기 위해 Balanced Contact Sampling(BCS) 기법을 제안합니다. 이는 손 접촉 데이터의 균형을 고려하여 데이터를 그룹화하고, 적절히 샘플링하는 방식으로 접촉과 비접촉 데이터를 고르게 학습할 수 있도록 합니다.

 

다음으로, 공간적 불균형을 해소하기 위해 Vertex-level Class Balanced(VCB) Loss라는 새로운 손실 함수를 설계합니다. 이는 손의 각 지점(vertex)에 따라 손실을 다르게 적용하여, 접촉이 적게 나타나는 손 부위에 더 많은 학습 비중을 둘 수 있도록 합니다.

 

 

3) 세부 적용 기술

  • Balanced Contact Sampling (BCS)
    손 접촉 정도에 따라 각 데이터를 점수화한 뒤, 이 점수를 기반으로 여러 개의 샘플링 그룹으로 나누고 고르게 추출하는 방식입니다. 이를 통해 접촉 데이터의 다양성과 균형을 확보합니다.
  • Vertex-Level Class-Balanced (VCB) Loss
    기존 클래스별 손실 적용(CB Loss) 방식을 손의 각 지점에 맞춰 미세 조정합니다. 손끝에만 집중된 예측을 줄이고, 손 전체에 고른 예측이 가능하도록 돕습니다.
  • 비전 트랜스포머 기반 구조
    입력 이미지에서 손의 접촉을 예측하기 위해, 이미지 전체를 작은 패치 단위로 나누고, 이를 트랜스포머 구조를 통해 분석합니다. 손 접촉 예측은 'Contact Token'이라는 특수 토큰을 통해 수행됩니다.
  • 다단계 손실 설계
    정확도를 높이기 위해 VCB 손실 외에도 예측값의 부드러움을 유지하고, 평균 접촉과 크게 벗어나지 않도록 하는 추가 손실(regularization, smoothness loss)을 함께 사용합니다.

 

그림 : HACO의 전체 구조

 

위의 그림은 HACO의 전체 구조를 보여줍니다.  간략하게 설명하면 다음과 같습니다. 

  • 입력 이미지 (Input Image) : RGB 타입 입력
  • 패치 임베딩 (Patch Embedding) : 이미지를 작게 조각(패치)으로 나누고, 각각에 대한 임베딩을 생성 (숫자 벡터화)
  • ViT (Vision Transformer) : 이미지 전체를 이해하도록 도와주는 뇌 역할 수행
    • Self-Attention Transformer : 이미지 내부의 중요한 패턴을 찾음
    • Cross-Attention Transformer : 'Contact Token'이라는 특수한 토근이 이미지에서 접촉 정보를 뽑아냄
  • Contact Token (접촉토큰) : 어디에 손이 접촉했는지를 집중적으로 학습, 예측함
  • 출력 (Output) : 손의 각 부위(총 778개의 점)에 대해 각각의 점이 접촉 중인지를 확률로 출력 

 

4) 제약사항

  • 손가락끼리의 자기 접촉(self-contact) 상황은 제외하고 학습되었기 때문에, 'OK 사인'과 같은 손 내부 접촉은 잘 예측되지 않을 수 있습니다.
  • 접촉 여부는 3D 메쉬 거리 기반으로 정해지며, 일부 데이터셋은 메쉬 정확도가 낮아 접촉 레이블에 오차가 존재할 수 있습니다.

HACO 프레임워크는 데이터의 불균형으로 인해 손 접촉 예측이 어려웠던 기존의 한계를 극복하고, 다양한 상호작용 상황에서도 정확한 손 접촉 예측을 가능하게 합니다. BCS와 VCB 손실이라는 두 가지 핵심 기술을 통해 학습의 대표성과 균형을 크게 개선하였고, 그 결과 기존 방법보다 높은 정밀도와 재현율을 보여주었습니다.

 

향후 VCB 방식이 더 정교화되고 자기 접촉까지 예측이 가능해진다면, HACO는 가상현실, 로봇 제어, 행동 분석 등 다양한 실생활 분야에서 폭넓게 활용될 수 있을 것입니다.


 

참고자료

  • 사이트) HACO 프레임워크 관련 프로젝트 (링크)
  • 논문) Learning Dense Hand Contact Estimation from Imbalanced Data (링크)
  • 코드) HACO Github 저장소 (링크)
  • 데모) HACO Hugging Face 데모 (링크)

 


Q&A

 

Q. HACO는 어떤 데이터를 기반으로 학습되었나요?

HACO는 총 14개의 다양한 손 상호작용 데이터셋을 활용해 학습되었습니다. 이에는 손-물체, 손-손, 손-신체, 손-장면 간 상호작용이 포함됩니다.

 

Q. 왜 기존 모델들은 손 전체의 접촉을 잘 예측하지 못했나요?

기존 데이터셋은 손끝 중심의 접촉이 대부분이었고, 손바닥이나 손등과 같은 부위는 접촉 데이터가 부족해 학습이 어려웠기 때문입니다.

 

Q. HACO는 실제 어떤 분야에 활용될 수 있나요?

가상현실(VR/AR), 로봇공학, 행동 인식, 3D 재구성 등에서 손과 사물의 상호작용을 정확히 이해해야 할 때 활용될 수 있습니다.