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

基于改進PointNet++的大規模豬體點云部位分割*

2023-08-31 08:39:34張素敏溫志坤朱紀民林潤恒
計算機與數字工程 2023年5期
關鍵詞:特征

胡 昊 尹 令,2 張素敏,2 溫志坤 朱紀民 林潤恒

(1.華南農業大學數學與信息學院 廣州 510642)

(2.國家生豬種業工程技術研究中心 廣州 510642)

1 引言

點云分割作為三維點云處理任務中的關鍵技術,在三維計算機視覺場景下得到了非常廣泛的應用。在通過激光雷達獲取的城市場景點云中,將馬路、建筑、路燈、花壇、行道樹等場景中的元素進行區分,實現了對大規模場景中的各種物體進行精細化處理[1~2]。在醫療數據處理領域,使用基于深度學習的點云模型分割三維頸椎骨的各組成部分[3],在分割的基礎上再進行生物力學分析,提高了醫療輔助診斷的自動化水平。在建筑建模領域,采用多視圖CNN 能夠將建筑元素類型進行自動化分類,并取得了良好的效果[4]。在無人機精準飛行領域,基于深度學習的點云網絡對激光雷達掃描到的物體進行了精準分割,且具有良好的實時性[5]。在智慧農業領域,采用深度相機對植物點云進行采集,再將采集到的數據送入神經網絡將植物的葉和莖進行分割,有助于選擇育種以及性狀分析[6]。一種基于二維圖像以及深度信息的點云二次分割方法被提出用于在復雜背景中提取出水果的輪廓[7]。

基于三維點云的牲畜尺參數自動測量是目前智能養殖業的研究熱點。但在現實場景中,通過深度設備獲取的牲畜點云存在數據散亂、密度大的特點,因此數據處理的效果不佳。采用深度學習的方法先對豬體點云各部分進行分割,在分割的基礎上再進行體尺測量點定位,將有助于提升測量的準確率。

基于深度學習的點云分割方法是計算機三維視覺的研究熱點之一,按照其基本思想可分為以下三類[26~28]。第一類是將三維點云數據轉化為二維圖像的處理方法[8~11],其主要通過在不同角度將原始點云投影到二維平面,從而得到多個二維圖像,再通過神經網絡對多視圖進行聚合,最后輸出結果。第二類是基于體素網格的方法[12~14],該類方法將原始點云轉化為了體素小立方體,再通過3D 卷積神經網絡進行分割。前兩種方法均需要消耗大量時間和資源進行數據預處理,而第三類方法是直接對原始點云進行處理。PointNet[15]首次采取了端到端的處理模式,主要解決了點云通過深度網絡進行編碼過程中,保證其原有的置換不變性,能夠直接將原始點云作為深度網絡的輸入進行分割。然而,PointNet 不具備在度量空間點中捕捉布局信息的能力,極大地限制了對細節的識別能力以及對大規模復雜場景的普適性。為改進PointNet 的不足,PointNet++網絡[16]增加了逐層抽象結構,通過計算度量空間中的距離,增加上下文比例來提取目標點云的局部空間特征,取得了更好的效果。馬利等[17]通過在PointNet 中引入跳躍連接,提取不同層次的特征,更好地捕捉了三維手部姿態。姚鉞等[18]在PointNet++的基礎上加入了自頂向下的網絡分支,將原網絡的中間特征融入最終預測網絡,獲得了更好的分類效果。為了增強獲取局部特征的能力,吳軍等[19]將自注意力機制引入了PointNet++,提高了場景語義分割的精度。

活體牲畜獲取的點云數量龐大,且局部會存在空洞或者缺失,不同姿態使得牲畜點云各部分分割特征不明顯,因此為對豬體點云進行部分精確的分割,本文在PointNet++的基礎上采用了Octree 結構改進了采樣層和分組層,使其能夠更好地在大規模點云數據中捕捉到豬體由于不用姿態所引起的非剛性變化,充分提取不同層次下的局部信息,獲得了更好的部分分割效果。

2 方法

2.1 豬體點云獲取與預處理

