參賽隊伍:愛AI
農民通常使用過去種植經驗來判定青木瓜、一溝黃、三溝黃、五溝黃等木瓜成熟度,本專案希望推出「木瓜成熟度選別機」,以自動化方式批次將一顆顆木瓜進行客觀的成熟度分類。「木瓜成熟度選別機」可作為農民、農會與內外銷通路間木瓜成熟度客觀判定的依據。避免成熟度判定有誤,導致果品過熟腐敗,影響商品價值。藉由 AI 影像輔助,能精準判定成熟度,若能降低木瓜損耗的 1% ,每年即可減少超過 3 千 6 百萬損失。
提案動機
- 農產品因保存與品質標準等問題,通常蔬果損耗率會超過 20%。木瓜從產地採收後,需要催熟、再經由運輸、櫥架展售到餐桌,以 20% 損失換算產值,據統計已超過 7億 2 千 8百萬
- 若以外銷市場來看,外銷耗損如果超過 3 成,即造成貿易無法獲利,進而向供應方求償
- 木瓜外觀是判定該木瓜成熟度的指標之一,農民通常使用過去種植經驗,來判定青木瓜、一溝黃、三溝黃、五溝黃等
- 生產端 (農民) 與承銷端 (農會) 在木瓜收售的過程,雙方對木瓜成熟度判斷容易產生歧異,無客觀討論之準則
- 成熟度判定若有誤,易造成集中管理與貯藏的不方便,導致果品過熟腐敗,影響商品價值及通路拓展
- 高雄市農業局在智慧農業深耕多年,目前已輔導完成「檸檬選別機」落地應用 (如下影片),未來希望推出「木瓜成熟度選別機」,以自動化方式批次將一顆顆木瓜進行客觀的成熟度分類
解決方法
影像收集:
判定同一顆木瓜影像的成熟度,應該同時擷取正反兩面的影像特徵,較為準確 (圖一)。我們設計了「Line Bot 木瓜影像蒐集系統」,透過該系統,上傳同一顆但正反兩面的影像,並點選該顆木瓜成熟度類別,系統即標註完成。共蒐集 1,941 顆木瓜影像 (皆有正反兩面,因此一顆木瓜共兩張影像),且詳細計載哪一些影像為同一顆木瓜。
圖一 正反兩張影像顏色差異大,若僅看一面成熟度可能誤判
語義分割 (Segmentation):
在收集木瓜的圖片數據時,除了木瓜本體資訊以外,還有過多的背景資訊,為了學習正確的特徵,我們將木瓜以外的資訊利用「Segmentation」進行影像分割。「Segmentation」模型訓練前,須將影像進行標註 (將每一顆木瓜邊界框選出來)。但人為標註耗時且費工,因此利用網路上兩種開源去背 API[1][2] 進行木瓜影像背景的移除。透過去背影像與原影像抓出木瓜與其他影像的輪廓。以「Unet」為模型架構,進行「Segmentation」模型訓練 (採用開源的訓練代碼[3]),得到木瓜去背的 AI 模型 (圖二)。
[1] https://github.com/brilam/remove-bg
[2] https://github.com/danielgatis/rembg
[3] https://github.com/qubvel/segmentation_models
分類判定 (Classification):
成熟度分類模型是將去背後的木瓜影像,使用 CNN 網絡進行模型訓練,利用「MobilenetV2」的經典網路架構找出影像特徵值。為求最佳分類準確度與推論效能,嘗試多種影像輸入的型態進行訓練,最終將同一顆木瓜正反兩面的影像分別以 0 度與 180 度 (共四張影像) 疊加在一起成為一張影像。並搭配不同激活函數、不同降低過擬合方法、不同降維方法、不同優化器,找出最佳模型分類結果 (圖三)。
圖三 CNN 訓練架構
推論過程:
我們設計一連串的影像清理流程 (圖四):
原影像 → 長寬擴增為正方形 (padding) → 縮放至 320*320 → 左右合併成為一張影像 (320*640) → 「Segmentation」模型進行去背 → 分別切割出最大邊界 → 若寬大於長則進行 90 度旋轉 → 長寬擴增為正方形 (padding) → 縮放至 224*224 → 分別旋轉 180 度,共有四張影像 → 四張影像疊加成為一張影像 (224*224*3) → 「Classification」模型預測成熟度分級
圖四 影像清理流程
軟硬體規格
硬體:
- RS4U-B656VGL (第11代Intel® Core™ i7 處理器)
軟體:
- Intel OpenVINO™ Toolkit
- Ubuntu 20.04
- Python3.8
- Tensorflow 2.4.1
利用 Intel 所提供的 OpenVINO Toolkit,使用 Tensorflow 框架訓練出來的模型進行優化及轉換到邊緣推論,在 Intel 的設備就可以容易的進行推論。我們先將 Tensorflow 訓練出來的模型進行凍結,之後利用 OpenVINO 所提供的環境以及指令「mo」進行模型的轉換。推論的部分,我們使用 OpenVINO 提供的 sample code 進行改寫,運行在 Intel 的 CPU 上。將推論圖片丟入「Unet」擷取重要特徵資訊,接著將圖片整理後丟入「MobilenetV2」進行分類,得到推論結果。
成果簡述
- 與高雄市農業局合作收集 1,941 顆木瓜影像,標記六種類別 (一溝黃、2-3溝黃、4-5溝黃、催熟後、全黃與其他)
- 「Segmentation」模型的平均 IOU (Intersection over Union) 超過 0.99
- 「Classification」模型的整體準確度為 98%
- 「OpenvVINO Toolkit」的推論時間約為 15-18 FPS
- 未來 AI 模組與「木瓜選別機」整合,可作為農民、農民團體與內外銷通路間客觀討論及協助
創新價值與商轉可行性
現行木瓜不同熟度判斷以色卡參考及經驗判斷,常因成熟期不一、主觀經驗及溝通落差導致外觀無法整齊,進而導致成熟度不一。特別於外銷等需長期儲存要求,可能導致果品過熟腐敗,進而影響商品價值及通路拓展。一般外銷耗損如果超過 3 成,即造成貿易無法獲利,進而向供應方求償。故經由影像成熟度辨識,可建立業界及農民語言之客觀影像參考。
- 經由AI影像輔助,期能降低木瓜損耗 1% 即可減少逾 3 億 6 千萬損失
- B2G:高雄農來訊台灣首創 AI 木瓜成熟度影像辨識,經由手機載具,突破空間限制,讓消費者在家就能使用,只要加入 Line 就能使用,目前使用者約 3,600 人,並持續推廣中
- B2C:提供產業產銷 AI 輔助,如超市端提供消費者使用,降低採買後因成熟度導致損失的風險,並能確保最佳賞味期
- 政府支持:高雄市政府農業局對於智慧農業規劃補助方案,每案補助 1/2、最高 30 萬,2022 年已成功輔導檸檬 AI 選別機