딥러닝/VISION
Segmentation 정리
owinhun
2023. 7. 26. 20:01
CNN 모델에서 할 수 있는 Task
Classification - 분류
Object Detection - 물체 탐지
Segmentation - 픽셀별 분류
Comparision about Semantic, Instance and Panoptic
Semantic은 나무, 하늘, 사람, 자동차 등과 같은 것들과 배경을 포함해서 pixel 별로 class를 구별
Instance는 배경을 제외한 나무, 하늘 사람, 자동차 등과 같은 것을 각각을 구별
ex) 사람1, 사람2, 사람3, 자동차1, 자동차2, 자동차3
Panoptic = Semantic + Instance
Segmantic Segmentation
픽셀이 어느 class에 속하는지 예측하는 것.
지금 그림에서는 class가 5개이고, 각각의 픽셀들에 대해서 class로 구분함.
FCN(Fully Convolutional Networks)
대부분의 CNN모델은 마지막에 Fc Layer로 구성되어 있음.
Classification에 주로 사용하기 때문인데, Segmentation은 마지막 FC Layer를 통해서 위치 정보 손실때문에 적합하지 않음. 그래서 Convolution으로 바꿈.
이렇게 위에서 아래처럼 바뀌게 됨.
VGG16 모델의 변화과정을 보게되면
이렇게 되는 걸 알 수 있음
축소한 이미지를 다시 Upsampling 하기 위해서 사용하는 기법이 있는데 Deconvolution임.
일단 좌표 지정하고 풀어봤는데 사실 맞는 건지는 모르겠음
위 Bilinear Interpolation을 통해서 저 값들을 채울 수 있음(보간법)
Deconvolution - Backwards convolution
Convolution의 거꾸로 다시 확장해 가는 과정
Skip architecture
Skip architecture는 Skip connection이랑 같은 개념임. 그 전의 정보를 잃지 않고 가져가기 위해서 사용하는데, 이 전 정보를 사용하므로서 Segmentation이 좀 더 선명해지는 것을 알 수 있음.
숫자가 작아질수록 이전 정보를 가져다가 쓰는듯
Unet
DeepLabV3
DeepLabV3+
Atrous Convolution and Spatial Pyramid Pooling