基于光流算法的图像处理方法及装置的制作方法

文档序号:7741652阅读:247来源:国知局
专利名称:基于光流算法的图像处理方法及装置的制作方法
技术领域
本申请涉及计算机图像处理领域,尤其涉及一种基于光流算法的图像处理方法及
直O
背景技术
随着数字摄像机的普及应用,人们希望通过摄像机所拍摄的视频图像可以清晰稳 定,便于观看和分析,同时也希望所拍摄的图像可以更好地压缩,便于节省存储空间和降低 数据传输率。视频稳定技术是数字图像视频处理领域的一项重要视频增强技术,可以对视频图 像进行稳定和压缩处理。在应用视频稳定技术时,首先要计算出视频图像中相邻两帧图像 之间的全局运动参数,然后提取出摄像机真实全局运动参数,最后用合适的视频变换技术 补偿画面,使视频流畅而稳定。计算相邻两帧图像之间的全局运动参数是整个视频稳定技 术的核心部分。现有技术中求取全局运动参数通常采用块匹配法,将视频图像划分为很多 宏块,然后将当前宏块与前一帧图像对应的宏块进行匹配,得到当前宏块的局部运动矢量, 最后根据局部运动矢量推导出全局运动参数。发明人在对现有技术的研究和实践过程中发现,通过块匹配法进行视频稳定处理 时,需要对划分的多个宏块进行计算,因此该算法的计算量较大,难以应用于实时的视频稳 定处理;并且,由于视频图像间的抖动通常具有旋转和放大缩小的性质,因此限制了块匹配 法的精度。

