Ⅰ. 서 론
도로의 부대시설 중 정보가 표시되는 것은 여러 가지가 있지만, 그 중 도로표지는 운전자에게 목적 지를 알려주는 역할을 하는 대표적 도로 부대시설 이다. 도로표지의 원활한 이용 및 표기된 지명 분석 을 통한 최적의 안내체계 구축을 위해 도로표지시 스템을 운영 중에 있으나, 인력, 예산 등의 문제로 인해 데이터베이스 구축이 적절히 이루어지지 않고 있어 현장사진을 이용한 속성정보의 자동추출 기술 이 요구되고 있다. 이에, 최근 Mobile Mapping System을 이용한 도로표지 영상의 수집과 문자 자동 인식을 위한 연구가 수행 중에 있다[1]. 이는 도로표 지 영상으로부터 국문지명 영역을 검출하고, OCR 오픈소스에 기반으로 하여 국문지명 부분영상의 텍 스트를 인식하도록 하고 있다. 실제 도로표지 영상 을 사용하여 평가한 결과, 국문지명 당 약 75~80% 의 검출율과, OCR의 단어 리스트 기능을 사용한 경 우 약 85%의 국문지명 인식율(단어 리스트를 사용 하지 않은 경우는 약 50%)의 성능을 보였다.
문자영역의 추출 방법은 그동안 주로 종이 문서 에서 문자추출을 위한 다양한 방법이 시도되었는데 변환 과정에서 많은 처리시간이 필요한 hough transform을 이용하는 방법[2], 문자영역에서 다시 개별 문자영상을 이중 추출하는 histogram을 이용하 는 방법[3], 경계추적방법[4] 등이 있다. 하지만 이 방법들은 모두 그레이 스케일에서 해결할 수 있는 텍스트 추출 방법으로써 도로표지와 같이 다양한 색채 및 패턴에서는 사용이 어렵다. 또한, 에지기반 문자영역 추출 방법[5, 6]을 많이 사용하는데 도로 표지와 같이 화살표, 노선번호, 테두리와 같은 많은 에지가 인접해 있는 경우에는 그 결과가 좋지 않다. 자동차 번호판 인식을 위한 연구가 다수 수행되었 는데[7-9], 일정한 문자 배열과 패턴을 가지는 경우 에 적합하였다.
실제 자연영상에서 적용 가능하려면, 대략 90% 이상의 국문지명 검출율과 90~95% 정도의 단어 인 식율이 요구된다. 따라서, 본 연구에서는 국문지명 영역의 검출율을 향상하기 위한 연구를 수행하였다.
국문지명 검출과 인식 모듈의 통합 환경 구축 내 용 및 도로표지 국문지명 검출 및 인식률 제고를 위한 기법을 적용하였으며, 효과적인 텍스트 영역 검출을 위한 IRBP (Incremental Right-to-left Blob Projection), 즉 텍스트 블럽들을 하나씩 가상의 왼편 축으로 투사시키면서 텍스트 영역을 찾아가는 기법 을 적용하여 패턴이 일정하지 않은 도로표지 현장 사진에서 문자 영역을 효율적으로 추출 하였다.
Ⅱ. 한글문자 템플릿 기반 국문지명 검출
<그림 1>은 도로표지 영상으로부터의 한글 텍스 트, 즉 국문지명 검출 절차이다. 한글문자의 템플릿 을 사용하여 한글 자소 블럽들을 병합하는 과정에 서, 주변의 비텍스트 블럽에 의해 영향을 받는 경우 가 많이 관찰되었다.
<그림 2>는 한글문자 템플릿에 기반하여 한글문 자를 검출하는 방식이 갖는 단어 검출실패 사례이 다. (a)와 (c)는 SWT 이미지로부터 텍스트 후보로 분류된 블럽들의 영상이고, (b)와 (d)는 텍스트 블럽 으로부터 <그림 3>의 템플릿과의 매칭을 통해서 검 출한 한글 문자들의 영상이다. “목포”의 ‘목’, “무 안”의 ‘ㅁ’이 유형 5로 간주되어 하나의 문자로 간 주되어, 결국 “목포”와 “무안”의 두 단어가 검출되 지 않는다. 또한, (c)와 (d)의 “청주IC"의 경우는 하 단의 영문 알파벳 블럽, "대전”의 경우는 박스 심벌 의 블럽 으로 인해 ‘대’ 문자가 검출되지 않게 된다.
이처럼 한글 템플릿을 기준으로 하게 되면[10], 한글 문자 크기와 폭 등의 사전에 설정한 매개변수 값을 사용할 수밖에 없기 때문에, (a)와 (c)의 경우 처럼 텍스트와 주변 심벌의 배치가 복잡하거나 텍 스트 주변의 박스 심벌의 블럽이 존재하는 경우에 는 해당 문자의 검출이 실패하게 되는 문제가 있다.
그러므로, 다양한 크기의 한글 문자가 있거나, 한 글문자 주변에 심벌이 위치한 도로표지에 대해서도 국문지명을 성공적으로 검출하기 위해서는, 한글문 자 템플릿에 의존하지 않는 새로운 국문지명 검출 방법이 필요하다.
Ⅲ. IRBP 기반 텍스트 영역 검출
1. IRBP 기반 텍스트 영역검출 방법
일반적인 도로표지의 텍스트 블럽들은, 국문과 영문 포함해서, 동일한 텍스트 라인을 공유하고 있 다. 즉, 동일 선상에 위치해 있다. 이 점을 활용하여 텍스트 블럽들을 하나씩 가상의 왼편 축으로 투사 시키면서 텍스트 영역을 찾아가는 방식의 알고리즘 을 구현하였다. 한글문자 템플릿 기반 검출방법과 비교하면 <표 1>과 같다.
<그림 4>에서 (b)의 붉은색과 푸른색 박스로 표 시한 영역은 각각 도로번호 심벌과 방향지시 심벌 로 분류된 블럽을 나타내며, 이후 처리과정에서 비 텍스트 블럽으로 간주된다. 비텍스트 블럽은 IRBP 의 대상에서 제외하므로, 텍스트 세그먼트 검출에 영향을 주지 않는다. (b)에서 노란색으로 표시된, 텍 스트 블럽들을 하나씩 가상의 좌측 축으로 투사하 면서 (c)와 같은 텍스트 세그먼트를 찾아낸다.
<그림 5>는 IRBP에 기반한 텍스트 검출 알고리 즘의 전체적인 흐름도이다. 텍스트 블럽들을 기존 텍스트 세그먼트에 추가할 지, 새로운 텍스트 세그 먼트를 생성하고 이에 추가할 지를 결정하고, 이 과 정을 반복해서 수행하며, 구체적인 설명은 다음과 같다.
-
① SWT(stroke width transform)와 연결 요소 분석 (connected component analysis), 그리고 블럽 필터링을 통해 확인된, 텍스트 블럽이 주어지 면 좌측과 상단 우선 내림정렬을 수행한다.
-
② 첫 블럽에 대해서 신규 텍스트 세그먼트를 생 성하고, 생성된 세그먼트에 블럽을 추가한다.
-
③ 다음 블럽에 대해서, 기 생성된 세그먼트 중에 서 수평방향으로는 겹치는, 세그먼트가 있는지 체크한다.
-
④ 겹치는 세그먼트가 존재하는 경우에는, 블럽을 해당 세그먼트에 추가한다면 발생하는 해당 세 그먼트의 높이 변동이 일정 값 이내인지를 확 인한다. 만약 기 설정된 문턱치를 벗어나는 경 우에는 현재 블럽을 추가하지 않고 ③의 과정 으로 돌아간다. 텍스트 높이 기준을 만족하는 경우라면, 겹치는 세그먼트 중 가장 인접한 세 그먼트에 현재 블럽을 추가한다.
-
⑤ ③의 과정에서 겹치는 세그먼트가 없는 경우, 투사한 좌측 축 상에서 현재 블럽과 일정 거 리내의 세그먼트를 찾고, 해당 세그먼트 각각 에 대해서, 현재 블럽을 추가할 경우에 한글 문자의 기하학적 형태를 만족하는지 여부를 체크한다. 만족하는 경우라면 해당 세그먼트 에 현재 블럽을 추가하고, 아닌 경우에는 신 규 세그먼트를 생성하고, 생성된 세그먼트에 현재 블럽을 추가한다.
-
⑥ 모든 블럽에 대해 ③~⑤의 과정을 수행한다.
IRBP는 도로번호, 심벌 등이 국문지명 앞에 있거 나, 표기된 텍스트가 많아서 텍스트 라인의 간격이 좁은 경우를 제외하고, 텍스트 세그먼트의 검출 성 공률이 매우 높다. 한글 문자 템플릿을 사용하지 않 으므로, 설정하여야 하는 매개변수의 개수가 적을뿐 만 아니라, 그 영향이 크지 않다는 점이다. 하지만, 좌측에 투사하여 텍스트 세그먼트를 검출하는 방법 이기 때문에, 텍스트 좌측에 도로번호 심벌이나 기 호 심벌이 존재하고, 그 심벌의 블럽들이 SWT 과정 에서 일부가 제거되지 않게 되면, 제거되지 않은 일 부 블럽이 포함된 텍스트 세그먼트가 검출되는 문 제가 발생한다. 이러한 단점을 해결하기 위해서는, IRBP를 적용하기 전에 심벌 블럽을 효과적으로 미 리 제거하거나, 검출한 텍스트 세그먼트의 후처리 과정을 통해서 해결하여야 한다. 복구 과정을 고려 하여, 후자의 방식을 구현하고 평가하였다.
2. 검출 텍스트 세그먼트 후처리
<그림 6>(a)에서 보듯이 IRBP는 영문, 국문 테스 트 세그먼트, 국·영문 혼재 텍스트 세그먼트의 구분 없이 모두 검출한다. 왜냐하면, 한글문자 템플릿 기 반 방법에서는 텍스트 블럽 집합에서 한글 자소 블 럽을 솎아내는 과정이 있지만, IRBP에서는 한글과 영문 블럽의 구분 없이 텍스트 라인을 공유하는 텍 스트 블럽을 모두 그루핑하여 텍스트 영역을 찾기 때문이다. 따라서, 국문지명만을 인식하기 위해서는 검출한 텍스트 세그먼트의 영문 여부를 판단하고, 영문 텍스트인 경우에는 이를 인식 대상에서 제외 시켜야 한다.
또한, 국·영문 혼재 텍스트 세그먼트에 대해서는, 우선 혼재 여부를 확인한다. 혼재 텍스트 세그먼트 인 경우에는 일반적으로 영문이 국문의 오른편에 위치하므로, 후미에 위치한 영문 텍스트 영역을 제 거하여 왼편에 위치한 국문 텍스트를 추출하여야 한다.
<그림 6>(b)는, “풍무중학교”와 “Yuheon P. school”, “Pungmu M. School”의 영문 텍스트가 서로 겹쳐진 두 텍스트 세그먼트로 검출된 사례를 나타 낸다. 이러한 경우는 국문지명과 위/아래의 영문 텍 스트와 인접하게 위치한 경우에 발생하는데, 이는 IRBP에서 신규 텍스트 세그먼트 생성 과정에서 위/ 아래에 인접하게 위치한 영문 블럽이 추가되기 때 문이다. 이러한 겹쳐진 텍스트 세그먼트는 사후 처 리 과정에서 서로 병합하고 분리함으로써, 별도의 텍스트 세그먼트로 분리해야 한다.
<그림 6>(c)는 국문지명 앞에 도로번호 심벌이 위치하여 도로번호 심벌 전부 혹은 일부가 텍스트 세그먼트에 포함되어 검출되는 경우를 나타낸다.
<그림 6>(d)는, 서로 수평으로 위치한 두 세 개의 텍스트가 하나의 텍스트 세그먼트로 검출되는 경우 를 나타낸다. 즉, "남공주IC"의 텍스트, “부여” 텍스 트, “공주보” 텍스트가 아주 큰 하나의 텍스트 세그 먼트로 검출된 경우이다. 이러한 경우는 국문, 영문 지명이 인접한 위치에 유사한 텍스트 라인을 갖게 배치된 경우에 발생한다.
IRBP 과정을 통해서 검출된 텍스트 세그먼트로 부터 국문지명 세그먼트만을 성공적으로 선별하기 위해서 텍스트 세그먼트 후처리 및 필터링 알고리 즘을 Matlab으로 구현하였으며, <그림 7>과 같다.
3. 텍스트 세그먼트의 노이즈 블럽 필터링
인접해 있는 선이나 블럽이 텍스트 세그먼트에 포함되는 경우가 발생 한다. 이 경우는 두 텍스트간 의 텍스트 라인을 사용하여 두 텍스트 세그먼트를 분리하는 과정을 종종 훼손시킨다. 따라서, 텍스트 세그먼트 가장자리 주위에 위치한 블럽 중에서 특 정 조건을 만족하는 블럽을 필터링하는 휴리스틱을 사용하여 해당 블럽들을 제거하였다.
4. 겹치는 텍스트 세그먼트 병합 및 분리
IRBP는 상하로 배열된 텍스트 세그먼트가 겹쳐 진 형태로 검출되기도 한다. 특히 상하로 인접한 국 문과 영문 텍스트의 경우 다수 발생한다.
겹쳐진 텍스트 세그먼트로부터 정상적인 텍스트 세그먼트를 추출하기 위한 방법으로서, 선병합 후 분리 방식을 사용하였다. 일반적으로 겹쳐진 텍스 트 세그먼트는 동일 단어에 속하는 블럽들이 두 텍 스트 세그먼트로 나눠진 형태이므로, 이를 하나의 텍스트 세그먼트의 블럽으로 만들기 위해서는 먼저 겹쳐진 두 세그먼트를 병합하여야 한다.
병합한 텍스트 세그먼트에 대해서, 2개 이상의 텍스트 세그먼트로 분리하여야 한다. 이 때 텍스트 세그먼트 내 문자의 간격과 세그먼트 간의 간격을 활용한다. 텍스트 간 수직 간격 유무를 활용한 텍스 트 세그먼트의 분리 과정은 다음과 같다.
-
⑦ 세그먼트에 포함된 블럽을 좌측 축으로 프로 젝션하여 블럽 개수의 히스토그램 계산
-
⑧ 블럽 개수 히스토그램에서 연결요소 분석 기 법을 사용하여 0인 구간, 즉 텍스트간의 수직 간격의 개수 카운트
-
⑨ 해당 구간을 기준으로 텍스트 세그먼트 분할
-
⑩ 소속 블럽을 분할된 텍스트 세그먼트로의 소 속 여부를 결정하고, 분할된 텍스트 세그먼트 의 정보, 즉 높이와 폭 등의 재설정
5. 국·영문 혼재 텍스트 세그먼트의 처리
모든 텍스트 세그먼트에 대해서, 국·영문 혼재 여부를 확인하고 혼재로 분류된 경우에는 국문 텍 스트만을 추출한다.
국문이 영문 보다 좌측에 있고, 영문 텍스트의 크기가 작으며, 알파벳 간의 간격이 한글의 문자간 의 간격에 비해 작다는 특징을 활용하여 국·영문 혼재 여부를 판단한다. 아래 두 가지 다른 휴리스틱 으로 구현해서 비교 실험해 보았다.
첫 번째는, 수직 프로젝션으로 블럽간의 간격, 소 위 피치(pitch)를 검출하고, 급격한 pitch의 변동이 있는 경우, 그 변동이 적은 구간을 영문 텍스트로 간주하고 이를 제거하는 방법이다.
두 번째는, 텍스트 라인을 공유하는 국문과 영문 텍스트의 경우, 영문 텍스트 높이가 국문 텍스트 높 이에 비해 상대적으로 낮다. 이 점을 활용하여 텍스 트 세그먼트의 우측 끝부터 대상 블럽에 대해서, 영 문 블럽인지를 확인하고, 영문 블럽 개수가 일정 개 수 (4개) 이상인 경우, 해당 텍스트 세그먼트를 국· 영문 혼재 텍스트 세그먼트로 분류하고 해당 영문 부분을 제외시킨다. 텍스트 라인으로부터 블럽의 바닥 높이가 세그먼트 높이의 60% 이내이고, 세그 먼트 천정과 블럽 천정과의 차이가 세그먼트 높이 의 20% 이상인 경우에, 해당 블럽을 영문 블럽으로 간주한다.
6. 영문 텍스트 세그먼트의 제거
최종적으로, 국문 텍스트 세그먼트만을 선별하기 위해서는, 국문과 영문 텍스트 세그먼트를 구분하 여야 한다. 이를 위해서 다음 2가지 휴리스틱을 구 현하여 테스트하였다.
첫 번째는 영문 알파벳의 배치와 한글 문자의 초·중·종성 자소의 배치 차이를 활용하는 방법이다. 예를 들어, “용곡공원”, “연화마을”처럼 국문 블럽 은 초·중·종성 자소 중 하나이므로 블럽이 상하로 위치해 있지만, 영문 블럽들은 서로 수평으로 배치 되어 있다. 이 점을 활용하여, 텍스트 세그먼트에 포함된 블럽간의 상호 배치 정보를 확인하고 상하 배치가 존재하지 않는 경우에 영문 텍스트 세그먼 트로 구분하고, 인식 대상에서 제외한다. 만약 존재 하는 경우에는 국·영문 혼재여부로 분류하였다.
두 번째는 텍스트 세그먼트에 소속된 블럽의 개 수 정보를 활용한다. 수평축으로 블럽들을 프로젝 션하고 연결요소분석을 통해서 연결요소 개수를 구 한다. 텍스트 세그먼트의 폭에 비해 연결 요소 개수 의 비율이 일정 값 이상인 경우에 영문 텍스트 세 그먼트로 분류하고 제거한다. “용곡공원”의 경우, 수평축으로 프로젝션된 연결요소 개수는 4개인데 반해, “Yonggok Park"는 연결요소 개수가 11개이므 로, 적절한 값을 설정하면 영문 세그먼트의 제거가 가능하였다.
7. 텍스트 세그먼트 처리 테스트
이상 살펴본 텍스트 세그먼트의 후처리 및 필터 링의 단계별 결과를 <그림 8>에 나타냈다. 한글 텍 스트인 “아산방조제”가 아래에 위치한 영문 텍스트 와 분리가 된 모습을 볼 수 있다. 또한, “성환”, “둔 포”의 한글 텍스트 우측의 영문 텍스트가 제거되었 으며, “Anjung”, “Cheonam” 등의 영문 텍스트가 제 외되었다. “Asan”, “W. Phyeongtaek IC” 등의 영문 텍스트는 제거되지 않았으며, 이 경우 이후 문자인 식 OCR을 이용하여 제거하여야 한다.
Ⅳ. 분석
IRBP의 성능 개선 정도를 평가하기 위하여, 60개 의 도로표지 영상 데이터로 기존의 한글 템플릿을 사용하는 경우와 비교하여 성능을 평가하였다. 전 반적으로, IRBP 방법으로 국문지명 검출 성능을 개 선할 수 있음을 확인하였다. 총 60개의 도로표지 영 상 중에서, 한글문자 템플릿 방법과의 검출 차이가 발생한 영상들을 선별하여 <표 2>에 나타내었다.
각 경우 별로 살펴보면, (c), (f) 경우처럼 동일 도 로표지 영상 내에 텍스트의 크기가 서로 다른 경우, 한글문자 크기의 매개변수를 사용할 때 두 텍스트 세그먼트의 검출이 용이하지 않음에 반해, IRBP 방 법은 용이하게 검출하였다.
또한, (a)의 "서울세관"의 ’관’, (d)의 "청정리"의 ’ 리’, (i)의 "청주IC"의 ’청’, (k)의 "자양사거리"의 "사 거리" 경우처럼 국문지명의 좌우측 끝단에 위치한 한글문자를 검출하지 못하는 경우를 개선할 수 있 음을 관찰하였다. 기존 방법이 한글문자를 찾고, 검 출한 문자를 단어로 병합하는 방식이었기 때문에, 한글문자 검출 단계에서 문자 검출이 실패한 경우 에 복구가 웠다. 이에 반해 IRBP는 블럽을 텍스트 세그먼트에 점진적으로 추가하는 방식으로써, 우측 끝단의 문자 검출에 용이한 측면이 있다.
(m)과 (n)의 영상의 경우, 해상도가 낮아, “오창과 학단지”와 “천안”, “병천”의 텍스트가 블럽으로 추 출되지 못하기 때문에 한글문자검출 단계에서 실패 하였다. 하지만, IRBP는 해당 국문 텍스트를 구성하 는 블럽이 존재하므로 용이하게 텍스트 세그먼트를 검출하였다.
(b), (g), (i), (n)의 영상에서 영문 텍스트 세그먼 트가 제거되지 못한 이유는, 해상도가 낮아 영문 알 파벳이 2-3개의 상하로 배치된 블럽으로 검출되어, 영문 세그먼트 제거 휴리스틱에 의해 제거되지 못 했기 때문이다.
(c), (d), (h), (i)의 영상에서, 좌측 심벌의 전부 혹 은 일부가 국문 텍스트 세그먼트로 검출됨을 볼 수 있다. 이는, SWT 영상에서 심벌을 제거하기 위한 단순 휴리스틱을 적용하였으나 완벽히 제거되지 않 았기 때문이다.
총 60개의 영상에 대해 한글문자 템플릿 기반의 추출 방법과 IRBP 기반의 추출 방법에 따른 결과를 보면 <표 3>과 같다.
Ⅴ. 결론
본 연구에서는 도로표지 영상에서 한글 문자정 보의 자동 추출을 위해 IRBP 기반의 영역추출 방법 을 적용하였다. 도로표지는 명함 등과 같은 문서 형 태의 한글과 다르게 일정한 패턴을 가지지 않으며, 단어 단위로 표기되어 있기 때문에 한글문자의 단 어영역의 추출이 중요하기 때문이다.
국·영문 텍스트 세그먼트에서 영문 세그먼트를 검출/제거하는 두 가지 방법에 대해 실험한 결과, 국·영문 텍스트의 높이 차이에 기반한 방법이, 수평 간격, 즉 피치 차이를 사용한 방법보다 블럽의 변동 에 대해서 강건한 검출 성능을 보임을 확인하였다. 그 이유는, 도로표지의 공간 부족으로 인해 국문과 영문 텍스트가 인접하게 위치한 경우, 텍스트 좌측 과 우측에 박스 심벌의 일부분 블럽이 존재하는 경 우가 적지 않아서 피치 검출의 오류를 유발시키기 때문이다.
본 연구 결과에 대한 후처리 효율화를 위해서는 문자열 내의 간격이 3픽셀 이상이 되도록 적정 해 상도를 가지는 카메라를 이용하여 적정 거리, 즉 전 체 영상에 도로표지판의 영역이 최대가 되는 거리 에서 영상을 취득하여야 한다. 또한 영상 내에서 도 로표지판의 외곡이 심하지 않도록 하여야 하므로, 촬영의 위치, 각도, 대상물의 높이, 이동속도 등을 고려한 최적 위치 선정 연구가 필요하다.
또한, 한글문자 뿐만 아니라 노선번호, 화살표 등 다양한 정보의 추출을 위해서는 높은 해상도의 영 상이 필요할 것이다. 따라서, 고성능 카메라를 활용 한 고해상도 영상이 필요한데, 이 경우 그 처리속도 가 떨어지므로 다양한 해상도에 대한 테스트를 수 행할 필요가 있다.
향후, 추출된 문자 영역을 기반으로 단어사전을 이용한 문자인식을 적용한다면, 도로표지뿐만 아니 라 정보를 가지는 도로 시설물에 대한 속성의 자동 구축이 가능해질 것으로 기대된다.