萬 杰,廖燕俊,朱映韜,羅承明,陳 建,2*
(1.福州大學 先進制造學院,福建 泉州 362200;2.福州大學 物理與信息工程學院,福建 福州 350116)
動態點云[1]能準確表達三維空間位置關系,相較于二維影像,在目標檢測、姿態跟蹤、虛擬現實(Virtual Reality,VR)[2]、增強現實(Augmented Reality,AR)[3]以及三維場景可視化等方面具有更好的表現,因此在視頻監控領域具有廣闊應用前景?;诖?,本文實現了一種基于動態點云的三維監控與壓縮系統。該系統以雙目相機作為三維點云獲取設備,以NVIDIA 公司的Jetson Nano 作為壓縮編碼的處理器,以個人計算機作為遠程監控終端,將所提出的改進的動態點云編解碼框架[4]嵌入三維視頻監控系統中,實現了動態點云的獲取、呈現、壓縮與傳輸的完整系統流程,為3D 目標監控、3D 遠程會議和AR/VR 等新興智能產業提供一定的學術參考和應用實例。本文的主要貢獻如下。第一,實現了一種基于動態點云的三維監控與壓縮系統,實現了三維監控場景下點云數據的獲取、預處理、呈現以及壓縮存儲的整個流程。第二,提出了一種針對監控場景的視頻點云編碼方法,基于監控場景動靜特性,對點云幀進行前景動態目標識別并使用改進的幀間壓縮算法進行編碼,而后對背景點云計算幀間誤差實現選擇性編碼,實現了對3D 監控視頻的高效壓縮和存儲。
本文以雙目相機為核心硬件,以提出的適用于監控場景的改進動態點云編碼器為編碼方式,配合當前點云處理中經典的三維獲取和預處理技術[5],共同實現對三維場景的實時監控與動態點云視頻的壓縮存儲。圖1 展示了系統采集與編碼端的整體框架,分為以下步驟。

圖1 基于動態點云的三維監控與壓縮系統編碼框架
步驟一,點云數據的獲取。通過雙目相機的雙紅綠藍(Red Green Blue,RGB)攝像頭進行二維圖像采集,之后依據三角測量原理進行深度信息計算,實現從二維視頻到三維動態點云視頻的生成。
步驟二,對獲取點云數據的預處理。在實驗中發現,雙目相機噪點以離散、隨機的方式出現于物體邊緣和前后景空隙處,采用基于統計學的離群點去除方法[6]對原始點云去噪。
步驟三,對預處理點云數據的可視化。去噪后的點云序列分為兩個路徑,先是通過ZED 公司提供的可視化接口在監控前臺進行實時可視化展示,實現監控環境的三維監視效果。
步驟四,對點云數據的壓縮編碼。對點云序列進行前后景分割,得到監控背景和監控前景兩個不同性質的點云序列。前景點云被認為是存在運動變化的監控主體,選擇所提出的基于視頻的點云壓縮標準(Video-based Point Cloud Compression,V-PCC)[7]改進算法進行編碼。而背景點云被認為是幾乎不存在運動的非主體靜態對象,通過幀間變化程度判定以選擇是否需要進一步編碼。對于變化不大的幀間背景點云進行舍棄,由前幀復用實現完整的監控場景重構;對于存在足夠差異的背景點云,通過點云庫中的八叉樹編碼進行編碼。
對于編碼后的點云數據,需要通過解碼重構才能進行回放,解碼重構流程如圖2所示。由圖2可知,本文的解碼框架可以理解為編碼的逆過程。

圖2 基于動態點云的三維監控與壓縮系統解碼框架
本文的基于動態點云的三維監控與壓縮系統中,采用的硬件如圖3 所示,通過ZED 軟件開發工具包(Software Development Kit,SDK)創建InitParameters 對象對關鍵信息初始化,實現基于雙目相機的三維點云數據的獲取功能。

圖3 系統搭建所涉及的硬件
圖4 展示了室內測試場景下系統采集到的點云示例??梢杂^察到,直接捕獲的點云數據存在一定噪點。這些點是由于采集過程中受限于視角差、光線、振動等外界客觀因素,導致三維構建中目標的邊緣可能存在深度信息估計不精準的問題。

圖4 雙目相機獲取的點云示例圖
在噪聲濾波階段,所采用的算法為統計學濾波算法。雙目相機采集得到的三維點云中,各點相較于k個鄰近點間的距離在一定領域內大致服從高斯分布,可用概率密度函數表示為
式中:xi為點云第i個點在當前鄰域k個鄰近點的平均距離,μ為距離均值,σ為標準差。
由于離群點噪聲分布相對稀疏,因此通過遍歷點及鄰近區域點的平均距離來確定。對于當前幀點云P共有n個點,遍歷每個pi點,其中(xi,yi,zi)為該點幾何坐標,之后建立KD 樹查找最近的k個點計算平均距離di;依據設定的離群點閾值D,將平均值超過該閾值的點去除,在算法中D=μ±ασ,α為標準差倍數,平均距離與標準差的計算公式為
對采集點云使用不同k與α進行多次測試后去噪的比較,經多次實驗,當取k=16、α=0.5 時,在圖5 的主觀視圖中取得最佳的降噪結果。該參數下實現了3.99%的去噪比,盡管隨著參數的進一步提升能實現更高的去噪比例,但會導致過度濾波。因此,本文均以k=16、α=0.5 作為運行時的濾波參數。

