EIS(电子稳像,视频防抖)算法开发记录

最近项目中有个小需求,需要对运动视频使用电子稳像算法进行稳像处理。开发从0开始,在此记录一下开发过程和心得,做个备份,期间也走了很多弯路,供大家参考。最终效果个人认为基本可媲美主流手机。先上最终效果:

Video_2022-08-27_083154

开发过程记录:

老规矩,先搜开源,github上等等资源挺多的啊,在此贴个github链接:
https://github.com/lengkujiaai/video_stabilization
试了下,感觉效果还不错,视频效果如下,提交给客户。结果被客户反应效果不行。于是开启了走弯路的过程。


1、弯路1:陀螺仪
跟华为手机、gopro等的防抖效果有较大差距,第一反应:是否结合了内置的陀螺仪?于是去gopro官网看了下他们的效果,并且找了带稳像功能的华为手机录视频进行测试,不得不说,效果确实挺赞,这视频防抖效果不能说毫无波澜,简直是纹丝不动。于是折腾了两星期的陀螺仪数据,拿手机视频做测试,结果发现,手机使用的陀螺仪精度不行(0.1度=3~10个pixel)。而且画面和陀螺仪的时间同步很难做,手机快速晃动的时候还有卷帘曝光导致的运动变形,陀螺仪数据根本对不上当前的运动位置。结合油管等网站,都有离线的视频防抖功能,是没有陀螺仪数据的,于是放弃这条路。

gopro官网效果:

gpro防抖

2、弯路2:其他算法尝试
开始找论文,下载其他开源算法尝试。参考的综述方案有以下等等

邱家涛. 电子稳像算法和视觉跟踪算法研究 [D][D]. 西安: 西安电子科技大学, 2013.


还在外网下载了小软件,测试防抖效果。小软件如下:


先后尝试过论文中的一些方法,都太老了,效果都差些意思。 

3、正路:
尝试了上述许多弯路并且参考论文,终于意识到,问题应该不是出在防抖路径平滑等等上面,应该出在底层的图像变换上。网上的开源代码都是使用旋转+平移,来计算图像运动并对防抖做补偿。想要提升防抖效果,必然要把图像的rigidmotion估计改成仿射变换、透视变换等自由度更高的图像变换估计,来应对不同距离的场景带来的画面透视问题。但翻了好久,包括外网都翻不到基于透视变换的防抖开源代码,无奈只能自己查论文开始撸。

最终找到的参考论文如下,05年的,还是比较经典的,之前可能还有更经典的论文。

Matsushita, Y., Ofek, E., Tang, X., & Shum, H. Y. (2005, June). Full-frame video stabilization. In 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'05) (Vol. 1, pp. 50-57). IEEE.

换了透视变换,效果立马上来了,见文章开头。最终完成交差,不容易啊,前前后后搞了也有小2个月。

不少感兴趣的小伙伴问实时,黑边,效果等问题,见下一篇博客:

EIS(电子稳像,视频防抖)-关于EIS/电子稳像的实时计算、稳像效果、黑边问题_主流eis防抖-CSDN博客

  • 28
    点赞
  • 73
    收藏
    觉得还不错? 一键收藏
  • 61
    评论
根据引用\[1\]和引用\[2\]的内容,可以得知在Python中有一些开源的视频防抖算法可供使用。其中一个例子是在GitHub上的一个项目,链接为https://github.com/lengkujiaai/video_stabilization。这个项目提供了一种基于图像变换的防抖方法,通过使用仿射变换、透视变换等自由度更高的图像变换估计来应对不同距离的场景带来的画面透视问题。根据引用\[2\]的描述,这个算法的效果还不错。 然而,根据引用\[3\]的内容,使用陀螺仪数据来进行视频防抖可能并不是一个理想的选择。陀螺仪的精度可能不够高,而且与画面的时间同步也很困难。因此,放弃使用陀螺仪数据来进行视频防抖是一个明智的决定。 综上所述,如果你想在Python中实现视频防抖算法,可以考虑使用开源项目中提供的基于图像变换的方法,如仿射变换或透视变换。这些方法可以帮助你处理不同距离的场景带来的画面透视问题,并提升防抖效果。 #### 引用[.reference_title] - *1* *2* *3* [EIS电子稳像视频防抖算法开发记录](https://blog.csdn.net/beicheng3849/article/details/126533184)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 61
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值