네이버부스트캠프aitech2기 23

Week 11/12/13 - Semantic Segmentation - 대회 꿀팁

대회나 Task를 진행할 때 주의해야할 사항들! 1. Debugging 디버깅 모드는 실험 환경이 잘 설정되어 있는지 체크하는 과정이다. 대부분의 모델 학습,테스트는 실행하자마자 뚝딱하고 나오는게 아니라 시간이 걸리는 경우가 많다. 따라서 자기 전에 모델을 돌려놓고 잠드는 개발자들이 많다. (잠자는 시간까지 헛투루 쓰지 않는 딥러닝 개발자들 ^.^이랄까 ㅎㅎ) 여하튼 그런식으로 작업을 하는 개발자들이 많은데, 종종 돌리고 일어났을때 에러 메세지와 함께 정상작동이 되지 않아 종료된 경우를 마주하기도 한다. 정말 대략 난감 ㅜㅇㅜ 그래서 해야하는건 Debugging!!!! 5분만 투자해서 잠자는 시간을 벌자 카이스트 김현우 마스터님이 공유해주신 방법이다. if cfg.debug = True: # 디버깅 모드..

Week 11/12/13 - Semantic Segmentation - UNet++

Unet에는 두가지 한계점이 있다. 1. 깊이가 4로 고정되어 있다, 2. SKip connection이 너무 simple하다 이 두가지 한계점을 극복한 더 나은 버전의 Unet이 Unet++이다. ( unet투플러스 라고 읽는다 ) 각각의 한계를 어떻게 극복했는지 살펴보면, 1. Encoder를 공유하는 다양한 깊이의 U-Net 생성 2. Dense Skip Connection 기존 : upsample한 feature map에 skip connection을 활용해 concat한 후, convolution Dense Skip connection 바로 단순 concat하지 않고 중간에 여러개의 단계를 두어 convolution을 겹겹이 한다. 그림의 물음표->X0,2는 X0,0과 X0,1과 upsample..

Week 11/12/13 - Semantic Segmentation - UNet

Unet Unet은 바이오 메디털 분야에서 처음 발표된 논문이다. 의료 영상 분석에서 Segmentation은 꽤나 중요한 부분을 차지하는데, 위 그림과 같이 세포를 분석할때 매우 얇은 선을 기준으로 분리되기도 한다. 이때 인간이 놓치는 부분을 최소화 하고자 딥러닝 모델이 사용 되는데, 데이터도 너무 부족하고(병 걸린 사람을 늘릴수도 없고,, 데이터 수집 불가.. 레이블링도 심지어 일반인이 할 수 없다. 완전 Hogh Cost 데이터란 말씀! ) 기존의 모델들이 이정도로 정교하지는 않았어서 실질적으로 불가능한 태스크였다. 이런 장애물들을 상당 부분 극복한게 Unet이다!! 그럼 unet의 구조를 살펴보자 Unet Architecture 가장 큰 특징중 하나는 Contracting Path(encoder)..

Week 11/12/13 - Semantic Segmentation - PSP2Net

PSPNet 에는 세가지의 도입 배경이 있다. 1. Mismatched Relationship 이미지는 호수에 보트가 떠있는(굉장히 context상으로 말이 되는) 사진이다. 하지만 왼쪽에서 세번째, FCN의 결과를 보면 가장 오른쪽의 보트가 자동차(남색)으로 인식되었음을 확인 할 수 있다. 얼핏 보면 보트와 자동차의 외관이 닮았기 때문이다. 하지만 물에 떠있다는 context정보를 추가하면 정확도가 좀 더 올라가지 않을까? idea -> 주변의 특징을 고려 2. Confusion Categories 유사한 카테고리를 헷갈리는 문제점도 있다. 지역적인 부분만 봐서는 building인지 skyscraper인지 알기가 힘들다. idea -> contextual information 필요 3. Inconspi..

Week 11/12/13 - Semantic Segmentation - DeepLab v1

이번 포스팅에서는 DeepLab version 1에 대해 살펴보겠다. Receptive Field를 확장시킨 모델 Receptive Field란 하나의 뉴런이 얼마만큼의 정보를 바라봤는지를 나타낸다. Convolution을 진행하다 보면 레이어가 점차 깊어질수록 activation map의 한 점에 영향을 주는 Pixel들이 점차 많아진다. 이를 좀 더 직관적으로 보면, A,B,C 모두 같은 새를 바라보고 있다. A,C 와 B로 그림을 나눠볼 수 있다. 기준은 뭘까? 바로 B는 몸통을 집중적으로 보고 있고 A와 C는 새의 전반적인 정보를 모두 포함한다는 것이다. B와 C를 비교했을때는, 컴퓨터 입장에서 B를 새라고 인식하기 보다 C를 새라고 인식하기 더 수월할 것이다. -> 즉, receptive fie..