圖5 不同k 與α 參數下的濾波效果圖
雙目相機采集動態點云序列后,需傳輸和存儲大量的監控數據。以使用的1 080 分辨率、30 f·s-1的采集率為例,每幀動態點云序列包含兩百余萬點,大約需要80 MB 空間存儲,1 min 的錄制信息需要上百吉字節存儲空間,因而必須進行相關壓縮編碼處理以節省存儲消耗。本文提出了一種基于深度信息的動靜分割方法,實現了監控目標與背景的輕便分離。
進行前后景點云分割的目的在于依據點云特性采用相對應的編碼方式進行編碼。其中,前景為存在運動變化的監控主體目標,采用提出的V-PCC改進算法進行動態點云的編碼,減少幀間信息冗余性。其中,為實現改進算法的應用以提高幀間編碼性能,需對監控前景進行尺度轉換使其滿足編碼要求,并在解碼后與背景點云融合。圖6 給出了尺度轉換的步驟。

圖6 適用于改進V-PCC 編碼的尺度變換步驟圖
背景點云是幾乎不存在運動的非主體如墻面、固定物體等靜態對象。本文中,通過對當前幀背景與上一個需要編碼的背景點云進行幾何相似度判定,以確定當前幀中的背景信息是否存在明顯變化,若誤差較大,則舍棄。幀間誤差的判定方式為
式中:cur 為當前待判定背景點云幀,ref 為上一個需要進行編碼的背景點云幀,表示cur 與ref 兩幀間的幾何誤差,Φ為背景編碼判定閾值。
當CNeedCode值為1,表示幀間差異較大,應當保留當前背景點云;CNeedCode值為0 時則可舍棄。由于采集到的背景點云依舊存在較多孔隙及離散區域,無法適用于提出的V-PCC 改進算法。因此,通過引入PCL 庫中的八叉樹編碼進行背景點云的壓縮。
為測試提出的三維監控與壓縮系統的點云質量和壓縮性能,首先與標準數據集進行主觀對比,衡量三維點云質量。之后,與動態圖像專家組(Moving Pictures Experts Group,MPEG)提出的V-PCC 標準進行對比,以分析提出的基于三維監控場景的基于V-PCC 改進的壓縮算法在實際應用中的性能表現。
圖7 以MPEG 點云壓縮標準推薦的8iVSLF 數據集中的Red and Black 模型為例,將其與室內監控下捕獲的前景點云人物進行細節對比,采集到的點云具有較為豐富的細節。

圖7 實驗前景點云相較于8iVSLF 數據集點云細節對比圖
在針對前景點云序列進行性能分析的實驗中,選取30 幀實際場景采集的動態點云作為測試數據展開測試。觀察圖8 展示的針對幾何D1屬性Luma的峰值信噪比(Peak Signal to Noise Ratio,PSNR)增益曲線,提出的改進算法在前景點云的編碼中,相較于V-PCC 在不同量化等級中均實現了性能增益。進一步分析可發現,幾何D1在各分量的增益曲線相較于屬性Luma 的改善較小,原因在于雙目相機對幀間光線變化敏感,使得屬性信息在幀間差異相較于幾何信息變化較大。

圖8 改進算法的BD-PSNR 曲線圖(相較于V-PCC)
進一步地,針對幾何與屬性,與V-PCC 進行比較,平均BD-BR 負增益的實驗結果如表1 所示。

表1 壓縮平均BD-BR 增益表
為了對所提出的動態點云監控與壓縮系統在編碼壓縮中對于存儲空間的節省程度,在此選取了室內監控場景中的30 幀實時監控數據進行測試。其中,在背景點云編碼中需盡可能實現與前景動態點云R1~R5相匹配的碼率控制量化參數,因此通過對式(4)中背景編碼判定閾值Φ參數進行背景點是否進行編碼的誤差設置,以調整編碼與丟棄的背景點云幀比例來改變不同碼率下編碼碼流的高低。其中,Φ參數的設置分別從R1至R5取3.0、2.5、2.0、1.5、1.0 展開壓縮性能測試實驗。整體壓縮性能如表2 所示。

表2 各量化等級下的壓縮性能統計表
觀察表2 可發現,在最低量化等級R1下,相較于原始數據僅需1.1%的存儲空間,盡管隨著量化等級提升壓縮性能隨之下降,但在最高量化等級R5中,依舊取得了10.1%的壓縮率。該結果表明,所提出的基于動態點云的三維監控與壓縮系統在整體壓縮性能的測試中實現了較好的表現,具備應用前景。
本文以雙目相機作為采集設備,以提出的自適應分割的視頻點云幀間編碼方法作為編碼手段,結合PCL 點云庫中的經典點云壓縮方法共同設計實現了一個基于動態點云的三維監控與壓縮系統,完整實現了從雙目相機的動態點云數據獲取、預處理到應用改進幀間編碼器實現壓縮的整個系統框架流程。在系統實現中,提出的根據監控場景特點靈活應用不同編碼方式,實現了編碼比特消耗的節省。經過主觀對比與客觀誤差分析驗證,所提出的系統在點云錄制質量與編碼性能上均達到了理想效果,符合低成本下實現動態點云獲取與編碼的設計目標,具備落地應用前景。