Plateknow 대기자 명단 신청

Plateknow

음식 사진 칼로리 앱은 실제로 어떻게 계산하나

업데이트

원하시는 건 간단합니다. 밥상을 향해 한 장 찍으면 이 끼니가 대략 몇 칼로리인지 알려 주는 앱. 그런 앱은 이제 실제로 있고, 생각보다 잘 됩니다 — 그 숫자에서 어디까지가 측정이고 어디부터가 추정인지 아신다면요.

저희도 이런 앱을 만들고 있으니 이 글의 열의는 감안하고 읽으셔도 됩니다. 다만 아래 내용은 전부 직접 확인하실 수 있고, 기술이 약한 부분은 그대로 적었습니다. 어차피 둘째 주면 아시게 될 것들이니까요.

셔터를 누른 뒤 벌어지는 네 가지

이 분야의 앱은 전부 같은 네 단계를 거칩니다. 차이는 각 단계를 얼마나 잘하는지, 그리고 그중 얼마를 보여 주는지입니다.

분할 — 상을 조각내기

모델이 사진을 음식 영역으로 나눕니다. 이건 밥, 저건 제육, 저쪽은 나물. 최근 2년간 가장 크게 좋아진 단계이고, 음식이 시각적으로 분리돼 있으면 지금은 상당히 잘합니다.

인식 — 각 조각에 이름 붙이기

조각마다 이름과 확신도가 붙습니다. "구운 연어"는 쉽습니다. "갈색 양념 무언가"는 어렵고, 양념 한 국자가 그 위에 올라간 고기보다 열량이 높은 경우도 흔합니다.

양 추정 — 가장 어려운 단계

각 음식이 몇 그램인지 추정합니다. 사진은 평면이라 깊이 정보가 없습니다. 부피는 보이는 면적, 기준물(보통 그릇), 그리고 "이 음식 1인분은 대개 이렇게 생겼다"는 사전지식으로 추론됩니다. 오차의 대부분이 여기 있습니다.

조회 — 그램을 칼로리로

"연어 165 g"까지 오면 칼로리는 표 조회일 뿐 거의 불확실하지 않습니다. 불확실성은 3단계에서 이미 다 썼습니다.

가장 쓸모 있는 한 문장: 추정되는 것은 칼로리가 아니라 그램입니다. 앱이 412 kcal이라고 할 때 실제로 하는 말은 "연어가 대략 165 g인 것 같다"이고, 확인할 값은 그 165입니다.

잘 맞는 경우

  • 포장에 표시가 보이는 제품. 추정이 아니라 조회입니다.
  • 음식이 서로 떨어져 있는 상 — 고기 한 접시, 밥 한 공기, 나물 한 접시.
  • 모양이 일정하고 밀도가 안정적인 것: 달걀, 식빵 한 장, 닭가슴살, 바나나.
  • 자주 드시는 것. 한 번 고쳐 주면 잘 만든 앱은 같은 끼니를 다시 틀리지 않아야 합니다.
  • 일주일 흐름. 끼니마다 오차가 있어도 한 주의 방향은 대체로 맞고, 대부분의 분들이 실제로 원하는 건 방향입니다.

한국 밥상이 특히 어려운 이유

까다로워서가 아니라, 이 음식들이 위 약점들을 정확히 밟기 때문입니다.

자주 드시는 형태와, 사진이 볼 수 있는 것 / 볼 수 없는 것. 실측이 아니라 저희가 만들면서 얻은 공학적 판단입니다.
형태사진이 보는 것어려운 지점
백반 한 상접시 여러 개, 경계는 뚜렷분할은 쉬운데 접시마다 기름과 양념이 달라 양 추정이 접시 수만큼 곱해짐
김치찌개·국물류한 그릇의 표면깊이가 안 보이고, 무엇보다 국물을 드셨는지 남기셨는지 카메라는 알 수 없음
비빔밥섞인 뒤에는 갈색 한 덩어리비비기 전에 찍는 편이 훨씬 정확함. 참기름 양은 여전히 안 보임
배달 치킨조각 수와 크기튀김옷 두께와 흡유량 차이가 커서 같은 무게라도 편차가 큼
떡볶이양념에 잠긴 떡떡 개수는 표면만 보이고, 양념의 당분은 광학적으로 보이지 않음
커피·음료색이 있는 액체시럽과 설탕은 보이지 않음. 이건 어떤 카메라도 못 하니 직접 입력해야 함
국물은 직접 알려 주셔야 합니다. 드셨는지 남기셨는지에 따라 같은 사진이 전혀 다른 끼니가 되고, 사진만으로는 구분할 방법이 없습니다.

