999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于GPU的高速鐵路扣件實(shí)時(shí)探測(cè)技術(shù)

2011-06-11 03:35:18王夢(mèng)雪陶衛(wèi)楊金峰吳芳趙輝王衛(wèi)東任盛偉
關(guān)鍵詞:檢測(cè)

王夢(mèng)雪,陶衛(wèi),楊金峰,吳芳,趙輝,王衛(wèi)東,任盛偉

(1.上海交通大學(xué) 電子信息與電氣工程學(xué)院,上海 200240,2.中國(guó)鐵道科學(xué)研究院,北京 10081)

0 引言

扣件在鐵路系統(tǒng)起到固定鐵軌的重要作用.而現(xiàn)今,扣件檢測(cè)主要依靠的是鐵路工人的沿線排查,速度慢效率低.特別是近年來(lái)高速鐵路的興起,其封閉環(huán)境更增加了人工巡檢的難度[1].目前國(guó)際上對(duì)此常用的解決方案多為視覺(jué)自動(dòng)化檢測(cè)技術(shù),即在巡檢車上掛載高速相機(jī),拍攝扣件圖片,對(duì)圖片進(jìn)行處理分析,實(shí)現(xiàn)自動(dòng)化檢測(cè).

但是,由于傳統(tǒng)的圖像處理與模式識(shí)別存在信息量大、處理速度低的缺陷,扣件在線探測(cè)速度低一直是影響該方法實(shí)際應(yīng)用的軟肋.到目前為止,國(guó)內(nèi)外扣件最快檢測(cè)速度出現(xiàn)在西日本鐵路公司2006年的新干線141系綜合檢測(cè)車上,但也只在150 km/h左右.

隨著我國(guó)高速鐵路事業(yè)的發(fā)展,其對(duì)扣件檢測(cè)的速度要求越來(lái)越高.特別是我國(guó)近期開(kāi)通的京滬高鐵,其對(duì)檢測(cè)速度的要求更是達(dá)到了400 km/h以上.由此可見(jiàn),提高扣件在線檢測(cè)速度的要求迫在眉睫.

針對(duì)這個(gè)問(wèn)題,本文提出了一種基于GPU加速的扣件在線檢測(cè)技術(shù),可以準(zhǔn)確地識(shí)別扣件缺失狀況,同時(shí)將處理速度大幅度提高,滿足了400 km/h高鐵試驗(yàn)速度的在線探測(cè)要求.

1 系統(tǒng)組成與工作原理

該鐵路扣件在線探測(cè)系統(tǒng)由兩個(gè)探測(cè)器和一個(gè)控制系統(tǒng)組成.左右探測(cè)器分別監(jiān)測(cè)左右兩個(gè)鋼軌的扣件狀態(tài),檢測(cè)信號(hào)送入處理系統(tǒng),進(jìn)行處理、識(shí)別、判斷、存儲(chǔ)和輸出.位置信號(hào)來(lái)自車輪和車體,報(bào)警信號(hào)送至車載處理中心.圖1中為單個(gè)探測(cè)器的組成示意圖.

圖1 扣件探測(cè)系統(tǒng)組成原理示意圖

在列車運(yùn)行過(guò)程中,兩臺(tái)高速工業(yè)相機(jī)連續(xù)拍攝扣件所在區(qū)域的灰度圖像,并對(duì)其進(jìn)行圖像處理和模式識(shí)別,最終得到匹配結(jié)果,實(shí)時(shí)檢測(cè)了扣件缺失狀況.

采用通用的模式識(shí)別算法提取扣件圖像的紋理信息,通過(guò)與標(biāo)準(zhǔn)扣件模板進(jìn)行局部梯度值匹配,并與設(shè)定閾值比較,從而判斷扣件缺失情況,具有穩(wěn)定度高,不隨扣件形狀的改變而失效的優(yōu)點(diǎn).其信息量豐富,故處理速度相對(duì)較慢,無(wú)法滿足高速鐵路的在線探測(cè)需求.

