產品畫面
SCREENSHOTS · COMING SOON
產品截圖補上中。把圖丟到 public/works/<slug>/ 並在 mdx frontmatter 加 screenshots 陣列即可。
public/works/eyerace-pro/01.png賽鴿圈長期靠老師傅「看眼識鴿」決定鳥的品質,但這個經驗無法傳承、判斷標準飄移大、年輕一代也很難入門。EyeRace Pro 把這套經驗拆解成可量化的 AI 評分系統,讓任何人都能在 30 秒內得到一份接近專家的評鑑報告。
問題
- 老師傅評鴿經驗難以複製、傳承斷層嚴重
- 同一隻鴿子不同師傅評分落差大、缺一致基準
- 養鴿場規模大時,人力 1:1 評鑑不可行
解法
把賽鴿評鑑拆成 拍攝 → 品質檢測 → ONNX 推論 → 五維度評分 四步管線,跑在 Flutter App 內:
- 智慧拍攝引擎:加速度計即時偵測手部抖動,模糊度與曝光度低於閾值禁止拍照;三段式閃光燈在不同光源下自動切換。
- 品質檢測:拍後立刻跑亮度、對比、模糊三項閾值,不過則 retry,避免 Garbage In Garbage Out。
- ONNX 推論:PyTorch 訓練的 EfficientNet-B0 經 ONNX 匯出,在 mobile 端用 ONNX Runtime 直接跑,平均推論時間 < 400ms。
- 五維度評分:左右眼分別輸出五個維度(瞳孔、內圈、相關圈、虹彩、外圈),最後加權合成單一參賽建議。
技術棧
- Mobile: Flutter 3.10+、Dart 3、Riverpod 3、GoRouter、Camera + VisionKit、加速度計 sensor
- Backend: Go 1.26 + Gin、GORM、PostgreSQL、JWT 認證、Sign in with Apple / Google Sign-In
- ML pipeline: PyTorch + EfficientNet-B0、Label Studio 標註、ONNX Runtime mobile 推論
- 付費: StoreKit 2 訂閱
成果
- iOS / Android 雙平台 MVP 上線,穩定運行 6 個月
- 後端 API 部署於 eyebird.ailoop.uk,平均回應時間 < 200ms
- 一張照片 30 秒內完成評鑑(含拍攝 + 上傳 + 推論 + 渲染)
- 五維度評分與資深養鴿師人工評鑑相關係數 r > 0.85
學到什麼
- Mobile ONNX 不是萬能:模型量化(int8)後 size 可從 50MB 降到 12MB,但精度掉 4%,最後選擇雲端推論為主、離線備援為輔的混合架構。
- 拍攝品質決定一切:「智慧拍攝引擎」貢獻的準確度提升超過後端模型優化的兩倍。GIGO 原則在 ML pipeline 太重要。
- 垂直 SaaS 的差異化:通用 OCR 或圖像分類 API 解決不了領域問題;做深 + 做透才是護城河。