CVPR 2019 | 惊艳的SiamMask:开源快速同时进行目标跟踪与分割算法
作者 | 周强(CV君)
来源 | 我爱计算机视觉(公众号id:aicvml)
责编 | Jane
上面这张Gif图演示了 SiamMask 的效果,只需要鼠标滑动选择目标的包围框,即可同时实现目标跟踪与分割。
这种视频里目标的像素级标注,很有用,比如给视频叠加特效可以不覆盖目标人物,或者视频编辑中扣掉特定目标。想想前段时间浙江卫视和北京卫视如果有了这套软件,让某吴姓演员从节目中消失就简单多了,是不是?
近日,CVPR 2019 的接收论文《Fast Online Object Tracking and Segmentation: A Unifying Approach》作者Qiang Wang开源了这套SiamMask代码,引起了极大关注。我们一起来看看吧。
论文作者信息:
论文作者团队来自中科院自动化所、牛津大学、Five AI公司。
感谢~
研究目的
以往大多数目标跟踪得到的结果是目标的包围框,而作者希望将跟踪与分割结合起来,算法“实时“给出目标的像素级标注。
上图中,左侧是初始化的操作,在视频第一帧给出目标的包围框,右侧的多张图像为普通的跟踪算法计算得到估计的包围框和SiamMask估计的目标的分割mask。
算法原理
作者是在近年出现的 SiamFC 跟踪算法基础上做的改进。
下图展示了其整天算法流程。左侧上面图像为框出来的目标图像,左侧下面图像为要搜索目标位置的视频中的一帧,经过卷积网络,生成Row(response of a candidate window,候选窗口响应),网络后面有三个head,除了在SiamFC法中已经存在的预测box(目标位置)的head和预测响应score(目标出现概率)的head,作者增加了预测目标mask(目标二值掩码)的head。
另外也可以直接去掉预测box的head,提高计算速度,包围框也可以通过mask计算得到。网络结构如下:
下图展示了使用SiamMask算法计算得到的图像中不同位置的score值。
实验结果
作者在VOT-2016、VOT-2018数据集上测试跟踪精度,在DAVIS-2016、DAVIS-2017数据集上测试了目标分割的精度。
下图是与普通的跟踪算法的结果比较:
SiamMask 相比之前的跟踪算法的 state-of-the-art 精度又改进不少。
下图是与现有的视频目标分割算法的精度的比较:
虽然SiamMask精度并不是最高的,但速度却比其他算法快1到2个数量级!在真实应用中更有价值。
下图为mIoU-速度的散点图:
一些视频目标分割示例(请点击查看大图):
重点来了!代码地址:
https://github.com/foolwood/SiamMask
(本文为AI科技大本营转载文章,转载请微信作者)
近期 CVPR 2019 论文解读推荐:
首发 | 旷视14篇CVPR 2019论文,都有哪些亮点?
CVPR 2019审稿满分论文:中国博士提出融合CV与NLP的视觉语言导航新方法
CVPR2019 | 微软、中科大开源基于深度高分辨表示学习的姿态估计算法
如果你也想分享自己的论文,欢迎投稿,可扫描下方二维码与营长联系:
推荐阅读:
300道Python面试题,备战春招!
2018中国开发者真实现状:40岁不做开发,算法工程师最稀缺!
人生苦短,Python之父要解开这个困惑
从起源、变体到评价指标,一文解读NLP的注意力机制
女子偷师男子学校,变身区块链开发工程师,却说: “这次女人不会再缺席了!”
云漫圈 | 如何给女朋友解释什么是HTTP
从程序媛到全球研发副总裁,技术女神进击史!
杨超越杯编程大赛上热搜:不懂技术真不敢追星女子偷师男子学校,变身区块链开发工程师,却说: “这次女人不会再缺席了!”
为啥程序员下班后只关显示器从不关电脑?
❤点击“阅读原文”,查看历史精彩文章。
相关文章:
看看Entity Framework 4生成的复杂的分页SQL语句
之前发现Entity Framework 4生成的COUNT查询语句问题,今天又发现它生成的分页SQL语句问题,而LINQ to SQL却不存在这个问题。 >>> 来看一看,瞧一瞧! 上代码: 看生成的SQL语句: 1. Entity Framework…
这份“插件英雄榜Top20”才是Chrome的正确打开方式!
作者 | zhaoolee整理 | Jane出品 | AI科技大本营(公众号id:rgznai100)前言”一入开源深似海”!给大家推荐优秀的开源项目、实用工具已经成为 AI科技大本营的固定节目。“我待开源如初恋”,逛淘宝,点收藏&am…
【Qt】Qt样式表总结(二):冲突和命名空间
Qt样式表总结(一):选择器 解决冲突 针对同一个控件的相同属性,使用多种选择器时,会出现冲突。如: QPushButton#okButton { color: gray } QPushButton { color: red } 解决冲突的规则是:更…
编程自动化,未来机器人将超越人类?
近年,创业者陈曦正专注于一个项目——编程自动化。即机器人可以自己编程,这到底意味着什么呢? 在美国科幻大片《终结者2》中,20世纪末的1997年7月3日,人类研制的全球高级计算机控制系统“天网”全面失控,机…
Repeater 嵌套 Repeater
作为一个刚入行的IT小鸟,每天学习,是必须的! 光自学肯定是不够的!由于本人IQ比较低,经常一个小问题都会想不明白。 还好有媳妇儿的帮助,才把这个功能给实现了。 现在就在这里总结下,以示敬意。o…
【Qt】Qt样式表总结(三):QObject 属性
【Qt】Qt样式表总结(一):选择器 【Qt】Qt样式表总结(二):冲突和命名空间 QObject 属性 可以使用 qproperty < 属性名称 > 语法,设置任何可以Q_PROPERTY的控件 MyLabel { qproperty-pixmap: url(pixmap.png); } MyGroupBox { qproperty-titleColor: rgb(100, 2…
CVPR2019 | 斯坦福学者提出GIoU,目标检测任务的新Loss
作者 | Slumbers,毕业于中山大学,深度学习工程师,主要方向是目标检测,语义分割,GAN责编 | Jane本文是对 CVPR2019 论文《Generalized Intersection over Union: A Metric and A Loss for Bounding Box Regression》的解…
ASP.NET页面之间传递值的几种方式
页面传值是学习asp.net初期都会面临的一个问题,总的来说有页面传值、存储对象传值、ajax、类、model、表单等。但是一般来说,常用的较简单有QueryString,Session,Cookies,Application,Server.Transfer。 一…
下一代安全威胁的内幕故事
当伊朗总统马哈茂德艾哈迈迪-内贾德在去年11月份宣布该国的核计划遭到软件***后,他证实了许多安全研究人员的猜测:原因是Stuxnet大爆发,篡改了控制处理铀所用的离心机电机的关键系统。 内贾德对这起***造成的影响轻描淡写…
国内少儿眼中的编程:“Coding即是代码”?
作者 | Greg Satell译者 | 刘旭坤责编 | Jane出品 | AI科技大本营(公众号id:rgznai100)【编者按】上一个时代流行从小学奥数,现在“编程要从宝宝抓起”已经开始疯狂流行。随着 2017 年国务院印发《新一代人工智能发展规划》&#…
西门子发布最新版NX软件 助力零件制造的数字化
SiemensPLMSoftware近日发布最新版NXTM软件,集成了用于增材制造、计算机数控(CNC)加工、机器人和质量检测等新一代工具,以实现在统一的、集成的、端到端的系统中实现零件制造的数字化。 其中,用于计算机辅助制造(CAM)的先进自动化功能&#x…
【Qt】Qt国际化
参考博客:https://blog.csdn.net/hebbely/article/details/69388763 Qt官网:http://doc.qt.io/qt-5/linguist-manager.html 使用的工具 lupdate --> linguist --> lrelease 使用步骤 tr 在程序中将需要翻译的文本使用tr()函数来处理 修改pro…
回到未来 – 大胆畅想如何追赶并超越腾讯模式
其实,明天是什么样子,它就会是什么样子。 我总是喜欢幻想,无论是对过去还是对未来,对生活或是对爱情。 不过憧憬多过幻想。 一直比较关注互联网的动态,想象如果某某公司的某件产品如果是自己的&…
Python如何爬取实时变化的WebSocket数据
作者 | 韦世东来源 | 进击的Coder(公众号id:FightingCode)一、前言作为一名爬虫工程师,在工作中常常会遇到爬取实时数据的需求,比如体育赛事实时数据、股市实时数据或币圈实时变化的数据。如下图:Web 领域中…
【Qt】Qt样式表总结(四):CSS盒子模型
官网:http://doc.qt.io/qt-5/stylesheet-customizing.html#box-model 【Qt】Qt样式表总结(一):选择器 【Qt】Qt样式表总结(二):冲突和命名空间 【Qt】Qt样式表总结(三):QObject 属性 盒子模型 先来张图片,引自Qt官网 使用样式表时, 每个小部件都被视为具有四个同…
1.试述大数据对思维方式的重要影响。 2.详细阐述大数据、云计算、物联网之间的区别与联系。 3.简述你对大数据应用与发展的看法,以及你在这次大数据浪潮中想扮演什么角色。...
1.大数称巨量资料,指的是需要新处理模式才能具有更强的决策力、洞察力和流程优化能力的海量、高增长率和多样化的信息资产。所以利用大数据的人们思维更加的敏锐,也会对人们的思维方式产生扩大化,通过大量的数据进行分析,从而形成…
有关GetPrivateProfileString的使用方法
函数返回值为string的长度(long型),而从ini文件获得的字符串则保留在目的缓冲器中 DWORD GetPrivateProfileString( LPCTSTR lpAppName, //配置文件的section名 LPCTSTR lpKeyName, //配置文件的key名 LPCTSTR lpDefault, LPTSTR lpReturnedString, DWORD nSize, LPC…
【Qt】QDebug和log4cplus的联合使用
问题描述 项目开始时,只使用QDebug将调试信息打印到终端上。后期添加了日志管理系统,比如log4cplus。如何在不修改打印语句,比如还使用qDebug,就能将日志打印到文件中。 解决方法 使用qInstallMessageHandler将调试消息重定向功…
75道常见AI面试题,看看你的知识盲点在哪?(附解析)
整理 | AI科技大本营出品 | AI科技大本营(公众号id:rgznai100)【导语】正值求职、跳槽季,无论你是换工作还是找实习,没有真本事都是万万不行的,可是如何高效率复习呢?之前我们给大家推荐了一份 …
Flex画流程图
<?xml version"1.0" encoding"utf-8"?><mx:Application xmlns:mx"http://www.adobe.com/2006/mxml" layout"absolute" creationComplete"initApp()"> <mx:Canvas id"paper" x"30" y&q…
【Qt】Qt信号与槽使用不当,使程序崩溃
问题描述 跨线程使用Qt信号和槽,信号发送时间间隔小于槽函数处理时间时,造成程序崩溃。 原因分析 跨线程使用Qt信号和槽时,connect默认是QueuedConnection,队列连接方式。 信号传递给槽函数的参数,分配内存后放入队…
70亿美金!英伟达欲竞购这家以色列芯片公司!
整理 | 琥珀出品 | AI科技大本营(公众号id:rgznai100)近日,据国外财经媒体 Calcalist 报道,英伟达已给出报价,竞购以色列芯片设计公司迈络思(MellanoxTechnologies)。实际上…
Mysql安全配置
zhangsan 2014/06/14 11:550x01 前言很多文章中会说,数据库的权限按最小权限为原则,这句话本身没有错,但是却是一句空话。因为最小权限,这个东西太抽象,很多时候你并弄不清楚具体他需要哪些权限。 现在很多mysql用着r…
【C++】Google C++编码规范(一):作用域
1、文件作用域: 在.cpp文件中,C使用匿名名字空间来表示文件作用域,C使用static来表示; 2、局部变量 局部变量在声明的同时,进行显示初始化;比起隐式初始化再赋值要高效; 局部变量的作用域要尽…
华为 | 人生苦短,码短情长,有场大Party等你来Pick!
上学时,书上说C语言是上帝的语言。我同屋的兄弟不服,他说PHP才是最好的语言。毕业之后,我们Team的老大却坚信:Life is short,只用Python……现在,作为一个真正的开发者,我发现用什么语言一点点都…
设置进程优先级
//取得本进程id HANDLE hProcess GetCurrentProcess(); //设置本进程的优先级 int stat SetPriorityClass(hProcess, NORMAL_PRIORITY_CLASS);
Deep Reading | 从0到1再读注意力机制,此文必收藏!
译者 | forencegan编辑 | 琥珀出品 | AI科技大本营(ID: rgznai100)【AI科技大本营导语】注意力机制(Attention)已经成为深度学习必学内容之一,无论是计算机视觉还是自然语言处理都可以看到各种各样注意力机制的方法。之…
【C++】Google C++编码规范(二):类
1、构造函数 不要在构造函数中进行复杂的初始化 (尤其是那些有可能失败或者需要调用虚函数的初始化). 构造函数不得调用虚函数, 或尝试报告一个非致命错误. 如果对象需要进行有意义的 初始化, 考虑使用明确的 Init() 方法或使用工厂模式. 2、初始化 第一种方法:构…
Flask与Django对比
Flask与Django对比 Django vs FlaskFlask框架之间的差别 Django功能大而全,Flask只包含基本的配置 Django的一站式解决的思路,能让开发者不用在开发之前就在选择应用的基础设施上花费大量时间。Django有模板,表单,路由,…
windows下apache配置虚拟主机的两个方法
windows下apache配置虚拟主机方法一: 对httpd.conf进行设置:1.注释以下三行#ServerAdmin#ServerName#DocumentRoot2.去掉mod_proxy.so和mod_proxy_ajp.so的注释3.#Virtual hosts#Include conf/extra/httpd-vhosts.conf ࿰…