昇腾社区首页
中文
注册

DIS调试关键参数说明

在启动DIS前需要先设置DIS配置信息和属性等相关参数,参数的不同值会不同程度的影响防抖效果。这里主要介绍几个重要影响防抖效果的参数设置。

hi_mpi_vi_set_chn_dis_config接口的关键参数

  • crop_ratio

    DIS输出图像的裁剪比例。其取值范围为[50, 98]。通常设置为80,即防抖处理后只输出图像的80%。假设输入图像宽高为1920*1080,设置crop_ratio为80,即裁掉输入图像左右边缘和上下边缘的各10%,裁剪后的图像宽为(1920-2*1920*10%)=1536,高为(1080-2*1080*10%)=864。注意:如果裁剪后宽高不为4像素对齐,则向下取4像素对齐。

    • 当视频输入分辨率大于或等于1920*1080时,最小支持crop_ratio为50。
    • 当输入分辨率小于1920*1080时,建议crop_ratio设置不小于70。
  • mode

    在DIS算法中会使用到自由度(dof, degree of freedom)的概念。从用户角度来看:自由度的概念就是三维空间,X、Y、Z 三个轴,每个轴可以有两种动作:平动、转动。一共产生6种运动。这也是通常所说的6轴防抖;从算法角度来看:自由度表示仿射变换的3*3矩阵中使用的算子数目。不同自由度数目对图像进行仿射变换的操作也不一样。

    4_DOF与6_DOF的区别:

    • 4_DOF:算法中使用了4个算子,主要是对图像进行平移、旋转和放大操作。相对于6_DOF,少了2个算子,计算算子越少,也更不容易造成误判,其也能较好的防住大面积物体移动造成的背景拖拽现象,rollingshutter现象较明显。
    • 6_DOF:算法中使用了6个算子,主要是对图像进行平移、旋转、放大、改变图像宽高比及错切。优点是防抖效果较好,能够对平行四边形进行校正,缺点是容易引起背景拖拽等异常现象。
  • motion_level

    Camera的运动级别分为:HI_DIS_MOTION_LEVEL_LOW、HI_DIS_MOTION_LEVEL_NORMAL和HI_DIS_MOTION_LEVEL_HIGH。通常设置为HI_DIS_MOTION_LEVEL_NORMAL,请根据实际运动幅度进行调整。

    • HI_DIS_MOTION_LEVEL_LOW是指低级别运动,镜头小幅度运动。当前版本不支持。
    • HI_DIS_MOTION_LEVEL_NORMAL是指正常级别运动,镜头正常幅度运动。
    • HI_DIS_MOTION_LEVEL_HIGH是指高级别运动,镜头大幅度运动。
  • pdt_type

    防抖支持的产品形态。当前支持三种产品形态,分别是录像机、DV和无人机。请根据实际产品形态配置产品类型。

  • camera_steady

    镜头是否是固定静止的开关。该参数只在IPC产品形态才会起作用,在DV和无人机产品形态下,该参数不起作用,默认设置为 HI_FALSE。

hi_mpi_vi_set_chn_dis_attr接口的关键参数

  • moving_subject_level

    用于判断拍摄物体是否是运动的级别,取值范围为[0,6],该参数主要是防止背景拖拽。背景拖拽和防抖效果两者是相互权衡的。

    • 值越小时,运动过程中越稳定,但更容易出现背景拖拽情况;
    • 值较大时,运动过程中防抖效果较弱,但是能够较好的改善背景拖拽现象。
  • rolling_shutter_coef

    校正rollingshutter强度的参数,取值范围为[0,1000]。此参数适用于相机一直朝向一个方向长时运动的场景,如火车上拍摄外景等。对于来回抖动带来的rolling shutter现象,算法会自适应的检测和做相关的矫正并改善rolling shutter现象,建议配置此参数为0。

  • horizontal_limit和vertical_limit

    水平偏移和垂直偏移限制,取值范围[0,1000]。当大面积物体经过引起背景拖拽的水平偏移超过一定幅度时就不进行防抖。偏移幅度计算:2047* horizontal_limit/1000。

    该参数需和camera_steady配合使用,该参数只在camera_steady为HI_TRUE时生效。当camera_steady为HI_FALSE时,默认设置为1000。

  • still_crop

    该开关的作用是关闭DIS防抖效果,但图像依旧保持裁剪比例输出。打开该开关后,DIS输出图像没有防抖效果,但是输出图像的裁剪比例还是跟有防抖效果的输出图像的裁剪比例一致的。通常该参数设置为HI_FALSE,如有需要时设置该值为HI_TRUE。

hi_mpi_vi_set_chn_dis_param接口的关键参数

large_motion_stable_coef,low_freq_motion_preserve,low_freq_motion_freq这三个参数只有在GME模式下才生效。

  • large_motion_stable_coef

    背景:在大幅度抖动的场景下,如果将防抖开得太强,可能会导致画面裁剪到边但是还没法满足防抖的需求,从而导致卡顿的现象。

    此参数主要是对大幅度的运动进行防抖衰减,从而减少裁剪到边导致的卡顿现象。参数范围为[0, 100], 设置到100为防抖不衰减的状态,正常情况下防抖效果最好,但是可能在大幅度抖动下会裁剪到边。将参数调小可以衰减大幅度抖动的防抖,从而在防抖效果和裁剪到边带来的卡顿现象中间进行权衡,设置到0将牺牲所有防抖效果。默认参数100。

  • low_freq_motion_preserve

    由于运动DV会进行低频运动估计,在消除高频抖动的同时,保留低频的主动运动。此参数的目的是对低频运动的保留程度进行调节,调节范围在[0, 100]。设置成100对应保留全部低频运动;设置成0则完全不保留低频运动,如果抖动范围不超过裁剪比例,则画面预期静止,但是一旦有相对大的主动运动的积累,将容易裁剪到边,带来卡顿现象。默认参数10。

  • low_freq_motion_freq

    由于运动DV会进行低频运动估计,在消除高频抖动的同时,保留低频的主动运动。此参数描述的低频运动的频率。调节范围为[0, 100]。设置成0表示保留最少量的低频频率,理论上能达到最稳定的效果,但是十分容易导致裁剪切边从而带来卡顿现象。设置成100表示低频运动的截止频率最高,保留最多的低频分量。默认参数100。