프로젝트명 : U-Net을 활용한 Car Segmentation Application
KITTI의 Car Dataset에서 이미지 7840장과 pascal VOC 양식의 라벨을 가지고 U-Net 모델을 Scratch 부터 구현해봤습니다.
최근에 SOTA를 찍은 Semantic segmentation Network인 만큼 개인 컴퓨터에서 훈련시켰음에도 매우 높은 성능을 내는 모델이 나왔습니다.
U-net 구조는 https://arxiv.org/abs/1505.04597 를 참고 했으며,
준비된 데이터 셋으로만 테스트 하는것은 의미가 없기에 안드로이드 폰 카메라로 직접 테스트 해봤습니다.
< Ground Truth : 원본 사진>
< Prediction : 모델이 유추한 마스크 ( 자동차 )>
개인 컴퓨터에서 3일간 8시간씩 나눠서 학습했는데 성능이 매우 뛰어납니다. 윗 사진에서 자동차가 매우 작은 크기 임에도 제대로 검출이 되었네요.
KITTI 데이터 셋에 차 이외에도 sky, bus 등 20여가지의 라벨이 Pascal VOC 양식으로 들어있는데 아무래도 개인 컴퓨터로 하기에는 사양이 딸려서 자동차만
학습 했습니다.
< 안드로이드 폰에서 검출 >
< 예시 >
윗쪽 사진은 구글에서 '자동차' 라고 검색해서 얻은 사진이고 아래는 검출된 마스크와 원본 이미지를 곱연산한 이미지 입니다.
폰카메라 자체 노이즈와 모니터의 플리커링 때문인지 원본 사진에 적용했을 때 보다는 노이즈가 끼어있음을 알 수 있으나 그래도 준수한 성능으로 보입니다.
시간 관계상 학습도중에 Early Stopping을 했는데 그렇지 않고 끝까지 최적화 시킨다면 더 좋은 결과가 나올것으로 기대 됩니다.
< 2 >
< 3 >
< 4 >
< 5 >
< 6 >
< 7 >
< 8 >
< 9 >
'진행중인 프로젝트 > 미니 프로젝트' 카테고리의 다른 글
08.[ 강화 학습 ] PPO( Proximal Policy Optimization )활용 자율주행차 구현 ( with Unity ) (7) | 2020.08.31 |
---|---|
07. Seq2Seq를 활용한 챗봇 (0) | 2019.09.21 |
05. Car Number Plate Detector ( 안드로이드 ) (0) | 2019.09.21 |
04. OCR_EMNIST ( 안드로이드 ) (0) | 2019.09.20 |
03. ImageHandler 0.0.2 Beta Relese. Qt + QML + OpenCV (0) | 2019.09.03 |