亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        面向三維重建的無人機(jī)影像并行處理技術(shù)

        2023-02-21 12:54:02龐巧遇鄧寶松桂健鈞
        關(guān)鍵詞:特征提取特征方法

        龐巧遇,鄧寶松,桂健鈞,鹿 迎

        (軍事科學(xué)院 國防科技創(chuàng)新研究院,北京 100071)

        0 引 言

        針對(duì)室外大場(chǎng)景的三維重建,大多采用基于幾何信息來恢復(fù)相機(jī)參數(shù)的SFM(Structure from motion)算法[1]。Yasutaka Fumkawa實(shí)現(xiàn)了一種精確、魯棒的稠密重建方法PMVS[2]。Newcombe提出了一種基于體素的三維稠密點(diǎn)云重建方法[3],但是重建精度受體素網(wǎng)格的分辨率限制。StereoScan提出流水線方式[4],重建結(jié)果存在許多噪點(diǎn)。吳常常實(shí)現(xiàn)的VisualSFM算法是較為完善的重建算法[5]。Schonberger等提出的方法在重建精度和完整性上做出了一些改進(jìn),其缺點(diǎn)是深度圖估計(jì)速度過慢[6]。Moulon等提出openMVG算法[7],缺少構(gòu)建稠密點(diǎn)云部分,需要結(jié)合openMVS[8]。Shan等實(shí)現(xiàn)了對(duì)大規(guī)模圖片進(jìn)行三維重建的系統(tǒng),但消耗的資源很多[9]。

        隨著CPU多核處理與GPU技術(shù)的出現(xiàn),圖像并行處理也得到迅速發(fā)展。在CPU并行處理方面,Cadena L等應(yīng)用了并行處理方式對(duì)醫(yī)學(xué)圖像進(jìn)行增強(qiáng)[10]。Indragandhi K等引入了圖像并行處理策略,提升了程序的性能[11]。Spiliotis IM等采用并行處理機(jī)制來處理圖像塊,提升了算法效率[12]。在GPU并行圖像處理方面,Davidson RL等采用GPU并行處理技術(shù)加速了空間應(yīng)用中的圖像處理[13]。Civerchia F等在機(jī)器人的圖像識(shí)別中使用了GPU并行計(jì)算[14]。

        本文基于CPU與GPU兩種架構(gòu)在三維重建的兩個(gè)執(zhí)行階段引入并行加速處理,旨在提升整體三維重建的速度。本文方法采用OpenMP多線程處理機(jī)制,首先對(duì)圖像進(jìn)行尺度優(yōu)化,提取圖像中的GPS信息,獲取鄰接信息;再使用SIFTGPU算法并行提取圖像中的特征點(diǎn),只對(duì)相鄰的圖片進(jìn)行特征匹配,以減少匹配時(shí)間;最后,通過全局式SFM得到場(chǎng)景的稀疏點(diǎn)云。

        1 處理流程框架

        本文工作主要分為兩個(gè)模塊:無人機(jī)圖像處理模塊和稀疏點(diǎn)云構(gòu)建模塊。整體流程如圖1所示。

        圖1 系統(tǒng)處理流程

        在無人機(jī)圖像處理模塊中,首先采用OpenMP多線程處理機(jī)制,以并行方式對(duì)無人機(jī)航拍圖像進(jìn)行尺度優(yōu)化,對(duì)航拍圖像進(jìn)行降采樣,方便后續(xù)步驟對(duì)其進(jìn)行處理。然后,利用OpenMP多線程處理機(jī)制,并行提取無人機(jī)航拍圖像中的GPS信息,根據(jù)空間位置確定圖像之間的鄰接關(guān)系,對(duì)圖像進(jìn)行排序。最后,該模塊的輸出信息是按照經(jīng)緯度由小到大順序排列的無人機(jī)航拍圖像,以及航拍圖像中對(duì)應(yīng)的GPS信息。

        在稀疏點(diǎn)云構(gòu)建模塊中,以排列有序的無人機(jī)航拍圖像和圖像中的GPS信息作為輸入,利用SIFTGPU算法并行提取圖像特征。將圖像中的GPS信息作為先驗(yàn)信息,只對(duì)相鄰的圖像進(jìn)行特征匹配。采用RANSAC(random sample consensus)算法來剔除誤匹配點(diǎn)[15]。根據(jù)全局式SFM,建立局部圖像和全局圖像的旋轉(zhuǎn)和平移矩陣,從而估算相機(jī)位姿和場(chǎng)景三維坐標(biāo),得到場(chǎng)景的稀疏點(diǎn)云。

        本文的研究重點(diǎn)是無人機(jī)圖像加載處理部分以及SFITGPU特征提取部分,這也是三維重建最為關(guān)鍵的兩個(gè)環(huán)節(jié),下面對(duì)這兩部分算法進(jìn)行詳細(xì)介紹。

        2 關(guān)鍵算法研究

        2.1 基于CPU的無人機(jī)影像并行處理

        原始的無人機(jī)航拍圖像尺度都非常大,其像素大小為5184 px×3888 px,文件大小為20 MB。利用無人機(jī)航拍圖像對(duì)野外場(chǎng)景進(jìn)行三維重建,需要對(duì)原始圖像進(jìn)行預(yù)處理,主要包括兩個(gè)環(huán)節(jié):①通過降采樣優(yōu)化圖像大小;②利用無人機(jī)航拍圖像中的GPS信息,獲得圖像之間的鄰接關(guān)系。

        在對(duì)無人機(jī)航拍圖像進(jìn)行尺度優(yōu)化與GPS信息提取的同時(shí),通過預(yù)處理算法對(duì)航拍圖像進(jìn)行空間拓?fù)浞治觥D像預(yù)處理算法運(yùn)行主要消耗CPU計(jì)算資源,這一過程是單線重復(fù)的。本研究方法采用OpenMP多線程處理機(jī)制,充分發(fā)揮多核CPU的計(jì)算性能,對(duì)航拍圖像進(jìn)行并行處理以提升圖像的處理速度。

        OpenMP是由計(jì)算機(jī)軟件及硬件廠商共同制定的應(yīng)用程序編程接口(application programming interface,API),是一種用于共享內(nèi)存系統(tǒng)的編程模型[16]。OpenMP的體系架構(gòu)如圖2所示,主要包括3部分,分別是:編譯指令(Compiler Directive)、環(huán)境變量(Environment Variables)以及運(yùn)行庫函數(shù)(Runtime Library Functions)。編譯指令包含指令(directive)和子句列表(clause list),指令控制并行執(zhí)行的代碼區(qū)域和線程數(shù)量,字句列表控制變量在每個(gè)線程中的作用域。編譯器通過編譯指令將串行執(zhí)行的程序轉(zhuǎn)化為并行執(zhí)行的程序。環(huán)境變量中包含一些控制命令,控制程序并行執(zhí)行。運(yùn)行庫函數(shù)能夠獲取OpenMP中每個(gè)線程的信息,以及變量在每個(gè)線程中的屬性,進(jìn)而在編譯階段,將程序進(jìn)行并行化處理。

        圖2 OpenMP體系架構(gòu)

        OpenMP的執(zhí)行過程如圖3所示,采用Fork-Join執(zhí)行模式。從一個(gè)串行執(zhí)行的單線程程序開始,將其作為主線程,在執(zhí)行并行處理程序時(shí),主線程進(jìn)行Fork操作,創(chuàng)建多個(gè)新的線程來執(zhí)行并行區(qū)域中的程序。并行區(qū)域中的每個(gè)線程獨(dú)立執(zhí)行,不會(huì)相互影響。當(dāng)每個(gè)線程執(zhí)行完成后,各個(gè)線程進(jìn)行Join操作,又重新回到串行執(zhí)行的主線程。

        圖3 Fork-Join 執(zhí)行模式

        本文研究的無人機(jī)航拍圖像處理流程如圖4所示,采用OpenMP多線程處理機(jī)制,并行處理航拍圖像,這里設(shè)置的線程數(shù)量為8。首先,以并行方式對(duì)圖像尺度進(jìn)行優(yōu)化,通過降采樣,將原始像素為5184 px×3888 px的航拍圖像大幅縮小,即將圖像像素大小調(diào)整為1250 px×1000 px。然后,再通過OpenMP多線程處理機(jī)制,并行提取圖像的GPS信息。最后根據(jù)圖像中的GPS信息,確定圖像之間的鄰接關(guān)系,按照經(jīng)緯度由小到大的順序?qū)λ袌D像進(jìn)行空間排序,為三維重建后續(xù)步驟做好鋪墊。

        圖4 無人機(jī)航拍圖像處理流程

        基于CPU的無人機(jī)影像并行處理算法的偽代碼如算法1所示。首先,通過pragma omp parallel將圖像處理程序設(shè)定為并行處理,threadcount表示線程數(shù)量,其值為8。Num表示圖像數(shù)量,newW為原始圖像的寬除以寬的縮小比例,newH為原始圖像的長除以長的縮小比例,inter設(shè)置為CV_INTER_AREA,表示輸出圖像的寬和高都不大于輸入圖像的寬和高。通過exifReader->GPSLatitude函數(shù)讀取圖像EXIF中的緯度,exifReader->GPSLongitude函數(shù)讀取圖像EXIF中的經(jīng)度。最后,根據(jù)圖像中的經(jīng)緯度,采用sort函數(shù),按照經(jīng)度由小到大,如果經(jīng)度相同按照緯度由小到大的順序?qū)D像進(jìn)行排序。

        算法1:基于CPU的無人機(jī)影像并行處理

        輸入:原始的無人機(jī)航拍圖像

        輸出:按經(jīng)緯度由小到大順序排列的航拍圖像

        #pragma omp parallel for num_threads(threadcount)

        newW ← img.cols / width_scale

        newH ← img.rows / height_scale

        inter ← CV_INTER_AREA

        resize(img, Size(newW, newH),inter)

        img.lat ← exifReader->GPSLatitude(img)

        img.lon ← exifReader->GPSLongitude(img)

        end for

        bool cmp(Image a, Image b)

        if a.lat != b.lat

        return a. lat < b. lat

        else

        return a.lon < b.lon

        sort(img, img + Num, cmp)

        采用OpenMP多線程處理機(jī)制來處理無人機(jī)航拍圖像,能夠使系統(tǒng)架構(gòu)更清晰明了;通過編譯指令對(duì)串行程序進(jìn)行并行化,也能夠加快程序的運(yùn)行速度。此外,OpenMP多線程機(jī)制具有很強(qiáng)的靈活性,可以十分容易適配不同計(jì)算單元中的并行系統(tǒng)配置。該機(jī)制能夠很好平衡線程粒度與系統(tǒng)負(fù)載之間的關(guān)系,使得線程個(gè)數(shù)與計(jì)算單元的處理器核數(shù)相匹配,從而充分發(fā)揮多核處理器的并行能力,提升無人機(jī)航拍圖像的處理速度,進(jìn)而提高三維重建的執(zhí)行效率。

        2.2 基于GPU的無人機(jī)影像特征并行提取

        無人機(jī)飛行高度較低,拍攝的場(chǎng)景圖像尺度較大,并且內(nèi)容豐富,在特征提取階段,單張圖像的特征提取往往耗時(shí)較長。本文基于改進(jìn)的SIFTGPU算法,在GPU上以并行方式對(duì)無人機(jī)航拍圖像進(jìn)行特征提取。在處理圖像過程中,首先將初始圖像上傳至GPU全局內(nèi)存中,再綁定紋理內(nèi)存,對(duì)其進(jìn)行專門的紋理緩存讀、寫操作。本文采用的紋理緩存機(jī)制,對(duì)二維空間的局部性訪問進(jìn)行了優(yōu)化,所以通過紋理緩存訪問的二維矩陣會(huì)獲得加速效果。此外,紋理緩存不需要滿足全局內(nèi)存的合并訪問條件,從而在隨機(jī)存取的環(huán)境下保持了較高的運(yùn)算性能。

        本文采用的SIFTGPU特征提取流程如圖5所示,首先利用高斯核函數(shù)對(duì)圖像進(jìn)行卷積,創(chuàng)建不同尺度的圖像,建立圖像的尺度空間;再對(duì)不同尺度的圖像進(jìn)行特征點(diǎn)檢測(cè),提取圖像中的特征點(diǎn);通過計(jì)算關(guān)鍵點(diǎn)鄰域中點(diǎn)的梯度直方圖,選擇梯度最大的點(diǎn)的方向,作為該特征點(diǎn)的主方向;將特征點(diǎn)鄰域中所有像素點(diǎn)的梯度作為特征向量,形成特征描述子。

        圖5 SIFTGPU特征提取流程

        SIFTGPU特征提取算法的偽代碼如算法2所示。首先對(duì)圖像進(jìn)行顏色空間的轉(zhuǎn)換,將RGB圖像轉(zhuǎn)換為灰度圖像。再構(gòu)建圖像金字塔,first_octave表示圖像金字塔的第一層,num_octaves為圖像金字塔的層數(shù),num_scales為金字塔每一層的圖像縮放尺度。Num為圖像的數(shù)量,w為圖像的寬,h為圖像的高。通過sift_new函數(shù)進(jìn)行關(guān)鍵點(diǎn)檢測(cè),并獲取關(guān)鍵點(diǎn)keys,以及關(guān)鍵點(diǎn)數(shù)量nkeys。計(jì)算每一個(gè)關(guān)鍵點(diǎn)的方向angles,對(duì)于關(guān)鍵點(diǎn)每個(gè)方向上的特征feature,計(jì)算出相應(yīng)的描述子descriptor。feature中存儲(chǔ)的是關(guān)鍵點(diǎn)的位置、尺度和方向,descriptor存儲(chǔ)的是歸一化后的128維特征向量。最后,將特征點(diǎn)feature與對(duì)應(yīng)的描述子descriptor導(dǎo)出到sFeat,sDesc文件中。

        算法2:SIFTGPU特征提取

        輸入:無人機(jī)航拍圖像

        輸出:圖像特征點(diǎn)與描述子文件

        first_octave ← 0, octaves ← num_octaves

        scales ← num_scales

        cvtColor(image, img,CV_RGB2GRAY)

        w ← img.cols, h ← img.rows

        filt ← sift_new(w,h,octaves,scales,first_octave)

        keys ← get_keypoints(filt)

        nkeys ← get_nkeypoints(filt)

        angles[n] ← {0}

        for(k=1: nkeys)

        nangles←keypoint_orientation(filt,angles,keys+k)

        descriptor ←keypoint_descriptor(filt,keys+k, angles[q])

        feature ←fp(keys[k].x, keys[k].y,keys[k].sigma, angles[q])

        end for

        end for

        end for

        sFeat ← feature

        sDesc ← descriptor

        本文所采用的SIFTGPU算法構(gòu)建圖像尺度空間的計(jì)算過程如下:

        將原始圖像I(x,y) 與一個(gè)可變尺度的二維高斯核函數(shù)G(xi,yi,σ) 進(jìn)行卷積運(yùn)算,得到圖像的尺度空間L(x,y,σ)。

        高斯核函數(shù)為

        (1)

        式中:參數(shù)σ為高斯平滑因子。

        圖像的尺度空間為

        L(x,y,σ)=G(xi,yi,σ)*I(x,y)

        (2)

        采用高斯核函數(shù)主要有兩個(gè)原因:①高斯核函數(shù)是唯一的尺度不變核函數(shù);②高斯核函數(shù)計(jì)算過程簡(jiǎn)單,執(zhí)行效率高,并且提取的特征具有很好的魯棒性。

        SIFTGPU[17]算法中不僅使用不同尺度的高斯核函數(shù)進(jìn)行濾波,還引入高斯金字塔,對(duì)圖像向下采樣,逐步降低圖像的分辨率,形成一系列以金字塔形狀排列的圖像,這使得圖像具有更高的尺度分辨率。并且,每組圖像中包含多層圖像,使得相鄰尺度的變化比較平滑。在同一組內(nèi),不同層圖像的尺寸是一樣的,后一層圖像的高斯平滑因子σ是前一層圖像平滑因子的k倍。

        如果不使用圖像高斯金字塔[18],只在原始分辨率的圖像上采用不同的高斯核函數(shù)進(jìn)行多尺度檢測(cè),那么在提取粗尺度特征時(shí),會(huì)產(chǎn)生很大計(jì)算量,造成資源浪費(fèi)。因?yàn)樵诒3謭D像原始分辨率不變的情況下,提取粗尺度特征需要高斯核函數(shù)的方差較大,相應(yīng)的濾波窗口也較大,計(jì)算量會(huì)激增,而圖像在大尺度上比較模糊,就沒有必要保持圖像的原始分辨率,通過構(gòu)建圖像的高斯金字塔,可以高效提取不同尺度的特征。

        基于SIFTGPU算法對(duì)圖像進(jìn)行特征提取的過程中,并不是所有步驟都在GPU中運(yùn)行,而是為每個(gè)步驟選取最合適的運(yùn)行方式,充分發(fā)揮CPU+GPU架構(gòu)優(yōu)越性能。在SIFTGPU算法中,構(gòu)建圖像的尺度空間、生成圖像高斯金字塔、建立特征點(diǎn)方向直方圖、計(jì)算主方向等步驟利用GPU進(jìn)行加速;而圖像的顏色空間轉(zhuǎn)換、描述子特征向量的歸一化等步驟則使用CPU多核并行效率更高。

        通過本文SIFTGPU算法對(duì)圖像進(jìn)行特征提取,不僅能夠快速得到圖像的特征,而且得到的SIFT特征具有很好的區(qū)分性。SIFT特征對(duì)旋轉(zhuǎn)、尺度縮放、亮度變化具有不變性,并且對(duì)視角變化、仿射變換、噪聲也保持一定程度的穩(wěn)定性。此外,SIFTGPU算法具有很好的適配性,能夠同時(shí)兼容Intel集顯、ATI和NVIDIA獨(dú)顯。這樣在具有不同顯卡配置的計(jì)算單元上都能夠運(yùn)行SIFTGPU算法,通過GPU加速,并行提取圖像中的特征,進(jìn)而提升三維重建速度。

        3 實(shí)驗(yàn)結(jié)果及分析

        3.1 實(shí)驗(yàn)環(huán)境

        為了評(píng)價(jià)本文提出的無人機(jī)影像并行圖像處理與特征提取算法,利用無人機(jī)在室外按照規(guī)劃的路徑進(jìn)行拍攝,對(duì)航拍圖像進(jìn)行測(cè)試。實(shí)驗(yàn)環(huán)境見表1,中央處理器為AMD Ryzen Threadripper 2990 WX 32-Core @ 3.00 GHz,內(nèi)存16 G,圖形處理器為NVIDIA GeForce RTX 2070(8 G),操作系統(tǒng)為Windows10,編程語言為C++。

        表1 計(jì)算機(jī)配置

        通過四旋翼無人機(jī)拍攝圖像,云臺(tái)相機(jī)為索尼DSC-QX30U,相機(jī)分辨率2000萬像素,照片大小為5184 px×3888 px,圖像數(shù)量為30,對(duì)航拍圖像進(jìn)行三維場(chǎng)景重建。在無人機(jī)圖像處理,特征提取的速度與特征點(diǎn)數(shù)量,以及稀疏點(diǎn)云的重建效果等方面,將本文提出的方法與開源算法openMVG、colmap進(jìn)行了比較。

        3.2 OpenMP并行處理實(shí)驗(yàn)分析

        針對(duì)無人機(jī)影像的圖像處理,將本文方法與openMVG、colmap開源算法進(jìn)行了性能對(duì)比。見表2,對(duì)不同數(shù)量的航拍圖像,分別從圖像的尺度優(yōu)化、提取圖像中的GPS信息以及整體運(yùn)行時(shí)間這3個(gè)方面進(jìn)行了對(duì)比,來測(cè)試這3種方法的性能。

        表2 無人機(jī)影像并行處理性能

        根據(jù)實(shí)驗(yàn)結(jié)果,在對(duì)無人機(jī)影像尺度優(yōu)化方面,本文方法的運(yùn)行時(shí)間平均比openMVG的運(yùn)行時(shí)間快了2.14倍,比colmap的運(yùn)行時(shí)間快了2.41倍;在提取無人機(jī)影像GPS信息方面,本文方法的運(yùn)行時(shí)間平均比openMVG的運(yùn)行時(shí)間快3.22倍,比colmap的運(yùn)行時(shí)間快了3.87倍;在整體運(yùn)行時(shí)間方面,本文方法的運(yùn)行時(shí)間平均比openMVG的運(yùn)行時(shí)間快2.14倍,比colmap的運(yùn)行時(shí)間快了2.41倍。

        根據(jù)表2中的數(shù)據(jù)繪制了時(shí)間對(duì)比圖,如圖6所示。隨著圖像數(shù)量的不斷增加,本文方法的運(yùn)行速度明顯快于openMVG和colmap方法,并且時(shí)間上升趨勢(shì)緩于openMVG和colmap方法。與openMVG、colmap方法相比,本文方法有更高的圖像處理性能。

        圖6 算法時(shí)間對(duì)比

        從實(shí)驗(yàn)結(jié)果中可以看出,針對(duì)無人機(jī)影像的圖像處理,本文采用OpenMP并行處理機(jī)制,將圖像處理任務(wù)分配到各個(gè)不同的核進(jìn)行并行計(jì)算,充分利用了處理器硬件方面的性能資源,發(fā)揮了多核CPU的架構(gòu)優(yōu)勢(shì)。圖像預(yù)處理算法主要消耗CPU計(jì)算資源,并且圖像處理過程是單一重復(fù)的,基于CPU的并行處理策略,能夠大幅提升圖像處理速度。本文研究在圖像的尺度優(yōu)化與提取GPS信息兩個(gè)階段,利用了OpenMP多線程處理機(jī)制,提升了圖像的處理速度,為三維重建的后續(xù)環(huán)節(jié)節(jié)省了時(shí)間。

        3.3 SIFTGPU并行特征提取實(shí)驗(yàn)分析

        在無人機(jī)影像的特征提取方面,將本文方法與openMVG、colmap開源算法進(jìn)行了性能對(duì)比。如表3所示,對(duì)不同數(shù)量的航拍圖像,在確保特征質(zhì)量的前提下,分別從圖像的特征點(diǎn)數(shù)量與提取時(shí)間這兩個(gè)維度,比較3種算法的性能指標(biāo)。

        表3 無人機(jī)影像特征提取性能比較

        結(jié)果表明,在特征點(diǎn)提取數(shù)量方面,本文方法大約是openMVG的4倍,是colmap的3倍,并且其特征描述子均符合閾值要求;在特征提取消耗時(shí)間方面,本文方法大約比openMVG快11倍,比colmap快13倍。

        表3給出了特征點(diǎn)數(shù)量與處理時(shí)間的對(duì)比,其結(jié)果如圖7所示。從中可以看出,隨著圖像數(shù)量的增加,本文方法提取的特征點(diǎn)數(shù)量明顯優(yōu)于openMVG和colmap方法,但所用時(shí)間更少。

        圖7 特征點(diǎn)數(shù)量與時(shí)間對(duì)比

        本文方法采用了SIFTGPU算法進(jìn)行特征提取,通過GPU的并行加速,在提高特征點(diǎn)提取速度的同時(shí),特征點(diǎn)數(shù)量也得到了很大的提升,從而為三維重建后續(xù)環(huán)節(jié)奠定了堅(jiān)實(shí)的基礎(chǔ)。

        本文改進(jìn)的SIFTGPU算法,在圖像特征提取過程中,采用CPU+GPU的混合架構(gòu)方式。如表4所示,這里對(duì)SIFTGPU算法的重要步驟,通過不同數(shù)量的航拍圖像,在處理性能上進(jìn)行實(shí)驗(yàn)分析。并繪制時(shí)間對(duì)比圖,如圖8所示。

        表4 SIFTGPU算法各個(gè)任務(wù)階段在GPU與CPU中的處理性能

        圖8 SIFTGPU算法各任務(wù)階段運(yùn)行時(shí)間對(duì)比

        圖8(a)中,計(jì)算特征點(diǎn)方向、計(jì)算特征點(diǎn)描述子等計(jì)算量大的步驟在GPU中運(yùn)行。圖8(b)中,圖像顏色空間轉(zhuǎn)換、描述子特征向量歸一化等計(jì)算量小的步驟在CPU中運(yùn)行。結(jié)果表明,運(yùn)算量大的步驟通過GPU加速,提升運(yùn)算效率;而運(yùn)算量小的步驟在CPU中的運(yùn)行,其消耗的時(shí)間不多,并節(jié)省了GPU的計(jì)算資源。采用這種GPU與CPU相結(jié)合的方式,充分發(fā)揮了系統(tǒng)性能,大幅縮短了特征提取時(shí)間。

        圖9對(duì)這3種方法的特征提取效果進(jìn)行了比較,圖9(a) 是openMVG方法對(duì)航拍圖像進(jìn)行特征提取的效果圖;圖9(b)是colmap方法對(duì)航拍圖像進(jìn)行特征提取的效果圖;圖9(c)是本文方法對(duì)航拍圖像進(jìn)行特征提取的效果圖。通過這些圖像的對(duì)比,可以明顯看出本文方法提取的特征更加稠密,提取效果明顯優(yōu)于openMVG和colmap方法。

        圖9 特征點(diǎn)提取效果

        為了驗(yàn)證本文方法提取特征點(diǎn)的準(zhǔn)確性,將航拍圖像進(jìn)行變換,再對(duì)變換后的圖像進(jìn)行特征匹配。由于SIFT特征對(duì)旋轉(zhuǎn)、尺度縮放具有不變性,這里對(duì)航拍圖像進(jìn)行了縮小、上下翻轉(zhuǎn)。如圖10所示,將尺度變換后的圖像與原始圖像進(jìn)行特征匹配,相同的特征點(diǎn)采用直線連接。從結(jié)果中可以看出,無論是圖像縮小,還是圖像翻轉(zhuǎn),特征匹配的連接線依然能夠準(zhǔn)確連接圖像中的特征點(diǎn),并且十分稠密,表明本文方法提取的特征點(diǎn)具有準(zhǔn)確性。

        圖10 特征匹配效果

        本文采用全局式SFM,構(gòu)建場(chǎng)景的三維點(diǎn)云。通過相鄰圖像對(duì)之間的特征匹配,計(jì)算出所有圖像對(duì)之間相機(jī)的旋轉(zhuǎn)與平移,再進(jìn)行三角測(cè)量,計(jì)算場(chǎng)景的初始結(jié)構(gòu)。最后,通過光束法平差優(yōu)化相機(jī)位姿和空間物體三維坐標(biāo),并剔除異常值,最終得到整個(gè)場(chǎng)景的稀疏點(diǎn)云。在全局式SFM重建過程中,先計(jì)算所有圖像對(duì)之間的相對(duì)旋轉(zhuǎn),再計(jì)算了全局旋轉(zhuǎn)。在整個(gè)三維重建的最后,通過光束法平差,來優(yōu)化相機(jī)位姿和場(chǎng)景點(diǎn)的3D坐標(biāo)。

        如圖11所示,基于完整流程,分別對(duì)5張、10張以及20張航拍圖像進(jìn)行三維重建,將本文方法與openMVG、colmap算法的稀疏點(diǎn)云重建效果進(jìn)行對(duì)比。圖11(a)、圖11(d)、圖11(g)是openMVG的三維重建結(jié)果,圖11(b)、圖11(e)、圖11(h)是colmap的三維重建結(jié)果,圖11(c)、圖11(f)、圖11(i)是本文方法的三維重建結(jié)果。從圖中可以明顯看出,本文方法重建的稀疏點(diǎn)云更密集,結(jié)構(gòu)更清楚,甚至可以清晰地看到場(chǎng)景輪廓。

        圖11 三維場(chǎng)景稀疏點(diǎn)云

        通過以上實(shí)驗(yàn)的對(duì)比分析,采用SIFTGPU算法對(duì)無人機(jī)影像進(jìn)行特征提取,能夠提取更多的特征點(diǎn),同時(shí)利用GPU進(jìn)行加速,極大地提高了算法效率。依據(jù)本文方法提取的特征點(diǎn)進(jìn)行完整點(diǎn)云三維重建,構(gòu)建的三維場(chǎng)景更加稠密,取得了良好的重建效果。

        4 結(jié)束語

        實(shí)驗(yàn)結(jié)果表明,本文提出的無人機(jī)影像并行圖像處理與特征提取算法大大提高了計(jì)算速度,三維重建結(jié)果明顯優(yōu)于傳統(tǒng)方法。通過引入OpenMP多線程處理機(jī)制與SIFTGPU特征提取算法,不僅提高了三維重建的速度,解決時(shí)效性差的問題,而且提升了三維重建的算法性能,使得室外大場(chǎng)景的三維重建效果得到了顯著的增強(qiáng)。該算法已經(jīng)在實(shí)際任務(wù)中得到了應(yīng)用,還可推廣應(yīng)用于搶險(xiǎn)救災(zāi)、應(yīng)急測(cè)繪和安全管控等領(lǐng)域的快速三維重建場(chǎng)景,提升數(shù)據(jù)獲取的效率。在未來,我們將進(jìn)一步改進(jìn)算法架構(gòu),降低對(duì)計(jì)算單元的要求,設(shè)計(jì)輕量化的三維重建算法,將其推廣至其它相關(guān)領(lǐng)域。此外,在多架無人機(jī)上進(jìn)行在線協(xié)同三維重建也是未來的研究方向。

        猜你喜歡
        特征提取特征方法
        如何表達(dá)“特征”
        基于Gazebo仿真環(huán)境的ORB特征提取與比對(duì)的研究
        電子制作(2019年15期)2019-08-27 01:12:00
        不忠誠的四個(gè)特征
        抓住特征巧觀察
        一種基于LBP 特征提取和稀疏表示的肝病識(shí)別算法
        可能是方法不對(duì)
        用對(duì)方法才能瘦
        Coco薇(2016年2期)2016-03-22 02:42:52
        四大方法 教你不再“坐以待病”!
        Coco薇(2015年1期)2015-08-13 02:47:34
        捕魚
        基于MED和循環(huán)域解調(diào)的多故障特征提取
        国产精品国产三级国产专区51区 | 人妻丰满熟av无码区hd| 人妻少妇边接电话边娇喘| av鲁丝一区鲁丝二区| 极品人妻少妇一区二区| 日韩中文字幕久久久老色批| 少妇被爽到高潮喷水久久欧美精品 | 久久精品国产热久久精品国产亚洲| 日韩av一区二区三区在线观看| 久久综合精品人妻一区二区三区| 97人人模人人爽人人少妇| 在线a免费观看| 伊人不卡中文字幕在线一区二区 | 日韩av一区在线播放| av黄色在线免费观看| 风流老熟女一区二区三区| 国产在线高清视频| av网页在线免费观看| 亚洲av区,一区二区三区色婷婷| 久久视频在线| 国产高清视频91| 国产精品久久国产三级国| 亚洲精一区二区三av| 50岁熟妇大白屁股真爽| 日韩欧美国产丝袜视频| 久久综合加勒比东京热| 少妇无码太爽了在线播放| 国产人妻精品一区二区三区不卡| 东京热加勒比在线观看| 久久精品国产一区老色匹| 亚洲av成人片色在线观看高潮| 亚洲丁香五月激情综合| 亚洲国产精品成人久久av| 国产亚洲精品90在线视频| 69sex久久精品国产麻豆| 亚洲精品综合第一国产综合| 在线亚洲妇色中文色综合| 国产一区二区三区小说| 国产免费一区二区三区在线观看| 亚洲av综合色区在线观看| 极品粉嫩小仙女高潮喷水操av|