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

天空區域分割的圖像去霧及CUDA并行實現

2019-03-13 05:30:26曾浩洋張紅英
小型微型計算機系統 2019年3期
關鍵詞:大氣區域

曾浩洋,張紅英,2

1(西南科技大學 信息工程學院,四川 綿陽 621010) 2(特殊環境機器人技術四川省重點實驗室,四川 綿陽 621010)

1 引 言

在一些霧、霾天氣下,天空中存在的大氣粒子在光傳播過程中會發生散射,使得到的圖像降質、模糊不清,嚴重影響人類視覺觀察和相關視覺算法的處理效果.圖像去霧能明顯提升圖像的清晰度和復原由于霧、霾導致的色彩失真,因此對圖像去霧具有很好的應用前景.

近年來,國內外研究者提出了很多圖像去霧算法,例如Tan[1]等人觀察到有霧的圖片比無霧圖片有著更高的對比度,提出了最大化圖像局部對比度的去霧算法,但該算法恢復后的圖像易導致色調發生偏移;Fattal[2]等人則是設想光的傳播與物體目標表面投影是不相關,進而估算出場景物體反射率在推導場景投射率的方法,其算法很大程度上依賴于輸入數據的統計特征,對于霧氣較濃的圖像去霧會導致較大失真;He[3]等人提出基于暗原色先驗的單幅圖像去霧技術,并采用軟摳圖技術精細化透射率,圖像復原效果更加自然.但該方法在對含有大面積天空區域圖像處理時,會產生光暈偽影和色彩失真等狀況,同時軟摳圖技術導致整個算法時間復雜度較高.為提高去霧效果和算法效率,許多改進的算法被提出[4,5].He[4]等人又提出了使用導向濾波來替換軟摳圖方法,有效的縮短了算法運行時間.然而它處理一副 400×300 大小的圖像還需要10-20s,仍難以滿足實時的需求.刑曉敏等人[5]則是對圖像分割出天空區域進而估算大氣光值,從而改進場景透射率,使得復原的圖像真是自然,但是分割算法均過于復雜,消耗時間過長,不能滿足實時需要;劉哲[6]等人提出使用改進的雙邊濾波代替軟摳圖算法,使用暗通道圖和原圖最亮值的均值做大氣光值.雖然有效的降低了濾波的時間復雜度,但在大氣光值方面又增加了計算,且又是在CPU上運行,同樣不能達到實時處理的要求.

隨著CUDA 和OPENCL等并行架構的使用,GPU 已不僅僅是只用來對圖像顯示加速,更多的是把GPU當做一種協處理器對數據的計算進行加速,目前很多領域的算法已使用GPU加速且得到了較為滿意的效果.Xue[7]等人基于CUDA并行處理可以有效的提高算法效率,其實驗結果表明,處理

1024×767大小的圖片僅需要200ms,然而仍不能達到實時的效果.本文在Xue的方法基礎上,提出了一種基于天空分割并使用導向濾波優化透射率的去霧方法.該方法能夠很好的對含有天空區域的圖像去霧,結合CUDA并行處理 ,針對高清圖像基本做到了實時去霧.

2 背 景

2.1 霧天圖像退化模型

在霧天取景時,天空中的一些成分會對取像造成影響,如:空氣中微小粒子的散射現象,會導致從物體反射的入射光產生衰減;大氣粒子產生的散射作用,會使自然光一起參與圖像成像,造成霧天的取像整體偏向于灰白色.在圖像處理領域中,多采用如下模型來描述霧天圖像成像的物理模型[7].

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

(1)

其中:I(x)為觀測點收到的光強,J(x)是場景點反射出去的光強,t(x)為光線傳播圖,t(x)=e-βd(x),d(x)為觀測點距場景點的間隔,β為大氣光的散射系數,β在可見光范圍內視作常數,J(x)t(x)項即為場景反射(發射)光衰減模型;A是大氣光值,A(1-t(x))項即為大氣光成像模型.

2.2 暗原色先驗理論

