Photo by Kyle Loftus from Pexels

Google宣布开源视频剪裁框架AutoFlip,实现智能化自动裁剪视频。

编译:郑云飞 & Coco Liang

技术审校:郑云飞

原文链接:https://ai.googleblog.com/2020/02/autoflip-open-source-framework-for.html

随着移动设备的进一步普及,越来越多的消费者选择在移动设备上观看视频。据eMarketer2019年的数据,美国消费者每天平均在移动设备上花费3小时43分钟,比花在看电视上的时间还多了8分钟,这也是人们第一次被发现花费在移动设备上的时间多于看电视的时间。

然而,传统的内容生产设备制作的视频大多数是横屏(landscape)的,而移动显示设备默认是竖屏的(portrait),这就导致横屏内容在竖屏设备上的播放体验并不是很好。

视频裁剪是解决这个问题的方法之一。然而,人工的视频裁剪是一件非常枯燥、耗时且精细的工作,普通人很难胜任。因此,诞生了许多智能视频裁剪的算法,期望通过算法可以自动、快速地完成优质的视频裁剪。Google AI 13日在官博宣布开源框架AutoFlip,就是实现影片智能化自动剪裁的一个解决方案。

AutoFlip是一个基于MediaPipe框架的智能视频剪裁工具。它可以根据指定的宽高比,对影片内容进行分析,制定最佳裁剪策略,并自动输出相同时长的新视频。

左:原始视频(16:9)。中:使用静态的居中裁剪(9:16)重新构图。右:使用AutoFlip(9:16)重新构图。通过检测感兴趣的目标物,AutoFlip可以避免裁剪掉重要的内容。

其中,MediaPipe是一款由Google Research 开发并开源的多媒体机器学习模型应用框架。目前,YouTube、ARCore、Google Home 以及Nest等,都已经与MediaPipe深度整合。

我们也很幸运地联系到了MediaPipe 团队,对有关AutoFlip移动端的适用性提出了一些疑问,其中,软件工程师@jiuqiant表示,根据自己的经验,由于MediaPipe本身是跨平台框架,因此AutoFlip可以轻松移植到Android和iOS。AutoFlip演示依赖于MediaPipe的对象检测和面部跟踪子图,它们都是Android和iOS上MediaPipe的实时应用程序。因此,AutoFlip在移动平台上也应具有类似的性能。

AutoFlip为智能视频剪裁提供了一套全自动的解决方案,它利用先进的目标检测与追踪技术理解视频内容,同时会检测视频中的场景变化以便分场景进行处理。在每一个场景中,视频分析会先分析场景中的显著性内容,然后通过选择不同的相机模式以及对这些显著性内容在视频中连成的路径进行优化,从而达到场景的裁剪与重构。

如图所示,AutoFlip剪裁影片有三个重要的步骤:镜头边界检测、影片内容分析以及重新取景。

1)镜头边界检测

场景或者镜头是连续的影像序列,不存在任何剪辑。为了侦测镜头变化的发生,AutoFlip会计算每一帧颜色的直方图,并与前一帧进行比较。当直方图在一个历史的窗口中以明显不同于以往的速率变化时,则表示镜头切换。为了对整个场景进行优化,AutoFlip会在得出剪辑策略前缓存整个视频。

2)镜头内容分析

Google利用基于深度学习技术的检测模型在视频帧中找出有趣、突出的内容,这些内容通常包括人和动物。但根据应用程序不同,其他元素也会被检测出来,包括文本和广告 logo、运动中的球和动作等。

左:体育录像中的人物检测。右:两个脸部框(“核心”和“所有”脸部标识)

人脸和物体检测模型通过MediaPipe整合到AutoFlip中,这是在CPU上使用了TensorFlow Lite 。这个架构使得AutoFlip的可扩展性更大,开发者们也因此可以便捷地为不同的使用场景和视频内容添加新的检测算法。

3)重新取景

在确定每一帧上感兴趣的目标物之后,就可以做出如何重新剪裁视频内容的逻辑决策了。AutoFlip会根据物体在镜头中的行为,自动选择静止、平移或追踪等最佳取景策略。其中,追踪模式可以在目标对象在画面内移动时对其进行连续和稳定的跟踪。

如上图所示,第一行是 AutoFlip 根据帧级的边界框追踪到的相机路径,第二行是平滑后的相机路径。左侧是目标对象在画面中移动的场景,需要一个追踪相机路径;右侧是目标物体停留在近乎相同位置的场景,一个固定摄像机即可拍摄在整个场景中全部时长的内容。

AutoFlip 有一个属性图,可以提供最佳效果或自定义需求的剪辑。如果发现剪辑出来的镜头无法覆盖整个影片区域的情况时(例如目标在某一帧视频中显得太大),AutoFlip会自动切换到相对不那么激进的策略上。它会使用信箱效应,在保持原始视频尺寸的同时用黑边模式填充影片,使画面看起来更自然。

随着人们用来观看视频的设备越来越多样化,让任何视频格式都能快速适应不同屏幕比例的能力也显得越发重要。而AutoFlip能够快速地自动剪辑影像,适合在各种设备上播放。

和其它机器学习算法一样,AutoFlip 的性能会随着目标检测等能力的提升而大大加强,尤其是衍生出来的能力,例如采访镜头中的说话人检测或动漫中的动物脸检测等等。

Google称接下来会继续改进AutoFlip,尤其是针对影片前景文字或图标因为重新取景而被裁掉的情况。同时,Google也希望 AutoFlip 能进一步融合自然语言处理等技术,从而实现更合理的视频智能剪裁。

References:

https://insights.digitalmediasolutions.com/articles/digital-mobile-dominate

https://github.com/google/mediapipe/issues/471

