mask r-cnn
mask R-cnn, kaiming he的新作。可以同时完成object detection和segmentation,还可以做pose estimation,简直就是功能多多啊。在coco上测试,超过去年竞赛冠军的水平了,代码会在不久的将来放出来。
如果我没记错的话,facebook的feature cascade(????)在coco上效果是挺好的,但是换到pascal voc上效果就差了不少,这点一直没明白为什么。Mask R-cnn也是只在coco上做的实验,是他们不屑做pascal voc的实验还是又和cascade一样,又是只在coco上效果好?
自大一下,之前在做分割时也测试过,对每一个pixel的二类监督,以及做检测时也有这个,只是还没有分那么多类,那部分工作后来因为忙也没测试。
整体过了一遍文章,有几点需要记住:
1. 框架和faster rcnn是类似的,也就是说如果你不熟悉faster rcnn那么请先阅读faster rcnn。
2. 模型主要是加入了mask这部分,就是对Regions,不仅仅进行object detection的监督学习,同时还细化到pixels的监督学习。object detection的监督学习就和faster rcnn类似了,主要是IOU是否大于阈值,以及分类类别是否和gt一致。而pixels的监督学习,是看看regions和segmentation gt的intersection,也是类似于IOU吧,只是计算方式不一样,这个是细化到pixels级别的。
3. RPN的参数并不共享,是先训练RPN,分开训练的mask rcnn,参数并不共享。文中说是为了convinent ablation,我猜测可能不好调试,效果不好?faster rcnn证明联调是好的,虽然理论上解释分开才收敛(汗)。
4. 实验部分做的几个小表格,结果值得注意的。分别分析了不同的模式,结果有什么差别。其中有一点是multinomial vs independent masks是说明了svm这种两类分类的效果要比一下子分好多类的效果好吗?还有class-specific vs class-agnostic masks,这点在google的multibox的工作中也有体现。只是这种好像更适用于不能联调的情况,如果模型可以做到end-to-end好像还是有class的更好的。ROIAlign,这个结果比warp或者pooling好了不少。不过文章中提到的感觉有点笼统,就是不像warp或者pooling那么近似的多了,通过插值,使得roi不发生那么大的偏移?这个大概是分割时特有需要注意的地方。等代码放出来再细看实现细节。
5. 模型的application的鲁棒性,就是同样的框架稍微有点变动就可以用在别的任务上了,其中一个实验就是pose estimation.说到这里,文章写得好像缺了concolusion,意思是这个章节就是concolusion了?恩,其实这么说的话,这个pose estimation也算是个坑。
6. 计算量的问题,8GPU,每个GPU是2minibatch.好像kaiming he在微软的工作是一样的,都是8GPU,因此并行起来16张图一起处理。只是这部分代码一直没公开,我估计这篇mask rcnn即使公开代码,也是一个单机版的。回到测试时间,5fps,还可以,反正比faster rcnn慢,但是这就要看应用和科研的需求了。tradeoff怎么选,当然要看另外一篇google的文章了,Speed/accuracy trade-offs for modern convolutional object detectors(话说,我好像当初还挖了个坑,一直没填,汗!)。
先说我理解到的这或许不算是文中精华的6点精华吧,上传一下文章中的图,结构很清晰,懂faster rcnn的自然就懂这张图了。

