2020년 한국방송·미디어공학회 추계학술대회 캡스톤디자인
Object Segmenation과 센서기술을 활용한 주방보조시스템
박정석, 김태호, 천승준, 김동호
서울과학기술대학교 전자IT미디어공학과
*[email protected]
,
**[email protected]
,
***[email protected]
****[email protected]
Kitchen Auxiliary System using Object Segmentation and Sensor
Park, Jungsuk Kim, Taeho, Cheon, Seungjun, Kim, Dongho
Seoul National University of Science and Technology
요약
최근 미디어 기술의 발달에 따라 문서 형태로 제공되던 기존의 서비스가 다양한 형태로 제공되고 있다. 그 중 요리의 경우, 사용자의 노하우가 부족하면 간접적인 도움으로는 한계가 있기 때문에 주방보조시스템을 구성하여 사용자에게 직접적인 도움을 제공하고자 하며 재료를 손질하거나 불을 사용할 때 시스템의 도움을 받을 수 있도록 했다. 우선 재료를 손질하는 경우 웹캠이나 핸드폰을 이용하여 요리 재료를 인식하고 사용자가 잘라야 할 요리 재료에 절취선을 제공하여 특별한 도구 없이도 시각적인 도움 을 받을 수 있도록 구현했으며 요리 재료를 인식하고 절취선을 제공하기 위해 물체 인식, Object Segmentation 알고리즘을 사용하여 재료의 영역을 파악한 뒤 OpenCV 라이브러리를 통해 실시간으로 절취선을 생성한다. 불을 사용하는 경우 적외선 온도 센서가 지속적으로 요리의 온도를 측정하여 UI에 표시한다. 이러한 서비스를 요리의 진행상태와 연동하여 제공함으로써 요리에 필요한 정보를 한눈에 확인할 수 있고 차후 가전제품과 연동되면 다양한 레시피를 누구나 편리하게 사용할 수 있을 것으로 기대된 다.1. 개발 동기
통신을 포함한 미디어 기술의 발전에 따라 거주 공간도 많은 변화를 겪고 있다. 최근 주목받고 있는 스마트 홈 기술은 그 중 집안의 가전제품 들이 상호 통신하며 사용자 편의성을 높이는 기술이다. 이러한 기술적 혁신을 적용할 수 있는 요소 중 아직 가전제품이 완전히 대체하지 못한 것이 요리이다. 현대의 요리 환경은 과거와 달리 영상 매체를 비롯한 미디어의 도움 으로 말이나 글 보다 더 명확한 형태의 도움을 받을 수 있지만 안타깝게 도 요리의 특성으로 인해 그 이상의 도움을 받기는 어렵다. 단순히 요리 재료를 손질하는 것조차 기계에게 맡긴다면 줄어드는 노동력 대비 매우 큰 비용이 필요하기 때문이다. 따라서 요리를 전문적으로 배우지 않고 요리를 하려는 사람이 늘어난 요즘 시대에 더 직접적인 도움을 줄 방법 을 모색하였다. 요리에 있어서 직접적인 도움이란 계량 및 계측을 자동화하는 것이 다. 요리는 아날로그 적인 모습과 달리 계량과 계측이 아주 큰 부분을 차지함에도 단순히 요리를 해보려는 사람에게 이에 필요한 장비를 요구 하기는 어렵다. 이 때문에 예로부터 요리 책자는 주변에서 쉽게 찾을 수 있는 물체로 계량과 계측을 대신하였다. 하지만 센서 기술은 물론이고 컴퓨터 비전을 통해 물체를 자동으로 판별할 수 있는 지금, 손가락 한 마디 크기로 자르라는 요리서적의 가이드를 시각적으로 어디를 잘라야 하는지 보여줄 수 있다면 좀 더 사용자 친화적인 요리 환경을 구성할 수 있을 것이다.2. 작품의 설명 및 구현 결과
본 시스템은 크게 2부분으로 나뉘어 있다. 1. 물체 인식 및 가이드 라인 생성을 수행하는 AI 파트 2. 조리법을 비롯한 정보를 표출할 UI 파트 AI : AI 파트는 컴퓨터에 연결한 웹 캠을 사용하는 방식과 핸드폰을 컴퓨터와 소켓을 통해 연결하여 사용하는 방식으로 구현되어 있다. 웹 캠을 사용하는 방식은 Mask R-CNN 알고리즘[1]을 사용하여 물체의 경 계면을 추정한 뒤 이를 감싸는 최소 크기의 사각형을 그리도록 구현하였 다. Mask R-CNN과 같은 Object Segmentation 알고리즘은 알고리즘 이 예측하는 물체의 범위가 계속 변하므로 물체를 감싸는 사각형이 지속 적으로 ‘진동’ 하며 이는 사용자가 바라보는 가이드라인이 계속 변화한 다는 것을 의미한다. 따라서 이를 해결하기 위해 일종의 마진을 두어 일 정한 거리나 각도 이상 변화하지 않는 경우 가이드라인이 변화하지 않도 록 했다. 또한 본 작품에서는 물체에 가이드라인을 그린 이미지를 화면 으로 출력하지 않지만 만약 이 이미지를 화면으로 출력하게 될 경우 약 2 FPS 정도의 영상을 재생하게 된다. 이 경우 완성도 측면에서 만족스 3922020년 한국방송·미디어공학회 추계학술대회 캡스톤디자인 럽다고 보기 어려우므로 멀티 프로세스 라이브러리를 사용하여 영상은 재생되고 가이드 라인만 2 FPS로 갱신되도록 코드를 따로 구현하였다. Mask R-CNN을 사용하는 방법은 물체가 회전해도 가이드 라인을 물체 에 맞춰 그릴 수 있기 때문에 실제 서비스에 적용할 수 있는 좋은 성능을 보이지만(그림 1), Mask R-CNN알고리즘이 많은 연산을 요구하기 때문 에 그래픽 카드가 탑재되지 않으면 이미지 처리속도가 매우 느리다는 단 점이 있다. 그림 1. Mask RCNN 알고리즘을 사용하여 당근을 탐지하고 가이드라인을 그린 모습. 핸드폰을 사용하는 방식은 모바일 버전 머신러닝 라이브러리 Tensorflow Lite [2]를 응용하여 구현하였다. Tensorflow Lite는 물체 탐색 알고리즘인 Mobile SSD 알고리즘[3]을 사용하였으며 클라이언트 인 모바일 앱은 PC에 있는 파이썬 서버에 의해 제어되고 동작 여부와 필요한 가이드라인의 간격을 서버로부터 넘겨 받아 동작한다. 이렇게 생 성된 이미지는 다시 파이썬 서버로 전송되며 만약 일정 시간 이상 전송 완료 메시지가 서버에 도착하지 않으면 자동으로 현재 받고 있던 파일을 중단하고 새로운 파일을 받도록 설계되어 있다. Mobile SSD 알고리즘 은 물체를 탐지하면 물체를 감싸는, 화면과 평행한 사각형을 생성한다. 따라서 물체가 카메라 화면과 평행하지 않으면 정확하게 가이드라인을 생성할 수 없지만 모든 연산을 핸드폰에서 수행하고 생성된 이미지만 컴 퓨터로 전송하므로 컴퓨터가 네트워크 통신만 수행할 수 있으면 사용 가 능하다는 장점이 있다. 요리 레시피로부터 일정한 길이의 가이드라인을 생성해 달라는 요 청이 들어왔을 때, 카메라의 높이에 따라 생성해야 하는 가이드라인의 간격이 달라져야 한다. 따라서 물체와의 거리를 파악하기 위해 이미 크 기를 알고 있는 마커를 이미지 매칭 방식으로 찾아 거리를 측정하는 기 능을 시험하였으나 사용자 개입이 없이는 정확하게 동작했는지 확인할 수단이 없어 데모를 위해 구성한 환경을 기준으로 사진의 픽셀 당 실제 거리 비율을 계산하여 구현하였다. (그림 2) 그림 2. 이미지 매칭을 통해 거리 측정을 테스트한 결과 UI : Node.js 기반으로 제작하여 각ejs 파일을 라우팅 및 렌더링하 여 표출해주는 방식으로 구현되었다. 기본적으로 웹 기반으로 사용자에 게 UI를 제공해주며 프로그램 메인 페이지(그림 3) 에서 메뉴바에 있는 Cook 버튼을 누르게 되면 프로그램이 제공하는 요리의 종류를 볼 수 있 는 게시판화면으로 이동하게 된다.(그림 4) 해당 페이지는 MongoDB를 이용하여 요리 이름과 설명부분을 추가하여 저장하면 key를 자동생성하 여 DB에 저장이 되고 게시판에 추가되는 과정을 가진다. 그림3. 메인 페이지 그림4. 메뉴 페이지 요리를 선택하여 start 버튼을 누르면 해당 요리의 단계 및 요리과 정을 도와주는 페이지를 서버가 DB에 등록된 음식의 이름 값을 받아와 라우팅하여 표출된다. 요리를 시작하면 (그림 5) 페이지가 열리며 오른 쪽의 각 step은 음식의 조리단계를 보여주며 물을 끓이는 단계에서는 온 도센서의 도움을, 재료를 자르는 단계에서는 AI 시스템의 도움을 받는 등의 구성이며 타 페이지에서 자르기 페이지로 넘어가면 AI시스템을 작 동시키고 반대의 경우에는 정지시키는 기능이 포함되어 있다. 393
2020년 한국방송·미디어공학회 추계학술대회 캡스톤디자인 그림 5. 1단계 페이지 AI시스템을 작동시키면 projector 폴더에 실시간으로 도마위의 물 체를 읽어 계속해서 가이드라인이 생성된 이미지파일을 만들어 내고 페 이지는 해당 폴더의 파일개수를 읽어 가장 마지막 사진의 전 단계 사진 의 주소 값을 파라미터로 넘겨주어 projector 페이지에 따로 표출을 해 준다. 해당 페이지는 도마위에 설치된 빔 프로젝터로 사용자가 쉽게 가 이드라인을 인지하고 요리에 도움을 받을 수 있게 한다. (그림6,7) 그림 6. 가이드라인이 있는 이미지 생성 준비 그림 7. 가이드라인이 있는 이미지 생성 후 표출 사용자가 스마트 키친을 사용할 때 각종 안전 환경을 대비하기 위한 환경 센서를 결합하여 사용자에게 각종 정보를 제공할 수 있다. (그림 8) 가스 센서와 아두이노,라즈베리파이의 결합을 통해 스마트 키친 내에서 위험가스 유출 시 위험 알람을 제공할 수 있으며 온도센서와 아두이노 D1 R1 와이파이 모듈을 결합하여 사용자가 요리를 준비하는 과정에서 UI화면을 통해 화구에 올라있는 냄비의 물의 온도나 프라이팬의 온도를 알게 하여 사용자가 요리하는 과정에 알맞게 준비할 수 있도록 하게 한 다. (그림 9) [5] 그림 8. 가스센서 및 온도센서 결합 모듈 그림 9. 사용자가 온도를 확인할 수 있는 페이지
3. 작품의 기대효과
스마트 키친이라는 독립적인 시스템이 아니라 스마트 홈의 일부로 동작하는 시스템이 된다면 온도 측정 센서를 비롯한 외부 센서의 도움 없이도 정확한 계량 및 계측이 가능해지며 핸드폰 카메라 만을 사용해도 충분한 서비스 완성도를 보일 수 있을 것이다. 이는 요리가 갖는 진입장 벽을 허물고 사용자에게 편의성을 제공하여 가정 요리가 더 활성화되고 보편화 되는 계기가 될 수 있으며 레시피를 사용자에게 제공하는 것뿐 아니라 사용자가 만든 요리의 레시피를 기록하여 공유하는 것 또한 가능 하게 할 것이다. 이러한 서비스는 현재는 프로젝터와 주방 디스플레이로 제공하지만 향후 AR 서비스와 연동되어 사용자 밀착형 서비스를 제공할 수 있을 것이다. 예를 들어 사용자가 오늘 먹은 음식 중 마음에 드는 음 식을 저장하면 시스템이 레시피를 검색하여 집에서 요리할 때 사용할 수 있도록 준비할 것이다. AR 서비스의 경우 게임이나 촬영 어플리케이션으로 많이 알려져 있 고 시장 규모 또한 급속도로 증가하고 있지만[4] 아직 AR 서비스를 일상 적으로 사용하지는 않는다. 이는 트렌드 변화를 선도할 장치의 부재도 크지만 굳이 AR을 써야 할 필요가 없다는 것도 요인 중 하나이다. 즉, 아직 AR의 강점을 드러낼 만한 서비스가 많지 않다는 것이다. 그러나 스마트 홈 시스템이 더 보급되면 요리를 하는 일련의 과정에서 굳이 화 면을 바라보지 않아도 서비스를 제공받을 수 있는 편의성은 AR 서비스 만이 보일 수 있는 강점이며 요리 보조 시스템은 AR이 사용자에게 제공 할 수 있는 강력한 솔루션 중 하나이다. 따라서 AR 서비스 보편화의 선 봉으로 자리매김하길 기대해볼 수 있다.4. 참고문헌
[1] K. He, G. Gkioxari, P. Dollar, R. Girshick, “Mask R-CNN”
2020년 한국방송·미디어공학회 추계학술대회 캡스톤디자인
In ICCV, 2017
[2] Tensorflow Lite, https://www.tensorflow.org/lite. [3] W. Liu, D. Anguelov, D. Erhan, C. Szegedy, and S. Reed, “SSD: Single shot multibox detector” In ECCV, 2016 [4] 이은민, “VR/AR 시장 전망 및 사업자 동향”, In KISDI 정보통 신방송정책 제 32권, 2020
[5] 한국과학창의재단, “아두이노를 이용한 IoT 홈오토메이 션 구현”, 2016