如何在视频里任意抠图?阿里工程师做到了!

阿里妹导读:现在的我们在手机上花费了越来越多的时间,其中,视频又格外地吸引我们的注意力。有很多好玩的视频,需要把前景物体从视频中分割出来,这需要花费创作者99%以上的时间。今天,阿里资深算法专家任海兵将告诉:阿里巴巴关于视频物体分割算法的三个方向与最新应用,希望对喜欢视频创作的你有所帮助。

视频物体分割(Video Object Segmentation,简称 VOS ),顾名思义就是从视频所有图像中把感兴趣的物体区域完整地分割出来。为了方便大家的理解。

视频物体分割结果是进行内容二次创作的重要素材。例如目前火爆的“裸眼3D视频”,基于视频中主要物体与观众之间的距离,利用蒙皮遮挡的变化产生3D效果。其核心点是将前景物体从视频中分割出来,这部分会花费创作者99%以上的时间。

因此,对于优酷这样的视频类网站,视频物体分割是非常有价值的算法,能够赋能内容生产者,提升内容生产效率。特别是交互式视频物体分割算法,能利用用户少量交互,逐步提高视频物体分割正确率,提升用户观感体验。这是任何无监督视频物体分割算法所不能达到的。

目前,CV 学术界在视频物体分割方面的研究主要分为三个方向:

  • 半监督视频物体分割 (Semi-supervised video object segmentation)
  • 交互式视频物体分割(Interactive video object segmentation)
  • 无监督视频物体分割(Un-supervised video object segmentation)

这三个研究方向对应于 Davis Challenge 2019 on Video Object Segmentation [1]中的三个赛道。其中,学术界更倾向于研究半监督视频物体分割,因为这是视频物体分割的最基础算法,也是比较纯粹的一个研究点。 接下来,我首选介绍视频物体分割的三个研究方向,然后结合阿里文娱摩酷实验室的探索,分享在视频领域的最新应用。

一、半监督视频物体分割

半监督视频物体分割,又称为单一样本视频物体分割(one-shot video object segmentation, 简称 OSVOS)。在半监督视频物体分割中,给定用户感兴趣物体在视频第一帧图片上的分割区域,算法来获取在后续帧上的物体分割区域。物体可以是一个,也可以是多个。在视频中,存在物体和背景运动变化、光照变化、物体旋转变化、遮挡等,因此半监督视频物体分割算法研究的重点是算法如何自适应获取变化的物体表观信息。一个示例如下图所示:

图1. 半监督视频物体分割示例

在图1中,第一行为序列的 RGB 图片,第二行为感兴趣物体区域。其中(a)为视频第一帧图像,骆驼区域是给定物体的 ground-truth。(b)(c)和 (d)是后续的第20、40和60帧,后续的图像只有 RGB 图片,需要算法去估计物体的区域。该示例的难点是:

  • 前景背景颜色非常相似;
  • 随着目标骆驼的运动,背景中出现一个新的骆驼,需要分割出这两个不同的骆驼区域。

目前半监督视频物体分割算法分为两大类:有在线学习、无在线学习。

基于在线学习的算法根据第一帧物体的 ground-truth,利用 one-shot learning 的策略来 fine-tune 分割模型。经典的在线学习算法包括 Lucid datadreaming[2],OSVOS[3],PreMVOS[4]等。在线学习算法针对每个物体单独训练模型,可以达到很高的分割正确率。但是在线学习本身是深度学习模型的 fine-tuning,需要耗费大量的计算时间。在2019年之前,在线学习算法是主流。今年出现了不少无在线学习的算法,它的模型是事先训练好的,不需要针对样本进行 fine-tune,具有更好的时效性,例如 CVPR2019 的 FEELVOS[5],Space-time memory network[6]等。

半监督视频物体分割的最主要的结果评估标准是平均 Jaccard 和 F-measurement.平均Jaccard 值是所有物体在所有帧上分割精度 Jaccard 的均值。F-measurement 为分割区域边缘的准确度。半监督视频物体分割由于其需要第一帧物体区域的 ground-truth,因此无法直接应用于实际应用。但它是交互式和无监督视频物体分割算法的核心组成部分。

