Journal Search Engine
Search Advanced Search Adode Reader(link)
Download PDF Export Citaion korean bibliography PMC previewer
ISSN : 2093-5145(Print)
ISSN : 2288-0232(Online)
Journal of the Korean Society for Advanced Composite Structures Vol.9 No.4 pp.95-100
DOI : https://doi.org/10.11004/kosacs.2018.9.4.095

Parametric Study for Handwriting Recognition by CBB

Byung-Jik Son1, Kyu-Hwan Lee2
1Professor, Department of International Civil and Plant Engineering, Konyang University, Chungnam, Korea
2Professor, Department of Disaster Safety & Firefighting, Konyang University, Chungnam, Korea

본 논문에 대한 토의를 2019년 2월 28일까지 학회로 보내주시면 2019년 3월호에 토론결과를 게재하겠습니다.


Corresponding author: Lee, Kyu-Hwan Department of Disaster Safety & Firefighting, Konyang University, 121, Daehak-ro, Chungnam-do, Korea. Tel: +82-41-730-5633, E-mail: khlee@konyang.ac.kr
November 20, 2018 November 28, 2018 December 5, 2018

Abstract


CNN techniques for deep learning are being studied and developed throughout the medical, agricultural, aviation, and automotive industries. It can be also applied to construction fields such as concrete cracks and steel welding defects. In this study, we upgraded the previous study and analyzed the classification of handwritten images using CNN technique before applying them to construction field. Deep learning is generally more accurate with deeper and deeper layers, but analysis cost is high. In addition, many variations can occur depending on training options. Therefore, we performed many parametric studies and analyzed when the learning layer is deeper.



CNN 기법에 의한 손글씨 인식 파라미터 연구

손 병직1, 이 규환2
1건양대학교 해외건설플랜트학과 교수
2건양대학교 재난안전소방학과 교수

초록


딥러닝을 위한 CNN 기술은 의학, 농업, 항공 및 자동차 산업 전반에 걸쳐 연구, 개발되고 있다. 또한 콘크리트 균열 이나 강철 용접 결함과 같은 건설 분야에도 적용할 수 있다. 본 연구에서는 건설분야에 적용하기에 앞서, 이전 연구를 발전시키 고 CNN 기법을 사용하여 손으로 쓴 이미지의 분류를 분석하였다. 딥러닝은 일반적으로 학습층의 깊이가 깊을수록 정확도가 높 아지지만 분석 시간이 오래 걸리는 단점이 있다. 또한 훈련 옵션에 따라 많은 변화가 발생할 수 있다. 따라서, 많은 파라미터 연구를 수행했고 학습 계층이 더욱더 깊어질 때 분석을 수행하였다.



    1. 서 론

    딥러닝(Deep Learning) 기법은 다층형태 구조의 신경 망을 기반으로 하는 기계학습(Machine Learning)의 한 분야로, 수많은 데이터로부터 높은 수준의 추상 화 모델을 구축하는 기법이다. 기계학습은 알고리즘 을 미리 설정하고 원하는 목표를 달성하는 것으로 서, 데이터 기반으로 분석한 사항을 기계가 학습하 고 미래를 예측할 수 있다. 이에 대해 딥러닝은 기 계학습의 발전된 기법으로 큰 틀에서 사람의 생각방 식을 컴퓨터에게 가르치는 기계학습의 한 분야이다. 또한, 딥러닝은 수많은 자료나 복잡한 데이터들 속에 서 핵심적인 내용을 요약하는 기법으로, 초기에는 단 순하게 색이나 선만 구별하고, 나중에는 형태 및 모 양 등을 인식하고, 더 나아가 추상적인 수준까지 구 분할 수 있도록 학습시키는 다층적인 의미를 가진다.

    본 연구에서 다루고자 하는 CNN(Convolutional Neural Network) 기법은 LeCun (1989, 1998)이 필기 체의 숫자나 우편번호나 등을 인식하기 위해서 도입 한 이래 발전을 거듭해오고 있다.

    이러한 딥러닝의 기법은 농업, 의료, 자동차, 항 공분야 등 산업전반에 걸쳐서 발전, 연구되고 있다. 본 연구는 Son (2017)이 연구한 손글씨로 쓰여진 영 상의 분류에서 한걸음 더 나아가 학습층 깊이에 대 한 영향을 분석하였다. Son (2017)의 이전 연구는 훈 련 옵션에 따라서 정확도의 차이가 많이 발생하는 문제점이 있다. 본 연구는 이전 연구를 발전시켜 다 양한 파라미터 연구를 통해서 훈련 옵션이 손글씨 인식에 어떠한 영향을 미치는지 분석하였다.

    본 연구를 발전시키면 용접부 결함이나 콘크리트 균열 등 건설분야에도 적용이 가능할 것으로 판단 된다.

    2. CNN 개요

    현재 딥러닝 기법 중 CNN (Convolutional Neural Network)은 가장 성능이 우수한 방법 중 하나이며. LeCun (1989, 1998)이 필기체의 숫자나 우편번호 등 을 인식하기 위해서 처음으로 개발한 이래 발전을 거듭해오고 있다.

    CNN 방법은 심층 신경망의 한 종류로 Fig. 1과 같이 하나 또는 여러 개의 컨벌루션 계층(convolutional layer), 풀링 계층(pooling layer), 완전하게 연결된 계 층(fully connected layer) 등으로 구성된 신경망이다. CNN의 구조는 크게 특징 추출(Feature Extraction)과 분류(Classification) 단계로 구성된다.

    3. 손글씨 인식을 위한 CNN

    본 논문에서는 손글씨로 쓰여진 숫자를 CNN 방법을 이용하여 인식하는 연구를 수행하였다. 본 연구는 Matlab 프로그램을 기본적으로 이용하여 수행하였다 (Matlab, 2017).

    손글씨 영상은 총 10,000개로 0∼9까지 1,000개씩 의 영상으로 구성되어 있다. 그 중 25개를 무작위로 나타내면 Fig. 2와 같다. 손글씨 영상은 그림과 같이 크기도 다르며, 회전된 영상도 있으며, 다양한 필체 로 쓰여져 있다. 영상의 크기는 28×28×1이며, 마지막 숫자 1은 칼라영상이 아닌 Gray-scaled 영상임을 의 미한다.

    CNN 기법을 이용한 손글씨를 인식하는 절차는 6단계의 과정을 거치며, 요약하면 다음과 같다.

    3.1 Step 1 : Load and Explore Image Data

    Step 1은 10,000개의 손글씨 영상을 매트랩을 이용하 여 읽는 단계이다.

    3.2 Step 2 : Specify Training and Validation Sets

    Step 2는 영상 데이터를 검증 데이터와 훈련 데이터 로 지정하는 단계이며, 훈련 데이터는 랜덤하게 설 정하였다.

    3.3 Step 3 : Define Network Architecture

    Step 3은 CNN 방법의 핵심적인 단계로 CNN의 구성 및 구조를 정의한다. 여기에는 Image Input Layer, Convolutional Layer, Batch Normalization Layer, ReLU Layer, Max Pooling Layer, Fully Connected Layer, Softmax Layer, Classification Layer 등이 포함되며, 다 양한 파라미터 변수를 설정할 수 있다. 또한, 학습층 깊이를 제어할 수 있다.

    3.4 Step 4 : Specify the Training Options

    Step 4는 다양한 파라미터 연구를 수행할 수 있는 훈련할 옵션을 지정하는 단계이다. 즉, 초기 학습률, 학습 세대 등을 설정할 수 있다.

    3.5 Step 5 : Train Network using Training Data

    Step 5는 CNN 구조로 훈련 옵션에 따라 훈련시키는 단계이다.

    3.6 Step 6 : Classify Validation Images and Compute Accuracy

    Step 6은 훈련에 사용하지 않은 영상을 예측하고, 정 확도를 계산하는 단계이다.

    4. 해석 예 및 결과 분석

    3장에서 제시한 업그레이드 된 CNN 방법을 이용하 여 손글씨 인식을 연구하였다. CNN 방법을 이용한 인식은 각각의 층(Layer)의 영향을 많이 받으며, 또 한 훈련 옵션에 영항을 많이 받는다.

    따라서 이러한 사항을 파라미터 변수로 설정하여 손글씨 인식을 분석하였다. Table 1과 같이 파라미터 변수를 설정하였으며, 굵은 빨간색은 기본 값을 의 미한다. 변수 #1은 모든 경우에 해석을 수행하였다. 6개의 변수로 설정하여 해석을 수행하여, 파라미터 및 학습층이 손글씨 인식에 미치는 영향을 분석하 였다.

    Table 2는 Var. #2와 Var. #3의 변화에 의한 인식의 정확도를 나타낸 것이다. Var. #2, #3은 Convolutional Layer에서 필터의 크기와 필터의 개수를 나타낸다. 또한, Var. #1은 전체 영상대비 훈련할 영상 데이터 의 비율을 의미한다. Table 2에서 볼 수 있듯이 대체 적으로 필터의 크기와 필터의 개수가 많을수록 정확 도가 높아진다. 그러나 컨볼루션 층에서 필터의 크 기와 필터의 개수가 많아지면 해석시간이 오래 걸리 고 학습층의 깊이를 깊게 하지 못하는 단점이 있다.

    Table 3은 Var. #4와 Var. #5의 변화5에 의한 정 확도를 나타낸 것이다. Var. #4는 초기 학습률을 나 타내며, 너무 크면 차선의 결과에 도달할 수 있고, 너무 작으면 훈련 시간이 오래 걸리게 된다. Var. #5 는 훈련하는 세대(epoch)의 수를 나타낸다.

    Table 3의 해석 예에서 알 수 있듯이 초기 학습 률이 커질수록 정확도가 예측할 수 없는 결과가 나 타날 수 있다. 초기 학습률이 0.002로 너무 작으면 시간이 오래 걸리고, 결과도 좋지 않았다. 본 해석 예에서는 초기 학습률이 기본값인 0.01 근처에서 정 확도가 높고 안정적으로 나타났다.

    Table 4는 Var. #3과 Var. #6의 변화에 의한 인식 의 정확도를 나타낸 것이다. Var. #6은 학습층을 의 미하며, 보통 깊어질수록 정확도가 높아진다. 표에서 알 수 있듯이 필터의 개수가 많아질수록 학습층이 깊어질수록 정확도가 높아진다. 적당한 필터의 개수 와 학습층을 선택하면 정확도가 98∼100%로 가능해 건설분야에서도 잘 이용하면 충분하게 적용할 수 있 을 것으로 판단된다.

    5. 요약 및 결론

    딥러닝 기법 중 CNN 기법을 이용하여 손글씨 인식 을 기존 연구에서 발전시켰다. 훈련에 영향을 많이 미치는 사항과 학습층을 파라미터 변수로 설정하여 해석을 수행하였다. 파라미터 변수는 총6개를 설정 하여 분석하였으며, 다음과 같은 결론을 얻었다.

    • 1) 기본적으로 필터의 크기와 필터의 개수가 많 을수록 정확도가 높아진다. 그러나 컨볼루션 층에서 필터의 크기와 필터의 개수가 많아지면 해석시간이 오래 걸리고 학습층의 깊이를 깊게 하지 못하는 단 점이 있다.

    • 2) 초기 학습률이 커질수록 정확도가 예측할 수 없는 결과가 나타날 수 있다. 초기 학습률이 0.002로 너무 작으면 시간이 오래 걸리고, 결과도 좋지 않다. 초기 학습률이 기본값인 0.01 근처에서 정확도가 높 고 안정적으로 나타났다.

    • 3) 필터의 개수가 많아질수록 학습층이 깊어질수 록 정확도가 높아진다. 적당한 필터의 개수와 학습 층을 선택하면 정확도가 98∼100%로 좋은 결과를 얻을 수 있다.

    이상과 같이 본 연구에서는 딥러닝 기법을 이용 한 손글씨 인식이 훈련 옵션 및 학습층 깊이에 어떠 한 영향을 받는지 분석하였다. 본 연구방법을 이용 하면, 강재의 부식 인식, 콘크리트의 균열 판단, 하 수관거 CCTV 동영상의 문자 인식 등으로 직간접적 인 손상 정보 파악 등이 가능할 것으로 판단된다. 이것은 추후에 연구를 수행하고자 한다.

    ACKNOWLEDGMENT

    본 논문은 2017년도(NRF-2017R1D1A1B03028210) 및 2018년도(NRF-2018R1D1A1B07049093) 정부(교육부) 의 재원으로 한국연구재단의 지원을 받아 수행된 기 초연구사업임.

    Figure

    KOSACS-9-95_F1.gif
    CNN for classification in MATLAB
    KOSACS-9-95_F2.gif
    Sample images of CNN for classification

    Table

    Analysis parameters
    Accuracy(%) of analysis results by Var. #2 vs. Var. #3
    Accuracy(%) of analysis results by Var. #4 vs. Var. #5
    Accuracy(%) of analysis results by Var. #6 vs. Var. #3

    Reference

    1. Matlab R2017a (2017), “Neural Network Toolbox” Son, B. J. (2017), “Analysis of the Effect of Training Options on Deep Learning Network for Handwriting Recognition”, J. Korea Soc. Adv. Comp. Struc. Vol. 8, No. 2, pp. 73-79
    2. Son, B. J. , Lee, K. H. (2015), “ The Area Measurement of Composite Specimen using Digital Image Processing ”, J. Korea Soc. Adv. Comp. Struc. Vol. 6, No. 2, pp. 17-22
    3. Y. LeCun, B. Boser, J. S. Denker, D. Henderson, R. E. Howard, W. Hubbard, L. D. Jackel (1989), “Backpropagation Applied to Handwritten Zip Code Recognition,” Neural Computation 1, pp. 541-551.
    4. Y. LeCun, L. Bottou, Y. Bengio, P. Haffner (1998), “ Gradient-Based Learning Applied to Document Recognition ,” Proc. of The IEEE, pp. 1-46