DOI QR코드

DOI QR Code

영상처리 기반 숫자 수화표현 인식 알고리즘

Numeric Sign Language Interpreting Algorithm Based on Hand Image Processing

  • 투고 : 2018.11.21
  • 심사 : 2019.04.15
  • 발행 : 2019.06.30

초록

The existing auxiliary communicating aids for the hearing-impaired have an inconvenience of using additional expensive sensing devices. This paper presents a hand image detection based algorithm to interpret the sign language of the hearing-impaired. The proposed sign language recognition system exploits the hand image only captured by the camera without using any additional gloves with extra sensors. Based on the hand image processing, the system can perfectly classify several numeric sign language representations. This work proposes a simple lightweight classification algorithm to identify the hand image of the hearing-impaired to communicate with others even further in an environment of complex background. Experimental results show that the proposed system can interpret the numeric sign language quite well with an accuracy of 95.6% on average.

키워드

Ⅰ. 서론

청각 장애란 선천적 혹은 후천적 요인으로 청력이 상당히 떨어져 있거나 전혀 들리지 않는 상태의 장애를 뜻한다. 2018년 기준 전국 청각장애 인구수는 약 34만 명, 그 중 약 2만 명을 대상으로 실시한 의사소통 방식 조사에서 61%의 응답자가 수화를 사용한다고 응답하였으며 입 모양을 보며 유추하는 방식인 구화와 종이나 텍스트를 이용하여 대화하는 필담 방식을 사용하는 경우가 각각 20.6%와 18.4%의 응답률을 보였다 [1].

60% 이상의 청각장애인이 수화를 사용하지만 가족 또는 지인이 청각장애인인 경우를 제외하면 수화를 접하거나 배울 기회가 없고 일상생활에서도 청각장애인과 대화를 하는 경우가 거의 없다 보니 막상 청각장애인들이 수화로 말을 걸어오면 의사소통이 어렵다. 이러한 의사소통의 부재로 인한 불편함을 해결하기 위해 청각장애인들은 의사소통을 보조해줄 수 있는 AAC (Augmentative Alternative Communication) 장치와 TTS (Text To Speech) 기술을 이용한 장치 등을 사용한다 [2].

AAC 장치는 상황에 맞는 그림 버튼을 누르면 미리 녹음된 목소리가 출력되는 장치이며 TTS 기술을 이용한 장치는 텍스트를 입력하면 이를 음성으로 출력해주는 장치이다. 이러한 보조도구들은 특정 상황에 맞게 의사를 전달할 수 있다는 편리한 점이 있지만 일상생활의 모든 상황을 표현해 주기에는 한계점이 있으며 상황마다 일일이 문장 표현을 찾아야 한다는 점에서 불편함이 있다. 그 외의 여러 가지 의사소통 보조 장치가 있지만 의사소통 시 주로 사용하는 수화를 인식하여 통역해주는 장치나 프로그램은 연구 단계까지만 진행된 경우가 대부분이고 완전한 기능을 갖춘 프로그램은 없다. 앞선 통계에서 60%가 넘는 청각장애인들이 수화를 이용하는 것으로 미루어 보면 수화를 인식하여 통역해주는 장치는 일일이 상황마다 표현을 찾거나 입력해야 하는 AAC, TTS 장치보다 더 실용적이며 무엇보다도 주로 사용하는 의사소통 방식을 이용하여 의사를 전달할 수 있다는 편리함이 있다.

수화 인식 분야는 많은 연구가 진행되었거나 진행 중이지만 기존에 진행되었던 수화 인식에 관한 연구들은 대부분 미국 수화를 기준으로 연구가 진행되었으며 한국수화에 대한 연구는 상대적으로 많이 적다. 각 나라마다 언어가 다르듯이 미국 수화와 한국 수화 역시 표현방식이 다르기 때문에 한국수화에 대한 독립적인 연구가 필요하다. 기존에 진행되었던 연구는 하드웨어, 소프트웨어를 기반으로 시스템이 구현되었으며 소프트웨어 방식은 영상처리 라이브러리를 사용하여 제작되었거나 [3] Kinect [4]를 이용한 방식, 하드웨어 방식은 센서를 부착한 글러브 등의 방식으로 구현되었다.

