개요
- 엘리베이터가 사용자를 기준으로 왼쪽, 오른쪽, 가운데 중 어디에 있는지 Classification을 사용하여 알려주는 프로그램을 만들어봤다.
진행과정
데이터셋 준비
- 학교엘리베이터로 실험을 하고 학습시키기 위해서 직접 동영상을 찍어온 뒤 프레임 단위로 나눠서 이미지로 만들었다.
- 각각 train set은 1300개, validation set은 200개씩 준비했다.
- left, middle, right 순서대로 들어간 데이터를 셔플해줬다.
학습
- train set 과 validation set을 각각 하나의 라벨당 1300개, 200개씩 설정했다.
- 학습에는 Alexnet을 사용했다. 기존의 Alexnet은 image size가 224 x 224지만 연산량 초과로 사양에 맞게
100 x 100으로 수정했다. 이곳을 참고했다. - 노트북 GPU가 지원이 안돼서 CPU로 학습을 시키려니 시간이 오래걸렸다. 어쩔 수 없이 자기 전에 학습시켜놓고 잠들었다.
결과
- 실제 다른 층의 엘리베이터로 실험을 하면??
- 주변 환경이 조금 달라질 때는 오류를 보였지만 학습시킨 부분에 대해서는 만족스러운 결과를 보여줬다.
느낀점
- 학습 데이터를 좀 더 포괄적으로 모아서 적용되는 범위를 넓혀보면 어떨까하는 생각이 들었다.
- Alexnet을 VGG를 사용해서 학습시키면 정확도가 올라가지 않을까?
- 데이터셋 준비부터 학습까지 처음 스스로 해본 프로젝트라 우여곡절이 많았지만 만족스러운 결과를 보여서 뿌듯했다. 좀 더 발전시켜서 left, middle, right, none 까지 되는 프로그램을 만들어보아야겠다는 생각이 들었다.