用于处理来自非线性相机的高动态范围(HDR)数据的方法与流程

文档序号:11234818阅读:438来源:国知局
用于处理来自非线性相机的高动态范围(HDR)数据的方法与流程

本发明涉及一种用于处理来自非线性相机的高动态范围(hdr)数据的方法。



背景技术:

在各种技术领域中都要求hdr相机的处理数据。特别是,在汽车应用中,hdr相机被用于提供驾驶路径的图像,以便使得能够进行例如障碍检测、交通标志识别或车道识别。在汽车应用中使用的相机例如覆盖多达120db的宽动态范围。该动态范围可以通过使用多重曝光接着在成像器芯片上的融合来实现。

通常,相机生成的图像数据对应于可以由具有多个斜率和/或曲线拐点的分段线性过渡曲线描述的相机行为。

相机图像可以在从相机输出之前被压缩扩展。由此,由相机输出/生成的图像可以消耗每像素12-14位,其中,对应初始线性hdr数据甚至将覆盖多于每像素16位且多达每像素32位的数据范围。

汽车应用通常要求在不使用高端组件的情况下进行快速图像处理。然而,用具有每像素16位或32位的图像作业可能耗时且要求大量存储带宽和处理能力。



技术实现要素:

因此,本发明的目的是提供用于处理来自非线性相机的高动态范围数据的方法和系统,该方法和系统降低所要求的处理能力和存储带宽,并且同时产生可以用于另外应用的图像数据。

该目的通过根据权利要求1所述的方法和根据权利要求14所述的相机系统来满足。本发明还涉及根据权利要求15所述的车辆。

根据权利要求1,所述方法包括以下步骤:

利用相机生成输入图像,输入图像包括多个像素,每个像素具有初始像素值,其中,初始像素值使用相机过渡曲线来生成,

生成表示逆函数和再压缩函数(re-compressionfunction)的组合的第一查找表,第一查找表具有输入值和输出值,其中,每个输入值联接到一个(优选地,确切地为一个)输出值,逆函数是相机过渡曲线的逆,再压缩函数优选地是平滑连续函数,平滑连续函数优选地在每个输入值处具有大于(或等于)相机过渡曲线的对应斜率的斜率,并且其中,第一查找表被生成为使得逆函数在再压缩函数之前,以及

通过使用第一查找表转换初始像素值来生成第一图像。

根据本发明,生成第一查找表,其中,第一查找表可以是逆函数和再压缩函数的表示,即,第一查找表的输入值对应于最初由逆函数处理且然后由再压缩函数处理的输入值,而第一查找表的输出值对应于逆函数接着再压缩函数针对对应输入值生成的值。

相机可以是基于多重曝光产生输入图像的非线性相机。相机过渡曲线可以是不平滑和/或连续的函数。相机过渡曲线可以是具有多个斜率和/或曲线拐点的分段线性过渡曲线。

逆函数对应于相机过渡曲线的逆。逆函数可以恢复(在由相机拍摄的场景中的)照度(luminance)与图像亮度之间的线性关系。逆函数可以扩展输入图像的像素深度。例如,逆函数可以从具有每像素12位的输入图像生成具有每像素20位的数据。在逆函数已经将像素深度扩展到20位之后,再压缩函数可以将像素深度减小(即,再压缩)至15位。由此,由第一查找表执行的函数可以是线性化和再压缩的组合。

换言之,第一查找表可以表示与已经首先利用逆函数且其次利用再压缩函数计算的输入值对应的输出值。据此,逆函数的结果被馈送到再压缩函数中。因为第一查找表可以反映这两个函数,所以这两个函数的计算可以用根据第一查找表的映射来代替。第一查找表的输出值可以覆盖15位(即,比输入值更多的位)。

因为逆函数和再压缩函数由第一查找表来表示,所以从输入图像生成第一图像可以仅使用第一查找表来执行。因为输入图像的值仅必须根据第一查找表被映射到输出值,所以第一查找表的使用比“正常”逆函数和“正常”再压缩函数要求显著更少的处理能力和存储带宽。换言之,第一查找表将初始像素值映射到第一图像的像素值。由此,本发明的方法可以更快地和/或在不太强大的装置上执行。

