李振強,王樹才,趙世達,白 宇
華中農(nóng)業(yè)大學 工學院,武漢430070
羊骨架切割是羊屠宰加工中的重要環(huán)節(jié)。目前國外基本實現(xiàn)羊肉的自動切割加工,Grégory等[1]以骨頭走向作為參考,搭建具有力傳感器的機器人單元,實現(xiàn)機器人可避讓式自動剔骨;Moreno[2]指出工業(yè)機器人并不能完全滿足食品加工業(yè)的特殊需求,提出適用于食品加工行業(yè)的低成本機械臂設計指南。由于飲食習慣和切割方式的不同,國外的自動化屠宰設備并不適合國內現(xiàn)狀。目前國內羊屠宰加工領域的研究多為綜述性研究,尚無羊骨架自動分割技術方面的研究。方夢琳等[3]通過對羊肉加工現(xiàn)狀的分析提出羊肉屠宰加工行業(yè)需要引入現(xiàn)代化加工技術以適應行業(yè)發(fā)展需求。張進[4]和李月娥[5]等對羊肉加工過程中的羊肉脫膻、嫩化和保藏等技術進展做出總結。
國內屠宰企業(yè)主要依靠人工借助半自動化機械完成,存在效率低、勞動強度大、噪音大等問題[6-7]。因此實現(xiàn)羊骨架自動切割對提升羊屠宰加工效率和食品安全具
有重要意義。隨著計算機技術的發(fā)展,機器學習、目標檢測[8-13]、語義分割[14-17]等技術日益成熟,并在產(chǎn)品檢測加工領域得到廣泛應用[18]。鐘思華等[19]通過引入密集連接層和改進混合損失函數(shù)等方式對U-NET結構進行調整優(yōu)化,實現(xiàn)了CT圖像中肺結節(jié)的準確分割。趙霞等[20]采用多尺度自適應形態(tài)特征提取模塊和可變形卷積等方法搭建DeepLab-MAFE-DSC網(wǎng)絡,提升了物體部件分割網(wǎng)絡的分割精度和泛化能力。楊波等[21]通過嵌入注意力機制模塊和增加底層特征來源的方式對DeepLabv3+網(wǎng)絡結構進行調整,改進了網(wǎng)絡在手術器械分割上的表現(xiàn)。王慧芳等[22]針對電力系統(tǒng)電壓穩(wěn)定評估問題,以電力系統(tǒng)運行狀態(tài)為特征集,以電壓穩(wěn)定裕度絕對值為標簽,通過XGBoost算法實現(xiàn)了電壓穩(wěn)定裕度預測。這種基于機器學習和深度卷積神經(jīng)網(wǎng)絡的檢測加工方法,不僅能提升檢測加工效率還能有效控制二次污染。目前在羊骨架切割領域尚無相關研究,因此采用深度學習和機器學習方法對羊骨架切割進行研究具有理論和現(xiàn)實意義。為實現(xiàn)羊骨架自動切割,本研究以去腿后的羊骨架為研究對象,調整優(yōu)化DeepLabv3+網(wǎng)絡結構,對羊骨架特征部位進行分割;根據(jù)分割結果提取5個特征部位的35組形位特征,采用XGBoost框架建立切割位置預測模型,搭建機器人平臺對羊骨架進行切割試驗。
1.1.1 圖像采集
本研究所采用的圖像數(shù)據(jù)拍攝于美洋洋食品有限公司,采用CCD相機進行數(shù)據(jù)采集,分辨率為1 200像素×960像素,光照條件為工廠白光照明。為了保證樣本的多樣性,圖像采集工作分2次進行,每次持續(xù)時間為3天,采集過程中從不同角度進行拍攝。分別對羊骨架的側面和胸腔部位進行采集,如圖1所示,各采集2 000張。
圖1 羊骨架原始圖像Fig.1 Original images of sheep skeleton
1.1.2 分割方案
根據(jù)NY/T 1564-2007分割標準羊骨架切割為腰椎骨、胸椎骨、肋排、腹肋肉、鎖骨和頸部等6種產(chǎn)品,如圖2所示。
圖2 羊骨架切割標準Fig.2 Cutting standards of sheep skeleton
分別將切割點坐標進行標記作為機器學習的標簽,如圖3所示,圖中紅色圓點的圓心為切割位置。
圖3 羊骨架切割位置標記Fig.3 Marking point location of image
1.1.3 圖像標注和數(shù)據(jù)增廣
采用Labelme圖像標記工具對羊骨架圖像特征部位進行標注,特征部位如圖4(a)和(b)所示。按照6∶2∶2的比例將數(shù)據(jù)劃分為訓練集、驗證集和測試集。為了增加數(shù)據(jù)多樣性采用Pytorch中torch.transforms.compose()方法對訓練集進行數(shù)據(jù)增強操作。基于隨機剪裁、旋轉隨機角度、縮放、錯切和翻轉等5種方法對圖像進行仿射變換,以增加數(shù)據(jù)在形態(tài)和尺寸方面的多樣性;基于亮度、飽和度、對比度和色相等4種屬性對圖像進行色彩抖動,以減弱光照條件對數(shù)據(jù)的影響。增廣后的部分圖像如圖4(c)、(d)、(e)和(f)所示,訓練集的樣本容量擴充為12 000張。
圖4 羊骨架圖像標注和數(shù)據(jù)增廣Fig.4 Data tagging of images and data augmentation
1.2.1 DeepLabv3+網(wǎng)絡架構
DeepLabv3+是一種基于深度卷積神經(jīng)網(wǎng)絡(Deep Convolutional Neural Network,DCNN)的語義分割框架,其網(wǎng)絡結構如圖5所示[17]。DeepLabv3+整體架構分為Encoder和Decoder兩部分。Encoder網(wǎng)絡主要完成特征提取工作,采用不同擴張率的空洞卷積(Atrous Convolution)[23]和圖像全局池化的方式搭建空洞空間金字塔池化(Atrous Spatial Pyramid Pooling,ASPP)模塊獲取多尺度圖像信息并進行融合。Decoder對Encoder提取法人特征圖進行上采樣并與底層特征圖進行合并,最后再次進行上采樣并完成預測任務。
圖5 DeepLabv3+網(wǎng)絡架構Fig.5 Network architecture of DeepLabv3+
1.2.2 基于ResNet的羊骨架特征提取網(wǎng)絡
DeepLabv3+的特征提取網(wǎng)絡為ResNet-101,ResNet[24]主要包括Conv1、Conv2_x、Conv3_x、Conv4_x和Conv5_x等模塊。為了使得特征提取網(wǎng)絡滿足羊骨架特征部位分割的需求,本研究對ResNet的Conv4_x模塊分別增加、減少6層和12層,得到ResNet-89、95、107和113,其結構分別如圖6所示。
圖6 不同ResNet的Conv4_x結構Fig.6 Conv4_x structures of different ResNet
1.2.3 ASPP模塊調整
Chen等[25]在DeepLabv1中證明了ASPP模塊有效提升了卷積核的感受野并提升了語義分割的精度,但較大的空洞擴張率也帶來了信息丟失等問題。DeepLabv3+中的空洞擴張率分別為1、6、12、18,卷積核尺寸為1×1和3×3。本研究分別設置1、3、6、12和1、6、9、12兩種尺度的擴張率與原始結構進行對比。羊骨架不同部位邊緣具有明顯的生物特征,且受去腿工藝的影響具有顯著的不規(guī)則性。因此固定尺寸的卷積核性能會受到一定影響,為了減弱該情況對網(wǎng)絡性能的影響,本研究采用可形變卷積核[26](Deformable Convlution,Def-Conv)替代固定形狀卷積核,通過偏移變量來對當前位置周圍進行隨機采樣,調整后的2種ASPP結構如圖7所示。
圖7 不同的ASPP結構Fig.7 Different structures of ASPP
1.2.4 Decoder模塊
在DeepLabv3+中羊骨架圖像經(jīng)過Encoder環(huán)節(jié)得到的特征圖尺寸較小,因此發(fā)生較多信息損失。為了彌補高層卷積帶來的羊骨架邊緣損失,本研究通過轉置卷積(Transposed Convolution)的方式將Encoder特征圖擴大4倍,采用1×1的卷積核對羊骨架圖像的底層特征進行卷積以降低通道數(shù)。將合并后的高層和底層特征圖采用3×3的卷積核進行卷積操作以矯正羊骨架圖像分割效果,最后再次進行上采樣將圖像還原到原始尺寸。
1.3.1 環(huán)境配置和評價標準
本研究基于Python3.5和Cuda9.0進行Pytorch環(huán)境搭建,采用Pytorch框架對DeepLabv3+進行搭建和調整,網(wǎng)絡訓練的硬件為i7-770HQ(16 GB)和GPU-1080Ti。
為了合理評估網(wǎng)絡在羊骨架特征部位分割中的性能,本研究選取交并比(Intersection over Union,IOU)、像素精度(Pixel Accuracy,PA)和F值作為評價指標。IOU是語義分割中的常用的評價標準[27-28],其數(shù)學定義為預測區(qū)間和實際區(qū)間的交集與并集比值,計算公式如下:
式中,ps為網(wǎng)絡分割出的羊骨架特征部位;gs為標簽中羊骨架特征部位。
像素精度定義為正確分類的像素與該區(qū)域全部像素的比值,計算公式如下:
式中,TP代表羊骨架特征部位正確分類的像素點個數(shù);FP代表該特征部位未正確分類的像素點個數(shù)。
在羊骨架特征部位分割中,召回率和精度都是重要的性能指標,為了平衡二者關系采用F值進行評價,計算方法如下:
式中,F(xiàn)N代表網(wǎng)絡誤判為羊骨架特征部位的像素點個數(shù)。
1.3.2 網(wǎng)絡訓練與試驗分析
基于調整后的4種ResNet結構和2種優(yōu)化的ASPP結構搭建8種羊骨架特征部位分割網(wǎng)絡,與DeepLabv3+進行對比實驗。采用小批量的隨機梯度下降[29](Stochastic Gradient Desent,SGD)對9種網(wǎng)絡進行訓練,小批量樣本容量設置為64,采用指數(shù)縮減策略進行學習率更新。9種網(wǎng)絡的配置和分割性能如表1所示。
由表1中實驗結果可知改進優(yōu)化后的網(wǎng)絡性能較DeepLabv3+性能有一定提升,其中改進網(wǎng)絡-6性能最佳,其基礎網(wǎng)絡為ResNet-95,擴張率1、6、9、12,卷積核為可變形卷積核,MIoU為0.849,PA為0.870,F(xiàn)值為0.879,較原始的DeepLabv3+分別提升了1.6、2.2和0.7個百分點,網(wǎng)絡性能得到一定提升,可以用于羊骨架特征部位的分割。隨機選取2組圖像對網(wǎng)絡分割結果進行可視化如圖8所示,由圖中分割效果可知,網(wǎng)絡較好地實現(xiàn)了羊骨架特征部位的分割,具備一定的泛化性能。
表1 不同網(wǎng)絡結構的分割性能Table 1 Segmentation performance of different network structure
圖8 改進網(wǎng)絡分割效果圖Fig.8 Identification effect of improves networks
基于改進網(wǎng)絡-6的分割結果對羊骨架的輪廓和4個特征部位進行特征提取。本研究采用OpenCV中boundingRect()函數(shù)求取5個部位的最小外接矩形左上頂點和長寬坐標參數(shù),并基于該2組參數(shù)計算外接矩形的4個頂點坐標和中心點坐標,計算公式如下:
式中,w和h為矩形的寬高參數(shù);x,y為左上頂點坐標參數(shù);O為中心點坐標,B、C、D分別為頂點坐標。
通過計算特征部位的最小外接矩形頂點和中點坐標共獲得25組形位特征參數(shù)。在此基礎上引入5組寬高參數(shù),特征集的維度達到35維。
2.1.1 數(shù)據(jù)平移
本研究提出的羊骨架切割位置計算模型假設羊骨架位于圖像中心,為保證特征數(shù)據(jù)滿足該假設條件,對特征集進行數(shù)據(jù)平移操作,平移計算方法如下:
式中,d(x)和d(y)為平移前數(shù)據(jù);D(x)和D(y)為平移后數(shù)據(jù);M1和O1為圖像和羊骨架的中心點坐標。
2.1.2 數(shù)據(jù)歸一化
由于羊骨架特征部位的尺寸不同導致形位參數(shù)的分布范圍存在一定差異,采用歸一化的方法將特征分布范圍壓縮到(0,1),計算公式如下:
式中,X為歸一化后的數(shù)據(jù);x為原始數(shù)據(jù);Xmax和Xmin為數(shù)據(jù)的最大最小值。
2.2.1 模型設置
XGBoost不僅具有特征篩選和集成功能,還能夠降低過擬合風險,因此本研究采用XGBoost框架建立羊骨架切割位置預測模型。XGBoost模型參數(shù)設置如下:收縮步長eta為0.02,樹的最大深度Max_depth為6,采樣比例subsample為0.6。采用交叉驗證的方式對子節(jié)點最小樣本權重和進行調整。為了衡量模型性能采用均方誤差MSE和R2擬合度對模型進行打分,計算方法如下:
式中,y?、yˉ和yi分別代表羊骨架切割位置的預測位置、平均值和標簽值;SS E、SST分別代表殘差平方和與總平方和。
2.2.2 模型訓練與分析
分別建立Lasso和SVR回歸模型進行對比實驗,3種模型的綜合性能如表2所示。由訓練結果可知XGBoost模型綜合性能明顯優(yōu)于Lasso和SVR模型,驗證集和測試集的MSE分別為7.73和8.18,擬合度達到0.949,殘差絕對平均值達到2.47像素點。由此可知模型具有較好的泛化能力和預測精度。
表2 不同模型的預測性能Table 2 Segmentation performance of different network
2.3.1 實驗平臺搭建
根據(jù)羊骨架的生物特性采用仿形學方法搭建羊骨架夾具系統(tǒng),夾具3D模型如圖9(a)所示?;谘蚬羌芎蛫A具系統(tǒng)的空間尺寸對機械臂進行選型,根據(jù)最大作業(yè)空間和負載等指標選取華數(shù)HSR-JR620L工業(yè)機器人作為執(zhí)行機構,如圖9(b)所示。實驗流程如圖9(c)所示,羊骨架切割系統(tǒng)如圖9(d)所示。
圖9 實驗設備及系統(tǒng)Fig.9 Experimental equipment and systems
2.3.2 切割實驗與數(shù)據(jù)分析
采用6只羊骨架進行切割實驗,根據(jù)質量分布將樣本分為3組進行對比實驗。A組樣本質量分布區(qū)間為(6,7)kg,樣本數(shù)量為2;B組樣本質量分布區(qū)間為(7,9)kg,樣本數(shù)量為2;C組樣本質量分布區(qū)間為(9,10)kg,樣本數(shù)量為2。分別對3組樣本進行切割實驗并測量切割誤差和消耗時間,實驗數(shù)據(jù)如表3所示。
表3 偏移距離和消耗時間統(tǒng)計表Table 3 Statistics of offset distance and consumption time
根據(jù)表中數(shù)據(jù)可得出以下結論:
羊骨架切割的平均誤差約為3.25 mm,平均每只消耗時間8.69 s,理論效率約為413只/h,較人工約提升
37.9%。
切割線2(頸部)誤差最小約為3.16 mm,切割線1(腰椎)、切割線4和5(肋排和腹肋肉)、切割線6和7(胸椎和肋排)誤差約為3.2 mm,切割線3(鎖骨)誤差約為3.48 mm。主要原因為鎖骨與頸部和骨架之間的分割界限并不明顯,且屠宰過程中容易導致頸部扭曲變形。
3組實驗的平均誤差分別為3.3 mm、3.25 mm、3.2 mm,該方法可以用于切割質量發(fā)生一定波動的羊骨架。
改進的DeepLabv3+有效地實現(xiàn)了羊骨架特征部位的分割,MIOU、PA和F值分別為0.849、0.870和0.879?;诜指罱Y果提取了35組特征參數(shù),該組特征參數(shù)通過XGBoost模型能有效實現(xiàn)羊骨架切割位置的預測,驗證集和測試集MSE分別為7.73和8.18,擬合度達到0.949,殘差絕對平均值達到2.47像素點,該方法能夠準確快速地實現(xiàn)羊骨架切割位置的預測?;跈C器人平臺進行切割實驗,3組樣本的誤差分別為3.3 mm、3.25 mm、3.2 mm,該方法能夠實現(xiàn)質量發(fā)生波動的羊骨架切割,切割誤差為3.25 mm。平均切割時間為8.69 s,理論效率約為413只/h,較人工約提升37.9%。結果表明深度學習和機器人技術能較好解決生物體切割問題,且精度與效率有明顯提升。