하드웨어를 기반으로 구현된 수화통역 시스템 중 장갑에 센서를 부착한 Enable Talk [5], Sign aloud가 있다. Gyro 센서와 Flex 센서를 이용한 손의 움직임 추적, 손가락의 구부러짐 정도를 측정하여 데이터를 블루투스 통신으로 컴퓨터에 전송하고 데이터베이스에서 수집된 결과를 산출한다 [6].

소프트웨어를 이용한 방식에는 Kinect를 이용하거나 OpenCV를 활용하여 이미지 전처리 과정을 거친 후 자체적인 알고리즘을 이용하거나 기계학습 알고리즘을 활용한 방식도 있으며 Template Matching을 활용한 방식도 있다 [7]. Kinect를 이용한 방식은 내장되어있는 카메라를 이용하여 Depth image를 촬영 후 정적, 동적 동작으로 나누어 학습을 진행하는 방식이 있고 [8], 한국 수화와 국제 수화를 양방향으로 번역해주는 수화 번역 시스템도 있다 [9]. OpenCV를 활용하여 입력 이미지를 전 처리한 후 특징점 추출 과정을 거쳐 SVM (Support Vector Machine)을 이용한 수화 통역 알고리즘 [10], 전처리 과정을 거친 후 손 영역을 검출하여 자체 알고리즘으로 수화를 인식한 방식이 주를 이루었다. 소프트웨어 기반 수화 인식은 기본 RGB 색상 영역에서 HSV [11], YCbCr, YCgCr 등의 색상 영역으로 변환하여 손 영역을 검출하였다.

하드웨어 방식은 센서를 이용하여 좀 더 정밀한 측정이 가능하지만 수화통역을 위해서는 반드시 장갑을 착용해야 하므로 불편하고 휴대성이 떨어지는 단점이 있다. 또한 사람마다 수화 동작의 크기와 손의 위치가 다르기 때문에 모든 경우를 일반화하는 것에는 많은 시간과 어려움이 따른다. 반면에 소프트웨어 방식은 수화통역을 위해 장갑을 착용하지 않아도 되므로 장비 착용으로 인한 불편함은 없으며 센서와 같은 장비가 필요 없으므로 비용적인 측면에서도 더 경제적이다.

기존 연구에서는 객체인식 및 손 영역 인식을 위해 하나의 색상 영역을 사용하였다면 본 연구에서는 네 가지의 색상 영역을 융합한 알고리즘을 사용하였다. 이는 입력되는 이미지마다 다양한 환경이존재하여 한 가지의 색상 영역을 사용할 때 발생할 수 있는 인식률 감소 등의 문제점을 보완할 수 있다. 색상 영역의 변환을 통해 추출된 손 이미지는 윤곽선 탐지 과정을 거쳐 포인트 연산 과정을 거쳐 숫자 수화 표현을 인식하게 된다.

본 논문은 영상처리 기반 숫자 수화표현 (1~10) 인식 알고리즘을 제안한다. 해당 알고리즘은 정적인 동작보다 동적인 동작이 더 많은 수화언어의 특성을 모두 표현하지 못하고 숫자 1~10까지의 숫자 표현만 인식 할 수 있다. 하지만 차후에 머신러닝 혹은 딥 러닝 알고리즘을 활용한 수화인식기 알고리즘을 설계 시 중요한 전처리 과정에 대한 접근 방식을 제공할 수 있다는 이점이 있다.

Ⅱ. 관련 연구

수화 인식 분야는 다방면으로 연구가 진행되고 있으며 기존에는 OpenCV를 이용한 방식이 주를 이루었지만 영상처리 기술의 특성상 주변 환경의 변화에 민감하기 때문에 높은 인식률을 기대하기 어렵다. 최근의 연구는 이러한 문제점들을 해결하기 위해 기계학습 방식을 활용하며 머신 러닝과 딥러닝 알고리즘을 활용한 방식이 주를 이루고 있다.