作为示例,输入图像可以具有130万个像素,每个像素具有12位像素值。因为第一查找表仅需要映射12位(即,4096个值),所以一次仅必须计算这4096个值,并且该4096个值然后可以用于所有130万个像素(以及用于后面的图像)。从而,可以实现必要计算的大幅减少,并且可以增加处理一个或多个输入图像的速度。

由于线性化和再压缩,本发明的方法提供很少处理伪影的图像数据。从而,去除如下缺点,即,如果在随后处理步骤内处理该数据,则来自多重曝光的相机过渡曲线可能具有可能导致伪影的强斜率不连续性。由此,图像数据理想地适于另外应用,例如,机器视觉应用。同时,使用查找表允许使用最小计算要求来执行所要求的变换。

再压缩函数是平滑连续函数,因此不具有不连续性或曲线拐点(即,斜率中的“跳跃”)。再压缩函数的斜率(d/dx)被选择为使得它的斜率大于相机过渡曲线的对应斜率,其中,对于每一个可能初始像素值优选地满足该条件。用于再压缩函数的斜率的限制条件保证第一查找表的每个输入值仅联接到一个输出值。因此,两个不同输入值不可能联接到相同输出值。从而,再压缩函数实现由逆函数输出的值的无损变换。此外,由于再压缩函数的连续性质,再压缩函数避免了伪影。

第一图像是可以被输出和/或使得可用于另外处理(特别是用于汽车机器视觉应用)的中间结果。

根据实施方式,再压缩函数包括对数压缩函数,优选地如下函数:

y=a*ld(x)+b(1),

其中,a和b以如下方式被选择:

其中,a和b是系数,x是初始像素值,并且y是输出值。

a和b优选地被选择为使得再压缩在每个输入值处具有大于或等于相机过渡曲线的对应斜率的斜率。

通常,x可以是输入值,并且y可以是函数值或输出值。这里,所有定义的变量(除了总是各自输入值或输出值的x和y)在所有公开的函数/公式中是一致的。

使用对数函数具有如下优点:例如对第一图像的另外计算可以基于加法和减法而不基于乘法和除法。从而,可以进一步降低对处理能力的要求。

根据另外实施方式,再压缩函数执行无损变换。优选地,输入图像消耗比第一图像更少的每像素位。然而,第一图像可以比输入图像的未压缩线性亮度表示具有更少的每像素位。作为示例,输入图像可以要求每像素12位,未压缩线性值(输入图像可以基于该未压缩线性值)或逆函数的结果可以使用每像素20位,而第一图像可以具有每像素15位。

在另外实施方式中,第一查找表还表示限幅函数(clippingfunction),该限幅函数将低于或等于1的所有输入值或低于或等于预定义阈值的所有输入值映射为值0。限幅函数可以在逆函数之前。由此,第一查找表可以包括或表示限幅函数、逆函数以及再压缩函数。换言之,在执行逆函数之前,例如低于或等于1的所有初始像素值被映射为值0。优选地,不通过限幅函数改变大于1的初始像素值。限幅函数还可以用于消除由于相机传感器的暗电流生成的值。由此,限幅函数可以实现暗电流或暗场帧减少(darkframesubtraction)。

因此,第一查找表可以表示与首先由限幅函数、其次由逆函数且第三由再压缩函数处理的输入值对应的输出值。从而,限幅函数的结果被馈送到逆函数,并且逆函数的结果被馈送到再压缩函数。因为第一查找表可以反映所有三个函数,所以所有三个函数的计算可以由根据第一查找表的映射来代替。

根据另外实施方式,计算输入图像的初始直方图,并且使用第一查找表将初始直方图变换成经修改直方图(modifiedhistogram)。初始直方图可以是由相机提供和/或基于输入图像计算的直方图。

当初始直方图的值使用第一查找表被映射到经修改直方图时,初始直方图的直方条(bin)的值可以使用第一查找表来修改。优选地,不改变用于具体直方条的对应计数。然而,如果要求一个直方条覆盖多个灰度值,则可以改变具体直方条的计数。