暗原色先驗算法[3,4]的基本思想是對多幅無霧圖像觀察發現:大多數不含有明亮區域的圖像中,某一些像素最少會有RGB通道中的一種是接近于0的值,進而得出,暗通道先驗規律,即無霧圖像的暗通道像素亮度很小,接近于零.根據該規律,提出了基于暗原色先驗的去霧算法.

其暗通道可以用公式(2)表達:

(2)

式中Jc表示彩色圖像的單個通道,Ω(x)表示以像素點a為中心的一個區域.

對公式(2)兩邊進行取最小值,然后通過對3個顏色通道中取最小值.即可得到

Jdark→0

(3)

3 基于天空區域分割的去霧算法

由暗原色先驗的統計規律可知,He的算法對諸如天空等沒有暗原色的較亮區域,復原效果會產生色彩失真和光暈效應,為克服這一問題提出天空區域分割的方法,將對天空區域計算平均強度值作為新的大氣光值,在通過雙邊濾波進一步的優化透射率.實驗證明此方法對含有較多天空區域或含有較亮區域的霧天圖像可以做到很好的還原.其算法的流程如圖1所示.

圖1 去霧流程圖Fig.1 Defogging flow chart

3.1 天空區域分割算法

因為霧天圖像表現為灰白色,對比度與亮度的變化較為平緩.圖片中物體多是彩色的,而背景尤其是天空區域,則表現為接近于白色.霧天圖像偏白會導致和天空區域的連接較為緊密,通過邊緣檢測分割圖像,我們會得到不連續,信息不完全的圖像.

深度學習的圖像分割算法可以得到比較理想的效果,但是其數據較多,計算較為復雜,需要的時間較長,不適用于實時處理.而大津法(OTSU)閾值分割[8]復雜度較低,且運算時間較短.符合本文并行去霧縮短去霧時間的思想.分割的圖像如圖2所示.

(a) 有霧圖像 (b) 非天空區域 (c) 天空區域

圖2 基于OTSU的天空區域分割圖
Fig.2 Sky zone segmentation based on OTSU

OTSU是一種基于全局的二值化算法,對于一副圖像I(x,y)的灰度圖,根據閾值T可以把圖像分為前景(非天空區域)和背景(天空區域).閾值的最佳取值是在前后景差別最大時,其算法的最佳評價標準是最大類間方差.具體算法步如下:

1)計算0-255個灰度級中所有的像素點數量,然后把他們存儲到一個數組中,數組的下標是對應的每一級的灰度,儲存的內容是每一級灰度中的像素點個數.

2)求背景中的平均灰度和背景含有的像素點個數在背景圖像中的概率.

3)求前景中的灰度均值和前景含有的像素點個數在前景圖像中的概率.

4)遍歷0-255個灰度級,求并得到所需要類間方差的最大值.

前景(非天空區域)的像素點數占原始圖像像素點數的比例為k0,灰度均值記為μF.背景(天空區域)的像素點個數占原始圖像像素點數的比例為k1,其灰度均值為μB.原始圖像的灰度均值為μ,所求的類間方差值記為σ2.圖像的大小記為X×Y,前景中的像素點數記為Y0,背景中的像素個數記為Y1.

(4)

(5)

Y0+Y1=X×Y

(6)

k0+k1=1

(7)

μ=k0×μF+k1×μB

(8)

σ2=k0(μF-μ)2+k1(μB-μ)2

(9)

公式(10)帶入(11)即可得到

σ2=k0k1(μF-μB)2

(10)

使用遍歷的方法獲得最大的σ2就是所要求的閾值T.

3.2 初始透射率

在暗原色先驗算法中是選取暗圖中最亮值的前0.1%的像素點,在找出這些像素對應在霧天圖像中的最大的值作為大氣光值A.可以看出這是選取某一點的像素值強度作為A值,若選取某一點的值作為大氣光值,可能會導致選擇的A值是接近于最大像素值255.這樣會使圖像去霧后圖像有失真或斑塊產生.由此可知暗原色先驗算法不適用于有天空的圖像,本文選擇對霧天圖像分割得到其天空區域圖.選擇對天空區域計算其強度均值記為大氣光值.由于天空區域的景深可以看做是無窮遠.所以有公式(1)可知:

