Journal of the Korean Institute of Industrial Engineers
[ Article ]
Journal of the Korean Institute of Industrial Engineers - Vol. 48, No. 4, pp.327-339
ISSN: 1225-0988 (Print) 2234-6457 (Online)
Print publication date 15 Aug 2022
Received 16 Dec 2021 Revised 17 Jan 2022 Accepted 23 May 2022
DOI: https://doi.org/10.7232/JKIIE.2022.48.4.327

객체 수준 데이터 증강을 활용한 딥러닝 기반의 강판 표면 결함 검출

안인범 ; 김성범
고려대학교 산업경영공학과
Deep Learning-Based Defects Detection of Steel Sheet Surface Using Object-level Data Augmentation
Inbum Ahn ; Seoung Bum Kim
Department of Industrial and Management Engineering, Korea University

Correspondence to: 김성범 교수, 02841 서울특별시 성북구 안암로 145, 고려대학교 산업경영공학과, Tel : 02-3290-3397, Fax : 02-3290-4550, E-mail : sbkim1@korea.ac.kr

© 2022 KIIE

Abstract

The detection of surface defects in the steel manufacturing process is a very important issue in terms of quality assurance and facility management. Recently, many studies have been conducted to improve the performance of detection by applying deep learning models. However, it is still difficult to detect surface defects because of class imbalance problem. In this study, we propose a deep learning model using object-level data augmentation method to improve the detection accuracy of steel sheet surface defect images with class imbalance. We demonstrated the usefulness and applicability of the proposed method by conducting various experiments using Severstal steel defect detection dataset. We applied various deep learning model architectures to the proposed method and proved that its performance was improved compared to the model using existing image-level data augmentation method. Further, the experimental results showed that the proposed method especially improves the defect detection performance of minor classes.

Keywords:

Steel Surface Defects, Semantic Segmentation, Object-level Data Augmentation, Class Imbalance

1. 서 론

철강 제품은 자동차, 선박, 건축 등 다양한 산업에서의 주된 소재로, 철강 제조공정상의 품질 관리는 그만큼 중요한 문제라고 할 수 있다. 여러 가지 철강 제품 중 판의 형태를 가진 강판은 제조공정 중 다양한 결함이 발생할 수 있는데 압연 공정에서 발생하는 표면 결함은 검사원의 육안으로도 검사가 가능한 결함으로 표면상에 발생하는 롤 마크(roller marks), 긁힌 흠(scratches), 개재물(inclusions), 딱지 흠(scabs) 등이 대표적이다(Luo et al., 2020). 이러한 표면 결함을 검출하는 문제는 강판 제조공정의 품질 보증과 설비 관리 측면에서 매우 중요한 문제이다. 특히 강판 제조공정의 특성상 제조공정이 연속되어 있어 선공정에서 발생한 결함이 검출되지 못하고 후공정으로 유입될 경우, 후공정에서는 더 심각한 결함을 발생시킬 수 있고 설비사고로 이어질 수도 있다. 따라서 더욱 정확하고 신뢰성 있는 결함 검출을 위해 검사원의 육안에 의한 검출보다는 컴퓨터 비전(computer vision) 기반의 표면 검사 장치(surface defect detector, SDD)를 활용하여 자동화된 결함 검출을 추구해야 한다. 하지만 아직 SDD만으로는 숙련된 검사원만큼의 정확도를 얻기 어렵기 때문에, SDD의 성능을 개선하기 위한 알고리즘의 개발이 지속적으로 요구되고 있다. 특히 최근에는 컴퓨터 비전 분야에서 딥러닝(deep learning)을 활용한 알고리즘이 뛰어난 성능을 보여, 표면 결함을 검출하는 문제에서도 딥러닝 모델을 적용하는 연구가 많이 진행되고 있다. 본 연구에서도 데이터 학습 기반의 딥러닝 모델을 적용하여 강판 표면의 결함을 검출하는 모델을 연구하고자 한다.

강판 표면 이미지로부터 결함을 검출하는 문제는 딥러닝 모델 관점에서 분류(classification), 객체 검출(object detection), 이상 탐지(anomaly detection), 영상 분할(image segmentation) 문제로 접근할 수 있다. 이 중 강판의 표면 결함이 가지는 특징을 고려하였을 때 영상 분할의 한 종류인 의미론적 분할(semantic segmentation) 문제가 강판 표면 결함 문제에 적합하다고 할 수 있다. 그 특징은 다음과 같다. 첫째, 발생하는 결함의 종류가 다양하고 그 종류에 따른 후속 영향도가 다르다는 점이다. 따라서 이상 탐지 모델로 결함의 유무를 검출하는 것만으로는 다양한 종류의 결함을 구분하지 못하기 때문에, 분류 모델을 통해 어떤 종류의 결함이 검출되었는지를 정확하게 구분하는 것이 중요하다. 둘째, 같은 종류의 결함이더라도 그 크기와 형태에 차이가 있고 그에 따라 강판의 품질 등급이 결정된다는 점이다. 따라서 결함 분류 모델만으로는 이러한 특징을 반영할 수 없고, 객체 검출 방법으로는 결함의 크기와 형태를 정확하게 검출하는 데 한계가 있다. 이러한 특징을 고려하였을 때 강판의 표면 결함 검출은 의미론적 분할 문제로 접근하여 결함의 종류를 분류하고 크기와 형태를 이미지의 픽셀 단위로 정확하게 검출하는 것이 적합하다고 할 수 있다. 추가로 고려할 수 있는 표면 결함 발생의 특징은 결함마다 발생 빈도에 차이가 있다는 점이다. 다양한 종류의 결함이 고르게 발생하지 않고 불균형적인 발생 빈도를 보이는 것은 일반적인 데이터 발생의 패턴이다. 강판의 표면 결함 발생도 마찬가지로, 특정 결함은 극소수의 발생 빈도를 보이지만, 또 다른 결함은 매우 빈번하게 발생하는 양상을 보일 수 있다. 따라서 본 연구에서는 현실적인 문제 해결을 위해 데이터의 범주간 불균형(class imbalance)을 고려한 의미론적 분할 모델로 강판의 표면 결함 검출 문제에 접근하고자 한다.

의미론적 분할 모델과 같이 이미지 데이터를 활용한 딥러닝 모델은 이미지 데이터 증강(image data augmentation)을 통해 부족한 데이터를 보완하며 모델의 일반화 성능을 개선할 수 있다(Zhang et al., 2021). 이미지 데이터 증강은 회전(rotating), 크기 변환(scaling), 이동(shifting), 뒤집기(flipping) 등의 방법이 있고, 이는 통상 이미지 단위로 적용되는 방법이다. 이러한 이미지 데이터 증강 기법은 다양한 형태로 발전되어 왔으나, 이미지 단위로만 적용되기 때문에 의미론적 분할 모델에서 중요하다고 할 수 있는 객체(object)와 배경(background) 간의 경계선은 제대로 증강되지 않는다(Zhang et al., 2021). 따라서 Zhang et al.(2021)은 이미지 단위로 데이터 증강을 적용하는 대신, 이미지 내의 객체와 배경을 분리하고 객체에 대해서만 데이터 증강을 적용하여 배경과 다시 결합하는 객체 수준 데이터 증강법(object-level data augmentation, ObjectAug)이라는 방법론을 제안하였다. 이러한 객체 수준 데이터 증강법은 다음과 같은 이유로 강판의 표면 결함 검출 문제에 적합하다고 할 수 있다. 첫째, 이미지 내에서 찾고자 하는 결함의 부위가 배경 영역대비 작고, 결함의 개수도 적은 경우가 많다. 둘째, 배경 영역은 방향이 고정되어 있고, 정상 부위이기 때문에 이미지마다 큰 변화가 나타나지 않는다. 따라서 기존 이미지 수준의 데이터 증강보다는 객체 수준의 데이터 증강이 표면 결함 검출에 더욱 효과적일 수 있다는 가설을 수립하였고 이를 기반으로 본 연구를 진행하였다.