发明内容
本申请实施例的目的是提供一种基于光流算法的图像处理方法及装置,以解决现 有通过块匹配法进行视频稳定处理导致计算量大且精度不高的问题。为解决上述技术问题,本申请实施例提供如下技术方案一种基于光流算法的图像处理方法,包括获取待处理的视频序列中的当前帧图像后,根据光流算法获得所述当前帧图像中 一组像素点在下一帧图像中的位置;按照预先建立的相邻两帧图像的全局参数模型对所述一组像素点进行抽样,筛选 出移动距离在预设范围内的像素点;根据所述筛选出的像素点在当前帧图像和下一帧图像中的位置坐标,通过最小二 乘法获取从所述当前帧图像到下一帧图像的全局运动参数;根据对所述全局运动参数进行平滑的结果,对所述下一帧图像进行补偿。所述根据光流算法获得所述当前帧图像中一组像素点在下一帧图像中的位置包 括将所述当前帧图像划分为若干宏块,并获取每个宏块中的一个像素点;通过光流算法跟踪并计算所述每个像素点在下一帧图像中的局部运动矢量;
5
根据每个像素点在当前帧图像中的位置坐标与所述像素点在下一帧图像中的局 部运动矢量计算所述像素点在下一帧图像中的位置坐标。所述按照预先建立的相邻两帧图像的全局参数模型对所述一组像素点进行抽样 筛选出移动距离在预设范围内的像素点包括将随机选取的所述当前帧图像中的两个像素点的位置坐标和所述两个像素点在 下一帧图像中的位置坐标代入所述全局参数模型获得全局运动参数,所述全局运动参数包 括图像伸缩参数、图像旋转参数、图像横向平移参数和图像纵向平移参数;将所述当前帧图像中的一组像素点中除所述随机选取的两个像素点外的剩余像 素点的位置坐标输入根据所述全局运动参数确定的全局运动方程,得到所述剩余像素点在 下一帧图像中的位置坐标;统计所述根据全局运动方程得到的位置坐标与所述根据光流算法得到的位置坐 标之间的距离在所述预设范围内的像素点。所述方法还包括预先设置对所述一组像素点进行抽样的次数;所述筛选出移动距离在预设范围内的像素点之前,还包括按照所述全局参数模型对所述一组像素点执行与所述抽样次数一致的抽样;记录每一次抽样所获得的移动距离在预设范围内的像素点的个数;将所述像素点的个数最大时的像素点作为所述筛选出的像素点。所述对所述全局运动参数进行平滑包括根据所述视频序列中所有帧图像的全局运动参数和帧数确定全局运动参数的运 动曲线;通过高斯滤波对所述全局运动参数的运动曲线进行运动平滑;按照帧数在所述运动平滑后的运动曲线上求取每个平滑后的全局运动参数。所述对下一帧图像进行补偿包括将所述平滑后的全局运动参数与所述通过最小二乘法获取的全局运动参数求差 后得到补偿参数; 通过所述补偿参数对所述下一帧图像进行补偿。一种基于光流算法的图像处理装置,包括帧图像获取单元,用于获取待处理的视频序列中的当前帧图像;光流算法单元,用于根据光流算法获得所述当前帧图像中一组像素点在下一帧图 像中的位置;抽样筛选单元,用于按照预先建立的相邻两帧图像的全局参数模型对所述一组像 素点进行抽样,筛选出移动距离在预设范围内的像素点;全局参数获取单元,用于根据所述筛选出的像素点在当前帧图像和下一帧图像中 的位置坐标,通过最小二乘法获取从所述当前帧图像到下一帧图像的全局运动参数;参数平滑单元,用于对所述全局运动参数进行平滑;图像补偿单元,用于根据所述参数平滑单元的平滑结果对所述下一帧图像进行补 m
te o所述光流算法单元包括宏块划分子单元,用于将所述当前帧图像划分为若干宏块,并获取每个宏块中的一个像素点;局部矢量计算子单元,用于通过光流算法跟踪并计算所述每个像素点在下一帧图 像中的局部运动矢量;位置坐标计算子单元,用于根据每个像素点在当前帧图像中的位置坐标与所述像 素点在下一帧图像中的局部运动矢量计算所述像素点在下一帧图像中的位置坐标。所述抽样筛选单元包括全局参数获取子单元,用于将随机选取的所述当前帧图像中的两个像素点的位置 坐标和所述两个像素点在下一帧图像中的位置坐标代入所述全局参数模型获得全局运动 参数,所述全局运动参数包括图像伸缩参数、图像旋转参数、图像横向平移参数和图像纵向 平移参数;位置坐标获取子单元,用于将所述当前帧图像中的一组像素点中除所述随机选取 的两个像素点外的剩余像素点的位置坐标输入根据所述全局运动参数确定的全局运动方 程,得到所述剩余像素点在下一帧图像中的位置坐标;像素点统计子单元,用于统计所述根据全局运动方程得到的位置坐标与所述根据 光流算法得到的位置坐标之间的距离在所述预设范围内的像素点。还包括预设单元,用于预先设置对所述一组像素点进行抽样的次数;所述抽样筛选单元还包括抽样次数控制子单元,用于控制所述全局参数获取单元、位置坐标获取单元和像 素点统计单元顺序执行与所述抽样次数一致的抽样;抽样个数记录子单元,用于记录每一次抽样所获得的移动距离在预设范围内的像 素点的个数;抽样结果确认子单元,用于将所述像素点的个数最大时的像素点作为所述筛选出 的像素点。所述参数平滑单元包括运动曲线确定子单元,用于根据所述视频序列中所有帧图像的全局运动参数和帧 数确定全局运动参数的运动曲线;运动平滑子单元,用于通过高斯滤波对所述全局运动参数的运动曲线进行运动平 滑;平滑参数求取子单元,用于按照帧数在所述运动平滑后的运动曲线上求取每个平 滑后的全局运动参数。所述图像补偿单元包括补偿参数获得子单元,用于将所述平滑后的全局运动参数与所述通过最小二乘法 获取的全局运动参数求差后得到补偿参数;帧图像补偿子单元,用于通过所述补偿参数对所述下一帧图像进行补偿。可见,本申请实施例中获取待处理的视频序列中的当前帧图像后,根据光流算法 获得当前帧图像中一组像素点在下一帧图像中的位置,按照预先建立的相邻两帧图像的全 局参数模型对一组像素点进行抽样,筛选出移动距离在预设范围内的像素点,根据筛选出 的像素点在当前帧图像和下一帧图像中的位置坐标,通过最小二乘法获取从当前帧图像到
7下一帧图像的全局运动参数,根据对全局运动参数进行平滑的结果,对下一帧图像进行补 偿。本申请实施例中由于通过光流算法与全局运动模型抽样相结合的方式对帧图像进行处 理,因此在保证全局运动参数计算精度的同时减少了计算量,提高了抗干扰能力,满足了实 时的视频稳定校正要求。


