검색 전체 메뉴
PDF
맨 위로
OA 학술지
라즈베리 파이와 립 모션을 이용한 지화 번역 시스템 설계 및 구현 Design and Implementation of Finger Language Translation System using Raspberry Pi and Leap Motion
  • 비영리 CC BY-NC
  • 비영리 CC BY-NC
ABSTRACT
라즈베리 파이와 립 모션을 이용한 지화 번역 시스템 설계 및 구현

Deaf are it is difficult to communicate to represent the voice heard, so theay use mostly using the speech, sign language, writing, etc. to communicate. It is the best way to use sign language, in order to communicate deaf and normal people each other. But they must understand to use sign language. In this paper, we designed and implementated finger language translation system to support communicate between deaf and normal people. We used leap motion as input device that can track finger and hand gesture. We used raspberry pi that is low power sing board computer to process input data and translate finger language. We implemented application used Node.js and MongoDB. The client application complied with HTML5 so that can be support any smart device with web browser.

KEYWORD
지화 , 립 모션 , 라즈베리 파이 , 보조공학기기
  • Ⅰ. 서 론

    청각 장애는 소리를 들을 수 있는 능력이 상당히 떨어져 있거나 전혀 들리지 않는 상태의 장애를 말한다. 장애의 정도에 따라서 소리를 전혀 들을 수 없거나 잔존 청력이 있다하더라도 소리만으로 의사소통이 불가능한 농과 보청기와 같은 기구의 도움을 받아 잔존 청력을 사용하여 의사소통을 하는 난청으로 분류된다[1]. 청각 장애인의 의사소통에는 잔존 청력과 독화에 의해 일반인의 음성 언어를 이해하고 말로 표현하는 구화법과 자연 수화, 문법적 수화, 지화 등을 이용한 시각적 방법이 있다. 이 밖에 글로 써서 의사소통을 하는 필담이 사용되기도 한다. 구화의 경우 청각 장애인과 건청인의 의사소통이 용하지만 근거리에서 마주보며 대화해야 하며 교육이나 직업 등 다양한 정보를 얻기에는 제한적이다[2].

    필담의 경우 청각 장애인의 경우 문자 언어를 이해하는 정도가 건청인의 30% 이하로 낮기 때문에 원활한 대화를 나누기에는 적합하지 않다. 수화의 경우 청각 장애인의 생각을 원활하게 표현할 수 있는 의사소통 수단으로 이용되지만 수화 사용방법을 이해하고 있는 일부 사람들에게만 도움이 되는 의사소통 수단이다[3].

    청각 장애인과 건청인의 의사소통을 돕기 위해 통신보조기기로서 AAC(Augmentative and Alternative Communication)장치가 주로 사용되고 있다. 발화기로 불리는 AAC장치는 언어장애, 발성장애, 뇌성마비, 실어증 등의 장애가 있는 사람들을 돕는 장치로서 상황에 맞는 행동이나 물건이 그려져 있는 그림을 눌러 미리 녹음된 목소리를 들려주는 장치이다. 하지만 휴대가 불편하고 상황에 맞는 행동이나 그림에 한계가 있기 때문에 신체활동이 자유롭고 다양한 환경을 접할 수 있는 청각 장애인은 활용도가 떨어진다. 또한 청각장애인용 보조기구로서 증폭기가 있지만 단순한 소리를 증폭해주는 기능에 머물고 있기 때문에 청각 장애인의 생각을 표현하기 위한 도구로는 ACC장치와 마찬가지로 활용도가 떨어진다. 수화번역기의 경우 다양한 연구가 진행되고 있지만 기술 표준화와 청각 장애인이 일상생활에서 사용할 수 있을 정도의 상용화된 제품이 전무한 실정이다[4].

    본 논문에서는 라즈베리 파이(Raspberry Pi)와 립 모션(Leap Motion)을 이용하여 청각 장애인과 건청인의 의사소통을 돕기 위한 보조기구로서 활용 가능한 지화번역 시스템을 설계 및 구현하였다. 손가락 모양과 손동작을 추적하고 정보를 문자로 변환하기 위한 입력도구로서 립 모션을 활용하였다. 립 모션은 정밀도가 키넥트의 200배 정도에 달하며 직접 접촉이 아닌 허공에서 손을 움직이는 것만으로 동작을 감지해 낼 수 있다. 입력 받은 정보를 분석하고 데이터베이스에 내장된 정보와 비교하여 번역하기 위해서 라즈베리 파이를 활용하였다. 서버로 동작하는 라즈베리 파이는 손바닥 크기이며 저전력으로 동작하기 때문에 휴대가 간편하다. 클라이언트로부터 들어온 정보를 비교하여 번역해주는 API(Application Programming Interface) 서버는 MongoDB와 Node.js를 활용하여 플랫폼에 독립적으로 동작하도록 설계하였다. 클라이언트 프로그램과 API 서버는 모바일 환경에 적합하도록 설계된 JSON(Javascript Object Natation) 구조를 이용하여 정보를 교환한다.

    Ⅱ. 관련 이론

       2.1. 모션 인식 디바이스

    몸의 움직임을 측정하고 분석하여 정보기기를 제어하거나 콘텐츠와 연동하는 기술은 오랫동안 연구가 진행되어 왔다. 초기 카메라를 이용한 영상 기반의 모션인식 기술은 조명과 같은 주위 환경요소의 영향을 받기 쉬우며 장소와 공간의 제약을 받기 때문에 실생활 제품에 적용하기 위해서는 많은 제약을 가지고 있었다. 영화 아바타(Avata)와 혹성탈출(Dawn of the Planet of the Apes)를 촬영하기 위해서 사용된 3D 센서나 마커를 이용한 모션 인식 기술은 움직임에 대한 제약사항을 줄여주었지만 카메라의 시야에서 벗어나면 인식할 수 없는 부분이 있다. 이런 문제를 해결하기 위해서 웨어러블 센서를 이용한 모션 연구가 활발하게 진행되고 있다[5].

    2.1.1. 반지형 모션 인식 디바이스

    반지형 장치는 손가락의 작은 움직임만으로도 컴퓨터나 주변 기기를 제어할 수 있는 장점이 있다. Nod 링은 검지에 착용한 상태에서 엄지손가락 터치로 클릭할 수 있고, 허공에서 자유롭게 움직여 다양한 명령을 수행할 수 있기 때문에 TV 화면 제어, IoT(Internet of Things) 도어락 제어에서부터 웨어러블 장치의 입력 장치로서의 유용성을 제시하고 있다. Fin 링은 엄지손가락에 착용하고 움직임만으로 제어하는 장치로 특히 시각 장애인들도 쉽게 사용할 수 있다는 장점이 있다. 유즈브레인넷의 모션링은 상당히 안정적인 인식 기능을 보이면서도 다양한 제스처를 인식하여 컴퓨터의 조작과 게임에 사용할 수 있는 기능을 제공한다.

    반지형 디바이스는 작은 움직임으로 피로감을 줄일 수 있으나 많은 사용자들이 만족감과 동시에 마우스와 같은 입력 디바이스를 대체하는 것에는 회의적인 반응을 보이고 있다. 단순힌 기능인 경우 제스처를 이용하는 것보다 리모트 컨트롤러 조작이 좀 더 편리하다는 것이 그 이유이다[6].

    2.1.2. 생체 신호 기반의 손 모양 인식 기술

    가속도 센서와 자이로스코프를 이용하여 사용자의 몸 움직임을 인식하는 센서로 주로 활용된다. 핸드 포스처(hand posture) 인식은 손가락 움직임을 검출하는 센서를 가진 장갑을 주로 이용하였다. 그러나 장감은 일상생활에서는 불편하기 때문에 사용하지 않는 경우가 많으므로 최근에는 근전도, 손목 힘줄 변화 등 생체 신호를 이용한 손 모양 인식 기술이 연구되고 있다.

    Myo는 암밴드형 제스처 장치로서, 손의 형태에 따라 팔 근육의 모양이 바뀔 때 미세하게 하는 변하는 근육의 전기신호(근전도)를 인식하여 손의 모양을 알아내고 내장 모션 센서로 제스처를 인식하는 장치이다. Myo는 컴퓨터를 제어하는 것뿐만 아니라, 로봇이나 드론을 직관적인 팔의 자세로 제어하는 응용에 적용함으로써 제스처 장치의 활용 가능성을 확장하였다. 하지만 사용자마다 근전도 신호가 다르고 착용하는 위치에 따라서 근전도 신호가 달라질 수 있기 때문에 이를 보정해야 하는 불편함이 수반된다[7]. 한국전자통신연구원(ETRI)에서는 손가락의 움직임에 따라서 손목 부위의 수목관이 변화하는 원리를 이용하여 손목밴드에서 이를 입력으로 인식하는 기술을 개발하였으며 이를 통해 IoT 디바이스를 제어하는 서비스를 개발 중이다[8].

    2.1.3. 비전 센서 기반의 손동작 인식 기술

    MIT에서는 책상, 벽 등 일상생활의 모든 면이 화면이 되고 자연스러운 터치 및 손동작으로 조작할 수 있는 SixthSense 기술을 개발하였다. 손가락 움직임 검출이 쉽도록 손가락 끝에 서로 구분되는 컬러밴드를 붙이고 카메라로 인식하여 손동작을 인식한다. 마이크로소프트와 카네기멜론대학교에서는 소형 프로젝터와 키넥트를 이용하여 맨손 인터랙션이 가능한 OmniTouch를 선보였다[9]. 조지아공대에서는 적외선 영상으로 입력된 손 영상으로부터 손동작을 인식하는 펜던트를 개발하였다. 손동작에 의한 명령 입력 기능뿐만 아니라 손의 움직임과 모양으로부터 수화(American Sign Language)를 인식하고 텍스트와 음성으로 바꾸어 건청인과 청각 장애인이 손쉽게 대화하는 서비스에 적용하였으며, 이후 센서가 있는 장갑과 비전 센서를 함께 이용하여 수화 번역의 실용성을 더욱 높인 CopyCat 프로젝트로 연구를 이어가고 있다.

       2.2. SVM(Support Vector Machine)

    SVM(Support Vector Machine)은 기계 학습 분류 알고리즘의 하나로써 두 그룹을 분류하기 위하여 최적의 분리 경계면인 초평면(Hyperplane)을 제공한다. 일반적으로 통계적 학습 시스템은 실험 데이터를 기반으로 기계를 학습시킨 후 학습에 이용되지 않은 새로운 데이터가 입력으로 들어올 때 올바른 답을 도출해 내는 시스템을 말하며 기계학습 시 오류를 최소화한다는 관점에서는 학습을 진행한다. 통계적 학습 이론은 데이터로부터 얻은 정보를 통하여 입, 출력에 관계에 대한 체계적인 모형을 구하는 방법을 제시하고 있다. 최근 사용되고 있는 SVM 알고리즘은 1995년 Vladimir Naumovich Vapnik에 의해 개발된 통계적 학습이론으로서 학습데이터와 범주 정보의 학습 진단을 대상으로 학습과정에서 얻어진 확률분포를 이용하여 의사결정함수를 추정한 후 이 함수에 따라 새로운 데이터를 이원 분류하는 것으로 VC (Vapnik-Chervonenkis) 이론이라고도 한다. SVM은 명료한 이론적 근거에 기반을 두고 있으며 실제 응용문제에서 높은 인식 성능을 나타내고 있다.SVM은 주어진 데이터로부터 구한 목적함수와 새로운 데이터가 입력되었을 때, 위험 함수를 최소화하면서 최적의 분류 초평면(Optimal Sperating Hyperplane)을 찾는 것이 목적이다.

    SVM은 이분법으로 선형 분리가 가능하지만 실제 데이터를 분리하는 경우에는 선형분리가 불가능한 경우가 많이 존재한다. 이러한 경우 슬랙 변수를 적용허가나 커널 함수를 적용하여 이분법으로 만들어주게 된다. 커널 함수로는 RBF(Ridial Basis Function) 커널, Poly커널 등이 있으며, 입력 공간의 비선형적인 높은 차수를 선형적으로 해석할 수 있다.

    SVM은 처음에 단순히 이진 분류를 위하여 개발되었으나 현재에는 다중 데이터에 대해 분류가 가능해지면서 생물정보학, 문자인식, 필기인식, 얼굴 및 물체 인식등 다양한 분야에서 사용되고 있다. SVM은 분류율을 높이기 위하여 분류 기준을 정할 뿐만 아니라 분류 기준에 대한 여백을 최대화하는 것까지 고려함으로써 일반적으로 결정트리나 신경망 등의 분류 알고리즘보다 성능이 좋은 것으로 알려져 있다[10].

    Ⅲ. 시스템 설계 및 구현

       3.1. 시스템 모델

    지화 번역 시스템을 구성하기 위해 구성된 시스템 모델은 각각의 기능 및 연결된 네트워크를 기준으로 구성부분을 나누었다. 제안하는 시스템의 구성 모델은 그림 1과 같다. 입력 부분은 지화를 사용하는 사용자의 손가락 모양과 손동작을 분석하기 위한 입력 디바이스 정보처리에 대한 역할을 담당한다.

    처리 부분은 입력된 정보를 분석하고 정규화하여 데이터베이스를 관리하는 API 서버로부터 일치하는 지화정보를 불러온다. 또한 웹 서버를 이용하여 출력 부분의 스마트 디바이스에 분석된 정보를 보여준다. API 서버 부분은 데이터베이스 서버와 연동하여 처리 부분에서 받은 정보를 바탕으로 데이터베이스 중 일치하는 정보를 넘겨주거나 새롭게 입력 받은 정보를 저장하는 역할을 한다.

    출력 부분은 번역된 정보를 사용자의 웹 브라우저 디바이스에 보여주는 역할을 수행 한다.

       3.2. 입력 부분

    제안하는 시스템에서 입력 부분은 SVM 알고리즘을 위한 학습 단계와 테스트 단계와 지화 정보 추적을 위해 사용된다. 입력 부분은 지화를 사용하는 사람의 손가락 모양 및 손동작을 추적한다. 학습 단계에서는 지화를 인식하기 위해서 손가락 모양과 손 방향을 SVM 알고리즘을 통해 학습시킨다. 그림 2는 입력을 위해 사용된 립 모션과 라즈베리 파이의 연결 동작 화면이다.

    그림 3은 학습을 진행 중인 화면이다. 학습과 테스트는 편이성을 위해서 데스크탑 컴퓨터에서 파이어폭스 웹 브라우저를 통해 진행하여 데이터베이스를 구축하였다. 학습단계 이후 테스트 단계에서는 손가락 모양과 손 위치 정보를 분석하여 올바른 지화를 선택하고 이를 문자로 변환하거나 단어를 생성하는지 확인한다.

       3.3. 처리 부분

    처리 부분에서는 데이터베이스 서버로부터 입력된 지화의 정보가 있는지 검색한다. 검색이 올바르게 진행된 경우 동작중인 웹 서버를 통해 연결된 건청인의 스마트 디바이스 브라우저에 글씨를 실시간으로 출력한다.

    그림 4는 사람의 손가락 뼈 구조를 나타낸다. 올바른 지화를 인식하기 위해서 왼손, 오른손을 구분하는 부분과 손의 방향, 각 손가락 끝마디뼈(말절골), 중간마디뼈(중절골) 첫마디뼈(기절골)의 위치 정보를 함께 처리하여 손의 방향, 손가락 모양 등을 구분한다. ㄱ(기역)과 ㄴ(니은)은 손의 모양이 동일하지만 방향이 다르며, ㅁ(미음)의 경우 주먹을 쥐고 있는 상태와 비슷하지만 검지와 중지는 말절골만 구부린 상태이기 때문에 각 손가락의 뼈 구조 정보도 함께 처리해야 한다. 그림 5는 실시간으로 교환하는 지화 정보를 JSON 구조로 디버깅 하는 화면이다.

       3.4. API 서버 부분

    본 논문에서는 립 모션을 지원하는 다양한 플랫폼에서 정보를 처리하고 데이터베이스 서버로부터 지화 정보를 받아오도록 처리하기 위해서 처리부분과 API 서버 부분을 분리하여 설계하였다. 즉, 입력 부분과 처리부분은 모바일을 지원하며 API 서버부분은 고정된 환경에서 사용할 수 있도록 구현하여 실시간 지화 번역을 원하는 사용자가 동시에 사용할 수 있도록 하였다. API 서버부분은 데이터베이스 서버와 미들웨어로 구성되며 처리 부분에서 받아온 정보를 데이터베이스에서 검색하여 JSON 형태로 반환한다. 그림 6은 구현된 미들웨어에서 사용하는 데이터 스키마 모델을 정의하는 코드이다.

       3.5. 출력 부분

    처리 부분이 백 엔드라면 출력 부분은 웹 서버의 프론트 엔트 부분을 말한다. socket.io를 통해 실시간으로 인식되는 지화 정보를 문자나 단어로 표현한다. 사용자의 접근성을 고려하여 다양한 디바이스가 지원되도록 별도의 설치가 필요한 앱이 아닌 브라우저에서 동작하는 HTML로 구현하였다. 확장성 있는 프론트 엔드 구현을 위해서 Bootstrap 프레임 워크와 동적 DOM 바인딩이 가능한 AngularJS를 사용하였다. 올바른 내용이 입력되었는지 디버깅을 위해서 지화 그림과 글로 나누어서 출력하였다.

    Ⅳ. 시스템 성능평가

    제안하는 시스템의 입력, 처리, 출력 부분 동작과 수화 번역기로서의 성능을 측정하기 위해서 10명의 사용자가 각각 10회씩 연속적인 입력으로 지화의 모음과 자음을 입력하였을 때의 성능을 측정하였다. 입력된 내용은 오타가 발생하더라도 수정하지 않으며 실사용성을 염두에 두었기 때문에 제안된 시간 안에 입력을 성공해야만 전체 입력이 완료된 것으로 간주하였다. 또한 안정된 상태가 아닌 불안정한 상태를 고려하여 상대방의 가슴에 립 모션을 부착하여 인식시키도록 하였다. 표 1은 각각 입력된 지화 인식 성공률을 나타낸다.

    [표 1.] 수화 인식 성공률

    label

    수화 인식 성공률

    자음의 경우 ㅁ(미음)의 경우 주먹을 쥐고 있는 상태가 아닌 검지와 중지를 첫 마디뼈는 세우고 끝마디만 구부린 상태이기 때문에 수화가 익숙한 사용자가 아니면 지화를 표현하기 어려운 부분이 있다. 때문에 인식률이 다른 자음에 비해서 낮은 성공률을 보였다. ㅂ(비읍)도 같은 이유로 다른 수화에 비해 낮은 성공률을 보이는 것으로 분석된다. 모음의 경우 ㅐ(애), ㅒ(얘), ㅔ(에) 그리고 ㅖ(예)가 손을 정확하게 표현하기 어렵기 때문에 인식률이 낮은 것으로 분석된다. 모션 인식을 위한 도구인 립 모션을 책상위에 올려놓는 등의 안정된 상태를 유지한 것이 아니라 상대방의 가슴에 부착한 상태에서 인식하였기 때문에 인식률이 최소 88%에서 최대 97%까지 넓은 분포를 보이긴 하지만 더 많은 학습을 진행하게 되면 성능이 개선될 것으로 보인다.

    Ⅴ. 결 론

    우리나라는 2015년 조사기준으로 약 21만명의 청각장애인이 살고 있다. 정보통신의 발전으로 다양한 정보화 디바이스가 개발되고 있으며 많은 사람들의 건강을 위해 연구가 활발하게 진행되고 있다.

    하지만 청각 장애인을 위한 공학보조기구는 AAC와 같은 발화기, 증폭기가 있긴 하지만 종류가 많지 않으며 다양한 환경에서 청강 장애인과 건청인 사이의 자유로운 의사소통을 하기 에는 많은 제한점이 따른다.

    본 논문에서는 기존에 지화 입력을 위해 연구가 이루어지던 카메라 모션 인식의 한계를 극복하고 저비용의 휴대가 간편한 지화 번역 시스템은 설계 및 구현하였다. 손가락 모양과 손 동작을 추적하여 지화를 입력하기 위해서 립 모션을 이용하였으며, 학습을 위한 알고리즘으로 SVM 알고리즘을 이용하였다. 립 모션의 정보를 분석하여 데이터베이스 서버와 정보 교환을 위한 디바이스로 저전력으로 동작하며 신용카드 크기로 휴대가 간편한 라즈베리 파이를 이용하였다.

    개발된 시스템은 Node.js를 이용하기 때문에 플랫폼에 구애받지 않는다. 라즈베리 파이에 작동 이상이 생겼을 경우 사용자가 립 모션을 연결한 컴퓨터에서 Node.js만 설치하면 언제나 사용 가능하기 때문에 실제로는 립 모션만 휴대해도 사용이 가능하다. 또한 실시간 처리를 통해서 번역된 정보를 출력하는 부분을 웹 서버를 통해 HTML 정보로 출력하도록 하였기 때문에 별도의 설치가 필요한 앱을 이용하지 않고 웹 브라우저를 이용할 수 있다. 때문에 웹 브라우징이 가능한 디바이스에서는 언제든지 정보를 이용할 수 있으며 AngularJS와 Socket.io를 이용해 실시간 처리 및 출력이 가능하도록 하였다.

    제안한 시스템은 상대방 가슴에 부착한 상태에서 최소 88%에서 최대 97%까지의 인식률을 보이며 더 많은 학습을 통해 인식률 개선이 가능하다. 향후 연구로서 운영체제가 필요한 디바이스가 아닌 최소한의 정보 구조로 동작할 수 있는 아두이노와 같은 디바이스를 연동하여 더 많은 플랫폼을 지원할 수 있도록 연구를 진행할 계획이다. 또한 가속도 센서를 이용하여 다양한 모션을 추가적으로 지원할 수 있도록 연구를 확장할 계획이다. 이를 위해서는 사용자의 요구에 따른 맞춤 서비스를 위한 수화 번역 시스템의 연구가 진행되어야 할 것이다.