본 연구는 강판 표면 결함이 가지는 특징을 고려하여 그에 맞는 데이터 증강법을 연구하고, 이를 활용하여 의미론적 분할 모델의 결함 검출 성능을 향상시키고자 한다. 본 연구의 기여점은 다음과 같다. 첫째, 강판 표면 결함 데이터의 특징을 반영하고 데이터 불균형 상황에서 소수 범주의 성능을 향상시킬 수 있는 강판 표면 결함을 위한 객체 수준 데이터 증강법(ObjectAug for steel surface defects)을 제안한다. 둘째, 다양한 모델 구조에 제안 방법론을 적용하여 제안 방법론이 여러 모델 구조에서 강건하고 우수한 성능을 보임을 실험적으로 입증한다.

본 논문은 다음과 같은 구조를 가진다. 제2장에서는 본 연구와 관련된 연구로 강판 표면 결함 검출과 관련하여 Severstal 데이터셋을 사용한 선행 연구와 객체 수준 데이터 증강법을 최초로 제안한 연구에 관해 설명한다. 제3장에서는 본 연구에서 제안하는 방법론인 강판 표면 결함을 위한 객체 수준 데이터 증강법과 제안 방법론에 사용한 손실 함수에 관해 설명한다. 제4장에서는 본 연구에서 사용한 데이터와 평가지표에 대해 소개하고 제안 방법론을 적용한 실험 결과에 관해 설명한다. 마지막으로 제5장에서는 본 연구의 결론을 제시한다.


2. 관련 연구

2.1 강판 표면 결함 검출을 위한 의미론적 분할 연구

2019년 개최된 Severstal 강판 결함 검출 대회에서 공개된 Severstal 데이터셋은 의미론적 분할 문제를 위한 데이터셋으로, 대회 이후에도 이 데이터셋을 활용한 후속 연구가 꾸준하게 진행되고 있다. Qian(2019)은 Severstal 데이터셋을 활용하여 의미론적 분할 모델의 성능을 향상하기 위해 6개의 의미론적 분할 모델을 앙상블로 결합한 구조를 적용하였다. 이 연구에서 사용한 모델 구조는 FPN(feature pyramid network)과 U-Net 구조이며, 인코더 신경망(encoder neural network)으로는 EfficientNet, ResNet, SE-ResNeXt가 사용되었다(Qian, 2019). Qian(2019)의 실험 결과 중 인코더 신경망으로 EfficientNet을 사용한 실험 결과가 FPN과 U-Net 모델 구조 모두에서 다른 인코더 신경망 대비 더 우수한 성능을 보였다. Wang et al.(2020)은 Severstal 데이터를 사용하여 앙상블 형태가 아닌 단일 모델에 대한 여러 가지 비교 실험을 진행하였다. 또한 Severstal 데이터가 가진 불균형 특성을 고려하여 가중 교차 엔트로피(weighted cross entropy) 손실 함수를 사용하였고, 그 가중치는 범주별로 2, 2, 1, 1.5를 사용하였다. 데이터 증강 기법으로는 회전, 이동, 밝기 조정, 뒤집기가 이미지 수준에서 적용되었다. 이 연구에서는 BiFPN, FPN, U-Net의 모델 구조와 ResNet, EfficientNet의 인코더 신경망을 조합하여 비교 실험을 진행하였고, EfficientNet 인코더 신경망이 ResNet보다 모든 모델 구조에서 성능이 우수함을 실험적으로 입증하였다. Damacharla et al.(2021)의 연구에서는 이미지넷(ImageNet) 데이터셋으로 사전 학습된 가중치가 Severstal 데이터셋에서 성능 향상의 효과가 있었다는 것을 실험적으로 보여주었다. 이 실험에서는 초기 가중치로 임의의 수를 사용한 모델과 사전 학습된 가중치를 사용한 모델의 성능을 비교하였고, 사전 학습된 가중치를 사용한 모델의 성능이 최대 26% 개선됨을 확인하였다.

2.2 객체 수준 데이터 증강

Zhang et al.(2021)이 제안한 데이터 증강 기법인 ObjectAug(object-level data augmentation, 객체 수준 데이터 증강법)는 이미지 내의 객체와 배경을 분리한 후 객체에만 데이터 증강을 적용하고, 복원된 배경과 결합하여 증강된 이미지를 얻는 방법론이다. 객체 수준 데이터 증강법은 이미지 분리(image parsing), 객체 증강(object augmentation), 배경 복원(background inpainting), 이미지 결합(image assembling)의 단계로 이루어진다. 또한, 객체 데이터를 증강할 때 범주간 데이터 불균형을 해소하기 위해 두 가지의 계수(hard-driven coefficient, rarity-driven coefficient)를 제안하였고, 이를 사용하여 범주별로 차등화된 데이터 증강 확률을 적용하였다. Zhang et al.(2021)은 이 연구에서 PASCAL VOC 2012, Cityscapes, CRAG 데이터셋을 사용하여 객체 수준 데이터 증강법의 우수한 성능을 실험적으로 보여주었다. 기존 이미지 데이터 증강법 중 CutOut(DeVries and Taylor, 2017)과 CutMix(Yun et al., 2019)를 비교 대상으로 하여 각 데이터셋에 대해 성능을 비교한 결과, 객체 수준 데이터 증강법이 CutOut과 CutMix 보다 0.7%~1.5% 성능이 우수하였다. 하지만 본 연구에서 사용하는 강판 표면 결함 데이터셋은 Zhang et al.(2021)의 연구에서 실험한 데이터셋들과는 다른 특징을 가지고 있기 때문에 강판 표면 결함에 맞게 수정된 객체 수준 데이터 증강법을 구현할 필요가 있다. 본 연구에서는 수정된 객체 수준 데이터 증강법을 강판 표면 결함 데이터에 적용하여 의미론적 분할 모델의 성능을 향상시키고자 한다.


3. 제안 방법론

본 장에서는 제안 모델의 전체적인 모습에 대해 먼저 설명한 후 본 연구에서 제안하는 방법론인 강판 표면 결함을 위한 객체 수준 데이터 증강법(ObjectAug for steel surface defects)과 데이터 불균형 문제를 해결하기 위해 적용한 가중 손실 함수에 대해 구체적으로 설명한다.

먼저 제안 모델의 전체적인 모습은 <Figure 1>과 같다. 강판 표면 결함 이미지가 입력으로 들어오면 제안 방법론인 객체 수준 데이터 증강법을 적용하여 이미지 데이터를 증강하고, 이를 딥러닝 기반의 의미론적 분할 모델에 적용한다. 의미론적 분할 모델은 FPN(Lin et al., 2017) 모델 구조와 인코더 신경망으로 EfficientNet-b1(Tan and Le, 2019)을 사용하였다. 이때 Lin et al.(2017)의 FPN은 원래 객체 탐지를 위해 고안된 모델이기 때문에 이를 의미론적 분할 문제에 적용하기 위해 Kirillov et al.(2017)의 FPN for semantic segmentation 모델 구조를 사용하였다. FPN 모델 구조는 인코더 신경망으로부터 추출된 특징 맵(feature map)을 디코더 신경망(decoder neural network)에 활용하는 구조이다. 즉, 디코더 신경망에서 특징 맵의 크기를 증대시킬 때 각 단계에 해당하는 인코더의 특징 맵을 더해서 디코더의 특징 맵을 생성하고, 이렇게 생성된 다양한 크기의 특징 맵을 다시 한 개의 특징 맵으로 압축하여 모델의 예측값을 도출한다. 본 연구는 기존에 알려진 의미론적 분할 모델을 활용하면서 예측 성능을 향상시키기 위한 데이터 증강법에 초점을 두고 있기 때문에, 제안 모델의 전체 모습 중 본 연구의 제안 방법론인 객체 수준 데이터 증강 부분에 대해 자세히 설명한다.

Figure 1.