GPU原本應(yīng)用于復(fù)雜3D圖形及圖像的處理運(yùn)算.與CPU相比,GPU是一種高并行度、多線程、擁有強(qiáng)大計(jì)算能力和極高存儲(chǔ)器帶寬的多核處理器[2].現(xiàn)今,其最高理論浮點(diǎn)計(jì)算速度已經(jīng)可以達(dá)到40Tflops,遠(yuǎn)遠(yuǎn)高于同期的 CPU.如今,隨著計(jì)算統(tǒng)一設(shè)備架構(gòu)(Compute Unified Device Architecture,CUDA)的出現(xiàn),使得GPU的可編程性能再度得到提升.

所以本文采用了一種基于GPU與CPU協(xié)作的處理技術(shù),即GPU負(fù)責(zé)圖像算法運(yùn)算,CPU則負(fù)責(zé)流處理,這樣實(shí)現(xiàn)了扣件缺失的高速探測(cè).

2 GPU相關(guān)研究

GPU發(fā)展到現(xiàn)在,已經(jīng)遠(yuǎn)遠(yuǎn)不只圖形渲染圖形處理領(lǐng)域的應(yīng)用.作為廣義的圖形處理器,大量的并行處理單元和存儲(chǔ)控制單元使其在通用計(jì)算方面能比CPU提供更多的運(yùn)算資源.

NVIDIA GPU使用了CUDA編程模型,對(duì)圖形硬件和API進(jìn)行封裝,使得開(kāi)發(fā)人員把GPU看成是一個(gè)包含了許多核許多線程的處理器,并在類似于CPU的編程環(huán)境中對(duì)GPU進(jìn)行編程,實(shí)現(xiàn) GPU 的通用計(jì)算[3].

本文主要以新一代的Fermi架構(gòu)GF100[4]來(lái)說(shuō)明CUDA的軟硬件架構(gòu).從硬件架構(gòu)來(lái)看,GF100包含四個(gè)圖形處理團(tuán)簇(GPC,Graphic Processing Core).每個(gè)GPC包含一個(gè)光柵引擎和四個(gè)SM(Streaming Multiprocessor,多線程流處理器)單元以及一些存儲(chǔ)單元.如圖2中所示.

圖2 GPC架構(gòu)

軟件上,CUDA對(duì)底層硬件的封裝,使其對(duì)外顯示出線程的三層組織結(jié)構(gòu),如圖3所示.具體如何組織網(wǎng)格(grid)由啟動(dòng)kernel函數(shù)時(shí)提供的配置參數(shù)決定[5].執(zhí)行配置的第一個(gè)參數(shù)指定網(wǎng)格的維度,第二個(gè)參數(shù)指定塊的維度,如 kernel Function<<<dimGrid,dimBlock> > > (…),dimGrid表示一個(gè)Grid中的Block數(shù)量,而dim-Block則表示一個(gè)Block中的thread數(shù)量.

圖3 kernel組織結(jié)構(gòu)

而GPU理論性能的描述主要從以下幾個(gè)方面描述:

(1)CGMA(Compute to Global Memory Access),是在CUDA程序的某一區(qū)域內(nèi)每次訪問(wèn)全局存儲(chǔ)器時(shí),執(zhí)行浮點(diǎn)操作運(yùn)算的次數(shù).

(2)Speedup(加速比),此項(xiàng)指標(biāo)是指對(duì)于同一算法的實(shí)現(xiàn),GPU與CPU的耗時(shí)比值.記CPU耗時(shí)為ts,GPU耗時(shí)為tp,則

3 扣件探測(cè)算法在GPU上的實(shí)現(xiàn)

3.1 算法實(shí)現(xiàn)步驟

實(shí)際算法在GPU上進(jìn)行并行計(jì)算主要有以下步驟:

(1)將主機(jī)端內(nèi)存中的圖像數(shù)據(jù)和模板紋理通過(guò)PCI-E總線傳輸?shù)皆O(shè)備端全局存儲(chǔ)器,并綁定到GPU的紋理存儲(chǔ)器中.

(2)對(duì)輸入圖像數(shù)據(jù)進(jìn)行邊緣提取,抽樣濾波以及模板匹配等處理,將匹配結(jié)果存入全局存儲(chǔ)器中以便送回給主機(jī)端.

