Plateknow 加入候補名單

Plateknow

拍照就能算熱量的 App,到底是怎麼算的?

更新於

你想要的是:對著便當拍一張,它告訴你這一餐大概多少熱量。這種 App 現在真的存在,而且比想像中好用——前提是你知道那個數字裡,哪一部分是量出來的,哪一部分是猜出來的。

我們自己在做這樣一個 App,所以這頁的立場你可以先打個折。但下面每一件事都可以自己驗證,而且技術有弱點的地方我們會直接寫出來,因為你用到第二個禮拜也會自己發現。

按下快門之後,實際發生的四件事

這個類別的 App 全都跑同樣四個步驟,差別只在每一步做得多好,以及願意讓你看到多少。

把那一盤切開

模型先把照片切成一塊一塊的食物區域:這坨是飯、這片是雞腿、這邊是燙青菜。這兩年進步最多的就是這一步,只要食物在視覺上分得開,現在做得相當好。

認出每一塊是什麼

每一塊會得到一個名字和一個信心值。「烤鮭魚」很簡單,「某種褐色的醬」很難——而一瓢醬的熱量常常比它淋在上面的那塊肉還高。

估份量——最難的一步

模型要估算每一種食物有幾公克。照片是平的,沒有深度資訊,所以體積是從表面積、從盤子的大小當比例尺、再加上「這種食物一份通常長怎樣」推出來的。幾乎所有的誤差都在這一步。

公克換成熱量

一旦知道是「165 公克的烤鮭魚」,熱量就只是查表,沒什麼不確定性了。不確定性在第三步就花完了。

最值得記住的一句話:它估的不是熱量,是公克數。 App 說「412 大卡」的時候,它真正在說的是「我覺得這大概是 165 公克的鮭魚」——該檢查的是那個 165。

什麼時候算得準

  • 有包裝、看得到標示的東西。那不是估算,是查表。
  • 食物分得開的餐盤:一塊肉、一份飯、一份菜,沒有黏在一起。
  • 形狀固定、密度穩定的東西:一顆蛋、一片吐司、一根香蕉、一塊雞胸。
  • 你常吃的東西。修正過一次之後,做得好的 App 應該就不會再錯同一餐。
  • 看一週的走勢。就算每一餐都有誤差,一週的方向通常是對的——而大部分人真正想知道的其實就是方向。

什麼時候會失準,以及為什麼

  • 油。 照片完全看不到,熱量卻極高。同一盤炒青菜,看廚房下多少油,可以差到 200 大卡以上,而相機看不出來。
  • 滷汁、醬汁、肉燥。 滷肉飯的熱量幾乎全看那一瓢肉燥的肥瘦比和份量,而那正好是照片最難判斷的部分。
  • 混在一起的菜。 咖哩、燴飯、羹、湯類。切割需要看得見的邊界,一碗羹沒有邊界。
  • 碗的深度。 從正上方拍一碗麵,看到的是表面,不是它有多深。兩碗看起來一樣的麵,份量可以差很多。
  • 訓練資料裡沒有的食物。 一個主要用西式餐盤訓練出來的模型,看到夜市小吃、超商便當或自助餐夾的一盤菜就會失準。這是資料問題,不是物理問題——可以修,但前提是那個 App 真的有為你吃的東西訓練過。

台灣人吃的東西,特別難在哪

不是刁難,是這幾類食物剛好踩在上面每一個弱點上:

常見的幾類,以及照片能看到/看不到什麼。這是我們做這件事的工程判斷,不是實測數據。
食物照片看得到難在哪
超商便當主菜、配菜、飯的表面積還算好處理,主要變數是飯的份量和主菜的烹調方式
滷肉飯一碗白飯,上面一層褐色肉燥的量和肥瘦比決定一切,而那正是看不出來的部分
自助餐夾的一盤好幾種菜,邊界清楚切割沒問題,難在每一格的油量都不一樣
麵線、羹類一碗糊狀物沒有邊界可切,勾芡的濃度也看不出來
鹽酥雞、炸物份量估得出來吸油量差異極大,同樣重量可以差很多
手搖飲一杯有顏色的液體糖量完全看不出來。這件事只能靠你自己輸入,任何相機都沒辦法
手搖飲請直接手動輸入甜度。這不是哪個 App 做得比較差的問題——糖溶在水裡,光學上就是看不到。

挑 App 之前,先確認這幾件事

  1. 它會不會給你看它怎麼認的? 如果只丟一個數字給你,你根本無從知道它把雞肉當成了豆腐。看得到辨識過程不是花招,那是你唯一的稽核紀錄。
  2. 改一個份量要點幾下? 拿第一餐試試看。如果修正比手動記還麻煩,那這個 App 並沒有真的解決它宣稱要解決的問題。
  3. 份量能不能抓 1/3、1/2? 「這碗大概吃了三分之二」是現實中最常見的修正,只給「一份」的 App 你會每天被煩到。
  4. 免費的部分具體是什麼? 「免費下載」不是免費方案。在你花一個晚上設定之前,先找到「不付錢可以掃幾次」這個數字。
  5. 不註冊能不能先用? 還沒看到任何結果就要你先辦帳號,代表這個產品優先在意的是註冊數,不是你。

我們在做的東西

Plateknow 是一個 iOS App,做的就是上面那四步,而且會把第二步給你看。你會看到那一盤被一塊一塊框出來——那正是讓數字可信的原因。每一張結果卡上都有一直看得到的修正按鈕,不是藏在編輯模式裡。份量可以抓分數。也有一個完全不設目標的模式,只是把一天記下來,因為很多人只是想看看自己吃了什麼,不想被指派一個數字。

還沒上架。預計 12 月送審。

上架前

搶先用到,順便告訴我們該做什麼。

TestFlight 搶先體驗,測試期間不收費。

選填,但這是你能給我們最有用的東西。

上架時寄一封信,就這一封。不發電子報,不外流你的信箱。 我們怎麼處理

拍照算熱量需要連網嗎?

多數需要,因為模型跑在伺服器上,不是手機上。這件事有隱私上的意義:你的食物照片會離開你的手機。任何這類 App 都應該清楚告訴你會不會、以及照片留多久。

可以拍菜單或包裝標示嗎?

有些 App 也讀文字,這對包裝標示很有用,對餐廳菜單則幫助有限——菜單告訴你菜名,不會告訴你份量,也不會告訴你廚房下了多少油。

掃條碼是不是比較準?

包裝食品當然是,條碼是精確比對。拍照要處理的是沒有條碼的東西,而那對多數人來說就是他們吃的大部分。

算出來的熱量可以拿來當醫療依據嗎?

不行。這類 App 不是量測儀器,也不該被當成量測儀器。有醫療需求請找營養師或醫師。