SVM (Support Vector Machine) [12] 은 대표적인 머신 러닝 알고리즘이며 딥 러닝 알고리즘이 등장하기 전 패턴인식 및 자료 분석을 위한 알고리즘 중 가장 뛰어난 성능으로 주목받은 알고리즘이다. 화 인식을 위해 손의 특징점 추출을 SIFT (Scale Invariant Feature Transform) [13] 알고리즘을 사용하여 수화동작을 인식한다.

HMM (Hidden Markov Models)은 모델을 구성하고 있는 데이터들의 상태 전이가 특정한 확률 값을 통해 이루어진다는 특징이 있으며, 수화 동작처럼 손동작이 순차적으로 일어나는 데이터를 처리하기에 적합한 머신 러닝 알고리즘이다 [14].

딥러닝을 이용한 수화 인식 연구는 CNN (Convolutional Neural Network)을 이용한 수화 인식 연구가 있다. CNN 모델은 이미지 인식 부분에서 딥러닝의 아키텍처 모델 중 가장 성능이 좋은 모델로 널리 사용되고 있다 [15].

Ⅲ. 시스템 설계

1. 수화의 숫자표현

본 논문에서 기술 구현으로 사용될 숫자 수화 (1~10) 표현은 그림 1과 같다.

OBDDBE_2019_v14n3_133_f0001.png 이미지

그림 1. 숫자 수화 표현 (1~10)

Fig. 1 Numeric sign language representation (1~10)

수화는 손을 이용하는 언어이므로 이미지 또는 프레임에서 수화를 인식하려면 이미지 전처리 과정을 거쳐 윤곽선 탐지, 포인트 연산, 손의 방향 탐지, 특수조건 알고리즘의 조합으로 수화를 인식하게 된다.

2. 수화의 숫자표현 인식 알고리즘

OBDDBE_2019_v14n3_133_f0002.png 이미지

그림 2. 수화의 숫자표현 인식 알고리즘

Fig. 2 Numeric sign language representation recognition algorithm

3. 이미지 전처리

3.1 손 영역 추출

이미지 또는 프레임에서 인간의 피부 영역을 ROI (Region of Interest)로 추출하기 위해서는 피부 영역에 해당되는 특정 색상 범위를 지정한 뒤 피부 영역을 추출해야 하며 기존의 RGB 색상과 YCbCr [16], HSV [17], YCgCr [18] 색상영역을 융합하여 손 영역 검출을 위한 모델을 구성한다.

그림 4는 그림 3을 각각의 색상모델로 변환 시킨 후 이진 이미지로 변환시킨 결과이다. 같은 이미지임에도 각각의 색상영역에서 다른 결과가 도출되는 점을 확인할 수 있다.

OBDDBE_2019_v14n3_133_f0003.png 이미지

그림 3. 실험 이미지

Fig. 3 Test image

OBDDBE_2019_v14n3_133_f0004.png 이미지

그림 4. 손 영역 검출 이미지 (a) : RGB, (b) : HSV, (c) : YCgCr, (d) : YCbCr

Fig. 4 Hand region extraction image (a) : RGB, (b) : HSV, (c) : YCgCr, (d) : YCbCr

이처럼 입력되는 이미지의 환경에 따라 각각의 색상 영역에서 검출되는 정도가 달라 어느 한 가지의 색상 영역이 손 영역 검출을 위한 최적의 색상 영역임을 단정 지을 수 없다. 특히 입력 이미지에 복잡한 배경이 포함되어 있는 경우에는 손 이외에 비슷한 색상을 가진 부분이 함께 추출되어 잡음영역이 발생한다. 다양한 환경에서의 손 영역 검출은 이미지 AND연산을 이용하면 그림 5와 같이 잡음영역을 상쇄시키는 효과를 얻을 수 있다 [19].

OBDDBE_2019_v14n3_133_f0005.png 이미지

그림 5. 이미지 AND 연산

Fig. 5 Image And Operation

이미지 AND 연산으로 제거되지 않은 잡음 영역은 윤곽선 탐지과정을 통하여 ROI (Region of Interest)영역에서 제외시킬 수 있다 . 또한 색상 영역을 융합하여 사용할 대상 이미지 중 손 영역만 완벽하게 검출된 이미지와 잡음이 포함되어 있는 이미지를 AND 연산 시키면 결과 이미지에 잡음이 포함되어 있는데 이 부분은 그림 6과 같이 모폴로지 [20] 연산을 통해 손실된 부분을 보완할 수 있다.