Overall Framework of the Proposed Model. It Includes the Proposed Object-level Augmentation Method(ObjectAug for steel surface defects) and Semantic Segmentation Model based on Deep Learning. The Feature Pyramid Network(FPN) and EfficientNet-b1 Models are used for the Semantic Segmentation Model

3.1 강판 표면 결함을 위한 객체 수준 데이터 증강법

강판 표면 결함은 종류에 따라 크기와 형태가 다양하지만 대체로 결함의 크기가 작기 때문에 이미지 내에서 결함 부위가 차지하는 영역은 작다. 따라서 이미지 데이터 증강을 적용할 때 기존의 방법대로 이미지 수준으로 증강할 경우, 결함 부위의 증강 효과가 뚜렷하게 나타나지 않을 수 있고 결함 부위가 이미지에서 제외될 수도 있다. 또한 결함 부위를 제외한 배경의 경우는 정상 표면의 영역으로 이미지마다 큰 변화가 없고 방향이 고정되어 있기 때문에, 이미지 수준의 증강을 적용할 경우 현실적이지 않은 잘못된 이미지를 얻을 수 있게 된다. 따라서 강판 표면 결함 이미지 데이터는 기존 이미지 수준 데이터 증강보다 객체 수준 데이터 증강이 더 효과적일 수 있으며, 본 연구는 이 가설을 기반으로 진행하였다. <Figure 2>는 Severstal 데이터셋에서의 강판 표면 이미지를 데이터 증강한 예시로, <Figure 2>의 (a)와 (d)는 원본 입력 이미지, (b)와 (e)는 이미지 수준의 데이터 증강 결과, (c)와 (f)는 객체 수준의 데이터 증강 결과를 나타낸다. 이미지 수준으로 증강된 (b)와 (e)를 보면, (b)의 경우 결함 부위의 증강 효과가 뚜렷하지 않고 배경만 기울어지게 증강된 것을 볼 수 있고, (e)의 경우 이미지 크기 변환 증강이 적용되면서 아래쪽에 있던 결함이 없어진 채로 증강된 것을 볼 수 있다. 반면 (c)와 (f)는 객체 수준으로 증강되었기 때문에 결함 부위에 뚜렷한 증강 효과가 나타나고 이미지 내에서 사라지지 않는 결과를 보여준다.

Figure 2.

Sample Image Augmentation Results on Severstal Dataset. (a) and (d) are original input images. (b) and (e) are image-level augmented images from (a) and (d), respectively. (c) and (f) are object-level augmented images from the original images (a) and (d), respectively. The red dotted circle in the images represents the defects on steel sheet surfaces

또한 강판 표면 결함 이미지는 표면 영역을 분할하여 부분 촬영한 이미지로, 측면 끝부분이 포함된 이미지에는 강판 표면 영역이 아닌 허공 영역이 존재한다는 특징이 있다. 이러한 특징을 고려하여 본 연구에서는 이미지 내에서 강판 표면 영역이 아닌 허공 영역을 비유효 배경(invalid background)으로, 강판 표면 영역 중 결함이 아닌 정상 영역을 유효 배경(valid background)으로 정의하였다. <Figure 3>은 Severstal 데이터셋에서의 강판 표면 이미지 데이터 예시를 보여준다. <Figure 3>의 (a)는 전체가 강판 표면으로만 채워진 이미지이고, (b)는 강판 표면과 비유효 배경이 존재하는 이미지이다.

Figure 3.

Sample images of Severstal Dataset. (a) a sample image filled with steel sheet surface only. (b) a sample image filled with steel sheet surface and invalid background (area of black color)

이러한 특성을 가진 이미지에 기존 객체 수준 데이터 증강법을 적용하면 배경과 분리된 객체가 증강된 후 다시 결합하는 과정에서 비유효 배경인 허공 영역에 증강된 객체가 반영될 수 있다. 따라서 이러한 문제를 보완하기 위해 기존의 증강법을 수정할 필요가 있다. 또한 기존의 증강법은 데이터 불균형을 해소하기 위해 범주마다 다른 확률값을 적용하는 방법을 사용하였지만, 이미지 내에서 극히 작은 영역의 결함을 찾아야 하는 강판 표면 결함 데이터에서는 보다 직접적인 불균형 해소 방안을 적용할 필요가 있다. 따라서 본 연구의 제안 방법론인 강판 표면 결함을 위한 객체 수준 데이터 증강법은 이러한 문제를 해결하고자 하였고, 기존 방법에 비해 다음과 같은 차이점을 갖는다. 첫째, 객체 수준 데이터 증강의 특징을 활용하여 소수 범주의 결함을 한 개의 이미지 안에서 여러 개의 결함으로 증폭시킴으로써 보다 직접적으로 데이터 불균형을 해소할 수 있게 하였다. 둘째, 객체와 분리된 배경을 복원할 때 유효 배경의 픽셀값을 사용하여 복원하는 효율적인 복원 알고리즘을 구현하였다. 셋째, 강판 표면 결함 이미지의 비유효 배경을 인식하여 객체 수준으로 증강된 결과가 유효 배경에만 반영되도록 유효성 검사 단계를 추가하였다.

제안 방법론의 전체적인 흐름도와 적용 예시를 <Figure 4>에 나타내었다. 제안 방법론은 기존 객체 수준 데이터 증강법과 같은 단계로 이루어지며, 강판 표면 결함 이미지를 위해 수정된 단계는 객체 증강, 배경 복원, 이미지 결합 단계이다. <Figure 4>의 범주별 차등 계수 및 확률(class coefficient and probability), 유효 배경 평균값(mean of valid background), 유효 배경 계수(valid background coefficient)는 본 연구에서 제안하여 추가된 내용이며 다음 장부터 각 단계별로 자세히 설명한다.

Figure 4.

Overall Flow of ObjectAug for Steel Surface Defects

3.1.1 객체 증강

이미지 안에서 배경과 분리된 결함 객체는 각 객체별로 데이터 증강 기법이 적용된다. 본 연구에서는 각각의 객체에 적용하는 데이터 증강 기법으로 뒤집기, 이동, 크기 변환, 회전, 색 변환을 사용하였다. <Figure 5>는 배경과 분리된 객체를 객체별로 증강한 예시 이미지이다. <Figure 5>의 예시에서는 이미지 안에 존재하는 2개의 결함 객체에 각각 데이터 증강이 적용되었다. 결함 객체가 증강될 때는 그 객체와 연결된 마스크(mask)에도 같은 데이터 증강이 동시에 적용된다.

Figure 5.

Object Augmentation

이때 기존 객체 수준 데이터 증강법은 객체가 가진 정답 범주에 따라 다른 데이터 증강 확률을 적용하는 알고리즘을 사용하였다(Zhang et al., 2021). 본 연구에서는 객체의 정답 범주에 따라 증강 확률을 다르게 적용하는 것에 더해, 객체 데이터 증강 횟수를 추가로 적용하고 이를 범주별로 차등화하는 방법을 제안하였다. 이는 각 범주에 대한 특정한 계수를 설정하여 구현되며, 계수는 하이퍼 파라미터(hyper-parameter)로 최적값을 탐색해야 하는 값이다. 이렇게 범주별로 차등화된 계수를 객체 데이터 증강에 적용함으로써 기존 방법보다 더 직접적으로 데이터 불균형을 해소할 수 있다. <Figure 6>는 제안 방법론의 범주별 차등 계수를 5, 5, 1, 1로 적용한 객체 수준 데이터 증강의 예시 이미지이다. <Figure 6>의 (a), (b) 이미지는 소수 범주에 해당하는 범주 1과 2의 결함 이미지로 각각 계수 5가 적용되었다. 이에 따라 원본 이미지에 있던 결함이 객체 수준으로 5회 증강되어 원본 이미지보다 더 많은 결함 영역을 가진 이미지를 얻게 된다. <Figure 6>의 (c), (d) 이미지는 다수 범주에 해당하는 범주 3과 4의 이미지로 많은 수의 증강이 필요 없기 때문에 각각 계수 1이 적용되었다. 이에 따라 이미지의 결함마다 객체 수준 증강이 1회만 적용되어 원본 이미지와 동일한 결함 영역을 가진 이미지를 얻게 된다. 이와 같은 방법으로 소수 범주의 결함 영역을 한 이미지 내에서 원하는 만큼 증강하여 데이터 불균형을 해소할 수 있게 하였다.

