李青斌,邱緒云,徐文鑫
山東交通學院汽車工程學院,山東 濟南 250357
蘋果采摘機械手的自動化水平不斷提高,對采摘目標識別精度的要求越來越高?,F階段較應用廣泛且識別精度較高的目標檢測網絡包括基于區域的卷積神經網絡(region-based convolutional neural network,R-CNN)系列[1]、僅需瀏覽1次(you only look once,YOLO)系列[2]和多分類單桿檢測器(single-shot multibox detector,SSD)系列[3]。采用這些目標檢測網絡需大量圖片數據集支撐,才能訓練識別精度較高的模型,目前較完善的圖片數據集中有關蘋果的圖片種類較少。對蘋果進行目標檢測訓練前需先建立蘋果圖片數據集,獲取較準確的大量蘋果圖片構成的數據集后,才可訓練識別精度達到果園采摘機械手識別要求的目標檢測模型。
張勇[4]、宋懷波等[5]、朱紅春等[6]、陳國防[7]認為可采用標注軟件Labelimg獲取大量圖片的數據集,但工作量較大,效率較低。張值銘等[8]提出采用已有目標檢測模型篩選含有人臉的圖片,后期人工復檢刪除篩選錯誤的圖片,獲取用于訓練人臉識別模型的目標檢測數據集,此法只局限于人臉識別領域,可擴展性較低。黃瀚宇等[9]提出基于LeNet-5模型識別手寫數字圖片,制作數據集。鄧慶昌等[10]提出通過開源數據庫的安全帽佩戴數據集訓練YOLOv5模型,制作目標檢測模型識別圖片,并保存識別數據。上述方法均可基于較為完善的數據集,擴充特定物體的數據集,但對無較完善數據集支撐的物體,構建用于目標檢測訓練的數據集較困難。
本文結合SSD目標檢測網絡,以蘋果為例,提出快速制作用于蘋果采摘機械手目標識別的蘋果圖像數據集的方法,采用軟件Labelimg標注少量蘋果圖片用于SSD目標檢測網絡中的訓練,構建初步目標檢測模型,識別含有蘋果的圖片,將識別的蘋果數據信息保存并寫入標注文件,生成蘋果的圖像數據集,以期目標檢測模型識別精度能滿足果園采摘機械手的要求。
蘋果采摘機械手由末端執行器、雙目視覺攝像頭、小臂、小臂齒輪箱、小臂電機、大臂、大臂齒輪箱、大臂電機和控制系統等組成,如圖1所示。沿機械臂方向有三自由度,通過雙目視覺傳感識別、定位采摘目標,控制相應的執行電機,實現蘋果的自動采摘[11-14]。
蘋果采摘機械手采摘目標識別原理如圖2所示。制作蘋果圖片數據集需先獲取含大量標注蘋果圖片的數據集,制作識別精度滿足蘋果采摘機械手要求的目標識別模型,實時識別攝像頭傳入的數據,結合雙目視覺測距原理確定蘋果的位置信息。將獲取的蘋果位置信息輸入蘋果采摘機械手的控制模塊,控制機械手完成采摘作業。

1—末端執行器;2—雙目視覺攝像頭;3—小臂;4—小臂電機;5—大臂;6—大臂齒輪箱;7—控制系統;8—大臂電機;9—小臂齒輪箱。圖1 蘋果采摘機械手結構示意圖

圖2 蘋果采摘機械手采摘目標識別原理
視覺對象類(visual object classes,VOC)圖片數據集是用于訓練目標識別模型的標準化圖像數據集,后續諸多數據集均基于VOC圖片數據集進行再開發。VOC圖片數據集發展較早,目前較流行的目標檢測網絡都兼容此格式,本文借鑒VOC 圖片數據集格式,提出快速制作目標檢測識別數據集的方法,簡單分組后可直接用于蘋果目標檢測模型的訓練,降低后續操作的復雜度[15-17]。
制作蘋果VOC圖片數據集的關鍵是將標注的圖片數據信息寫入標注文件,xml文件中蘋果圖片數據結構信息如表1所示。

