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的更多相关文章

  1. CVPR2020:三维实例分割与目标检测

    CVPR2020:三维实例分割与目标检测 Joint 3D Instance Segmentation and Object Detection for Autonomous Driving 论文地址 ...

  2. 谣言检测(RDEA)《Rumor Detection on Social Media with Event Augmentations》

    论文信息 论文标题:Rumor Detection on Social Media with Event Augmentations论文作者:Zhenyu He, Ce Li, Fan Zhou, Y ...

  3. ACL权限设置命令setfacl和getfacl命令

    ACL权限设置命令setfacl和getfacl命令 setfacl命令是用来在命令行里设置ACL(访问控制列表).在命令行里,一系列的命令跟随以一系列的文件名. [TOC] 选项 |参数|说明|   ...

  4. LVS + Keepalived + Nginx安装及配置

    1.概述 上篇文章<架构设计:负载均衡层设计方案(6)——Nginx + Keepalived构建高可用的负载层>(http://blog.csdn.net/yinwenjie/artic ...

  5. RCNN--对象检测的又一伟大跨越 2(包括SPPnet、Fast RCNN)(持续更新)

    继续上次的学习笔记,在RCNN之后是Fast RCNN,但是在Fast RCNN之前,我们先来看一个叫做SPP-net的网络架构. 一,SPP(空间金字塔池化,Spatial Pyramid Pool ...

  6. ipvsadm参数详解(常用命令)

    [root@localhost ipvsadm]# ipvsadm -h ipvsadm v1.24 2005/12/10 (compiled with popt and IPVS v1.2.1) U ...

  7. 行为识别(action recognition)相关资料

    转自:http://blog.csdn.net/kezunhai/article/details/50176209 ================华丽分割线=================这部分来 ...

  8. 架构设计:负载均衡层设计方案(7)——LVS + Keepalived + Nginx安装及配置

    1.概述 上篇文章<架构设计:负载均衡层设计方案(6)——Nginx + Keepalived构建高可用的负载层>(http://blog.csdn.net/yinwenjie/artic ...

  9. 架构设计:负载均衡层设计方案(5)——LVS单节点安装

    1.概述 上篇文章<架构设计:负载均衡层设计方案(4)——LVS原理>(http://blog.csdn.net/yinwenjie/article/details/46845997),我 ...

  10. 164. Maximum Gap

    题目: Given an unsorted array, find the maximum difference between the successive elements in its sort ...

随机推荐

  1. Windows 2008 R2 防火墙允许Serv-U通过的方法

    在Windows 2008 R2上安装了Serv-U FTP服务端软件之后,无法通过客户端连接,究其原因是Windows 2008的防火墙没有开启FTP端口,而且在防火墙上添加Serv-U程序也不行, ...

  2. HDU 4081—— Qin Shi Huang's National Road System——————【次小生成树、prim】

    Qin Shi Huang's National Road System Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/3 ...

  3. C#语言开发规范

    1.  命名规范 a) 类 [规则1-1]使用Pascal规则命名类名,即首字母要大写. eg: Class Test { ... } [规则1-2]使用能够反映类功能的名词或名词短语命名类. [规则 ...

  4. maven常用依赖

    HttpServletRequest HttpServletResponse <dependency> <groupId>javax.servlet</groupId&g ...

  5. Hibernate课程 初探一对多映射4-1 inverse属性

    1 <Set>节点的inverse属性默认由one方来维护(默认值为false).将inverse属性修改为true则由多方来维护.

  6. jQuery的定时执行和延迟执行

    jQuery的定时执行和延迟执行 //延迟执行 setTimeout(function(){ console.log("实战授课,100%就业"); },600); //定时执行 ...

  7. Flask文件目录----- auth/blog 文件

    import functools from flask import (Blueprint, flash, g, redirect, render_template, url_for, request ...

  8. Python函数(2)

    一.函数对象 函数是第一类对象:指的是函数名指向的值可以被当作数据去使用. 1.函数可以被引用 例如: 2.可以当作参数传递给另一个函数 例如: 3.可以当作一个函数的返回值 例如: 4.可以当作容器 ...

  9. SQLServer查询语句收集

    常用的SQLServer查询语句,有空可以多练习一下,增加记忆,可以提高工作效率! 1.数据操作 Select      --从数据库表中检索数据行和列Insert      --向数据库表添加新数据 ...

  10. Linux系统如何设置开机程序自启动

    在Linux系统如何让程序开机时自动启动      核心提示:系统的服务在开机时一般都可以自动启动,那在linux系统下如果想要程序在开机时自动启动怎么办?我们知道在 windows系统“开始”--& ...