본문 바로가기
NaverBoost Camp 4기/[P stage] Semantic Segmentation

[P stage][Semantic Seg] 대회 프리뷰 & Segmentation 대회 소개 (마스터 클래스)

by 하람 Haram 2022. 12. 21.
728x90

1. 대회 Preview

Semantic Segmentation

픽셀 단위의 분류를 수행하기에 상대적으로 학습이 어렵고 annotation에 노이즈가 많은 편이다

학습 크기를 4096 x 2048같은 고해상도 이미지는 모델 학습하기가 어려워서 512 x 512로 줄여서 제공

 

 

2. Segmentation 경진대회 소개

* 한국인 헤어스타일 경진대회

 

노이즈를 제거하는 방법

Co-Teaching이라는 방법을 사용

-> 학습시 배치마다 로스가 큰 이미지 몇개를 제거하고 학습하는 방법

(32개 중에 로스가 높은 2개를 제거하고 30개만 학습)

좀 더 강건하게 학습을 할 수 있다

마스크의 일부 영역을 잘라서 이미지의 일부 영역에 붙임

-> 양갈래 머리가 없었던 데이터의 한계를 극복하고자 하였다

 

* Body Morphometry 경진대회

메모리의 한계를 극복하기 위해 Crop을 하고 Resize를 하여 타겟 부분만 학습을 하였다

추가로 noise 제거를 위해 

cv2.findcontours , cv2.convexHull , masking을 순서 대로 적용을 함

저 find countour보면 밑에 초록색 밑줄 들이 noise로 작용함

 

* HubMap

solution 1 : Sliding Window 기법

-> 이미지를 한번에 다 쓰는 게 아니라 Resize해서 patch 영역으로 접근

 

solution 2 : Yolo로 미리 Cell을 Detect한 이후 Segmentation을 할지 말지를 결정

 

solution 3 : Sampler

 

하지만 제일 중요한 것은

데이터의 개수를 늘리는 것이 중요하다

 

3. 재활용 Segmentation 경진대회 분석

 

1. train 데이터에 레이블 노이즈가 존재한다

비닐안에 플라스틱이 들어 있으면 보통은 위에 껄 보는게 맞기에 비닐로 판단을 해야지만

플라스틱으로 판단하는 노이즈가 발생

 

두번째 경우는 속의 돌을 배경으로 보고 따로 구멍이 뚫리는게 맞긴 함

이런 noise는 Train set에는 있지만 Test set은 검수를 하여서 없앴다고 한다

코팅의 유무에 따라 다르게 분류 될 수도 있다

다음과 같이 일부분만 들장하는 경우는 어떻게 해야할까 ??

 

다음과 같이 오류도 나옴

 

 

class의 불균형은 어떻게 해결을 할 것인지

 

마지막으로 Boundary 부분의 문제도 있다

GT는 샤프한 반면 Pred Mask는 뭉특하게 생겨 있다

(이 부분에서도 점수가 깎이는 문제가 발생)

 

이런 작은 물체는 어떻게 해야하는지

 

Object Aug라는 논문이 있음

Cutmix랑 비슷하게 Object만 뽑아내서 다른 사진에 붙이는 방법

(클래스 불균형 문제를 해결할 수 있다 -> 하지만 도움이 안되는 경우도 있다고 한다)

 

train data를 human annotation 진행하는 것이 도움이 될 수도 있음

 

DenseCRF로 해결을 할 수 있음

하지만 Hyperparameter Tuning이 굉장히 어렵고 속도가 너무 오래 걸림

 

요즘은

더 좋은 Backbone 망을 이용하기도 함

 

간단하게는 입력이미지가 너무 작아져서 생기는 문제일 수도 있어서

Multiscale 이나 TTA를 이용해 볼 수도

 

 

앙상블!!

+ validation score나 Test Score가 비슷한 것 끼리 하는 것이 좋다

(아니면 Weight를 주는 방법도 있다)

 

 

 

라이브러리

SMP

장점 : 최신 백본을 가져오기 편하다(timm연동)

모델, 데이터 로더 등 커스터 마이즈 하기 편하지만

최신 연구들이 적용이 덜 되었다

 

MMSegmentation

디코더까지 학습된 가중치 사용이 용이 (SMP는 백본만 학습)

멀티 GPU 사용이 편이하다

하지만 진입 장벽이 높고 환경세팅이 어렵다

 

 

 

 

728x90