一種基于深度視頻的3d場景生成方法
【專利摘要】本發(fā)明公開了一種基于深度視頻的3D場景生成方法,包括以下步驟:S1、使用深度攝像機采集深度視頻和彩色視頻數據,并進行濾除處理;S2、結合平面坐標和深度值將所述經過濾除處理的深度視頻轉換為三維點云數據,再根據所述三維點云數據建立場景模型;S3、從所述經過濾除處理的彩色視頻數據中獲取所述三維點云數據中每個點對應的顏色,并應用于所述場景模型之中,得到彩色場景模型;S4、將所述彩色場景模型的數據轉換為3D文件格式,所述轉換之后的文件即為生成的3D場景文件。該方法產生的場景逼真、自然,建模方便高效,繪制時計算量和存儲量小,更適合于實時建模和繪制。
【專利說明】一種基于深度視頻的3D場景生成方法
【技術領域】
[0001]本發(fā)明涉及計算機圖形圖像處理領域,尤其涉及一種基于深度視頻的3D場景生成方法。
【背景技術】
[0002]長期以來,計算機工作者都在追求使用計算機構造逼真的虛擬三維場景,而且三維場景建模一直以來都是計算機圖形圖像處理中最活躍的研究領域之一。
[0003]
[0004]在傳統(tǒng)的場景建模中,通常采用基于幾何的建模方法。這種方法通常使用現(xiàn)有的三維建模軟件以人工的方式進行場景建模,主要通過三維模型的疊加來構造場景,其構建的場景有較高的精度,完備的模型描述和良好的交互。但缺點也很突出,那就是人機交互的工作量十分巨大,進而導致建模的效率低下;也很容易由于人為的因素導致場景模型的真實性大打折扣。隨著虛擬三維場景應用領域的不斷拓展,需要展現(xiàn)的三維場景的復雜度也是越來越高,隨之越來越高的是對建模效率和精度的要求。傳統(tǒng)的建模方式面臨的是更加巨大的工作量,這就對傳統(tǒng)的基于幾何的場景建模提出了巨大的挑戰(zhàn)。一方面,使用傳統(tǒng)場景建模方法無法應對工作量巨大的大規(guī)模復雜場景建模工作;另一方面,復雜的三維場景構建完成后,需要耗費大量的計算和海量的存儲,因此這種方法對計算機硬件的性能有很高的依賴,特別是如今在虛擬現(xiàn)實和互聯(lián)網等領域中很多情況下都要求實時繪制的要求下,傳統(tǒng)的基于幾何的場景建模面臨著巨大的挑戰(zhàn)。
【發(fā)明內容】
[0005]本發(fā)明所要解決的技術問題在于,提供一種基于深度視頻的3D場景生成方法,該方法產生的場景逼真、自然,建模方便高效,繪制時計算量和存儲量小,更適合于實時建模和繪制。
[0006]為了解決上述技術問題,本發(fā)明提供了一種基于深度視頻的3D場景生成方法,包括以下步驟:
[0007]S1、使用深度攝像機采集深度視頻和彩色視頻數據,并進行濾除處理;
[0008]S2、結合平面坐標和深度值將所述經過濾除處理的深度視頻轉換為三維點云數據,再根據所述三維點云數據建立場景模型;
[0009]S3、從所述經過濾除處理的彩色視頻數據中獲取所述三維點云數據中每個點對應的顏色,并應用于所述場景模型之中,得到彩色場景模型;
[0010]S4、將所述彩色場景模型的數據轉換為3D文件格式,所述轉換之后的文件即為生成的3D場景文件。
[0011]具體的,所述步驟SI包括以下步驟:
[0012]S11、使用所述深度攝像機采集深度視頻和彩色視頻數據;
[0013]S12、讀取所述深度攝像機采集的所述深度視頻和彩色視頻數據的視頻流;[0014]S13、讀取所述深度攝像機采集的所述深度視頻和彩色視頻的每一幀圖像的詳細信息,并根據所述每一幀圖像的詳細信息濾除所述深度視頻和彩色視頻的部分圖像。
[0015]具體的,所述步驟S2包括以下步驟:
[0016]S21、結合平面坐標和深度值將所述經過濾除處理的深度視頻的每幀圖像轉換為三維點云數據;
[0017]S22、將所述每幀圖像的三維點云數據進行配準,以得到相應位置上的多個三維點云數據的并集;
[0018]S23、對配準后的三維點云數據進行壓縮處理,從而得到所有點的三維坐標和法向量以用于場景建模,進而得到所述場景模型。
[0019]進一步的,所述步驟S2還包括以下步驟:
[0020]S24、當深度視頻數據更新時,則重復執(zhí)行步驟S21、S22、S23。
[0021]具體的,所述步驟S4包括以下步驟:
[0022]S31、從所述彩色場景模型中獲得當前場景的幾何形體,并變形為模型形狀,再導出當前場景的模型形狀的網格信息;
[0023]S32、從所述網格信息中提取出所述場景模型的頂點數據、頂點向量數據和三角面索引數據,并寫入到所述彩色場景模型的數據文件中;
[0024]S33、將所述彩色場景模型的數據文件進行壓縮處理;
[0025]S34、將所述壓縮后的彩色場景模型的數據文件轉換為3D文件格式,從而得到所述3D場景文件。
[0026]其中,所述深度攝像機優(yōu)選使用Kinect深度攝像機。
[0027]其中,所述步驟S3中優(yōu)選使用Kinect API獲取所述三維點云數據中每個點對應的顏色。
[0028]其中,所述3D文件格式為3Dmax解釋的文件或Maya可解釋的文件或通用3D文件。
[0029]其中,所述步驟S33中所述的壓縮處理具體為:將大數據量的*.0bj文件壓縮為OSG專用的二進制模型文件*.1ve文件。
[0030]實施本發(fā)明,具有如下有益效果:針對包括采用三維建模在內的基于幾何的場景建模方法的不足,本發(fā)明研發(fā)的基于深度視頻的3D場景模擬方法,能夠實時的根據景深攝像頭獲取的視頻快速建模出真實場景的3D再現(xiàn),讓場景建模成為一件簡單的事情:只需拿著攝像頭,連續(xù)獲取場景的深度信息,即可建模出場景的模型。由于它直接以從真實場景獲得的圖像為基礎生成虛擬場景,因而它產生的場景更加逼真、自然。與基于幾何的建模及其繪制相比,基于圖像的建模具有以下突出的優(yōu)點:它避免了復雜的幾何曲面造型和繁冗的人工操作,建模方便高效、構建的模型真實感效果好,繪制時計算量和存儲量相比而言要小得多,因而繪制速度快,對計算機硬件的性能要求不高,適合于實時建模和繪制。
【專利附圖】
【附圖說明】
[0031]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。[0032]圖1是本發(fā)明實施例提供的基于深度視頻的3D場景生成方法的流程示意圖;
[0033]圖2是圖1中步驟SI的具體流程示意圖;
[0034]圖3是圖1中步驟S2的具體流程示意圖;
[0035]圖4是圖1中步驟S4的具體流程示意圖。
【具體實施方式】
[0036]下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0037]本發(fā)明實施例提供了一種基于深度視頻的3D場景生成方法,如圖1所示,包括以下步驟:
[0038]S1、使用深度攝像機采集深度視頻和彩色視頻數據,并進行濾除處理;
[0039]S2、結合平面坐標和深度值將所述經過濾除處理的深度視頻轉換為三維點云數據,再根據所述三維點云數據建立場景模型;
[0040]S3、從所述經過濾除處理的彩色視頻數據中獲取所述三維點云數據中每個點對應的顏色,并應用于所述場景模型之中,得到彩色場景模型;
[0041]S4、將所述彩色場景模型的數據轉換為3D文件格式,所述轉換之后的文件即為生成的3D場景文件。
[0042]具體的,如圖2所示,所述步驟SI包括以下步驟:
[0043]S11、使用所述深度攝像機采集深度視頻和彩色視頻數據;
[0044]S12、讀取所述深度攝像機采集的所述深度視頻和彩色視頻數據的視頻流;
[0045]S13、讀取所述深度攝像機采集的所述深度視頻和彩色視頻的每一幀圖像的詳細信息,并根據所述每一幀圖像的詳細信息濾除所述深度視頻和彩色視頻的部分圖像。
[0046]為視頻流中圖像產生的速度大約是每秒30幀,但是點云匹配算法是需要遍歷點云中所有點進行的,在每秒30張深度圖這樣大的數據量下,處理效率將會很低下,因此步驟S13將部分圖像直接過濾掉,減輕后序算法的壓力。
[0047]步驟S12在具體實現(xiàn)中,每當接收到一幀新的彩色圖像數據/深度圖像數據時,需要將圖像數據保存到數組中,并啟動一個新線程異步對當前的彩色圖像數據進行圖像處理;所述圖像處理就是將當前圖片的像素數據繪制到用戶界面的位圖當中。
[0048]具體的,如圖3所示,所述步驟S2包括以下步驟:
[0049]S21、結合平面坐標和深度值將所述經過濾除處理的深度視頻的每幀圖像轉換為三維點云數據;
[0050]S22、將所述每幀圖像的三維點云數據進行配準,以得到相應位置上的多個三維點云數據的并集;
[0051]S23、對配準后的三維點云數據進行壓縮處理,從而得到所有點的三維坐標和法向量以用于場景建模,進而得到所述場景模型。
[0052]在前后多幀圖像中,是有很大部分的圖像信息是重復的,因此步驟S23對點云數據進行壓縮處理。[0053]進一步的,所述步驟S2還包括以下步驟:
[0054]S24、當深度視頻數據更新時,則重復執(zhí)行步驟S21、S22、S23。執(zhí)行本步驟是因為隨著視頻的一直錄制,深度視頻就會不斷更新,因此需要重復操作以獲得更加完整的場景。
[0055]具體的,如圖4所示,所述步驟S4包括以下步驟:
[0056]S31、從所述彩色場景模型中獲得當前場景的幾何形體,并變形為模型形狀,再導出當前場景的模型形狀的網格信息;
[0057]S32、從所述網格信息中提取出所述場景模型的頂點數據、頂點向量數據和三角面索引數據,并寫入到所述彩色場景模型的數據文件中;
[0058]S33、將所述彩色場景模型的數據文件進行壓縮處理;
[0059]S34、將所述壓縮后的彩色場景模型的數據文件轉換為3D文件格式,從而得到所述3D場景文件。
[0060]在程序中,所述場景模型的頂點數據、頂點向量數據和三角面索引數據三組數據具體為:
[0061]var vertices=mesh.GetVertices ();
[0062]var normals=mesh.GetNormals ();
[0063]var indices=mesh.GetTriangleIndexes();
[0064]其中,所述深度攝像機優(yōu)選使用Kinect深度攝像機。
[0065]其中,所述步驟S3中優(yōu)選使用Kinect API獲取所述三維點云數據中每個點對應的顏色。
[0066]其中,所述3D文件格式為3Dmax解釋的文件或Maya可解釋的文件或通用3D文件。
[0067]其中,所述步驟S33中所述的壓縮處理具體為:將大數據量的*.0bj文件壓縮為OSG專用的二進制模型文件*.1ve文件。*.0bj文件是ASCII編碼的文本可讀格式,通常一個細致的場景掃描下來生成的數據文件都比較大,達到百兆的級別,因此這里除了數據導出之外,還需要進行一步壓縮的工作。壓縮是為了后續(xù)的場景管理器能夠快速讀取建模的文件,而壓縮的同時也保留了原有的場景數據文件,保證精度和效率都能夠達到最優(yōu)。
[0068]實施本發(fā)明,具有如下有益效果:針對包括采用三維建模在內的基于幾何的場景建模方法的不足,本發(fā)明研發(fā)的基于深度視頻的3D場景模擬方法,能夠實時的根據景深攝像頭獲取的視頻快速建模出真實場景的3D再現(xiàn),讓場景建模成為一件簡單的事情:只需拿著攝像頭,連續(xù)獲取場景的深度信息,即可建模出場景的模型。由于它直接以從真實場景獲得的圖像為基礎生成虛擬場景,因而它產生的場景更加逼真、自然。與基于幾何的建模及其繪制相比,基于圖像的建模具有以下突出的優(yōu)點:它避免了復雜的幾何曲面造型和繁冗的人工操作,建模方便高效、構建的模型真實感效果好,繪制時計算量和存儲量相比而言要小得多,因而繪制速度快,對計算機硬件的性能要求不高,適合于實時建模和繪制。
[0069]以上所揭露的僅為本發(fā)明一種較佳實施例而已,當然不能以此來限定本發(fā)明之權利范圍,因此依本發(fā)明權利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。
【權利要求】
1.一種基于深度視頻的3D場景生成方法,其特征在于,包括以下步驟: 51、使用深度攝像機采集深度視頻和彩色視頻數據,并進行濾除處理; 52、結合平面坐標和深度值將所述經過濾除處理的深度視頻轉換為三維點云數據,再根據所述三維點云數據建立場景模型; 53、從所述經過濾除處理的彩色視頻數據中獲取所述三維點云數據中每個點對應的顏色,并應用于所述場景模型之中,得到彩色場景模型; 54、將所述彩色場景模型的數據轉換為3D文件格式,所述轉換之后的文件即為生成的3D場景文件。
2.如權利要求1所述的基于深度視頻的3D場景生成方法,其特征在于,所述步驟SI具體包括以下步驟: 511、使用所述深度攝像機采集深度視頻和彩色視頻數據; 512、讀取所述深度攝像機采集的所述深度視頻和彩色視頻數據的視頻流; 513、讀取所述深度攝像機采集的所述深度視頻和彩色視頻的每一幀圖像的詳細信息,并根據所述每一幀圖像的詳細信息濾除所述深度視頻和彩色視頻的部分圖像。
3.如權利要求1所述的基于深度視頻的3D場景生成方法,其特征在于,所述步驟S2具體包括以下步驟: 521、結合平面坐標和深度值將所述經過濾除處理的深度視頻的每幀圖像轉換為三維點云數據; 522、將所述每幀圖像的三維點云數據進行配準,以得到相應位置上的多個三維點云數據的并集; 523、對配準后的三維點云數據進行壓縮處理,從而得到所有點的三維坐標和法向量以用于場景建模,進而得到所述場景模型。
4.如權利要求3所述的基于深度視頻的3D場景生成方法,其特征在于,所述步驟S2還包括以下步驟: 524、當深度視頻數據更新時,則重復執(zhí)行步驟S21、S22、S23。
5.如權利要求1所述的基于深度視頻的3D場景生成方法,其特征在于,所述步驟S4具體包括以下步驟: 531、從所述彩色場景模型中獲得當前場景的幾何形體,并變形為模型形狀,再導出當前場景的模型形狀的網格信息; 532、從所述網格信息中提取出所述場景模型的頂點數據、頂點向量數據和三角面索引數據,并寫入到所述彩色場景模型的數據文件中; 533、將所述彩色場景模型的數據文件進行壓縮處理; 534、將所述壓縮后的彩色場景模型的數據文件轉換為3D文件格式,從而得到所述3D場景文件。
6.如權利要求1所述的基于深度視頻的3D場景生成方法,其特征在于,所述深度攝像機優(yōu)選使用Kinect深度攝像機。
7.如權利要求1所述的基于深度視頻的3D場景生成方法,其特征在于,所述步驟S3中優(yōu)選使用Kinect API獲取所述三維點云數據中每個點對應的顏色。
8.如權利要求1所述的基于深度視頻的3D場景生成方法,其特征在于,所述3D文件格式為3Dmax解釋的文件或Maya可解釋的文件或通用3D文件。
9.如權利要求5所 述的基于深度視頻的3D場景生成方法,其特征在于,所述步驟S33中所述的壓縮處理具體為:將大數據量的*.0bj文件壓縮為OSG專用的二進制模型文件*.1ve文件。
【文檔編號】G06T17/00GK104008569SQ201410062236
【公開日】2014年8月27日 申請日期:2014年2月24日 優(yōu)先權日:2014年2月24日
【發(fā)明者】蔡昭權, 馮嘉良, 黃翰 申請人:惠州學院