(Notion) Machine Learning Project
👻 프로젝트 주제
- 사물인식 기술을 사용해 사용자가 입력한 사진에 있는 물고기의 정보 제공
👻필수 구현 기술
-
CRUD(Create, Read, Update, Delete)
-
Flask
or Tensorflow
or Pytorch
사용
-
인식하려는 객체와 제공 서비스 목적
에 따라 전이학습 또는 모델을 튜닝해서 학습
👻 필수 포함 사항
😇 필수 기능
- 사물인식 기능
- 웹 상의 서비스
- 사용자가 이미지를
업로드
하면 해당 이미지의 카테고리
를 출력
- 사물 인식을 통해
달성하고자 하는
기능
- 사용자가 잡은 물고기의 사진을 업로드하면, 물고기의
품종 및 간략한 설명, 시세 등을 제공
하는 기능 구현
- 이미지마다 인식한 사물의 정보를
로그
에 저장
😇 추가 기능
- 커스텀 데이터셋
- 브라우저의 웹캠 기능 사용으로 촬영 혹은 실시간으로 사물인식
- 결과 공유 기능
- 소셜 로그인(구글, 카카오) 기능
👻 MOCKUP 및 DB 작성
😇 MOCKUP
- Figma를 통해 목업 작성
😇 ERD 작성
- mongoDB를 사용할 예정이지만, 데이터베이스의 구조를 쉽게 이해하기 위해 작성
😇 mongoDB
fish{
"fish_id" : "물고기 아이디",
"name" : "이름",
"desc" : "설명",
"image" : "사진",
"datetime" : "등록시간"
}
log {
"log_id" : "로그 아이디",
"fish_id" : "물고기 아이디",
"name" : "이름",
"desc" : "설명",
"image" : "사진",
"datetime" : "등록시간"
}
👻 컨벤션
😇 GitHub
- 이번 프로젝트를 진행하며
branch
를 적극적으로 활용하기로 하였고, 이에 대한 연습을 수차례 진행
- 아래와 같이 이름을 나눌 예정이며, 기능별로 관리할 수 있는 역량을 기르기 위한 연습 진행
- 브랜치 이름
- F/main (물고기 조회)
- F/sub (버튼)
- B/API
- B/deep
- commit 메세지에 대한 규칙도 설정하여 insta-clone project에서도 연습해왔던 것과 같이 활용
😇 변수명
- 각 언어별 변수명 설정
- 각 언어별 특성에 맞추려 노력하였고, 사소한 부분은 팀원들과의 조율을 통해 설정
👻 기능 명세서
😇 첫 화면
- 날씨모양 아이콘(해/구름/비/눈)
- 물고기 버튼
Gather around N.11
로고
😇 메인페이지
- 물고기 사진 업로드 버튼
- 학습한 모델을 이용하여 물고기를 인식하고 결과값을 도출
- 물고기 이름
- YOLO 모델로 분류한 물고기의 이름을 가져와 제시
- 물고기 시세
😇 도전과제
- 메인 페이지 - 비슷한 종류의 물고기 추천
- 내가 잡은 물고기