(3)將匹配結(jié)果傳出給主機(jī)端,方便進(jìn)行顯示,分析.

具體算法流程及存儲(chǔ)器設(shè)計(jì)如圖4所示.此算法利用GPU的高吞吐量,采用一次向GPU壓入N幅圖像,降低了平均每幅圖像的傳輸延時(shí);通過(guò)充分利用shared memory的塊內(nèi)快存儲(chǔ)特性,減少了程序?qū)lobal memory的讀寫(xiě)次數(shù),對(duì)提高CUDA kernel的性能有很大意義;使用了texture memory對(duì)圖像進(jìn)行梯度的計(jì)算,同樣提高了算法穩(wěn)定性和快速性.

圖4 算法流程圖

3.2 GPU程序的優(yōu)化

影響CUDA kernel函數(shù)性能的因素主要有以下三個(gè):CPU-GPU之間的數(shù)據(jù)傳輸延時(shí);全局存儲(chǔ)器的訪存頻率(CGMA值);kernel函數(shù)的結(jié)構(gòu)組成(分支、循環(huán)).下面會(huì)分別對(duì)這三點(diǎn)進(jìn)行詳細(xì)分析,并針對(duì)本文的算法進(jìn)行優(yōu)化處理.

下面是一組未經(jīng)過(guò)優(yōu)化的實(shí)驗(yàn)數(shù)據(jù),如圖5所示.50表示一次傳入GPU的圖像數(shù)為50幅,1表示一次傳入一幅.圖像分辨率分別為160 dpi×120 dpi,320 dpi× 240 dpi.

圖5 多幅圖一次傳入性能比較

從圖中可以很明顯的看出,一次壓入50幀比一次壓入1幀的平均每幀傳輸延時(shí)減少了50~100倍,這是由于多次傳輸會(huì)浪費(fèi)GPU大量warp線程,而一次傳輸會(huì)大大減少這種浪費(fèi).鑒于這個(gè)原因,本文采用大吞吐量設(shè)計(jì),考慮GPU一次處理多幀圖像,降低每幀的平均延時(shí).

其次,CGMA同樣對(duì)CUDA程序性能影響很大.CGMA能綜合反映出許多對(duì)執(zhí)行效能有影響的因素如I/O效能,內(nèi)存架構(gòu),cache的一致性.例如,NVIDIA公司生產(chǎn)的GTX470支持全局存儲(chǔ)器的訪問(wèn)帶寬為135.9 GB/s,則對(duì)于單精度浮點(diǎn)數(shù)的加載速度不會(huì)超過(guò)33.975Gflops(135.9/4).如果CGMA比值為1.0,即執(zhí)行一次單精度浮點(diǎn)運(yùn)算即加載一次全局存儲(chǔ)器數(shù)據(jù),則每秒鐘可執(zhí)行的浮點(diǎn)操作也不會(huì)超過(guò)33.975Gflops,這相對(duì)于GTX470理論最高單精度浮點(diǎn)處理速度1.633Tflops來(lái)說(shuō),實(shí)在是相形見(jiàn)絀,限制了硬件良好性能的充分發(fā)揮.所以提高CGMA比值,是提高kernel函數(shù)性能的關(guān)鍵.

本文針對(duì)提高CGMA使用了兩種方法:第一,選擇將圖像數(shù)據(jù)和模板紋理數(shù)據(jù)均綁定到紋理存儲(chǔ)器,從而減少對(duì)global memory的讀寫(xiě).紋理存儲(chǔ)器(texture memory)是由GPU用于紋理渲染的圖形專用單元發(fā)展而來(lái),有著無(wú)需考慮圖像訪問(wèn)越界等獨(dú)特的特性,從底層的存儲(chǔ)機(jī)制來(lái)說(shuō),紋理存儲(chǔ)器是一種SP訪問(wèn)全局存儲(chǔ)器的不嚴(yán)格機(jī)制,以緩沖來(lái)自全局存儲(chǔ)器的數(shù)據(jù).一旦將全局存儲(chǔ)器中的某一區(qū)域與紋理存儲(chǔ)器綁定,那么只有當(dāng)緩沖失敗的情況,才會(huì)訪問(wèn)全局存儲(chǔ)器,大大減少了訪問(wèn)global memory的次數(shù),提高了CGMA比值.第二,將分塊技術(shù)與數(shù)據(jù)預(yù)取技術(shù)相結(jié)合.即充分利用塊(block)內(nèi)共享存儲(chǔ)器(shared memory)(快讀寫(xiě),速度接近寄存器),在使用當(dāng)前數(shù)據(jù)元素時(shí)預(yù)取下一個(gè)數(shù)據(jù)元素,將其從其他存儲(chǔ)器(如 global memory)加載到共享存儲(chǔ)器[6].

