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

基于激光雷達的豬只體重測量系統開發與研究

2022-03-30 07:12:52郭小鳳谷亞寧謝瑞潔
計算機測量與控制 2022年3期
關鍵詞:測量模型

郭小鳳,谷亞寧,謝瑞潔

(山西農業大學 信息科學與工程學院,山西 太谷 030801)

0 引言

在我國規模化的豬只養殖業中,影響豬只養殖效率最重要的因素是豬只的健康狀況以及出欄豬的體重[1]。對豬只的體重監測,可以有效地了解豬只每日攝入體內的蛋白質和能量,對指導養殖戶進行豬只計劃飼喂量具有重要意義[2]。同時,在豬只養殖過程中,實時監測豬只的體重,可以對豬只養殖業每日營收情況有清晰的了解[3]。養殖業中采用綜合管理系統使養殖者能夠及時發現情況并處理,可以在養殖過程中實現豬場等養殖業閉環控制。

激光雷達是一種不受環境光照變化影響,可以直接獲得目標物的高精度三維點云信息的遙感設備[4],具有掃描頻率快、對運動狀態物體具有精確性、掃描速度快、分辨率高等特點,為豬只體重測量提供了新的途徑。本文將激光雷達應用于豬只體重測量,設計了一個基于激光雷達的豬只體重測量系統。

1 系統總體設計

本試驗以豬只個體為研究對象,立足于豬只健康生長需求,結合豬只生長習性、生理特性以及豬舍現場環境,利用激光雷達在豬舍出欄口處對豬只進行非接觸掃描,構建三維模型,開發設計豬只體重測量系統。該系統主要由硬件和軟件兩部分組成,如圖1所示。硬件包括MDB-21C型號激光雷達、直流電源模塊、路由器、可調節式雷達安裝平臺支架、計算機;軟件是用QT 4.10.0開發軟件、OpenCV和QT3D等函數庫對系統進行開發。軟件部分包括點云數據采集模塊、數據預處理模塊、三維模型構建模塊、體重計算模塊,通信原理為TCP/IP協議[5]。

圖1 豬只體重測量系統組成

2 系統硬件構成

2.1 激光雷達掃描儀

本系統核心硬件是MDB-21C型二維激光雷達掃描儀,是一種非接觸式距離測量的光學傳感器,對動態物體測量精準度高,負責采集被測豬只二維點云數據,可單獨使用,也可以多臺雷達連接使用。在本次實驗中,通過使用TCP/IP通信技術實現電腦與設備的聯網參數設置,MDB-21C型激光雷達使用波長為905 nm的紅外激光對被測物體的距離、速度進行測量,并且激光光束肉眼不可見[6]。該激光雷達[7]是由信息處理系統、紅外激光發射器、光學接受機等器件組成。本試驗所用的激光雷達設備如圖2所示。

圖2 二維激光掃描儀實物圖

為了免掃描過程中,豬只的劇烈運動對測量結果造成較大誤差,在出欄口設置一塊約10平米的空間如圖3所示,用于搭建掃描設備,并放置豬只飼料與飲用水,待豬只處于平和安靜的狀態時迅速掃描。

圖3 掃描環境示意圖

2.2 直流電源模塊

由于MDB-21C激光雷達供電電壓范圍在9~28 V,本試驗選取的直流電源模塊,將220 V電壓轉為12 V,電流為1 A。

3 系統軟件設計

本系統軟件設計流程圖如圖4所示。豬只體重測量系統軟件部分利用QT creator4.10開發編輯器、C++語言進行開發。通過TCP/IP通信原理連接激光雷達;設置激光雷達掃描范圍、高度等參數;將激光雷達掃描物體獲取的點云數據進行采集與解析;然后將采集回來的數據進行預處理;實現三維點云生成并建立三維模型;最后由三維模型計算體積體重并顯示結果。

圖4 系統軟件流程圖

3.1 激光雷達參數設置

