該本發(fā)明涉及三維重建領(lǐng)域,尤其是一種基于歸一化全局誤差損失函數(shù)的神經(jīng)輻射場(chǎng)三維重建方法。
背景技術(shù):
1、在元宇宙概念提出來(lái)后,引起了全民討論的熱潮。在編輯元宇宙中的三維世界過(guò)程中,對(duì)現(xiàn)實(shí)世界中存在的物體方便快捷地輸入到元宇宙中是急需解決的技術(shù)問(wèn)題。在神經(jīng)輻射場(chǎng)(nerf)提出后,其渲染出的高質(zhì)量圖片讓其立刻成為計(jì)算機(jī)視覺(jué)領(lǐng)域的熱門課題,同時(shí)掀起將隱式表達(dá)用于三維重建工作的熱潮,徹底改變了三維重建和新視角合成領(lǐng)域。nerf技術(shù)的核心工作為使用已有視角下的相機(jī)位姿信息和照片來(lái)訓(xùn)練一個(gè)神經(jīng)網(wǎng)絡(luò),使用訓(xùn)練后的神經(jīng)網(wǎng)絡(luò)來(lái)渲染生成其他新視角下的圖片。我們可以采用nerf技術(shù)來(lái)通過(guò)拍攝高質(zhì)量視頻來(lái)快速對(duì)物體進(jìn)行三維重建。
2、instant-ngp(instant?neural?graphics?primitives?with?a?multiresolutionhash?encoding)為快速nerf算法,在目前最新的工作中仍是主流的快速nerf工具。但是nerf包括instant-ngp在訓(xùn)練神經(jīng)網(wǎng)絡(luò)時(shí)僅僅考慮了獨(dú)立像素中的之間的差異,缺少考慮了圖像中整體信息。針對(duì)instant-ngp中獨(dú)立考慮的損失函數(shù)及在渲染迭代步數(shù)低時(shí)渲染效果差的問(wèn)題目前仍未解決。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明提出一種基于歸一化全局誤差損失函數(shù)的神經(jīng)輻射場(chǎng)三維重建方法,解決的技術(shù)問(wèn)題如下:如何添加集中考慮思想來(lái)取代原逐像素?fù)p失。
2、為解決以上技術(shù)問(wèn)題,本發(fā)明提供一種基于歸一化全局誤差損失函數(shù)的神經(jīng)輻射場(chǎng)三維重建方法,包括步驟:
3、步驟s1:在原instant-ngp中計(jì)算損失函數(shù)時(shí),在每個(gè)線程中計(jì)算一個(gè)像素對(duì)的顏色差值,多個(gè)線程并行計(jì)算顏色誤差。
4、步驟s2:根據(jù)線程索引設(shè)置一個(gè)固定數(shù)量的自定義線程塊,設(shè)置一個(gè)線程為主導(dǎo)線程,其余周圍的線程為輔助線程。每個(gè)線程都有作為主導(dǎo)線程的機(jī)會(huì)。
5、步驟s3:設(shè)置線程索引為的線程為線程塊中的主導(dǎo)線程,設(shè)置可調(diào)整的自定義線程塊所包含的線程數(shù)量m,設(shè)置的線程索引范圍為[mmin,mmax]:
6、
7、在原本instant-ngp線程中計(jì)算像素差值前,通過(guò)線程索引,收集自定義線程塊中的像素顏色信息,自定義線程塊中的多個(gè)線程的信息和c(m),對(duì)應(yīng)于線程塊中所有線程的真值顏色集合表示如下:
8、
9、一個(gè)線程塊中所有線程所包含的渲染顏色集合表示為:
10、
11、步驟s4:需要一個(gè)高效的圖像相似度指標(biāo)來(lái)計(jì)算線程塊中的多個(gè)線程的像素信息,引入ergas(歸一化全局誤差)來(lái)高效的收集線程塊里面的整體信息,具體步驟如下:
12、步驟s41:原版ergas使用于遙感圖像中,其公式如下:
13、
14、其中,h和l為融合圖像和參考圖像的空間分辨率,n為光譜帶數(shù),k為每個(gè)波段的指數(shù),rmse(bk)為融合圖像與參考圖像k波段的均方根誤差,μ(k)為參考圖像k波段的平均值;
15、步驟s42:根據(jù)原版ergas,設(shè)置本發(fā)明中使用的公式,如下:
16、
17、在本發(fā)明中,在同一個(gè)線程塊中是線程數(shù)量相同的,h/l設(shè)置為1,只用到了紅綠藍(lán)三個(gè)波段,故n設(shè)置為3,m為線程塊中的線程數(shù)量,為線程塊中第m個(gè)線程真值的第k波段的顏色,為線程塊中第m個(gè)線程渲染出的第k波段的顏色;
18、步驟s5:將以主導(dǎo)線程為中心進(jìn)行線程塊的像素信息集中考慮。計(jì)算自定義線程塊的ergas值,求平均值后得到主線程的項(xiàng),如下所示:
19、
20、其中m為自定義線程塊中的線程個(gè)數(shù),為主導(dǎo)線程的線程索引,c(m)和c(m)分別為自定義線程塊中線程的真值顏色和渲染出的顏色;
21、步驟s6:獲取nerf包括instant-ngp中的逐像素點(diǎn)的mse損失函數(shù):
22、
23、其中r為該像素所處射線,r為射線集合,為渲染出的顏色,c(r)為真值顏色,由此看出,只逐點(diǎn)考慮來(lái)訓(xùn)練網(wǎng)絡(luò),損失函數(shù)為逐像素點(diǎn)計(jì)算的,缺少的對(duì)像素之間相關(guān)性的考慮;
24、步驟s7:將線程塊中計(jì)算的值加入到線程塊中主導(dǎo)線程的損失函數(shù)中,由于ergas沒(méi)有梯度,將ergas值平均后,和主線程的原來(lái)的顏色損失進(jìn)行合并,進(jìn)而完成對(duì)于主線程中損失函數(shù)的改造,新?lián)p失函數(shù)如下所示:
25、
26、其中為主導(dǎo)線程的線程索引即對(duì)應(yīng)像素所處的射線,r為射線集合,λ1為項(xiàng)的參數(shù);
27、步驟s8:進(jìn)行初步實(shí)驗(yàn)后,發(fā)現(xiàn)將ergas損失項(xiàng)加入到原損失函數(shù)中時(shí),ssim評(píng)價(jià)指標(biāo)會(huì)降低,因此我們向損失函數(shù)中加入ssim后,來(lái)部分抵消其影響,加入的ssim損失項(xiàng)如下:
28、
29、
30、
31、其中μa和μb依次表示和c(m)的均值,σa和σb依次表示和c(m)的方差,σab表示和c(m)的協(xié)方差,c1、c2以及c3表示三個(gè)常數(shù);
32、步驟s9:最小化總重建損失lall來(lái)優(yōu)化網(wǎng)絡(luò)參數(shù),總重建損失函數(shù)為:
33、lall=lergas+λ2lssim,
34、其中λ2為ssim損失項(xiàng)的系數(shù);
35、步驟s10:確定參數(shù)λ1和λ2的值分別為0.00125和0.1,對(duì)于損失函數(shù)中兩個(gè)系數(shù)的設(shè)定和psnr指標(biāo)的相關(guān)性在nerf_synthetic數(shù)據(jù)集中的drums場(chǎng)景上進(jìn)行了迭代步數(shù)為4000的實(shí)驗(yàn),發(fā)現(xiàn)λ1為0.00125,λ2為0.1時(shí)psnr指標(biāo)更高,首先調(diào)整λ1時(shí),以psnr評(píng)價(jià)指標(biāo)進(jìn)行實(shí)驗(yàn),在0.00125處有著更好的效果;之后在λ1固定為0.00125時(shí),對(duì)不同的λ2的值進(jìn)行psnr的測(cè)評(píng),最終發(fā)現(xiàn)λ2處于0.1時(shí)效果最好。
36、和原instant-ngp相比,本文提供的一種基于歸一化全局誤差損失函數(shù)的神經(jīng)輻射場(chǎng)三維重建方法,通過(guò)將s3im中的像素點(diǎn)集中考慮引申到自定義線程塊中像素信息集中考慮。在多個(gè)線程根據(jù)主導(dǎo)線程的不同位置,設(shè)置為不同的線程塊。將ergas引入到自定義線程塊中計(jì)算整體信息。通過(guò)線程中像素信息集中考慮并引入了ergas收集線程塊中像素信息,我們發(fā)現(xiàn)可以讓改進(jìn)后的算法訓(xùn)練時(shí)會(huì)考慮更多像素信息,在低迭代步數(shù)時(shí)有著更好的渲染效果,其中對(duì)于連續(xù)的圖像結(jié)構(gòu)有著更好的渲染完整性。
1.一種基于歸一化全局誤差損失函數(shù)的神經(jīng)輻射場(chǎng)三維重建方法,其特征在于,包括步驟:
2.根據(jù)權(quán)利要求1所述的一種基于歸一化全局誤差損失函數(shù)的神經(jīng)輻射場(chǎng)三維重建方法,其特征在于所述步驟自定義線程塊中的多個(gè)線程的信息和c(m),對(duì)應(yīng)于線程塊中所有線程的真色集合表示如下:
3.根據(jù)權(quán)利要求1所述的一種基于歸一化全局誤差損失函數(shù)的神經(jīng)輻射場(chǎng)三維重建方法,其特征在于所述步驟最終損失函數(shù)為: