4.1 실험 환경
CNN 기반 전자제품 표면 결함 검사 실험은 각 결함 마다 3가지 확장 방법을 적용해 정상과 결함을 분류하는 2 클래스 분류 실험으로 수행한다.
본 연구에서는 널리 알려진 CNN 네트워크 구조인 AlexNet이나 VGGNet에 비해 비교적 단순한 구조의 네트워크를 사용한다. 네트워크 구조가
복잡해지면 충분히 학습시키기 위해서는 많은 양의 이미지가 필요한데, 산업용 데이터의 특성상 제공되는 양이 매우 적다. 따라서 일반적으로 물체 이미지
분류 및 물체 인식에 사용되는 네트워크에 비해 단순한 구조의 네트워크를 사용한다.
실험에 사용된 네트워크에서는 세 개 이하의 컨볼루션 층을 사용하고, 입력 이미지의 크기가 32x32로 작기 때문에 결함에 대한 특징 손실을 적게 하기
위해 세 개 이하의 풀링 층을 사용한다. 그리고 네트워크의 후반부에는 분류를 위한 완전연결 층과 소프트맥스 층이 위치한다.
그림. 4는 실험에 사용된 네트워크 구조이다.
그림. 4. 실험에 사용된 네트워크 구조
Fig. 4. Network structures used in experiments
실험에 사용된 원본 이미지는 스크래치, 찍힘, 짙은 얼룩에 대해 각 종류별로 결함 이미지 500장과 정상 이미지 4100장이다. 그리고 확장된 결함
이미지는 각 결함 종류마다 세 가지 확장을 각각 적용하여 생성된 이미지들 중 종류별로 3600장씩 임의로 선택하여 실험에 사용하였다.
원본 이미지로만 학습시킨 실험은 결함 이미지 400장, 정상 이미지 400장씩을 학습에 사용하였고, 결함 이미지와 정상 이미지 100장씩에 대해 평가하였다.
확장 방법을 사용한 실험에서는 결함 이미지 4000장(원본 400장+확장 3600장)과 원본 정상 이미지 4000장을 학습에 사용하였고, 평가는 같은
방법을 사용하였다. 위 데이터로 앞서 소개한 세 가지 네트워크에 대해 각각 열두 개 씩 총 36가지를 실험하였다.
표 1은 실험 데이터를 정리한 것이다.
표 1. 실험용 결함 데이터
Table 1. Defect data for experiments
Defect
|
Training
|
Test
|
Original defect
|
Augmented defect
|
Original normal
|
Original defect
|
Original normal
|
Stain
|
400
|
0
|
400
|
100
|
100
|
400
|
3600
|
4000
|
100
|
100
|
Scratch
|
400
|
0
|
400
|
100
|
100
|
400
|
3600
|
4000
|
100
|
100
|
Stamped
|
400
|
0
|
400
|
100
|
100
|
400
|
3600
|
4000
|
100
|
100
|
4.2 실험 결과
실험 결과를 나타내는 성능지표는 재현율(recall), 정밀도(precision), 정확도(accuracy)를 사용한다. recall은 평가에 사용된
결함 이미지 중 학습된 모델에서 결함으로 분류한 이미지의 비율을 나타내고, precision은 학습된 모델에서 결함으로 분류한 이미지 중 실제 결함
이미지의 비율을 나타낸다. 정확도는 결함과 정상을 정확하게 분류한 비율이다.
표 2~
표 4에 각 네트워크별 3가지 성능 지표에 대한 결과가 나와 있다. 실험에 사용된 데이터의 결함과 정상의 수가 같기 때문에 정확도 위주로 분석하고, 재현율과
정밀도에 대해서는 표 5의 평균 mAP 수치를 중심으로 분석한다.
표 2에 CCP 네트워크에 대한 결함 이미지 분류 실험 결과가 나와 있다. CCP 네트워크로 실험 시, 짙은 얼룩에 대한 분류 성능은 밝기 조절 확장이
정확도 95%로 가장 우수하며, 윈도우 이동은 93.5%, 밝기 조절은 89.5%이다. 스크래치에 대해서는 윈도우 이동 확장이 정확도 88.5%로
가장 우수했으며, 회전 80.5%, 밝기조절 77%를 보인다. 찍힘에 대해서는 밝기 조절 확장이 98%로 가장 우수했으며, 윈도우 이동 93%, 회전
89% 순이다.
표 2. CCP 네트워크에 대한 결함 분류 결과
Table 2. Defect classification results for CCP network
Defect
|
Image Augmentation
|
Recall
|
Precision
|
Accuracy
|
Stain
|
Unapplied
|
87
|
94.6
|
91
|
Brightness
|
92
|
97.9
|
95
|
Rotation
|
81
|
97.6
|
89.5
|
Sliding Window
|
89
|
97.8
|
93.5
|
Scratch
|
Unapplied
|
95
|
65.5
|
72.5
|
Brightness
|
63
|
87.5
|
77
|
Rotation
|
67
|
91.8
|
80.5
|
Sliding Window
|
84
|
90.3
|
88.5
|
Stamped
|
Unapplied
|
83
|
80.5
|
81.5
|
Brightness
|
97
|
99
|
98
|
Rotation
|
81
|
96.4
|
89
|
Sliding Window
|
90
|
95.7
|
93
|
표 3은 CPCCP 네트워크에 대한 결함 분류 실험 결과이다. CPCCP 네트워크로 실험 시 짙은 얼룩에 대한 분류 성능은 CCP 네트워크와 같은 순서였으며,
밝기 조절 확장이 정확도 96%로 가장 우수하고, 윈도우 이동 93%, 회전 91%이다. 스크래치에 대한 분류 성능도 CCP 네트워크와 같은 순서로
윈도우 이동 90.5%, 회전 85%, 밝기 조절 74%이다. 찍힘에 대한 분류 성능은 슬라이딩 윈도우 91.5%, 회전 88.5%, 밝기 조절 76.5%로
CCP 네트워크에 비해 밝기 조절의 성능이 떨어지고, 슬라이딩 윈도우와 회전은 유사한 결과를 보였다.
표 3. CPCCP 네트워크에 대한 결함 분류 결과
Table 3. Defect classification results for CPCCP network
Defect
|
Image Augmentation
|
Recall
|
Precision
|
Accuracy
|
Stain
|
Unapplied
|
93
|
72.1
|
78.5
|
Brightness
|
94
|
97.9
|
96
|
Rotation
|
86
|
95.5
|
91
|
Sliding Window
|
88
|
97.8
|
93
|
Scratch
|
Unapplied
|
97
|
64.7
|
72
|
Brightness
|
100
|
65.8
|
74
|
Rotation
|
79
|
89.7
|
85
|
Sliding Window
|
92
|
89.3
|
90.5
|
Stamped
|
Unapplied
|
87
|
65.9
|
71
|
Brightness
|
95
|
69.3
|
76.5
|
Rotation
|
78
|
98.7
|
88.5
|
Sliding Window
|
89
|
93.7
|
91.5
|
표 4는 CPCPCP 네트워크에 대한 실험 결과이다. CPCPCP 네트워크로 실험 시 짙은 얼룩에 대한 분류 성능은 앞의 두 네트워크와 같은 순서로 밝기
조절 94%, 윈도우 이동 92.5%, 회전 91.5%이다. 스크래치에 대해 가장 우수한 확장 방법은 앞의 두 네트워크와 마찬가지로 정확도 87%의
윈도우 이동 방법이었다. 밝기 조절과 회전은 순서가 바뀌어 밝기 조절 86%, 회전 73%이다. 찍힘에 대한 분류 성능은 CCP와 같은 순서였으며,
정확도는 밝기 조절 96.5%, 윈도우 이동 93%, 회전 88.5%이다.
표 4. CPCPCP 네트워크에 대한 결함 분류 결과
Table 4. Defect classification results for CPCPCP network
Defect
|
Image Augmentation
|
Recall
|
Precision
|
Accuracy
|
Stain
|
Unapplied
|
94
|
61
|
67
|
Brightness
|
93
|
95
|
94
|
Rotation
|
84
|
98.8
|
91.5
|
Sliding Window
|
86
|
98.9
|
92.5
|
Scratch
|
Unapplied
|
92
|
63.4
|
69.5
|
Brightness
|
84
|
87.5
|
86
|
Rotation
|
47
|
97.9
|
73
|
Sliding Window
|
78
|
95.1
|
87
|
Stamped
|
Unapplied
|
31
|
39.7
|
42
|
Brightness
|
98
|
95.1
|
96.5
|
Rotation
|
77
|
77
|
88.5
|
Sliding Window
|
89
|
96.7
|
93
|
그림. 5-
그림. 7은
표 2-
표 4의 정확도(accuracy) 지표에 대해서 각 결함 별 네트워크의 성능을 그래프로 나타낸 것이다.
그림. 5는 얼룩에 대한 분류 정확도를 그래프로 나타낸 것이다. 각 확장 방법의 평균값으로 비교하였을 때 분류 성능은 밝기 조절이 가장 우수하며, 윈도우 이동,
회전 순으로 나온다. 꺾어진 선분은 3가지 네트워크의 평균 성능값을 나타낸다. CPCPCP 네트워크가 3가지 확장 모두에 대해서 성능 향상의 비율이
가장 높게 나타났다.
그림. 5. 짙은 얼룩에 대한 이미지 확장 방법별 성능 비교
Fig. 5. Performance comparison graphs by image augmentation methods for stain defect
그림. 6은 스크래치에 대한 분류 정확도를 그래프로 나타낸 것이다. 각 확장 방법의 평균값으로 성능을 비교하면 윈도우 이동이 가장 우수하며, 네트워크별로 비교해도
마찬가지이다. 회전과 밝기 조절은 분류 정확도 평균값이 서로 비슷하다.
그림. 7은 찍힘에 대한 결과이다. 찍힘에 대한 평균 정확도는 윈도우 이동이 가장 우수하나 다른 결함에 비해서 세 가지 확장 방법의 차이가 가장 적은 편이다.
네트워크별로 성능을 살펴봤을 때, CCP와 CPCPCP 네트워크는 밝기 조절을 확장한 실험에서 97-98%대의 매우 높은 성능을 보인데 비해, CPCCP
네트워크는 상당히 떨어졌다.
그림. 6. 스크래치에 대한 이미지 확장 방법별 성능 비교
Fig. 6. Performance comparison graphs by image augmentation methods for scratch
그림. 7. 찍힘에 대한 이미지 확장 방법별 성능 비교
Fig. 7. Performance comparison graphs by image augmentation methods for stamped defect
표 5에 세 네트워크에 대한 평균 mAP(mean Average Precision)와 이미지 확장 방법별 미적용 대비 mAP 개선율을 나타낸다. mAP는
recall-precision 그래프를 통해 계산되는 이미지 인식률을 계산하는 데 쓰이는 지표이다. 물체 검출에 대해서 기하적 변환과 밝기 조절 등에
의한 데이터를 확장하여 학습했을 때 mAP가 3%정도 향상된다고 보고 되어있다[6]. 본 논문에서 결함 이미지에 이미지 확장을 적용한 실험에서는 mAP가
결함 종류나 확장 방법에 따라 약 0.14~0.28(18.3%~45.4%) 향상됐다. 따라서 비정형인 결함을 학습시킬 때가 물체를 학습시킬 때에 비해
기하적 변환이나 밝기 조절을 통한 이미지 확장으로 더 많이 성능이 개선되었음을 보여준다.
표 5. 세 네트워크에 대한 평균 mAP와 확장 방법별 mAP 개선율
Table 5. Average mAP for three networks and improvement rate by augmentation methods
Defect
|
Image ugmentation
|
mAP
|
Improvement Rate
|
Stain
|
Unapplied
|
0.797
|
|
Brightness
|
0.942
|
18.3
|
Rotation
|
0.944
|
18.6
|
Sliding Window
|
0.950
|
19.2
|
Scratch
|
Unapplied
|
0.685
|
|
Brightness
|
0.828
|
20.8
|
Rotation
|
0.908
|
32.5
|
Sliding Window
|
0.945
|
37.9
|
Stamped
|
Unapplied
|
0.626
|
|
Brightness
|
0.828
|
32.2
|
Rotation
|
0.881
|
40.7
|
Sliding Window
|
0.910
|
45.4
|
스크래치의 mAP를 보면, 윈도우 이동 확장 방법을 적용한 실험이 가장 우수한 성능을 보였다. 그 이유는 스크래치가 길이와 방향을 가지기 때문이라고
생각한다. 밝기 조절을 적용하는 경우에는 길이나 방향은 전혀 변하지 않고, 주변 배경과 결함의 픽셀값 차이만 변하게 된다. 회전은 방향은 많이 변하지만
길이에 대해 변화가 적다. 하지만 윈도우 이동은 윈도우의 위치가 이동하며 이미지를 잘라내기 때문에 길이가 많이 변한다. 또한 여러 이미지에 대해 확장을
시도하기 때문에 다양한 방향을 가지는 스크래치 이미지가 많이 확장된다. 따라서 스크래치에 윈도우 이동을 적용했을 때 밝기 조절이나 회전에 비해 다양한
학습 이미지를 생성할 수 있다. 짙은 얼룩에서는 mAP가 밝기 조절, 회전, 윈도우 이동 3가지 확장이 모두 우수하게 나왔다. 찍힘에서는 윈도우 이동이
가장 우수한 mAP을 나타내었다.
결함 이미지에 대해서 사용된 확장 방법의 특징을 분석하면 다음과 같다. 윈도우 이동을 적용하면 원본 이미지와 같은 특징을 가지는 얼룩이나 찍힘의 위치만
변화한 이미지가 생성되거나 얼룩의 일부만 지워진 이미지가 생성된다. 회전을 적용하면 결함이 회전하면서 다른 특징을 가지는 이미지가 생성된다. 하지만
밝기 조절을 적용하여 결함과 배경의 픽셀값을 변화시키는 것이 결함과 주변 배경의 차이를 다양하게 학습시킬 수 있어 보다 효과적이라고 생각된다.