OBDDBE_2019_v14n3_133_f0006.png 이미지

그림 6. (a) : AND연산 이미지, (b) : 모폴로지 연산 이미지

Fig. 6 (a) : AND operation image, (b) : Morphology operation image

3.2 윤곽선 탐지

객체의 윤곽선 탐지는 이미지에 있는 객체의 형태인식을 통해 객체의 특성을 파악하기 위해 사용하며 지도에서 같은 고도를 가진 곳을 연결해놓은 선인 등고선과 같은 맥락으로 같은 값을 가진 곳을 연결한 선이다.

색상 영역의 변환을 통해 전 처리된 이미지의 윤곽선을 탐지하면 배경이 단순한 경우에는 손 영역만 윤곽선이 탐지되지만 배경이 단순하지 않은 경우 피부 색상과 비슷한 여러 부분에서 윤곽선이 탐지된다. 손 영역의 윤곽선만 남겨두기 위해 넓이를 기준으로 문턱 처리를 하면 그림 7과 같이 손 영역 이외의 잡음 영역을 ROI 에서 제외시킬 수 있다.

OBDDBE_2019_v14n3_133_f0007.png 이미지

그림 7. 윤곽선 탐지

Fig. 7 Contour detection

4. 포인트 연산

포인트 연산은 객체로부터 추출된 윤곽선에서 진행되며 10 가지의 숫자를 구별하기 위한 과정이다. Convex Hull, Convexity Defects를 활용하여 각 손가락에 대한 포인트를 구할 수 있다 [21] (그림 8 참조). Contour와 Convex Hull 이 만나는 지점의 인덱스를 구한 후 Convex Hull 이 시작되는 지점 (Start, 꼭짓점 A), 다음 Convex Hull 을 이어가는 지점 (End, 꼭짓점 B), 두 지점을 연결한 부분과 가장 멀리 떨어져 있는 지점 (Far, 꼭짓점 C), 총 세 지점을 구할 수 있다.

 OBDDBE_2019_v14n3_133_f0008.png 이미지

그림 8. 포인트 계산 (예시)

Fig. 8 Point operations (Example)

그림 8에서 각 꼭짓점의 x, y 좌표를 A (x1, y1), B (x2, y2), C (x3, y3) 라 하고 각 꼭짓점과 마주 보는 선분을 a, b, c라 하면 각 선분의 길이는 두 점 사이의 거리를 계산하는 식 (1) 을 이용하여 구할 수 있다 . 위와 같은 과정을 실험 이미지에 적용시키면 손가락에 대한 포인트를 얻을 수 있는데 그림 8. (a) 의 1번 점은 Start point, 2번 점은 End point, 3번 점은 Far point이다 . 실제로 손 이미지에서 포인트를 검출하면 많은 포인트가 검출되는데 예시 그림의 경우 꼭짓점이 있는 별 모양의 객체이므로 Contour와 Convex Hull 이 만나는 지점이 한 곳 밖에 없지만 사람의 손은 끝이 둥그런 객체이므로 Contour와 Convex Hull 이 만나는 지점이 많아 수많은 점이 잡힌다. 이 점을 필터링하기 위해서는 앞서 구한 각각 세 지점의 각도가 90° 가 넘지 않는 지점을 남겨두면 각 손가락에 대한 포인트 지점으로 남겨둘 수 있다. 이미 앞선 과정에서 세 변의 길이를 구하였기 때문에 제 2코사인 법칙을 이용하면 세 변 사이 끼인각의 각도를 구할 수 있다.

 \(\begin{array}{l} a=\sqrt{\left(x_{3}-x_{2}\right)^{2}+\left(y_{3}-y_{2}\right)^{2}} \\ b=\sqrt{\left(x_{3}-x_{1}\right)^{2}+\left(y_{3}-y_{1}\right)^{2}} \\ c=\sqrt{\left(x_{2}-x_{1}\right)^{2}+\left(y_{2}-y_{1}\right)^{2}} \end{array}\)       (1)

