999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Mask R-CNN的牛體尺測量系統

2021-05-06 07:55:40趙建敏文博李琦
畜牧與獸醫 2021年5期
關鍵詞:測量區域模型

趙建敏,文博,李琦

(內蒙古科技大學信息工程學院,內蒙古 包頭 014010)

牛的體尺參數能夠反應牛的生長發育狀況、生產性能及遺傳特性,可以作為衡量牛生長發育情況的一個主要指標。在選種、肉質評價以及飼養管理等方面,牛體體尺也是一個重要指標[1]。傳統的牛體尺測量主要是通過手杖、皮尺進行直接測量,這種測量方法工作量大,而且直接接觸牛體,會使牛產生應激反應,極大地影響測量精度和測量效率。

近年來基于計算機視覺的家畜體尺測量改變了接觸式的測量方法。主要有利用背景減法、去噪聲算法、背景差分法以及自動閾值分割針對家畜進行體尺測量[2-4]。然而,當家畜與背景環境的顏色相近時,利用此類方法測量很難單純地分割出目標家畜,干擾較強。隨后國內相關研究提出利用Kinect相機采集家畜圖像。利用Kinect深度傳感器獲取荷斯坦奶牛的三維點云數據以及使用投影法和差分法識別家畜頭部和尾部位置,并利用最小外接矩形法調整牲畜的水平方向[5-7]。此外在豬體尺機器視覺技術研究中,國外相關研究利用VIA系統對豬生長過程進行監測,獲取豬體背部體長、體寬、面積參數和形狀信息[8-10]。Banhazi等[11]基于單攝像機構建了豬的體寬、體長及面積檢測系統,此研究為動物的測量提供了一種新型的工具,通過攝像頭獲取視頻及圖像數據,利用一系列的圖像處理手段實現目標物尺寸和面積的研究。胡志偉等[12]采用一種基于VGG16與UNET相結合的全卷積神經網絡模型,實現對圖像語義級別的分割,提取出生豬的輪廓。

在實際圖像采集過程中,由于牛的采食習性,很難采集到滿足測量要求的理想圖像。為了能夠更加精確地獲取到目標物體的輪廓曲線,在Ubuntu系統下,使用Pytorch深度學習框架、利用Pyqt5搭建了牛體尺測量系統。該系統使用單只攝像頭采集牛體圖像,利用Mask R-CNN[13-14]模型提取牛體輪廓,結合部位特征對輪廓進行分區,在局部區域根據幾何特征提取體尺測點,最終在牛體輪廓線找到體尺部位、體尺特征點,并且結合牛體尺測點計算數據。

1 材料與方法

1.1 數據采集

采用型號為Intel E5-2680的CPU以及Nvidia 1080Ti的顯卡搭建服務器,模型訓練采用已公開的COCO、VOC數據集,篩選數據集中牛這一類的全部圖像并用于訓練分割模型,其中COCO數據集包含2 055張,VOC數據集951張。測試采用實驗室仿真測試和實地測試,實驗室環境中安裝仿真模型牛進行模擬仿真,實地測試環境選擇在內蒙古蘇尼特左旗合作牧場,隨機挑選大小不同的5只牛,實時進行采集圖像、體尺計算。

1.2 體尺測量系統設計方案

體尺測量系統試驗平臺主要由攝像頭、服務器、測量區域以及體尺測量顯示界面組成,測量系統主要包含:目標分割、特征部位特征點的提取以及體尺計算。數據采集層利用攝像頭采集牛站姿圖片;數據處理層將采集到的牛圖片送入Mask R-CNN分割模型中輸出具有掩模的圖片并且提取出當前牛的輪廓曲線,針對提取出的牛體輪廓曲線進行幾何分析得到體尺測點,進一步根據體尺測點計算當前牛的體尺數據;功能展現層則將每一部分的效果圖以及體尺信息顯示在利用pyqt5搭建的體尺測量系統界面,并最終將每只牛按照各自的ID編號存儲至數據庫建立牛的檔案,設計出基于Mask R-CNN的牛體尺測量系統,系統框架如圖1所示。

圖1 系統框架

