本發明屬于圖像處理技術領域,尤其涉及一種全景3D視頻拼接系統及方法。
背景技術:
傳統的全景3D攝像機需要在其周圍設置第一組攝像頭,并為第一組的每個攝像頭配置一個對應的攝像頭,形成3D攝像頭對。對應的攝像頭組成第二組攝像頭。第一組攝像頭和第二組攝像頭拍攝的畫面通過畫面重疊部分的匹配進行拼接,形成全景3D視頻。
傳統的全景3D攝像機存在以下缺點:1)圖像拼接中,對遠景圖像可以拼接出很好的效果,但對于近景物體容易形成錯配,致使畫面有重影;2)對于每個3D攝像頭對的非拼接圖像有很好的3D效果,但是對于拼接處的全景圖像深度失真,3D效果不佳。
技術實現要素:
鑒于此,本發明提供一種全景3D視頻拼接系統及方法,以提高全景3D視頻的顯示效果。
本發明的第一方面,提供一種全景3D視頻拼接系統,所述系統包括:
全景3D攝像機和圖像處理模塊,所述全景3D攝像機與所述圖像處理模塊連接;
所述全景3D攝像機包括多個深度傳感器和多個CCD攝像機;
所述圖像處理模塊包括全景攝像機幾何標定單元、圖像拼接單元、新視點圖像生成單元以及圖像空洞填補單元;
所述CCD攝像機,用于拍攝場景RGB圖像;
所述深度傳感器,用于獲取所拍攝的場景RGB圖像的深度圖像;
所述全景攝像機幾何標定單元,用于對兩兩相鄰的CCD攝像機進行幾何標定,獲取不同深度處對應的單應性矩陣;
所述圖像拼接單元,用于對獲取的深度圖像采用相應深度的單應性矩陣進行拼接,獲得拼接圖像;
所述新視點圖像生成單元,用于根據所述深度圖像和拼接圖像生成新的視點圖像;
所述圖像空洞填補單元,用于填補新的視點圖像的空洞,并根據填補后的新的視點圖像和所述拼接圖像生成3D圖像對,以便于虛擬現實3D顯示。
本發明的第二方面,提供一種全景3D視頻拼接方法,所述方法包括:
通過CCD攝像機拍攝場景RGB圖像;
通過深度傳感器獲取所拍攝的場景RGB圖像的深度圖像;
對兩兩相鄰的CCD攝像機i和CCD攝像機j進行幾何標定,獲取由遠及近不同深度h時對應的3×3單應性矩陣hp表示第p個深度,p=1,2,...n;
對獲取的深度圖像采用相應深度的單應性矩陣進行拼接,獲得拼接圖像;
根據所述深度圖像和拼接圖像生成新的視點圖像;
填補新的視點圖像的空洞,并根據填補后的新的視點圖像和所述拼接圖像生成3D圖像對,以便于虛擬現實3D顯示。
本發明與現有技術相比存在的有益效果是:本發明通過CCD攝像機拍攝場景RGB圖像,通過深度傳感器獲取所拍攝的場景RGB圖像的深度圖像,并對兩兩相鄰的CCD攝像機i和CCD攝像機j進行幾何標定,獲取由遠及近不同深度時對應的單應性矩陣,對獲取的深度圖像采用相應深度的單應性矩陣進行拼接,獲得拼接圖像,根據所述深度圖像和拼接圖像生成新的視點圖像,填補新的視點圖像的空洞,并根據填補后的新的視點圖像和所述拼接圖像生成3D圖像對,實現雙視點3D畫面,有效提高3D視頻的顯示效果,使得用戶佩戴VR頭盔即可看到全景3D畫面,猶如置身于真實場景當中,具有較強的易用性和實用性。
附圖說明
為了更清楚地說明本發明實施例中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
圖1是本發明第一實施例提供的全景3D視頻拼接系統的示意框圖;
圖2是本發明第二實施例提供的全景3D視頻拼接方法的示意流程圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
應當理解,當在本說明書和所附權利要求書中使用時,術語“包括”指示所描述特征、整體、步驟、操作、元素和/或組件的存在,但并不排除一個或多個其它特征、整體、步驟、操作、元素、組件和/或其集合的存在或添加。
還應當理解,在此本發明說明書中所使用的術語僅僅是出于描述特定實施例的目的而并不意在限制本發明。如在本發明說明書和所附權利要求書中所使用的那樣,除非上下文清楚地指明其它情況,否則單數形式的“一”、“一個”及“該”意在包括復數形式。
還應當進一步理解,在本發明說明書和所附權利要求書中使用的術語“和/或”是指相關聯列出的項中的一個或多個的任何組合以及所有可能組合,并且包括這些組合。
如在本說明書和所附權利要求書中所使用的那樣,術語“如果”可以依據上下文被解釋為“當...時”或“一旦”或“響應于確定”或“響應于檢測到”。類似地,短語“如果確定”或“如果檢測到[所描述條件或事件]”可以依據上下文被解釋為意指“一旦確定”或“響應于確定”或“一旦檢測到[所描述條件或事件]”或“響應于檢測到[所描述條件或事件]”。
為了說明本發明所述的技術方案,下面通過具體實施例來進行說明。
實施例一:
參見圖1,圖1是本發明實施例一提供的全景3D視頻拼接系統的示意框圖,為了便于說明,僅示出與本發明實施例相關的部分。
所述全景3D視頻拼接系統包括:
全景3D攝像機11和圖像處理模塊12,所述全景3D攝像機11與所述圖像處理模塊12連接;
所述全景3D攝像機11包括多個CCD攝像機111和多個深度傳感器112;
所述圖像處理模塊12包括全景攝像機幾何標定單元121、圖像拼接單元122、新視點圖像生成單元123以及圖像空洞填補單元124;
所述CCD攝像機111,用于拍攝場景RGB圖像;
所述深度傳感器112,用于獲取所拍攝的場景RGB圖像的深度圖像;
所述全景攝像機幾何標定單元121,用于對兩兩相鄰的CCD攝像機進行幾何標定,獲取不同深度處對應的單應性矩陣;
所述圖像拼接單元122,用于對獲取的深度圖像采用相應深度的單應性矩陣進行拼接,獲得拼接圖像;
所述新視點圖像生成單元123,用于根據所述深度圖像和拼接圖像生成新的視點圖像;
所述圖像空洞填補單元124,用于填補新的視點圖像的空洞,并根據填補后的新的視點圖像和所述拼接圖像生成3D圖像對,以便于虛擬現實3D顯示。
可選的,所述全景3D攝像機11包括但不限于球形、半球形、環形或者長方形,所述全景3D攝像機11中設置有n個CCD攝像機111和n個深度傳感器112,每個CCD攝像機111對應一個深度傳感器112,其中所述n為大于1的整數。
可選的,所述CCD攝像機111和所述深度傳感器112可以是有機地結合或聯結起來的整體。
所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,僅以上述各功能單元、模塊的劃分進行舉例說明,實際應用中,可以根據需要而將上述功能分配由不同的功能單元、模塊完成,即所述系統的內部結構劃分成不同的功能單元或模塊,以完成以上描述的全部或者部分功能。實施例中的各功能單元或模塊可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中,上述集成的單元或模塊既可以采用硬件的形式實現,也可以采用軟件功能單元的形式實現。另外,各功能單元、模塊的具體名稱也只是為了便于相互區分,并不用于限制本申請的保護范圍。上述系統中單元、模塊的具體工作過程,可以參考前述方法實施例的對應過程,在此不再贅述。
實施例二:
參見圖2,圖2是本發明實施例二提供的全景3D視頻拼接方法的示意流程圖,該方法基于實施例一所述的全景3D視頻拼接系統,如圖所示該方法可以包括以下步驟:
步驟S201,通過CCD攝像機拍攝場景RGB圖像。
在本發明實施例中,所述全景3D攝像機包括多個深度傳感器和多個CCD(Charge Coupled Device,電荷耦合器件)攝像機。
所述通過CCD攝像機拍攝場景RGB圖像具體的是:
被攝物體的圖像經過鏡頭聚焦至CCD芯片上,CCD根據光的強弱積累相應比例的電荷,各個像素積累的電荷在視頻時序的控制下,逐點外移,經濾波、放大處理后,形成視頻信號輸出。
步驟S202,通過深度傳感器獲取所拍攝的場景RGB圖像的深度圖像。
在本發明實施例中,每個CCD攝像機對應一個深度傳感器,每個深度傳感器獲取所對應的CCD攝像機所拍攝的場景RGB圖像的深度圖像。
步驟S203,對兩兩相鄰的CCD攝像機進行幾何標定,獲取由遠及近不同深度時對應的單應性矩陣。
具體的可以是:
步驟1:設置一幅棋盤格在相對CCD攝像機的預定位置(例如,距離所述CCD攝像機10米),以使得所述棋盤格處在相鄰的CCD攝像機i和CCD攝像機j的重疊拍攝區域內;
步驟2:通過CCD攝像機i和CCD攝像機j分別拍攝所述棋盤格,獲得兩幅棋盤格圖像;
步驟3:通過CCD攝像機i和CCD攝像機j捕獲棋盤格畫面上對應的棋盤格的角點的位置;
步驟4:根據CCD攝像機i和CCD攝像機j捕獲的棋盤格畫面上對應的棋盤格的角點的位置計算兩幅棋盤格圖像的相應3×3單應性矩陣其中hp表示第p個深度,p=1,2,...n;
步驟5:按照預設步長,逐漸縮小所述棋盤格與相鄰的CCD攝像機i和CCD攝像機j的距離,并在每次縮小所述距離后,重復上述步驟2-步驟5,以計算相應深度h時對應的3×3單應性矩陣優選的,設置20個灰度等級,對應于攝像機與棋盤格的距離分別是10,9,8,7,6,5,4.5,4,3.5,3,2.75,2.5,2.25,2,1.75,1.5,1.25,1,0.75,0.5米。
步驟S204,對獲取的深度圖像采用相應深度的單應性矩陣進行拼接,獲得拼接圖像。
具體的可以是:
將深度傳感器獲取的深度圖像劃分成n個深度等級(1,2,…,p,…,n);
針對每個深度等級的圖像采用相應深度的單應性矩陣進行映射,以拼接成一幅圖像。例如,對深度等級為p的相應相鄰相鄰的CCD攝像機i和CCD攝像機j拍攝的圖像采用相應的3×3單應性矩陣進行映射,拼接成一幅圖像。
需要說明的是,對于某些只有前景變化而背景不變的視頻圖像,采用光流法對前景進行檢測提取,即只需要按照前景圖像深度對前景進行拼接處理,背景保持不變。
本發明實施例由于考慮到了前景圖像與背景圖像深度的影響,拼接出的圖像不會出現前景物體的重影。
步驟S205,根據所述深度圖像和拼接圖像生成新的視點圖像。
具體的可以是:
對相鄰的深度傳感器獲取的深度圖像進行拼接,獲得深度拼接圖像;可選的,對相鄰的深度傳感器獲取的深度圖像可以采用深度匹配的方法進行拼接,獲取深度拼接圖像。其中,深度匹配的方法可以是塊匹配也可以是特征匹配。
將深度拼接圖像按照線性關系轉換成視差圖;
將所述拼接圖像上的每個像素對應的所述視差圖的像素的視差值做左右移動,形成新的視點圖像。
步驟S206,填補新的視點圖像的空洞,并根據填補后的新的視點圖像和所述拼接圖像生成3D圖像對,以便于虛擬現實3D顯示。
由于像素左右移動的幅度不同,在新的視點圖像上深度梯度大的區域會形成空洞。因此本發明實施例需要填補新的視點圖像的空洞。
例如,采用前后幀圖像插值法填補新的視點圖像的空洞。
具體的可以是,選取新的視點圖像的一個空洞所在的像素作為目的像素pi,尋找視頻前一幀圖像中對應該目的像素pi的像素pi';
將目的像素pi替換為前一幀對應的像素pi',以填補新的視點圖像的空洞。而且隨著處理視頻幀數的增加,空洞填補的越完美。
采用本發明實施例所述方法生成的3D圖像對,由于對新的視點圖像的空洞進行了填補,因此在圖像拼接處,3D顯示不會失真。而且,由于考慮到了前景圖像與背景圖像深度的影響,拼接出的圖像不會出現前景物體的重影。本發明實施例操作方便,適用面廣,具有較強的易用性和實用性。
應理解,在上述實施例二中,各步驟的序號的大小并不意味著執行順序的先后,各步驟的執行順序應以其功能和內在邏輯確定,而不應對本發明實施例的實施過程構成任何限定。
本領域普通技術人員可以意識到,結合本文中所公開的實施例描述的各示例的模塊及算法步驟,能夠以電子硬件、計算機軟件或者二者的結合來實現,為了清楚地說明硬件和軟件的可互換性,在上述說明中已經按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執行,取決于技術方案的特定應用和設計約束條件。專業技術人員可以對每個特定的應用來使用不同方法來實現所描述的功能,但是這種實現不應認為超出本發明的范圍。
在本發明所提供的實施例中,應該理解到,所揭露的系統和方法,可以通過其它的方式實現。例如,以上所描述的實施例僅僅是示意性的,例如,所述模塊或單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特征可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通訊連接可以是通過一些接口,裝置或單元的間接耦合或通訊連接,可以是電性,機械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
另外,在本發明各個實施例中的各功能模塊可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現,也可以采用軟件功能單元的形式實現。
所述集成的單元如果以軟件功能單元的形式實現并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基于這樣的理解,本發明實施例的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)或處理器(processor)執行本發明實施例各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質。
以上所述實施例僅用以說明本發明的技術方案,而非對其限制;盡管參照前述實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發明實施例各實施例技術方案的精神和范圍。