新四季網

一種混合cpu和gpu的大規模物體群的碰撞剔除方法

2023-07-26 16:48:51 1

一種混合cpu和gpu的大規模物體群的碰撞剔除方法
【專利摘要】本發明公開了一種混合CPU和GPU的大規模物體群的碰撞剔除方法,其步驟:1)把物體群分成小形狀物體群和大形狀物體群兩類;2)將小形狀物體群存入GPU的Global內存中,在GPU中建立改進的LBVH樹,再用並行SaP算法進行葉子節點內和葉子節點間的碰撞剔除計算;3)在CPU上用並行SaP算法完成基於檢測粒度的共享工作隊列的多線程的大形狀物體群之間的碰撞剔除計算,再協同GPU同步計算的LBVH小形狀物體群的碰撞剔除結果,用兩次並行SaP算法進行大形狀物體群和小形狀物體群之間的碰撞剔除計算;4)建立協同CPU和GPU同步碰撞檢測的計算模型;5)分析比較不同數量級物體群的碰撞剔除計算時間。本發明在百萬級以下的物體群規模情況下,比現有傳統並行算法快10-30倍。
【專利說明】一種混合CPU和GPU的大規模物體群的碰撞剔除方法

【技術領域】
[0001] 本發明涉及三維模型碰撞檢測【技術領域】,尤其是指一種混合CPU和GPU的大規模 物體群的碰撞剔除方法。

【背景技術】
[0002] 隨著三維電影、動畫和遊戲等的快速發展,面向複雜三維場景的快速碰撞檢 測問題已成為人們探索的研究熱點之一。碰撞檢測問題是三維圖形中的經典問題, 包括基於包圍盒的檢測,基於時間或空間連貫性的檢測等。隨著多核CPUs的出現和 GPGPU (General-Purpose Computation on Graphics Processing Units)的興起,碰撞檢測 在多核處理器上的研究也有一些成果,但是大多數研究是基於GPU計算的。CPU和GPU具有 不同的運算特性,如何充分發揮各自的運算能力,協作CPU和GPU的並行處理任務是目前碰 撞檢測問題新的研究領域。所以,需要建立一些新的方法,用於大規模物體群的碰撞檢測和 剔除。


【發明內容】

[0003] 本發明的目的在於克服現有技術的不足,提供一種混合CPU和GPU的大規模物體 群的碰撞剔除方法,運用了多核技術和同步並行計算,尤其適用於由少量的大形狀和大量 的小形狀組成的物體群,對於複雜三維場景的快速碰撞剔除計算具有重要意義。
[0004] 為實現上述目的,本發明所提供的技術方案為:一種混合CPU和GPU的大規模物體 群的碰撞剔除方法,包括以下步驟:
[0005] 1)大規模物體群分類預處理,由CPU完成所有輸入物體的聚類分析,把物體群分 成小形狀物體群和大形狀物體群兩類;
[0006] 2)將小形狀物體群存入GPU的Global內存中,在GPU中建立改進的LBVH樹,再用 並行SaP算法進行葉子節點內和葉子節點間的碰撞剔除計算;
[0007] 3)在CPU上用並行SaP算法完成基於檢測粒度的共享工作隊列的多線程的大形狀 物體群之間的碰撞剔除計算,再協同GPU同步計算的LBVH小形狀物體群的碰撞剔除結果, 用兩次並行SaP算法進行大形狀物體群和小形狀物體群之間的碰撞剔除計算;
[0008] 4)建立協同CPU和GPU同步碰撞檢測的計算模型,實現混合多核的同步並行計 算;
[0009] 5)分析比較不同數量級物體群的碰撞剔除計算時間。
[0010] 在所述步驟1)中,提出用物體AABB包圍盒的對角線長度作為統計量,並向有序列 表的兩端聚集,最後確定大形狀物體群和小形狀物體群的分割點。
[0011] 所述步驟2)包括以下過程:
[0012] 2. 1)在GPU上進行小形狀物體群的碰撞剔除計算,包括:提出改進的LBVH算法, 對物體群進行空間劃分,再用並行SaP算法計算LBVH葉子上的各劃分空間的物體位置關 系;
[0013] 2. 2)在並行SaP計算中,要確定SaP的掃描方向,提出用與最大方差軸夾角最小的 空間主軸作為並行SaP的掃描方向,以減少任何形狀包圍體投影后的重構工作量;其中,最 大方差軸方向w為:

【權利要求】
1. 一種混合CPU和GPU的大規模物體群的碰撞剔除方法,其特徵在於,包括以下步驟: 1) 大規模物體群分類預處理,由CPU完成所有輸入物體的聚類分析,把物體群分成小 形狀物體群和大形狀物體群兩類; 2) 將小形狀物體群存入GPU的Global內存中,在GPU中建立改進的LBVH樹,再用並行 SaP算法進行葉子節點內和葉子節點間的碰撞剔除計算; 3) 在CPU上用並行SaP算法完成基於檢測粒度的共享工作隊列的多線程的大形狀物體 群之間的碰撞剔除計算,再協同GPU同步計算的LBVH小形狀物體群的碰撞剔除結果,用兩 次並行SaP算法進行大形狀物體群和小形狀物體群之間的碰撞剔除計算; 4) 建立協同CPU和GPU同步碰撞檢測的計算模型,實現混合多核的同步並行計算; 5) 分析比較不同數量級物體群的碰撞剔除計算時間。
2. 根據權利要求1所述的一種混合CPU和GPU的大規模物體群的碰撞剔除方法,其特 徵在於,在所述步驟1)中,提出用物體AABB包圍盒的對角線長度作為統計量,並向有序列 表的兩端聚集,最後確定大形狀物體群和小形狀物體群的分割點。
3. 根據權利要求1所述的一種混合CPU和GPU的大規模物體群的碰撞剔除方法,其特 徵在於,所述步驟2)包括以下過程: 2. 1)在GPU上進行小形狀物體群的碰撞剔除計算,包括:提出改進的LBVH算法,對物 體群進行空間劃分,再用並行SaP算法計算LBVH葉子上的各劃分空間的物體位置關係; 2. 2)在並行SaP計算中,要確定SaP的掃描方向,提出用與最大方差軸夾角最小的空間 主軸作為並行SaP的掃描方向,以減少任何形狀包圍體投影后的重構工作量;其中,最大方 差軸方向w為:
式中,X為輸入物體群的坐標數據集,argmax(w)為w方向各分量的最大值;因此,掃描 方向s為:
2. 3)在構造LBVH樹時,即進行物體群的空間劃分時,為了提高並行SaP的計算密度,葉 子內包含的物體數量應該足夠多,並且葉子內物體的分布方向應與SaP掃描方向一致,以 降低並行SaP的冗餘檢測計算,因此,提出對原來LBVH的Morton編碼方式做以下改進:(i) 增加非掃描方向坐標的表示位,增加精度;(ii)減少掃描方向的坐標表示位;(iii)將掃描 方向的坐標表7]^位移向低位; 2. 4)改進後的Morton編碼仍保持最小點或最大點不變性,所以,在構造LBVH樹時可以 使用物體包圍盒的最小點,從而減少包圍盒其它頂點定位的空間搜索計算; 2. 5)葉子內物體的碰撞剔除檢測就是完成一個劃分子空間的碰撞剔除檢測,採用並行SaP算法; 2. 6)葉子間物體的碰撞剔除檢測,在構造LBVH樹時,空間劃分不是嚴格地分離物體, 一些物體可能跨越兩個子空間,所以要判斷跨越葉子的物體是否與葉子內的物體有碰撞, 在此提出用向後、向前的二次並行SaP掃描方法,執行下面步驟2. 6. 1)至步驟2. 6. 3): 2.6. 1)查找跨越葉子的物體,稱作跨越物體,即檢查每個物體最大點的編碼是否超出 其所在區間,查找的複雜度是O(logN),N為物體個數; 2. 6. 2)判斷跨越物體與葉子的碰撞情況; 2.6.3)兩次使用並行SaP算法求跨越物體與碰撞葉子內的物體的碰撞檢測:第一次是 按照投影最小值排序後進行向後掃描,求跨越物體之後的物體碰撞檢測;第二次是按照投 影最大值排序後進行向前掃描,求跨越物體之前的物體碰撞檢測;最後還需刪除重複的碰 撞對。
4. 根據權利要求1所述的一種混合CPU和GPU的大規模物體群的碰撞剔除方法,其特 徵在於:在步驟3)中,由於CPU的線程數相對於GPU的線程數是很少的,但是線程的運算相 對GPU要獨立,所以,大形狀物體群之間的碰撞檢測算法採用共享工作隊列的任務分組的 檢測策略,即每個線程從共享工作隊列中獲取一組任務進行碰撞檢測,這裡,一組任務的大 小稱作檢測粒度,假設共享工作隊列的物體個數為n,即隊列長度,檢測粒度為w,線程數為 t,第i個線程的共享工作隊列的任務索引為Pi,大形狀物體群碰撞檢測算法包括以下步驟 3. 1.l)-3. 1. 5): 3. 1. 1)初始化各線程的任務索引Pi= 0(i= 1,2,…,t); 3. 1. 2)啟動SaP工作線程,每個線程並行執行以下步驟; 3. 1. 3)如果i>n,則當前線程結束; 3. 1. 4)對m=min(Pi+w,n) _Pi個隊列元素進行SaP碰撞檢測; 3. 1. 5)更新任務索引值Pi=minh+w,n),執行上面步驟3. 1. 3); 大形狀物體群和小形狀物體群之間的碰撞剔除計算也是用基於檢測粒度的共享工作 隊列的多線程方法,主要有以下三個步驟: 3. 2. 1)CPU獲取GPU中計算得到的較小物體的LBVH層次結構; 3. 2. 2)對每一個大形狀物體,在LBVH層次中檢測與之相交的葉子節點; 3. 2. 3)兩次使用並行SaP算法求大形狀物體與碰撞葉子內的物體的碰撞對。
5. 根據權利要求1所述的一種混合CPU和GPU的大規模物體群的碰撞剔除方法,其特 徵在於,所述步驟4)包括以下過程: 4. 1)當CPU上完成大規模物體群的聚類分析時,同步進行大形狀物體群的CPU碰撞檢 測,以及小形狀物體群的GPU上的LBVH構造、葉子內物體的投影和排序計算; 4.2) 當上面步驟4. 1)中的CPU檢測和GPU計算完成時,同步進行大形狀和小形狀物體 群的CPU上向後並行SaP檢測,以及小形狀物體群的GPU上葉子內SaP檢測和葉子間向後 並行SaP檢測和向前SaP投影和排序計算; 4.3) 當上面步驟4. 2)中的CPU檢測和GPU計算完成時,同步進行大形狀和小形狀物體 群的CPU上向前並行SaP檢測,以及小形狀物體群的GPU上葉子間向前SaP檢測,最後,CPU 和GPU分別檢測重複的碰撞對,完成全部碰撞剔除檢測。
【文檔編號】G06T1/20GK104408685SQ201410713568
【公開日】2015年3月11日 申請日期:2014年11月28日 優先權日:2014年11月28日
【發明者】楊喬傑, 陳澤琳 申請人:華南理工大學

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