Nathan Frey作者和中华校对张达敏翻译

AutoFlip:智能化视频剪裁的开源框架(附链接)

本文向大家介绍智能化视频剪裁的开源框架:AutoFlip。

前言

为电视和显示器拍摄制作的视频常常使用横向16:9或者4:3比例。然而越来越多的用户开始在移动设备上制作和观看视频,传统的画面比例并不能完美兼容。为此需要对视频画面进行剪裁,传统的做法涉及到静态剪裁,例如,选定好可视区域,然后把区域外的内容全部剪掉。不幸的是,由于构图种类和相机运动模式繁多,这种静态剪裁经常产出无法让人满意的结果。而其他特殊的做法,常常要求拍摄者手动确定每个画面的目标,并追踪他们在每帧间的转变,然后相应的剪裁掉多余的画面。这个过程是非常耗时、乏味且容易出错的。

用户:

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

为了解决这个问题,我们很开心向大家介绍智能化视频剪裁的开源框架:AutoFlip。基于MediaPipe框架,该框架支持开发用于处理时间序列多模态数据的管道。把一个视频文件(业余级拍摄或专业级剪辑)和一个目标比例(横向、正方形、人像等等)作为输入,AutoFlip会分析视频内容,逐步得出最佳的追踪和剪裁策略,然后输出一个同样时长但剪裁至目标画面比例的视频文件。

AutoFlip:

https://github.com/google/mediapipe/blob/master/mediapipe/docs/autoflip.md

MediaPipe:

https://github.com/google/mediapipe/blob/master/mediapipe/docs/face_detection_desktop.md

左图:原视频(16:9)。中间:使用常规居中剪裁(9:16)。右边:使用AutoFlip剪裁(9:16)。AutoFlip通过追踪目标内容,避免了把重要内容剪掉的问题。

AutoFlip简介

得益于应用行业领先的机器学习目标检测和追踪技术,AutoFlip能够轻易理解视频内容,进而为智能视频剪裁提供了一个全自动的解决方案。通过探测能够表明场景变化的差异,AutoFlip能够在处理过程中把每个场景分离开来。在每段场景被选定的相机模式和轨迹优化剪裁之前,通过视频分析确定主要目标。

画面(场景)探测

一个场景或画面是一个无删减(或跳跃)的连续视频。为了探测出场景变化,AutoFlip计算每帧的颜色直方图并和之前的帧做对比。如果该帧的色彩分布和之前一连串画面不同的话,就说明该帧的场景发生了改变。为了优化整个场景的剪裁,AutoFlip在剪裁前会缓存整段视频直到该场景结束。

视频内容分析

我们利用基于深度学习目标检测模型来寻找每帧画面里有趣的、重要的内容。这类内容常常包含人物和动物,但出于应用角度考虑,其他物体也可能会被考虑在内,包括文字覆盖和商业logo,或者体育运动中运动和球的探测。

面部和目标检测模型通过MediaPipe整合到了AutoFlip当中,这一功能可以通过在CPU上运行TensorFlow Lite实现。这种结构让AutoFlip具有扩展性,开发者能很方便地为不同场景和视频内容增添新的探测算法。当然,每类物体都有相应的比重,也就是该类物体的相对重要程度 – 比重越高,该类物体在计算摄像轨迹中就更有影响力。

面部:

https://github.com/google/mediapipe/blob/master/mediapipe/docs/face_detection_desktop.md

目标检测模型:

https://github.com/google/mediapipe/blob/master/mediapipe/docs/object_detection_desktop.md

TensorFlow Lite:

https://www.tensorflow.org/lite

上图:运动中的人物检测。下图:两个面部探测方块(“核心面部”和“全面部”)。在较窄的人像比例剪裁案例中,经常只有核心面部能够显示(全面部尺寸太大)。

剪裁


在确定了每帧的目标后,就可以决定如何把内容剪裁到新的画面中。取决于物体在场景中的移动轨迹(例如物体是跑来跑去还是静止不动),AutoFlip会自动选择最佳剪裁策略 – 静态的、移动的或是追踪的。在静态模式中,剪裁后的相机视角是固定在某一位置,从这个位置可以在大部分场景中看到目标。这个模式能高效地模拟专业静态电影拍摄,例如使用静态三脚架的相机或者后期的稳定处理。而在其他场景中,以恒定速率移动相机视角相比于静态模式会有更好的效果。而追踪模式能够在场景中提供连续稳定的目标物体追踪。