식 (2) 를 사용하여 제 2코사인 법칙으로 구한 사이 각이 90 도 이하가 되는 지점을 남겨두면 그림 9처럼 필터링 된 포인트의 결과를 얻을 수 있다.

 \(\begin{array}{l} a^{2}=b^{2}+c^{2}-2 b c \cos A \\ b^{2}=a^{2}+c^{2}-2 a c \cos B \\ c^{2}=a^{2}+b^{2}-2 a b \cos C \end{array}\)       (2)

OBDDBE_2019_v14n3_133_f0009.png 이미지

그림 9. (a) : 포인트 연산 (필터링 되지 않은 포인트), (b) : 필터링 된 포인트

Fig. 9 (a) : Point operations (Non filtered point), (b) : Filtered point

숫자 1~10까지의 이미지를 대상으로 포인트를 검출한 결과는 표 1과 같다.

표 1. 숫자별 각각의 포인트 개수

Table 1. Number of points each numeral

OBDDBE_2019_v14n3_133_t0001.png 이미지

표 1을 분석해보면 숫자 (2, 5, 6, 9), (3, 7, 10), (4, 8) 의 포인트 개수가 1, 2, 3개로 같기 때문에 10 개의 숫자를 구분하기 위해서는 손의 방향을 탐지하는 알고리즘을 추가하여 기준을 세분화 시킬 수 있다.

5. 손 방향 검출

그림 1을 보면 손 방향이 수직 (1~5, 10), 수평 (6~9) 방향으로 나누어져 있는 것을 확인할 수 있다. 따라서 손의 방향을 탐지하여 조건을 세분화하면 기준을 좁혀나갈 수 있다. 손의 방향을 탐지하기 위해 앞서 구한 세 가지의 포인트 외에 다른 점을 추가적으로 구해야 하는데 COG (Center of Gravity), Mid, Depth 포인트이다 (그림 10 참조). COG 포인트는 윤곽선 내부에서 무게중심이 되는 점, 펴진 손가락 중 가운데 지점이 되는 Mid 포인트, Far 포인트 중 가운데 지점이 되는 Depth 포인트를 각각 구한다.

OBDDBE_2019_v14n3_133_f0010.png 이미지

그림 10. Mid, Depth, COG 포인트 (상단부터)

Fig. 10 Mid, depth, COG points (From top)

손의 방향을 탐지하는 방법은 Mid 포인트와 Depth 포인트 그리고 COG 포인트의 x, y 좌표를 이용하여 구할 수 있다 [22]. Mid 포인트와 Depth 포인트의 y좌표 차이 값이 x좌표 차이 값보다 크면 수직 방향이 되고 그 반대이면 수평 방향이 된다. 수직 방향에서 위, 아래를 구분하는 방법은 COG 포인트와 Mid 포인트의 y좌표 값을 이용한다. 손의 방향이 위쪽인 경우에는 Mid 포인트가 COG 포인트 보다 항상 위쪽에 있고 손의 방향이 아래쪽인 경우는 Mid 포인트가 COG 포인트보다 항상 아래쪽에 위치한다. 수평방향에서 좌, 우를 구분하는 방법은 COG 포인트와 Mid 포인트의 x좌표를 이용한다. 손의 방향이 왼쪽인 경우에는 Mid 포인트가 COG 포인트 보다 항상 왼쪽에 위치하고 손의 방향이 오른쪽인 경우는 Mid 포인트가 COG 포인트보다 항상 오른쪽에 위치하게 된다.

손의 방향을 탐지하여 포인트 조건과 함께 결합해 보면 표 2와 같다. V는 수직 (Vertical)을 나타내며 H는 수평 (Horizontal)을 나타낸다.

표 2. 포인트 개수와 손의 방향

Table 2. Number of points and hand orientation

OBDDBE_2019_v14n3_133_t0002.png 이미지

손 방향 탐지 알고리즘이 추가되어 기존의 조건에서 세분화되어 (2, 5, 6, 9), (3, 7, 10), (4, 8) 의 조건에서 (3, 4, 7, 8) 은 구분이 가능해지고 나머지 (2, 5), (6, 9), (3, 10) 의 경우 각각의 구분 조건을 둔다면 10 가지의 숫자 구분이 가능해진다.

