李彥平,張 璐
(山西農業大學信息學院,山西 太谷 030800)
室內空間布局的仿真對于提高人們生活質量方面發揮著巨大的作用,這是因為人們87%~90%的時間都生活在室內。室內空間特征布局仿真一直是相關學者研究的重點[1]。常規手段上,室內空間特征布局可以通過三維激光掃描儀或者傳感器來完成,但是由于其聚類效果不佳,整體偏差達不到理想要求,導致數據精度較低。隨著Kinect傳感器的推出,對傳統的室內空間特征多層次布局仿真產生了一定的沖擊[2-4]。Kinect傳感器能夠以一定的頻率獲取室內場景的空間信息,同時以高分辨率輸出RGB圖像和紅外深度圖像[5]。在室內三維地圖構建、室內空間仿真等研究領域中,Kinect設備的使用,能夠幫助空間更好、更快速地建立,不僅使Kinect傳感器得到了深入研究,而且使得空間重建等技術得到了更好的發展[6]。
在國內外研究中,室內空間特征多層次布局仿真方法更多的是為了提高收斂度和效率,但是精度不足。文獻[7]提出了基于差異演化法的建筑空間布局規劃方法,通過構建參數化snake曲線,得到建筑邊緣的內部能量和外部能量。利用能量等函數,計算出邊緣輪廓的變異概率和交叉概率,獲取最大迭代次數,對高層建筑外部邊緣空間布局進行了合理規劃。該方法具有較強的收斂性,但是總體精度不足。文獻[8]提出了基于輸出結構模型的空間布局仿真方法,通過具有語義約束的多標簽圖割對非結構化點云進行全自動房間分割,將具有單個房間的點云的水平切片投影到平面上以形成二進制圖像,進行線提取和正則化以生成平面圖線,最后通過多標簽圖形切割構建出結構化模型,利用該模型進行室內空間布局,該方法在室內布局中有較高的效率,但是準確性仍然不足。
這兩種仿真方法雖然已經比較成熟,但是面對復雜的空間結構,很難在保證空間布局合理的同時保證數據精度[9]。因此,提出基于Kinect的室內空間特征多層次布局仿真,解決上述傳統仿真方法中存在的精度差的問題。
使用Kinect獲取空間點云數據,Kinect在進行場景掃描時,由于遮擋或光線原因,可能存在數據缺失的情況,一般情況下是一些掃描不到的位置或掃描角度不正確。因此在掃描過程中需要調整Kinect設備的位置和角度,以Kinect為中心,建立局部坐標系,在此坐標系的支持下,采集室內空間數據。
Kinect設備在數據采集過程中,主要器件是深度攝像頭,該攝像頭采用光編碼技術,主要利用深度傳感器來采集室內空間位置信息,其內部將深度距離通過13位的二進制數表示[10]。假設從Kinect設備中采集到的深度圖中的單個像素顏色信息是參數ξ,為16位數據。根據SDK文檔中對像素信息的描述,在深度圖像像素信息中,包含深度信息的是數據中的前13位,包含用戶索引的是數據中的后3位[11]。當獲取到Kinect的原始深度數據后,對獲得的顏色信息和用戶ID進行分割,保證數據前13位不變,后3位歸0。經過SDK內部處理后,通過Kinect設備可以得到的0-4095之間的深度數據。一般情況下,將Kinect的原始數據右移三位就是獲得當前像素的深度信息,這種深度信息反映了該像素點的真實世界距離。
通過Kinect采集的數據存在部分待修復區域,這種區域是空洞區域、監測不到的區域和影子區域,針對不同的區域,采用相對應的修復措施,得到較完整的深度數據。修復完成的數據不能直接使用在仿真模型建立中,因為在修復過程中會使圖像邊緣處出現一些深度連續的噪點,需要使用濾波器處理點云數據,將數據中的噪聲去除掉,在完成濾波處理后,使用點云數據建立室內空間特征集合模型。
通過以上過程獲得的空間數據主要通過深度圖像的形式展示出來,深度圖像是二維圖,考慮到空間特征主要由三維數據組成,在獲取室內空間深度圖像時,需要將深度圖轉換成真實世界中的三維空間點的關系。Kinect內部存在自動校正功能,能夠實時校正深度和彩色攝像頭,因此建立空間特征幾何仿真模型的過程其實就是完成空間點到圖像平面的投影。為了定量描述幾何模型的建立過程,分別建立世界坐標系、攝像機坐標系、圖像像素坐標系和物理坐標系[12]。如圖1所示。