本文使用兩臺激光雷達同時工作,為了避免兩臺激光雷達的測量相互干擾,在各自特定的掃描角度上產生誤測量數據。因此,通過調整激光雷達的激光掃描面高度或俯仰角度,避免出現測量誤差[8]。本實驗中兩臺激光雷達垂直高度差34 mm。

以水平地面安裝方式為例,MDB-21C激光雷達的底面安裝高度h與有效工作距離的關系為公式(1):

(1)

其中:h0為 MDB-21C 的出光光軸相對于底面的高度,h0=0.081 m;r0為光斑出口直徑,r0=0.008 m;α為光斑發散角,α=0.012 5。

考慮到激光雷達采集角度問題及單只豬平均體高為91.8 cm,體寬為48.7 cm,臀高為93.7 cm,臀寬為50.5 cm,綜上所述,在豬舍出欄口設置安裝雷達高度分別為1.2 m和1.234 m,間隔0.8 m左右,兩臺激光雷達的掃描范圍為60°~110°。該安裝位置保證了在豬舍單通道出欄口一只豬的出入,從而使激光雷達掃描回來的數據減少誤差,提高精度。

此外,設置分辨率0.25°、掃描頻率25 Hz時,可以達到精確掃描豬只,減少干擾數據產生的效果。

3.2 數據采集與處理

3.2.1 數據采集與解析

在豬舍出欄口安裝激光雷達對標定被測物發射激光束掃描被測標定物如圖5所示。

圖5 被測標定物示意圖

該掃描儀的工作頻率為25 Hz,按0.25°分辨率發射出激光光束,掃描得到被測目標物的距離。可實時繪制出二維雷達圖對被測物進行標定[4],同時將激光雷達返回來的數據通過TCP/IP通信協議返回到PC端進行存儲[9]。

激光雷達返回的部分原始數據存儲文件中:

1)a5 96 ec f5為報頭識別碼;00 00 00 01 為報頭版本;09 00 00 00為連接編號;0a 00 00 00報文代碼;

2)a5 96 ec f5 00 00 00 01 01 00 00 00 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 28 00 00 00 87 96 ec f4為發送心跳包;a5 96 ec f5 00 00 00 01 09 00 00 00 0b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 28 00 00 00 86 96 ec f4為心跳回復;

3)LMD激光雷達測量距離數據信息:03 85;LMD-RSSI帶反射率的雷達測量數據信息:03 8F;請求LMD:07 6C;停止LMD:07 6E;

根據上述數據,需要對十六進制的原始數據去除報頭報尾處理轉化為十進制整型,然后將需要的點距離數據保存到新建數組。該數組是對掃描得到的距離值會自動保存到根目路徑,每一段分號隔開的數據代表的是激光雷達每幀頻率采集回來的所有點距離值,并且數據之間用逗號隔開的方式進行存儲,分號隔開的是連續掃描點次數。

在QT中使用的是Qthread類進行多線程對數據進行的處理,主要的步驟如下:

1)需要對路徑指定進行保存。

2)使用QT函數庫中的Send方法和Receive方法發送開始進行連續掃描的命令和接受指令接收雷達返回來的數據。

3)使用QThread類對象thread類開啟新的線程。在線程中,僅運行自定義的target方法,其中包含了一個while循環,在該循環內實行解碼。

4)創建thread2線程,繪制二維激光雷達圖。

通過以上步驟可實時對激光雷達掃描繪制二維雷達圖,并且將記錄得到的數據保存到根目錄路徑下。本系統該模塊開發使用了三個線程,在豬只三維建模體重測量系統中主界面使用的是主線程,其余兩個線程用于數據解碼和繪制激光雷達實時二維雷達圖像,并且在該系統中這三個線程穩定性較高,不易出錯。

3.2.2 數據去噪處理

由于X值和Z值的數據是轉換成三維模型視窗的坐標值,所以需要對X軸和Z軸模型上雜亂點云去噪。本系統設計噪點去除算法思路是為丟失的數據再次賦值,以6個物體表面二維點云數據進行去噪處理,其效果如圖6所示。在這里本文結合激光雷達的掃描特點和豬舍真實場景進行設置轉換,具有針對性,因此,該算法只能適用于本套系統三維模型創建部分。

