范才虎 程曼 袁洪波 王媛 蔡振江
摘要:羊只的體尺參數(shù)是衡量其生長發(fā)育狀況、生產(chǎn)性能和遺傳特性的關(guān)鍵指標(biāo)。重建羊只的三維模型可以為自動(dòng)化獲取多種羊只體尺參數(shù)提供數(shù)據(jù)基礎(chǔ),因此提出一種基于多角度Kinect v2的羊只三維模型重構(gòu)方法。該方法通過放置在羊只頂部和左右兩個(gè)側(cè)面的Kinect v2設(shè)備,獲取羊只的三維點(diǎn)云數(shù)據(jù);利用這些數(shù)據(jù)中的點(diǎn)云之間的相對(duì)位置關(guān)系,進(jìn)行點(diǎn)云坐標(biāo)的轉(zhuǎn)換和初始配準(zhǔn);采用ICP算法進(jìn)行精確配準(zhǔn)建立三維模型。結(jié)果表明:當(dāng)Kinect v2深度相機(jī)高度為120 cm、俯視角為30°時(shí),獲取的點(diǎn)云質(zhì)量較高,自動(dòng)配準(zhǔn)的平均誤差為0.233 cm,平均耗時(shí)為12.89 s。根據(jù)模型計(jì)算出的羊只體高、體斜長、十字部高和腰腳寬等體尺參數(shù)與實(shí)際測(cè)量平均誤差均在5%以內(nèi)。
關(guān)鍵詞:羊只;Kinect v2;點(diǎn)云配準(zhǔn);三維重建;體尺計(jì)算
中圖分類號(hào):S24? ?文獻(xiàn)標(biāo)識(shí)碼:A? 文章編號(hào):2095-5553 (2024) 03-0189-09
Reconstruction method of the 3D model for sheep based on multi-angle Kinect v2
Fan Caihu1, Cheng Man1, Yuan Hongbo1, Wang Yuan2, Cai Zhenjiang1
(1. College of Mechanical and Electrical Engineering, Hebei Agricultural University, Baoding, 071001, China;2. Hengshui Zhihao Animal Husbandry Technology Co., Ltd., Hengshui, 053400, China)
Abstract:
The body size parameters of sheep are the key indicators to assess the growth, performance and genetic characteristics. The reconstruction of the 3D model can provide data basis for automatic acquisition of various body size parameters for sheep. In this paper, a reconstruction method is designed for the 3D model of sheep based on multi-angle Kinect v2. By placing Kinect v2 devices on the top and both sides of the sheep, three-dimensional point cloud data of the sheep can be captured. Then, by utilizing the?relative positional relationships between the point clouds in the data, coordinate transformation and initial alignment of the point clouds are performed. Finally, the Iterative Closest Point (ICP) algorithm is used for precise registration to establish the three-dimensional model. The results show that when the height of Kinect v2 depth camera is 120 cm and the overlooking angle is 30°, the quality of the obtained point cloud is higher. The average error of automatic registration is 0.233 cm, and the average time of automatic registration is 12.89 s. The average error of body size parameters such as body height, body oblique length, cross height and waist and foot width calculated by the model and the actual measurement are within 5%.
Keywords:sheep; Kinect v2; point cloud registration; three-dimensional reconstruction; body size calculation
0 引言
羊的養(yǎng)殖是畜牧業(yè)的重要組成部分[13],截至2023年,世界綿羊養(yǎng)殖數(shù)量已經(jīng)超過13億只,主要集中在亞洲和非洲地區(qū),其中中國綿羊養(yǎng)殖數(shù)量超過1.7億只[4]。羊的體尺參數(shù)可以反映其體型、結(jié)構(gòu)和發(fā)育狀況,也可以反映其生理功能、生產(chǎn)性能、抗病能力和對(duì)外界生活條件的適應(yīng)性等[5]。因此,進(jìn)行羊只體尺的監(jiān)測(cè)對(duì)提高精準(zhǔn)養(yǎng)殖水平具有重要的現(xiàn)實(shí)意義[6]。
傳統(tǒng)的動(dòng)物體尺測(cè)量方法是人工利用標(biāo)尺、卷尺等工具對(duì)其進(jìn)行直接測(cè)量[7]。這種方式不但工作量大,而且獲取的結(jié)果受主觀性影響。此外,這種測(cè)量方法需要固定住動(dòng)物并與之直接接觸,這易使動(dòng)物產(chǎn)生應(yīng)激反應(yīng),導(dǎo)致生產(chǎn)性能下降、疾病增加,甚至死亡,嚴(yán)重影響動(dòng)物個(gè)體的生長發(fā)育[8]。這種傳統(tǒng)的接觸式體尺測(cè)量方法降低動(dòng)物的福利化飼養(yǎng)水平[9],并增加人畜共患病傳播的風(fēng)險(xiǎn)[10]。隨著信息感知技術(shù)和精準(zhǔn)養(yǎng)殖水平的提高,家畜體尺獲取方式逐漸向非接觸式轉(zhuǎn)變[11, 12],在豬、牛和羊的體尺獲取方面,非接觸式測(cè)量都得到了研究[1316]。非接觸式測(cè)量一般利用圖像的方法進(jìn)行體尺的估計(jì)[17, 18],通過圖像處理方法尋找圖像中動(dòng)物體尺的關(guān)鍵點(diǎn),計(jì)算關(guān)鍵點(diǎn)之間的距離從而得到動(dòng)物的體尺數(shù)據(jù)[1922]。圖像是平面而非立體的,無法一次性得到更多的體尺參數(shù),比如體高、體長、體寬等無法通過同一個(gè)平面得到。動(dòng)物的三維模型能夠反映出其更多的體尺特征,便于從不同的角度對(duì)體尺參數(shù)進(jìn)行評(píng)估。
立體視覺技術(shù)在動(dòng)物三維模型重建中得到了較早的應(yīng)用,利用兩個(gè)或者多個(gè)相機(jī)從不同視角對(duì)目標(biāo)進(jìn)行拍攝,通過提取多幅圖像中對(duì)應(yīng)特征點(diǎn)重構(gòu)目標(biāo)的三維結(jié)構(gòu)[23, 24]。然而,現(xiàn)有的圖像獲取技術(shù)仍有一定的局限性,如光照、陰影和背景噪聲的變化會(huì)影響圖像的質(zhì)量,這會(huì)增加圖像處理的難度[25]。為了更好地尋找更多的對(duì)應(yīng)特征點(diǎn),SfM(Structure from motion)方法被提出[26, 27]。SfM可以從更多的角度獲取目標(biāo)的圖像,但這并沒有從本質(zhì)上解決獲取的圖像質(zhì)量會(huì)直接影響模型重構(gòu)的精度這一問題。隨著傳感器的發(fā)展,TOF(Time of flight)技術(shù)逐漸被應(yīng)用在三維重建中[2830],該方法通過向目標(biāo)投射光源然后根據(jù)ToF原理計(jì)算出設(shè)備到目標(biāo)的距離,并以此獲得目標(biāo)的三維點(diǎn)云。Le Cozler等[31]利用Morpho3D獲取奶牛的三維點(diǎn)云,重建出奶牛的三維模型在測(cè)量出奶牛的體尺數(shù)據(jù)。單線激光雷達(dá)是早期使用較多的ToF設(shè)備。Huang等[32]利用單線雷達(dá)重建出秦川牛的三維模型,再測(cè)量出秦川牛的體尺數(shù)。但使用單線雷達(dá)需要設(shè)計(jì)運(yùn)動(dòng)機(jī)構(gòu)。多線激光雷達(dá)的出現(xiàn)從一定程度解決了上述問題,但多線雷達(dá)的價(jià)格過于昂貴,這給實(shí)際應(yīng)用帶來了障礙。而且ToF技術(shù)丟失了顏色信息,不利于后期數(shù)據(jù)處理。近年來,利用RGB-D相機(jī)進(jìn)行動(dòng)物的三維建模得到了發(fā)展,它可以同時(shí)獲取目標(biāo)的RGB和深度信息,而且成本較低。以Kinect為代表的RGB-D相機(jī)已經(jīng)在動(dòng)物三維建模及體尺測(cè)量中得到了較多的應(yīng)用。如Pezzuolo[33]、Shi[34]等分別利用Kinect v1、Kinect v2測(cè)量了豬的體尺數(shù)據(jù)。利用Kinect進(jìn)行動(dòng)物三維模型的構(gòu)建已經(jīng)被證明是一種有效的方法。但是,只利用一臺(tái)Kinect也是難以準(zhǔn)確的構(gòu)建完整動(dòng)物的三維模型,因?yàn)樗瑯与y以掃描和拍攝到動(dòng)物體的背面,因此需要利用多個(gè)Kinect從不同角度采集數(shù)據(jù)。
針對(duì)羊只體尺測(cè)量的需求,本文設(shè)計(jì)一種羊只三維模型重構(gòu)系統(tǒng),能夠從三個(gè)方向獲取羊只軀體的三維點(diǎn)云,利用多角度點(diǎn)云的坐標(biāo)轉(zhuǎn)化和配準(zhǔn)方法,得到完整的羊只三維模型,獲取羊只的體尺參數(shù)。
1 材料和方法
1.1 試驗(yàn)方法
為獲取羊只點(diǎn)云信息,構(gòu)建一個(gè)信息獲取系統(tǒng),如圖1所示,該系統(tǒng)由一個(gè)金屬框架,三臺(tái)Kinect v2和一臺(tái)筆記本電腦組成,2臺(tái)Kinect v2分別被安裝在框架的左右兩側(cè),且其高度和角度可以調(diào)整,第3臺(tái)Kinect v2被安裝在框架頂部的中間,面向地面。三臺(tái)Kinect v2通過USB數(shù)據(jù)線與筆記本電腦相連,并由筆記本電腦控制其工作狀態(tài)。
采用正交試驗(yàn)尋找Kinect v2的合適位置。一個(gè)羊只模型被放置在框架正下方,框架兩側(cè)安裝的Kinect v2分別在70 cm、95 cm、120 cm三個(gè)高度,從20°、30°、45°、50°、55°的俯視角度進(jìn)行數(shù)據(jù)獲取試驗(yàn)。試驗(yàn)采用2個(gè)不同的羊只模型,共獲取92片有效點(diǎn)云。三臺(tái)Kinect v2獲取的點(diǎn)云分別被命名為P_left,P_right和P_top。
基于Microsoft Visual Studio 2017、PCL(point cloud library)1.8.1和OpenCV3.4.1等工具軟件,利用C++編程,開發(fā)數(shù)據(jù)獲取和分析軟件,用于點(diǎn)云數(shù)據(jù)的處理和羊只的三維建模。
1.2 數(shù)據(jù)獲取
利用Kinect v2獲取的點(diǎn)云數(shù)據(jù)包括大量的背景點(diǎn)云和少量的噪聲,在生成羊只個(gè)體點(diǎn)云之前需要進(jìn)行濾波處理。背景點(diǎn)云可以通過直通濾波法進(jìn)行處理,直通濾波通過構(gòu)建約束條件并把不滿足條件的點(diǎn)云消除來實(shí)現(xiàn)的,約束條件如式(1)所示,所有不滿足這個(gè)約束條件的點(diǎn)云被認(rèn)為是背景噪聲而被過濾掉。
Xmin 式中:(x,y,z)——點(diǎn)云在坐標(biāo)系中的位置。 其中(Xmin,Xmax)、(Ymin,Ymax)、(Zmin,Zmax)為坐標(biāo)系三個(gè)坐標(biāo)方向的濾波范圍,其值通過系統(tǒng)結(jié)構(gòu)確定。 經(jīng)過直通濾波后,大部分的背景噪聲被消除,但是少量的離群點(diǎn)噪聲仍然存在,其中離群點(diǎn)噪聲是指在整個(gè)點(diǎn)云結(jié)構(gòu)中距離密集點(diǎn)云的中心較遠(yuǎn)的點(diǎn)云,這些噪聲點(diǎn)云大部分是在測(cè)量過程中受到環(huán)境干擾造成的。離群點(diǎn)噪聲可以通過統(tǒng)計(jì)濾波進(jìn)行清除,統(tǒng)計(jì)濾波是根據(jù)整個(gè)點(diǎn)云分布的結(jié)構(gòu)特點(diǎn),清除遠(yuǎn)離聚集中心的較為稀疏的點(diǎn)來實(shí)現(xiàn)的。統(tǒng)計(jì)濾波原理是點(diǎn)云中所有的點(diǎn)與其k個(gè)臨近點(diǎn)的平均距離值滿足高斯分布。統(tǒng)計(jì)濾波的實(shí)施過程中,對(duì)于點(diǎn)云中任意一個(gè)點(diǎn),先利用式(2)計(jì)算該點(diǎn)到附近k個(gè)臨近點(diǎn)的平均距離 d-,再利用式(3)計(jì)算點(diǎn)云中每個(gè)點(diǎn)對(duì)應(yīng)的平均距離的均值μ和標(biāo)準(zhǔn)差σ,最后確定有效點(diǎn)云的范圍為(μ-σ×std, μ+σ×std),其中std為系數(shù)。如果點(diǎn)云中某個(gè)點(diǎn)到k個(gè)近鄰點(diǎn)的平均距離不在這個(gè)范圍之內(nèi),則認(rèn)為該點(diǎn)屬于噪聲。 d-=1k∑kj=1(xi-xj)2+(yi-yj)2+(zi-zj)2(2) 式中:(xi,yi,zi)——目標(biāo)點(diǎn)在三個(gè)坐標(biāo)軸上的坐標(biāo)值;(xj,yj,zj)——目標(biāo)點(diǎn)的近鄰點(diǎn)在三個(gè)坐標(biāo)軸上的坐標(biāo)值。 μ=∑ki=11kd-σ=1k∑ki=1(d--μ)2(3) 1.3 基于點(diǎn)云的三維模型重構(gòu)方法 一個(gè)Kinect v2只能獲取某個(gè)角度下的羊只部分點(diǎn)云信息,所以本文使用了三個(gè)Kinect v2相機(jī)分別從頂部和兩個(gè)側(cè)面進(jìn)行點(diǎn)云數(shù)據(jù)的獲取。為獲取完整的羊只點(diǎn)云,將三片點(diǎn)云進(jìn)行融合是必要的。點(diǎn)云融合的目的是將不同坐標(biāo)系的點(diǎn)云數(shù)據(jù)統(tǒng)一到同一個(gè)坐標(biāo)系下,即找到一對(duì)或者幾對(duì)旋轉(zhuǎn)矩陣和平移向量,以恢復(fù)出完整的目標(biāo)三維結(jié)構(gòu),這一過程被稱為點(diǎn)云的配準(zhǔn)。目前應(yīng)用最廣泛的點(diǎn)云配準(zhǔn)的方法是最近迭代法(Iterative Closest Point, ICP)[35],ICP算法原理簡單、易于理解和實(shí)現(xiàn),同時(shí)配準(zhǔn)精度較高,但也存在一些弊端,如該算法在對(duì)重疊度較大的點(diǎn)云進(jìn)行配準(zhǔn)時(shí)具有良好的配準(zhǔn)效果,但是當(dāng)重疊度較小時(shí)或者初始位置估計(jì)不準(zhǔn)確,無法得出較好的配準(zhǔn)結(jié)果。因此,在利用最近點(diǎn)迭代算法之前,對(duì)待配準(zhǔn)的點(diǎn)云進(jìn)行初始配準(zhǔn)是避免最近點(diǎn)迭代算法陷入局部優(yōu)化的關(guān)鍵。 1.3.1 不同角度點(diǎn)云坐標(biāo)轉(zhuǎn)換及初次配準(zhǔn) 為了減少ICP算法過程中的不足,本文利用相機(jī)的位置關(guān)系計(jì)算出點(diǎn)云之間的轉(zhuǎn)換關(guān)系,并以此對(duì)點(diǎn)云進(jìn)行初始配準(zhǔn)。圖2為三個(gè)Kinect v2的各自的坐標(biāo)系方向以及三個(gè)Kinect v2之間的相對(duì)位置關(guān)系。其中θ為Kinect v2的傾斜角度,Δh為側(cè)面兩個(gè)Kinect v2與頂部Kinect v2之間的高度,Δl為側(cè)面兩個(gè)Kinect v2與頂部Kinect v2之間的水平距離。 本文以頂部Kinect v2坐標(biāo)系為基準(zhǔn)坐標(biāo)系,兩個(gè)側(cè)面的Kinect v2獲取的點(diǎn)云分別被轉(zhuǎn)換到基準(zhǔn)坐標(biāo)系中以完成點(diǎn)云的拼接,兩側(cè)Kinect v2坐標(biāo)系向基準(zhǔn)坐標(biāo)系轉(zhuǎn)換的過程如圖3所示,需要經(jīng)過4個(gè)步驟。 步驟一:左右兩側(cè)的Kinect v2坐標(biāo)系分別圍繞各自x軸向右和左旋轉(zhuǎn),直到y(tǒng)軸處于水平位置,此時(shí)z軸豎直向下。經(jīng)過坐標(biāo)系旋轉(zhuǎn),則Kinect v2獲取的點(diǎn)云坐標(biāo)位置如式(4)所示。 (xL′,yL′,zL′)=(xL,yL,zL)1000cosθ-sinθ0sinθcosθ(xR′,yR′,zR′)=(xR,yR,zR)1000cosθ-sinθ0sinθcosθ(4) 其中,(xL,yL,zL)、(xR,yR,zR)為左右兩側(cè)Kinect v2獲取點(diǎn)云的原始坐標(biāo), (xL′,yL′,zL′)、(xR′,yR′,zR′)為左右兩側(cè)坐標(biāo)轉(zhuǎn)換后的坐標(biāo)。 步驟二:步驟一得到的坐標(biāo)系沿豎直方向的z軸再次被旋轉(zhuǎn),使兩側(cè)Kinect v2的坐標(biāo)軸方向與頂部Kinect v2坐標(biāo)軸方向一致。Kinect v2獲取的點(diǎn)云坐標(biāo)位置如式(5)所示。 (xL″,yL″,zL″)=(xL′,yL′,zL′)0-10100001(xR″,yR″,zR″)=(xR′,yR′,zR′)010-100001(5) 其中,(xL″,yL″,zL″)、(xR″,yR″,zR″)為經(jīng)過步驟二之后兩側(cè)Kinect v2獲取的點(diǎn)云的坐標(biāo)。 步驟三:步驟二得到的坐標(biāo)系被向上移動(dòng)Δh,使左右兩次的Kinect v2坐標(biāo)系與頂部Kinect v2坐標(biāo)系處于同一水平位置。Kinect v2獲取的點(diǎn)云坐標(biāo)位置如式(6)所示。 (xL,yL,zL)=(xL″,yL″,zL″)-[00Δh](xR,yR,zR)=(xR″,yR″,zR″)-[00Δh](6) 其中,(xL,yL,zL)、(xR,yR,zR)為經(jīng)過步驟三之后兩側(cè)Kinect v2獲取的點(diǎn)云的坐標(biāo)。 步驟四:步驟三得到的左右兩側(cè)Kinect v2坐標(biāo)系分別被向左和向右移動(dòng)Δl,使其與頂部Kinect v2坐標(biāo)系重合。Kinect v2獲取點(diǎn)云坐標(biāo)位置如式(7)所示。 (xLT,yLT,zLT)=(xL,yL,zL)+[Δl00](xRT,yRT,zRT)=(xR,yR,zR-[Δl00](7) 其中,(xLT,yLT,zLT)、(xRT,yRT,zRT)為經(jīng)過步驟四之后兩側(cè)Kinect v2獲取的點(diǎn)云的坐標(biāo)。 經(jīng)過坐標(biāo)變換,左右兩側(cè)Kinect v2獲取的點(diǎn)云被轉(zhuǎn)換到頂部Kinect v2的坐標(biāo)系下,三個(gè)Kinect v2的點(diǎn)云可以被直接拼接。 1.3.2 三維點(diǎn)云的精細(xì)配準(zhǔn) 在點(diǎn)云的初次配準(zhǔn)過程中,θ、Δh和Δl的測(cè)量精度直接影響其精度,而且這三個(gè)參數(shù)都是基于Kinect v2的幾何中心來測(cè)量,測(cè)量過程中的誤差是難以避免的。此外,在實(shí)際應(yīng)用過程中,也無法保證羊只是靜止不動(dòng)的,所以初次配準(zhǔn)的結(jié)果也可能存在一定的誤差。為了提高三維模型的重構(gòu)精度,精細(xì)配準(zhǔn)是必要的。本文利用ICP算法在初次配準(zhǔn)的基礎(chǔ)上進(jìn)行精細(xì)配準(zhǔn),步驟如下:(1)對(duì)于點(diǎn)云集P中任意一個(gè)點(diǎn)pi,計(jì)算其與點(diǎn)云集Q中所有點(diǎn)的歐式距離,取距離最小的點(diǎn)作為pi的對(duì)應(yīng)點(diǎn)qi。(2)計(jì)算使pi和qi完全重合需要的旋轉(zhuǎn)參數(shù)Ri和平移參數(shù)Ti。(3)利用Ri和Ti對(duì)點(diǎn)云集P和Q中的其他點(diǎn)進(jìn)行配準(zhǔn),并利用式(8)計(jì)算配準(zhǔn)誤差。(4)遍歷點(diǎn)云中所有點(diǎn),取最小誤差對(duì)應(yīng)的R和T作為最優(yōu)匹配參數(shù)。(5)根據(jù)得到的最優(yōu)R和T,對(duì)初次配準(zhǔn)后的點(diǎn)云進(jìn)行精細(xì)配準(zhǔn)。 E(R,T)=1n∑ni=1‖qi-(Rpi+T)‖2(8) 式中:n——點(diǎn)云的數(shù)量。 1.4 地面點(diǎn)云的去除 經(jīng)過兩次配準(zhǔn)后,羊只的三維模型被重構(gòu),由于地面與羊只的腿部相連,所以重構(gòu)的模型中還包含有地面信息。通過RANSK算法可以被去除地面信息,先隨機(jī)從點(diǎn)云中取三個(gè)不共面的點(diǎn),生成一個(gè)參考平面,再計(jì)算點(diǎn)云中其他點(diǎn)到該平面的距離,如果距離值小于閾值dp則該點(diǎn)被認(rèn)為屬于該平面,其中閾值可以通過式(9)得到。遍歷點(diǎn)云中所有點(diǎn),包含點(diǎn)數(shù)最多的平面為地面,屬于該平面的點(diǎn)將被刪除。 dis(p,q)=(xp-xq)2+(yp-yq)2+(zp-zq)2dp=min[dis(p,q)] q=1,2,…n,p≠qdp=1n∑np=1dp(9) 式中:p(xp,yp,zp)——被隨機(jī)選擇的點(diǎn);q(xq,yq,zq)——點(diǎn)云中其他的任意一點(diǎn);dis(p,q)——點(diǎn)p、點(diǎn)q之間的歐氏距離;dp——最小歐式距離。 1.5 三維重構(gòu)模型的性能評(píng)估指標(biāo) 1.5.1 重疊點(diǎn)云的配準(zhǔn)誤差 兩側(cè)Kinect v2和頂部Kinect v2的成像范圍存在重疊的部分,在精細(xì)配準(zhǔn)的過程中,可以找到這些重疊的點(diǎn)云。在同一個(gè)坐標(biāo)系下,同一個(gè)目標(biāo)的點(diǎn)云應(yīng)該是重合的,所以這些點(diǎn)重疊的程度可以用于衡量三維重構(gòu)模型的點(diǎn)云匹配精度。因此,本文取這些重疊點(diǎn)云配準(zhǔn)的均方根誤差RMSE作為三維模型重構(gòu)的性能評(píng)判指標(biāo)之一,如式(10)所示,RMSE越小,則配準(zhǔn)效果越好。 di=(xi-xi′)2+(yi-yi′)2+(zi-zi′)2RMSE=∑Ni=1di2N(10) 式中:(xi,yi,zi)——重疊的點(diǎn)云中頂部Kinect v2獲取的點(diǎn)云坐標(biāo);(xi′,yi′,zi′)——重疊點(diǎn)云中兩側(cè)Kinect v2轉(zhuǎn)到基準(zhǔn)坐標(biāo)系中的點(diǎn)云坐標(biāo);di——兩點(diǎn)之間的距離;N——重疊點(diǎn)云的個(gè)數(shù)。 1.5.2 羊只體尺參數(shù) 本文利用體高、體斜長、管圍、胸圍、十字部高、腰腳寬作為羊只三維重構(gòu)模型精度評(píng)估的體尺參數(shù)。體高指耆甲最高點(diǎn)到地面的垂直距離;體斜長指肩胛前端至坐骨結(jié)節(jié)后端的直線距離;管圍指管骨上三分之一處的周圍長度;胸圍指在肩胛骨后端,圍繞胸部一周的長度;十字部高指十字部到地面的垂直距離;腰角寬指兩髖骨突之間的直線距離[16]。為驗(yàn)證羊只三維模型的精度,人工對(duì)2只模型羊的體尺參數(shù)進(jìn)行測(cè)量,并與根據(jù)模型計(jì)算出的體尺參數(shù)進(jìn)行對(duì)比。 2 結(jié)果與分析 2.1 正交試驗(yàn)結(jié)果 羊只軀干信息獲取系統(tǒng)中右側(cè)Kinect在不同高度和俯視角下的進(jìn)行正交試驗(yàn)時(shí)的點(diǎn)云成像結(jié)果如圖4所示。在同一高度,隨著Kinect v2俯視角的增加,點(diǎn)云圖像中的羊只越靠近頂部。由于Kinect v2在深度成像的邊緣部分會(huì)出現(xiàn)數(shù)據(jù)失真和數(shù)據(jù)丟失現(xiàn)[36],故側(cè)面Kinect v2的俯視角不宜過大;在同一角度,Kinect v2距離地面高度越大,羊只輪廓在整幅深度圖像中像素占比越小,即點(diǎn)云數(shù)量越少,因此,側(cè)面Kinect v2高度不宜過大。本文中Kinect v2垂直視場角為60°,當(dāng)其高度為90 cm且具有一定俯視角的情況下,在垂直方向上拍攝高度將低于1 m,對(duì)于軀體較大的羊只,有可能無法獲取其全部軀體的點(diǎn)云,因此,側(cè)面Kinect v2的高度應(yīng)大于90 cm。通過正交試驗(yàn)可確定側(cè)面Kinect v2在高度和俯視角分別為120 cm和30°時(shí),獲取的點(diǎn)云質(zhì)量較好。 2.2 點(diǎn)云預(yù)處理結(jié)果 圖5為經(jīng)過濾波預(yù)處理的點(diǎn)云,經(jīng)過直通濾波后,原始點(diǎn)云中的大部分背景被清除。經(jīng)過統(tǒng)計(jì)濾波后羊只輪廓邊緣的離群點(diǎn)噪聲有了顯著減少,表1為預(yù)處理之后點(diǎn)云數(shù)量的變化。 從表1可以看出,三個(gè)角度的Kinect v2經(jīng)過直通濾波后,兩側(cè)點(diǎn)云數(shù)量約為原始點(diǎn)云的11.34%,頂部點(diǎn)云約為原始點(diǎn)云的35.20%。減少的點(diǎn)云大部分為背景點(diǎn)云,這也表明了直通濾波的有效性。直通濾波后仍然存在的噪聲點(diǎn)云在統(tǒng)計(jì)濾波的基礎(chǔ)上被清除,統(tǒng)計(jì)濾波大致能夠保留直通濾波后點(diǎn)云的93.86%。 2.3 點(diǎn)云配準(zhǔn)的結(jié)果 點(diǎn)云配準(zhǔn)是羊只形體三維重建的關(guān)鍵,配準(zhǔn)效果將直接影響三維模型的精度。圖6為三個(gè)角度Kinect v2獲取的點(diǎn)云經(jīng)過兩次配準(zhǔn)的結(jié)果。 初始配準(zhǔn)可以重建出羊只的三維模型,但地面部分的點(diǎn)云未能完全重疊在同一平面,且羊只輪廓中部分點(diǎn)云也存在傾斜,未能很好地配準(zhǔn)在一起。經(jīng)過精確配準(zhǔn)后地面和羊只輪廓的點(diǎn)云均較好的重疊在一起。這說明本文初始配準(zhǔn)的方法可以將點(diǎn)云進(jìn)行配準(zhǔn),經(jīng)過精確配準(zhǔn)后可以優(yōu)化初始配準(zhǔn)中的不足,使配準(zhǔn)效果更好。表2為初始配準(zhǔn)和精確配準(zhǔn)的效果比較。 從表2可以看出,初始配準(zhǔn)和精細(xì)配準(zhǔn)前后源點(diǎn)云數(shù)和目標(biāo)點(diǎn)云數(shù)未發(fā)生改變,RMSE在精確配準(zhǔn)后變小,這也證明了精確配準(zhǔn)的有效性。 2.4 地面去除的結(jié)果 經(jīng)過RANSAC算法后,地面點(diǎn)云和羊只點(diǎn)云被很好地區(qū)分,且地面部分的點(diǎn)云被去除,羊只部分的點(diǎn)云被保留,從而獲得完整的羊只三維模型。 2.5 三維模型精度評(píng)估結(jié)果 兩只模型羊的體尺測(cè)量結(jié)果和根據(jù)三維模型計(jì)算的結(jié)果分別如表3和表4所示。由表3、表4可知,針對(duì)體高、體斜長、十字部高、腰腳寬這四個(gè)體尺參數(shù),模型計(jì)算值和測(cè)量值的相對(duì)誤差均在5%以內(nèi)。但1號(hào)模型羊的管圍和胸圍的模型計(jì)算值和測(cè)量值相對(duì)誤差分別為9.58%、10.00%,2號(hào)模型羊管圍和胸圍的模型計(jì)算值和測(cè)量值相對(duì)誤差分別達(dá)到了23.44%和8.33%,誤差相對(duì)較大。這是因?yàn)橹亟ㄍ瓿傻难蛑荒P驮诠車?、胸圍處點(diǎn)云產(chǎn)生一定的缺失,導(dǎo)致羊只輪廓完整性受到影響,從而使得試驗(yàn)計(jì)算值偏小,產(chǎn)生較大的計(jì)算誤差。 3 討論 3.1 數(shù)據(jù)處理過程對(duì)試驗(yàn)結(jié)果的影響 在羊只三維重構(gòu)的過程中,系統(tǒng)獲取的三維點(diǎn)云數(shù)據(jù)需要經(jīng)過直通濾波、統(tǒng)計(jì)濾波、地面去除、初始配準(zhǔn)和精確配準(zhǔn)等多個(gè)數(shù)據(jù)處理環(huán)節(jié)。實(shí)施這些環(huán)節(jié)的順序?qū)υ囼?yàn)結(jié)果具有一定的影響,例如不經(jīng)過濾波處理而先將獲取的原始點(diǎn)云數(shù)據(jù)進(jìn)行配準(zhǔn),則需要占用較大的計(jì)算機(jī)內(nèi)存,降低數(shù)據(jù)處理的速度,因此,為了確定相對(duì)合理的數(shù)據(jù)處理順序,本文對(duì)三種數(shù)據(jù)處理方案進(jìn)行了比較。方案1首先按進(jìn)行直通濾波和統(tǒng)計(jì)濾波,然后進(jìn)行初始和精確配準(zhǔn),最后去除地面;方案2首先進(jìn)行直通和統(tǒng)計(jì)濾波,然后去除地面,最后進(jìn)行初始和精確配準(zhǔn);方案3首先進(jìn)行直通濾波,然后進(jìn)行初始和精確配準(zhǔn),接下來去除地面,最后進(jìn)行統(tǒng)計(jì)濾波。利用三種不同方案對(duì)點(diǎn)云進(jìn)行處理的過程如圖8所示。 從圖8可以看出,三種方案均可以重建羊只的三維模型。方案3重建的模型在羊只輪廓的邊緣部分存在有部分噪聲點(diǎn)云,這是因?yàn)楸痉桨钢邢冗M(jìn)行了配準(zhǔn)再進(jìn)行統(tǒng)計(jì)濾波,配準(zhǔn)后同一區(qū)域的點(diǎn)云為三片點(diǎn)云的組合,不同點(diǎn)云中的離群點(diǎn)噪聲可能會(huì)相互補(bǔ)充使其離群性降低,導(dǎo)致處理復(fù)雜性增加,使邊緣部分的噪聲點(diǎn)云難以去除。方案2進(jìn)行模型重建時(shí)先去除地面點(diǎn)云再進(jìn)行配準(zhǔn),而先去除地面意味著在進(jìn)行配準(zhǔn)時(shí)就失去了大量的重疊點(diǎn)云進(jìn)行相互校驗(yàn),容易導(dǎo)致精確配準(zhǔn)的精度下降,因此,方案1的數(shù)據(jù)處理順序相對(duì)合理,三維模型重建效果也相對(duì)較好。 3.2 配準(zhǔn)算法性能分析 本文提出的初始配準(zhǔn)方法直接使用點(diǎn)云之間的相對(duì)位置關(guān)系對(duì)源點(diǎn)云進(jìn)行旋轉(zhuǎn)和平移,使其轉(zhuǎn)換到正確的位置,再利用ICP算法進(jìn)行點(diǎn)云的精確配準(zhǔn)。相對(duì)于其他常用的點(diǎn)云配準(zhǔn)方法,如SAC-IA(Sample Consensus Initial Aligment)+ICP[37]、NDT(Normal Distribution Transform)+ICP[38]、4PCS(4-Points Congruent Sets)+ICP[39]等,本方法提高了尋找兩片點(diǎn)云之間的對(duì)應(yīng)點(diǎn)的準(zhǔn)確性,減少了尋找兩片點(diǎn)云之間的對(duì)應(yīng)點(diǎn)的迭代次數(shù),不僅能夠減少處理的時(shí)間,而且具有更好的魯棒性。 為了驗(yàn)證本文方法的優(yōu)勢(shì),針對(duì)相同的點(diǎn)云,進(jìn)行不同配準(zhǔn)方法的對(duì)比試驗(yàn)。圖9為不同配準(zhǔn)方法對(duì)相同點(diǎn)云的配準(zhǔn)對(duì)比試驗(yàn)結(jié)果,只有本文提出的方法和SAC-IA+ICP方法能夠重建出羊只的三維模型。但是后者重建的模型中點(diǎn)云重疊率相對(duì)較低,三維重建效果也相對(duì)較差,而其他兩種點(diǎn)云配準(zhǔn)方法不能重構(gòu)出完整的羊只模型。從圖9可以看出,初始配準(zhǔn)對(duì)于重建物體的三維模型具有重要的影響,如果初始配準(zhǔn)過程中不能找到不同點(diǎn)云片中對(duì)應(yīng)點(diǎn),即使進(jìn)行精確配準(zhǔn)也無法重構(gòu)出正確的三維模型。通過比較,本文算法重建出來的羊只三維模型效果較好,且魯棒性強(qiáng)。表5為不同配準(zhǔn)算法性能比較。 從表5可以看出,本文提出的方法在RMSE值與SAC+FPFH+ICP非常接近,小于其他兩種方法,但是點(diǎn)云配準(zhǔn)所花費(fèi)的時(shí)間遠(yuǎn)小于其他三種方法,因此,相對(duì)于其他方法,本文提出的方法具有明顯的優(yōu)勢(shì)。 3.3 系統(tǒng)使用限制及未來改進(jìn)方向 本文提出的羊只三維模型重構(gòu)方法僅在實(shí)驗(yàn)室內(nèi)完成了理論驗(yàn)證,在實(shí)際應(yīng)用場景中,還存在一些問題需要解決。第一,作為一種動(dòng)物,羊只在被測(cè)量時(shí)很難保持靜止不動(dòng),這為數(shù)據(jù)獲取增加了難度,因此,需要在系統(tǒng)中增加限制其活動(dòng)的結(jié)構(gòu),使其在測(cè)量時(shí)盡量保持不動(dòng)。第二,為了實(shí)現(xiàn)自動(dòng)化的數(shù)據(jù)采集,需要在信息獲取系統(tǒng)中增加拍攝觸發(fā)裝置,利用傳感器檢測(cè)羊只是否處于拍攝位置,并能夠及時(shí)觸發(fā)拍攝裝置進(jìn)行信息獲取。第三,重建羊只三維模型是為了能夠準(zhǔn)確且自動(dòng)化地獲取其相關(guān)體尺參數(shù),因此還需要開發(fā)出相應(yīng)的體尺參數(shù)自動(dòng)獲取軟件,可以實(shí)現(xiàn)體尺參數(shù)的實(shí)施自動(dòng)化獲取。這些問題的解決方案是本研究目前和下一步的工作重點(diǎn)。 4 結(jié)論 1) 本文提出一種基于多角度Kinect v2重建羊只三維模型的方法,利用Kinect v2之間的相對(duì)位置關(guān)系進(jìn)行點(diǎn)云坐標(biāo)的轉(zhuǎn)化,據(jù)此進(jìn)行初始配準(zhǔn),然后利用ICP算法進(jìn)行精細(xì)配準(zhǔn)并建立羊只軀體的三維模型。 2) ?通過正交試驗(yàn)確定Kinect v2相對(duì)較佳的高度和拍攝俯視角分別為120 cm和30°,這種情況下拍攝得到的點(diǎn)云質(zhì)量較好;與其他點(diǎn)云配準(zhǔn)的方法相比,本文提出的方法在初始配準(zhǔn)時(shí)減少了尋找對(duì)應(yīng)點(diǎn)所花費(fèi)的時(shí)間,在精確配準(zhǔn)時(shí)削減了因多次迭代引起的誤差累積,其配準(zhǔn)過程總消耗時(shí)間平均約為12.89 s,配準(zhǔn)誤差均值為0.233 cm,在保證精度的情況下大大提高了三維模型構(gòu)建的速度。 3) ?本文確定了點(diǎn)云濾波等預(yù)處理的合理流程順序:首先按進(jìn)行直通濾波和統(tǒng)計(jì)濾波,然后進(jìn)行初始和精確配準(zhǔn),最后去除地面,這樣可以更好地提取羊只的三維點(diǎn)云;根據(jù)模型計(jì)算出的羊只體高、體斜長、十字部高和腰腳寬等體尺參數(shù)與實(shí)際測(cè)量平均誤差均在5%以內(nèi)。本文提出的羊只三維模型構(gòu)建方法為畜牧養(yǎng)殖自動(dòng)化和智能化提供參考。 參 考 文 獻(xiàn) [1]Matte A, Waquil P D. Changes in markets for lamb in livestock family farming in Brazil [J]. Small Ruminant Research, 2021, 205: 106535. [2]Gurgel A L C, dos Santos Difante G, Neto J V E, et al. Prediction of dry matter intake by meat sheep on tropical pastures [J]. Tropical Animal Health and Production, 2021, 53: 1-8. [3]Mahon N, Clark B, Proctor A, et al. Exploring farmers?understanding of and responses to endemic animal health and welfare issues in the UK [J]. Veterinary Record, 2021, 189(10): 1-8. [4]Chikwanha O C, Mupfiga S, Olagbegi B R, et al. Impact of water scarcity on dryland sheep meat production and quality: Key recovery and resilience strategies [J]. Journal of Arid Environments, 2021, 190: 104511. [5]Pallottino F, Steri R, Menesatti P, et al. Comparison between manual and stereovision body traits measurements of Lipizzan horses [J]. Computers and Electronics in Agriculture, 2015, 118: 408-413. [6]Rathbun F M, Pralle R S, Bertics S J, et al. Relationships between body condition score change, prior mid-lactation phenotypic residual feed intake, and hyperketonemia onset in transition dairy cows [J]. Journal of Dairy Science, 2017, 100(5): 3685-3696. [7]馬學(xué)磊, 薛河儒, 周艷青, 等. 基于改進(jìn)區(qū)域生長法的羊體點(diǎn)云分割及體尺參數(shù)測(cè)量[J]. 中國農(nóng)業(yè)大學(xué)學(xué)報(bào), 2020, 25(3): 99-105.Ma Xuelei, Xue Heru, Zhou Yanqin, et al. Point cloud segmentation and measurement of the body size parameters of sheep based on the improved region growing method [J]. Journal of China Agricultural University, 2020, 25(3): 99-105. [8]孫芊芊, 李海軍, 宣傳忠, 等. 基于羊只應(yīng)激反應(yīng)的智能飼喂機(jī)器人功能與造型研究[J]. 內(nèi)蒙古農(nóng)業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版), 2019, 40(5): 60-64.Sun Qianqian, Li Haijun, Xuan Chuanzhong, et al. Research on function and modeling of intelligent feeding robot based on sheep stress response [J]. Journal of Inner Mongolia Agricultural University (Natural Science Edition), 2019, 40(5): 60-64. [9]Buddle E A, Bray H J, Ankeny R A. “Of course we care!”: A qualitative exploration of Australian livestock producers?understandings of farm animal welfare issues [J]. Journal of Rural Studies, 2021, 83: 50-59. [10]楊鵬. 羊常見傳染病的預(yù)防及治療方法[J]. 畜牧獸醫(yī)科技信息, 2021(9): 138. [11]Marinello F, Pezzuolo A, Cillis D, et al. Application of Kinect-Sensor for three-dimensional body measurements of cows [J]. Proceedings of the 7th European Precision Livestock Farming, ECPLF, 2015. [12]Zhou Y, Xue H, Wang C, et al. Reconstruction and body size detection of 3d sheep body model based on point cloud data [C]. IFIP WG International Conference on Computer and Computing Technologies in Agriculture, 2019: 251-262. [13]Wang K, Guo H, Ma Q, et al. A portable and automatic Xtion-based measurement system for pig body size [J]. Computers and Electronics in Agriculture, 2018, 148: 291-298. [14]Condotta I C F S, Brown-Brandl T M, Silva-Miranda K O, et al. Evaluation of a depth sensor for mass estimation of growing and finishing pigs [J]. Biosystems Engineering, 2018, 173: 11-18. [15]Alvarez J R, Arroqui M, Mangudo P, et al. Body condition estimation on cows from depth images using Convolutional Neural Networks [J]. Computers and Electronics in Agriculture, 2018, 155: 12-22. [16]Zhang A L, Wu B P, Wuyun C T, et al. Algorithm of sheep body dimension measurement and its applications based on image analysis [J]. Computers and Electronics in Agriculture, 2018, 153: 33-45. [17]司永勝, 安露露, 劉剛, 等. 基于Kinect相機(jī)的豬體理想姿態(tài)檢測(cè)與體尺測(cè)量[J]. 農(nóng)業(yè)機(jī)械學(xué)報(bào), 2019, 50(1): 58-65.Si Yongsheng, An Lulu, Liu Gang, et al. Ideal posture detection and body size measurement of pig based on Kinect [J]. Transactions of the Chinese Society for Agricultural Machinery, 2019, 50(1): 58-65. [18]郝雪萍. 基于圖像處理的杜泊羊體重估算模型研究[D]. 武漢: 武漢理工大學(xué), 2015. [19]張麗娜, 楊建寧, 武配, 等. 羊只形態(tài)參數(shù)無應(yīng)激測(cè)量系統(tǒng)設(shè)計(jì)與試驗(yàn)[J]. 農(nóng)業(yè)機(jī)械學(xué)報(bào), 2016, 47(11): 307-315.Zhang Lina, Yang Jianning, Wu Pei, et al. Design and experiment of non-stress measuring system for sheeps conformation parameters [J]. Transactions of the Chinese Society for Agricultural Machinery, 2016, 47(11): 307-315. [20]Khojastehkey M, Aslaminejad A A, Shariati M M, et al. Body size estimation of new born lambs using image processing and its effect on the genetic gain of a simulated population [J]. Journal of Applied Animal Research, 2016, 44(1): 326-330. [21]Vieira A, Brando S, Monteiro A, et al. Development and validation of a visual body condition scoring system for dairy goats with picture-based training [J]. Journal of Dairy Science, 2015, 98(9): 6597-6608. [22]Shi C, Teng G, Li Z. An approach of pig weight estimation using binocular stereo system based on LabVIEW [J]. Computers and Electronics in Agriculture, 2016, 129: 37-43. [23]Yang L, Wang B, Zhang R, et al. Analysis on location accuracy for the binocular stereo vision system [J]. IEEE Photonics Journal, 2017, 10(1): 1-16. [24]Cui Y, Zhou F, Wang Y, et al. Precise calibration of binocular vision system used for vision measurement [J]. Optics Express, 2014, 22(8): 9134-9149. [25]趙建敏, 趙忠鑫, 李琦. 基于Kinect傳感器的羊體體尺測(cè)量系統(tǒng)[J]. 傳感器與微系統(tǒng), 2015, 34(9): 100-103.Zhao Jianmin, Zhao Zhongxin, Li Qi. Sheep body size measurement system based on Kinect sensor [J]. Transducer and Microsystem Technologies, 2015, 34(9): 100-103. [26]Pezzuolo A, Gonzàlez L A, Giora D, et al. Body measurements of dairy cows using a structure from motion (SfM) photogrammetry approach [C]. 8th European Conference on Precision Livestock Farming, EC-PLF, ?2017: 483-492. [27]Pezzuolo A, Milani V, Zhu D H, et al. On-barn pig weight estimation based on body measurements by structure-from-motion (SfM) [J]. Sensors, 2018, 18(11): 3603. [28]初夢(mèng)苑, 劉剛, 司永勝, 等. 基于三維重建的奶牛體重預(yù)估方法[J]. 農(nóng)業(yè)機(jī)械學(xué)報(bào), 2020, 51(S1): 378-384.Chu Mengyuan, Liu Gang, Si Yongsheng, et al. Predicting method of dairy cow weight based on three-dimensional reconstructions [J]. Transactions of the Chinese Society for Agricultural Machinery, 2020, 51(S1): 378-384. [29]張馨月, 劉剛, 經(jīng)玲, 等. 基于點(diǎn)云精簡的奶牛背部體尺測(cè)點(diǎn)自動(dòng)提取方法[J]. 農(nóng)業(yè)機(jī)械學(xué)報(bào), 2019, 50(S1): 267-275.Zhang Xinyue, Liu Gang, Jing Ling, et al. Automatic extraction method of cows back body measuring point based on simplification point cloud [J]. Transactions of the Chinese Society for Agricultural Machinery, 2019, 50(S1): 267-275. [30]蔡靜怡, 嚴(yán)飛, 吳兆祥, 等. 基于Kinect v2的多視角三維重建實(shí)現(xiàn)[J]. 傳感技術(shù)學(xué)報(bào), 2020, 33(8): 1149-1154.Cai Jingyi, Yan Fei, Wu Zhaoxiang, et al. Implementation of multi-view 3D reconstruction based on Kinect v2 [J]. Chinese Journal of Sensors and Actuators, 2020, 33(8): 1149-1154. [31]Le Cozler Y, Allain C, Caillot A, et al. High-precision scanning system for complete 3D cow body shape imaging and analysis of morphological traits [J]. Computers and Electronics in Agriculture, 2019, 157: 447-453. [32]Huang L, Li S, Zhu A, et al. Non-contact body measurement for qinchuan cattle with LiDAR sensor [J]. Sensors, 2018, 18(9): 3014. [33]Pezzuolo A, Guarino M, Sartori L, et al. On-barn pig weight estimation based on body measurements by a Kinect v1 depth camera [J]. Computers and Electronics in Agriculture, 2018, 148: 29-36. [34]Shi S, Yin L, Siang S, et al. Research on 3D surface reconstruction and body size measurement of pigs based on multi-view RGB-D cameras [J]. Computers and Electronics in Agriculture, 2020, 175(1): 105543. [35]Shu Q, He X, Wang C, et al. Fast point cloud registration in multidirectional affine transformation [J]. Optik, 2021, 229: 165884. [36]Lunin A, Glock C H. Systematic review of Kinect-based solutions for physical risk assessment in manual materials handling in industrial and laboratory environments [J]. Computers & Industrial Engineering, 2021, 162: 107660. [37]鄭立華, 王露寒, 王敏娟, 等. 基于Kinect相機(jī)的油麥菜自動(dòng)化三維點(diǎn)云重建[J]. 農(nóng)業(yè)機(jī)械學(xué)報(bào), 2021, 52(7): 159-168.Zheng Lihua, Wang Luhan, Wang Minjuan, et al. Automated 3D reconstruction of leaf lettuce based on Kinect camera [J].Transactions of the Chinese Society for Agricultural Machinery, 2021, 52(7): 159-168. [38]王慶閃, 張軍, 劉元盛, 等. 基于NDT與ICP結(jié)合的點(diǎn)云配準(zhǔn)算法[J]. 計(jì)算機(jī)工程與應(yīng)用, 2020, 56(7): 88-95.Wang Qingshan, Zhang Jun, Liu Yuansheng, et al. Point cloud registration algorithm based on combination of NDT and ICP [J]. Computer Engineering and Applications, 2020, 56(7): 88-95. [39]Aiger D, Mitra N J, Cohen-Or D. 4-points congruent sets for robust pairwise surface registration [J]. Transactions on Graphics, 2008, 27(3): 670-679. 基金項(xiàng)目:河北省省級(jí)科技計(jì)劃資助(21327402D);河北農(nóng)業(yè)大學(xué)精準(zhǔn)畜牧學(xué)科群建設(shè)項(xiàng)目(1090064) 第一作者:范才虎,男,1998年生,江蘇鎮(zhèn)江人,碩士研究生;研究方向?yàn)榫珳?zhǔn)畜牧。E-mail: 1627189565@qq.com 通訊作者:程曼,女,1982年生,河北石家莊人,博士,教授;研究方向?yàn)閯?dòng)植物表型組高通量獲取與智能解析。E-mail: chengman1982@126.com