其他領域實作組

參賽隊伍:愛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 模型 (圖二)。

圖二 (a) 正反影像皆先擴增為正方形,再縮放至 320 * 320,再將影像左右合併;(b) API 去背之遮照圖;(c) 模型預測之遮照圖

[1] https://github.com/brilam/remove-bg

[2] https://github.com/danielgatis/rembg

[3] https://github.com/qubvel/segmentation_models

分類判定 (Classification):

成熟度分類模型是將去背後的木瓜影像,使用 CNN 網絡進行模型訓練,利用「MobilenetV2」的經典網路架構找出影像特徵值。為求最佳分類準確度與推論效能,嘗試多種影像輸入的型態進行訓練,最終將同一顆木瓜正反兩面的影像分別以 度與 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 選別機

成果介紹短片

發佈留言

Your email address will not be published. Required fields are marked *

Post comment