본문 바로가기

딥러닝을 활용한 음식 인식 시스템

  • 김진성
  • 인천대학교
  • 작품구분일반형
  • 공개여부공개
  • 카테고리정보, 전자, 생활
  • 등록일2017-06-09
  • 팀원(공동개발자)김정준, 장세운, 김다솜
  • 출품 경진대회송도산업단지캠퍼스 캡스톤디자인 성과전시회

상세설명

1. 수행배경

점심시간에 카페테리아 식당을 이용해 본 사람이라면 줄이 길어 답답하다는 생각을 해본 적이 있을 것이다. 캐셔가 따로 없고 영양사 분이 주방 일, 결제를 동시에 진행하느라 결제가 늦고 이따금씩 실수도 하신다. 캐셔가 하는 일을 로봇이 대신한다면 결제도 빨라지고, 영양사 분도 한 가지 일에만 집중할 수 있으실 텐데 하는 생각이 들었다. 우리가 개발한 식당 무인결제 시스템을 도입한다면 위와 같은 문제점도 어느 정도 해소되고, 교내 구성원 전반의 생활 만족도가 높아질 것이라 생각하였다.

2. 수행기간

< 3>

- 산단에 지원서 제출 후 기다리는 기간동안 딥러닝 스터디 진행

모두를 위한 딥러닝(김성훈 교수님): https://hunkim.github.io/ml/

 

 

< 4>

(1주차)

- 산단 지원서 승인 후 지원받은 금액으로 그래픽카드, , 파워서플라이 구입.

- 딥러닝 강의 들으며 학습 병행

(2주차)

- 기존 시스템에 지원받은 부품 조립
- 딥러닝 환경 설치(정준: Tensorflow, 진성: Keras로 구축하여 따로 학습 진행)

(3, 4주차)

- 딥러닝 튜토리얼 진행 중 정준 컴퓨터 알 수 없는 오류로 진행 안됨.
진성 컴퓨터로 프로젝트 진행하기로 함.

< 5>

(1주차)

- 식판 이미지로부터 ROI 추출하는 코드 구현

(2주차)

- 정준, 세운(같은 캡스턴 팀원)이 결과물을 GUI로 출력하기 위해 구축 중
(현재도 진행 중)

- 딥러닝 모델은 아직 구축 중.

(3주차)

- 딥러닝 모델 구축 완료, 딥러닝 모델 학습과, 임의로 넣은 음식 이미지를
제대로 분류하는 것까지 확인.

(4주차)

- 앞서 만든 ROI 추출 코드와 딥러닝 모델의 판별부를 하나의 코드로 병합.
식판 이미지로부터 그 위에 무슨 음식들이 구분해내는 과정을 코드 하나로
처리.

< 6>

(1주차)

카메라 모듈로 식판을 찍어 그 결과물을 GUI에 메뉴와 총 금액을 출력하도록 구현.

3. 개발작품 설명

(1) 개발도구

구분

항목

활용

HW

컴퓨팅 시스템

CPU: Intel i7-4770

GPU: NVIDIA GTX1080ti

RAM: 16GB

딥러닝은 빠른 그래픽 연산이 중요하다. 따라서 최대한 좋은 그래픽 카드를 사용하였다. 빠른 데이터 처리를 뒷받침하기 위해 넉넉한 클럭의 CPURAM도 사용했다.

I/O- 주변기기

마우스, 키보드, 모니터 등

마우스와 키보드로 사용자의 입력을 받고, 모니터로 결과를 출력하였다.

I/O- 웹캠

Microsoft LifeCam

식판 부분을 찍어 이미지 데이터로써 출력한다.

촬영 박스

직접 제작

일정한 환경에서 식판 사진을 찍을 수 있도록 돕는다.

SW

OS

Ubuntu 16.04 LTS

사용자가 많아 확장성이 좋은 Linux시리즈이다.

개발 언어

Python 2.7

Keras 라이브러리를 사용하기 위해 차용된 언어. 그 외 영상처리, GUI 코드 등도 Python으로 작성되었다.

딥러닝 프레임워크

Keras
(With Theano backend)

딥러닝 학습을 위한 데이터셋 생성, 딥러닝 모델 학습 진행의 전반을 담당한다.

영상처리

openCV + skimage

영상처리 관련 함수들이 포함된 파이썬 라이브러리. 식판에서 음식 부분을 ROI로 추출 해낼 때 이용되었다.

GUI

wxpython

python으로 GUI를 만들 때 널리 이용되는 라이브러리. 메뉴와 가격표를 출력할 때 사용되었다.

NVIDIA GPU Support

CUDA 8.0 + CUDNN 6.0

딥러닝 학습 시 NVIDIA 사의 그래픽카드를 리소스로 활용하려면 CUDACUDNN이라는 추가 요소들을 설치해야 한다.


(2)
작품 구성 요소

입력부

- 웹캠

1) 웹캠으로 식판 촬영

2) 촬영된 식판 이미지를 jpg 포맷의 파일로 저장

 

- 학습 할 이미지 다운로드

1) 크롬 웹브라우저 플러그인의 기능을 활용해 구글 이미지에서 해당 음식에 대한 이미지들을 대량으로 다운로드, 이후 각 음식에 대한 양질의 이미지를 104장씩 추출

 

처리부

- 영상처리

1) 웹캠으로부터 저장 된 이미지를 전처리

2) 음식 부분을 관심영역(ROI)으로 지정하여 추출

 

- 딥러닝

1) 딥러닝 모델 학습을 위한 이미지 데이터셋 생성

2) 생성 된 데이터 셋을 1500번 반복하여 딥러닝 모델 학습, 학습이 끝난 모델을 저장

 

출력부

- GUI

1) 처리부에서 생성된 음식 사진들을 미리 학습 된 딥러닝 모델에 입력
2) 딥러닝 모델이 입력받은 이미지가 무슨 음식인지 판별

3) 판별 된 음식의 이름, 개별 가격, 총액을 GUI에 출력, 사용자가 모니터로 확인


4. 활용방안

카페테리아 형식을 취한 식당의 캐셔
1) 인건비 대폭 절감

멘도롱또똣 팀의 순수 시스템 구축 비용: 70만원 (GPU의 가격이 제일 높은데, 매일 신메뉴를 신경망 모델에 추가하지 않는 이상 쓰일 일이 거의 없음. 필요할 때 마다 소정의 금액만 받고 학습모델을 업그레이드 하는 방식으로 사업 진행.)

캐셔 고용비: 월 약 1,397,520 (최저시급으로 매일 일할 때의 한 달 월급)

 

 

2) 대기 시간 감소 (쾌적한 환경 조성)

캐셔가 계산하는데 걸리는 시간: 평균 20.2 (20번 측정 평균값)

멘도롱또똣 팀의 시스템이 계산하는데 걸리는 시간: 10초 안팎

소개 영상

소개 슬라이드

정보가 없습니다.

기타자료

댓글