Figure 6.

Examples of Object-level Augmented Image for Each Class. The Class Coefficient of Proposed Method for These Images is [5, 5, 1, 1]

제안 방법론에서 데이터 불균형을 해소하기 위해 최종적으로 적용한 범주별 차등 계수는 총 4개의 범주에 대한 값으로 5, 5, 1, 1이다. 이는 소수 범주인 범주 1과 2에 더 많은 객체 데이터 증강을 적용하는 것으로, <Figure 6>의 예시와 같이 이미지 안에서 결함 1개당 5회씩 데이터를 증강할 수 있게 한 것이다. 반면 다수 범주인 범주 3과 4는 계수 1이 적용되어 결함 1개당 1회씩만 데이터 증강이 적용된다. 최종적으로 결정된 이 계수는 하이퍼 파라미터 탐색을 통해 실험적으로 얻은 값이며, 탐색 과정에 대해서는 4장 실험 결과에서 설명한다.

3.1.2 배경 복원

이미지 분리 단계에서 결함 객체와 분리된 배경은 결함이었던 영역이 비어 있게 되며, 이를 배경과 유사한 이미지로 복원하는 과정이 배경 복원 단계이다. 기존 객체 수준 데이터 증강법에서는 배경 복원을 위해 부분 합성곱을 사용한 딥러닝 모델(Liu et al., 2018)을 별도로 적용하였다(Zhang et al., 2021). 하지만 강판 표면 결함 이미지 데이터에서는 결함이 제거된 배경이 복잡한 이미지가 아니라 단순한 정상 표면 부위의 이미지이기 때문에 이를 복원하기 위해 특화된 방법이 요구된다. 본 연구에서는 비유효 배경을 제외한 유효 배경의 평균 픽셀값으로 배경을 복원하였다. 3.1장에서 서술한 바와 같이, 강판 표면 결함 이미지에는 허공 영역인 비유효 배경이 존재할 수 있기 때문에 비유효 배경의 픽셀값이 배경 복원에 사용되지 않도록 유효 배경만의 픽셀값으로 배경이 복원되도록 하였다. 배경 복원 단계에서 쓰이는 평균 픽셀값은 입력된 이미지마다 계산되는 값이기 때문에 입력된 이미지 안에서의 유효 배경의 평균값이 사용된다. 배경 복원에 대한 예시 이미지를 <Figure 7>에 제시하였으며, 평균 픽셀값으로 배경이 적절하게 복원됨을 보여주고 있다.

Figure 7.

Background Inpainting Using the Mean Value of Valid Background

3.1.3 유효성 검사 및 이미지 결합

이미지 결합 단계는 원본 이미지를 결함 객체와 배경으로 나누어 데이터 증강 및 복원을 한 후, 그 결과를 결합하는 단계이다. 이때 강판 표면 결함 이미지의 특성상 객체 수준에서 증강된 결과가 비유효 배경에 반영될 수 있다. <Figure 8>의 (a)는 증강된 객체가 비유효 배경에 반영된 예시를 보여준다. 이러한 결과는 실제 존재할 수 없는 이미지이기 때문에 증강된 객체가 비유효 배경에 반영되지 않게 하는 알고리즘이 필요하다. 따라서 본 연구에서는 유효성 확인(validity check) 알고리즘을 이미지 결합 단계에 추가하여 객체 수준에서 증강된 결과가 유효 배경에만 반영되도록 하였다. <Figure 8>의 (b)는 (a)에서와는 달리 유효 배경에만 증강된 결과가 반영되는 것을 보여준다. 유효성 확인 알고리즘은 이미지의 배경을 유효 배경과 비유효 배경으로 구분하는 임계값(threshold)인 유효 배경 계수(valid background coefficient)를 제안하여 구현하였다. 증강된 객체 결과가 복원된 배경과 결합할 때 유효 배경 계수보다 큰 영역에 있는 경우에만 반영되도록 하고, 작거나 같은 영역에 있는 경우에는 반영되지 않도록 하여 현실에서 발생할 수 없는 결과가 나오지 않도록 하였다.

Figure 8.

Comparison of Augmented Images. (a) result without validity check, (b) result with validity check

또한 유효성 확인 과정에서 증강된 결과가 비유효 배경에만 위치하는 경우에는 원본 이미지에서 결함이 제거되고 복원된 배경 이미지만을 결과로 얻게 되기 때문에, 이때는 입력된 원본 이미지와 마스크를 데이터 증강 결과로 사용하도록 하였다.

3.2 데이터 불균형을 위한 손실 함수

본 연구에서 데이터 불균형을 위해 사용한 손실 함수는 가중 BCE-Dice 손실 함수이다. 의미론적 분할 모델에 가장 기본적으로 적용할 수 있는 binary cross entropy(BCE) 손실 함수에 가중치를 적용하고, Dice 계수를 기반으로 하는 Dice 손실 함수를 결합한 형태이다. 본 연구에서는 범주별 픽셀 단위로 해당 범주의 결함 여부를 예측하는 이진 분류(binary classification)를 적용하였다. 따라서 한 픽셀에 대해 다중 범주의 결함이 예측될 수 있으나, 가장 높은 확률값을 갖는 결함 범주가 최종 예측되도록 후처리 과정을 추가하여 픽셀 단위의 중복 예측이 발생되지 않도록 하였다.

BCE 손실 함수와 가중 BCE 손실 함수는 각각 식 (1), 식 (2)와 같이 표현할 수 있다. 여기서 y는 실제값으로 의미론적 분할 모델에서 픽셀 단위로 예측해야 하는 0 또는 1의 값이며, y^은 모델에 의해 예측되는 값이고, C는 범주의 개수, N은 이미지 내 픽셀의 개수를 나타낸다. 가중 BCE 손실 함수의 가중치(식 (2)pc)는 BCE 손실 함수에 임의의 계수를 적용하는 것으로, 데이터 불균형이 심한 경우 소수 범주에 더 높은 가중치를 부여하기 위해 주로 많이 사용된다(Jadon, 2020). Severstal 데이터셋은 범주간 불균형이 심한 데이터셋으로, 제2장에서 언급한 Wang et al.(2020)의 연구에서도 가중 BCE 손실 함수가 사용되었다. 본 연구에서는 Wang et al.(2020)의 연구에서 사용한 가중치를 기반으로 하여, 예측 성능을 높일 수 있는 가중치를 실험을 통해 탐색하였다. 실험적으로 얻은 최종 가중치는 범주 1부터 4에 대해 각각 5, 5, 1, 1.5이다. 가중치 탐색 과정에 대해서는 제4장 실험 결과에서 설명한다.

LBCEy,y^=-c=1Ci=1Nyiclogyic^+1-yiclog1-yic^(1) 
LWBCEy,y^=-c=1Ci=1Npcyiclogyic^+1-yiclog1-yic^(2) 

Dice 손실 함수는 Dice 계수를 기반으로 한다. Dice 계수는 컴퓨터 비전 분야에서 두 이미지 간의 유사도를 계산하기 위해 많이 사용되는 성능 측정 지표이다(Jadon, 2020). Dice 계수는 식 (3)과 같이 나타낼 수 있으며, Dice 손실 함수는 식 (4)와 같이 1에서 Dice 계수를 차감한 형태로 구해진다. 이때 P는 모든 범주에 대한 픽셀의 수이다(P = C×N). 본 연구에서는 의미론적 분할 모델을 사용하여 문제에 접근하기 때문에, 이미지의 분할 성능을 높이기 위해 Dice 계수를 기반으로 한 Dice 손실 함수를 사용하였고, 최종적으로 가중 BCE 손실 함수와 결합한 형태로 사용하였다. 본 연구에서 사용한 손실 함수의 최종적인 형태는 식 (2)식 (4)를 더한 식 (5)로 나타낼 수 있다.