表1 xml文件中蘋果圖片數據結構
訓練目標檢測模型時,根據標定框bndbox與預測框交并比(即交集與并集之比,評價2個幾何圖形的面積重合度)篩選背景框。選取與標定框的交并比超過設定閾值(一般設交并比為0.5)的預測框為正樣本,在剩余預測框中以正、負樣本數之比為1:3選取負樣本,根據損失公式,分別計算正、負樣本的損失(負樣本只有類別損失),將計算結果相加獲取目標檢測模型的總損失。重復上述操作多次,選取在測試集上損失最小的目標檢測模型,此模型為本次制作目標檢測模型中檢測精度最高的模型。在圖片上標定框如圖3所示,最佳預測框的4×4特征圖如圖4所示。

圖3 在圖片上標定框 圖4 4×4特征圖
圖片數據集的質量和數量對訓練完成后得到的目標識別模型的檢測準確度有一定影響,因此在保證圖片標定精度的條件下,提高目標檢測數據集中標注圖片數可提高目標識別模型對陌生場景目標的識別精度。結合標注軟件標注圖片的方法,提出快速制作大量蘋果圖片數據集的方法。
1.3.1 傳統軟件標注法
制作蘋果圖片數據集可分解為2步。
第1步,識別圖片中蘋果的個數,確定蘋果的位置。傳統軟件標注圖片的方法是在標注軟件中打開需要標注的圖片,將目標物全部框起來后彈出命名窗口,命名后完成目標物標注。
第2步,根據蘋果的類別和位置信息生成標注文件。標注軟件操作難度較小,但過于依賴人眼識別、定位圖片中的蘋果。由試驗可知:至少需1 000張蘋果圖片組成的數據集,才能訓練出識別精度滿足蘋果采摘機械手識別要求的目標檢測模型。人工重復上千次上述操作,工作量較大。
1.3.2 目標檢測模型訓練法
針對傳統標注軟件標注效率低、智能化低、重復操作等問題,提出一種提高蘋果圖片數據集制作過程智能化、自動化水平的方法,流程為:采用標注軟件只標注少量蘋果圖片(約100張),將標注好的圖片作為蘋果圖像數據集,制作并獲得目標檢測模型,采用此模型對含有蘋果的圖片進行目標識別,記錄目標識別模型識別的坐標信息并生成標注文件。
此方法采用事先訓練的初步目標檢測模型識別圖片中的蘋果,代替人眼對蘋果進行識別與定位,發揮計算機的計算優勢,人工作業量減小,可快速制作蘋果圖片數據集。相較于采用標注軟件標注圖片的方法,此方法避免了大量重復操作,提高了蘋果圖片數據集的制作效率。
初步訓練的目標檢測模型的識別精度影響蘋果圖片數據集的平均識別精度。評價目標檢測模型識別精度的重要參數是目標檢測模型的損失,需在測試集上對此模型進行目標檢測,計算目標檢測中最佳預測框的坐標數據與標定框坐標數據的損失,對所有的測試集圖片的損失求和,得到目標檢測模型的總損失,可進一步獲得模型的平均識別精度[18-19]。計算SSD目標檢測網絡算法評價模型的損失函數公式為:
L(x,c,l,g)=[Lconf(x,c)+αLloc(x,l,g)]/N,
(1)
式中:x為指示器,表示第i個預測框(predicted box)對應第j個標注框(the ground truth box)的概率;c為類置信度;l為預測框,g為標注框;Lconf(x,c)為類別損失;Lloc(x,l,g)為定位損失;N為匹配的正樣本個數;α=1。
將式(1)拆解,分為定位損失Lloc(x,l,g)與類別損失Lconf(x,c)。
2.1.1 定位損失
定位損失的計算公式為:
(2)

將所需信息按順序放置,方便后續程序讀取,信息的集合
Mloci={cx,cy,w,h},
式中:cx為第i個默認框(default box)中心點的橫坐標,cy為第i個默認框中心點的縱坐標,w為第i個默認框的寬度,h為第i個默認框的高度。
分別計算預測框中心點橫坐標、縱坐標、寬度和高度的位置損失,公式為:

光滑函數公式為:
由式(2)可計算模型在以(cx,cy)點為中心,寬為w和高為h的默認框相對于標注框的定位損失。
2.1.2 類別損失
類別損失函數公式為:
(3)

經過交并比篩選大致確定蘋果目標識別模型初步預選框的位置,如圖3黃色框所示,預選框的位置與真實蘋果的位置存在一定偏差,此時由最佳預選框的位置坐標信息可得到預選框的寬和高,代入式(2)(3)計算定位損失及類別損失,2種損失相加求得總損失,通過反向調節修改權重參數和偏置參數,在每張訓練集圖片重復上述操作1次,即為1次訓練結束。經過200~300次訓練后獲得較成熟的權重參數文件,在驗證集上執行此權重參數文件,獲得目標檢測模型的平均識別精度,通過比較權重參數文件的平均識別精度確定目標檢測模型的識別精度。