圖6 噪點示意圖

在圖6中,在X軸和Z軸之間分布了6個大小不一樣的距離值,而斜線代表的是被測目標物體,這六點本來應該在斜線附近。在圖中可以看出第3個點和第5個點分別X值和Y值為零,這兩個點我們稱之為噪點,會影響我們后續的三維建模。所以本系統基于平均值的方法,將第3個點重新賦值,該方法的設計思路是將前一個點2和后一個點4的Z軸相應的數據相加,然后取平均值賦值給點3,點4和點6距離數據相加然后取平均值賦值給點5,這種賦值方法可以有效的還原點云數據。同時還能保證三維模型建立的準確性,也保證了系統點云計算效率。

3.3 基于QT3D的三維視窗模型建立

三維視窗模型框架是基于QT軟件中的QT3D框架創建完成,QT3D框架對OpenGL進行了封裝處理,同時支持PLC濾波庫,為構建三維場景提供了一種全新簡潔的方式,開發者可以對已經封裝好的類,在三維視窗的框架上快速增加多種渲染方式,可以方便直觀的呈現出物體的三維模型;然后根據3DMax對Obj文件與QT3D框架交互實現繪制物體三維模型的建立;最后通過左右兩個激光雷達掃描得到的點云拼接形成完整的三維模型。

3.3.1 三維點云的坐標值生成

根據本論文中二維掃描技術的研究,通過掃描物體的三維數據轉化建立豬只三維模型,首先是以激光雷達0.25°分辨率、25 Hz的頻率發射激光束,三維模型中X坐標軸表示為目標物體關于X軸上的點云距離數據。對于X軸物體點數據獲取,是兩臺激光雷達水平距離值(兩臺激光雷達水平距離相差0.8 m)減去到豬只表面的激光束間余弦值的水平分量。而對于Y值的獲取,本系統通過掃描物體的狀態信息獲取其沿Y軸方向的運動狀態數據,因此Y軸運動動態數據表示的是物體在運動完雷達掃描范圍時間內進行位置變化數據。通過激光雷達每一幀掃描獲得100個點,而求取Y軸取決于多長時間內豬只掃描完成時循環了多少幀。對于Z軸物體點數據獲取,通過求得第一條垂直于地面激光束與第二條射到物體表面的激光束之間正弦值的差值,得到物體表面第一個點的Z軸。

(2)

通過得到Y軸的數據值與X軸、Z軸的數據值進行聯合解算,就可以得到目標物體的三維模型數據。

3.3.2 三維模型中干擾點云處理

在三維點云數據采集過程中,由于激光雷達鏡面反射干擾、操作人員的經驗等因素,采集到的原始點云數據中都會存在著一些噪聲點,這類干擾點云通常都會在三維點云模型表面顯示。本文將區別于被測目標物點云模型的其他點云統稱為干擾點云。

干擾點云處理的常用方法是濾波降噪。通過一般的算法分割出目標物體的點云數據,不可避免地會產生一些噪聲點,并且得到的噪點幅度比較大。為了得到構建精準的三維模型,需要對噪聲點進行濾波處理。

在研究了各種去噪濾波器[11]的基礎上,本文系統決定采用統計濾波器對掃描得到的三維模型進行濾波降噪。該算法是通過點云數據中所有點與鄰域點的平均距離滿足高斯分布,可以通過距離的均值和方差確定距離閾值[12]。當獲得的點云數據大于閾值的話,表明這個點為噪點并剔除。本算法分為以下兩步操作:第一,遍歷文檔中所有點云數據,計算每個點和K個鄰域點之間的平均距離。第二,計算所有平均距離的標準差σ與均值μ,得到閾值dth。如公式(3):

dth=μ+α·σ

(3)

σ表示常數,可稱為比例系數(本文α取值0.8~1.0);最后,再次遍歷點云,將與K個鄰居點的平均距離大于dth的表面噪點剔除掉。

4 體重測量模型建立

4.1 三維點云異物點處理

4.1.1 輪廓提取

