谷歌送上主播福利,手机拍视频实时换背景

2024-04-12 20:18

本文主要是介绍谷歌送上主播福利,手机拍视频实时换背景,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

YouTube stories 中的神经网络视频分割(加特效)

AI 科技评论按:视频分割是一项用途广泛的技术,把视频的前景和背景分离之后,导演们、视频制作者们就可以把两者作为两个不同的视觉层,便于后续的处理或者替换。对背景的修改可以传递不同的情绪、可以让前景的主人公显得去了另一个地方,又或者增强这条视频消息的影响力。不过,这项工作传统上都是由人工完成的,非常费时(比如需要逐帧把里面的人描选出来);省时的办法则需要一个专门的电影工作室,布置绿幕作为拍摄背景,从而实时替换成别的需要的内容。

不过,以往复杂的背景分割工作,现在仅仅靠一台手机就可以完成了!谷歌今天在 YouTube app 中的 stories 里集成了一个新的视频分割功能,在手机上就可以准确、实时地分割视频的前景背景。这个功能是专门为 YouTube 视频作者们设计的,在目前的 beta 版中 stories 作为新的轻量级视频格式,可以让视频作者们替换以及更改视频背景,不需要专门的设备就可以轻松增加视频的创作价值。谷歌也发布了一篇博客对其中的技术细节作了介绍,AI 科技评论编译如下。

任务目标

谷歌的研究人员们借助了机器学习的力量,把这个任务作为一个语义分割问题来考虑,并设计了卷积神经网络来达到目标。具体来说,他们针对手机的特点设计了适用的网络架构和训练过程,遵循着这几个要求和限制:

  • 作为在手机上运行的解决方案,它需要足够轻量,运行速度需要比目前最先进的照片分割模型快 10 倍到 30 倍。对于实时推理任务,所需的模型计算结果的速度至少需要达到每秒 30 帧。

  • 作为视频模型,它应当利用视频的时间冗余性(相邻的帧内容相似),自己展现出时间持续性(相邻的输出结果相似)

  • 作为基本规律,高质量的结果也需要高质量的标注训练数据

数据集

为了给机器学习流水线提供高质量的训练数据,谷歌标注了上万张照片,其中包含了各种各样丰富的前景(人物)姿势和背景内容。标注内容里包括了精确到像素的前景人物的图像结构,比如头发、眼镜、脖子、皮肤、嘴唇等等,各类背景则统一标注为「背景」,标注质量在人类标注员的交叉验证测试中取得了 98% 的 IOU。

一张仔细标注为 9 个类别的训练样本示例;前景元素的标注区域直接覆盖在图像上

网络输入

这个视频分割任务的具体定义是对视频输入的每一帧(RGB 三个通道)计算出一张二值掩蔽图。这里需要解决的关键问题是让计算出的不同帧的掩蔽图之间达到时间持续性。现有的使用 LSTM 和 GRU 的方法虽然有效,但对于要在手机上实时运行的应用来说,需要的计算能力太高了。所以谷歌研究人员们想到的替代方案是把前一帧计算出的掩蔽图作为第四个通道,和新一帧本来的 RGB 三个通道一起作为网络输入,从而实现时间持续性。如下图

一帧原始图像(左图)会分离为三色通道,然后再加上前一帧图像算出的掩蔽图(中)。这些会一起作为神经网络的输入,用来预测当前帧的掩蔽图(右图)。

训练过程

对于视频分割任务,我们希望达到帧与帧之间的时间连续性,同时也要照顾到图像中内容的突然变化,比如人突然出现在摄像头视野中。为了训练模型能够鲁棒地处理这些使用状况,谷歌的研究人员们对每张图像的真实背景分割结果做了各种不同的处理后再作为来自前一帧的掩蔽图:

  • 空的前一帧掩蔽:这种情况用来训练网络正确分割视频的第一帧,以及正确分割视野中新出现的物体。这模拟了某人突然出现在摄像头视野内的状况。

  • 仿射变换过的真实背景掩蔽:轻微的变换可以训练网络据此进行调整,向前一帧的掩蔽适配。大幅度的变换就训练网络判断出掩蔽不适合并抛弃这个结果。

  • 变换过的图像:对视频的原始图像做薄板样条平滑,模拟摄像头快速移动和转动时拍摄出的画面

演示实时视频分割

网络架构

根据修改过的输入/输出格式,谷歌的研究人员们以标准的沙漏型分割网络架构为基础,做了如下改进:

  • 使用大卷积核、4 或者更大的大步距在高分辨率的 RGB 输入帧内检测物体特征。对通道数不多的层做卷积的计算开销相对较小(在这种情况下就是 RGB 三个通道的输入),所以在这里用大的卷积核几乎对计算需求没有影响。

  • 为了提高运行速度,模型中结合大步距和 U-Net 类似的跳跃连接,激进地进行下采样,同时也在上采样时保留低层次的特征。对于谷歌的这个分割模型,有跳跃连接的模型的 IOU 要比没有跳跃连接的大幅提高 5%。

