一种图像帧补偿方法、摄像机和热成像摄像机与流程

文档序号:19730419发布日期:2020-01-18 03:53阅读:318来源:国知局
一种图像帧补偿方法、摄像机和热成像摄像机与流程

本申请涉及图像处理技术领域,尤其涉及一种图像帧补偿方法、摄像机和热成像摄像机。



背景技术:

近年来,越来越多的摄像机被用到生活中,例如城市监控领域、安防领域(如周界检测、火点检测和船只检测)等。处于室外工作的摄像机,由于风等外界因素造成的不规则的抖动,会造成摄像机拍摄的视频画面也发生抖动。而视频画面的抖动容易引起视频观察者的视觉疲劳,影响视频的观察效果和分析准确性,导致观察者的误判或者漏判。

因此,如何将这些抖动视频转化成稳定的视频具有重要的意义。



技术实现要素:

有鉴于此,本申请提供一种图像帧补偿方法和装置,用以将抖动视频转化成稳定的视频。

具体地,本申请是通过如下技术方案实现的:

本申请实施例第一方面,提供了一种图像帧补偿方法,包括:

对摄像机在生成当前图像帧的时间段内的抖动情况进行采样,得到n个抖动数据;

根据当前图像帧的行数r与所述n的数值关系,将当前图像帧分割成n或r个图像块,并根据所述n个抖动数据为每个图像块分配一个抖动数据;

根据当前图像帧中每个图像块分配到的抖动数据对该图像块进行补偿,得到补偿后的当前图像帧。

本申请实施例第二方面,提供了一种摄像机,包括陀螺仪和处理器;

所述陀螺仪,用于对摄像机在生成当前图像帧的时间段内的抖动情况进行采样,得到n个抖动数据;

所述处理器,被配置用于执行:根据当前图像帧的行数r与所述n的数值关系,将当前图像帧分割成n或r个图像块,并根据所述n个抖动数据为每个图像块分配一个抖动数据;根据当前图像帧中每个图像块分配到的抖动数据对该图像块进行补偿,得到补偿后的当前图像帧。

本申请实施例第三方面,提供了一种热成像摄像机,包括非制冷红外焦平面探测器、陀螺仪和处理器;

所述非制冷红外焦平面探测器,用于生成当前图像帧;

所述陀螺仪,用于对摄像机在生成当前图像帧的时间段内的抖动情况进行采样,得到n个抖动数据;

所述处理器,被配置用于执行:根据当前图像帧的行数r与所述n的数值关系,将当前图像帧分割成n或r个图像块,并根据所述n个抖动数据为每个图像块分配一个抖动数据;根据当前图像帧中每个图像块分配到的抖动数据对该图像块进行补偿,得到补偿后的当前图像帧。

本申请实施例通过在一帧时间内获取多个抖动数据,并将其与该帧图像中多行像素点一一对应;再根据这多个抖动数据计算得到多个偏移量,使用这多个偏移量对同一帧中的不同行进行补偿,解决了按帧补偿带来的图像扭曲问题。

附图说明

图1是现有技术中对图像帧进行补偿后的效果图;

图2是本申请实施例提供的图像帧补偿方法的实现逻辑图;

图3是本申请实施例提供的方法流程图;

图4是本申请实施例提供的图像成像与场同步信号关系图;

图5a、图5b是本申请实施例提供的抖动数据与图像块的对应示意图;

图6是本申请实施例提供的一种热成像摄像机的硬件结构图。

具体实施方式

为减轻因摄像机抖动造成的视频抖动,现阶段的稳像技术可以使用陀螺仪获取视频每一帧的角速度,根据每一帧的角速度计算该帧的偏移量,并根据偏移量对该帧进行补偿,使摄像机能在一定程度上具有防抖动的功能。

但由摄像机的成像机制可知,由于摄像机通过接收探测目标表面散发出来的辐射量,并将辐射量通过敏感元件转换为电压值,最后通过读出电路逐行获取每个探测单元的电压值并根据电压值生成图像;摄像机的成像机制决定了每个图像上的像素不是同一时刻生成的,而是按时间顺序逐行逐个生成的。因此对于抖动的摄像机而言,一帧图像的不同行在成像过程中的偏移情况是不一样的,使用同一偏移量对整帧图像进行补偿会使补偿出来的图像出现扭曲,效果如图1所示,其中左图表示理想情况下的图像帧补偿效果,右图表示实际情况下的图像帧补偿效果。

