이미지 데이터 기반 제품 분류 및 결함 검출
© The Korean Society for Noise and Vibration Engineering
Abstract
In this study, a novel method of identifying different product types and classifying them into normal and abnormal states according to the presence or absence of defects is proposed by using a convolutional neural network. First, as a preliminary study, a convolutional neural network that can classify four shapes, namely, a rectangle, triangle, circle, and ellipse, and determine whether there is a defect is designed and the classification performance is confirmed. To verify the actual product classification and defect detection performance, two types of Arduino board images are prepared, and defective board images are additionally prepared for each type. If there is a defect, after classification is conducted, the location of the defect is visualized using the class activation map. It is confirmed that the proposed method can construct an image-based classification and defect detection system which can be effectively applied to the product production process.
Keywords:
Defect Detection, Classification, Convolutional Neural Network, Deep Learning, Class Activation Map키워드:
결함 탐지, 분류, 합성곱 신경망, 심층 학습, 클래스 액티베이션 맵1. 서 론
제품에 발생하는 결함은 제품의 품질을 크게 저하시키게 되므로 생산 공정에서 결함을 검출하는 것은 품질관리 측면에서 매우 중요한 일이다. 최근 산업 현장의 제품 생산 공정은 많은 부분에서 자동화가 진행되고 있으나 아직 많은 경우에서 결함을 검출하는 공정은 자동화되지 못하고 숙련된 직원의 육안 검사에 의존하고 있다. 따라서 결함 검출의 정확도는 검사자의 숙련도에 의해 결정되게 되고, 많은 양의 제품을 검사하기 위해서는 많은 검사자가 필요하게 된다. 따라서 효과적인 제품의 품질관리와 생산 원가 절감을 위해서 자동으로 결함을 검출하는 시스템이 필요하다.
생산 공정에서 제품의 결함을 검출할 수 있는 첫 번째 방법은 다양한 센서를 이용하여 기계적인 진동, 압력, 전류, 온도 등의 데이터 확보하고 공정 모니터링을 통해 공정 상태를 파악하고 제품의 결함을 예측하는 것이다(1,2). 이러한 방법은 전반적인 제품 품질을 예측할 수는 있지만 각 제품의 개별 결함을 탐지하는 것은 어려운 단점이 있다. 최근에는 머신 러닝 기법 등을 적용하여 공정에서의 정상과 이상 상태를 구분하기 위한 연구도 다양하게 진행되고 있다(3). 그러나 생산 공정의 기계 시스템에 추가적인 센서를 부착하고 데이터를 획득하는 것은 비용도 많이 들고, 데이터의 획득 및 보관 등에 어려움이 있다. 두번째 방법은 제품 표면의 이미지를 획득하고 다양한 이미지 처리 기법을 통해 결함을 탐지하는 방법으로 시스템 구성이 단순하고 비접촉 검출 방법이라는 장점으로 인해 많은 연구가 진행되었다(4). 최근 Kim and Park(5) 산업용 검사 장비에 사용되는 비전 센서의 기술 동향에 대해 보고하였다. Ko and Rheem은(6) 저널 베어링 제조 공정에서 제품 외관 전수 검사를 위한 머신 비전 기반 자동 검사 시스템을 제안하였고, 실제 제품 생산 라인에 적용하여 유용성을 확인하였다. Lee 등(7)은 기계 학습법을 통한 결함 검사 시스템을 제안하였고, 라인 스캐너로 이미지를 획득하고, 서포트 벡터 머신 알고리즘을 이용하여 정확도 높은 검출 시스템을 구성하였다. Lee 등(8)은 영상 촬영 시스템을 활용하여 프레스 공정 중 패널 이미지를 획득하고 패널의 결함을 검출하는 기법을 제안하였다. Seo 등(9)은 변분 오토인코더와 적대적 생성 신경망을 이용한 비정상 검출 시스템을 제안하였고, 이를 용접 결함 데이터에 적용하여 비정상 검출 성능을 검증하였다. Han and Kang(10)은 영상으로부터 이진화 이미지를 변환하고 이를 이용하여 결함을 탐지하고 결함의 크기를 분석하는 알고리즘을 제안하였고, 다수의 결함을 동시에 분석할 수 있도록 하였다. Kwag 등(11)은 구조 진동을 측정하여 프레스 성형품의 넥에 발생하는 결함을 검사하는 기술을 제안하였다. Kim and Shin(12)은 전이 학습과 데이터 증강 기법을 이용한 비전 기반 결함 탐지 알고리즘을 제안하였다. 최근까지 이미지 데이터를 이용하여 단일 제품의 결함 검출에 대한 연구는 다양하게 수행되었지만, 다품종 제품의 분류와 각 제품의 결함을 동시에 검출하는 연구는 보고된 바가 없다.
이에 이 연구에서는 하나의 테스트 이미지 데이터를 이용하여 제품의 종류를 분류하고, 각 제품의 결함 유무에 따라 정상 상태와 비정상 상태로 분류하는 것을 동시에 진행하는 방법을 제안한다(13). 먼저, 사전 연구로 삼각형, 사각형, 원, 타원의 4가지 도형에 대하여 도형의 종류를 분류하고 결함의 유무를 판단할 수 있는 합성곱 신경망을 설계하고 분류 성능을 확인한다. 결함이 있는 경우에는 결함 위치를 가시화할 수 있도록 한다. 실제 제품 분류 및 결함 탐지 성능을 검증하기 위하여 두 가지 종류의 아두이노 보드 이미지를 준비하고 각 종류별로 결함이 있는 보드 이미지를 추가로 준비한다. 각 보드의 결함의 크기와 위치는 임의로 생성한다. 결함이 있는 경우에는 분류를 수행한 후에 클래스 액티베이션 맵을 이용하여 결함의 위치를 가시화한다. 제안된 방법을 통하여 이미지 기반의 분류 및 결함 탐지 시스템을 구성하고 효과적으로 제품 생산 공정에 적용할 수 있음을 확인한다.
2. 사전 연구
다양한 형상을 갖는 실제 제품의 분류 성능을 평가하기 전에 단순한 도형 형상들을 이용하여 종류를 분류하고, 동시에 도형 내부에 발생한 결함을 확인할 수 있는지 사전 연구를 수행하였다. 사각형, 삼각형, 원형, 타원형의 네 가지 도형을 사용하였고, 흰색 바탕에 검은색으로 도형을 구성하였다. 도형의 크기와 형상은 무작위적으로 생성되도록 하였으며, 생성된 도형의 대표적인 예를 Fig. 1에 나타내었다. 생성된 이미지는 224 × 224픽셀 사이즈의 흰색 바탕 내에 임의의 위치에 생성되도록 하였으며, 흑백으로 표현된 이진화 데이터이다. 내부에 결함이 있는 도형은 Fig. 2와 같이 생성하였다. 결함은 정상적인 형상을 갖는 도형의 내부에 흰색의 작은 원이나 사각형이 생성되는 방법으로 생성되었고, 결함이 생성되는 위치는 무작위로 결정하였다.
생성된 정상 형태 이미지와 결함이 있는 이미지를 분류하기 위하여 사용된 신경망은 Fig. 3에 나타내었고, 총 27개의 계층으로 구성되어 있다. 이 연구에서 제안된 신경망은 일반적으로 많이 사용되는 CNN 구조와 유사하게 convolution - batch normalization – ReLU - pooling 계층을 반복하였지만, pooling 계층에서 한 종류만 사용하지 않고 average pooling, max pooling 그리고 global average pooling 계층이 함께 사용된 것이 특징이다. 이미지의 크기가 큰 경우, average pooling 계층만 사용되면 특징(feature)을 찾기 어려워지는 단점이 있었고, max pooling 계층만을 사용할 경우에는 추출되는 특징의 양이 너무 많아지는 단점이 있어 이를 보완하기 위하여 average pooling 계층과 max pooling 계층이 동시에 사용되었다. Global max pooling 계층은 클래스 액티베이션 맵에서 분류의 결과를 시각화할 때 필요한 가중치(weight)를 구하기 위한 계층으로 분류와 분류 결과에 대한 시각화를 동시에 진행하기 위하여 사용되었다. 학습에 사용된 데이터의 수는 Table 1에 나타내었으며, 훈련 데이터의 25 %는 검증 데이터로 사용되었다. 학습과정은 Fig. 4에서 나타낸 것과 같이 검증 정확도가 98.25 %으로 제안된 모델의 훈련이 과적합 등과 같은 원인으로 발생되는 큰 오차 없이 진행된 것을 확인할 수 있다. 학습된 모델에 대한 테스트 결과는 정오분류표로 Fig. 5에서 나타내었다. 정상인 4가지 종류의 도형과 결함이 있는 4가지 종류의 도형 각각에 대하여 100개씩의 테스트 데이터에 대한 분류를 수행하였고, 99.4 %의 매우 높은 분류 정확도를 확인할 수 있었다. 분류기의 성능을 평가하기 위하여 Table 2와 같이 정상과 비정상을 정확하게 분류하고 있는지 확인하였다. 정상을 정상으로 분류하는 민감도(sensitivity)는 1.0, 결함이 있는 경우를 결함이 있다고 분류하는 특이도(specificity)는 0.98 값을 가지고 있어, 우수한 분류 성능을 갖는 것을 확인하였다. 결함이 있는 경우, 결함의 위치를 확인하기 위하여 시각화를 수행하였고, 테스트 이미지에 클래스 액티베이션 맵을 적용한 결과는 Fig. 6에서 나타내었다. 그림에 나타난 바와 같이 결함이 있는 부분을 정확하게 찾아내고 시각화할 수 있는 것을 확인하였다.
3. 제품 분류 및 결함 탐지
사전 연구의 결과를 바탕으로 실제 상용 제품에 대하여 제품 종류의 분류와 결함 유무의 분류, 결함의 시각화를 수행하였다. 분류 대상이 될 제품은 최근 다양한 분야에서 많이 사용되고 있는 아두이노 보드로 선정하였다. 아두이노 보드는 여러 개의 반도체 칩을 포함하고 있는 반도체 회로기판으로 사전 연구의 기본 도형 이미지 데이터와 비교했을 때 더욱 복잡한 구조를 가지고 있다. 산업 현장에서는 아두이노 보드와 유사한 PCB 기판의 경우 고해상도 이미지를 이용한 고성능 자동광학검사기(automated optical inspection, AOI)를 이용하여 결함 탐지를 수행하고 있다. 이 연구에서 아두이노 보드를 대상으로 연구를 수행하는 것은 이러한 고성능 머신비전 장비를 대체하고자 하는 것이 아니라, 주변에서 쉽게 구할 수 있는 제품을 대상으로 선정한 것이다.
아두이노 호환보드 2개를 분류 대상으로 선정하였고, 보드에 기재되어 있는 UNO와 D1으로 명칭을 구분하였다. 선정된 2개의 보드는 같은 종류의 호환보드로 전체적으로는 외관이 유사하지만, 부분적으로는 매우 다른 특징이 있다. 데이터 생성을 위한 이미지 촬영에 사용된 장비는 iOS 기반 스마트폰의 카메라이고 1280 × 720 해상도로 촬영하였다. 저 해상도 이미지의 활용도 고려하여, 촬영된 이미지 데이터의 사이즈는 378×504로 규격화 하였다. Fig. 7에 나타난 바와 같이 정상 상태 제품의 이미지는 클래스명을 Normal UNO, Normal D1으로 나타내었고, 다양한 각도, 그림자, 빛의 반사 등의 다양한 외부 요인이 포함되도록 이미지를 준비하였다. Fig. 8에 나타난 바와 같이 결함이 있는 상태의 제품 이미지는 작은 사이즈 종이로 임의의 위치에 있는 칩을 가려서 결함을 표현하였고, 클래스명을 defective UNO, defective D1으로 나타내었다. 제품 분류에서 사용된 심층 신경망의 구조는 Fig. 9에 나타내었다. 사전 연구에 사용된 구성과 비슷하지만 계층의 수가 27개에서 18개로 변경되었다. 신경망을 구성하는 계층의 수는 분류기의 정확도에 영향을 미친다. 실제 제품 분류에서 사용된 데이터 세트에 대하여 계층의 수를 줄일수록 정확도가 높아졌고, 반복적인 실험을 통해 가장 정확도가 높은 18개로 결정되었다. 학습에 사용된 이미지 데이터는 Table 3과 같이 총 360개의 훈련 데이터와 테스트를 위한 별도의 60개의 데이터를 준비하였다. 초기 학습률은 0.001, 최대 epoch은 100으로 설정하였으며, 각 훈련 epoch 전에 훈련 데이터를 섞고, 각 신경망 검증 전에 검증 데이터를 섞어 과적합을 방지하였다. 학습 데이터의 훈련에는 모멘텀을 사용한 확률적 경사하강법(stochastic gradient descent with momentum, SGDM) 알고리즘을 사용하였다. SGDM은 기존 확률적 경사하강법(stochastic gradient descent, SGD) 알고리즘의 단점인 학습 중 최적해를 구할 때 발생하는 노이즈를 모멘텀을 통해 줄이는 방법이다. 손실 함수의 경우 분류 문제에 사용되는 기법 중 하나인 교차 엔트로피 오차 방법을 사용하였고 오차가 클수록 매우 빠른 학습 속도를 가지는 장점을 갖는다. 학습과정은 Fig. 10에 나타내었다. 학습 결과를 통해 사전 연구에서 학습된 모델과 같이 검증 손실이 0으로 수렴하는 것을 통해 잘 학습된 것을 확인하였다. 제안된 시스템의 성능 검증 결과는 Fig. 11의 혼동 행렬에 나타내었으며, 95.0 %의 높은 분류 정확도를 갖는 것을 확인하였다. 정상인 상태의 두 가지 종류의 보드는 완벽하게 분류하는 것을 확인하였다. 결함이 있는 D1 보드의 경우 정확하게 분류한 것을 확인할 수 있으나, 결함이 있는 UNO 보드의 경우 15개 중 3개의 이미지를 잘못 분류하였다. 분류기의 성능을 평가하기 위하여 Table 4와 같이 정상과 비정상을 정확하게 분류하고 있는지 확인하였다. 정상을 정상으로 분류하는 민감도(sensitivity)는 1.0, 결함이 있는 경우를 결함이 있다고 분류하는 특이도(specificity)는 0.9 값을 가지고 있어, 우수한 분류 성능을 갖는 것을 확인하였다. Fig. 12는 테스트 이미지에 클래스 액티베이션 맵을 적용하여 UNO보드와 D1 보드의 결함의 위치를 시각화한 결과이고, 결함 위치를 정확하게 찾아낼 수 있는 것을 확인하였다.
4. 결 론
이 연구에서는 하나의 테스트 이미지 데이터를 이용하여 제품의 종류를 분류하고, 결함 유무를 동시에 판단할 수 있는 이미지 기반 방법을 제안하였다. 사전 연구에서는 합성곱 신경망을 구성하여 네 가지 종류의 도형을 구분하고 결함 유무를 99.4 %의 높은 분류 정확도를 가지면서 분류할 수 있는 것을 확인하였고, 결함이 있는 경우 결함 위치를 가시화할 수 있도록 하였다. 실제 제품 분류 성능 평가를 위하여 두 가지 종류의 아두이노 보드에 대하여 정상 제품과 결함이 있는 제품의 이미지를 준비하였고, 결함은 임의의 위치에 인공적으로 생성하였다. 제안된 합성곱 신경망을 이용하여 95 %의 정확도를 가지면서 제품 종류 분류와 결함 탐지가 가능한 것을 확인하였고, 결함이 있는 경우 결함 위치의 가시화도 동시에 가능함을 확인하였다. 제안된 시스템을 이용하여 실제 생산 공정에서도 제품 분류와 결함 탐지를 동시에 효과적으로 수행할 수 있을 것으로 기대된다. 실제 산업 현장에서는 결함이 있는 제품에 대한 데이터 확보가 어려우므로, 데이터 불균형 문제를 해결하기 위한 데이터 증강 기법 등에 대한 연구가 진행되어야 할 것으로 예상된다. 또한 이 논문에서는 결함이 있는 모든 경우에 대하여 이미지 데이터가 확보되어 이를 학습하고 분류를 수행하였으나, 학습되지 않은 다른 위치에 결함이 존재하는 경우는 결함 탐지가 어려운 한계가 있을 것으로 예상되므로, 이러한 부분에 대한 연구도 추가적으로 진행되어야 할 것이다.
Acknowledgments
이 논문은 2020년도 정부(교육부)의 재원으로 한국연구재단의 지원을 받아 수행된 기초연구사업임(No. 2020R1I1A3074547). 또한 이 연구는 과학기술정보통신부 및 정보통신기획평가원의 Grand ICT연구센터지원사업의 연구결과로 수행되었음(IITP-2022-2020-0-01612).
References
- Du, H. and Klamecki, B. E., 1999, Force Sensors Embedded in Surfaces for Manufacturing and Other Tribological Process Monitoring, Journal of Manufacturing Science and Engineering, Vol. 121, No. 4, pp. 739~748. [https://doi.org/10.1115/1.2833131]
- Cheng, X. and Li, X., 2007, Investigation of Heat Generation in Ultrasonic Metal Welding Using Micro Sensor Arrays, Journal of Micromechanics and Microengineering, Vol. 17, No. 2, p. 273. [https://doi.org/10.1088/0960-1317/17/2/013]
- Son, J. H., Ko, J. M. and Kim, C. O., 2009, Feature Based Decision Tree Model for Fault Detection and Classification of Semiconductor Process, IE Interfaces, Vol. 22, No. 2, pp. 126~134.
- Wang, C. C., Jiang, B. C., Lin, J. Y. and Chu, C. C., 2013, Machine Vision-based Defect Detection in IC Images using the Partial Information Correlation Coefficient, IEEE Transactions on Semiconductor Manufacturing, Vol. 26, No. 3, pp. 378~384. [https://doi.org/10.1109/TSM.2013.2261566]
- Kim, K. and Park, J., 2021, Vision Sensor Technology Trends for Industrial Inspection System, Journal of the Korean Society for Precision Engineering, Vol. 38, No. 12, pp. 897~904. [https://doi.org/10.7736/JKSPE.021.094]
- Ko, J. S. and Rheem, J. Y., 2017, Surface Inspection of a Journal Bearing Using Machine Vision, Journal of the Korean Society for Precision Engineering, Vol. 34, No. 8, pp. 557~561. [https://doi.org/10.7736/KSPE.2017.34.8.557]
- Lee, N. Y., Cho, H. H. and Ceong, H. T., 2020, Development of Image Defect Detection Model Using Machine Learning, The Journal of the Korea Institute of Electronic Communication Sciences, Vol. 15, No. 3, pp. 513~520.
- Lee, C. W., Jung, H. K. and Park, G., 2016, Automatic Crack Detection on Pressed Panels Using Camera Image Processing with Local Amplitude Mapping, Journal of the Korean Society for Nondestructive Testing, Vol. 36, No. 6, pp. 451~459. [https://doi.org/10.7779/JKSNT.2016.36.6.451]
- Seo, T. M., Kang, M. G. and Kang, D. J., 2020, Anomaly Detection of Generative Adversarial Networks Considering Quality and Distortion of Images, The Journal of the Institute of Internet, Broadcasting and Communication, Vol. 20, No. 3, pp. 171~179.
- Han, D. H. and Kang, L. H., 2018, GUI Development for Automatic Defect Visualization and Size Estimation Using Image Analysis Processing, Transactions of the Korean Society of Mechanical Engineers A, Vol. 42, No. 10, pp. 931~938. [https://doi.org/10.3795/KSME-A.2018.42.10.931]
- Kwag, J. H., Kook, H. S., Kim, H. K., Choi, H. C. and Yang, W. H., 2018, Feasibility Study on Neck Defect Inspection Technique for Press-formed Products by Using Structural Vibration Measurement, Transactions of the Korean Society for Noise and Vibration Engineering, Vol. 28, No. 6, pp. 721~727. [https://doi.org/10.5050/KSNVE.2018.28.6.721]
- Kim, M. and Shin, J. H., 2020, A Development of Vision-based Defect Detection Methodology Using Transfer Learning of Convolutional Neural Network, Korean Journal of Computational Design and Engineering, Vol. 25, No. 3, pp. 246~255. [https://doi.org/10.7315/CDE.2020.246]
- Lee, H. J., 2022, Deep Learning-based Product Classification and Anomaly Detection, M.S. Thesis, Kumoh National Institute of Technology.
Jung Woo Sohn received his Ph.D degree in the Department of Mechanical Engineering from Inha University in 2008. He is now working as a professor in the Department of Mechanical Design Engineering of Kumoh National Institute of Technology. He has interests on the design and control of smart systems using smart materials, smart interaction system based on gesture recognition and haptic system and vibration-based prognostics and health management (PHM).