在試驗場地采集通道的上、左、右三個方向分別設置Kinect相機,當目標豬體進入數據采集區域時,三個方向的相機會同時采集點云,再經過配準,去除背景以及去噪等預處理后,即可獲得完整的豬體三維點云數據[20~21]。所獲得的豬體點云因個體不同,在進入采集區域的姿態不同,因此數據之間存在較大差異。

2.2 PointNet++基本原理

PointNet++采用了逐層抽象結構,如圖1 所示。相比于PointNet 結構,PointNet++具備了在不同尺度下提取空間信息的能力,代替了PointNet 直接提取整體點云特征的做法,能夠在不同尺度局部區域使用PointNet 對點云進行特征提取,再進行特征拼接。PointNet++分割網絡結構包括分層點集特征學習和集合分割點特征傳播兩個部分。分層點集特征學習分為兩個集合抽象(Set Abstraction)模塊,每個集合抽象模塊又包含采樣層(Sampling Layer)、分組層(Grouping Layer)、PointNet層[22]。其中,采樣層使用最遠點采樣(Farthest Point Sampling,FPS)選取點云數據的部分特征點。分組層的作用是按照球查詢(Ball Query)方法選取采樣中心點的鄰域點,將選出的各個子點云送入PointNet層,運用局部區域的信息編碼成特征向量。

圖1 PointNet++網絡結構

2.3 基于改進PointNet++豬體點云分割網絡

2.3.1 基于八叉樹的點云劃分與采樣

PointNet++通過最遠點采樣的方法提取局部特征點進行編碼,在ShapeNetCore[23]數據集上取得了很好的部分分割效果。然而,雖然與隨機采樣相比,在給定相同數量的采樣點情況下,最遠點采樣方法能更好地提取ShapeNetCore 數據集中的特征點,但是對于在真實場景下通過Kinect相機所采集到的豬體點云數據,最遠點采樣無法精確捕捉不同姿態下豬體點云的非剛性形變,因為最遠點采樣更關注的是點與點之間的距離,而八叉樹下采樣法是基于空間結構的均勻采樣,能夠很好地保留豬體點云空間結構信息,其本身層次化的樹結構不僅能劃分出體素相鄰點,且更適合后續PointNet 層進行逐層的局部特征提取。

采用八叉樹進行豬體點云分組及采樣算法步驟如下:

步驟1)采用最小立方體對豬體點云包圍。

步驟2)設置最大八叉樹深度即最多可細分的次數N,將初始點云包圍盒的立方體劃分為8個均勻大小的子立方體。

步驟3)判斷沒有子節點的立方體內是否包含點云。若包含點云且沒有達到最大遞歸深度,繼續對該立方體進行細分,劃分到8 個子立方體。若沒有或達到最大遞歸深度則停止細分。

步驟4)若子立方體所分配到的單位元元素數量為0或為1,則該子立方體停止劃分。

步驟5)重復步驟3)和步驟4)進行遞歸劃分直到達到最大遞歸深度,使用不同層數八叉樹劃分豬體點云過程如圖2所示。

圖2 不同層數八叉樹結構劃分豬體點云

步驟6)假設任意立方體內包含n個點,那么此立方體內第i個點的坐標則為(xi,yi,zi),計算中點pmid坐標(xmid,ymid,zmid)。

步驟7)計算體素內所有點到中點pmid的距離并進行排序,將距離中點pmid最近點作為特征點pfeature進行采樣,選取第2 到k+1 個距離較小值點作為特征點pfeature的鄰近點:

式(1)中Sort為排序函數,d為距離函數。如圖3 所示,紅色點為采樣特征點,與紅色點在同一立方體內的黑色點為其鄰域點。

圖3 采用八叉樹進行豬體點云采樣及分組

2.3.2 改進PointNet++的分割網絡算法

采用八叉樹改進PointNet++采樣和分組方式的豬體點云部位分割網絡具體結構如圖4 所示,算法步驟如下:

圖4 改進后的PointNet++具體網絡結構

步驟1)輸入為經過預處理后的單個完整豬體點云數據[ ]N×npoint×6 ,其中N為批處理輸入豬體點云數據的數量,npoint為單個豬體點云的點云點數。

步驟2) 將豬體點云進行八叉樹采樣及分組。其中,采用5 層八叉樹結構進行采樣及分組,采樣中心點的個數為n1,中心點鄰域內的點的最大數量(nsample)為64。

