표지판 분류 프로젝트
딥러닝 학습을 위한 표지판 분류 프로젝트에 대한 회고 입니다.
전체 코드는 아래 링크를 참조해 주시고, 이곳에선 프로젝트의 Workflow와 기타 느낀점등을 공유하고자 합니다.
REVIEW 내용
- 데이터 수집 및 전처리
- 모델링
데이터 수집 및 전처리
- "도로교통공단 교통안전표지 일람표”에서 adobe illustrator를 이용 이미지 추출했습니다.
응? 하고 의문을 가지실수 있다고 생각합니다. 처음 표지판 분류 프로젝트를 진행하고자 했을때, 역시나 데이터를 다루는 분들이 가지는 문제인 데이터 확보에 부딪혔습니다.
'도로를 다니며 사진을 수집할수 없다면 사진 만들자! 그리고 실제 사진 가져다가 확인해보면 되지 뭐'라는 생각으로 진행해 보았습니다.
keras의
ImageDataGenerator
를 이용해서 image augementation을 진행합니다.
실제 도로에서 표지판이 찍힐때의 이미지처럼 왜곡, 회전, 명도 등을 설정했습니다.
예를 들어 블랙박스 같은 경우 주로 광각을 많이 사용하기 떄문에, 화면 좌측 혹은 우측으로 갈수록 이미지가 왜곡됩니다. 이같은 현상을 참조하여 값을 정했습니다.
모델링
이미지 분야에 최적의 성능을 보인다는
CNN(Convolutional Neural Network)
기법을 사용해보았습니다.EarlyStopping
을 사용해 보았습니다.
- loss값과 validation loss 값이 과적합 없이 수렴하는 것을 확인했습니다.
test데이터로 확인해본 결과 입니다.
그럼에도 불구하고 틀리게 잘못 예측한 이미지를 눈으로 확인해 보았습니다.
- 사람의 눈으로도 판단하기 쉽지 않은 이미지들이 보입니다.
- Image Augementation 진행과정에서 판단이 쉽지않게 만들어진 사진들이 주로 보입니다.
실제 촬영 이미지로 결과 확인
후기
Image Augementation의 옵션을 더 조정해 모델 성능 개선을 꾀할수도 있겠지만, 결국 모델의 최적의 성능을 뽑아내기 위해선 실제 도로에서 수집된 이미지가 필요하다는 판단을 하게 되었습니다.
CNN
, Image Augementation등 개념적으로 이해하던 분야를 실제로 적용해보고 튜닝해보는 과정을 거쳐 익히게 되었습니다.