본문 바로가기

프로젝트

최종 프로젝트 ( 킥보드 사진을 이용한 주차 가이드 앱) -디지털 스마트 부산 아카데미

※ 중간에 나오는 인물 사진은 저희 팀원들 것이므로 허가 없이 해당 사진을 공유하는 것은 금합니다.

 

선정한 데이터셋은 직접 촬영한 사진 및 크롤링으로 얻은 주차가 방치된 킥보드의 사진을 활용하였습니다. (예시 사진은 포트폴리오에 있습니다.)

https://github.com/MFINDUL/Portfolio

 

GitHub - MFINDUL/Portfolio

Contribute to MFINDUL/Portfolio development by creating an account on GitHub.

github.com

전체 프로젝트의 흐름을 적도록 하겠습니다.

 

 

금지구역은 어떻게 설정했나?

 

먼저 금지 구역 및 이후 사항을 언급하기 전에 저희가 지정한 앱의 흐름은 다음과 같습니다.

사용자가 반납을 위해 사진 촬영을 하려면 금지 구역 밖에 있어야한다.
사진 촬영 후에 서버 내에 데이터 흐름도

해당 구조를 위해서 금지 구역 설정을 가장 먼저 고려하였고, 네이버 api 를 활용하여 사용자 스마트폰 gps 를 통해 사용자의 위치가 법으로 지정된 6가지 구역 ( 보도와 차도가 구분된 차도 및 자전거도로 외 5가지 ) 에 포함되는지를 먼저 확인을 합니다.

직접 좌표값을 입력하여 동의대 내에 금지 구역을 설정함

 

yolo pose 및 seg 모델 활용

이후 사용자가 금지구역 외에 있다는 것을 판단하였다면, 카메라 촬영 부분으로 넘어가서 해당 사진 내에 킥보드가 있는지 여부 및 해당 킥보드가 세워져있는지와 해당 킥보드가 금지된 물체 위에 있지 않은지를 검사하기 위해

yolo 모델을 활용하여 seg 모델은 사진 내 클래스를 탐지합니다. 해당 seg 좌표 값을 통해 킥보드의 좌표 값이 다른 금지 클래스와 겹치진 않는지를 판단합니다.

 

pose 모델은 사진 내 킥보드의 핸들 및 앞,뒷바퀴의 키포인트 값을 갖고 옵니다.

이를 통해 핸들 및 앞 바퀴의 키 포인트 값을 기준으로 각도 계산을 하여 해당 세워져있는지를 판단합니다.

돌아보며

저번 프로젝트에서 기술적인 부분에 치우쳤던 것을 보완하여 최대한 목적성 있게 개발하려고 애썼고, 이를 통해 개인적으론 총장상이나 팀프로젝트 상을 받았으나 기술적으론 여전히 아쉬운 부분이 남아 있는 것 같습니다.