本申请提供一种基于陀螺仪的图像帧补偿方案,在一定程度上减少稳像中出现的图像扭曲情况。本方案应用于摄像机,如热成像摄像机、可见光摄像机等。本方案的实现逻辑参见图2所示,可以包括抖动数据采集、运动估计和图像补偿三部分。抖动数据采集即在一帧图像的生成时间段内通过陀螺仪对摄像机的抖动数据进行采样;运动估计即将采样得到的抖动数据与该帧图像中的多行进行一一对应,根据对应后的抖动数据计算该帧图像中每一行的偏移量;图像补偿即使用不同的偏移量来校正同一帧图像中的不同行;通过对输入视频的各帧图像进行抖动数据采集、运动估计和图像补偿,最终可以得到稳定的输出视频。

请参考图3,在一个基本的实施方案中,针对输入视频中的每一图像帧,可执行如下步骤:

步骤301:对摄像机在生成当前图像帧的时间段内的抖动情况进行采样,得到n个抖动数据。

作为一种实施方式,可以通过安装在摄像机上的陀螺仪对摄像机在生成当前图像帧的时间段内的抖动情况进行采样,得到n个抖动数据;这n个抖动数据可以是该摄像机在生成当前图像帧的时间段内的n个角速度,其中n的大小与陀螺仪的采样频率有关,陀螺仪的采样频率越快,n的值越大。

当然,考虑到传感器的多样性以及未来可能出现更多新的传感器,本申请实施例并不限制抖动数据的具体形态,比如该抖动数据还可以是摄像机在生成当前图像帧的时间段内的偏移角度或是偏移量。

在本申请实施例中,抖动数据与图像帧之间同步关系的准确性尤为重要。如果采集到的抖动数据不能与每个图像帧完全对应上,将会导致运动估计的偏移和图像补偿的偏差。

一种图像成像与场同步信号之间的关系如图4所示,摄像机的探测器在t1时刻检测到场同步信号上升沿,在t2时刻开始生成图像,并在t3时刻检测到场同步下降沿,进入场消影期(扫描点扫描完一帧后要从图像的右下角返回到图像的左上角,开始新一帧的扫描,这一时间间隔称为场消隐期),直到t4时刻检测到下一个场同步信号上升沿,从而在t5时刻又开始生成图像。探测器在t2到t3之间生成了一帧图像,并在t5时刻开始生成又一帧图像。

为了使采集到的抖动数据能与每个图像帧能够对应上,陀螺仪可以以大于1/(tb-tc)的采样频率对场同步信号进行采样,并将采样值和同一时刻生成的抖动数据存入寄存器中,其中tb表示任一图像帧的开始生成时刻,tc为在tb之前最近一次检测到场同步信号上升沿的时刻。以图4为例,陀螺仪可以以大于1/(t2-t1)(或大于1/(t5-t4))的采样频率进行采样。由于陀螺仪的采样频率大于1/(t2-t1),所以在陀螺仪对场同步信号的采样值中一定可以找到场同步信号的上升沿和下降沿,如此就能将抖动数据与t1~t3时刻对应上,进一步的可以将t2时刻到t3时刻之间采集到的n个抖动数据与t2时刻到t3时刻之间生成的整个图像帧对应上。

步骤302:根据当前图像帧的行数r与上述n的数值关系,将当前图像帧分割成n或r个图像块,并根据上述n个抖动数据为每个图像块分配一个抖动数据。

作为一种实施方式,可以根据当前图像帧的行数r是否能整除在当前图像帧的生成时间段内采集到的抖动数据的数量n,来决定将当前图像帧分割成多少个图像块以及为每个图像块分配哪个抖动数据,具体如下:

第一种分配方式,在确定当前图像帧的行数r能整除抖动数据的数量n时,可以将当前图像帧分成n个图像块,每个图像块包括m行像素点,m=r/n。然后,从n个抖动数据中为每个图像块分配一个抖动数据,其中分配给第i个图像块的抖动数据在按照时间先后顺序排列的该n个抖动数据中排在第i位,第i个图像块由第(i-1)*m+1行至第i*m行像素点组成。

