CN106469440A - 基于OpenCL的暗通道去雾并行优化方法 - Google Patents
基于OpenCL的暗通道去雾并行优化方法 Download PDFInfo
- Publication number
- CN106469440A CN106469440A CN201610808183.9A CN201610808183A CN106469440A CN 106469440 A CN106469440 A CN 106469440A CN 201610808183 A CN201610808183 A CN 201610808183A CN 106469440 A CN106469440 A CN 106469440A
- Authority
- CN
- China
- Prior art keywords
- image
- map
- gray
- graph
- defogging
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000005457 optimization Methods 0.000 title claims abstract description 13
- 230000008030 elimination Effects 0.000 title 1
- 238000003379 elimination reaction Methods 0.000 title 1
- 239000003595 mist Substances 0.000 title 1
- 238000001914 filtration Methods 0.000 claims abstract description 51
- 238000002834 transmittance Methods 0.000 claims abstract description 49
- 238000012545 processing Methods 0.000 claims abstract description 26
- 239000011159 matrix material Substances 0.000 claims description 32
- 238000010586 diagram Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 claims description 3
- 101150064138 MAP1 gene Proteins 0.000 claims 1
- AGVAZMGAQJOSFJ-WZHZPDAFSA-M cobalt(2+);[(2r,3s,4r,5s)-5-(5,6-dimethylbenzimidazol-1-yl)-4-hydroxy-2-(hydroxymethyl)oxolan-3-yl] [(2r)-1-[3-[(1r,2r,3r,4z,7s,9z,12s,13s,14z,17s,18s,19r)-2,13,18-tris(2-amino-2-oxoethyl)-7,12,17-tris(3-amino-3-oxopropyl)-3,5,8,8,13,15,18,19-octamethyl-2 Chemical compound [Co+2].N#[C-].[N-]([C@@H]1[C@H](CC(N)=O)[C@@]2(C)CCC(=O)NC[C@@H](C)OP(O)(=O)O[C@H]3[C@H]([C@H](O[C@@H]3CO)N3C4=CC(C)=C(C)C=C4N=C3)O)\C2=C(C)/C([C@H](C\2(C)C)CCC(N)=O)=N/C/2=C\C([C@H]([C@@]/2(CC(N)=O)C)CCC(N)=O)=N\C\2=C(C)/C2=N[C@]1(C)[C@@](C)(CC(N)=O)[C@@H]2CCC(N)=O AGVAZMGAQJOSFJ-WZHZPDAFSA-M 0.000 claims 1
- 238000009499 grossing Methods 0.000 claims 1
- 101150077939 mapA gene Proteins 0.000 claims 1
- 238000012544 monitoring process Methods 0.000 abstract description 4
- 230000007547 defect Effects 0.000 abstract description 2
- 238000002474 experimental method Methods 0.000 description 7
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000012360 testing method Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000011179 visual inspection Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/73—Deblurring; Sharpening
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种基于OpenCL的暗通道去雾并行优化方法,主要解决现有技术适用平台受限,难以对高分辨率图像进行实时处理的缺陷,其实现步骤为:1.设备初始化;2.将有雾视频的一帧图像拷贝到设备中;3.计算有雾图像的灰度图和三通道最小值图,并计算暗通道图;4.根据暗通道图计算大气光;5.依据暗通道图和大气光计算预估透射率图;6.对预估透射率图进行导向滤波得到精细透射率图;7.根据大气光,有雾图像和精细透射率图进行去雾处理,并将去雾后的图像拷贝到主机内存。本发明适用于多种并行计算平台,提高了暗通道去雾的处理速度,可用于为后续的视频监控,图像识别提供清晰的图像源。
Description
技术领域
本发明属于图像处理技术领域,更进一步是一种去雾并行优化方法,可用于对后续的实时视频监控,图像识别提供清晰的图像源。
背景技术
雾霾天气条件下,室外图像采集设备受其影响,采集到的图像会出现模糊,对比度下降,色调偏移等退化现象,不仅严重影响了视觉检测系统的正常工作,也给后期智能识别等应用带来了巨大挑战。
何恺明等人提出的暗通道先验去雾方法,在单帧图像去雾效果方面得到了学术界的认可,然而在处理速度方面,由于该方法计算时间较长,通过单纯的CPU串行运算,难以满足视频监控场景对实时性的要求。
基于图像数据利于分割,可以大量并行的特点,很多基于CPU+GPU的异构计算的解决方案应运而生。国防科技大学的薛云刚等人在论文《基于CUDA的暗原色先验去雾算法并行实现与优化》中提出一种基于CUDA计算框架的并行实现方法,对640×480的图像有25帧/秒的处理速度;四川川大智胜软件股份有限公司,四川大学的专利申请“一种基于CUDA的图像实时去雾方法”(公开号:CN103049890A,申请号:CN201310017014.X,申请日:2013年1月17日)中公开了一种基于CUDA的图像实时去雾的方法,对600×400的图像可以达到32帧/秒的处理速度。这些方法存在以下不足:
首先,现有的异构计算解决方案均对低分辨率达到25帧/秒以上的处理速度,随着近年来监控设备逐步向1920×1080的高分辨率过渡,这种处理速度不能满足的高清视频的实时处理需求;
其次,基于CUDA计算框架编写的程序仅能运行在NVIDIA公司生产的GPU上,其可移植性较低。
发明内容
本发明的目的在于克服已有技术的不足,提出一种基于OpenCL的暗通道去雾并行优化方法,以提高视频的去雾速度和实现平台的兼容性。
为了实现上述目的,本发明包括:
(1)选用支持开放计算语言OpenCL的平台,对该平台进行初始化,并从中选取能运行内核函数的设备E,该设备包括CPU,GPU,intel MIC加速卡;
(2)将RGB彩色有雾视频的一帧图像I从主机内存拷贝到设备E的全局内存中;
(3)通过并行处理的方式计算RGB彩色有雾图像I各像素位置的灰度值,生成灰度图Igray,通过并行处理的方式计算各像素位置RGB三通道最小值,生成最小值图Imin;
(4)对最小值图Imin进行最小值滤波,得到暗通道图Idark;
(5)根据暗通道图Idark计算大气光A:
(5a)计算暗通道图Idark的直方图h;
(5b)根据直方图h求得灰度值最大的0.1%像素点对应的灰度值下界l;
(5c)以l为阈值对暗通道图像Idark进行二值化得到二值图像I';
(5d)对有雾图像I的RGB三通道图Ir、Ig、Ib分别点乘二值图像I',得到RGB三通道灰度图像Ir'、Ig'、Ib';
(5e)分别计算RGB三通道灰度图像Ir'、Ig'、Ib'的直方图hr、hg、hb;
(5f)通过RGB三通道直方图hr、hg、hb,计算大气光A={Ar,Ag,Ab},
其中,c∈{r,g,b},i为在0~255变化的灰度值,Ar、Ag、Ab分别为红色,绿色,蓝色三通道的大气光值;
(6)根据大气光A和有雾图像I的RGB三通道图Ir、Ig、Ib,计算预估透射率图t;
(7)根据有雾图像的灰度图Igray和预估透射率图t,得到精细透射率图t:
(7a)对预估透射率图t进行行向均值滤波,得到行均值滤波结果图tr;再对行均值滤波结果图tr进行列向均值滤波,得到平滑透射率图mt;
(7b)对有雾图像的灰度图Igray进行均值滤波,得到平滑引导图mI;
(7c)根据平滑透射率图mt、平滑引导图mI、预估透射率图t和有雾图像的灰度图Igray,得到平滑缩放矩阵ma、平滑偏移矩阵mb;
(7d)根据平滑缩放矩阵ma、平滑偏移矩阵mb和有雾图像的灰度图Igray,得到精细透射率图
(8)根据RGB三通道有雾图像I、精细透射率图和大气光A,计算去雾结果图J;
(9)将RGB三通道去雾结果图J从设备E读回主机内存;
本发明与现有技术相比较,具有如下优点:
第一,由于本发明使用了开放计算语言OpenCL,基于OpenCL语言编写的程序,可以在INTEL,AMD的CPU,NVIDIA,AMD的GPU,INTEL的MIC平台运行,与此相对的,其他解决方案采用的CUDA计算语言作为NVIDIA专属计算框架,仅能在NVDIA显卡上运行,因此,本发明方案具有更好的平台兼容性。
第二,由于本发明引入直方图求解大气光,与选取单一像素点的原暗通道去雾算法相比,所得大气光值在数值上具有稳定性。
第三,由于本发明在均值滤波中使用了局部内存,该类型内存具有很高的存取速度,本发明中对局部内存的使用,保证了对全局内存的读写操作为合并访问,提高了读取写入效率,节省了处理时间。
第四,由于本发明在均值滤波中采用了先分块计算,再合并分块处理结果的方法,提高了并行度,节省了处理时间。
第五,由于本发明在均值滤波中采用了先进行行向滤波,再进行列向滤波的行列分离的处理方法,避免了对同一像素点的冗余访问,提高了处理速度。
附图说明
图1是本发明的实现流程图。
图2是本发明使用的RGB彩色有雾视频的一帧图像。
图3是本发明的去雾结果图。
具体实施方式
以下参照附图,对本发明具体实施方式和效果做进一步描述:
参照图1,本发明采用OpenCL计算框架,可以在任何一款支持OpenCL架构的设备上实现,其步骤如下:
步骤1,初始化。
选用支持开放计算语言OpenCL的平台,对该平台进行初始化,并从中选取能运行内核函数的设备E,该设备包括CPU,GPU,intel MIC加速卡。
步骤2,将RGB彩色有雾视频的一帧图像I从主机内存拷贝到设备E的全局内存中。
由于视频可以看作时间连续的图像序列,本发明通过对RGB彩色有雾视频连续帧进行图像去雾来实现视频去雾,将有雾视频连续帧图像从主机内存拷贝到设备的全局内存中,以进行图像去雾操作。
步骤3,计算灰度图和三通道最小值图。
以单个线程处理单个像素点,不同线程处理不同坐标位置像素点的方式,计算RGB彩色有雾图像I各坐标位置的灰度值,形成灰度图Igray;
其中,灰度图Igray在坐标x处的像素值:
Igray(x)=0.299×r+0.587×g+0.114×b,r,g,b分别为有雾图像I在x处的红色、绿色、蓝色像素值;
以单个线程处理单个像素点,不同线程处理不同坐标位置像素点的方式,计算各像素位置RGB三通道最小值,形成最小值图Imin;
其中,最小值图Imin在坐标x处的像素值:Imin(x)=min(r,g,b)。
步骤4,对最小值图Imin进行最小值滤波,得到暗通道图Idark。
计算暗通道图Idark在坐标x处的像素值Idark(x):
形成暗通道图Idark,其中,Ω(x)为以坐标x为中心的正方形邻域。
步骤5,计算大气光。
(5a)计算暗通道图Idark的直方图h;
(5b)根据直方图h求得灰度值最大的0.1%像素点对应的灰度值下界l:
计算累计和数组s在坐标o处的值:通过累计和数组s查找满足下式的灰度值下界l:
s[l]>=0.001×n
s[l+1]<0.001×n
其中,s[l],s[l+1]分别为s在坐标l,l+1处的值,n为暗通道图Idark像素点总数;
(5c)以l为阈值对暗通道图像Idark进行二值化,得到二值图像I';
(5d)对有雾图像I的RGB三通道图Ir、Ig、Ib分别点乘二值图像I',得到RGB三通道灰度图像Ir'、Ig'、Ib';
(5e)分别计算RGB三通道灰度图像Ir'、Ig'、Ib'的直方图hr、hg、hb;
(5f)通过RGB三通道直方图hr、hg、hb,计算大气光A={Ar,Ag,Ab},
其中,c∈{r,g,b},i为在0~255变化的灰度值,Ar、Ag、Ab分别为红色,绿色,蓝色三通道的大气光值。
步骤6,计算预估透射率图。
(6a)根据红色,绿色,蓝色三通道的大气光值Ar、Ag、Ab,计算预估透射率图t在坐标z处的像素值t(z):
其中Ir(y)、Ig(y)、Ib(y)分别为RGB三通道图Ir、Ig、Ib在坐标y处的灰度值,Ω(z)为以坐标z为中心的正方形邻域;
(6b)将各坐标处像素值t(z)进行组合,形成预估透射率图t。
步骤7,对预估透射率图进行导向滤波,得到精细透射率图。
(7a)对预估透射率图t进行行向均值滤波,得到行均值滤波结果图tr;再对行均值滤波结果图tr进行列向均值滤波,得到平滑透射率图mt:
(7a1)设置H个工作组,每个工作组包含256个线程,每个工作组对应处理预估透射率图t的一行数据,其中H为预估透射率图t的高度;
(7a2)使用第i个工作组的全部线程,通过合并访存的方式,读入预估透射率图t的第i行数据,存储到局部内存数组g起始坐标为l1=R+1的连续内存空间中,其中R为滤波器半径;
(7a3)对局部内存数组g的边界扩展像素赋值:
先对数组g的l1个左边界扩展像素赋值,得到数组g在坐标j处的像素值:
g[j]=g[2l1-1-j],其中,0<=j<l1;
再对数组g的l2个右边界扩展像素赋值,得到数组g在坐标l1+W+k处的像素值:
g[l1+W+k]=g[l1+W-1-k],其中:l2=(W+l1+R+M-1)/M×M-W-l1,W为预估透射率图t的宽度,M为滤波器宽度M=2×R+1,0<=k<l2;
(7a4)计算分块数:L=(W+R+l2)/M;
(7a5)以第i个工作组中前L个线程,并行计算局部内存数组g的L个分块的前缀和:
g[m]=g[m-1]+g[m],其中,g[m]为数组g在坐标m处的像素值,对第l个线程,
1+l×M<=m<1+(l+1)×M,l为线程编号;
(7a6)以第i个工作组中所有线程并行计算行均值滤波结果图tr在第i行的像素值,再用各行结果合并形成行均值滤波结果图tr,其中tr在坐标位置(i,j)处的像素值为:
tr(i,j)=(g[j+l1+R]+g[(j+M-1)/M×M]-g[j])/M;
(7a7)根据行均值滤波结果图tr,以第i个线程,计算第i列第0行的滤波结果:
其中,tr(j,i)为tr在坐标位置(j,i)的像素值;
(7a8)根据行均值滤波结果图tr,第i列第0行滤波结果mt(0,i),以第i个线程,计算第i列的H-1行滤波结果mt(j,i):
mt(j,i)=mt(j-1,i)+q(j+R,i)-q(j-R,i),
其中,
1<=j<H,mt(j-1,i)为第i列,第j-1行滤波结果;
(7a9)将第i列第0行的滤波结果mt(0,i)与第i列的H-1行滤波结果mt(j,i)进行组合,形成平滑透射率图mt。
(7b)对有雾图像的灰度图Igray进行均值滤波,得到平滑引导图mI;
(7c)根据平滑透射率图mt、平滑引导图mI、预估透射率图t和有雾图像的灰度图Igray,得到平滑缩放矩阵ma、平滑偏移矩阵mb:
(7c1)根据有雾图像的灰度图Igray和平滑引导图mI,计算引导图方差矩阵varI:
varI=fmean(Igray.*Igray,R)-mI.*mI,
其中fmean(Igray.*Igray,R)表示对Igray与Igray点乘的结果进行均值滤波,R为滤波器半径;
(7c2)根据预估透射率图、有雾图像的灰度图Igray、平滑引导图mI和平滑透射率图mt,计算引导图与预估透射率图的协方差矩阵covIt:
covIt=fmean(t.*Igray,R)-mt.*mI,
其中,fmean(t.*Igray,R)表示对Igray与t点乘的结果进行均值滤波,R为滤波器半径,.*为点乘运算符;
(7c3)根据引导图方差矩阵varI、引导图与预估透射率图的协方差矩阵covIt、平滑引导图mI和平滑透射率图mt,计算缩放矩阵a、偏移矩阵b:
b=mI-a.*mt
(7c4)对缩放矩阵a、偏移矩阵b分别进行均值滤波,得到平滑缩放矩阵ma、平滑偏移矩阵mb;
(7d)根据平滑缩放矩阵ma、平滑偏移矩阵mb和有雾图像的灰度图Igray,得到精细透射率图:
步骤8,计算去雾结果图。
(8a)计算去雾结果图J在坐标z处像素值J(z):
其中,分别为有雾图像I,精细透射率图在坐标z处的像素值;
(8b)将各坐标处的像素值J(z)进行组合,形成去雾结果图J。
步骤9,将去雾结果图J拷贝到主机内存,完成对有雾视频的单帧去雾。
本发明通过以上步骤,实现了高速的视频去雾操作,可以为后续的视频监控,图像识别等应用提供清晰的图像源。
本发明的效果可由以下实验进一步说明:
实验1,平台兼容性测试:
本实验测试的有雾视频分辨率为640×480,计算在不同平台上对测试视频前500帧进行去雾,输出视频的平均帧率=帧数/处理时间(秒),如表一所示:
表一,不同平台视频去雾平均帧率表
从表一可以看出,本发明适用于不同平台,且去雾输出视频的平均帧率均高于现有解决方案。
实验2,性能测试
本实验测试设备为AMD HD7750显卡,选取不同分辨率有雾视频,计算对前500帧进行去雾,输出视频的平均帧率,如表二所示:
表二,AMD HD7750显卡对不同分辨率视频去雾平均帧率表
从表二可以看出,本发明对于高分辨率图像具有超过40帧每秒的处理速率,实现了高清视频实时处理。
实验3,去雾效果测试
本实验测试的有雾视频分辨率为640×480,对比有雾视频中的一帧图像与该帧图像去雾后图像的清晰度。
取有雾视频第320帧图像,如图2所示,用本发明方法对该有雾图像进行去雾处理,得到去雾后图像如图3所示。
对比图2图3可见,去雾后图像清晰度明显提高,表明本发明具有良好的去雾效果。
综上,本发明解决了现有技术方案的缺陷,适用于多种并行计算平台,实现了高清视频实时处理,可以为后续的视频监控,图像识别等应用提供清晰的图像源。
Claims (8)
1.基于OpenCL的暗通道去雾并行优化方法,包括:
(1)选用支持开放计算语言OpenCL的平台,对该平台进行初始化,并从中选取能运行内核函数的设备E,该设备包括CPU,GPU,intel MIC加速卡;
(2)将RGB彩色有雾视频的一帧图像I从主机内存拷贝到设备E的全局内存中;
(3)通过并行处理的方式计算RGB彩色有雾图像I各坐标位置的灰度值,生成灰度图Igray,通过并行处理的方式计算各坐标位置RGB三通道最小值,生成最小值图Imin;
(4)对最小值图Imin进行最小值滤波,得到暗通道图Idark;
(5)根据暗通道图Idark计算大气光A:
(5a)计算暗通道图Idark的直方图h;
(5b)根据直方图h求得灰度值最大的0.1%像素点对应的灰度值下界l;
(5c)以l为阈值对暗通道图像Idark进行二值化得到二值图像I';
(5d)对有雾图像I的RGB三通道图Ir、Ig、Ib分别点乘二值图像I',得到RGB三通道灰度图像Ir'、Ig'、Ib';
(5e)分别计算RGB三通道灰度图像Ir'、Ig'、Ib'的直方图hr、hg、hb;
(5f)通过RGB三通道直方图hr、hg、hb,计算大气光A={Ar,Ag,Ab},
其中,c∈{r,g,b},i为在0~255变化的灰度值,Ar、Ag、Ab分别为红色,绿色,蓝色三通道的大气光值;
(6)根据大气光A和有雾图像I的RGB三通道图Ir、Ig、Ib,计算预估透射率图t;
(7)根据有雾图像的灰度图Igray和预估透射率图t,得到精细透射率图
(7a)对预估透射率图t进行行向均值滤波,得到行均值滤波结果图tr;再对行均值滤波结果图tr进行列向均值滤波,得到平滑透射率图mt;
(7b)对有雾图像的灰度图Igray进行均值滤波,得到平滑引导图mI;
(7c)根据平滑透射率图mt、平滑引导图mI、预估透射率图t和有雾图像的灰度图Igray,得到平滑缩放矩阵ma、平滑偏移矩阵mb;
(7d)根据平滑缩放矩阵ma、平滑偏移矩阵mb和有雾图像的灰度图Igray,得到精细透射率图
(8)根据RGB三通道有雾图像I、精细透射率图和大气光A,计算去雾结果图J;
(9)将去雾结果图J拷贝到主机内存,完成对有雾视频的单帧去雾。
2.根据权利要求1所述的基于OpenCL的暗通道去雾并行优化方法,其特征在于:步骤(3)中并行处理方式是指单个线程处理单个像素点,不同线程对应处理图像不同坐标位置的像素点。
3.根据权利要求1所述的基于OpenCL的暗通道去雾并行优化方法,其特征在于:步骤(6)中根据大气光A和有雾图像I的RGB三通道图Ir、Ig、Ib,计算预估透射率图t,按如下步骤进行:
(6a)计算预估透射率图t在坐标z处的像素值t(z):
其中Ir(y)、Ig(y)、Ib(y)分别为Ir、Ig、Ib在坐标y处的灰度值,Ω(z)为以坐标z为中心的正方形邻域;
(6b)将各坐标处像素值t(z)进行组合,形成预估透射率图t。
4.根据权利要求1所述的基于OpenCL的暗通道去雾并行优化方法,其特征在于:步骤(7a)中对预估透射率图t进行行向均值滤波,按如下步骤进行:
(7a1)设置H个工作组,每个工作组包含256个线程,每个工作组对应处理预估透射率图t的一行数据,其中H为预估透射率图t的高度;
(7a2)使用第i个工作组的全部线程,通过合并访存的方式,读入预估透射率图t的第i行数据,存储到局部内存数组g起始坐标为l1=R+1的连续内存空间中,其中R为滤波器半径;
(7a3)对局部内存数组g的边界扩展像素赋值:
先对数组g的l1个左边界扩展像素赋值,得到数组g在坐标j处的像素值:g[j]=g[2l1-1-j],其中,0<=j<l1;
再对数组g的l2个右边界扩展像素赋值,得到数组g在坐标l1+W+k处的像素值:g[l1+W+k]=g[l1+W-1-k]
其中,l2=(W+l1+R+M-1)/M×M-W-l1,W为预估透射率图t的宽度,M为滤波器宽度M=2×R+1,0<=k<l2;
(7a4)计算分块数:L=(W+R+l2)/M;
(7a5)以第i个工作组中前L个线程并行计算局部内存数组g的L个分块的前缀和:g[m]=g[m-1]+g[m],其中,g[m]为数组g在坐标m处的像素值,对第l个线程,1+l×M<=m<1+(l+1)×M,l为线程编号;
(7a6)以第i个工作组中所有线程并行计算行均值滤波结果图tr在第i行的像素值,再用各行结果合并形成行均值滤波结果图tr,其中tr在坐标位置(i,j)处的像素值为:
tr(i,j)=(g[j+l1+R]+g[(j+M-1)/M×M]-g[j])/M。
5.根据权利要求1所述的基于OpenCL的暗通道去雾并行优化方法,其特征在于:步骤(7a)中对行均值滤波结果图tr进行列向均值滤波,按如下步骤进行:
(7a7)根据行均值滤波结果图tr,以第i个线程,计算第i列第0行的滤波结果mt(0,i):
其中,tr(j,i)为tr在坐标位置(j,i)的像素值;
(7a8)根据行均值滤波结果图tr,第i列第0行滤波结果mt(0,i),以第i个线程,计算第i列的H-1行滤波结果mt(j,i):
mt(j,i)=mt(j-1,i)+q(j+R,i)-q(j-R,i)
其中,
1<=j<H,mt(j-1,i)为第i列,第j-1行滤波结果;
(7a9)将第i列第0行的滤波结果mt(0,i)与第i列的H-1行滤波结果mt(j,i)进行组合,形成平滑透射率图mt。
6.根据权利要求1所述的基于OpenCL的暗通道去雾并行优化方法,其特征在于:步骤(7a2)中的合并访存,是指使用工作组中的编号连续的线程,访问全局内存中的地址连续的内存区域。
7.根据权利要求1所述的基于OpenCL的暗通道去雾并行优化方法,其特征在于:步骤(7c)按如下步骤进行:
(7c1)根据有雾图像的灰度图Igray,平滑引导图mI,计算引导图方差矩阵varI:
varI=fmean(Igray.*Igray,R)-mI.*mI,
其中fmean(Igray.*Igray,R)表示对Igray与Igray点乘的结果进行均值滤波,R为滤波器半径;
(7c2)根据预估透射率图t,有雾图像的灰度图Igray,平滑引导图mI,平滑透射率图mt,计算引导图与预估透射率图的协方差矩阵covIt:
covIt=fmean(t.*Igray,R)-mt.*mI
其中,fmean(t.*Igray,R)表示对Igray与t点乘的结果进行均值滤波,R为滤波器半径,.*为点乘运算符;
(7c3)根据引导图方差矩阵varI,引导图与预估透射率图的协方差矩阵covIt,平滑引导图mI,平滑透射率图mt,计算缩放矩阵a、偏移矩阵b:
(7c4)对缩放矩阵a、偏移矩阵b分别进行均值滤波,得到平滑缩放矩阵ma、平滑偏移矩阵mb。
8.根据权利要求1所述的基于OpenCL的暗通道去雾并行优化方法,其特征在于:步骤(8)中根据RGB三通道有雾图像I、精细透射率图和大气光A,计算去雾结果图J,按如下步骤进行:
(8a)计算去雾结果图J在坐标z处像素值J(z):
其中,分别为有雾图像I,精细透射率图在坐标z处的像素值;
(8b)将各坐标处的像素值J(z)进行组合,形成去雾结果图J。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610808183.9A CN106469440B (zh) | 2016-09-08 | 2016-09-08 | 基于OpenCL的暗通道去雾并行优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610808183.9A CN106469440B (zh) | 2016-09-08 | 2016-09-08 | 基于OpenCL的暗通道去雾并行优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106469440A true CN106469440A (zh) | 2017-03-01 |
CN106469440B CN106469440B (zh) | 2019-07-16 |
Family
ID=58230664
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610808183.9A Active CN106469440B (zh) | 2016-09-08 | 2016-09-08 | 基于OpenCL的暗通道去雾并行优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106469440B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107424132A (zh) * | 2017-07-25 | 2017-12-01 | 西安电子科技大学 | 一种图像快速去雾的优化方法 |
CN108093175A (zh) * | 2017-12-25 | 2018-05-29 | 北京航空航天大学 | 一种实时高清视频自适应去雾方法及装置 |
CN108765302A (zh) * | 2018-03-29 | 2018-11-06 | 西安电子科技大学 | 基于gpu的图像实时去雾方法 |
CN109901840A (zh) * | 2019-02-14 | 2019-06-18 | 中国科学院计算技术研究所 | 一种线程间冗余删除的异构编译优化方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110188775A1 (en) * | 2010-02-01 | 2011-08-04 | Microsoft Corporation | Single Image Haze Removal Using Dark Channel Priors |
CN104751421A (zh) * | 2015-03-10 | 2015-07-01 | 西安理工大学 | 一种在fpga上实现的图像去雾方法 |
CN105488769A (zh) * | 2015-12-08 | 2016-04-13 | 中国航空工业集团公司西安航空计算技术研究所 | 一种实时视频去雾方法 |
-
2016
- 2016-09-08 CN CN201610808183.9A patent/CN106469440B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110188775A1 (en) * | 2010-02-01 | 2011-08-04 | Microsoft Corporation | Single Image Haze Removal Using Dark Channel Priors |
CN104751421A (zh) * | 2015-03-10 | 2015-07-01 | 西安理工大学 | 一种在fpga上实现的图像去雾方法 |
CN105488769A (zh) * | 2015-12-08 | 2016-04-13 | 中国航空工业集团公司西安航空计算技术研究所 | 一种实时视频去雾方法 |
Non-Patent Citations (4)
Title |
---|
LIU, H 等: "An improved sharpening algorithm for foggy picture based on dark-channel prior", 《PROCEEDINGS OF THE 2015 INTERNATIONAL INDUSTRIAL INFORMATICS AND COMPUTER ENGINEERING CONFERENCE》 * |
刘晓光: "基于 OpenCL 的图像去雾算法研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
楚君: "单幅雾天降质图像色彩复原算法研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
王科俊等: "高效均值滤波算法", 《计算机应用研究》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107424132A (zh) * | 2017-07-25 | 2017-12-01 | 西安电子科技大学 | 一种图像快速去雾的优化方法 |
CN107424132B (zh) * | 2017-07-25 | 2020-07-07 | 西安电子科技大学 | 一种图像快速去雾的优化方法 |
CN108093175A (zh) * | 2017-12-25 | 2018-05-29 | 北京航空航天大学 | 一种实时高清视频自适应去雾方法及装置 |
CN108765302A (zh) * | 2018-03-29 | 2018-11-06 | 西安电子科技大学 | 基于gpu的图像实时去雾方法 |
CN109901840A (zh) * | 2019-02-14 | 2019-06-18 | 中国科学院计算技术研究所 | 一种线程间冗余删除的异构编译优化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106469440B (zh) | 2019-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111598074B (zh) | 边缘检测方法和装置、电子设备和存储介质 | |
CN111553929A (zh) | 基于融合网络的手机屏幕缺陷分割方法、装置及设备 | |
US20210341998A1 (en) | Gaze-point determining method, contrast adjusting method, and contrast adjusting apparatus, virtual reality device and storage medium | |
CN111291629A (zh) | 图像中文本的识别方法、装置、计算机设备及计算机存储介质 | |
CN104809461B (zh) | 结合序列图像超分辨率重建的车牌识别方法及系统 | |
Ganguly et al. | Single image haze removal with haze map optimization for various haze concentrations | |
CN107610041A (zh) | 基于3d体感摄像头的视频人像抠图方法及系统 | |
CN113870293A (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN111951172A (zh) | 一种图像优化方法、装置、设备和存储介质 | |
CN106469440A (zh) | 基于OpenCL的暗通道去雾并行优化方法 | |
CN112767278B (zh) | 基于非均匀大气光先验的图像去雾方法及相关设备 | |
CN110969584B (zh) | 一种低照度图像增强方法 | |
CN106127715A (zh) | 一种图像去雾方法及系统 | |
WO2017120796A1 (zh) | 路面病害的检测方法及其装置、电子设备 | |
CN114298985A (zh) | 缺陷检测方法、装置、设备及存储介质 | |
US20070200864A1 (en) | Method and system for gathering per-frame image statistics while preserving resolution and runtime performance in a real-time visual simulation | |
US12131447B2 (en) | System and process for repainting of planar objects in video | |
CN117152165B (zh) | 感光芯片缺陷的检测方法、装置、存储介质及电子设备 | |
CN114943649A (zh) | 图像去模糊方法、装置及计算机可读存储介质 | |
CN110827309B (zh) | 一种基于超像素的偏光片外观缺陷分割方法 | |
CN108629750A (zh) | 一种夜间去雾方法、终端设备及存储介质 | |
CN114693548B (zh) | 一种基于亮区域检测的暗通道去雾方法 | |
CN114494698B (zh) | 一种基于边缘预测的传统文化图像语义分割方法 | |
US20210150666A1 (en) | Selective allocation of processing resources for processing image data | |
CN110264434B (zh) | 一种基于低秩矩阵补全的单幅图像去雨方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |