陀螺仪防抖术语

陀螺仪防抖术语

fov 视场角
drift 零偏
  MotionFusion即运动传感器的融合补偿,对陀螺仪、加速度计等运动测量器件的数据
进行预处理,通过标定和补偿,为防抖提供校准后的陀螺仪数据
ratio 系数
gyro 陀螺仪
calibration 校准 标定
DIS( Digital Image Stabilization)数字图像防抖
  DIS是对图像进行数字处理的过程,采用防抖算法计算出当前图像的运动偏移,然后根
  据计算得到的运动偏移对当前图像进行平移、旋转等变换,从而起到防抖的效果。
IMU( Inertial Measurement Unit)惯性测量单元
  IMU是测量物体x、 y、 z三轴姿态角(或角速率)以及加速度的装置,包含了陀螺仪(GYRO)和
加速计(ACC)。
GME算法
  GME(Global Motion Estimation)算法是通过提取图像特征,计算当前帧图像和参
考帧图像之间的运动偏移。采用GME算法处理后的图像较稳定,有较好的防抖效
果,但当画面中大面积拍摄物体在移动时,画面也会出现背景拖拽现象。这是因
为GME无法完全区分出画面物体移动还是摄像机移动,从而可能造成误判。另外
在低照度情况下,由于图像的特征模糊, GME算法防抖效果存在下降的可能。
陀螺仪算法
  陀螺仪算法是根据陀螺仪产生的数据计算当前帧图像的运动偏移,采用陀螺仪算
法能够较好解决误判和低照度情况下无防抖效果等现象。
crop_ratio
  DIS输出图像的裁剪比例。其取值范围为[50, 98]。通常设置为80,即防抖处理后只输
出图像的80%。假设输入图像宽高为1920*1080,设置crop_ratio为80,即裁掉输入图
像左右边缘和上下边缘的各10%,裁剪后的图像宽为( 1920-2192010%) =1536,
高为( 1080-2108010%) =864。
mode
  在DIS算法中会使用到自由度( dof, degree of freedom)的概念。
  ● 从用户角度来看:
  自由度的概念就是三维空间, X、 Y、 Z 三个轴,每个轴可以有两种动作:平动、
转动。一共产生6种运动。这也是通常所说的6轴防抖。
  ● 从算法角度来看:
  自由度表示仿射变换的3x3矩阵中使用的算子数目。
不同自由度数目对图像进行仿射变换的操作也不一样。
  4_DOF与6_DOF的区别:
  ● 4_DOF:算法中使用了4个算子,主要是对图像进行平移、旋转和放大操作。相对
于6_DOF,少了2个算子,计算算子越少,也更不容易造成误判,其也能较好的防
住大面积物体移动造成的背景拖拽现象, rollingshutter现象较明显。
  ● 6_DOF:算法中使用了6个算子,主要是对图像进行平移、旋转、放大、改变图像
宽高比及错切。优点是防抖效果较好,能够对平行四边形进行校正,缺点是容易
引起背景拖拽等异常现象。
motion_level
  Camera的运动级别分为: OT_DIS_MOTION_LEVEL_LOW、OT_DIS_MOTION_LEVEL_NORM和OT_DIS_MOTION_LEVEL_HIGH。
  ● OT_DIS_MOTION_LEVEL_LOW是指低级别运动,镜头小幅度运动。
  ● OT_DIS_MOTION_LEVEL_NORM是指正常级别运动,镜头正常幅度运动。
  ● OT_DIS_MOTION_LEVEL_HIGH是指高级别运动,镜头大幅度运动。
  通常设置为OT_DIS_MOTION_LEVEL_NORM,请根据实际运动幅度进行调整
pdt_type
  防抖支持的产品形态。当前支持三种产品形态,分别是录像机、 DV和无人机。请根据
实际产品形态配置产品类型
camera_steady
  镜头是否是固定静止的开关键。该参数只在录像机产品形态才会起作用,在DV和无人
机产品形态下,该参数不起作用,默认设置为TD_FALSE
matrix
  旋转矩阵, 3x3的矩阵。该参数在ss_mpi_mfusion_set_gyro_six_side_calibration接口
中设置。用于Gyro sensor坐标系和图像坐标系的方向的转换,算法参考的是图像的坐
标系,陀螺仪的不同安装位置对应坐标系方向不一样,因此需要将陀螺仪坐标系与图
像坐标系方向进行转换。另外在安装陀螺仪时请确保陀螺仪芯片与image sensor位置
保持水平或垂直方向
moving_subject_level
  用于判断拍摄物体是否是运动的级别,取值范围为[0, 6],该参数主要是防止背景拖
拽。背景拖拽和和防抖效果两者是相互权衡的。
  ● 值越小时,运动过程中越稳定,但更容易出现背景拖拽情况;
  ● 值较大时,运动过程中防抖效果较弱,但是能够较好的改善背景拖拽现象;
rolling_shutter_coef
  校正rollingshutter强度的参数,取值范围为[0,1000]。此参数适用于相机一直朝向一
