0%

표지판 분류 프로젝트

표지판 분류 프로젝트

  • 딥러닝 학습을 위한 표지판 분류 프로젝트에 대한 회고 입니다.

  • 전체 코드는 아래 링크를 참조해 주시고, 이곳에선 프로젝트의 Workflow와 기타 느낀점등을 공유하고자 합니다.

CNN을 활용한 표지판 분류 프로젝트notebook 바로가기

REVIEW 내용

  • 데이터 수집 및 전처리
  • 모델링

데이터 수집 및 전처리

  • "도로교통공단 교통안전표지 일람표”에서 adobe illustrator를 이용 이미지 추출했습니다.

  • 응? 하고 의문을 가지실수 있다고 생각합니다. 처음 표지판 분류 프로젝트를 진행하고자 했을때, 역시나 데이터를 다루는 분들이 가지는 문제인 데이터 확보에 부딪혔습니다.

  • '도로를 다니며 사진을 수집할수 없다면 사진 만들자! 그리고 실제 사진 가져다가 확인해보면 되지 뭐'라는 생각으로 진행해 보았습니다.

  • keras의 ImageDataGenerator를 이용해서 image augementation을 진행합니다.

  • 실제 도로에서 표지판이 찍힐때의 이미지처럼 왜곡, 회전, 명도 등을 설정했습니다.

  • 예를 들어 블랙박스 같은 경우 주로 광각을 많이 사용하기 떄문에, 화면 좌측 혹은 우측으로 갈수록 이미지가 왜곡됩니다. 이같은 현상을 참조하여 값을 정했습니다.

모델링

  • 이미지 분야에 최적의 성능을 보인다는 CNN(Convolutional Neural Network)기법을 사용해보았습니다.

  • EarlyStopping을 사용해 보았습니다.

  • loss값과 validation loss 값이 과적합 없이 수렴하는 것을 확인했습니다.

  • test데이터로 확인해본 결과 입니다.

  • 그럼에도 불구하고 틀리게 잘못 예측한 이미지를 눈으로 확인해 보았습니다.

  • 사람의 눈으로도 판단하기 쉽지 않은 이미지들이 보입니다.
  • Image Augementation 진행과정에서 판단이 쉽지않게 만들어진 사진들이 주로 보입니다.

실제 촬영 이미지로 결과 확인

후기

  • Image Augementation의 옵션을 더 조정해 모델 성능 개선을 꾀할수도 있겠지만, 결국 모델의 최적의 성능을 뽑아내기 위해선 실제 도로에서 수집된 이미지가 필요하다는 판단을 하게 되었습니다.

  • CNN, Image Augementation등 개념적으로 이해하던 분야를 실제로 적용해보고 튜닝해보는 과정을 거쳐 익히게 되었습니다.