通過計算點云的平均點距,在豬只三維模型中的鄰域點進行搜索和矢量估算,獲得后續處理所需的參數,點云將平面劃分并投影,最終獲得平面點云。在平面點云上,輪廓執行提取可以使用連通性決策和直線擬合獲得所需的直線輪廓[13]。通過對特征點提取進行對三維模型的平面分割獲取豬只外部線性輪廓,方便接下來計算應用。圖7是對被測豬只背部獲取的輪廓圖。

圖7 豬只背部輪廓圖

4.1.2 特征點提取

三維模型中特征點的提取是通過鄰域中該點與其他點的關系特征完成的。Zhang等人根據平面曲率,提出了LOAM算法[14]。通過點云的三維坐標值來區別平面點。提高了特征點的提取效率,同時也保證了正確率。根據LOAM算法中的鄰域點之間形成的局部平面曲率來進行特征點提取。如公式(4):

(4)

特征點的提取是為了進行三維建模中配準校正,而在選取特征點的時候應選取最具有地面、背景等代表性的點云。在點i處曲率c中,Sn為分布在點i周圍的n個連續點的集合。當掃描環境較復雜的場景下,對特征點的選取應根據局部平面曲率特征在鄰域中點大小排序的類型。為了后續簡化計算,將點i周圍的n個連續點的集合和通過反函數求得該點在雷達的俯仰角度ai表示在點i處的曲率ci,如公式(5)所示。

ci= |∑j∈S,j≠i(X(k,j)L-X(k,j)L)|

(5)

在對局部平面曲率點計算時,曲率ci值越小,代表選取的特征點所在的局部平面越平坦。曲率越大,代表選取的特征點所在的局部平面越不平坦,如圖8所示。

圖8 點i的局部曲率計算示意圖

對特征點的提取,應選取最能代表所處環境特征的點。在保證該雷達每一幀掃描豬只獲取點云的同時,將選取的特征點均勻分布在每一個掃描平面中。通過對特征點的計算將索引每一幀掃描平面分為m個子區域,根據特征點曲率[15]將每一個平面中的點按公式(5)大小排序。選取最大值的點作為不平坦點,最小值的點作為平坦點,直到激光雷達完成最后一幀掃描結束。

4.1.3 地面點云剔除

由于上述操作是通過實地去豬場掃描采集到的數據做出的預處理,構建豬只三維模型,發現存在大量的地面點云。如圖9所示激光雷達掃描得到的豬只模型所示。我們需要把被測目標物從三維模型中分離出來,也就是將地面點云剔除。所以接下來的工作將需要從三維視窗構建的豬只三維模型中刪除不必要的背景點云以及地面點云,為了提高系統對點云的運行效率、體重計算精度,因此需要減少數據量。

圖9 豬只點云模型

剔除地面點云[16]主要步驟包括如下。

1)柵格化原始點云:

將原始點云投影到X-Y二維平面上,分別找到X軸和Y軸數據最大值和最小值,分別記為Xmax、Xmin、Ymax、Ymin,該X軸和Y軸的范圍為[Xmin,Xmax],[Ymin,Ymax]。然后初始化單元網格的長度為Xt,Yt,將所測點云分成若干個mn的網格,每個網格用坐標(Di,Dj)表示,如公式(6)、公式(7):

(6)

Di∈[1,m]

Dj∈[1,n]

(7)

2)平均高度計算:

計算Z軸平均距離值大小,找出每個網格中占總數1/4最小距離值的點,計算這些點的平均高度值Zave,根據豬只的現實平均高度設置一個B值,在平均高度值Zave和ZaveB之間的點云求出平均值Zave2。

3)地面點去除:

設置閾值s,前期工作中對人工測量豬只體高的平均值為91.8 cm,在Zave和Zave2區間做差,如果差值小于所設的閾值說明點云在三維模型構建相對穩定。因此在區間[Zave,Zave+B]內的點云就是豬只在進行掃描完成時的地面點云,并去除地面點。

4)迭代優化:

