2025年12月19日 星期五

🥘 AI 驅動的綠色廚房:從廚餘辨識到智慧備料的技術實作

🥘 AI 驅動的綠色廚房:從廚餘辨識到智慧備料的技術實作

前言:當 AI 走進飯店廚房

在餐飲與飯店產業中,「食材成本控制」始終是經營核心。傳統的廚餘管理依賴人工記錄或單純的重量感測,難以精確得知**「什麼被浪費了?」**。

我們開發了一套 AI 智慧廚餘管理系統,結合電腦視覺(CV)與自動化分析,讓廚師只需拍照上傳,系統便能自動辨識浪費食材種類、估計重量,並給出具體的「明日備料建議」。這不僅是數位轉型,更是邁向 ESG 永續經營的關鍵一步。

您可以透過以下 GitHub 連結檢閱本專案的原始碼:https://github.com/BpsEason/hotel-waste-ai-mvp.git


系統核心架構

為了確保系統的模組化與可擴充性,我們採用了 Microservices(微服務) 的設計思維,並透過 Docker Compose 達成一鍵部署。

🏗️ 技術棧 (Tech Stack)

🔄 系統流圖

  1. 用戶端:廚師拍攝廚餘照片並上傳至 Vue 3 前端。

  2. API 層:Laravel 接收圖片,負責權限校驗、檔案存儲與邏輯調度。

  3. AI 層:Laravel 透過內部網路呼叫 FastAPI。AI 模型分析圖片,回傳食材類別(如:雞肉、綠花椰菜)與預估重量。

  4. 數據層:結果存入 MariaDB,並由前端即時渲染統計儀表板。


重點技術實作剖析

1. 異質服務通訊:Laravel 與 FastAPI 的協作

在開發初期,我們選擇將 AI 邏輯獨立在 FastAPI 中。這樣做的好處是:AI 模型通常需要大量的記憶體與運算資源,獨立部署可避免影響 Web API 的穩定性。

PHP
// Laravel: WasteController.php
public function upload(Request $request)
{
    $uploaded = $request->file('image');
    
    // 呼叫 AI 服務進行影像辨識
    $response = Http::attach(
        'file', 
        fopen($uploaded->getRealPath(), 'r'), 
        $uploaded->getClientOriginalName()
    )->post('http://ml-service:9000/vision/analyze-waste');

    if ($response->successful()) {
        $analysis = $response->json();
        // 儲存至資料庫並關聯圖片路徑
        return WasteLog::create([...]);
    }
}

2. AI 推論模擬 (Mocking for Agility)

為了加速前端開發,我們在 FastAPI 中實作了 Mock 推論。這讓前端與後端開發者在真實 CV 模型訓練完成前,就能完成所有介面與邏輯的串接。

Python
# FastAPI: main.py
@app.post("/vision/analyze-waste")
async def analyze(file: UploadFile = File(...)):
    # 模擬深度學習模型的運算延遲
    await asyncio.sleep(1.2) 
    
    return {
        "items": [
            {"food_category": "雞肉", "estimated_weight": 0.8, "confidence": 0.95}
        ],
        "total_estimated_weight": 0.8,
        "suggestion": "根據浪費量,建議明日雞肉備料減少 15%"
    }

3. 即時數據可視化

利用 Tailwind CSS 的靈活性,我們構建了一個資料儀表板。除了單次的辨識結果,系統會自動匯總**「本週浪費趨勢」**,幫助管理層一眼看出採購策略是否需要調整。


為什麼選擇 Docker Compose?

在飯店這種現場環境(On-premise),部署的簡易度至關重要。透過 Docker,我們解決了「在我的電腦上會動」的常見問題。

YAML
services:
  nginx:
    image: nginx:stable-alpine
    ports: ["80:80"]
  api:
    build: ./api
  frontend:
    build: ./frontend
  ml:
    build: ./ai-service

只需要一行指令 docker compose up -d,即可在任何支持 Docker 的伺服器上啟動完整環境,包含資料庫遷移與靜態檔案託管。


商業價值與影響

這套系統不僅是技術嘗試,更具備實質商業潛力:

  • 成本優化:預計可降低 10-20% 的無效食材採購支出。

  • ESG 實踐:提供具體的廚餘減量數據,滿足企業永續報告書(CSR)需求。

  • 營運自動化:取代傳統紙本記錄,減少廚房員工行政負擔。


未來展望:邁向真正的智慧化

目前的系統已打好穩固的地基,下一步我們計畫:

  1. 模型迭代:將 FastAPI 替換為正式訓練過的 YOLOv8 模型,提升辨識精度。

  2. 行動化:開發專屬 App,支援廚師手持裝置即拍即傳。

  3. 外部串接:整合飯店的 POS 系統,比對「售出量」與「廚餘量」,找出損耗的真正原因。


結語

在這個專案中,我們展示了如何整合現代 Web 技術與 AI 服務,解決傳統產業的痛點。技術不應只是冷冰冰的程式碼,當它能減少一份食材浪費、提升一分管理效率時,技術才真正產生了價值。

沒有留言:

張貼留言

熱門文章