얼마전 외국인 친구로 부터 3Gear System 아냐?? 는 질문을 받았다.

 

그리고 접하게 된 3Gear System

 

내가 연구해보고싶었던 분야가 구현되어 있었던 것이었다.

 

일단 백문이 불여일견

 

 

 

website : http://www.threegear.com/

 

 

 

 

위 사진이 메인 화면이다.

 

여기 들어가면 설명서 및 라이센스 등등 관련 정보가 상세하게 나와있다.

 

그래서 간단히 요약을 하면,

 

 

 

 

시스템은 두대의 키넥트를 가지고 한대만 가지고 있을때의 단점인 한면만 디텍트 하는점을 두대를 이용하여 정합 함으로써 숨겨진 은면을 포함한 모든 부분을 정확하게 트래킹 가능하다는 점이 이 시스템의 큰 특징이다.

 

또 다른 큰 특징은 이 시스템은 3D 모델을 직접 캡쳐하여 모델링 한다는 점인데, 참고로 7가지 정도의 제스쳐를 사용자에 따라 정하여 사용할 수가 있다. 예를 들면 Pointing 제스쳐나 Pinch, Spread, OK 제스쳐 등등을 직접 원하는대로 정의하여 사용 할 수가 있는데, 이는 추후에 직접 테스트 해본 결과를 근거로 결과물을 캡쳐하여 제시할 예정이다.

 

그리고 중요한점은 라이센스인데, 총 3가지 타입의 라이센스가 존재한다.

 

1. 평가판 버전(Evaluation License)

2. 상용버전(Commercial License)

3. 연구 또는 학업을 위한 아카데믹버전(Academic License)

 

평가판 버전을 사용하면 30일 제한이 걸린다. 그리고 상용은 뭐 계속 사용할수 있겠지만, 나는 30일만 사용하기에는 성에 안찼다. 그래서 직접 3Gear System 측에 라이센싱 관련 업무담당자에게 나의 의견을 제시하고, 목적을 제시함으로써 Academic License를 받을 수 있었다. 이는 1년(12Month)짜리 라이센스였으며, 1년간 마음껏 테스트 해볼 수 있는 권한이 주어졌다.

 

하지만, 아쉬운점이 있는데, 그들은 소스코드는 제공하지 않았다. 단지 Release 파일만 제공하고, 튜토리얼을 제공할 뿐, 다른 발전방향은 없었다. 많이 아쉬운 점이었는데, 뭐 어쩌겠는가, 테스트 해보는거에 만족해야지 뭐..

 

어째뜬 다시 본론으로 돌아가서..

 

원래 이 연구의 시초는 Robert Wang으로 부터 시작 되었는데, 그는 MIT 공대에서 컴퓨터비전과 HCI 관련하여 박사과정을 마쳤다. 그리고 그는 웹캠과 컬러패치를 이용한 장갑으로 실시간 핸드트래킹 하는 알고리즘을 개발하여 3Gear System을 만드는데 기초가 되었다고 한다.

 

 

 

Robert Wang : Real-time hand-tracking with a color glove

(Link : http://people.csail.mit.edu/rywang/hand/)

 

 

어째뜬 참으로 매력적인 연구이자 미래를 전망할 수 있는 아주 좋은 선례라고 생각한다.

 

이제 3Gear System을 체험 해보자.

 

Posted by Tommy™
,




요 몇주간 세미나 및 행사, 그리고 출장으로 인해 프로그램을 손볼수가 없었는데,


몇일동안 다시 으쌰 으쌰 해서 진도를 좀 나갔다.




이번에 한것은 손끝점 (Finger Tip) 찾기 인데,


이런저런 방법들을 많이 써봤는데 정리를 하면..


1. ConvexHull 을 이용하여 최외곽 포인트를 손끝점으로 인정
누구나 다 쓰는 국민알고리즘??이라고 해야하나..?? 어째뜬 가장 직관적이면서 이해하기 쉬운 방법이다. 다각형을 포함하는 가장 큰 외곽 태두리를 컨벡스헐 이라고 말하는데, 이를 이용하면 손을 피든, 쥐든, 손가락을 접든간에, 최 외곽선만 따기때문에, 쉽게 검출할수있다. 하지만.. 손가락 이외의것들, 예를 들면 손목이 잡힐수도 있다. 그러하여.. 사용X


2. 세선화를 통해 가장 끝점 좌표를 매칭
세선화를 통하여 정확한 손끝점을 찾을수가 있다. 하지만.. 가장 큰 문제인 퍼포먼스... 한마디로 이야기해서 저질이다. 프레임이 뚝!! 떨어진다. 실시간으로 영상을 처리해야하는 나의 프로그램으로는 아쉽지만.. 사용X


3. K-Curvature 를 이용하여 손끝점 찾기
세점을 이용하여 사이각을 구할수가 있다. 각각 점을 이용하여 두 벡터를 구할수 있고, 이 두 벡터를 이용하여 내적공식을 사용, 사잇각을 구할수가 있다. 이를 이용하여, Contours 에서 K개 단위로 조사하여 구해진 각이 일정범위 안이면 손끝점이라고 인지하게 하는것이다.
이차함수때부터 수학에서 손을 땐 나로써는 새로운 도전이었지만, 몇개의 논문과 구글링과 네이버 검색을 통해 식을 찾고 적용시켜 보기로 했다.


[참고 논문]
- Real-time Hand Tracking and Finger Tracking for Interaction (2003)
- Vision Based hand tracking for Interaction (2008)





그리고 몇일동안 씨름을 한 결과..


나름의 결과를 얻을수가 있었다.


하지만, 아직도 정형화 되지않은 나의 코딩실력으로 인해 프로젝트 소스코드는 너무도 난잡해졌다.. OTL...


조만간 다시 시간 내어 정리해야겠다.




(프로그램은 Debug 에서 30프레임을 유지하는데, 빌어먹을 인코딩으로 인해 느리게 나왔네;; 이런 ㅋㅋ)






 

Posted by Tommy™
,

TUIO 예제 소스코드를 몇시간 분석 후 대충 어떻게 돌아가는지 공부했다.

C++ 예제 소스도 첨부~~ (당신의 시간은 소중하니깐... = > )








나는 키넥트의 스켈레톤을 이용하여 양손의 위치정보를 이용하여 멀티터치 기능을 구현해 보았다.

정작 7시간?? 이 걸렸다.

프로그래밍의 구조를 막 생각하다가..

나중에는 막코딩을 해서 지금 구조는 엉망인데,

다음주나 되서 리팩토링을 하여 좀 다시 구조를 잡아야 겠다.



동영상은 혼자 촬영하다보니 허접한데, 다시 조만간 촬영해야겠다.

(카메라 든손도 움직이다보니 화면보니깐 어질어질;;)

'[ Topics ] > TUIO' 카테고리의 다른 글

TUIO 시작 및 참조  (0) 2012.01.07
Posted by Tommy™
,