為了提高試驗三維建模的準確度,需要在Zave和Zave2區間內的差值與所設的閾值做對比,該閾值的區間內的數據將縮小點云所在網格的大小,循環以上操作步驟,直至剔除掉地面的點云數據為止。

經過上述預處理,提取出豬只個體的點云數據,地面點云剔除效果如圖10所示。

圖10 地面去除豬只三維模型

4.2 點云模型體積計算

點云模型體積計算是對本系統三維視圖模塊并根據Delaunay三角網原理,對所測目標物進行三維建模[17],將該模型進行三角網劃分,可以在三維模型中得到若干三角形網格,三角形網格的面積被記做S△。構成的三角形網格與被測物模型中的點云一一對應,可以得到若干個三棱柱,被測目標物Z軸坐標相鄰三個點平均值被記做三棱柱的高h,如公式(8)所示。

h=1/3*(Zi+Zj+Zk)

(8)

根據底面積和高,可以得到三棱柱的體積,如公式(9)所示。

VΔ=SΔ*h

(9)

根據上述公式可以對被掃描豬只的三維模型分割成若干個三棱柱,本系統通過計算各個三棱柱的體積并累計加和,即可得到所掃描豬只三維模型的體積結果,如公式(10)所示。

V總=∑VΔ

(10)

本節通過對10個大小不同的方形不銹鋼材質的標準物體,掃描并構建的三維模型進行體積計算,對該系統體積計算模塊進行測試分析[18]。其中,當標準物體與激光雷達的距離為0.8 m時,其測量模型體積數據與真實體積值誤差分析,如表1所示。

表1 規則物體測量與真實值誤差

通過對10個不同大小標準物體進行體積計算,該體積測量數據與實際體積對比,得到誤差在±5%以內,并且精度達到了本試驗設計的初期預想。

5 實驗結果與分析

5.1 豬只體重數學模型構建

本次試驗場地采用的是磚塊與鋼材的復合結構構建,場內配有養育室,飼料投放室以及休息室。場內有吊頂,地面使用的是帶有網絡形狀具有漏縫的地板,墻中安裝有保溫層,場內南北方向安置窗戶,墻的北面配置進氣口,南墻順序配置四臺同規格風機。在此場中的每個豬欄長4 m、寬3 m,同時安裝自動喂食裝置以及自來水管。

通過前期對激光雷達部署研究,使用豬只體重測量系統完成對參數的設置,并對豬舍內17頭豬只出入出欄口飲食處,完成掃描并構建豬只三維模型、體積計算,不同豬只的掃描三維模型如圖11所示。

圖11 不同豬只三維點云模型

根據豬只測量體重系統通過現場測量并構建豬只三維模型、體積計算結果如表2所示。根據表2數據繪制散點圖如圖12所示。

表2 測量結果

續表

圖12 豬只體重體積散點圖

由圖12中趨勢線可看出,豬只測量體積與實測體重數據呈線性關系。因此擬合函數可寫成式(11):

(11)

其中:

(12)

(13)

(14)

因此,得出數學模型關系式如式(15)所示:

y=83.389 54x+32.519 33

(15)

該公式中,y值為豬只體重(kg),x值為測量豬只體積(m3)。擬合直線如圖13所示。

圖13 豬只體重體積擬合直線

擬合函數整體擬合度由擬合度進行衡量,R2最大值為1,越接近于1,說明函數的擬合度越好,公式如式(16)所示:

(16)

5.2 豬只體重數學模型驗證

在豬場中,通過豬只測量體重系統對另一豬舍內20頭豬只進行掃描,并將獲取得到的體積結果代入豬只體重回歸線性方程中得到豬只體重,與豬場給出實測豬舍數據對比分析,如表3所示。

表3 測量豬只體重結果

從表3可知,通過對本系統測量該20頭豬只的體重數據與豬舍管理人員給出人工實測豬只體重數據進行誤差分析,得出誤差在±8%范圍內[20]。整體看來,該豬只體重測量系統可以有效對豬只進行測量,并且精度較高、誤差相對較少,為后續非接觸式測量豬只體重提供理論和實踐依據。

