- 2021년 5월 1일 오후 12:34
- 조회수: 2483
INFORMATION
- 2021년 5월 7일
- 오후 1시 ~
- 온라인 비디오 시청 (YouTube)
TOPIC
On-Line Video
OVERVIEW
발표자 후기
철강 표면 결함 탐지에 대한 소개로 첫 세미나를 진행했다. 철강 표면 결함 탐지 분야를 이해하기 위해 철강 제조 공정에 대한 배경지식부터 필요하겠다는 생각이 들어 철강 도메인에 대한 소개로 시작을 하였고, 개인연구로 진행하면서 데이터 불균형에 대한 문제를 많이 고민하게 되어 이 부분에 대해서도 소개하고자 하였다. 특히, Severstal 데이터를 다룬 문헌들에서 데이터 불균형 문제를 해결하기 위해 Weighted BCE loss, Focal loss 등을 많이 쓰고 있는데, 이게 어떻게 효과가 있는건지 수식만으로 잘 와닿지 않아서 구체적인 예제를 다뤄보고 싶었다. 딥러닝 모델에 대한 소개도 더 하고 싶었는데, 다양한 모델을 소개하지 못한 부분은 아쉬움이 남는다. 철강이라는 제한적인 도메인에 대한 소개였지만, 그동안 연구실에서 많이 안 다뤄졌던 주제였던 것 같아서, 새로운 분야에 대해 좋은 연구가 많이 되었으면 좋겠다는 마음으로 세미나를 준비했다. 세미나 청취 후기만 쓰다가 막상 세미나를 준비해보니 그동안 세미나를 진행해준 분들께 다시 한번 감사한 마음이 들었고, 이번 기회를 통해 스스로도 많은 정리가 된 것 같다. 이번 세미나를 통해 철강 제조 공정과 표면 결함 탐지에 대해 이해할 수 있는 계기가 되었으면 좋겠다. 세미나를 경청해주신 분들께 감사의 말씀을 드린다.
청취자 후기
이번 세미나는 "Introduction to Steel Surface Defects Detection"이라는 주제로 진행됐다. 철강 공정 중 압연공정은 슬라브를 고객의 요구 두께로 가공하는 공정이다. 이때 1차 압연 공정에서 품질 결함을 검출하지 못하고 후공정으로 보내지게 되면 품질 악화, 설비 사고 등으로 이어질 수 있기 때문에 압연 공정 중 표면의 결함을 탐지하는 것은 매우 중요하다. 표면의 결함을 탐지할 때 결함의 종류, 크기, 위치 등에 따라 평점이 산출되고 최종 판정을 하므로 최종적으로는 semantic segmentation 문제로 접근해야 한다. 이번 세미나에서는 semantic segmentation에서 픽셀 사이의 불균형 문제를 해소할 수 있는 Weighted BCE loss와 Focal loss에 대해서 소개 되었다. Weighted BCE loss는 특정 class에 가중치를 부여하여 해당 클래스에 대한 loss가 최종적인 loss 산출에 더 큰 영향을 미칠 수 있도록 하는 방법론이다. 일반적으로는 소수 class에 대해 높은 가중치를 부여해 소수 class가 잘 구분되도록 하는 목적으로 활용된다. Focal loss는 모델이 잘 예측하는 객체인 easy example에 대해 낮은 가중치를 부여하고 모델이 잘 예측하지 못하는 객체인 hard example에 높은 가중치를 부여하도록 설계된 손실함수이다. 해당 손실함수를 활용하면 기존의 BCE loss보다 hard example과 easy example에 대한 차이가 극명하게 드러남을 확인할 수 있다. 이번 세미나를 통해 철강 공정에 대한 전반적인 지식과 철강 결함 탐지에 딥러닝 방법론을 어떻게 적용해야 하는지에 대해 알 수 있어 의미 있는 세미나였다. 세미나를 위해 고생해준 인범이형에게 감사의 뜻을 전한다.
이번 세미나는 "Detection of Steel Surface Defects"를 주제로 진행되었다.
철강의 경우 Iron과 Steel로 쓰이는데, 철에 포함된 탄소 함유량을 기준으로 1.7% 이상이면 Iron, 그보다 아래이면 Steel이다. Iron은 단단하지만 충격에 약하고 가공성이 좋지 못하지만 Steel은 질기고 늘어나며 충분한 강도로 충격에 강하고 가공성이 우수하다.
철강 제조의 경우 원재료인 철광석을 활용하여 선철(Pig iron)을 만들고 탄소를 포함한 다양한 성분을 적정범위로 정제하여 강철(Steel)을 만드는 과정이다. 이 과정을 통해 철강 제품인 박판, 후판, 선재 등을 얻을 수 있고 이번 세미나에서는 박판을 주로 알아볼 수 있었다. 더불어 철강 제조 공정은 제선 > 제강 > 연주 > 압연 > 도금의 과정으로 이루어져 있고, 압연 과정에 대해 더욱 자세히 알아볼 수 있었다. 열연-냉연 공정, Sufface Defect Detector 등을 활용하여 결함을 검출하지만 빠르고 정확하게 검출하는 것은 어려운 문제이기 때문에 연구가 활발히 이루어지고 있다. 사람이 육안으로 검사를 할 경우 70~80%의 검출률을 보이지만 다양한 알고리즘을 통해 현재는 사람보다는 높은 검출률을 보이지만 여전히 개선이 이루어지고 있다. 기존에는 Classification을 통한 분류, Object detection을 통한 검출과 분류가 많이 이루어졌지만 Semantic segmentation을 통해 검출과 분류 그리고 평점 산출을 얻을 수 있으면 더욱 효율적일 것이다. 이러한 실험을 위해 표면 결함 데이터 중 오픈 데이터 세트인 Severstal과 NEU가 많이 사용된다. 표면 데이터의 특징으로는 표면 결함은 정상 영역 대비 매우 작은 부위를 차지하여 정상과 결함간의 불균형이 심하고 class간의 불균형도 존재한다. 따라서 데이터 불균형을 해결해야 하는데 Sampling based methods와 Methods for imbalance problems 등의 방법들을 활용하여 해결하게 된다. 이후 다양한 모델을 활용하여 탐지를 하게 되는데, 본 세미나에서는 "Automatic Detection and Classification of Steel Surface Defect Using Deep Convolutional Neural Networks" 논문을 통해 앞선 개념들에 어떠한 방식으로 딥러닝 모델에 표면 결함 탐지에 적용했는데 알 수 있었다.
이번 세미나를 통해 여러 방법론이 실제 공정에서 어떠한 방식으로 적용되고 있는지 알 수 있는 좋은 기회였다. 향후 데이터를 다룰 때 여러 방면으로 고민해봐야겠다는 생각을 하게 되었다.
끝으로 좋은 세미나를 준비해주신 인범이형께 감사의 뜻을 전합니다.
이번 세미나는 "Introduction to Steel Surface Defects Detection"이라는 주제로 진행되었다.
전반적인 철강 제조 공정 과정과 공정 과정 중 일부인 압연 공정 중 발생하는 품질결함, 성능 개선을 위한 방법에 대해 살펴볼 수 있었다.
압연 공정은 미세한 두께의 슬라브 소재를 롤러 사이를 통과시켜 고객의 요구 두께로 가공하는 공정을 말한다. 이 때, 표면을 검사하는 장치로 Surface Defect Detector(SSD)를 사용하여 결함 검출 및 분류를 하고 있으나, 지속적으로 성능 개선이 요구되고 있다. 특히, 표면 결함은 정상 영역 대비 매우 작은 부위를 차지하여 정상과 결함 간의 불균형이 심하다는 특징이 있는데, 이러한 데이터 불균형 문제를 잘 해결하는 것이 중요하다. 이에 소개된 방법론은 Objective function 기반 방법론이며, Weighted BCE loss와 Focal loss이다. Weighted BCE loss는 BCE loss에 Positive weight을 추가하여 특정 Class에 가중치를 부여하는 Loss이며, Focal loss는 예측이 잘 되는 Easy example의 가중치를 줄이고, 예측이 잘 안되는 Hard example에 집중할 수 있도록 기존 Cross entropy loss Modulating factor를 적용한 방법이다. Weighted BCE loss는 결함 Class 중 Minor class에 가중치를 주는 반면, Focal loss는 Hard example 대비 Easy example의 loss값을 훨씬 많이 감소시켜 Hard example의 loss가 모델 학습에 더 많이 반영될 수 있도록 한다.
데이터 불균형 문제를 해소하는 방법으로 기존에는 Sampling 기반의 방법론만 알고 있었지만, 이번 세미나를 통해 손실함수를 개선한 방법도 살펴볼 수 있어 앞으로 불균형 데이터를 다룰 때, 고려해보면 좋을 것 같다는 생각이다. 이 외 생소한 도메인을 알기 쉽게 소개해주신 인범이 형께 감사의 뜻을 전한다.
이번 세미나에선 철강 제조 공정과 함께, 불균형한 데이터 학습에 사용할 수 있는 방법론을 배울 수 있었다. 철은 탄소 함유량을 기준으로 선철(iron)과 강철(steel)로 나뉘며 우리가 말하는 철강은 주로 강철을 지칭한다. 제철소에서는 철광석을 사용해 제선-제강-연주-압연-도금 과정을 거쳐 박판, 후판 등 강철 제품을 만든다. 이중 슬라브를 두개의 롤러 사이로 통과시켜 특정 두께로 가공하는 압연(rolling) 과정은 다시 열연 공정과 냉연 공정으로 나뉜다. 이때 선공정인 열연 공정에서 품질 결함을 검출해내는 게 중요하다.
표면 결함을 검출할 때에는 결함 영역과 결함 부류, 그리고 결함 정도를 판별한 후 이를 종합해 제품의 불량 여부를 결정하게 된다. 다만 결함 탐지를 위한 데이터가 불균형(정상 대 결함의 불균형, 결함 클래스끼리의 불균형)하다는 문제가 있다.
불균형 문제를 해결하기 위해 손실 함수를 바꾸는 방법을 생각해 볼 수 있는데, 세미나에선 Weighted BCE loss와 Focal loss가 소개됐다. 먼저 Weighted BCE loss는 기존 BCE loss에 positive weight을 추가해 특정 클래스에 집중하게 한 것이다. 예컨대 소수 결함 클래스에 대해 가중치를 주면 해당 클래스를 더 잘 감지할 수 있는 방향으로 모델이 학습된다. Focal loss는 BCE loss에 modulating factor를 추가해 예측이 잘 안 되는 hard example에 집중할 수 있게 한 loss이다. 여러 클래스에 대해 더 많은 레이블을 맞췄을 수록(easy example) loss를 상대적으로 감소시킴으로써 hard example의 loss가 학습에 더 많이 반영될 수 있게 했다.
두 loss의 개념뿐 아니라 이들을 철강 결함 탐지 문제에 적용한 논문을 소개하면서 세미나가 마무리됐다. 철강 전문가인 인범오빠 답게 쉽고 차분하게 개념들을 설명해줘서 편하게 들을 수 있었다. 열심히 세미나를 준비해 준 인범오빠에게 감사 인사를 전한다.
금일 세미나는 철강 표면 결함을 탐지하는 연구 분야에 대해 인범이 형이 다루어주셨다. 철강 표면 결함 탐지를 위해 어떠한 딥러닝 프레임 워크를 적용할 수 있을지에 집중하며 들었다. 철강에 대한 이해와 철강 제조 공정을 소개 받으면서, 기존 표면 결함 탐지 사례들을(rule base or machine learning etc) 함께 소개받았는데 딥러닝을 활용해 성능을 고도화해야 하는 이유를 알아볼 수 있었다(Segmentation or Detection).
철강 표면 결함 탐지를 위한 대표적인 오픈 데이터셋이 갖고 있는 불균형 문제를 어떻게 해결할 수 있을지 집중하며 청취하였다. Weighted BCE와 Focal loss에 대한 개념뿐만 아니라 연산 과정에 대해서도 면밀히 살펴볼 수 있어 유익한 세미나였다. Improved cutout 기법을 함께 소개해주었는데(불균형 해소를 위해 제안된 방법), 결함이 있는 부분만을 대상으로 랜덤한 cutout을 적용하는 방법이였다. 현재 풀어가고자 하는 데이터셋 내에 결함 영역이 매우 작지만 유의미한 부분도 있는 것으로 이해하였는데, 제안 기법을 유의미하게 적용하기 위해선 cutout 비율을 잘 조절해야겠다는 생각이 들었다. 정성스레 세미나를 준비해주신 인범이 형에게 감사의 말씀을 전하며 세미나 후기를 마치도록 한다.
이번 세미나는 'Introduction to Steel Surface Defects Detection'이라는 주제로 진행되었다. 철강 제조는 제선, 제강, 연주, 압연, 도금의 연속된 공정으로 이루어져있다. 이 가운데, 압연 공정은 슬라브 소재를 두 개의 롤러 사이를 통과시키며 고객이 요구하는 두께로 가공하는 공정으로 열연공정과 냉연공정으로 나뉘어진다. 이 때, 선공정인 열연공정에서 품질 결함을 검출하지 못하고 후공정인 냉연공정으로 생산이 이어지는 경우 후공정에서 품질 악화, 설비 사고 등의 문제가 발생할 수 있다. 이를 해결하기 위해 압연 공정 중 표면을 검사하는 장치인 Surface Defect Detector(SDD)로 표면 결함 검출 및 분류를 진행하고 있다. 표면 결함데이터는 정상 및 결함간 데이터 불균형이 심하며 불특정하게 나타나기 때문에 결함 class 간의 불균형이 존재하는 특징을 가진다. 이에 데이터 불균형 문제를 해결하기 위한 방법론으로 본 세미나에서는 Object function 기반의 방법론인 Weighted cross entropy loss와 Focal loss에 대해 다루었다. Weighted BCE loss는 Positive weight을 통해 특정 class에 대한 가중치를 부여하여 해당 class가 포함된 sample의 loss를 증대시키는 방법론이다. 반면, Focal loss는 예측이 잘되는 Easy example에 대한 loss를 상대적으로 더 많이 감소시켜 예측이 잘 되지 않는 Hard example에 집중함으로써 데이터 불균형 문제를 해결하는 방법론이다. 이와 함께 끝으로는 표면 결함 탐지에 딥러닝 방법론을 적용한 논문을 소개해주었다.
철강이라는 도메인에 대한 매끄러운 설명과 방법론과 관련한 구체적인 시각자료들 덕분에 큰 어려움 없이 이번 세미나를 이해할 수 있었다. 향후 직접 분석을 진행할 때, 데이터의 특성에 맞게 어떻게 분석을 진행해 나가야할지 전반적인 흐름을 참고하기에 큰 도움이 될 것 같다. 철강 공정분야에 데이터 분석이 어떻게 적용되는지 그 필요성부터 발생되는 문제, 이에 대한 방법론들을 직관적으로 잘 설명해주신 안인범 연구원께 감사의 말씀을 전하고 싶다.
이번주 세미나는 인범이형이 ‘Introduction to Steel Surface Defects Detection’이라는 주제로 진행하였다. 먼저 Steel과 Iron은 철에 포함된 탄소 함유량을 기준으로 나뉘게 된다. 철강 제품은 최종 산업 제품에 쓰이며 여러 산업 분야에 사용된다. 만약 품질 결함을 발견 못하는 경우 품질 악화나 설비사고로 이어질 수 있기 때문이다. 따라서 steel을 생성하는 과정에서 품질 결함을 검출하는 일은 매우 중요하다. 기존의 결함은 육안에 의해 분류를 하며 기존에는 머신러닝 알고리즘을 사용하여 분류 문제를 해결해왔다. 하지만 이번 세미나에서는 표면의 결함을 segmentation을 통해 분류하고자 한다. 데이터는 오픈 데이터셋인 Severstal, NEU를 사용하였고 데이터 불균형 문제를 해결하기 위해 weighted BCE loss와 focal loss를 사용하였다. 또한 검출 모델으로는 resnet50-vd기반의 모델인 Deformable convolution network를 적용하였다. 해당 세미나를 듣고 인범이형이 표면 결함을 찾는 과정에서 데이터 불균형 문제를 어떻게 해결했는지, 어떤 딥러닝 모델을 사용하여 검출할 것인지에 대해 많은 생각을 했다는 것을 느꼈다. 철강과 관련해서는 아직 낯설었지만 자세히 잘 설명해준 인범이형에게 감사하다는 말을 전하고 싶다.
금일 세미나는 “Introduction to Steel Surface Defects Detection” 주제로 인범이 형이 발표했다. 철강 제품은 여러 공정을 거치며 만들어진다. 제품 생산 시 중요한 요소는 공정 중 발생하는 결함을 제대로 검출하는 것이다. 최근 컴퓨터 비전 분야에는 Segmentation, Object Detection 등 물체를 검출, 탐지하기 위한 연구가 활발히 진행되고 있다. 제조 산업에서는 결함 검출 자동화를 최종 목표로 하며 딥러닝을 적용하는 연구를 진행하고 있다. 본 세미나에서는 철강 결함 데이터를 사용하여 다양한 종류의 결함을 탐지하는 연구를 소개하였다. 철강 결함에는 4개의 종류가 있고 결함별 개수의 불균형이 존재하는 것을 알 수 있었다. 이를 해결하기 위해 Weighted BCE Loss와 Focal Loss를 구성하여 비교 실험하는 것을 소개하였다. 개인적으로 현재 연구의 흐름과 발생하는 문제점을 어떻게 해결할지에 대한 방향성이 좋다고 생각한다. 철강 결함 검출 성능을 높이기 위해서 CNN Backbone, 특정 도메인에 적합한 Data Augmentation 기법, 최근 Self-Supervised Learning + (Segmentation, Object detection) 등을 차례로 고민해보면서 적절한 논리, 아이디어를 찾으면 충분히 해결할 수 있을 것이라 생각한다.
금일 세미나는 인범이 형이 철강 표면 결함 검출이라는 연구 분야와 이를 Semantic segmentation 문제로 정의하고 해결하고 있는 연구에 대해 소개해주었다. 인범 형이 진행하고 있는 개인 연구도 세미나 주제와 같은 것으로 알고 있다. 세미나를 통해 형이 사용하는 데이터에 대해 파악할 수 있었다. 많은 이야기를 나눌 수 있을 것이라는 생각이 들었다. 흑백 이미지를 단일 채널 이미지로 사용할 수 있고, 세 채널 컬러 이미지로 사용할 수 있는데 이를 연구에 활용하면 좋을 것이라는 생각이 들었다. 그리고 불량 존재 영역을 탐지하는 문제다 보니 범주 불균형 문제가 존재함을 알 수 있었다. 소개해준 논문뿐만 아니라 Kaggle 대회에서도 지도학습 기반 결함 탐지가 진행되고 있었다. 그런데 현재 데이터 셋뿐만 아니라 실제 회사로 돌아가셔서 해당 기술을 사용한다고 가정하면, 정상 데이터가 불량 데이터 대비 매우 많을 것 같다. 굳이 지도학습만 고집하는 것이 아닌 비지도 학습 기반 이상 탐지 쪽으로 방향을 돌려볼 수 있다는 생각도 들었다. 현장에서도 데이터를 수집 및 처리하는 인범 형 덕분에 철강 산업에 대한 도메인 지식도 얻을 수 있었다. 세미나를 준비하고, 연구원들의 후기를 통해 새로운 방향을 잡아서 좋은 연구 결과가 있길 바라본다.
철강 제조 공정에 대한 전반적인 이해, 철강 제조 데이터에 쓰이는 Deep Learning 에 대해 알아보았다. 문제의 도메인에 대한 지식은 문제에 대한 이해를 수월하게 하고, 더욱 합리적인 의사결정을 내리게 도와준다. 오늘 세미나를 통해 철강 데이터에 대한 도메인을 조금 알게 되었다.
철강 제조 분야에서 Surface Defect 는 딥러닝으로 해결할 수 있는 대표적 문제 중 하나로, Class Imbalance 를 해결하는 것이 가장 중요하다. Class Imbalance 를 해결하는 방법은 데이터를 추가로 더 확보하거나, Over Sampling, 또는 Loss function 을 바꾸는 것이 있다. 이번 세미나에서는 Loss function 을 개선하여 Class Imbalance 를 해결하고자 하였다.
Vanilla BCE Loss, Weighted BCE Loss, Focal Loss 의 계산 과정을 간단한 예제를 통해 직관적으로 보여준 것이 가장 마음에 들었다.
세미나를 준비하느라 고생하신 인범이형께 감사의 말씀을 드린다.
이번 세미나는 'Introduction to Steel Surface Defects Detection'을 주제로 인범이 형이 발표해 주었다. 매우 구체적인 도메인을 가지고 있기 때문에 철강과 철강 제조 공정을 이해하는 것으로 세미나는 시작되었다.
철강은 크게 Iron(선철, 주철)과 Steel(강, 강철)이 존재하며 철에 포함된 탄소 함유량을 기준으로 구분한다. 철강은 Iron과 Steel 을 합한 용어이지만 주로 Steel을 지칭하며 본 세미나에서도 Steel을 지칭하는 용어로 사용하였다. 철강 제조는 철광석을 Steel로 만드는 과정을 의미하며 제조 공정은 제선 - 제강 - 연주 - 압연 - 도금 순으로 진행된다. 세미나에서는 위 공정 중 압연에서 발생하는 표면 결함에 대한 결함 탐지에 대해 설명해 주었다.
압연은 강철을 고객이 원하는 두께로 가공하는 공정인데 열연 공정과 냉연 공정이 순차적으로 일어난다. 이 때 연연 공정에서 제대로 품질 결함을 검출하지 못하면 2차 공정에 큰 악영향을 줄 수 있다. 그렇기에 압연 공정 중 표면을 검사하는 장치로 Surface Defect Detector(SDD)를 사용하거나 육안으로 검사를 하지만 지속적인 성능 개선이 필요한 상황이며 Rule-based나 Probabilistic NN, SVM 등의 방법론을 통해 지속적인 성능 향상을 하고 있다.
압연 공정에서 품질 결함 탐지는 단순히 결함을 찾는 것이 아닌 어떤 종류의 결함인지, 결함의 정도는 어떤지를 파악해 최종적으로 품질 기준을 만족시키는지 분류해야 하는 Semantic segmentation 문제로 생각할 수 있다. 또한, 결함은 제조 공정 중 불특정하게 발생하기 때문에 class 불균형 또한 해결해야 한다.
데이터 불균형 문제는 샘플링 기반 방법론과 목적 함수 기반 방법론 등 다양한 해결 방법이 있고 본 세미나에서는 목적 함수 기반 방법론인 weighted BCE loss와 Focal loss를 간단히 설명해 주었다. 그리고 Resnet50 block을 변형한 Resnet50-vd 모델을 활용하여 철강 결함 탐지를 한 논문인 'Automatic Detection and Classificaton of Steel Surface Defect Using Deep Convolutional Neural Networks"를 소개해 주었다.
특정 도메인을 기반으로 결함 탐지 방법론을 설명해 주어서 더 재미있었고 이해하기가 쉬웠다고 생각한다. 또한 실제 산업에서 우리가 공부하는 AI가 어떻게 적용될 수 있는지도 배울 수 있었다. 좋은 세미나를 진행해준 인범이형에게 감사드리며 세미나 후기를 마친다.
이번 세미나는 인범이형이 Introduction to Steel Surface Defects Detection라는 주제로 진행을 하였다. 철강 분야에 대한 도메인 지식이 전혀 없었기 때문에 인트로에서 iron과 steel의 차이를 알려주셨을 때 굉장히 재미있게 보았다. 철은 탄소 함유량에 따라서 이름이 달라지는데 탄소함유량이 1.7% ~ 4.5%인 경우에는 선철 또는 주철이라고 부르며 이후 0.035%까지는 강철 그리고 이보다 적은 경우에는 순철이라고 부른다. 보통 철강 제품은 다른 산업 제품을 제조할 때의 재료로 사용되기 때문에 다양한 규격으로 판매가 된다. 그 중 판재의 경우에는 두께에 따라서 박판과 후판으로 나뉘는데 각각의 최종 제련 형태는 각각 코일과 플레이트 형태로 서로 다르게 나온다.
제품을 생산할 때 좋은 품질을 유지하기 위해서 Surface Defect Detector라는 장치로 공정 중의 표면을 검사하게 된다. 현재 육안 검사로는 결함 분류 정확도가 70~80%, 규칙 기반의 알고리즘을 사용하면 50~85%의 성능을 달성한다고 한다. 이번 세미나는 해당 검사의 정확도를 높이기 위한 딥러닝 알고리즘의 연구에 관한 것이다. 실험에 사용한 데이터셋은 철강 표면 결함에 관련된 Severstal과 NEU이며, 철강 표면 결함 데이터는 결함이 있는 제품이라도 그 부분이 정말 일부분에 지나지 않기 때문에 정상 픽셀과 결함 픽셀간의 불균형이 심하다는 특징이 있다. 이를 극복하기 위해서 objective function 기반의 방법론을 적용하였으며 이번 실험에서는 weighted cross entropy와 focal loss가 사용되었다. Weighted BCE loss는 Binary Cross Entropy loss에서 특정 클래스에 가중치를 부여하는 방법이며, focal loss는 BCE loss에 modulating factor를 추가해서 탐지하기 쉬운 샘플의 가중치는 줄이고 탐지가 어려운 샘플의 구분에 좀 더 학습을 집중하도록 유도한다. 기본적으로 가중치를 더한 loss가 더 좋은 성능을 보여주고 있으며 이와 관련 논문들을 소개시켜주셨다. 크게는 모델 아키텍처를 수정하거나 소수 클래스를 증강기법을 통해서 불균형을 완화하는 방법론을 쓰고 있었다. 이번 기회에 철강 도메인에서 결함 탐지 모델이 어떻게 적용되는지 알 수 있어서 정말 흥미롭게 들을 수 있었다. 멋진 세미나를 준비해주신 인범이형께 감사의 말을 전하고 싶다.
금일 세미나는 "Introduction to Steel Surface Defects Detection"의 주제로 진행되었다. 철강 표면 결함 탐지는 정확한 검출이 되지 않으면 품질 악화나 사고 등의 문제로 이어진다는 점에서 매우 중요한 연구 분야이다. 대부분의 결함은 Surface Defect Detector (SDD) 또는 육안으로 검출하게 되지만, SDD 자체에 대한 지속적인 성능 개선이 필요한 상황이다. 따라서, 대부분의 연구들은 semantic segmentation을 통하여 결함 검출, 분류, 그리고 평점 산출을 거쳐 정상 또는 불량으로 판정하는 방식으로 진행되고 있다. 표면 결함 데이터의 경우 대부분 정상과 결함 사이의 불균형이 심하며, 결함 클래스 내에서도 불균형이 심하다는 특징을 갖고 있다. 이러한 클래스 불균형 문제를 해결하기 위하여 다양한 접근이 제안되고 있으며 이번 세미나에서는 Weighted cross entropy loss와 focal loss에 대하여 살펴보았다. Weighted BCE Loss는 특정 클래스에 가중치를 부여하는 loss로, 데이터의 수가 부족한 클래스에 더 많은 가중치를 주는 방식을 통하여 불균형 문제를 해소하고자 한다. 또한, focal loss는 예측이 잘 되지 않는 hard example에 더욱 집중하도록 modulating factor를 loss에 함께 고려하여 모델 학습 시에 더 많이 반영되도록 한다. 마지막으로는 Improved faster R-CNN 방법론과 weighted BCE loss를 실제 오픈 데이터셋에 적용시킨 사례도 살펴볼 수 있었다. 철강 표면 결함 탐지 분야에 대하여 철강의 정의부터 활용 가능한 오픈 데이터셋, 그리고 가장 주요하게 다루어지는 문제 등을 모두 알아볼 수 있어 의미있었다. 또한, 예시를 통하여 이해하기 쉽게 설명해주신 두 loss에 대해서는 철강 표면 결함 탐지 분야 뿐만 아니라 클래스 불균형이 심한 다른 분야 데이터에도 적용해볼 수 있을 것이라는 생각이 들었다.
금일 세미나는 Introduction to steel surface defects detection을 주제로 진행되었다. 철강 제조 공정의 압연 단계에서 표면을 검사하는 장치로 Surface Defect Detector(SDD)를 사용한다. SDD는 표면 결함을 검출하고 결함 종류 분류를 수행하지만 지속적인 성능 개선이 필요하다. 실제로 Neural Net, SVM 등을 통해 성능이 개선되고 있다. 표면 결함은 종류, 크기, 위치 등 여러 요소를 고려하여 결함 정도(평점)이 산출되고 최종 판정되기 때문에 결함 검출 뿐만이 아니라 종류 및 크기 탐지도 중요하다. 결함의 분류는 classification, 검출 및 분류는 object detection, 검출과 분류 및 평점 산출은 semantic segmentation task로 간주할 수 있다. 따라서 궁극적으로는 결함을 검출하고 분류 및 평점 산출을 진행할 수 있는 semantic segmentation task를 해결해야한다.
본 세미나는 표면 결함 데이터가 갖는 문제인 픽셀 간의 불균형 문제를 해결하기 위한 방법론에 관하여 설명한다. 다양한 데이터 불균형 문제 해결 방법론 중에서 Weighted cross entropy loss와 Focal loss를 중점적으로 다룬다. Weighted BCE loss는 BCE loss에 positive weight를 추가하여 특정 class에 가중치를 부과한다. Focal loss는 BCE loss에 Modulating factor를 추가하여 Easy example에 대한 가중치를 줄이고 hard example에 집중하도록 한다.
이번 세미나를 통해 surface defect 분야 전반에 대해 이해할 수 있었고 철강 공정에서 실제로 어떻게 활용되는지 알게 되었다. 더 나아가 surface defect 분야에 딥러닝을 적용한 논문도 소개해주셔서 해당 분야에서 딥러닝이 어떻게 적용되는지 까지 알 수 있었다.
이번 세미나 주제는 steel 표면에서의 불량 검출에 대한 주제로 진행되었다. 철강 제조라는 도메인은 굉장히 생소했지만, "불량 검출"이라는 분야로 진행되는 데이터 연구에 대해 듣는 것은 내게 있어서 굉장히 흥미로운 일이었다.
인범형이 진행하는 연구는 철강 제조공정은 철광석으로부터 철강제품(steel)까지 이뤄지는 공정 중에 압연 공정에서의 문제중 하나로, 두툼한 두께의 슬라브를 압축하는 공정에서 표면에 있는 결함을 얼마나 빠르고 정확하게 탐지해낼 수 있는지에 대한 것이다. 이러한 탐지를 Surface Defect Detector (SDD)라고 하는데, 표면 결함이 담긴 image에서 문제가 있는 부분을 검출하고, 그 종류와 크기 탐지도 분류해낼 수 있어야 한다. 여기서 결함 데이터들은 정상 영역 대비 매우 작은 portion이며 특히 class간 불균형문제가 극심하여, 모델의 성능에 큰 영향을 미치기 때문에 이를 해결하는 것은 필수적인 문제 였다.
세미나에서는 이를 해결하기 위한 방법론 중에서 목적함수 중심 방법론 중에 Weighted BCE loss 와 Focal loss가 있었는데, BCE loss는 수가 적은 hard example에 대한 가중치를 크게 주어 개선하는 방법이고, Focal loss의 경우는 easy example의 Loss를 현저하게 작게 만들어 남은 Hard example의 loss에 집중할 수 있도록 하는 형태를 가졌다. 각각이 적용된 결함 image set(severstal dataset)에서 hard class에 대한 분류 성능이 크게 향상되는 것은 인상깊었다.
불균형 문제는 어떤 문제를 접해도 가장 먼저 겪는 굉장히 중요한 문제라고 생각한다. 최근 NLP 수행 과제에서도 불균형에 성능 제한에 어려움을 겪었는데 이번 세미나를 통해 많은 도움이 되었다. 이런 문제는 글로 읽을 때보다, 직접 코딩을 하며 실험을 했을 때 더 크게 와닿는 듯 하다. 그래서 더 도움이 됐던 세미나였다. 철강 산업에 대해서도, 불균형 문제를 해결하기 위한 방법에서도 이해하기 쉽게 예시를 들어 설명해주신 안인범 연구원님께 감사를 드린다.