t(x)=e-βd(x)≈0

(11)

I(x)≈A

(12)

即A值可以看做是是含有霧圖像的最亮點的值.故將天空區域的強度均值記為A值是合理的.即:

(13)

(14)

在實際成像過程中,即便是無霧條件下,空氣也含有微小的顆粒,所以,觀看遠處的景象還會有不清楚的感覺,所以存在一定量的霧,會使我們感覺圖像更加的真實.故

(15)

經過大量的實驗表明ω在0.7-0.95之間去霧的效果較好,本文選擇為0.9.

3.3 精細化透射率及還原

He在濾波時選擇的是軟摳圖算法.軟摳圖算法的數據多,計算量較大,耗時.后來HE又提出導向濾波代替軟摳圖算法,導向濾波可以大幅度提高去霧算法運算效率,且對霧天圖像的還原效果更好.故本文選擇導向濾波精細化透射率.在得到大氣光值A和優化后的透射率t(x)后,由式(1)可得最后的還原公式為

(16)

4 去霧算法的并行加速及優化

4.1 并行性分析

由暗原色先驗算法可知暗原色去霧可以分為5個步驟,根據每個步驟中數據的關聯性,可分析出算法的最大并行效率,對一幅X×Y的圖像,分析其并行[9-12]化結果如表1所示.

表1 暗原色算法并行度分析Table 1 Dark color algorithm parallel degree analysis

由表1可以看出,暗原色先驗算法適用于并行計算.有3個過程可以達到像素點數的并行效率.求大氣光值的數據通過分析其并行度則可以達到分割出的天空圖像中的像素點數.Xue的大氣光值的并行度則為Log2(X×Y×0.001),對比可以發現本文的方法有更高的效率.優化透射率本文使用導向濾波,對Xue提出的并行累加保留累加中間結果的方法改進,可以有更高的并行度,進一步的提高并行效率.

4.2 計算暗原色

如圖3(a)所示在一副圖像中以線程Thread對應的點為中心選取15×15的窗口,對于邊緣的點通過擴展補充形成窗口[10].所有的像素點都能夠通過擴展得到一個暗原色值.在并行化中對每一個像素值分配一個線程.對每一個像素的窗口函數內求最小值,即像素點的暗原色值.

(a) 像素點對應的線程 (b)像素點的暗原色值圖3 暗原色求解Fig.3 Dark color solution window

由圖3(b)求一個像素點的暗原色值(黑色方塊:(0,0)、(1,2))可以看出,計算暗原色時,對每一個像素點值都需要多次讀取,可以利用寄存器存儲數據.但是寄存器的線程是私有的不能共享,且存儲空間有限,不同線程之間有數據的重復調用,可以使用共享內存,減少線程間的通信時間.

4.3 求大氣光值

Xue是使用傳統的方法求大氣光值,求最大值是通過排序的方法,由于排序存在時序問題,所有并行化不高,耗時較長.本文使用的是分割后的天空圖,求其強度均值作為大氣光值.其并行度為天空區域的像素點數.可以用歸約的方法求和后再求平均值.可以有效的提高算法效率.本文方法如圖4所示.

圖4 歸并法求和Fig.4 Merging method summation

4.4 計算初始透射率

圖5 kernel合并Fig.5 kernel merge

由于第1個和第3個Kernel函數的計算量較少,可以將其合并到第2個Kernel函數,合并后可以改變存儲方式,由原來的全局內存變為共享內存,可以減少數據的訪存時間達到優化代碼的效果.具體如圖5所示.

4.5 精細化透射率及還原

本文使用導向濾波[4]精細化透射率,在這一計算過程中多次使用中值濾波函數box_filter,對其核函數進合并,可以看為有兩個kernel函數在并行.一個是求行累加,另一個是求列累加,還有一些其他的矩陣運算[11].累加的方法如圖6所示.

