Ⅰ. 서 론
순서도에 관한 연구에는 전자칠판이나 태블릿 기기에 그려진 온라인 순서도의 재사용이나 편집을 위하여 디지털코드로 자동 변환하는 연구가 있다[1-3]. 그리고 초급 수준의 컴퓨터 프로그램 작성을 어려워하는 피교육자들을 위하여 종이에 필기된 순서도를 해석하여 컴퓨터 프로그램으로 자동 변환하는 연구[4-6]가 있으며, 방대한 특허문서를 효과적으로 검색하기 위해서 특허 문서에 수록되어 있는 순서도를 해석하여 검색코드로 자동 변환하는 연구[7,8]가 있다.
종이에 그려진 순서도를 컴퓨터 프로그램으로 자동 변환하는 연구는 순서도 영상에서 기호 블록과 연결선 블록으로 분리한 후에[4-7] 분리된 순서도 기호영상에 세선화(thinning)과정을 적용하여[5-7] 특징들을 추출하고, 정합(template matching)[3, 4, 6, 7] 또는 신경망 (neural network)[5]기법을 이용하여 순서도 기호를 인식한다. 인식된 순서도를 FORTRAN언어 프로그램으로 변환[4], XML코드로 변환[5], FlowChartML로 변환[6] 연구가 진행되고 있다.
본 연구의 최종 목표는 종이에 그려진 순서도를 해석하여 컴퓨터 프로그램으로 자동 변환하는 시스템 개발에 두고 있다. 그런데 순서도를 해석하는 과정은 기존의 연구[4-7]에서는 먼저 기호 블록과 연결선 블록으로 분리한 후에 각각 인식하고 있다. 그런데 아무런 지식도 없이 기호와 연결선을 분리하는 것은 어려운 과정이다. 특히 오프라인 필기 순서도의 기호와 연결선 분리는 필기자들이 수직선이나 수평선을 그을 때 다양한 기울기 변형이 나타나므로 기호와 연결선의 분리는 더더욱 어려운 작업이다. 그런데 일반적으로 사람들은 순서도를 해석할 때 먼저 순서도 기호를 인식한 후에 연결선들을 인식하고 있다. 따라서 효율적인 순서도 해석을 위해서는 먼저 기호를 인식한 후에 연결선을 분리하는 연구가 필요다.
컴퓨터 프로그램에 사용되는 순서도 기호는 주로 직선으로 이루어져 있으므로 종이에 그려진 오프라인 순서도 기호를 효과적으로 인식하기 위해서는 직선 획들을 효과적으로 추출하는 방안이 필요하다.
본 논문에서는 정규화된 우세한 기울기 벡터(dominant slope vector:DSV) 군집의 최소외접사각형(minimum bounding rectangle of cluster:CMBR)들의 교차영역(cross region:CR)의 형태와 세기를 기반으로 변형에 강건한 오프라인 필기 순서도 기호인식 알고리즘을 제안한다. 제안된 알고리즘에서는 곡선으로만 구성되어 있는 “연결”기호를 3개의 특징으로 인식한다. 다음으로 직선 획들이 있는 기호영상에서 DSV를 4개 각도로 양자화(quantization)하여 정규화된 DSV 분포를 구하고, DSV군집의 최소외접사각형을 구하여 직선 획들을 추출한다. 마지막으로 CMBR들을 연장하여 직선 획들의 교차영역을 구하고, 교차영역의 형태와 세기를 정합하여 순서도 기호를 인식한다.
제안한 알고리즘의 타당성을 확인하기 위하여 초급 수준의 컴퓨터 프로그램에 많이 사용되는 순서도 기호를 위주로 선정된 10종류 순서도 기호들을 40명 대학생들에게 그리게 하여 취득한 198개 순서도 기호들을 대상으로 실험한 결과 제안된 알고리즘이 변형에 강건하여 오프라인 필기 순서도 기호인식에 매우 효과적임을 확인하였다.
Ⅱ. 제안한 순서도 기호인식 시스템
2.1. 필기 순서도 기호 및 특성
본 논문에서 인식대상으로 하는 순서도 기호는 컴퓨터 프로그램의 순서도에서 주로 사용되는 기호들을 위주로 10종류로 선정하였다.
표 1.순서도 기호 Table. 1 Flowchart symbols
필기 순서도 기호의 특성은 다음과 같다.
2.2. 순서도 기호인식 시스템 구조
본 논문에서 제안한 알고리즘은 그림 1에서 보는바와 같이 순서도 기호영상에 모폴로지 팽창연산을 적용하고, 곡선으로 구성된 “연결”기호를 인식하고, 직선 획들이 있는 기호들은 정규화된 DSV 군집의 최소외접사각형을 구한 후에 이들 사각형들의 교차영역 형태와 세기비교에 의해서 순서도 기호를 인식한다.
그림 1.제안한 알고리즘 흐름도 Fig. 1 Flowchart of the proposed algorithm
2.2.1. 모폴로지 팽창 연산
필기 순서도 기호영상들은 필기자에 따라서 획들이 끊어지거나 요철현상이 발생하는 단점을 보완하기 위해서 모폴로지 팽창연산을 적용한다.
2.2.2. 연결기호 인식
“연결”기호는 작은 원으로 구성되어 있고, 직선 획들이 존재하지 않으므로 기호영상으로부터 다음과 같은 직접적인 특징을 구하여 “연결”기호를 인식한다.
전술한 특징들 중 Ar특징이 Ath보다 적고, MBR의 4변에서 구해지는 모든 Bp특징이 0보다 크고, Ur특징이 Rth보다 낮은 비율이 Cth보다 크면 “연결”기호로 인식된다. 본 연구에서는 Ath는 0.7로, Rth는 0.2, Cth는 0.8로 설정하였다.
2.2.3. 우세한 기울기 벡터 군집의 최소 외접 사각형
(1)우세한 기울기 벡터
순서도 기호영상를 구성하는 흑화소들의 기울기 벡터(slope vector:SV)들 중 가장 큰 값의 기울기 세기를 가지는 SV를 우세한 기울기 벡터(DSV)로 설정한다.
필기 순서도 기호는 필기자에 따라서 수직선 또는 수평선의 기울기 변형이 발생하며, 이러한 특성에 의한 기호영상의 오인식을 최소화하기 위하여 0도에서 180도 사이의 다양한 각도로 구해지는 DSV의 기울기 각도를 0도, 45도, 90도 및 135도의 4단계로 양자화하여 정규화된 DSV분포(map)를 구하며, 알고리즘은 다음과 같다.
(2)우세한 기울기 벡터의 군집의 최소외접사각형
본 논문에서는 4개의 각도로 정규화된 DSV 분포(검정색 부분)에서 동일한 각도의 인접한 흑화소들을 RDL 알고리즘[9]을 사용하여 레이블링을 수행하여 군집화한다.
그림 2.정규화된 DSV 분포 (a) 0도 (b) 90도 (c) 45도 (b) 135도 Fig. 2 Normalized DSV map (a) 0degrees (b) 90degrees (c) 45degrees (b) 135degrees
DSV군집의 최소외접사각형(CMBR)을 구한 후에 CMBR의 길이, 세기 및 포함관계 등을 고려하여 CMBR들을 제거한다.
본 연구에서는 Lth는 기호영역의 너비와 높이 중 짧은 길이의 1/5, Sth는 0.5, Ith는 0.8, Nth는 3픽셀로 설정하였다.
그림 3.DSV군집의 최소 외접사각형 Fig. 3 Minimum bounding rectangle of the DSV's cluster
직선 획들이 교차하는 영역에서는 다양한 각도의 DSV가 존재하므로 4개 각도로 정규화하는 과정에 의해서 CMBR들이 제대로 추출되지 않을 수 있으므로 다음 단계에서 수행하는 직선 획들의 교차영역을 제대로 구하기 위해서 CMBR을 연장한다.
본 연구에서는 Wth는 기호영역의 너비, 높이 및 대각선 길이의 1/20로 설정하였다.
(3)수평 및 수직 CMBR
연장된 CMBR들 중에서 기호영역의 상, 하, 좌, 우변에서 길이가 Bth이상이고, CMBR의 중심이 기호영역의 중심밴드 SB내에 있는지 확인하여 수평과 수직 CMBR을 구한다. 본 연구에서는 Bth는 0.5, SB는 기호영역의 너비 또는 높이의 2/5~3/5 사이로 설정하였다.
2.2.4. 교차영역
CMBR들을 연장하여 직선 획들이 교차되는 위치에서 교차영역(검정색 부분)을 구한다.
그림 4.연장된 CMBR에 의한 교차영역 Fig. 4 Cross region by the extended CMBR
교차영역을 구성하는 CMBR들의 세기 SCMBR들 중 최소 세기를 교차영역의 세기 SCR로 설정한다. 그리고 임의의 교차영역에는 두 개의 CMBR들이 있으며, 이들의 상대적인 위치관계와 기호의 내부 위치를 조합하여 그림 5와 같은 교차영역의 형태를 분류하며, 그림에서 점은 기호 내부를 의미한다.
그림 5.교차영역의 형태 Fig. 5 Types of the cross region
2.2.5. 순서도 기호의 인식
연장된 CMBR들의 closed loop 형성여부를 확인하여, 만약 closed loop가 형성되지 않으면 기호영상의 직선 획들의 교차영역이 제대로 구해지지 않았기 때문이다. 기호영상의 직선 획들의 완전한 교차영역을 구하기 위하여 closed loop를 형성하지 않는 CMBR의 끝에 가상 교차영역을 임의로 추가하여 완전한 직선 획들의 교차영역을 구하며, 가상 교차영역은 다음과 같은 과정으로 생성한다.
순서도 기호별로 교차영역의 형태 및 세기, 기호영역의 좌, 우측의 수직 CMBR 및 좌측과 우측에서 곡선의 존재 등의 데이터베이스를 구축하여 정합과정을 통해서 순서도 기호를 인식한다. 그리고 기호영역의 상단과 하단에 존재하는 수평 CMBR의 존재여부에 따라 단계별로 인식한다.
Ⅲ. 실험 및 결과 분석
3.1. 실험 데이터
본 논문에서 제안한 알고리즘의 타당성을 확인하기 위한 10종류의 순서도 기호를 40여명의 대학생들에게 종이에 작성하게 한 후에 300dpi 해상도의 스캐너를 통해서 198개 순서도 기호영상을 입력받아서 Intel Core I5-3470 3.2GHz Windows7환경에서 실험하였으며, 실험에 사용된 순서도 기호는 대학생들에게 연구에 대한 사전정보 없이 자유롭게 그리도록 하였으므로 다양한 변형이 발생하였다.
표 2.실험 데이터 Table. 2 Experiment data
3.2. 실험 및 결과 분석
수직 및 수평CMBR을 구하기 위한 수평 및 수직 정규화 각도범위는 “처리”기호를 분석하여 구하였으며, 수평선의 최대 기울기 각도는 5.5도, 수직선의 최대 기울기 각도는 11.4도의 특성을 보여서 DSV정규화를 위한 범위를 수평선은 10도, 수직선은 15도 설정하였다.
표3에서 보면 “수동 입력”기호 1개에서 오인식이 발생하였으며, 오인식 기호영상은 다음과 같다.
표 3.실험결과 Table. 3 Experiment results
그림 6.오인식된 순서도 기호영상 Fig. 6 Misrecognized flowchart symbol images
그림에서 보면 “수동 입력”기호는 필기자가 상단의 기울어진 45도 사선을 수평선과 비슷하게 그려서 상단 수평선의 기울기가 3.06도 이므로 DSV정규화에서 설정한 수평선 범위(10도)내에 있으므로 수평선으로 인지되어 “처리”기호로 오인식 되었다.
그리고 다양한 변형 특성이 있어서 오인식될 수 있는 순서도 기호가 제안한 알고리즘에 의해서 정인식된 사례 몇 가지를 살펴보면 다음과 같다.
그림 7.변형이 있는 순서도 기호영상 (a) 수동 입력 (b) 페이지연결 (c)인쇄 Fig. 7 Flowchart symbol images with variations (a) Manual input (b) Page connector (c) Document
그림7(a)는 “수동 입력”기호로써 우측의 수직선이 많이 기울어져 있으나 본 논문에서 제안한 DSV의 정규화에 의해서 수직선으로 인식될 수 있고, 그림7(b)는 “페이지연결”기호로써 우측의 수직선이 45도 사선과 혼동을 일으킬 수 있으나, CMBR의 세기에 의해서 45도 사선은 제거되어 “페이지연결”기호로 정인식되었다. 그림7(c)는 정규화된 직선 획들의 교차영역의 형태는 “페이지연결”기호와 동일하나, 교차영역의 세기 비교에 의해서 “인쇄”기호로 정인식 됨을 알 수 있었다.
특히 실험 데이터를 연구에 대한 사전 정보없이 그렸기 때문에 기울기 변형이 심한 순서도 기호도 다수 발생하였으나 대부분 정인식 되었다. 본 연구의 최종 목표는 종이에 그려진 순서도를 해석하여 C언어 프로그램으로 자동 변환하는 것을 최종 목표로 삼고 있는데 이러한 경우에는 자동변환의 성공을 위해서 필기자들이 종이에 순서도를 그릴 때 본 연구에서의 실험 데이터보다는 훨씬 정확하게 그릴 것이므로 본 논문에서 제안한 알고리즘에 의한 오프라인 필기 순서도 기호의 인식률은 100%가 될 것으로 사료된다.
본 논문에서의 순서도 기호인식 실험 결과를 기존의 동일한 연구는 없어서 본 연구와 유사한 오프라인 다이어그램 인식(diagram recognition)연구결과1)[10]와 비교하였다.
표4에서 보면 제안한 방법에 의해서는 100%의 인식률을 얻었고, Refaat연구에서는 87%의 결과를 얻었다. 따라서 본 논문에서 제안한 정규화된 DSV 군집의 최소외접사각형 교차영역의 형태 및 세기에 의한 순서도 기호인식 알고리즘이 필기자에 따라 발생되는 변형에 강건하여 제안한 알고리즘이 오프라인 필기 순서도 기호인식에 매우 효과적임을 알 수 있었다.
표 4.기존 연구와 제안한 방법의 인식률 비교 Table. 4 Comparison of recognition rate between the existing research and the proposed method
향 후 순서도 연결선의 인식연구를 진행하여 순서도를 해석하는 연구와 순서도를 C언어 프로그램으로 자동 변환하는 연구가 과제로 남아있다.
Ⅳ. 결 론
본 논문에서는 정규화된 우세한 기울기 벡터 군집의 최소외접사각형들의 교차영역의 형태와 세기를 기반으로 기울기변형에 강건한 오프라인 필기 순서도 기호인식 알고리즘을 제안하였다. 제안된 알고리즘에서는 곡선으로만 구성되어 있는 연결기호는 3개의 특징으로 인식되고, 직선 획들이 있는 기호들은 DSV를 4개 각도로 정규화를 진행하여 각도별로 군집의 최소외접사각형(CMBR)을 구하여 직선 획들을 추출하고, 이들을 연장하여 직선 획들의 교차영역을 구하고, 교차영역의 형태와 세기 비교에 의해서 순서도 기호를 인식하였다.
제안된 알고리즘의 타당성을 확인하기 위해서 10종류의 198개 순서도 기호들을 대상으로 실험한 결과 99.5%의 인식률을 얻을 수 있었고, 오인식이 발생한 1개의 순서도 기호도 필기자가 수평선과 사선을 정확하게 구분하지 않아서 발생하였고, 특히 기울기 변형이 심하여 수직선과 사선이 불분명하게 그린 경우에도 제안된 정규화된 DSV와 교차영역의 세기정보 등에 의해서 정인식 됨을 알 수 있어서 제안된 알고리즘이 오프라인 필기 순서도 기호인식에 매우 효과적임을 알 수 있었다.
참고문헌
- Z. Yuan, H. Pan, and L. Zhang, "A Novel Pen-Based Flowchart Recognition System for Programming Teaching," Advances in Blended Learning, pp. 55-64, 2008.
- M. C. Carlisle, T. A. Wilson, J. W. Humphries, and S. M. Hadfield, "RAPTOR : Introducing Programming to Non-Majors with Flowcharts," Journal of Computing Sciences in Colleges, vol .19 no. 4, pp. 52-60, April 2004.
- X.H. Wu, "Automatic Conversion of Structured Flowcharts into Problem Analysis Diagram for Generation of Codes," Journal of Software, vol. 7, no. 5, pp. 1109-1120, 2012.
- S. Ito, "Automatic Input of Flow Chart in Document Image," in 6th international conference on Software engineering, pp. 319-328, 1982.
- B. G. Vasudevant, S. Dhanapanichkul, and R. Balakrishnan, "Flowchart Knowledge Extraction on Image Processing," Proceedings of International Joint Conference on Neural Networks, pp. 4075-4088, 2008.
- W. Szwoch, "Recognition, Understanding and Aestheticization of Freehand Drawing Flowcharts," in ICDAR, vol. 2, pp. 1138-1142, 2007.
- M. Rusinol, L. Heras, J. Mas, O. R. Terrades, D. Karatzas, A. Dutta, G. Sanchez, and J. Lasods, CVC-UAB's participation in the Flowchart Recognition Task of CLEF-IP 2012. in CLEF 2012 evaluation labs and workshop [Online]. pp. 1-11, 2012.
- M. Rusinol and L. Heras, O. Terrades, "Flowchart Recognition for Non-Texttual Information Retrieval in Patent Search," Information Retrieval, v. 17 no. 5/6, pp. 545-562, 2014. https://doi.org/10.1007/s10791-013-9234-3
- G. S. Lee, "An RDL Algorithm for the High Speed Extraction of Connected Components", Gumi College Rearch Bulletin, vol. 12, 2003.
- K. Refaat, W. Helmy, A. Ali, M. AbdelGhany, and A. Atiya, "A New Approach for Context-Independent Handwritten Offline Diagram Recognition using Support Vector Machines," in 2008 International Joint Conference on Neural Networks, pp. 177-182, 2008.