本發明屬于計算機視覺和三維重建,具體涉及一種基于向量神經元網絡的點云場景重建方法。
背景技術:
1、隨著人工智能的快速發展,家庭式機器人已經逐漸走進人們的生活,協助人們完成各種日常任務。理解和重建場景是使機器人實現自主導航、環境感知以及增強現實體驗的關鍵挑戰之一。使用2d圖像獲取到的環境數據十分有限,無法滿足機器人在非結構化環境背景下對場景重建的要求。因此,利用點云數據獲取場景信息成為一種有效的手段,然而單視角點云數據本身也存在不完整和噪聲的問題,特別是在復雜場景下,往往無法完整地捕捉到所有物體的形狀和位置。為了解決這一問題,需要場景中各個物體的cad模型,通過模型匹配的方法將點云數據中的物體替換為完整的cad模型,從而實現對整個場景的完整建模。
2、隨著虛擬現實、增強現實和人機交互技術的發展,構建具有真實感和精確的三維虛擬場景變得至關重要。目前在3d模型替換過程中,還存在一些挑戰,包括cad模型匹配的準確度不高、模型對齊的精細度仍需提升、無法為機器人的自主決策規劃等智能應用提供可交互的場景。這些技術瓶頸嚴重限制了機器人產業的發展。
技術實現思路
1、針對目前點云場景重建方法在處理旋轉變化和復雜場景重建時的不足問題,本發明提供了一種基于向量神經元網絡的點云場景重建方法,提高了三維場景重建的精度和效率,克服現有技術在處理旋轉變化和復雜場景重建時的局限性。
2、為了達到上述目的,本發明采用了下列技術方案:
3、一種基于向量神經元網絡的點云場景重建方法,包括以下步驟:
4、步驟1,點云場景數據采集:獲取場景的單視角點云掃描數據,對其進行濾波、去噪和下采樣處理,消除噪聲和冗余點,得到優化的點云數據;
5、步驟2,實例分割:對優化后的點云數據,利用pointnet進行實例分割,識別場景中的各個物體,最后輸出點云中不同物體的實例標簽;
6、步驟3,特征提取:計算點云的法向量,獲取局部幾何信息,然后,采用主成分分析(pca)方法提取每個物體的類別、幾何特征(如法向量、曲率)和顏色特征(如顏色直方圖、彩色空間分量)等信息,獲得部分點云的逐點特征和全局特征,以及對應完整cad模型的逐點特征和全局特征,形成點云的特征描述子,作為cad模型檢索的輸入;
7、步驟4,構建cad模型庫:構建包含多個cad模型的數據庫,涵蓋場景中出現的各種物體;對每個cad模型進行離散化處理,生成模型的點云表示,對模型點云進行特征提取,獲取其全局和局部特征描述子;并存儲在數據庫中,進行后續的匹配和對齊任務;
8、步驟5,cad模型粗匹配:搭建模型訓練環境,將點云數據輸入向量神經元網絡模型進行訓練,優化模型權重參數,輸出模型候選集合,獲得最佳模型權重參數;
9、步驟6,cad模型精對齊:從候選集合中選取與目標點云相似度最高(匹配損失最小)的cad模型;基于局部特征描述子,對選定的cad模型進行尺寸調整和9dof姿態對齊,實現點云與cad模型的精確對齊;將對齊后的cad模型與點云進行融合,生成完整的場景重建結果;
10、步驟7,結果驗證:計算對齊后的模型與目標點云之間的對齊誤差,若誤差在預設范圍內,則認為匹配成功,輸出匹配成功的cad模型和對齊參數;如果對齊誤差超過預設閾值,則返回步驟6,選擇下一個候選cad模型進行對齊;
11、步驟8,輸出重建的場景:將成功匹配并精確對齊的cad模型替換場景內識別到的物體,生成重建后的完整場景。
12、進一步,所述步驟1中所述采集場景點云數據使用激光雷達(lidar)高精度三維激光掃描設備,對目標場景進行點云數據的采集。在單一視角下,對場景進行一次完整掃描,確保所需區域盡可能完整地被捕獲。根據場景復雜程度,調整掃描分辨率、掃描速度等參數,平衡數據精度和采集效率。將采集到的點云數據以ply標準格式保存。
13、剔除點云數據中無限遠、零坐標或異常值的點,對于每個點pi,計算其鄰域內點的平均距離
14、
15、其中,knn為點云中鄰域的大小,表示每個點pi的k-最近鄰的數量,jk表示點pi的鄰域中的一個點,即k-最近鄰中的第jk個點;
16、通過設定閾值,剔除超出一定標準差范圍的離群點,消除孤立的噪聲點。設置固定半徑r,對每個點統計其半徑內的鄰居點數,如果鄰居點數小于預設閾值,則認為該點為噪聲點并予以移除。
17、對點云進行表面擬合和平滑,在保留邊緣特征的同時,平滑點云數據。將點云空間劃分為大小為l×l×l的體素網格,在每個體素中,對于每個體素,只保留一個代表點(質心):
18、
19、其中,pvoxel表示體素中的代表點(質心)的坐標;nvoxel表示當前體素(voxel)中包含的點的數量;
20、減少點的數量,均勻分布點云。將點云坐標歸一化到單位立方體內,計算點云的邊界框,將點云中心平移到原點,并按最大邊長進行縮放。將預處理后的點云數據轉換為vn網絡輸入所需的hdf5格式。
21、進一步,所述步驟2中利用pointnet進行實例分割具體包括以下步驟:
22、步驟2.1,對點云中的每個點pi獨立應用一系列全連接層,提取每個點的局部特征;
23、hi=mlp(pi)??????(3)
24、步驟2.2,采用最大池化(max?pooling)對所有點的局部特征進行聚合,得到全局特征表示;
25、
26、步驟2.3,將每個點的局部特征與全局特征進行拼接,形成增強特征;
27、gi=[hi,g]????????(5)
28、步驟2.4,利用增強特征對每個點進行實例分割,輸出分割后場景內每個物體的實例標簽;
29、
30、進一步,步驟4將所有模型轉換為相同的obj文件格式,統一采用右手坐標系,計算模型的邊界框尺寸(lx,ly,iz),選擇最大邊長:
31、lmax=max(lx,ly,lz)????????(7)
32、將模型的所有頂點坐標按比例縮放:
33、
34、通過主成分分析(pca),計算模型的主軸方向,將模型旋轉,使其主軸與全局坐標系軸對齊,并確保模型的底部位于z=0平面上。為每個模型指定物體類別(如“椅子”、“桌子”、“燈具”等),記錄模型的屬性(如材質、顏色等)。
35、進一步,所述步驟4中對每個cad模型進行離散化處理,生成模型的點云表示具體包括以下步驟:
36、步驟4.1,在模型表面上以均勻間隔采樣點,對于每個三角面片,根據其面積和需要的總采樣點數,確定在該面片上的采樣點數:
37、
38、其中,aj是第j個面片的面積,atotal是模型的總表面積,ntotal是期望的總采樣點數;
39、步驟4.2,在每個面片上,使用隨機重心坐標法生成采樣點:
40、p=αv1+βv2+γv3????????(10)
41、其中,α、β、γ均不為0,且α+β+γ=1;
42、步驟4.3,對于每個頂點,計算其相鄰面片法向量的加權平均:
43、
44、其中,fi是與頂點相鄰的面片集合,nj是面片法向量;
45、步驟4.4,將每個法向量歸一化為單位向量:
46、
47、進一步,所述步驟5的向量神經元網絡將特征從標量擴展為向量,即每個特征維度都是一個向量:fα=[vα1,vα2,..,vαt],vαt∈r3;
48、其中,fα表示第α個特征向量;vαt表示特征向量fα在第t個維度上的向量值;
49、對于輸入向量v∈r3,計算其長度:
50、
51、其中,||v||表示任意輸入向量v的歐幾里得范數,即向量從原點到其終點的幾何距離;分別表示向量v的x、y、z方向上的分量的平方值;
52、然后,非線性激活函數作用于向量的長度,再乘以原向量的單位向量,表示為:
53、
54、其中,u表示激活后的向量;表示標量非線性激活函數relu;v表示任意輸入;
55、向量神經元網絡對輸入向量的每個分量應用非線性激活函數使向量獲得逐元素非線性(element-wiseactivation),計算公式如下:
56、
57、其中,t表示表示矩陣或向量的轉置;
58、向量神經元網絡通過旋轉矩陣r∈so(3),正交且行列式為1,對于任意輸入v,使其滿足:
59、f(rv)=rf(v)?????????(16)
60、保證旋轉等變性,即網絡在輸入發生旋轉時,輸出會以同樣的方式旋轉,保持輸出與輸入之間的幾何關系。
61、進一步,所述步驟5中向量神經元網絡模型包含輸入層(input?layer)、向量神經元特征提取層(vector?neuron?feature?extraction?layer)、特征聚合層(featureaggregation?layer)和匹配層(matching?layer),具體的訓練步驟如下:
62、步驟5.1,數據預處理:接收點云數據,每個點包含的坐標以及屬性(如顏色、法向量等),然后對數據進行整理(包括格式轉換和數據清洗);再對點云數據進行數據增強操作(如隨機旋轉、縮放、平移和添加噪聲)增強模型的泛化能力,最后將點云坐標歸一化到統一的坐標系或尺度范圍;
63、步驟5.2,特征提取:將預處理后的點云數據輸入到向量神經元網絡模型的輸入層,進行初始的特征映射;通過網絡中的向量卷積層,對每個點及其鄰域點進行特征提取,捕獲細粒度的幾何形狀和紋理信息;通過堆疊多個向量卷積層,使用殘差連接和跳躍連接,獲取不同尺度的特征表示;通過多層次的特征提取,將局部特征逐步升維,提取全局形狀特征;
64、步驟5.3,特征融合:將不同層次提取的特征通過特征聚合層進行融合,利用特征融合模塊整合局部與全局信息;引入注意力機制加權融合特征,增強對重要特征的關注,抑制噪聲影響,增強模型的判別能力;
65、步驟5.4,cad模型匹配:將融合后的點云特征與cad模型庫中的模型特征進行相似度計算,使用匹配誤差衡量匹配的準確性,選取最匹配的cad模型;基于損失函數,采用優化器更新模型權重參數,提高模型的匹配和對齊能力;
66、步驟5.5,匹配輸出:輸出前k個損失最小的cad模型作為目標點云的模型候選集合。
67、進一步,所述步驟5.4中的匹配誤差,包括chamfer距離損失、對稱性損失、殘差檢索損失和殘差正則化損失;所述步驟5.5中的匹配輸出是將步驟5.4中的chamfer距離損失、對稱性損失、殘差檢索損失和殘差正則化損失賦予不同的權重,共同衡量部分掃描和完整cad模型之間的相似度;最后輸出前k個匹配誤差最小的cad模型作為候選集合。
68、chamfer距離損失,用于衡量兩個點集之間的相似度;
69、給定源點集p和目標點集q:
70、
71、對稱性損失:
72、
73、其中,s(p)表示點p關于對稱軸或對稱面的對稱點。
74、殘差檢索損失,衡量模型預測與真實對齊之間的殘差損失:
75、lresidual=∑||tpred(p)-tgt(q)||2???????(19)
76、其中,tpred是預測的變換,tgt是真實的變換。
77、殘差正則化損失,用于防止過擬合:
78、
79、其中w表示網絡中的權重矩陣:
80、
81、||.||f表示frobenius范數,用于計算矩陣元素的平方和的平方根;將不同的損失函數加權綜合,形成總的損失函數l(匹配誤差),賦予其不同的權重,共同衡量目標點云(部分掃描)和源點云(完整cad模型)之間的相似度;
82、l=αlchamfer+βlsymmetry+γlresidual+δlregularization???(22)
83、其中,α,β,γ,δ是權重系數;最后輸出前km個匹配誤差最小的cad模型候選。
84、進一步,所述步驟6中基于局部特征描述子,對選定的cad模型進行尺寸調整和9dof姿態對齊,實現點云與cad模型的精確對齊具體是:
85、根據點云的特征(如中心點、法向量)和cad模型的對應特征,使用隨機采樣一致性ransac算法找到匹配的特征點對,采用迭代最近點(icp)算法,計算待匹配點云與cad模型之間的最佳剛性變換矩陣(包括平移、旋轉和縮放參數),對cad模型進行變換,使其與原始點云在空間上精確對齊。
86、進一步,所述步驟7的具體操作包括以下步驟:
87、步驟7.1,計算對齊后的模型與目標點云的均方根誤差(rmse)和對齊殘差,若誤差在閾值范圍內,則匹配成功;
88、步驟7.2,引入物理違規檢查模塊對精對齊后的場景進行物理違規性檢查;場景內物體間關系分為緊鄰關系和支撐關系;對于緊鄰關系,檢查相鄰物體的3d包圍盒是否交叉或重疊,如果存在交叉或重疊,則存在物理違規;同時使用啟發式方法檢測物體間的支撐關系,上層物體的下表面與下層物體的上表面距離小于一定閾值,接觸面面積大于一定閾值,并且接觸面的角度在預設范圍內,啟發式條件由經驗而設;
89、步驟7.3若對齊誤差超過閾值或者對齊后的模型存在物理違規則棄用當前模型,選擇下一模型候選,重復對齊和檢查過程,直到場景內所有物體都物理合規或候選集合耗盡。
90、與現有技術相比本發明具有以下優點:
91、1.提升場景重建的精度和完整性:通過引入向量神經元網絡,充分利用點云數據的幾何和紋理信息,增強了對旋轉變化和復雜場景的處理能力,有效解決了現有技術中重建精度不足的問題。
92、2.實現局部與全局特征的高效提取與融合:采用向量卷積層逐步提取局部和全局特征,并通過殘差連接、跳躍連接以及注意力機制對特征進行融合,增強了模型對重要特征的關注,抑制噪聲干擾,從而提高了特征的表達能力和判別能力。
93、3.支持復雜場景的多物體精確對齊:通過構建cad模型庫并結合粗匹配和精對齊步驟,利用ransac和icp算法實現多物體的9dof姿態對齊,確保點云與cad模型的空間精確匹配,提升了場景重建的精細度。
94、4.魯棒性強,適應多種復雜場景:通過數據增強(如隨機旋轉、縮放、平移等)和非線性激活函數的引入,增強了模型對旋轉、尺度變化及噪聲的魯棒性,適應多種復雜非結構化場景。
95、5.多損失函數聯合優化,匹配更準確:結合chamfer距離損失、對稱性損失和殘差檢索損失等多種損失函數,加權綜合衡量點云與cad模型的相似度,顯著提升了模型匹配的準確性。
96、6.物理違規檢查功能,確保場景合理性:引入物理違規檢查模塊,對重建場景進行物理合理性驗證(如緊鄰關系、支撐關系檢查),確保場景內物體間的排列符合物理規律,提升了場景的實際可用性。
97、7.高效的點云預處理與特征歸一化:通過濾波、去噪、下采樣和歸一化等預處理方法,減少了點云數據中的冗余和噪聲,優化了點云的分布和表示,為后續特征提取和匹配提供了高質量的輸入。
98、8.統一的cad模型標準化處理:對cad模型進行離散化、主軸對齊、歸一化等處理,確保模型庫中的數據一致性,為高效匹配和對齊奠定基礎。
99、9.高效的訓練與推理:通過向量神經元網絡的設計優化,結合特征聚合和注意力機制,提升了模型的訓練效率和推理速度,適合大規模場景重建任務。