根據生成的具有掩模信息的圖像最終提取出閉合牛體側面輪廓線[15-17]。首先對得到的牛體輪廓線進行濾波得到較好的輪廓曲線,利用分區法提取特征區域,進一步利用U弦長曲率方法[18]計算特征區域中曲率最大點得到牛體尺測點,最終根據像素長度與像素比例之間的比值,計算出牛體體尺數據[19-28]。牛體特征點如圖2所。

注:A為臀部特征點,B為髻甲點,E為前足點,D為肩胛前端點,C點為B點的垂點;AB兩點之間橫坐標的距離為牛體體長,BC之間的垂直距離為體高,AD長為體斜長

1.3 目標分割算法

數據處理采用Mask R-CNN分割算法。Mask R-CNN是以Faster R-CNN[29]為原型,在此結構上增加了1個分支用于圖像分割,整體可以看作是1個通用實例分割架構。Mask R-CNN結構圖如圖3所示。算法模型使用深度殘差網絡ResNet101替代傳統的AlexNex網絡作為特征提取模塊,同時將特征金字塔網絡(feature pyramid networks, FPN)引入算法中,使用ResNet101和FPN結合的算法進行特征提取,可以在不增加計算量的同時,提升多尺度下小像素的精準快速檢測能力。將提取到的特征圖(feature map)送入區域候選網絡(region proposal network, RPN)提取可能存在的目標區域(region of interest, ROI)。通過對目標區域進行ROI Align池化操作,將特征圖與輸入圖像像素進行對齊,在經過分類、像素分割完成對目標區域的分割。Mask R-CNN 最后的輸出有3個分支,其中2個分支經過全連接層進行分類和邊框回歸,另1個Mask分支經過全卷積網絡進行上采樣得到分割圖。

圖3 Mask R-CNN結構示意

1.4 輪廓及體尺測點的提取

1.4.1 輪廓曲線的提取

牛的輪廓提取采用讀取Mask R-CNN模型處理原始圖像后生成的掩碼圖像的掩碼信息,從而提取出牛的輪廓。掩碼的生成是由分割模型對目標物體進行分割,然后構建顏色填充器將目標物體填充顏色。利用攝像頭對現場牛彩色圖像的采集,將彩色圖像送入Mask R-CNN模型生成具有掩碼信息的圖像,隨后讀取圖像的掩碼信息并以坐標的形式存入txt文件中,最后重新讀取txt文件并利用plt.show()函數將掩碼坐標重新繪制。相比于經典的邊緣檢測方法,用提取掩碼的坐標信息繪制輪廓曲線更為簡單快捷,提高了提取精度,極大地縮短了輪廓提取的時間并且更適用于復雜背景。原始圖像、掩碼圖像以及輪廓圖像如圖4所示。

圖4 目標牛體輪廓圖像

1.4.2 特征區域的提取

對于得到的曲線采用分區法,將牛的輪廓曲線圖分為3個區域,由牛體輪廓圖像觀察可看到,采集到的牛前、后蹄點處于所得的圖像中最下方位置,且前、后蹄點輪廓線分辨明顯,易于提取。對前、后足點提取時采用像素逐點掃描的方法。

在尋找前、后足點過程中,為了能夠盡可能準確地搜索到前后足點,給定限定條件,即:在測量牛體尺數據時,必須保持牛平行站立于鏡頭,并且牛的頭部在尾部的左側。因此,在搜索到第1個足點后,此時整個圖像會自動被分為A、B、C 3個區域,其中A區域的寬度為牛前足點的橫坐標到牛的輪廓最小橫坐標的距離,B區域的寬度為前足點的橫坐標到牛的輪廓最大橫坐標1/2的距離,而C區域的寬度為牛的輪廓整體長度的一半到牛的輪廓最大橫坐標的距離。其中,尾部區域位于C區域,利用牛的輪廓橫坐標最大點、縱坐標最小的點擴大或減小一定比例作為尾部特征區域的寬度和高度。即利用輪廓曲線橫坐標的最大值的0.85至1.1倍的距離作為尾部特征區域的寬度,利用輪廓曲線縱坐標最小值的0.95至1.1倍的距離作為尾部特征區域的高度。髻甲點區域位于B區域內,利用A、B區域分界線的橫坐標和輪廓曲線縱坐標最小值采用相同的方法,橫坐標的0.95至1.1倍的距離作為髻甲點區域的寬度,縱坐標最小值的0.95至1.1倍的距離作為特征區域的高度。對于肩端區域,根據牛不同的站姿,可能存在A區域內,也可能存在B區域內。利用輪廓曲線縱坐標的平均值做一條水平基線,這條水平基線與牛的輪廓曲線相交的橫坐標最小點的0.95至1.05倍作為肩端區域寬度;與此同時利用A區域中縱坐標的平均值的0.95至1.05倍作為肩端區域的高。采用這種方法,可以解決不同大小的牛按照各自身高體長提取自身的特征區域。