另外,指令混合也是CUDA優(yōu)化技術(shù)的一種.其旨在kernel函數(shù)中減少循環(huán)和遞歸的使用,通過(guò)減少對(duì)有限的指令帶寬的占用來(lái)提高GPU的指令執(zhí)行速度.但是由于本算法固有的循環(huán)維度比較大的特性,此項(xiàng)技術(shù)的可行性不高,所以本文只對(duì)源程序的一個(gè)10×10的小循環(huán)做了循環(huán)展開(kāi),不過(guò)運(yùn)算速度卻大大提高.實(shí)驗(yàn)結(jié)果會(huì)在4.1節(jié)中給出具體分析.

4 GPU加速性能實(shí)驗(yàn)研究

本文中采用了七彩虹 iGame GTX470-GD5 CH版顯卡,其GPU為NVIDIA公司的GTX470型號(hào),核心頻率為607MHz,顯存1280MB;CPU采用Intel Core2 Duo 2.7GHz,內(nèi)存 2GB.編程環(huán)境為Windows下 Visual Stdio 2008(VC++9.0).

實(shí)驗(yàn)中,為了得到統(tǒng)計(jì)性能更好的數(shù)據(jù),我們對(duì)每次的實(shí)驗(yàn)數(shù)據(jù)量都進(jìn)行了20次平均.

4.1 指令混合優(yōu)化實(shí)驗(yàn)

指令混合前后GPU耗時(shí)實(shí)驗(yàn)數(shù)據(jù)如表1所示.從表1中可以看出,塊的大小在性能中起著主要作用.在塊大小比較小的時(shí)候,循環(huán)展開(kāi)對(duì)性能的提升基本沒(méi)有作用.這是由于,當(dāng)塊大小比較小時(shí),全局存儲(chǔ)器的帶寬處于飽和,性能瓶頸會(huì)出現(xiàn)在存儲(chǔ)器的讀寫(xiě)上,循環(huán)展開(kāi)對(duì)此將失去優(yōu)化意義.而當(dāng)塊大小足夠大時(shí),此時(shí)指令混合和數(shù)據(jù)預(yù)取技術(shù)就顯得尤為關(guān)鍵,本例中,僅僅一個(gè)10×10的循環(huán)展開(kāi)就讓性能提高了20%~40%,可見(jiàn)此項(xiàng)技術(shù)的優(yōu)化潛力還是很大的.

表1 優(yōu)化前后耗時(shí)對(duì)比

4.2 GPU加速性能實(shí)驗(yàn)

本實(shí)驗(yàn)對(duì)不同分辨率下(160 dpi×120 dpi,320 dpi×240 dpi,640 dpi×480 dpi)的N幅圖同時(shí)處理,分別得到CPU耗時(shí)和GPU耗時(shí),測(cè)時(shí)分辨率為0.1 ms.如表2所示.其中GPU運(yùn)算耗時(shí)是指算法在GPU端的計(jì)算時(shí)間,不包括前期的數(shù)據(jù)準(zhǔn)備以及數(shù)據(jù)傳輸時(shí)間;而總耗時(shí)是二者均有的總時(shí)間.

表2 耗時(shí)測(cè)試結(jié)果 ms

從表中可以明顯的看出,不論是否計(jì)入傳輸時(shí)間,獲得的加速比都是很大的.特別是在不計(jì)入傳輸時(shí)間以及設(shè)備端的初始化等工作時(shí)間的情況下,加速比可高達(dá)500左右.需要說(shuō)明是,本文CPU中的算法是經(jīng)過(guò)優(yōu)化處理的,所以得到的加速比的可信度是比較高的.