Week 11/12/13 - Semantic Segmentation - DeconvNet

DeconvNet은 Deconvolution과정이 빈약해서 생기는 FCN의 한계점들을 보완하는 모델이다. DeconvNet. 이름에서 알 수 있듯이 Deconvolution과정에 힘을 준 모델이다. Architecture Decoder를 Encoder와 대칭으로 만든 형태 Conv BLock이 VGG16를 사용해, [ Conv - BN - ReLU ] x 2 - Max Pooling의 과정을 거친다. Deconvoliution Block은 정확히 반대순서로 간다. UnPooling - [ Transpose Conv - BN - ReLU ] x 2 Unpooling과 Deconvolution을 동시에 반복적으로 사용하는 방법의 장점은 아래와 같다. 1. Unpooling은 디테일한 경계 포착 2. Tran..

Week 11/12/13 - Semantic Segmentation - FCN 한계점

지난 글에서 요악한 FCN은 Transpose Convolution과 1x1 Convolution을 사용해 다양한 size의 feature map을 잘 섞어서 활용하였다. 이번 포스팅에서는 FCN의 한계점을 살펴보자. 1. 객체의 크기가 크거나 작은 경우 예측을 잘 하지 못한다. -> 한마디로 너무 작거나 큰, 그런 극단적인 상황은 예측을 잘 하지 못한다. 왼쪽의 예시를 보면 object가 이미지의 거의 90프로를 차지할정도로 크다. FCN을 사용하면 이런 큰 scale을 바라보지 못하고, 오히려 유리창에 비친 자전거등을 인식하는 경우도 발생한다. 마찬가지로 물체가 너무 작을때도 문제가 발생한다. 작은 object는 무시되는 문제가 생기는데 이는 upconvolution 과정에서 pooling과정에서 국..

Week 11/12/13 - Semantic Segmentation - FCN

FCN : Fully Convolutional Network FCN은 Semnatic Segmentation task의 시초격인 모델이다. 초기 모델인 만큼 단점도 많지만 중요한 contribution 2개를 남겼다. 주요 Contribution 1. 1x1 Convolution 여기 32x32(HxW) x 512(C)의 shape를 갖는 feature map이 존재한다. 이 feature block을 fully connected layer에 집어 넣기 위해서는 Flatten해야 한다. 이 과정에서 32x32x512 = 524288의 1D vector가 생성되고 이 과정이 반복되면 될수록 pixel의 위치정보는 사라진다. 1x1 Conv를 사용하면 Resolution을 그대로 유지하면서 채널수만 원하는 ..

Week 11/12/13 - What is Semantic Segmentation?

Level 2 두번째 과제는 바로 Semantic Segmentation입니다. 이번 글에서는 Semantic Segmentation이 어떤 task인지, 어떤 평가 metric을 사용하는지 대표적으로 사용하는 Loss와 그 간략한 계산에 대해 알아 보겠습니다. 1. Semantic Segmentation Semantic Segmentation은 각 pixel 단위로 classification을 한다. 왼쪽 이미지와 같이 '종이 쓰레기'를 분류하고 싶을 때 어떤 픽셀이 어떤 class인지 모든 pixel에 대하여 라벨링 한다. 자율주행, 의료등 다양한 실생활 분야에 사용되고 그만큼 실용적이고 어려운 주제이다. 2. 평가 Metric : mIOU Object Detection에서 사용했던 IOU가 기억나시..

Week 11/12/13 Level2- P Stage [Semantic Segmentation]

Semantic Segmentation Bible Level2 U Stage + P Stage 2021.10.18 ~ 2021.11.10 1. What is semantic segmentaion? Introduction, 평가 Metric, Loss 2. FCN 3. FCN의 한계를 극복한 모델들 FCN의 한계점 Deconv DeepLab PSPNet 4. Unet⭐️ Unet++ EfficientUnet, DenseUnet, ResidualUnet -> Encoder에 각기 다른 backbone을 활용함 5. Semantic Segmentation 대회 Tip! 6. Semantic Segmentation 연구 동향 HRNet의 필요성 WSSS 개요 CAM 기반의 접근 WSSS History