个方向长时运动的场景,如火车上拍摄外景等。对于来回抖动带来的rolling shutter现
象,算法会自适应的检测和做相关的矫正并改善rolling shutter现象,建议配置此参数
为0。
timelag/time_delay
  当前帧起始上报中断的时间点 (t_vsync)和当前帧第一行有效图像数据读出(t_readout)
的时间点之间的时间差,单位为us。如果陀螺仪有开启低通滤波(通常建议开启),为
了让陀螺仪和图像数据的时间戳对齐,则需要在timelag上额外加上陀螺仪低通滤波的
延时( t_gyro_lpf_delay,这个值通常会在陀螺仪厂商提供的数据手册中有描述)。
timelag = ( t_vsync– t_readout) + t_gyro_lpf_delay
在正常的Sensor序列配置的情况下, t_vsync与t_readout相差不远,所以此时间参数会
在t_gyro_lpf_delay附近。下图简单的描述了timelag在sensor时序上的位置
hor_limit 和 ver_limit
  水平偏移和垂直偏移限制,取值范围[0,1000]。当大面积物体经过引起背景拖拽的水
平偏移超过一定幅度时就不进行防抖。偏移幅度计算: 2047* hor_limit/1000。
该参数需和camera_steady配合使用,该参数只在camera_steady为TD_TRUE时生效。
当camera_steady为TD_FALSE时,默认设置为1000
still_crop
  该开关的作用是关闭DIS防抖效果,但图像依旧保持裁剪比例输出。打开该开关后,
DIS输出图像没有防抖效果,但是输出图像的裁剪比例还是跟有防抖效果的输出图像的
裁剪比例一致的。通常该参数设置为TD_FALSE,如有需要时设置该值为TD_TRUE
strength
  背景:摄像机在照度偏低时,开启DIS看起来运动物体边缘看起来比关闭DIS抖动更明
显。这是由于照度偏低,且剧烈运动时,快门时间过长,导致运动物体边缘模糊,由
于抖动的周期性,运动是一个大小不同的周期变化,造成运动边缘的模糊程度也是在
周期变化的,运动主体静止(防抖生效)时,边缘的周期变化就比较吸引人的眼球,
加之防抖需要放大图像,使得现象更明显了。
strength是DIS陀螺仪防抖的强度控制,仅对GyroDIS有效,最大强度为1024
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

在防抖中使用陀螺仪的目的主要是:

  使用GyroDIS提升防抖效果
  GyroDIS可以根据镜头畸变特性对图像的抖动进行反校正,在存在较大的畸变的时
候仍可以获得更好的防抖效果,对图像局部抖动程度不一致有明显的防抖提升。
  ● 防止背景拖拽问题
  在很多情况下GME算法是无法判断是前景在动还是镜头在动。例如当有大面积物
体在镜头前移动,而镜头是静止的。此时算法可能会发生误判,将前景运动判断
为镜头运动会进行防抖,从而造成背景拖拽现象。陀螺仪可以反映机器自身的运
动状态,增加陀螺仪可以很好的弥补了该缺陷。
  ● 在低照度或者特征点较少的场景中有防抖效果
  在低照度情况下由于图像背景较暗,对于GME算法来说无法提取到特征点,从而
低照度情况下几乎无防抖效果,采用陀螺仪的话上述问题就迎刃而解
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/219600.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

开发与AI的邂逅

