本發(fā)明涉及圖像處理,尤其涉及一種圖像拼接方法、系統(tǒng)及可讀存儲(chǔ)介質(zhì)。
背景技術(shù):
1、傳統(tǒng)的美術(shù)館、博物館、展覽館等因受展覽空間和展出時(shí)間的限制,絕大部分展品無(wú)法讓觀眾較自由的看到,極大地限制了展品的影響。近年來(lái),網(wǎng)上虛擬、數(shù)字博物館逐步增多,而網(wǎng)上參觀館藏體驗(yàn)的好壞,很大程度上取決于展品圖像的拍攝質(zhì)量。因此,是否能高效的得到高像素、大視場(chǎng)的展品圖片,是一項(xiàng)關(guān)鍵技術(shù)。
2、目前由于相機(jī)的像素限制,對(duì)于如油畫、壁畫等的平面展品的高像素平面圖像的獲取方法,多是采用拼接技術(shù)。對(duì)于較大的目標(biāo),一般是按照行(s字形路徑)或列(n字形路徑)進(jìn)行掃描,然后進(jìn)行拼接。掃描的具體做法是每次按固定步長(zhǎng)移動(dòng)拍攝一系列圖像,完成整行后向下移動(dòng)到下一行,重復(fù)此過(guò)程直到全部拍攝完成,拍攝的各圖之間會(huì)保留一定的公共部分。
3、實(shí)際操作中,一是采用帶有編碼器或標(biāo)尺等的機(jī)械結(jié)構(gòu),使相機(jī)平行于被攝體,每次將相機(jī)水平移動(dòng)固定的步長(zhǎng)。這種方式通過(guò)機(jī)械結(jié)構(gòu)保證了相機(jī)平行于被攝體,拼接時(shí)僅有水平或垂直方向的移動(dòng),使得后期拼接較為簡(jiǎn)單,但對(duì)移動(dòng)及測(cè)量結(jié)構(gòu)精度要求高,拍攝前需進(jìn)行標(biāo)定以去除傾斜誤差等,且拍攝較大的展品時(shí)會(huì)對(duì)應(yīng)需要大體積的機(jī)械結(jié)構(gòu),造成系統(tǒng)復(fù)雜且費(fèi)用高。二是采用圖像處理的方法,直接通過(guò)圖像計(jì)算圖片間的位置信息,進(jìn)而進(jìn)行拼接。這種方式不需要復(fù)雜的機(jī)械結(jié)構(gòu),對(duì)相機(jī)移動(dòng)位置的精度要求低,只需要保證相鄰圖像間有一定的重合部分。但受到圖片質(zhì)量影像較大,且對(duì)于部分缺少特征的展品不適用。
4、目前主流的基于圖像處理的拼接技術(shù),是利用圖像的特征提取進(jìn)行重復(fù)區(qū)域的特征匹配的拼接和融合,此類二維拼接方法在拼接單行單列的長(zhǎng)條圖像(即如手機(jī)拍全景圖的模式)時(shí)質(zhì)量尚可,但容易出現(xiàn)水平線彎曲的情況。而且,在拼接多行多列的大型圖像時(shí),若采用同樣的二維拼接方法,會(huì)容易出現(xiàn)行之間拼接的錯(cuò)位。
5、一般來(lái)說(shuō),出現(xiàn)這種錯(cuò)位問(wèn)題是由于在拼接新的行時(shí),沒(méi)有利用到上一行的信息造成的,由于每一行的拼接很難做到完全真正水平,這就會(huì)導(dǎo)致拼接的行之間出現(xiàn)縱向上的誤差。在此基礎(chǔ)上,直接進(jìn)行拼接就會(huì)出現(xiàn)縱向上的錯(cuò)位。為了解決此類錯(cuò)誤問(wèn)題,可以采用如中國(guó)專利(公開(kāi)號(hào)為cn112270748a)提出了基于圖像的三維重建方法,使用sfm算法進(jìn)行全局優(yōu)化來(lái)重建展品的三維模型,然后在生成的三維模型的前面正中使用虛擬相機(jī)拍照渲染,進(jìn)而得到目的拼接圖像的方式來(lái)實(shí)現(xiàn)。但是,這種處理方式也存在如三維建模結(jié)果不是理想的平面、匹配精度不高以及紋理失真等的新問(wèn)題。而最近新出現(xiàn)的3dgs算法,在進(jìn)行點(diǎn)的迭代計(jì)算(包括點(diǎn)的克隆、復(fù)制、刪除和尺寸、顏色更新等)后,也存在生成的點(diǎn)云結(jié)果不是理想的平面等的問(wèn)題,無(wú)法計(jì)算得到很好的效果。
6、此外,在處理非平面的展品(如圓柱壁畫、球體畫等)時(shí),采用傳統(tǒng)的二維拼接方式無(wú)法實(shí)現(xiàn)。而采用sfm算法或3dgs算法來(lái)生成三維模型的方法,也會(huì)出現(xiàn)生成的三維模型與實(shí)際展品不完全匹配的現(xiàn)象,出現(xiàn)如表面坑坑洼洼、部分計(jì)算缺失等問(wèn)題,導(dǎo)致觀賞體驗(yàn)受到影響。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的在于提供一種圖像拼接方法、系統(tǒng)及可讀存儲(chǔ)介質(zhì),解決了現(xiàn)有圖像拼接方法存在的點(diǎn)云結(jié)果不夠理想的問(wèn)題。
2、為達(dá)到上述目的,本發(fā)明提供一種圖像拼接方法,包括以下步驟:
3、按照預(yù)設(shè)路徑進(jìn)行圖像采集獲得圖像序列,相鄰兩張圖像至少部分重合;
4、基于所述圖像序列進(jìn)行三維重建,獲取稀疏點(diǎn)云、各圖像拍攝的相機(jī)位姿、各圖像去畸變后的修正圖像以及各修正圖像對(duì)應(yīng)的相機(jī)內(nèi)參;
5、對(duì)所述稀疏點(diǎn)云進(jìn)行面的擬合計(jì)算,得到擬合方程;
6、基于所述擬合方程以及所述稀疏點(diǎn)云中各點(diǎn)的坐標(biāo),計(jì)算出擬合面的邊界;
7、在所述擬合面的邊界范圍內(nèi)進(jìn)行填充,得到填充點(diǎn)云;
8、將所述填充點(diǎn)云作為初始點(diǎn)云進(jìn)行迭代,每次迭代時(shí),隨機(jī)選取一張所述修正圖像,將虛擬相機(jī)放置到對(duì)應(yīng)的相機(jī)位姿處,并將所述虛擬相機(jī)的內(nèi)參設(shè)置為對(duì)應(yīng)的相機(jī)內(nèi)參,對(duì)上一次迭代后的點(diǎn)云進(jìn)行渲染,得到的渲染結(jié)果圖像與當(dāng)前選取的修正圖像進(jìn)行差分以修正所述點(diǎn)云的顏色,得到結(jié)果點(diǎn)云。
9、可選的,所述圖像拼接方法還包括采集不同距離拍攝的圖像,和/或調(diào)整鏡頭的焦距,和/或調(diào)整拍攝角度,以獲取更多的補(bǔ)充圖像,用于所述三維重建。
10、可選的,對(duì)所述稀疏點(diǎn)云進(jìn)行面的擬合計(jì)算之前,所述圖像拼接方法還包括:
11、對(duì)所述稀疏點(diǎn)云進(jìn)行過(guò)濾。
12、可選的,在所述擬合面的邊界范圍內(nèi)進(jìn)行填充的步驟具體包括:
13、按照預(yù)設(shè)的分隔精度,利用所述擬合方程在所述擬合面的邊界范圍內(nèi)進(jìn)行填充。
14、可選的,當(dāng)所述填充點(diǎn)云的點(diǎn)數(shù)大于設(shè)定閾值時(shí),所述圖像拼接方法還包括:
15、對(duì)所述初始點(diǎn)云進(jìn)行分塊操作;
16、對(duì)各個(gè)分塊點(diǎn)云分別進(jìn)行迭代,得到各個(gè)分塊的分塊結(jié)果點(diǎn)云;
17、所有分塊迭代完成后,對(duì)分塊結(jié)果點(diǎn)云進(jìn)行合成。
18、基于同一技術(shù)構(gòu)思,本發(fā)明還提供了一種圖像拼接系統(tǒng),包括:
19、采集模塊,被配置為按照預(yù)設(shè)路徑進(jìn)行圖像采集獲得圖像序列,相鄰兩張圖像至少部分重合;
20、重建模塊,被配置為基于所述圖像序列進(jìn)行三維重建,獲取稀疏點(diǎn)云、各圖像拍攝的相機(jī)位姿、各圖像去畸變后的修正圖像以及各修正圖像對(duì)應(yīng)的相機(jī)內(nèi)參;
21、擬合模塊,被配置為對(duì)所述稀疏點(diǎn)云進(jìn)行面的擬合計(jì)算,得到擬合方程;
22、邊界預(yù)測(cè)模塊,被配置為基于所述擬合方程以及所述稀疏點(diǎn)云中各點(diǎn)的坐標(biāo),計(jì)算出擬合面的邊界;
23、填充模塊,被配置為在所述擬合面的邊界范圍內(nèi)進(jìn)行填充,得到填充點(diǎn)云;
24、涂色模塊,被配置為將所述填充點(diǎn)云作為初始點(diǎn)云進(jìn)行迭代,每次迭代時(shí),隨機(jī)選取一張所述修正圖像,將虛擬相機(jī)放置到對(duì)應(yīng)的相機(jī)位姿處,并將所述虛擬相機(jī)的內(nèi)參設(shè)置為對(duì)應(yīng)的相機(jī)內(nèi)參,對(duì)上一次迭代后的點(diǎn)云進(jìn)行渲染,得到的渲染結(jié)果圖像與當(dāng)前選取的修正圖像進(jìn)行差分以修正所述點(diǎn)云的顏色,得到結(jié)果點(diǎn)云。
25、可選的,所述圖像拼接方法還包括采集不同距離拍攝的圖像,和/或調(diào)整鏡頭的焦距,和/或調(diào)整拍攝角度,以獲取更多的補(bǔ)充圖像,用于所述三維重建。
26、可選的,所述填充模塊被配置為按照預(yù)設(shè)的分隔精度,利用所述擬合方程在所述擬合面的邊界范圍內(nèi)進(jìn)行填充。
27、可選的,當(dāng)所述填充點(diǎn)云的點(diǎn)數(shù)大于設(shè)定閾值時(shí),所述圖像拼接系統(tǒng)還包括分塊模塊,所述分塊模塊被配置為對(duì)所述初始點(diǎn)云進(jìn)行分塊操作,所述涂色模塊還被配置為對(duì)各個(gè)分塊點(diǎn)云分別進(jìn)行迭代,得到各個(gè)分塊的分塊結(jié)果點(diǎn)云,所有分塊迭代完成后,對(duì)分塊結(jié)果點(diǎn)云進(jìn)行合成。
28、基于同一技術(shù)構(gòu)思,本發(fā)明還提供了一種可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被執(zhí)行時(shí)能實(shí)現(xiàn)如上所述的圖像拼接方法。
29、在本發(fā)明提供的一種圖像拼接方法、系統(tǒng)及可讀存儲(chǔ)介質(zhì)中,相較于現(xiàn)有的圖像拼接方法,本發(fā)明通過(guò)對(duì)所述稀疏點(diǎn)云進(jìn)行面的擬合計(jì)算,得到了精確的擬合方程,并基于所述擬合方程進(jìn)行了填充得到填充點(diǎn)云,減小了生成的結(jié)果點(diǎn)云的坐標(biāo)誤差,提高了點(diǎn)云坐標(biāo)的準(zhǔn)確性,使得計(jì)算得到的結(jié)果更為理想。