POPARI의 희로애락

※아래 글은 언어영역 문제 출제를 위해 원문을 제가 직접 재구성한 것이므로 원문의 의도와 다를 수도 있습니다. 따라서 위 글의 내용과 원문의 내용이 다를 경우 원문 저자들의 깊은 양해를 구합니다.
※만약 아래 글이 자신의 의도를 심하게 왜곡한 글이라 생각하는 원문 저자들은 저에게 연락 하시어 삭제 요청을 하시면 아래 글을 즉시 삭제하도록 하겠습니다.
※아래 글의 내용에 제 지식 부족으로 잘못된 부분이 있을 수도 있습니다. 그 내용을 댓글로 지적해 주시면 수정하도록 하겠습니다.
※아래 글은 모두 교육청 모의고사나 출판사 모의고사 또는 문제집에 지문으로 제가 사용한 것이며, 제 허락 없이는 상업적 이용이 불가함을 밝혀 드립니다.

기존 테니스 게임에서 게임자는 팔 한 번 휘두르지 않고 버튼만으로 공을 쳐왔다. 그러나 최근 등장한 가상체험 게임은 게임자가 팔을 휘두르면 게임 속 캐릭터가 똑같이 팔을 휘두르면서 공을 쳐 낸다. 게임자가 캐릭터가 하나가 되는 것인데, 그것이 어떻게 가능할까?

사람의 행위를 캐릭터의 행위로 구현하려면 게임기가 사람의 행위를 감지할 수 있어야 하는데, 최근 간편한 리모컨과 센서바만으로도 그것이 가능하게 되었다. 리모컨에는 적외선 카메라가 들어 있고, 사람 앞에 놓여 있는 센서바 양쪽에는 적외선발광다이오드(LED)가 부착되어 있다. 라켙처럼 리모컨을 휘두르면 카메라가 LED에서 나오는 적외선을 감지하여 사람의 움직임을 감지한다. 이와 반대로 카메라를 고정시키고 LED가 달린 장비를 몸에 걸쳐 동작을 인식하는 방식이 이미 있었으나, 이것은 집에서 간단하게 즐겨야 하는 게임에는 적당하지 않았다. 카메라의 대수도 많아야 하고, 장비를 몸에 걸치는 번거로움이 있었으며, 무엇보다 여러 사람이 동시에 게임을 즐길 수 없는 불편이 있었던 것이다.

그러면 어떤 원리로 리모컨의 움직임은 감지되는 것일까? 리모컨의 움직임을 알기 위해서는 그것의 위치, 그리고 위치 변화의 방향과 가속도를 알아야 한다. 게임기에서 리모컨의 위치는 삼각측량법에 의해 분석된다. 즉 센서바의 두 LED, 카메라를 점으로 하는 삼각형과, 리모컨 내부의 두 점, 카메라를 점으로 하는 삼각형 사이의 닮음을 이용하여, 리모컨과 센서바 사이의 거리를 알 수 있는 것이다. 이와 함께 리모컨의 위치 변화는 카메라와 LED의 상대적인 위치 변화로 감지한다. 즉 카메라와 센서바의 LED는 거울처럼 마주보고 있기 때문에 서로 반대로 이동한다. 만약 서브를 하기 위해 리모컨을 머리 위로 올리면 카메라가 인식한 LED의 두 점은 아래쪽으로 이동하고, 공을 치듯 리모컨을 내리면 LED의 두 점이 위로 이동하는 셈인 것이다.

그런데 우리는 공을 세게 치기도 하고 약하게 치기도 한다. 그것은 이 게임에서 어떻게 감지될까? 그것은 리모컨을 움직일 때 생기는 가속도로 안다. 리모컨 속의 가속도계라는 부품에는 스프링에 의해 좌우로 흔들리는 진자가 있어 고정된 두 전극 사이를 움직인다. 가속도계는 진자에 달린 전극과 고정된 두 전극 사이의 거리 변화에 따라 전기량이 다르게 발생하도록 설계되어 있는데, 이를 분석하면 가속도의 크기와 방향을 알 수 있다. 예컨대 왼쪽으로 리모컨을 휘두르면 진자는 오른쪽 고정 전극에 가까워지고 왼쪽 고정 전극과는 거리가 멀어져 오른쪽의 전기량이 왼쪽의 전기량보다 커진다. 팔을 휘두르는 속도는 전기량의 변화 속도로 알 수 있다. 예를 들어 팔을 천천히 휘두르면 리모컨의 전기량의 변화도 그만큼 천천히 이루어지는 것이다.

하지만 인간의 동작은 매우 복잡하고, 똑같아 보이는 동작도 미묘한 차이가 있다. 그것을 기계가 일일이 구분한다는 것은 불가능하다. 설령 감지한다 하더라도 처리해야 하는 정보량은 어마어마하게 많다. 이것은 게임기의 처리속도를 높인다고 해서 해결될 수 있는 문제가 아니다. 그러면 그것은 어떻게 극복할 수 있을까? 바로 기계학습(Machine learning)이 그 해답이다. 기계학습은 게임하는 동안 사용자가 움직이는 ‘예상 행위 목록’을 만들어 데이터를 수집한 뒤 복잡한 움직임이 발생하면 예상 목록과 비교해 동작을 인식하는 방법이다. 표현할 수 있는 동작 수가 한정된다는 문제가 있지만, 정의된 동작만을 표현하므로 게임 속 캐릭터의 움직임이 자연스럽고 사용자 특성이나 개인에 따라 움직임의 차이가 생기는 문제도 줄일 수 있다. 또한 동작을 분석하는 데 시간이 적게 걸려 사용자의 움직임을 빠르게 캐릭터로 표현할 수 있는 것도 장점이다.

                    -이준덕 <LED 센서 바, 적외선 카메라, 가속도계의 합작품>에서
Posted by popari