圖5 蘋果目標識別模型在各得分區間的識別精度
為提高目標檢測模型的識別效率,采用標注軟件標注95張含蘋果的圖片作為初步模型訓練的圖片數據集。經過50次凍結訓練及150次解凍訓練,計算得到每個模型在訓練集和驗證集上的損失,挑選在驗證集上損失最小的目標檢測模型作為識別模型。
此模型在訓練集上的最小損失為6.434,在驗證集上的損失為7.067,非最小損失。在訓練集上的損失為6.466時,在驗證集上的損失為6.803。調用本次訓練參數進行后續識別,經計算可得目標檢測模型的平均識別精度為97.42%,初步蘋果目標識別模型在各得分區間的識別精度如圖5所示。
用于訓練的圖片數據集圖片數較少,訓練的目標檢測模型的魯棒性較差。實時目標檢測中,因抵抗干擾的能力較弱,在目標檢測時,模型出現識別錯誤的概率較大,應用性較差。由蘋果圖片組成驗證集,模型在驗證集上的平均識別精度較高,可將此模型用于定位圖片中的蘋果位置,并通過識別信息生成標注文件,經后續修改獲得大量含有蘋果的圖片,達到制作用于目標檢測訓練的蘋果圖片數據集的效果。
采用佳能350d照相機拍攝1 214張含蘋果的圖片,照相機攝像頭的主要參數如表2所示。
在計算機上采用圖像處理軟件后續處理采集到的蘋果圖像并保存,保證采集的圖片質量。其中,212張照片為帶有背景的蘋果圖片,1 002張蘋果圖片的背景為白色,蘋果的顏色以紅色為主,部分照片上有綠色蘋果。選取圖片的目的主要是提高數據集的多樣性,由此數據集訓練出的模型可適應更復雜的環境。

表2 照相機攝像頭的主要參數

圖6 制作蘋果圖像數據集流程圖
采用訓練的初步模型識別2.1節中獲取的圖片,得到蘋果在圖片上的位置數據。目標識別的數據暫存在計算機內存中,執行完成目標檢測程序后即被清除。需獲取檢測后的數據并寫入標注文件中,如何在生成標注文件前導出并保存數據成為制作蘋果圖像數據集流程可行的關鍵。保存數據的方式主要是將緩存中的數據按top、bottom、left 、right的順序保存到文本文檔中,識別完成后依次讀取數據,生成標注文件,清除文本文檔中的所有數據。對下1張圖片重復上述操作,標注新的蘋果圖片。制作蘋果圖像數據集流程如圖6所示。

圖7 標注完成的蘋果圖片
為提高編寫的快速制作蘋果圖像數據集代碼的實用性,標記圖片前,需使用者輸入識別圖片數,當標記圖片數達到規定圖片數時自動退出程序。
制作的蘋果圖片數據集由蘋果圖片(無框)、標注文件、劃分數據集的文件3部分組成,蘋果圖片和標注文件較重要。對于訓練目標檢測模型的圖片數據集,標注文件中用于訓練的數據為標注框的位置及類別數據。標注后的圖片如圖7所示,紅色框與標注文件中的標注框對應;標注文件內容較多,僅以帶標記框的蘋果圖片形式代表整個圖片數據集[20-21]。
標注軟件標注的蘋果圖片數量不足,制作的初步蘋果目標識別模型識別不準確,需對模型標記的蘋果圖片數據集進行后期修改,獲得較準確的蘋果圖片數據集。篩查1 214張圖片可知:大部分圖片的標注較準確,不同顏色的蘋果標注存在較多遺漏,還存在個別圖片標注錯誤、標注位置未全部覆蓋整個目標物、標注位置覆面積過大等情況,如圖8所示。