步驟3)對同一分組內的局部點云進行卷積(Convolution,Conv),其中一維卷積公式如下:

式(2)中w1,w2…wk為濾波器,x1,x2…xk為信號序列,K為濾波器長度。為簡單起見,這里假設卷積的輸出yt的下標t從K開始。二維卷積的公式如下:

式(3)中X∈RM×N,濾波器W∈RU×V,一般U?M,V?N,這里假設卷積的輸出Yij的下標(i,j)從(U,V)開始。

步驟4)采用批量歸一化(Batch normalizaion,Bn)的方法提高網絡的學習效率。假設有N個樣本,對于每一維的特征x,先計算其均值和方差:

然后,將特征x(n)減去均值,再除以標準差,得到新的特征值x(n):

步驟5)采用Relu 函數對神經網絡的線性層進行激活,再通過最大池化(Max Pooling)對卷積層提取到的局部特征的進行特征選擇,降低特征維度,得到局部特征向量[N×1024×256] 。具體地,對于一個局部區域Rdm,n,選擇該區域所有神經元的最大值表示該區域:

式(7)中xi為局部區域內每個神經元的值。

步驟6)重復步驟2)~5),這里采用4層八叉樹結構進行采樣及分組,采樣中心點的個數為n2,中心點鄰域內的點的數量為128,得到特征向量[N×256×512] 。

步驟7)采用PointNet 對整體點云進行全局特征向量編碼。

步驟8)經過分層點集特征學習后,對輸入的特征點進行二次抽樣,利用IDW(Inverse Distance Weighted)插值算法,將采樣點的特征傳遞回原始點集,得到[N×4096×256] 的數據。其中,IDW 插值的公式如下:

式(8)中,f為插值的特征值,d(x,xi)為x,xi的距離,p為d(x,xi)的指數,k為鄰域點的個數(默認情況使用p=2,k=3),wi為x,xi距離平方的倒數,j為點云的索引編號,C為任意常數。

步驟9)再對原始點集特征向量進行卷積,批量標準化和激活函數處理,并使用反向傳播(Back propagation,Bp)算法對卷積網絡中參數進行調整,當l+1 為卷積層時,假設特征映射輸入為Z(l+1)∈RM'×N'×P,其中第p( )1 ≤p≤P個特征映射的輸入為

式(9)中W(l+1,p)和b(l+1,p)為第l+1 層的卷積核以及偏置,共有P×D個卷積核和P個偏置。第l層的第d個特征映射的誤差項為

式(10)中?~為寬卷積,rot 180()· 表示旋轉180°。

步驟10)使用Softmax回歸對豬體點云每個點進行分類預測,其中類別標簽y∈{ }1,2…,C,C=8分別對應著豬體的八個部位(左前腿、右前腿、左后腿、右后腿、耳朵、頭部、尾巴、身體)。給定一個點x,采用Softmax回歸預測的屬于c的條件概率為

式(11)中wc是第c類的權重向量,則Softmax決策函數可以表示為

3 實驗結果與分析

本文訓練模型系統環境為Intel i5-11400 CPU,RTX2060 GPU,6GB 顯存,深度學習框架Pytorch1.4,Cuda10.0。設置模型初始學習率(Learning Rate)為0.001,衰減率(Learning Rate Decay)為0.5,每20輪迭代輪數衰減一次,模型訓練每次輸入點云數量批尺寸(Batch Size)為4。圖5對比了采用八叉樹改進后的PointNet++網絡與PointNet++基礎網絡訓練過程的mIoU 與OA 變化。由圖5 所示,改進后的PointNet++獲得了更好的學習能力,在經過40 輪左右的訓練后,幾乎已經收斂,在100 輪的訓練中最佳的mIoU 為88.27%,OA 為96.97%。而原PointNet++網絡在60 輪訓練后才逐漸收斂,在100輪的訓練中最佳mIoU 為85.12%,OA 為94.45%。實驗結果證明,改進后的PointNet++網絡在豬體點云數據集上具有更強的學習能力。

圖5 訓練過程性能指標變化

