【Semantic Segmentation】ICNet : ICNet은 왜 빠른가?

신규성




하단의 Encoder-Decoder Model에서 정밀한 Segmentation을 하기 위해 많은 Layer가 필요하다.
이것은 계산 비용이 낭비라고 생각하고, 1/2, 1/4에 Downsample 한 화상을 컨벌루션, 결합하는 것으로 계산량을 작게 유지하면서 정밀도의 좋은 결과를 얻을 수 있다.

보라색 선은 Trainning시에만 사용되며, Ground와 비교하여 loss를 각각의 크기마다 계산하고 있다. 이와 같이 중간에서 loss를 계산함으로써 안정된 Training이 행해지는 것이 일반적으로 알려져 있다.



CFF(Cascade Feature Fusion)는 그림과 같은 설계로 되어 있으며, 보라색 선이 Training시에 적응되는 loss를 계산하기 위한 pipeline이다. Classifier Conv에서 Semantic Map을 추정하고 LABEL(Ground Truth)과 비교하여 loss를 계산하고 있다.

F1(저해상도)과 F2(고해상도)의 feature map을 전처리를 하고, 합쳐진 후 ReLU를 함으로써 정보의 결합을 하고 있다.

*Dilated Conv =>upsample한 sparse인 Feature Map을 Dense로 하기 위한 처리
*Projection Conv => F1과 채널 수를 일치시키기 위한 1x1 convolution

개인적으로는 SUM이 아니라 concatenate 하는 것이 정밀도 오른다고 생각하지만 계산 비용의 문제일까

결과





정밀도도 거기서 빠르다!

결론



downsample하고 나서 컨벌루는 것으로 스피드를 올려, 고해상도의 Feature Map에 더해 맞추는 것으로 정밀도를 담보하고 있다.

간단하고 빠르고 정밀도가 적당하기 때문에 실용적인 네트워크라고 생각합니다.

참고문헌



ICNet for Real-Time Semantic Segmentationon High-Resolution Images
htps //hs← 아오. 기주 b. 이오/파페 rs/엣 cv18_이 c네 t. pdf

좋은 웹페이지 즐겨찾기