通常,直方图是特定类型数据的概率分布的估计。图像直方图(即,这里所述的所有直方图)是提供数字图像中的灰度值的色调分布的表示的一种类型的直方图。对于8位灰度级图像,存在256个不同可能强度,因此直方图可以具有示出那些灰度级值之间的分布的256个直方条。

根据另外实施方式,初始直方图被计算为输入图像的多个区域的子直方图的加权和,其中,优选地,给予每个子直方图相等权重。子直方图可以被计算为输入图像的区域上的直方图。优选地,子直方图覆盖车辆在不同距离的期望驾驶路径。子直方图可以作为加权和被组合到初始直方图中,其中,输入图像的全分辨率直方图可以包括在加权和中。

在另外实施方式中,可以把这些直方图中的至少一个(例如,子直方图中的一个)直接当作是相机的附加输出。

期望驾驶路径的直方图可以基于离车辆越远比与驾驶路径的地区对应的区域越小的区域。

在初始直方图中,即使对输入图像的更小区域计算子直方图,所有子直方图也可以取得相等权重。

另选地,子直方图用它们的输入图像的对应区域的逆(inverse)被加权。由此,更小的区域可以具有更高的权重。

相等权重的使用避免了例如隧道入口被映射到太少灰度级。作为优点,初始直方图可以用于计算特别适于汽车应用和/或高对比图像的全局色调映射算子。

在另外实施方式中,经修改直方图被变换成包括比经修改直方图更少的直方条的简化直方图(reducedhistogram),并且有利地生成第二查找表,该第二查找表表示基于简化直方图的经修改直方图均衡(equalization)。优选地,简化直方图包括64或256个直方条。因为必须计算更少的值,所以缩减至64或256个直方条允许更快的计算。

通常,直方图均衡是图像修改技术。通过使用直方图均衡,图像的灰度级被再映射为使得实现灰度级到直方条的均匀分布。

直方图均衡可以基于累积直方图。在累积直方图中,每个直方条包含它自己和所有之前直方条的总和。然而,标准直方图均衡可能具有如下缺点:如果一个直方条包含高值计数,则这可能在再量化之后导致间隙,这意味着实际上不使用可以用于存储信息的一些灰度值,并且输出值上的直方图将包含未使用的位。此外,如果存在用于多个随后直方条的低计数,则直方图均衡可能将太多输入直方条组合成一个输出直方条。由此,虽然期望使再量化的输出的信息内容最大化,但是信息丢失可能发生。

因此,这里可以使用经修改直方图均衡。对于经修改直方图均衡,经修改直方图的直方条计数可以被更改为使得所有直方条计数在预定义最大值和预定义最小值之间(或等于预定义最大值和预定义最小值)。最大值以上的经修改直方图的直方条计数可以被设置为最大值。对应地,最小值以下的经修改直方图的直方条计数可以被设置为最小值。从而,可以防止输出量化中的间隙或多个灰度值到一个输出值的组合。

在更改经修改直方图的直方条计数之后,可以执行用低通滤波器对经修改直方图进行卷积,例如通过用高斯函数对经修改直方图进行卷积。卷积可以创建更平滑的经修改直方图。直方条计数的卷积和/或更改可以被迭代预定义次数。

在卷积之后,从经修改直方图生成简化直方图,作为累积直方图,其中,简化直方图包括比经修改直方图更少的直方条,并且其中,使用简化直方图的(现在修改的)直方图均衡被映射在第二查找表中。即,简化直方图是累积直方图。经修改直方图的多个直方条可以被映射到简化直方图的一个直方条。由于用低通滤波器进行的卷积,第二查找表表示平滑过渡曲线。

第二查找表的过渡曲线可以被构建为在斜率上平滑和/或受限。平滑约束用于防止沿着拐角的伪影。对斜率的约束可以根据经验来选择以确定用于直方条的截止值(即,预定义最大值和预定义最小值)。以使得增益不超过经修改直方图均衡的输入与输出均衡的比率的这种方式来有利地选择增益。例如,如果用第二查找表执行12位到8位的压缩,则增益不应超过因子16,以避免输出值中的间隙。此外,斜率约束可以避免超过信息增益的信号放大,并且还防止太多直方条到一个输出直方条的映射、以及太多灰度级到太少值的映射。

