• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于C674x-DSP的視頻圖像實時透霧優(yōu)化

      2019-12-20 08:36:40路錦正
      自動化儀表 2019年12期
      關(guān)鍵詞:透射率指令濾波

      路錦正,董 川

      (1.西南科技大學(xué)信息工程學(xué)院,四川 綿陽 621010;2.特殊環(huán)境機器人技術(shù)四川省重點實驗室,四川 綿陽 621010)

      0 引言

      室外場景由于受到霧、霾、煙等因素的影響,其成像結(jié)果通常是模糊的。已退化圖像的對比度低、顏色暗淡,缺失的關(guān)鍵信息給圖像直觀體驗、目標檢測與跟蹤、目標識別等造成重大影響。視頻監(jiān)控、計算機視覺等領(lǐng)域?qū)D像去霧或透霧技術(shù)有著迫切需求。透霧能夠提高霧天圖像利用價值、改善圖像觀感體驗。透霧可以顯著改善場景可懂度、糾正顏色偏差,為機器視覺提供精確的目標信息,從而提高特征提取、濾波或成分分析等算法性能[1]。

      圖像透霧有諸多方法,主要包括圖像增強法、圖像融合法和圖像復(fù)原法[2]。前兩種技術(shù)的效果有限或者圖像實時處理難度高。近年來,透霧方法大多集中在基于單幅霧天圖像的復(fù)原透霧領(lǐng)域。此類方法通常需要場景的景深信息或者一些關(guān)于降質(zhì)圖像的先驗假設(shè)作為約束條件,從而將大氣成像模型求解由不適定性轉(zhuǎn)換為適定性。Fattal[3]從光學(xué)成像本質(zhì)上實現(xiàn)了透霧處理,通過估算景物的反射率來推斷反射光線在空氣中傳播時的透射率;后來,其又提出了基于color-lines的高階馬爾可夫隨機場透霧算法,對暗通道的透射率圖利用高階馬爾可夫隨機場優(yōu)化傳輸圖,恢復(fù)了更多的圖像細節(jié),對天空等大片白色區(qū)域具有很好的適應(yīng)性。但是以高階能量項來約束全局先驗,算法較耗時。He等提出了暗原色先驗單幅圖像透霧,是目前透霧效果較好的算法之一[4-5]。后續(xù)文獻的許多方法是對該方法的持續(xù)改進。暗通道先驗算法采用軟摳圖法進一步對透射率圖修復(fù),其中的大規(guī)模稀疏矩陣運算,給透霧算法帶來了巨大的運算量、耗用了大量內(nèi)存,使得算法具有較高的空時復(fù)雜度。研究人員又提出采用最小值濾波和導(dǎo)向濾波相結(jié)合、雙邊濾波等算法代替軟摳圖法修復(fù)透射率圖。雖然以上改進算法的復(fù)雜度都較原算法有所減小,但在處理數(shù)據(jù)量巨大的視頻序列圖像時仍難以滿足實時處理的要求[6]。

      視頻圖像處理的嵌入式實施,以其易升級、掌握知識產(chǎn)權(quán)、抗惡劣環(huán)境等優(yōu)勢,受到了工業(yè)界的普遍關(guān)注[7-9]?;跀?shù)字信號處理器(digital signal processor,DSP)的透霧方案更是被廣泛采納。Khodary[10]研究了德州儀器(Texas Instrument,TI)公司達芬奇DM6446下的視頻透霧,實現(xiàn)了3幀/s的處理結(jié)果,后續(xù)經(jīng)深入優(yōu)化實現(xiàn)了8幀/s的透霧速度。Liu[11]基于DM6467T實現(xiàn)了25幀/s的標清分辨率透霧處理,但是透霧效果還有待改善,且該平臺功耗大、體積大。

      本文結(jié)合暗原色先驗原型算法,提出了一種改進的、適用于圖像序列的快速透霧技術(shù),在保證不顯著影響圖像質(zhì)量的前提下,大幅降低算法運算量。選擇TI公司面向低功耗的C6748 DSP嵌入式平臺,算法與平臺協(xié)同優(yōu)化,采用系統(tǒng)級和模塊級的兩級優(yōu)化策略,實現(xiàn)了純DSP平臺下視頻圖形陣列(video graphics array,VGA)分辨率,即640×480像素大小的視頻圖像實時透霧處理。

      1 研究背景

      1.1 暗通道先驗算法

      基于McCartney[12]在1977年提出的大氣光模型及其衰減模型,研究人員設(shè)計了在大氣散射理論下被廣泛采用的霧天成像模型:

      I(x)=J(x)t(x)+A[1-t(x)]

      (1)

      式中:I為攝像頭采集到的含霧圖像;J為理想條件下的清晰無霧圖像;t(x)為透射率圖,表示場景中光線穿透霧的大?。籄為大氣光成分,表征周圍環(huán)境光強弱;J(x)t(x)為直接衰減項,反映了場景反射的光線經(jīng)過衰減后的能量;A[1-t(x)]為環(huán)境光與霧相互作用產(chǎn)生的大氣光能量成分,可用來表征場景顏色的偏差。

      分析式(1)可知,由于t(x)和A均未知,則從I復(fù)原J的方程問題是不確定的,即圖像復(fù)原解不唯一。所以,期望求解得到一個“唯一解”的清晰圖像,就需要對該方程添加約束條件。研究人員經(jīng)統(tǒng)計大量清晰和有霧圖像,得出了暗原色先驗規(guī)律,即對t(x)的三通道最小值和非天空下大氣光值先驗作為約束條件求解J(x),通過該逆問題計算得到無霧圖像。上述正則化過程可表示為:

      (2)

      式中:JC為清晰無霧圖像J的某一顏色通道;Ω(x)為以x像素點為中心的窗口;Jdark為J的暗通道,對于非天空部分,Jdark的值趨近于0。

      1.2 C674x-DSP平臺

      基于C674x-DSP開展圖像視頻應(yīng)用時,算法DSP優(yōu)化是重點。為最大限度提高算法執(zhí)行效率、降低CPU指令消耗:一方面,算法自身運算量應(yīng)適中,即過于復(fù)雜的模塊需要被優(yōu)化或替換;另一方面,應(yīng)充分發(fā)揮CPU的并行優(yōu)勢,即一個指令周期執(zhí)行盡可能多的指令,如定點8條、浮點6條指令并行運行。算法與平臺的聯(lián)合優(yōu)化可望達到DSP算法的實時運行。

      根據(jù)DSP架構(gòu)特點,DSP算法優(yōu)化可從系統(tǒng)級優(yōu)化和模塊級優(yōu)化兩個方面來實施。系統(tǒng)級優(yōu)化包括直接內(nèi)存訪問(direct memory access,DMA)的雙緩沖,即片上內(nèi)存與片外內(nèi)存的數(shù)據(jù)乒乓搬移,以及在核心代碼中添加編譯指示指令。模塊級優(yōu)化指算法核心函數(shù)的內(nèi)聯(lián)指令優(yōu)化、線性匯編優(yōu)化。系統(tǒng)級優(yōu)化的目的是使CPU在片上空間讀寫數(shù)據(jù)或讀取程序,以提高其訪問速度。模塊級優(yōu)化的目的是使函數(shù)能夠軟件流水、實現(xiàn)單指令多數(shù)據(jù)(single instruction multiple data,SIMD)處理或單指令周期并行更多指令,以提高CPU指令周期的利用率。無論哪一級優(yōu)化,均可通過集成開發(fā)環(huán)境(code composer studio,CCS)的-O2、-O3選項,開啟編譯器的優(yōu)化功能。

      2 C674x-DSP實時透霧技術(shù)

      2.1 暗通道圖像透霧改進算法

      (3)

      (4)

      2.1.1 均值濾

      過于復(fù)雜的軟摳圖無法在DSP上實時處理。本研究經(jīng)過多次的試驗與分析,采取了計算量低而效果沒有顯著降低的均值濾波替代軟摳圖濾波。以模板HR,r=2n+1(n≥0)為掩膜,對圖像矩陣自左向右、自上向下,逐點累積與加權(quán)。其中,窗口尺寸r越大,平滑作用越強;反之越弱。考慮到除法對DSP優(yōu)化有一定限制,r的取值需合理設(shè)置。

      (5)

      2.1.2 優(yōu)化大氣光值

      大氣光值A(chǔ)∈(0,255)為常量。已有試驗表明,它的不同取值對圖像整體亮暗有顯著影響。從當前待透霧圖像直接估計得到合適的A值,顯然是較為合理的。但是,相鄰幀A的抖動會帶來對應(yīng)透霧后圖像的亮度突變。為此,本文采取窗口內(nèi)加權(quán)方法:

      (6)

      式中:A0由當前幀圖像計算獲得;A1~A3由前三幀圖像計算獲得。

      上述四個值加權(quán)得到參與透霧處理的大氣光值A(chǔ)。當前幀透霧完畢后,依次更新A1~A3,為后續(xù)圖像透霧作準備。大氣光值加權(quán)取偶次降冪目的是:一方面便于DSP移位操作;另一方面體現(xiàn)了其他圖像幀越靠近當前幀,其大氣光值權(quán)重越大的特點。

      2.2 DSP優(yōu)化技術(shù)與實現(xiàn)

      2.2.1 單指令多數(shù)據(jù)

      圖像處理算法中,純粹的內(nèi)存讀寫操作,浪費了寶貴的CPU資源。在線性匯編優(yōu)化中,單次讀寫多像素點可顯著提高CPU指令執(zhí)行效率,如四字節(jié)讀寫LDW/STW、八字節(jié)讀寫LDDW/STDW指令。類似地,C語言環(huán)境下的內(nèi)聯(lián)指令_amem4、_amem8實現(xiàn)讀寫操作。在算法的開始部分,通常執(zhí)行讀取數(shù)據(jù)源;在算法的結(jié)束部分,通常執(zhí)行存儲結(jié)果。算法中間即為處理核心,包括數(shù)據(jù)的解包(_unpklu4、_unpkhu4、_pack2)與組包(_packl4、_packh4)、飽和式組包(_spacku4、_spack2)、乘法運算(_mpysu4、_mpyu4、_dotp2)、求最大最小(_minu4、_maxu4)、加減運算(_add4、_sub2、_sub4)、移位與抽取(_shru2、_extu)等。上述指令的共性即單個指令操作了多個像素的相同運算。

      2.2.2 軟件流水

      通常,圖像算法中存在大量的循環(huán)處理,并且是消耗CPU指令的主要部分。要提高算法系統(tǒng)的執(zhí)行速度,就必須提高CPU指令的并行性,即充分發(fā)掘循環(huán)體之間的指令級并行(instruction level parallelism,ILP)。軟件流水技術(shù)通過對循環(huán)重新建構(gòu),使得每次迭代執(zhí)行的指令是屬于原循環(huán)不同迭代過程;通過編排循環(huán)指令,使循環(huán)體多次迭代并行執(zhí)行。該技術(shù)主要應(yīng)用于具有多個功能部件的并行處理器,如TI的C6000系列DSP。此類CPU配有八個功能單元,每個功能單元執(zhí)行不同指令,因此可最多并行八條指令。通過編譯生成并行匯編文件(*.asm),根據(jù)其中的反饋信息綜合判斷編寫的線性匯編或者內(nèi)聯(lián)指令的優(yōu)化效果。其中包含軟件流水成功建立的提示信息“PIPED LOOP KERNEL”。

      2.2.3 浮點除法運算優(yōu)化

      ①計算透射率:tRow_t = a_haze - ((w_m×jdarkRow[x])>>8)。

      ②鉗位透射率:if (tRow_t < t_o×a_haze) tRow_t = t_o×a_haze。

      ③計算中間值:aljz = a_haze/tRow_t。

      ④透霧的圖像:tem_b = aljz×(srcB[x]-a_haze) +a_haze。

      上述過程中,影響系統(tǒng)性能的關(guān)鍵是浮點變量tRow_t的除法運算。除法的函數(shù)調(diào)用方法使遍歷所有像素點的循環(huán)體無法構(gòu)建軟件流水。通過分析C674x的指令體系可知,借鑒倒數(shù)運算可將除法轉(zhuǎn)化為乘法,即aljz=a_haze×_rcpsp((float)tRow_t)。其中,內(nèi)聯(lián)指令_rcpsp用于計算浮點數(shù)tRow_t的倒數(shù)。該方法避免了函數(shù)調(diào)用,使軟件流水成為可能。另外,優(yōu)化上述過程的操作還包括乘法_mpyu4ll、右移_shru2、鉗位_max2、減法_sub4、組包_spack2和_spacku4等指令。

      2.2.4 均值濾波的快速優(yōu)化實現(xiàn)

      基于暗原色先驗圖像透霧算法中的軟摳圖或?qū)驗V波均含有矩陣復(fù)雜運算,這對于嵌入式DSP來說難以實現(xiàn)實時處理。根據(jù)多次試驗驗證,采用具有模板快速實現(xiàn)的均值濾波來替換軟摳圖或?qū)驗V波。其增強結(jié)果是可以接受的,透霧能力沒有顯著降低。從具體實現(xiàn)來說,模板HR,r=2n+1,n≥0與粗透射率圖卷積得到精細透射率圖。TI的圖像庫(image library,IMGLIB)提供了卷積優(yōu)化模塊IMG_conv_7x7_i8_c8s,即n=3、r2=49。但該模塊在存儲最后結(jié)果前的操作為移位運算。所以本文設(shè)計了如式(7)的卷積模板,即移位大小shift為6。另外,在濾波前將粗透射率圖的四個圖像邊擴展n個像素點,以保證邊緣數(shù)據(jù)的正常處理。

      (7)

      3 試驗結(jié)果與分析

      以上介紹了基于C674x-DSP的實時透霧優(yōu)化技術(shù)與實現(xiàn),接下來針對上述的各種優(yōu)化方法,在不同場景圖像下開展透霧試驗、性能評估與原因分析。

      3.1 平臺參數(shù)

      本文在TI的C6748 LCDK(L138/C6748 Develop Kit)開發(fā)平臺上驗證優(yōu)化技術(shù)有效性。透霧因子w為0.85,平滑濾波模板見式(7),透射率最小值t_o為0.2。DSP的CPU主頻456 MHz,二級緩存L2空間都設(shè)置為普通內(nèi)存模式。

      3.2 優(yōu)化對比

      為了評估優(yōu)化前后的CPU占用情況,使用仿真器SEED-XDS560v2PLUS,剖析算法模塊的優(yōu)化結(jié)果。在每個主要模塊的執(zhí)行前后分別讀取系統(tǒng)時間,其時間差值即為消耗的CPU指令周期數(shù)量。用簡寫字母表示模塊名稱,Color表示顏色空間變換,Min表示計算RGB的最小通道,F(xiàn)ilter表示平滑濾波,A_c表示計算大氣光值,Dehaze表示最后的透霧計算。表1給出了算法主要模塊優(yōu)化前后CPU資源占用情況。

      表1 算法主要模塊優(yōu)化前后CPU資源占用情況

      表1中的優(yōu)化前(Before)表示沒有啟用CCS編譯器的-O3資源占用,優(yōu)化后(After)表示開啟了該功能的資源占用,優(yōu)化倍率(Ratio)表示兩者的CPU時鐘周期占用倍率。實際上,上述主要模塊均使用了內(nèi)聯(lián)指令進行優(yōu)化。若函數(shù)模塊沒有使用任何優(yōu)化方法,優(yōu)化前的指令消耗會更多。從表1可知,算法經(jīng)過優(yōu)化后,CPU占用平均降低了98%,單幀圖像透霧消耗CPU約6M指令周期,估算后可完全達到實時(25幀/s)視頻序列透霧。

      3.3 濾波和透霧效果對比

      暗通道數(shù)據(jù)的濾波性能決定了透射率圖精細程度,從而影響了最終的透霧效果。接下來,對不同程度的含霧圖像分別進行濾波和透霧試驗,以展示、分析本文算法的優(yōu)化結(jié)果。

      3.3.1 兩種濾波效果

      為提高算法系統(tǒng)的處理速度,以達到實時透霧目的,本文對最耗時模塊——透射率圖優(yōu)化作了研究。在不顯著降低系統(tǒng)效果前提下,將透射率圖的導(dǎo)向濾波精細化替換為均值濾波算法。圖1展示了針對濃霧和淡霧圖像透射率圖的導(dǎo)向濾波與均值濾波的處理結(jié)果對比。其中:左列為原始的透射率圖即暗通道信息,中列為透射率圖的導(dǎo)向濾波,右列為透射率圖的均值濾波。

      分析圖1可知,導(dǎo)向濾波在濾除細小紋理的同時,較好地保持了幾何結(jié)構(gòu)的邊緣。這是均值濾波所不能達到的。特別是圖1(e)邊緣比圖1(f)的邊緣保留得相對較好。但是,導(dǎo)向濾波會對局部的白色區(qū)域作平滑處理。這是由于其取局部均值操作所帶來的限制。根據(jù)含霧不同程度的圖像濾波結(jié)果:濃霧圖像透射率圖的兩種濾波結(jié)果差別較小,如圖1(b)、圖1(c)的濾波效果相近;而淡霧圖像透射率圖的兩種濾波結(jié)果差別較大,如圖1(e)、圖1(f)的濾波差異對比較明顯。

      3.3.2 圖像透霧結(jié)果對比

      利用上文均值濾波優(yōu)化后的精細透射率圖,以及窗口加權(quán)優(yōu)化后的大氣光值,根據(jù)透霧模型計算透霧圖像。

      圖2、圖3分別展示了濃霧圖像和淡霧圖像用文獻[5]算法和本文算法的透霧結(jié)果。兩圖中的左列為有霧圖像,中列為文獻[5]透霧結(jié)果,右列為本文透霧結(jié)果。

      為便于對比區(qū)分細節(jié)差別,對用矩形框標注的相應(yīng)區(qū)域作了局部放大,以分析觀察不同方法的細節(jié)透霧能力。

      圖1 濃霧和淡霧圖像透射率圖的兩種濾波效果對比圖

      圖2 濃霧圖像的透霧結(jié)果對比圖

      圖3 淡霧圖像的透霧結(jié)果對比圖

      由圖2可知,對于濃霧的透霧來說,圖2(b)與圖2(c)的差別很小。由圖3可知,對于淡霧的透霧而言,圖3(b)與圖3(c)的差別較大。這種濃霧與淡霧的透霧效果差別,也印證了由圖1分析得出的濾波分析結(jié)論。本文的圖2(c)透霧相比文獻[5]方法的圖2(b)透霧結(jié)果并不遜色。尤其是局部區(qū)域的放大顯示中,圖2(b)與圖2(c)的涼亭頂部,比較來看差別都很小。對于淡霧圖像的透霧能力而言,本文的透霧結(jié)果圖像如圖3(c),圖像整體偏暗,對比度稍偏過;而圖3(b)整體更自然些,對比度適中。

      4 結(jié)束語

      本文在分析暗通道先驗算法圖像透霧原理基礎(chǔ)上,結(jié)合DSP的CPU架構(gòu)特點和指令類型,實現(xiàn)了基于C674x-DSP的視頻圖像實時透霧。本文由均值濾波代替透霧算法中運算復(fù)雜的導(dǎo)向濾波模塊。優(yōu)化過程中,采用DMA雙緩沖技術(shù)提高CPU的數(shù)據(jù)讀寫速度。使用SIMD操作提高CPU處理數(shù)據(jù)效率,充分使用核心循環(huán)模塊的軟件流水,極大地節(jié)約了CPU指令資源。浮點運算使用倒數(shù)計算指令替換除法函數(shù)調(diào)用,以保證軟件流水。均值濾波的2次冪移位提高透射率圖濾波速度。試驗結(jié)果證實,在C6748純DSP平臺上實現(xiàn)了VGA分辨率圖像25幀/s的實時透霧處理。未來將研究在保證處理速度基礎(chǔ)上改善濾波效果,以提高非濃霧圖像的透霧能力。

      猜你喜歡
      透射率指令濾波
      聽我指令:大催眠術(shù)
      ARINC661顯控指令快速驗證方法
      LED照明產(chǎn)品歐盟ErP指令要求解讀
      電子測試(2018年18期)2018-11-14 02:30:34
      純色太陽鏡鏡片耐日光輻照性能試驗研究
      RTS平滑濾波在事后姿態(tài)確定中的應(yīng)用
      基于線性正則變換的 LMS 自適應(yīng)濾波
      遙測遙控(2015年2期)2015-04-23 08:15:18
      石墨烯光柵太赫茲透射特性的研究
      玻璃長波透射率對普通雙層中空玻璃熱特性的影響
      晶格常數(shù)對左手材料的能量透射率及負折射率的影響
      計算物理(2014年1期)2014-03-11 17:00:48
      坐標系旋轉(zhuǎn)指令數(shù)控編程應(yīng)用
      機電信息(2014年27期)2014-02-27 15:53:56
      丰顺县| 西城区| 临西县| 富民县| 奉贤区| 黔东| 抚顺县| 虹口区| 大英县| 布尔津县| 濉溪县| 广宁县| 汉阴县| 道真| 水城县| 察雅县| 西和县| 津南区| 平陆县| 芜湖县| 新干县| 辰溪县| 思茅市| 日土县| 小金县| 仲巴县| 平安县| 永宁县| 夏河县| 中牟县| 松阳县| 永吉县| 积石山| 古浪县| 林芝县| 吉林市| 永靖县| 金坛市| 双鸭山市| 石城县| 孟连|