6. 숫자 표현 인식기

6.1 Distinguish 2 and 5

숫자 2와 5, 3과 10 을 구분하기 위해서는 OpenCV에서 제공하는 Bounding Box 를 이용하며, 숫자 2와 5의 경우 손의 방향이 수직이며 포인트 개수가 1개여서 손의 방향과 포인트 개수 조합으로는 구별 기준이 될 수 없어 윤곽선에 외접하는 사각형인 Bounding Box 를 활용하여 구별한다. 숫자 2와 5의 Bounding Box 를 비교해보면 숫자 2의 경우 손가락이 수직 방향으로 펼쳐져 있어 그림 11 과 같이 Bounding Box 가 직사각형 형태이고 5의 경우 손가락이 수평방향으로 펼쳐져 있어 Bounding Box 가 정사각형에 가까운 모양으로 형성된다. 숫자 2와 5의 구분은 Bounding Box 의 종횡비로 구분을 하는데 OpenCV에서 제공해주는 라이브러리 함수를 사용하여 종횡비를 구한다. 이 함수는 Bounding Box 가 정사각형에 가까울수록 1에 근접한 값을 리턴하며 숫자 2와 5는 손가락이 펴져있는 방향이 다르기 때문에 종횡비에서 확연한 차이를 보이므로 종횡비를 기준으로 숫자 2와 5를 구분한다.

OBDDBE_2019_v14n3_133_f0011.png 이미지

그림 11. 숫자 2와 5의 Bounding Box

Fig. 11 Bounding box of number 2 and 5

6.2 Distinguish 3 and 10

다음 3과 10 의 구분 방법으로 2와 5의 구분방법과 마찬가지로 Bounding box 를 활용한다. 2와 5는 윤곽선에 외접하는 사각형의 종횡비를 기준으로 구분하였다면 3과 10 은 그림 12 와 같이 윤곽선에 외접하는 사각형 중 가장 작은 사각형과 윤곽선이 치우쳐져있는 방향까지 함께 찾아 그 사각형의 각도를 측정한다.

OBDDBE_2019_v14n3_133_f0012.png 이미지

그림 12. 숫자 3과 10의 Rotate Bounding Box

Fig. 12 Rotate bounding box of number 3 and 10

숫자 3과 10 의 Rotate Bounding Box 각도를 측정해보면 숫자 3은 0° 또는 80°~90°사이로 측정되고 숫자 10 은 그 외의 각도로 측정된다. Rotate Bounding Box 의 각도 값을 기준으로 3과 10 을 구분한다.

6.3 Distinguish 6 and 9

6과 9는 손가락이 펴진 방향이 수평방향으로 같아 종횡비를 구분 기준으로 사용할 수 없으며, 또한 Rotate Bounding Box 의 각도 또한 구별 기준으로 사용할 수 없다. 6과 9의 구분을 위해 이진 이미지를 이용하여 COG-END 포인트 간의 픽셀 값 (0 또는 255) 의 개수를 이용하여 구별한다.

그림 13 은 숫자 6과 9의 구별을 위한 이진 값 측정 범위를 나타낸 것이며 COG 포인트에서 END 포인트 (END 포인트의 y좌표는 COG 포인트의 y좌표와 동일한 위치) 사이에 그어져 있는 선 부분의 이진 값의 개수를 이용하여 비교한다. 숫자 6의 경우 약 45:55의 비율로 0과 255 값이 분포하고 숫자 9의 경우 약 5:95 의 비율로 0과 255 값이 분포한다. 이로써 숫자 10 개에 대한 구분이 완료되었다.

OBDDBE_2019_v14n3_133_f0013.png 이미지

그림 13. 숫자 6과9의 이진 값 측정범위

Fig. 13 Binary value measurement range numeric 6 and 9

Ⅳ. 실험 결과

1. 실험 장비

실험에 사용된 컴퓨터 사양은 표 3과 같다.

표 3. 시스템 사양

Table 3. System specifications

OBDDBE_2019_v14n3_133_t0003.png 이미지

2. 정확도 측정

