本技術實施例涉及計算機,特別涉及一種三維模型生成方法、裝置、計算機設備及存儲介質。
背景技術:
1、隨著計算機科技的快速發(fā)展,三維模型重建技術的應用也越來越廣泛,三維模型重建技術是指生成圖片或者視頻中的物體的三維模型,可應用于虛擬現(xiàn)實、自動駕駛、人機交互以及運動分析等多種領域中。
2、相關技術中,采用具有深度傳感器的設備,圍繞物體進行掃描,得到物體的深度圖,然后利用深度圖生成物體的三維模型。上述方法對拍攝設備要求較高,需要采用具有深度傳感器的設備來采集深度圖,因此生成三維模型的成本較高,泛用性較差。
技術實現(xiàn)思路
1、本技術實施例提供了一種三維模型生成方法、裝置、計算機設備及存儲介質,能夠降低生成三維模型的成本,提高生成三維模型的效率。所述技術方案如下:
2、一方面,提供了一種三維模型生成方法,所述方法包括:
3、在對物體進行拍攝的過程中,依次在拍攝得到的視頻幀中提取關鍵幀;
4、每當提取到一個所述關鍵幀,確定所述關鍵幀的初始點云信息,所述初始點云信息為所述關鍵幀中的所述物體表面的點的集合;
5、基于所述初始點云信息,對所述關鍵幀中的前景區(qū)域進行深度檢測,得到所述前景區(qū)域的深度圖,所述前景區(qū)域為所述關鍵幀中的所述物體所在的區(qū)域;
6、響應于拍攝結束,基于得到的多個所述深度圖,生成所述物體的目標點云信息,基于所述目標點云信息,生成所述物體的三維模型。
7、可選地,所述基于所述目標點云信息,生成所述物體的三維模型,包括:
8、基于所述目標點云信息,生成所述物體的網(wǎng)格模型;
9、基于多個所述關鍵幀中的所述物體的顏色,對所述網(wǎng)格模型進行紋理貼圖,得到所述三維模型。
10、可選地,所述響應于拍攝結束,基于得到的多個所述深度圖,生成所述物體的目標點云信息,基于所述目標點云信息,生成所述物體的三維模型,包括:
11、響應于對所述拍攝界面中的結束選項的觸發(fā)操作,停止對所述物體進行拍攝;
12、基于多個所述深度圖,生成所述目標點云信息,基于所述目標點云信息,生成所述物體的三維模型;
13、在所述拍攝界面顯示所述三維模型。
14、另一方面,提供了一種三維模型生成方法,所述方法包括:
15、接收終端發(fā)送的關鍵幀和初始點云信息,所述關鍵幀是所述終端在對物體進行拍攝的過程中依次在拍攝得到的視頻幀中提取的,所述初始點云信息為所述關鍵幀中的所述物體表面的點的集合;
16、每當接收到一個所述關鍵幀和對應的初始點云信息,基于所述初始點云信息,對所述關鍵幀中的前景區(qū)域進行深度檢測,得到所述前景區(qū)域的深度圖,所述前景區(qū)域為所述關鍵幀中的所述物體所在的區(qū)域;
17、響應于所述終端發(fā)送的拍攝結束通知,基于得到的多個所述深度圖,生成所述物體的目標點云信息,基于所述目標點云信息,生成所述物體的三維模型;
18、向所述終端發(fā)送所述三維模型。
19、可選地,所述基于多個所述關鍵幀、多個所述關鍵幀的相機位姿信息和多個所述關鍵幀的深度圖,生成所述目標點云信息,包括:
20、基于多個所述關鍵幀、多個所述關鍵幀的相機位姿信息和多個所述關鍵幀的深度圖,生成第一點云信息,所述第一點云信息包括各個點的顏色;
21、對所述第一點云信息進行簡化,得到第二點云信息,所述第二點云信息中的點的個數(shù)小于所述第一點云信息中的點的個數(shù);
22、基于多個所述關鍵幀、多個所述關鍵幀的相機位姿信息和所述第二點云信息中的各個點的顏色,對所述第二點云信息中的各個點的位置進行校正,得到所述目標點云信息。
23、可選地,所述基于所述初始點云信息,對所述關鍵幀中的前景區(qū)域進行深度檢測,得到所述前景區(qū)域的深度圖,包括:
24、對所述關鍵幀進行前景分割,得到所述關鍵幀中的所述前景區(qū)域;
25、基于所述初始點云信息,確定所述前景區(qū)域的深度區(qū)間,所述深度區(qū)間為所述前景區(qū)域的最大深度和最小深度之間的區(qū)間;
26、基于所述深度區(qū)間,對所述關鍵幀的所述前景區(qū)域和鄰近幀的前景區(qū)域進行平面掃描,得到所述深度圖,所述深度圖中的深度屬于所述深度區(qū)間,所述鄰近幀是指提取時間點與所述關鍵幀的提取時間點最接近的目標數(shù)量個關鍵幀。
27、可選地,所述基于所述目標點云信息,生成所述物體的三維模型,包括:
28、基于所述目標點云信息,生成所述物體的網(wǎng)格模型;
29、基于多個所述關鍵幀中的所述物體的顏色,對所述網(wǎng)格模型進行紋理貼圖,得到所述三維模型。
30、另一方面,提供了一種三維模型生成裝置,所述裝置包括:
31、關鍵幀提取模塊,用于在對物體進行拍攝的過程中,依次在拍攝得到的視頻幀中提取關鍵幀;
32、信息確定模塊,用于每當提取到一個所述關鍵幀,確定所述關鍵幀的初始點云信息,所述初始點云信息為所述關鍵幀中的所述物體表面的點的集合;
33、深度圖確定模塊,用于基于所述初始點云信息,對所述關鍵幀中的前景區(qū)域進行深度檢測,得到所述前景區(qū)域的深度圖,所述前景區(qū)域為所述關鍵幀中的所述物體所在的區(qū)域;
34、模型生成模塊,用于響應于拍攝結束,基于得到的多個所述深度圖,生成所述物體的目標點云信息,基于所述目標點云信息,生成所述物體的三維模型。
35、可選地,所述模型生成模塊,用于:
36、獲取多個所述關鍵幀的相機位姿信息,所述相機位姿信息表示在拍攝所述關鍵幀時相機的位姿;
37、基于多個所述關鍵幀、多個所述關鍵幀的相機位姿信息和多個所述關鍵幀的深度圖,生成所述目標點云信息。
38、可選地,所述模型生成模塊,用于:
39、基于多個所述關鍵幀、多個所述關鍵幀的相機位姿信息和多個所述關鍵幀的深度圖,生成第一點云信息,所述第一點云信息包括各個點的顏色;
40、對所述第一點云信息進行簡化,得到第二點云信息,所述第二點云信息中的點的個數(shù)小于所述第一點云信息中的點的個數(shù);
41、基于多個所述關鍵幀中的所述物體的顏色、多個所述關鍵幀的相機位姿信息和所述第二點云信息中的各個點的顏色,對所述第二點云信息中的各個點的位置進行校正,得到所述目標點云信息。
42、可選地,所述深度圖確定模塊,用于:
43、對所述關鍵幀進行前景分割,得到所述關鍵幀中的所述前景區(qū)域;
44、基于所述初始點云信息,確定所述前景區(qū)域的深度區(qū)間,所述深度區(qū)間為所述前景區(qū)域的最大深度和最小深度之間的區(qū)間;
45、基于所述深度區(qū)間,對所述關鍵幀的所述前景區(qū)域和鄰近幀的前景區(qū)域進行平面掃描,得到所述深度圖,所述深度圖中的深度屬于所述深度區(qū)間,所述鄰近幀是指提取時間點與所述關鍵幀的提取時間點最接近的目標數(shù)量個關鍵幀。
46、可選地,所述模型生成模塊,用于:
47、基于所述目標點云信息,生成所述物體的網(wǎng)格模型;
48、基于多個所述關鍵幀中的所述物體的顏色,對所述網(wǎng)格模型進行紋理貼圖,得到所述三維模型。
49、可選地,所述裝置還包括界面顯示模塊,用于:
50、響應于對拍攝界面中的開始選項的觸發(fā)操作,開始對所述物體進行拍攝;
51、在所述拍攝界面顯示對所述物體進行拍攝得到的視頻幀;
52、在所述視頻幀上顯示掃描標記,所述掃描標記用于提示生成深度圖的過程未出現(xiàn)異常。
53、可選地,所述模型生成模塊,用于:
54、響應于對所述拍攝界面中的結束選項的觸發(fā)操作,停止對所述物體進行拍攝;
55、基于多個所述深度圖,生成所述目標點云信息,基于所述目標點云信息,生成所述物體的三維模型;
56、所述界面顯示模塊,還用于在所述拍攝界面顯示所述三維模型。
57、可選地,所述界面顯示模塊,還用于:
58、每當確定出一個所述關鍵幀的初始點云信息,在所述拍攝界面所顯示的初始點云信息的基礎上,疊加顯示當前確定的所述初始點云信息。
59、可選地,所述深度圖確定模塊,用于:
60、將所述關鍵幀和所述初始點云信息發(fā)送給服務器,所述服務器用于基于所述初始點云信息,對所述關鍵幀中的前景區(qū)域進行深度檢測,得到所述前景區(qū)域的深度圖。
61、可選地,所述模型生成模塊,用于:
62、響應于拍攝結束,向所述服務器發(fā)送拍攝結束通知,所述服務器用于響應于所述拍攝結束通知,基于多個所述深度圖,生成所述目標點云信息,基于所述目標點云信息,生成所述三維模型,返回所述三維模型;
63、接收所述服務器發(fā)送的所述三維模型。
64、另一方面,提供了一種三維模型生成裝置,所述裝置包括:
65、信息接收模塊,用于接收終端發(fā)送的關鍵幀和初始點云信息,所述關鍵幀是所述終端在對物體進行拍攝的過程中依次在拍攝得到的視頻幀中提取的,所述初始點云信息為所述關鍵幀中的所述物體表面的點的集合;
66、深度圖確定模塊,用于每當接收到一個所述關鍵幀和對應的初始點云信息,基于所述初始點云信息,對所述關鍵幀中的前景區(qū)域進行深度檢測,得到所述前景區(qū)域的深度圖,所述前景區(qū)域為所述關鍵幀中的所述物體所在的區(qū)域;
67、模型生成模塊,用于響應于所述終端發(fā)送的拍攝結束通知,基于得到的多個所述深度圖,生成所述物體的目標點云信息,基于所述目標點云信息,生成所述物體的三維模型;
68、模型發(fā)送模塊,用于向所述終端發(fā)送所述三維模型。
69、可選地,所述模型生成模塊,用于:
70、獲取所述終端發(fā)送的多個所述關鍵幀的相機位姿信息,所述相機位姿信息表示在拍攝所述關鍵幀時相機的位姿;
71、基于多個所述關鍵幀、多個所述關鍵幀的相機位姿信息和多個所述關鍵幀的深度圖,生成所述目標點云信息。
72、可選地,所述模型生成模塊,用于:
73、基于多個所述關鍵幀、多個所述關鍵幀的相機位姿信息和多個所述關鍵幀的深度圖,生成第一點云信息,所述第一點云信息包括各個點的顏色;
74、對所述第一點云信息進行簡化,得到第二點云信息,所述第二點云信息中的點的個數(shù)小于所述第一點云信息中的點的個數(shù);
75、基于多個所述關鍵幀、多個所述關鍵幀的相機位姿信息和所述第二點云信息中的各個點的顏色,對所述第二點云信息中的各個點的位置進行校正,得到所述目標點云信息。
76、可選地,所述深度圖確定模塊,用于:
77、對所述關鍵幀進行前景分割,得到所述關鍵幀中的所述前景區(qū)域;
78、基于所述初始點云信息,確定所述前景區(qū)域的深度區(qū)間,所述深度區(qū)間為所述前景區(qū)域的最大深度和最小深度之間的區(qū)間;
79、基于所述深度區(qū)間,對所述關鍵幀的所述前景區(qū)域和鄰近幀的前景區(qū)域進行平面掃描,得到所述深度圖,所述深度圖中的深度屬于所述深度區(qū)間,所述鄰近幀是指提取時間點與所述關鍵幀的提取時間點最接近的目標數(shù)量個關鍵幀。
80、可選地,所述模型生成模塊,用于:
81、基于所述目標點云信息,生成所述物體的網(wǎng)格模型;
82、基于多個所述關鍵幀中的所述物體的顏色,對所述網(wǎng)格模型進行紋理貼圖,得到所述三維模型。
83、另一方面,提供了一種計算機設備,所述計算機設備包括處理器和存儲器,所述存儲器中存儲有至少一條計算機程序,所述至少一條計算機程序由所述處理器加載并執(zhí)行,以實現(xiàn)如上述方面所述的三維模型生成方法所執(zhí)行的操作。
84、另一方面,提供了一種計算機可讀存儲介質,所述計算機可讀存儲介質中存儲有至少一條計算機程序,所述至少一條計算機程序由處理器加載并執(zhí)行,以實現(xiàn)如上述方面所述的三維模型生成方法所執(zhí)行的操作。
85、另一方面,提供了一種計算機程序產(chǎn)品,包括計算機程序,所述計算機程序由處理器加載并執(zhí)行,以實現(xiàn)如上述方面所述的三維模型生成方法所執(zhí)行的操作。
86、本技術實施例提供的方案,在對物體進行拍攝的過程中,實時在拍攝得到的視頻幀中提取關鍵幀,每當提取到一個關鍵幀,就對該關鍵幀進行處理得到該關鍵幀的深度圖,因此拍攝過程和確定深度圖的過程可以并行執(zhí)行,當拍攝結束,即可根據(jù)已確定的多個深度圖,創(chuàng)建出該物體的三維模型。首先本技術對拍攝設備沒有要求,無需利用帶有深度傳感器的設備來采集深度圖,因此降低了生成三維模型的成本,提高了泛用性。并且由于拍攝過程和確定深度圖的過程是并行執(zhí)行的,無需等待拍攝完成即可開始計算深度圖,因此能夠節(jié)省處理時間,可以實現(xiàn)在拍攝過程中實時生成三維模型,有利于提高生成三維模型的效率。