二、交互式视频物体分割

交互式视频物体分割是从去年开始兴起的、更贴近实用的视频物体分割方法。在交互式视频物体分割中,输入不是第一帧物体的 ground-truth,而是视频任意一帧中物体的用户交互信息。交互信息可以是物体 boundingbox、物体区域的划线(scribble)、外边缘的极值点等。

基本流程如下图所示:

图2.交互式视频物体分割流程

交互式视频物体分割通常包括以下5个步骤:

  • 用户输入交互信息,标记感兴趣物体,例如物体的 bounding box,scribble 信息、边缘点等;
  • 根据用户输入的交互信息,利用交互式图像物体分割算法分割出物体在该帧图像上的物体区域;
  • 根据前一帧物体区域,利用半监督视频物体分割算法向视频其他帧图像逐帧传递,进行物体分割,得到所有帧图像上物体区域。然后,用户检查分割结果,在分割较差帧上,给出新的交互信息;
  • 算法根据新的交互信息,修改该帧图像上的分割结果;
  • 重复步骤3和4,直到视频物体分割结果让用户满意。

交互式视频物体分割不是一个单一算法,而且多种算法有机融合的解决方案,包括交互式图像物体分割、半监督视频物体分割、交互式视频物体区域传递算法等。其主要评估方法为 Davis Challenge on Video Object Segmentation 中提出的 Jaccard&F-measurement@60s (简称 J&F@60s )和 Area Under Curve(简称 AUC)。Davis竞赛提出限定8次用户交互,建立准确度随时间的变化曲线图,曲线下方区域的面积就是 AUC,t=60s 时刻曲线插值就是 J&F@60s。下图为一个 J&F 随时间变化曲线图。

图3. 交互式分割结果 J&F曲线示例

从评估指标可以看出,交互式视频物体分割强调分割算法的时效性,不能让用户长时间等待。所以,在交互式视频物体分割中一般不采用基于在线学习方法的半监督视频物体分割算法。目前还没有交互式视频物体分割的开源代码。但是交互式视频物体分割算法对工业界有非常重要的意义,其原因是:

1)半监督视频物体分割需要物体第一帧的 ground-truth,实用中获取比较麻烦。而交互式视频物体分割只需要用户的简单交互,非常容易达到;
2)交互式视频物体分割可以通过多次交互,达到非常高的分割正确率。高精度的分割结果能够提供更好的用户体验,才是用户需要的结果。

三、无监督视频物体分割

无监督视频物体分割是全自动的视频物体,除了 RGB 视频,没有其他任何输入。其目的是分割出视频中显著性的物体区域。在上述三个方向中,无监督视频物体分割是最新的研究方向。

Davis 和 Youtube VOS 竞赛今年第一次出现无监督赛道。从算法层面上说,无监督视频物体分割需要增加显著性物体检测模块,其他核心算法没有变化。

半监督和交互式视频物体分割中,物体是事先指定的,不存在任何歧义。而在无监督视频物体分割中,物体显著性是主观概念,不同人之间存在一定的歧义。因此,在 Davis VOS 中,要求参赛者总共提供 N 个物体的视频分割结果(在 Davis Unsupervised VOS 2019 中,N=20),与数据集 ground-truth 标记的 L 个显著物体序列计算对应关系。对应上的物体和遗漏的物体参与计算 J&F 的均值。N 个物体中多余的物体不做惩罚。

四、阿里文娱摩酷实验室的研究现状

目前很多半监督视频物体分割算法在学术上有很好的创新,但是实用中效果不佳。我们统计了今年 CVPR 的论文,在 Davis 2017 val数据集上,没有一篇正会论文J&F>0.76。FEELVOS[5]、siamMask[7]等算法理论上有很好,实用中却存在多种问题。交互式视频物体分割更是没有开源代码。

所以,阿里文娱摩酷实验室从2019年3月底开始从事半监督和交互式视频物体分割算法的研究。

2019年5月,我们完成一版基础的半监督视频物体分割算法和交互式视频物体分割解决方案,并以此参加了 DAVIS Challenge on Video Object Segmentation 2019,在交互式视频物体分割赛道获得第四名。