1.4.3 體尺測點的提取

體尺測點的測量采用U弦長曲率法計算曲率最大點提取出體尺測點。計算U弦長曲率時,應用與支持領域前后臂矢量夾角相關的一個余弦值作為離散曲率,具體計算公式如下式:

(式1),

對于尾部區域、髻甲點區域、肩端區域,采集各個特征區域內的所有離散點,利用U弦長曲率法計算特征區域內的曲率最大點,曲率最大點即為體尺測點。體尺測點的提取結果如圖5所示。

圖5 體尺測點提取效果

1.5 體尺計算

體尺測量原理示意圖如圖6所示,測量步驟如下:

①劃分測量區域,實際測量之前固定攝像頭位置,選取牛圈出口通道作為測量區域,將測量區域按照60 cm間隔分區,并按區域進行標定,獲取每個區域的圖像像素和實際長度的轉換參數;

②牛通過出口進入測量區域后,對圖像進行目標分割、提取輪廓曲線;

③對輪廓曲線進行體尺測點的提取得到髻甲點、牛尻點、肩端點;

④利用步驟③得到的特征點計算體尺數據的像素長度,其中計算體長選取髻甲點和牛尻點;體高利用髻甲點進行計算;體斜長選取肩端點和牛尻點進行計算;

⑤判定牛站立區域,其中牛站立區域的判定方法是通過輪廓曲線中牛左前蹄處的像素坐標與步驟①劃分的測量區域分界線的像素坐標進行比較,即可判定牛當前所處區域;

⑥根據步驟⑤判定出牛站立區域,進而圖像中相應區域的計算參數隨即固定,后續步驟采用標定好的參數;

⑦根據公式計算。

圖6 體尺測量示意

本文在距離攝像頭150 cm處依次間隔60 cm劃分4個測量區域,分界線和測量區域的編號按離攝像頭的距離從近到遠依次排列。分界線采用20 cm×20 cm的棋盤格進行標定,得到該分界線上的像素比例Pn(n=1,2,3,4,5),分區i(i=1,2,3,4)中不同位置呈現的像素比例Pp在本區內進行線性計算,具體計算公式如下式:

(式2),

式中,Yv代表牛所在位置距離第一條分界線的像素長度,Yn、Yn+1分別代表牛所在區域的左右分界線距離第一條分界線的像素長度。進而計算牛體長、體高以及體斜長的像素長度,隨后進一步計算牛的真實體尺數據。牛實際體高、體長、體斜長采用下述公式計算:

(式3),

式中,(X1,Y1)、(X2,Y2)是體尺測點的坐標,Pp為牛站立位置的像素比例,其中計算體高時選取髻甲點,利用髻甲點到輪廓曲線最低點的垂直距離作為體高的像素長度;測量體長時,選取髻甲點和牛尻點橫坐標的距離作為體長的像素長度;計算體斜長時,體斜長的像素長度為牛尻點與肩端點的直線距離。進而根據實際長度等于像素距離與像素比例的比值計算出實際的牛體尺數據。

2 結果與分析

2.1 系統測量與實際測量結果比較分析

牛體尺測量試驗主要分為兩部分:一部分試驗選擇以仿真模型牛作為試驗樣本,在模擬試驗環境中測量模型牛站在不同測量區域時的體尺信息;另一部分試驗環境選擇在內蒙古蘇尼特左旗養殖場中,隨機選取5只大小不同的牛作為試驗樣本,在飼養員的干預下使牛站姿盡可能平行鏡頭時采集當前圖片,用于后續體尺測量。

