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

        ?

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

        2011-06-11 03:35:18王夢(mèng)雪陶衛(wèi)楊金峰吳芳趙輝王衛(wèi)東任盛偉
        關(guān)鍵詞:數(shù)據(jù)量存儲(chǔ)器扣件

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

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

        0 引言

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

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

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

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

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

        該鐵路扣件在線(xiàn)探測(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)自車(chē)輪和車(chē)體,報(bào)警信號(hào)送至車(chē)載處理中心.圖1中為單個(gè)探測(cè)器的組成示意圖.

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

        在列車(chē)運(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ú)法滿(mǎn)足高速鐵路的在線(xiàn)探測(cè)需求.

        GPU原本應(yīng)用于復(fù)雜3D圖形及圖像的處理運(yùn)算.與CPU相比,GPU是一種高并行度、多線(xiàn)程、擁有強(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è)包含了許多核許多線(xiàn)程的處理器,并在類(lèi)似于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,多線(xiàn)程流處理器)單元以及一些存儲(chǔ)單元.如圖2中所示.

        圖2 GPC架構(gòu)

        軟件上,CUDA對(duì)底層硬件的封裝,使其對(duì)外顯示出線(xiàn)程的三層組織結(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)每次訪(fǎng)問(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總線(xiàn)傳輸?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ǔ)器的訪(fǎng)存頻率(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線(xiàn)程,而一次傳輸會(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ǔ)器的訪(fǎng)問(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用于紋理渲染的圖形專(zhuān)用單元發(fā)展而來(lái),有著無(wú)需考慮圖像訪(fǎng)問(wèn)越界等獨(dú)特的特性,從底層的存儲(chǔ)機(jī)制來(lái)說(shuō),紋理存儲(chǔ)器是一種SP訪(fǎng)問(wèn)全局存儲(chǔ)器的不嚴(yán)格機(jī)制,以緩沖來(lái)自全局存儲(chǔ)器的數(shù)據(jù).一旦將全局存儲(chǔ)器中的某一區(qū)域與紋理存儲(chǔ)器綁定,那么只有當(dāng)緩沖失敗的情況,才會(huì)訪(fǎng)問(wèn)全局存儲(chǔ)器,大大減少了訪(fǎng)問(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ù)中的線(xiàn)程粒度與數(shù)據(jù)預(yù)取的合理平衡有很大關(guān)系.數(shù)據(jù)量的合理性使得每個(gè)SM上運(yùn)行的線(xià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é)論

        本文圍繞高速鐵路扣件在線(xiàn)檢測(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í)在線(xiàn)檢測(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]錢(qián)廣春,陶衛(wèi).基于相關(guān)直線(xià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.

        猜你喜歡
        數(shù)據(jù)量存儲(chǔ)器扣件
        靜態(tài)隨機(jī)存儲(chǔ)器在軌自檢算法
        基于大數(shù)據(jù)量的初至層析成像算法優(yōu)化
        計(jì)算Lyapunov指數(shù)的模糊C均值聚類(lèi)小數(shù)據(jù)量法
        高刷新率不容易顯示器需求與接口標(biāo)準(zhǔn)帶寬
        科隆蛋扣件力學(xué)特性分析
        寬帶信號(hào)采集與大數(shù)據(jù)量傳輸系統(tǒng)設(shè)計(jì)與研究
        電子制作(2019年13期)2020-01-14 03:15:18
        一種改進(jìn)的LBP特征實(shí)現(xiàn)鐵路扣件識(shí)別
        非均布荷載下扣件式腳手架的隨機(jī)缺陷穩(wěn)定分析
        諧振式浮軌扣件的安裝工藝
        存儲(chǔ)器——安格爾(墨西哥)▲
        国产丝袜一区丝袜高跟美腿| 国产91精品成人不卡在线观看| 日本专区一区二区三区| 久久精品波多野结衣中文字幕| 永久免费毛片在线播放| 白白色发布在线观看视频| 久久综合香蕉国产蜜臀av| 亚洲精品字幕在线观看| 久久夜色精品国产亚洲噜噜| 国产日产高清一区二区三区| 欲求不満の人妻松下纱荣子 | 日本刺激视频一区二区| 国产成人亚洲综合无码品善网| 国产成+人+综合+亚洲 欧美| 国产美女av一区二区三区| 福利利视频在线观看免费| 无遮挡呻吟娇喘视频免费播放| 亚洲AV色无码乱码在线观看| av亚洲在线一区二区| 一区二区三区免费看日本| 丰满人妻熟妇乱又伦精品软件| 亚洲AV无码久久久一区二不卡| 三级日本午夜在线观看| 无码专区人妻系列日韩精品 | 一本加勒比hezyo无码专区| 国产山东熟女48嗷嗷叫| 曰本亚洲欧洲色a在线| 亚洲av色图一区二区三区| 国产成人精品一区二区三区视频 | 99爱在线精品免费观看| 二区在线视频| 午夜国产精品一区二区三区| 帅小伙自慰videogay男男| 亚洲黄色电影| 日韩久久免费精品视频| 亚洲天堂一区av在线| 精品久久久中文字幕人妻| 国产女同一区二区在线| 精品国产自在现线看久久| 欧美另类高清zo欧美| 99国产精品无码专区|