为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提 下,还可以根据这些附图获得其他的附图。图1为本申请基于光流算法的图像处理方法的第一实施例流程图;图2为本申请基于光流算法的图像处理方法的第二实施例流程图;图3为本申请基于光流算法的图像处理装置的第一实施例框图;图4A为本申请基于光流算法的图像处理装置的第二实施例框图;图4B为本申请装置第二实施例中光流算法单元的实施例框图;图4C为本申请装置第二实施例中抽样筛选单元的实施例框图;图4D为本申请装置第二实施例中参数平滑单元的实施例框图;图4E为本申请装置第二实施例中图像补偿单元的实施例框图。
具体实施例方式本申请实施例提供一种基于光流算法的图像处理方法及装置。为了使本技术领域的人员更好地理解本申请实施例中的技术方案,并使本申请实 施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本申请实施例中技术方 案作进一步详细的说明。参见图1,为本申请基于光流算法的图像处理方法的第一实施例流程图步骤101 获取待处理的视频序列中的当前帧图像。步骤102 根据光流算法获得当前帧图像中一组像素点在下一帧图像中的位置。具体的,将当前帧图像划分为若干宏块,并获取每个宏块中的一个像素点,通过光 流算法跟踪并计算每个像素点在下一帧图像中的局部运动矢量,根据每个像素点在当前帧 图像中的位置坐标与该像素点在下一帧图像中的局部运动矢量计算该像素点在下一帧图 像中的位置坐标。步骤103 按照预先建立的相邻两帧图像的全局参数模型对所述一组像素点进行 抽样,筛选出移动距离在预设范围内的像素点。具体的,将随机选取的当前帧图像中的两个像素点的位置坐标和两个像素点在下 一帧图像中的位置坐标代入预先建立的全局参数模型获得包括图像伸缩参数、图像旋转参 数、图像横向平移参数和图像纵向平移参数在内的全局运动参数,将当前帧图像中的一组 像素点中除随机选取的两个像素点外的剩余像素点的位置坐标输入根据全局运动参数确 定的全局运动方程,得到剩余像素点在下一帧图像中的位置坐标,统计根据全局运动方程 得到的位置坐标与根据光流算法得到的位置坐标之间的距离在预设范围内的像素点。
步骤104 根据筛选出的像素点在当前帧图像和下一帧图像中的位置坐标,通过 最小二乘法获取从当前帧图像到下一帧图像的全局运动参数。步骤105 根据对全局运动参数进行平滑的结果,对下一帧图像进行补偿,结束当 前流程。具体的,根据视频序列中所有帧图像的全局运动参数和帧数确定全局运动参数的 运动曲线,通过高斯滤波对全局运动参数的运动曲线进行运动平滑,按照帧数在运动平滑 后的运动曲线上求取每个平滑后的全局运动参数,将平滑后的全局运动参数与通过最小二 乘法获取的全局运动参数求差后得到补偿参数,通过该补偿参数对下一帧图像进行补偿。参见图2,为本申请基于光流算法的图像处理方法的第二实施例流程,该实施例详 细示出了通过光流算法对图像进行处理的过程步骤201 获取待处理的视频序列中的当前帧图像。本申请实施例主要用于对产生抖动的视频序列进行处理,在处理前首先需要获取 待处理的视频序列,每个视频序列由若干帧图像组成,对视频序列的处理就是对每一帧图 像分别进行处理后的结果集合。步骤202 将当前帧图像划分为若干宏块,并获取每个宏块中的一个像素点。以一个当前帧图像的处理为例,可以将该当前帧图像分成m*n个宏块,从每个宏 块中取中心像素点,一共取到m*n个像素点。步骤203 通过光流算法跟踪并计算每个像素点在下一帧图像中的局部运动矢量。本申请实施例中的光流算法主要指Lucas-Kanade光流算法(简称L_K光流算 法),该算法是一种两帧差分的光流估计算法,其原理是由于相邻两帧图像中同一像素点的 信息变化量很小,因此可以认为它们守恒,根据像素的守恒得到帧图像约束方程,假设I (X, y)为当前帧图像中位置坐标为(x,y)的像素点,则相邻两帧图像中对该像素点I的约束方 程为I (x, y, t) = I (x+ o x, y+ o y, t+ o t)因此可以对所获取的m*n个像素点分别应用上述约束方程,对该方程使用泰勒级 数展开就能求出每个像素点I的局部运动矢量,即共可以获得m*n个局部运动矢量。步骤204 根据每个像素点在当前帧图像中的位置坐标与该像素点在下一帧图像 中的局部运动矢量计算该像素点在下一帧图像中的位置坐标。在步骤203中已经计算出当前帧图像中m*n个像素点在下一帧图像中的m*n个局 部运动矢量,分别用m*n个像素点中每个像素点在当前帧图像中的位置坐标与对应的局部 运动矢量相加就可以得到每个像素点在下一帧图像中的位置坐标。步骤205 将随机选取的当前帧图像中的两个像素点的位置坐标和两个像素点在 下一帧图像中的位置坐标代入全局参数模型获得全局运动参数。由于帧图像在运动过程中可能出现平移、旋转和伸缩,因此预先建立的全局参数 模型如下 上述模型中,s为帧图像的伸缩运动参数,a为帧图像的旋转运动参数,dx为帧图像横向(即坐标系中X方向)平移运动参数,dy为帧图像纵向(即坐标系中Y方向)平移 参数;Up Yi)为像素点在i帧图像中的位置坐标,(xi+1、yi+1)为像素点在i+1帧图像中的 位置坐标。由于上述全局参数模型中的四个全局运动参数为待求的未知量,对于四个未知量 通过四个方程即可求得,因此采用RANSAC(随机抽样一致性)方法从前述当前帧图像和下 一帧图像的m*n对像素点中抽取任意两对像素点,将其坐标值代入上述全局参数模型即可 得到四个方程,根据这四个方程可以求得四个运动参数s、a、4和dy。步骤206 将当前帧图像中的一组像素点中除随机选取的两个像素点外的剩余像 素点的位置坐标输入根据全局运动参数确定的全局运动方程,得到剩余像素点在下一帧图 像中的位置坐标。将步骤205中求得的四个运动参数代入全局参数模型得到全局运动方程,将当前 帧图像的m*n个像素点中除随机选取的两个像素点外的剩余像素点的位置坐标代入到全 局运动方程中,可以求得每个像素点在下一帧图像中的位置坐标。步骤207 统计根据全局运动方程得到的位置坐标与所述根据光流算法得到的位 置坐标之间的距离在预设范围内的像素点。假设预设范围为2个像素点之间的距离,则对于每个根据全局运动方程计算得到 的像素点在下一帧图像中的位置坐标,将其与根据光流算法得到的该像素点在下一帧图像 中的位置坐标之间的差值(即根据两个位置坐标确定的距离)与该预设的距离进行比较, 统计在该预设距离范围内的像素点。步骤208 记录本次抽样所获得的移动距离在预设范围内的像素点的个数。将每一次抽样过程中得到的移动距离在预设范围内的像素点进行统计后,记录所 有符合条件的像素点的个数。步骤209 判断是否执行了与预设次数一致的抽样,若是,则执行步骤210 ;否则, 返回步骤205。步骤210 根据记录的每次抽样的像素点的个数,将像素点的个数最大时的像素 点作为筛选出的像素点。其中,抽样次数K可以根据经验值通过下式得出
log(l-z)K:^^-^
log(l-w )其中,z为算法结果正确的概率,w为筛选出的像素点在整个像素点中占的比例, 从而可以认为W彡0.5,1为每次在集合中取的点的个数,取1 = 2,z = 0.99,可以求出K =17,即重复进行17次随机抽样,则所筛选出的像素点的正确结果概率大于0. 99。步骤211 根据筛选出的像素点在当前帧图像和下一帧图像中的位置坐标,通过 最小二乘法获取从当前帧图像到下一帧图像的全局运动参数。步骤212 根据视频序列中所有帧图像的全局运动参数和帧数确定全局运动参数 的运动曲线。假设视频序列中共有N帧图像,则对于视频序列中的所有帧图像可以求得N-1组 全局运动参数,对于每个全局运动参数,以全局运动参数dx为例,则在坐标系中可以根据每 帧图像下的dx值和对应的帧数确定该视频序列中dx的运动曲线;同理,可以求出其它三个
10全局运动参数的运动曲线。步骤213 通过高斯滤波对全局运动参数的运动曲线进行运动平滑,并按照帧数 在运动平滑后的运动曲线上求取每个平滑后的全局运动参数。对于通过高斯滤波后的平滑运动曲线,可以按照视频序列中的每一帧获得该帧对 应的全局运动参数。步骤214 将平滑后的全局运动参数与通过最小二乘法获取的全局运动参数求差 后得到补偿参数。步骤215 通过补偿参数对下一帧图像进行补偿,结束当前流程。假设平滑后的全局运动参数为通过最小二乘法获取的全局运动参数为&,补偿 参数Ai = 1>&,用该补偿参数对相应的帧图像进行补偿,即可得到防抖动的帧图像。结合上述本申请图像处理方法实施例,下面以一段分辨率为352*288的抖动视频 序列为例描述本申请图像处理的详细过程。将第i帧图像分成11*9个宏块,取每个宏块的中心像素点,从而得到99个像素 点,用L-K光流法计算第i+1帧中这些像素点的偏移量,可以得到99个局部运动矢量;所建立的包含四个全局运动参数的全局运动模型如下随机选取第i帧图像和第i+1帧图像中的2对像素点,代如上述全局运动模型求 得4个全局运动参数,将四个全局运动参数代入上述全局运动模型得到第i帧像素点和第 i+1帧像素点之间的坐标关系,将第i帧其余97个像素点的坐标用该模型进行转换,求得第 i+1帧中对应的97个像素点坐标。如果转换后的i+1帧中对应的97个像素点坐标与i+1 帧中原来求出的97个像素点坐标之间的距离小于2个像素值,则设定为符合该模型,记录 所有符合条件的像素点的个数n。将上述过程重复20次,记录n最大时像素点的集合,基于 该n最大时的像素点的集合用最小二乘法确定全局运动模型中的4个全局运动参数。得到连续帧的全局运动参数后,使用高斯函数分别平滑s,a,dx,dy这4个全局运 动参数的运动曲线,高速函数的高斯核为上式中,o是标准差,这里可以取o = 2,k是当前帧序号与目标帧序号之间的差 值,例如当前帧为第5帧,目标帧是第10帧,那么k = 10-5 = 5。第i帧图像到第i+1帧图像的全局运动参数为Ai+1,平滑后的全局运动参数为Ti+1, 运动补偿矢量Ai+1 = Ti+1_Ai+1,通过Ai+1对第i+1帧图像进行运动补偿即能得到稳定后的 帧图像。与本申请基于光流算法的图像处理方法的实施例相对应,本申请还提供了基于光 流算法的图像处理装置的实施例。参见图3,为本申请基于光流算法的图像处理装置的第一实施例框图。该装置包括帧图像获取单元420、光流算法单元430、抽样筛选单元440、全局参 数获取单元450、参数平滑单元460和图像补偿单元470。其中,帧图像获取单元420,用于获取待处理的视频序列中的当前帧图像;
光流算法单元430,用于根据光流算法获得当前帧图像中一组像素点在下一帧图 像中的位置;抽样筛选单元440,用于按照预先建立的相邻两帧图像的全局参数模型对该一组 像素点进行抽样,筛选出移动距离在预设范围内的像素点;全局参数获取单元450,用于根据筛选出的像素点在当前帧图像和下一帧图像中 的位置坐标,通过最小二乘法获取从当前帧图像到下一帧图像的全局运动参数;参数平滑单元460,用于对全局运动参数进行平滑;图像补偿单元470,用于根据参数平滑单元460的平滑结果对下一帧图像进行补 m
te o参见图4A,为本申请基于光流算法的图像处理装置的第二实施例框图。该装置包括预设单元410、帧图像获取单元420、光流算法单元430、抽样筛选单 元440、全局参数获取单元450、参数平滑单元460和图像补偿单元470。其中,预设单元410,用于预先设置对一组像素点进行抽样的次数;帧图像获取单元420,用于获取待处理的视频序列中的当前帧图像;光流算法单元430,用于根据光流算法获得当前帧图像中一组像素点在下一帧图 像中的位置;抽样筛选单元440,用于按照预先建立的相邻两帧图像的全局参数模型对一组像 素点进行抽样,筛选出移动距离在预设范围内的像素点;全局参数获取单元450,用于根据筛选出的像素点在当前帧图像和下一帧图像中 的位置坐标,通过最小二乘法获取从当前帧图像到下一帧图像的全局运动参数;参数平滑单元460,用于对全局运动参数进行平滑;图像补偿单元470,用于根据参数平滑单元460的平滑结果对下一帧图像进行补 m
te o具体的,参见图4B,为光流算法单元430的实施例框图,包括宏块划分子单元431,用于将当前帧图像划分为若干宏块,并获取每个宏块中的一 个像素点;局部矢量计算子单元432,用于通过光流算法跟踪并计算每个像素点在下一帧图 像中的局部运动矢量;位置坐标计算子单元433,用于根据每个像素点在当前帧图像中的位置坐标与该 像素点在下一帧图像中的局部运动矢量计算该像素点在下一帧图像中的位置坐标。具体的,参见图4C,为抽样筛选单元440的实施例框图,包括抽样次数控制子单元441,用于控制全局参数获取子单元442、位置坐标获取子单 元443和像素点统计子单元444顺序执行与抽样次数一致的抽样;全局参数获取子单元442,用于将随机选取的当前帧图像中的两个像素点的位置 坐标和两个像素点在下一帧图像中的位置坐标代入全局参数模型获得全局运动参数,全局 运动参数包括图像伸缩参数、图像旋转参数、图像横向平移参数和图像纵向平移参数;位置坐标获取子单元443,用于将当前帧图像中的一组像素点中除随机选取的两 个像素点外的剩余像素点的位置坐标输入根据全局运动参数确定的全局运动方程,得到剩 余像素点在下一帧图像中的位置坐标;
12
像素点统计子单元444,用于统计根据全局运动方程得到的位置坐标与根据光流 算法得到的位置坐标之间的距离在预设范围内的像素点;抽样个数记录子单元445,用于记录每一次抽样所获得的移动距离在预设范围内 的像素点的个数;抽样结果确认子单元446,用于将像素点的个数最大时的像素点作为筛选出的像素点。具体的,参见图4D,为参数平滑单元450的实施例框图,包括运动曲线确定子单元451,用于根据视频序列中所有帧图像的全局运动参数和帧 数确定全局运动参数的运动曲线;运动平滑子单元452,用于通过高斯滤波对全局运动参数的运动曲线进行运动平 滑;平滑参数求取子单元453,用于按照帧数在运动平滑后的运动曲线上求取每个平 滑后的全局运动参数。具体的,参见图4E,为图像补偿单元460的实施例框图,包括补偿参数获得子单元461,用于将平滑后的全局运动参数与通过最小二乘法获取 的全局运动参数求差后得到补偿参数;帧图像补偿子单元462,用于通过补偿参数对下一帧图像进行补偿。通过以上的实施方式的描述可知,本申请实施例中获取待处理的视频序列中的当 前帧图像后,根据光流算法获得当前帧图像中一组像素点在下一帧图像中的位置,按照预 先建立的相邻两帧图像的全局参数模型对一组像素点进行抽样,筛选出移动距离在预设范 围内的像素点,根据筛选出的像素点在当前帧图像和下一帧图像中的位置坐标,通过最小 二乘法获取从当前帧图像到下一帧图像的全局运动参数,根据对全局运动参数进行平滑的 结果,对下一帧图像进行补偿。本申请实施例中由于通过光流算法与全局运动模型抽样相 结合的方式对帧图像进行处理,因此在保证全局运动参数计算精度的同时减少了计算量, 提高了抗干扰能力,满足了实时的视频稳定校正要求。通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可 借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质 上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品 可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备 (可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些 部分所述的方法。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部 分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实 施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例 的部分说明即可。本申请可用于众多通用或专用的计算系统环境或配置中。例如个人计算机、服务 器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶 盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的 分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序 模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组 件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由 通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以 位于包括存储设备在内的本地和远程计算机存储介质中。虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和 变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的 精神。
权利要求
一种基于光流算法的图像处理方法,其特征在于,包括获取待处理的视频序列中的当前帧图像后,根据光流算法获得所述当前帧图像中一组像素点在下一帧图像中的位置;按照预先建立的相邻两帧图像的全局参数模型对所述一组像素点进行抽样,筛选出移动距离在预设范围内的像素点;根据所述筛选出的像素点在当前帧图像和下一帧图像中的位置坐标,通过最小二乘法获取从所述当前帧图像到下一帧图像的全局运动参数;根据对所述全局运动参数进行平滑的结果,对所述下一帧图像进行补偿。
2.根据权利要求1所述的方法,其特征在于,所述根据光流算法获得所述当前帧图像 中一组像素点在下一帧图像中的位置包括将所述当前帧图像划分为若干宏块,并获取每个宏块中的一个像素点; 通过光流算法跟踪并计算所述每个像素点在下一帧图像中的局部运动矢量; 根据每个像素点在当前帧图像中的位置坐标与所述像素点在下一帧图像中的局部运 动矢量计算所述像素点在下一帧图像中的位置坐标。
3.根据权利要求1所述的方法,其特征在于,所述按照预先建立的相邻两帧图像的全 局参数模型对所述一组像素点进行抽样筛选出移动距离在预设范围内的像素点包括将随机选取的所述当前帧图像中的两个像素点的位置坐标和所述两个像素点在下一 帧图像中的位置坐标代入所述全局参数模型获得全局运动参数,所述全局运动参数包括图 像伸缩参数、图像旋转参数、图像横向平移参数和图像纵向平移参数;将所述当前帧图像中的一组像素点中除所述随机选取的两个像素点外的剩余像素点 的位置坐标输入根据所述全局运动参数确定的全局运动方程,得到所述剩余像素点在下一 帧图像中的位置坐标;统计所述根据全局运动方程得到的位置坐标与所述根据光流算法得到的位置坐标之 间的距离在所述预设范围内的像素点。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括预先设置对所述一组像 素点进行抽样的次数;所述筛选出移动距离在预设范围内的像素点之前,还包括 按照所述全局参数模型对所述一组像素点执行与所述抽样次数一致的抽样; 记录每一次抽样所获得的移动距离在预设范围内的像素点的个数; 将所述像素点的个数最大时的像素点作为所述筛选出的像素点。
5.根据权利要求1所述的方法,其特征在于,所述对所述全局运动参数进行平滑包括 根据所述视频序列中所有帧图像的全局运动参数和帧数确定全局运动参数的运动曲线.一入 ,通过高斯滤波对所述全局运动参数的运动曲线进行运动平滑;按照帧数在所述运动平滑后的运动曲线上求取每个平滑后的全局运动参数。
6.根据权利要求1所述的方法,其特征在于,所述对下一帧图像进行补偿包括 将所述平滑后的全局运动参数与所述通过最小二乘法获取的全局运动参数求差后得到补偿参数;通过所述补偿参数对所述下一帧图像进行补偿。
7.一种基于光流算法的图像处理装置,其特征在于,包括帧图像获取单元,用于获取待处理的视频序列中的当前帧图像; 光流算法单元,用于根据光流算法获得所述当前帧图像中一组像素点在下一帧图像中 的位置;抽样筛选单元,用于按照预先建立的相邻两帧图像的全局参数模型对所述一组像素点 进行抽样,筛选出移动距离在预设范围内的像素点;全局参数获取单元,用于根据所述筛选出的像素点在当前帧图像和下一帧图像中的位 置坐标,通过最小二乘法获取从所述当前帧图像到下一帧图像的全局运动参数; 参数平滑单元,用于对所述全局运动参数进行平滑;图像补偿单元,用于根据所述参数平滑单元的平滑结果对所述下一帧图像进行补偿。
8.根据权利要求7所述的装置,其特征在于,所述光流算法单元包括宏块划分子单元,用于将所述当前帧图像划分为若干宏块,并获取每个宏块中的一个 像素点;局部矢量计算子单元,用于通过光流算法跟踪并计算所述每个像素点在下一帧图像中 的局部运动矢量;位置坐标计算子单元,用于根据每个像素点在当前帧图像中的位置坐标与所述像素点 在下一帧图像中的局部运动矢量计算所述像素点在下一帧图像中的位置坐标。
9.根据权利要求7所述的装置,其特征在于,所述抽样筛选单元包括全局参数获取子单元,用于将随机选取的所述当前帧图像中的两个像素点的位置坐标 和所述两个像素点在下一帧图像中的位置坐标代入所述全局参数模型获得全局运动参数, 所述全局运动参数包括图像伸缩参数、图像旋转参数、图像横向平移参数和图像纵向平移 参数;位置坐标获取子单元,用于将所述当前帧图像中的一组像素点中除所述随机选取的两 个像素点外的剩余像素点的位置坐标输入根据所述全局运动参数确定的全局运动方程,得 到所述剩余像素点在下一帧图像中的位置坐标;像素点统计子单元,用于统计所述根据全局运动方程得到的位置坐标与所述根据光流 算法得到的位置坐标之间的距离在所述预设范围内的像素点。
10.根据权利要求9所述的装置,其特征在于,还包括 预设单元,用于预先设置对所述一组像素点进行抽样的次数; 所述抽样筛选单元还包括抽样次数控制子单元,用于控制所述全局参数获取子单元、位置坐标获取单元子和像 素点统计子单元顺序执行与所述抽样次数一致的抽样;抽样个数记录子单元,用于记录每一次抽样所获得的移动距离在预设范围内的像素点 的个数;抽样结果确认子单元,用于将所述像素点的个数最大时的像素点作为所述筛选出的像素。
11.根据权利要求7所述的装置,其特征在于,所述参数平滑单元包括运动曲线确定子单元,用于根据所述视频序列中所有帧图像的全局运动参数和帧数确 定全局运动参数的运动曲线;运动平滑子单元,用于通过高斯滤波对所述全局运动参数的运动曲线进行运动平滑; 平滑参数求取子单元,用于按照帧数在所述运动平滑后的运动曲线上求取每个平滑后 的全局运动参数。
12.根据权利要求7所述的装置,其特征在于,所述图像补偿单元包括 补偿参数获得子单元,用于将所述平滑后的全局运动参数与所述通过最小二乘法获取 的全局运动参数求差后得到补偿参数;帧图像补偿子单元,用于通过所述补偿参数对所述下一帧图像进行补偿。
全文摘要
本申请实施例公开了一种基于光流算法的图像处理方法及装置,所述方法包括获取待处理的视频序列中的当前帧图像后,根据光流算法获得当前帧图像中一组像素点在下一帧图像中的位置;按照预先建立的相邻两帧图像的全局参数模型对所述一组像素点进行抽样,筛选出移动距离在预设范围内的像素点;根据筛选出的像素点在当前帧图像和下一帧图像中的位置坐标,通过最小二乘法获取从当前帧图像到下一帧图像的全局运动参数;根据对全局运动参数进行平滑的结果,对下一帧图像进行补偿。本申请中由于通过光流算法与全局运动模型抽样相结合的方式对帧图像进行处理,因此在保证全局运动参数计算精度的同时减少了计算量,满足了实时的视频稳定校正要求。
文档编号H04N7/32GK101854465SQ20101010725
公开日2010年10月6日 申请日期2010年2月1日 优先权日2010年2月1日
发明者王超, 胡扬忠, 蔡巍伟, 贾永华, 邬伟琪, 马程 申请人:杭州海康威视软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1