본 논문에서 제안한 알고리즘의 정확도를 측정하기 위해 실험을 진행하였으며, 그림 14 와 같이 직접 제작한 숫자 이미지 데이터셋을 이용하였다. 모든 이미지는 직접 촬영하였으며 각 숫자마다 25장의 이미지로 구성되어있다.

OBDDBE_2019_v14n3_133_f0014.png 이미지

그림 14. 손 이미지 데이터셋

Fig. 14 Hand image dataset

3. 결과 분석

각 숫자 별 평균 인식률과 인식 시간은 표 4와 같으며 총 평균인식률은 95.6%이다. 또한 평균 인식 시간은 1.21 초가 소요되었다.

표 4. 각 그룹의 인식률 (%) 및 인식 시간

Table 4. Recognition rate (%) and time (s) for each group

OBDDBE_2019_v14n3_133_t0004.png 이미지

4. 영상처리기반 숫자 수화표현인식 알고리즘의 한계

본 논문에서 제안한 영상처리 기반 숫자 수화표현 인식 알고리즘은 머신러닝 혹은 딥러닝 알고리즘이 적용되지 않았으며 입력 이미지의 환경에 따라 영향을 많이 받는 영상처리 기술의 특성상 배경영역이 피부 색상과 비슷한 경우, 조명이 불균일하게 들어오는 경우에는 높은 검출율을 기대하기 어려웠다.

그림 15 는 배경 영역에 피부색상이 포함되어 있는 경우이며 해당 이미지를 YCgCr 색상으로 변환시키면 손 영역과 배경 영역의 색상이 유사하다.

OBDDBE_2019_v14n3_133_f0015.png 이미지

그림 15. (a) YCgCr 변환이미지, (b) 이진 이미지

Fig. 15 (a) YCgCr image, (b) Binary image

입력 이미지의 조명이 불균일한 그림 16 과 같이 손 영역을 제대로 추출하지 못하며 결과적으로 올바르지 못한 결과를 도출하게 된다.

OBDDBE_2019_v14n3_133_f0016.png 이미지

그림 16. 불균일한 조명

Fig. 16 Uneven lighting

본 논문에는 네 가지의 색상 영역을 융합하여 사용하였는데 HSV, YCbCr의 경우 색상영역 변환 라이브러리 함수가 제공되지만 YCgCr 색상모델의 경우 색상영역 변환을 위한 라이브러리 함수가 구현되어 있지 않아 직접 구현하였다. 해당 알고리즘은 모든 픽셀에 접근하여 픽셀 값을 각각의 채널에 맞는 값으로 변경시키는 방식으로 진행되며 이는 이미지의 해상도가 높아질수록 많은 처리시간을 요하며 이미지가 아닌 동영상을 이용할 경우 실시간성을 보장하기 어렵다. 그리하여 반복되는 작업에 대한 처리속도가 늦어지는 개발언어의 특성상 낮은 해상도의 이미지를 이용하였다.

Ⅴ. 결론

본 논문에서는 OpenCV를 활용한 숫자 수화 표현을 인식하는 알고리즘을 제안하였으며 현재 이 알고리즘은 숫자 1~10까지의 숫자만 구분이 가능하지만, 수화에는 정적인 동작보다 동적인 동작이 훨씬 더 많다. 더 넓은 범위의 숫자, 자음, 모음 그리고 동적인 동작까지 표현 범위를 넓히기 위해서는 OpenCV만을 활용한 알고리즘을 사용하기에는 많은 한계점이 따른다. 향후 이 한계점을 극복하기 위해 딥러닝 알고리즘 중 이미지 인식 분야에서 우수한 성능을 보이는 CNN (Convolutional Neural Network)을 이용하면 더 넓은 범위로의 수화 표현이 가능하게 되어 청각 장애인에게 실질적인 도움을 줄 수 있는 완전한 수화통역 알고리즘으로 구현을 확장할 계획이다.