圖6 并行累加Fig.6 Parallel accumulation

由圖6可知導向濾波在做累加是保留中間結果的累加方法,如果使用傳統的方法,需要大量的計算步驟,且需要多次分配內存.而使用圖6的方式可以有效的減少計算次數,在調用數據時使用共享內存,也可以提高數據的使用效率.如a0+a1+a2+a3這個存儲空間可以多次調用,且不用多次分配內存.

(a) 霧天圖像 (b) He的去霧圖 (c) 劉的去霧圖 (d) 本文去霧圖

圖7 去霧算法對圖
Fig.7 Defogging algorithm comparison chart

由于需要多次調用box_filter,使用上圖法已經大幅度優化了累加的時間,但是每次調用的數據不一樣,數據之間有四則運算,結果之間也有四則運算,根據這些不同,可使用一個kernel函數多次調用即可.其余的矩陣運算使用另一個kernel函數既可以.

由公式(16)可知,在去霧這一過程中只涉及到簡單的四則運算,故可以調用精細化透射率中的kernel函數.

5 實驗結果與分析

5.1 去霧效果比較

本文方法是在VS2013平臺上使用opencv3.1和CUDA7.5,進行C、CUDA C編程實現的.硬件配置環境為:顯卡(NVIDIA GeForce GTX 1080Ti),CPU(Inter Core i7700k) 內存(16GB ).

圖7給出了本文算法和He算法的對比效果,其中(a)為有霧圖像,(b)為He方法去霧的圖像,(c)為文獻[6]劉的去霧圖,(d)為本文方法去霧的圖像.從這些對比圖像可以觀察到,He方法在對天空區域去霧時出現了光暈現象和色彩失真,而本文方法所恢復的圖像更加自然真實.

5.2 去霧速度比較

我們選擇1280×720的圖片,分別對去霧過程中的每一個步驟進行時間統計并與Xue的算法進行對比,其結果如表2所示.

表2 去霧各步驟的運行時間Table 2 Timing of the defogging steps 單位:ms

從表2可以看出,針對高清圖像,本文的并行優化算法較只用CPU實現,其速度提升了75倍,與Xue的并行加速算法相比,其速度提升了近3倍,基本達到了對高清圖像的實時處理.圖8給出了本文CPU版本與Xue方法和本文GPU方法去霧過程中各步驟的時間對比.

圖8 CPU版與Xue方法和本文方法的時間比Fig.8 CPU time compared to the method of Xue and this method

由于Xue的方法沒有分割故不與CPU版做對比,去霧這一步驟時間相同也不與CPU版作對比.本文方法的并行加速效果更加明顯,在整個加速過程中可以看出在暗原色、大氣光值、初始透射率和去霧上加速比較大,是因為這3個步驟并行度高都是一些簡單的四則運算,在優化透射率加速比小是因為此步驟有大量的kernel函數.數據訪存較多,所以較慢.在分割過程中存在時序問題,所以圖像的并行度不高,速度沒有得到較高的提升.在處理大小為1280×720圖像的不計算讀寫速度可以達到50ms,即每秒20幀的處理速度.基本可以滿足這類圖像的實時去霧效果.通過與Xue 的算法對比可以看出本文的加速效果更好.由于Xue的算法是在HE的算法基礎上只進行算法的并行優化,其去霧效果同HE的去霧效果一樣.通過對比本文的去霧效果更好,時間也更短,更適用于一些視頻的實時去霧.

表3分別給出了針對不同大小的圖片去霧的時間統計.

表3 去霧時間對比 Table 3 Defogging time comparison 單位:ms

6 總 結

本文對He和劉的去霧算法進行了實驗觀察,此算法對霧天圖像可以實現去霧.但在處理含有天空的霧天圖像還有一些缺陷.本文在保證去霧效果前提下,提出了基于天空區域分割的改進的暗原色先驗的去霧算法.解決了對天空區域去霧出現的失真、塊效應的情況.為了提升去霧算法的效率,本文將整個去霧算法并行化,使用CUDA實現.并對Xue的方法進行了改進,在求大氣光值時有更高的并行度,進一步提升了運算速率.本文算法在快速去霧的基礎上,同時達到了天空區域去霧不失真的效果.但是在霧氣較濃的圖像中,天空分割的效果并不好,大氣光值就不準確,會影響天空區域的去霧效果.