참고문헌
  • 1. Heward William L. 2012 Exceptional Children:An Introduction to Special Education google
  • 2. Yang Quan, Peng jinye 2008 “Application of improved sign language recognition and synthesis technology in IB”, [Industrial Electronics and Applications] P.1629-1634 google
  • 3. Song Ji-Won, Yang Sung-Ho 2009 "Design of Communication System for the Hearing Impaired" [Journal of Korean Society Design Science] Vol.22 P.197-206 google
  • 4. Park Sung-Wook, Wang Bo-Hyeun 2014 "Web-based Text-To-Sign Language Translating System" [Journal of Korean Institute of Intelligent Systems] Vol.24 P.265-269 google cross ref
  • 5. Park Ki-woong, Jeon Tae-il 2015 "R&D Status and Industry Prospects of Wearable Device" google
  • 6. Nod Inc google
  • 7. Myo-Gesture control armband by Thalmic Labs google
  • 8. Korea Electronics Technology Institute google
  • 9. Chirs Harrison google
  • 10. 2000 “Support vector machine learning algorithm and transduction” [A. Computational statistics] Vol.15 google
OAK XML 통계
이미지 / 테이블
  • [ 그림 1. ]  시스템 모델
    시스템 모델
  • [ 그림 2. ]  립 모션과 라즈베리 파이
    립 모션과 라즈베리 파이
  • [ 그림 3. ]  지화 학습
    지화 학습
  • [ 그림 4. ]  사람의 손가락 뼈 구조
    사람의 손가락 뼈 구조
  • [ 그림 5. ]  JSON 메시지 화면
    JSON 메시지 화면
  • [ 그림 6. ]  데이터 스키마 코드
    데이터 스키마 코드
  • [ 표 1. ]  수화 인식 성공률
    수화 인식 성공률
  • [ 그림 7. ]  번역된 내용을 출력하는 화면
    번역된 내용을 출력하는 화면
(우)06579 서울시 서초구 반포대로 201(반포동)
Tel. 02-537-6389 | Fax. 02-590-0571 | 문의 : oak2014@korea.kr
Copyright(c) National Library of Korea. All rights reserved.