在試驗測量中,以皮尺分別測取仿真牛以及真實牛的體高、體長、體斜長3項數據各10次,以每項數據的平均值作為試驗樣本的真實值。然后利用體尺測量系統將采集到的牛圖片分別送入分割模型進行輪廓提取,特征部位、特征點的提取,進一步對每一張圖片進行體尺數據計算,然后對同一只牛計算到的體尺數據進行平均,以此作為本系統測得的牛體尺數據,如圖7所示為試驗測量效果圖。

圖7 試驗測量效果示意

圖7左側為在模擬環境中測量模型牛站在不同測量區域內的體尺信息,以人工方法測量結果為真值,比較系統測量結果與人工測量結果,給出本系統針對模型牛的測量相對誤差,見表1。同理,圖7右側為在實際養殖場中進行牛體尺測量,將系統測量結果與人工測量結果進行比較,給出系統測量誤差,見表2。

表1 模型牛測量結果

表2 實際牛測量結果

由試驗結果可以發現,本系統針對模型牛在不同區域內測量的體長數據與人工測量的數據信息平均相對誤差不超過3.56%,體高測量數據與真實數據信息平均相對誤差不超過2.48%,體斜長平均相對誤差不超過3.81%。進行實地測量時,經驗證對牛體體高的實測值平均相對誤差較小,其平均相對誤差為4.94%;其次為體長,平均相對誤差為6.84%;而對牛體體斜長檢測誤差較大,平均相對誤差為8.36%。利用本系統測量時不與牛接觸,避免了因接觸牛而造成的其他問題,在提取牛輪廓時,與傳統方法相比較本系統輪廓提取更加精確,簡化了輪廓提取的步驟,適用性更強。試驗結果表明此方法滿足此次系統設計的需求。

2.2 測量系統界面的顯示

測量系統利用pyqt5搭建顯示界面,通過使用槽函數給每一個按鈕添加相應的功能使得測量系統每一部分得到的效果都可以展示。系統界面如圖8所示。其中ID編號為牛的身份編號,當對活體牛進行體尺測量后,點擊保存按鈕,即會將不同的牛按照各自的ID編號將體尺信息存儲到后臺數據庫中,建立電子檔案,便于查看。

圖8 系統主界面

系統采用多線程方法設計應用程序,線程1進行攝像頭的采集,調用攝像頭的RTSP協議讀取視頻流,當牛進入測量區域觀察后采集10張牛站姿的圖片,用于后續試驗計算體尺數據信息,當牛未進入測量區域時則不采集圖像,因為測量區域相對處于鏡頭中心位置,在此位置,圖像畸變較小,采集的圖片明顯優于其他位置采集的圖像,后續的測量誤差會較小。在軟件界面的顯示窗口中,顯示采集圖像的其中1張即可。線程2負責將采集到的所有圖像送入分割模型提取輪廓曲線,并將處理過后的圖像顯示在界面的相應窗口,接下來根據數字分析找到體尺測點進行體尺計算,輸出10張圖像計算后的體尺信息的平均值。最終,將當前測量的牛體尺信息以及處理后的圖像按照各自的ID編號存入數據庫中,便于建立牛的體尺檔案。

3 討論

本文針對傳統測量牛體尺數據、傳統提取輪廓耗時耗力等問題,提出了一種基于Mask R-CNN的牛體尺測量系統。試驗結果表明,相比較于用背景減法、去噪聲算法、背景差分法以及自動閾值分割針對家畜進行體尺測量,采用Mask R-CNN分割模型可以在復雜的背景中有效地提取出牛的輪廓曲線,抗干擾性強同時也提高了輪廓曲線的提取精度,并且對于Mask R-CNN目標分割模型經過訓練后,可以使分割模型根據人們的需求對于不同的物體進行目標識別、目標分割,也可達到對于特定物體的輪廓提取。在體尺數據實際測量中,針對模型牛與實際牛不同的試驗樣本,模型牛的特征部位以及體尺測點明顯凸出,并且相對位置固定,不會存在其他外界條件的干擾所以測量精度相對較高。而活體牛,由于毛發以及牛的生態習性、身體姿態相對不固定,所以在尋找特征區域以及體尺測點的過程中誤差較大。