基于霧天退化模型的去霧算法,大氣光值和透射率是去霧的關鍵.對于霧氣較濃的圖像,天空分割的效果并不好,解決濃霧下的天空分割和透射率進一步優化是我們下一步的研究工作.

猜你喜歡
大氣區域
大氣的呵護
軍事文摘(2023年10期)2023-06-09 09:15:06
永久基本農田集中區域“禁廢”
今日農業(2021年9期)2021-11-26 07:41:24
太赫茲大氣臨邊探測儀遙感中高層大氣風仿真
分割區域
大氣古樸揮灑自如
大氣、水之后,土十條來了
新農業(2016年18期)2016-08-16 03:28:27
關于四色猜想
分區域
基于嚴重區域的多PCC點暫降頻次估計
電測與儀表(2015年5期)2015-04-09 11:30:52
區域
民生周刊(2012年10期)2012-10-14 09:06:46
主站蜘蛛池模板: 亚洲精品无码日韩国产不卡| 中文字幕在线永久在线视频2020| 欧美a√在线| 亚国产欧美在线人成| 91娇喘视频| 国产熟睡乱子伦视频网站| 日本亚洲欧美在线| 露脸一二三区国语对白| 91精品国产91久久久久久三级| 国产女人在线| 午夜天堂视频| 欧美h在线观看| 日韩AV无码一区| 亚洲 欧美 中文 AⅤ在线视频| 亚洲一区二区无码视频| 成人午夜网址| 麻豆国产精品视频| 妇女自拍偷自拍亚洲精品| 婷婷综合在线观看丁香| 亚洲啪啪网| 在线亚洲小视频| 国产精女同一区二区三区久| 色综合天天娱乐综合网| av色爱 天堂网| 18禁不卡免费网站| 久久a级片| 欧美天堂久久| 国产欧美日韩视频一区二区三区| 亚洲中文字幕在线精品一区| 亚洲欧洲免费视频| 亚洲精品无码成人片在线观看| 在线播放国产一区| 最新无码专区超级碰碰碰| 美女潮喷出白浆在线观看视频| 亚洲精品在线观看91| 九九热精品视频在线| 国产精品自在在线午夜区app| 亚洲专区一区二区在线观看| 四虎精品免费久久| 国产精品尹人在线观看| 亚洲狼网站狼狼鲁亚洲下载| 青草午夜精品视频在线观看| 欧美笫一页| 亚国产欧美在线人成| 国产国产人成免费视频77777 | 亚洲国产系列| 五月婷婷精品| 激情乱人伦| 一级毛片高清| 一级香蕉视频在线观看| 高清欧美性猛交XXXX黑人猛交 | 亚洲精品无码在线播放网站| 精品日韩亚洲欧美高清a| 亚洲无码视频一区二区三区| 午夜精品久久久久久久无码软件 | 在线网站18禁| 又粗又大又爽又紧免费视频| 中文字幕在线播放不卡| 精品一区二区三区水蜜桃| 狠狠亚洲五月天| 91久久精品国产| 一级黄色欧美| 欧美亚洲另类在线观看| 中字无码av在线电影| 色欲国产一区二区日韩欧美| 91在线中文| 女人一级毛片| 亚洲日韩高清无码| 日韩视频福利| 亚洲乱码在线播放| 人妻无码中文字幕一区二区三区| 午夜福利在线观看入口| 夜夜操狠狠操| 国产欧美高清| 午夜福利在线观看入口| 国产精品福利尤物youwu| 日韩欧美国产中文| 国产99欧美精品久久精品久久 | 亚洲无限乱码| 尤物特级无码毛片免费| 97综合久久| 亚洲成网777777国产精品|