麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

一種基于GPU并行加速的預(yù)條件共軛梯度區(qū)域網(wǎng)平差方法與流程

文檔序號:11172128閱讀:915來源:國知局
一種基于GPU并行加速的預(yù)條件共軛梯度區(qū)域網(wǎng)平差方法與流程
本發(fā)明涉及測繪科學(xué)與技術(shù)領(lǐng)域,具體涉及一種基于GPU并行加速的預(yù)條件共軛梯度區(qū)域網(wǎng)平差方法,主要應(yīng)用于超大規(guī)模測區(qū)攝影測量等領(lǐng)域。

背景技術(shù):
區(qū)域網(wǎng)平差技術(shù)經(jīng)過幾十年的發(fā)展,其方法和流程已經(jīng)相對成熟,并且在測繪領(lǐng)域得到了廣泛的應(yīng)用。然而隨著科技的加速進(jìn)步,新的傳感器不斷涌現(xiàn),如航天領(lǐng)域的高分辨率衛(wèi)星,立體測繪衛(wèi)星,航空領(lǐng)域的規(guī)則航空攝影系統(tǒng),傾斜航空攝影系統(tǒng),無人機(jī)、飛艇攝影系統(tǒng)等。同時(shí),全世界范圍內(nèi)三維建模應(yīng)用需求不斷增加,也使得大量地面車載攝影系統(tǒng),近景攝影系統(tǒng),普通數(shù)碼相機(jī),甚至是智能手機(jī),網(wǎng)絡(luò)圖片庫等采集的影像被用于三維建模。影像數(shù)據(jù)源越來越豐富的同時(shí),其分辨率也不斷提高,以前數(shù)十米的衛(wèi)星影像如今可以達(dá)到最高0.35米(WorldView-3),航空影像的分辨率更是進(jìn)入了厘米級時(shí)代。分辨率的增加必然會帶來數(shù)據(jù)量的增大,攝影時(shí)的航線設(shè)計(jì)也不再滿足傳統(tǒng)的條帶式規(guī)則分布,給相應(yīng)的數(shù)據(jù)處理方法帶來了一定挑戰(zhàn),受法方程大小的限制,傳統(tǒng)的區(qū)域網(wǎng)平差技術(shù)流程已經(jīng)不能滿足大規(guī)模數(shù)據(jù)處理需求。特別是當(dāng)測區(qū)數(shù)據(jù)大小超過1萬張影像時(shí),傳統(tǒng)的區(qū)域網(wǎng)平差方法對內(nèi)存的需求急劇增大,即使有少部分圖形工作站內(nèi)存容量足夠大,但大量的內(nèi)存占用使得計(jì)算效率大幅降低,同時(shí),數(shù)據(jù)處理的硬件成本也隨之增大,上述問題均阻礙了各類新型傳感器數(shù)據(jù)的廣泛應(yīng)用。