在算法决定使用以上哪种剪裁策略后,AutoFlip对每帧确定一个最佳剪裁窗口,同时确保目标出现在该窗口中。当追踪框追踪场景里的目标时经常会在每帧画面之间跳来跳去,导致了不能很好的确定剪裁窗口。因此我们在欧式范数优化过程中,通过降低平滑(低阶多项式)相机轨迹和追踪框间的残差来调整每帧的窗口视角。

欧式范数

https://zh.wikipedia.org/wiki/%E8%8C%83%E6%95%B0

低阶多项式:

https://en.wikipedia.org/wiki/Degree_of_a_polynomial

上图:跟踪每帧的追踪框得出的相机轨迹。下图:使用欧式范数得出的平滑相机轨迹。


左图:目标物体在场景中来回移动,需要追踪相机轨迹。右图:目标物体和场景保持相对静止;静态相机视角能够涵括该场景目标物体的移动轨迹。

AutoFlip的图像构造提供非填充和填充剪裁两种设置。当窗口不能包含所有指定区域时(例如目标分散在整个画面),通过自动切换到较为缓和的剪裁策略,例如填充黑边使图像充满整个画面。对于图像背景颜色是单色调时,黑边颜色会自动转成相同色调,来达到无缝填充效果;在其他情况下,AutoFlip会采取虚化的方式来达到相同效果。

黑边:

https://zh.wikipedia.org/wiki/%E9%BB%91%E9%82%8A

AutoFlip使用场景

能够直接让开发者和电影制作人使用这款工具、减少他们创造中的阻碍、以及实现视频剪辑自动化让我们感到非常激动。处理各种视频类型和高宽比的功能愈发重要,尤其现在出现越来越多的各种比例的视频内容消费设备。不管你的应用场景是人像转横向、横向转人像、还是改动极小的4:3转16:9比例,AutoFlip都能提供一个智能、自动化和自适应的剪裁方案。

展望未来?

机器学习算法相似,AutoFlip也能够从不断提升的视频内容相关物体探测能力中受益,例如面试探测或者卡通片中人物面部捕捉。然而一个常见问题是当输入视频边缘有重要内容遮挡(例如文字或者标志),这些内容通常会被剪裁掉。通过整合文字、标志探测以及图像修补技术,我们希望AutoFlip在将来能够保证剪裁质量同时复位这些表层信息。最后,在需要填充的案例中,deep uncrop技术能够提供超越原可视区域的能力。

deep uncrop:

http://openaccess.thecvf.com/content_ICCV_2019/papers/Teterwak_Boundless_Generative_Adversarial_Networks_for_Image_Extension_ICCV_2019_paper.pdf

当我们在Google改进AutoFlip的同时,我们也鼓励开发者和电影制作人能够在开源社区为我们提供帮助。

鸣谢

我们想对AutoFlip的同事表示感谢,Alexander Panagopoulos, Jenny Jin, Brian Mulford, Yuan Zhang, Alex Chen, Xue Yang, Mickey Wang, Justin Parra, Hartwig Adam, Jingbin Wang, 以及Weilong Yang; 还有提供开源帮助的MediaPipe团队, Jiuqiang Tang, Tyler Mullen, Mogan Shieh, Ming Guang Yong, 以及Chuo-Ling Chang。

原文标题:
AutoFlip: An Open Source Framework for Intelligent Video Reframing
原文链接:
https://www.googblogs.com/autoflip-an-open-source-framework-for-intelligent-video-reframing-2/
THU数据派
THU数据派

THU数据派"基于清华,放眼世界",以扎实的理工功底闯荡“数据江湖”。发布全球大数据资讯,定期组织线下活动,分享前沿产业动态。了解清华大数据,敬请关注姐妹号“数据派THU”。

工程目标检测视频剪辑AutoFlip算法框架
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

范数技术

范数(norm),是具有“长度”概念的函数。在线性代数、泛函分析及相关的数学领域,是一个函数,其为向量空间内的所有向量赋予非零的正长度或大小。半范数反而可以为非零的向量赋予零长度。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

TensorFlow技术

TensorFlow是一个开源软件库,用于各种感知和语言理解任务的机器学习。目前被50个团队用于研究和生产许多Google商业产品,如语音识别、Gmail、Google 相册和搜索,其中许多产品曾使用过其前任软件DistBelief。

目标检测技术

一般目标检测(generic object detection)的目标是根据大量预定义的类别在自然图像中确定目标实例的位置,这是计算机视觉领域最基本和最有挑战性的问题之一。近些年兴起的深度学习技术是一种可从数据中直接学习特征表示的强大方法,并已经为一般目标检测领域带来了显著的突破性进展。

推荐文章
暂无评论
暂无评论~