采集的活體豬點云其姿態呈現多樣性,從不同視角觀察可以分為不同姿態,俯視圖的豬體點云姿態可大致分為直線型、左扭頭型、右扭頭型,側視圖的豬體點云姿態可大致分為平視型、微低頭型、重低頭型,共9 種姿態。為了進一步驗證本文采用八叉樹結構對PointNet++網絡改進的有效性,以9 種姿態的豬體點云為測試樣本,在PointNet++基礎上采用平面擬合的方法計算法向量(+Normal),在第一個逐層抽象模塊使用Octree 的采樣與分組方式(+Octree1),在第二個逐層抽象模塊使用Octree 的采樣與分組方式(+Octree2)進行不同模塊組合下的消融實驗,如表1 所示。表2 為在不同模塊組合下的分割結果。由表2 可知,相比于基礎模型PointNet++的分割結果,采用平面擬合的方法計算法向量信息(+Normal)后,除去Post8 外其他類別的mIoU 均有提升,法向量作為點云各點的屬性包含了重要的空間信息。在第一個逐層抽象模塊改用八叉樹結構進行采樣與分組(+Octree1)之后,對所有類別的分割精確度均有提高,尤其對于Post6,Post9 等扭頭且低頭的不規則姿態豬體點云的分割效果提升更為明顯。第二個逐層抽象模塊改用八叉樹結構進行采樣與分組(+Octree2)的方式,從各個姿態的分割結果上來看,相比于PointNet++基礎結構雖有提高,但是提升效果不如前者(+Octree1),原因是第一次采樣在原始豬體點云上進行的,基于八叉樹的采樣方式比最遠點采樣能保留更多豬體點云的空間結構信息,而第二次采樣是在第一次采樣的基礎上再進行采樣,是第一次采樣更細節化,因此第一次采樣更關鍵。兩個逐層抽象模塊均使用Octree 的采樣與分組方式并使用法向量(Octree-PointNet++)的模型,在除了Post4 的其他姿態的豬體點云分割結果上均取得了最佳,總體的平均mIoU 和OA 相較于原PointNet++模型分別提升了3.04%、4.54%。

表1 用于消融實驗的不同模塊說明

表2 不同姿態的豬體點云數據的消融實驗結果(單位:%)

注:粗體表示最優結果,Post1為直線平視型、Post2為直線微低頭型、Post3為直線重低頭型、Post4為左扭頭平視型、Post5為左扭頭微低頭型、Post6為左扭頭重低頭型、Post7為右扭頭平視型、Post8為右扭頭微低頭型、Post9為右扭頭重低頭型。

圖6 所示為部分姿態豬體點云的可視化結果,圖中每列表示一類姿態,每行表示對應結果。從第1、2 列相對簡單的姿態來看,原始的PointNet++模型會把部分頭部的點云分成是耳朵,還會把部分身體的點云分成是尾巴。+Normal 分割效果雖有提升,但是對于頭部和耳朵的分割仍然不理想。+Octree1 和+Octree2 對于局部細節的捕捉能力明顯更強,基本可以將耳朵與頭部分割開來。第3、4 列為較復雜的扭頭且重低頭的姿態,PointNet++網絡對于此類姿態的分割結果較為糟糕,由于豬在低頭時腿部離頭部很近,還會出現左右腳交叉的現象,因此會把部分頭部點云看成是腿部,左腿分為了右腿。+Normal 的分割結果雖有所改善,但仍然不理想,會把頭部分為了后腿。+Octree1 和+Octee2 分割的效果要明顯由于前二者,但是對于一些細節的分割仍然存在不足。可以看出Octree-PointNet++無論是對于復雜姿態還是相對標準的姿態,其分割效果都理想,除去分割邊界不如人工數據處理得平滑之外,基本與手工標記無異。

圖6 部分姿態豬體點云部分分割可視化效果對比

不同的點云分割算法在我們采集的數據集上的分割效果如表3 所示。PointNet++根據其點云采樣及分組方式的不同分為單一范圍分組(ssg,single-scale grouping),即通過深度網絡提取在相同半徑下的點云局部空間特征,以及多尺度范圍分組(msg,Multi-scale grouping),即在不同分組半徑下提取點云局部信息,再編碼成特征向量。從結果上看,msg版本的平均分割精確率要略優于ssg。相比于PointNet 直接對原始點云整體提取特征的方法,PointNet++的層次化特征提取模式具備了更好的分割效果。3D Point in 2D Space[24]是將三維點云降維為二維數據,再通過U-Net 網絡進行分割,DG-CNN[25]則是先對原始輸入點云構建圖結構,增強了點之間的關聯性,再送入Edge-Conv 進行處理。然而,在實際的豬體點云分割實驗中,兩者的分割效果均不如PointNet++網絡算法。原因可能是其對不同姿態豬體點云變化不敏感,缺乏對非剛性形變目標物體的特征學習能力。