6 結束語

豬只的體重參數直接影響了豬只的健康生長,為提高豬只的養殖福利,減少接觸式測重操作對豬只產生的刺激性行為,本文利用激光雷達測量動態物體的精準特性[21],通過開發設計的豬只體重測量可以獲取到豬只體積和體重等參數內容,對提高動物福利提供實質性幫助。同時由于本文所設計的豬只體重測量系統探索研究還處于初級階段,因此還需繼續研究的工作內容有:

1)在本系統的設計和實現時,本文采用的是C++語言編譯運行,利用分辨率為0.25°,工作頻率為25 Hz的激光雷達進行連續掃描。由于掃描產生的點云數據量較大,可以對數據解碼和存儲做出進一步優化,以滿足更多場景需求。

2)可以結合A超測量技術對活體豬的背膘厚和眼肌厚進行測量,為提高豬只測量體重計算精準度提供幫助。

3)本系統采用兩個激光雷達同時進行掃描,通過正反掃描豬只數據并拼接的建模方式,建議以后的工作者,考慮在多雷達多方位進行掃描來進行研究。

猜你喜歡
測量模型
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
把握四個“三” 測量變簡單
滑動摩擦力的測量和計算
滑動摩擦力的測量與計算
測量的樂趣
3D打印中的模型分割與打包
測量
FLUKA幾何模型到CAD幾何模型轉換方法初步研究
主站蜘蛛池模板: 一级毛片免费观看久| 国产精品成人啪精品视频| 国产成人精品优优av| 91久久国产热精品免费| 婷婷亚洲天堂| 毛片网站观看| 无码免费的亚洲视频| 又粗又硬又大又爽免费视频播放| 毛片免费在线视频| 亚洲综合香蕉| 久久精品66| 欧美精品xx| 日韩乱码免费一区二区三区| 色天堂无毒不卡| 在线观看欧美国产| 亚洲妓女综合网995久久| 日韩欧美国产另类| 成人91在线| 中文字幕久久亚洲一区| 青青草一区| 国产在线观看人成激情视频| jizz国产在线| 国产微拍精品| 九月婷婷亚洲综合在线| 91亚洲视频下载| 国产日本欧美在线观看| www欧美在线观看| 天天操天天噜| 亚洲综合第一页| 亚洲色婷婷一区二区| 精品视频一区二区观看| 日韩美毛片| 亚洲天堂精品在线观看| 国产在线观看成人91| 国产色婷婷视频在线观看| 91精品国产丝袜| 亚洲久悠悠色悠在线播放| 欧美视频在线不卡| 国产免费怡红院视频| 亚洲人成成无码网WWW| 亚洲精品在线观看91| 精品一区二区久久久久网站| 久久99热这里只有精品免费看| 午夜国产不卡在线观看视频| 香蕉国产精品视频| 真实国产乱子伦视频| 免费毛片网站在线观看| 在线观看亚洲精品福利片| 国产美女主播一级成人毛片| 精品久久久久久成人AV| 欧美特级AAAAAA视频免费观看| 91免费国产在线观看尤物| 丁香婷婷激情网| 亚洲爱婷婷色69堂| 国产福利免费在线观看| 亚洲最大看欧美片网站地址| 国产毛片基地| 国产九九精品视频| 久久天天躁夜夜躁狠狠| 亚洲一区第一页| 午夜色综合| h视频在线观看网站| 中国美女**毛片录像在线| 18禁黄无遮挡网站| 色香蕉网站| 亚洲精品第一在线观看视频| 欧美成人午夜影院| 四虎亚洲国产成人久久精品| 国产内射一区亚洲| 欧美亚洲国产精品第一页| 国产超碰在线观看| 97免费在线观看视频| 国产综合在线观看视频| 中国精品自拍| 欧美亚洲欧美区| 色精品视频| 粉嫩国产白浆在线观看| 国产精品久久久久久久伊一| 免费播放毛片| 成人自拍视频在线观看| 色婷婷天天综合在线| 欧美日韩国产精品va|