本发明涉及数字图像处理技术,尤其涉及一种车载相机的电子稳像方法、装置及可读存储介质。
背景技术:
随着辅助驾驶技术和无人驾驶技术的快速发展,具备图像处理功能的车载相机成为其技术组成必不可缺的一部分。一般的,车辆行驶时所产生的颠簸会导致车载相机采集的图像发生抖动,进而影响辅助驾驶和无人驾驶中基于图像获得的定位结果的准确性。因此,如何保证车载相机所拍摄图像的稳定成为研究重点。
电子稳像是一种通过对连续帧相机图像的抖动进行估计和补偿的方法。在现有的电子稳像方法中,一般以参考帧中的角点作为特征点,搜索出当前帧中的对应特征点,从而对两帧间的运动进行估计,并通过kalman滤波得到抖动分量,据此对当前帧进行补偿。
但是,由于车载相机拍摄到的图像中会有行人、车辆等大量移动物体,现有的电子稳像方法由于需要以参考帧中的特征点作为依据,并对当前帧中相应特征点进行比对和计算,其并不能很好的适用于存在有大量移动物体的图像中,这使得现有的电子稳像方法在处理如前所述类型的图像时存在可靠性的问题。
技术实现要素:
针对上述提及的技术问题,本发明提供了一种车载相机的电子稳像方法、装置及可读存储介质。
一方面,本发明提供的一种车载相机的电子稳像方法,包括:
确定上一时刻采集的第一参考图像的运动物体识别区域,并确定位于所述第一参考图像的运动物体识别区域以外区域的多个特征点;其中,所述运动物体识别区域为图像中的运动物体所在的区域;
在当前时刻采集的第二参考图像中获取与各特征点对应的参考点;
根据各特征点的像素坐标和相应的各参考点的像素坐标确定第一参考图像和第二参考图像之间的第一仿射变换矩阵;
对所述第一仿射变换矩阵中各元素在各时刻的取值进行累加获得观测量,对所述观测量进行滤波获得状态量,根据所述状态量与所述观测量的差值确定补偿参数;
根据所述补偿参数确定第二仿射变换矩阵,利用所述第二仿射变换矩阵对所述第二参考图像进行变换得到当前时刻的稳定图像。
在其中一种可选的实施方式中,所述根据各特征点的像素坐标和相应的各参考点的像素坐标确定第一参考图像和第二参考图像之间的第一仿射变换矩阵,包括:
根据车辆的行进速度和转向角速度分别对各参考点的像素坐标进行调整;
根据各特征点的像素坐标和各参考点调整后的像素坐标确定第一参考图像和第二参考图像之间的第一仿射变换矩阵。
在其中一种可选的实施方式中,所述根据车辆的行进速度和转向角速度分别对各参考点的像素坐标进行调整,包括:
采用公式(1)分别对各参考点的像素坐标进行调整;
其中,x和y分别表示参考点的像素横坐标和像素纵坐标;x’和y’分别表示参考点调整后的像素横坐标和像素纵坐标;v和ω分别表示车辆在当前时刻的行进速度和转向角速度;xv和yv分别表示车辆以单位行进速度平稳运动时,相邻时刻的两个图像上对应的同一像素点的像素横坐标之差和像素纵坐标之差;xω表示车辆以单位转向角速度平稳运动时,相邻时刻的两个图像上对应的同一像素点的沿横轴方向的像素坐标之差。
在其中一种可选的实施方式中,所述确定上一时刻采集的第一参考图像的运动物体识别区域,包括:
根据确定的所述第一参考图像的运动物体识别区域,生成第一参考二值图像,其中所述第一参考二值图像在运动物体识别区域的像素值为0,在非运动物体识别区域的像素值为1;
相应的,所述确定位于所述第一参考图像的运动物体识别区域以外区域的多个特征点,包括:
确定第一参考图像的shi-tomasi角点;
确定各所述shi-tomasi角点在所述第一参考二值图像对应的像素取值,并保留对应像素取值为1的shi-tomasi角点作为所述多个特征点。
在其中一种可选的实施方式中,所述确定上一时刻采集的第一参考图像的运动物体识别区域,包括:
通过深度学习算法确定上一时刻的稳定图像的运动物体识别区域;
根据所述上一时刻的稳定图像的运动物体识别区域,生成上一时刻的二值稳定图像;其中,所述二值稳定图像中运动物体识别区域对应的像素取值为0,非运动物体识别区域对应的像素取值为1;
根据上一时刻的第二仿射变换矩阵的逆矩阵,对所述二值稳定图像进行仿射变换获得所述第一参考二值图像。
在其中一种可选的实施方式中,所述在当前时刻采集的第二参考图像中获取与各特征点对应的参考点,包括:
采用金字塔迭代lucas-kanade算法确定所述各特征点在所述第二参考图像中的像素坐标,并得到相应的参考点。
在其中一种可选的实施方式中,所述根据各特征点的像素坐标和相应的各参考点的像素坐标确定第一参考图像和第二参考图像之间的第一仿射变换矩阵,包括:
采用ransac算法对各特征点的像素坐标和相应的各参考点的像素坐标进行处理,计算获得所述第一仿射变换矩阵。
在其中一种可选的实施方式中,所述采用ransac算法对各特征点的像素坐标和相应的各参考点的像素坐标进行处理,计算获得所述第一仿射变换矩阵,包括:
随机选取预设个数的特征点作为待处理特征点,将该待处理特征点对应的参考点作为待处理参考点;
判断各待处理特征点和各待处理参考点是否满足预设的位置关系;
若是,则利用icvgetrtmatrix函数对各待处理特征点和各待处理进行处理,以获得带约束的第三仿射变换矩阵;否则,返回执行所述随机选取预设个数的特征点作为待处理特征点的步骤;
利用所述第三仿射变换矩阵,对各特征点中除所述待处理特征点以外的剩余特征点进行仿射变换,并计算仿射变换后的各所述剩余特征点与其对应的参考点之间的欧拉距离;
确定欧拉距离小于预设距离阈值的剩余特征点的数量,并判断所述数量是否大于等于全部特征点的数量的预设百分比;
若是,则利用所述icvgetrtmatrix函数对所述剩余特征点进行处理,以获得所述第一仿射变换矩阵;否则,返回执行所述随机选取预设个数的特征点作为待处理特征点的步骤。
在其中一种可选的实施方式中,所述对所述观测量进行滤波获得状态量,根据所述状态量与所述观测量的差值确定补偿参数,包括:
利用卡尔曼滤波的标准递推公式确定当前时刻的状态量的最优估计,并根据所述当前时刻的状态量的最优估计与当前时刻的观测量的差值确定第二参考图像的补偿参数。
另一方面,本发明提供的一种车载相机的电子稳像装置,包括:
获取单元,用于确定上一时刻采集的第一参考图像的运动物体识别区域,并确定位于所述第一参考图像的运动物体识别区域以外区域的多个特征点;其中,所述运动物体识别区域为图像中的运动物体所在的区域;还用于在当前时刻采集的第二参考图像中获取与各特征点对应的参考点;
估计单元,用于根据各特征点的像素坐标和相应的各参考点的像素坐标确定第一参考图像和第二参考图像之间的第一仿射变换矩阵;
滤波单元,用于对所述第一仿射变换矩阵中各元素在各时刻的取值进行累加获得观测量,对所述观测量进行滤波获得状态量,根据所述状态量与所述观测量的差值确定补偿参数;
补偿单元,用于根据所述补偿参数确定第二仿射变换矩阵,利用所述第二仿射变换矩阵对所述第二参考图像进行变换得到当前时刻的稳定图像。
再一方面,本发明提供的一种车载相机的电子稳像装置,包括:存储器、处理器以及计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如前任一项所述的方法。
最后一方面,本发明提供了一种可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理执行以实现如前任一项所述的方法。
本发明提供的车载相机的电子稳像方法、装置及可读存储介质,采用了确定上一时刻采集的第一参考图像的运动物体识别区域,并确定位于所述第一参考图像的运动物体识别区域以外区域的多个特征点;其中,所述运动物体识别区域为图像中的运动物体所在的区域;在当前时刻采集的第二参考图像中获取与各特征点对应的参考点;根据各特征点的像素坐标和相应的各参考点的像素坐标确定第一参考图像和第二参考图像之间的第一仿射变换矩阵;对所述第一仿射变换矩阵中各元素在各时刻的取值进行累加获得观测量,对所述观测量进行滤波获得状态量,根据所述状态量与所述观测量的差值确定补偿参数;根据所述补偿参数确定第二仿射变换矩阵,利用所述第二仿射变换矩阵对所述第二参考图像进行变换得到当前时刻的稳定图像的技术方案,从而通过去除图像中的运动物体所在的运动物体识别区域中的特征点,避免了运动物体对运动参数估计的影响,提高了稳像准确度。
附图说明
图1为本发明所基于的网络架构的示意图;
图2为本发明示例一提供的一种车载相机的电子稳像方法的流程示意图;
图3为本发明示例二提供的一种车载相机的电子稳像方法的流程示意图;
图4为本发明示例二提供的一种车载相机的电子稳像方法中的第二参考图像中参考点的像素坐标调整示意图;
图5为本发明示例三提供的一种车载相机的电子稳像装置的结构示意图;
图6为本发明示例四提供的一种车载相机的电子稳像装置的硬件结构示意图。
具体实施方式
为使本发明示例的目的、技术方案和优点更加清楚,下面将结合本发明示例中的附图,对本发明示例中的技术方案进行清楚、完整地描述。
随着辅助驾驶技术和无人驾驶技术的快速发展,具备图像处理功能的车载相机成为其技术组成必不可缺的一部分。一般的,车辆行驶时所产生的颠簸会导致车载相机采集的图像发生抖动,进而影响辅助驾驶和无人驾驶中基于图像获得的定位结果的准确性。因此,如何保证车载相机所拍摄图像的稳定成为研究重点。
电子稳像是一种通过对连续帧相机图像的抖动进行估计和补偿的方法。在现有的电子稳像方法中,一般以参考帧中的角点作为特征点,搜索出当前帧中的对应特征点,从而对两帧间的运动进行估计,并通过kalman滤波得到抖动分量,据此对当前帧进行补偿。
但是,由于车载相机拍摄到的图像中会有行人、车辆等大量移动物体,现有的电子稳像方法由于需要以参考帧中的特征点作为依据,并对当前帧中相应特征点进行比对和计算。例如,申请号为201110178881.2的发明专利公开了一种“基于特征匹配的电子稳像方法”,以参考帧中的角点作为特征点,搜索出当前帧中的对应特征点,从而对两帧间的运动进行估计,并通过kalman滤波得到抖动分量,据此对当前帧进行补偿;而申请号为201710563620.x的发明专利公开了“一种基于改进的klt和卡尔曼滤波的电子稳像方法”,利用shi-tomasi算法检测角点,通过光流算法得到角点匹配,并用最小二乘法进行运动估计,采用卡尔曼滤波器得到有意运动和无意抖动,最后由图像放射变换模型补偿图像的运动。但这两种现有的电子稳像方法在利用包括角点在内的特征点进行稳像处理时,没有考虑到移动物体对的特征点对于稳像参数的影响,这使得稳像可靠性出现问题。
针对上述问题,本发明提供了一种车载相机的电子稳像方法、装置及可读存储介质。图1为本发明所基于的网络架构的示意图,如图1所示,本发明基于的网络架构可包括车辆1、车载相机2以及车载相机的电子稳像装置3;其中,网络可用以在车辆1、车载相机2以及车载相机的电子稳像装置3之间提供通信链路的介质,网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
其中需要说明的是,车载相机2是安装于车辆1上的,其可与车辆1的车载电脑交互以获取车辆1相应的行驶信息或来自用户的触发控制指令,并配合车载电脑1实现车辆1的辅助驾驶功能,和/或,无人驾驶功能。
车载相机2基于硬件实现,其包括但不限于具备拍摄功能的电子设备,如智能手机、平板电脑、膝上型便携计算机、便携式拍摄设备、电子导航设备、行车记录仪等等。
车载相机的电子稳像装置3可由硬件实现,也可由软件实现,其可通过前述的网络与车载相机2进行交互,以进行对于车载相机所采集图像的电子稳像处理。
其中,当车载相机的电子稳像装置3为硬件时,其包括但不限于具备逻辑运算处理功能的电子设备,如智能手机、平板电脑、膝上型便携计算机等等。当车载相机的电子稳像装置3为软件时,其可以安装在上述所列举的电子设备中,特别的,当其为软件时,其车载相机的电子稳像装置3软件形式可以是安装在车载相机2中的软件,也可为安装在车辆1的车载电脑中的软件。此外,车载相机的电子稳像装置3还可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。
需要说明的是,为了便于示意,图1中的车载相机的电子稳像装置3为其为软件形态,且其为安装在车载相机2中的软件。
本示例提供的车载相机的电子稳像方法的执行主体为车载相机的电子稳像装置,如图1所示的车载相机的电子稳像装置2。
为了解决现有的电子稳像方法在利用包括角点在内的特征点进行稳像处理时,没有考虑到移动物体对的特征点对于稳像参数的影响,这使得稳像可靠性出现问题。本示例提供的方案还包括有确定图像中的运动物体所在的区域的运动物体识别区域,并去除运动物体识别区域中角点的方式,以提高后续基于角点获得的补偿参数和第二仿射变换矩阵的可靠性,进而提高获得的稳定图像的可靠性。
图2为本发明示例一提供的一种车载相机的电子稳像方法的流程示意图面,如图2所示,该车载相机的电子稳像方法包括:
步骤101、确定上一时刻采集的第一参考图像的运动物体识别区域,并确定位于所述第一参考图像的运动物体识别区域以外区域的多个特征点。
首先,车载相机的电子稳像装置将确定上一时刻采集的第一参考图像的运动物体识别区域,并确定位于所述第一参考图像的运动物体识别区域以外区域的多个特征点;其中,所述运动物体识别区域为图像中的运动物体所在的区域,相应的,该运动物体识别区域以外区域则为图像中的非运动物体所在的区域。运动物体为图像中具备运动功能的物体,如行人、行进的机动车和非机动车等。其中的第一参考图像的运动物体识别区域可通过现有的图像识别算法实现。
在本示例中,为了确定位于所述第一参考图像的运动物体识别区域以外区域的多个特征点,在确定获得所述第一参考图像的运动物体识别区域之后,还可包括生成第一参考二值图像的步骤,其中第一参考二值图像在运动物体识别区域的像素值为0,在非运动物体识别区域的像素值为1。随后,可确定第一参考图像的shi-tomasi角点;并确定各所述shi-tomasi角点在所述第一参考二值图像对应的像素取值,并保留对应像素取值为1的shi-tomasi角点作为所述多个特征点。
具体来说,为了电子稳像的可靠性,避免运动物体对于电子稳像的稳像参数的影响,本示例具体可基于opencv中的goodfeaturestotrack函数以获取第一参考图像中的全部shi-tomasi角点。随后,针在第一参考二值图像中依次确定每一shi-tomasi角点的取值,以判断获取该shi-tomasi角点是否对应于第一参考图像的运动物体识别区域。若取值为0,则相当于该
shi-tomasi角点对应于第一参考图像的运动物体识别区域,此时,将不保留该shi-tomasi角点;若取值为1,则相当于该shi-tomasi角点对应于第一参考图像的非运动物体识别区域,此时,将保留该shi-tomasi角点。通过前述方式,可获得位于所述第一参考图像的运动物体识别区域以外区域的多个特征点。
当然,为了进一步提高稳像效率,在本示例中,还可直接利用上一时刻的稳定图像的运动物体识别区域以及上一时刻得到的第二仿射变换矩阵的逆矩阵,以直接得到该第一参考二值图像,从而降低稳像的耗时。具体来说,首先可通过,通过深度学习算法确定上一时刻的稳定图像的运动物体识别区域,随后,基于该上一时刻的稳定图像的运动物体识别区域生成上一时刻的二值稳定图像,其中,在该二值稳定图像中,其中运动物体所占的运动物体识别区域的取值为0,其余区域取值为1;确定上一时刻的第二仿射变换矩阵的逆矩阵,利用逆矩阵对二值稳定图像进行仿射变换得到第一参考图像的第一参考二值图像。通过采用这样的处理方式,使得电子稳像算法的总耗时从90ms减少到了5ms,有效提高了电子稳像效率。
步骤102、在当前时刻采集的第二参考图像中获取与各特征点对应的参考点。
步骤103、根据各特征点的像素坐标和相应的各参考点的像素坐标确定第一参考图像和第二参考图像之间的第一仿射变换矩阵。
具体的,在步骤102和103中,首先,可采用金字塔迭代lucas-kanade算法确定所述各特征点在所述第二参考图像中的像素坐标,并得到相应的参考点。其中,车载相机的电子稳像装置可利用opencv中的calcopticalflowpyrlk函数,进行前述的金字塔迭代lucas-kanade算法,以获得各特征点在第二参考图像中相应的参考点。
随后,可确定第一参考图像和第二参考图像之间的第一仿射变换矩阵。
该第一仿射变换矩阵描述了第一参考图像向第二参考图像变换时的变换关系,即相邻两时刻图像间的变换关系。
示例性的,第一仿射变换矩阵t1t具体可为带有约束的仿射变换矩阵,由四个运动参数组成:横向位移tx、纵向位移ty、旋转角度α以及缩放系数k。
即,
其中,第一仿射变换矩阵可利用ransac算法获得。
示例性的,采用ransac算法对各特征点的像素坐标和相应的各参考点的像素坐标进行处理,计算获得所述第一仿射变换矩阵,包括:
步骤1031、随机选取预设个数的特征点作为待处理特征点,将该待处理特征点对应的参考点作为待处理参考点。示例性的,该预设个数可为3个。
步骤1032、判断各待处理特征点和各待处理参考点是否满足预设的位置关系。
若是,则执行步骤1033;若否,则返回步骤1031。
示例性的,该预设的位置关系包括相距关系和相对位置关系,即当出现各待处理特征点之间的距离过近,各待处理参考点之间的距离过近,各待处理特征点位于同一条直线上,各待处理参考点位于同一条直线这四类位置关系意外的位置关系时,执行步骤1033;当出现前述的四种位置关系时,返回步骤1031。
步骤1033、利用icvgetrtmatrix函数对各待处理特征点和各待处理进行处理,以获得带约束的第三仿射变换矩阵。
步骤1034、利用所述第三仿射变换矩阵,对各特征点中除所述待处理特征点以外的剩余特征点进行仿射变换,并计算仿射变换后的各所述剩余特征点与其对应的参考点之间的欧拉距离。
步骤1035、确定欧拉距离小于预设距离阈值的剩余特征点的数量,并判断所述数量是否大于等于全部特征点的数量的预设百分比。
若是,则执行步骤1036;若否,则返回步骤1031。
示例性的,距离阈值为3,预设百分比为80%。
步骤1036、利用所述icvgetrtmatrix函数对所述剩余特征点进行处理,以获得所述第一仿射变换矩阵。
步骤104、对所述第一仿射变换矩阵中各元素在各时刻的取值进行累加获得观测量,对所述观测量进行滤波获得状态量,根据所述状态量与所述观测量的差值确定补偿参数。
其中的,观测量采用如下公式(2)计算获得:
其中的st和st-1分别表示当前时刻的观测量和上一时刻的观测量。换句话说,当前时刻的观测量可描述为上一时刻的观测量与当前时刻获得的第一仿射变换矩阵中的四个参数之和。
随后,可利用卡尔曼滤波的标准递推公式确定当前时刻的状态量的最优估计,在该过程中,可基于如下状态方程(公式(3))和观测方程(公式(4))确定卡尔曼滤波的标准递推公式中的相应参数:
xt=i4×4xt-1+q2i4×4公式(3)
st=i4×4xt+r2i4×4公式(4)
其中xt和xt-1分别用于表示当前时刻的状态量和上一时刻的状态量;i4x4为单位矩阵,r2和q2分别用于表示状态噪声协方差和观测噪声协方差。进一步来说,在本示例中,观测噪声协方差可通过记录一段时间的观测量,并计算该一段时间的观测量的方差来获得;而状态噪声协方差则可选取为10-4。当然,该观测噪声协方差以及状态噪声协方差还可通过经验确定,在此不进行限制。
第二参考图像的补偿参数at可用公式(5)表示:
其中xt为当前时刻的状态量的最优估计,即经过卡尔曼滤波之后的当前时刻的状态量的最优估计;st为当前时刻的观测量。也就是说,在公式(5)中根据所述当前时刻的状态量的最优估计与当前时刻的观测量的差值确定第二参考图像的补偿参数。
步骤105、根据所述补偿参数确定第二仿射变换矩阵,利用所述第二仿射变换矩阵对所述第二参考图像进行变换得到当前时刻的稳定图像。
具体的,该第二仿射变换矩阵表示了当前时刻采集到的第二参考图像与当前时刻的稳定图像之间的变换关系。
车载相机的电子稳像装置最后将根据前述的补偿参数确定第二仿射变换矩阵
该第二仿射变换矩阵可表示为
最后,利用该第二仿射变换矩阵对所述第二参考图像进行变换得到当前时刻的稳定图像。
当前时刻的第二参考图像上各像素点的坐标(xi,yi)可按照如下公式(6)转换至新的坐标(xi,yi),进而得到当前时刻的稳定图像。
本示例一提供的车载相机的电子稳像方法,采用了确定上一时刻采集的第一参考图像的运动物体识别区域,并确定位于所述第一参考图像的运动物体识别区域以外区域的多个特征点;其中,所述运动物体识别区域为图像中的运动物体所在的区域;在当前时刻采集的第二参考图像中获取与各特征点对应的参考点;根据各特征点的像素坐标和相应的各参考点的像素坐标确定第一参考图像和第二参考图像之间的第一仿射变换矩阵;对所述第一仿射变换矩阵中各元素在各时刻的取值进行累加获得观测量,对所述观测量进行滤波获得状态量,根据所述状态量与所述观测量的差值确定补偿参数;根据所述补偿参数确定第二仿射变换矩阵,利用所述第二仿射变换矩阵对所述第二参考图像进行变换得到当前时刻的稳定图像的技术方案,从而通过去除图像中的运动物体所在的运动物体识别区域中的特征点,以避免了运动物体对运动参数估计的影响,提高了稳像准确度。
在图2示例的基础上,为了进一步提高电子稳像中补偿的准确性和补偿成功率,图3为本发明示例二提供的一种车载相机的电子稳像方法的流程示意图,如图3所示,该车载相机的电子稳像方法包括:
步骤201、确定上一时刻采集的第一参考图像的运动物体识别区域,并确定位于所述第一参考图像的运动物体识别区域以外区域的多个特征点。
其中,所述运动物体识别区域为图像中的运动物体所在的区域。
步骤202、在当前时刻采集的第二参考图像中获取与各特征点对应的参考点。
步骤203、根据车辆的行进速度和转向角速度分别对各参考点的像素坐标进行调整。
步骤204、根据各特征点的像素坐标和各参考点调整后的像素坐标确定第一参考图像和第二参考图像之间的第一仿射变换矩阵。
步骤205、对所述第一仿射变换矩阵中各元素在各时刻的取值进行累加获得观测量,对所述观测量进行滤波获得状态量,根据所述状态量与所述观测量的差值确定补偿参数。
步骤206、根据所述补偿参数确定第二仿射变换矩阵,利用所述第二仿射变换矩阵对所述第二参考图像进行变换得到当前时刻的稳定图像。
具体来说,本示例二中的步骤201、202、205和206分别与前述示例一中的步骤与前述示例一中的步骤101、102、104和105的实现方式类似,在此不进行赘述。
与前述示例一不同的是,在本示例二中,根据各特征点的像素坐标和相应的各参考点的像素坐标确定第一参考图像和第二参考图像之间的第一仿射变换矩阵中所利用的各参考点的像素坐标为根据车辆的行进速度和转向角速度对各参考点的像素坐标进行调整后的像素坐标。
也就是说,在获得当前时刻采集的第二参考图像中获取与各特征点对应的参考点之后,车载相机的电子稳像方法将根据车辆的行进速度和转向角速度分别对各参考点的像素坐标进行调整,
其中,图4为本发明示例二提供的一种车载相机的电子稳像方法中的第二参考图像中参考点的像素坐标调整示意图,如图4所示的,可采用公式(1)分别对各参考点的像素坐标进行调整;
其中,x和y分别表示参考点的像素横坐标和像素纵坐标;x’和y’分别表示参考点调整后的像素横坐标和像素纵坐标;v和ω分别表示车辆在当前时刻的行进速度和转向角速度;xv和yv分别表示车辆以单位行进速度平稳运动时,相邻时刻的两个图像上对应的同一像素点的像素横坐标之差和像素纵坐标之差;xω表示车辆以单位转向角速度平稳运动时,相邻时刻的两个图像上对应的同一像素点的沿横轴方向的像素坐标之差。
此外,xv,yv和xω都是提前测量得到的常量,在本实施例中,v和ω采用车载gps和imu直接测量,以同时保证实时性和精确度。
随后,将根据各特征点的像素坐标和各参考点调整后的像素坐标确定第一参考图像和第二参考图像之间的第一仿射变换矩阵。
也就是说,在利用ransac算法获得第一仿射变换矩阵时,所基于的参考点的像素坐标均为经过调整后的像素坐标,其将采用如下步骤:
步骤2041、随机选取预设个数的特征点作为待处理特征点,将该待处理特征点对应的参考点作为待处理参考点。示例性的,该预设个数可为3个。
步骤2042、判断各待处理特征点和各待处理参考点是否满足预设的位置关系。
若是,则执行步骤2043;若否,则返回步骤2041。
示例性的,该预设的位置关系包括相距关系和相对位置关系,即当出现各待处理特征点之间的距离过近,各待处理参考点之间的距离过近,各待处理特征点位于同一条直线上,各待处理参考点位于同一条直线这四类位置关系意外的位置关系时,执行步骤2043;当出现前述的四种位置关系时,返回步骤2041。
步骤2043、利用icvgetrtmatrix函数对各待处理特征点和各待处理进行处理,以获得带约束的第三仿射变换矩阵。
步骤2044、利用所述第三仿射变换矩阵,对各特征点中除所述待处理特征点以外的剩余特征点进行仿射变换,并计算仿射变换后的各所述剩余特征点与其对应的参考点之间的欧拉距离。
步骤2045、确定欧拉距离小于预设距离阈值的剩余特征点的数量,并判断所述数量是否大于等于全部特征点的数量的预设百分比。
若是,则执行步骤2046;若否,则返回步骤2041。
示例性的,距离阈值为3,预设百分比为80%。
步骤2046、利用所述icvgetrtmatrix函数对所述剩余特征点进行处理,以获得所述第一仿射变换矩阵。
本发明示例二提供的车载相机的电子稳像方法,在示例一的基础上,还根据车辆主动运动过程中图像上各点像素坐标变化与汽车行进的速度和转向角速度线性相关的特点,对由于汽车主动运动引起的参考点的像素坐标变化提前进行补偿,使得特征点与参考点之间的像素坐标偏差中抖动分量的权重更大,极大提升了后续求取补偿参数的成功率和准确性。
图5为本发明示例三提供的一种车载相机的电子稳像装置的结构示意图,如图5所示,该车载相机的电子稳像装置,包括:
获取单元10,用于确定上一时刻采集的第一参考图像的运动物体识别区域,并确定位于所述第一参考图像的运动物体识别区域以外区域的多个特征点;其中,所述运动物体识别区域为图像中的运动物体所在的区域;还用于在当前时刻采集的第二参考图像中获取与各特征点对应的参考点;
估计单元20,用于根据各特征点的像素坐标和相应的各参考点的像素坐标确定第一参考图像和第二参考图像之间的第一仿射变换矩阵;
滤波单元30,用于对所述第一仿射变换矩阵中各元素在各时刻的取值进行累加获得观测量,对所述观测量进行滤波获得状态量,根据所述状态量与所述观测量的差值确定补偿参数;
补偿单元40,用于根据所述补偿参数确定第二仿射变换矩阵,利用所述第二仿射变换矩阵对所述第二参考图像进行变换得到当前时刻的稳定图像。
可选的,获取单元10具体用于根据确定的所述第一参考图像的运动物体识别区域,生成第一参考二值图像,其中所述第一参考二值图像在运动物体识别区域的像素值为0,在非运动物体识别区域的像素值为1;还用于确定第一参考图像的shi-tomasi角点;确定各所述shi-tomasi角点在所述第一参考二值图像对应的像素取值,并保留对应像素取值为1的shi-tomasi角点作为所述多个特征点。
可选的,获取单元10还用于通过深度学习算法确定上一时刻的稳定图像的运动物体识别区域;根据所述上一时刻的稳定图像的运动物体识别区域,生成上一时刻的二值稳定图像;其中,所述二值稳定图像中运动物体识别区域对应的像素取值为0,非运动物体识别区域对应的像素取值为1;根据上一时刻的第二仿射变换矩阵的逆矩阵,对所述二值稳定图像进行仿射变换获得所述第一参考二值图像。
可选的,获取单元10还用于采用金字塔迭代lucas-kanade算法确定所述各特征点在所述第二参考图像中的像素坐标,并得到相应的参考点。
估计单元20,具体用于采用ransac算法对各特征点的像素坐标和相应的各参考点的像素坐标进行处理,计算获得所述第一仿射变换矩阵。
估计单元20,具体用于随机选取预设个数的特征点作为待处理特征点,将该待处理特征点对应的参考点作为待处理参考点;判断各待处理特征点和各待处理参考点是否满足预设的位置关系;若是,则利用icvgetrtmatrix函数对各待处理特征点和各待处理进行处理,以获得带约束的第三仿射变换矩阵;否则,返回执行所述随机选取预设个数的特征点作为待处理特征点的步骤;利用所述第三仿射变换矩阵,对各特征点中除所述待处理特征点以外的剩余特征点进行仿射变换,并计算仿射变换后的各所述剩余特征点与其对应的参考点之间的欧拉距离;确定欧拉距离小于预设距离阈值的剩余特征点的数量,并判断所述数量是否大于等于全部特征点的数量的预设百分比;若是,则利用所述icvgetrtmatrix函数对所述剩余特征点进行处理,以获得所述第一仿射变换矩阵;否则,返回执行所述随机选取预设个数的特征点作为待处理特征点的步骤。
估计单元20,还用于根据车辆的行进速度和转向角速度分别对各参考点的像素坐标进行调整;根据各特征点的像素坐标和各参考点调整后的像素坐标确定第一参考图像和第二参考图像之间的第一仿射变换矩阵。
估计单元20,具体用于采用公式(1)分别对各参考点的像素坐标进行调整;
其中,x和y分别表示参考点的像素横坐标和像素纵坐标;x’和y’分别表示参考点调整后的像素横坐标和像素纵坐标;v和ω分别表示车辆在当前时刻的行进速度和转向角速度;xv和yv分别表示车辆以单位行进速度平稳运动时,相邻时刻的两个图像上对应的同一像素点的像素横坐标之差和像素纵坐标之差;xω表示车辆以单位转向角速度平稳运动时,相邻时刻的两个图像上对应的同一像素点的沿横轴方向的像素坐标之差。
滤波单元30,具体用于利用卡尔曼滤波的标准递推公式确定当前时刻的状态量的最优估计,并根据所述当前时刻的状态量的最优估计与当前时刻的观测量的差值确定第二参考图像的补偿参数。
本发明提供的车载相机的电子稳像装置采用了确定上一时刻采集的第一参考图像的运动物体识别区域,并确定位于所述第一参考图像的运动物体识别区域以外区域的多个特征点;其中,所述运动物体识别区域为图像中的运动物体所在的区域;在当前时刻采集的第二参考图像中获取与各特征点对应的参考点;根据各特征点的像素坐标和相应的各参考点的像素坐标确定第一参考图像和第二参考图像之间的第一仿射变换矩阵;对所述第一仿射变换矩阵中各元素在各时刻的取值进行累加获得观测量,对所述观测量进行滤波获得状态量,根据所述状态量与所述观测量的差值确定补偿参数;根据所述补偿参数确定第二仿射变换矩阵,利用所述第二仿射变换矩阵对所述第二参考图像进行变换得到当前时刻的稳定图像的技术方案,从而通过去除图像中的运动物体所在的运动物体识别区域中的特征点,以避免了运动物体对运动参数估计的影响,提高了稳像准确度。
图6为本发明示例四提供的一种车载相机的电子稳像装置的硬件结构示意图;如图6所示,该车载相机的电子稳像装置包括:
存储器41、处理器42及存储在存储器41上并可在处理器42上运行的计算机程序,处理器42运行计算机程序时执行上述示例的方法。
本领域普通技术人员可以理解:实现上述各方法示例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法示例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程以及相应的有益效果,可以参考前述方法示例中的对应过程,在此不再赘述。
最后,本发明还提供一种可读存储介质,包括上存储有计算机程序,所述计算机程序被处理执行以实现上述任一示例的方法。
最后应说明的是:以上各示例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各示例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各示例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各示例技术方案的范围。