表3 各算法在我們數據集上的性能對比

4 結語

針對現有的PointNet++網絡不能很好地提取不同姿態豬體點云數據的局部特征問題,采用八叉樹結構改進了其采樣及分組方式,實驗結果表明,改進后的網絡更加適合于大規模點云數據中提取豬體不同姿態的非剛性變化特征,能夠更加精確地對不同姿態的豬體點云數據進行部位分割,尤其是對于復雜姿態的豬體點云數據,分割精確度的提升更為明顯,且可視化效果與人工標記幾乎無異。

猜你喜歡
特征
抓住特征巧觀察
離散型隨機變量的分布列與數字特征
具有兩個P’維非線性不可約特征標的非可解群
月震特征及與地震的對比
如何表達“特征”
被k(2≤k≤16)整除的正整數的特征
中等數學(2019年8期)2019-11-25 01:38:14
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
詈語的文化蘊含與現代特征
新聞傳播(2018年11期)2018-08-29 08:15:24
抓住特征巧觀察
基于特征篩選的模型選擇
主站蜘蛛池模板: 亚洲精品国产综合99| 少妇精品网站| 国产18在线播放| 久久婷婷五月综合97色| 99热这里只有精品2| 久久精品人人做人人| 日韩午夜福利在线观看| 免费观看精品视频999| a级毛片免费播放| 久久这里只精品国产99热8| 亚洲国产精品无码久久一线| 2021国产乱人伦在线播放| 色综合五月| 国产日韩精品欧美一区灰| 日本欧美精品| 国产香蕉一区二区在线网站| 亚洲伊人天堂| 日韩第八页| 在线观看免费人成视频色快速| 久久这里只有精品国产99| 亚洲男人的天堂在线观看| 国产三区二区| 国产成人精品高清不卡在线| 国产激爽爽爽大片在线观看| 2020国产在线视精品在| 在线亚洲精品福利网址导航| 无码精油按摩潮喷在线播放 | 国产va在线观看| 伊人久久大香线蕉成人综合网| 久久久噜噜噜| 777午夜精品电影免费看| 2021天堂在线亚洲精品专区 | 四虎AV麻豆| 狼友视频一区二区三区| 日韩在线观看网站| 亚洲国产AV无码综合原创| 原味小视频在线www国产| 亚洲午夜综合网| 九九精品在线观看| 三区在线视频| 日韩AV无码一区| 精品夜恋影院亚洲欧洲| 欧美、日韩、国产综合一区| 国产视频你懂得| 国产精品第| 久久天天躁夜夜躁狠狠| 亚洲天堂.com| 在线观看亚洲成人| 伊人五月丁香综合AⅤ| 欧美国产日本高清不卡| 全部免费特黄特色大片视频| 欧美亚洲综合免费精品高清在线观看 | 免费播放毛片| 亚洲成a人片在线观看88| 亚洲一区色| 丰满人妻中出白浆| 五月激情婷婷综合| 亚洲欧洲日韩综合色天使| 天天综合网色中文字幕| 88av在线| 色妞www精品视频一级下载| 日本免费高清一区| 亚洲一区二区成人| 欧美日韩福利| 国产精品观看视频免费完整版| www.99在线观看| 日韩欧美色综合| 毛片免费试看| 亚洲精品男人天堂| 天堂av高清一区二区三区| 国内精品九九久久久精品| 欧美一级在线看| 久久伊伊香蕉综合精品| 亚洲 欧美 偷自乱 图片| 中文字幕首页系列人妻| 国产一级视频久久| 萌白酱国产一区二区| 国产91导航| 久久久久免费精品国产| 亚洲码在线中文在线观看| 亚洲AⅤ永久无码精品毛片| 国产黄色视频综合|