例如,参见图5a,假设一图像帧的行数为50行,在生成该图像帧的时间段内共采集到10个抖动数据;由于50可以整除10,则根据第一种分配方式,可以将该图像帧中每5行分为一个图像块,共分成10个图像块。针对第1行至第5行像素点构成的图像块,为其分配10个抖动数据中最先采集到的抖动数据;针对第6行至第10行像素点构成的图像块,为其分配10个抖动数据中第2个采集到的抖动数据;以此类推,针对第46行至第50行像素点构成的图像块,为其分配10个抖动数据中最后采集到的抖动数据。

第二种分配方式,在确定当前图像帧的行数r不能整除抖动数据的个数n时,可以对这n个抖动数据进行曲线拟合和重采样处理,得到r个抖动数据。然后,将当前图像帧的每一行像素点作为一个图像块,从该r个抖动数据中为每个图像块分配一个抖动数据,其中分配给第i个图像块的抖动数据在按照时间先后顺序排列的该r个抖动数据中排在第i位,第i个图像块由第i行像素点组成。

需要注意的是,当图像帧的行数r不能整除抖动数据个数n时,此时n的值可能大于r,也可能小于r。

例如,参见图5b,假设一图像帧的行数为50行,在生成该图像帧的时间段内共采集到20个抖动数据;由于50不能整除20,则根据第二种分配方式,相当于将该图像帧中的每一行作为一个图像块。对采集到的20个抖动数据进行曲线拟合和重采样处理,具体过程如下:假设这20个抖动数据是在1秒内采集到的,则意味着陀螺仪每隔50毫秒采集一个抖动数据,可以将这20个抖动数据拟合成曲线,在拟合得到的曲线上以1000/50=20毫秒为采样间隔进行等间距重采样,得到50个采样点,即50个抖动数据。之后,将这50个采样点中第1个采样点对应的抖动数据分配给该图像帧的第1行像素点,将第2个采样点对应的抖动数据分配给该图像帧的第2行像素点,以此类推,直至将最后一个采样点分配给该图像帧的最后一行像素点。

需要说明的是,上述两种分配方式仅为本申请实施例中可选的实施方式,本申请并不对具体的分配方式进行限定,只要能将在一帧时间内获取的多个抖动数据与该帧图像对应上即可。例如,还可以采取以下分配方式:无论当前图像帧的行数r是否能整除在当前图像帧的生成时间段内采集到的抖动数据的数量n,均对这n个抖动数据进行曲线拟合和重采样处理,得到p个抖动数据,其中p为预设的能被r整除的值;之后,可以将当前图像帧分成p个图像块,每个图像块包括r/p行像素点。最后,从重采样得到的p个抖动数据中为每个图像块分配一个抖动数据,其中分配给第i个图像块的抖动数据在按照时间先后顺序排列的该p个抖动数据中排在第i位,第i个图像块由第(i-1)*r/p+1行至第i*r/p行像素点组成。

步骤303:根据当前图像帧中每个图像块分配到的抖动数据对该图像块进行补偿,得到补偿后的当前图像帧。

这里,步骤303中可以通过如下方式对当前图像帧中的图像块进行补偿:先根据当前图像帧中每个图像块分配到的抖动数据计算该图像块的偏移量,然后根据计算得到的偏移量对该图像块进行补偿。

下面以抖动数据为摄像机在生成当前图像帧的时间段内的角速度为例,介绍如何根据当前图像帧中某个图像块分配到的抖动数据,计算该图像块的偏移量:

第一步,根据当前图像帧中该图像块分配到的角速度ωxi和ωyi,计算该图像块相对于前一图像帧的起始图像块的水平偏移角度θxi和垂直偏移角度θyi。

在一个例子中,当该图像块为当前图像帧的起始图像块时,该图像块相对于前一图像帧的起始图像块的水平偏移角度θxi和垂直偏移角度θyi满足以下公式要求:

其中,ta为前一图像帧的开始生成时刻,tb为当前图像帧的开始生成时刻;表示ta到tb之间采样到的摄像机的水平角速度和垂直角速度;δt表示抖动数据的采样周期。