我们提出的 VOS with robust tracking 策略[8],可以较大幅度的提高基础算法的鲁棒性。在 Davis 2017验证集上,我们交互式视频物体分割算法 J&F@60s 准确率从3月底的0.353 提高到5月初的0.761。现在,我们的半监督视频物体分割算法也达到了J&F=0.763。可以说,在这个集合上我们的结果已经接近业界一流水准。

五、阿里文娱摩酷实验室的后续计划

目前,我们在继续探索复杂场景下的算法应用,这些复杂场景包括小物体、前景背景高度相似、物体运动速度很快或表观变化很快、物体遮挡严重等。后续,我们计划在online learning、space-time network、region proposal and verification 等策略上发力,以提高视频物体分割算法在复杂场景下的分割精度。

另外,图像物体分割算法、多目标物体跟踪算法也是视频物体分割算法的重要基础,我们也将在这些方面持续提升精度。


原文链接
本文为云栖社区原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/518197.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

启动vue项目失败,报错Failed at the node-sass@4.14.1 postinstall script.

在启动vue项目的时候报错 报错信息如下:npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! node-sass4.14.1 postinstall: node scripts/build.js npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the node-sass4.14.1 postinstall script. npm ERR! This i…

DLedger —基于 raft 协议的 commitlog 存储库

尊敬的阿里云用户: 您好!为方便您试用开源 RocketMQ 客户端访问阿里云MQ,我们申请了专门的优惠券,优惠券可以直接抵扣金额。请填写下您公司账号信息,点击上图,了解更多哦。 一、DLedger引入目的 在 Rocke…

不服来战!青藤发起“雷火引擎”公测赛 百万赏金寻顶尖白帽

2020年春天,以5G、人工智能、云计算为代表的“新基建”蔚然成风,着眼国家数字经济体系建设,打造数字经济体系底座的“新基建”,无疑成为中国经济整体应对未来发展的核心方案。可以说,没有任何一个时期比现在更能够彰显…

UI2CODE系列文章|如何批量制造高质量样本

在 UI2CODE 项目中,我们大量使用了深度学习方法来做一些物体检测。而深度学习模型的训练,避免不了需要大量的样本,因此如何制造大量样本,来满足模型训练需要是我们必须要解决的一个问题。在这篇文章中,我们将介绍我们如…

javax.management.InstanceNotFoundException: org.springframework.boot:type=Admin,name=SpringApplicati

控制台service端打印javax.management.InstanceNotFoundException: org.springframework.boot:typeAdmin,nameSpringApplication 那个报的就点哪个,将红圈里的对勾去掉 就ok了!

极测未来|淘宝千人千面内容下的智能评测技术与实践

背景挑战 全面个性化、内容化的淘宝,构造了基于内容的丰富的导购场景,包括猜你喜欢、有好货、每日好店、必买清单、哇哦视频、微淘、买家秀、头条、洋葱盒子….。个性化,给消费者带来更精准的货品分发。内容化为消费者带来更多惊喜和好的体验…

新时代 新营销 新增长, 纷享销客重磅发布CRM7.0产品,持续赋能企业数字化未来

2020年4月26日,主题为“新时代 新营销 新增长”的纷享销客2020销售增长大会暨春季战略与新品发布会,在GMIC大会期间成功举办。纷享销客创始人&CEO罗旭发表“新时代 新营销 新增长”的主题演讲,同时重磅发布纷享销客连接型CRM7.0新品。 这…

python3-matplotlib基本使用(以折线图为例)

1、什么是matplotlib Matplotlib 是 Python 中最受欢迎的数据可视化软件包之一,支持跨平台运行,它是 Python 常用的 2D 绘图库,同时它也提供了一部分 3D 绘图接口。Matplotlib 通常与 NumPy、Pandas 一起使用,是数据分析中不可或…

flowable 开源项目

企业级工作流引擎开源项目 文章目录一、工作流引擎flowable1. flowable2. cims3. RuoYi-flowable4. springboot-flowable-modeler5. flowable-diagram二、工作流引擎activiti2.1. RuoYi-Vue-Process2.2. RuoYi-Process2.3. ruoyi-vue-activiti2.4. activiti7-workflow2.5. JeeS…

