iT邦幫忙

2025 iThome 鐵人賽

DAY 3
0
AI & Data

AI 營養師 + Web3 數位健康護照系列 第 3

Day3. 從零開始打造個人專屬 AI 營養顧問(二):資料來源、收集與應用

  • 分享至 

  • xImage
  •  

透過深度學習模型,自動判斷餐盤中的食物種類,並進一步估算營養成分,對於飲食管理、健康照護、餐飲業數位化轉型等場景具有極高的價值。然而,AI 模型的效能極大程度依賴於資料來源的品質與多樣性。因此,如何收集、整理並有效運用食物圖片資料,成為此領域的核心課題。

https://ithelp.ithome.com.tw/upload/images/20250916/201292201AwNTXvTTU.jpg

一、資料來源

1. 公開資料集

目前已有數個專門針對食物影像辨識的公開資料集,常見的包含:

  • Food-101:含有 101 類食物、10 萬張圖片,為最早且廣泛使用的基準資料集。
  • UECFOOD100/256:由東京大學發表,針對日式餐點,標註較精細,適合做物件偵測與多食材分類。
  • ETHZ Food-475:更大規模的多國飲食影像,增加了跨文化差異的挑戰。
  • Recipe1M:結合食譜與食物圖片,支援「圖像到文字」的跨模態研究。

這些資料集的優勢在於標準化,能用於模型的 baseline 訓練與比較。然而其侷限是:

多數資料來自歐美或日式飲食,缺乏在地化的食物,例如:台灣小吃
圖片通常由美食平台或料理網站取得,與真實「生活拍攝」場景差異較大。

2. 自建資料集

若要針對特定需求(例如:台灣便當夜市美食手搖飲料)建立精準模型,往往需要自建資料集。常見的收集方式包括:

  • 網路爬蟲 (Web Scraping):從美食部落格、餐廳菜單、外送平台(Uber Eats、Foodpanda)擷取圖片與文字資料,快速建立初步資料庫。
  • 尋求合作:主動聯繫餐飲業者、美食部落客、網紅等,取得授權使用其餐點照片與描述,確保資料合法且具代表性。
  • 開源參與:透過社群貢獻機制,邀請使用者上傳照片、標註資料,逐步擴充 dataset,並建立共享資料文化。
  • 實地走訪式收集(Street-Level Curation):親自走訪夜市、老街、地方小吃攤,使用手機或相機拍攝餐點、記錄口味與環境,並進行現場訪談或筆記。這種方式雖然耗時,但能捕捉最真實的在地風味與文化脈絡,特別適合冷門小吃或地方限定料理的資料建構。

3. 合成資料 (Synthetic Data)

由於部分食物(例如:湯品、剉冰)拍攝難度高,且拍攝環境光線不一,使用生成式 AI (GAN, Diffusion Models) 來建立合成影像資料。其優點在於能控制角度、光源、容器,增加模型對「 domain shift 」的耐受性。

https://ithelp.ithome.com.tw/upload/images/20250916/20129220triAzVxztO.png

二、資料收集與處理流程

即便資料來源多樣,仍需經過一系列資料處理流程,才能真正用於模型訓練。

1. 資料標註 (Annotation)

https://ithelp.ithome.com.tw/upload/images/20250916/20129220aXfj4c8aTe.jpg

  • 影像分類:針對每張圖片標註單一食物類別,例如「珍珠奶茶」、「雞排」。
  • 邊界框 (Bounding Box):若餐盤內有多種食物,需使用 bounding box 或 segmentation 標出各區域。
  • 屬性標註:例如烹調方式(炸、煎、蒸)、份量大小、是否素食等。
  • 營養標註:結合食材資料庫(例如: USDA FoodData Central、台灣食藥署食物營養成分資料庫),將食物類別對應至營養數據。

2. 資料清理 (Data Cleaning)

  • 移除模糊、重複或無法辨識的圖片。
  • 對相同食物進行統一命名(例如:「炸雞腿」、「炸雞腿排」統一為「炸雞」)。
  • 進行 class balancing,避免模型偏向常見食物(例如:「鹹酥雞」圖片數量遠超過「四神湯」)。

3. 資料增強 (Data Augmentation)

為提升模型對不同環境的泛化能力,可使用:

  • 影像增強:旋轉、裁切、亮度調整。
  • 風格轉換 (Style Transfer):模擬不同攝影環境(餐廳燈光 vs. 路邊攤燈光)。
  • 合成影像:利用生成模型補足稀有類別(例如:「台南碗粿」、「彰化肉圓」)。

三、資料使用方式

1. 訓練流程

  • 前處理:將影像 resize 至統一大小(例如:224x224),並標準化。
  • 模型選擇:常見架構包括 ResNet、EfficientNet、Vision Transformer (ViT)。
  • 遷移學習 (Transfer Learning):先用 ImageNet 或 Food-101 訓練,再針對在地資料做 fine-tuning (模型微調)。
  • 多任務學習 (Multi-task Learning):同時預測食物種類與烹調方式,提高語意理解能力。

2. 與外部知識整合

單純辨識「這是蚵仔煎」不足以支持實務應用,必須結合知識庫:

  • 食材 → 營養成分:對應至營養資料庫,計算熱量、蛋白質、碳水化合物。
  • 食譜知識圖譜 (Knowledge Graph):連結「蚵仔煎 → 蚵仔、雞蛋、粉漿、醬料」,支援細粒度推論。
  • 用戶上下文:考慮個人飲食習慣、過敏原,提升個人化推薦的精準度。

(本篇文章的內容由 ChatGPT & Microsoft copilot 協助潤飾文句&圖片生成。)


上一篇
Day2. 從零開始打造個人專屬 AI 營養顧問(一):理論基礎
下一篇
Day4. 從零開始打造個人專屬 AI 營養顧問 Ep. 3:Roboflow
系列文
AI 營養師 + Web3 數位健康護照5
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言