在启动DIS前需要先设置DIS配置信息和属性等相关参数,参数的不同值会不同程度的影响防抖效果。这里主要介绍几个重要影响防抖效果的参数设置。
DIS输出图像的裁剪比例。其取值范围为[50, 98]。通常设置为80,即防抖处理后只输出图像的80%。假设输入图像宽高为1920*1080,设置crop_ratio为80,即裁掉输入图像左右边缘和上下边缘的各10%,裁剪后的图像宽为(1920-2*1920*10%)=1536,高为(1080-2*1080*10%)=864。注意:如果裁剪后宽高不为4像素对齐,则向下取4像素对齐。
在DIS算法中会使用到自由度(dof, degree of freedom)的概念。从用户角度来看:自由度的概念就是三维空间,X、Y、Z 三个轴,每个轴可以有两种动作:平动、转动。一共产生6种运动。这也是通常所说的6轴防抖;从算法角度来看:自由度表示仿射变换的3*3矩阵中使用的算子数目。不同自由度数目对图像进行仿射变换的操作也不一样。
4_DOF与6_DOF的区别:
Camera的运动级别分为:HI_DIS_MOTION_LEVEL_LOW、HI_DIS_MOTION_LEVEL_NORMAL和HI_DIS_MOTION_LEVEL_HIGH。通常设置为HI_DIS_MOTION_LEVEL_NORMAL,请根据实际运动幅度进行调整。
防抖支持的产品形态。当前支持三种产品形态,分别是录像机、DV和无人机。请根据实际产品形态配置产品类型。
镜头是否是固定静止的开关。该参数只在IPC产品形态才会起作用,在DV和无人机产品形态下,该参数不起作用,默认设置为 HI_FALSE。
用于判断拍摄物体是否是运动的级别,取值范围为[0,6],该参数主要是防止背景拖拽。背景拖拽和和防抖效果两者是相互权衡的。
校正rollingshutter强度的参数,取值范围为[0,1000]。此参数适用于相机一直朝向一个方向长时运动的场景,如火车上拍摄外景等。对于来回抖动带来的rolling shutter现象,算法会自适应的检测和做相关的矫正并改善rolling shutter现象,建议配置此参数为0。
水平偏移和垂直偏移限制,取值范围[0,1000]。当大面积物体经过引起背景拖拽的水平偏移超过一定幅度时就不进行防抖。偏移幅度计算:2047* horizontal_limit/1000。
该参数需和camera_steady配合使用,该参数只在camera_steady为HI_TRUE时生效。当camera_steady为HI_FALSE时,默认设置为1000。
该开关的作用是关闭DIS防抖效果,但图像依旧保持裁剪比例输出。打开该开关后,DIS输出图像没有防抖效果,但是输出图像的裁剪比例还是跟有防抖效果的输出图像的裁剪比例一致的。通常该参数设置为HI_FALSE,如有需要时设置该值为HI_TRUE。
large_motion_stable_coef,low_freq_motion_preserve,low_freq_motion_freq这三个参数只有在GME模式下才生效。
背景:在大幅度抖动的场景下,如果将防抖开得太强,可能会导致画面裁剪到边但是还没法满足防抖的需求,从而导致卡顿的现象。
此参数主要是对大幅度的运动进行防抖衰减,从而减少裁剪到边导致的卡顿现象。参数范围为[0, 100], 设置到100为防抖不衰减的状态,正常情况下防抖效果最好,但是可能在大幅度抖动下会裁剪到边。将参数调小可以衰减大幅度抖动的防抖,从而在防抖效果和裁剪到边带来的卡顿现象中间进行权衡,设置到0将牺牲所有防抖效果。默认参数100。
由于运动DV会进行低频运动估计,在消除高频抖动的同时,保留低频的主动运动。此参数的目的是对低频运动的保留程度进行调节,调节范围在[0, 100]。设置成100对应保留全部低频运动;设置成0则完全不保留低频运动,如果抖动范围不超过裁剪比例,则画面预期静止,但是一旦有相对大的主动运动的积累,将容易裁剪到边,带来卡顿现象。默认参数10。
由于运动DV会进行低频运动估计,在消除高频抖动的同时,保留低频的主动运动。此参数描述的低频运动的频率。调节范围为[0, 100]。设置成0表示保留最少量的低频频率,理论上能达到最稳定的效果,但是十分容易导致裁剪切边从而带来卡顿现象。设置成100表示低频运动的截止频率最高,保留最多的低频分量。默认参数100。