Journal Search Engine
Search Advanced Search Adode Reader(link)
Download PDF Export Citaion korean bibliography PMC previewer
ISSN : 1598-6721(Print)
ISSN : 2288-0771(Online)
The Korean Society of Manufacturing Process Engineers Vol.18 No.12 pp.38-44
DOI : https://doi.org/10.14775/ksmpe.2019.18.12.038

Development of Checker-Switch Error Detection System using CNN Algorithm

Sang-Won Suh*, Yo-Han Ko**, Sung-Goo Yoo***#, Kil-To Chong****#
*Dual Mechanics Co., Ltd., Korea
**Department of Electronic Engineering, Chonbuk National University
***Saemangeum Eenterprise Development Agency, Kunsan National University
****Advance Electronics & Information Research Center, Chonbuk National University
Corresponding Author : yoosunggoo@gmail.com Tel: +82-10-9645-9359, Fax: +82-63-469-7580
Corresponding Author : kitchong@jbnu.ac.kr Tel: +82-10-3675-2004, Fax: +82-63-270-2394
26/09/2019 02/10/2019 20/10/2019

Abstract


Various automation studies have been conducted to detect defective products based on product images. In the case of machine vision-based studies, size and color error are detected through a preprocessing process. A situation may arise in which the main features are removed during the preprocessing process, thereby decreasing the accuracy. In addition, complex systems are required to detect various kinds of defects. In this study, we designed and developed a system to detect errors by analyzing various conditions of defective products. We designed the deep learning algorithm to detect the defective features from the product images during the automation process using a convolution neural network (CNN) and verified the performance by applying the algorithm to the checker-switch failure detection system. It was confirmed that all seven error characteristics were detected accurately, and it is expected that it will show excellent performance when applied to automation systems for error detection.



CNN 알고리즘을 이용한 체커스위치 불량 검출 시스템 개발

서 상원*, 고 요한**, 유 성구***#, 정 길도****#
*두얼메카닉스(주)
**전북대학교 전자공학부
***군산대학교 새만금중소기업진흥원
****전북대학교 전자정보신기술연구센터

