CN116711295A - 图像处理方法和设备 - Google Patents
图像处理方法和设备 Download PDFInfo
- Publication number
- CN116711295A CN116711295A CN202080108238.XA CN202080108238A CN116711295A CN 116711295 A CN116711295 A CN 116711295A CN 202080108238 A CN202080108238 A CN 202080108238A CN 116711295 A CN116711295 A CN 116711295A
- Authority
- CN
- China
- Prior art keywords
- image
- probability map
- image processing
- algorithm
- error
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 32
- 238000012545 processing Methods 0.000 claims abstract description 211
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 187
- 238000000034 method Methods 0.000 claims abstract description 84
- 230000004927 fusion Effects 0.000 claims description 61
- 230000008569 process Effects 0.000 claims description 35
- 238000013528 artificial neural network Methods 0.000 claims description 32
- 238000001514 detection method Methods 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 13
- 238000013135 deep learning Methods 0.000 claims description 10
- 230000000379 polymerizing effect Effects 0.000 claims description 5
- 230000009466 transformation Effects 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 claims 1
- 238000013507 mapping Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 16
- 238000004364 calculation method Methods 0.000 description 12
- 238000013527 convolutional neural network Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 12
- 230000001537 neural effect Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 7
- 238000007500 overflow downdraw method Methods 0.000 description 7
- 238000003062 neural network model Methods 0.000 description 6
- 210000002569 neuron Anatomy 0.000 description 6
- 230000004913 activation Effects 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000008485 antagonism Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000037361 pathway Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 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/50—Image enhancement or restoration by the use of more than one image, e.g. averaging, subtraction
-
- G06T5/60—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/14—Picture signal circuitry for video frequency region
- H04N5/21—Circuitry for suppressing or minimising disturbance, e.g. moiré or halo
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/14—Picture signal circuitry for video frequency region
- H04N5/21—Circuitry for suppressing or minimising disturbance, e.g. moiré or halo
- H04N5/213—Circuitry for suppressing or minimising impulsive noise
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
Abstract
本申请提供了一种图像处理的方法和装置,该方法包括:获取第一图像,第一图像为根据第一图像处理算法对输入图像进行处理后的结果;获取第二图像,第二图像为输入图像的子图像,该子图像包括输入图像上的错误区域;根据第二图像处理算法对第二图像进行处理,得到第三图像,其中,第二图像处理算法的算力需求高于第一图像处理算法;将第一图像和第三图像进行融合,得到输出结果图像。本申请实施例通过使用第二图像处理算法处理输入图像上的错误区域,有利于提升图像的质量,解决了第一图像处理算法处理不了的复杂场景下的图像问题。
Description
本申请涉及图像处理领域,并且更具体地,涉及一种图像处理方法和设备。
传统图像处理算法处理具有复杂场景的图像时,往往得不到理想的处理效果。
比如,传统算法在处理提高图片动态范围的问题时可以采用梯度金字塔融合算法,能通过多分辨率融合得到高动态范围(High-Dynamic Range,HDR)图片。还可以采用基于频域的融合方法,如利用小波或曲波变换。另外也有在不同曝光上点对点像素级别的融合方法。
大部分普通场景从低动态范围图片得到高动态范围图片使用一般算法就可以解决,但是在遇到极限场景时,比如在在高曝光背景下存在运动物体的复杂场景下很容易会产生鬼影,而传统算法针对极限场景下存在的鬼影问题并没有较好的处理效果。
又比如,针对去马赛克的问题,传统算法包括最近邻插值,双线性插值,基于梯度的插值和基于色差的插值。这些传统的图像处理算法通常能够较好的解决一些普通场景,但是当遇到一些较难的场景时,比如遇到噪声较大或者较暗场景下处理图片时,使用这些算法处理后的结果产生了摩尔纹的问题,而即使在这些传统图像处理算法中加入更多的运算也很难解决摩尔纹的问题。
因此,亟需提出一种图像处理算法,能够解决传统图像处理算法处理不了的复杂场景下的图像问题。
发明内容
本申请提供一种图像处理的方法和设备,能够解决传统图像处理算法处理不了的复杂场景下的图像问题。
第一方面,提供一种图像处理的方法,包括:获取第一图像,该第一图像为根据第一图像处理算法对输入图像进行处理后的结果;获取第二图像,该第二图像为输入图像的子图像,该子图像包括输入图像上的错误区域;根据第二图像处理算法对该第二图像进行处理,得到第三图像,其中,该第二图像处理算法的算力需求高于所述第一图像处理算法;将第一图像和所述第三图像进行融合,得到融合后的输出结果图像。
根据本申请提供的方案,首先,通过第一图像处理算法对输入图像进行处理,该第一图像处理算法为传统图像处理算法,解决复杂场景图像问题会出现错误。其次,根据第二图像处理算法对输入图像中的可能出现错误的区域进行进一步处理,最后,将两次处理的结果进行融合,从而可以得到更清晰质量更高的输出图像,能够解决传统图像处理算法处理不了的复杂场景下的图像问题,例如高曝光的场景下存在运动物体的情况,并且第二图像处理算法只需要处理输入图像中的可能出现错误的区域,因此能够降低第二图像处理算法需要的算力。
在一种可能的实施方式中,获取第二图像,包括:计算输入图像中每个像素点的错误 概率以得到输入图像对应的第一概率图;根据第一概率图确定第二概率图,第二概率图为该错误区域对应的概率图;根据第二概率图确定第二图像。
在一种可能的实施方式中,计算输入图像中每个像素点的错误概率以得到输入图像对应的第一概率图,包括:根据输入图像上所有像素点的像素值的取值范围和错误概率的取值范围,得到错误概率和像素点的像素值之间的映射关系;根据映射关系和输入图像中像素点的像素值,计算输入图像中每个像素点的错误概率,得到第一概率图。
在一种可能的实施方式中,该映射关系为线性映射关系,例如该映射关系为y=kx。
在一种可能的实施方式中,根据第一概率图确定第二概率图,包括:基于该第一概率图进行连通域检测以确定第二概率图。
在一种可能的实施方式中,基于所述第一概率图进行连通域检测以得到第二概率图,包括:对第一概率图进行下采样以得到第三概率图;对第三概率图进行连通域检测以得到N个连通域;根据该N个连通域得到第二概率图;其中,该N个连通域中的每个连通域包括至少一个错误像素点,该错误像素点为错误概率大于第一阈值的像素点,N为大于或等于1的整数。
在一种可能的实施方式中,根据该N个连通域得到所述第二概率图,还包括:将该N个连通域进行聚合,得到聚合后的连通域,该聚合后的连通域包含所有错误像素点;根据该聚合后的连通域得到第二概率图。
在一种可能的实施方式中,将第一图像和所述第三图像进行融合,得到融合后的输出结果图像,包括:基于第二概率图将第一图像和第三图像进行融合,得到输出结果图像。
基于第二概率图将第一图像和第三图像进行融合,得到输出结果图像可以采用如下的融合方式:对于任一像素点,基于该像素点在第一图像上的像素值、该像素点在第二概率图上的概率值,以及该像素点在第二图像上的像素值计算得到融合后的该像素点的像素值。
基于第二概率图将第一图像和第三图像融合,得到输出结果图像还可以采用以下融合方式:将任意一个像素点x在第二概率图上的概率记为p。该像素点x在第一图像上的像素值为x
1,在第三图像上的像素值为x
2,融合后,该像素点x的像素值为:
x=x
1*(1-p)+x
2*p
可选地,在本申请实施例中,还可以采用基于第一概率图和第二概率图,将第一图像和第三图像进行融合的方式,具体方式为:将第一概率图上任意一个像素点x的概率记为p
1,将第二概率图上该像素点的概率记为p
2,取两个概率中的最大值记为p,按照上述计算融合后像素点x的像素值。
上述技术方案中,基于第二概率图将第一图像和第三图像进行融合,根据融合边界上任一像素点在第二概率图上的概率值,在第一图像上的像素值和在第三图像上的像素值之间的关系计算得到融合后的任一像素点的像素值,可以使得融合后的该像素点的颜色或者亮度与周围像素点的颜色或者亮度的变化平滑,使得结果图的边缘平滑,提升图像质量。
在一种可能的实施方式中,将第一图像和所述第三图像进行融合,得到融合后的输出结果图像,包括:基于第一概率图和第二概率图将第一图像和第三图像进行融合,得到输出结果图像。
上述技术方案中,基于第一概率图和第二概率图将第一图像和第三图像进行融合,可 以使得融合后的结果图的边缘更加平滑,提升图像质量,并且能够使得输入图像中没有错误区域的图像不受融合算法的影响。
在一种可能的实施方式中,该方法还包括:第一图像处理算法包括梯度金字塔融合算法或小波变换算法。
在一种可能的实施方式中,该方法还包括:在去马赛克的场景下,第二图像处理算法包括深度学习算法或神经网络算法;在获得高动态范围图片的场景下,第二图像处理算法包括多层拉普拉斯金字塔融合算法或深度学习算法。
第二方面,提供了一种图像处理装置,该装置包括:第一图像处理模块,用于根据第一图像处理算法对输入图像进行处理,获取第一图像;获取模块,用于获取第二图像,该第二图像为输入图像的子图像,该子图像包括输入图像上的错误区域;第二图像处理模块,用于根据第二图像处理算法对第二图像进行处理,得到第三图像,其中,第二图像处理算法的算力需求高于第一图像处理算法;融合模块,用于将所述第一图像和所述第三图像进行融合,得到融合后的输出结果图像。
在一种可能的实施方式中,该获取模块具体用于:计算输入图像中每个像素点的错误概率以得到输入图像对应的第一概率图;根据第一概率图确定第二概率图,第二概率图为错误区域对应的概率图;根据第二概率图确定第二图像。
在一种可能的实施方式中,计算输入图像中每个像素点的错误概率以得到输入图像对应的第一概率图,包括:根据输入图像上所有像素点的像素值的取值范围和错误概率的取值范围,得到错误概率和像素点的像素值之间的映射关系;根据映射关系和输入图像中像素点的像素值,计算输入图像中每个像素点的错误概率,得到第一概率图。
在一种可能的实施方式中,该映射关系为线性映射关系,例如该映射关系为y=kx。
在一种可能的实施方式中,该获取模块具体还用于:基于该第一概率图进行连通域检测以确定该第二概率图。
在一种可能的实施方式中,该获取模块具体还用于:对第一概率图进行下采样以得到第三概率图;对第三概率图进行连通域检测以得到N个连通域;根据该N个连通域得到第二概率图;其中,该N个连通域中的每个连通域包括至少一个错误像素点,该错误像素点为错误概率大于第一阈值的像素点,N为大于或等于1的整数。
在一种可能的实施方式中,该获取模块具体还用于:将该N个连通域进行聚合,得到聚合后的连通域,该聚合后的连通域包含所有错误像素点;根据该聚合后的连通域得到第二概率图。
在一种可能的实施方式中,该融合模块还用于:基于第二概率图将第一图像和第三图像进行融合,得到输出结果图像。
基于第二概率图将第一图像和第三图像进行融合,得到输出结果图像可以采用如下的融合方式:对于任一像素点,基于该像素点在第一图像上的像素值、该像素点在第二概率图上的概率值,以及该像素点在第二图像上的像素值计算得到融合后的该像素点的像素值。
基于第二概率图将第一图像和第三图像融合,得到输出结果图像还可以采用以下融合方式:
将任意一个像素点x在第二概率图上的概率记为p。该像素点x在第一图像上的像素 值为x
1,在第三图像上的像素值为x
2,融合后,该像素点x的像素值为:
x=x
1*(1-p)+x
2*p
可选地,在本申请实施例中,还可以采用基于第一概率图和第二概率图,将第一图像和第三图像进行融合的方式,具体方式为:将第一概率图上任意一个像素点x的概率记为p
1,将第二概率图上该像素点的概率记为p
2,取两个概率中的最大值记为p,按照上述计算融合后像素点x的像素值。
在一种可能的实施方式中,该融合模块还用于:基于第一概率图和第二概率图将第一图像和第三图像进行融合,得到输出结果图像。
在一种可能的实施方式中,该装置还包括:该第一图像处理模块包括的算法包括梯度金字塔融合算法或小波变换算法。
在一种可能的实施方式中,该装置还包括:在去马赛克的场景下,第二图像处理模块包括深度学习算法或神经网络算法;在获得高动态范围图片的场景下,第二图像处理模块包括多层拉普拉斯金字塔融合算法或深度学习算法。
第三方面,提供了一种图像处理的装置,包括,处理器和存储器,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得该设备执行第一方面及其各种实现方式中的方法。
在一种可能的实施方式中,该处理器为一个或多个,该存储器为一个或多个。
在一种可能的实施方式中,该存储器可以与该处理器集成在一起,或者该存储器与处理器分离设置。
第四方面,提供了一种图像处理系统,包括上述第三方面提供的图像处理设备。
在一种可能的设计中,该图像处理系统还可以包括本申请实施例提供的方案中与图像处理设备进行交互的其他设备。
第五方面,提供了一种计算机程序产品,该计算机程序产品包括:计算机程序(也可以称为代码,或指令),当该计算机程序被运行时,使得计算机执行上述第一方面及其各种实现方式中的方法。
第六方面,提供了一种计算机可读介质,该计算机可读介质存储有计算机程序(也可以称为代码,或指令)当其在计算机上运行时,使得计算机执行上述第一方面及其各种实现方式中的方法。
第七方面,提供了一种芯片系统,包括存储器和处理器,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得安装有该芯片系统的图像处理设备执行上述第一方面及其各种实现方式中的方法。
其中,该芯片系统可以包括用于发送信息或数据的输入电路或者接口,以及用于接收信息或数据的输出电路或者接口。
图1是本申请实施例提供的图像处理方法的应用场景示意图;
图2是本申请实施例提供的一种应用场景的示意图;
图3是本申请实施例提供的另一种应用场景的示意图;
图4是本申请实施例提供的一种图像处理方法的示意性流程图;
图5是本申请实施例提供的一种确定输入图像中错误区域方法示意性流程图;
图6是本申请实施例提供的一种图像处理方法的另一示意性流程图;
图7是本申请实施例提供的一种图像处理方法的一种应用的过程的示意性流程图;
图8是是本申请实施例提供的一种图像处理方法的一种应用的过程各部分结果的示意图;
图9是本申请实施例提供的一种图像处理装置的硬件结构示意图;
图10是本申请实施例提供的另一种图像处理装置的硬件结构示意图;
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。可以理解的是,所描述的实施例是本申请一部分的实施例,而不是全部的实施例。
为了便于理解,先结合图1简单介绍本申请实施例提供的图像处理方法的应用场景。图1是本申请实施例提供的图像处理方法的应用场景示意图。
如图1所示,本申请的方案可以应用在辅助驾驶、自动驾驶的智能车中、平安城市、智能终端等计算机视觉领域中需要进行图像处理的领域。具体地,本申请的方案可以对低质量图像进行处理得到高质量图像,或者,对低分辨率的图像进行处理,得到高分辨率的图像,或者,将低动态范围图像转化为HDR图像,或者,去除图像上的摩尔纹,从而提高图像显示的质量。
上述智能终端可以为移动的或固定的,例如,该智能终端可以是具有图像处理功能的移动电话、平板个人电脑(tablet personal computer,TPC)、媒体播放器、智能电视、笔记本电脑(laptop computer,LC)、个人数字助理(personal digital assistant,PDA)、个人计算机(personal computer,PC)、照相机、摄像机、智能手表、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR),可穿戴式设备(wearable device,WD)或者自动驾驶的车辆等,本申请实施例对此不作限定。
下面对本申请实施例的具体应用到智能终端拍照领域的应用场景进行说明。
应用场景一:智能终端拍照领域
在一个实施例中,本申请实施例的图像处理方法可以应用于智能终端设备(例如,手机)的拍摄,在通过智能终端的摄像头对物体进行拍照时,可能遇到一些复杂场景,比如拍摄的场景中存在物体运动的情况,如图2所示。或者,在使用智能终端(例如,手机)的播放器播放视频时,为了提高显示效果,经常需要将低动态范围图像转化为HDR图像。通过本申请实施例的图像处理方法,能够去除复杂场景下物体运动产生的鬼影,可以获得更清晰质量更高的输出图像。
示例性地,可以通过本申请实施例的图像处理方法在智能终端进行实时拍照时,先使用第一图像处理算法对拍摄得到的输入图像进行处理,第一图像处理算法能够针对图像中的普通场景进行处理,并得到较好的处理结果;在第一图像处理算法处理输入图像的同时,对输入图像进行错误概率检测,检测输入图像上可能出现鬼影问题的错误区域,在输入图像中裁剪出该可能出错区域的图像;使用专门处理极限场景的第二图像处理算法对该区域的图像进行处理;将第一图像处理算法的处理结果和第二图像处理算法的处理结果进行融合,得到画面质量较高的输出图像,将输出图像显示在智能终端的屏幕上,或者还可以将 输出图像保存至智能终端的相册中。
应用场景二:智能车领域
在一个实施例中,如图3所示,本申请实施例的图像处理方法可以应用于智能车领域。
例如,可以应用于自动驾驶车辆的导航系统中,通过本申请中的图像处理方法可以使得自动驾驶车辆在道路行驶的导航过程中,通过智能车载摄像头对物体或者行人进行拍照时,可能遇到一些场景,比如拍摄的场景较暗或者被拍摄的行人或者物体本身存在较多条纹状的图像,从而导致图像出现摩尔纹。通过本申请实施例的图像处理方法,能够去除图像上的摩尔纹,可以获得画面质量较高的输出图像,从而实现自动驾驶车辆的安全性。
示例性地,本申请提供了一种图像处理方法,包括:先使第一图像处理算法对拍摄得到的原始图像进行处理,第一图像处理算法能够针对图像中的普通场景进行处理,并得到较好的处理结果。在第一图像处理算法处理输入图像的同时,对输入图像进行错误概率检测,检测输入图像上可能出现鬼影问题的区域或可能存在摩尔纹的区域,在输入图像中裁剪出该出错区域的图像;使用专门处理极限场景的第二图像处理算法对出错区域的图像进行处理;将第一图像处理算法的处理结果和第二图像处理算法的处理结果进行融合,得到高质量的消除摩尔纹的图像,或者得到了去除“鬼影”的图像。
应用场景三:安防领域
在安防领域中,监控摄像头拍摄到的图像画质一般比较低,这样会影响人判断事件的准确性,或者影响识别算法识别目标的准确性,因此,需要通过图像处理技术提高这些图片的分辨率和清晰度,以便于后续进行准确的判断。
由于本申请实施例涉及大量神经网络的应用,为了便于理解,下面先对本申请实施例可能涉及的神经网络的相关术语和概念进行介绍。
(1)神经网络
神经网络可以是由神经单元组成的,神经单元可以是指以xs和截距1为输入的运算单元,该运算单元的输出可以为:
其中,s=1、2、……n,n为大于1的自然数,Ws为xs的权重,b为神经单元的偏置。f为神经单元的激活函数(activation functions),用于将非线性特性引入神经网络中,来将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层卷积层的输入,激活函数可以是sigmoid函数。神经网络是将多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。
(2)深度神经网络
深度神经网络(deep neural network,DNN),也称多层神经网络,可以理解为具有多层隐含层的神经网络。按照不同层的位置对DNN进行划分,DNN内部的神经网络可以分为三类:输入层,隐含层,输出层。一般来说第一层是输入层,最后一层是输出层,中间的层数都是隐含层。层与层之间是全连接的,也就是说,第i层的任意一个神经元一定与第i+1层的任意一个神经元相连。
需要注意的是,输入层是没有W参数的。在深度神经网络中,更多的隐含层让网络更 能够刻画现实世界中的复杂情形。理论上而言,参数越多的模型复杂度越高,“容量”也就越大,也就意味着它能完成更复杂的学习任务。训练深度神经网络的也就是学习权重矩阵的过程,其最终目的是得到训练好的深度神经网络的所有层的权重矩阵(由很多层的向量W形成的权重矩阵)。
(3)卷积神经网络
卷积神经网络(convolutional neuron network,CNN)是一种带有卷积结构的深度神经网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器,该特征抽取器可以看作是滤波器。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层。在卷积神经网络的卷积层中,一个神经元可以只与部分邻层神经元连接。一个卷积层中,通常包含若干个特征平面,每个特征平面可以由一些矩形排列的神经单元组成。同一特征平面的神经单元共享权重,这里共享的权重就是卷积核。共享权重可以理解为提取图像信息的方式与位置无关。卷积核可以以随机大小的矩阵的形式初始化,在卷积神经网络的训练过程中卷积核可以通过学习得到合理的权重。另外,共享权重带来的直接好处是减少卷积神经网络各层之间的连接,同时又降低了过拟合的风险。
(4)生成式对抗网络
生成式对抗网络(GAN,Generative Adversarial Networks)是一种深度学习模型。该模型中至少包括两个模块:一个模块是生成模型(Generative Model),另一个模块是判别模型(Discriminative Model),通过这两个模块互相博弈学习,从而产生更好的输出。生成模型和判别模型都可以是神经网络,具体可以是深度神经网络,或者卷积神经网络。
(5)损失函数
在训练深度神经网络的过程中,因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断地调整,直到深度神经网络能够预测出真正想要的目标值或与真正想要的目标值非常接近的值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function)。
根据对图1至图3的说明可知,传统图像处理算法处理具有复杂场景的图像时,往往处理效果较差。例如,在高光运动的复杂场景下很容易会产生鬼影,而传统算法针对极限场景下存在的鬼影问题并没有较好的处理效果。又例如,传统算法解决去马赛克问题时,在遇到噪声较大或者较暗的场景,处理结果会存在摩尔纹的问题,也很难达到较好的效果。
为此,本申请实施例提供一种图像处理的方法,获取传统图像处理算法处理结果,并且使用能够处理复杂场景图像问题的算法对输入图像中可能存在错误的部分进行处理,这类算法通常有较高的算力需求,将两次算法的处理结果进行融合,以得到更准确的处理结果。首先,能够解决传统图像处理算法处理复杂场景图像会出现错误的问题,其次,由于处理复杂场景图像的算法处理的图像仅为输入图像的一部分(有可能出现错误的部分),也降低了处理复杂场景图像问题的算法对算力的要求。
下面结合图4至图6详细描述本申请实施例的图像处理方法。
图4为本申请实施例的图像处理方法的示意性流程图。该方法包括如下步骤。
步骤S410,使用第一图像处理算法对输入图像进行处理以得到第一图像。
例如,从低动态范围图片得到高动态范围图片HDR时,第一图像处理算法可以为梯度金字塔融合算法、基于频域的融合方法、不同曝光上点对点像素级别的融合算法等算力需求小的算法,本申请实施例对此不作限定。
又例如,在进行去马赛克时,第一图像处理算法可以为最近邻插值,双线性插值,基于梯度的插值和基于色差的插值等算力需求小的算法,本申请实施例对此不作限定。
示例性地,从低动态范围图片得到高动态范围图片HDR可以采用不同曝光像素点上的融合,其具体实现步骤如下:检测图像中运动的区域,检测方法可以为基于方差和熵,或者为从图像中计算多级阈值图;根据检测出来的运动进行配准对齐,使得不同曝光图片的物体场景在每个像素点上统一;将不同曝光上的数值按照不同场景的既定曲线进行融合,得到最终的HDR图片。其中,第一图像处理算法为加权平均图像融合算法,第一图像为最终的HDR图片。应理解,其他传统图像处理算法也可为此处的第一图像处理算法,均属于本申请的保护范围。
在本申请实施例中,获得输入图像的拍摄场景可以为复杂场景。比如,含有移动物体等动态元素,或者场景包含较大的噪声,或者场景光线较暗;或者,获得输入图像的拍摄场景为普通场景,例如不存在较大的噪声,或者不存在过曝光,或者不存在运动物体等问题。
应理解,针对复杂场景拍摄的输入图像的处理问题,使用第一图像处理算法对输入图像进行处理得到第一图像。第一图像处理算法能够解决普通场景下的图像处理问题,但由于输入图像的拍摄场景复杂,而第一图像处理算法不能解决复杂场景下的图像问题,因此第一图像中还可能存在处理错误的区域。
例如,根据第一图像处理算法对原始的低动态范围图像进行处理,得到高动态范围图像,但由于拍照过程中受到电子设备的运动或者场景中物体运动的影响,同一物体在多张低动态范围图片中的位置发生变化,导致得到的高动态范围图片存在“鬼影”问题。在这种情况下,需要继续执行以下步骤。
又例如,在解决去马赛克问题时使用第一图像处理算法,例如最近邻插值,双线性插值,基于梯度的插值等算法处理图像时,会产生摩尔纹的问题。在此情况下,需要继续执行以下步骤。
步骤S420,对输入图像进行错误概率检测,得到第一概率图。
应理解,步骤S410和步骤S420可以同时执行,也可以先执行步骤S410,再执行步骤S420。
在本申请实施例中,步骤S420主要是检测输入图像上是否存在鬼影区域,或者摩尔纹区域等,摩尔纹区域或者鬼影区域为输入图像上存在错误的区域。
示例性地,判断输入图像中是否存在错误区域,错误判定标准主要可以针对以下几个维度制定。
错误判定标准1:极亮或者极暗区域为容易出现错误的区域;
示例性地,极亮或者极暗区域在遇到拍摄时有运动物体时,长短帧间融合会产生鬼影。因此,需要检测输入图像上是否存在极亮或者极暗区域。
示例性地,判断输入图像上的极亮或者极暗区域可以通过判断输入图像上每个像素值 的大小。具体来说,首先得到输入图像上每个像素点的像素值,确定一个第一阈值,判断输入图像上每个像素点的像素值和第一阈值的大小关系,大于第一阈值的所有像素点构成的区域为输入图像上的极亮区域。或者,确定一个第二阈值,判断输入图像上每个像素点的像素值和第二阈值的大小关系,小于第二阈值的所有像素点构成的区域为输入图像上的极暗区域。在本申请实施例中,可以根据已经确定的极亮区域和极暗区域对首次确定的第一阈值和第二阈值进行调整,以获取输入图像上包括所有极亮和极暗的像素点的最大极亮区域和极暗区域。
示例性地,在一些实施例中,可以预定图像上的极亮区域和极暗区域对应的灰度值的取值范围。例如,输入图像所有像素点灰度值取值范围在[0,255]之间,灰度值取值范围在[230,255]之间的像素点属于极亮区域;灰度值取值范围在[0,50]之间的像素点属于极暗区域。获取输入图像上所有像素点的灰度值,逐个判断该像素点属于极亮区域或者极暗区域。
应理解,上述判断极亮和极暗区域方法只是示例性的,例如,也可以规定像素点灰度值取值范围在[200,255]之间,则该像素点属于极亮区域,本申请实施例对此不作限定。
错误判定标准2:运动区域为容易出现错误的区域;
应理解,由于拍照过程中受到电子设备的运动或者场景中物体运动的影响,同一物体在多张低动态范围图片中的位置发生变化,导致经过融合得到的高动态范围图片存在“鬼影”问题,因此,在输入图像中的运动区域为容易存在错误的区域。
示例性地,在一些实施例中,可以采用求差值的方式判断是否为运动或者静止的区域。其具体方式为将相邻两帧图像中每帧图像上的对应位置像素点的像素值相减,若相减得到的像素值之间的差值不为0,则判定输入图像上存在运动区域。
应理解,上述判断运动或者静止区域方法只是示例性的,例如,还可以通过基于块的帧差处理,利用相对噪声服从高斯分布的特性和能量的属性的双重约束来检测运动变化区域,本申请实施例对此不作限定。
错误判定标准3:在频域和空域对图像进行错误检测;
示例性地,在一些实施例中,可以在频域进行错误检测,具体方式为:对输入图像进行傅里叶变换转换到频域,在频域对输入图像进行错误检测。具体地,对输入图像进行二维傅里叶变换得到频谱图,即输入图像梯度的分布图,连续两幅输入图像的梯度分布图如果存在不一致的情况,则说明输入图像中可能存在错误区域。
在另一些实施例中,还可以在空域进行错误检测。例如,针对“鬼影问题”,可以从输入图像上明确的观察到鬼影区域。
错误判定标准4:根据颜色和亮度检测是否存在错误区域;
示例性地,可以根据颜色来判断是否存在错误区域,判定的具体方式可以为:判断输入图像上RGB(Red、Green、Blue,RGB)三通道或者RYB(Red、Yellow、Blue,RYB)三通道的比例,当比例超过设定值时,则判定输入图像上存在错误区域。
示例性地,根据亮度判定错误区域时,判断输入图像上的像素点的像素值是否落在[240,255]区间,输入图像上像素点的像素值落在该区间说明该像素点的亮度较高。将输入图像上所有像素值落在上述范围的像素点构成的区域判定为错误区域。
应理解,上述像素值区间仅为示例性的,具体可以根据不同的场景自适应设定,本申请实施例对此不做限定。
错误判定标准5:错误的形态是怎样的,如均匀散落在输入图像的某个区域或者聚集在输入图像的一个区域。
示例性地,固定大小二维连续区域像素值的均值与方差的数值对比,如果均值和方差均为0,则认为错误区域聚集在输入图像上的一个区域。
应理解,在输入图像中的像素点满足上述一个或多个错误判定标准,则说明该像素点属于输入图像上的错误区域。
示例性地,针对输入图像存在的鬼影问题,由于鬼影问题的产生主要是由于在过曝光的情况下,拍照过程中受到电子设备的运动或者场景中物体运动的影响,同一物体在多张低动态范围图像中的位置发生了变化,将该多张低动态范围图像融合生成HDR图像,就产生了“鬼影”,因此错误检测中主要考虑的错误判定标准为极亮区域和物体的运动。
示例性地,针对输入图像存在摩尔纹的问题,错误检测时主要可以通过频域检测的手段来实现。
应理解,在错误检测时,可以只考虑上述标准中的任一个,或者同时综合多个判断标准。并且,上述判定错误的标准只是示例性的,针对具体问题还可以存在不同的判定标准,本申请实施例对此不作限定。
应理解,对于输入图像上的像素点来说,满足上述错误判定标准越多,该像素点属于错误区域像素点的概率越大。
接着,计算输入图像对应的第一概率图。该第一概率图中包括输入图像的像素点属于错误区域的概率。具体计算方式如下文所述。
步骤1:判断输入图像上每个像素点是否符合上述错误判定标准,得到输入图像中符合上述错误判定标准中的一个或者多个的所有像素点的像素值的取值范围区间,记为错误像素点区间。人为设定小于该错误像素点区间的像素点的错误概率为0,大于该区间的像素点的错误概率为1。
步骤2:计算属于错误像素点区间的所有像素点的错误概率。
示例性地,在一些实施例中,可以根据以下两步来计算在输入图像中属于错误像素点区间的像素点的错误概率:
步骤2.1:计算在输入图像中符合上述一个或者多个错误判定标准的像素点的像素值的取值范围区间与错误概率之间的线性映射关系,具体计算方法如公式1所示:
其中,概率的取值范围为[0,1];输入图像中满足上述一个或者多个错误判定标准的所有像素点的取值范围为[a,b];k为计算得到的线性映射关系。
步骤2.2:根据公式1计算得到的线性映射关系,计算输入图像中满足上述一个或者多个错误判定标准的每一个像素点的错误概率,具体计算方法如公式2所示:
y=kx (公式2)
其中,x为输入图像中像素值属于错误像素点区间的像素点的像素值,y为该像素值对应的概率。
可选地,在一些实施例中,也可以根据以下两步计算第一概率图。
步骤1:判断输入图像上每个像素点是否符合上述错误判定标准,得到输入图像中符 合上述错误判定标准中的一个或者多个的所有像素点的像素值的取值范围区间,记为错误像素点区间。人为设定小于该错误像素点区间的像素点的错误概率为0,大于该区间的像素点的错误概率为1。
步骤2:计算属于错误像素点区间的所有像素点的错误概率
示例性地,在一些实施例中,还可以根据以下两步来计算在输入图像中像素值属于错误像素点区间的像素点的错误概率:
步骤2.1:设定映射关系为K,该映射关系为线性映射关系;
步骤2.2:根据映射关系,计算输入图像中满足上述一个或者多个错误判定标准的像素点的错误概率,具体计算方法如公式3所示:
y=kx (公式3)
其中,x为输入图像中像素值属于错误像素点区间的像素点的像素值,y为该像素值对应的概率。
应理解,第一概率图的计算方式还可以为其他,上述计算方式只是示例性的,本申请实施例对此不作限定。
应理解,根据上述方式计算第一概率图时,当输入图像中所有像素点存在一部分像素点的像素值等于0,其余像素点的像素值等于
此时得到的第一概率图为二值图,否则,得到的第一概率图为灰度图。
步骤S430,错误区域根据第一概率图,确定第二概率图。
在本申请实施例中,基于第一概率图确定第二概率图具体可以根据以下几步,如图5所示。
步骤501:对第一概率图进行下采样以得到第三概率图;
步骤502:对第三概率图进行连通域检测以得到N个连通域;
步骤503:将N个连通域进行聚合,得到聚合后的连通域,聚合后的连通域包含所有错误像素点;
步骤504:根据聚合后的连通域得到所述第二概率图。
应理解,对第一概率图进行下采样是为了减少离散的像素点对连通域检测时造成影响,在一些实施例中,可以不进行步骤1的操作。
具体地,下采样的方法可以为最近邻插值,或者双线性插值。应理解,本申请实施例还可以根据其他算法对第一概率图进行下采样,上述算法只是示例性的,本申请实施例对此不作限定。
应理解,对第三概率图进行连通域检测的方法可以为二路法,或者堆栈法。本申请实施例还可以根据其他算法对第一概率图进行连通域检测,上述算法只是示例性的,本申请实施例对此不作限定。
具体来说,对第三概率图进行连通域检测可以分为以下几种情况:
情况1:错误像素点的分布较为分散
在此种情况下,对第三概率图进行连通域检测得到N个连通域,N为大于等于1的正整数。对该N个连通域做聚合,得到一个包含所有错误像素点的连通域,以及连通域边界所有像素点的位置。
情况2:错误像素点集中在一片区域
在此种情况下,对第三概率图进行连通域检测得到一个包含所有错误像素点的连通域,以及连通域边界所有像素点的位置。
步骤S440,根据第二概率图,确定第二图像。
根据步骤S430确定出的一个包含所有错误像素点的连通域边界像素点的位置,在输入图像中找到对应位置的像素点,确定出输入图像中的错误区域的图像,即为第二图像。
应理解,在本申请实施例中可以确定输入图像中的错误区域为矩形错误区域,或者,可以确定为圆形错误区域,本申请实施例对此不作限定。
例如,确定输入图像中的错误区域为矩形区域。具体地,根据该包含所有错误像素点的连通域确定矩形错误区域的方法为:先确定该连通域上两个像素点的位置,其中,像素点一为坐标x值最小,y值最大的点,像素点二为坐标x值最大,y值最小的点;然后根据像素点一和像素点二确定一个矩形区域,该矩形区域包含连通域边界的所有像素点。然后,根据获取的像素点一和像素点二的位置,在输入图像上找到对应位置的像素点,得到第二图像。
步骤S450,根据第二图像处理算法对第二图像进行处理,得到第三图像。
在本申请中,由第二图像处理算法对第二图像进行处理,第二图像处理算法为复杂度较高的算法,第二图像处理算法的算力需求高于第一图像处理算法,并且能够解决第一图像处理算法无法解决的问题。因此,第二图像处理算法能够对第二图像进行处理,得到对错误区域校正后的结果。
具体来说,在本申请实施例中,第二图像处理算法可以使用两种模型,其中,该两种模型包括神经网络模型和非神经网络模型。其中,神经网络模型可以包括例如卷积神经网络。其中,非神经网络模型可以包括多层拉普拉斯金字塔融合算法。
应理解,在本申请实施例中,第二图像处理算法为神经网络模型时,可以为训练好的神经网络模型。
示例性地,第二图像处理算法为训练好的卷积神经网络模型,在步骤S440中,对第二图像进行处理可以运用训练好的CNN模型,将输入数据(如本申请中的第二图像)输入到所述训练好的CNN模型中,得到输出数据(如本申请中的第三图像)。
示例性地,在一些实施例中,针对HDR问题,第二图像处理算法可以为基于卷积神经网络对第二图像进行处理,得到第三图像。
步骤S460,将所述第一图像和第三图像进行融合,得到融合后的输出结果图像。
在步骤S460中,在面对不同的问题时,也需要选择不同的融合方式。示例性地,本申请实施例中,可以从以下几个维度考量来选择融合方式。
1)融合边界区域是否平滑,具体表现在颜色亮度噪声的一致性;
2)融合后算法二的结果是否与融合前能够保持一致,会不会受到算法一本身的影响,如果有影响,是否能消除;
3)融合后算法一本身在ROI区域外的部分是否受到影响。
应理解,在选择融合方式时,可以只考虑上述标准中的任一个,或者同时综合多个考量标准。并且,上述考量标准只是示例性的,针对具体问题还可以存在不同的考量标准,本申请实施例对此不作限定。
应理解,在考虑融合方式时,主要根据上述考量的维度来对融合的输出结果进行主观的视觉效果检验,根据视觉检验效果不断地调整融合算法。
应理解,在本申请实施例中,可以采用的融合方式为导向滤波融合算法,或者可以采用泊松融合算法。上述融合算法只是示例性的,针对具体问题还可以存在不同的融合算法,本申请实施例对此不作限定。
因此,根据本申请提供的方案,首先,通过第一图像处理算法对输入图像进行处理,该第一图像处理算法为传统图像处理算法,解决复杂场景图像问题会出现错误。其次,根据第二图像处理算法对输入图像中的错误区域进行进一步处理,最后,将两次处理的结果进行融合,从而得到对输入图像的准确无误的处理结果,能够解决传统图像处理算法处理不了的复杂场景下的图像问题,并且能够降低第二图像处理算法需要的算力。
图6示出了本申请实施例提供的图像处理方法的另一示意图。下面对该方法的步骤进行详细描述。
步骤S610,使用第一图像处理算法对输入图像进行处理以得到第一图像。
步骤S620,对输入图像进行错误概率检测,得到第一概率图。
应理解,步骤S610和步骤S620可以同时进行,也可以先执行步骤S610,再执行步骤S620。
步骤S630,错误区域根据第一概率图,确定第二概率图。
步骤S640,根据第二概率图,确定第二图像。
步骤S650,根据第二图像处理算法对第二图像进行处理,得到第三图像。
上述步骤S610至S650的具体实施方式同图4中所述的S410至S450,在此不再赘述。
步骤S660,基于第二概率图,将所述第一图像和第三图像进行融合,得到融合后的输出结果图像。
示例性地,在本申请实施例中,基于第二概率图,将第一图像和第三图像融合。可以采用以下融合方式:对于任一像素点,基于该像素点在第一图像上的像素值、该像素点在第二概率图上的概率值,以及该像素点在第二图像上的像素值计算得到融合后的该像素点的像素值。
基于第二概率图,将第一图像和第三图像融合,还可以采用以下融合方式:
将任意一个像素点x在第二概率图上的概率记为p。该像素点x在第一图像上的像素值为x
1,在第三图像上的像素值为x
2,融合后,该像素点x的像素值为:
x=x
1*(1-p)+x
2*p (公式4)
可选地,在本申请实施例中,还可以采用基于第一概率图和第二概率图,将第一图像和第三图像进行融合的方式,具体方式为:将第一概率图上任意一个像素点x的概率记为p
1,将第二概率图上该像素点的概率记为p
2,取两个概率中的最大值记为p,按照公式4计算融合后像素点x的像素值。
应理解,在本申请实施例中,可以采用的融合方式为导向滤波融合算法,或者可以采用泊松融合算法。上述融合算法只是示例性的,针对具体问题还可以存在不同的融合算法,本申请实施例对此不作限定。
下面结合图7和图8描述本申请实施例提供的图像处理方法用于解决生成高动态范围图像中存在高光鬼影的问题的示意图。其中,图7示出了应用本申请实施例提供的图像处 理方法解决生成高动态范围图像中存在高光鬼影的问题的处理流程示例。图8示出了图7中每一个步骤的结果。
在拍照过程中受到电子设备的运动或者场景中物体运动的影响,同一物体在多张低动态范围图片中的位置发生变化,导致得到的高动态范围图片存在“鬼影”问题。使用本申请实施例提供的图像处理方法解决该问题的步骤如下。
步骤S710,使用第一图像处理算法对N幅输入图像进行处理以得到一幅第一图像,其中N为大于等于1的正整数。第一图像如图8中的S820所示。
示例性地,对于本申请实施例来说,输入图像为同一场景下在不同曝光下拍摄的3幅图像,如图8中的S810所示。
从低动态范围图片得到高动态范围图片HDR时,第一图像处理算法可以为梯度金字塔融合算法、基于频域的融合方法、不同曝光上点对点像素级别的融合等算力需求小的算法,本申请实施例对此不作限定。
例如,第一图像处理算法可以为不同曝光下的对应像素点根据特定比例进行融合的算法,使用该方法在高光且有运动物体的场景下生成高动态范围图片会存在“鬼影”残留的问题,如图8中的S820所示。
应理解,上述第一图像处理算法能够解决普通场景下从低动态范围图片得到高动态范围图片HDR的问题,并且,第一图像处理算法对算力需求低,实现简单。例如,该第一图像处理算法可以用于以下场景:在拍摄环境中不存在过曝光,或者不存在运动物体的场景下生成高动态范围图片。
步骤S720,对N幅输入图像进行错误概率检测,得到一幅第一概率图。第一概率图如图8中S830所示。
可选地,在本申请实施例中,若输入图像的拍摄环境为简单场景,则输入图像上不存在错误区域,经过第一图像处理算法处理后得到的第一图像不存在高光鬼影残留,在这种情况下,直接将第一图像处理算法处理得到的结果作为最终输出图像输出。例如,拍摄输入图像的场景中不存在过曝光,或者不存在运动物体。
如图8所示,在拍摄输入图像的场景中存在运动物体,换句话说,输入图像上存在错误的区域。
具体地,针对生成HDR的问题,判断输入图像上错误区域的标准可以从以下几个维度考虑:
1)输入图像中极亮或者极暗区域为容易出现错误的区域。极亮或者极暗区域在遇到拍摄时有运动物体时,长短帧间融合会产生鬼影。因此,输入图像上的极亮或者极暗区域为容易出现“鬼影”的区域。判断极亮或者极暗区域的方法同图4中步骤S420所示,在此不再赘述。
2)运动区域为容易出现错误的区域;
应理解,由于拍照过程中受到电子设备的运动或者场景中物体运动的影响,同一物体在多张低动态范围图片中的位置发生变化,导致经过融合得到的高动态范围图片存在“鬼影”问题,因此,在输入图像中的运动区域为容易存在错误的区域。检测运动区域的方法同图4中步骤S420所示,在此不再赘述。
应理解,上述判断错误区域的标准只是示例性的,错误区域还可能具有其他的特征, 根据不同的特征可以制定不同判断错误区域的标准,针对具体问题而定,本申请实施例对此不作限定。
应理解,在错误检测时,可以只考虑上述标准中的任何一个,或者同时综合多个判断标准,本申请实施例对此不作限定。
示例性地,在本申请实施例中,判断输入图像上的所有像素点中部分像素点为属于极亮或者极暗区域的像素点,或者判断输入图像上的所有像素点中部分像素点为属于运动区域的像素点,或者判断输入图像上的所有像素点中部分像素点即为属于极亮或者极暗区域的像素点,也是于运动区域的像素点。
接着,计算输入图像对应的第一概率图。具体计算方式与图4中步骤S420所述方法类似,在此不再赘述。
步骤S730,根据第一概率图,确定第二概率图。第二概率图如图8中S840所示。
步骤S730与图4中步骤S440所述方法类似,在此不再赘述。
步骤S740,根据第二概率图,确定N幅第二图像。第二图像如图8中S850所示。
具体地,在本申请实施例中,根据第二概率图确定N幅第二图像的方法为:根据步骤S730确定出的一个包含所有错误像素点的连通域边界像素点的位置,分别在N幅输入图像中找到对应位置的像素点,确定出N幅输入图像中各自的错误区域的图像,从而得到N幅第二图像,应当理解,一幅输入图像对应一幅第二图像。
步骤S750,根据第二图像处理算法对N幅第二图像进行处理,得到第三图像。第三图像为图8中S860所示。
示例性地,在本申请实施例中,第二图像处理算法可以采用神经网络学习三个LDR,即3幅第二图像,分别为高曝光,中曝光和低曝光图像,将该三个LDR进行融合得到HDR图片。对应的,该第三图像可以为融合得到的HDR图像。
步骤S760,基于第二概率图,将第一图像和第三图像融合,得到融合后的输出结果图像,如图8中S870所示。融合的方式如图4中公式4所示。
应理解,在本申请实施例中,针对第一图像处理算法解决不了的高光鬼影问题,使用错误检测中的错误判定标准,判断输入图像上是否存在极亮或者极暗区域,或者运动区域,若存在则使用第二图像处理算法对错误区域进行修正。例如,当三个LDR图像中有任意两个曝光图像存在像素点即满足极亮或者极暗区域,也满足运动区域,即判定为错误区域,需要使用第二图像处理算法对该区域进行修正。同时,可以根据错误检测中的错误判定标准,计算输入图像上每个像素点的错误概率,得到错误概率图。最后,可以基于错误概率图对第一图像处理算法的结果和第二图像处理算法的结果进行融合,得到无误的结果。
针对HDR问题,在融合时可以采用导向滤波融合算法,上述算法只是示例性的,本申请实施例对此不作限定。
以上结合图1至图8详细介绍了本申请的图像处理方法实施例,下面结合图9至图10介绍本申请装置的实施例,未详尽描述之处请详见上文方法实施例。
图9示出了根据本申请实施例的图像处理装置900的示意性框图。图9的图像处理设备可用于实现前述图1至图8的各个实施例中的相应功能,为避免重复,不再详细描述。图9的图像处理设备可以包括第一图像处理模块910、获取模块920、第二图像处理模块930和融合模块940。
第一图像处理模块910可以用于对输入图像进行处理,获取第一图像;
获取模块920可以用于获取第二图像,第二图像为所述输入图像上包含错误区域的图像。
第二图像处理模块930可以用于对第二图像进行处理,得到第三图像。其中,第二图像处理模块中包含的算法的算力需求高于第一图像处理模块中包含的算法;
融合模块940可以用于将第一图像和第三图像进行融合,得到融合后的输出结果图像。
因此,在本申请实施例的技术方案中,第一图像处理算法对输入图像进行处理,该第一图像处理算法为传统图像处理算法,解决复杂场景图像问题会出现错误。第二图像处理算法对输入图像中可能存在错误的区域进行进一步处理,将两次处理的结果进行融合,从而得到对输入图像的准确无误的处理结果,解决了传统图像处理算法处理不了的复杂场景下的图像问题,并且第二图像处理算法仅处理输入图像上可能存在错误区域的图像,而不用对整幅图像进行处理,能够降低第二图像处理算法需要的算力。
作为一个具体可选的实施例,获取模块920进一步用于:计算输入图像中每个像素点的错误概率以得到输入图像对应的第一概率图;根据第一概率图确定第二概率图,第二概率图为输入图像上包含错误区域的图像对应的概率图;根据第二概率图确定所述第二图像。
作为一个具体可选的实施例,获取模块920进一步用于:基于所述第一概率图进行连通域检测以确定所述第二概率图。
作为一个具体可选的实施例,获取模块920进一步用于:对第一概率图进行下采样以得到第三概率图;对第三概率图进行连通域检测以得到N个连通域;根据该N个连通域得到第一图像上的错误区域;其中,该N个连通域中的每个连通域包括至少一个错误像素点,该错误像素点为像素点的错误概率大于第一阈值的像素点,N为大于或等于1的整数。
作为一个具体可选的实施例,获取模块920进一步用于:将所述N个连通域进行聚合以得到一个包含所有错误像素点的连通域;根据所述一个包含所有错误像素点的连通域得到所述第二概率图。
作为一个具体可选的实施例,融合模块940进一步用于:基于第二概率图将第一图像和第三图像进行融合,得到融合后的输出结果图像;其中,从该第一概率图中获取一个包含所有错误像素点的连通域对应的图像为该第二概率图。
作为一个具体可选的实施例,融合模块940进一步用于:基于第一概率图和基于第二概率图将第一图像和第三图像进行融合,得到融合后的输出结果图像;其中,从该第一概率图中获取一个包含所有错误像素点的连通域对应的图像为该第二概率图。
作为一个具体可选的实施例,第一图像处理模块910包括的算法包括梯度金字塔融合算法或小波变换算法。
作为一个具体可选的实施例,第二图像处理模块930用于解决去马赛克的问题,包括深度学习算法或神经网络算法;
第二图像处理模块930用于解决获得高动态范围图片的问题,包括多层拉普拉斯金字塔融合算法或深度学习算法。
图10是本申请实施例的图像处理装置的示意性框图,如图所示,图像处理装置1000 包括处理器1010、存储器1020、通信接口1030、内存1040、总线1050。进一步的,图像处理装置1000中除了包含处理器1010之外,还可以包含处理器1060,本申请中对图像处理装置1000中包含的处理器的个数不限定。下面对各个模块或者单元进行详细的介绍。
处理器1010:可以采用通用的中央处理器(central processing unit,CPU)。例如,如图10所示,处理器1010中包括CPU 0和CPU 1。除了图10所示的情况之外,处理器1010还可以是微处理器,应用专用集成电路(application specific integrated circuit,ASIC),图形处理器(graphics processing unit,GPU)或者一个或多个集成电路,用于执行相关程序,以实现本申请方法实施例的图像处理方法。处理器1010还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请的图像处理方法的各个步骤可以通过处理器1010中的硬件的集成逻辑电路或者软件形式的指令完成。上述处理器1010还可以是通用处理器、数字信号处理器(digital signal processing,DSP)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1020,处理器1010读取存储器1020中的信息,结合其硬件完成本神经网络构建装置中包括的单元所需执行的功能,或者执行本申请方法实施例的图像处理方法。另外,上述对处理器1010的解释和限定同样适用于处理器1010。
存储器1020:可以是只读存储器(read only memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(random access memory,RAM)。存储器1020可以存储程序,当存储器1020中存储的程序被处理器1010执行时,处理器1010用于执行本申请实施例的图像处理方法的各个步骤。
通信接口1030:可以使用例如但不限于收发器一类的收发装置,来实现装置1000与其他设备或通信网络之间的通信。例如,可以通过通信接口1003获取待处理的图像。
内存1040:可以包括内核1041和计算机程序1042。内存1040是存储器1020与处理器1010进行沟通的桥梁。上述图像处理装置1000中所有程序的运行都是在内存1040中进行的。内存1040可以用于暂时存放处理器1020中的运算数据(例如,对输入图像进行处理得到的中间数据,例如,中间数据可以为第一概率图或者第二概率图),以及与硬盘等外部存储器交换的数据。在图像处理装置1000运行时,处理器1010会把需要运算的数据(例如,输入图像)调到内存1040中进行运算,当运算完成后处理器再将结果(例如,融合后的输出图像)传送出来。
总线1050:可包括在图像处理装置1000各个部件(例如,处理器1010、存储器1020、通信接口1030)之间传送信息的通路。该总线1050除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线1050。可选地,该总线1050还可以是车载以太或控制器局域(controller area network,CAN)总线或其他内部总线。
应注意,尽管上述图像处理装置1000仅仅示出了存储器、处理器、通信接口等,但是在具体实现过程中,本领域的技术人员应当理解,图像处理装置1000还可以包括实现正常运行的其他器件。同时,根据具体需要,本领域的技术人员应当理解,图像处理装置1000还可包括实现其他附加功能的硬件器件。
本申请实施例还提供了一种计算机可读介质,该计算机可读介质存储有计算机程序(也可以称为代码,或指令)当其在计算机上运行时,使得计算机执行上述任一方法实施例中的方法。
本申请实施例还提供了一种芯片系统,包括存储器和处理器,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得安装有该芯片系统的图像处理装置执行上述任一方法实施例中的方法。
其中,该芯片系统可以包括用于发送信息或数据的输入电路或者接口,以及用于接收信息或数据的输出电路或者接口。
在本说明书中使用的术语“部件”、“模块”、“系统”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于,在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或计算机。通过图示,在计算设备上运行的应用和计算设备都可以是部件。一个或多个部件可驻留在进程和/或执行线程中,部件可位于一个计算机上和/或分布在2个或更多个计算机之间。此外,这些部件可从在上面存储有各种数据结构的各种计算机可读介质执行。部件可例如根据具有一个或多个数据分组(例如来自与本地系统、分布式系统和/或网络间的另一部件交互的二个部件的数据,例如通过信号与其它系统交互的互联网)的信号通过本地和/或远程进程来通信。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (18)
- 一种图像处理方法,其特征在于,包括:获取第一图像,所述第一图像为根据第一图像处理算法对输入图像进行处理后的结果;获取第二图像,所述第二图像为所述输入图像的子图像,所述子图像包括所述输入图像上的错误区域;根据第二图像处理算法对所述第二图像进行处理,得到第三图像,其中,所述第二图像处理算法的算力需求高于所述第一图像处理算法;将所述第一图像和所述第三图像进行融合,得到输出结果图像。
- 根据权利要求1所述的方法,其特征在于,所述获取第二图像,包括:计算所述输入图像中每个像素点的错误概率以得到所述输入图像对应的第一概率图;根据所述第一概率图确定第二概率图,所述第二概率图为所述错误区域对应的概率图;根据所述第二概率图确定所述第二图像。
- 根据权利要求2所述的方法,其特征在于,所述根据所述第一概率图确定第二概率图,包括:基于所述第一概率图进行连通域检测以确定所述第二概率图。
- 根据权利要求3所述的方法,其特征在于,所述基于所述第一概率图进行连通域检测以得到所述第二概率图,包括:对所述第一概率图进行下采样以得到第三概率图;对所述第三概率图进行连通域检测以得到N个连通域;根据所述N个连通域得到所述第二概率图;其中,所述N个连通域中的每个连通域包括至少一个错误像素点,所述错误像素点为所述错误概率大于第一阈值的像素点,N为大于或等于1的整数。
- 根据权利要求4所述的方法,其特征在于,所述根据所述N个连通域得到所述第二概率图,还包括:将所述N个连通域进行聚合,得到聚合后的连通域,所述聚合后的连通域包含所有错误像素点;根据所述聚合后的连通域得到所述第二概率图。
- 根据权利要求2至5任一项所述的方法,其特征在于,所述将所述第一图像和所述第三图像进行融合,得到融合后的输出结果图像,包括:基于所述第二概率图将所述第一图像和所述第三图像进行融合,得到所述输出结果图像。
- 根据权利要求2至5任一项所述的方法,其特征在于,所述将所述第一图像和所述第三图像进行融合,得到融合后的输出结果图像,包括:基于所述第一概率图和所述第二概率图将所述第一图像和所述第三图像进行融合,得到所述输出结果图像。
- 根据权利要求1至7中任一项所述的方法,其特征在于,所述第一图像处理算法包括梯度金字塔融合算法或小波变换算法;所述第二图像处理算法包括深度学习算法或神经网络算法;或者,所述第二图像处理算法包括多层拉普拉斯金字塔融合算法或深度学习算法。
- 一种图像处理装置,其特征在于,包括:第一图像处理模块,第一图像处理模块用于根据第一图像处理算法对输入图像进行处理,获取第一图像;获取模块,获取模块用于获取第二图像,所述第二图像为所述输入图像的子图像,所述子图像包括所述输入图像上的错误区域;第二图像处理模块,第二图像处理模块用于根据第二图像处理算法对所述第二图像进行处理,得到第三图像,其中,所述第二图像处理算法的算力需求高于所述第一图像处理算法;融合模块,用于将所述第一图像和所述第三图像进行融合,得到融合后的输出结果图像。
- 根据权利要求9所述的装置,其特征在于,所述获取模块具体用于:计算所述输入图像中每个像素点的错误概率以得到所述输入图像对应的第一概率图;根据所述第一概率图确定第二概率图,所述第二概率图为所述错误区域对应的概率图;根据所述第二概率图确定所述第二图像。
- 根据权利要求10所述的装置,其特征在于,所述获取模块具体还用于:基于所述第一概率图进行连通域检测以确定所述第二概率图。
- 根据权利要求11所述的装置,其特征在于,所述获取模块具体还用于:对所述第一概率图进行下采样以得到第三概率图;对所述第三概率图进行连通域检测以得到N个连通域;根据所述N个连通域得到所述第二概率图;其中,所述N个连通域中的每个连通域包括至少一个错误像素点,所述错误像素点为所述错误概率大于第一阈值的像素点,N为大于或等于1的整数。
- 根据权利要求12所述的装置,其特征在于,所述获取模块具体还用于:将所述N个连通域进行聚合,得到聚合后的连通域,所述聚合后的连通域包含所有错误像素点;根据所述聚合后的连通域得到所述第二概率图。
- 根据权利要求10至13中任一项所述的装置,其特征在于,所述融合模块具体用于:基于所述第二概率图将所述第一图像和所述第三图像进行融合,得到所述输出结果图像。
- 根据权利要求10至13中任一项所述的装置,其特征在于,所述融合模块具体用于:基于所述第一概率图和所述第二概率图将所述第一图像和所述第三图像进行融合,得到所述输出结果图像。
- 根据权利要求9至15中任一项所述的装置,其特征在于,所述第一图像处理模块算法包括梯度金字塔融合算法或小波变换算法;所述第二图像处理算法包括深度学习算法或神经网络算法;或者,所述第二图像处理算法包括多层拉普拉斯金字塔融合算法或深度学习算法。
- 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,当所述计算机程序在计算机或处理器上运行时,使得所述计算机或所述处理器执行如权利要求1至8中任意一项所述的方法。
- 一种芯片,其特征在于,包括:处理器和传输接口,所述处理器用于从存储器中调用并运行计算机程序,使得安装有所述芯片的图像处理装置执行如权利要求1至8中任意一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/141687 WO2022141265A1 (zh) | 2020-12-30 | 2020-12-30 | 图像处理方法和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116711295A true CN116711295A (zh) | 2023-09-05 |
Family
ID=82260019
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080108238.XA Pending CN116711295A (zh) | 2020-12-30 | 2020-12-30 | 图像处理方法和设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116711295A (zh) |
WO (1) | WO2022141265A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115293994B (zh) * | 2022-09-30 | 2022-12-16 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、计算机设备和存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5684488B2 (ja) * | 2009-04-20 | 2015-03-11 | 富士フイルム株式会社 | 画像処理装置、画像処理方法およびプログラム |
US11094043B2 (en) * | 2017-09-25 | 2021-08-17 | The Regents Of The University Of California | Generation of high dynamic range visual media |
CN111724448A (zh) * | 2019-03-18 | 2020-09-29 | 华为技术有限公司 | 一种图像超分辨重建方法、装置和终端设备 |
CN110599433B (zh) * | 2019-07-30 | 2023-06-06 | 西安电子科技大学 | 一种基于动态场景的双曝光图像融合方法 |
CN111986106B (zh) * | 2020-07-30 | 2023-10-13 | 南京大学 | 一种基于神经网络的高动态图像重建方法 |
-
2020
- 2020-12-30 CN CN202080108238.XA patent/CN116711295A/zh active Pending
- 2020-12-30 WO PCT/CN2020/141687 patent/WO2022141265A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2022141265A1 (zh) | 2022-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10977802B2 (en) | Motion assisted image segmentation | |
US10937169B2 (en) | Motion-assisted image segmentation and object detection | |
US11790481B2 (en) | Systems and methods for fusing images | |
CN110176027B (zh) | 视频目标跟踪方法、装置、设备及存储介质 | |
WO2020192483A1 (zh) | 图像显示方法和设备 | |
US20230214976A1 (en) | Image fusion method and apparatus and training method and apparatus for image fusion model | |
WO2021164731A1 (zh) | 图像增强方法以及图像增强装置 | |
CN110378838B (zh) | 变视角图像生成方法,装置,存储介质及电子设备 | |
CN116018616A (zh) | 保持帧中的目标对象的固定大小 | |
US20150248590A1 (en) | Method and apparatus for processing image of scene of interest | |
CN111402130B (zh) | 数据处理方法和数据处理装置 | |
US20130188827A1 (en) | Human tracking method and apparatus using color histogram | |
CN111402146A (zh) | 图像处理方法以及图像处理装置 | |
JP7272024B2 (ja) | 物体追跡装置、監視システムおよび物体追跡方法 | |
WO2024002211A1 (zh) | 一种图像处理方法及相关装置 | |
CN112581379A (zh) | 图像增强方法以及装置 | |
KR20140095333A (ko) | 영상에서 객체 추적 방법 및 장치 | |
US20240112404A1 (en) | Image modification techniques | |
CN114627034A (zh) | 一种图像增强方法、图像增强模型的训练方法及相关设备 | |
CN111028276A (zh) | 图像对齐方法、装置、存储介质及电子设备 | |
CN114170290A (zh) | 图像的处理方法及相关设备 | |
CN116711295A (zh) | 图像处理方法和设备 | |
CN111563517A (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN115409991B (zh) | 目标识别方法、装置、电子设备和存储介质 | |
WO2022193132A1 (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 |