趙宇亮 曾繁國(guó) 賈 楠 朱 君 王海峰 李 斌
(北京市農(nóng)林科學(xué)院智能裝備技術(shù)研究中心,北京 100097)
豬只體尺參數(shù)是衡量其生長(zhǎng)狀況的主要指標(biāo)[1-3],在種豬選育、肉質(zhì)評(píng)價(jià)、精準(zhǔn)飼喂和分群管理中起著重要作用[4-7]。一般來(lái)講,體尺參數(shù)主要包括體長(zhǎng)、體寬、體高、臀寬和臀高5項(xiàng)指標(biāo)。目前,豬只體尺測(cè)量主要采用人工測(cè)量方式進(jìn)行。人工測(cè)量往往需要借助測(cè)杖、圓形測(cè)定器和卷尺等工具測(cè)定,費(fèi)時(shí)費(fèi)力,而且易引起豬只應(yīng)激反應(yīng),測(cè)量精度難以保證。非接觸式豬只體尺測(cè)量方法成為科研人員的重要探索方向。近年來(lái),基于計(jì)算機(jī)視覺(jué)的非接觸式測(cè)量技術(shù)經(jīng)歷了“平面圖像—立體視覺(jué)”和“人工特征工程—自動(dòng)特征工程”的發(fā)展階段[8-10]。在豬只體尺測(cè)量方面,DESHAZER等[11]于1988年首次提出將計(jì)算機(jī)成像系統(tǒng)用于豬只體尺測(cè)量研究;WHITE等[12]、DOESCHL-WILSON等[13]于2004年分別采用單目相機(jī)開(kāi)展了豬只生長(zhǎng)過(guò)程的彩色圖像采集和體尺指標(biāo)計(jì)算研究,但豬舍環(huán)境、豬體臟污和地面高光反射等問(wèn)題影響輪廓提取,測(cè)量精度有待提高[14];2019年前后,PEZZUOLO等[15]、司永勝等[16]基于Kinect深度相機(jī)采集豬只理想姿態(tài)下的背部圖像,通過(guò)特征點(diǎn)檢測(cè)來(lái)計(jì)算豬只體尺參數(shù),但圖像預(yù)處理過(guò)程繁瑣[17],無(wú)法實(shí)現(xiàn)實(shí)時(shí)測(cè)量;近年來(lái),DeepPose[18]、DeeperCut[19]、ArtTrack[20]、OpenPose[21]等姿態(tài)檢測(cè)算法在人體姿態(tài)實(shí)時(shí)估計(jì)方面的應(yīng)用成為研究熱點(diǎn),但前期需要大量標(biāo)注數(shù)據(jù)集(5 000幅以上)進(jìn)行模型訓(xùn)練,數(shù)據(jù)標(biāo)注過(guò)程費(fèi)時(shí)費(fèi)力。2018年,MATHIS等[22]提出了一種基于深度神經(jīng)網(wǎng)絡(luò)遷移學(xué)習(xí)的無(wú)標(biāo)記姿態(tài)估計(jì)算法(DeepLabCut),該算法只需少量數(shù)據(jù)集(約200幅)進(jìn)行訓(xùn)練,已在老鼠[23]、靈長(zhǎng)動(dòng)物[24]、獵豹[25]和賽馬[26]等多個(gè)物種的姿態(tài)實(shí)時(shí)跟蹤方面呈現(xiàn)良好的檢測(cè)性能,但在豬只姿態(tài)檢測(cè)及體尺測(cè)量方面尚未有研究報(bào)道。
基于此,為實(shí)現(xiàn)豬只養(yǎng)殖過(guò)程中體尺參數(shù)的非接觸式快速準(zhǔn)確測(cè)量,本文使用RealSense L515深感相機(jī)采集豬只站立姿態(tài)圖像,借助DeepLabCut算法處理豬只背部RGB圖像并提取關(guān)鍵特征點(diǎn),開(kāi)展5項(xiàng)體尺參數(shù)的測(cè)量研究。
豬只體尺數(shù)據(jù)采集平臺(tái)結(jié)構(gòu)示意圖如圖1所示。在豬只保育床(尺寸為1.8 m×1.8 m)正上方2 m處安裝RGB-D圖像采集平臺(tái)。該平臺(tái)主要由深度數(shù)據(jù)采集單元、微型邊緣計(jì)算單元、電子秤、無(wú)線局域網(wǎng)和計(jì)算機(jī)工作站組成。深度數(shù)據(jù)采集單元選用Intel RealSense L515深感相機(jī),內(nèi)置RGB圖像傳感器(分辨率為1 920像素×1 080像素,幀率為50 f/s)、深度傳感器(分辨率為1 024像素×768像素,幀率為30 f/s)和BMI085慣性測(cè)量單元,探測(cè)范圍0.25~9 m,RGB視場(chǎng)70°×43°,深度視場(chǎng)70°×55°。微型邊緣計(jì)算單元選用NVIDIA Jetson Xavier NX開(kāi)發(fā)者套件,內(nèi)置384 個(gè) NVIDIA CUDA Cores、48 個(gè) Tensor Cores、6 塊 Carmel ARM CPU 和2個(gè) NVIDIA 深度學(xué)習(xí)加速器引擎,可支持RealSense L515深感相機(jī)的數(shù)據(jù)采集、模型部署、多算法融合運(yùn)算等功能。在前期數(shù)據(jù)收集過(guò)程中,為有效采集豬只站立圖像,本研究采用電子秤(精度0.1 kg,廣東寮步益科電子公司)進(jìn)行輔助判斷,當(dāng)邊緣計(jì)算單元獲取的電子秤稱取的豬只實(shí)時(shí)體質(zhì)量數(shù)據(jù)波動(dòng)小于0.2 kg并持續(xù)3 s以上時(shí),開(kāi)啟并采集豬只RGB-D圖像。
圖1 數(shù)據(jù)采集平臺(tái)
本試驗(yàn)于2021年4月1日至6月15日在河北省秦皇島明霞養(yǎng)殖場(chǎng)某一單欄中進(jìn)行(圖1b),豬只品種為長(zhǎng)白,數(shù)量為12頭,日齡為30~115 d,體質(zhì)量為6~50 kg?;跀?shù)據(jù)采集平臺(tái),共獲取單體豬只站立圖像700組用于模型訓(xùn)練與測(cè)試。
1.3.1測(cè)量算法
本研究首先參考豬只體尺測(cè)量點(diǎn)的位置,在豬只圖像中選取關(guān)鍵特征點(diǎn),并進(jìn)行圖像特征點(diǎn)標(biāo)記和模型訓(xùn)練,驗(yàn)證特征點(diǎn)檢測(cè)效果;其次,結(jié)合深感相機(jī)內(nèi)參數(shù),計(jì)算關(guān)鍵特征點(diǎn)世界坐標(biāo)并優(yōu)化離群特征點(diǎn);然后,計(jì)算豬只5項(xiàng)體尺參數(shù)。具體算法如圖2所示。
圖2 豬只體尺測(cè)量算法流程圖
1.3.2背部特征點(diǎn)選擇
借助傳統(tǒng)人工體尺測(cè)量方法,觀察并選擇豬只圖像中10個(gè)特征點(diǎn)進(jìn)行標(biāo)記,用于后續(xù)模型訓(xùn)練。如圖3所示,B為豬只尾根區(qū)域位置,L1、R1為豬只肩部區(qū)域最寬處左、右兩個(gè)區(qū)域位置,L2、R2為豬只臀部最寬處左、右兩個(gè)區(qū)域位置,El為豬只左耳尖位置,Er為豬只右耳尖位置,F(xiàn)為頸部中點(diǎn)位置,M為豬只臀部最寬處中心點(diǎn)位置,N為豬只肩部區(qū)域最寬處中心點(diǎn)位置。
圖3 豬只背部特征點(diǎn)標(biāo)記示意圖
1.3.3特征點(diǎn)提取算法
為自動(dòng)提取豬只背部特征點(diǎn)位置,本研究選取DeepLabCut算法開(kāi)展豬只背部特征點(diǎn)檢測(cè)研究。DeepLabCut算法是一個(gè)結(jié)合對(duì)象識(shí)別和語(yǔ)義分割算法的深度卷積網(wǎng)絡(luò)結(jié)構(gòu)。以ResNet作為DeepLabCut主干網(wǎng)絡(luò)結(jié)構(gòu)為例,其具體實(shí)現(xiàn)算法是:在原有基礎(chǔ)網(wǎng)絡(luò)上去除ResNet殘差網(wǎng)絡(luò)結(jié)構(gòu)分類層,接入反卷積層進(jìn)行上采樣,獲得載有特征點(diǎn)分布情況的特征圖,并以特征點(diǎn)概率密度狀況及向量趨勢(shì)數(shù)據(jù)呈現(xiàn),進(jìn)而確定特征點(diǎn)具體位置,得到該特征點(diǎn)的圖像坐標(biāo),具體流程如圖4所示。接下來(lái),運(yùn)用已采集的批量豬只圖像數(shù)據(jù)按照上述流程對(duì)DeepLabCut網(wǎng)絡(luò)進(jìn)行訓(xùn)練,得到豬只各特征點(diǎn)的分布情況,如圖5所示,特征數(shù)據(jù)以熱力圖形式映射在原始圖像中。
圖4 網(wǎng)絡(luò)模型結(jié)構(gòu)圖
圖5 特征位置分布圖
為獲得豬只背部特征點(diǎn)檢測(cè)最優(yōu)模型,本研究選取ResNet-50、ResNet-101、ResNet-152、MobileNet-V2-1.0、MobileNet-V2-0.75、MobileNet-V2-0.5、MobileNet-V2-0.35、EfficientNet-b0、EfficientNet-b3和EfficientNet-b6共10個(gè)網(wǎng)絡(luò)模型[27-30]進(jìn)行訓(xùn)練并擇優(yōu)作為DeepLabCut主干網(wǎng)絡(luò)模型。
1.3.4站立姿態(tài)分類
由于豬只身體處于卷曲、頭部擺動(dòng)等非自然站立姿態(tài)時(shí),體尺測(cè)量會(huì)產(chǎn)生較大誤差,因此,為實(shí)現(xiàn)豬只5項(xiàng)體尺數(shù)據(jù)精準(zhǔn)計(jì)算,在獲得豬只特征點(diǎn)信息后,需篩選豬只自然站立姿態(tài)進(jìn)行體尺測(cè)量。一般自然站立狀態(tài)下,El與Er連線S1,L1與R1連線S2,L2與R2連線S3,這3條線間近似平行,各直線間夾角比較??;非自然站立狀態(tài)下,由于頭部或身體扭曲,各直線間夾角比較大。
本文在得到多組3條線間的夾角數(shù)據(jù)后(Angle_S12、Angle_S23、Angle_S13),運(yùn)用支持向量機(jī)(Support vector machine, SVM)進(jìn)行模型訓(xùn)練。SVM分類的主要思想是通過(guò)核函數(shù)定義的非線性變換將輸入空間變換成一個(gè)高維空間,并在這個(gè)空間中尋找一個(gè)分類超平面作為決策平面,使得正例和反例之間的隔離邊緣被最大化。本文將數(shù)據(jù)集主要分成兩類(自然站立狀態(tài)與非自然站立狀態(tài)),如圖6所示。選用徑向基函數(shù)(Radial basis function)作為SVM核函數(shù),在姿態(tài)模型訓(xùn)練過(guò)程中主要涉及懲罰系數(shù)與gamma兩個(gè)參數(shù)。其中懲罰系數(shù)即對(duì)誤差的寬容度,懲罰系數(shù)越高,說(shuō)明越不能容忍出現(xiàn)誤差,容易過(guò)擬合;懲罰系數(shù)越小,容易欠擬合。gamma值隱含地決定了數(shù)據(jù)映射到新的特征空間后的分布,gamma值越大,支持向量越少,gamma值越小,支持向量越多。在模型訓(xùn)練過(guò)程需要調(diào)節(jié)這兩個(gè)參數(shù),使得姿態(tài)分類模型準(zhǔn)確率高又具備較強(qiáng)的泛化能力。
圖6 不同狀態(tài)站立圖像
1.3.53D坐標(biāo)轉(zhuǎn)換
為獲得原始數(shù)據(jù)中彩色圖像與深度圖像的坐標(biāo)間映射關(guān)系,本研究采用Intel RealSense提供的pyrealsense2工具包進(jìn)行圖像配準(zhǔn),實(shí)現(xiàn)目標(biāo)區(qū)域由像素坐標(biāo)向世界坐標(biāo)的轉(zhuǎn)換。具體轉(zhuǎn)換關(guān)系如圖7所示,世界坐標(biāo)(X,Y,Z)變換計(jì)算公式為
圖7 圖像坐標(biāo)與世界坐標(biāo)轉(zhuǎn)換關(guān)系
(1)
式中cx——圖像中心點(diǎn)橫像素坐標(biāo),像素
cy——圖像中心點(diǎn)縱像素坐標(biāo),像素
fx——橫向像素焦距,像素
fy——縱向像素焦距,像素
d(u,v)——圖像點(diǎn)(u,v)深度,m
本文深度相機(jī)cx=948.963像素,cy=524.896像素,fx=1 371.98像素,fy=1 372.58像素。
1.3.6離群特征點(diǎn)坐標(biāo)優(yōu)化
實(shí)際應(yīng)用中,由于RealSense L515自身激光掃描方式特點(diǎn),部分深度信息會(huì)存在丟失情況,尤其是豬只邊緣與地面交接處的深度數(shù)據(jù)丟失更為嚴(yán)重,還有通過(guò)DeepLabCut算法獲取的靠近身體邊緣區(qū)域特征點(diǎn)的微小偏差都會(huì)造成豬只體尺的大幅誤差。
已知攝像頭與地面距離,易將深度信息劃分為地面區(qū)域G、豬體區(qū)域B、未獲取深度區(qū)域O。如圖8所示,圖8a通過(guò)帶通分割方式將深度圖分成3個(gè)區(qū)域,紅色為豬體區(qū)域,綠色為地面區(qū)域,藍(lán)色為未得到深度數(shù)據(jù)區(qū)域。通過(guò)DeepLabCut算法得到特征點(diǎn)的圖像位置與真實(shí)標(biāo)記位置無(wú)明顯差異,將特征點(diǎn)以3D形式呈現(xiàn),明顯看出點(diǎn)El、B深度為0 mm,點(diǎn)L1映射在地面區(qū)域。因此需要對(duì)離群點(diǎn)位置進(jìn)行優(yōu)化,從而計(jì)算豬只體尺數(shù)據(jù)。
圖8 深度數(shù)據(jù)不同仰角3D圖
為解決這一問(wèn)題,本研究設(shè)計(jì)了一種離群特征點(diǎn)臨近區(qū)域深度替換算法。對(duì)于離群特征點(diǎn)P,在深度圖上以該點(diǎn)圖像坐標(biāo)位置作為中心點(diǎn),向外擴(kuò)張成(2d+1)×(2d+1)像素矩形區(qū)域,獲取該區(qū)域深度數(shù)據(jù)集合,將點(diǎn)P的深度數(shù)據(jù)替換成該集合非零最小值。本文選用矩形區(qū)域中非零最小值與矩形區(qū)域非零平均值對(duì)比測(cè)試,最終選擇矩形區(qū)域非零最小值替代離群點(diǎn)深度,此方式相對(duì)于矩形區(qū)域非零平均值替代方法更符合實(shí)際測(cè)量點(diǎn)位置。
1.3.7體尺計(jì)算
獲得豬只背部各特征點(diǎn)世界坐標(biāo)以后,計(jì)算豬只體長(zhǎng)(從點(diǎn)F到點(diǎn)B豬體背脊曲線長(zhǎng)度)、體寬(L1與R1直線距離)、臀寬(L2與R2直線距離)、體高(點(diǎn)N距地面高度)和臀高(點(diǎn)M距地面高度)。其中豬只體長(zhǎng)為頸部中點(diǎn)到尾跟點(diǎn)間的脊背曲線長(zhǎng)度,即圖9所示藍(lán)色曲線長(zhǎng)度。需對(duì)藍(lán)色區(qū)域經(jīng)過(guò)的離散點(diǎn)世界坐標(biāo)進(jìn)行多項(xiàng)式函數(shù)擬合,應(yīng)用弧微分法計(jì)算該曲線長(zhǎng)度。
圖9 豬只體長(zhǎng)曲線提取效果圖
為了對(duì)DeepLabCut算法中的網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,同時(shí)評(píng)估10個(gè)主干網(wǎng)絡(luò)模型的運(yùn)算速度與準(zhǔn)確度,針對(duì)模型進(jìn)行離線訓(xùn)練與測(cè)試,試驗(yàn)環(huán)境:Intel Core i9-10900X型號(hào)CPU,TITAN RTX型號(hào)GPU,Ubuntu 18.04操作系統(tǒng),Python 3.7編程語(yǔ)言。
為了量化基于DeepLabCut算法的特征點(diǎn)檢測(cè)方法針對(duì)小樣本量數(shù)據(jù)模型訓(xùn)練效果和預(yù)測(cè)能力,隨機(jī)抽取150幅圖像進(jìn)行標(biāo)記,將圖像數(shù)據(jù)集隨機(jī)分成訓(xùn)練集和測(cè)試集(分別為80%和20%),并在測(cè)試圖像上評(píng)估DeepLabCut的性能模型。訓(xùn)練過(guò)程中選取Adam優(yōu)化器,設(shè)置批處理為1幅,學(xué)習(xí)率為0.02,迭代次數(shù)為50 000次。
10個(gè)主干網(wǎng)絡(luò)模型訓(xùn)練過(guò)程的Loss曲線如圖10所示。由圖可知,10個(gè)模型在迭代40 000次時(shí)均收斂,且網(wǎng)絡(luò)損失值由小到大呈現(xiàn)為EfficientNet系列、ResNet系列、MobileNet系列,EfficientNet-b6模型在整個(gè)訓(xùn)練過(guò)程中一直保持最低的損失值。
圖10 模型訓(xùn)練過(guò)程Loss曲線
10個(gè)主干網(wǎng)絡(luò)模型的性能參數(shù)如表1所示,從處理速度上比較,MobileNet-V2-0.75模型檢測(cè)速度最快,達(dá)到16.5 f/s,但其在測(cè)試集誤差較高,更適合于時(shí)效性要求高于準(zhǔn)確度要求的檢測(cè)領(lǐng)域。EfficientNet-b0模型內(nèi)存占用量為14.9 MB,檢測(cè)速度與均方根誤差在10個(gè)模型中表現(xiàn)不錯(cuò),檢測(cè)速度和準(zhǔn)確度較為均衡。EfficientNet-b6模型為159.1 MB,幀率為3.8 f/s,其在測(cè)試集上的誤差最小,適合用于高精度線測(cè)量,需要更高的檢測(cè)準(zhǔn)確度,因此選用EfficientNet-b6網(wǎng)絡(luò)模型作為DeepLabCut算法的主干網(wǎng)絡(luò)。
表1 不同主干網(wǎng)絡(luò)模型性能對(duì)比
為了得到更為精確的站立姿態(tài)分類模型,采用網(wǎng)格搜索法通過(guò)懲罰系數(shù)與gamma參數(shù)調(diào)節(jié)訓(xùn)練姿態(tài)檢測(cè)模型。使用288組數(shù)據(jù)進(jìn)行訓(xùn)練,其中自然站立姿態(tài)182組,非自然站立姿態(tài)106組。實(shí)驗(yàn)中將數(shù)據(jù)隨機(jī)打亂,80%數(shù)據(jù)作為訓(xùn)練集,20%數(shù)據(jù)作為測(cè)試集。經(jīng)測(cè)試與驗(yàn)證分析,選用懲罰系數(shù)為1、gamma為0.011訓(xùn)練的自然站立姿態(tài)檢測(cè)模型,識(shí)別準(zhǔn)確率為94.82%。
為了驗(yàn)證本研究提出的離群特征點(diǎn)優(yōu)化效果,隨機(jī)抽驗(yàn)一組帶有離群特征點(diǎn)的圖像進(jìn)行誤差分析,其中點(diǎn)El、L1、B在點(diǎn)云圖中發(fā)生明顯偏移。針對(duì)這3點(diǎn),利用1.3.6節(jié)所述的離群特征點(diǎn)的臨近區(qū)域深度替換算法,進(jìn)行測(cè)試與分析。圖11為離群特征點(diǎn)向外擴(kuò)張距離d取不同值情況下,特征點(diǎn)在點(diǎn)云圖的分布情況。圖11a為未針對(duì)離群特征點(diǎn)進(jìn)行優(yōu)化分布情況,其中點(diǎn)El、B由于深度缺失,記為0,將其轉(zhuǎn)換成世界坐標(biāo)系后,該兩點(diǎn)坐標(biāo)均為(0,0,0);點(diǎn)L1在圖像中輕微向豬體外側(cè)偏移,該點(diǎn)對(duì)應(yīng)地面區(qū)域,由于該點(diǎn)深度與實(shí)際點(diǎn)L1深度差異明顯,導(dǎo)致轉(zhuǎn)換后的世界坐標(biāo)和實(shí)際位置相差較大。圖11b為原始圖像中離群特征點(diǎn)向外擴(kuò)張成21像素×21像素區(qū)域(d=10像素),優(yōu)化后其特征點(diǎn)在點(diǎn)云圖位置分布,可以看出,點(diǎn)El、L1依然處于離群區(qū)域,點(diǎn)B和真實(shí)尾根測(cè)量點(diǎn)無(wú)明顯差異,經(jīng)計(jì)算該點(diǎn)與人工標(biāo)記點(diǎn)的距離為2.8 cm。圖11c為原始圖像中離群特征點(diǎn)向外擴(kuò)張成31像素×31像素區(qū)域(d=15像素),由優(yōu)化后特征點(diǎn)在點(diǎn)云圖位置分布情況可以看出,El、L1分別與真實(shí)左耳尖、體寬左測(cè)量點(diǎn)無(wú)明顯差異,點(diǎn)B與真實(shí)尾根測(cè)量點(diǎn)有偏移,經(jīng)計(jì)算該點(diǎn)與人工標(biāo)記點(diǎn)的距離為8.1 cm。圖11d為原始圖像中離群特征點(diǎn)向外擴(kuò)張41像素×41像素區(qū)域(d=20像素),由優(yōu)化后其特征點(diǎn)在點(diǎn)云圖位置分布情況可以看出,El、L1分別與真實(shí)左耳尖、體寬左測(cè)量點(diǎn)無(wú)明顯差異,點(diǎn)B與真實(shí)尾根測(cè)量點(diǎn)存在明顯偏移,經(jīng)計(jì)算該點(diǎn)與人工標(biāo)記點(diǎn)的距離為10.4 cm。
圖11 不同擴(kuò)張范圍下離群特征點(diǎn)優(yōu)化后的點(diǎn)云圖
試驗(yàn)結(jié)果發(fā)現(xiàn),d取不同值時(shí),結(jié)果存在很大差異。d過(guò)小,無(wú)法在擴(kuò)張區(qū)域找到符合豬體深度范圍的深度;d過(guò)大,造成優(yōu)化后的位置與真實(shí)位置差異較大。為進(jìn)一步優(yōu)化離群特征點(diǎn),采用d值動(dòng)態(tài)調(diào)節(jié)方法,從d=1像素開(kāi)始進(jìn)行計(jì)算,對(duì)于每一個(gè)離群特征點(diǎn),若擴(kuò)張后矩形區(qū)域無(wú)法找到符合豬體深度范圍的非零最小值,則d值加1像素,直到找到符合豬體深度范圍的深度數(shù)據(jù)為止,表2為手動(dòng)標(biāo)記點(diǎn)與動(dòng)態(tài)調(diào)整后離群點(diǎn)結(jié)果對(duì)比表。手動(dòng)標(biāo)記特征點(diǎn)結(jié)果與動(dòng)態(tài)調(diào)節(jié)離群特征點(diǎn)分布如圖12所示。
表2 手動(dòng)標(biāo)記點(diǎn)與動(dòng)態(tài)調(diào)整后離群點(diǎn)結(jié)果對(duì)比
圖12 手動(dòng)標(biāo)記特征點(diǎn)與動(dòng)態(tài)調(diào)節(jié)離群特征點(diǎn)對(duì)比圖
本研究采取動(dòng)態(tài)調(diào)節(jié)d值方式對(duì)離群特征點(diǎn)進(jìn)行測(cè)試,經(jīng)過(guò)優(yōu)化后離群特征點(diǎn)及骨架模型如圖13所示。
圖13 豬只特征點(diǎn)與骨架3D圖
為了驗(yàn)證本研究方法有效性,對(duì)日齡40~70 d長(zhǎng)白豬進(jìn)行現(xiàn)場(chǎng)測(cè)試,共采集140組RGB-D圖像數(shù)據(jù)用于測(cè)試。部分體尺測(cè)量結(jié)果如圖14所示,結(jié)果顯示,在DeepLabCut 關(guān)鍵點(diǎn)置信度設(shè)置為0.6時(shí),基于DeepLabCut算法的特征點(diǎn)檢測(cè)算法均可檢測(cè)豬只背部圖像的10個(gè)特征點(diǎn)。
圖14 豬只體尺測(cè)量結(jié)果
表3為部分豬只實(shí)際體尺與預(yù)測(cè)體尺數(shù)據(jù)及誤差,經(jīng)計(jì)算體長(zhǎng)、體寬、體高、臀寬、臀高的均方根誤差分別為1.79、1.07、0.72、1.25、1.46 cm;由計(jì)算結(jié)果可知均方根誤差不大于1.79 cm,符合體尺測(cè)量誤差要求。體寬、臀寬均方根誤差不大于1.25 cm,但這兩項(xiàng)參數(shù)基數(shù)較小,其誤差與體長(zhǎng)、體高及臀高相比誤差略大。在上述試驗(yàn)環(huán)境下測(cè)試,體尺測(cè)量處理時(shí)間每幀為0.27 s,符合在線測(cè)量應(yīng)用要求。
表3 實(shí)際測(cè)量結(jié)果與算法計(jì)算結(jié)果對(duì)比
(1)針對(duì)豬只體尺測(cè)量位置特征與數(shù)據(jù)集規(guī)模程度,選取DeepLabCut算法進(jìn)行10個(gè)主干網(wǎng)絡(luò)模型訓(xùn)練與分析,經(jīng)驗(yàn)證選用EfficientNet-b6網(wǎng)絡(luò)模型作為豬只背部特征點(diǎn)提取的最優(yōu)模型。
(2)使用離群特征點(diǎn)臨近區(qū)域深度數(shù)據(jù)替換算法進(jìn)行動(dòng)態(tài)優(yōu)化,有效解決了深度數(shù)據(jù)缺失與不合理問(wèn)題。
(3)通過(guò)現(xiàn)場(chǎng)真實(shí)環(huán)境測(cè)試,本文算法適用于部署在邊緣計(jì)算單元實(shí)現(xiàn)豬只體尺實(shí)時(shí)精準(zhǔn)測(cè)量的各項(xiàng)體尺參數(shù),各項(xiàng)體尺數(shù)據(jù)均方根誤差不大于1.79 cm,體尺測(cè)量處理時(shí)間每幀為0.27 s。