由此,经修改直方图均衡被用于克服未修改/标准直方图均衡的限制。经修改直方图均衡可以用于将第一图像的亮度级从对数空间色调映射到例如8位值范围。映射可以如上所述的通过使用第二查找表来实现。

类似于第一查找表,第二查找表优选地仅被创建一次,然后可以用于变换图像的所有像素。从而,可以实现所要求处理能力的进一步降低。

根据另外实施方式,相机是红色/透明成像器(rccc成像器),其中,输入图像和第一图像包括红色和灰度像素,其中

从第一图像提取第二图像,其中,第二图像包括第一图像的红色像素,并且

从第一图像生成第三图像,其中,第一图像的红色像素通过对第一图像的相邻灰度像素的值进行插值被替换。

相机可以生成输入图像的四分之一像素作为红色像素。剩余像素可以为灰度像素(即,透明像素)。

换言之,第一图像可以经受红色提取和/或去马赛克和插值。红色像素的插值可以使用2或4个相邻灰度/透明像素(表达“灰度”和“透明(clear)”以及公式中的“g”和“c”彼此对应)。插值可以使用之间具有最低梯度的那两个相邻像素。第二图像可以具有第一图像的分辨率的四分之一。

在另外实施方式中,从第二图像的红色像素的对应值减去第三图像的插值后的值,从而生成第四图像。因此,计算红色与透明值的关系的对数(a*log(r/c))。因为优选地使用对数函数来变换第二图像和第三图像,所以第四图像(即,log(r/c))可以被高效地计算为减法(log(r)-log(c))。

在另外实施方式中,使用线性映射将第四图像映射为红色与透明比率图像,其中,红色与透明比率图像中的每个像素的值范围比在第四图像中更小。优选地,红色与透明比率图像具有每像素8位。

根据另外实施方式,使用第二查找表将第三图像映射为灰度图像,其中,灰度图像中的每个像素的值范围比在第三图像中更小。换言之,由第二查找表表示的经修改直方图均衡被用于将第三图像变换为灰度图像。

优选地,灰度图像由每像素8位组成。因为到灰度图像的映射可以使用第二查找表来进行,所以这可以以低计算要求被执行。灰度图像、第一图像、第二图像和/或第三图像可以是黑白或灰度级或红色像素图像。

优选地使得灰度图像和红色与透明比率图像可用于另外处理(特别是用于在汽车机器视觉应用中使用)。具有色比和灰度值的8位表示在用于随后计算步骤的存储带宽方面可以是有利的。

在下文中,描述可以被执行以从灰度图像和/或红色与透明比率图像提供彩色图像(r图像)的计算。

在实施方式中,基于以下函数计算白平衡因子

其中,wb是白平衡因子,f是1/3,p是第一图像的像素计数,r是第一图像的红色像素的值,g是第一图像的灰度(即,透明)像素的值。作为另选方案,当为了便于白平衡因子的更容易计算而被计算时,来自第四图像的a*log2(r/g)比率值可以被求和。

优选地,红色与透明比率图像的分辨率被插值为等于灰度图像的分辨率,其中,生成插值后的红色与透明比率图像。可以将值y=a*ld(gnrw)+b(4)

相加到插值后的红色与透明比率图像的每个像素,由此创建第一修改插值红色图像。在有利实现中,通过使用第一查找表变换灰度图像来生成该值。gnew是灰度图像的灰度像素的值。

还优选地,将白平衡因子的对数(即,y=a*ld(wb)(5))

相加到第一修改插值红色图像的每个像素值,从而创建第二修改插值红色图像。

白平衡因子还可以被输出以允许正确地解释红色与透明比率图像。

根据实施方式,创建第三查找表,该第三查找表表示如下函数

其中,第三查找表被用于从第二修改红色图像创建红色图像。

由此,红色图像可以通过求逆之前对数函数来生成。

第二修改插值红色图像可以表示如下函数:

由此,之前对数函数的逆转可以表示结合输入图像的灰度值的映射的红色图像。红色图像可以被表达为

其中,rold表示再线性化后的输入图像的红色像素的值(即,在将逆函数应用至输入图像之后)。cold表示再线性化后的输入图像的灰度值。cnew是灰度图像的像素的值(即,对应于gnew)。rnew是红色图像的像素的值。

