김정주
(Jung-Ju Kim)
1iD
김동진
(Dong-Jin Kim)
2iD
구경완
(Kyung-Wan Koo)
†iD
-
(Dept. of Robotics, Hoseo University, Korea.)
-
(Dept. of Robotics, Hoseo University, Korea.)
Copyright © The Korean Institute of Electrical Engineers(KIEE)
Key words
Autonomous mobile robot, Computer vision, Grid pattern tracking robot, Character matrix map, OCR
1. 서 론
인공지능의 발전으로 인해 다양한 분야에서 이미지, 음성, 텍스트와 같은 데이터의 활용 능력이 비약적으로 향상되었다. 이로 인해 로봇 산업의 전반에
걸쳐 인공지능을 활용하여 로봇의 효율성과 정확성을 높이기 위한 연구가 활발하게 진행되고 있다(1-2). 최근에는 카메라만 장착된 자율주행 로봇이 다양한 분야 및 환경에서 활용되고 있다. 인공지능을 활용한 로봇은 주행 환경의 정보를 얻기 위한 별도의
센서 없이 로봇에 부착된 카메라로 인식된 시각 정보를 기반으로 다양한 환경에서 자율주행을 실현하고 있다. 또한 인공지능 로봇은 실내 환경에서 출발
지점부터 경유지를 포함하여 최종 목적지까지의 경로를 기계학습, 딥러닝(Deep learning) 등의 인공 신경망을 통해 얻을 수 있다.
최근 인공지능을 기반으로 로봇이 스스로 주변 상황을 파악하여 장애물을 회피하며 최적의 이동 경로를 찾아 주행하는 방식에 대한 연구가 활발하다(3-6). 이러한 방식은 자율주행을 위한 유도선 등의 가이드라인 설치가 불필요하고 주변 상황의 변화에도 자율주행 로봇 시스템의 큰 수정 없이 유연한 대처가
가능하다(4).
인공지능의 대표적인 기술인 기계학습은 크게 지도 학습, 비지도 학습 그리고 강화학습 등이 있고 최근에는 서로 혼합하여 사용되고 있다(7). 지도학습은 정답이 되는 데이터에 대한 레이블(Label)을 이용하여 원하는 결과를 도출시키는 모델을 만든 후 이 모델을 실제 적용하면서 오차를
줄여나가 설계한 모델이 최적화되도록 하는 알고리즘이다. 지도학습에는 선형회귀, 서포트 벡터 머신(Support Vector Machine), 딥러닝(Deep
learning) 등이 있는데 그 중에서 자체 신경망을 통해 예측의 정확성 여부를 스스로 판단할 수 있는 딥러닝 기법이 주목받고 있다(6). 비지도 학습은 정답 레이블이 없는 데이터를 비슷한 특징끼리 군집화하는 작업을 통해 데이터 속의 패턴을 찾고 그 의미를 추론하는 기법이다. 이 기법은
지도학습과는 달리 데이터에 정답 레이블이 없기 때문에 데이터 속에 어떤 정보가 숨겨져 있는지 정확히 모르는 경우에 사용된다. 강화학습은 사용자가 정답
레이블이 있는 데이터를 모델에 학습시킨 지도학습과는 달리, 데이터에 대한 정답이 정해져 있지 않고, 단지 모델이 한 행동에 대한 보상을 통해 행동을
강화하도록 학습시킨다(6-8).
기계학습 등의 인공신경망을 이용한 자율 주행 로봇은 주행 환경의 객체 검출을 통해 위치를 인식하고 주행 방향을 결정한다. 실제로 이는 매우 많은 시간과
비용, 그리고 전문 인력이 필요하다. 로봇이 객체를 분류하거나 인식하기 위해서는 먼저 충분한 학습이 필요하다. 자율주행 로봇을 위한 인공신경망을 구축하기
위해서는 최적의 학습 모델을 설계하고, 설계된 모델을 학습시키기 위한 충분한 학습 데이터가 필요하다. 학습 모델이 부적합하거나 학습 데이터가 부족한
경우에는 인공신경망 모델의 학습이 완료된 후에 분류가 부정확하거나 인식률이 떨어진다. 이처럼 실내 이동로봇의 자율주행을 위해 인공지능을 도입하려는
연구가 많이 시도되고 있지만 아직까지도 다양한 주행 환경에 적용할 수 있는 인공지능의 구현은 어려운 실정이다.
본 논문에서는 실내 공간 바닥 면의 격자무늬 정보를 이용하여 위치를 인식하고 주행 방향을 결정하는 방법을 제안한다. 또한 심층신경망을 이용해 학습된
광학문자인식 모델을 활용하여 로봇이 실내 공간에 설치된 안내 표지판의 문자 정보를 인식함으로써 현재 위치를 인식하고 목적지까지 경로를 계획하여 자율주행
하는 방법을 제안한다. 이와 같은 로봇의 실내 주행 방법은 기존의 이동 로봇 가이드 시스템이 갖고 있는 단점을 극복하면서도 장점을 최대한 활용할 수
있다. 특히 비전 센서의 정보만으로 이동 로봇의 위치 인식과 주행 제어가 가능하게 하므로 기존의 방법에 비해 간단하고 경제적이다. 또한 레이저 시스템과
SLAM을 적용한 실내 이동 로봇 시스템의 장점인 확장성과 유연성을 확보하면서도 더 우수한 위치 인식 정확도를 보장할 수 있다.
2. 격자무늬 추적 자율주행 로봇
참고문헌 (9)에서는 인간의 시각 지능을 모방하여 실내 공간의 바닥면에 설치된 타일 정보를 분석해 위치를 인식하는 방법을 제안하였다(9). 참고문헌 (9)에서 제안한 타일 격자무늬 추적 자율주행 로봇은 바닥에 타일이 설치된 공간에서 로봇에 장착된 카메라를 통해 획득한 타일의 격자무늬 정보로부터 로봇의
위치 인식과 주행 제어를 위한 정보를 추출한다.
격자무늬 추적 자율주행 로봇은 카메라를 통해 획득한 영상을 이미지 전처리 과정을 거쳐 노이즈를 제거하고 이진화(Binarization)한다. 이진화된
이미지에서 원근 요소를 제거한 후 에지(Edge) 검출 알고리즘과 선 검출 알고리즘을 이용해 타일 격자무늬의 직선을 검출하여 이동 로봇의 위치 인식과
주행 제어에 필요한 가이드라인(Guideline)을 추출한다.
그림 1은 격자무늬 추적 자율주행 로봇의 주행 방향 제어를 위한 방법을 설명하기 위한 그래프이다. 로봇의 주행 시작점에서 획득한 수평 가이드라인과 수직 가이드라인을
초기 가이드라인(Initial Guideline)이라 하고, 로봇이 주행을 시작한 후에 획득한 수평 가이드라인과 수직 가이드라인을 주행시간 가이드라인(Runtime
Guideline)이라 정한다.
그림 1에서 ‘$O$’는 로봇의 주행 시작점에서 획득한 타일 영상의 수평 가이드라인과 수직 가이드라인의 교차점이다. 이 교차점을 원점이라 한다. 주행 시작
후 획득한 이미지로부터 추출된 수평 가이드라인과 수직 가이드라인이 원점을 지나는 수평선과 만나는 점을 $X_{h}$와 $X_{v}$라고 한다.
그림. 1. 격자무늬 추적 자율주행 로봇의 주행 제어를 위한 파라미터
Fig. 1. Parameters for driving control of the robot that tracks tile grid pattern
임의의 시간에 수평 가이드라인과 원점을 지나는 수평선이 이루는 각을 $\theta(t)$, 수직 가이드라인과 원점을 지나는 수평선의 교점 $X_{v}$와
원점까지의 거리를 $d(t)$라 하면, 로봇의 초기 위치와 현 위치 사이의 차이 $e(t)$를 식 (1)과 같이 정의할 수 있다. 식 (1)에서 가중값은 경험치로 구할 수 있다.
식 (1)을 이미지의 특정 프레임에 대해 계산하기 위해 이산식으로 바꾸면 식 (2)가 되며, 주행 로봇이 바닥 타일을 따라 직선 주행을 하기 위한 조건식은 식 (3)과 같다.
주행 로봇의 초기 구동 시 좌우 모터를 구동하기 위한 PWM(Pulse Width Modulation) 듀티비(Duty ratio)는 동일하다. 주행
로봇이 직선 주행을 하기 위해서는 $e[n]$이 0보다 크면 좌측 모터의 RPM을 고정하고 PID 제어 알고리즘에 따라 우측 모터의 RPM을 제어한다.
$e[n]$이 0보다 작으면 그 반대 방법으로 제어를 수행한다.
3. 문자 기반 격자 지도
본 논문에서는 타일 격자무늬 추적 자율주행 로봇을 위한 행렬식을 이용한 문자 기반의 격자 지도를 제안한다. 그림 2는 타일이 설치된 바닥면을 여러 개의 지역으로 나눈 그림이다.
그림. 2. 문자 행렬 지도를 위한 주행 공간 분류
Fig. 2. Classification of driving space for character matrix map
주행 가능한 전체 공간은 $m\times n$개의 지역으로 나뉘어져 있다. 이와 같은 구조는 행렬식을 이용하여 식 (4)로 표현하고 $A$는 구역(Area)으로 정의 한다.
각 지역은 동일한 개수와 모양을 갖는 타일의 집합으로 이루어져 있고 이는 그림 3과 같은 격자 구조를 갖는다. 이를 행렬식으로 표현하면 식 (5)와 같다.
그림. 3. 문자 행렬 지도를 위한 지역의 구성과 설정
Fig. 3. Configuration and settings of area for character matrix map
위 식의 $Z_{xy}$는 지역(Zone)으로 정의한다.
$A$는 $m\times n$행렬, $Z$는 $p\times q$행렬이므로, 주행 공간에 설치된 타일의 전체 개수는 $m\times n\times
p\times q$가 되며, 각 지역 행렬 $Z_{xy}$는 구역 행렬 $Z$의 원소이다.
$Z$를 구성하는 각각의 원소는 그리드(Grid)라 하고, 이는 설치된 타일 1개를 의미한다.
격자 지도를 구성하는 행렬에서 주행 가능 여부에 따라 행렬의 각 원소의 값은 다음 식 (6)과 같이 정한다.
타일 격자무늬 추적 이동 로봇의 주행 계획과 주행 경로 작성을 위한 격자 지도는 문자 기반의 경로 탐색이 가능하다. 이는 문자 기반 경로 탐색을 위한
행렬을 정의함으로써 가능하게 된다. 식 (7)은 원소 값이 문자열 값인 타일 격자무늬 추적 이동 로봇을 위한 행렬식이다. 식 (7)에서 $S$는 $m\times n$행렬이며, 식 (4)의 행렬 $A$의 크기와 같다.
식 (7)에서 행렬 $S$의 각 요소 값 $s_{xy}$는 유니코드 문자열 값이다.
식 (8)은 격자 지도의 구역 행렬의 크기가 $m\times n$인 주행 공간에서 특정 지역을 유니코드 문자열로 지정한 문자열 행렬 지도의 예이다.
식 (8)에서 $s_{22}=실험실$, $s_{mn}=강의실$이고, 행렬 $S$에서 문자열 값이 없는 나머지 원소의 값은 ‘null’이다.
그림 4에서 이동 로봇의 현 위치는 실험실이고, 목적지가 강의실 이라면 실험실은 $s_{22}$, 강의실은 $s_{mn}$이므로, 격자 지도에서 로봇의 현
위치와 목적지는 문자 행렬의 행과 열 번호 같은 $A$행렬의 원소 $a_{22}$와 $a_{mn}$이고 이동 로봇의 주행 경로는 식 (9)와 같다.
식 (9)에서 ‘⇒’ 기호 는 직선 주행을 의미하고, ‘↴’기호는 정지 위치에서의 회전을 의미한다.
그림. 4. 문자 행렬 지도와 격자무늬 추적 로봇의 주행 경로
Fig. 4. Character matrix map and driving path of the robot that tracks grid pattern
그림 4의 예시에서 식 (9)와 같이 타일 격자무늬 추적 이동 로봇을 위한 문자 행렬 지도를 작성함으로써, 이동 로봇의 현 위치와 주행 경로, 목적지 등의 정보를 로봇과 인간이
문자 정보로 공유할 수 있다.
4. 격자무늬 추적 자율주행 로봇의 문자인식
우리가 거주하고 이용하는 실내 공간에는 이용자들의 편의를 위해 층 정보, 호실 명칭, 보행 유도 표시 등의 다양한 정보 안내 표시물이 설치되어있다.
인간은 이 시각정보(문자/기호 정보)를 이용하여 자신의 현재 위치를 파악하고 목적지를 찾아갈 수 있다. 본 연구에서는 이러한 인간의 시각 지능을 모방하여
격자무늬 추적 자율주행 로봇이 주행 중 문자 이미지 객체를 인식하고 이미지 객체로부터 문자를 인식하여 현재의 위치를 파악하고 목적지까지의 경로를 계획하여
자율주행 할 수 있는 방법을 제안한다. 주행 중 촬영된 이미지 내의 문자 영역을 인식하기 위해서는 컴퓨터 비전 알고리즘을 활용하고 인식된 문자 이미지
영역 내의 문자 인식을 위해서는 훈련된 딥러닝(Deep Learning) 모델을 활용한다(10-12).
4.1 테서렉트(Tesseract)를 이용한 문자 인식
광학 문자 인식(OCR, Optical Character Recognition)은 이미지에서 문자를 인식하는 기술이다. OCR 기술 중 높은 인식률과
범용성이 뛰어난 라이브러리인 테서렉트(Tesseract)는 문자를 판독하는 오픈소스 라이브러리(Open source library)로 구글(Google)에서
지원하는 프로젝트 중 하나이다(10-12).
CNN과 LSTMs(Long Short Term Memory networks)을 포함한 문자 인식을 위한 네트워크 모델인 테서렉트는 UTF-8을 지원하고
100개 이상의 언어를 판독해 텍스트 형식으로 반환한다.
테서렉트에 포함된 LSTMs은 순환 신경망(RNN, Recurrent Neural Network)의 한 종류이다. 순환 신경망은 되먹임 구조를 갖는
신경망으로 되먹임 구조는 어떤 레이어의 출력을 다시 입력으로 받는 구조를 말한다(13-14). 그림 5는 일반적인 순환 신경망(RNN)의 구조를 보여준다.
그림. 5. 일반적인 순환 신경망의 구조
Fig. 5. The architecture of general RNN
그림. 6. RNN과 LSTMs의 셀 구조
Fig. 6. Cell structures of RNN and LSTMs
순환 신경망은 데이터의 타임스텝(Time step)이 커질수록 학습 능력이 떨어진다는 단점이 있다. 이를 장기 의존성 문제라고 하며, 입력 데이터와
출력 사이의 길이가 멀어질수록 연관 관계가 적어지기 때문에 나타나는 문제이다(14). 이를 해결하기 위한 구조로 LSTMs가 개발되었다. LSTMs은 RNN에 비해 복잡한 구조를 가지고 있지만, 출력 외에 LSTM 셀 사이에서만
공유되는 셀 상태(Cell state)를 가지고 있다. 셀 상태는 타입스텝을 가로지르며 상태가 보존되기 때문에 장기의존성 문제를 해결할 수 있다(13-14). 그림 6은 RNN과 LSTMs 셀 구조의 차이를 보여준다.
그림 6에서 $U$와 $W$가 입력과 출력에 곱해지는 가중치일 때, 식 (10)은 RNN의 셀 출력 $h_{t}$에 대한 식이며, 식 (11)은 LSTMs의 셀 출력 $h_{t}$에 대한 식이다.
테서렉트는 CNN과 LSTMs을 포함한 문자 인식을 위한 네트워크 모델로 다양한 문서의 문자 인식, 자동차 번호판 인식, 명함 인식 등에 사용되고
있다. 구글의 발표에 따르면 CNN과 LSTMs 네트워크를 이용한 테서렉트 OCR 엔진의 문자 인식 성공률은 영문자는 98.05%, 한글문자는 90.38%이다(15). 일반적으로 주행 환경에 설치된 안내 표시물에는 한글과 영문자가 혼용되어 사용되는 경우가 많다.
그림. 7. 한⸱영 혼합문자 인식 평가를 위한 이미지
Fig. 7. Image for evaluation of Korean and English mixed character recognition
본 논문에서는 격자무늬 추적 자율주행 로봇이 실내 환경에 설치된 안내 표지판의 문자를 인식함으로써 목적지까지의 경로를 계획하고 정해진 경로를 주행할
수 있도록 한다. 따라서 자율주행 로봇이 주행 공간의 문자 인식을 위해 테서렉트를 사용할 경우 한글과 영문이 함께 사용된 안내 표지판의 문자 인식률에
대한 평가가 필요하다. 그림 7은 테서렉트를 이용한 한⸱영 혼합 문자 인식 평가를 위해 사용된 한글과 영어가 혼용된 문자 이미지이다. 이미지 작성에 사용된 한글 문자는 93자,
영어 문자는 214자이다. 이미지의 해상도는 70[dpi]이며, 가로⨯세로의 크기는 90[mm]⨯75[mm]이다.
표 1. 테서렉트 OCR 엔진을 이용한 한⸱영 혼합문자 인식 평가 결과
Table 1. The result of recognition for mixed Korean and English characters by Tesseract
OCR engine
Font
|
OCR Result
Success Rate(%)
|
[Name]
(shape)
|
Size
(pt.)
|
Type
|
Kor.
|
Eng.
|
[굴림]
가나다라
ABCdef
|
14
|
normal
|
100.00
|
100.00
|
14
|
bold
|
95.75
|
99.53
|
14
|
italic
|
0
|
98.12
|
10
|
normal
|
98.92
|
100.00
|
[궁서]
가나다라
ABCdef
|
14
|
normal
|
77.42
|
100.00
|
14
|
bold
|
74.19
|
100.00
|
14
|
italic
|
15.05
|
100.00
|
10
|
normal
|
51.61
|
100.00
|
[돋움]
가나다라
ABCdef
|
14
|
normal
|
98.92
|
100.00
|
14
|
bold
|
88.17
|
99.53
|
14
|
italic
|
5.38
|
91.55
|
10
|
normal
|
97.85
|
100.00
|
[맑은고딕]
가나다라
ABCdef
|
14
|
normal
|
100.00
|
100.00
|
14
|
bold
|
90.32
|
99.53
|
14
|
italic
|
1.08
|
98.59
|
10
|
normal
|
100.00
|
100.00
|
[바탕]
가나다라
ABCdef
|
14
|
normal
|
96.77
|
100.00
|
14
|
bold
|
90.32
|
99.53
|
14
|
italic
|
12.90
|
97.65
|
10
|
normal
|
97.85
|
100.00
|
[한컴돋움]
가나다라
ABCdef
|
14
|
normal
|
96.77
|
99.53
|
14
|
bold
|
98.92
|
99.53
|
14
|
italic
|
8.60
|
98.59
|
10
|
normal
|
97.85
|
100.00
|
[한컴바탕]
가나다라
ABCdef
|
14
|
normal
|
100.00
|
100.00
|
14
|
bold
|
94.62
|
100.00
|
14
|
italic
|
9.68
|
98.12
|
10
|
normal
|
100.00
|
100.00
|
[함초롱돋움]
가나다라
ABCdef
|
14
|
normal
|
98.92
|
100.00
|
14
|
bold
|
100.00
|
100.00
|
14
|
italic
|
4.30
|
99.53
|
10
|
normal
|
98.92
|
100.00
|
[함초롱바탕]
가나다라
ABCdef
|
14
|
normal
|
88.17
|
100.00
|
14
|
bold
|
92.47
|
100.00
|
14
|
italic
|
6.45
|
99.53
|
10
|
normal
|
95.70
|
100.00
|
[휴먼명조]
가나다라
ABCdef
|
14
|
normal
|
100.00
|
100.00
|
14
|
bold
|
92.47
|
99.53
|
14
|
italic
|
5.38
|
99.06
|
10
|
normal
|
95.70
|
100.00
|
본 논문에서는 10개의 한글 폰트에 대해 10포인트와 14포인트 글자 크기의 normal, bold, italic 글꼴에 대한 문자 인식성능 평가
실험을 수행하였다. 표 1은 테서렉트를 이용한 한⸱영 혼합문자 인식성능 평가 실험에 대한 결과를 보여준다.
표 1의 테서렉트 OCR 엔진을 이용한 한⸱영 혼합 문자 인식 결과에서 대표적인 한글 폰트인 ‘굴림’, ‘바탕’, ‘명조’ 보통 서체의 경우에는 한글 인식률과
영문 인식률이 모두 100%인 반면에 영문 서체에 없는 궁서체의 한글 인식률은 77.42%로 상대적으로 매우 낮음을 알 수 있다. 또한 기울임 글꼴(Italic)의
경우는 한글 인식률이 평균 6.88%로 매우 낮음을 알 수 있다. 따라서 자율주행 로봇이 주행 공간의 문자 인식을 위해 테서렉트 OCR 엔진을 사용할
경우 특이한 서체나 기울임 글꼴 등의 사용은 배제되어야 한다.
4.2 실내 안내 표지판 문자 인식
본 논문에서는 격자무늬 추적 자율주행 로봇의 위치 인식 및 주행 방향 결정을 위해 주행 환경에 설치된 안내 표지판의 문자 정보를 이용한다. 이를 위해
테서렉트 엔진을 이용하여 실제 환경 이미지로부터 문자 이미지 객체를 검출하고 검출 된 정보로부터 문자를 인식한다.
그림. 8. 테서렉트 OCR 엔진을 이용한 문자 인식 과정
Fig. 8. Character recognition process using Tesseract OCR engine
그림 8은 자율주행 로봇이 주행 환경으로부터 획득한 이미지 내에 있는 문자를 인식하기 위한 전처리 과정과 테서렉트 OCR 엔진을 이용한 문자 인식 과정을
보여 주는 순서도 있다. 격자무늬 추적 자율주행 로봇의 측면에 부착된 카메라를 통해 획득한 원본 영상에서 노이즈를 제거한 후 원근 변환을 적용하고
그레이스케일로 변환한다. 적응형 이진화 알고리즘을 이용하여 이미지를 이진화한 후 이미지에서 안내 표지판으로 예측되는 사각형 영역을 검출한다. 테서렉트
OCR 엔진의 입력 데이터로 검출된 사각형 내의 이미지를 사용하여 테서렉트 OCR의 결과 값을 추출한다.
표 2. 실내 안내 표지판 문자 인식 실패 사례
Table 2. Example of failure to recognize characters in indoor signs
Original Image
|
Postprocessed Image
|
OCR Result
|
|
|
515-1
|
|
|
null
|
|
|
517
기겨기공실슴실
|
|
|
null
|
표 2는 테서렉트 OCR 엔진을 이용하여 주행 환경에서 획득한 이미지로부터 이미지 내의 문자를 인식한 실험 결과의 일부 실패 사례를 보여 주는 표이다.
실내 안내 표지판 문자 인식 실험 결과를 통해 주행 환경에 있는 안내 표지판의 문자 인식 실험 결과와 구글의 발표는 확연한 차이가 있음을 알 수 있다.
주행 환경에서 획득한 이미지 내의 문자 인식에 실패한 원인은 다양하다. 그 중 대표적인 실패 원인은 노이즈 제거 등의 전처리 미비로 인한 이미지 내의
문자 영역 검출 실패이다. 두 번째 원인은 Tesseract OCR로 인식이 불가한 현저히 작은 크기의 문자 사용이며, 세 번째 원인은 특이한 서체와
글꼴의 사용이다.
본 논문에서는 문자 인식을 통한 격자무늬 추적 로봇의 자율주행을 구현하기 위해 주행 환경 내에 설치된 안내 표시물의 테서렉트 OCR 엔진을 이용한
문자 인식률을 높이기 위한 그림 9와 같은 안내 표지판 규격을 제안한다. 제안된 안내 표지판은 주변 노이즈에 비교적 강하고, 분명한 색 대비를 갖도록 흰색 바탕에 검정색 글씨를 사용하였다.
또한 복잡한 이미지 내에서 문자 영역만을 추출하기 쉽도록 굵은 사각형 테두리를 사용하였다.
복잡한 환경 이미지 내에서 문자가 있는 부분만을 검출해 내는 것은 매우 많은 연산 시간을 필요로 한다. 제안된 안내 표지판의 테두리에 굵은 선을 사용한
이유는 로봇이 주행 중 획득한 이미지에서 문자가 존재하는 영역을 간단한 알고리즘을 통해 쉽게 검출할 수 있으므로 문자 인식에 필요한 연산 시간을 큰
폭으로 단축시킬 수 있기 때문이다.
그림. 9. 테서렉트 OCR의 한⸱영 혼합문자 인식률 제고를 위한 안내 표지판
Fig. 9. Guidance signs to improve the recognition rate of Korean-English mixed characters
in Tesseract OCR
격자무늬 추적 자율주행 로봇에 부착된 두 개의 카메라 중 하나는 로봇의 위치 인식과 주행 제어를 위해 바닥면의 타일을 촬영한다. 다른 한 개의 카메라는
주행 환경 내에서의 문자 인식을 통한 자율주행 로봇의 현 위치 추정을 위해 벽면의 안내 표지판을 촬영한다.
본 논문에서 제안한 테서렉트 OCR 엔진을 이용한 자율주행 로봇의 문자 인식률을 높이기 위한 안내 표지판을 실내 공간의 다수 위치에 부착시키고 이동
로봇이 주행하면서 획득한 환경 이미지로부터 문자 영역을 추출하고 추출된 영역 내의 문자를 인식하는 실험을 실시한 결과 격자무늬 추적 자율주행 로봇은
제안된 규격의 안내 표지판 내의 문자를 99[%] 이상의 높은 인식률로 인식하였다. 표 3은 주행로봇이 벽면에 설치된 제안된 안내 표지판의 문자를 주행 중 인식하는 실험을 30회 반복한 결과의 일부를 보여준다. 실험 결과를 통해 본 논문에서
제안한 자율주행 로봇의 문자 인식률을 높이기 위한 안내 표지판은 효율성이 매우 우수하며 매우 복잡한 이미지, 강한 노이즈가 포함된 이미지에서도 테서렉트
OCR을 이용한 문자 인식 정확도를 높일 수 있음을 확인하였다.
5. 실험 결과
격자무늬 추적 자율주행 로봇에는 두 개의 카메라가 장착되어 있다. 그 중 1개의 카메라는 로봇의 전면에 부착되어 있고 타일 영상을 획득하는데 사용된다.
다른 한 개는 로봇의 측면에 부착되어 있으며 문자 안내판이 설치된 벽면의 영상을 획득하기 위해 사용된다. 격자무늬 추적 자율주행 로봇이 격자 지도
정보를 저장하고 있지만 주행 공간에 대한 완전한 문자열 행렬 지도를 포함하고 있지 않을 때, 그리고 로봇이 주행 공간에서 현 위치 정보를 알 수 없을
때, 문자 인식을 이용해 현 위치 정보를 갱신하고 미리 작성된 경로를 주행하면서 문자를 인식하여 목적지를 찾는 문자 인식 기반의 경로 주행 실험을
수행하였다.
표 3. 격자무늬 추적 로봇을 위한 안내 표지판 문자인식 실험 결과
Table 3. Result of character recognition experiment for guidance signs for robots
that tracks grid pattern
Original Image
|
Postprocessed Image
|
OCR Result
|
|
|
강의실
517
|
|
|
강의실
518
|
|
|
학생휴게실
512
|
|
|
실험실
502
|
문자 인식 기반 경로 주행 실험에서 로봇의 초기 구동 시, 현 위치를 모를 경우에는 주행 경로에 장애물이 없고 바닥면에 타일이 설치된 주행 가능한
구역에서 전진 및 후진 주행 후 안내 표지판 문자 인식 결과에 따라 문자 행렬에 현 위치 정보를 갱신한다. 이후 갱신된 현 위치를 기준으로 시작점까지의
경로를 계획하고 시작점 위치까지 주행한다. 시작점에 도착한 이후에는 약속된 경로를 주행하며 안내 표지판 문자 인식 결과에 따라 문자 행렬을 작성한다.
실험을 위한 주행 구역은 그림 10과 같이 격자 지도로 표현 가능하며, 로봇의 현 위치 인식 전의 주행 구역을 행렬식 $A$로 나타내면 식 (12)와 같다. 이때 초기 문자 행렬 지도 $S$는 식 (13)과 같다. 격자무늬 추적 자율주행 로봇은 로봇의 현 위치 인식 후 미리 지정한 경로를 주행하도록 프로그램되어 있다.
그림. 10. 문자 인식을 이용한 자율주행 실험을 위한 주행 구역의 격자 지도
Fig. 10. Grid map of driving area for autonomous driving experiments using character
recognition
$n=$null
격자무늬 추적 이동 로봇은 문자 인식을 통해 현 위치를 인식한 후 시작점까지의 경로 계획을 작성하고 경로 주행을 통해 시작점에 도착한 이후부터 미리
프로그래밍된 경로를 주행한다. 이때 측면 카메라를 통해 안내 표지판의 문자를 인식하면 문자 행렬 지도를 갱신한다. 약속된 경로의 주행을 종료하면 타일
격자무늬 추적 자율주행 로봇은 문자 행렬 지도를 완성하게 된다.
식 (14)는 격자무늬 추적 자율주행 로봇이 측면 카메라를 통해 얻은 이미지로부터 컴퓨터 비전 알고리즘과 테서렉트 OCR 엔진을 활용한 안내 표지판 문자인식
알고리즘을 이용해 약속된 주행 경로를 1회 주행하면서 인식한 문자 정보와 행렬 지도를 바탕으로 작성된 문자 행렬 지도이다.
$n=$null
문자인식을 이용한 격자무늬 추적 자율주행 로봇의 성능을 평가하기 위해 지능형 로봇 표준 포럼의 KOROS 1079-1:2013 ‘이동로봇 위치인식
성능 평가 - 제1부 : 실내 복도 공간’ 성능 평가 방법을 준용하여 실험을 수행하였다. 실험 환경은 바닥에 타일이 설치된 실내 공간이며, 실험 공간의
천장과 벽면에는 다수의 조명과 투명창이 설치되어 있다.
표 4는 격자무늬 추적 자율주행 로봇의 주행 성능 평가를 위한 실험 조건 및 환경이다.
표 5는 실내 안내 표지판 문자 인식을 이용한 자율주행 실험 절차를 정리한 표이다.
표 4. 격자무늬 추적 로봇 자율주행 실험 조건 및 환경
Table 4. Experimental conditions and environments of autonomous driving experiment
for the robot that tracks grid pattern
Category
|
Value
|
Test Distance
|
24[m] / 48[m]
|
Speed
|
0.3[m/s] or less
|
Number of iterations
|
20 times
|
Illumination
|
150~1,000[Lux]
|
Temperature
|
10[℃]~30[℃]
|
Humidity
|
40[%]~70[%]
|
표 6은 문자 인식과 문자 행렬 지도를 이용한 타일 격자무늬 추적 로봇의 자율주행 실험을 20회 반복 수행한 결과를 요약하여 보여준다. 수행된 실험에서
로봇의 총 주행 거리는 691[m]이고, 총 주행 시간은 2,408[sec]이며, KOROS 1079-1:2013을 준용한 위치 인식 성능 정확도는
0.027[m]이다.
총 20회 반복 수행한 격자무늬 추적 자율주행 로봇의 문자 인식 기반 자율주행 실험 결과를 통해 격자무늬 추적 자율주행 로봇이 주행 공간에서 현 위치
정보를 인식하지 못한 경우에 문자 인식을 이용해 현 위치 정보를 갱신하고 문자열 행렬 지도를 생성하여 목적지까지의 주행 경로를 작성하고 경로 이탈
없이 주행할 수 있음을 확인하였다. 이와 같은 실험 결과는 격자무늬 추적 자율주행 로봇의 높은 위치 인식 성능과 확장성을 보여주며 나아가 SLAM
기능을 추가할 수 있는 가능성을 보여준다.
M. Filipenko 등은 2018년 IS 국제 학술대회에서 발표한 ‘Comparison of Various SLAM Systems for Mobile
Robot in an Indoor Environment’ 연구에서 실내 환경에서 자율주행이 가능한 이동 로봇에 적용된 다양한 SLAM 시스템을 비교하였다.
M. Filipenko 등의 연구에 따르면 이동 로봇에 SLAM 시스템을 적용한 경우에 일부 SLAM 시스템은 상당히 높은 위치 인식 정확도를 보여주지만
주행 공간이나 환경 변화시 위치 인식 정확도가 감소해 자율주행의 신뢰성을 확보할 수 없으며 대부분의 SLAM 적용 자율주행 로봇의 위치 인식 정확도는
여전히 많은 오차를 포함하고 있다(16).
표 5. 문자 인식을 이용한 자율주행 실험 절차
Table 5. The procedure for autonomous driving experiment using character recognition
Order
|
Experiment content
|
(1)
|
Position the robot at the center point of the tile corresponding to any element between
$a_{1,\:1}$ and $a_{1,\:15}$ of the matrix map.
|
(2)
|
The driving direction should be horizontal.
|
(3)
|
When the robot recognizes the characters on the guide sign and stops at a predetermined
starting position($a_{1,\:6}$), the time is recorded.
|
(4)
|
Transmits arbitrary destination text from Sub PC to robot.
|
(5)
|
When the robot arrives at its destination, record the time
|
(6)
|
Record the error distance($d$) and angle($\theta$) between the initial guide line
and the current guide line.
|
(7)
|
Repeat (4) ~ (6) twice.
|
(8)
|
Repeat (1) ~ (7) 20 times.
|
표 6. 격자무늬 추적 로봇의 문자 인식을 이용한 자율주행 실험 결과
Table 6. The result of autonomous driving experiments using character recognition
for the robot that tracks grid pattern
Category
|
Value
|
Unit
|
Total Driving Distance
|
691
|
[m]
|
Total Driving Time
|
2408
|
[sec]
|
Average Speed
|
0.29
|
[m/s]
|
Maximum Distance Error
|
0.094
|
[m]
|
Average Distance Error
|
0.033
|
[m]
|
Performance Accuracy
|
0.027
|
[m]
|
표 7은 레이져 시스템에 다양한 SLAM 방식을 적용한 실내 자율주행 로봇 시스템과 문자 인식 기반 격자무늬 추적 자율주행 로봇 시스템의 성능을 비교한
표이다. 문자 행렬 지도와 문자 인식을 이용한 격자무늬 추적 자율주행 로봇 시스템은 Cartographer SLAM 방식과 유사한 위치 인식 정밀도를
갖는다. 하지만 Cartographer SLAM을 제외한 다른 SLAM 방식에 비해서는 상당히 높은 위치 인식 정밀도를 갖고 있다.
격자무늬 추적 자율주행 로봇은 SLAM 방식에 비해 시스템 구성이 단순하며 복잡하지 않기 때문에 도입 비용 면에서 상당한 장점을 갖는다. 또한 문자
인식과 문자 행렬 지도를 기반으로 한 격자무늬 추적 자율주행 로봇은 사용자 인터페이스 측면에서도 SLAM 방식에 비해 높은 편의성을 제공할 수 있다.
표 7. 격자무늬 추적 로봇과 SLAM 적용 로봇의 위치 인식 성능 정확도 비교
Table 7. Comparison of the position recognition performance accuracy for the grid
pattern tracking robot and the robots applied SLAM
System
|
Mean
[m]
|
Min
[m]
|
Max
[m]
|
SLAM
|
Cartographer
|
0.017
|
0.001
|
0.07
|
LSD SLAM
|
0.277
|
0.08
|
0.553
|
ORB SLAM(mono)
|
0.159
|
0.047
|
0.257
|
DSO
|
0.403
|
0.007
|
0.764
|
ZEDfu
|
0.631
|
0.002
|
1.323
|
RTAB map
|
0.138
|
0.004
|
0.349
|
ORB SLAM(stereo)
|
0.151
|
0.004
|
0.414
|
S-PTAM(no loop)
|
0.268
|
0.001
|
0.768
|
S-PTAM(loop)
|
0.257
|
0.006
|
1.119
|
Grid Pattern Tracking
+
Character Matrix Map
|
0.027
|
0.001
|
0.094
|
6. 결 론
격자무늬 추적 자율주행 로봇에는 두 개의 카메라가 장착되어 있다. 그 중 1개의 카메라는 로봇의 전면에 부착되어 있고 타일 영상을 획득하는데 사용된다.
다른 한 개는 로봇의 측면에 부착되어 있으며 문자 안내판이 설치된 벽면의 영상을 획득하기 위해 사용된다. 본 논문에서는 격자무늬 추적 자율주행 로봇이
격자 지도 정보를 저장하고 있지만 주행 공간에 대한 완전한 문자열 행렬 지도를 포함하고 있지 않을 때, 그리고 로봇이 주행 공간에서 현 위치 정보를
알 수 없을 때, 문자 인식을 이용해 현 위치 정보를 갱신하고 미리 작성된 경로를 주행하면서 문자를 인식하여 목적지를 찾는 문자 인식 기반의 경로
주행 방법을 제안하였다. 이와 같은 자율주행 방법은 로봇을 사용하는 이용자에게 문자열 기반의 직관적 인터페이스를 제공할 수 있으므로 로봇 운용의 효율성을
높일 수 있으며, 향후 격자무늬 추적 자율주행 로봇에 SLAM 기능을 추가할 수 있는 가능성을 보여준다.
격자무늬 추적 자율주행 로봇은 주행 경로 작성과 자율주행 성능에서 매우 많은 장점을 갖고 있으며 기존의 다른 유⸱무선 가이드 시스템 비해 높은 확장성과
유연성을 갖고 있다.
그림. 11. 격자무늬 추적 시스템과 기존 가이드 시스템 비교
Fig. 11. Comparison of the grid pattern tracking system and existing systems
그림 11은 실내 이동 로봇을 위한 문자 인식과 문자 행렬 지도 기반의 격자무늬 추적 시스템과 기존의 대표적인 4가지 유⸱무선 가이드 시스템의 장⸱단점을 비교한
그래프이다.
문자 인식과 문자 행렬 지도 기반의 격자무늬 추적 자율주행 로봇은 위치인식 성능 정확도가 매우 높아서 레이저 시스템의 단점인 경로 이탈 문제가 발생하지
않는다. 또한 별도의 시공이나 장치의 추가 없이 비전 센서의 정보만으로 이동 로봇의 위치 인식과 주행 제어를 가능하게 하므로 기존의 방법에 비해 간단하고
경제적이다. 본 논문에서는 격자무늬 추적과 문자 행렬 지도를 혼합한 문자 인식 기반 자율주행 로봇이 효율성, 유연성, 확장 용이성 측면에서도 우수함을
실험을 통해 증명하였다.
문자 인식과 문자 행렬 지도를 이용한 격자무늬 추적 로봇의 자율주행 방법은 이동 로봇과 다른 디바이스들이 위치 정보를 문자로 공유할 수 있기 때문에
타 장치와의 인터페이스가 편리하며 문자를 이용한 목적지 및 주행 경로 설정 등의 유용한 사용자 인터페이스를 추가할 수 있다. 향후에는 기계학습, 딥러닝
등의 인공신경망을 활용해 자율주행 로봇이 주행 환경에 있는 다양한 객체를 인식하여 자율주행 로봇 사용자를 위한 다양한 인터페이스를 제공할 수 있는
방법과 문자 행렬 지도를 이용한 격자무늬 추적 자율주행 성능을 더욱 높일 수 있는 방법을 추가적으로 연구할 계획이다.
Acknowledgements
본 과제(결과물)는 2022년도 교육부의 재원으로 한국연구재단의 지원을 받아 수행된 지자체-대학 협력기반 지역혁신 사업의 결과입니다.(2021RIS-004)
This result was supported by “Regional Innovation Strategy (RIS)” through the National
Research Foundation of Korea(NRF) funded by the Ministry of Education(MOE)(2021RIS-004)
References
Junseok Boo, Dongkyoung Chwa, 2020, Image-based Visual Servoing of an Omnidirectional
Mobile Robot without Velocity Sensor Using Multi-layer Artificial Neural Network Dynamics,
The Transaction of the Korean Institute of Electrical Engineers, Vol. 69, No. 4, pp.
594-601
Ran Zhao, Hong-Kyu Lee, 2017, GA-Fuzzy based Navigation of Multiple Mobile Robots
in Unknown Dynamic Environments, The Transaction of the Korean Institute of Electrical
Engineers, Vol. 66, No. 1, pp. 114-120
Jong-Hun Park, Uk-Youl Huh, 2015, Local Path Planning for Mobile Robot Using Artificial
Neural Network - Potential Field Algorithm, The Transaction of the Korean Institute
of Electrical Engineers, Vol. 64, No. 10, pp. 1479-1485
Soo-Young Lee, Jae-Young Kim, Se-Hyoung Cho, Chang-yong Shin, 2019, Educational Indoor
Autonomous Mobile Robot System Using a LiDAR and a RGB-D Camera, Journal of IKEEE,
Vol. 23, No. 1
S. H. Kim, K. H. Yu, P. U. Seo, K. H. Sim, G. H. Lee, 2018, Program development for
driving autonomous mobile robot using deep learning, Proceedings of The Korean Society
of Manufacturing Technology Engineers Conference, pp. 102-102
Hyeong-il Lee, Jin-myeong Kim, Jai-weun Lee, 2019, Implementation of Autonomous Mobile
Wheeled Robot for Path Correction through Deep Learning Object Recognition, Journal
of The Korea Contents Association, Vol. 19, No. 2, pp. 164-172
Y. Bengio, A. Courville, P. Vincent, 2013, Representation Learning: A Review and New
Perspectives, IEEE Trans. PAMI, special issue Learning Deep Architectures, Vol. 35,
No. 8
Tao Zhang, Qing Li, Chang-shui Zhang, Hua-wei Liang, Ping Li, Tian-miao Wang, 2017,
Current trends in the development of intelligent unmanned autonomous systems, Frontiers
of Information Technology & Electronic Engineering, Vol. 18, pp. 68-85
Jung-Ju Kim, Dong-Jin Kim, Kyung-Wan Koo, 2021, Position recognition and driving control
for an autonomous mobile robot that tracks tile grid pattern, The Transaction of the
Korean Institute of Electrical Engineers, Vol. 70, No. 6, pp. 945-952
R. Smith, 2007, An Overview of the Tesseract OCR Engine, Ninth International Conference
on Document Analysis and Recognition (ICDAR 2007), pp. 629-633
R. R. Palekar, S. U. Parab, D. P. Parikh, V. N. Kamble, 2017, Real time license plate
detection using openCV and tesseract, 2017 International Conference on Communication
and Signal Processing (ICCSP), pp. 2111-2115
S. Thakare, A. Kamble, V. Thengne, U. R. Kamble, 2018, Document Segmentation and Language
Translation Using Tesseract-OCR, 2018 IEEE 13th International Conference on Industrial
and Information Systems (ICIIS), pp. 148-151
Alex Sherstinsky, 2020, Fundamentals of Recurrent Neural Network (RNN) and Long Short-Term
Memory (LSTM) network, Physica D: Nonlinear Phenomena, Vol. 404
Yong Yu, Xiaosheng Si, Changhua Hu, Jianxun Zhang, 2019, A Review of Recurrent Neural
Networks: LSTM Cells and Network Architectures, Neural Comput, Vol. 31, No. 7, pp.
1235-1270
Ray Smith, 2016, 7.Buildiung a multilingual OCR Engine Training LSTM network on 100
language and test results, http://github.com/tesseract-docs
M. Filipenko, I. Afanasyev, 2018, Comparison of Various SLAM Systems for Mobile Robot
in an Indoor Environment, 2018 International Conference on Intelligent Systems (IS),
pp. 400-407
저자소개
He received his B.S in Electronics Engineering, M.S. degree and PH.D. Cand. in Electronics
Engineering from Hoseo University, Asan, Korea.
He is currently Professor in Dept. of Robotics at Hoseo University, Asan, Korea since
2021.
His research interests are pattern recognition, image processing, deep learnig, embedded
system application, and automotive mobile robot.
He received his B.S. in Control and Instru- mentation Engineering, and M.S. and PH.D.
degree in Electronics Engineering from Hoseo University, Asan, Korea, in 1998, 2000
and 2007, respectively.
He is currently Professor in Dept. of Robotics at Hoseo University, Asan, Korea since
2007.
His research interests sensors, embedded system application, and smart factories.
1983 Chungnam National University, Department of Electronics Engineering. 1992 Chungnam
National University, Department of Electronics Engineering (Ph.D.) 1987~1989 Hyundai
Elec- tronics Senior Researcher.
1989~1994 Assistant Professor, Dept. of Electronics, Chungcheong Junior College.
1994~2005 Associate Professor, School of Electronic and Information Engi- neering,
Yeungdong University.
2005~present Professor, Department of Automotive ICT Engi- neering, Hoseo University.
E-mail : alarmkoo@hoseo.edu