圖1 攝像機成像模型
圖中顯示的(Os-XsYsZs)表示的是攝像機坐標系,(O1-xy)表示物理坐標系,(O0-X0Y0Z0)是世界坐標系, (O′-ab)表示圖像像素坐標系。在圖像像素坐標系下,每一個點的坐標都用以像素為單位的(a,b)來表示;在攝像機坐標系下,Zs表示攝像機光軸,Os原點為攝像機光心。默認O1在像素坐標中的坐標為(a0,b0),O1即是圖像的中心點,又是物理坐標系的原點。x和y軸分別平行于攝像機坐標系Xs、Ys。世界坐標系下物點W在攝像機坐標系下的坐標是W(Xs,Ys,Zs),在仿真模型下的物理坐標系是wb(xb,yb)。假設通過Kinect獲得的圖像像素在a方向的物理尺寸是lx,在b方向上的物理尺寸分別是ly,由此可知,圖像像素坐標系和物理坐標系的轉換關系如式(1)、式(2)

(1)

(2)
世界坐標系和攝像機坐標系的轉換關系如式(3)

(3)
式中Q表示3×3的旋轉矩陣,T表示平移向量。在理想狀況下,仿真模型下透視投影變換就是攝像機坐標系到物理坐標系的變化,其變換關系為

(4)

(5)
式中g表示轉換向量,根據各坐標系之間的對應關系,得到物點w在世界坐標系與圖像像素坐標系之間的轉換關系,在計算過程中,將攝像機坐標系作為世界坐標系,得到Kinect數據中目標點對應的世界坐標系上的值,最終得到的Xs,Ys,Zs值為

(6)
式中α、β、a0和b0表示攝像機內部參數,利用式(6)即可完成深度圖像像素點坐標到空間點三維坐標的轉換,該坐標系以Kinect傳感器作為世界坐標系原點。通過這種轉換即可獲得與室內空間深度圖像相對應的仿真模型。
采用遺傳算法求解室內空間特征多層次布局仿真模型,將空間特征多層次仿真模型作為種群,對種群進行初始化處理,通過式(7)計算出在整個種群中不同個體的適應度f(i)
(7)
式中K表示常數,Ui表示室內空間特征多層次布局策略,常數的引入是為了避免函數值的倒數與零接近。計算完成后,采用賭輪和精英個體保存策略完成遺傳算子的選擇,選擇適應度比較高的個體。假設vi表示在種群適應度中個體被選中的概率,計算公式為
vi=f(i)∑i=1f(i)
(8)
假設Ri表示的是種群適應度中個體的累積概率,其計算公式為
Ri=∑j=1vi
(9)
結合式(8)和式(9)選擇合適的遺傳個體。假設vc表示的是交叉概率,其計算公式為
(10)

在室內空間特征多層次布局實驗研究在Windows系統下,結合開源的第三方資源庫PCL進行實驗研究。 PCL架構如圖2所示。

