CN111263069A - 防抖参数处理方法、装置、电子设备和可读存储介质 - Google Patents
防抖参数处理方法、装置、电子设备和可读存储介质 Download PDFInfo
- Publication number
- CN111263069A CN111263069A CN202010112747.1A CN202010112747A CN111263069A CN 111263069 A CN111263069 A CN 111263069A CN 202010112747 A CN202010112747 A CN 202010112747A CN 111263069 A CN111263069 A CN 111263069A
- Authority
- CN
- China
- Prior art keywords
- image frame
- value
- shake
- shake parameter
- cost function
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/682—Vibration or motion blur correction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/681—Motion detection
- H04N23/6812—Motion detection based on additional sensors, e.g. acceleration sensors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/80—Camera processing pipelines; Components thereof
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Studio Devices (AREA)
Abstract
本申请实施例提供了防抖参数处理方法、装置、电子设备和可读存储介质,该方法通过获取至少两个第一图像帧并从中选取得到参考图像帧和待校准图像帧,分别根据角速度差值和角度差值对待校准图像进行防抖处理,得到第一校准图像帧和第二校准图像帧;根据参考图像帧和第一校准图像帧,得到第一防抖参数值;根据参考图像帧和第二校准图像帧,得到第二防抖参数值;根据第一防抖参数值和第二防抖参数值确定目标防抖参数值。采用本申请的方法能够提高防抖参数值的准确性。
Description
技术领域
本申请涉及图像处理技术领域,特别是涉及一种防抖参数处理方法、装置、电子设备和计算机可读存储介质。
背景技术
传统的电子设备防抖方案主要有OIS(Optical image stabilization,光学防抖)和EIS(Electric Image Stabilization,EIS)两种。OIS主要是根据提供的相机姿态变化,计算镜头或者摄像头模组的补偿平移量并通过马达驱动镜头或者摄像头模组进行移动对相机抖动进行补偿。EIS主要通过收集相机运动和姿态变化信息,建模相机运动路径并进行平滑操作,根据相机位置和姿态对成像的图像进行图像仿射变换,得到稳定的图像帧画面。不管是OIS还是EIS,在使用之前都需要进行防抖参数的标定和校准。然而,传统的防抖参数处理方法,存在得到的防抖参数值不准确的问题。
发明内容
本申请实施例提供了一种防抖参数处理方法、装置、电子设备、计算机可读存储介质,可以提高防抖参数值的准确性。
一种防抖参数处理方法,包括:
获取第一预设时长内的至少两个第一图像帧;
从至少两个所述第一图像帧中选取图像帧,得到第一参考图像帧和第一待校准图像帧;
获取所述第一参考图像帧对应的第一角速度数据和第一角度数据,以及所述第一待校准图像帧对应的第二角速度数据和第二角度数据;
根据第一角速度差值以及防抖参数,对所述第一待校准图像进行防抖处理,得到第一校准图像帧,其中,所述第一角速度差值为所述第一角速度数据和所述第二角速度数据之间的差值;
将所述第一参考图像帧和所述第一校准图像帧代入代价函数,得到第一防抖参数值;
根据第一角度差值以及所述防抖参数,对所述第一待校准图像进行防抖处理,得到第二校准图像帧,其中,所述第一角度差值为所述第一角度数据和所述第二角度数据之间的差值;
将所述第一参考图像帧和所述第二校准图像帧代入所述代价函数,得到第二防抖参数值;
根据所述第一防抖参数值和所述第二防抖参数值确定目标防抖参数值。
一种防抖参数处理装置,包括:
图像帧获取模块,用于获取第一预设时长内的至少两个第一图像帧;
选取模块,用于从至少两个所述第一图像帧中选取图像帧,得到第一参考图像帧和第一待校准图像帧;
数据获取模块,用于获取所述第一参考图像帧对应的第一角速度数据和第一角度数据,以及所述第一待校准图像帧对应的第二角速度数据和第二角度数据;
第一防抖模块,用于根据第一角速度差值以及防抖参数,对所述第一待校准图像进行防抖处理,得到第一校准图像帧,其中,所述第一角速度差值为所述第一角速度数据和所述第二角速度数据之间的差值;
第一代入模块,将所述第一参考图像帧和所述第一校准图像帧代入代价函数,得到第一防抖参数值;
第二防抖模块,用于根据第一角度差值以及所述防抖参数,对所述第一待校准图像进行防抖处理,得到第二校准图像帧,其中,所述第一角度差值为所述第一角度数据和所述第二角度数据之间的差值;
第二代入模块,用于将所述第一参考图像帧和所述第二校准图像帧代入所述代价函数,得到第二防抖参数值;
确定模块,用于根据所述第一防抖参数值和所述第二防抖参数值确定目标防抖参数值。
一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
获取第一预设时长内的至少两个第一图像帧;
从至少两个所述第一图像帧中选取图像帧,得到第一参考图像帧和第一待校准图像帧;
获取所述第一参考图像帧对应的第一角速度数据和第一角度数据,以及所述第一待校准图像帧对应的第二角速度数据和第二角度数据;
根据第一角速度差值以及防抖参数,对所述第一待校准图像进行防抖处理,得到第一校准图像帧,其中,所述第一角速度差值为所述第一角速度数据和所述第二角速度数据之间的差值;
将所述第一参考图像帧和所述第一校准图像帧代入代价函数,得到第一防抖参数值;
根据第一角度差值以及所述防抖参数,对所述第一待校准图像进行防抖处理,得到第二校准图像帧,其中,所述第一角度差值为所述第一角度数据和所述第二角度数据之间的差值;
将所述第一参考图像帧和所述第二校准图像帧代入所述代价函数,得到第二防抖参数值;
根据所述第一防抖参数值和所述第二防抖参数值确定目标防抖参数值。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:
获取第一预设时长内的至少两个第一图像帧;
从至少两个所述第一图像帧中选取图像帧,得到第一参考图像帧和第一待校准图像帧;
获取所述第一参考图像帧对应的第一角速度数据和第一角度数据,以及所述第一待校准图像帧对应的第二角速度数据和第二角度数据;
根据第一角速度差值以及防抖参数,对所述第一待校准图像进行防抖处理,得到第一校准图像帧,其中,所述第一角速度差值为所述第一角速度数据和所述第二角速度数据之间的差值;
将所述第一参考图像帧和所述第一校准图像帧代入代价函数,得到第一防抖参数值;
根据第一角度差值以及所述防抖参数,对所述第一待校准图像进行防抖处理,得到第二校准图像帧,其中,所述第一角度差值为所述第一角度数据和所述第二角度数据之间的差值;
将所述第一参考图像帧和所述第二校准图像帧代入所述代价函数,得到第二防抖参数值;
根据所述第一防抖参数值和所述第二防抖参数值确定目标防抖参数值。
上述防抖参数处理方法、装置、电子设备和可读存储介质,获取第一预设时长内的至少两个第一图像帧,并从至少两个第一图像帧中选出第一参考图像帧和第一待校准图像帧,由于在预设时长内的图像帧之间的差距不是很大,因此,适用于防抖场景,因此可计算参考图像帧和经校准的图像帧之间的差异;获取角速度和角度数据,分别对第一待校准图像进行防抖处理,计算代价函数,即使用同样的两张图像进行两种不同的防抖处理,得到第一防抖参数值和第二防抖参数值,并从中确定目标防抖参数值,能够提高防抖参数值的准确性,从而提高防抖的准确性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中防抖参数处理方法的流程图;
图2为一个实施例中第一代价函数值和第二代价函数值的获取方式的流程示意图;
图3为另一个实施例中防抖参数处理方法的流程图;
图4为一个实施例中防抖参数处理装置的结构框图;
图5为一个实施例中电子设备的内部结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种数据,但这些数据不受这些术语限制。这些术语仅用于将第一个数据与另一个数据区分。举例来说,在不脱离本申请的范围的情况下,可以将第一图像帧称为第二图像帧,且类似地,可将第二图像帧称为第一图像帧。第一图像帧和第二图像帧两者都是图像帧,但其不是同一图像帧。
图1为一个实施例中防抖参数处理方法的流程图。本实施例中的防抖参数处理方法,以运行于电子设备为例进行描述。可以理解的是,该方法也可以应用于服务器,还可以应用于包括电子设备和服务器的系统,并通过电子设备和服务器的交互实现。该电子设备可以是但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备等。该电子设备需包括陀螺仪和摄像装置。如图1所示,一种防抖参数处理方法,包括步骤102至步骤116。
步骤102,获取第一预设时长内的至少两个第一图像帧。
其中,第一预设时长的取值可以是视频中几个图像帧的时长,也可以是两个图像帧的时长等不限于此。至少两个第一图像帧可以是视频中的图像帧,也可以是连续拍摄同一场景的图像帧等。第一图像帧具体可以是拍摄标定图像得到的。由于标定图像的特征点较明显,因此可以提高电子设备的计算效率以及在一定程度上提高防抖参数值的准确性。
具体地,电子设备获取第一预设时长内的连续两个第一图像帧,或者间隔预设帧数的至少两个第一图像帧。例如,在视频拍摄时,电子设备获取视频帧的第一个图像帧、第二个图像帧、第三个图像帧…第N个图像帧。
步骤104,从至少两个第一图像帧中选取图像帧,得到第一参考图像帧和第一待校准图像帧。
具体地,第一参考图像帧是指不进行防抖校准的第一图像帧。第一待校准图像帧是指待处理的图像帧。第一参考图像帧的数量和第一待校准图像帧的数量相同且数量不限。电子设备从至少两个第一图像帧中选取图像帧,得到第一参考图像帧和第一待校准图像帧。例如,电子设备从第一个图像帧、第二个图像帧、第三个图像帧…第N个图像帧中选取第三个图像帧作为第一参考图像帧,第四个图像帧作为第一待校准图像帧。
步骤106,获取第一参考图像帧对应的第一角速度数据和第一角度数据,以及第一待校准图像帧对应的第二角速度数据和第二角度数据。
其中,第一角速度数据和第二角速度数据均是根据该电子设备的陀螺仪输出的角速度数据确定的。第一角速度数据和第二角速度数据均可以是经过校准后得到的。第一角度数据是根据第一角速度数据转换得到的。同理,第二角度数据是根据第二角速度数据转换得到的。例如,角速度数据可通过工模校准转换为角度数据。工模校准是指一种手机真实姿态和传感器数据的校准,通过该校准后可将陀螺仪传感器数据直接转换成角度,表示手机的姿态。第一角速度数据转换为第一角度数据的方式可根据标定确定。角速度数据可以包括pitch(俯仰角)、yaw(偏航角)、roll(翻滚角)三个方向的瞬时角速度。
电子设备在获取第一参考图像帧时,同时获取对应时刻的陀螺仪输出的角速度数据,可直接将陀螺仪输出的角速度数据作为第一角速度数据,或者对陀螺仪输出的角速度数据进行校准后得到第一角速度数据。同样地,电子设备在获取第一待校准图像帧时,同时获取对应时刻的陀螺仪输出的角速度数据,可直接将陀螺仪输出的角速度数据作为第二角速度数据,或者对陀螺仪输出的角速度数据进行校准后得到第二角速度数据。例如,第一参考图像帧为F1,第一待校准图像帧为F2,那么第一参考图像帧对应第一角速度数据α1,第一角度数据θ1;那么第一待校准图像帧对应第二角速度数据α2,第二角度数据θ2。
本实施例中,第一角速度数据的确定方式,包括:获取陀螺仪输出的初始角速度数据以及零漂校准值;根据零漂校准值对初始角速度数据进行校准,得到第一角速度数据。其中,零漂校准值是通过将电子设备静置预设时长得到的。
步骤108,根据第一角速度差值以及防抖参数,对第一待校准图像进行防抖处理,得到第一校准图像帧,其中,第一角速度差值为第一角速度数据和第二角速度数据之间的差值。
其中,防抖参数是一个变量。防抖参数具体可以是相机内参、畸变参数、帧读出时间、角速度数据时间戳、帧时间戳之间的偏移值、陀螺仪时间戳间隔等不限于此。不同防抖参数对应的防抖处理函数可以不相同。校准图像帧均是指防抖处理后的图像帧,而校准图像帧中包含防抖参数,即校准图像帧仍旧是一个变量。第一校准图像帧是指对第一待校准图像进行防抖处理后的图像帧。
具体地,电子设备根据第一角速度数据和第二角速度之间的差值确定第一角速度差值。电子设备根据第一角速度差值和防抖参数,对第一待校准图像进行防抖处理,得到第一校准图像帧。例如,第一校准图像帧可为F2(w,△α),其中△α可为(α1-α2),w为防抖参数。
步骤110,将第一参考图像帧和第一校准图像帧代入代价函数,得到第一防抖参数值。
其中,代价函数是用于找到最优解的函数,可以是指所有样本误差之和,也可以是指所有样本误差的平均等不限于此。代价函数可用于表征图像帧之间的差异,例如用于表征第一参考图像帧和第一校准图像帧之间的差异。第一防抖参数值与该防抖参数相对应。
具体地,代价函数为J=||(F1-F2)||、J=||(F1-F2)||2、J=∑n||(F1-F2)||、J=∑n||(F1-F2)||2等不限于此。具体可以是J=||(F1-F2(w,△α))||、J=||(F1-F2(w,△α))||2、J=∑n||(F1-F2(w,△α))||或者J=||(F1-F2(w,△α))||2其中,n为帧数,w为防抖参数,F1为参考图像帧,F2为校准图像帧,△α为角速度差值。电子设备将第一参考图像帧和第一校准图像帧代入代价函数中,得到第一防抖参数值。由于代价函数中仅有一个未知数w,因此,可求得第一防抖参数值。
本实施例中,代价函数还可以J=∑n||(F1-w(F2,△α))||2的形式出现,w(F2,△α)表示用防抖参数w对F2图像进行防抖处理,Δα为防抖投影变换时到目标投影平面的角速度表示。
步骤112,根据第一角度差值以及防抖参数,对第一待校准图像进行防抖处理,得到第二校准图像帧,其中,第一角度差值为第一角度数据和第二角度数据之间的差值。
其中,第二校准图像帧是指对第一待校准图像进行防抖处理后的图像帧,与角度数据相关。
具体地,电子设备根据第一角度数据和第二角度数据之间的差值确定第一角度差值。电子设备根据第一角度差值和防抖参数,对第一待校准图像进行防抖处理,得到第二校准图像帧。例如,第二校准图像帧可为F2(w,△θ),其中△θ可为(θ1-θ2),w为防抖参数。
步骤114,将第一参考图像帧和第二校准图像帧代入代价函数,得到第二防抖参数值。
其中,第二防抖参数值是根据角度数据计算得到的。第二防抖参数值与该防抖参数相对应。
具体地,代价函数为J=||(F1-F2)||、J=||(F1-F2)||2、J=∑n||(F1-F2)||、J=∑n||(F1-F2)||2等不限于此。具体可以是J=||(F1-F2(w,△θ))||、J=||(F1-F2(w,△θ))||2、J=∑n||(F1-F2(w,△θ))||或者J=||(F1-F2(w,△θ))||2其中,n为帧数,w为防抖参数,F1为参考图像帧,F2为校准图像帧,△θ为角度差值。电子设备将第一参考图像帧和第二校准图像帧代入代价函数中,得到第二防抖参数值。由于代价函数中仍然仅有一个未知数w,因此,可求得第二防抖参数值。
本实施例中,代价函数还可以J=∑n||(F1-w(F2,△θ))||2的形式出现,w(F2,△θ)表示用防抖参数w对F2图像进行防抖处理,Δθ为防抖投影变换时到目标投影平面的角度表示。
步骤116,根据第一防抖参数值和第二防抖参数值确定目标防抖参数值。
具体地,电子设备从第一防抖参数值和第二防抖参数值中选取一个值作为目标防抖参数值。例如,电子设备在将第一参考图像帧和第一校准图像帧代入代价函数,并求得第一防抖参数值后,计算得到对应的第一代价函数值;将参考图像帧和第二校准图像帧代入代价函数并求得第二防抖参数值后,计算得到对应的第二代价函数值;将代价函数值最小的作为目标防抖参数值。
本实施例中的防抖参数处理方法,获取第一预设时长内的至少两个第一图像帧,并从至少两个第一图像帧中选出第一参考图像帧和第一待校准图像帧,由于在预设时长内的图像帧之间的差距不是很大,因此,适用于防抖场景,由于防抖的本质是将一个画面从其成像平面投影到目标平面,因此可计算参考图像帧和经校准的图像帧之间的差异;获取角速度和角度数据,分别对第一待校准图像进行防抖处理,计算代价函数,即使用同样的两张图像进行两种不同的防抖处理,得到第一防抖参数值和第二防抖参数值,并从中确定目标防抖参数值,能够提高防抖参数值的准确性,从而提高防抖的准确性。
在一个实施例中,代价函数用于表征校准图像帧和参考图像帧之间的差异。将第一参考图像帧和第一校准图像帧代入代价函数,得到第一防抖参数值,包括:将第一参考图像帧和第一校准图像帧代入代价函数,当代价函数的取值达到最小值时,将对应的防抖参数值作为第一防抖参数值。将第一参考图像帧和第二校准图像帧代入代价函数,得到第二防抖参数值,包括:将第一参考图像帧和第二校准图像帧代入代价函数,当代价函数的取值达到最小值时,将对应的防抖参数值作为第二防抖参数值。
本实施例中的防抖参数处理方法,第一参考图像帧为已知的参考图像帧,可视为常数;第一校准图像帧可视为包括防抖参数的函数,那么将第一参考图像帧和第一校准图像帧代入代价函数中,当代价函数的取值达到最小值时,即第一参考图像帧和第一校准图像帧之间的差异达到最小值,取得第一防抖参数值,能够得到一个防抖效果较好的第一防抖参数值。同理,第二校准图像帧可视为包括防抖参数的函数,那么将第一参考图像帧和第二校准图像帧代入代价函数中,当代价函数的取值达到最小值时,即第一参考图像帧和第二校准图像帧之间的差异达到最小值,取得第二防抖参数值,能够得到一个防抖效果较好的第二防抖参数值。
在一个实施例中,代价函数为参考图像帧与校准图像帧的差值函数,或者代价函数为参考图像帧和校准图像帧的差值函数的平方。
具体地,代价函数可以为J=||(F1-F2)||或者J=||(F1-F2)||2。那么,F1可以是第一参考图像帧,F2可以是第一校准图像帧,F2也可以是第二校准图像帧。差值函数即为||(F1-F2)||,差值函数的平方即为||(F1-F2)||2。
本实施例中的防抖参数处理方法,由于防抖的本质是将一个画面从其成像平面投影到目标平面,那么参考图像帧可视为目标平面,校准图像帧可视为成像平面,需要最小化二者之间的差异,代价函数为参考图像帧和校准图像帧的差值函数的平方,能够得到用于表征图像之间差异的代价函数,从而提高目标防抖参数值的准确性,进而提高防抖准确性。
在一个实施例中,第一参考图像帧、第一待校准图像帧、第一校准图像帧和第二校准图像帧的数量均相同且为至少两个。将第一参考图像帧和第一校准图像帧代入代价函数,当代价函数的取值达到最小值时,将对应的防抖参数值作为第一防抖参数值,包括:确定每个第一参考图像帧和对应的每个第一校准图像帧的差值函数,得到至少两个第一差值函数;根据至少两个第一差值函数求第一平方和,当第一平方和达到最小值时,将对应的防抖参数值作为第一防抖参数值。
将第一参考图像帧和第二校准图像帧代入代价函数,当代价函数的取值达到最小值时,将对应的防抖参数值作为第二防抖参数值,包括:确定每个第一参考图像帧和对应的每个第二校准图像帧的差值函数,得到至少两个第二差值函数;根据至少两个第二差值函数求第二平方和,当第二平方和达到最小值时,将对应的防抖参数值作为第二防抖参数值。
具体地,代价函数的表现形式为J=∑n||(F1-F2)||2,其中n为帧数。那么,F1可以是第一参考图像帧,F2可以是第一校准图像帧,F2也可以是第二校准图像帧。电子设备确定每个第一参考图像帧和对应的每个第一校准图像帧和第二校准图像帧的差值函数,得到至少两个差值函数。即差值函数为||(F1-F2)||、||(F2-F3)||…不限于此。根据至少两个差值函数求平方和,即||(F1-F2)||2+||(F2-F3)||2…不限于此。
本实施例中的防抖参数处理方法,图像帧的数量为至少两个,确定参考图像帧和校准图像帧之间的图像帧差值函数,并将图像帧差值函数再求平方和,从而计算得到第一防抖参数值和第二防抖参数值,则参与校准的样本图像帧增加,避免偶然性,提高第一防抖参数值和第二防抖参数值的准确数,从而提高目标防抖参数值的准确性。
在一个实施例中,根据第一防抖参数值和第二防抖参数值确定目标防抖参数值,包括:获取第一防抖参数值对应的第一代价函数值,以及第二防抖参数值对应的第二代价函数值,其中,第一代价函数值和第二代价函数值均是根据代价函数计算得到;根据第一代价函数值和第二代价函数值确定函数最小值;将函数最小值所对应的防抖参数值作为目标防抖参数值。
其中,第一代价函数值与第一防抖参数值相关,即与第一角速度数据和第二角速度数据相关。同理,第二代价函数值与第二防抖参数值相关,即与第一角度数据和第二角度数据相关。
具体地,例如代价函数为J,那么在通过代价函数求得第一防抖参数值和第二防抖参数值时,能够计算得到J1和J2的值,即第一代价函数值和第二代价函数值。电子设备根据第一代价函数值和第二代价函数值确定其中的函数最小值,将函数最小值所对应的防抖参数值作为目标防抖参数值。
本实施例中的防抖参数处理方法,获取第一防抖参数值对应的第一代价函数值,以及第二防抖参数值对应的第二代价函数值,根据第一代价函数值和第二代价函数值确定函数最小值,将函数最小值所对应的防抖参数值作为目标防抖参数值,即将图像之间差异最小时所对应的防抖参数值作为目标防抖参数值,能够提高防抖参数的准确性,从而提高防抖的准确性。
在一个实施例中,如图2所示,为一个实施例中第一代价函数值和第二代价函数值的获取方式的流程示意图,包括:
步骤202,获取第二预设时长内的至少两个第二图像帧,第二图像帧与第一图像帧不相同。
其中,第二预设时长可以与第一预设时长相同也可以不相同。第二图像帧用于验证第一防抖参数值和第二防抖参数值的防抖效果。第二图像帧可以是用户在实际使用电子设备时获取的图像帧。第二预设时长的取值可以是视频中几个图像帧的时长,也可以是两个图像帧的时长等不限于此。至少两个第二图像帧可以是视频中的图像帧,也可以是连续拍摄同一场景的图像帧等。
具体地,电子设备获取第二预设时长内的连续两个第二图像帧,或者间隔预设帧数的至少两个第二图像帧。
步骤204,从至少两个第二图像帧中选取图像帧,得到第二参考图像帧和第二待校准图像帧。
具体地,第二参考图像帧是指不进行防抖校准的第二图像帧。第二待校准图像帧是指待处理的第二图像帧。第二参考图像帧的数量和第二待校准图像帧的数量相同且数量不限。电子设备从至少两个第二图像帧中选取图像帧,得到第二参考图像帧和第二待校准图像帧。
步骤206,获取第二参考图像帧对应的第三角速度数据和第三角度数据,以及第二待校准图像帧对应的第四角速度数据和第四角度数据。
具体地,第三角速度数据和第四角速度数据均是根据该电子设备的陀螺仪输出的角速度数据确定的。第三角度数据是根据第三角速度数据转换得到的。同理,第四角度数据是根据第四角速度数据转换得到的。第三角速度数据转换为第三角度数据的方式可根据标定确定。
电子设备在获取第三参考图像帧时,同时获取对应时刻的陀螺仪输出的角速度数据,可直接将陀螺仪输出的角速度数据作为第三角速度数据,或者对陀螺仪输出的角速度数据进行校准后得到第三角速度数据。同样地,电子设备在获取第三待校准图像帧时,同时获取对应时刻的陀螺仪输出的角速度数据,可直接将陀螺仪输出的角速度数据作为第四角速度数据,或者对陀螺仪输出的角速度数据进行校准后得到第四角速度数据。
步骤208,根据第二角速度差值和第一防抖参数值对第二待校准图像进行防抖处理,得到第三校准图像帧,其中,第二角速度差值为第三角速度数据和第四角速度数据之间的差值。
具体地,电子设备根据第三角速度数据和第四角速度数据之间的差值确定第二角速度差值。电子设备根据第二角速度差值和第一防抖参数值,对第二待校准图像进行防抖处理,得到第三校准图像帧。
步骤210,将第二参考图像帧和第三校准图像帧代入代价函数,得到第一代价函数值。
具体地,代价函数可以为J=||(F1-F2(w,△α))||,或者J=||(F1-F2(w,△α))||2等不限于此。其中F1为参考图像帧,F2为校准图像帧,w为防抖参数,△α为角速度差值参数。那么本实施例中,F1为第二参考图像帧,F2为第三校准图像帧,w取值为第一防抖参数值,△α取值为第二角速度差值,则可以计算得到第一代价函数值。
步骤212,根据第二角度差值和第一防抖参数值对第二待校准图像进行防抖处理,得到第四校准图像帧,其中,第二角度差值为第三角度数据和第四角度数据之间的差值。
其中,第四校准图像帧是指对第二待校准图像进行防抖处理后的图像帧,与角度数据相关。
具体地,电子设备根据第三角度数据和第四角度数据之间的差值确定第三角度差值。电子设备根据第三角度差值和防抖参数,对第三待校准图像进行防抖处理,得到第四校准图像帧。
步骤214,将第二参考图像帧和第四校准图像帧代入代价函数,得到第二代价函数值。
具体地,代价函数可以为J=||(F1-F2(w,△θ))||,或者J=||(F1-F2(w,△θ))||2等不限于此。其中F1为参考图像帧,F2为校准图像帧,w为防抖参数,△θ为角速度差值参数。那么本实施例中,F1为第二参考图像帧,F2为第四校准图像帧,w取值为第二防抖参数值,△θ取值为第二角度差值,则可以计算得到第二代价函数值。
本实施例中的防抖参数处理方法,获取第二预设时长内的至少两个第二图像帧,并从至少两个第二图像帧中选出第二参考图像帧和第二待校准图像帧,由于在预设时长内的图像帧之间的差距不是很大,因此,适用于防抖场景,可计算参考图像帧和经校准的图像帧之间的差异,并且第二图像帧与第一图像帧不相同,可用第二图像帧验证第一图像帧所得的防抖参数值的正确性。
在一个实施例中,第二参考图像帧、第二待校准图像帧、第三校准图像帧和第四校准图像帧的数量均相同且为至少两个;代价函数用于表征图像之间的差异。将第二参考图像帧和第三校准图像帧代入代价函数,得到第一代价函数值,包括:确定每个第二参考图像帧和对应的每个第三校准图像帧之间的第一图像帧差值,得到至少两个第一图像帧差值;将至少两个第一图像帧差值求和,得到第一代价函数值。
将第二参考图像帧和第四校准图像帧代入代价函数,得到第二代价函数值,包括:确定每个第二参考图像帧和对应的每个第四校准图像帧之间的第二图像帧差值,得到至少两个第二图像帧差值;将至少第二图像帧差值求和,得到第二代价函数值。
其中,第二参考图像帧、第二待校准图像帧、第三校准图像帧和第四校准图像帧的数量均相同且为至少两个。代价函数用于表征图像之间的差异。
具体地,第二参考图像帧与第二校准图像帧相对应,而由于第三校准图像帧是根据第二校准图像帧进行防抖处理后得到的,那么第二参考图像帧也与第三校准图像帧相对应。那么以代价函数为J=∑n||(F1-F2)||为例,可得J=(F1-F2(w,△α)+F2-F3(w,△α)+F3-F4(w,△α)…Fn-1-Fn(w,△α))。以F2(w,△α)和F2为例,F2(w,△α)为校准后的图像,F2为原始的第二图像帧。F1-F2(w,△α)、F2-F3(w,△α)等即为第一图像帧差值。电子设备对第一图像帧差值进行求和后得到第一代价函数值。
同样地,例如,根据上述代价函数,可得J=(F1-F2(w,△θ)+F2-F3(w,△θ)+F3-F4(w,△θ)…Fn-1-Fn(w,△θ))。以F2(w,△θ)和F2为例,F2(w,△θ)为校准后的图像,F2为原始的第二图像帧。F1-F2(w,△θ)、F2-F3(w,△θ)等即为第二图像帧差值。电子设备对第二图像帧差值进行求和后得到第二代价函数值。
本实施例中的防抖参数处理方法,图像帧的数量为至少两个,确定参考图像帧和校准图像帧之间的图像帧差值,并将图像帧差值求和计算得到代价函数值,则参与验证的样本图像帧增加,避免偶然性,提高目标防抖参数值的准确性。
在一个实施例中,第二参考图像帧、第二待校准图像帧、第三校准图像帧和第四校准图像帧的数量均相同且为至少两个;代价函数用于表征图像之间的差异。将第二参考图像帧和第三校准图像帧代入代价函数,得到第一代价函数值,包括:确定每个第二参考图像帧和对应的每个第三校准图像帧之间的第一图像帧差值,得到至少两个第一图像帧差值;将至少两个第一图像帧差值求均值,得到第一代价函数值。
将第二参考图像帧和第四校准图像帧代入代价函数,得到第二代价函数值,包括:确定每个第二参考图像帧和对应的每个第四校准图像帧之间的第二图像帧差值,得到至少两个第二图像帧差值;将至少第二图像帧差值求均值,得到第二代价函数值。
具体地,J={∑n||(F1-F2)||}/(n-1),或者J={∑n||(F1-F2)||2}/(n-1),即求均值。而图像帧的数量为至少两个,确定参考图像帧和校准图像帧之间的图像帧差值,并将图像帧差值求均值计算得到代价函数值,则参与验证的样本图像帧增加,避免偶然性,提高目标防抖参数值的准确性。
在一个实施例中,如图3所示,为另一个实施例中防抖参数处理的流程示意图,包括以下步骤:
根据第一角速度差值以及防抖参数,对第一待校准图像进行防抖处理,得到第一校准图像帧,包括:
步骤302,根据第一角速度差值,以及至少两个防抖参数中每个防抖参数,分别对第一待校准图像进行防抖处理,得到第一校准图像帧集,第一校准图像帧集中包括每个防抖参数对应的第一校准图像帧。
具体地,例如防抖参数为w1和w2。那么电子设备根据第一角速度差值和w1对第一待校准图像进行防抖处理,得到第一校准图像帧G1;电子设备根据第一角速度差值和w2对第一待校准图像进行防抖处理,得到第一校准图像帧G2。那么G1和G2组成第一校准图像帧集,其中包括每个防抖参数对应的图像帧。
将第一参考图像帧和第一校准图像帧代入代价函数,得到第一防抖参数值,包括:
步骤304,将第一参考图像帧分别和每个第一校准图像帧代入代价函数,得到第一防抖参数值集,第一防抖参数值集中包括每个防抖参数对应的第一防抖参数值。
其中,防抖参数包括至少两个防抖参数。该至少两个防抖参数为相关的防抖参数。
具体地,例如,第一参考图像帧为G0,防抖参数为w1和w2,第一校准图像帧集中包括G1和G2。那么电子设备将G0和G1代入代价函数中,得到防抖参数w1对应的第一防抖参数值a。电子设备将G0和G2代入代价函数中,得到防抖参数w2对应的第一防抖参数值b。第一防抖参数值a和第一防抖参数值b组成第一防抖参数值集。
根据第一角度差值以及防抖参数,对第一待校准图像进行防抖处理,得到第二校准图像帧,包括:
步骤306,根据第一角度差值以及至少两个防抖参数中每个防抖参数,对第一待校准图像进行防抖处理,得到第二校准图像帧集,第二校准图像帧集中包括每个防抖参数对应的图像帧。
将参考图像帧和第二校准图像帧代入代价函数,得到第二防抖参数值,包括:
步骤308,将第一参考图像帧和每个第二校准图像帧代入代价函数,得到第二防抖参数值集,第二防抖参数值集中包括每个防抖参数对应的第二防抖参数值。
根据第一防抖参数值和第二防抖参数值确定目标防抖参数值,包括:
步骤310,根据第一防抖参数值集和第二防抖参数值集确定目标防抖参数值集。
具体地,电子设备从第一防抖参数值集和第二防抖参数值集中确定目标防抖参数值集。
本实施例中,电子设备可获取第一防抖参数值集对应的第三代价函数值,获取第二防抖参数值集对应的第四代价函数值;将第三代价函数值和第四代价函数值中的函数最小值,所对应的防抖参数集,作为目标防抖参数值集。
本实施例中的防抖参数处理方法,由于在实际使用场景中,防抖方式只能选择一种,即根据角速度数据进行防抖或者根据角度数据进行防抖,那么根据第一防抖参数值集和第二防抖参数值集来确定目标防抖参数集,则可以从中选择出根据多个目标防抖参数值进行防抖的最优的防抖方案,从而提高防抖参数值的准确性,进而提高防抖的准确性。
在一个实施例中,目标防抖参数值为目标时间戳偏移参数值。该防抖参数处理方法还包括:
步骤(a1),获取目标图像帧对应的参考时刻值,和第一目标角速度数据以及对应的第一时刻值,其中,目标图像帧与第一目标角速度数据相对应。
具体地,在电子设备生成目标图像帧时,会记录一个时间戳,即参考时刻值。在陀螺仪输出角速度数据时,也会记录一个时间戳,即第一时刻值。在电子设备生成目标图像时,同时陀螺仪也会输出角速度数据,因此目标图像帧与第一目标角速度数据相对应。
步骤(a2),获取第二目标角速度数据以及对应的第二时刻值。
具体地,第二时刻值可以是第一时刻值的前向时刻值,或者后向时刻值。那么第二目标角速度数据可为获取第一目标角速度数据之前或者之后的角速度数据。
步骤(a3),根据参考时刻值和时间戳偏移值确定目标时刻值。
具体地,电子设备采集目标图像帧的时刻,和电子设备生成对应的时间戳之间可能会有延迟,即时间戳偏移值。电子设备根据参考时刻值和时间戳偏移值即可计算得到目标时刻值。例如,参考时刻值为Ft,时间戳偏移值为dt,那么目标时刻值为(Ft+dt)。
步骤(a4),根据第一目标角速度数据、第一时刻值、第二目标角速度数据、第二时刻值和目标时刻值进行角速度数据补偿,得到目标角速度数据。
具体地,第一目标角速度数据、第一时刻值、第二目标角速度数据、第二时刻值和目标时刻值均为已知的数据,因此可以计算得到目标角速度数据。例如,一个点为(第一时刻值,第一目标角速度数据),另一个点为(第二时刻值,第二目标角速度数据),那么,根据两个已知的点,求(目标时刻值,y)中的y值,y值即目标角速度数据,可通过线性函数求中间值的方式计算得到。
例如,例如存在目标图像帧的参考时刻值Ft,对应的第一时刻值为Gt,校准得到的时间戳偏移量为dt,第一角速度数据为gyrot,第二角速度数据gyrot-1,第二时刻值为Gt-1,目标时刻值实际为Ft+dt,目标时刻值可以为在Gt和Gt-1之间某个时刻。
则目标角速度数据=(Ft+dt-Gt)/(Gt-Gt-1)*(gyrot-gyrot-1)+gyrot-1。
本实施例中的防抖参数处理方法,电子设备采集目标图像帧的时刻,和电子设备生成对应的时间戳之间可能会有延迟,即时间戳偏移值,能够通过得到的时间戳偏移值对角速度数据进行校准,提高角速度数据的准确性。
在一个实施例中,一种防抖参数处理方法,包括:
步骤(b1),获取第一预设时长内的至少两个第一图像帧。
步骤(b1),从至少两个第一图像帧中选取图像帧,得到第一参考图像帧和第一待校准图像帧。
步骤(b1),获取第一参考图像帧对应的第一角速度数据和第一角度数据,以及第一待校准图像帧对应的第二角速度数据和第二角度数据。
步骤(b1),根据第一角速度差值以及防抖参数,对第一待校准图像进行防抖处理,得到第一校准图像帧,其中,第一角速度差值为第一角速度数据和第二角速度数据之间的差值。
步骤(b1),确定每个第一参考图像帧和对应的每个第一校准图像帧的差值函数,得到至少两个第一差值函数。
步骤(b2),根据至少两个第一差值函数求第一平方和,当第一平方和达到最小值时,将对应的防抖参数值作为第一防抖参数值。
步骤(b3),确定每个第一参考图像帧和对应的每个第二校准图像帧的差值函数,得到至少两个第二差值函数。
步骤(b4),根据至少两个第二差值函数求第二平方和,当第二平方和达到最小值时,将对应的防抖参数值作为第二防抖参数值。
步骤(b5),获取第二预设时长内的至少两个第二图像帧,第二图像帧与第一图像帧不相同。
步骤(b6),从至少两个第二图像帧中选取图像帧,得到第二参考图像帧和第二待校准图像帧。
步骤(b7),获取第二参考图像帧对应的第三角速度数据和第三角度数据,以及第二待校准图像帧对应的第四角速度数据和第四角度数据。
步骤(b8),根据第二角速度差值和第一防抖参数值对第二待校准图像进行防抖处理,得到第三校准图像帧,其中,第二角速度差值为第三角速度数据和第四角速度数据之间的差值。
步骤(b9),将第二参考图像帧和第三校准图像帧代入代价函数,得到第一代价函数值。
步骤(b10),根据第二角度差值和第一防抖参数值对第二待校准图像进行防抖处理,得到第四校准图像帧,其中,第二角度差值为第三角度数据和第四角度数据之间的差值。
步骤(b11),将第二参考图像帧和第四校准图像帧代入代价函数,得到第二代价函数值。
步骤(b12),根据第一代价函数值和第二代价函数值确定函数最小值。
步骤(b13),将函数最小值所对应的防抖参数值作为目标防抖参数值。
步骤(b14),获取目标图像帧对应的参考时刻值,和第一目标角速度数据以及对应的第一时刻值,其中,目标图像帧与第一目标角速度数据相对应。
步骤(b15),获取第二目标角速度数据以及对应的第二时刻值。
步骤(b16),根据参考时刻值和时间戳偏移值确定目标时刻值。
步骤(b17),根据第一目标角速度数据、第一时刻值、第二目标角速度数据、第二时刻值和目标时刻值进行角速度数据补偿,得到目标角速度数据。
应该理解的是,虽然上述步骤(b1)至(b17)中的各个步骤按照数字的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。
本实施例中的防抖参数处理方法,获取第一预设时长内的至少两个第一图像帧,并从至少两个第一图像帧中选出第一参考图像帧和第一待校准图像帧,由于在预设时长内的图像帧之间的差距不是很大,因此,适用于防抖场景,由于防抖的本质是将一个画面从其成像平面投影到目标平面,因此可计算参考图像帧和经校准的图像帧之间的差异;获取角速度和角度数据,分别对第一待校准图像进行防抖处理,计算代价函数,即使用同样的两张图像进行两种不同的防抖处理,得到第一防抖参数值和第二防抖参数值,并验证第一防抖参数值和第二防抖参数值的防抖效果,从中确定目标防抖参数值,能够提高防抖参数值的准确性,从而提高防抖的准确性。
应该理解的是,虽然图1至3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1至3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
图4为一个实施例的防抖参数处理装置的结构框图。一种防抖参数处理装置,包括图像帧获取模块402、选取模块404、数据获取模块406、第一防抖模块408、第一代入模块410、第二防抖模块412、第二代入模块414和确定模块416,其中:
图像帧获取模块402,用于获取第一预设时长内的至少两个第一图像帧;
选取模块404,用于从至少两个第一图像帧中选取图像帧,得到第一参考图像帧和第一待校准图像帧;
数据获取模块406,用于获取第一参考图像帧对应的第一角速度数据和第一角度数据,以及第一待校准图像帧对应的第二角速度数据和第二角度数据;
第一防抖模块408,用于根据第一角速度差值以及防抖参数,对第一待校准图像进行防抖处理,得到第一校准图像帧,其中,第一角速度差值为第一角速度数据和第二角速度数据之间的差值;
第一代入模块410,将第一参考图像帧和第一校准图像帧代入代价函数,得到第一防抖参数值;
第二防抖模块412,用于根据第一角度差值以及防抖参数,对第一待校准图像进行防抖处理,得到第二校准图像帧,其中,第一角度差值为第一角度数据和第二角度数据之间的差值;
第二代入模块414,用于将第一参考图像帧和第二校准图像帧代入代价函数,得到第二防抖参数值;
确定模块416,用于根据第一防抖参数值和第二防抖参数值确定目标防抖参数值。
本实施例中的防抖参数处理装置,获取第一预设时长内的至少两个第一图像帧,并从至少两个第一图像帧中选出第一参考图像帧和第一待校准图像帧,由于在预设时长内的图像帧之间的差距不是很大,因此,适用于防抖场景,由于防抖的本质是将一个画面从其成像平面投影到目标平面,因此可计算参考图像帧和经校准的图像帧之间的差异;获取角速度和角度数据,分别对第一待校准图像进行防抖处理,计算代价函数,即使用同样的两张图像进行两种不同的防抖处理,得到第一防抖参数值和第二防抖参数值,并从中确定目标防抖参数值,能够提高防抖参数值的准确性,从而提高防抖的准确性。
在一个实施例中,代价函数用于表征校准图像帧和参考图像帧之间的差异。第一代入模块410用于将第一参考图像帧和第一校准图像帧代入代价函数,当代价函数的取值达到最小值时,将对应的防抖参数值作为第一防抖参数值。第二代入模块414用于将第一参考图像帧和第二校准图像帧代入代价函数,当代价函数的取值达到最小值时,将对应的防抖参数值作为第二防抖参数值。
本实施例中的防抖参数处理装置,第一参考图像帧为已知的参考图像帧,可视为常数;第一校准图像帧可视为包括防抖参数的函数,那么将第一参考图像帧和第一校准图像帧代入代价函数中,当代价函数的取值达到最小值时,即第一参考图像帧和第一校准图像帧之间的差异达到最小值,取得第一防抖参数值,能够得到一个防抖效果较好的第一防抖参数值。同理,第二校准图像帧可视为包括防抖参数的函数,那么将第一参考图像帧和第二校准图像帧代入代价函数中,当代价函数的取值达到最小值时,即第一参考图像帧和第二校准图像帧之间的差异达到最小值,取得第二防抖参数值,能够得到一个防抖效果较好的第二防抖参数值。
在一个实施例中,代价函数为参考图像帧与校准图像帧的差值函数,或者代价函数为参考图像帧和校准图像帧的差值函数的平方。
本实施例中的防抖参数处理装置,由于防抖的本质是将一个画面从其成像平面投影到目标平面,那么参考图像帧可视为目标平面,校准图像帧可视为成像平面,需要最小化二者之间的差异,代价函数为参考图像帧和校准图像帧的差值函数的平方,能够得到用于表征图像之间差异的代价函数,从而提高目标防抖参数值的准确性,进而提高防抖准确性。
在一个实施例中,第一参考图像帧、第一待校准图像帧、第一校准图像帧和第二校准图像帧的数量均相同且为至少两个。第一代入模块410用于确定每个第一参考图像帧和对应的每个第一校准图像帧的差值函数,得到至少两个第一差值函数;根据至少两个第一差值函数求第一平方和,当第一平方和达到最小值时,将对应的防抖参数值作为第一防抖参数值。第二代入模块414用于确定每个第一参考图像帧和对应的每个第二校准图像帧的差值函数,得到至少两个第二差值函数;根据至少两个第二差值函数求第二平方和,当第二平方和达到最小值时,将对应的防抖参数值作为第二防抖参数值。
本实施例中的防抖参数处理装置,图像帧的数量为至少两个,确定参考图像帧和校准图像帧之间的图像帧差值函数,并将图像帧差值函数再求平方和,从而计算得到第一防抖参数值和第二防抖参数值,则参与校准的样本图像帧增加,避免偶然性,提高第一防抖参数值和第二防抖参数值的准确数,从而提高目标防抖参数值的准确性。
在一个实施例中,确定模块416用于获取第一防抖参数值对应的第一代价函数值,以及第二防抖参数值对应的第二代价函数值,其中,第一代价函数值和第二代价函数值均是根据代价函数计算得到;根据第一代价函数值和第二代价函数值确定函数最小值;将函数最小值所对应的防抖参数值作为目标防抖参数值。
本实施例中的防抖参数处理装置,获取第一防抖参数值对应的第一代价函数值,以及第二防抖参数值对应的第二代价函数值,根据第一代价函数值和第二代价函数值确定函数最小值,将函数最小值所对应的防抖参数值作为目标防抖参数值,即将图像之间差异最小时所对应的防抖参数值作为目标防抖参数值,能够提高防抖参数的准确性,从而提高防抖的准确性。
在一个实施例中,确定模块416用于获取第二预设时长内的至少两个第二图像帧,第二图像帧与第一图像帧不相同;从至少两个第二图像帧中选取图像帧,得到第二参考图像帧和第二待校准图像帧;获取第二参考图像帧对应的第三角速度数据和第三角度数据,以及第二待校准图像帧对应的第四角速度数据和第四角度数据;根据第二角速度差值和第一防抖参数值对第二待校准图像进行防抖处理,得到第三校准图像帧,其中,第二角速度差值为第三角速度数据和第四角速度数据之间的差值;将第二参考图像帧和第三校准图像帧代入代价函数,得到第一代价函数值;根据第二角度差值和第一防抖参数值对第二待校准图像进行防抖处理,得到第四校准图像帧,其中,第二角度差值为第三角度数据和第四角度数据之间的差值;将第二参考图像帧和第四校准图像帧代入代价函数,得到第二代价函数值。
在一个实施例中,第二参考图像帧、第二待校准图像帧、第三校准图像帧和第四校准图像帧的数量均相同且为至少两个。确定模块416用于确定每个第二参考图像帧和对应的每个第三校准图像帧之间的第一图像帧差值,得到至少两个第一图像帧差值;将至少两个第一图像帧差值求和,得到第一代价函数值。确定模块416用于确定每个第二参考图像帧和对应的每个第四校准图像帧之间的第二图像帧差值,得到至少两个第二图像帧差值;将至少第二图像帧差值求和,得到第二代价函数值。
本实施例中的防抖参数处理装置,图像帧的数量为至少两个,确定参考图像帧和校准图像帧之间的图像帧差值,并将图像帧差值求和计算得到代价函数值,则参与验证的样本图像帧增加,避免偶然性,提高目标防抖参数值的准确性。
在一个实施例中,第二参考图像帧、第二待校准图像帧、第三校准图像帧和第四校准图像帧的数量均相同且为至少两个。确定模块416用于确定每个第二参考图像帧和对应的每个第三校准图像帧之间的第一图像帧差值,得到至少两个第一图像帧差值;将至少两个第一图像帧差值求均值,得到第一代价函数值。确定模块416用于确定每个第二参考图像帧和对应的每个第四校准图像帧之间的第二图像帧差值,得到至少两个第二图像帧差值;将至少第二图像帧差值求均值,得到第二代价函数值。
本实施例中的防抖参数处理装置,图像帧的数量为至少两个,确定参考图像帧和校准图像帧之间的图像帧差值,并将图像帧差值求均值计算得到代价函数值,则参与验证的样本图像帧增加,避免偶然性,提高目标防抖参数值的准确性。
在一个实施例中,第一防抖模块408用于根据第一角速度差值,以及至少两个防抖参数中每个防抖参数,分别对第一待校准图像进行防抖处理,得到第一校准图像帧集,第一校准图像帧集中包括每个防抖参数对应的第一校准图像帧。第一代入模块410用于将第一参考图像帧分别和每个第一校准图像帧代入代价函数,得到第一防抖参数值集,第一防抖参数值集中包括每个防抖参数对应的第一防抖参数值。第二防抖模块412用于根据第一角度差值以及至少两个防抖参数中每个防抖参数,对第一待校准图像进行防抖处理,得到第二校准图像帧集,第二校准图像帧集中包括每个防抖参数对应的图像帧。第二代入模块414用于将第一参考图像帧和每个第二校准图像帧代入代价函数,得到第二防抖参数值集,第二防抖参数值集中包括每个防抖参数对应的第二防抖参数值。确定模块416用于根据第一防抖参数值集和第二防抖参数值集确定目标防抖参数值集。
本实施例中的防抖参数处理装置,由于在实际使用场景中,防抖方式只能选择一种,即根据角速度数据进行防抖或者根据角度数据进行防抖,那么根据第一防抖参数值集和第二防抖参数值集来确定目标防抖参数集,则可以从中选择出根据多个目标防抖参数值进行防抖的最优的防抖方案,从而提高防抖参数值的准确性,进而提高防抖的准确性。
在一个实施例中,目标防抖参数值为目标时间戳偏移参数值。该防抖参数处理模块还包括角速度数据校准模块。其中,角速度校准模块用于获取目标图像帧对应的参考时刻值,和第一目标角速度数据以及对应的第一时刻值,其中,目标图像帧与第一目标角速度数据相对应;获取第二目标角速度数据以及对应的第二时刻值;根据参考时刻值和时间戳偏移值确定目标时刻值;根据第一目标角速度数据、第一时刻值、第二目标角速度数据、第二时刻值和目标时刻值进行角速度数据补偿,得到目标角速度数据。
本实施例中的防抖参数处理装置,电子设备采集目标图像帧的时刻,和电子设备生成对应的时间戳之间可能会有延迟,即时间戳偏移值,能够通过得到的时间戳偏移值对角速度数据进行校准,提高角速度数据的准确性。
上述防抖参数处理装置中各个模块的划分仅用于举例说明,在其他实施例中,可将防抖参数处理装置按照需要划分为不同的模块,以完成上述防抖参数处理装置的全部或部分功能。
关于防抖参数处理装置的具体限定可以参见上文中对于防抖参数处理方法的限定,在此不再赘述。上述防抖参数处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
图5为一个实施例中电子设备的内部结构示意图。如图5所示,该电子设备包括通过系统总线连接的处理器和存储器。其中,该处理器用于提供计算和控制能力,支撑整个电子设备的运行。存储器可包括非易失性存储介质及内存储器。非易失性存储介质存储有操作系统和计算机程序。该计算机程序可被处理器所执行,以用于实现以下各个实施例所提供的一种防抖参数处理方法。内存储器为非易失性存储介质中的操作系统计算机程序提供高速缓存的运行环境。该电子设备可以是手机、平板电脑、PDA(Personal DigitalAssistant,个人数字助理)、POS(Point of Sales,销售终端)、车载电脑、穿戴式设备等任意终端设备。
本申请实施例中提供的防抖参数处理装置中的各个模块的实现可为计算机程序的形式。该计算机程序可在终端或服务器上运行。该计算机程序构成的程序模块可存储在电子设备的存储器上。该计算机程序被处理器执行时,实现本申请实施例中所描述方法的步骤。
本申请实施例还提供了一种计算机可读存储介质。一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当所述计算机可执行指令被一个或多个处理器执行时,使得所述处理器执行防抖参数处理方法的步骤。
一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行防抖参数处理方法。
本申请所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM),它用作外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (13)
1.一种防抖参数处理方法,其特征在于,包括:
获取第一预设时长内的至少两个第一图像帧;
从至少两个所述第一图像帧中选取图像帧,得到第一参考图像帧和第一待校准图像帧;
获取所述第一参考图像帧对应的第一角速度数据和第一角度数据,以及所述第一待校准图像帧对应的第二角速度数据和第二角度数据;
根据第一角速度差值以及防抖参数,对所述第一待校准图像进行防抖处理,得到第一校准图像帧,其中,所述第一角速度差值为所述第一角速度数据和所述第二角速度数据之间的差值;
将所述第一参考图像帧和所述第一校准图像帧代入代价函数,得到第一防抖参数值;
根据第一角度差值以及所述防抖参数,对所述第一待校准图像进行防抖处理,得到第二校准图像帧,其中,所述第一角度差值为所述第一角度数据和所述第二角度数据之间的差值;
将所述第一参考图像帧和所述第二校准图像帧代入所述代价函数,得到第二防抖参数值;
根据所述第一防抖参数值和所述第二防抖参数值确定目标防抖参数值。
2.根据权利要求1所述的方法,其特征在于,所述代价函数用于表征校准图像帧和参考图像帧之间的差异;
所述将所述第一参考图像帧和所述第一校准图像帧代入代价函数,得到第一防抖参数值,包括:
将所述第一参考图像帧和所述第一校准图像帧代入代价函数,当所述代价函数的取值达到最小值时,将对应的防抖参数值作为第一防抖参数值;
所述将所述第一参考图像帧和所述第二校准图像帧代入所述代价函数,得到第二防抖参数值,包括:
将所述第一参考图像帧和所述第二校准图像帧代入所述代价函数,当所述代价函数的取值达到最小值时,将对应的防抖参数值作为第二防抖参数值。
3.根据权利要求2所述的方法,其特征在于,所述代价函数为参考图像帧与校准图像帧的差值函数,或者为参考图像帧和校准图像帧的差值函数的平方。
4.根据权利要求2所述的方法,其特征在于,所述第一参考图像帧、所述第一待校准图像帧、所述第一校准图像帧和所述第二校准图像帧的数量均为至少两个;
所述将所述第一参考图像帧和所述第一校准图像帧代入代价函数,当所述代价函数的取值达到最小值时,将对应的防抖参数值作为第一防抖参数值,包括:
确定每个所述第一参考图像帧和对应的每个所述第一校准图像帧的差值函数,得到至少两个第一差值函数;
根据至少两个所述第一差值函数求第一平方和,当所述第一平方和达到最小值时,将对应的防抖参数值作为第一防抖参数值;
所述将所述第一参考图像帧和所述第二校准图像帧代入所述代价函数,当所述代价函数的取值达到最小值时,将对应的防抖参数值作为第二防抖参数值,包括:
确定每个所述第一参考图像帧和对应的每个所述第二校准图像帧的差值函数,得到至少两个第二差值函数;
根据至少两个所述第二差值函数求第二平方和,当所述第二平方和达到最小值时,将对应的防抖参数值作为第二防抖参数值。
5.根据权利要求1所述的方法,其特征在于,所述根据所述第一防抖参数值和所述第二防抖参数值确定目标防抖参数值,包括:
获取所述第一防抖参数值对应的第一代价函数值,以及所述第二防抖参数值对应的第二代价函数值,其中,所述第一代价函数值和所述第二代价函数值均是根据所述代价函数计算得到;
根据所述第一代价函数值和所述第二代价函数值确定函数最小值;
将所述函数最小值所对应的防抖参数值作为目标防抖参数值。
6.根据权利要求5所述的方法,其特征在于,所述第一代价函数值和所述第二代价函数值的获取方式,包括:
获取第二预设时长内的至少两个第二图像帧,所述第二图像帧与所述第一图像帧不相同;
从所述至少两个第二图像帧中选取图像帧,得到第二参考图像帧和第二待校准图像帧;
获取所述第二参考图像帧对应的第三角速度数据和第三角度数据,以及所述第二待校准图像帧对应的第四角速度数据和第四角度数据;
根据第二角速度差值和所述第一防抖参数值对所述第二待校准图像进行防抖处理,得到第三校准图像帧,其中,所述第二角速度差值为所述第三角速度数据和所述第四角速度数据之间的差值;
将所述第二参考图像帧和所述第三校准图像帧代入所述代价函数,得到第一代价函数值;
根据第二角度差值和所述第一防抖参数值对所述第二待校准图像进行防抖处理,得到第四校准图像帧,其中,所述第二角度差值为所述第三角度数据和所述第四角度数据之间的差值;
将所述第二参考图像帧和所述第四校准图像帧代入所述代价函数,得到第二代价函数值。
7.根据权利要求6所述的方法,其特征在于,所述第二参考图像帧、所述第二待校准图像帧、所述第三校准图像帧和所述第四校准图像帧的数量均为至少两个;所述代价函数用于表征图像之间的差异;
所述将所述第二参考图像帧和所述第三校准图像帧代入所述代价函数,得到第一代价函数值,包括:
确定每个所述第二参考图像帧和对应的每个第三校准图像帧之间的第一图像帧差值,得到至少两个第一图像帧差值;
将至少两个所述第一图像帧差值求和,得到第一代价函数值;
所述将所述第二参考图像帧和所述第四校准图像帧代入所述代价函数,得到第二代价函数值,包括:
确定每个所述第二参考图像帧和对应的每个第四校准图像帧之间的第二图像帧差值,得到至少两个第二图像帧差值;
将至少所述第二图像帧差值求和,得到第二代价函数值。
8.根据权利要求6所述的方法,其特征在于,所述第二参考图像帧、所述第二待校准图像帧、所述第三校准图像帧和所述第四校准图像帧的数量均为至少两个;所述代价函数用于表征图像之间的差异;
所述将所述第二参考图像帧和所述第三校准图像帧代入所述代价函数,得到第一代价函数值,包括:
确定每个所述第二参考图像帧和对应的每个第三校准图像帧之间的第一图像帧差值,得到至少两个第一图像帧差值;
根据至少两个所述第一图像帧差值求均值,得到第一代价函数值;
所述将所述第二参考图像帧和所述第四校准图像帧代入所述代价函数,得到第二代价函数值,包括:
确定每个所述第二参考图像帧和对应的每个第四校准图像帧之间的第二图像帧差值,得到至少两个第二图像帧差值;
将至少所述第二图像帧差值求均值,得到第二代价函数值。
9.根据权利要求1所述的方法,其特征在于,所述防抖参数包括至少两个防抖参数;
所述根据第一角速度差值以及防抖参数,对所述第一待校准图像进行防抖处理,得到第一校准图像帧,包括:
根据所述第一角速度差值,以及至少两个所述防抖参数中每个防抖参数,分别对所述第一待校准图像进行防抖处理,得到第一校准图像帧集,所述第一校准图像帧集中包括每个所述防抖参数对应的第一校准图像帧;
所述将所述第一参考图像帧和所述第一校准图像帧代入代价函数,得到第一防抖参数值,包括:
将所述第一参考图像帧分别和每个所述第一校准图像帧代入代价函数,得到第一防抖参数值集,所述第一防抖参数值集中包括每个所述防抖参数对应的第一防抖参数值;
所述根据第一角度差值以及所述防抖参数,对所述第一待校准图像进行防抖处理,得到第二校准图像帧,包括:
根据所述第一角度差值以及至少两个所述防抖参数中每个防抖参数,对所述第一待校准图像进行防抖处理,得到第二校准图像帧集,所述第二校准图像帧集中包括每个所述防抖参数对应的第二校准图像帧;
所述将所述参考图像帧和所述第二校准图像帧代入所述代价函数,得到第二防抖参数值,包括:
将所述第一参考图像帧和每个所述第二校准图像帧代入代价函数,得到第二防抖参数值集,所述第二防抖参数值集中包括每个所述防抖参数对应的第二防抖参数值;
所述根据所述第一防抖参数值和所述第二防抖参数值确定目标防抖参数值,包括:
根据所述第一防抖参数值集和所述第二防抖参数值集确定目标防抖参数值集。
10.根据权利要求1至9任一项所述的方法,其特征在于,所述目标防抖校准值为目标时间戳偏移参数值;
所述方法还包括:
获取目标图像帧对应的参考时刻值,和第一目标角速度数据以及对应的第一时刻值,其中,所述目标图像帧与所述第一目标角速度数据相对应;
获取所述第二目标角速度数据以及对应的第二时刻值;
根据所述参考时刻值和所述时间戳偏移值确定目标时刻值;
根据所述第一目标角速度数据、所述第一时刻值、所述第二目标角速度数据、所述第二时刻值和所述目标时刻值进行角速度数据补偿,得到目标角速度数据。
11.一种防抖参数处理装置,其特征在于,包括:
图像帧获取模块,用于获取第一预设时长内的至少两个第一图像帧;
选取模块,用于从至少两个所述第一图像帧中选取图像帧,得到第一参考图像帧和第一待校准图像帧;
数据获取模块,用于获取所述第一参考图像帧对应的第一角速度数据和第一角度数据,以及所述第一待校准图像帧对应的第二角速度数据和第二角度数据;
第一防抖模块,用于根据第一角速度差值以及防抖参数,对所述第一待校准图像进行防抖处理,得到第一校准图像帧,其中,所述第一角速度差值为所述第一角速度数据和所述第二角速度数据之间的差值;
第一代入模块,将所述第一参考图像帧和所述第一校准图像帧代入代价函数,得到第一防抖参数值;
第二防抖模块,用于根据第一角度差值以及所述防抖参数,对所述第一待校准图像进行防抖处理,得到第二校准图像帧,其中,所述第一角度差值为所述第一角度数据和所述第二角度数据之间的差值;
第二代入模块,用于将所述第一参考图像帧和所述第二校准图像帧代入所述代价函数,得到第二防抖参数值;
确定模块,用于根据所述第一防抖参数值和所述第二防抖参数值确定目标防抖参数值。
12.一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至10中任一项所述的防抖参数校准方法的步骤。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至10中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010112747.1A CN111263069B (zh) | 2020-02-24 | 2020-02-24 | 防抖参数处理方法、装置、电子设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010112747.1A CN111263069B (zh) | 2020-02-24 | 2020-02-24 | 防抖参数处理方法、装置、电子设备和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111263069A true CN111263069A (zh) | 2020-06-09 |
CN111263069B CN111263069B (zh) | 2021-08-03 |
Family
ID=70954886
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010112747.1A Active CN111263069B (zh) | 2020-02-24 | 2020-02-24 | 防抖参数处理方法、装置、电子设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111263069B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112738398A (zh) * | 2020-12-29 | 2021-04-30 | 维沃移动通信(杭州)有限公司 | 一种图像防抖方法、装置和电子设备 |
CN113438472A (zh) * | 2021-06-24 | 2021-09-24 | 苏州科达科技股份有限公司 | 防抖测试方法、装置及电子设备 |
CN116148869A (zh) * | 2023-04-21 | 2023-05-23 | 深圳市龙之源科技股份有限公司 | 手持测距仪 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101742122A (zh) * | 2009-12-21 | 2010-06-16 | 汉王科技股份有限公司 | 一种去除视频抖动的方法和系统 |
CN102375285A (zh) * | 2010-08-06 | 2012-03-14 | 鸿富锦精密工业(深圳)有限公司 | 防抖动控制装置 |
CN105306804A (zh) * | 2014-07-31 | 2016-02-03 | 北京展讯高科通信技术有限公司 | 智能终端及其视频稳像方法及装置 |
CN105450907A (zh) * | 2014-07-31 | 2016-03-30 | 北京展讯高科通信技术有限公司 | 智能终端及其视频稳像系统模型参数的标定方法及装置 |
US20180288330A1 (en) * | 2017-03-28 | 2018-10-04 | Canon Kabushiki Kaisha | Image blur correction device, imaging apparatus, control method of imaging apparatus and non-transitory storage medium |
CN109598764A (zh) * | 2018-11-30 | 2019-04-09 | Oppo广东移动通信有限公司 | 摄像头标定方法和装置、电子设备、计算机可读存储介质 |
CN110493522A (zh) * | 2019-08-26 | 2019-11-22 | Oppo广东移动通信有限公司 | 防抖方法和装置、电子设备、计算机可读存储介质 |
-
2020
- 2020-02-24 CN CN202010112747.1A patent/CN111263069B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101742122A (zh) * | 2009-12-21 | 2010-06-16 | 汉王科技股份有限公司 | 一种去除视频抖动的方法和系统 |
CN102375285A (zh) * | 2010-08-06 | 2012-03-14 | 鸿富锦精密工业(深圳)有限公司 | 防抖动控制装置 |
CN105306804A (zh) * | 2014-07-31 | 2016-02-03 | 北京展讯高科通信技术有限公司 | 智能终端及其视频稳像方法及装置 |
CN105450907A (zh) * | 2014-07-31 | 2016-03-30 | 北京展讯高科通信技术有限公司 | 智能终端及其视频稳像系统模型参数的标定方法及装置 |
US20180288330A1 (en) * | 2017-03-28 | 2018-10-04 | Canon Kabushiki Kaisha | Image blur correction device, imaging apparatus, control method of imaging apparatus and non-transitory storage medium |
CN109598764A (zh) * | 2018-11-30 | 2019-04-09 | Oppo广东移动通信有限公司 | 摄像头标定方法和装置、电子设备、计算机可读存储介质 |
CN110493522A (zh) * | 2019-08-26 | 2019-11-22 | Oppo广东移动通信有限公司 | 防抖方法和装置、电子设备、计算机可读存储介质 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112738398A (zh) * | 2020-12-29 | 2021-04-30 | 维沃移动通信(杭州)有限公司 | 一种图像防抖方法、装置和电子设备 |
CN112738398B (zh) * | 2020-12-29 | 2023-02-17 | 维沃移动通信(杭州)有限公司 | 一种图像防抖方法、装置和电子设备 |
CN113438472A (zh) * | 2021-06-24 | 2021-09-24 | 苏州科达科技股份有限公司 | 防抖测试方法、装置及电子设备 |
CN116148869A (zh) * | 2023-04-21 | 2023-05-23 | 深圳市龙之源科技股份有限公司 | 手持测距仪 |
CN116148869B (zh) * | 2023-04-21 | 2023-08-18 | 深圳市龙之源科技股份有限公司 | 手持测距仪 |
Also Published As
Publication number | Publication date |
---|---|
CN111263069B (zh) | 2021-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111263069B (zh) | 防抖参数处理方法、装置、电子设备和可读存储介质 | |
JP6818912B2 (ja) | ビデオの安定化 | |
CN110430365B (zh) | 防抖方法、装置、计算机设备和存储介质 | |
KR101274061B1 (ko) | 화상 처리장치 및 화상 처리방법 | |
US9609181B2 (en) | Image signal processor and method for synthesizing super-resolution images from non-linear distorted images | |
CN110740247B (zh) | 视频增稳方法、装置、计算机设备及存储介质 | |
JP2020520603A5 (zh) | ||
EP3101387A1 (en) | Image processing apparatus and image processing method | |
JP2016525842A (ja) | カメラ動き予測及び修正のための方法 | |
JP2015022027A (ja) | 撮像装置およびその制御方法 | |
JP2017220715A (ja) | 画像処理装置、画像処理方法、プログラム | |
CN112414400B (zh) | 一种信息处理方法、装置、电子设备和存储介质 | |
CN111507132A (zh) | 一种定位方法、装置及设备 | |
CN114543797A (zh) | 位姿预测方法和装置、设备、介质 | |
CN113436267B (zh) | 视觉惯导标定方法、装置、计算机设备和存储介质 | |
CN113034582A (zh) | 位姿优化装置及方法、电子设备及计算机可读存储介质 | |
CN113029037B (zh) | 物体的轮廓测量方法、装置、计算机设备和可读存储介质 | |
CN117278854A (zh) | 一种视频防抖方法、装置、电子设备及存储介质 | |
JP7452620B2 (ja) | 画像処理装置、画像処理方法、及びプログラム | |
CN112652018B (zh) | 外参确定方法、外参确定装置及电子设备 | |
JP6602089B2 (ja) | 画像処理装置及びその制御方法 | |
WO2018100230A1 (en) | Method and apparatuses for determining positions of multi-directional image capture apparatuses | |
CN110830848B (zh) | 图像插值方法、装置、计算机设备和存储介质 | |
JP2017162313A (ja) | 画像処理装置、画像処理方法、及びプログラム | |
JP2019149717A (ja) | 画像処理装置及び画像処理方法、撮像装置、プログラム、記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |