심층학습 기법을 이용한 종이용기 자동 검사
Copyright © The Korean Society for Precision Engineering
This is an Open-Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License (http://creativecommons.org/licenses/by-nc/3.0) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.
Abstract
The automated inspection method of paper cups by using a deep learning classifier is proposed. Unlike conventional inspection methods requiring defect detection, feature extraction, and classification stages, the proposed method gives a unified inspection approach where three separate stages are replaced by one deep-learning model. The images of paper cups are grabbed using a CCD (Charge Coupled Device) camera and diffused LED lights. The defect patches are extracted from the gathered images and then augmented to be trained by the deep- learning classifier. The random rotation, width and height shift, horizontal and vertical flip, shearing, and zooming are used as data augmentation. Negative patches are randomly extracted and augmented from gathered images. The VGG (Visual Geometry Group)-like classifier is used as our deep-learning classifier and has five convolutional layers and max-pooling layers for every two convolutional layers. The drop-outs are adopted to prevent overfitting. In the paper, we have tested four kinds of defects and non-defects. The optimal classifier model was obtained from train and validation data and the model shows 96.5% accuracy for test data. The results conclude that the proposed method is an effective and promising approach for paper cup inspection.
Keywords:
Paper cup, Automated inspection, Deep learning, Defect detection, Visual geometry group classifier, Convolutional layer키워드:
종이 용기, 자동 검사, 심층 학습, 결함 검사, 브지지 분류기, 합성곱층1. 서론
종이 용기는 현재 여러 실생활에서 다양한 식음료 용기로서 사용되고 있다. 종이 용기의 불량은 제조 원료 또는 제조 공정 중에 발생하고 있으며 식음료와 직결되기 때문에 제품 출하 전 사전 검사는 필수적이다. 현재 종이용기 검사는 일부 중간 공정에서 상하부 영상을 취득하여 내부 및 외부의 이물 검사에 주안점을 두고 있고, 완제품에 대해서는 검사자의 육안 검사를 실시하고 있다.1
기존의 종이 용기 검사는 결함 검출을 위하여 다양한 영상처리 기법을 사용하여 해당 결함을 검출한다. 즉 찾고자 하는 결함에 따라서 적당한 전처리 및 이진화 과정을 수행해서 결함을 검출한다. 또한 검출된 결함을 분류(결함 종류로 구분) 하고자 하면 원영상(일반적으로 픽셀당 8 bit)과 이진 영상(픽셀당 2 bit)에서 특징을 추출하고 적당한 분류기를 사용하여 학습한다. 이러한 일련의 과정에서 결함 검출, 특징 추출 및 학습은 개개인의 경험과 기술에 의존하게 된다.
최근 심층 학습이 영상처리 분야의 대상 분류(Object Classification) 분야에서 기존 분류 방법들 보다 월등한 성능을 보여 주고 있으며, 나아가 자연어 처리, 적응 제어 등 다양한 분야에서 심층학습 방법이 활용되어 큰 학문적이고 실용적인 성과를 이루고 있다.2 본 연구에서 종이 용기 검사의 기존 검사 방법을 심층 학습을 이용해서 일관적이고 통합화된 방법을 제시한다.
본 논문의 구성은 다음과 같다. 먼저 종이용기 자동 검사를 위해 영상을 취득하는 광학 구조를 설명하고 본 연구에 사용되는 종이용기 유형을 정의한다. 다음으로 본 연구에서 사용되는 심층 학습기의 정의와 데이터 준비 과정을 설명한다. 마지막으로 제안된 방법의 테스트 결과를 분석하고 향후 계획에 대해서 논의한다.
2. 종이용기 자동 검사기
2.1 영상 취득을 위한 광학 구조
종이용기는 일반적으로 원형 타원 형태를 가지며 상부에서 종이용기 내부를 검사하는 장치, 하부 밑면을 검사하는 장치, 그리고 측면을 검사하는 장치로 나누어 진다. 본 연구에서는 상하부의 결함을 검사하는 방법에 주안점을 둔다. Fig. 1은 종이용기 상부 또는 하부의 표면 영상을 취득하기 위한 광학 구조를 나타낸다. Area CCD 카메라와 광원으로 원형 LED 조명을 사용한다.3 대상 표면에 광원이 균일하게 분포하게 하기 위하여 카메라와 광원을 동축(Coaxial)으로 설계하고 확산(Diffused) 방식의 광원 조사 방식을 사용하였다. 종이 용기의 상부에서 영상을 취득할 때 종이 용기의 깊이와 경사로 인해 내부 측면을 관찰을 하기 어렵다. 이를 해결하기 위하여 상부 측정을 위하여 어안 렌즈(Fish-Eye) 렌즈를 사용하여 최대한 내부 측면 면적을 많이 확보하도록 하였다. Fig. 2에 이러한 차이점을 나타내었다.
2.2 종이 용기 결함 유형
종이 용기 결함은 외부 결함과 성형 불량으로 나눈다. 외부 결함은 외부 불순물이 종이 용기에 부착되어 발생되며 대표적으로 이물(Dirty) 결함과 오염(Pollution) 등이 있다. 반면에 성형 불량은 제조 공정 과정에서 생기는 결함으로 종이 용기의 상부의 말린 부위에 생기는 결함인 입술 불량(Bad Curl), 또는 공정 중에 종이의 구겨짐에 의해 생기는 구김(Wrinkle) 등이 있다. Fig. 3에 대표적인 종이용기 불량 유형인 이물, 입술 불량(Bad Curl), 얼룩(Pollution), 구김(Wrinkle)에 대한 샘플 영상을 나타내었다. 종이 용기는 식음에 직접적으로 관여하기 때문에 약간의 이물이라도 사용자 불만 제기의 소지가 있어서 제품 생산 과정에서 필수적으로 검사되고 제거되어야 한다.
2.3 심층 학습 분류기
본 연구에서 종이 용기의 결함을 검출 및 분류하기 위하여 심층 학습 기법을 사용한다. 일반적으로 결함 검사 필드에서 결함 검출과 분류 프로세스는 분리되어 진행된다. Fig. 4는 이러한 기존의 검사기에 대한 검사 진행 방법을 나타낸다. 먼저 주어진 영상에서 검출 알고리즘을 수행하고 이를 통해서 이진 영상을 얻는다. 이진 영상은 검출된 결함 영역에 대한 마스크(Mask) 역할을 한다. 다음으로 이진 영상과 원 영상에서 사전에 선정된(Hand-Crafted) 특징 값을 추출한다. 추출된 특징 값을 입력 벡터로 사용하여 분류기를 통해서 결함 분류를 수행한다.4 이러한 과정 중에서 가장 민감한 부분이 특징 값 추출 부분이며 해당 결함 유형들에 대해서 가장 분별력이 좋은 특징 값들을 추출해야만 분류 결과가 향상된다. 경우에 따라서 분류에 효과적인 특징 값을 선별하기 위하여 분류기 입력으로 사용하기 전에 특징 선별(Feature Selection)5 과정을 거치기도 한다.
본 논문에서는 검출과 분류를 심층학습(Deep Learning) 기법을 사용하여 단일 과정으로 수행한다. Fig. 5는 기존 검사 처리 모델보다 단순화되고 통합된 단일 프로세스(End-to-End) 검사기 모델을 도식화해서 나타낸다. 심층 학습 모델을 사용함으로써 기존 검사 모델의 검출, 특징 추출, 분류 과정을 심층 학습기에 의한 단일 과정으로 대체가 가능하다. 본 논문에서 사용한 심층 학습 분류기는 VGG16 모델6을 축소한 형태의 분류기로서 Fig. 6에 그 구조를 나타내었다. VGG 심층학습 모델은 3 × 3의 작은 필터 커널(Kernel)을 사용해서 대규모 영상 내의 대상 인식(Object Recognition) 분야에서 탁월한 성능을 보여주고 있다.
본 연구에서는 VGG 모델을 기반으로 총 5개의 합성곱층(Convolution Layer)을 갖고 있는 축소된 VGG 모델을 사용하였다. 출력층(Activation Layer)은 ReLU (Rectified Linear Unit) 타입의 출력을 한다. 풀링층(Pooling Layer)은 2 × 2 최대치 풀링(Maximum Pooling)을 사용한다. 마지막 합성곱층 이후 512 출력의 완전 연결층(Fully Connected Layer)을 둔다. 또한 과적합(Over Fitting)을 방지하기 위하여 전반 2개의 합성곱층 이후, 후반 2개의 합성곱층 이후 그리고 완전 연결층 이후 드롭 아웃(Drop Out)층을 사용하며 각각 0.25, 0.25, 0.5 확률로 연결 계수를 학습에서 제외한다.
2.4 데이터 확장
심층학습으로 결함 검사기를 설정하기 위하여 결함 종류를 다음과 같이 구성한다. 결함 검출과 분류를 단일 과정으로 수행하기 위하여 결함을 네 종류로 구분하고 결함이 아닌 영상을 한 종류로 구분하여 총 다섯 가지 결함 클래스(0: 비결함, 1: 이물, 2: 입술 불량, 3: 얼룩 4: 구김)로 구성하였다. 일반적으로 분류기의 성능에 맞는 많은 수의 결함 데이터를 수집하기에는 많은 시간과 비용이 든다. 본 논문에서 심층 학습기를 학습시키기 위한 충분한 학습 데이터를 확보하기 위하여 데이터 확장(Data Augmentation)을 기법을 사용하여 결함 데이터를 확보하였다. 데이터 확장 방법은 단순히 학습에 필요한 데이터 개수를 확보하는 목적 이외에도 여러 가지 부분에서 강인한 분류 모델을 구축하는데도 도움이 된다.
본 연구에서 데이터 확장을 위해 사용한 방법은 다섯 종류로 먼저 임의의 각도(0-360도)로 결함 영상을 회전하여 추가적인 결함 데이터를 확보하였으며 이러한 방법으로 회전 방향에 강건한 모델(Rotation Invariance)을 확보할 수 있다. 두번째로는 좌, 우 방향으로 결함을 이동(결함 크기의 10% 이내에서 임의로 이동)하여 영상을 재생산하였다. 이렇게 함으로써 결함의 위치에 대한 강인한 모델(Position Invariance)을 얻을 수 있다. 그리고 세 번째로 원본 결함 영상을 좌우 및 상하 방향으로 대칭 영상을 만들어 데이터를 확장하였다. 그리고 네 번째 데이터 확장은 결함 데이터를 찌그짐 변환(Shear Transform)을 사용하여 데이터를 확장하였다. 그리고 마지막으로 영상 확대(Zoom)를 사용하여 원본 데이터를 원본 크기의 이내에서 임의로 10% 확대 및 축소하여 데이터를 생성하였다.
종이 용기 영상 내에서 임의의 영역에서 결함 분류를 위해서 비결함에 대한 학습 데이터도 필요하다. 비결함에 대한 영상 데이터는 종이 용기 영상 내에서 임의의 위치에 대한 패치 영상을 추출하여 사용하였다. 비결함 역시 결함 영상의 데이터 확장 방식(다섯 종류)를 모두 사용하여 학습에 필요한 데이터를 확보하였다.
3. 결과 및 분석
3.1 데이터 학습
결함 영상은 종이 영상 내에서 결함 부위 중심으로 영상 패치를 추출하여 사용하였다. 그리고 2.4절에 기술한 데이터 확장 방법으로 학습 데이터를 생성하였다. 각 클래스별로 1000개의 데이터를 확보하였고 총 결함 수는 비결함까지 합하여 총 5000개의 데이터를 학습 및 테스트에 사용하였다. 심층 학습기의 훈련 데이터로 3000개를 사용하였으며 그와 동시에 모델의 검증(Validation) 용으로 1000개의 데이터를 사용하였다. 모델 검증 과정으로 최적모델 생성 후 모델의 성능 검증 테스트를 위하여 나머지1000개의 데이터 사용하였다.
3.2 결과 및 고찰
심층 학습기의 최종 출력은 5개의 소프트 맥스(Soft Max) 출력을 갖는 뉴런으로 각 출력 값이 해당 클래스의 분류 확률을 나타낸다. 분류기 학습은 64개의 학습 데이터를 미니 배치(Mini-Batch)로 구성하여 학습 파라미터(Weights)를 갱신하도록 했으며 총 200회 학습을 수행하였다. Fig. 7은 학습 회수(Epoch)에 따른 모델 손실(Model Loss)을 학습 데이터와 검증 데이터에 대해서 그래프로 나타낸 결과이다. 학습 그래프를 살펴보면 75 학습 회수(Epoch) 정도에서 과적합(Over Fitting)이 일어나는 것을 확인할 수 있다. 과적합이 일어나기 전까지 학습한 결과를 최적의 학습 결과로 저장하고 준비된 테스트 데이터에 해당 모델을 적용하였다. 본 모델의 학습 데이터의 인식율은 99.8%였으며, 테스트 데이터의 인식률은 96.5%를 보였다(Table 1 참조). 학습에 사용된 클래스별 상호 인식 정도를 확인하기 위하여 테스트 데이터의 분류결과 테이블(Confusion Matrix)을 Table 1에 나타내었다. 결과를 분석해보면 결함 간의 분류 결과(클래스 1-4)는 총 797개의 데이터 중 단지 4개가 오분류되어99% 이상의 높은 인식율을 보임을 알 수 있다. 즉 결함 간에는 명확한 특성이 존재하여 분류 결과가 높음을 확인할 수 있다. 하지만 비결함(클래스 0)의 경우 Precision와 Recall이 각 각 90.53, 92.97%로서 다른 결함 클래스에 비해 다소 낮은 성능을 보였다. 이는 비결함 샘플은 Hard Negative Sampling방법7으로 종이 컵 영상 내의 다양한 부분에 대해서 샘플을 수집하여 결함 샘플과 유사한 부분(인접한 영역)이 분포하기 때문이다. 이러한 비결함과 결함 클래스 간의 분류 성능은 향후 다양한 종류의 훈련 샘플을 추가 수집하여 데이터 개수를 늘리고 또한 후처리(Post Processing) 기법을 통해서 향상될 수 있을 것으로 기대된다.
4. 결론
본 연구에서는 종이용기 제품 검사에 대해서 기존 검사 방법인 검출, 특징추출 및 분류의 일련의 과정을 심층학습 기법을 이용하여 단일 분류 방법으로 대체할 수 있는 결과를 나타내었다. 본 연구를 요약하면 다음과 같다.
먼저 종이용기 결함 네 가지 종류(이물, 입술 불량, 오염, 구김)에 대해서 결함을 수집하고 이를 데이터 확장 기법을 통해서 각각 1000개의 훈련 샘플을 확보하였다. 비결함에 대해서도 종이용기 영상에서 임의의 패치를 확보하여 생성된 영상에서 마찬가지로 데이터 확장 기법으로 1000개의 샘플을 만들었다. 이를 5개의 합성 곱층을 갖는 VGG 형태의 심층 학습기를 통해서 훈련 데이터, 검증 데이터를 통해서 최적 분류 모델을 구하고 테스트 데이터를 통해서 성능을 확인하였으며, 최종 96.5%의 인식율 결과를 얻었다.
기존 방법으로는 각 결함 특성에 적합한 검출 알고리즘과 인위적인 특징값 추출 그리고 최종적으로 분류기 학습이 필요하지만 본 방법으로는 단지 결함 샘플을 수집 후 심층학습으로 결함 분류까지 이루어지는 단일화된 프로세스를 제공하는 장점이 있다.
상기 결과로 종이용기 제품의 검사에 심층학습을 이용한 검사 가능성을 확인하였으며 향후 종이용기 완제품에 대한 검사기에 본 연구 결과를 확대 적용할 계획이다.
Acknowledgments
본 연구는 산업통산자원부 산업기술혁신사업(우수기술센터사업, No. 10060265)의 지원으로 수행되었으며, 연구수행에 도움을 주신 ㈜ 현진제업 관계자 여러분께 감사 드립니다.
REFERENCES
- Eom, K.-B., Kim, Y., Lee, K.-H., Kwon, S.-D., and Yoon, S.-H., “A Study on the Application of Image Processing Algorithm for Paper-Cup Inner Defect Inspection,” Proc. of the Korean Institute of Electrical Engineers Conference, pp. 2521-2524, 2002.
- Krizhevsky, A., Sutskever, I., and Hinton, G. E., “Imagenet Classification with Deep Convolutional Neural Networks,” Proc. of the Advances in Neural Information Processing Systems, pp. 1097-1105, 2012.
- Lee, J., Lim, Y. E., Park, K., and Ra, S. W., “Development of Annular Optics for the Inspection of Surface Defects on Screw Threads Using Ray Tracing Simulation,” J. Korean Soc. Precis. Eng., Vol. 33, No. 6, pp. 491-497, 2016. [https://doi.org/10.7736/KSPE.2016.33.6.491]
- Park, C., Choi, S., and Won, S., “Vision-Based Inspection for Periodic Defects in Steel Wire Rod Production,” Optical Engineering, Vol. 49, No. 1, Paper No. 017202, 2010. [https://doi.org/10.1117/1.3284779]
- Kumar, V. and Minz, S., “Feature Selection: A Lierature Review,” Smart Computing Review, Vol. 4, No. 3, pp. 211-229, 2014.
- Simonyan, K. and Zisserman, A., “Very Deep Convolutional Networks for Large-Scale Image Recognition,” https://arxiv.org/abs/1409.1556, (Accessed 9 JUN 2017)
- Sung, K.-K. and Poggio, T., “Example-Based Learning for View-Based Human Face Detection,” IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 20, No. 1, pp. 39-51, 1998. [https://doi.org/10.1109/34.655648]