愛文芒果不良品辨識競賽

此作品為課程專題並參與大數據競賽

此作品榮獲 2020 AI CUP 愛文芒果五類不良品辨識競賽前標

比賽簡介

台灣重要出口農產品之一的愛文芒果於近年銷量持續增長,不僅躍升為三大外銷高經濟生鮮果品之一,更將外銷國拓展至日本、中國、美國以及香港等地。

本競賽針對愛文芒果進行五類不良品分類,包括乳汁吸附、機械傷害、炭疽病、著色不佳、黑斑病等,以影像辨識快速分辨愛文芒果不良品產生原因,期許在未來以此資料進行分析及預測,提供生產者資訊,降低愛文芒果劣果率。

資料集

芒果圖像透過果農拍照病標註受傷部位所收集而來,每張照片芒果可能擁有多種受傷類別,故為多分類問題。

  • 25768 Training set

    圖像、分類標籤、受傷位置

  • 3681 Development set

    圖像、分類標籤、受傷位置

  • Test set

    圖像

資料集圖像示意圖

38414
19992

芒果受傷種類共分為五類

下表病徵圖透過原始資料集取出,一張圖像可能擁有多種病癥。

不良品類別 芒果圖
機械傷害 40462_0
炭疽病 00019_0
黑斑病 47863_0
著色不佳 00792_0
乳汁吸附 02015_0

資料分析

圖表發現只有單一種炭疽病或著色不佳此兩種病癥佔多數,其餘為多種病癥混合,或其他三種症狀,資料嚴重不平衡。

資料分析表

資料增強(Data Augment)

訓練資料集的25768張圖片中,有87%(22522張圖片)只有一種病徵,故於訓練階段時用這22522張圖片做訓練,期望可以更準確的抓取病徵特徵,而不會產生病徵之間的混淆。

針對機械傷害、黑斑病、乳汁吸附三類圖像進行資料擴增,進行圖片翻轉、平移、明暗度、比例尺等方式將此三種類別資料擴增。

模型訓練

模型架構為EfficientNetB0 + Dence(128) + 五個輸出層(Dence(1)) ,並且不使用pretrain_weight,讓模型重新訓練,optimizer使用Adam,模型中加入sample_weight參數,針對有著色不佳的圖片sample_weight設為5,其他病徵則設為1,將模型設定為多輸出模型(對輸入的圖像作五個binary的預測)。

模型最後的輸出為五個值,所以設定每個類別各自的閥值。在本次競賽中我們將五個類別閥值皆設為0.15。若閥值設定太高,會有一張圖片五個預測值都為0的情況。網路架構

評估公式

評估標準

競賽成果

將預測結果存成特定csv格式,上傳結果即可獲得排名與分數。

  • Public 為競賽期間測試Development set最佳成果
  • Private為測試Test set成果
Leaderboard Rank Score
Public 37/222 0.6573533
Private 40/222 0.6628388
競賽成果