分析表2,可以得到如下兩個(gè)結(jié)論:

(1)在數(shù)據(jù)量比較小時(shí),如圖像只有一幅的情況下,加速比較小;相反,在數(shù)據(jù)量比較大的情況下,加速比會(huì)大大提高.這也正體現(xiàn)了GPU設(shè)計(jì)的初衷,即提高吞吐量,而并不是與CPU拼單一速度.

(2)Kernel函數(shù)的性能優(yōu)化技術(shù)的有機(jī)結(jié)合對(duì)性能的提高有重要意義.從圖中可以看出,當(dāng)數(shù)據(jù)量為160×120×50時(shí),加速比一度提升至600左右.這與kernel函數(shù)中的線程粒度與數(shù)據(jù)預(yù)取的合理平衡有很大關(guān)系.數(shù)據(jù)量的合理性使得每個(gè)SM上運(yùn)行的線程數(shù)量大大提高,這對(duì)于整個(gè)算法的吞吐量有很大的提升.

(3)數(shù)據(jù)大到一定數(shù)量時(shí),GPU平均每幀的處理時(shí)間會(huì)出現(xiàn)波動(dòng),甚至下降.這是由CUDA底層指令執(zhí)行流所決定的.GPU中指令是以warp為單位發(fā)射的,而每個(gè)warp中有32個(gè)thread,當(dāng)數(shù)據(jù)量變化時(shí),thread數(shù)量也會(huì)隨之變化,多出一個(gè)thread可能就會(huì)多一輪warp.所以出現(xiàn)波動(dòng)是正常可預(yù)測(cè)的,這也表明,在實(shí)際GPU編程中,需要注意thread數(shù)量,最好為32的整數(shù)倍,這樣可以充分利用硬件資源,減少SM的空載浪費(fèi).

另外,本實(shí)驗(yàn)還有一點(diǎn)需要說(shuō)明:由于本實(shí)驗(yàn)block的維度設(shè)計(jì)與圖像寬度和圖像數(shù)有關(guān),當(dāng)數(shù)據(jù)量增加時(shí),block的維度也會(huì)隨之增加,當(dāng)數(shù)據(jù)量增加到一定程度時(shí),會(huì)出現(xiàn)超過(guò)CUDA目前計(jì)算能力的block最大允許維度(65536),例如,數(shù)據(jù)量為320 dpi×240 dpi×275 dpi時(shí),程序無(wú)法運(yùn)行.這也很好的說(shuō)明了,對(duì)kernel采用多種技術(shù)時(shí),互相之間會(huì)相互影響,從而限制了彼此能優(yōu)化的最大程度.

5 結(jié)論

本文圍繞高速鐵路扣件在線檢測(cè)的速度難點(diǎn)進(jìn)行了研究,提出了采用GPU對(duì)其中改進(jìn)的模板匹配算法進(jìn)行加速的實(shí)時(shí)檢測(cè)技術(shù),并對(duì)其的CUDA實(shí)現(xiàn)進(jìn)行了深入分析以及實(shí)驗(yàn)驗(yàn)證.通過(guò)對(duì)本算法的GPU加速,可以獲得實(shí)時(shí)的扣件缺失情況.在不低于200幀/s的高速采樣頻率下,實(shí)現(xiàn)了扣件實(shí)時(shí)在線檢測(cè),達(dá)到了平均每幅圖優(yōu)于0.02 ms的處理速度.在160 dpi×120 dpi圖像分辨率下,一次處理50幀時(shí),GPU的處理速度,相對(duì)于CPU計(jì)算,從3.996 ms/幀的處理速度提高到了0.022 ms/幀,加速比高達(dá)154.由此可見(jiàn),GPU強(qiáng)大的計(jì)算能力及應(yīng)用前景,GPU的加速技術(shù)不僅對(duì)于扣件檢測(cè)有應(yīng)用意義,更是為整個(gè)高速圖像處理領(lǐng)域提供了重要的參考.