本系統在進行牛的體尺測量時,要求牛進入測量區域站姿較好時開始采集圖像,并且通過試驗測量體長測量誤差在6.84%之內,體高測量誤差在4.94%之內,體斜長測量誤差在8.36%之內。相較于利用Kinect相機采集家畜理想姿態圖像后進行體尺計算,本系統采集家畜圖像后直接對家畜的輪廓曲線進行體尺計算。本系統對機器視覺技術在家畜體尺測量方面具有積極的意義,為我國牛養殖業的精準化、精細化、智能化提供技術支撐。但在自然狀態下,牛的站姿變化對體長、體斜長測量有較大影響。在牛站姿不平行于鏡頭時會存在站姿偏角,提取體尺測點存在測量誤差。針對本系統測量誤差以及存在站姿偏角問題,接下來應解決站姿糾偏以及進一步提高體尺測點的提取精度。

猜你喜歡
測量區域模型
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
把握四個“三” 測量變簡單
滑動摩擦力的測量和計算
滑動摩擦力的測量與計算
3D打印中的模型分割與打包
關于四色猜想
分區域
測量
主站蜘蛛池模板: 精品视频福利| 毛片免费观看视频| 亚洲成a人在线播放www| 亚洲日本韩在线观看| 国产黄网永久免费| 97人人做人人爽香蕉精品| 亚洲永久色| 最新日韩AV网址在线观看| 国产中文在线亚洲精品官网| 欧美日韩国产在线播放| a毛片在线免费观看| 免费视频在线2021入口| 国产成人区在线观看视频| 日韩av高清无码一区二区三区| 日韩精品少妇无码受不了| 成人在线天堂| 色婷婷国产精品视频| 香蕉综合在线视频91| 九九这里只有精品视频| 中文字幕无码制服中字| 一区二区无码在线视频| 国产福利一区视频| 伊人狠狠丁香婷婷综合色| 国产亚洲精品自在线| 亚洲国产精品人久久电影| 特级aaaaaaaaa毛片免费视频 | 国产成本人片免费a∨短片| 激情综合图区| 99精品视频在线观看免费播放| 亚洲国产精品日韩av专区| 天天操天天噜| 久久99精品久久久久久不卡| 98超碰在线观看| 久热99这里只有精品视频6| 午夜欧美在线| 粗大猛烈进出高潮视频无码| 久草美女视频| 成年人免费国产视频| 波多野结衣一区二区三区四区视频| 97国产精品视频人人做人人爱| 国产午夜一级毛片| 波多野结衣爽到高潮漏水大喷| 岛国精品一区免费视频在线观看| 成人永久免费A∨一级在线播放| 国产精品所毛片视频| 日韩国产综合精选| 精品无码日韩国产不卡av| 国产美女无遮挡免费视频网站| 国产精品免费电影| 高清视频一区| 中文字幕在线永久在线视频2020| 久久婷婷色综合老司机| 国产在线拍偷自揄观看视频网站| 久久久精品国产SM调教网站| av一区二区人妻无码| 99精品国产自在现线观看| 国产成人精品在线1区| 欧美激情首页| 青青青视频免费一区二区| 自慰高潮喷白浆在线观看| 亚洲永久色| 在线另类稀缺国产呦| 日韩AV无码一区| 极品国产一区二区三区| 91小视频在线| 国产亚洲精品97在线观看| 精品一区国产精品| 国产极品粉嫩小泬免费看| 欧美日韩在线成人| 丝袜国产一区| 色婷婷啪啪| 国产成人亚洲精品蜜芽影院| 看你懂的巨臀中文字幕一区二区 | 成年人久久黄色网站| 日韩免费成人| 欧美日韩国产系列在线观看| 免费又黄又爽又猛大片午夜| 色妞永久免费视频| 成人午夜久久| 99热这里只有精品在线观看| 亚洲一区毛片| 亚洲精品国产成人7777|