유사한 이미지 찾기 웹 애플리케이션 제작

2020. 12. 27. 19:10카테고리 없음

저는 한가지 게임을 하고 있습니다.

이 게임 내에는 보물찾기가 있습니다. 습득한 지도를 해석을 하고 해석된 지도를 보고 묻혀진 위치로 이동하여 보물을 얻을 수 있습니다. 

그렇기 때문에 게이머는 해석된 지도를 들고 전체지도 내에서 어느 구역에 위치하는 지를 찾아야 합니다. 전체지도가 꽤나 넓기 때문에 그 구역을 찾는 건 숙련된 게이머가 아니면 시간이 많이 소요됩니다. 

이를 머신러닝으로 해결할 수 있지 않을까라는 생각에 시작된 프로젝트 입니다.

한명의 게이머가 습득할 수 있는 지도는 많지 않기 때문에 정답 세트를 만들기 위한 데이터는 부족합니다.  정답의 수는 80개 정도 되며, 현재는 각 정답마다 1~3장정도의 이미지 밖에 없습니다. 부족한 학습 자료를 보완할만한 방법을 찾는 것도 공부가 될 것 같습니다.  

 

애플리케이션의 목표 (usecase)

- 사용자가 해석한 보물지도를 캡쳐하여 파일로 업로드 시 지도의 위치(POI)를 알려준다.

- 데이터가 쌓일 수록 정확해지는 모델을 생성한다.

- 정답률 및 학습에 사용된 정보량을 공개한다. 

- 사용자를 위해 영문으로 작성한다. 

 

다음과 같은 기능으로 작동하는 웹 애플리케이션을 만들어보려고 합니다.

 

1. 딥러닝을 통해 소스로 부터 유사한 이미지 찾기

- 어떠한 알고리즘을 사용할지는 아직 탐색 중 입니다. 번호판 인식하기에 주로 사용되는 CNN 알고리즘을 고려하고 있습니다.

 

2. API 서버

- 소스를 업로드 할 웹페이지와 머신러닝의 연결을 위한 api서버를 Express.js로 구현합니다.

- 전달받은 소스는 스토리지에 저장 후 추가 학습을 위한 자료로 사용합니다.

 

3. 웹페이지

- 사용자가 정답을 확인하기 위한 이미지 소스 업로드 

- 사용자가 결과 확인을 하고 관련 피드백을 전달 

- Next.js로 구현합니다.

 

4. 관리자 페이지

- 업로드 된 데이터 확인, 재학습

- React로 구현하며, 별도 템플릿으로 React-admin을 사용합니다.

 

모두 수박 겉핧기 정도로 알고 있는 기술들이라 실제 프로젝트로 구현해보며 발생한 이야기들을 포스팅 하려합니다.