用于减少图像中的低频不均匀性的系统和方法
相关申请的交叉引用
本申请要求2017年3月15日提交的题为“SYSTEMS AND METHODS FOR REDUCINGLOW-FREQUENCY NON-UNIFORMITY IN IMAGES(用于减少图像中的低频不均匀性的系统和方法)”的美国临时专利申请第62/471,854号的优先权和权益,该美国临时专利申请的全部内容通过引用合并于此。
技术领域
本发明的一个或多个实施例总体涉及成像处理,并且更具体地例如涉及从图像中分离低频阴影。
背景技术
由于各种原因,图像(例如,红外图像等)经常具有不期望的低频阴影(以下也称为“不均匀性数据”)。例如,图像捕获设备的外壳相对于图像捕获设备的镜头的形状、大小和位置常常可以造成拐角中的阴影(例如,晕影)。当将红外相机放置在诸如加热器、汽车引擎之类的热源附近时,红外相机所产生的图像可能在与传感器靠近该热源的一侧相对应的区域中具有阴影。此外,某些相机可能具有不完美的增益校正,其因此产生阴影。低频阴影经常使图像的实际数据模糊,造成图像中可感知的细节的丢失。
传统的基于场景的不均匀性校正方法不是理想的,因为这些方法取决于场景。具体而言,这些基于场景的方法依靠跨视频片段内多个帧的全局运动(例如,相机的运动)来进行适当的调整。在相机的全局运动不完美的情况下,使用这些基于场景的方法可能将诸如暗像(burn-in)之类的伪影引入图像中。另外,基于场景的方法根本不适合于固定架相机(例如,安全相机)或者只有部分帧正在移动的情况(例如,固定在移动车辆上的相机)。
因此,需要用于减少低频阴影的改进的不均匀性校正技术。
发明内容
本文公开的方法和系统的各种实施例可以用于从已由于各种原因而被不均匀性损坏的图像中分离和去除低频影子或阴影(在本文中也称为“不均匀性”)。这样的损坏的图像可能例如由成像传感器或成像设备捕获,该成像传感器或成像设备由于其配置或其所运行于的环境而产生包括与表示实际场景的数据混合的低频不均匀性数据的图像。
根据本公开的一个或多个实施例的系统和方法可以通过以下操作从损坏的图像中分离和去除不均匀性数据(例如,低频不均匀性或阴影):生成近似于对损坏的图像的不均匀性影响的不均匀性估计,并基于该不均匀性估计来处理损坏的图像以生成经校正的图像。根据本公开的实施例,可以以各种方式生成不均匀性估计。根据迭代方法,可以通过以下操作来生成不均匀性估计:将由二维(2D)函数(比如2D高斯函数)表示的不均匀性数据的新斑点(例如,呈凹凸、浅凹、或其他平滑过渡的形状的像素强度的变化)迭代地添加到不均匀性估计并应用滤波器来使这些2D函数平滑。在不均匀性估计生成过程的每次迭代中,识别使成本函数最小化的新的不均匀性更新候选。成本函数考虑了图像中的像素值之间的总变化以及不均匀性更新候选的梯度的能级。在一些实施例中,仅当不均匀性更新候选改善(例如,减少)基于成本函数的成本时,该过程才用不均匀性更新候选来更新不均匀性估计。然后将不均匀性估计应用于损坏的图像以生成经校正的图像。
本发明的范围由权利要求限定,权利要求通过引用并入本部分。通过考虑以下对一个或多个实施例的详细描述,本领域技术人员将更全面地理解本发明的实施例,以及实现本发明的其他优点。将参考最初将被简要描述的附图。
附图说明
图1示出了根据本公开的实施例的成像系统的框图。
图2示出了根据本公开的实施例的从图像中去除不均匀性数据的过程的流程图。
图3A、图3B和图3C分别示出了根据本公开的各种实施例的原始图像、经校正的图像和不均匀性表示,该不均匀性表示被用于校正该原始图像以生成经校正的图像。
图4示出了根据本公开的各种实施例的生成不均匀性估计的迭代过程,不均匀性估计用于从图像中去除不均匀性数据。
图5示出了根据本公开的各种实施例的生成局部凹凸类型的不均匀性更新候选的过程的流程图。
图6示出了根据本公开的各种实施例的生成拐角凹凸类型的不均匀性更新候选的过程的流程图。
图7示出了根据本公开的实施例的使用各种q值的加法—乘法变换和若干其他图像增强方法。
图8A示出了原始图像的横截面的像素值,并且图8B示出了通过将根据本公开的各种实施例的信号解混处理应用于原始图像而获得的经校正的图像。
图9A示出了根据本公开的各种实施例的所生成的高斯函数宽度参数,该高斯函数宽度参数与当选择局部凹凸类型的不均匀性更新候选时的迭代次数有关。
图9B示出了根据本公开的各种实施例的所生成的高斯函数宽度参数,该高斯函数宽度参数与当选择拐角凹凸类型的不均匀性更新候选时的迭代次数有关。
图10A和图10B分别示出了另一原始图像和通过应用根据本公开的实施例的信号解混处理来校正该原始图像而获得的经校正的图像。
图11A和图11B分别示出了又一原始图像和通过应用根据本公开的实施例的信号解混处理来校正该原始图像而获得的经校正的图像。
通过参考下面的具体实施方式,将最好地理解本发明的实施例及其优点。应当认识到,相似的附图标记用于标识在一个或多个附图中示出的相似的元素。
具体实施方式
本文公开的方法和系统的各种实施例可以用于从已由于各种原因而被不均匀性损坏的图像中分离和去除低频影子或阴影(在本文中也称为“不均匀性”)。这样的损坏的图像可以例如由成像传感器或成像设备捕获,该成像传感器或成像设备由于其配置或其所运行于的环境而产生包括与表示实际场景的数据混合的低频不均匀性数据的图像。
根据本公开的一个或多个实施例的系统和方法可以通过以下操作从损坏的图像中分离和去除不均匀性数据(例如,低频不均匀性或阴影):生成近似于对损坏的图像的不均匀性影响的不均匀性估计,并基于该不均匀性估计来处理损坏的图像以生成经校正的图像。根据本公开的实施例,可以以各种方式生成不均匀性估计。根据迭代方法,可以通过将由二维(2D)函数(比如2D高斯函数)表示的不均匀性数据的新斑点(例如,呈凹凸、浅凹或其他平滑过渡的形状的像素强度的变化)迭代地添加到不均匀性估计并应用滤波器来使2D函数平滑以生成不均匀性估计。在不均匀性估计生成过程的每次迭代中,识别使成本函数最小化的新的不均匀性更新候选。成本函数考虑了图像中的像素值之间的总变化以及不均匀性更新候选的梯度的能级。在一些实施例中,仅当不均匀性更新候选改善(例如,减少)基于成本函数的成本时,该过程才用不均匀性更新候选来更新不均匀性估计。然后将不均匀性估计应用于损坏的图像以生成经校正的图像。
在一些实施例中,代替2D高斯函数(曲线),其他类型的平滑类2D凹凸函数可被用作更新候选。这样的类2D凹凸函数(也可以称为2D凹凸函数)可包括2D或二元函数,该2D或二元函数表示在预定义的峰值幅度和/或宽度内并且(取决于峰值幅度的符号)呈凹凸或浅凹的形状的值(例如,像素强度)的变化。
可以迭代地执行更新不均匀性估计的过程,直到完成预定数量的迭代或达到不均匀性估计的期望质量为止。不均匀性数据去除技术的优点之一是,可以在包括其他视频信号处理操作的主信号处理路径之外执行不均匀性估计处理。也就是说,可以作为后台处理来执行不均匀性估计处理。一旦生成不均匀性估计,然后可以将不均匀性估计应用于随后的视频信号。
现在转到图1,示出了根据本公开的实施例的用于捕获和处理图像和视频(例如,视频帧)的一些实施例的系统100的框图。根据一种实施方式,系统100包括处理组件110、存储器组件120、成像传感器130、图像接口134、控制组件140、显示组件150、感测组件160和/或网络接口180。
系统100可以表示用于捕获和处理场景170的图像和/或视频的成像设备,比如摄像机和/或照相机。就这一点而言,系统100的成像传感器130可被配置为捕获特定光谱或模态中的场景170的图像(例如,静止图像和/或视频图像)。例如,在一些实施例中,成像传感器130可包括可以在任何消费者相机中找到的互补金属氧化物半导体(CMOS)传感器或电荷耦合器件(CCD)传感器。在一些其他实施例中,成像传感器130可包括IR成像传感器,其被配置为检测近IR、中IR和/或远IR光谱中的IR辐射并提供代表来自场景170的IR辐射的IR图像(例如,IR图像数据或信号)。在一个特定的非限制性示例中,成像传感器130可包括热IR成像传感器,其具有响应于热IR辐射的检测器的焦平面阵列(FPA),热IR辐射包括短波IR(SWIR)辐射、中波IR(MWIR)辐射、和/或长波IR(LWIR)辐射。
可在成像传感器130中实现的其他成像传感器包括PMD成像传感器或其他ToF成像传感器、LIDAR成像设备、毫米成像设备、PET扫描仪、SPECT扫描仪、超声成像设备或在特定模态和/或光谱中操作的其他成像设备。注意到,对于被配置为捕获特定模态和/或光谱(例如,红外光谱等)中的图像的这些成像传感器中的一些,它们例如当与典型的基于CMOS或基于CCD的成像传感器或其他成像传感器、成像扫描仪或不同模态的成像设备相比时更倾向于产生具有低频阴影的图像。
由成像传感器130提供的图像或与图像相对应的数字图像数据可以与各个图像尺寸(也称为像素尺寸)相关联。图像尺寸或像素尺寸一般指图像中的像素的数量,其对于二维图像可以例如以宽度乘以高度来表示,或者以适合于图像的相关尺寸或形状的其他方式表示。因此,可以将具有原始分辨率的图像调整为更小的大小(例如,具有更小的像素尺寸),以便例如降低处理和分析图像的成本。可以基于对经调整大小的图像的分析来生成滤波器(例如,不均匀性估计)。然后,在将滤波器应用于图像之前,可以将滤波器调整为图像的原始分辨率和尺寸。
系统100可包括便携式设备,并且可被例如结合到运载工具(例如,汽车或其他类型的陆基运载工具、无人飞行器(UAV)、无人航空器系统(UAS)、无人机、或者其他类型的航空器或航天器)或需要存储和/或显示图像的非移动装置中。
根据各种实施例,处理组件110包括处理器、微处理器、单核处理器、多核处理器、微控制器、可编程逻辑器件(PLD)(例如,现场可编程门阵列(FPGA))、数字信号处理(DSP)器件或者其他可以通过硬连线、执行软件指令或两者的组合进行配置的逻辑器件中的一个或多个,以执行本文中针对本公开的实施例讨论的各种操作。例如,处理组件110可包括信号解混模块112,其可以表示被配置为执行如本文进一步讨论的用于去除图像的不期望的阴影(不均匀性数据)的各种操作的硬件组件和软件指令的任何合适组合。处理组件110被配置为与系统100的各种其他组件进行接口连接和通信以执行这样的操作。一方面,根据一些实施例的处理组件110可被配置为执行作为用于从图像中去除不均匀数据的操作的一部分或与这些操作分离的各种系统控制操作(例如,以控制系统100的各种组件的通信和操作)和其他图像处理操作(例如,数据转换、视频分析、噪声抑制)。
应当认识到,在一些实施例中,信号解混模块112可以以软件和/或硬件集成作为处理组件110的一部分,其中信号解混模块112的代码(例如,软件指令和/或配置数据)例如存储在存储器组件120中。在一些实施例中,单独的机器可读介质121(例如,诸如硬盘驱动器、光盘、数字视频盘或闪存之类的存储器)可以存储软件指令和/或配置数据,这些软件指令和/或配置数据可以由计算机(例如,基于逻辑器件或基于处理器的系统)执行或访问以执行本文公开的各种方法和操作。一方面,机器可读介质121可以是便携式的并且/或者其位置与系统100分开,其中通过将计算机可读介质耦合到系统100和/或通过系统100从计算机可读介质121下载(例如,经由有线链接和/或无线链接)来将存储的软件指令和/或数据提供给系统100。
在一个实施例中,存储器组件120包括一个或多个存储器设备,这一个或多个存储器设备被配置为存储数据和信息,包括视频图像数据和信息。存储器组件120可包括一个或多个各种类型的存储设备,包括易失性和非易失性存储设备,比如RAM(随机存取存储器)、ROM(只读存储器)、EEPROM(电可擦除只读存储器)、闪存、硬盘驱动器和/或其他类型的存储器。如上面所讨论的,处理组件110可被配置为执行在存储器组件120中存储的软件指令,以执行本文描述的方法和处理步骤和/或操作。处理组件110和/或图像接口134可被配置为在存储器组件120中存储由成像传感器130捕获的图像或数字图像数据。处理组件110可被配置为将经处理的(例如,经低频不均匀性校正的,如本文所讨论的)静止和/或视频图像存储在存储器组件120中。
在一些实施例中,图像接口134可包括适当的输入端口、连接器、开关和/或被配置为与外部设备(例如,远程设备182和/或其他设备)进行接口连接以接收由外部设备生成或以其他方式存储在外部设备处的图像(例如,数字图像数据)的电路。所接收的图像或图像数据可被提供给处理组件110。就这一点而言,所接收的图像或图像数据可被转换为适合于由处理组件110进行处理的信号或数据。例如,在一个实施例中,图像接口134可被配置为接收模拟视频数据并将其转换为合适的数字数据以提供给处理组件110。
在一些实施例中,图像接口134可包括各种标准视频端口,其可被连接到视频播放器、摄像机或能够生成标准视频信号的其他设备,并且可以将接收到的视频信号转换为适合于由处理组件110进行处理的数字视频/图像数据。在一些实施例中,图像接口134还可被配置为与成像传感器130进行接口连接并从其接收图像(例如,图像数据)。在其他实施例中,成像传感器130可与处理组件110直接接口连接。
在一个实施例中,控制组件140包括被适配为生成用户输入控制信号的用户输入和/或接口设备,比如可旋转的旋钮(例如,电位计)、按钮、滑动条、键盘和/或其他设备。处理组件110可被配置为感测经由控制组件140来自用户的控制输入信号,并且对任何感测到的从其接收的控制输入信号做出响应。处理组件110可被配置为将这样的控制输入信号解释为如本领域技术人员一般所理解的值。在一个实施例中,控制组件140可包括控制单元(例如,有线或无线的手持控制单元),该控制单元具有被适配为与用户进行接口连接并接收用户输入控制值的按钮。在一种实施方式中,控制单元的按钮可以用于控制系统100的各种功能,比如自动聚焦、菜单启用和选择、视野、亮度、对比度、噪声过滤、图像增强、和/或成像系统或相机的各种其他特征。
在一个实施例中,显示组件150包括图像显示设备(例如,液晶显示器(LCD))或各种其他类型的众所周知的视频显示器或监视器。处理组件110可被配置为在显示组件150上显示图像数据和信息。处理组件110可被配置为从存储器组件120取回图像数据和信息,并在显示组件150上显示任何取回的图像数据和信息。显示组件150可包括显示电路,其可被处理组件110用来显示图像数据和信息。显示组件150可以适于直接从成像传感器130、处理组件110和/或视频接口组件134接收图像数据和信息,或者可以经由处理组件110从存储器组件120传送图像数据和信息。
在一个实施例中,取决于如本领域技术人员将理解的应用或实现要求,感测组件160包括一个或多个各种类型的传感器。感测组件160的传感器至少向处理组件110提供数据和/或信息。一方面,处理组件110可被配置为与感测组件160进行通信。在各种实施方式中,感测组件160可以提供关于环境条件的信息,诸如外部温度、照明条件(例如,白天、夜晚、黄昏和/或黎明)、湿度水平、具体天气条件(例如,太阳、雨和/或雪)、距离(例如,激光测距仪或飞行时间相机)和/或是否已经进入或离开隧道或其他类型的封闭场地。感测组件160可以表示本领域技术人员所周知的用于监视可能对成像传感器130所提供的图像数据(例如,对图像外观)产生影响的各种条件(例如,环境条件)的常规传感器。
在一些实施方式中,感测组件160(例如,一个或多个传感器)可包括经由有线通信和/或无线通信将信息中继到处理组件110的设备。例如,感测组件160可被适配为从卫星、通过本地广播(例如,射频(RF))传输、通过移动网络或蜂窝网络和/或通过基础设施(例如,交通或高速公路信息信标基础设施)中的信息信标或者各种其他有线和/或无线技术来接收信息。在一些实施例中,处理组件110可以使用从感测组件160检索到的信息(例如,感测数据)来修改成像传感器130的配置(例如,调整感光度,调整成像传感器130的方向或角度,调整光圈,等等)。
在各种实施例中,根据需要或取决于应用或要求,可以组合和/或实现系统100的各个组件,或者不组合和/或实现系统100的各个组件。在一个示例中,处理组件110可以与存储器组件120、成像传感器130、视频接口组件134、显示组件150、网络接口180和/或感测组件160组合。在另一示例中,处理组件110可以与成像传感器130组合,使得处理组件110的某些功能由成像传感器130内的电路(例如,处理器、微处理器、逻辑器件、微控制器等)执行。
另外,在一些实施例中,系统100的各个组件可以是分布式的并且通过网络190彼此通信。就这一点而言,系统100可包括网络接口180,其被配置为促进系统100的各个组件之间的通过网络的有线和/或无线通信。在这样的实施例中,如果系统100的特定应用需要的话,也可以复制组件。也就是说,配置用于相同或类似操作的组件可以分布在网络上。另外,如果需要,可以使用通过网络190经由网络接口180与系统100的各个组件进行通信的远程设备182(例如,常规的数字视频录像机(DVR)、配置用于图像处理的计算机、和/或其他设备)的适当组件来实现各种组件中的任何一个的全部或一部分。因此,例如,处理器110的全部或一部分、存储器组件120的全部或一部分、和/或显示组件150的全部或一部分可以在远程设备182处被实现或复制,并且被配置为执行如本文中进一步描述的图像的分辨率增强。在一些实施例中,系统100可以不包括成像传感器(例如,成像传感器130),而是改为从与处理组件110和/或系统100的其他组件分开且远离地定位的成像传感器接收图像或图像数据。将会认识到,在不脱离本公开的范围和精神的情况下,系统100的分布式实现的许多其他组合是可能的。
本文公开的根据本公开的各种实施例的用于从图像中去除低频不均匀性数据的信号解混技术的主要优点包括:(1)针对任何类型的相机配置(例如,安装在固定位置的相机)有效地去除低频阴影(不均匀性数据),因为本文公开的技术不依赖于场景或相机的运动;(2)不会对图像或视频记录造成中断或延迟,因为可以在记录图像或视频的任何关键路径(例如,主信号处理路径)之外作为后台任务来执行所涉及的大部分处理。主信号处理路径包括当将图像或视频记录并存储在数据存储库中时对它们执行的所有基本处理。这样一来,沿着主信号处理路径执行的任何操作在操作花费太长时间的情况下可能对图像/视频记录过程造成延迟,这可能导致无法记录所有捕获的图像/视频。
换句话说,本文公开的信号解混技术有利地允许连续捕获图像/视频记录而没有中断,即使当可用的处理资源对于捕获图像/视频和需要在图像/视频路径中执行的其他关键处理来说勉强足够时也是如此。可以作为后台任务来执行(例如,在处理器的空闲时间期间执行,等等)识别不均匀性估计所涉及的信号解混处理。当最终计算出不均匀性估计时,可以将其应用于所记录的图像或视频,以从图像或视频中去除不均匀性数据。
因此,例如,本公开的各种实施例可以在处理资源有限的应用中(例如,在连续记录和处理视频的同时,等等)有利地提供没有或基本没有低频阴影的图像。就这一点而言,在一些实现示例中,本公开的各种实施例可被实现为以下各项的一部分:建筑物的监视系统、无人飞行器(UAV)、无人航空器系统(UAS)、无人机、或者其他移动监视平台,它们将受益于没有或基本没有低频阴影的增强图像但只有有限的处理资源来用于连续视频流。
转到图2,图2是根据本公开的实施例的从图像中分离不均匀性数据的过程200的流程图。过程200可以由系统100的各种组件来执行。然而,应当认识到,仅出于给出示例的目的来标识系统100及其各种组件,并且可以利用任何其他合适的系统来执行过程200的全部或一部分。还应当认识到,可以以与图2所示的实施例不同的顺序或布置来组合和/或执行过程200的任何块、子块、步骤、子步骤或子过程。
在步骤202,例如在处理组件110处从成像传感器130或经由图像接口134从外部捕获和/或存储的图像或视频接收图像(比如图3A的原始图像305)。原始图像305是包括数字图像数据的图像,该数字图像数据包括作为捕获的场景(例如,场景170)的一部分的数据以及在图像捕获过程期间由不是来自场景的期望部分并影响成像传感器130或系统100的热源或热反射引入到图像中和/或由成像传感器130或系统100(例如,由于由成像传感器130或系统100的组件(比如镜头和辐射热测量计电路)或操作(比如增益校正处理)引入的意外伪影)引入到图像中的低频阴影(不均匀性数据)。原始图像包括像素阵列,其中每个像素具有像素数据,该像素数据表示沿着该像素的模态或光谱(例如,颜色、亮度、红外、热等)的值。例如,原始图像305可以由CCD或CMOS传感器、IR成像传感器、PMD或其他ToF成像传感器、LIDAR成像设备、毫米波成像传感器、或其他成像传感器捕获。在一个示例中,原始图像305可以是具有位于沿着IR光谱的原始动态范围(原始动态比例)内的像素值的以诸如640×480、1024×768、1536×1024或其他分辨率之类的原始分辨率捕获的IR图像。
原始图像305可糟受具有混合在场景的实际图像数据之间的不均匀性数据(低频阴影)之苦。如图所示,原始图像305的左上角和左下角看起来具有显著的负阴影(以左上角和左下角为中心的暗点),并且右上角和右下角附近的区域看起来具有正阴影(以右上角和右下角为中心的亮点)。相比之下,图3B示出了在例如通过将如本文公开的信号解混处理应用于原始图像305而已经从原始图像305中去除不均匀性数据之后的图像310。图3C示出了为生成经校正的图像310而从原始图像305中去除的不均匀性数据(阴影)的表示。
已经观察到,不均匀性数据(低频阴影)是平滑的而没有急剧的过渡(例如,如图3C的阴影315所示),并且对原始图像的低分辨率近似足以捕获不均匀性数据。这样一来,为了提高解混处理的速度和效率,在一些实施例中,在步骤204,可以将图像305调整为具有诸如80×60、160×120、320×240之类的较低分辨率或比图像305的原始分辨率更小的其他分辨率的更小大小。此外,为了易于操作,可以将动态范围转换(例如,归一化)为有限的比例(例如,在0和1之间)。因此,在步骤204,还将图像的像素值从原始动态范围转换为有限的(例如,归一化的)比例,以生成经调整大小的图像420。
还已经观察到,红外图像中的对象和场景一般是分段平坦的。换句话说,场景中的热能可以在对象之间变化,但是在每个对象内或在对象的每个部分内变化不大。总变化的最小化是一种已知促进分段恒定分量的图像正则化的形式。有趣的是,在图像捕获期间引入到图像中的不均匀性数据(低频阴影)使图像的总变化增加,因为不均匀性数据经常造成图像强度的倾斜。例如,原始图像305中的阴影使图像305的左上角和左下角比正常情况更暗,并且使图像305的右上角附近的区域比正常情况更亮,从而使原始图像305看起来具有显著高于经校正的图像310的总变化。
图8A示出了原始图像(例如,原始图像305)的横截面的各种像素值,并且图8B示出了例如从根据各种实施例的本文描述的过程获得的经校正的图像(例如,经校正的图像310)的相同横截面的像素值。如图所示,图8B中的像素值明显比图8A中的像素值平坦。
此外,如上面提到,如原始图像305中的阴影所示,不均匀性数据经常是平滑的而没有急剧的过渡。已经预期到,可以将图像的整体不均匀性数据(低频阴影)建模为一个或多个2D凹凸函数(例如,2D高斯函数/曲线)的组合。因此,当估计图像的不均匀性数据时,可以使用选择要添加到不均匀性估计的2D凹凸函数的迭代处理。关于作为具体示例的2D高斯函数示出了下面讨论的本公开的实施例,但是可以利用其他类2D凹凸函数来代替本文上面提到的2D高斯函数或除这些2D高斯函数之外利用其他类2D凹凸函数。
给定上述不均匀性数据的一般特性,可以基于以下各项来评估不均匀性估计的质量或组成该不均匀性估计的2D高斯函数中的任何一个的质量:首先,不均匀性估计应当使经校正的图像的像素值之间的总变化最小化;其次,不均匀性估计的梯度的能量较低。这样,在步骤208,确定用于计算不均匀性估计的质量或该不均匀性估计的2D高斯函数的质量的成本函数。在一些实施例中,成本函数考虑(1)在将不均匀性估计应用于图像之后的经校正的图像的像素值之间的总变化和(2)不均匀性估计的梯度的能量。
已经预期到,可以使用下式来计算经校正的图像的像素值之间的总变化:
并且可以使用下式来计算不均匀性估计的梯度的能量:
其中TV是总变化,im是原始图像(在一些实施例中,归一化为0到1的含端点值的范围),NU是不均匀性估计(在一些实施例中,归一化为0到1的含端点值的范围),[im-NU]是在已经将不均匀性估计NU应用于原始图像im之后的清洁图像,并且ε是不均匀性估计NU的梯度的能量,
其中
其中
注意,可能不可以使总变化和不均匀性估计的能量同时最小化,因此,优选的成本函数应当在这两个因子之间找到平衡。在一些实施例中,成本(cost)函数可包括与总变化相关联的权重和与不均匀性估计的能量相关联的权重。这些实施例的一些中的成本函数可被表示为:
Cost=λ1×TV+λ2×ε....................................(5)
其中λ1是与总变化相关联的权重并且λ2是与不均匀性估计的能量相关联的权重。
这样一来,在一些实施例中,在步骤208,确定成本函数包括将第一权重(λ1)指派给总变化因子并将第二权重(λ2)指派给不均匀性估计能量因子。这些权重可以基于经验数据事先确定,或者可以由系统100的操作者修改,或者可以由系统100自动修改。
一些实施例的不均匀性估计可被表示为如下图像,该图像具有与经处理的图像(经调整大小和重新缩放的图像)相同的大小,但是仅包括与经处理的图像的不均匀性伪影(低频阴影)有关的数据。例如,针对图3A的原始图像305生成的不均匀性估计可被表示为图3C的不均匀性估计315。如图所示,不均匀性估计315包括在左上角和左下角处的暗区域(负阴影),以及在右上角和右下角处的亮区域(正阴影)。将不均匀性估计315应用于原始图像305将产生经校正的图像310。在一些实施例中,将不均匀性估计315应用于原始图像305包括从原始图像305中减去不均匀性估计315。
不同的实施例利用不同的技术来构造图像的不均匀性估计。在一些实施例中,可以使用迭代加法来构造不均匀性估计。根据该迭代加法,可以迭代地更新不均匀性估计。每次更新可包括对不均匀性估计的调整。如上所述,不均匀性估计可以由一个或多个2D高斯函数组成。因此,不均匀性更新可包括将附加的2D高斯函数添加到不均匀性估计。另一更新可包括调整(例如,扩散)不均匀性估计中的一个或多个2D高斯函数。
因此,在确定成本函数之后,识别新的不均匀性更新候选(在步骤210)。如图4所示,新的不均匀性更新候选可以是以下三种类型的更新候选之一:局部凹凸更新、拐角凹凸更新、以及全局扩散更新。局部凹凸包括布置在不均匀性估计内的随机位置处的2D高斯函数。拐角凹凸类似于局部凹凸,并且也包括2D高斯函数。然而,与局部凹凸不同,拐角凹凸的2D高斯函数只能放置在不均匀性估计的拐角之一中或不均匀性估计的拐角之一附近的随机位置处,以解决图像的拐角中的阴影。虽然每个生成的2D高斯函数都应该是平滑的而没有尖锐的边缘,但是当多个2D高斯函数彼此重叠时可能产生尖锐的边缘。因此,可以应用全局扩散来使已经放置在不均匀性估计上的二维高斯函数平滑。在一些实施例中,全局扩散包括将低通滤波器应用于不均匀性估计。
在一些实施例中,过程200可以在该步骤210处随机地选择三种类型的更新之一。优选地,一种或更多种类型的更新应当比其他更新更经常地被选择。例如,局部凹凸具有比拐角凹凸和全局扩散更高的优先级,而拐角凹凸具有比全局扩散更高的优先级。这样一来,一些实施例的过程200可以将不同的优先级应用于不同的不均匀性更新类型。在一个示例中,在大多数(例如,80%、70%,等等)时间选择局部凹凸,比全局扩散更经常地但是仍比局部凹凸更少地选择拐角凹凸(例如,10%、20%的时间,等等),并且最不频繁地选择全局扩散(例如,3%、5%的时间,等等)。不均匀性更新类型的选择可被实现为具有指派给不同更新类型的不同权重的随机性发生器。例如,对于每次被执行时随机输出0和1之间的值的随机性发生器程序,过程200可以在输出小于0.8时选择局部凹凸,在输出在0.8和0.9之间时选择拐角凹凸,并且在输出在0.9和0.93之间时选择全局扩散。
如果在步骤210选择了局部凹凸,则可以生成局部凹凸类型的不均匀性更新候选。图5示出了过程500,过程500用于在将局部凹凸选择为更新类型时生成不均匀性更新候选。在步骤502,选择使成本函数(例如,在步骤208确定的成本函数)最小化的2D高斯函数的位置。在一些实施例中,可以例如通过使用如上所述的随机性发生器在经处理的图像上的任何地方随机选择位置。在一些实施例中,可以通过首先在不均匀性估计上识别多个位置候选、测试这些位置候选以及识别基于在步骤208确定的成本函数提供最小成本的位置来执行步骤502。在一些实施例中,可以通过诸如坐标下降法、Nelder-Mead下山单纯形法或粒子群优化之类的非线性直接搜索最小化算法来执行成本函数的最小化。在步骤504,为2D高斯函数选择宽度。与位置类似,也可以例如通过使用随机性发生器来随机选择宽度。
在步骤506,选择使成本函数(例如,在步骤208确定的成本函数)最小化的2D高斯函数的峰值幅度。在一些实施例中,可以通过首先定义幅度的范围(例如,带符号的幅度,包括正值和负值)、测试该范围内的几个峰值幅度以及识别基于在步骤208确定的成本函数提供最小成本的峰值幅度来执行步骤506。优选地,测试多于一个峰值幅度,并且甚至更优选地,测试大量的峰值幅度(例如,0.1、0.2、0.25、0.3、-0.1、-0.2、-0.25、-0.3等)以识别基于成本函数产生最小成本的峰值幅度。可以使用如上面所讨论的随机性发生器来随机地生成要测试的不同峰值幅度,或者,可以将不同峰值幅度生成为该范围内的预定有序序列。在一些实施例中,可以通过诸如坐标下降法、Nelder-Mead下山单纯形法、或粒子群优化之类的非线性直接搜索最小化算法来执行成本函数的最小化。
如上面所讨论,成本函数是基于图像的像素值之间的总变化和不均匀性估计的梯度的能量的。在一些实施例中,对于每个被测试的峰值幅度,在该步骤506,通过将具有被测试幅度的2D高斯函数添加到(在先前的迭代中生成的)不均匀性估计来生成假设的不均匀性估计。然后,在该步骤506,可以通过在成本函数(例如,式(5))中使用所生成的假设的不均匀性估计来计算每个被测试的2D高斯函数(改变幅度)的成本。
因此,在步骤506和508中,针对不同的峰值幅度和位置来计算成本,以识别不同的峰值幅度中产生最小成本的峰值幅度和位置。然后为不均匀性更新候选选择识别出的峰值幅度。尽管出于说明示例实施例的目的而将2D高斯函数的峰值幅度和位置的选择描述为两个单独的步骤506和508,但是还预期到,可以一起执行峰值幅度和位置的选择,以例如通过随机化和测试峰值高度和位置的不同组合或者通过用峰值高度和位置的组合作为变量执行直接搜索最小化算法来确定使成本函数最小化的峰值幅度和位置的组合。
在选择使成本函数最小化的峰值幅度和位置之后,在步骤508生成具有所选择的宽度和峰值幅度的2D高斯函数。在一些实施例中,该2D高斯函数可以被如下表示:
其中G(x,c,σG)是给定二维坐标(x和y)的高斯函数,c1表示高斯函数的(有符号)峰值幅度,c2和c3表示高斯函数在经处理的图像上的位置的二维坐标,并且σG表示高斯函数的宽度(大小或展开)。
给定上面的式(6),扰动(假设的不均匀性估计)可以被表示为:
Π(vi-1,c)=vi-1+G(x,c,σG)…………………………………(7)
其中vi-l表示当前的不均匀性估计。
如果在步骤210选择了拐角凹凸,则可以生成拐角凹凸类型的不均匀性更新候选。图6示出了过程600,过程600用于在选择拐角凹凸作为更新类型时生成不均匀性更新候选。过程600类似于过程500,除了在步骤602,不是从经处理的图像上的任何位置选择2D高斯函数的位置以使成本函数最小化,而是从在拐角之一附近(例如,在其中或在其周围)的位置中选择使成本函数最小化的位置。在一些实施例中,可通过在不均匀性估计的角周围施加任意边界来限制在该步骤602处可以选择的角位置。例如,可以在该选择步骤602中施加距经处理的图像的任何一个角在预定距离内的边界。可以例如通过使用如上所述的随机性发生器在内部随机选择拐角位置。在一些实施例中,可以通过首先在不均匀性估计上识别多个位置候选、测试这些位置候选、以及识别基于在步骤208确定的成本函数提供最小成本的位置来执行步骤602。在一些实施例中,可以通过诸如坐标下降法、Nelder-Mead下山单纯形法或粒子群优化之类的非线性直接搜索最小化算法来执行成本函数的最小化。在步骤604,为2D高斯函数选择宽度。与位置类似,也可以例如通过使用随机性发生器来随机选择宽度。
在步骤606,选择使在步骤208确定的成本函数最小化的2D高斯函数的峰值幅度。在一些实施例中,可以通过首先定义幅度的范围、测试该范围内的几个峰值幅度以及识别基于在步骤208确定的成本函数提供最小成本的峰值幅度来执行步骤606。优选地,测试多于一个峰值幅度,甚至更优选地,测试大量的峰值幅度(例如,0.1、0.2、0.25、0.3、-0.1、-0.2、-0.25、-0.3等)以识别基于成本函数产生最小成本的峰值幅度。在一些实施例中,可以通过诸如坐标下降法、Nelder-Mead下山单纯形法或粒子群优化之类的非线性直接搜索最小化算法来执行成本函数的最小化。可以使用如上面所讨论的随机性发生器随机地生成要测试的不同峰值幅度,或者可替代地,不同峰值幅度可被生成为该范围内的预定的有序序列。
如上面所讨论的,成本函数基于图像的像素值之间的总变化和不均匀性估计的梯度的能量。在一些实施例中,对于每个被测试的峰值幅度,在该步骤606,通过将具有被测试的峰值幅度的2D高斯函数添加到(在先前的迭代中生成的)不均匀性估计来生成假设的不均匀性估计。然后,在该步骤606,可以通过在成本函数(例如,式(5))中使用所生成的假设的不均匀性估计来计算每个被测试的2D高斯函数(改变幅度)的成本。针对不同的峰值幅度来计算成本,以识别在不同的峰值幅度中产生最小成本的峰值幅度。然后为不均匀性更新候选选择识别出的峰值幅度。
在选择使成本函数最小化的峰值幅度和位置之后,在步骤608生成具有所选择的位置、宽度和峰值幅度的2D高斯函数。在一些实施例中,可以如式(6)所示来表示该2D高斯函数。
如果在步骤210选择了全局扩散,则可以生成全局扩散类型的不均匀性更新候选。如上面提到,全局扩散可包括为了使当前不均匀性估计中包括的2D高斯函数平滑而应用于当前不均匀性估计的滤波器(例如,低通滤波器等)。在这些实施例中的一些中,扰动(在将全局扩散应用于当前不均匀性估计之后的假设的不均匀性估计)可以被表示为当前不均匀性估计与其自身的平滑版本之间的凸组合,其可以被表示为:
Π(vi-1,c)=c1×vi-1+(1-c1)γ(vi-1)..........................(8)
其中vi-1表示当前的不均匀性估计,γ是平滑算子(例如,针对当前不均匀性估计中的高斯函数的内核的卷积),并且表示凸组合参数的c1是0和1之间的数字(含0和1)。
在一些实施例中,当平滑算子γ可以保持恒定(预定)时,可以测试各种凸组合参数以识别使成本函数最小化的凸组合参数c1。优选地,测试多于一个的凸组合参数,并且甚至更优选地,测试大量的凸组合参数(例如,0.1、0.2、0.5、1.0等),以识别基于成本函数产生最小成本的凸组合参数。可以使用如上面所讨论的随机性发生器来随机生成要测试的不同凸组合参数,或者可替代地,要测试的不同凸组合参数可被生成为在0和1之间的范围内的预定的有序序列。在一些实施例中可以利用其他最小化技术。
如上面所讨论的,成本函数是基于图像的像素值之间的总变化和不均匀性估计的梯度的能量的。因此,凸组合参数的每个被测试变化可以使用式(8)通过改变参数c1来生成扰动(假设的不均匀性估计)。然后可以在成本函数(例如,式(5))中使用所生成的扰动(假设的不均匀性估计)来计算每个被测试的凸组合参数的成本。针对不同的凸组合参数来计算成本,以识别不同凸组合参数中产生最小成本的凸组合参数。然后为不均匀性更新候选选择识别出的凸组合参数。
回到图4,一旦已经识别出不均匀性更新候选,就需要根据成本函数验证新的不均匀性更新候选是否实际上改善了不均匀性估计,而不是恶化了不均匀性估计。在一些实施例中,针对当前不均匀性估计计算的成本和针对在将新的不均匀性更新候选应用于当前不均匀性估计之后的假设的不均匀性估计计算的成本被相互比较。
在一些实施例中,如果针对假设的不均匀性估计计算的成本小于当前的不均匀性估计,也就是说,不均匀性更新候选改善了当前不均匀性估计,则将新的不均匀性更新候选添加到当前不均匀性估计。然后是,如果针对假设的不均匀性估计计算的成本大于(或等于)当前的不均匀性估计,也就是说,新的不均匀性更新候选未改善当前不均匀性估计,则丢弃该不均匀性更新候选。
这样一来,在步骤212,将新的不均匀性更新候选应用于当前的不均匀性估计以生成假设的不均匀性估计。在步骤214,确定新的不均匀性估计是否实际上改善了当前的不均匀性估计(例如,更新候选是否降低了成本)。如果确定新的不均匀性更新候选未降低成本,则丢弃新的不均匀性更新候选(在步骤216)。也就是说,当前迭代之后的不均匀性估计保持与先前迭代相同。然而,如果确定新的不均匀性更新候选降低了成本,则用新的不均匀性更新候选来(在步骤218)更新不均匀性估计(例如,将新的不均匀性更新候选添加到当前的不均匀性估计)。
如上面提到的,可以根据需要多次重复更新不均匀性估计的该过程。在一些实施例中,可以使用固定数量的迭代(预定的)。在其他实施例中,过程200可以继续重复该处理,直到存在终止条件为止。例如,当新识别出的不均匀性更新候选被丢弃(例如,当其不再降低成本时)固定次数时,过程200可以停止重复该处理。
这样,在步骤220,过程200确定是否应当执行更多迭代。如果确定应当执行更多迭代,则过程200返回步骤210,并重复步骤210至220以继续更新和改善不均匀性估计。如上面提到的,迭代过程通过迭代地添加新的2D高斯函数或应用将使不均匀性估计尽可能地接近原始图像上的不均匀性数据的滤波器来继续更新不均匀性估计。优选地,该过程被重复很多次(例如,100次、200次、500次)。在一些实施例中,过程200可以在其迭代步骤210至220时调整用于选择不均匀性更新候选的一个或多个参数。例如,过程200可以随着其进展而调整2D高斯函数的宽度(例如,由σG确定的大小或展开)。在一些实施例中,过程200开始于当选择局部凹凸或拐角凹凸时为2D高斯函数选择更大的宽度(大小/展开)(例如,通过为式(6)中的参数σG指派更大的值),并且随着迭代次数增加而逐渐减小宽度(大小/展开)(例如,通过逐渐减小式(6)中的参数σG的值)。在一些实施例中,(通过使用如上所述的随机性发生器)在每次迭代中随机选择参数σG。在这些实施例的一些中,这可以通过为参数σG设置上限和下限并随着迭代次数增加而缓慢地减小上限和下限来实现。图9A示出了与局部凹凸的迭代次数有关的σG值的示例集合,并且图9B示出了与拐角凹凸的迭代次数有关的σG值的示例集合。
然而,如果确定应当不再执行迭代,则过程200可以输出当前的不均匀性估计,并将其应用于一个或多个图像或帧。由于不均匀性估计是基于经处理的图像(其被调整大小和重新缩放)生成的,因此在可以对图像使用当前不均匀性估计之前,在步骤222将当前的不均匀性估计调整为原始图像的初始大小并将当前的不均匀性估计重新缩放到原始图像的初始动态范围。然后可以将经调整大小和重新缩放的不均匀性估计(在步骤224)应用于原始图像以生成经校正的图像(例如,经校正的图像310)。在一些实施例中,将不均匀性估计应用于原始图像包括从原始图像中减去不均匀性估计。
注意到,处理组件110可被配置为在输出或存储图像/视频之前在主信号路径(例如,主视频处理链,包括诸如自动增益控制、其他类型的噪声抑制、增益和偏移调整和/或用于生成合适的图像数据以进行显示或进一步处理的其他操作之类的其他操作)中对从成像传感器130接收的图像/视频执行一系列关键图像处理。如上面所讨论的,根据本文公开的各个实施例的解混技术的优点之一是可以在主信号路径之外执行不均匀性估计操作中的一些,使得可以在具有有限处理资源的设备中实现该技术。例如,可以作为在处理组件110对从成像传感器130接收的所有图像执行的主信号路径之外的后台处理来执行以下步骤:确定成本函数(步骤208),识别不均匀性更新候选(步骤210),将不均匀性更新候选应用于不均匀性估计(步骤212),确定不均匀性更新候选是否降低根据成本函数的成本(步骤214),用不均匀性更新候选来更新不均匀性估计(步骤218),以及对不均匀性估计进行大小调整和重新缩放(步骤222)。在一些实施例中,处理组件110可被配置为周期性地(例如,每100个图像、每小时,等等)从多个接收图像中选择一个图像,以在后台执行该不均匀性估计生成过程。一旦信号解混模块112已经为所选择的图像生成了不均匀性估计,一些实施例的处理组件110就被配置为作为主信号路径的一部分将该不均匀性估计应用于所有接收到的图像(步骤224)。
就这一点而言,根据一些实施例的处理组件110可包括硬件处理器、PLD、DSP、专用集成电路(ASIC)和/或其他逻辑器件的不同组合,其中的一个或多个被配置为在后台执行不均匀性估计生成过程(例如,步骤208-204、218和222),而其中的其他一个或多个被配置为执行主信号路径处理。预期到各种实现方式,例如:包括多核和/或多线程处理器/DSP的实现方式,该多核和/或多线程处理器/DSP被配置为在一个或多个核/线程中执行不均匀性估计生成并在一个或多个其他核/线程中执行主信号路径处理;包括处理器/DSP的实现方式,该处理器/DSP被配置为通过情境切换和多任务来同时执行不均匀性估计生成和主信号路径处理;包括一个或多个被配置为执行不均匀性估计生成的处理器/DSP以及一个或多个被配置为执行主信号路径处理的其他处理器/DSP的实现方式;包括一个或多个被配置为执行不均匀性估计生成的处理器/DSP以及被配置为执行主信号路径处理的PLD、ASIC和其他硬件逻辑器件中的一个或多个的实现方式;包括被配置为执行不均匀性估计生成的PLD、ASIC和其他硬件逻辑器件中的一个或多个以及一个或多个被配置为执行主信号路径处理的处理器/DSP的实现方式;包括被配置为执行不均匀性估计生成的PLD、ASIC和其他硬件逻辑器件中的一个或多个以及被配置为执行主信号路径处理的其他PLD、ASIC和其他硬件逻辑器件中的一个或多个的实现方式;以及处理器、PLD、DSP、ASIC和其他硬件逻辑器件的其他合适的配置组合。
注意到,引入到图像中的不均匀性数据可被建模为加性分量,建模为乘性分量,或建模为这两个分量的各种组合之一。当不均匀性数据完全是加性时,可以如上所述通过简单地从原始图像中减去不均匀性估计来将不均匀性估计应用于原始图像。当不均匀性数据完全是乘性时,可以通过将原始图像除以不均匀性估计来将不均匀性估计应用于原始图像。可替代地,不均匀性估计的应用可以在对数空间中进行。例如,在从原始图像中减去不均匀性数据之前,可以首先将原始图像转换为对数空间,其可被表示为:
imtrans=ln(im)-NU...............................(9)
其中im是原始图像并且NU是不均匀性估计。根据一些实施例,NU和im可表示已经被归一化到[0,1]范围的不均匀性估计和原始图像。
在将不均匀性数据应用于对数空间中的原始图像之后,通过下式将结果变换回其原始空间:
当不均匀性数据具有加性分量和乘性分量的组合时,可以在执行生成不均匀性估计的迭代过程之前通过加法—乘法变换(在图2的步骤206)来处理图像或帧以生成经变换的图像。在一些实施例中,可以将该变换应用于已被调整大小和重新缩放的经处理的图像。基于经变换的图像来生成不均匀估计。在生成不均匀性估计并随后对其进行调整大小和重新缩放之后,在步骤224将其应用于经变换的图像。经变换的图像需要恢复为原始格式。这样,在加法步骤226,将变换的逆应用于经变换的图像以生成经校正的图像。
加法—乘法变换需要考虑加性分量和乘性分量可归因于不均匀性数据的各种程度。在一个示例中,加法—乘法变换可被表示为:
其中q是表示不均匀性数据的加法或乘法性质的参数(实数),并且im表示归一化为0到1的范围(含端点值)的原始图像(0≤im中的像素值≤1)。
当不均匀性数据具有更多的乘性分量时,参数q增大,当不均匀性数据具有更多的加性分量时,参数q减小。在不均匀性数据主要是或几乎完全是加性的极端情况下,非常小的数字(接近“0”)被用于参数q。对于给定值q,将不均匀性估计应用于经变换的图像的函数可以被表示为:
imcorrected=fq(im)-NU.............................(12)
在应用不均匀性估计之后,应用变换的逆以获得图像域中的经校正的图像,其可以被表示为:
在解混处理期间使用加法—乘法变换的实施例中,在识别不均匀性更新候选的步骤(步骤210)期间,除了局部凹凸、拐角凹凸和全局扩散更新以外,还可以选择另一类型的更新——全局响应。全局响应类型被配置为通过将多项式应用于当前的不均匀性估计来调整变换函数中的参数q。也可以以相反方式进行解释,以使得全局响应类型被配置为使不均匀性适应变换函数中q的变化。注意到,除了全局扩散之外,对不均匀性的所有其他更新都是局部的(凹凸)。根据全局响应类型,对变换函数的修改(如式(11)所示)是对不均匀性的全局改变,并且不均匀性需要适应新的变换式。因此,为了根据全局响应类型更新选择改进的变换函数,不均匀性也应适应新的变换函数。
在一些实施例中,还选择变换函数(上面的式(11))中的值q以使成本函数最小化。这可以通过直接搜索最小化算法来执行,或者通过测试几个q值并识别变换函数中的基于在步骤208处确定的成本函数提供最小成本的q值来执行。优选地,测试多于一个q值以识别基于成本函数产生最小成本的q值。在一些实施例中,独立于正在更新中使用哪种类型的扰动而执行一些实施例中的变换函数中的q值的优化。在每次迭代中,如上面所讨论的,随机地选择一种扰动(更新),此外还随机地决定是否还优化q值(例如,选择使成本函数最小化的q值)。
可以通过如下表示的函数获得扰动(在将全局响应更新应用于当前不均匀性估计之后的假设的不均匀性估计):
∏(vi-1,c)=c1vi-1 2+c2vi-1............................(14)
其中c1和c2是用于确定如何调整变换参数q的参数。
在一些实施例中,可以测试c1和c2的参数的各种组合,以识别使成本函数最小化的参数组合c1和c2。优选地,测试多于一个组合参数,并且甚至更优选地,测试大量的参数组合(例如,10个、20个、50个、100个、500个等),以识别基于成本函数产生最小成本的参数组合。可以使用如上面所讨论的随机性发生器来随机地生成要测试的不同参数组合,或者可替代地,要测试的不同参数组合可被生成为预定范围内的预定的有序序列。
如上面所讨论的,成本函数是基于图像的像素值之间的总变化和不均匀性估计的梯度的能量的。因此,参数组合的每个被测试变化可以使用式(14)通过改变参数c1和c2生成扰动(假设的不均匀性估计)。然后可以在成本函数(例如,式(5))中使用所生成的扰动(假设的不均匀性估计)来计算每个被测试参数组合的成本。针对不同参数组合计算成本,以识别不同参数组合中产生最小成本的参数组合。然后为不均匀性更新候选选择识别出的参数组合。在一些实施例中,当应用加法—乘法变换时,通过变换的导数来缩放成本函数。
注意到,处理组件110可被配置为在输出或存储图像/视频之前在主信号路径中对从成像传感器130接收的图像/视频执行一系列关键图像处理。如上面所讨论的,根据本文公开的各个实施例的解混技术的优点之一是可以在主信号路径之外执行不均匀性估计操作中的一些,从而可以在具有有限处理资源的设备中实现该技术。例如,可以作为在处理组件110对从成像传感器130接收的所有图像执行的主信号路径之外的后台处理来执行以下步骤:确定成本函数(步骤208),识别不均匀性更新候选(步骤210),将不均匀性更新候选应用于不均匀性估计(步骤212),确定不均匀性更新候选是否降低根据成本函数的成本(步骤214),用不均匀性更新候选来更新不均匀性估计(步骤218),以及对不均匀性估计进行大小调整和重新缩放(步骤222)。在一些实施例中,处理组件110可被配置为周期性地(例如,每100个图像,每小时、等等)从多个接收到的图像中选择一个图像,以在后台执行该不均匀性估计生成处理。一旦信号解混模块112已经为所选择的图像生成了不均匀性估计,一些实施例的处理组件110就被配置为作为主信号路径的一部分将该不均匀性估计应用于所有接收到的图像。因此,对于从图像传感器130接收的每个图像,作为主信号路径的一部分,处理组件110可以将变换应用于该图像(步骤206),将不均匀性估计应用于该图像(步骤224),以及应用图像的变换的逆(步骤226)。
图7示出了在不同q值的情况下的(在应用加法—乘法变换之前的)经处理的图像的像素值与其对应的(在应用加法—乘法变换之后的)变换后的像素值之间的关系。
图10A示出了已被不均匀性数据破坏的另一示例图像1005,并且图10B示出了在根据这里公开的各个实施例的解混处理已被应用于图像1005之后的经校正的图像1010。图11A示出了已被不均匀性数据破坏的另一示例图像1105,并且图11B示出了在根据这里公开的各个实施例的解混处理已被应用于图像1105之后的经校正的图像1110。
在适用的情况下,可以使用硬件、软件、或硬件和软件的组合来实现本公开所提供的各个实施例。同样在适用的情况下,在不脱离本公开的精神的情况下,本文阐述的各种硬件组件和/或软件组件可以被组合成包括软件、硬件和/或两者的复合组件。在适用的情况下,在不脱离本公开的精神的情况下,本文阐述的各种硬件组件和/或软件组件可以被分成包括软件、硬件或两者的子组件。此外,在适用的情况下,预期到软件组件可以被实现为硬件组件,反之亦然。
根据本公开的软件,比如非暂态指令、程序代码和/或数据,可以存储在一个或多个非暂态机器可读介质上。还预期到可以使用联网的和/或其他方式的一个或多个通用或专用计算机和/或计算机系统来实现本文中标识的软件。在适用的情况下,本文描述的各个步骤的顺序可以被改变,组合为复合步骤,和/或分成子步骤,以提供本文描述的特征。
上述实施例说明了但不限制本发明。还应当理解的是,根据本发明的原理,许多修改和变化是可能的。因此,本发明的范围仅由所附权利要求来限定。