개요
본 연구는 혼합현실(MR) 환경에서 실물 도구(가위)와 가상 객체 간의 실시간 인터랙션을 구현하기 위한 시스템 개발 연구로,
HoloLens 2의 깊이 카메라를 활용하여 실제 가위를 포인트 클라우드 형태로 인식하고, 이를 기반으로 실제 가위와 증강 객체(가상 가위)의 정밀한 정합을 수행함
이후 Mesh Slicer 기반 충돌 감지 및 절단(cutting) 로직을 적용하여, 가상 객체(3D 모델)와의 물리적 절단 인터랙션을 구현함
이를 통해 실제 물리 도구를 이용한 가상 객체 조작이 가능한 실감형 MR 인터랙션 환경을 구축함
연구 목적 & 필요성
기존의 HMD 기반 가상 실습 환경은 주로 컨트롤러에 의존하여 몰입감에 한계가 있음
본 연구는 실 도구의 사용 경험을 그대로 유지한 채 가상 객체와의 인터랙션을 제공함으로써 몰입감과 현실감을 강화하는 것을 목표로 함
깊이 카메라 기반 실시간 포인트 클라우드 분석을 통해 손과 도구를 구분하고, 도구의 중심좌표를 계산하여 실 도구-가상 도구 정합을 수행함
이를 통해 향후 다양한 산업(정밀작업 훈련, 수술 시뮬레이션, 공정제어 등)에 응용 가능한 실물-가상 융합형 인터랙션 기술의 기반을 마련
시스템 개요
본 시스템은 크게 1) 실 커팅 도구 인식 모듈, 2) 가상 커팅 도구 정합 모듈, 3) 가상 객체 상호작용 모듈로 구성됨
실 커팅 도구 인식 모듈
HoloLens 2의 깊이 카메라를 활용하여 실 커팅 도구의 포인트 클라우드를 추출하고, 필터링 및 주성분 분석(PCA)을 통해 커팅 도구의 중심좌표와 방향벡터를 계산함가상 커팅 도구 정합 모듈
인식된 커팅 도구 중심좌표와 손가락 관절 위치(Thumb, Index)를 이용하여 실·가상 도구의 위치 및 자세를 실시간 정합함가상 객체 상호작용 모듈
증강된 커팅 도구와 가상객체 커팅 인터랙션을 제공함. 실 도구의 개폐 동작에 따른 실시간 절단 인터랙션을 구현함
실 커팅 도구 인식 모듈
HoloLens 2의 깊이 카메라 Raw Data에 접근하여 시야각 내 포인트클라우드를 실시간 수집하고, 연산 효율 향상을 위해 Voxel Down-Sampling을 수행함
수집된 전체 포인트 중 불필요한 배경 정보를 제거하기 위해 2단계 공간 필터링 기법을 적용함
1차 필터에서는 손가락 중간점(엄지와 검지)을 중심으로 설정된 구면 영역 내 포인트 클라우드만을 추출하여 가위 주변부+손으로 필터링함
2차 필터에서는 Hand Joint 데이터(MiddleKnuckle 기준)를 활용해 Hand Point Cloud를 제거함으로써 커팅 도구의 포인트 클라우드를 추출함
필터링된 포인트 클라우드에 주성분분석(PCA)을 수행하여 가위의 중심 좌표(Vector3) 및 주축 벡터를 계산하고, 이를 실-가상 정합 모듈의 입력으로 전달함
가상 커팅 도구 정합 모듈
PCA를 통해 계산된 커팅 도구의 중심 좌표(실 커팅도구 중심 좌표와 매핑)와 HoloLens Hand Joint의 IndexDistal(사용자 검지와 매핑), ThumbDistal(사용자 엄지와 매핑) 좌표를 이용하여, 가상 커팅 도구를 증강함
증강된 가상 커팅 도구는 실 커팅 도구와 사용자의 Hand Joint에 따라 실시간으로 업데이트됨
또한 세 점 (중심좌표, 엄지, 검지 좌표)으로부터 법선 벡터를 계산하고, 이를 기준으로 가상 커팅 도구가 해당 법선 벡터에 항상 수직이 되도록 구현함
이러한 방식은 가상 커팅 도구의 불필요한 회전이나 비정상적인 자세 변화를 방지함
이를 통해 기존의 Hand Object 기반 단순 가위 증강 시, 사용자 손가락 만을 이용한 커팅 도구 회전에서 발생하는 회전 불일치 문제를 해결함
가상 객체 상호작용 모듈
정합된 가상 커팅 도구와 가상 객체 간의 물리적 절단(cutting) 상호작용을 구현하기 위한 구성 요소로, Unity 엔진의 Mesh Slicer 기반으로 구현됨
가상 커팅 도구는 Collider 기반으로 구성되어, Raycast 및 충돌 감지(Collision Detection)를 통해 가상 객체의 표면과 인터랙션을 수행함
실 가위의 개폐 각도를 실시간으로 계산하여(이전 프레임 대비 현재 프레임), 각도 증가 시 Non-Cutting, 각도 감소 시 Cutting 상태로 판별함으로써 실제 동작을 반영함
각 프레임마다 가상 커팅 도구의 상태(회전 각도, 절단 위치)에 따라 Mesh Slicer가 가상 객체의 메시를 분리(Split) 또는 유지(Hold) 함
이러한 방식을 통해 실제 도구의 동작을 기반으로 가상 객체의 반응을 실시간으로 동기화하여, 물리적 절단에 가까운 몰입형 인터랙션 환경을 제공함






