作者内森弗雷。
翻译:张大民
校对:还有中国。
这篇关于2500字的文章建议阅读5分钟.
本文介绍了智能视频剪辑的开源框架:AutoFlip。
标签:算法框架。
#前言
为电视和监视器拍摄制作的视频通常使用水平16: 9或4: 3比例。然而,越来越多的用户开始在移动设备上制作和观看视频,传统的画面比例并不能完美兼容。因此,有必要对视频画面进行剪辑。传统的方法包括静态裁剪,例如,选择可见区域,然后剪切掉该区域之外的所有内容。遗憾的是,由于构图类型和相机运动模式的多样性,这种静态剪裁往往会产生不理想的效果。其他特殊的做法往往需要摄影师手动确定每张图片的目标,跟踪它们在帧与帧之间的过渡,然后相应地裁剪掉多余的图片。这个过程非常耗时、繁琐且容易出错。
用户:
https://insights . digital media solutions.com/articles/digital-mobile-支配
为了解决这个问题,我们非常乐意介绍智能视频剪辑的开源框架:AutoFlip。该框架基于MediaPipe框架,支持开发处理时间序列多模态数据的管道。拍摄视频文件(业余拍摄或专业编辑)和目标比例(水平、方形、人像等)。)作为输入,AutoFlip会对视频内容进行分析,逐渐得到最佳的跟踪和剪辑策略,然后输出一个时长相同但剪辑到目标尺度的视频文件。
自动唇:
https://github.com/Google/mediapipe/blob/master/mediapipe/docs/auto flip . MD
MediaPipe:
https://github.com/Google/mediapipe/blob/master/mediapipe/docs/face _ detection _ desktop . MD
左:原视频(16: 9)。中间:使用常规的中心剪裁(9: 16)。右图:使用自动裁剪(9: 16)进行裁剪。AutoFlip通过跟踪目标内容,避免了重要内容被切断的问题。
#自动唇介绍
得益于行业领先的机器学习目标检测和跟踪技术,AutoFlip可以轻松理解视频内容,从而为智能视频剪辑提供了全自动解决方案。AutoFlip通过检测场景变化的差异,可以在处理过程中分离出各个场景。在每个场景被选定的摄像机模式和轨迹最佳剪辑之前,通过视频分析来确定主要目标。
#图片(场景)检测。
场景或图片是没有剪切(或跳跃)的连续视频。为了检测场景变化,自动唇计算每一帧的颜色直方图,并将其与前一帧进行比较。如果这一帧的颜色分布与之前的系列图片不同,则意味着这一帧的场景发生了变化。为了优化整个场景的剪辑,AutoFlip会在剪辑前缓存整个视频,直到场景结束。
#视频内容分析。
我们使用基于深度学习的目标检测模型来发现每个帧中有趣且重要的内容。这类内容往往包括人和动物,但从应用角度来看也可能考虑到其他对象,包括文字覆盖和商业标识,或者体育运动中的运动和球类检测。
和人脸检测模型通过MediaPipe集成到AutoFlip中。这个功能可以通过在CPU上运行TensorFlow来实现。
精简实现。这种结构使得AutoFlip具有可扩展性,开发者可以针对不同的场景和视频内容轻松添加新的检测算法。当然,每种类型的物体都有相应的比重,这就是这种类型物体的相对重要性。
比重越高,这类物体在计算相机轨迹时的影响力越大。
面部:
https://github.com/Google/mediapipe/blob/master/mediapipe/docs/face _ detection _ desktop . MD
目标检测模型:
https://github.com/google/mediapipe/blob/master/m
ediapipe/docs/object_detection_desktop.mdTensorFlow 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_polynomia
上图:跟踪每帧的追踪框得出的相机轨迹。下图:使用欧式范数得出的平滑相机轨迹。
左图:目标物体在场景中来回移动,需要追踪相机轨迹。右图:目标物体和场景保持相对静止;静态相机视角能够涵括该场景目标物体的移动轨迹。
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/
编辑:王菁
校对:林亦霖
译者简介
张达敏,本科就读于麻省大学阿默斯特,主修计算机科学,辅修应用数学。硕士把自然语言处理作为研究方向,希望能为人工智能领域贡献自己的力量。目前积极钻研机器学习相关知识,希望能够在学习过程中充满创造力,同时保持科学严谨的态度。
—完—
关注清华-青岛数据科学研究院官方微信公众平台“ AI数据派 ”及姊妹号“ 数据派THU ”获取更多讲座福利及优质内容。