인간 파악에 대한 이전의 행동 연구는 엄격하게 통제된 시나리오에서 매우 제한된 측정으로 제한되었습니다. 우리의 프로토콜은 복잡한 자연주의적 파악 행동을 훨씬 더 풍부하게 특성화할 수 있습니다. 이 기술은 여러 자릿수 파지로 인한 손 물체 접촉 표면의 상세한 맵을 사용합니다.
이를 통해 인간이 전례 없는 수준의 정교함으로 물체를 파악하는 방법을 조사할 수 있습니다. 인간의 파악 능력에 대한 정확한 측정은 운동 제어, 햅틱 인식 및 인간-컴퓨터 상호 작용을 이해하는 데 필요합니다. 이러한 데이터는 로봇 그리퍼 및 상지 보철물의 설계에 정보를 제공할 수 있습니다.
이 절차를 시연하는 것은 내 실험실에서 석사 학위 논문을 완성하는 대학원생 인 Kira Dehn이 될 것입니다. 시작하려면 작업 공간을 둘러싼 프레임에 배열된 모션 추적 카메라로 여러 각도에서 이미지화된 추적 볼륨으로 작업대를 배치합니다. 각 마커의 바닥에 양면 접착 테이프를 부착하여 반사 마커를 준비합니다.
관리자로 Qualisys Track Manager 또는 QTM을 실행합니다. L자형 보정 개체를 추적 볼륨 내에 놓습니다. QTM 내의 캡처 메뉴에서 보정을 클릭하고 보정 창이 열릴 때까지 기다립니다.
보정 기간을 선택하고 확인을 누릅니다. 보정 기간 동안 추적 볼륨에 걸쳐 보정 막대를 흔듭니다. 내보내기 버튼을 누르고 보정을 텍스트 파일로 내보낼 파일 경로를 지정합니다.
Okay를 눌러 보정을 수락합니다. 자극 객체를 생성하려면 폴리곤 메쉬 형태의 가상 3D 객체 모델을 생성합니다. 3D 프린터를 사용하여 개체 모델의 실제 복제본을 생성합니다.
자극 물체를 준비하려면 4개의 비평면 반사 마커를 실제 물체의 표면에 부착합니다. 추적 볼륨 내에 개체를 배치합니다. 프로젝트 리포지토리에서 표시된 Python 스크립트를 실행합니다.
스크립트에서 제공하는 지침에 따라 개체 마커의 3D 위치를 1초 동안 캡처합니다. 강체의 모든 마커를 선택합니다. 마우스 오른쪽 버튼을 클릭하고 강체 정의(Define Rigid Body) 또는 6DOF를 선택한 다음 현재 프레임(Current Frame)을 선택합니다.
강체의 이름을 입력하고 OK를 누릅니다. 파일 메뉴에서 TSV로 내보내기를 선택합니다. 새 창에서 데이터 유형 설정에서 3D, 6D 상자 및 스켈레톤을 선택합니다.
일반 설정의 모든 확인란을 선택합니다. Okay(확인)를 누른 다음 Save(저장)를 누릅니다. 블렌더를 열고 스크립팅 작업 공간으로 이동합니다.
표시된 파일을 열고 실행을 누릅니다. 레이아웃 작업 영역으로 이동하고 N 키를 눌러 사이드바를 전환합니다. 사이드바 내에서 Custom(사용자 지정) 탭으로 이동합니다.
공동 등록할 obj 파일을 선택하고 Load Object 버튼을 누릅니다. 이전에 내보낸 궤적 파일을 선택하고 세미콜론으로 구분된 강체 객체에 부착된 마커의 이름을 지정합니다. 마커 헤더에서 데이터의 열 이름이 포함된 궤적 파일의 행을 지정합니다.
그런 다음 6D 접미어가 있는 해당 강체 파일을 선택하고 이전 단계에서 정의한 강체의 이름을 지정합니다. 6D 헤더에서 데이터의 열 이름이 포함된 강체 파일의 행을 지정합니다. 마커 로드를 누른 다음, 마커 오브젝트 또는 오브젝트를 변환하고 회전하여 정렬합니다.
메시 출력 파일을 지정하고 Run Co-Registration 을 눌러 공동 등록된 자극 메시가 포함된 obj 파일을 출력합니다. 양면 테이프를 사용하여 참가자 손의 다른 랜드마크에 24개의 구형 반사 마커를 부착합니다. 검지, 중지, 약지, 작지의 원위 지절간 관절, 근위 지절간 관절, 중수골 관절의 손가락 끝 중앙에 마커를 놓습니다.
엄지손가락의 경우 손가락 끝과 기저 수근 중수골 관절에 각각 하나의 마커를 배치하고 중수골 관절 및 지절간 관절에 각각 한 쌍의 마커를 배치합니다. 마지막으로 손목 중앙과 주상골사다리꼴 관절에 마커를 놓습니다. 참가자에게 손바닥이 아래를 향하도록 작업대에 손을 평평하게 놓고 눈을 감으라고 합니다.
참가자 앞의 작업대에 자극 물체를 놓습니다. QTM이 실행되는 동안 프로젝트 저장소에서 표시된 Python 스크립트를 실행합니다. 참가자에게 눈을 뜨고 스크립트에서 제공하는 지침에 따라 참가자가 자극 대상을 잡는 단일 시도를 캡처하도록 요청합니다.
QTM 내에서 식별되지 않은 궤적에서 레이블이 지정된 궤적으로 개별 마커 궤적을 끌어다 놓고 명명 규칙에 따라 레이블을 지정합니다. 손에 부착된 모든 마커를 선택하고 마우스 오른쪽 버튼을 클릭한 다음 선택(Selection)에서 AIM 모델 생성(Generate AIM model)을 선택합니다. 새 창에서 기존 AIM 모델에서 마커 연결을 기반으로 새 모델 생성을 선택하고 다음 버튼을 누릅니다.
RH_FH 모델 정의를 선택하고 열기(Open)를 누릅니다. Next(다음)를 누르고 AIM 모델의 이름을 입력한 다음 OK(확인)를 누릅니다. 마지막으로 Finish(마침)를 눌러 참가자의 손이 동일한 참가자의 연속 시도에서 마커를 자동으로 식별할 수 있는 AIM 모델을 만듭니다.
QTM 내에서 톱니바퀴 아이콘을 눌러 프로젝트 설정을 엽니다. 사이드바에서 Skeleton Solver로 이동하고 Load 키를 눌러 스켈레톤 정의 파일을 선택합니다. 축척 비율을 100%로 조정하고 적용을 누릅니다.
TSV 내보내기로 이동하여 데이터 유형 설정에서 3D, 6D 및 스켈레톤 상자를 선택합니다. 일반 설정의 모든 확인란을 선택합니다. 적용을 누르고 프로젝트 설정을 닫습니다.
Reprocess 아이콘을 누른 다음 Solve Skeletons 및 Export to TSV File 확인란을 선택하고 Okay를 누릅니다. 프로젝트 리포지토리에서 명령 창을 열고 표시된 명령을 실행하여 conda 환경을 활성화합니다. 그런 다음 표시된 명령을 실행하고 스크립트에서 제공하는 지침에 따라 시도의 각 프레임에 대해 현재 손 포즈를 재구성하는 손 메시를 생성합니다.
손 물체 접촉 영역 추정치의 경우 표시된 명령을 실행하고 스크립트에서 제공하는 지침에 따라 손과 물체 메시 사이의 교차점을 계산하여 손 및 물체 접촉 영역 추정치를 생성합니다. 이 연구에서는 손의 다른 랜드마크에 부착된 24개의 구형 반사 마커를 사용하여 그립의 역학을 기록했습니다. 미리 학습된 딥 핸드 메시 디코더에 대한 수정 사항이 여기에 나와 있습니다.
첫째, 네트워크가 특정 참여자에 대해 훈련되지 않기 때문에 사전 훈련된 모델과 함께 제공되는 일반 ID 종속 메시 교정이 사용됩니다. 또한 ID 종속 골격 교정은 QTM 골격 솔버를 사용하여 도출됩니다. 스켈레톤 길이와 손의 비례 스케일링이 가정되고 메쉬 두께는 스켈레톤의 상대적 스케일링에서 파생된 계수에 의해 균일하게 스케일링됩니다.
3D 추적 개체 메시와 동일한 좌표 프레임에서 현재 손 포즈의 최종 3D 손 메시 재구성이 표시됩니다. 3D 프린팅된 고양이 피규어를 한 번 잡는 동안 추적된 점과 공동 등록된 메쉬가 모두 나란히 움직이는 손의 비디오가 표시됩니다. 손에서 물체가 접촉할 때의 단일 프레임에서 3D 프린팅된 크루아상, 손 물체 메쉬 재구성 및 크루아상 표면의 예상 접촉 영역과 함께.
개체와 개체에 부착된 마커를 적절하게 공동 등록해야 합니다. 편차가 접촉 영역 추정치에 큰 영향을 미칠 수 있으므로 철저하게 정렬하는 것이 중요합니다. 접촉면 외에도 이 절차는 각 손가락 관절에 대한 조인트 오일러 각도를 제공합니다.
이것은 여러 자릿수 잡기 동안 손 포즈가 시간이 지남에 따라 어떻게 전개되는지 연구하는 데 사용할 수 있습니다.