本发明涉及图像处理技术领域,具体而言,涉及一种图像去抖的方法及装置。
背景技术:
在当今社会,相机以其简洁直观而广泛应用于各个领域。同时,由于应用场景、应用方式、固定方式等因素的影响,相机录制视频过程中会不可避免的造成画面抖动。这种画面的抖动无疑会降低视频的直观性与观赏性,甚至会降低后期基于视频图像计算的精度。
目前,视频图像去抖的方法主要有机械去抖、光学去抖和电子去抖。机械去抖的方法就是将相机安装于具有自增稳功能的机械结构上。光学去抖是通过镜头内置的仪器感应相机的抖动,之后对镜头的位置进行相应的调整从而达到去抖效果。电子去抖是通过电子手段来对图像进行相应处理,以减轻抖动对图像的影响。
目前,机械去抖方法和光学去抖方法去抖能力、应用场景有限,而且这两种方法均会增加设备复杂性以及硬件成本;而电子去抖法计算量大、耗时长,无法满足实时性。
技术实现要素:
为解决上述问题,本发明实施例的目的在于提供一种图像去抖的方法及装置。
第一方面,本发明实施例提供了一种图像去抖的方法,包括:
获取两帧双目图像,所述双目图像包括左目图像和右目图像,且两帧所述双目图像的时间戳之差小于预设时间差值;
确定多个公共特征点,并确定所述公共特征点在两帧双目图像中的三维坐标,所述公共特征点为同时存在于两帧双目图像的左目图像和右目图像的世界点在两帧双目图像中所对应的像素点;
将移动距离小于预设距离值的公共特征点作为有效特征点,所述移动距离为所述公共特征点在两帧双目图像中的两个三维坐标之间的距离值;
根据所述有效特征点在两帧双目图像中的三维坐标的变化值确定相机的位姿变化参数;
根据所述位姿变化参数调整后一帧双目图像的像素点的坐标值。
第二方面,本发明实施例还提供了一种图像去抖的装置,包括:
获取模块,用于获取两帧双目图像,所述双目图像包括左目图像和右目图像,且两帧所述双目图像的时间戳之差小于预设时间差值;
第一确定模块,用于确定多个公共特征点,并确定所述公共特征点在两帧双目图像中的三维坐标,所述公共特征点为同时存在于两帧双目图像的左目图像和右目图像的世界点在两帧双目图像中所对应的像素点;
第二确定模块,用于将移动距离小于预设距离值的公共特征点作为有效特征点,所述移动距离为所述公共特征点在两帧双目图像中的两个三维坐标之间的距离值;
位姿变化确定模块,用于根据所述有效特征点在两帧双目图像中的三维坐标的变化值确定相机的位姿变化参数;
去抖模块,用于根据所述位姿变化参数调整后一帧双目图像的像素点的坐标值。
本发明实施例上述第一方面提供的方案中,基于两帧双目图像将极远静止点作为有效特征点,并根据有效特征点在两帧图像中三维坐标之间的变化确定相机位姿变化,进而可以基于该相机位姿变化调整双目图像的像素点,实现图像去抖。该方法基于双目测距实现图像去抖,且所利用的极远静止点具有相同的移动方向,基于极远静止点可以方便快速地确定相机位姿变化,方法简单、算法复杂度低、运行速度快、实时性高;且极远静止点距离相机较远,可以忽略极远静止点在景深方向上的变化,使得最终确定相机位姿变化更加精确。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明实施例所提供的图像去抖的方法的流程图;
图2示出了本发明实施例所提供的双目图像的示意图;
图3示出了本发明实施例所提供的原始双目图像的示意图;
图4示出了本发明实施例所提供的图像去抖的装置的结构示意图。
具体实施方式
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
本发明实施例提供的一种图像去抖的方法,参见图2所示,包括步骤101-105:
步骤101:获取两帧双目图像,双目图像包括左目图像和右目图像,且两帧双目图像的时间戳之差小于预设时间差值。
本发明实施例中,通过两帧双目图像的变化实现对后一帧双目图像的去抖;其中,每一帧双目图像均具有时间戳参数,通过时间戳比较靠近的两帧双目图像进行去抖处理;时间戳之差越大,两帧双目图像的差别越大,相机抖动越大,去抖处理效果越差;故需要选取时间戳之差较小的两帧双目图像,比如相邻的两帧双目图像。
每一帧的双目图像具体可以通过双目相机采集。具体的,通过双目相机可以采集相应的左目图像和右目图像。该双目相机具体可以为双目立体相机,在使用双目立体相机之前首先需要对双目立体相机进行标定。双目立体相机的标定分为两步:安装之前标定双目立体相机内参和安装后标定双目立体相机外参。在安装之前对双目立体相机进行标定,得到双目立体相机的焦距、相机基线长度、镜头畸变系数、左右镜头之间距离等仅与相机自身特性相关的内参数,即双目相机内参。将双目相机安装在车辆上之后,保持双目立体相机与车辆的相对位置不变,并开始对双目立体相机进行第二次标定,标定双目立体相机的外参,也就是双目立体相机与地面坐标系(或世界坐标系)的位置关系。双目相机采集到双目图像后,可以对采集的图像进行预处理(比如滤波、抑制噪声等),提高图像的信噪比,获得最终可以进行去抖处理的双目图像。
步骤102:确定多个公共特征点,并确定公共特征点在两帧双目图像中的三维坐标,公共特征点为同时存在于两帧双目图像的左目图像和右目图像的世界点在两帧双目图像中所对应的像素点。
本发明实施例中,在两帧双目图像的左目图像和右目图像均存在的一个点作为公共特征点。例如,世界点p出现在一帧的左目图像和右目图像中,且世界点p也出现在另一帧的左目图像和右目图像中,则世界点p在两帧双目图像中所对应的像素点为公共特征点。在两帧双目图像中可以确定多个公共特征点,且前一帧双目图像中的一个公共特征点对应后一帧双目图像中的一个公共特征点,即两帧双目图像的公共特征点是一一对应关系。同样的,对于一帧双目图像,左目图像和右目图像中也均存在该公共特征点,利用公共特征点在左目图像和右目图像中的位置即可确定该公共特征点所对应的三维坐标。
参见图2所示,像点pl和像点pr分别是左目图像和右目图像中的公共特征点,同时二者也是同一世界点p在左目图像和右目图像中的像点,则像点pl和像点pr是一对匹配点对。在确定公共特征点的三维坐标时,可以利用匹配点对的视差来进行计算;如图2所示,视差d=xl-xr,其中,xl表示特征点在左目图像中的横坐标,xr表示特征点在右目图像中的横坐标。具体的,对于第n帧双目图像的第i个公共特征点,视差
一般情况下,左目图像和右目图像采用的独立的图像坐标系,且图像坐标系都是以图像左上角为坐标原点(可参考图2所示的图像),水平向右为x轴正方向,竖直向下为y轴正方向。公共特征点三维坐标中的竖坐标
可选的,根据公共特征点的视差和双目相机内参确定公共特征点在相机坐标系中的三维坐标具体为
其中,
步骤103:将移动距离小于预设距离值的公共特征点作为有效特征点,移动距离为公共特征点在两帧双目图像中的两个三维坐标之间的距离值。
本发明实施例中,将公共特征点在两帧双目图像中的两个三维坐标之间的距离值作为该公共特征点的移动距离;对于距离双目相机极远且静止的点,该点在两帧双目图像之间的移动距离较小,即可以将移动距离小于预设距离值的公共特征点作为极远静止点;而所有极远静止点的移动方向是相同的,此时可以利用极远静止点方便快速地确定相机位姿变化。可选的,若某世界点为移动点,即使该移动点所对应的公共特征点距离双目相机较近,也可能导致计算出的移动距离较小,故还可以结合视差d来更加精确地确定哪些点为极远静止点,即哪些点是有效特征点。具体的,将视差小于预设视差、且移动距离小于预设距离值的公共特征点作为有效特征点。
其中,移动距离具体可通过以下方式确定:
设获取的两帧双目图像为第n帧和第n+m帧,第i个公共特征点pi在第n帧双目图像中对应的三维坐标点为
则第i个公共特征点两帧的移动距离li为:
步骤104:根据有效特征点在两帧双目图像中的三维坐标的变化值确定相机的位姿变化参数。
本发明实施例中,有效特征点是极远静止点,通过极远静止点三维坐标的变化可以方便地确定相机的位姿变化;所有极远静止点的移动方向是相同的,且极远静止点距离相机较远,可以忽略极远静止点在景深方向上的变化,使得最终确定相机位姿变化更加精确。可选的,位姿变化参数可以包括旋转矩阵和平移向量,即通过旋转和平移来表示相机位姿变化。
步骤105:根据位姿变化参数调整后一帧双目图像的像素点的坐标值。
本发明实施例中,该位姿变化参数可以表示双目相机采集前一帧双目图像到采集后一帧双目图像这一过程中发生的位姿变化,故在确定两帧双目图像之间的位姿变化参数后,可以以前一帧双目图像为基准对后一帧双目图像进行去抖处理,调整该后一帧双目图像的像素点的坐标值,从而去除后一帧双目图像中存在的相机抖动,实现图像去抖。
本发明实施例提供的一种图像去抖的方法,基于两帧双目图像将极远静止点作为有效特征点,并根据有效特征点在两帧图像中三维坐标之间的变化确定相机位姿变化,进而可以基于该相机位姿变化调整双目图像的像素点,实现图像去抖。该方法基于双目测距实现图像去抖,且所利用的极远静止点具有相同的移动方向,基于极远静止点可以方便快速地确定相机位姿变化,方法简单、算法复杂度低、运行速度快、实时性高;且极远静止点距离相机较远,可以忽略极远静止点在景深方向上的变化,使得最终确定相机位姿变化更加精确。
在上述实施例的基础上,步骤101“获取两帧双目图像”包括:
步骤a1:获取双目相机采集的两帧原始双目图像,原始双目图像包括原始左目图像和原始右目图像。
步骤a2:对原始双目图像进行矫正处理,将校正后的原始左目图像作为最终获取的左目图像,将校正后的原始右目图像作为最终获取的右目图像,左目图像和右目图像共面,且同一特征点在左目图像中的位置和在右目图像中的位置在预设方向上对齐;将矫正后的两帧原始双目图像作为最终获取的两帧双目图像。
本发明实施例中,在提取到双目相机采集的原始双目图像后,对原始双目图像进行图像预处理。可以利用现有的图像滤波技术对图像进行滤波处理抑制噪声,提高信噪比;同时,双目立体相机中左目相机和右目相机得到的图像不共面、且没有对齐,所以在对图像进行滤波之后,需要利用标定好的双目相机内参对左目相机和右目相机得到的图像(即左目图像和右目图像)进行立体矫正,使左目相机和右目相机得到的图像平行共面,并且使左目相机和右目相机得到的图像对齐。
图3为双目相机采集的原始双目图像的示意图,图中点p是真实世界中某一点,在双目立体相机中左目图像和右目图像上所成像点分别为pl和pr。如图3所示,在进行图像立体矫正之前,左目图像和右目图像不在同一平面上,且二者没有按行对齐,即像点pl和pr的像素行坐标不相等;对左目图像和右目图像进行畸变矫正之后,左目图像和右目图像共面,且按行对齐(参见图2所示),即像点pl和pr的像素行坐标相等,yl=yr。利用校正后的双目图像才可更加精确地确定特征点的三维坐标。
在上述实施例的基础上,上述步骤104“根据有效特征点在两帧双目图像中的三维坐标的变化值确定相机的位姿变化参数”包括:
步骤b1:分别确定两帧双目图像所有有效特征点的特征矩阵a和b:
其中,a为第n帧双目图像的特征矩阵,b为第n+m帧双目图像的特征矩阵,
步骤b2:根据两帧双目图像的特征矩阵确定相机的位姿变化参数:
其中,r表示旋转矩阵,t表示平移向量,且
本发明实施例中,以旋转矩阵和平移向量表示相机的位姿变化参数,且在位姿变化矩阵
对于第i个有效特征点,其在两帧双目图像中的三维坐标与相机位姿变化满足以下式子:
每个有效特征点均满足上式,故将k个式子联立可得:
将两个特征矩阵替换为a和b,则:
则,
在上述实施例的基础上,步骤105“根据位姿变化参数调整后一帧双目图像的像素点的坐标值”包括:
步骤c1:确定后一帧双目图像的像素点的原始坐标,并根据像素点的原始坐标确定在相机坐标系下像素点在成像平面内的三维坐标:
其中,
本发明实施例中,两帧双目图像分别是第n帧双目图像和第n+m帧双目图像,m为正整数;若两帧双目图像是相邻的两帧,则m=1。对于后一帧双目图像(即第n+m帧双目图像),该双目图像第i个像素点的原始坐标为
步骤c2:根据位姿变化参数确定对像素点在成像平面内的三维坐标进行调整,确定调整后的三维坐标;其中:
步骤c3:根据像素点在成像平面内调整后的三维坐标对像素点的坐标值进行调整,确定像素点调整后的坐标值:
其中,
本发明实施例中,在确定像素点在成像平面内的三维坐标后,即可利用位姿变化参数来确定去除抖动后的三维坐标,即
需要说明的是,本申请中的i只是用于区别不同的特征点,在不同式子中i的取值范围可能不同。
本发明实施例提供的一种图像去抖的方法,基于两帧双目图像将极远静止点作为有效特征点,并根据有效特征点在两帧图像中三维坐标之间的变化确定相机位姿变化,进而可以基于该相机位姿变化调整双目图像的像素点,实现图像去抖。该方法基于双目测距实现图像去抖,且所利用的极远静止点具有相同的移动方向,基于极远静止点可以方便快速地确定相机位姿变化,方法简单、算法复杂度低、运行速度快、实时性高;且极远静止点距离相机较远,可以忽略极远静止点在景深方向上的变化,使得最终确定相机位姿变化更加精确。利用旋转矩阵和平移向量可以快速确定相机的位姿变化,且计算简单,可以进一步提高去抖处理的实时性。
以上详细介绍了图像去抖的方法流程,该方法也可以通过相应的装置实现,下面详细介绍该装置的结构和功能。
本发明实施例提供的一种图像去抖的装置,参见图4所示,包括:
获取模块41,用于获取两帧双目图像,双目图像包括左目图像和右目图像,且两帧双目图像的时间戳之差小于预设时间差值;
第一确定模块42,用于确定多个公共特征点,并确定公共特征点在两帧双目图像中的三维坐标,公共特征点为同时存在于两帧双目图像的左目图像和右目图像的世界点在两帧双目图像中所对应的像素点;
第二确定模块43,用于将移动距离小于预设距离值的公共特征点作为有效特征点,移动距离为公共特征点在两帧双目图像中的两个三维坐标之间的距离值;
位姿变化确定模块44,用于根据有效特征点在两帧双目图像中的三维坐标的变化值确定相机的位姿变化参数;
去抖模块45,用于根据位姿变化参数调整后一帧双目图像的像素点的坐标值。
在上述实施例的基础上,获取模块41包括:
获取单元,用于获取双目相机采集的两帧原始双目图像,原始双目图像包括原始左目图像和原始右目图像;
矫正单元,用于对原始双目图像进行矫正处理,将校正后的原始左目图像作为最终获取的左目图像,将校正后的原始右目图像作为最终获取的右目图像,左目图像和右目图像共面,且同一特征点在左目图像中的位置和在右目图像中的位置在预设方向上对齐;将矫正后的两帧原始双目图像作为最终获取的两帧双目图像。
在上述实施例的基础上,第一确定模块42包括:
视差确定单元,用于根据公共特征点在左目图像中的位置和在右目图像中的位置确定公共特征点的视差d:
其中,d表示视差,
坐标确定单元,用于根据公共特征点的视差和双目相机内参确定公共特征点在相机坐标系中的三维坐标
其中,
在上述实施例的基础上,位姿变化确定模块44包括:
特征矩阵确定单元,用于分别确定两帧双目图像所有有效特征点的特征矩阵a和b:
其中,a为第n帧双目图像的特征矩阵,b为第n+m帧双目图像的特征矩阵,
位姿变化确定单元,用于根据两帧双目图像的特征矩阵确定相机的位姿变化参数:
其中,r表示旋转矩阵,t表示平移向量,且
在上述实施例的基础上,去抖模块45包括:
成像平面坐标确定单元,用于确定后一帧双目图像的像素点的原始坐标,并根据像素点的原始坐标确定在相机坐标系下像素点在成像平面内的三维坐标:
其中,
三维坐标调整单元,用于根据位姿变化参数确定对像素点在成像平面内的三维坐标进行调整,确定调整后的三维坐标;其中:
像素坐标调整单元,用于根据像素点在成像平面内调整后的三维坐标对像素点的坐标值进行调整,确定像素点调整后的坐标值:
其中,
本发明实施例提供的一种图像去抖的装置,基于两帧双目图像将极远静止点作为有效特征点,并根据有效特征点在两帧图像中三维坐标之间的变化确定相机位姿变化,进而可以基于该相机位姿变化调整双目图像的像素点,实现图像去抖。该装置基于双目测距实现图像去抖,且所利用的极远静止点具有相同的移动方向,基于极远静止点可以方便快速地确定相机位姿变化,装置简单、算法复杂度低、运行速度快、实时性高;且极远静止点距离相机较远,可以忽略极远静止点在景深方向上的变化,使得最终确定相机位姿变化更加精确。利用旋转矩阵和平移向量可以快速确定相机的位姿变化,且计算简单,可以进一步提高去抖处理的实时性。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。