所屬的技術(shù)人員能夠理解,本發(fā)明的各個方面可以實現(xiàn)為系統(tǒng)、方法或程序產(chǎn)品。因此,本發(fā)明的各個方面可以具體實現(xiàn)為以下形式,即:完全的硬件實施方式、完全的軟件實施方式(包括固件、微代碼等),或硬件和軟件方面結(jié)合的實施方式,這里可以統(tǒng)稱為“電路”、“模塊”或“平臺”。圖12是本發(fā)明實施例中的一種基于多視角的前后景合成設(shè)備的結(jié)構(gòu)示意圖。下面參照圖12來描述根據(jù)本發(fā)明的這種實施方式的電子設(shè)備600。圖12顯示的電子設(shè)備600僅僅是一個示例,不應(yīng)對本發(fā)明實施例的功能和使用范圍帶來任何限制。如圖12所示,電子設(shè)備600以通用計算設(shè)備的形式表現(xiàn)。電子設(shè)備600的組件可以包括但不限于:至少一個處理單元610、至少一個存儲單元620、連接不同平臺組件(包括存儲單元620和處理單元610)的總線630、顯示單元640等。其中,存儲單元存儲有程序代碼,程序代碼可以被處理單元610執(zhí)行,使得處理單元610執(zhí)行本說明書上述一種基于多視角的前后景合成方法部分中描述的根據(jù)本發(fā)明各種示例性實施方式的步驟。例如,處理單元610可以執(zhí)行如圖1中所示的步驟。存儲單元620可以包括易失性存儲單元形式的可讀介質(zhì),例如隨機存取存儲單元(ram)6201和/或高速緩存存儲單元6202,還可以進一步包括只讀存儲單元(rom)6203。存儲單元620還可以包括具有一組(至少一個)程序模塊6205的程序/實用工具6204,這樣的程序模塊6205包括但不限于:操作系統(tǒng)、一個或者多個應(yīng)用程序、其它程序模塊以及程序數(shù)據(jù),這些示例中的每一個或某種組合中可能包括網(wǎng)絡(luò)環(huán)境的實現(xiàn)??偩€630可以為表示幾類總線結(jié)構(gòu)中的一種或多種,包括存儲單元總線或者存儲單元控制器、外圍總線、圖形加速端口、處理單元或者使用多種總線結(jié)構(gòu)中的任意總線結(jié)構(gòu)的局域總線。電子設(shè)備600也可以與一個或多個外部設(shè)備700(例如鍵盤、指向設(shè)備、藍牙設(shè)備等)通信,還可與一個或者多個使得用戶能與該電子設(shè)備600交互的設(shè)備通信,和/或與使得該電子設(shè)備600能與一個或多個其它計算設(shè)備進行通信的任何設(shè)備(例如路由器、調(diào)制解調(diào)器等等)通信。這種通信可以通過輸入/輸出(i/o)接口650進行。并且,電子設(shè)備600還可以通過網(wǎng)絡(luò)適配器660與一個或者多個網(wǎng)絡(luò)(例如局域網(wǎng)(lan),廣域網(wǎng)(wan)和/或公共網(wǎng)絡(luò),例如因特網(wǎng))通信。網(wǎng)絡(luò)適配器660可以通過總線630與電子設(shè)備600的其它模塊通信。應(yīng)當明白,盡管圖12中未示出,可以結(jié)合電子設(shè)備600使用其它硬件和/或軟件模塊,包括但不限于:微代碼、設(shè)備驅(qū)動器、冗余處理單元、外部磁盤驅(qū)動陣列、raid系統(tǒng)、磁帶驅(qū)動器以及數(shù)據(jù)備份存儲平臺等。本發(fā)明實施例中還提供一種計算機可讀存儲介質(zhì),用于存儲程序,程序被執(zhí)行時實現(xiàn)的一種基于多視角的前后景合成方法的步驟。在一些可能的實施方式中,本發(fā)明的各個方面還可以實現(xiàn)為一種程序產(chǎn)品的形式,其包括程序代碼,當程序產(chǎn)品在終端設(shè)備上運行時,程序代碼用于使終端設(shè)備執(zhí)行本說明書上述一種基于多視角的前后景合成方法部分中描述的根據(jù)本發(fā)明各種示例性實施方式的步驟。如上所示,本實施例利用3d相機采集得到背景素材庫,并利用3d相機獲得包含人體的rgb圖像和深度圖像,通過將人體的3d信息和背景圖像中的3d信息匹配,調(diào)整人體與背景的位置關(guān)系和圖像比例,并對人體邊緣透明度進行處理,可以有效提高合成后圖像的真實感,更加符合真實世界的場景,同時,對多個3d相機拍攝的圖像進行選擇,可以獲得更好的視覺體驗。圖13是本發(fā)明實施例中的計算機可讀存儲介質(zhì)的結(jié)構(gòu)示意圖。參考圖13所示,描述了根據(jù)本發(fā)明的實施方式的用于實現(xiàn)上述方法的程序產(chǎn)品800,其可以采用便攜式緊湊盤只讀存儲器(cd-rom)并包括程序代碼,并可以在終端設(shè)備,例如個人電腦上運行。然而,本發(fā)明的程序產(chǎn)品不限于此,在本文件中,可讀存儲介質(zhì)可以是任何包含或存儲程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。程序產(chǎn)品可以采用一個或多個可讀介質(zhì)的任意組合??勺x介質(zhì)可以是可讀信號介質(zhì)或者可讀存儲介質(zhì)??勺x存儲介質(zhì)例如可以為但不限于電、磁、光、電磁、紅外線、或半導體的系統(tǒng)、裝置或器件,或者任意以上的組合??勺x存儲介質(zhì)的更具體的例子(非窮舉的列表)包括:具有一個或多個導線的電連接、便攜式盤、硬盤、隨機存取存儲器(ram)、只讀存儲器(rom)、可擦式可編程只讀存儲器(eprom或閃存)、光纖、便攜式緊湊盤只讀存儲器(cd-rom)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。計算機可讀存儲介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號,其中承載了可讀程序代碼。這種傳播的數(shù)據(jù)信號可以采用多種形式,包括但不限于電磁信號、光信號或上述的任意合適的組合??勺x存儲介質(zhì)還可以是可讀存儲介質(zhì)以外的任何可讀介質(zhì),該可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的程序??勺x存儲介質(zhì)上包含的程序代碼可以用任何適當?shù)慕橘|(zhì)傳輸,包括但不限于無線、有線、光纜、rf等等,或者上述的任意合適的組合??梢砸砸环N或多種程序設(shè)計語言的任意組合來編寫用于執(zhí)行本發(fā)明操作的程序代碼,程序設(shè)計語言包括面向?qū)ο蟮某绦蛟O(shè)計語言—諸如java、c++等,還包括常規(guī)的過程式程序設(shè)計語言—諸如“c”語言或類似的程序設(shè)計語言。程序代碼可以完全地在用戶計算設(shè)備上執(zhí)行、部分地在用戶設(shè)備上執(zhí)行、作為一個獨立的軟件包執(zhí)行、部分在用戶計算設(shè)備上部分在遠程計算設(shè)備上執(zhí)行、或者完全在遠程計算設(shè)備或服務(wù)器上執(zhí)行。在涉及遠程計算設(shè)備的情形中,遠程計算設(shè)備可以通過任意種類的網(wǎng)絡(luò),包括局域網(wǎng)(lan)或廣域網(wǎng)(wan),連接到用戶計算設(shè)備,或者,可以連接到外部計算設(shè)備(例如利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng)連接)。本實施例利用3d相機采集得到背景素材庫,并利用3d相機獲得包含人體的rgb圖像和深度圖像,通過將人體的3d信息和背景圖像中的3d信息匹配,調(diào)整人體與背景的位置關(guān)系和圖像比例,并對人體邊緣透明度進行處理,可以有效提高合成后圖像的真實感,更加符合真實世界的場景,同時,對多個3d相機拍攝的圖像進行選擇,可以獲得更好的視覺體驗。本說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。對所公開的實施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。以上對本發(fā)明的具體實施例進行了描述。需要理解的是,本發(fā)明并不局限于上述特定實施方式,本領(lǐng)域技術(shù)人員可以在權(quán)利要求的范圍內(nèi)做出各種變形或修改,這并不影響本發(fā)明的實質(zhì)內(nèi)容。
背景技術(shù):
1、現(xiàn)有的圖像合成技術(shù)是將源圖像中的某些對象提取出來,然后將提取出的對象按原比例大小合成到設(shè)定好的背景圖像中。相比于傳統(tǒng)依賴于手工扣圖、完成替換,目前的目標檢測等技術(shù)已經(jīng)取得較好的效果,可以較為準確地將目標對象檢測出來。但是現(xiàn)有的圖像合成仍存在著明顯的不真實感,主要原因有以下兩點:
2、1.前景和后景圖像中的物體比例不一致;
3、2.合成后的圖像的3d位置不真實。
4、導致這些問題根本原因是現(xiàn)有合成技術(shù)都是簡單的2d圖像拼接合成,缺乏前后景圖片真實的3d信息。而3d相機為解決這些問題提供了一種可行的方案。
5、同時,對于個人展示、個人秀等具有舞臺效果的場景,往往需要多個角度的拍攝,并在不同角度間進行切換,以提升節(jié)目效果,因此,需要對多個3d相機之間的切換進行有效處理。
6、以上背景技術(shù)內(nèi)容的公開僅用于輔助理解本發(fā)明的發(fā)明構(gòu)思及技術(shù)方案,其并不必然屬于本專利申請的現(xiàn)有技術(shù),在沒有明確的證據(jù)表明上述內(nèi)容在本專利申請的申請日已經(jīng)公開的情況下,上述背景技術(shù)不應(yīng)當用于評價本技術(shù)的新穎性和創(chuàng)造性。
技術(shù)實現(xiàn)思路
1、為此,本發(fā)明利用3d相機采集得到背景素材庫,并利用3d相機獲得包含人體的rgb圖像和深度圖像,通過將人體的3d信息和背景圖像中的3d信息匹配,調(diào)整人體與背景的位置關(guān)系和圖像比例,并對人體邊緣透明度進行處理,可以有效提高合成后圖像的真實感,更加符合真實世界的場景,同時,對多個3d相機拍攝的圖像進行選擇,可以獲得更好的視覺體驗。
2、第一方面,本發(fā)明提供一種基于多視角的前后景合成方法,其特征在于,包括如下步驟:
3、步驟s1:利用3d相機采集圖像,生成背景素材庫;
4、步驟s2:利用多個3d相機獲得包含人體的多張rgb圖像和多張深度圖像,并利用深度學習網(wǎng)絡(luò)對所述rgb圖像進行人體識別,得到人體范圍;其中,所述rgb圖像與所述深度圖像一一對應(yīng);
5、步驟s3:在所述深度圖像上,利用所述人體范圍,得到所述人體的3d信息;
6、步驟s4:從所述背景素材庫中獲取背景,確定顯示的人體對象,并將所述人體對象置于所述背景中;
7、步驟s5:利用所述人體的3d信息和所述背景的3d信息,調(diào)整所述人體與所述背景合適的位置關(guān)系和圖像比例;
8、步驟s6:對所述人體邊緣透明度進行相應(yīng)的處理,完成圖像的合成。
9、可選地,所述的一種基于多視角的前后景合成方法,其特征在于,步驟s2包括:
10、步驟s21:利用多個3d相機獲得包含人體的rgb圖像和深度圖像;
11、步驟s22:利用深度學習網(wǎng)絡(luò)對所述rgb圖像進行人體識別,得到第一人體范圍;
12、步驟s23:在所述第一人體范圍的邊緣,向內(nèi)或向外拓展n個像素,得到第二人體范圍;n為正整數(shù),且與邊緣像素點的亮度相關(guān);
13、步驟s24:對所述第二人體范圍的像素點,根據(jù)其法線方向,由內(nèi)向外依次給予不同的第一權(quán)重值a;其中,a的取值范圍為[0,1]。
14、可選地,所述的一種基于多視角的前后景合成方法,其特征在于,所述步驟s4包括:
15、步驟s41:從所述背景素材庫中獲取至少兩個背景;其中,所述至少兩個背景是同一場景下的拍攝得到的;
16、步驟s42:根據(jù)所述人體范圍及預(yù)設(shè)條件,確定顯示的人體對象及所述人體對象對應(yīng)的人體范圍;
17、步驟s43:將所述人體范圍置于所述背景中。
18、可選地,所述的一種基于多視角的前后景合成方法,其特征在于,步驟s42包括:
19、步驟s421:根據(jù)多個所述3d相機及圖像信息確定多個圖像的關(guān)系,獲得同一人體對象對應(yīng)的不同人體范圍;
20、步驟s422:根據(jù)第一預(yù)設(shè)條件,確定顯示的人體對象;
21、步驟s423:根據(jù)所述人體對象對應(yīng)的不同人體范圍的特點及第二預(yù)設(shè)條件,確定顯示的人體范圍。
22、可選地,所述的一種基于多視角的前后景合成方法,其特征在于,步驟s5包括:
23、步驟s51:從所述背景素材庫中選擇背景;
24、步驟s52:根據(jù)相機坐標系下所述人體的3d信息和所述背景的3d信息,對所述人體的3d位置和形變角度進行調(diào)整;
25、步驟s53:根據(jù)相機坐標系下所述人體的3d信息和所述背景的3d信息,對所述人體的大小進行調(diào)整。
26、可選地,所述的一種基于多視角的前后景合成方法,其特征在于,步驟s52包括:
27、步驟s521:判斷所述人體與所述背景是否有重合,若有,則執(zhí)行步驟s522;若無,則執(zhí)行步驟s523;
28、步驟s522:判斷所述人體的朝向,并根據(jù)所述朝向?qū)⑺鋈梭w移動至第一預(yù)設(shè)區(qū)域;
29、步驟s523:判斷所述人體與所述背景的基準夾角,并根據(jù)所述夾角對所述人體進行旋轉(zhuǎn)和形變角度調(diào)整。
30、可選地,所述的一種基于多視角的前后景合成方法,其特征在于,步驟s53包括:
31、步驟s531:根據(jù)步驟s52中對所述人體的位置調(diào)整,在相機坐標系下,按比例調(diào)整人體的大?。?/p>
32、步驟s532:對所述人體的位置在同一深度下進行調(diào)整,以使所述人體底部與地面部分接觸或被遮擋;
33、步驟s533:比較所述人體與所述背景的深度關(guān)系,使深度值較小的部分顯示。
34、第二方面,本發(fā)明提供一種基于多視角的前后景合成系統(tǒng),用于實現(xiàn)上述任一項所述的基于多視角的前后景合成方法,其特征在于,包括:
35、素材庫模塊,用于利用3d相機采集圖像,生成背景素材庫;
36、人體識別模塊,用于利用多個3d相機獲得包含人體的多張rgb圖像和多張深度圖像,并利用深度學習網(wǎng)絡(luò)對所述rgb圖像進行人體識別,得到人體范圍;其中,所述rgb圖像與所述深度圖像一一對應(yīng);
37、3d信息模塊,用于在所述深度圖像上,利用所述人體范圍,得到所述人體的3d信息;
38、選擇模塊,用于從所述背景素材庫中獲取背景,確定顯示的人體對象,并將所述人體對象置于所述背景中;
39、調(diào)整模塊,用于利用所述人體的3d信息和所述背景的3d信息,調(diào)整所述人體與所述背景合適的位置關(guān)系和圖像比例;
40、合成模塊,用于對所述人體邊緣透明度進行相應(yīng)的處理,完成圖像的合成。
41、第三方面,本發(fā)明提供一種基于多視角的前后景合成設(shè)備,其特征在于,包括:
42、處理器;
43、存儲器,其中存儲有所述處理器的可執(zhí)行指令;
44、其中,所述處理器配置為經(jīng)由執(zhí)行所述可執(zhí)行指令來執(zhí)行上述任意一項所述基于多視角的前后景合成方法的步驟。
45、第四方面,本發(fā)明提供一種計算機可讀存儲介質(zhì),用于存儲程序,其特征在于,所述程序被執(zhí)行時實現(xiàn)前述任意一項所述基于多視角的前后景合成方法的步驟。
46、與現(xiàn)有技術(shù)相比,本發(fā)明具有如下的有益效果:
47、本發(fā)明采用3d相機和3d圖像對圖像進行處理,對合成的圖像中增加深度信息,更加符合人的視覺,效果更加真實。
48、本發(fā)明采用由3d相機采集的背景素材庫,相比于通過算法在2d圖像上獲得的3d信息,背景中的3d信息更加準確真實,同時,使得背景素材庫中的背景圖像可以更好地在相機坐標系下進行合成,具有更好的一致性,能夠得到更好的合成圖像。
49、本發(fā)明對人體與背景的圖像比例、位置關(guān)系進行調(diào)整,并對人體邊緣透明度進行處理,可以使得前景與后景的大小、位置及融合效果更加真實,符合真實世界的場景,符合人眼視覺要求。
50、本發(fā)明對多個3d相機拍攝時進行選擇性展示,可以有效提高個人展示、個人秀等具有舞臺效果的圖像獲得更好的呈現(xiàn)效果,提升合成后的視覺效果。