앱을 고르기 전에 확인할 것

  1. 어떻게 인식했는지 보여 주는가. 숫자만 뱉으면 닭고기를 두부로 봤는지 알 길이 없습니다. 보이는 분할은 장식이 아니라 유일한 감사 기록입니다.
  2. 양을 고치는 데 몇 번 눌러야 하는가. 첫 끼니로 시험해 보세요. 고치는 게 직접 기록보다 번거로우면, 그 앱은 광고한 문제를 실제로 풀지 못한 겁니다.
  3. 1/3, 1/2 단위가 되는가. "이 그릇의 3분의 2쯤"은 현실에서 가장 흔한 수정인데, 1인분 단위만 있는 앱에서는 표현할 방법이 없습니다.
  4. 무료의 범위가 구체적으로 무엇인가. "무료 다운로드"는 무료 요금제가 아닙니다. 저녁 한 번을 설정에 쓰기 전에 "돈 안 내고 몇 번 찍을 수 있는지" 숫자를 찾으세요.
  5. 계정 없이 써 볼 수 있는가. 결과를 하나도 보기 전에 가입부터 요구한다면, 그 제품이 우선하는 것은 가입 수이지 사용자가 아닙니다.

저희가 만들고 있는 것

Plateknow는 위 네 단계를 수행하고 2단계를 보여 주는 iOS 앱입니다. 상이 조각조각 잘려 나가는 것을 보시게 되고, 그것이 숫자를 믿을 만하게 만듭니다. 모든 결과 카드에는 수정 버튼이 편집 모드 안이 아니라 늘 보이는 자리에 있습니다. 양은 분수 단위로 조절됩니다. 목표를 전혀 세우지 않고 하루를 기록만 하는 모드도 있습니다. 음식을 보고 싶을 뿐 숫자를 배정받고 싶지는 않은 분이 많기 때문입니다.

아직 출시 전입니다. 12월 심사 제출이 목표입니다.

출시 전

먼저 써 보시고, 무엇을 만들지 알려 주세요.

TestFlight 사전 체험, 베타 기간에는 무료입니다.

선택 사항이지만, 보내 주실 수 있는 것 중 가장 쓸모 있습니다.

출시될 때 메일 한 통만 갑니다. 뉴스레터도, 주소 공유도 없습니다. 처리 방식

인터넷 연결이 필요한가요?

대부분 필요합니다. 모델이 휴대폰이 아니라 서버에서 돌기 때문입니다. 여기에는 알아 두실 만한 개인정보 함의가 있습니다 — 음식 사진이 기기를 떠납니다. 이런 앱이라면 그 사실과 보관 기간을 분명히 밝혀야 합니다.

메뉴판이나 포장 표시를 찍어도 되나요?

글자를 함께 읽는 앱도 있습니다. 포장 표시에는 잘 맞고 식당 메뉴판에는 별로입니다 — 메뉴판은 이름을 알려 줄 뿐 양도, 주방에서 넣은 기름도 알려 주지 않습니다.

바코드 스캔이 더 정확한가요?

포장 식품은 분명히 그렇습니다. 바코드는 정확한 대조니까요. 사진 추정은 바코드가 없는 음식을 위한 것이고, 대부분의 분들에게는 그게 드시는 것의 대부분입니다.

의료 목적으로 써도 되나요?

안 됩니다. 이런 앱은 계측기가 아니며 그렇게 다뤄서도 안 됩니다. 의료적 필요가 있으시면 영양사나 의사를 찾으세요.