技術(shù)實(shí)現(xiàn)要素:
為了解決上述問題,本發(fā)明在區(qū)域網(wǎng)平差中,引入預(yù)條件共軛梯度法求解大規(guī)模線性方程組(法方程),避免存儲大規(guī)模法方程系數(shù)矩陣,使得對大規(guī)模測區(qū)(1萬至10萬張影像,下文中統(tǒng)稱此類測區(qū)為大規(guī)模測區(qū))數(shù)據(jù)的區(qū)域網(wǎng)平差成為可能,其流程也更加易于并行化設(shè)計(jì)。預(yù)條件共軛梯度法是一個(gè)迭代求解的過程,每一次迭代都需要遍歷所有的像點(diǎn)觀測值數(shù)據(jù),每一次區(qū)域網(wǎng)平差迭代內(nèi)部又包括N次預(yù)條件共軛梯度法迭代,N是預(yù)條件共軛梯度法迭代收斂次數(shù),因而計(jì)算量較傳統(tǒng)的攝影測量區(qū)域網(wǎng)平差流程要大很多,為此,本發(fā)明采用GPU并行計(jì)算框架,將區(qū)域網(wǎng)平差的任務(wù)細(xì)分成若干部分,分別交由GPU中不同計(jì)算線程來完成,以保證處理精度,節(jié)省硬件成本,提高數(shù)據(jù)處理容量,加快處理效率。本發(fā)明所要解決的技術(shù)問題是提供一種基于GPU并行加速的預(yù)條件共軛梯度區(qū)域網(wǎng)平差方法,能夠解決現(xiàn)有技術(shù)的不足。本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下:一種基于GPU并行加速的預(yù)條件共軛梯度區(qū)域網(wǎng)平差方法,包括以下步驟:S1、在CPU端啟動(dòng)主程序,檢測并初始化可用GPU設(shè)備,獲取GPU設(shè)備信息,若存在可用GPU設(shè)備,則繼續(xù)下一步,否則退出;S2、在CPU端導(dǎo)入?yún)^(qū)域網(wǎng)平差計(jì)算需要的原始數(shù)據(jù),且將導(dǎo)入的原始數(shù)據(jù)進(jìn)行時(shí)空基準(zhǔn)統(tǒng)一,得到初始數(shù)據(jù),所述原始數(shù)據(jù)至少包括初始內(nèi)外方位元素?cái)?shù)據(jù)以及點(diǎn)位數(shù)據(jù);S3、將初始數(shù)據(jù)從CPU端拷貝至GPU內(nèi)存中,并在GPU端為各類中間數(shù)據(jù)分配內(nèi)存空間,根據(jù)GPU的計(jì)算能力和初始數(shù)據(jù)的容量大小,在GPU端為第一核函數(shù)分配線程塊個(gè)數(shù)n1,每個(gè)塊包含的線程數(shù)m1,得到總線程個(gè)數(shù)N1=n1*m1;為第二核函數(shù)分配線程塊個(gè)數(shù)n2,每個(gè)塊包含的線程數(shù)m2,得到總線程個(gè)數(shù)N2=n2*m2;為第三核函數(shù)分配線程塊個(gè)數(shù)n3,每個(gè)塊包含的線程數(shù)m3,得到總線程個(gè)數(shù)N3=n3*m3;確定N1、N2和N3的值,為多任務(wù)并行計(jì)算做準(zhǔn)備;S4、進(jìn)入?yún)^(qū)域網(wǎng)平差迭代流程:啟動(dòng)GPU端的第一核函數(shù)計(jì)算法方程常數(shù)項(xiàng)向量c,所述第一核函數(shù)分為n1個(gè)線程塊,每個(gè)線程塊擁有m1個(gè)線程,組成共n1*m1=N1個(gè)線程,每一個(gè)線程分別讀取一個(gè)或多個(gè)像點(diǎn)對應(yīng)的初始數(shù)據(jù),各線程并行計(jì)算得到對應(yīng)的法方程常數(shù)項(xiàng)向量c的一個(gè)分量,并在GPU端將各個(gè)法方程常數(shù)項(xiàng)向量c的分量累加,得到完整的法方程常數(shù)項(xiàng)向量c,然后將其拷貝回CPU端,作為步驟S6中殘差向量s的初值;S5、啟動(dòng)GPU端的第二核函數(shù)計(jì)算矩陣-向量積M-1c,第二核函數(shù)分為n2個(gè)線程塊,每個(gè)區(qū)塊擁有m2個(gè)線程,組成共n2*m2=N2個(gè)線程,每一個(gè)線程分別讀取一個(gè)或多個(gè)像點(diǎn)對應(yīng)的初始數(shù)據(jù),計(jì)算預(yù)條件矩陣M對應(yīng)的分量,并將該分量求逆并乘以法方程常數(shù)項(xiàng)向量c得到矩陣-向量積M-1c的一個(gè)分量,在GPU端將各個(gè)矩陣-向量積M-1c的分量累加,得到完整的矩陣-向量積M-1c,然后將其拷貝回CPU端,作為步驟S6中方向向量d的初值;S6、進(jìn)入預(yù)條件共軛梯度法迭代流程:對未知數(shù)改正數(shù)向量u、殘差向量s以及方向向量d進(jìn)行初始化;S7、啟動(dòng)GPU端的第三核函數(shù)計(jì)算矩陣-向量積Bd,第三核函數(shù)分為n3個(gè)區(qū)塊,每個(gè)區(qū)塊擁有m3個(gè)線程,組成共n3*m3=N3個(gè)線程,每一個(gè)線程分別讀取一個(gè)或多個(gè)像點(diǎn)對應(yīng)的初始數(shù)據(jù),各線程并行計(jì)算得到對應(yīng)的法方程系數(shù)矩陣B的分量,并將該分量乘以方向向量d,得到法方程系數(shù)矩陣B與方向向量d的矩陣-向量積Bd分量,在GPU端將各矩陣-向量積Bd分量累加,得到完整的矩陣向量積Bd;S8、根據(jù)預(yù)條件共軛梯度算法,以及本次迭代中的未知數(shù)改正數(shù)向量u,殘差向量s,方向向量d,預(yù)條件矩陣M以及法方程系數(shù)矩陣B,計(jì)算新的未知數(shù)改正數(shù)向量u、新的殘差向量s以及新的方向向量d;S9、判斷此次預(yù)條件共軛梯度迭代是否符合預(yù)定收斂條件,若符合,則結(jié)束預(yù)條件共軛梯度迭代,輸出新的未知數(shù)改正數(shù)向量u,執(zhí)行步驟S10;否則,返回步驟S7;S10、判斷此次區(qū)域網(wǎng)平差迭代是否符合預(yù)定收斂條件,若符合,則結(jié)束區(qū)域網(wǎng)平差迭代,執(zhí)行步驟S11,否則,將更新后的未知數(shù)改正數(shù)向量u從CPU拷貝至GPU,返回步驟S4;S11、根據(jù)步驟S9中輸出的新的未知數(shù)改正數(shù)向量u,更新所有的未知數(shù)數(shù)值,并輸出所有的未知數(shù)數(shù)值。本發(fā)明的有益效果是:本發(fā)明提供的基于GPU并行加速的預(yù)條件共軛梯度區(qū)域網(wǎng)平差方法,在傳統(tǒng)的區(qū)域網(wǎng)平差流程中引入了預(yù)條件共軛梯度法求解大規(guī)模法方程,避免了對法方程的存儲以及直接求逆運(yùn)算,并使得區(qū)域網(wǎng)平差流程適用于并行化設(shè)計(jì)方案,同時(shí)采用GPU并行計(jì)算框架,將區(qū)域網(wǎng)平差的任務(wù)細(xì)分成若干部分,分別交由GPU中不同計(jì)算線程來完成,以保證處理精度,節(jié)省硬件成本,提高數(shù)據(jù)處理容量,加快處理效率。本發(fā)明特別適用于超大規(guī)模測區(qū)(10萬張影像以上,如全省、全國乃至全球作為一整個(gè)測區(qū))的區(qū)域網(wǎng)平差計(jì)算。附圖說明圖1為本發(fā)明實(shí)施例一的基于GPU并行加速的預(yù)條件共軛梯度區(qū)域...
當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
主站蜘蛛池模板: 观塘区| 镇巴县| 黑河市| 富顺县| 贞丰县| 阳信县| 贵南县| 崇信县| 信宜市| 广丰县| 永春县| 惠安县| 广西| 台州市| 青冈县| 阳泉市| 桦南县| 灵石县| 长阳| 苍梧县| 西平县| 兰西县| 合川市| 崇仁县| 个旧市| 西华县| 贡嘎县| 句容市| 同仁县| 安图县| 许昌县| 高平市| 连平县| 三河市| 新龙县| 鹤山市| 芮城县| 云浮市| 平陆县| 鸡西市| 寻乌县|