以图4举例,如果将t2到t5之间陀螺仪采样到的角速度,以及陀螺仪的采样周期代入上述公式(1),则可以得到在t5开始生成的图像帧的起始图像块相对于t2到t3之间生成的图像帧的起始图像块的水平偏移角度和垂直偏移角度。

在另一个例子中,当该图像块不为当前图像帧的起始图像块时,该图像块相对于前一图像帧的起始图像块的水平偏移角度θxi和垂直偏移角度θyi满足以下公式要求:

其中,θx1和θy1为当前图像帧的起始图像块相对于前一图像帧的起始图像帧的水平偏移角度和垂直偏移角度,可以通过公式(1)计算得到;ωxk和ωyk为当前图像帧的第k个图像块分配到的水平角速度和垂直角速度。

第二步,根据第一步计算得到的该图像块相对于前一图像帧的起始图像块的水平偏移角度θxi和垂直偏移角度θyi,以及参考图像帧的起始图像块的绝对偏移角度,计算当前图像帧中该图像块相对于参考图像帧的水平偏移角度θ′xi和垂直偏移角度θ′yi。

具体的,将参考图像帧的起始图像块的绝对偏移角度加上该图像块相对于前一图像帧的起始图像块的水平偏移角度θxi和垂直偏移角度θyi,即可得到该图像块相对于参考图像块的水平偏移角度θ′xi和垂直偏移角度θ′yi。

这里的参考图像帧可以是输入视频的第一个图像帧。

第三步,根据当前图像帧中该图像块相对于参考图像帧的水平偏移角度θ′xi和垂直偏移角度θ′yi、摄像机的焦距f、以及摄像机的探测单元的边长μ,计算当前图像帧中该图像块相对于参考图像帧的水平偏移量δxi和垂直偏移量δyi。

具体的,当前图像帧中该图像块相对于参考图像帧的水平偏移量δxi和垂直偏移量δyi可以满足以下公式要求:

下面,介绍如何根据计算得到的偏移量,对当前图像帧中的图像块进行补偿:

第一步,确定摄像机在当前图像帧的水平抖动方向和垂直抖动方向。

第二步,针对当前图像帧中每个图像块,执行以下图像补偿操作:

1)水平方向上的补偿:确定通过公式(1)-(3)计算得到的该图像块相对于参考图像帧的水平偏移量δxi,i表示该图像块是当前图像帧中的第i个图像块;如果δxi不大于第一预设值,则将该图像块朝水平抖动方向平移δxi个像素点;如果δxi大于该第一预设值,则将该图像块朝水平抖动方向平移该第一预设值个像素点。

这里的第一预设值根据摄像机的焦距f,摄像机的探测单元的边长μ,摄像机的防抖需求系数θ确定。摄像机包括一个探测器,探测器包括多个探测单元,探测单元的边长单位为微米。防抖需求系数θ表示当摄像机的抖动角度不超过±θ时摄像机输出的视频保持稳定。在一个例子中,第一预设值可以等于

2)垂直方向上的补偿:确定通过公式(1)-(3)计算得到的该图像块相对于参考图像帧的垂直偏移量δyi,如果δyi不大于第二预设值,则将该图像块朝垂直抖动方向平移δyi个像素点;如果δyi大于该第二预设值,则将该图像块朝垂直抖动方向平移该第二预设值个像素点。

这里的第二预设值根据摄像机的焦距f,摄像机的探测单元的边长μ,摄像机的防抖需求系数θ确定。例如,第二预设值可以等于

第三步,对补偿后的图像帧进行裁剪和/或填补,使图像帧正常显示:

1)水平方向上的裁剪:以参考图像帧的中心点为中心,将当前图像帧的每个图像块在水平方向上左右各裁剪第三预设值个像素点。第三预设值根据摄像机的焦距f,摄像机的探测单元的边长μ,摄像机的防抖需求系数θ确定。例如,第二预设值可以等于

2)垂直方向上的裁剪/填补:如果摄像机在生成当前图像帧的时间段内的垂直抖动方向为向上抖动,则在将当前图像帧的每个图像块朝垂直抖动方向平移δyi或第二预设值个像素点之后,相邻图像块之间会出现重合区,所以需要对相邻图像块之间的重合区进行裁剪。