最后一个小小的tips,如果大家有针对文章内容的具体问题,欢迎在留言区互动,我们会努力将你的问题反馈给相应专业领域的技术专家,以便大家能够共同参与讨论。

LiveVideoStackCon 2020

上海/北京/旧金山 讲师招募

2020年LiveVideoStackCon将持续迭代,LiveVideoStackCon将分别在上海(6月13-14日),北京(9月11-12日)和旧金山(11月)举行。欢迎将你的技术实践、踩坑与填坑经历、技术与商业创业的思考分享出来,独乐不如众乐。请将个人资料和话题信息邮件到 speaker@livevideostack.com 或点击【阅读原文】了解成为LiveVideoStackCon讲师的权益与义务,我们会在48小时内回复。

Google开源框架AutoFlip 实现视频智能剪裁相关推荐

  1. 不想横屏看视频?谷歌开源框架AutoFlip一键截出最精彩竖版视频

    点击我爱计算机视觉标星,更快获取CVML新技术 本文转载自机器之心. 选自谷歌博客 机器之心编译 参与:一鸣.思 裁剪视频不用愁,谷歌 AutoFlip 实现自动剪辑.视频尺寸.精彩内容通通自动化. ...

  2. 使用google开源框架Exoplayer开发自定义播放器

    http://ju.outofmemory.cn/entry/143633 背景: 移动端播放视频的需求如日中天, 最近特此使用google的开源框架Exoplayer来开发Android端的视频播放 ...

  3. 这些优秀的音视频开源框架你值得收藏

    音视频播放器第三方框架 1.一个基于IJKplayer 的多功能视频播放器 视频播放器(IJKplayer)的有点: HTTPS支持 支持弹幕 支持基本的拖动,声音.亮度调节 支持边播边缓存 支持视频 ...

  4. 独家 | AutoFlip:智能化视频剪裁的开源框架(附链接)

    作者:Nathan Frey 翻译:张达敏 校对:和中华 本文约2500字,建议阅读5分钟 本文向大家介绍智能化视频剪裁的开源框架:AutoFlip. 标签:算法框架 前言 为电视和显示器拍摄制作的视 ...

  5. 轻量高效!清华智能计算实验室开源基于PyTorch的视频 (图片) 去模糊框架SimDeblur

    作者丨科技猛兽 编辑丨极市平台 清华大学自动化系智能计算实验室团队开源基于 PyTorch 的视频 (图片) 去模糊框架 SimDeblur. 基于 PyTorch 的视频 (图片) 去模糊框架 Si ...

  6. 智能硬件APP开发之路:基于机智云APP开源框架

    为什么使用开源软件? 开源软件是Open Source音译过来的.我们知道所有的软件都是由代码编写,经编译生成的系统或者应用.而一旦你把它开源,意味着任何人.任何组织都可以使用你的代码或者软件,当然也 ...

  7. 视频智能生产及内容分析应用工具开源了!​

    近年来,视频行业持续高速成长,带动数字经济新发展.在视频用户规模持续扩大的同时,产业对于海量多样视频内容的智能化生产及应用的需求也愈发明显.如何对海量视频数据内容进行分析?如何迅速给视频作品打上标签以 ...

  8. Google 开源 AdaNet:快速灵活的轻量级 AutoML 框架

    雷锋网 AI 科技评论编者按:近期,Google 开源了轻量级 AutoML 框架-- AdaNet,该框架基于 TensorFlow,只需要少量的专家干预便能自动学习高质量模型,在提供学习保证(le ...

  9. gRPC:Google开源的基于HTTP/2和ProtoBuf的通用RPC框架

    gRPC:Google开源的基于HTTP/2和ProtoBuf的通用RPC框架 gRPC:Google开源的基于HTTP/2和ProtoBuf的通用RPC框架 Google Guava官方教程(中文版 ...

最新文章

  1. TabLayout和ViewPager
  2. jenkins war包_Jenkins的安装和部署(jenkins教程)
  3. 关于多画面窗口切换的刷新重绘问题
  4. 【asp.net core 系列】14 .net core 中的IOC
  5. leetcode —— 1282. 用户分组
  6. php实例化类的方法,在PHP中实例化类实例的不同方法
  7. java操作地理位置信息
  8. RuntimeError: expected backend CUDA and dtype Float but got backend CUDA and dtype Long
  9. 北航计算机和天大建筑,天津大学好厉害,原来北航、北科大、北邮,都是天大分出去的......
  10. 网页切图div+css命名
  11. NTL密码算法开源库拓展——SM2算法
  12. 【LwM2M】LwM2M相关的开源项目
  13. 创业者该如何给员工画饼、圆饼?
  14. 智能设计课程v2.0 | DesignX 2021版
  15. delphi11中使用python4delphi组件
  16. NBA表格_数据分析NBA历史前十球星排名
  17. windows打开虚拟键盘命令
  18. 计算机毕业设计房地产客服管理系统xns程序
  19. 【Wayland】Weston多屏显示
  20. 【大学物理·静止电荷的电场】静电场的高斯定理

热门文章

  1. (7)Java数据结构--集合map,set,list详解
  2. Fastreport.Net用户手册:报表页
  3. SSIS技巧--优化数据流缓存
  4. onRetainNonConfigurationInstance和getLastNonConfigurationInstance
  5. ZOJ - 2676 Network Wars(01分数规划+最小割)
  6. POJ - 1330 Nearest Common Ancestors(树上倍增/树链剖分求LCA)
  7. php js urlencode,JavaScript版本的UrlEncode和UrlDecode函数实现
  8. 深度优先遍历算法-01小偷偷东西问题
  9. android 手机固定mac,Android之获取手机MAC
  10. 后缀数组--可重叠的K次最长重复子串(POJ3261)