上述步骤基于所提出的加法和减法被有利地执行。

还优选地,从灰度图像的每个对应像素值减去红色图像的每个像素值的三分之一,并且所得到的像素值可以乘以1.5且相等地分配给蓝色通道和绿色通道。最后,组合红色图像、蓝色通道以及绿色通道,以创建彩色图像。

如上所述,输入图像可以包括比第一图像更少的每像素位。例如,输入图像可以包括每像素12位,而第一图像包括每像素15位。灰度图像可以使用比输入图像更少的每像素位。特别地,灰度图像和/或红色与透明比率图像可以使用每像素8位。

如果假定相机过渡曲线随着时间是固定的,则第一查找表和第三查找表可以仅被生成一次,并且可以用于多个图像。所有处理步骤还可以被组合为仅一个函数。

本发明还涉及一种包括相机和处理单元的相机系统。该相机系统适于:

利用相机生成输入图像,输入图像包括多个像素,每个像素具有初始像素值,其中,初始像素值使用相机过渡曲线来生成;

生成表示逆函数和再压缩函数的组合的第一查找表,第一查找表具有输入值和输出值,其中,每个输入值联接到一个(优选地,确切地为一个)输出值,逆函数是相机过渡曲线的求逆,再压缩函数优选地是平滑连续函数,该平滑连续函数优选地在每个输入值处具有大于(或等于)相机过渡曲线的对应斜率的斜率,并且其中,第一查找表被生成为使得逆函数在再压缩函数之前,并且

通过优选地使用第一查找表转换初始像素值来生成第一图像。

第一查找表和第一图像的生成可以由处理单元来实现。

最后,本发明还涉及一种具有相机系统的车辆,其中,相机系统的输出数据(优选地为灰度图像、经修改直方图、红色与透明比率图像和/或彩色图像)被用于机器视觉应用。

关于本发明方法的描述加以必要的变更可应用至本发明的相机系统和本发明的车辆。这鉴于优点和所描述的实施方式尤其如此。

附图说明

下文中将参照优选实施方式且参照附图更详细地示例性说明本发明,附图中示出了:

图1是示出了根据本发明的方法的框图;

图2是示出了彩色图像的重建的框图;

图3是示出了第一查找表的生成的框图;以及

图4是示出了沿着驾驶路径定义图像区域的相机图像。

具体实施方式

图1中示出的方法开始于由相机(未示出)获得输入图像10。相机被安装在车辆上,其中,输入图像示出穿过车辆的挡风玻璃的视图。相机是rccc成像器,由此,输入图像包括红色像素和灰度像素。根据输入图像10,在框14中计算初始直方图12。

图4中更详细地示出了初始直方图12的计算。图4示出了在输入图像10中示出的道路15。根据输入图像10,三个不同区域16被用于计算各自子直方图18。一个区域16包括整个输入图像10,而其它区域16仅包括输入图像10沿着道路15对齐的部分。对于整个输入图像10的直方图,可以使用嵌入来自相机的成像器数据中的直方图。

每个子直方图分别用因子w1、w2、w3来加权,其中,初始直方图12是子直方图18的加权和。作为示例,所有权重w1、w2、w3都相等。

返回到图1,在框22中生成第一查找表20,其中,如图3中更详细示出的,第一查找表20表示包括三个计算步骤的函数。

第一计算步骤是将低于或等于1的所有值映射为值0的限幅函数24(图3)。所有其它值保持原样。

第二计算步骤是表示相机过渡曲线28的求逆的逆函数26。相机过渡曲线28是所使用的相机的属性。

第三计算步骤是对数再压缩函数30。再压缩函数是平滑连续函数且在每个输入值处具有大于相机过渡曲线的对应斜率的斜率。

第一查找表20被计算为使得它表示限幅函数24、逆函数26以及再压缩函数30的随后执行。

输入图像10可以使用例如每像素12位,因此第一查找表20可以包括用于4096个输入值的输出值。由第一查找表20创建的映射将输入图像10的12位数据映射为使用每像素15位的数据。