反之,如果摄像机在生成当前图像帧的时间段内的垂直抖动方向为向下抖动,则在将当前图像帧的每个图像块朝垂直抖动方向平移δyi或第二预设值个像素点之后,相邻图像块之间会出现空白区,所以需要对相邻图像块之间的空白区进行填补。实际应用中,由于相邻图像块之间的时间差非常短,空白区的宽度会比较小,一般只有1~2个像素点,可以使用平滑滤波的方法填补空白区,即取空白区上方图像块最后3行数据与空白区下方图像块最后3行数据进行加权求和,离空白区越近的数据权重越大,离空白区越远的数据权重越小。

可选的,为了使输出视频的每一个图像帧保持尺寸一致,可以在对当前图像帧执行完上述水平方向上的裁剪和垂直方向的裁剪/填补后,最后对整个当前图像帧在垂直方向上再进行一次裁剪,使得最终裁剪得到的当前图像帧的中心点与前一图像帧的中心点保持一致,且最终裁剪得到的当前图像帧相较于补偿前的当前图像帧在垂直方向上总共裁剪掉“2*第二预设值”个像素点。

至此,完成图3所示的流程。

通过图3所示的流程可以看出,本申请实施例在一帧时间内获取多个抖动数据,并将其与该帧图像中多行像素点一一对应;再根据这多个抖动数据计算得到多个偏移量,使用这多个偏移量对同一帧中的不同行进行补偿,解决了按帧补偿带来的图像扭曲问题。

以上对本申请提供的方法进行了描述。下面对本申请提供的装置进行描述。

参见图6,图6为本申请提供的一种热成像摄像机的硬件结构图。如图6所示,该热成像摄像机包括非制冷红外焦平面探测器601、陀螺仪602和处理器603。

需要说明的是,图6所示仅仅是热成像摄像机的一个范例,并且实际的热成像摄像机可以具有比图6中所示出的更多或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。

下面就本实施例提供的热成像摄像机进行描述。

所述非制冷红外焦平面探测器601,用于生成当前图像帧;

所述陀螺仪602,用于对所述热成像摄像机在生成当前图像帧的时间段内的抖动情况进行采样,得到n个抖动数据;

所述处理器603,被配置用于执行:根据当前图像帧的行数r与所述n的数值关系,将当前图像帧分割成n或r个图像块,并根据所述n个抖动数据为每个图像块分配一个抖动数据;根据当前图像帧中每个图像块分配到的抖动数据对该图像块进行补偿,得到补偿后的当前图像帧。

在其中一种实施方式中,所述处理器602,用于在确定当前图像帧的行数r能整除所述n时,将当前图像帧分成n个图像块,每个图像块包括m行像素点,m=r/n;从所述n个抖动数据中为每个图像块分配一个抖动数据,其中分配给第i个图像块的抖动数据在按照时间先后顺序排列的所述n个抖动数据中排在第i位,第i个图像块由第(i-1)*m+1行至第i*m行像素点组成。

在其中一种实施方式中,所述处理器603,用于在确定当前图像帧的行数r不能整除所述n时,对所述n个抖动数据进行曲线拟合和重采样处理,得到r个抖动数据;将当前图像帧的每一行像素点作为一个图像块,从所述r个抖动数据中为每个图像块分配一个抖动数据,其中分配给第i个图像块的抖动数据在按照时间先后顺序排列的所述r个抖动数据中排在第i位,第i个图像块由第i行像素点组成。

在其中一种实施方式中,所述陀螺仪602,用于确定热成像摄像机在当前图像帧的水平抖动方向和垂直抖动方向;

所述处理器603,用于针对当前图像帧中每个图像块执行图像补偿操作:根据该图像块分配到的抖动数据,计算该图像块相对于参考图像帧的水平偏移量δxi和垂直偏移量δyi,i表示该图像块是当前图像帧中的第i个图像块;如果δxi不大于第一预设值,则将该图像块朝水平抖动方向平移δxi个像素点;如果δxi大于所述第一预设值,则将该图像块朝水平抖动方向平移所述第一预设值个像素点;如果δyi不大于第二预设值,则将该图像块朝垂直抖动方向平移δyi个像素点;如果δyi大于所述第二预设值,则将该图像块朝垂直抖动方向平移所述第二预设值个像素点;所述第一预设值和第二预设值根据所述热成像摄像机的焦距f、所述热成像摄像机的探测单元的边长μ、所述热成像摄像机的防抖需求系数θ确定

