本技術涉及三維重建,特別是涉及一種基于圖像的三維重建方法、設備、介質及產品。
背景技術:
1、隨著圖像處理技術的提高,基于圖像的三維重建在攝影測量、計算機視覺、計算機圖形學等領域應用越來越多。三維重建的大概過程為:獲取相機參數已知的參考圖像和源圖像;構建各圖像的代價體;基于代價體生成多張深度圖;通過點云融合算法,將多張深度圖進行融合,得到三維視圖。但是弱紋理區域重建一直是三維重建方案的一大難題。
2、在傳統的三維重建算法中,通過手動提取特征進行特征匹配,但是其能夠在紋理豐富的區域取得較好的重建效果,但在弱紋理往往重建困難或形成空洞。后來再使用卷積神經網絡進行特征提取,但是其較小的感受野限制了對全局特征的理解,因此在弱紋理區域重建效果仍然不夠理想。雖然三維重建整體處于進步情況,但是這些方法對于弱紋理區域重建均精度很低,從而也導致整個三維重建的精度較低。
技術實現思路
1、本技術的目的是提供一種基于圖像的三維方法、設備、介質及產品,以解決背景技術所描述的問題。
2、為實現上述目的,本技術提供了如下方案:
3、第一方面,本技術提供了一種基于圖像的三維重建方法,包括:
4、獲取目標物的m張原始圖像,所述m張原始圖像為從目標物不同角度拍攝得到的圖像,所述目標物為待三維重建物;
5、從所述m張原始圖像中獲取一張圖像作為參考圖像,再獲取n-1張作為源圖像;
6、將所述一張參考圖像和n-1張源圖像發送給多尺度特征提取模型,所述多尺度特征提取模型包括預訓練的分割一切模型和預訓練的特征金字塔網絡,以使得所述多尺度特征提取模型輸出a張不同尺度的參考特征圖像和a*(n-1)張不同尺度的源特征圖像,其中a為所述預訓練的特征金字塔網絡的層數;
7、將所述a張不同尺度的參考特征圖像和a*(n-1)張不同尺度的源特征圖像發送給預訓練的代價體-深度圖模型,以使得所述代價體-深度圖模型輸出一張終極深度圖像;
8、對于m張原始圖像中的每一張圖像,輪流作為參考圖像,并執行所述“從所述m張原始圖像中獲取一張圖像作為參考圖像,再獲取n-1張作為源圖像”至“以使得所述代價體-深度圖模型輸出一張終極深度圖像”,以得到m張終極深度圖像;
9、將所述m張終極深度圖像發送給點云融合算法,以使得所述點云融合算法輸出所述目標物的三維點云模型。
10、可選地,所述預訓練的分割一切模型的視覺編碼器的權重參數處于凍結狀態。
11、可選地,所述將所述一張參考圖像和n-1張源圖像發送給多尺度特征提取模型,所述多尺度特征提取模型包括預訓練的分割一切模型和預訓練的特征金字塔網絡,以使得所述多尺度特征提取模型輸出a張不同尺度的參考特征圖像和a*(n-1)張不同尺度的源特征圖像,包括:
12、將所述一張參考圖像和n-1張源圖像發送給所述預訓練的分割一切模型,以使得所述分割一切模型輸出所述一張參考圖像和n-1張源圖像中每張圖像對應的第一特征圖像;
13、將所述一張參考圖像、n-1張源圖像和所述第一特征圖像發送給所述預訓練的特征金字塔網絡,以使得所述預訓練的特征金字塔網絡輸出所述a張不同尺度的參考特征圖像和a*(n-1)張不同尺度的源特征圖像。
14、可選地,所述預訓練的代價體-深度圖模型包括代價體構建模型、正則化模型和深度預測模型,則將所述a張不同尺度的參考特征圖像和a*(n-1)張不同尺度的源特征圖像發送給預訓練的代價體-深度圖模型,以使得所述代價體-深度圖模型輸出一張終極深度圖像,包括:
15、從所述a張不同尺度的參考特征圖像和a*(n-1)張不同尺度的源特征圖像中獲取最粗尺度的一張參考特征圖像和n-1張源特征圖像,并發送給所述代價體構建模型,以使得所述代價體構建模型輸出一個第一代價體;
16、對所述第一代價體進行正則化,得到第一概率體;
17、將所述第一概率體發送給深度預測模型,以使得所述深度預測模型輸出第一深度圖像;
18、將所述第一深度圖像進行上采樣,將所述第一深度圖像變換為次深度圖像,所述次深度圖像的尺度與次粗尺度的特征圖像的尺度一致;
19、基于所述次深度圖像、所述次粗尺度的一張參考特征圖像和n-1張源特征圖像,重新執行所述“從所述a張不同尺度的參考特征圖像和a*(n-1)張不同尺度的源特征圖像中獲取最粗尺度的一張參考特征圖像和n-1張源特征圖像”至“所述次深度圖像的尺度與次粗尺度的特征圖像的尺度一致”,得到第二深度圖像;
20、重復執行所述“從所述a張不同尺度的參考特征圖像和a*(n-1)張不同尺度的源特征圖像中獲取最粗尺度的一張參考特征圖像和n-1張源特征圖像”至“得到第二深度圖像”,直到基于最細尺度的一張參考圖像和n-1張源特征圖像得到所述終極深度圖像。
21、可選地,所述預訓練的深度預測模型為預訓練的基于二分搜索的深度預測模型,則將所述第一概率體發送給深度預測模型,以使得所述深度預測模型輸出第一深度圖像,包括:將所述第一概率體發送給預訓練的基于二分搜索的深度預測模型,以使得所述預訓練的基于二分搜索的深度預測模型輸出所述第一深度圖像。
22、可選地,所述基于二分搜索的深度預測模型通過如下方法訓練得到:
23、采集不同場景的圖像數據集,得到訓練集;
24、將所述訓練集中每張參考圖像的第一代價體發送給初始的基于二分搜索的深度預測模型,以使得所述初始的基于二分搜索深度預測模型輸出預測的深度圖像;
25、將所述訓練數據集在每個階段預測的深度圖像和真實的深度圖像發送給自適應權重調整損失函數,以使得所述自適應權重調整損失函數計算各階段的損失值,并基于所述損失值反射傳播以調整所述初始的基于二分搜索的深度預測模型的權重參數;
26、對于訓練集中的每張圖像所對應預測得到的深度圖,逐一執行上述“采集不同場景的圖像數據集”至“并基于所述損失值反射傳播以調整所述初始的基于二分搜索的深度預測模型的權重參數”,直到損失值不再下降時,停止訓練,將此時的權重參數確定為基于二分搜索的深度預測模型的最優權重參數模型,得到所述基于二分搜索的深度預測模型。
27、可選地,所述點云融合算法為基于可見性的深度圖融合算法,則所述將所述m張終極深度圖像發送給點云融合算法,以使得所述點云融合算法輸出所述目標物的三維點云模型,包括:將所述m張深度圖像發送給所述基于可見性的深度圖融合算法,以使得所述基于可見性的深度圖融合算法輸出三維點云模型。
28、第二方面,本技術提供了一種計算機設備,包括:存儲器、處理器以及存儲在存儲器上并可在處理器上運行的計算機程序,所述處理器執行所述計算機程序以實現上述第一方面中任一項所述的方法的步驟。
29、第三方面,本技術提供了一種計算機可讀存儲介質,其上存儲有計算機程序,該計算機程序被處理器執行時實現上述第一方面中任一項所述的方法的步驟。
30、第四方面,本技術提供了一種計算機程序產品,包括計算機程序,該計算機程序被處理器執行時實現上述第一方面中任一項所述的方法的步驟。
31、根據本技術提供的具體實施例,本技術公開了以下技術效果:
32、本技術實施例提供了一種基于圖像的三維重建方法,該方法包括:獲取用于三維重建的一張參考圖像和n-1張源圖像;使用分割一切模型sam和預訓練的特征金字塔網絡fpn對該參考圖像和源圖像進行特征提取,得到參考特征圖像和源特征圖像;然后再基于參考特征圖像和源特征圖像獲得n張終極深度圖像;最后,融合n張終極深度圖像得到三維點云模型。其中,分割一切模型sam和預訓練的特征金字塔網絡fpn能極大的提高網絡對弱紋理區域的感知,使得網絡能夠更好地針對弱紋理進行三維重建。而對于現有技術,使用卷積神經網絡進行特征提取,其較小的感受野限制了對全局特征的理解,因此在弱紋理區域重建效果仍然不夠理想,導致三維重建精度低。因此,相較于現有技術,本技術提高了弱紋理的三維重建精度,從而也提高了整個目標物三維重建的精度。