2020. 12. 27. 19:10ㆍ카테고리 없음
저는 한가지 게임을 하고 있습니다.
이 게임 내에는 보물찾기가 있습니다. 습득한 지도를 해석을 하고 해석된 지도를 보고 묻혀진 위치로 이동하여 보물을 얻을 수 있습니다.
그렇기 때문에 게이머는 해석된 지도를 들고 전체지도 내에서 어느 구역에 위치하는 지를 찾아야 합니다. 전체지도가 꽤나 넓기 때문에 그 구역을 찾는 건 숙련된 게이머가 아니면 시간이 많이 소요됩니다.
이를 머신러닝으로 해결할 수 있지 않을까라는 생각에 시작된 프로젝트 입니다.
한명의 게이머가 습득할 수 있는 지도는 많지 않기 때문에 정답 세트를 만들기 위한 데이터는 부족합니다. 정답의 수는 80개 정도 되며, 현재는 각 정답마다 1~3장정도의 이미지 밖에 없습니다. 부족한 학습 자료를 보완할만한 방법을 찾는 것도 공부가 될 것 같습니다.
애플리케이션의 목표 (usecase)
- 사용자가 해석한 보물지도를 캡쳐하여 파일로 업로드 시 지도의 위치(POI)를 알려준다.
- 데이터가 쌓일 수록 정확해지는 모델을 생성한다.
- 정답률 및 학습에 사용된 정보량을 공개한다.
- 사용자를 위해 영문으로 작성한다.
다음과 같은 기능으로 작동하는 웹 애플리케이션을 만들어보려고 합니다.
1. 딥러닝을 통해 소스로 부터 유사한 이미지 찾기
- 어떠한 알고리즘을 사용할지는 아직 탐색 중 입니다. 번호판 인식하기에 주로 사용되는 CNN 알고리즘을 고려하고 있습니다.
2. API 서버
- 소스를 업로드 할 웹페이지와 머신러닝의 연결을 위한 api서버를 Express.js로 구현합니다.
- 전달받은 소스는 스토리지에 저장 후 추가 학습을 위한 자료로 사용합니다.
3. 웹페이지
- 사용자가 정답을 확인하기 위한 이미지 소스 업로드
- 사용자가 결과 확인을 하고 관련 피드백을 전달
- Next.js로 구현합니다.
4. 관리자 페이지
- 업로드 된 데이터 확인, 재학습
- React로 구현하며, 별도 템플릿으로 React-admin을 사용합니다.
모두 수박 겉핧기 정도로 알고 있는 기술들이라 실제 프로젝트로 구현해보며 발생한 이야기들을 포스팅 하려합니다.