키넥트(Kinect)는 마이크로소프트에서 동작인식 카메라로 별도의 컨트롤러 없이 엑스박스와 연결하여 몸의 동작으로 게임을 즐길 수 있도록 제작된 가전기기입니다.
온몸을 이용해 게임을 할 수 있다는 장점과 독보적인 성능으로 인해 기네스북에 가장 빨리, 가장 많이 팔린 가전기기 1위로 등재된 제품입니다.
처음엔 게임용으로 제작이 되었지만, 사람 인식에 가지는 강점들이 인터랙션 아티스트들에게 주목 받으면서 게임 이외의 분야에서 활발히 활용되고 있습니다. 단순하게 엑스박스와 연결하여 사용되는 게임 컨트롤러에서 벗어나 PC와의 연동을 통해 다양한 영역에서 활용되고 있습니다.
이 키넥트 센서는 실시간으로 깊이 정보, RGB영상, 관절 추적 정보를 제공하고, 이 때문에 인간 - 컴퓨터 상호작용 응용 개발을 쉽게 만들 수 있게 되었습니다.
아주 오래전에(2014년) 이 키넥트를 이용해서 오렌지보드와 연결하여 LED바를 제어해보았는데요, 이번 컨텐츠에서는 키넥트를 스크래치X와 연결하여 블럭으로 관절 추적 정보를 이용해보도록 하겠습니다.
이번 컨텐츠에서 사용한 환경은 Windows10 / Kinect v1 을 사용했습니다.
(Kinect v1의 경우 스크래치X만 이용가능하고, Kinect v2의 경우 스크래치 1.4버전과 스크래치X 사용가능합니다.)
(Kinect v2의 경우 최신버전을 받으시면 됩니다.)
다운 받은 설치 파일을 실행하여 설치를 끝내고, 키넥트를 PC에 연결해 줍니다.(장치 관리자에서 Kinect 장치가 등록이 됩니다.)
(Kinect v2이신 경우 원하시는 Scratch 버전에 맞는 링크를 선택해주세요.)
그 다음 중간쯤 Kinect2Scratch.exe 파일 링크를 선택하여 파일을 받고 실행시켜 줍니다.
우선 Kinect2Scratch는 처음이니 sample을 확인해 보겠습니다.
두번째 Launch ScratchX with sample Kinect2Scratch Project를 선택해주시면 현재 기본으로 설정된 인터넷을 통해 ScratchX페이지가 들어가지고 조금만 기다리면 블럭 코딩화면이 나오게 됩니다.
크롬의 경우 화면 전환이 안될 수도 있으니 전환이 안되시면 메인화면에 Open Extension URL 버튼을 누르고 주소에 http://stephenhowell.github.io/Kinect2ScratchX%20Skeleton.sbx#home 을 입력해 줍니다.
키넥트가 정상적으로 연결이 되어있으면 More Block 탭에 Kinect2Scratch v1 옆에 녹색원이 나오게 됩니다.(빨간색이나 노란색이 나오면 연결이 안된겁니다.)
여기까지 정상적으로 되셧으면 이미지 위에 있는 녹색 깃발이나 코딩된 블럭을 클릭하여 실행하신 다음에 키넥트와 일정거리(약 2m정도) 떨어지신 다음에 움직여보세요.
여기까지 되셧으면 키넥트와 ScratchX와 연결이 완료되었습니다.
추가된 블럭은 1개로 간단합니다. 측정된 각 관절부위 20개의 x, y, z 좌표 값을 받아옵니다.
이를 이용해서 만든 다양한 프로젝트를 만들 수 있습니다.
(밑의 영상은 Kinect v2를 이용하여 Scrath 1.4 버전에서 만든 영상이지만, 위와 같은 환경에서도 제작이 가능합니다.)
혹시 키넥트가 있으신 분들은 한번 스크래치를 이용해서 간단하게 동작인식 프로젝트를 만들어 보시면 좋을 것 같습니다.
* Kinect 2 Scratch의 경우 한번에 한명만 인식이 가능하고, 적정 거리 이상 떨어져야 한다는 제약조건이 있으니 이 점을 조심해 주세요.