带有跳跃连接的沙漏型分割网络
  • 为了进一步提高速度,谷歌研究人员们优化了默认的残差网络瓶颈。在学术论文中,研究者们通常喜欢在网络中部把通道数缩减为 1/4 (比如,通过使用 64 个不同的卷积核把 256 个通道缩减为 64 个通道)。不过,谷歌的研究人员们认为他们可以更加激进地缩减通道,可以缩减为 1/16 甚至 1/32,而且并不会带来性能的大幅下降。

大比例压缩的 ResNet 瓶颈
  • 为了美化图像边缘、提高图像边缘分割的准确率,在整个分割网络之上增加了几层全分辨率的密集连接 DenseNet 层,这种做法和神经网络匹配很相似。这种技巧带来的模型总体数值表现提升并不大,仅有 0.5% IOU,但是人类视觉感知上的分割质量提升很明显。

经过这些修改之后,网络在移动设备上的运行速度非常块,不仅在 iPhone 7 上有超过 100 帧每秒、Pixel 2 上超过 40帧每秒的速度,而且还有很高的准确率(根据谷歌的验证数据集达到了 94.8%),为 YouTube stories 功能提供了各种丰富流畅的实时响应效果。

视频分割团队的近期目标是在 YouTube stories 功能的小规模开放期间进行更多测试。随着分割技术改善、拓展到更多标签的识别分割,谷歌的 AR 服务中未来也有可能会把它集成进去。

via GoogleBlog, AI 科技评论编译。



点击下方“阅读原文”了解【人工智能实验平台】
↓↓↓

这篇关于谷歌送上主播福利,手机拍视频实时换背景的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/898132

相关文章

Java如何获取视频文件的视频时长

《Java如何获取视频文件的视频时长》文章介绍了如何使用Java获取视频文件的视频时长,包括导入maven依赖和代码案例,同时,也讨论了在运行过程中遇到的SLF4J加载问题,并给出了解决方案... 目录Java获取视频文件的视频时长1、导入maven依赖2、代码案例3、SLF4J: Failed to lo

css渐变色背景|<gradient示例详解

《css渐变色背景|<gradient示例详解》CSS渐变是一种从一种颜色平滑过渡到另一种颜色的效果,可以作为元素的背景,它包括线性渐变、径向渐变和锥形渐变,本文介绍css渐变色背景|<gradien... 使用渐变色作为背景可以直接将渐China编程变色用作元素的背景,可以看做是一种特殊的背景图片。(是作为背

Python实现多路视频多窗口播放功能

《Python实现多路视频多窗口播放功能》这篇文章主要为大家详细介绍了Python实现多路视频多窗口播放功能的相关知识,文中的示例代码讲解详细,有需要的小伙伴可以跟随小编一起学习一下... 目录一、python实现多路视频播放功能二、代码实现三、打包代码实现总结一、python实现多路视频播放功能服务端开

Python实现视频转换为音频的方法详解

《Python实现视频转换为音频的方法详解》这篇文章主要为大家详细Python如何将视频转换为音频并将音频文件保存到特定文件夹下,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. python需求的任务2. Python代码的实现3. 代码修改的位置4. 运行结果5. 注意事项

Python视频处理库VidGear使用小结

《Python视频处理库VidGear使用小结》VidGear是一个高性能的Python视频处理库,本文主要介绍了Python视频处理库VidGear使用小结,文中通过示例代码介绍的非常详细,对大家的... 目录一、VidGear的安装二、VidGear的主要功能三、VidGear的使用示例四、VidGea

你的华为手机升级了吗? 鸿蒙NEXT多连推5.0.123版本变化颇多

《你的华为手机升级了吗?鸿蒙NEXT多连推5.0.123版本变化颇多》现在的手机系统更新可不仅仅是修修补补那么简单了,华为手机的鸿蒙系统最近可是动作频频,给用户们带来了不少惊喜... 为了让用户的使用体验变得很好,华为手机不仅发布了一系列给力的新机,还在操作系统方面进行了疯狂的发力。尤其是近期,不仅鸿蒙O

流媒体平台/视频监控/安防视频汇聚EasyCVR播放暂停后视频画面黑屏是什么原因?

视频智能分析/视频监控/安防监控综合管理系统EasyCVR视频汇聚融合平台,是TSINGSEE青犀视频垂直深耕音视频流媒体技术、AI智能技术领域的杰出成果。该平台以其强大的视频处理、汇聚与融合能力,在构建全栈视频监控系统中展现出了独特的优势。视频监控管理系统EasyCVR平台内置了强大的视频解码、转码、压缩等技术,能够处理多种视频流格式,并以多种格式(RTMP、RTSP、HTTP-FLV、WebS

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount

《x86汇编语言:从实模式到保护模式》视频来了

《x86汇编语言:从实模式到保护模式》视频来了 很多朋友留言,说我的专栏《x86汇编语言:从实模式到保护模式》写得很详细,还有的朋友希望我能写得更细,最好是覆盖全书的所有章节。 毕竟我不是作者,只有作者的解读才是最权威的。 当初我学习这本书的时候,只能靠自己摸索,网上搜不到什么好资源。 如果你正在学这本书或者汇编语言,那你有福气了。 本书作者李忠老师,以此书为蓝本,录制了全套视频。 试