发明领域
本公开涉及全景视图处理,并且更具体地涉及用于对全景视图中的重叠区进行图像融合(imageblending)的方法和系统。
背景技术:
汽车全景视图系统(surroundviewsystem)协助驾驶员安全驾驶和停放车辆。全景视图系统通常由围绕车辆安装的至少四个摄像头组成。可通过几何对准和校正来处理由摄像头所捕获的图像,从而输出合成图像。在当前系统中,由于面向不同方向的摄像头的不同的照明、曝光和自动白平衡(awb),重叠区中的合成图像通常会出现不一致且不自然的亮度和跨视图的色彩过渡。在图像数据来自两个相邻输入帧的重叠区处通常存在明显的缝合线和/或亮度和颜色不匹配,这会导致不良的用户体验。
因此,需要一种用于对全景视图中的重叠区进行图像融合的方法和装置。
技术实现要素:
根据本公开的一个方面,提供一种全景视图系统,该全景视图系统包括:多个摄像头,该多个摄像头用于捕获图像;以及处理器,该处理器被配置为确定从捕获的图像中所获得的鸟瞰图图像中的点是否位于重叠区中;以及在该点位于重叠区中的条件下,检索与该点的坐标相对应的融合掩模并且根据融合掩模和该点的一个或多个原始像素值来确定该点的新像素值。
可以针对全景视图或鸟瞰图图像预先确定坐标系。坐标系的原点可以是鸟瞰图图像的中心。坐标系可以是任何坐标系,诸如直角坐标系、极坐标系等。
此外,融合掩模可以包括该点的原始像素值的融合权重。融合权重可以是预先确定的。融合掩模可以与在重叠区内所选择的区域有关。融合掩模还可以包括该点的坐标。
此外,所选择的区域可以是重叠区内的三角形区域或扇形区域,所选择的区域的顶点为重叠区的边界线的交点,并且在该点处于所选择的区域内的条件下,该点的融合掩模与以下两项之间的比率有关:从该点到顶点的线与所选择的区域的通过顶点的边界线之间的角度;所选择的区域在顶点处的角度。所选择的区域可以具有其他形状,并且可以考虑到显示效果和计算负荷之间的平衡来选择。对区域的选择也可能与摄像头的位置和拍摄范围有关。
此外,所选择的区域中的点的新像素值可以根据以下方程来计算:
v=α/θ*vn (1-α/θ)*vm
其中v是指所选择的区域中的点的新像素值,n和m是指两个相邻摄像头以及从该两个相邻摄像头所捕获的形成重叠区的图像,vn和vm是指分别由摄像头n和摄像头m所捕获的该点的原始像素值,α是从该点到所选择的区域的顶点的线与所选择的区域的和摄像头n相比更接近摄像头m的边界线之间的角度,θ是所选择的区域在顶点处的角度。
此外,该点的融合掩模包括该点的坐标以及该点的原始像素值的权重,诸如α/θ、α和/或θ。
此外,在重叠区中并且在所选择的区域之外的点的新像素值可能仅与从最接近该点的摄像头获得的该点的原始像素值有关。
根据本公开的另一方面,提供一种用于处理全景视图系统中的重叠区的方法,该方法包括:确定从由多于一个摄像头所捕获的图像所获得的鸟瞰图图像中的点是否位于重叠区中;以及在该点位于重叠区中的条件下,检索与该点的坐标相对应的融合掩模并且根据融合掩模和该点的一个或多个原始像素值来确定该点的新像素值。
根据本公开的又一方面,提供一种用于为全景视图的重叠区产生融合掩模的方法,该方法包括:确定全景视图的重叠区;为全景视图建立坐标系;根据重叠区中的点的坐标确定该点的原始像素值的权重,以用于计算该点的新像素值;以及存储该点的融合掩模,该融合掩模包括该点的权重和坐标。
该方法还可以包括选择重叠区内的一区域,其中所选择的区域中的点的原始像素值的权重与所选择的区域中的点的位置有关。
此外,像素值可以是rgb通道值。像素值也可以是其他像素格式,诸如rgba、yuv等。
根据本公开,可以提供重叠区处的快速融合过程,这使得输出图像更加自然,并且可以以低计算复杂度提供更好的用户体验。
根据实施方案的以下描述,本公开的意义和益处将显而易见。然而,应当理解,那些实施方案仅仅是如何实现本发明的示例,并且用于描述本发明的术语的含义不限于它们在实施方案的描述中被使用的特定含义。
通过审查以下附图和详细描述,本公开的其他系统、方法、特征和优点对本领域技术人员来说将显而易见或将变得显而易见。所有此类附加的系统、方法、特征和优点意图包括在本说明书内、在本公开的范围内,并且受所附权利要求保护。
附图说明
参考流程图和描述可以更好地理解本公开。附图中的部件不一定是按比例绘制的,而是着重于说明本公开的原理。此外,在附图中,相似附图标记在所有不同视图中指示对应的部分。
图1示出了根据本公开的实施方案的示出围绕车辆的鸟瞰图图像的可见范围的图;
图2示出了根据本公开的实施方案的为重叠区生成融合掩模的总体流程图;
图3示出了根据本公开的实施方案的在如图1所示的重叠区a中选择适当的三角形区域的示例;
图4示出了根据本公开的实施方案的用于标识重叠区a的每个点的直角坐标系;
图5示出了如图4所示的直角坐标系中的所选区的局部放大视图;
图6示出了通过使用融合掩模生成新的鸟瞰图图像的流程图;以及
图7是全景视图系统的示意性框图。
具体实施方式
在下文中,将参考附图更详细地描述本发明的优选实施方案。在本发明的下面描述中,对并入本文的已知功能和配置的详细描述在它们可能使本发明的主题不清楚时将被省略。
在下文中,讨论了包括四个摄像头的示例性全景视图系统。摄像头的数量不应理解为是限制性的,而仅仅是出于说明目的而选择的,并且摄像头的数量可能会根据全景视图系统的应用而针对不同的系统和不同的对象有所不同。
图1示出了根据本公开的实施方案的示出围绕车辆的鸟瞰图图像的可见范围的图。如图1所示,车辆在中心位置处,并且围绕所述车辆安装了四个摄像头1f、1l、1r和1b。摄像头的位置不应理解为是限制性的,而仅仅是出于说明目的。前区(包括区a、区d)、左区(包括区a、区b)、后区(包括区b、区c)、右区(包括区c、区d)分别表示摄像头1f、1l、1r和1b的视觉范围。区a、区b、区c、区d为重叠区。虚线框表示鸟瞰图图像的可见范围,不应将该可见范围理解为是限制性的,而应理解为仅仅是出于说明目的而选择的。
重叠区a、b、c、d中的每个点(可能各自占用单个像素)会被两个相邻摄像头捕获。例如,前摄像头和左摄像头两者捕获区a。也就是说,每个点都具有两个像素值。由于摄像头面向不同的方向,因此摄像头可能具有不同的照明、曝光和/或awb,并且因此重叠区中的每个点的两个像素值之间的差异可能很大。
为了合成重叠区,根据本公开的实施方案,本公开提供了针对重叠区的快速融合方法和系统。
图2示出了根据本公开的实施方案的用于为重叠区生成融合掩模的方法的总体流程图。掩模用于合成由全景视图摄像头所捕获的图像的重叠区,并且经确定而用于计算具有两个原始像素值的每个点的新像素值。
如图2中的框210所示,可以通过几何对准和/或其他必要的过程来生成初始鸟瞰图图像,即包括重叠区(例如,如图1所示的虚线框中的区a、区b、区c、区d)的经拼接合成图像。几何对准可以包括从包括鱼眼镜头畸变校正、透视变换、特征提取、特征匹配等的组中所选择的任何一个或多个过程。重叠区中的点具有由两个相邻摄像头所捕获的两个像素值。
为了确定每个像素的位置,为合成图像建立坐标系,如框220所示。
在下文中,出于说明目的,坐标系为直角坐标系。还可以选择其他坐标系,诸如极坐标系,这可以根据全景视图系统的应用来确定。
坐标系的原点可以是但不限于组合视图图像的中心,并且坐标系的单位长度可以是像素距离。在建立了坐标系之后,鸟瞰图图像中的每个点会具有其自己的坐标(例如,针对直角坐标,(x,y)),并且重叠区中的每个点具有两个原始像素值。
为了确定具有两个像素值的每个点的融合掩模,确定重叠区,如框230所示。重叠区与每个摄像头的位置和拍摄区有关。如果每个摄像头的位置和拍摄区是已知的,则可以基本上确定重叠区。可以根据相邻摄像头的视觉范围的边界线来确定重叠区。例如,区a可以通过摄像头1l和摄像头1f的视觉范围的边界线来确定。考虑到每两个相邻摄像头的拍摄区具有重叠区,则重叠区的数量可以等于摄像头的数量。
执行如框220和框230所示的步骤的顺序不受限制,但应该在为重叠区选择某个区域之前建立坐标系。
接下来,在框240中,为每个重叠区选择特定区域(例如,三角形或扇形区域),这将参考图3进一步描述。
图3示出了在如图1所示的重叠区a中选择适当的三角形区域的示例。以区a为例,从重叠区a中选择三角形区域“afd”。线“ac”为前区的边界线,并且线“ab”为左区的边界线,其中点“b”为沿着左区的边界线的点,点“c”为沿着前区的边界线的点,点“a”为边界线“ac”和边界线“ab”的交点,并且点“f”和“d”为所选择的三角形区域的顶点。考虑来自两个相邻摄像头的两个像素值来计算三角形区域中的每个点的像素值,并且重叠区中未被三角形区域选择的每个点的像素值可以等于由最接近该点的摄像头所捕获的该点的像素值。在下文中将参考图4和图5来描述掩模的计算。
所选择的区域可以考虑到处理单元的效果和计算负荷之间的平衡来确定,并且可以与摄像头的位置和拍摄区有关。例如,关于三角形区域,可以考虑到处理单元的效果和计算负荷之间的平衡来确定线“af”和线“ab”之间的顶角。如果三角形区域的范围太窄,则像素颜色过渡太强烈并且效果可能不是期望的,并且如果三角形区域的范围太宽,则计算负荷会较高。通常,所选择的区域是重叠区的一部分,因为选择适当的区域可以减少计算开销。然而,可能不必选择用于确定掩模的区域,或者所选择的区域可以等于重叠区的整个区域。
三角形区域可以由任何其他形状代替,诸如扇形,或甚至不规则形状。
在框240中选择了三角形区域之后,根据重叠区中的每个点的位置(即,坐标位置)来确定该点的融合掩模(如框250中所示)。参考图4和图5详细描述融合掩模的计算。
图4示出了用于标识合成图像中的每个点的直角坐标系。每个点的坐标都是相对于原点o(0,0)的,原点可以是如图1所示的虚线框的中心点。可以选择其他点作为坐标系的原点,这不会影响重叠区的合成结果。
所选择的三角形区域由三角形“afd”示出。线“ab”为摄像头1l的视觉范围的边界线,并且线“ad”为三角形区域的边界线。由于线“ad”和线“ab”之间的点最接近摄像头1f的视觉范围的中心,因此将摄像头1f所捕获的点的像素值用作线“ad”和线“ab”之间的该点的像素值。因此,如果点在线“ad”和线“ab”之间,则摄像头1f所捕获的点的原始像素值的权重可被视为“1”,并且摄像头1l所捕获的点的原始像素值的权重可被视为“0”。同样,线“ac”为摄像头1f的视觉范围的边界线,线“af”为三角形区域的边界线。由于线“ac”和线“af”之间的像素最接近摄像头1l的视觉范围的中心,因此将摄像头1l所捕获的点的像素值用作线“ac”和线“af”之间的该点的像素值。然后,如果点在线“ac”和线“af”之间,则摄像头1l所捕获的点的原始像素值的权重可被视为“1”,并且摄像头1f所捕获的点的原始像素值的权重可被视为“0”。也就是说,对于在重叠区内的所选择的区域之外的点,该点的像素值仅由最接近该点的摄像头所捕获的值确定。
图5示出了如图4所示的三角形区域的局部放大视图。
如图5所示,位于三角形区域中的点“p”具有坐标(x,y),符号α表示线“ad”和线“ap”之间的角度,并且符号θ表示线“af”和“ad”之间的角度,即三角形“afd”的顶点a的角度。可以基于这些点的坐标(诸如通过使用三角函数)来计算那些角度。
可以根据以下方程,通过将两个相邻摄像头所捕获的像素值融合来计算点的像素值:
v=σ*vn (1-σ)*vm(方程1)
其中v是指所选择的区域中的点的新像素值,n和m是指两个相邻摄像头,m=1,2,3,…t-1,n=m 1,t为摄像头的数量,并且索引沿着逆时针方向增加。vn和vm是指分别由摄像头n和摄像头m所捕获的点的原始像素值。根据所选择的区域中的p的位置来确定两个原始像素值vn和vm的权重σ和(1-σ)。
令σ=α/θ,则将方程1更改为流动方程:
v=α/θ*vn (1-α/θ)*vm(方程2)
更具体地,如果图像为rgb图像,则对于如图1所示的实施方案,方程2将变为流动方程:
r=α/θ*r1f (1-α/θ)*r1l(方程3)
g=α/θ*g1f (1-α/θ)*g1l(方程4)
b=α/θ*b1f (1-α/θ)*b1l(方程5)
rf、gf、bf表示位于由摄像头1l所捕获的像素p(x,y)处的像素的rgb通道值。rl、gl、bl表示位于由摄像头l所捕获的像素p(x,y)处的像素的rgb通道值。对于位于线“ae”处的点,基于上述方程,它们的像素值将为50%来自摄像头f所捕获的帧和50%来自摄像头l所捕获的帧。
鉴于像素的位置,可以通过使用上述过程来计算所有重叠区中的每个像素的每个rgb颜色通道的融合掩模。
在上述方程中,像素格式为rgb。上述方程可以应用于其他像素格式,诸如rgba、yuv等。
可以基于像素格式和坐标系来修改方程。例如,关于三角形区域,可以基于极坐标系来计算点p的位置和点p的像素值。然后,线“ap”上的点将具有用于计算rgb值的相同权重,这可能会减少用于存储融合掩模的空间。
鉴于点的位置,可以通过线性或非线性内插算法来确定用于计算点的像素值的融合掩模。
融合掩模可以被认为是点的位置与该位置处的像素值的比率之间的映射。以方程(3-5)为例,在计算出所有重叠区a、b、c、d的掩模后,可以获得重叠区中的点的坐标(x,y)与点的角度α/θ之间的映射。
融合掩模(包括那些映射数据)被存储在数据库、配置文件或其他文件中,这些文件存储在系统中所包括的存储器中。任选地,可以对融合掩模进行压缩和/或加密以供将来使用和/或传输。另选地,可以将映射数据存储在远程服务器中并通过网络获得。
融合掩模可以是针对全景视图系统预先确定的,或者可以根据全景视图系统的应用来生成和/或修改。例如,关于部署在车辆中的全景视图系统,融合掩模可以针对该系统预先存储,并且可以由车辆中的主机单元(headunit)确定或更新。当摄像头的位置或方向发生变化或摄像头的拍摄范围发生变化时,将更新融合掩模以便将来应用。融合掩模可以加快并简化重叠区的融合过程。全景视图系统可以安装在可移动或不可移动的对象(诸如车辆)中。
图6示出了通过使用融合掩模生成新的鸟瞰图图像的流程图。
如图6所示,在框610处启动全景视图系统之后,可以在框620处从数据库、配置文件或存储掩模的其他文件中加载掩模数据,这对于融合处理可能不是必需的。数据库和/或配置文件可以存储在存储器、便携式存储设备(例如,usb存储装置)或网络服务器等中。并且可以针对每个帧运行以下用于全景视图合成的步骤。
首先,在框630处,确定点是否属于重叠区。如果像素位于重叠区中,则在框640处根据点的坐标来检索掩模信息。此外,在框650处计算点的新像素值(例如,rgb值)。如果像素位于重叠区之外,则该过程前进到框660。最后,在确定了重叠区中的所有点的像素值之后,生成新的鸟瞰图图像(参见框660)。可以在车辆的主机单元中执行如图6所示的过程。主机单元可以加载上述算法中的任一种,以通过使用融合掩模来计算重叠区中的所有点的新像素值。
图7是全景视图系统的示意性框图。如图7所示,全景视图系统10包括摄像头1至t、处理单元12、显示设备14和存储器16等。
摄像头可以使用诸如ccd(电荷耦合设备)或cmos(互补金属氧化物半导体)的图像传感器,并且可以围绕车辆安装。处理单元12可以包括图像处理单元,该图像处理单元可以执行全景视图合成。处理单元12可以包括软件、硬件或它们的某种组合。处理单元12中的软件可以包括存储在诸如存储器16或处理单元12的内部存储器的存储器中的指令。处理单元12可以被实现为处理器,诸如中央处理单元(cpu)、图形处理单元(gpu)或它们的组合。
可以从数据库或配置文件中检索融合掩模,该数据库或配置文件可以存储在存储器(例如,存储器16)、外部存储器(例如,usb存储装置)和/或网络服务器等中。可以通过显示设备14输出新的鸟瞰图。
全景视图系统10可以被包括在车辆的主机单元中,并且可以执行如上面所讨论的方法和/或功能中的任一个或多个。
本领域技术人员将理解,结合图1至图6所描述的一个或多个过程或子过程可以由硬件和/或软件执行。如果该过程由软件执行,则该软件可以驻留在合适的电子处理部件或系统中的软件存储器(未示出)中。存储器中的软件可以包括用于实现逻辑功能的可执行指令(即“逻辑”,其可以以数字形式(诸如数字电路或源代码)或以模拟形式(诸如,模拟电路,或模拟源,诸如模拟电信号)来实现),并且可以选择性地体现在任何计算机可读介质中,以供由或结合指令执行系统、装置或设备使用。例如,计算机可读介质可以选择性地是但不限于电子、磁性、光学、电磁、红外或半导体系统、装置或设备,诸如ram、rom、eprom等。
关于本文中描述的过程、系统、方法、启发等,应理解,虽然此类过程的步骤等已被描述为根据特定的顺序发生,但是此类过程可被以除了本文中所述顺序之外的顺序所执行的所述步骤来实践。还应当理解,可以同时执行某些步骤、可以添加其他步骤,或者可以省略本文所述的某些步骤。换句话说,本文对过程的描述是为了示出某些实施方案而提供,而决不应当将其理解为对权利要求进行限制。
为了阐明未决权利要求中的用法并特此通知公众,短语“<a>、<b>、...和<n>中的至少一个”或“<a>、<b>、...、<n>或其组合中的至少一个”由申请人在最广义上定义,取代之前或之后的任何其他隐含定义,除非申请人有相反的明确声明,意指选自包括a、b、...和n的组中的一个或多个元素,即元素a、b、...或n中的一个或多个的任意组合,包括单独的任何一个元素或与一个或多个其他元素的组合,这还可以组合地包括未列出的其他元素。
虽然已描述了本公开的各种实施方案,但对于本领域的普通技术人员来说将显而易见的是,在本公开的范围内更多的实施方案和实施方式是可能的。因此,除了所附权利要求及其等同物之外,本公开不受限制。
1.一种全景视图系统,其包括
多个摄像头,其用于捕获图像;
处理器,其被配置为
确定从捕获的图像所获得的鸟瞰图图像中的点是否位于重叠区中;以及
在所述点位于所述重叠区中的条件下,检索与所述点的坐标相对应的融合掩模,并且根据所述融合掩模和所述点的一个或多个原始像素值来确定所述点的新像素值。
2.如权利要求1所述的系统,其中所述融合掩模包括所述点的所述原始像素值的融合权重。
3.如权利要求1或2所述的系统,其中所述融合掩模与在所述重叠区内所选择的区域有关。
4.如权利要求3所述的系统,其中所选择的区域为所述重叠区内的三角形区域或扇形区域,所选择的区域的顶点为所述重叠区的边界线的交点,并且在所述点处于所选择的区域内的条件下,所述点的所述融合掩模与以下两项之间的比率有关:从所述点到所述顶点的线与所选择的区域的通过所述顶点的边界线之间的角度;所选择的区域在所述顶点处的角度。
5.如权利要求3至4中任一项所述的系统,其中所述所选择的区域中的所述点的所述新像素值根据以下方程来计算:
v=α/θ*vn (1-α/θ)*vm
其中v是指所述所选择的区域中的所述点的所述新像素值,n和m是指两个相邻摄像头并且从所述两个相邻摄像头所捕获图像形成重叠区,vn和vm是指分别由摄像头n和摄像头m所捕获的所述点的所述原始像素值,α是从所述点到所述所选择的区域的所述顶点的线与所述所选择的区域的和摄像头n相比更接近摄像头m的边界线之间的角度,θ是所述所选择的区域在所述顶点处的角度。
6.如权利要求3至5中任一项所述的系统,其中在所述重叠区中并且在所述所选择的区域之外的所述点的所述新像素值仅与从最接近所述点的摄像头所获得的所述点的所述原始像素值有关。
7.如权利要求1至6中任一项所述的系统,其中所述处理器还被配置为根据所述鸟瞰图图像和所述重叠区中的所述点中的每一个点的新像素值来生成新的鸟瞰图图像。
8.如权利要求1至7中任一项所述的系统,其中所述处理器还被配置为通过几何对准来处理所述捕获的图像以产生所述鸟瞰图图像。
9.一种用于处理全景视图系统中的重叠区的方法,其包括
确定从由多于一个摄像头所捕获的图像所获得的鸟瞰图图像中的点是否位于重叠区中;以及
在所述点位于所述重叠区中的条件下,检索与所述点的坐标相对应的融合掩模,并且根据所述融合掩模和所述点的一个或多个原始像素值来确定所述点的新像素值。
10.如权利要求9所述的方法,其中所述融合掩模包括所述点的所述原始像素值的融合权重。
11.如权利要求9或10所述的方法,其中所述融合掩模与在所述重叠区内所选择的区域有关。
12.如权利要求11所述的方法,其中所选择的区域为所述重叠区内的三角形区域或扇形区域,所述所选择的区域的顶点为所述重叠区的边界线的交点,并且在所述点处于所述所选择的区域内的条件下,所述点的所述融合掩模与以下两项之间的比率有关:从所述点到所述顶点的线与所述所选择的区域的通过所述顶点的边界线之间的角度;所述所选择的区域在所述顶点处的角度。
13.如权利要求11或12所述的方法,其中所述所选择的区域中的所述点的所述新像素值根据以下方程来计算:
v=α/θ*vn (1-α/θ)*vm
其中v是指所述所选择的区域中的所述点的所述新像素值,n和m是指两个相邻摄像头并且从所述两个相邻摄像头所捕获图像形成所述重叠区,vn和vm是指分别由摄像头n和摄像头m所捕获的所述点的所述原始像素值,α是从所述点到所述所选择的区域的所述顶点的线与所述所选择的区域的和摄像头n相比更接近摄像头m的边界线之间的角度,θ是所述所选择的区域在所述顶点处的角度。
14.如权利要求11至13中任一项所述的方法,其中在所述重叠区中并且在所述所选择的区域之外的所述点的所述新像素值仅与从最接近所述点的摄像头所获得的所述点的所述原始像素值有关。
15.一种用于为全景视图的重叠区产生融合掩模的方法,其包括
确定全景视图的所述重叠区;
为所述全景视图建立坐标系;
根据所述点的坐标确定所述重叠区中的点的原始像素值的权重,以用于计算所述点的新像素值;以及
存储所述点的融合掩模,所述融合掩模包括所述权重。
16.如权利要求15所述的方法,其还包括选择所述重叠区内的区域,其中所选择的区域中的所述点的所述原始像素值的所述权重与所述所选择的区域中的所述点的位置有关。
17.如权利要求16所述的方法,其中所述所选择的区域是所述重叠区内的三角形区域或扇形区域,所述所选择的区域的顶点为所述重叠区的边界线的交点,并且所述权重与以下两项之间的比率有关:从所述点到所述顶点的线与所述所选择的区域的通过所述顶点的边界线之间的角度;所述所选择的区域在所述顶点处的角度。
18.如权利要求16或17所述的方法,其还包括确定在所述重叠区内并且在所述所选择的区域之外的所述点的所述融合掩模,使得在所述重叠区中并且在所述所选择的区域之外的所述点的所述新像素值仅与从最接近所述点的摄像头所获得的所述点的所述原始像素值有关。
19.如权利要求15至18中任一项所述的方法,其中所述像素值为rgb通道值。
20.一种以计算机可执行指令编码的非暂态计算机可读介质,所述计算机可执行指令能够由处理器执行,所述计算机可读介质包括被配置为执行权利要求9至19中任一项所述的方法的指令。
技术总结