圖2 PCL架構圖
實驗主要在室內進行,對于提出的仿真方法,使用Kinect獲得不同方位下的點云圖像,采用逐次兩兩配準的方式獲得點云數據。在實驗前,對數據進行配準,基于全局坐標系和某固定數據視角,對不同方位的點云數據進行配準,獲得完整的仿真數據,使用這些仿真數據進行實驗研究。
實驗中主要以對比實驗為主,對于另外兩種仿真方法,使用激光掃描技術,以非接觸式測量方式來獲取空間多種精度、多層次的仿真信息。主要采用的激光掃描儀是FARO LSF 130,其最大掃面速度為5820rpm或97Hz,最高分辨率在10米距離的水平點間距可以達到0.9mm,測距范圍為153.94m,在實驗中結合FARO Scene軟件處理相關數據。
實驗中使用文獻[7]方法及文獻[8]方法作為對比方法,對仿真方法的數據精度進行驗證,實驗分為兩項,分別是仿真模型整體偏差實驗和空間特征數據聚類實驗,根據這兩組實驗結果對比分析仿真方法的實際性能。
在偏差實驗中,設定一個測量點位坐標作為參考,測量點位坐標原理如圖3所示。

圖3 測量點位坐標原理
使用式(11)計算三維坐標。

(11)
根據計算式(11)即可計算出待測點坐標分量誤差和點位誤差,具體計算過程如式(12)和式(13)

(12)

(13)
式中wy表示待測點在y方向的點位誤差分量,wo表示待測點點位中誤差,wx表示待測點在x方向的點位誤差分量,wz表示待測點在z方向的點位誤差分量,wα表示豎直測角中誤差,ws表示測距中位差,wφ表示水平角測角中誤差。根據以上計算過程,計算不同空間布局仿真方法的仿真模型整體偏差。具體實驗結果如表1所示。

表1 仿真模型整體偏差計算結果
觀察表中結果可以看出,不同的空間布局仿真方法在實驗區域內的點云數據相差并不大,對于計算的偏差影響不大。實驗結果中基于差異演化法的空間布局仿真方法偏差主要集中在-7.025~5.526范圍內,占全部的81.26%;基于輸出結構模型的空間布局仿真方法偏差主要集中在-5.506~3.264之間,占全部的78.52%;提出的基于Kinect的空間布局仿真方法偏差主要集中在-0.536~0.327范圍內,占全部的92.94%:綜上所述,提出的仿真方法偏差主要集中在極小的范圍內,在其它范圍內存在較大偏差的可能性極小,提出的基于Kinect的室內空間多層次布局仿真方法準確度更高。
在空間特征數據聚類實驗中,主要是驗證不同仿真方法的數據的精度,數據聚類效果越好,其數據精度越高,對仿真過程的負擔越小,仿真結果越可靠;反之,數據聚類效果越差、數據精度越低,仿真結果可靠性差。使用第三方軟件輸出仿真數據聚類結果,依據結果對比分析不同的仿真方法,具體結果如圖4-6所示。

圖4 差異演化法的空間布局方針方法實驗結果
對比觀察圖中結果可以看出,基于差異演化法的空間布局方針方法不同特性數據之間雜糅在一起,沒有明顯的分割邊界;基于基于輸出結構模型的空間布局仿真方法各個不同不同特性的數據之間分散比較明顯,但是數據比較散亂并不集中;基于Kinect的空間布局仿真方法中不同特性數據聚類明顯,沒有雜糅的情況。結合仿真模型整體偏差實驗結果可知,提出的基于Kinect的室內空間特征多層次布局仿真方法仿真模型整體偏差小、數據聚類效果好,其數據精度高,該方法優于傳統的仿真方法。

圖5 基于輸出結構模型的空間布局仿真方法實驗結果

圖6 基于Kinect的空間布局仿真方法實驗結果
圍繞室內空間特征多層次布局展開深入研究,在原有的文獻資料的支持下,提出基于Kinect的室內空間特征多層次布局仿真,在完成整體仿真后,通過多項對比實驗驗證了提出的仿真方法具有更高的數據精度。雖然本文完成了室內空間特征多層次布局仿真,但是受到時間的限制,很多想法未來得及實現,在后續研究中將繼續深入和完善空間特征布局仿真。