本技術(shù)涉及計(jì)算機(jī)視覺(jué),尤其涉及一種三維模型重建方法及相關(guān)裝置。
背景技術(shù):
1、三維模型重建技術(shù)是計(jì)算機(jī)視覺(jué)領(lǐng)域的關(guān)鍵技術(shù)之一,它旨在從二維圖像中恢復(fù)出三維場(chǎng)景的結(jié)構(gòu)。這一技術(shù)在游戲開(kāi)發(fā)、電影制作、虛擬現(xiàn)實(shí)、增強(qiáng)現(xiàn)實(shí)、文物保護(hù)、醫(yī)療成像等多個(gè)領(lǐng)域有著廣泛的應(yīng)用。
2、盡管三維模型重建技術(shù)已取得一定的進(jìn)展,但是傳統(tǒng)的三維模型重建技術(shù)仍然存在計(jì)算量大、對(duì)計(jì)算資源要求高的問(wèn)題,導(dǎo)致重建速度慢。
3、因此,如何提供一種三維模型重建技術(shù),以減少三維模型重建的計(jì)算量,降低對(duì)計(jì)算資源的要求,從而提高重建速度,使得在普通計(jì)算設(shè)備上也能高效地進(jìn)行三維模型重建,成為本領(lǐng)域技術(shù)人員亟待解決的問(wèn)題。
技術(shù)實(shí)現(xiàn)思路
1、鑒于上述問(wèn)題,本技術(shù)提供了一種三維模型重建方法及相關(guān)裝置,以實(shí)現(xiàn)提高重建速度的目的。具體方案如下:
2、本技術(shù)第一方面提供一種三維模型重建方法,包括:
3、獲取待執(zhí)行的重建任務(wù)對(duì)應(yīng)的原始圖片集合;
4、對(duì)所述原始圖片集合進(jìn)行初始化處理,得到所述原始圖片集合中各個(gè)原始圖片對(duì)應(yīng)的相機(jī)位姿參數(shù),以及,初始三維模型;
5、根據(jù)所述原始圖片集合以及所述原始圖片集合中各個(gè)原始圖片對(duì)應(yīng)的相機(jī)位姿參數(shù),利用多個(gè)進(jìn)程對(duì)所述初始三維模型進(jìn)行重建,得到重建的三維模型。
6、在一種可能的實(shí)現(xiàn)中,所述根據(jù)所述原始圖片集合以及所述原始圖片集合中各個(gè)原始圖片對(duì)應(yīng)的相機(jī)位姿參數(shù),利用多個(gè)進(jìn)程對(duì)所述初始三維模型進(jìn)行重建,得到重建的三維模型,包括:
7、根據(jù)所述原始圖片集合以及所述原始圖片集合中各個(gè)原始圖片對(duì)應(yīng)的相機(jī)位姿參數(shù),利用多個(gè)進(jìn)程對(duì)所述初始三維模型中的參數(shù)進(jìn)行多輪迭代優(yōu)化,直至多輪迭代優(yōu)化結(jié)束,得到重建的三維模型;其中,利用多個(gè)進(jìn)程對(duì)所述初始三維模型中的參數(shù)進(jìn)行的每輪迭代優(yōu)化包含多步迭代優(yōu)化。
8、在一種可能的實(shí)現(xiàn)中,所述利用多個(gè)進(jìn)程對(duì)所述初始三維模型中的參數(shù)進(jìn)行的每輪迭代優(yōu)化,包括:
9、確定本輪迭代優(yōu)化對(duì)應(yīng)的訓(xùn)練數(shù)據(jù);
10、確定各個(gè)所述進(jìn)程本輪迭代優(yōu)化對(duì)應(yīng)的訓(xùn)練數(shù)據(jù)子集,所述訓(xùn)練數(shù)據(jù)子集中包括多組訓(xùn)練數(shù)據(jù),每組訓(xùn)練數(shù)據(jù)包括一個(gè)原始圖片以及所述原始圖片對(duì)應(yīng)的相機(jī)位姿參數(shù);
11、各個(gè)所述進(jìn)程分別利用對(duì)應(yīng)的訓(xùn)練數(shù)據(jù)子集,對(duì)所述初始三維模型中的參數(shù)進(jìn)行多步迭代優(yōu)化,其中,在每個(gè)迭代優(yōu)化步驟,每個(gè)所述進(jìn)程處理自身訓(xùn)練數(shù)據(jù)子集中的一組訓(xùn)練數(shù)據(jù),各個(gè)所述進(jìn)程的處理并行執(zhí)行,并且在間隔預(yù)設(shè)步數(shù)的迭代優(yōu)化步驟,對(duì)各個(gè)所述進(jìn)程上的三維模型進(jìn)行參數(shù)同步和密度控制。
12、在一種可能的實(shí)現(xiàn)中,所述確定本輪迭代優(yōu)化對(duì)應(yīng)的訓(xùn)練數(shù)據(jù),包括:
13、確定本輪迭代優(yōu)化對(duì)應(yīng)的隨機(jī)種子;
14、利用所述隨機(jī)種子對(duì)所述原始圖片集合中各個(gè)原始圖片的順序打亂,得到打亂后的原始圖片集合;
15、將所述打亂后的原始圖片集合以及各個(gè)原始圖片對(duì)應(yīng)的相機(jī)位姿參數(shù)作為本輪迭代優(yōu)化對(duì)應(yīng)的訓(xùn)練數(shù)據(jù)。
16、在一種可能的實(shí)現(xiàn)中,所述確定各個(gè)所述進(jìn)程本輪迭代優(yōu)化對(duì)應(yīng)的訓(xùn)練數(shù)據(jù)子集,包括:
17、將所述打亂后的原始圖片集合劃分為多個(gè)原始圖片子集,原始圖片每個(gè)原始圖片子集中包含多張?jiān)紙D片,各個(gè)原始圖片子集中包含的原始圖片數(shù)量相同,且相鄰的兩個(gè)原始圖片子集之間有部分相同的原始圖片;
18、針對(duì)每個(gè)所述原始圖片子集,將所述原始圖片子集,以及所述原始圖片子集中各個(gè)原始圖片對(duì)應(yīng)的相機(jī)位姿參數(shù)提供給所述原始圖片子集對(duì)應(yīng)的進(jìn)程,作為所述進(jìn)程對(duì)應(yīng)的訓(xùn)練數(shù)據(jù)子集。
19、在一種可能的實(shí)現(xiàn)中,每個(gè)迭代優(yōu)化步驟的實(shí)現(xiàn)方式包括:
20、每個(gè)所述進(jìn)程使用該進(jìn)程上的三維模型對(duì)所述訓(xùn)練數(shù)據(jù)中的相機(jī)位姿參數(shù)進(jìn)行渲染,得到渲染后的圖片,并根據(jù)渲染后的圖片與所述訓(xùn)練數(shù)據(jù)中的原始圖片之間的差異計(jì)算損失,并根據(jù)損失計(jì)算參數(shù)調(diào)整梯度;
21、對(duì)各個(gè)所述進(jìn)程對(duì)應(yīng)的參數(shù)調(diào)整梯度進(jìn)行同步,得到同步后的梯度;
22、每個(gè)所述進(jìn)程使用所述同步后的梯度對(duì)該進(jìn)程上的三維模型進(jìn)行參數(shù)調(diào)整。
23、本技術(shù)第二方面提供一種三維模型重建裝置,包括:
24、獲取單元,用于獲取待執(zhí)行的重建任務(wù)對(duì)應(yīng)的原始圖片集合;
25、初始化處理單元,用于對(duì)所述原始圖片集合進(jìn)行初始化處理,得到所述原始圖片集合中各個(gè)原始圖片對(duì)應(yīng)的相機(jī)位姿參數(shù),以及,初始三維模型;
26、重建單元,用于根據(jù)所述原始圖片集合以及所述原始圖片集合中各個(gè)原始圖片對(duì)應(yīng)的相機(jī)位姿參數(shù),利用多個(gè)進(jìn)程對(duì)所述初始三維模型進(jìn)行重建,得到重建的三維模型。
27、在一種可能的實(shí)現(xiàn)中,所述重建單元,具體用于:
28、根據(jù)所述原始圖片集合以及所述原始圖片集合中各個(gè)原始圖片對(duì)應(yīng)的相機(jī)位姿參數(shù),利用多個(gè)進(jìn)程對(duì)所述初始三維模型中的參數(shù)進(jìn)行多輪迭代優(yōu)化,直至多輪迭代優(yōu)化結(jié)束,得到重建的三維模型;其中,利用多個(gè)進(jìn)程對(duì)所述初始三維模型中的參數(shù)進(jìn)行的每輪迭代優(yōu)化包含多步迭代優(yōu)化。
29、在一種可能的實(shí)現(xiàn)中,所述重建單元用于利用多個(gè)進(jìn)程對(duì)所述初始三維模型中的參數(shù)進(jìn)行的每輪迭代優(yōu)化時(shí),具體用于:
30、確定本輪迭代優(yōu)化對(duì)應(yīng)的訓(xùn)練數(shù)據(jù);
31、確定各個(gè)所述進(jìn)程本輪迭代優(yōu)化對(duì)應(yīng)的訓(xùn)練數(shù)據(jù)子集,所述訓(xùn)練數(shù)據(jù)子集中包括多組訓(xùn)練數(shù)據(jù),每組訓(xùn)練數(shù)據(jù)包括一個(gè)原始圖片以及所述原始圖片對(duì)應(yīng)的相機(jī)位姿參數(shù);
32、各個(gè)所述進(jìn)程分別利用對(duì)應(yīng)的訓(xùn)練數(shù)據(jù)子集,對(duì)所述初始三維模型中的參數(shù)進(jìn)行多步迭代優(yōu)化,其中,在每個(gè)迭代優(yōu)化步驟,每個(gè)所述進(jìn)程處理自身訓(xùn)練數(shù)據(jù)子集中的一組訓(xùn)練數(shù)據(jù),各個(gè)所述進(jìn)程的處理并行執(zhí)行,并且在間隔預(yù)設(shè)步數(shù)的迭代優(yōu)化步驟,對(duì)各個(gè)所述進(jìn)程上的三維模型進(jìn)行參數(shù)同步和密度控制。
33、在一種可能的實(shí)現(xiàn)中,所述重建單元用于確定本輪迭代優(yōu)化對(duì)應(yīng)的訓(xùn)練數(shù)據(jù)時(shí),具體用于:
34、確定本輪迭代優(yōu)化對(duì)應(yīng)的隨機(jī)種子;
35、利用所述隨機(jī)種子對(duì)所述原始圖片集合中各個(gè)原始圖片的順序打亂,得到打亂后的原始圖片集合;
36、將所述打亂后的原始圖片集合以及各個(gè)原始圖片對(duì)應(yīng)的相機(jī)位姿參數(shù)作為本輪迭代優(yōu)化對(duì)應(yīng)的訓(xùn)練數(shù)據(jù)。
37、在一種可能的實(shí)現(xiàn)中,所述重建單元用于確定各個(gè)所述進(jìn)程本輪迭代優(yōu)化對(duì)應(yīng)的訓(xùn)練數(shù)據(jù)子集時(shí),具體用于:
38、將所述打亂后的原始圖片集合劃分為多個(gè)原始圖片子集,原始圖片每個(gè)原始圖片子集中包含多張?jiān)紙D片,各個(gè)原始圖片子集中包含的原始圖片數(shù)量相同,且相鄰的兩個(gè)原始圖片子集之間有部分相同的原始圖片;
39、針對(duì)每個(gè)所述原始圖片子集,將所述原始圖片子集,以及所述原始圖片子集中各個(gè)原始圖片對(duì)應(yīng)的相機(jī)位姿參數(shù)提供給所述原始圖片子集對(duì)應(yīng)的進(jìn)程,作為所述進(jìn)程對(duì)應(yīng)的訓(xùn)練數(shù)據(jù)子集。
40、在一種可能的實(shí)現(xiàn)中,所述重建單元用于每個(gè)迭代優(yōu)化步驟的實(shí)現(xiàn)時(shí),具體用于:
41、每個(gè)所述進(jìn)程使用該進(jìn)程上的三維模型對(duì)所述訓(xùn)練數(shù)據(jù)中的相機(jī)位姿參數(shù)進(jìn)行渲染,得到渲染后的圖片,并根據(jù)渲染后的圖片與所述訓(xùn)練數(shù)據(jù)中的原始圖片之間的差異計(jì)算損失,并根據(jù)損失計(jì)算參數(shù)調(diào)整梯度;
42、對(duì)各個(gè)所述進(jìn)程對(duì)應(yīng)的參數(shù)調(diào)整梯度進(jìn)行同步,得到同步后的梯度;
43、每個(gè)所述進(jìn)程使用所述同步后的梯度對(duì)該進(jìn)程上的三維模型進(jìn)行參數(shù)調(diào)整。
44、本技術(shù)第三方面提供一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)可讀指令,當(dāng)所述計(jì)算機(jī)可讀指令在電子設(shè)備上運(yùn)行時(shí),使得所述電子設(shè)備實(shí)現(xiàn)上述第一方面或第一方面任一實(shí)現(xiàn)方式的三維模型重建方法。
45、本技術(shù)第四方面提供一種電子設(shè)備,包括至少一個(gè)處理器和與所述處理器連接的存儲(chǔ)器,其中:
46、所述存儲(chǔ)器用于存儲(chǔ)計(jì)算機(jī)程序;
47、所述處理器用于執(zhí)行所述計(jì)算機(jī)程序,以使所述電子設(shè)備能夠?qū)崿F(xiàn)上述第一方面或第一方面任一實(shí)現(xiàn)方式的三維模型重建方法。
48、本技術(shù)第五方面提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)承載有一個(gè)或多個(gè)計(jì)算機(jī)程序,當(dāng)所述一個(gè)或多個(gè)計(jì)算機(jī)程序被電子設(shè)備執(zhí)行時(shí),能夠使所述電子設(shè)備上述第一方面或第一方面任一實(shí)現(xiàn)方式的三維模型重建方法。
49、借由上述技術(shù)方案,本技術(shù)提供的三維模型重建方法及相關(guān)裝置,在獲取待執(zhí)行的重建任務(wù)對(duì)應(yīng)的原始圖片集合之后,先對(duì)原始圖片集合進(jìn)行初始化處理,得到原始圖片集合中各個(gè)原始圖片對(duì)應(yīng)的相機(jī)位姿參數(shù),以及,初始三維模型,然后根據(jù)原始圖片集合,以及,原始圖片集合中各個(gè)原始圖片對(duì)應(yīng)的相機(jī)位姿參數(shù),利用多個(gè)進(jìn)程對(duì)初始三維模型進(jìn)行重建,得到重建的三維模型,由于利用多個(gè)進(jìn)程對(duì)初始三維模型進(jìn)行重建,可以減少迭代優(yōu)化的步數(shù),因此,能夠提高重建速度。