a)標注類別錯誤 b) 標注遺漏 c) 標注錯位 圖8 未準確標注的蘋果圖片
由圖8可知:目標識別模型將手識別為蘋果,若不修正,訓練出的目標檢測模型的識別精度下降;圖片上部分蘋果未被標記,雖對識別精度影響較小,但訓練出的模型在識別被遮擋的蘋果及識別多個蘋果時,出現識別遺漏情況的概率較大,影響蘋果采摘機械手的決策;標記框大小與蘋果的實際大小存在較大偏差,訓練出的模型對蘋果的定位存在較大偏差,影響蘋果采摘機械手對目標的測距,進一步影響蘋果采摘機械手末端執行系統抓取蘋果的操作精度。

表3 蘋果圖片標注情況統計
統計1 214張蘋果圖片的標注情況,如表3所示。由表3可知,目標識別模型標注蘋果圖片的準確率較高。識別錯誤主要集中在標注遺漏綠色蘋果類型。調查標注軟件標注的數據集發現,識別錯誤的主要原因為標注軟件標注的95張圖片中含綠色蘋果的圖片數量較少,訓練的目標識別模型對綠色蘋果的識別精度下降,通過增加標注軟件標注的綠色蘋果圖片比例即可解決此類問題。
標注遺漏與標注錯位的主要原因是圖片中蘋果較密集,蘋果間距較小,用于訓練模型的圖片較少,識別精度不高。為提高識別效率,用于訓練模型的圖片不可能太多,上述問題不可避免。若減小上述問題出現的概率,可選取蘋果間距盡量大的圖片;減少圖片中的蘋果數量,只有1個蘋果的圖片標注效果最好;選取遮擋物較少的蘋果圖片。
通過編寫的快速制作蘋果圖像數據集代碼實現目標蘋果的標注過程,為保證前后2次標注圖片的數據互不干擾,未保留模型識別的數據,導致后續修改時無法在標注文件中找到標注錯誤的數據,對后續修改工作造成較大困難。因此,改進快速制作蘋果圖片數據集的算法,在算法識別圖片前加入創建文本文檔的命令,運行識別圖片的算法,在算法生成標注文件時,將模型識別數據保存在新建的文本文檔中,方便后續修改標注錯誤時調用。
修改標注錯誤圖片的流程為:對標注遺漏的問題,補充標注未標注的目標,將修正后的數據補充到遺漏標注的文件中;對標注錯位的問題,重新標注不準確的蘋果圖片,通過對比文本文檔中的標記數據,確定標注錯位數據在標記文件中的位置,將修正后的數據替換標注錯位的數據;對蘋果圖片數據集標注類別錯誤的問題,對比文本文檔保存的標記數據,找到并刪除標注類別錯誤的數據。
圖片數據集主要用于目標檢測模型訓練,數據集中的圖片越多,標注越準確,采用此數據集訓練的模型的識別精度越高。
為驗證數據集的實用性,將制作的圖片數據集進行目標檢測模型訓練,對比并在相同的驗證集上測試制作的最優模型與初步模型,2個模型在各得分區間的識別精度如圖9所示。

a)初始目標檢測模型 b) 最優目標檢測模型 圖9 2個模型在各得分區間的識別精度
由圖9可知:最優模型、初步模型在驗證集上的平均識別精度分別為99.7%、97.4%,說明在相同驗證集上,由包含更多圖片的圖片數據集訓練出的模型識別精度更高,表明蘋果采摘機械手圖像數據集的可靠性更高。
為訓練滿足蘋果采摘機械手目標識別精度要求的目標識別模型,提出快速制作蘋果圖像數據集的方法,采用標注軟件標注95張含有蘋果的圖片,將原始圖片標注后生成的標注文件導入目標檢測網絡中訓練,最終獲得平均識別精度為97.42%的初步目標識別模型,該目標識別模型在驗證集上的損失為6.803。通過此目標檢測模型識別搜集的蘋果圖片,記錄目標識別模型識別圖片中蘋果的預測框的坐標信息,根據獲取的坐標信息生成標記文件。
對比快速制作蘋果圖片數據集與通過軟件Labelimg標注制作蘋果圖片數據集2種方法可知,快速制作蘋果圖片數據集的方法在標注大量圖片時用時更短,可更直觀標記每個數據框在圖片上的具體位置,方便后續的檢查與修改。
采用標注軟件標注圖片時,需適當增加蘋果種類,提高目標識別模型識別不同類蘋果的準確性。選取待標記的蘋果圖片時,應選取蘋果間距較大、遮擋物較少的蘋果圖片,減少識別過程中2個物體的互相干擾。初步模型對只含1個蘋果的照片的識別精度較好,出現標注錯誤的概率較小。