초록


    © The Korean Society of Manufacturing Process Engineers. All rights reserved.

    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.

    1. 서 론

    현재 공장 자동화를 위한 다양한 연구 및 개발이 진행되고 있다. 특히 스마트 팩토리(Smart Factory) 를 적용하면서 재료투입, 생산, 검사, 포장까지 자 동화시스템을 도입하고 있다[1~2]. 여기서, 불량을 검 출하는 검사 시스템의 경우 머신비젼(Machine Vision)을 이용하여 자동화가 많이 진행되었다[3~7]. 머신비젼의 경우 하드웨어적으로는 고해상도의 촬 영장비와 고성능 프로세스를 탑재한 시스템이 필요 하고, 소프트웨어적으로는 제품 불량 특징을 검출 할 수 있는 전처리과정과 알고리즘 개발이 필요하 다. 특히 제품 불량 검출 알고리즘의 경우 다양한 불량 조건을 만족하기 위해서는 각 형태에 따른 각 각의 검출 알고리즘을 적용해야 하는 단점이 있다 [8~10]. 검출할 오류가 다양해질수록 추가적인 하드웨 어와 알고리즘 개발이 필요하다.

    본 연구에서는 이러한 단점을 개선하기 위해 인 공지능 기법을 적용한 자동 불량 검출 알고리즘을 제안하였다. CNN기반의 영상학습 알고리즘을 이용 하여 이미지 분석을 통해 불량 제품을 검출하는 시 스템이다[11~14]. 검출 대상은 접점의 각도에 따라 탈 착여부를 알 수 있는 체커스위치를 선정하였다. 체 커스위치는 내부에 접합이 가능한 두 개의 터미널 로 구성되어 있는데, 터미널의 구부림 형태와 끝단 에 부착되는 은접의 여부에 따라 불량이 발생하게 된다. 불량형태는 터미널 구부림 대, 소, 터미널의 존재여부-좌, 우, 그리고 은접의 탈착여부로 총 6가 지 불량 패턴이 존재한다.

    CNN 기반의 영산분석 알고리즘 모델을 구현하 였으며, 형태는 Convolution layer와 subsampling layer, 기존의 신경회로망 형태의 Fully connected layer 단으로 이루어져 있다[15~16]. 인공지능 학습을 위해 정상품과 각 불량제품 이미지를 각 패턴별 100장정도 확보하였다. 60%는 학습에 20%는 검증 그리고 나머지 20%는 실제 결과 도출 테스트에 사 용되었다. 실험결과 약 98% 정확도로 불량제품을 패턴별로 검출할 수 있음을 확인하였다. 또한 기존 체커스위치 불량 검출 장치보다 검출속도가 약 50%이상 향상됨을 확인할 수 있었다.

    본 논문의 구성은 다음과 같다. 2장에서는 검출 대상으로 선정한 체커스위치의 원리와 생산 공정에 서 발생할 수 있는 불량패턴 형태를 설명하였으며, 3장에서는 적용한 CNN 알고리즘 모델의 구성 및 학습과정에 대해 설명하였다. 그리고 4장에서는 제 안한 방법의 실험결과와 분석내용을 기술하였다. 마지막으로 5장에서는 본 논문의 결론을 기술하였 다.

    2. 체커스위치 및 오류형태

    2.1 체커스위치 구성형태

    본 연구에 적용한 체커스위치는 가전제품인 세탁 기에 적용하는 제품으로 세탁기의 문열림을 감지하 거나 세탁조의 불균형으로 인한 심한 떨림을 감지 하는 기능을 한다.

    Fig. 1에 본 연구에 적용한 체커스위치의 구성 부품을 나타내었다. ①은 제품장착 베이스, ②는 커 버, ③은 레버로 세탁조의 불균형 감지역할, ④는 암으로 도어의 열림과 닫힘 감지역할, ⑤,⑥은 터미 널로 ③과 ④의 동작에 따라 붙었다 떨어졌다하여 감지신호를 발생시킨다. ⑦은 토션스프링으로 동작 복원 역할을 한다. 여기서, 세탁기의 이상감지는 터 미널의 접촉여부에 따라 결정된다. 즉 터미널의 모 양에 따라 감도차이가 발생하고 조립과정 중 쉽게 변형이 올 수 있기 때문에 불량형태 및 조립실수를 항상 점검해야 한다.

    Fig. 2는 레버와 암의 이동에 따라 터미널의 접 촉 여부가 변화는 모습을 보여준다. Fig. 2(a)는 기 본형태의 모습을 보인 것으로 Fig. 2(b)와 같이 터 미널이 떨어져 있다. Fig. 2(c)는 레버의 이동에 따 라 터미널이 접합된 상태를 보여준다. 터미널의 접 합여부로 동작 유무를 판별한다. 특히 터미널 끝단 에 달린 은접이 접촉 형태를 일관적으로 유지한다. 일반적으로 터미널 사이의 거리는 평균 2.5mm를 유지해야 하는데 너무 짧거나 너무 멀 경우 암과 레버의 변위에 따른 신호감도가 변하게 된다. 즉 너무 짧아 작은 진동에도 경보음을 울리거나 동작 을 멈추게 할 수 있고, 너무 멀어 파손이 일어나도 동작정지가 발생하지 않을 수 있다. 각 부품을 사 람이 수작업으로 조립하다보니 터미널의 변형이나 끝에 붙은 접촉단인 은접이 떨어지는 경우도 발생 한다. 사람의 육안으로 일일이 검사하는 형태는 매 우 비효율적으로 시간도 많이 걸리고 불량률 판별 율도 낮다. 따라서 불량제품 자동화 시스템의 개발 이 필요한 실정이다.

    2.2 불량형태

    체커스위치의 조립과정에서 발생할 수 있는 불량 형태를 분석하고 이를 적용하기 위한 자료를 수집 하였다. Fig. 3에 조립과정에서 발생하는 불량 형태 의 이미지를 나타내었다. CNN기반의 불량 검출 모 델을 학습하기 위한 데이터 셋 구성에 중요한 부분 은 학습이미지에 불량을 나타내는 명확한 특징을 포함하는 것에 있다. 따라서 정확한 불량 형태와 그 특징을 파악하는 것은 중요하다.

    Fig. 3(a)는 두 터미널 접촉단의 간격이 너무 좁 은 경우로 암과 레버의 미세한 변화에도 접촉하여 불안정한 동작을 발생시킨다. Fig. 3(b)의 경우는 너 무 간격이 넓어 접촉이 안될 가능성이 있다. Fig. 3(c)(d)의 경우는 조립과정에서 터미널 자체가 조립되지 않은 상태를 나타낸다. Fig. 3(e)(f)의 경우는 수 터미널 끝에 위치하는 은접의 유무를 나 타낸다. 은접 불량의 경우 접촉 신호를 제대로 발 생하지 못할 수 있다. 터미널이 빠진 경우는 육안 으로 검사가 가능하지만 터미널의 간격과 은접의 유무는 육안으로 검사가 쉽지 않으며 영상을 이용 한 검사 이외에는 효율성을 얻기 힘들다.

    3. 불량 검출을 위한 CNN 모델

    기존의 다양한 제품의 검출 시스템은 일반적으로 불량 검출을 전문가가 직접 육안과 경험에 의존하 여 불량 검사를 진행하였고 일부 간단한 형태의 제 품을 자동 생산하는 라인에서는 제품의 사진을 일 정한 형태로 수집하여 로봇 비전기술을 활용한 영 상 분석을 활용하여 불량 검출 시스템을 활용하였 다. 또한 전문가의 육안은 기계에 비해 정확도와 처리 속도가 부족하다. 본 연구에서 선정한 체크스 위치의 경우 터미널을 통해 일정한 강도의 민감도 를 가진 신호를 받아야 한다. 또한 제품의 다양한 요인으로 발생할 수 있는 문제를 능동적으로 대처 할 수 있는 불량 검출 모델이 필요하다. 따라서 본 연구에서는 기준이 모호한 터미널 간의 간격을 능 동적으로 검출하고 분류 가능한 모델을 개발하기 위해 CNN기반의 인공지능 분류 모델을 제시한다.

    3.1 CNN 불량 검출 모델

    Fig. 4에 체커스위치의 불량을 검출하는 CNN 기 반의 불량 검출 모델의 구성형태를 나타내었다. 제 안한 모델은 2개의 Hidden layer와 하나의 Fully connected layer로 구성되어 있으며 Hidden layer 안 에는 연속된 두 개의 convolution layer와 이미지의 크기와 특징의 샘플링 역할을 하는 max_pooling layer, 모델의 학습 중에 발생하는 과적합 문제를 해결하기 위해 사용된 dropout layer를 포함한 총 4 개의 layer로 구성되어 있으며 같은 구성에 필터 개 수가 다른 Hidden layer로 구성되어 있다.

    Fully connected layer는 2개의 Hidden layer에서 추출되어진 특징을 기반으로 각 이미지의 Class를 분류하기 위한 layer이다. FCL(Fully connected layer) 는 특징 이미지를 하나의 벡터로 만드는 Flatten layer를 포함한 수 5개의 layer로 구성되어 있다.

    s i g m o i d ( x i ) = 1 1 + e ( x i )
    (1)

    s o f t m a x ( x ) = x i j = 0 k e x j ( i = 0 , 1 , , k )
    (2)

    CNN 기반의 불량 검출 모델에서 활성함수를 필 요로 하는 모든 계층에서는 식(1)의 Sigmoid 함수를 사용하지만 Class를 구별하는 마지막 Layer에서는 Classification에서 강점을 가지는 식(2)의 Softmax 활 성함수를 사용하였다. Softmax함수는 각각의 Class 별로 Class의 확률 분포를 계산하며, 그 출력의 확 률 범위가 0과 1사이로 각 Class에 백분율의 값을 재공하며 모든 값의 합은 1이 된다. 따라서 Classification에서 최종함수로 주로 사용되어 진다.

    Fig. 5는 입력 데이터에 따른 각 과정의 형태를 나타낸 Fig.이다. input image는 128x128사이즈의 이 미지를 활용하였고 크기를 확장하기 위해 Data Augmentation 기법을 활용하였다[11]. 본 연구에서 사 용된 이미지는 정상 상태와 불량 상태를 분류하는 목적으로 구성되어 있다. 따라서 정상 이미지에 많 은 변화를 주어 원본 이미지의 class가 가져야하는 특징을 잃지 않는 선에서 약간의 변화를 주어 데이 터를 확보하였다.

    Fig. 5의 imput image와 같이 변화를 줄 수 있는 범위가 한정적이기 때문에 좌우로 사진을 shift 시 켜 주된 특징을 가지는 터미널 전단부의 위치를 변 경시키는 방식으로 데이터를 확장하였다. 불량 Class의 이미지 또한 정상 이미지와 특징 위치가 크 게 다르지 않아 같은 방식을 활용하였다.

    CNN 불량 검출 모델은 크게 3구역으로 나누어 볼 수 있다. 처음에 위치한 Convolution layer에서는 input image의 특징과 이미지의 지역적인 특징까지 모두 추출하는 작업을 하여 이미지의 모든 특징이 부각되는 효과를 불러온다. 두 번째 Convolution layer에서는 주된 터미널 특징을 제외한 지역적 특 징을 감소시키는 역할을 하여 이후 Fully connected layer에서 Class를 분류하는데 용의하도록 하는 역할 을 수행한다[15].

    각 Convolution layer와 Fully connected layer에 drop out 기법을 적용하여 모델을 설계하였다. drop out은 hidden layer 안에 포함된 모든 노드를 통과하지 않도록 하는 방법이다. 실제로 CNN 모델 에서 특징과 관련된 노드의 수는 국한되어 있지만 학습과정 중에는 모든 노드에서 학습이 진행하기 때문에 이를 줄이고 과적합 문제를 방지 위해 사용 된다.

    4. CNN 불량 검출 모델 성능 결과

    CNN 불량 검출 모델의 학습 환경은 Linux ubuntu 16.04 version 환경에서 python 3.6을 이용하 였다. python에서 제공하는 keras package를 이용하 여 모델을 구현하였으며, tensorflow-gpu 1.8.0과 CUDA 8.0, cuDNN 6.0을 통해 NVIDIA TITAN Xp 12G를 이용하여 학습하였다. 학습 데이터는 실제 공장에서 만들어진 제품을 같은 환경에서 촬영하여 사용하였으며. 각 Class 별 100장의 이미지와 Data Augmentation을 통해 데이터를 확장하였고 약 2000 장 이상의 학습 데이터를 이용하였다. 학습을 진행 하기 위해 불량 사항 6가지와 정상 상태의 이미지 를 각 클래스 별로 나누어 Class 레이블링 기법중 하나인 one-hot 인코딩을 통해 모든 이미지에 레이 블을 적용하였다. one-hot 인코딩은 class label을 벡 터 형태로 만들어주는 것으로 7개의 class중 첫 번 째에 대한 label로 [1, 0, 0, 0, 0, 0, 0]과 같이 표현 하는 것이다. 전체 데이터 중 80%를 학습데이터로 사용하고 학습데이터의 20%를 validation data로 사 용하여 유효성 검사를 진행하였다. 남은 20%의 데 이터를 검증데이터로 사용하였다.

    Fig. 6은 제안한 모델로 학습한 CNN 불량 검출 모델의 Classification 테스트 결과이다. Fig. 6(a)는 정상상태의 터미널 구조를 나타내고 Fig. 6(b)는 터 미널 끝단에 있는 은접이 손실되었을 때를 나타내 고 있다. Fig. 6(c)(d)는 터미널의 간격이 좁은 경 우와 넓은 경우이다. Fig. 6(e),(f)는 터미널 수, 암의 손실 상태이다.

    Fig. 6의 그래프는 softmax 함수를 통해 예측된 각 클래스별 분포 확률을 나타낸다. 각 클래스 별 로 확률이 결정되며 가장 높은 확률의 값으로 클래 스를 예측하게 된다. 예측된 결과는 truth label과 비 교하여 정확도를 측정하게 되며 그래프 상에는 정 답일 경우 파란색 막대그래프로 오답일 경우 빨간 색 그래프로 정답도 오답도 아닌 나머지 그래프는 녹색으로 출력된다. 각 클래스별로 약 99%정도의 정답 확률로 오류를 분류하였다. 제안한 모델을 통 해 체커스위치의 불량여부를 판별이 가능함을 확인 할 수 있다.

    Fig. 7은 오차율의 학습과 검증의 결과 그래프이 고, Fig. 8은 정확성을 나타낸 그래프이다. Fig. 6에 나타낸 6가지 분류를 약 99%정확도로 분류한 결과 그래프이다. Fig. 6, 7, 8을 통해 제안한 CNN기반 불량검출 시스템의 동작이 매우 정확함을 확인하였 다.

    5. 결 론

    본 연구는 다양한 분야에서 영상 및 이미지를 활 용하여 Classification 문제를 해결하는데 좋은 성능 을 보이고 있는 딥러닝 기법을 활용하여 생산제품 의 불량상태를 검출할 수 있는 CNN 모델을 제안하 였다. 일반적으로 전문가의 육안을 통해서만 해결 이 가능하던 문제를 이미지상에서 검출할 수 있었 고 기존 머신비젼 기반의 제품에 비해 저해상도의 이미지에서도 검출이 가능함을 확인하였다. 기존 머신비젼의 경우 불량패턴에 따른 추가적인 알고리 즘 및 장비가 필요하지만 제안한 모델의 경우 학습 모델 추가로 검출이 가능한 장점이 있다.

    자동생산 과정의 오류검출 시스템에 적용할 경우 다양한 모델에 적용이 가능할 것으로 생각된다. 향 후에는 방향성까지 고려한 딥러닝 기법 기반의 오 류검출 모델을 연구하고자 한다.

    후 기

    본 연구는 한국연구재단을 통해 미래창조과학부 의 뇌과학원천기술개발사업으로부터 지원받아 수행 되었습니다.(NRF-2017M3C7A1044815)

    Figure

    KSMPE-18-12-38_F1.gif
    checker switch configuration
    KSMPE-18-12-38_F2.gif
    Checker switch operation analysis
    KSMPE-18-12-38_F3.gif
    Terminal error type analysis
    KSMPE-18-12-38_F4.gif
    Network configuration of CNN model
    KSMPE-18-12-38_F5.gif
    Structure of CNN error detection model
    KSMPE-18-12-38_F6.gif
    Classification result of CNN model
    KSMPE-18-12-38_F7.gif
    Loss trend of CNN model
    KSMPE-18-12-38_F8.gif
    Accuracy trend of CNN model

    Table

    Reference

    1. Oh, S. C., “Prediction of Machining Performance using ANN and Training using ACO” Journal of the Korean Society of Manufacturing Process Engineers, Vol. 16, No. 6, pp. 125-132, 2017.
    2. Park, K. S., Shin, D. W., “Defect Inspection of the Pixels in OLED Type Display Device by Image Processing,” Journal of the Korean Society of Manufacturing Process Engineers, Vol. 8, No. 2, pp. 25-31, 2009.
    3. Viola, P., Jones, M. J., Snow, D., “Detecting Pedestrians using Patterns of Motion and Appearance,” International Journal of Computer Vision, Vol. 63, No. 2, pp. 153-161, 2005.
    4. Felzenszwalb, P. F., Girshick, R. B., McAllester, D., Ramanan, D., “Object Detection with Discriminatively Trained Part-based Models,” IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 32, No. 9, pp. 1627-1645, 2010.
    5. Punuhsingon, C. S., Oh, S. C., “Prediction of Surface Roughness and Electric Current Consumption in Turning Operation using Neural Network with Back Propagation and Particle Swarm Optimization,” Journal of the Korean Society of Manufacturing Process Engineers, Vol. 14, No. 3 pp. 65-73, 2015.
    6. Jeong, Y. H., “Tool Breakage Detection Using Feed Motor Current,” Journal of the Korean Society of Manufacturing Process Engineers, Vol.14, No. 6 pp. 1-6, 2015.
    7. Pyo, C. R., “Development of Auto Positioning Laser System by using Image Measurement Data,” Journal of the Korean Society of Manufacturing Process Engineers, Vol. 12, No. 3, pp. 36-40, 2013.
    8. Huh, Y. M.. Eom, J. J., “Development of automatic ALC Block Measurement Algorithm using Image Processing,” Journal of the Institute of Electronics and Information Engineers, Vol 41, No. 5, pp 1-8, September 2004.
    9. Cheon, M., Lee, W., Yoon, C., Park, M., “Vision-based Vehicle Detection System with Consideration of the Detecting Location,” IEEE transactions on intelligent transportation systems, Vol. 13, No. 3, pp. 1243-1252, 2012.
    10. Alessandretti, G., Broggi, A., Cerri, P., “Vehicle and Guard Rail Detection using Radar and Vision Data Fusion,” IEEE Transactions on Intelligent Transportation Systems, Vol. 8, No. 1, pp. 95–105, 2007.
    11. Pyo, C. R., “Development of Auto Positioning Laser System by using Image Measurement Data,” Journal of the Korean Society of Manufacturing Process Engineers, Vol. 12, No. 3, pp. 36-40, 2013.
    12. Stauffer, C., Grimson, W. E. L., “Learning Patterns of Activity using Real-time Tracking,” IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 22, No. 8, pp. 747-757, 2000.
    13. Krizhevsky, A., Sutskever, I., Hinton, G. E., “Imagenet Classification with Deep Convolutional Neural Networks,” In Advances in Neural Information Processing Systems, pp. 1097-1105, 2012.
    14. Yang, H., Jang, H., Jeong, J., Lee, B., Jeong, D., “A Real-time People Counting Algorithm Using Background Modeling and CNN,” Journal of the Institute of Electronics and Information Engineers, Vol 54, No. 3, pp 70-77, 2017.
    15. Zeiler, M. D., Fergus, R., “Visualizing and Understanding Convolutional Networks,” In European Conference on Computer Vision, pp. 818-833, 2014.
    16. Szegedy, C., Liu, W., Jia, Y., Sermanet, P., Reed, S., Anguelov, D., Rabinovich, A., “Going Deeper with Convolutions,” In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 1-9, 2014.