강의 복습
1. U-Net
- Contracting Path와 Expanding Path가 대칭인 U자 형을 이룸
- Contracting Path: 입력 이미지의 전반적인 특징 추출(Context 포착), 차원을 줄이는 Down-sampling
- 3x3 Conv - BN - ReLU 2번씩 반복
- Zero-padding 적용하지 않아서 featurer map 크기 감소
- Expanding Path: Localization 가능하게 함, 차원을 늘리는 Up-sampling 작업, 얕은 layer의 feature map 결합
- 2x2 Up-Conv 사용(Transposed Convolution) → Feature Map 크기 2배, 채널 수 1/2배
- Contracting에서 얻은 Feature Map과 Concat 진행
- 3x3 Conv - BN - ReLU 2번씩 반복
- Contracting Path: 입력 이미지의 전반적인 특징 추출(Context 포착), 차원을 줄이는 Down-sampling
- U-Net에 적용된 테크닉
- Data Augmentation: Random Elastic deformations (invariance, robustness 학습)
- Sliding Window
- Pixel-wise loss weight 계산하기 위해 Weight map 생성 (같은 클래스를 가지는 인접한 셀 분리하기 위해 해당 경계 부분에 가중치 제공)
2. U-Net++
- U-Net의 한계점: Fixed depth, Simple Skip Connection
- U-Net++
- Encoder를 공유하는 다양한 깊이의 U-Net 생성
- Skip Connection을 동일한 깊이에서의 Feature Maps이 모두 결합되도록 유연한 Feature Map 생성
- U-Net에 적용된 테크닉
- Deep Skip Connection
- Ensemble
- Deep Supervision
3. U-Net 3+
- U-Net++의 한계점
- 복잡한 connection으로 인한 파라미터 증가
- 많은 connection으로 인한 메모리 증가
- full scale에서 충분한 정보를 탐색하지 못해 예측하려는 위치와 경계를 명시적으로 학습하지 못함
- U-Net 3+
- Full scale Skip Connections: (conventional + inter + intra) skip connection
- conventional skip connection: encoder layer로부터 same scale의 encoder layer로부터 직접 feature map 받음
- inter skip connection: encoder layer로부터 smaller scale의 low level feature maps 받음, 풍부한 공간 정보를 통해 경계 강조
- intra skip connection: decoder layer로부터 larger scale의 high level feature maps 받음, 어디에 위치하는지 위치 정보 구현
- 파라미터를 줄이기 위해 모든 decode layer의 channel 수 320으로 통일
- Full scale Skip Connections: (conventional + inter + intra) skip connection
- U-Net 3+에 적용된 테크닉
- Full scale Skip Connections
- Classification Guided Module (CGM): 정확도를 높이기 위해 high-level feature map을 사용하여 extra classification task 진행
- Full-scale Deep Supervision
- Hybrid loss function: 경계 부분 잘 학습하기 위해 loss 여러가지 결합
- Focal Loss: 클래스 불균형 해소
- ms-ssim Loss: Boundary 인식 강화
- IoU: 픽셀의 분류 정확도를 상승
4. Another version of the U-Net
- Residual U-Net: Encoder 및 Decoder 부분의 block마다 residual unit with identity mapping 적용
- Mobile U-Net
- Eff-UNet
프로젝트 회고
- segmentation_models_pytorch 모듈에서 제공하는 deeplabv3과 resnet101 모델을 사용하여 학습해봤더니 0.5095로 높은 점수가 나왔다.
- 피어세션시간에 이야기해보니까 다른 분들도 나와 같은 모델을 사용했는데 augmentation을 한 분이 점수가 높게 나왔다. 나도 augmentation을 적용해봐야겠다.
- validation 점수와 리더보드 점수가 0.1 정도 차이가 나서 토론게시판에 올라온 대로 코드를 수정했는데도 여전히 차이가 많이 났다. 내가 뭔갈 잘못한건지 원래 이런건지 모르겠다.
'부스트캠프 AI Tech 1기 [T1209 최보미] > P stage-3 (객체검출)' 카테고리의 다른 글
Day6 학습정리 (0) | 2021.05.03 |
---|---|
Day5 학습정리 (0) | 2021.04.30 |
Day3 학습정리 (0) | 2021.04.28 |
Day2 학습정리 (0) | 2021.04.27 |
Day1 학습정리 (0) | 2021.04.26 |