배달 음식 수요 증가로 청년층의 건강이 악화되고 있으며, 1인 가구의 증가와 물가 상승으로 외식과 배달 음식 소비에 대한 부담감이 커지고 있습니다. 이러한 사회적 흐름에 이미지 분류 기술과 바코드를 활용한 간편한 식재료 등록 및 보유 식재료 기반 레시피 추천 기능을 제공하는 <텐서쿡드> 앱을 제안합니다. 이 앱을 통해 효율적으로 식재료를 관리하여 집밥 소비를 늘리고 건강한 식습관 형성에 도움을 주고자 합니다.
제가 개발한 이미지 분류 모델은 식재료를 추가할 때 사진 촬영 및 갤러리 선택을 통해 등록한 사진의 카테고리를 분류합니다.
분류 클래스는 식약처의 신선식품 기준으로 채소, 과일, 축산물, 해산물로 분류했습니다. 데이터 수집은 Kaggle의 공개 데이터세트와 이미지 크롤링 기술을 사용하면서 정확도가 떨어지는 것은 삭제하고, 자료가 부족한 클래스일 경우 일일이 자료를 찾았습니다. 이후 이미지 사이즈를 획일화시키고 전처리 및 데이터 증강 과정을 통해 데이터 세트를 늘려줬습니다.
모델 연동 로직 추가와 푸시 알림 기능, 전체적인 테스트를 맡았습니다.
모델 연동 로직 추가
[식재료 등록 뷰]
딥러닝 모델이 사용되는 구간은 카메라 촬영 후와 갤러리에서 이미지를 선택한 후입니다. 선택한 방식에 따라 처리하는 로직이 다르기 때문에 선택한 값을 “method” 키값에 담아 분기를 처리하였습니다.
선택 또는 촬영된 이미지는 이미지 모델에 입력할 수 있는 형태로 전처리 후에 입력되고, 도출된 분류 결과는 최종적으로 식재료를 등록할 수 있는 view에 반환됩니다.
푸시 알림 기능 개발
[알림 사진]
해당 기능은 NotificationManager와 NotificationChannel을 활용해 구현했습니다. 해당 기능은 백그라운드 서비스를 통해 1분마다 현재 시각을 받아온 뒤, 특정 시간이 되면 알림을 띄웁니다.
푸시 알림은 등록한 식재료의 유통기한이 임박한 식재료가 있을 때, 냉장고에 식재료가 등록돼 있지 않을 때, 식재료의 유통기한이 넉넉할 때 세 가지로 표출됩니다. 알림은 당월 식재료에 대해서만 제공되며 알림을 클릭하면 식재료가 등록된 냉장고로 들어가집니다.