mask r-cnn的更多相关文章
- CVPR2020:三维实例分割与目标检测
CVPR2020:三维实例分割与目标检测 Joint 3D Instance Segmentation and Object Detection for Autonomous Driving 论文地址 ...
- 谣言检测(RDEA)《Rumor Detection on Social Media with Event Augmentations》
论文信息 论文标题:Rumor Detection on Social Media with Event Augmentations论文作者:Zhenyu He, Ce Li, Fan Zhou, Y ...
- ACL权限设置命令setfacl和getfacl命令
ACL权限设置命令setfacl和getfacl命令 setfacl命令是用来在命令行里设置ACL(访问控制列表).在命令行里,一系列的命令跟随以一系列的文件名. [TOC] 选项 |参数|说明| ...
- LVS + Keepalived + Nginx安装及配置
1.概述 上篇文章<架构设计:负载均衡层设计方案(6)——Nginx + Keepalived构建高可用的负载层>(http://blog.csdn.net/yinwenjie/artic ...
- RCNN--对象检测的又一伟大跨越 2(包括SPPnet、Fast RCNN)(持续更新)
继续上次的学习笔记,在RCNN之后是Fast RCNN,但是在Fast RCNN之前,我们先来看一个叫做SPP-net的网络架构. 一,SPP(空间金字塔池化,Spatial Pyramid Pool ...
- ipvsadm参数详解(常用命令)
[root@localhost ipvsadm]# ipvsadm -h ipvsadm v1.24 2005/12/10 (compiled with popt and IPVS v1.2.1) U ...
- 行为识别(action recognition)相关资料
转自:http://blog.csdn.net/kezunhai/article/details/50176209 ================华丽分割线=================这部分来 ...
- 架构设计:负载均衡层设计方案(7)——LVS + Keepalived + Nginx安装及配置
1.概述 上篇文章<架构设计:负载均衡层设计方案(6)——Nginx + Keepalived构建高可用的负载层>(http://blog.csdn.net/yinwenjie/artic ...
- 架构设计:负载均衡层设计方案(5)——LVS单节点安装
1.概述 上篇文章<架构设计:负载均衡层设计方案(4)——LVS原理>(http://blog.csdn.net/yinwenjie/article/details/46845997),我 ...
- 164. Maximum Gap
题目: Given an unsorted array, find the maximum difference between the successive elements in its sort ...
随机推荐
- 关系型数据库---MySQL---事务
1.概述 1.1 事务:在对业务相关的一系列数据进行操作时,需要保证数据操作的完整性(要么全部成功.要么全部失败): 1.2 MySQL中支持事务的存储引擎是:Innodb: 1.3 事务用来管理in ...
- equals和等号的区别
如果是基本类型,等号比较的是数值.如果是引用类型,等号比较的是地址.而equals如果没有重写的话默认比较的是地址,可以重写equals来自定义比较两个对象的逻辑.
- 2019.03.20 读书笔记 关于Reflect与Emit的datatable转list的效率对比
Reflect public static List<T> ToListByReflect<T>(this DataTable dt) where T : new() { Li ...
- Horizon
python manage.py compress python manage.py collectstatic {% extends "horizon/common/_modal_form ...
- 关于Yahoo十四条军规与前端性能优化
关于Yahoo十四条军规与前端性能优化 热度 4已有 223 次阅读2014-8-3 15:01 |个人分类:前端相关|系统分类:前端优化| 前端优化, yahoo, 性能优化 启用Gzip压缩.Gz ...
- NASM在Ubuntu上的安装与简单使用
一 .安装NASM 1. 下载安装文件 地址是:http://www.nasm.us/pub/nasm/releasebuilds/2.11.08/ 2.解压(具体命令要根据压缩包的类型来选用) 3. ...
- ajax多次请求的一个效果思路
首先页面加载时候显示遮罩层 jQuery(function() { show_dialog(); //tianxie(); }); 定义一个全局数组,用于存放问题id var qar = []; 循环 ...
- Offic转换pdf 之asposeDLL插件
//excel转换 Workbook workbook = new Workbook(HttpContext.Current.Server.MapPath(docpath + "/" ...
- 对MVVM思想的在认识
如果说MVP是对MVC的进一步改进,那么MVVM则是思想的完全变革.它是将“数据模型数据双向绑定”的思想作为核心,因此在View和Model之间没有联系,通过ViewModel进行交互,而且Model ...
- python模块详解 random os
random模块 常用方法 random.random() 随机产生一个小于1的浮点数 import random print(random.random()) #0.4153761818276826 ...