Google开源框架AutoFlip 实现视频智能剪裁
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