现在再次参照图1,第一查找表20被用于将初始直方图12映射为经修改直方图32(框34)。在框20中,使用第一查找表20将输入图像10转换成第一图像36。在框38中,从第一图像36提取红色像素,从而形成第二图像40。

在框42中,第一图像36的去马赛克和插值发生,其中,通过使用之间具有最低梯度的那两个相邻像素对第一图像36的两个相邻灰度像素的值进行插值来替换第一图像36的红色像素。该插值产生第三图像44。

在框46中,从第二图像40的红色像素的对应值减去第三图像44的插值后的值。从而,生成第四图像48。在框50中,将第四图像48线性地映射到8位中,得到红色与透明比率图像52。

在框56中,将经修改直方图32变换成仅包含64个直方条的简化直方图54。经修改直方图32至简化直方图54的变换包括经修改直方图32的直方条计数的更改、用低通滤波器对经修改直方图32的卷积、以及生成简化直方图54作为经修改直方图32的累积直方图(在更改和卷积之后)。基于简化直方图54,生成第二查找表58。第二查找表58应用经修改直方图均衡,从而执行数据到每像素8位的映射。

在框60中,使用第二查找表58将第三图像44映射到8位,从而创建灰度图像62(即,ldr图像-低动态范围图像)。

由此,图1中所示的方法产生灰度图像62、红色与透明比率图像52以及经修改直方图32,灰度图像62、红色与透明比率图像52以及经修改直方图32可以用于在例如机器视觉应用中的另外处理。

图2中示出了示例性另外处理,其中,计算彩色图像。

根据包含在红色与透明比率图像52中的红色与透明比率和/或根据第一图像36,在框66中计算白平衡因子64(图2),其中,使用上面介绍的如下函数:

在框68中,红色与透明比率图像52的分辨率被插值为等于灰度图像62的分辨率,其中,生成插值后的红色与透明比率图像70。

在框72中,使用以下函数将灰度图像62映射到对数空间:

y=a*ld(gnew)+b(4)。

将所得到的变换后灰度图像73相加到插值后的红色与透明比率图像70,产生第一插值红色图像76。将白平衡因子64的对数值相加到第一插值红色图像76的每个像素值,产生第二插值红色图像78。在框74中,计算白平衡因子64的对数值。

在框80中,创建第三查找表,该第三查找表表示如下函数:

第三查找表被用于从第二修改插值红色图像78创建红色图像81。

从灰度图像62的每个对应像素值减去红色图像81的每个像素值的三分之一,并且所得到的像素值相等地被分配(即,乘以因子1.5),并且被输出为蓝色通道82和绿色通道84。然后组合红色图像81、蓝色通道82以及绿色通道84,以创建彩色图像(未示出)。

因为例如第一查找表20和第三查找表可以被再用于利用特定相机获取的所有图像,所以查找表仅必须被创建一次。第二查找表58可以基于直方图被创建,并且不要求之前修改图像。这引起执行所述方法所要求的计算能力的显著降低。

此外,由于所使用的对数空间值,可以用更简单的加法或减法来替换许多复杂的乘法或除法运算,由此创建用于处理来自非线性相机的高动态范围数据的高效方法。

附图标记列表

10:输入图像

12:初始直方图

14:初始直方图计算

15:道路

16:区域

18:子直方图

20:第一查找表

22:创建到对数空间的映射

24:限幅函数

26:逆函数

28:相机过渡曲线

30:再压缩函数

32:经修改直方图

34:将初始直方图映射到对数空间

36:第一图像

38:红色提取

40:第二图像

42:去马赛克和插值

44:第三图像

46:ld(r)-ld(c)

48:第四图像

50:映射到8位

52:红色与透明比率图像

54:简化直方图

56:透明像素的色调映射

58:第二查找表

60:色调映射到8位

62:灰度图像

64:白平衡因子

66:计算白平衡因子

68:对红色与透明比率图像(ld(r/c))进行插值

70:插值后的红色与透明比率图像

72:将灰度像素转换到对数空间

73:变换后的灰度图像

74:转换到对数空间

76:第一修改插值红色图像

78:第二修改插值红色图像

80:应用第三查找表

81:红色图像

82:蓝色通道

84:绿色通道

w1、w2、w3:权重

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1