• Home
  • About
    • HoeYeon Son photo

      HoeYeon Son

      Be Humble, Keep Practicing

    • Learn More
    • Github
    • Youtube
  • Projects

PlaceRecognition

01 Mar 2018

Reading time ~1 minute

개요

  • 엘리베이터가 사용자를 기준으로 왼쪽, 오른쪽, 가운데 중 어디에 있는지 Classification을 사용하여 알려주는 프로그램을 만들어봤다.

진행과정

데이터셋 준비

  • 학교엘리베이터로 실험을 하고 학습시키기 위해서 직접 동영상을 찍어온 뒤 프레임 단위로 나눠서 이미지로 만들었다.

dataset

  • 각각 train set은 1300개, validation set은 200개씩 준비했다.

shuffle

  • left, middle, right 순서대로 들어간 데이터를 셔플해줬다.

학습

  • train set 과 validation set을 각각 하나의 라벨당 1300개, 200개씩 설정했다.
  • 학습에는 Alexnet을 사용했다. 기존의 Alexnet은 image size가 224 x 224지만 연산량 초과로 사양에 맞게
    100 x 100으로 수정했다. 이곳을 참고했다.
  • 노트북 GPU가 지원이 안돼서 CPU로 학습을 시키려니 시간이 오래걸렸다. 어쩔 수 없이 자기 전에 학습시켜놓고 잠들었다.

결과

alexnet

정확도는 약 90% 정도였다.


  • 실제 다른 층의 엘리베이터로 실험을 하면??
  • 주변 환경이 조금 달라질 때는 오류를 보였지만 학습시킨 부분에 대해서는 만족스러운 결과를 보여줬다.

느낀점

  • 학습 데이터를 좀 더 포괄적으로 모아서 적용되는 범위를 넓혀보면 어떨까하는 생각이 들었다.
  • Alexnet을 VGG를 사용해서 학습시키면 정확도가 올라가지 않을까?
  • 데이터셋 준비부터 학습까지 처음 스스로 해본 프로젝트라 우여곡절이 많았지만 만족스러운 결과를 보여서 뿌듯했다. 좀 더 발전시켜서 left, middle, right, none 까지 되는 프로그램을 만들어보아야겠다는 생각이 들었다.


classificationprojectpythondeeplearning Share Tweet +1