在其中一种实施方式中,所述处理器603,还用于在针对当前图像帧中每个图像块执行图像补偿操作之后,以参考图像帧的中心点为中心,将每个图像块在水平方向上左右各裁剪第三预设值个像素点;所述第三预设值根据所述热成像摄像机的焦距f、所述热成像摄像机的探测单元的边长μ、所述热成像摄像机的防抖需求系数θ确定;如果所述热成像摄像机在生成当前图像帧的时间段内的垂直抖动方向为向上抖动,则对相邻图像块之间的重合区进行裁剪;如果所述热成像摄像机在生成当前图像帧的时间段内的垂直抖动方向为向下抖动,则对相邻图像块之间的空白区进行填补。

在其中一种实施方式中,所述抖动数据为所述热成像摄像机在生成当前图像帧的时间段内的角速度;所述处理器603,用于根据当前图像帧中该图像块分配到的角速度ωxi和ωyi,计算该图像块相对于前一图像帧的起始图像块的水平偏移角度θxi和垂直偏移角度θyi;根据该图像块相对于前一图像帧的起始图像块的水平偏移角度θxi和垂直偏移角度θyi,以及参考图像帧的起始图像块的绝对偏移角度,计算当前图像帧中该图像块相对于参考图像帧的水平偏移角度θ′xi和垂直偏移角度θ′yi;根据当前图像帧中该图像块相对于参考图像帧的水平偏移角度θ′xi和垂直偏移角度θ′yi、热成像摄像机的焦距f、以及热成像摄像机的探测单元的边长μ,计算当前图像帧中该图像块相对于参考图像帧的水平偏移量δxi和垂直偏移量δyi。

在其中一种实施方式中,当该图像块为当前图像帧的起始图像块时,所述处理器603计算得到的该图像块相对于前一图像帧的起始图像块的水平偏移角度θxi和垂直偏移角度θyi满足以下公式要求:

其中,ta为前一图像帧的开始生成时刻,tb为当前图像帧的开始生成时刻;表示ta到tb之间采样到的热成像摄像机的水平角速度和垂直角速度;δt表示抖动数据的采样周期。

在其中一种实施方式中,当该图像块不为当前图像帧的起始图像块时,所述处理器603计算得到的该图像块相对于前一图像帧的起始图像块的水平偏移角度θxi和垂直偏移角度θyi满足以下公式要求:

其中,θx1和θy1为当前图像帧的起始图像块相对于前一图像帧的起始图像帧的水平偏移角度和垂直偏移角度;ωxk和ωyk为当前图像帧的第k个图像块分配到的水平角速度和垂直角速度。

在其中一种实施方式中,所述处理器603计算得到的当前图像帧中该图像块相对于参考图像帧的水平偏移量δxi和垂直偏移量δyi满足以下公式要求:

在其中一种实施方式中,所述陀螺仪602,用于对热成像摄像机在生成当前图像帧的时间段内的抖动情况进行采样,所述陀螺仪602的采样频率大于1/(tb-tc);其中tb为当前图像帧的开始生成时刻,tc为在tb之前最近一次检测到场同步信号上升沿的时刻。

至此,完成图6所示热成像摄像机的描述。

此外,本申请实施例还提供一种摄像机,包括陀螺仪701和处理器702;

所述陀螺仪701,用于对摄像机在生成当前图像帧的时间段内的抖动情况进行采样,得到n个抖动数据;

所述处理器702,被配置用于执行:根据当前图像帧的行数r与所述n的数值关系,将当前图像帧分割成n或r个图像块,并根据所述n个抖动数据为每个图像块分配一个抖动数据;根据当前图像帧中每个图像块分配到的抖动数据对该图像块进行补偿,得到补偿后的当前图像帧。

所述陀螺仪701和处理器702的功能和作用具体详见上述图6中陀螺仪602和处理器603的功能和作用,在此不再赘述。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

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