看!闲鱼在ServiceMesh的探索和实践

背景: 在阿里服务端开发以Java为主的大背景下,其他异构语言业务如何调用现有Java服务,如何与集团中间件打通,就成为使用非Java语言团队必须要解决的首要问题。 已有方案问题: 在ServiceMesh方案成熟之前&#xff0c…

编译错误 错误:PL/SQL: ORA-00932: 数据类型不一致: 应为 DATE, 但却获得 NUMBER 行

文章目录1. 现象2. 分析3. 解决方案通过存储过程将临时B表中的数据同步到轨迹表中 1. 现象 PROCEDURE LABS.ASSET_LOANP 编译错误错误:PL/SQL: ORA-00932: 数据类型不一致: 应为 DATE, 但却获得 NUMBER 行:17 文本:(select n.*, trunc(DBMS_R…

如何保证 HBase 服务的高可用?看看这份 HBase 可用性分析与高可用实践吧!

来源 | 阿丸笔记责编 | Carol头图 | CSDN 下载自视觉中国HBase作为一个分布式存储的数据库,它是如何保证可用性的呢?对于分布式系统的CAP问题,它是如何权衡的呢?最重要的是,我们在生产实践中,又应该如何保证…

python3-matplotlib绘制散点图、绘制条形图

matplotlib 支持的图形 https://matplotlib.org/stable/gallery/index.html 1、绘制散点图 from matplotlib import pyplot as plt from matplotlib import font_manager# y_3是三月每天的最高温度 y_10 是十月每天的最高温度 y_3 [11,17,16,11,12,11,12,6,6,7,8,9,12,…

ORA-01858: 在要求输入数字处找到非数字字符 13行

文章目录1. 现象2. 分析3. 解决方案ORA-01858: 在要求输入数字处找到非数字字符13行 1. 现象 insert /*append*/ into ASSET_LOAN(select * from ASSET_LOANB );commit;2. 分析 由于ASSET_LOANB表和ASSET_LOAN表字段顺序不一致导致的 具体分析:由于ASSET_LOANB表倒数…

牛!Python 全栈必备的 150 个实战案例,一次性获得!

Python 全栈将是你升职加薪的硬通货。我见过很多的 Python 讲解教程和书籍,它们大都这样讲 Python 的:先从 Python 的发展历史开始,介绍 Python 的基本语法规则,Python 的 list, dict, tuple 等数据结构,然后再介绍字符…

数据权限实现

权限框架可以根据用户所属角色决定有权限看到的菜单资源权限。 同一个资源下的同一个菜单的数据权限需要单独处理。 案例:一部门的张三和二部门的李四都是普通用户角色,普通用户都有用户管理的查询权限,但是,一部门的张三只能看到…

遍地开花的 Attention ,你真的懂吗?

阿里妹导读:曾被 paper 中各种各样的 Attentioin 搞得晕晕乎乎,尽管零零散散地整理过一些关于Attention 的笔记,重点和线索依然比较凌乱。今天,阿里巴巴工程师楠易,将 Attentioin 的知识系统性地梳理、回顾、总结&…

Wrapper+map实现页面显示

文章目录1. 查询用户数据map集合2. map集合参数拼装1. 查询用户数据map集合 2. map集合参数拼装 用户角色和部门名称,根据角色ID和部门id分别查询替换,简言之:需要的内容分别通过单独查询数据库得到,然后通过遍历依次对比&#xf…

手淘促活那些事儿 | 智能投放算法框架助力用户增长

导读:本文主要介绍以手淘促活为目的的全链路智能投放算法框架,该框架目前接入以 Pagani 为核心的全链路运营平台,首先使用用户意图识别算法圈选出目标人群,然后借助物料智能推荐和权益动态面额等算法实现全链路上用户的个性化触达…

天天用Redis,持久化方案你又知道哪些?

来源 |码猿技术专栏责编 | Carol头图 | CSDN 下载自视觉中国Redis目前已经成为主流的内存数据库了,但是大部分人仅仅是停留在会用的阶段,你真的了解Redis内部的工作原理吗?今天这篇文章将为大家介绍Redis持久化的两种方案,文章将会…