2020년 5월 12일 화요일

오픈소스 딥러닝 기반 2D 이미지 객체 세그먼테이션 소개

이 글은 오픈소스 기반 딥러닝 기반 2D 이미지 객체 세그먼테이션을 간단히 소개한다.
DeepLab(Liang-Chieng etc, 2017)

현재 시점에서 가장 대표적인 세그먼테이션 딥러닝 모델은 최신 순서대로 YOLACT, DeepLab, Mask R-CNN이다. 

DeepLab
DeepLab은 2017년에 발표된 시멘틱 세그먼테이션 모델이다. 이 모델은 세그먼테이션을 위해 atrous convolution 기법을 사용한다. atrous는 hole을 의미한다. 이는 기존 컨볼루션과 다르게 필터 내부에 빈 공간을 두고 가중치를 조정하게 된다. 이를 통해 한 픽셀이 볼 수 있는 영역(field of view)을 크게 할 수 있다.
atorus convolution filter(DeepLab)

세그먼테이션은 한 픽셀의 입력값에서 어느 수준의 영역을 커버할 수 있는 지에 대한 receptive field 크기가 중요하다. atorus 구조를 통해 한 픽셀에 대한 세그먼테이션 성능과 처리 속도를 모두 개선할 수 있다.
atorus network(DeepLab)

DeepLab은 계속 발전하고 있으며, v3에서는 ResNet을 백본(backbone)으로 사용하였다.
DeepLab architecture


이제 COCO 데이터셋으로 학습한 DeepLab 모델이 실내 오피스 이미지가 얼마나 잘 인식되는 지 확인해 보겠다. 실행은 아래 CoLab에서 확인한다.
모델은 xception_coco_voctrainaug 을 사용하였다. 이미지 예측 결과는 다음과 같다. 사람 등은 정확도가 높으나, 나머지는 정확도가 그리 높지는 않다. 이는 학습 데이터셋의 한계로 보인다.

아래와 같이 학습 데이터셋이 유사한 이미지1, 2 예측은 정확도가 높게 나타난다.
실제 사용자 데이터로 학습하려면 다음 링크를 참고한다.

YOLACT
YOLACT(You Only Look At CoefficienTs)은 캘리포니아 대학교 (University of California)의 연구그룹이 2019년도 발표한 실시간 객체 세그먼테이션 기술이다. 다음은 이를 이용한 객체 세그먼테이션 결과이다. 이 모델은 ResNet50 에서 33.5 fps, 34.1 mAP로 높은 정확도와 예측 속도를 지원한다. 
YOLACT 사용 사례

이 모델에 대한 좀 더 상세한 내용은 아래 링크를 참고하길 바란다.
레퍼런스

댓글 없음:

댓글 쓰기