공부/기계학습 및 인공지능

SegNet 간단 리뷰

snn.il 2021. 9. 13. 22:44

SegNet

  • Semantic Segmentation for Scene Recognition(장면을 다양한 개체의 구성 요소로 분할하는 작업) 을 위한 네트워크
  • Encoder와 Decoder로 나뉨
  • Encoder단에 VGG16을 사용 (FCL를 제외한 13개 convolution layers만을 사용)
  • 메모리 사용량과 연산 속도 측면에서 효율적인 네트워크

[간단한 VGG16 리뷰]

VGG 16

  • 기존의 Network들 보다 층을 깊게 가져감
  • 깊어지면서 분류 에러가 감소하는 것을 관찰
  • 더 작은 크기의 kernel로 더 많은 covolution을 진행 → 파라미터의 개수가 줄어들어 학습의 속도가 빨라짐 그와 동시에 층의 개수가 늘어나면서 특성에 비선형성을 더 증가하며 성능 향상 → ex) [산출된 특성맵의 사이즈] : 3x3 필터로 두번의 Conv == 5x5 필터로 한번의 Conv

[Network Architecture]

SegNet's Network Architecture

<Encoder>

  • VGG16에서 FCL를 제외한 구조를 채택
  • Max-Pooling Indices Storing(위치정보저장) 수행
  • Conv + BatchNormalization + ReLU / (Conv는 ImageNet에서 학습된 VGG의 13개의 Convolutional Layer를 사용)
  • Max-Pooling / (Kernel Size : 2x2, stride = 2)

<Decoder>

  • Upsampling과 Convolution을 수행하며, 마지막 Layer에는 각 픽셀의 class 예측을 위한 softmax classifier가 존재
  • Encoder에서 저장한 Max-Pooling Indices를 사용해 upsampling을 진행
  • 마지막에 픽셀별 K-Class Softmax 분류기
  • Max-Pooling Indices
    • Max-Pooling 할 때의 위치 정보만 저장 후 unpooling때 해당 위치 정보에 맞춰 upsampling
    • Feature map을 저장하는 것이 아니기 때문에 memory cost가 많이 발생하지 않음
    • **Boundary(경계 묘사)**에 대한 정확도 향상, parameter 감소를 통한 효율성

[Result]

  • FCN보다는 느리지만 DeconvNet 보다는 빠름
  • FCN에 비해 SegNet은 Decoder Architecture가 있어서 느릴 수밖에 없음
  • DeconvNet에서 FC Layer를 제거한 구조여서 DeconvNet 보다는 속도가 빠름

[Conclution]

  • Road 및 indoor scene understanding을 목적으로 메모리 및 연산 시간에서 효율적으로 동작하도록 설계한 SegNet architecture를 제안
  • SegNet은 Max-Pooling Indices를 저장하는 방법을 사용해 효율적으로 동작하면서도 좋은 성능 산출
  • Encoder에서 모든 feature map을 저장하는 아키텍처의 경우 성능은 우수하지만 메모리 사용량이 많아지는 단점이 있음. But, SegNet은 Max-Pooling Indices 을 사용하여 메모리 사용량을 줄이면서 성능도 개선

★) FCN과의 차이점

  • FCN은 upsampling 과정에서 trainable decoder filter를 적용하였지만, SegNet은 upsamplig은 max-pooling indices로 추가적으로 학습하는거 없이 진행
  • FCN과 달리 만들어진 feature map에 decoder filter를 추가하는 방법을 선택
  • FCN은 encoder feature map에 대한 내용을 저장하고 있어야 하기에 이에 따른 memory cost가 많이 발생하게 되지만 SegNet은 max-pooling indices만 저장해도 되기 때문에 부담이 훨씬 줄어들게 됨

[UpSampling] SegNet VS FCN
[Result] SegNet vs FCN