참고문헌

  1. Statistics Korea 1. (The Number of Registered Disabled Person - By City, Type, Gender) 2. (Characteristics of Hearing Disabled - Method to Communicate Who Mostly Use).
  2. S. Glennen, DC. Decoste, "The Handbook of Augmentative and Alternative Communication," Singular Publishing Group, INC. San Diego. London, 1997.
  3. Joshua R. New, "A Method for Hand Gesture Recognition," Proceedings of IEEE Communication Systems and Network Technologies, pp. 919-923, 2002.
  4. C. Dong, C. Leu, Z. Yin, "American Sign Language Alphabet Recognition Using Microsoft Kinect," Proceedings of IEEE Conference on Computer Vision and Pattern Recognition, pp.44-25, 2015
  5. EnableTalk website, Avaliable on : http://enabletalk.com.
  6. S. Koo, I. Jang, Y. Son, "An Open Source Hardware based Sign Language Interpreter Glove & Situation Awareness Auxiliary IoT Device for the Hearing Impaired," Journal of Korean Institute of Information Scientists and Engineers Transactions on Computing Practices, Vol. 24, No. 4, pp. 204-209, 2018 (in Korean).
  7. M. Frenando, J. Wijayanayaka, "Low Cost Approach for Real Time Sign Language Recognition," Proceedings of IEEE Conference on Industrial and Information Systems, pp. 18-20, 2013.
  8. S.S. Hazari, Asaduzzaman, L.Alam, N.A. Goni, "Designing a Sign Language Translation System Using Kinect Motion Sensor Device," Proceedings of Conference on Electrical, Computer and Communication Engineering, pp. 16-18, 2017.
  9. D.M. Capilla, "Sign Language Translator Using Microsoft Kinect XBOX 360TM," Department of Electrical Engineering and Computer Science - compute Vision Lab, University of Tennessee, 2012.
  10. A. Kumar, K. Thankachan, M.M. Dominic, "Sign Language Recognition," Proceedings of Conference on Recent Advances in Information Technology, 2016.
  11. S. Chae, K. Jun, "HSV Color Model based Hand Contour Detector Robust to Noise," Journal of Korea Multimedia Society, Vol. 18, No. 10, pp. 1149-1156, 2015 (in Korean). https://doi.org/10.9717/KMMS.2015.18.10.1149
  12. R.N. Nagashree, S. Michahial, G.N. Aishwarya, B.H. Azeez, M.R. Jayalakshmi, R.K. Rani, "Hand Gesture Recognition Using Support Vector Machine," Journal of Engineering And Science (IJES), Vol. 4, No. 6, pp. 42-46, 2015.
  13. T. Lindeberg, "Scale Invariant Feature Transform," Journal of Computer Sciences Computer Vision and Robotics (Autonomous Systems), Vol. 7, No. 5, pp. 10491, 2012.
  14. J. Zhang, W. Zhous, C. Xie, J. Pu, H. Li, "Chinese Sign Language Recognition with Adaptive HMM," Proceedings of IEEE International Conference on Multimedia and Expo (ICME), pp. 1-6, 2016.
  15. P. Molchanov, S Gupta, K. Kim, J. Kautz, "Hand Gesture Recognition with 3D Convolutional Neural Networks," Proceedings of IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pp. 1-7, 2015.
  16. S. Kolkur, D. Kalbandee, P. Shimpi, C. Bapat, J. Jatakia, "Human Skin Detection Using RGB, HSV, and YCbCr Color Models," Proceedings of IEEE Conference on Acoustics, Speech and Signal Processing, 2017.
  17. Wikipedia document (HSL and HSV) Avaliable on : https://en.wikipedia.org/wiki/HSL_and_HSV
  18. Y. Xu, G. Pok, "Identification of Hand Region Based on YCgCr Color Representation," Journal of Applied Engineering Research, Vol. 12, No. 6, pp. 1031-1034, 2017.
  19. Z. Zhengzhen, S. Yuexiang, "Skin Color Detecting Unite YCgCb Color Space with YCgCr Color Space," Proceedings of Conference on Image Analysis and Signal Processing, pp. 221-225, 2009.
  20. W.Burger, M.J. Burge, "Digital Image Processing: An Algorithmic Introduction Using Java Second Edition," Springer, 2016
  21. Python library, Avaliable on : https://docs.python.org/3/library/math.html
  22. A. Dhawan, V. Honrao, "Implementation of Hand Detection based Techniques for Human Computer Interaction," International Journal of Computer Applications, Vol. 72, No. 17, pp. 6-13, 2013.