급식먹조 - 급식( Geubsig )
1. 프로젝트 개요
- 프로젝트 주제
AI를 이용한 오브젝트 구분 & 데이터 시각화
- 개발 동기(프로젝트 선정 배경)
학교에 학생이 많아짐에 따라 급식실에 자리가 부족해졌다. 그래서 현재 학년마다 시간 차이를 두어 식사를 하고있지만 그럼에도 불구하고 자리가 부족하여 식사하기 곤란한 경우가 있다. 그래서 급식실에 사람이 얼마나 많은지를 확인하고 사람이 적을 때 식사를 하고 싶은 학생들에게 도움을 줄 수 있는 AI를 만들고자 한다.
- 수행 목표
* 급식 기다리는 시간 최소화
* 급식실 자리부족 현상 감소
* 유입 인원 예측으로 급식 잔반 감소
2. 팀 소개
김강현
이름 김강현 이메일 kanghyunkim313@gmail.com 역할 백엔드 깃허브 siwonKH
김성희
이름 김성희 이메일 rtg20051117@gmail.com 역할 프론트엔드 깃허브 ksh1117
조수빈
이름 조수빈 이메일 j2python@gmail.com 역할 데이터 라벨링 깃허브 github-jademon
김강현
이름 최홍찬 이메일 choihc8511@gmail.com 역할 프론트/백엔드, 머신러닝 깃허브 Sichu0725
※ 사진에 마우스를 올리면 상세 설명이 보입니다.
3. 사용 기술
- 개발에 사용한 기술
AI & 백엔드 : YoloV5, DeepSORT, Django
프론트 : React, Adobe XD
라벨링 : LabelIMG
Etc. Git, MariaDB
- 개발에 소요된 물품 및 준비물
엄청난 성능의 GPU를 가진 컴퓨터
4. 프로젝트 진행 과정(월별 진행상황)
5. 프로젝트 상세 소개
- 레이아웃 세부 설명
메인페이지
메인페이지
AI 검출결과 브로드캐스팅 + 검출결과를 토대로 현재 인원 및 대기시간을 알려줌
대시보드페이지
AI가 검출한 결과를 볼 수 있는 페이지, 일별, 급식시간 시작 후 5분간격, 최근 24시간 급식실 내 인원 수를 알려줌
- 데이터베이스 / 데이터플로우 / 시스템 구조
데이터베이스
- 라벨링 규칙
※ 보이는 곳 네모로 라벨링
※ 급식판 라벨링 x
- person(1)
급식판을 들고 있는 사람은 person 클래스를 만들어 라벨링
신체의 일부가 나오는 경우(발만 보이는 경우 제외)
1. 배식
급식판 드는 곳 부터 급식이 끝나는 곳 까지 라벨링
2. 퇴식
음식물 버리는 곳 부터 급식판 끝나는 곳 까지 라벨링
- sitting(81)
앉아있는 사람은 sitting 클래스를 만들어 라벨링
신체의 일부가 나오는 경우
의자에 딱 앉았을 때부터 (의자위에 엉덩이를 붙였을 경우, 먹고 있을 때와 자세 변경이 크지 않을 경우)
- cook(82)
급식 조리원은 cook 클래스를 만들어 라벨링
신체의 일부가 나오는 경우(다리가 보이지 않아도 다리부분 상상해서 라벨링)
급식 조리원의 경우 조리복이 보이며 조리모자를 쓴 경우
조리복의 경우 빨간색과 하약색 또는 파란색이 식별 가능해야함(하얀색만 보이는 경우는 제외)
- 세부 수행 과정
세부수행과정
6. 프로젝트 추진 결과
- 결과 분석
AI를 이용하여 현재 급식실 내 인원을 파악할 수 있다. 파악한 인원을 토대로 현재 대기시간을 구할 수 있다.