System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術主要涉及人工智能模型,尤其涉及一種果蔬識別模型及其訓練方法。
技術介紹
1、在果蔬稱重的場景,需要識別水果和蔬菜的類別。基于人工智能模型進行果蔬識別的原理是將果蔬識別問題作為分類問題,要想分類準確特別需要一個好的損失函數來將不同特征分離開來,現有果蔬識別模型訓練方法使用交叉熵損失函數進行訓練,得到的果蔬識別模型在訓練過的類別上效果好,在未訓練過的類別上效果不佳。同時,由于終端設備的計算能力有限,只能使用小模型進行推理,進一步影響了果蔬識別模型的準確率。
技術實現思路
1、本專利技術要解決的技術問題是提供一種果蔬識別模型及其訓練方法,解決通過現有的損失函數訓練得到的模型識別效果不佳的問題。
2、為解決上述技術問題,本專利技術提供了一種果蔬識別模型的訓練方法包括:獲取數據集,所述數據集包括果蔬圖像及其對應的標注類別;將所述數據集輸入神經網絡模型,所述神經網絡模型對所述果蔬圖像進行特征提取,得到果蔬圖像特征;根據所述果蔬圖像特征和所述標注類別分別計算arcfaceloss損失和circleloss損失;組合所述arcfaceloss損失和circleloss損失得到第一階段混合損失;最小化所述第一階段混合損失并更新所述神經網絡模型的超參數,得到訓練好的第一果蔬識別模型。
3、可選地,根據所述果蔬圖像特征和所述標注類別計算arcfaceloss損失包括:獲取所述標注類別對應的類別中心向量,記為第一類別中心向量,根據所述果蔬圖像特征和所述第一類別中心向量計算
4、可選地,通過如下公式計算所述arcfaceloss損失:
5、
6、其中,larcface為arcfaceloss損失,為所述第一夾角,θj為所述第二夾角,s和m都是超參數,代表了同類特征相似的嚴格度,n為果蔬的總類別。
7、可選地,根據所述果蔬圖像特征和所述標注類別計算circleloss損失包括:計算所述果蔬圖像特征與所述標注類別同類別的特征之間的第一歐式距離;計算所述果蔬圖像特征與所述標注類別不同類別的特征之間的第二歐式距離;根據所述第一歐式距離和所述第二歐式距離計算所述circleloss損失。
8、可選地,通過如下公式計算所述circleloss損失:
9、lcircle=max(distance(a,p)-distance(a,n)+margin,0)
10、其中,lcircle為所述circleloss損失,distance(a,p)為所述第一歐式距離,distance(a,n)為所述第二歐式距離,a和p是同類別,a和n是不同類別,margin代表嚴格程度。
11、可選地,所述第一階段混合損失為:
12、ltotal1=α·larcface+lcircle
13、其中,ltotal1為所述第一階段混合損失,larcface為arcfaceloss損失,lcircle為circleloss損失,α為第一權重系數且取值范圍為0~1。
14、可選地,隨著訓練輪數的增加,第一權重系數α從0增加到1。
15、可選地,通過如下公式計算第一權重系數α:
16、
17、其中,ncur為當前訓練輪數,ntotal為總訓練輪數。
18、可選地,還包括:基于知識蒸餾對所述第一果蔬識別模型的識別能力進行遷移,得到第二果蔬識別模型;采用第二階段混合損失對所述第二果蔬識別模型進行訓練,得到訓練好的第二果蔬識別模型,所述第二果蔬識別模型的參數量小于所述第一果蔬識別模型。
19、可選地,所述第二階段混合損失包括arcfaceloss損失、circleloss損失和特征蒸餾損失。
20、可選地,通過如下公式計算所述特征蒸餾損失:
21、ldistill=1-cos(fteacher,fstudent)
22、其中,ldistill為所述特征蒸餾損失,fteacher是所述第一果蔬識別模型輸出的特征,fstudent是所述第二果蔬識別模型輸出的特征。
23、可選地,所述第二階段混合損失為:
24、ltotal2=α·larcface+lcircle+βldistill
25、其中,ltotal2為所述第二階段混合損失,larcface為arcfaceloss損失,lcircle為circleloss損失,α為第一權重系數且取值范圍為0~1,β為第二權重系數。
26、為解決上述技術問題,本專利技術提供了一種果蔬識別模型,用于對蔬菜或水果進行分類,通過如上所述的果蔬識別模型的訓練方法訓練得到。
27、與現有技術相比,本專利技術具有以下優點:
28、本專利技術的果蔬識別模型的訓練方法,組合arcfaceloss損失和circleloss損失得到第一階段混合損失,采用第一階段混合損失對模型進行訓練,可以使模型具備零樣本學習的能力,哪怕沒有見過對應的品類,依然可以通過特征區分,提升模型在不同的品類下的識別效果;其次,本專利技術的果蔬識別模型的訓練方法,提出先訓練大模型然后使用大模型對小模型進行特征蒸餾,在訓練小模型時,額外引入了特征蒸餾損失,可以在提升小模型的識別效果,相較于不增加模型蒸餾,小模型的識別率可以提升5%-10%。
本文檔來自技高網...【技術保護點】
1.一種果蔬識別模型的訓練方法,其特征在于,包括:
2.如權利要求1所述的果蔬識別模型的訓練方法,其特征在于,根據所述果蔬圖像特征和所述標注類別計算ArcFaceLoss損失包括:
3.如權利要求2所述的果蔬識別模型的訓練方法,其特征在于,通過如下公式計算所述ArcFaceLoss損失:
4.如權利要求1所述的果蔬識別模型的訓練方法,其特征在于,根據所述果蔬圖像特征和所述標注類別計算CircleLoss損失包括:
5.如權利要求4所述的果蔬識別模型的訓練方法,其特征在于,通過如下公式計算所述CircleLoss損失:
6.如權利要求1所述的果蔬識別模型的訓練方法,其特征在于,所述第一階段混合損失為:
7.如權利要求6所述的果蔬識別模型的訓練方法,其特征在于,隨著訓練輪數的增加,第一權重系數α從0增加到1。
8.如權利要求6所述的果蔬識別模型的訓練方法,其特征在于,通過如下公式計算第一權重系數α:
9.如權利要求1所述的果蔬識別模型的訓練方法,其特征在于,還包括:
10.如權
11.如權利要求10所述的果蔬識別模型的訓練方法,其特征在于,通過如下公式計算所述特征蒸餾損失:
12.如權利要求10所述的果蔬識別模型的訓練方法,其特征在于,所述第二階段混合損失為:
13.一種果蔬識別模型,用于對蔬菜或水果進行分類,其特征在于,通過如權利要求1~12任一項所述的果蔬識別模型的訓練方法訓練得到。
...【技術特征摘要】
1.一種果蔬識別模型的訓練方法,其特征在于,包括:
2.如權利要求1所述的果蔬識別模型的訓練方法,其特征在于,根據所述果蔬圖像特征和所述標注類別計算arcfaceloss損失包括:
3.如權利要求2所述的果蔬識別模型的訓練方法,其特征在于,通過如下公式計算所述arcfaceloss損失:
4.如權利要求1所述的果蔬識別模型的訓練方法,其特征在于,根據所述果蔬圖像特征和所述標注類別計算circleloss損失包括:
5.如權利要求4所述的果蔬識別模型的訓練方法,其特征在于,通過如下公式計算所述circleloss損失:
6.如權利要求1所述的果蔬識別模型的訓練方法,其特征在于,所述第一階段混合損失為:
7.如權利要求6所述的果蔬識別模型的訓練方法,其特征在于,隨著訓...
【專利技術屬性】
技術研發人員:姚俊榮,林喆,
申請(專利權)人:上海商米科技集團股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。