[1]錢廣春,陶衛(wèi).基于相關(guān)直線法德高速運(yùn)動(dòng)目標(biāo)快速探測(cè)方法[J].大連交通大學(xué)學(xué)報(bào),2011,32(2):79-82.

[2]吳恩華.基于圖形處理器(GPU)的通用計(jì)算[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2004,16(5):601-612.

[3]柳彬,王開(kāi)志,劉興釗,等.利用CUDA實(shí)現(xiàn)的基于GPU的SAR成像算法[J].信息技術(shù),2009(11):62-65.

[4]NIVDIA's Next Generation CUDA Compute Architecture:Fermi,Whitepaper[M].NVIDIA CORPORATION,2009.

[5]NIVIA CUDA Programming Guide Version 2.0[M].NVIDIA CORPORATION,2008.

[6]JOAO LUIZ DIHL COMBA,DIETRICH CARLOS A,PAGOT CHRISTIAN A.Computation on GPUs:From a programmable pipeline to an efficient stream processor[J].Revist a de Inform tica Tericae Aplicada,2003,X(2):41-70.

猜你喜歡
檢測(cè)
QC 檢測(cè)
“不等式”檢測(cè)題
“一元一次不等式”檢測(cè)題
“一元一次不等式組”檢測(cè)題
“幾何圖形”檢測(cè)題
“角”檢測(cè)題
“有理數(shù)的乘除法”檢測(cè)題
“有理數(shù)”檢測(cè)題
“角”檢測(cè)題
“幾何圖形”檢測(cè)題
主站蜘蛛池模板: 91精品在线视频观看| 无码一区18禁| 扒开粉嫩的小缝隙喷白浆视频| 伊人成人在线视频| 2018日日摸夜夜添狠狠躁| 国国产a国产片免费麻豆| 蜜臀av性久久久久蜜臀aⅴ麻豆| 天天摸夜夜操| 亚洲免费人成影院| 国产成人综合网| 国产精品中文免费福利| 国产成人AV男人的天堂| 中文国产成人精品久久一| 免费人成视频在线观看网站| AV色爱天堂网| 亚洲无码精彩视频在线观看 | 亚洲一区免费看| 欧美伦理一区| 国产午夜福利亚洲第一| 毛片在线区| 国产成熟女人性满足视频| 人妻21p大胆| 欧美国产精品拍自| 日本亚洲成高清一区二区三区| 天天躁夜夜躁狠狠躁躁88| 香蕉久人久人青草青草| 欧美无专区| 91久久偷偷做嫩草影院| 伊人久久精品无码麻豆精品| 国产喷水视频| 亚洲人成人无码www| 一区二区理伦视频| 亚洲欧美激情另类| 国产人人射| 人人爽人人爽人人片| 国产男女免费完整版视频| 国产精品一线天| 丁香五月激情图片| 久久久精品无码一二三区| 中文字幕佐山爱一区二区免费| 国产亚洲欧美日本一二三本道| 国产一级毛片网站| 成年看免费观看视频拍拍| 日韩视频免费| 波多野结衣第一页| 久久一本精品久久久ー99| 美女免费黄网站| 亚洲成人高清无码| 亚洲无码视频图片| 东京热av无码电影一区二区| 日韩在线中文| 国产99视频在线| 久久精品免费国产大片| 台湾AV国片精品女同性| 亚洲欧美日韩另类在线一| 国产精品福利尤物youwu| 在线观看亚洲国产| 欧美日本不卡| 91福利国产成人精品导航| 久久96热在精品国产高清| 欧美a级完整在线观看| 国产成人乱码一区二区三区在线| 国产真实自在自线免费精品| 国产国语一级毛片在线视频| 久久精品国产精品一区二区| 欧美午夜视频在线| 伊人久久大香线蕉aⅴ色| 日韩在线视频网站| 三级国产在线观看| 国产探花在线视频| 色爽网免费视频| 亚洲成人网在线观看| 国产在线91在线电影| 91精品啪在线观看国产60岁| 天堂网国产| 亚洲欧美日韩中文字幕在线| 国产人前露出系列视频| 就去吻亚洲精品国产欧美| 欧美一级高清视频在线播放| 色精品视频| 无码aaa视频| 久久福利片|