[CP1]PM 서비스 기획(9)-마무리-

포동동·2022년 9월 16일
0

Team Project(PM)

목록 보기
9/9
post-thumbnail

프로젝트 개요

팀 보고서


프로젝트 목적

  • 퍼스널 모빌리티(이하 PM)의 수요를 예측하고 이를 실시간 지도에 반영하여 공급의사결정을 내리는 것에 도움을 준다.
  • 헬멧 인증 및 주차 인증 마일리지 적립 서비스를 도입하여 안전하고 바람직한 PM 사용자 문화를 만든다.
  • 사고 시 대처 요령을 편리한 형태로 제공해 사용자와 서비스 간의 신뢰성을 구축한다.

프로젝트 배경

  • 최근 PM의 공유서비스 활성화로 인해 이용률이 증가함에 따라, 이를 공급하는 업체의 서비스를 비롯하여 안전성에 대한 관심이 높아지고 있다.
  • 따라서, 본 프로젝트에서는 데이터를 통한 PM관련 수요예측, 이미지 탐지 등을 개발하여 PM의 공급자와 사용자 모두에게 이익이 될 수 있는 서비스를 제공하고자 한다.

서비스 기능

  • Personal mobility 수요예측 기능(VAR 모델)
  • 헬멧/주차 인증 서비스(Yolo v5 모델)
  • 사고 대처 요령 안내


담당 파트 설명

  • 헬멧/주차 인증 서비스 시 입력되는 유저 데이터를 DB에 적재
  • 웹 구축
skillversion
개발환경MacOS
IDEVSCode
개발 FrameworkDjango4.1.1
프로그래밍 언어Python 3.9.12
DataBaseMySQL3.0.28(AWS RDS)
배포환경AWS

  • 개발은 전체적으로 MacOS M1+VSC에서 진행되었다.
  • 프레임워크과 언어는 최신 버전을 사용했으나 Python 같은 경우는 3.10.#으로 할 경우 딥러닝 모델을 위한 패키지와 충돌이 생겨 3.9.# 으로 진행되었다.
  • 유저정보와 인증 사진을 입력받아 저장하기 위해 DB는 MySQL을 사용하였다. PM 수요 예측 모델에서 서울시 따릉이 데이터를 사용하기 위해 MySQL에 넣어달라는 요청에 400MB 정도의 데이터를 적재하였다.
  • 배포 환경은 AWS EC2를 이용해 UbuntuCentOS7 서버에서 실행하려고 시도하였으나 패키지간의 충돌과 프리티어 요금으로 Yolo v5 모델의 용량을 감당할 수 없어 실패했다.


홈페이지 구조


  |-- Home
  |-- About
  |-- Functions
        |-- 수요 예측 기능
        |-- 헬멧 인증 기능
        |-- 주차 인증 기능
        |-- 사고 대처 안내
  |-- Team
  |-- Contact

  • 내비바부터 Footer의 모든 버튼을 눌러도 해당 페이지로 이동하게 설계하였다.
  • 기능에는 총 4가지 기능 페이지로 이동할 수 있도록 짰으며, 각각 필요한 정보를 입력하면 ML/DL 모델이 결과값을 리턴해주는 구조이다.
  • Team과 Contact칸에서는 팀원들의 소개와 각각의 Github과 Email로 넘어갈 수 있도록 링크를 걸어두었다.


개선점 및 회고

  1. 로그인 기능을 추가해 기존 회원들은 바로 정보가 입력되게 하고 싶다.
  2. 수요 예측 기능에서 ML 모델이 시계열 모델이었는데, 이미 있는 1월~6월까지의 데이터만 가지고 이미 알고 있는 7월의 데이터와의 차이를 계산하는 형태였다(7월 실제치-7월 예측치). 실시간 따릉이 데이터를 가져와 그것을 기준으로 다른 컬럼들을 가지고 예측하는 ML 모델을 짜봐도 좋지 않았을까 싶다. (담당 팀원의 강력한 시계열 예찬으로 어려웠다)
  3. 헬멧/주차 인증 파트에서 DL 모델이 Yolo v5여서 OpenCV로 쉽게 임포트 해와서 할 수가 없이 Pytorch hub를 전체 작업 폴더에 넣어야 해서 전체 용량이 너무 커져버렸다. 좀 더 쉬운 모델을 써서 경량화를 해보고 싶다.
  4. 사고 대처 안내 기능에서 원래는 챗봇 기능을 넣고 싶었으나, 그만한 법률 내용도 많이 없었고(신생법이라), 시간이 부족해 단순히 입력값을 선택하면 if문으로 결과문을 리턴하는 형태가 되었다. 좀 더 깜찍한 UI를 짜서 진짜 챗봇같은 기능을 구현해보고 싶다.
  5. 배포하고싶다. 배포를 하지 못 한 이유는 내 생각엔 아래와 같다.
    • AWS에 익숙하지 않다.
    • Linux 서버에 익숙하지 않았다.
    • ML모델과 DL모델에서 원하는 Python 버전이 달랐다.(DL이 3.9 미만을 원했는데 ML은 높을 수록 좋았다)
    • Yolo v5의 폴더가 너무 컸다.

따라서 10월 중순까지 위의 기능을 보완해서 배포까지 마쳐볼 예정이다.

Github

profile
완료주의

0개의 댓글