Dice coefficienty,y^=2TP2TP+FP+FN                                            =2iPyiy^iiPyi+iPy^i(3) 
LDicey,y^=1-Dice coefficient=1-2iPyiy^iiPyi+iPy^i(4) 
LWBCE-Dicey,y^=LWBCEy,y^+LDicey,y^(5) 

4. 실험 결과

본 장에서는 본 연구의 실험에 사용한 Severstal 데이터셋과 성능 평가 지표에 관해 설명하고, 다양한 비교 실험을 통해 제안 방법론의 성능을 평가한 결과를 설명한다. 제안 방법론의 성능 평가는 가장 기본적인 모델부터 이미지 수준의 데이터 증강 기법을 적용한 모델까지 4개의 비교 모델로 평가하였으며, 다양한 모델 구조에 따른 성능도 함께 평가하였다. 또한 제안 방법론의 구성 요소별 성능 평가 결과(ablation study)와 주요 하이퍼 파라미터의 탐색 과정 및 결과에 관해 설명하였다.

4.1 데이터 소개

본 연구에서 사용한 데이터셋은 Severstal 철강 기업이 강판 표면 결함 검출 대회에서 공개한 Severstal 데이터셋이다(https://www.kaggle.com/c/severstal-steel-defect-detection). 이 데이터셋은 철강 제조공정 중 열간 압연 공정에서 수집한 이미지 데이터로 현실성 있는 실제 데이터셋이라고 할 수 있으며, 총 12,568개의 이미지와 픽셀별 결함 정보가 포함된 마스크 데이터를 제공한다. 12,568개의 이미지 중 결함이 포함된 이미지는 6,666개이며, 본 연구에서는 결함이 포함된 이미지만을 사용하였다. <Figure 9>는 데이터셋의 결함 범주별 예시 이미지를 보여준다.

Figure 9.

Sample Images of Defect Classes in Severstal Dataset

Severstal 데이터셋에 포함된 4개의 결함 범주는 데이터 불균형의 특징을 가진다. 이미지 수 측면에서도 불균형이 있지만, 의미론적 분할 측면에서는 각 범주가 차지하는 픽셀의 비중이 더 중요한 의미를 가지므로 픽셀 비중을 기준으로 소수 범주와 다수 범주를 구분하였다. <Table 1>은 데이터셋의 범주별 이미지 수와 전체 결함 픽셀 대비 각 범주의 픽셀이 차지하는 비율을 나타낸다. 단, <Table 1>에서 표현된 이미지 수는 2개 이상의 결함 범주를 가지는 이미지 427개가 범주별로 중복으로 집계된 숫자이다. <Table 1>의 픽셀 비율에서 확인할 수 있는 바와 같이 Severstal 데이터셋의 의미론적 분할 문제에서 소수 범주는 결함 1과 결함 2라고 할 수 있으며, 본 연구는 소수 범주인 결함 1과 결함 2의 성능 개선을 통해 전체 예측 성능을 향상시키는 것이 목적이다.

Class Distribution of the Dataset

데이터셋은 모델의 학습 및 평가를 위해 훈련 데이터(training data)와 검증 데이터(validation data), 시험 데이터(testing data)로 분할하였고, 비율은 6:2:2를 적용하였다. 객체 수준 데이터 증강법을 적용한 실험에서는 모델 학습 이전에 데이터 증강을 적용하여 데이터셋을 확장하였다. 이때 이미지의 크기를 256×1600에서 256×800으로 분할한 후 데이터 증강을 적용하였다. 데이터 증강은 훈련 데이터에만 적용하였고, 검증 및 시험 데이터는 데이터 증강 없이 이미지 분할만 적용하였다. 객체 수준 데이터 증강은 범주별로 차등 확률을 적용하였으며, 범주 1부터 4까지 각각 100%, 100%, 30%, 50%의 확률을 적용하여 데이터셋을 확장하였다. 최초 데이터셋과 데이터 증강 및 이미지 분할이 적용된 데이터셋 정보를 <Table 2>에 나타내었다. 모델 학습 이전에 데이터 증강을 적용하여 데이터셋을 확장한 부분은 Wang et al.(2021)의 연구를 참조하였다. Wang et al.(2021)은 이미지 크기를 256×400으로 분할하고, 소수 범주인 결함 2에 대해 이미지 수준 데이터 증강을 적용하여 결함 2의 데이터셋을 확장하였다.

Summary of the Training, Validation and Testing Datasets

4.2 평가 지표

본 연구에서는 제안 방법론의 성능을 평가하기 위해 평균 Dice 계수를 사용하였다. 평균 Dice 계수는 범주별로 Dice 계수를 구한 뒤, 전체 범주에 대한 평균을 계산하여 구한다. 평균 Dice 계수는 식 (6)으로 정의된다. 식 (6)에서 C는 전체 범주의 개수를 나타내고, TP, FP, FN은 정답 마스크의 픽셀별 실제값과 모델의 예측값에 대해 비교한 값으로 각각 true positive, false positive, false negative를 나타낸다. 따라서 식 (6)TPii번째 범주에서 실제값이 1이고 예측값도 1인 픽셀 개수의 합이고, FPii번째 범주에서 실제값이 0이고 예측값이 1인 픽셀 개수의 합, FNii번째 범주에서 실제값이 1이고 예측값이 0인 픽셀 개수의 합이 된다. 범주별 TPi, FPi, FNi로 계산된 Dicei를 통해 전체 범주에 대한 평균을 구하면 본 연구의 평가 지표인 평균 Dice 계수를 얻을 수 있다.

Mean Dice coefficient=1Ci=1CDicei                                              =1Ci=1C2TPi2TPi+FPi+FNi(6) 

본 연구의 평가 지표는 Qian(2019), Wang et al.(2020)의 기존 연구처럼 Dice 계수를 사용하였으나, 결함이 없는 범주를 결함이 없는 것으로 예측할 때의 처리 방법에 차이가 있다. 기존 연구에서는 식 (6)의 분모와 분자에 작은 수를 더하여 TPi, FPi, FNi가 모두 0인 경우 Dice 계수가 1이 되도록 하였다. 하지만 이러한 방식을 적용할 경우, Severstal 데이터셋은 소수 범주인 1과 2의 결함이 없는 이미지가 대부분이기 때문에 범주 1과 2의 Dice 계수가 실제 결함 검출 성능보다 크게 측정된다. 즉, 데이터 불균형 상황에서 정상 범주를 정상으로 예측한 성능의 평가로 인해 소수 결함 검출의 성능이 제대로 드러나지 못하는 문제가 생기며, 이는 소수 범주의 성능을 개선하려는 본 연구의 목적과 맞지 않다. 따라서 본 연구에서는 소수 범주의 성능을 제대로 측정할 수 있도록 결함이 없는 범주를 결함이 없는 것으로 예측하는 경우(TPi, FPi, FNi가 모두 0인 경우) Dice 계산에 포함시키지 않았다. 따라서 본 연구의 성능 평가 결과는 기존 연구에서 표기하는 예측 성능 수준과 차이가 있으나, 본 연구의 평가 방식이 데이터 불균형에 따른 소수 범주의 성능 수준을 더 잘 나타낸다고 할 수 있다.

4.3 실험 결과

제안 방법론의 성능은 본 연구에서 설정한 모델과의 비교를 통해 평가하였다. Qian(2019), Wang et al.(2020)의 기존 연구는 4.2장에서 설명한 것과 같이 본 연구의 성능 평가 방식과 차이가 있기 때문에 직접 비교하지 않았다. 또한, 기존 ObjectAug(Zhang et al., 2021)와의 성능 비교는 ObjectAug의 구현 모델이 공개되어 있지 않아 직접 비교하지 않았지만, 제안 방법론의 구성 요소별 성능 기여도 평가를 통해 기존 ObjectAug에 없던 제안 방법론의 각 구성 요소들이 강판 결함 이미지 데이터의 결함 예측 성능에 얼마나 기여하는지를 평가하였다.

4.3.1 제안 방법론의 성능 평가 결과

<Table 3>은 제안 방법론과 비교 모델의 예측 성능을 나타낸다. 실험 결과는 10회의 반복 실험을 통해 얻은 평균 Dice 계수의 평균값이며 괄호 안에 표준 편차를 함께 표기하였다. 비교 모델은 총 4가지로 <Table 3>의 1번부터 4번까지의 모델이다. <Table 3>의 모든 모델은 FPN 모델 구조(Kirillov et al., 2017)와 EfficientNet-b1 인코더 신경망(Tan and Le, 2019)이 사용되었다. 모델 1은 BCE loss를 손실 함수로 사용하고 모델의 초기 가중치는 임의의 값으로 설정하며, 데이터 증강이 전혀 적용되지 않은 모델이다. 모델 2는 모델 1에서 초기 가중치만 변경한 모델로, 이미지넷(ImageNet) 데이터셋으로 사전 학습한 가중치를 모델의 초기 가중치로 사용하였다. 모델 3은 손실 함수로 가중 BCE loss를 사용하고 사전 학습된 초기 가중치를 사용하며, 뒤집기 데이터 증강이 적용되었다. 모델 4는 가중 BCE-Dice 손실 함수와 사전 학습된 초기 가중치가 사용되었고, 뒤집기, 이동, 크기 변환, 회전, 색 변환의 데이터 증강이 적용되었다. 모델 5는 본 연구에서 제안하는 방법론으로 모델 4에서의 데이터 증강을 객체 수준으로 적용한 모델이며, 데이터 증강은 모델 4와 같은 종류가 사용되었다.

Performance Comparison of the Proposed Method and Traditional Methods on Severstal Dataset. FPN and EfficientNet-b1 are used for Model Architecture and Encoder Network. Boldface Values Represent the Highest Mean Dice Coefficient for Each Class and Total among Different Methods

<Table 3>에서 제안 방법론의 성능이 전체 성능에서 0.711로 가장 높은 성능을 보였고, 범주별로 비교했을 때도 범주 3의 경우를 제외한 나머지 범주에서 제안 방법론의 성능이 가장 높은 성능을 보였다. 특히, 제안 방법론과 모델 4를 비교해보면 소수 범주인 1과 2의 성능이 뚜렷하게 개선된 것을 확인할 수 있는데 이것은 제안 방법론 중 데이터 불균형을 고려한 객체 수준 데이터 증강 방법론의 효과라고 할 수 있다. 이를 통해 강판 표면 결함 데이터는 이미지 수준의 데이터 증강보다 객체 수준의 데이터 증강이 더 효과적일 수 있다는 것을 실험적으로 입증하였다. 제안 방법론 모델에 사용된 객체 수준 데이터 증강시 차등 계수는 범주 1부터 4까지 각각 5, 5, 1, 1을 사용하였으며, 가중 BCE-Dice 손실 함수의 범주별 가중치는 5, 5, 1, 1.5를 사용하였다. 여기서 예측성능의 차이가 단순 수치로 보았을 때 미미하다고 판단될 수도 있으나, 강판 표면 결함 검출 분야에서는 매우 유의하다고 하겠다.

<Figure 10>은 <Table 3>의 모델 1, 4, 5의 예측 성능을 시각적으로 비교한 결과이다. 제안 방법론인 모델 5의 예측 결과가 모델 1과 4보다 정답에 더 가까운 모습임을 확인할 수 있다.

Figure 10.

Qualitative Comparison of Proposed Method and other Methods on Severstal Dataset

<Table 4>에서는 다양한 모델 구조에 대한 제안 방법론의 성능을 확인할 수 있다. <Table 3>에서 확인했던 FPN 모델 구조 외에 U-Net(Ronneberger et al., 2015), PSP-Net(Zhao et al., 2017), U-Net++(Zhou et al., 2018)에 대해 이미지 수준의 데이터 증강 모델과 제안 방법론인 객체 수준 데이터 증강 모델의 성능을 비교하였다. <Table 4>의 image-level과 object-level은 <Table 3>에서 서술한 모델 4와 모델 5 조건과 같으며, 모든 실험 결과는 10회의 반복 실험을 통해 얻은 평균과 표준 편차이다. 총 4개의 모델 구조에 대한 비교 결과, 모든 모델 구조에서 제안 방법론의 성능이 이미지 수준의 데이터 증강 모델보다 높은 성능을 보였다. 특히, 소수 범주인 1과 2의 성능을 비교해 봤을 때, 4개 모델 구조의 모든 경우에서 제안 방법론의 성능이 높음을 확인할 수 있었다. 제안 방법론을 통해 다수 범주인 3과 4의 성능은 유사한 수준으로 유지하면서 소수 범주의 성능을 높여 전체적인 예측 성능을 향상시켰다고 할 수 있다. <Table 4>의 실험 결과를 통해 제안 방법론이 다양한 모델 구조에서도 강건하고 우수한 성능을 보임을 실험적으로 입증할 수 있었다.

Performance Comparison of Proposed Method and Traditional Method in Various Model Architectures. Efficient Net-b1 Network is Used for Encoder Network of the Model Architectures

4.3.2 구성 요소별 성능 기여도 평가(Ablation Study)

본 연구의 제안 방법론은 손실 함수와 객체 수준 데이터 증강으로 이루어지며 객체 수준 데이터 증강은 다시 객체 증강, 배경 복원, 이미지 결합 부분으로 구성된다. 따라서 제안 방법론의 구성 요소는 총 4가지이며, 이 구성 요소들이 각각 얼마만큼 전체 성능에 기여했는지를 평가하기 위해 기여도 평가 실험을 진행하였다. <Table 5>는 제안 방법론의 구성 요소별 성능 기여도를 평가한 결과를 보여준다. <Table 5>에서 제안 방법론은 4가지 구성 요소를 모두 사용하였고, Ablation 1부터 4까지 구성 요소를 1개씩 제외하며 실험을 진행하였다. Ablation 1 실험은 제안 방법론의 손실 함수를 사용하지 않고 BCE 손실 함수를 사용한 경우이다. Ablation 2 실험은 객체 증강 부분에서 제안한 범주별 차등 계수와 확률을 사용하지 않고 범주별로 동일한 계수(1, 1, 1, 1)와 확률(0.5, 0.5, 0.5, 0.5)을 사용한 경우이다. Ablation 3 실험에서는 배경 복원 단계에서 제안 방법론의 유효 배경 평균값을 사용하지 않고 Python의 OpenCV 패키지에서 제공하는 복원 함수를 사용하였다. Ablation 4 실험은 제안 방법론의 유효성 검사를 적용하지 않고 이미지를 결합한 경우이다. Table 5의 모든 실험은 FPN 모델 구조와 EfficientNet-b1 인코더 신경망을 사용하였고, 구성 요소를 제외한 나머지 부분은 <Table 3>에서 서술한 모델 5의 조건과 같다.

Ablation Study Result on the Proposed Method. Ablation 1 uses BCE loss function. For Ablation 2, [1,1,1,1] and [0.5,0.5,0.5,0.5] are used for class coefficient and probability, respectively. Ablation 3 uses inpainting function in OpenCV package, and Ablation 4 assembles image without validity check

<Table 5>의 실험 결과를 보면, Ablation 1 실험의 성능이 0.690으로 제안 방법론의 성능인 0.725 대비 가장 많은 차이를 나타내었고, Ablation 2, 3, 4 실험의 성능은 모두 0.715로 그 다음의 차이를 나타내었다. 따라서 손실 함수 부분이 제안 방법론의 전체 성능에 가장 많이 기여하였고, 객체 증강, 배경 복원, 이미지 결합 부분은 모두 동일한 수준으로 기여하였음을 알 수 있다.

4.3.3 하이퍼 파라미터 탐색

본 장에서는 제안 방법론의 모델에 사용되는 하이퍼 파라미터 중 객체 수준 데이터 증강에 사용되는 범주별 차등 계수와 가중 BCE-Dice 손실 함수에 사용되는 범주별 가중치에 대해 탐색한 과정과 결과를 설명한다. Wang et al.(2020)은 Severstal 데이터셋의 데이터 불균형을 해결하기 위해 가중 BCE 손실 함수를 사용하였으며 그때의 가중치를 2, 2, 1, 1.5로 사용하였다. 이를 참고하여 본 연구에서는 가중 BCE-Dice 손실 함수의 가중치를 탐색할 때 2, 2, 1, 1.5를 시작으로 하이퍼 파라미터를 탐색하였고, 소수 범주의 성능 향상을 위해 소수 범주에 해당하는 범주 1과 2의 가중치를 변경하며 탐색하였다.

<Figure 11>은 하이퍼 파라미터 탐색을 위해 다양한 조건으로 실험한 결과를 나타낸 그래프이다. 그래프의 x축에서 ‘c’는 범주별 차등 계수를 나타내며, ‘w’는 손실 함수의 가중치를 나타낸다. <Figure 11>의 (a)는 범주별 차등 계수를 5, 5, 1, 1로 고정하고 손실 함수의 가중치를 변화시키면서 예측 성능을 관찰한 결과를 보여주며, 손실 함수의 가중치가 5, 5, 1, 1.5인 경우 예측 성능이 0.725로 가장 높은 성능을 보였다. <Figure 11>의 (b)는 손실 함수의 가중치를 <Figure 11>의 (a)에서의 가장 높은 성능 조건이었던 5, 5, 1, 1.5로 고정하고 범주별 차등 계수를 변화시키면서 예측 성능을 측정한 결과이다. 이 결과에서는 차등 계수가 5, 5, 1, 1인 경우가 0.725로 가장 높은 성능을 보여 <Figure 11>의 (a)에서와 같은 조건이 가장 높은 성능을 보였다. 따라서 <Figure 11>의 (a)와 (b)의 결과에 따라 범주별 차등 계수는 5, 5, 1, 1로, 손실 함수의 가중치는 5, 5, 1, 1.5로 하는 조건을 제안 방법론의 최종 모델로 선택하였다.

Figure 11.

Performance Comparison under Various Conditions for Hyper-parameter Search. ‘w’ Means Weight of Loss Function used in the Proposed Method. ‘c’ Means Coefficient of Object Augmentation in the Proposed Method


5. 결 론

본 연구에서는 강판 표면 결함을 위한 객체 수준 데이터 증강법(ObjectAug for steel surface defects)과 가중 BCE-Dice 손실 함수를 사용하여 의미론적 분할 모델의 성능을 높일 수 있는 방법론을 제안하였다. 제안 방법론은 기존 객체 수준 데이터 증강법을 강판 표면 결함 이미지의 특성에 맞추고, 불균형하게 발생하는 결함의 특징을 반영하여 성능을 향상시킬 수 있도록 수정한 방법론이다. 이를 위해 객체 수준 데이터 증강 단계에 데이터 불균형 해소를 위한 차등 계수를 적용하여 소수 범주의 결함 객체가 더 많이 증강될 수 있도록 하였고, 객체 수준으로 증강된 결함이 유효하지 않은 배경인 허공 영역에는 반영되지 않도록 유효성 검사 알고리즘을 추가하였다. 또한 강판 표면 결함 데이터의 특성상 결함 부위를 제외한 유효 배경은 단순한 정상 표면 이미지이기 때문에, 결함이 제거된 영역을 복원하기 위해 유효 배경의 평균을 사용하는 효율적인 알고리즘을 제안하였다.

본 연구에서는 제안 방법론을 통해 강판 표면 결함 데이터에서 기존 이미지 수준의 데이터 증강 기법보다 객체 수준의 데이터 증강 기법이 더 좋은 성능을 보임을 실험적으로 확인하였다. 또한 다양한 모델 구조에서도 제안 방법론의 효과를 확인할 수 있었으며, 특히 모든 경우에서 소수 범주의 성능이 향상되었다. 이에 본 연구는 극심한 데이터 불균형 상황에서도 소수 범주의 성능을 높이며 전체 성능을 개선하는 방법론을 제시한 점에서 의의를 찾을 수 있다. 현실에서 빈번하게 발생하는 데이터 불균형 상황에 본 연구의 제안 방법론이 유용하게 활용될 수 있을 것으로 기대한다.

Acknowledgments

This research was supported by BK21 FOUR.

References

  • Damacharla, P., Rao, A., Ringenberg, J., and Javaid, A. Y. (2021), TLU-Net: A Deep Learning Approach for Automatic Steel Surface Defect Detection, 2021 International Conference on Applied Artificial Intelligence (ICAPAI), IEEE, 1-6. [https://doi.org/10.1109/ICAPAI49758.2021.9462060]
  • DeVries, T. and Taylor, G. W. (2017), Improved Regularization of Convolutional Neural Networks with Cutout, arXiv preprint arXiv:1708.04552.
  • Jadon, S. (2020), A Survey of Loss Functions for Semantic Segmentation, 2020 IEEE Conference on Computational Intelligence in Bioinformatics and Computational Biology (CIBCB), IEEE, 1-7. [https://doi.org/10.1109/CIBCB48159.2020.9277638]
  • Kirillov, A., He, K., Girshick, R., and Dollár, P. (2017), A Unified Architecture for Instance and Semantic Segmentation, Available from: http://presentations.cocodataset.org/COCO17-Stuff-FAIR.pdf, .
  • Lin, T. Y., Dollár, P., Girshick, R., He, K., Hariharan, B., and Belongie, S. (2017), Feature Pyramid Networks for Object Detection, Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2117-2125. [https://doi.org/10.1109/CVPR.2017.106]
  • Liu, G., Reda, F. A., Shih, K. J., Wang, T. C., Tao, A., and Catanzaro, B. (2018), Image Inpainting for Irregular Holes Using Partial Convolutions, Proceedings of the European Conference on Computer Vision (ECCV), 85-100. [https://doi.org/10.1007/978-3-030-01252-6_6]
  • Luo, Q., Fang, X., Liu, L., Yang, C., and Sun, Y. (2020), Automated Visual Defect Detection for Flat Steel Surface: A Survey, IEEE Transactions on Instrumentation and Measurement, 69(3), 626-644. [https://doi.org/10.1109/TIM.2019.2963555]
  • Qian, K. (2019), Automated Detection of Steel Defects via Machine Learning Based on Real-Time Semantic Segmentation, Proceedings of the 3rd International Conference on Video and Image Processing, 42-46. [https://doi.org/10.1145/3376067.3376113]
  • Ronneberger, O., Fischer, P., and Brox, T. (2015), U-Net: Convolutional Networks for Biomedical Image Segmentation, International Conference on Medical Image Computing and Computer-Assisted Intervention, Springer, Cham, 234-241. [https://doi.org/10.1007/978-3-319-24574-4_28]
  • Tan, M., and Le, Q. (2019), EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks, International Conference on Machine Learning, PMLR, 6105-6114.
  • Wang, S., Xia, X., Ye, L., and Yang, B. (2020), Steel Surface Defect Detection Using Transfer Learning and Image Segmentation, 2020 IEEE 6th International Conference on Computer and Communications (ICCC), IEEE, 420-425. [https://doi.org/10.1109/ICCC51575.2020.9345151]
  • Wang, S., Xia, X., Ye, L., and Yang, B. (2021), Automatic Detection and Classification of Steel Surface Defect Using Deep Convolutional Neural Networks, Metals, 11(3), 388. [https://doi.org/10.3390/met11030388]
  • Yun, S., Han, D., Oh, S. J., Chun, S., Choe, J., and Yoo, Y. (2019), CutMix: Regularization Strategy to Train Strong Classifiers with Localizable Features, Proceedings of the IEEE/CVF International Conference on Computer Vision, 6023-6032. [https://doi.org/10.1109/ICCV.2019.00612]
  • Zhang, J., Zhang, Y., and Xu, X. (2021), ObjectAug: Object-level Data Augmentation for Semantic Image Segmentation, arXiv preprint arXiv:2102.00221. [https://doi.org/10.1109/IJCNN52387.2021.9534020]
  • Zhang, J., Zhang, Y., and Xu, X. (2021), ObjectAug: object-level data augmentation for semantic image segmentation, 2021 International Joint Conference on Neural Networks (IJCNN), IEEE, 1-8. [https://doi.org/10.1109/IJCNN52387.2021.9534020]
  • Zhao, H., Shi, J., Qi, X., Wang, X., and Jia, J. (2017), Pyramid Scene Parsing Network, Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2881-2890. [https://doi.org/10.1109/CVPR.2017.660]
  • Zhou, Z., Siddiquee, M. M. R., Tajbakhsh, N., and Liang, J. (2018), UNet++: A Nested U-Net Architecture for Medical Image Segmentation, Deep Learning in Medical Image Analysis and Multimodal Learning for Clinical Decision Support, Springer, Cham, 3-11. [https://doi.org/10.1007/978-3-030-00889-5_1]
저자소개

안인범 : 한양대학교 산업공학과에서 2009년 학사 학위를 취득하고 고려대학교 산업경영공학과에서 석사 과정에 재학 중이다. 연구분야는 Deep Learning for Visual Inspection, Unsupervised Semantic Segmentation이다.

김성범 : 고려대학교 산업경영공학부 교수로 2009년부터 재직하고 있으며, 인공지능공학연구소 소장 및 기업산학연협력센터 센터장을 역임했다. 미국 University of Texas at Arlington 산업공학과에서 교수를 역임하였으며, 한양대학교 산업공학과에서 학사학위를 미국 Georgia Institute of Technology에서 산업공학 석사 및 박사학위를 취득하였다. 인공지능, 머신러닝, 최적화 방법론을 개발하고 이를 다양한 공학, 자연과학, 사회과학 분야에 응용하는 연구를 수행하고 있다.

Figure 1.

Figure 1.
Overall Framework of the Proposed Model. It Includes the Proposed Object-level Augmentation Method(ObjectAug for steel surface defects) and Semantic Segmentation Model based on Deep Learning. The Feature Pyramid Network(FPN) and EfficientNet-b1 Models are used for the Semantic Segmentation Model

Figure 2.

Figure 2.
Sample Image Augmentation Results on Severstal Dataset. (a) and (d) are original input images. (b) and (e) are image-level augmented images from (a) and (d), respectively. (c) and (f) are object-level augmented images from the original images (a) and (d), respectively. The red dotted circle in the images represents the defects on steel sheet surfaces

Figure 3.

Figure 3.
Sample images of Severstal Dataset. (a) a sample image filled with steel sheet surface only. (b) a sample image filled with steel sheet surface and invalid background (area of black color)

Figure 4.

Figure 4.
Overall Flow of ObjectAug for Steel Surface Defects

Figure 5.

Figure 5.
Object Augmentation

Figure 6.

Figure 6.
Examples of Object-level Augmented Image for Each Class. The Class Coefficient of Proposed Method for These Images is [5, 5, 1, 1]

Figure 7.

Figure 7.
Background Inpainting Using the Mean Value of Valid Background

Figure 8.

Figure 8.
Comparison of Augmented Images. (a) result without validity check, (b) result with validity check

Figure 9.

Figure 9.
Sample Images of Defect Classes in Severstal Dataset

Figure 10.

Figure 10.
Qualitative Comparison of Proposed Method and other Methods on Severstal Dataset

Figure 11.

Figure 11.
Performance Comparison under Various Conditions for Hyper-parameter Search. ‘w’ Means Weight of Loss Function used in the Proposed Method. ‘c’ Means Coefficient of Object Augmentation in the Proposed Method

Table 1.

Class Distribution of the Dataset

Class Image Pixel
1. Pitted Surface 897 2.4%
2. Crazing 247 0.5%
3. Scratch 5,150 80.3%
4. Patch 801 16.8%
Total 7,095 100.0%

Table 2.

Summary of the Training, Validation and Testing Datasets

Case Training Validation Testing Total
Original dataset 3,999 1,333 1,334 6,666
Object augmented dataset (with crop) 8,094 1,894 1,920 11,908

Table 3.

Performance Comparison of the Proposed Method and Traditional Methods on Severstal Dataset. FPN and EfficientNet-b1 are used for Model Architecture and Encoder Network. Boldface Values Represent the Highest Mean Dice Coefficient for Each Class and Total among Different Methods

Method Class 1 Class 2 Class 3 Class 4 Total
1. BCE loss + Random initial + None augmentation 0.336
(0.049)
0.259
(0.135)
0.707
(0.015)
0.692
(0.017)
0.499
(0.034)
2. BCE loss + Pre-trained initial + None augmentation 0.517
(0.041)
0.459
(0.108)
0.763
(0.011)
0.766
(0.014)
0.626
(0.035)
3. Weighted BCE loss + Pre-trained initial + Flip augmentation 0.596
(0.015)
0.579
(0.034)
0.769
(0.009)
0.785
(0.016)
0.682
(0.013)
4. Weighted BCE-Dice loss + Pre-trained initial + Image-level augmentation 0.624
(0.025)
0.611
(0.024)
0.792
(0.006)
0.794
(0.011)
0.705
(0.008)
5. Proposed Method (Weighted BCE-Dice loss + Pre-trained initial + Object-level augmentation) 0.629
(0.017)
0.627
(0.026)
0.791
(0.007)
0.796
(0.013)
0.711
(0.008)

Table 4.

Performance Comparison of Proposed Method and Traditional Method in Various Model Architectures. Efficient Net-b1 Network is Used for Encoder Network of the Model Architectures

Model architecture Augmentation method Class 1 Class 2 Class 3 Class 4 Total
FPN Image-level

Object-level
0.624
(0.025)
0.629
(0.017)
0.611
(0.024)
0.627
(0.026)
0.792
(0.006)
0.791
(0.007)
0.794
(0.011)
0.796
(0.013)
0.705
(0.008)
0.711
(0.008)
U-Net Image-level

Object-level
0.612
(0.011)
0.619
(0.019)
0.570
(0.032)
0.621
(0.030)
0.791
(0.004)
0.786
(0.006)
0.794
(0.011)
0.792
(0.014)
0.692
(0.010)
0.705
(0.010)
PSP-Net Image-level

Object-level
0.564
(0.016)
0.567
(0.021)
0.541
(0.040)
0.549
(0.051)
0.761
(0.005)
0.760
(0.005)
0.754
(0.010)
0.756
(0.012)
0.655
(0.010)
0.658
(0.012)
U-Net++ Image-level

Object-level
0.602
(0.018)
0.614
(0.016)
0.499
(0.179)
0.609
(0.019)
0.787
(0.007)
0.784
(0.009)
0.790
(0.014)
0.790
(0.016)
0.670
(0.043)
0.699
(0.009)

Table 5.

Ablation Study Result on the Proposed Method. Ablation 1 uses BCE loss function. For Ablation 2, [1,1,1,1] and [0.5,0.5,0.5,0.5] are used for class coefficient and probability, respectively. Ablation 3 uses inpainting function in OpenCV package, and Ablation 4 assembles image without validity check

Model Loss Function
Weighted BCE-Dice
(w=[5,5,1,1.5])
Object
Augmentation
Class Coef. ([5,5,1,1])
& Prob. ([1,1,0.3,0.5])
Background
Inpainting
Mean of
Valid Background
Image Assembling
Validity Check
Total
Proposed O O O O 0.725
Ablation 1 X O O O 0.690
Ablation 2 O X O O 0.715
Ablation 3 O O X O 0.715
Ablation 4 O O O X 0.715