目录 一、前言 二、百度文心一言 三、阿里通义灵码 3.1.工具介绍 3.2.产品功能 3.3.配置流程 3.4.适用范围 3.5.收费标准 3.6.注意事项 一、前言 前段时间,由OpenAI公司研发的一款聊天机器人程序ChatGPT(全名:Chat Generative …

CLIP在Github上的使用教程

CLIP的github链接:https://github.com/openai/CLIP CLIP Blog,Paper,Model Card,Colab CLIP(对比语言-图像预训练)是一个在各种(图像、文本)对上进行训练的神经网络。可以用自然语…

千方百计阻止内网崩溃:上海迅软DSE答疑深度解析攻击后果

如今企业数据安全已成为一大议题,内网安全作为企业数据安全的第一步,一旦遭到攻击有多严重? 1.数据泄露:非法攻击企业内网者可能获取到重要的公司数据,包括客户信息、财务数据、知识产权等,导致隐私泄露和经…

linux系统下农场种菜小游戏!

linux系统下农场种菜小游戏! 今天给大家分享一个linux系统下一个简单的小游戏 源码如下,在linux系统下创建一个.sh的脚本文件,复制粘贴进去即可! #!/bin/bash# 初始化变量 vegetables("生菜" "西兰花" &qu…

Netty03-核心组件NioEventLoopGroup解读

NioEventLoopGroup 可以看到NioEventLoopGroup继承了MultithreadEventExecutorGroup并且实现了EventLoopGroup接口,而这两个类被ExecutorService修饰,所以NioEventLoopGroup实际上是一个线程池,池中的对象其实就是单个的NioEventLoop。 源码…

Comprehension from Chaos: Towards Informed Consent for Private Computation

目录 笔记后续的研究方向摘要引言 Comprehension from Chaos: Towards Informed Consent for Private Computation CCS 2023 笔记 本文探讨了用户对私有计算的理解和期望,其中包括多方计算和私有查询执行等技术。该研究进行了 22 次半结构化访谈,以调查…

DataGrip连接虚拟机上Docker部署的Mysql出错解决

1.1 首先判断CentOS的防火墙,如果开启就关闭 //查看防火墙状态 systemctl status firewalld //关闭防火墙systemctl stop firewalld.service//关闭防火墙开机自启systemctl disable firewalld.service而后可以打开DataGrip连接了,如果连接不上执行如下…

如何衡量和提高测试覆盖率?

衡量和提高测试覆盖率,对于尽早发现软件缺陷、提高软件质量和用户满意度,都具有重要意义。如果测试覆盖率低,意味着用例未覆盖到产品的所有代码路径和场景,这可能导致未及时发现潜在缺陷,代码中可能存在逻辑错误、边界…

两电脑共享鼠标键盘方案

一开始使用的是shareMouse 但是需要注册还有很多不稳定问题 后来想买个双拷线,又太贵,感觉不值的。 再后来,发现微软有自己的系统上的 共享方案 ,叫做 Mouse without Borders ,而且是免费的,只能在window电脑上使用…

一张网页截图,AI帮你写前端代码,前端窃喜,终于不用干体力活了

简介 众所周知,作为一个前端开发来说,尤其是比较偏营销和页面频繁改版的项目,大部分的时间都在”套模板“,根本没有精力学习前端技术,那么这个项目可谓是让前端的小伙伴们看到了一丝丝的曙光。将屏幕截图转换为代码&a…

12.5单端口RAM,JS计数器,流水线乘法器,不重叠序列检测器(状态机+移位寄存器),信号发生器,交通灯

单端口RAM timescale 1ns/1nsmodule RAM_1port(input clk,input rst,input enb,input [6:0]addr,input [3:0]w_data,output wire [3:0]r_data );reg [6:0]mem[127:0];integer i;always (posedge clk or negedge rst) beginif(!rst) beginfor (i0; i<127 ; ii1) beginmem[i]…

【开源】基于JAVA的桃花峪滑雪场租赁系统

项目编号&#xff1a; S 036 &#xff0c;文末获取源码。 \color{red}{项目编号&#xff1a;S036&#xff0c;文末获取源码。} 项目编号&#xff1a;S036&#xff0c;文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 游客服务2.2 雪场管理 三、数据库设…

中国AI大模型,应该如何商业化?

虽然大模型商业化的路径较为清晰&#xff0c;目前国内厂商也都在积极探索&#xff0c;但大模型的商业化之路&#xff0c;不能仅限于商业模式的探索尝试&#xff0c;更在于解决大模型发展的底层问题。 作者|斗斗 编辑|皮爷 出品|产业家 如今&#xff0c;大模型的商业化问题再…

制作红木家具3d模型

在线工具推荐&#xff1a; 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 在家居行业中&#xff0c;设计师可以通过在3D建模中添加实际的家具、…

竞赛选题 题目:基于深度学习的图像风格迁移 - [ 卷积神经网络 机器视觉 ]

文章目录 0 简介1 VGG网络2 风格迁移3 内容损失4 风格损失5 主代码实现6 迁移模型实现7 效果展示8 最后 0 简介 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 基于深度学习卷积神经网络的花卉识别 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c…

编程模拟支付宝能量产生过程--数据控制流

#模拟支付宝蚂蚁森林的能量产生过程 behavior_points { # 定义行为对应的积分"步行": 2,"生活缴费": 10,"线下支付": 5,"网络购票": 5,"共享单车": 10 }total_points 0 # 初始化总积分while True: # 开…

Linux性能系统学习之监控工具

目录 前言linux性能度量标准监控工具topuptimeps/pstreefreempstatvmstat 前言 在实际产品开发过程中遇到一些莫名其妙的问题&#xff0c;比如swap交换分区随着时间增多影响到系统调用&#xff0c;或CPU占用以及内存的监测等&#xff0c;所以有必要系统了解Linux的性能问题。 …

待办事项app推荐哪一款?每日待办事项提醒用什么APP

每天的生活中&#xff0c;我们总是充满着各种待办事项&#xff0c;如果不及时处理&#xff0c;就会导致各种问题的出现。在众多的待办事项app中&#xff0c;如何选择一款最适合自己的app呢&#xff1f;所谓待办事项&#xff0c;通常是指尚未着手的事项。在日常生活中&#xff0…

Mysql进阶-事务锁

前置知识-事务 事务简介 事务 是一组操作的集合&#xff0c;它是一个不可分割的工作单位&#xff0c;事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求&#xff0c;即这些操作要么同时成功&#xff0c;要么同时失败。 就比如: 张三给李四转账1000块钱&#xff0…

3D模型制作木质纹理贴图

在线工具推荐&#xff1a; 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 本文将讲解如何使用GLTF 编辑器 -NSDT 在线材质编辑工具为3D模型设置…