点击上方“3D视觉工坊”,选择“星标”

干货第一时间送达

本文转自小马哥@知乎,https://zhuanlan.zhihu.com/p/366651996。

今天介绍一篇被CVPR 2021接收的工作,本文将目标检测、实例分割、姿态估计这些任务概括为位置敏感的视觉识别,并提出了一个名为位置敏感网络(LSNet)的统一解决方案。

  • 论文:https://arxiv.org/abs/2104.04899

  • 代码:https://github.com/Duankaiwen/LSNet

文章认为,目标检测,实例分割和姿态估计本质上都是识别物体,只是表征物体的形式有所不同,目标检测用bbox,实例分割用mask,姿态估计用keypoint。既然都是识别物体,能否只用一套方案来实现这三个任务?能。请看图1。

图1

目标检测。 用一个anchor点和指向极值点的四根向量就能确定目标框。注意文章中使用的是极值点,这个极值点是借助于mask标注得到的,详情参见ExtremeNet[1]。至于为什么使用极值点,文章指出极值点本身就包含了物体的语义信息。后面将介绍,这部分信息将会被有效的利用起来。反正coco有mask标注,不用白不用。但对于没有mask或极值点标注的数据集怎么办?这里有个替代方案,就是用边框的中点代替极值点,如图2。

图2

代码中只需将 with_extreme=False即可

dict(type='LoadAnnotations', with_bbox=True, with_extreme=True)

实验表明,在ResNet50上,极值点比中点高0.4个AP左右。文章在这里顺便提了一嘴,以后在标注新的目标检测数据集时,建议标注四个极值点,而非直接画框框住物体。因为根据论文[2],标极值点比直接画框平均快4倍,而且极值点本身包含有物体的语义信息。

实例分割。 用一个anchor点和指向轮廓点的n个向量确定mask。注意这跟PolarMask[3]的做法类似,但又不同。如图3,左为PolarMask,右为LSNet。在制作训练标签时,PolarMask将物体表示在极坐标系中,因此每个方向只能取一个轮廓点,但是对于复杂的polygon,某些方向会多次穿过轮廓,这种情况PolarMask只能取最外的一圈轮廓上的轮廓点,而红色轮廓处的轮廓点将被忽略。LSNet则避免了这个问题,它对轮廓进行均匀的采样,得到n个轮廓点,然后让网络直接回归出每个轮廓点的位置。

图3,左PolarMask,右LSNet

说到在轮廓上均匀的采样n个轮廓点,那么n到底取多少合适?n的大小依数据集的不同而不同。文章提供了一个可迅速判断n取值的方法,那就是把gt polygon分别均匀的采样n1, n2, n3, ...,个轮廓点。然后用n1, n2, n3, ...,分别组成新的polygon,与gt polygon进行比较,计算mask AP, 寻找最优的轮廓点采样数。以coco数据集为例,分别对每个gt polygon均匀采样18, 36, 72个轮廓点,然后分别用18, 36, 72个轮廓点分别组成新的polygon,计算mask AP得到如下结果,因此选取n=36。

n 18 36 72
mask AP (%) 89.0 97.4 99.2

像LSNet这样直接回归每个轮廓点位置的做法看上去简单,但真要做好其实很难,原因在于轮廓点的位置变化多端,而目前只能通过smooth L1 loss来约束,说实话smooth L1很难hold住。因此文章提出了一个新的loss来更好的处理回归问题,这在后面讲。

姿态估计。 姿态估计的思路参考了CenterNet[4]的做法。用一个anchor点和指向17个关键点点的17个向量确定pose。

到这里,LSNet通过用一个anchor点和n个向量的方式,把目标检测,实例分割和姿态估计统一了起来,而这三个task的唯一区别就是n的数值不一样,对于目标检测,实例分割和姿态估计,n分别=4,36,17。接下来需要对向量的回归进行优化,smooth L1 loss效果不够好,因此文章提出了一种新的距离回归的loss,Cross-IOU Loss。

Cross-IOU Loss。 回顾在矩形框的回归优化中,之所以IOU loss表现比smooth L1 loss好,一个很重要的原因是IOU loss是一个比值的形式,其预测结果跟gt的偏差始终保持在[0,1], 使训练过程更加稳定。但IOU loss只在优化矩形回归时比较方便,当优化的图形是polygon时,IOU 的计算就变得很困难 (PolarMask的polar IOU loss一定程度上解决了这个问题,但也存在缺陷,如前面所述),当优化pose的回归时,更是无法计算出IOU。Cross-IOU loss的做法是对每一根向量的回归都运用IOU的思想。首先考虑将二维的IOU压缩到一维,如图4,两个矩形的IOU就变成了两条线段的IOU,且 ,其中p, g分别表示pred和gt,且pred和gt需同向,若pred和gt方向相反,则 








 。

图4,IOU二维到一维

对于回归一条向量,将其分解为x分量和y分量, 图5,则IOU定义为: 

图5

如果vp和vg只在第一象限,这是没问题的,当vp和vg在其他象限或vp和vg在不同的象限时,如图6,此时IOU却无法优化预测向量的方向。因此需要做进一步的改进。

图6

将一个向量用4个分量表示,如图7,  , 其中 


































 均大于0。制作训练标签时,先将vg分解成x向量和y向量,例如图7中的vg,先分解为vg4和vg1,然后分别将其对侧延长自身长度的 




 倍( 


































 也均大于0),实验中, 取






。于是重新得到 。对于n个要回归的向量,定义cross-IOU loss为: 

图7

Pyramid DCN。 LSNet的回归过程采取了init+refine的方式。先回归一组初始的向量,这些向量已经比较接近极值点或轮廓点或关键点(文章称为landmarks)。因此这些位置处的特征不能浪费,可以利用DCN (deformable convolution)获取这写些landmarks处的特征。文章进一步提出了Pyramid DCN来更加充分的提取landmarks特征,如图8。也就是说DCN不仅只在目标所在的FPN层计算,还会把DCN的offsets等比例映射至相邻的FPN层进行计算,将三层的所得特征相加,形成最终的landmarks特征。利用这些特征再预测一组向量,两组向量叠加最终形成预测向量。

图8

实验结果。 实验在coco数据集上进行。

可视化结果

目标检测结果

实例分割结果

姿态估计结果 图9

姿态估计中,LSNet使用了两种样本分配策略进行训练。一种是通过数据集中自带的目标框(对应表中的obj-box)进行样本分配,即只要靠近目标框的样本就被认为是正样本。但coco的标注中有很多目标,尤其是尺度较小的目标,只有目标框的标注,没有关键点的标注。对于这样的目标,其分类分支按照正样本训练,回归分支不参与训练(因为没有关键点的标注)。因此在实际的预测结果中,可以看到LSNet预测出了很多小目标的pose。如图9所示,左边是CenterNet的预测结果,右边是LSNet w/obj-box的预测结果。但反映在AP上,这会降低AP值,因为在GT pose中,是没有小目标的标注的,LSNet预测出的小目标pose都被当做了错误预测。这是导致LSNet没有达到SOTA的原因之一。

因此LSNet又使用了第二种样本分配策略,使用pose形成的目标框(对应表中的kps-box,具体做法为取17个关键点中最上,最左,最下和最右的四个关键点形成的框)进行样本分配。这样的话对于那些只有目标框标注而没有关键点标注的目标就不会当作正样本,这与测试集保持了一致,因此AP有了一个较大提升,但是一些小目标的pose就检测不到了。图10展示了obj-box和kps-box的不同。

图10,左边obj-box,右边kps-box

对于姿态估计AP没有达到SOTA的另外一个原因是,通过heatmap预测关键点的方式比回归方式在像素级尺度上能够更加接近GT。而计算keypoint AP的metric对于这种像素级的偏差很敏感。为了证明这一点,文章做了一个实验,将CenterNet-jd (HG104)的预测结果中,分别向每个预测关键点的位置加入1个,2个,3个像素的扰动,其AP由63.0%迅速降到了61.1%, 53.4%,44.0%。但一两个像素的偏差肉眼却无法察觉。因此虽然AP低点,但其实也能适用于很多场景。

后续计划: 加入BiFPN,DLA34,在精度和速度上进一步提升一下。

参考文献:

  1. X. Zhou, J. Zhuo, and P. Krahenbuhl. Bottom-up object detection by grouping extreme and center points. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 850–859, 2019.

  2. D. P. Papadopoulos, J. R. Uijlings, F. Keller, and V. Ferrari. Extreme clicking for efficient object annotation. In Proceedings of the IEEE international conference on computer vision, pages 4930–4939, 2017.

  3. E. Xie, P. Sun, X. Song, W.Wang, X. Liu, D. Liang, C. Shen, and P. Luo. Polarmask: Single shot instance segmentation with polar representation. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 12193–12202, 2020.

  4. X. Zhou, D. Wang, and P. Kr¨ahenb¨uhl. Objects as points. arXiv preprint arXiv:1904.07850, 2019

本文亮点总结

1.文章认为,目标检测,实例分割和姿态估计本质上都是识别物体,只是表征物体的形式有所不同。本文只用一套方案统一了三种任务。

2.对于PolarMask只能取最外的一圈轮廓上的轮廓点,而红色轮廓处的轮廓点将被忽略的情况,LSNet则避免了这个问题,它对轮廓进行均匀的采样,得到n个轮廓点,然后让网络直接回归出每个轮廓点的位置。

3.文章提供了一个可迅速判断n取值的方法,把gt polygon分别均匀的采样n1, n2, n3, ...,个轮廓点。然后用n1, n2, n3, ...,分别组成新的polygon,与gt polygon进行比较,计算mask AP, 寻找最优的轮廓点采样数。

本文仅做学术分享,如有侵权,请联系删文。

下载1

在「3D视觉工坊」公众号后台回复:3D视觉即可下载 3D视觉相关资料干货,涉及相机标定、三维重建、立体视觉、SLAM、深度学习、点云后处理、多视图几何等方向。

下载2

在「3D视觉工坊」公众号后台回复:3D视觉github资源汇总即可下载包括结构光、标定源码、缺陷检测源码、深度估计与深度补全源码、点云处理相关源码、立体匹配源码、单目、双目3D检测、基于点云的3D检测、6D姿态估计源码汇总等。

下载3

在「3D视觉工坊」公众号后台回复:相机标定即可下载独家相机标定学习课件与视频网址;后台回复:立体匹配即可下载独家立体匹配学习课件与视频网址。

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、orb-slam3等视频课程)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近2000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

圈里有高质量教程资料、可答疑解惑、助你高效解决问题

CVPR2021|Anchor-free新玩法,一个head统一目标检测,实例分割,姿态估计三种任务...相关推荐

  1. 【重磅】旷视提出MegDetV2:目标检测/实例分割新系统

    点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要15分钟 Follow小博主,每天更新前沿干货 编辑:Amusi 在COCO 2019/2020 挑战赛中获得最佳结果!该方案包含RPN++. ...

  2. 1到100的偶数之和是多少_新射雕群侠传之铁血丹心手游新侠客独孤求败全渠道上线 新玩法桃花岛开启...

    点击上面蓝字获取更多精彩资讯 金庸正版授权手游<新射雕群侠传之铁血丹心>新英雄独孤求败傲世登场,桃花岛新惊喜即将海量释放!国庆最长假期即将到来,<新射雕群侠传>玩法福利再度升级 ...

  3. 实时风格迁移,移动端运行,人脸特效又有了新玩法

    视学算法报道 转载自:机器之心 编辑:维度 人脸风格迁移出现新玩法!捷克理工大学联合 Snap 公司创建了一个用于视频中人脸风格实时迁移的框架,既不需要大型数据集和冗长训练周期,更能够在移动端运行. ...

  4. 弃 Windows 而拥抱 Linux 之后,这本书教了新玩法

    微软弃 Windows 而拥抱 Linux 之后,国内首本SQL Server On Linux的图书出版,这本书教了很多新玩法. SQL Server作为微软公司著名的数据库管理系统,多年以来一直稳 ...

  5. 微信文件撤回时间多长_微信悄悄上线新玩法:拍了拍、朋友圈可重新编辑

    当当当,我猜大家应该是看到这么吸引人的标题进来的吧,确实这个超级实用的功能你还真的要知道. 今天写的部分内容,其他的全部内容将会在安卓微信7.0.16正式版发布的时候进行一次大汇总. 我猜大家昨天应该 ...

  6. 数据与智能武装营销飞轮,网易探索C2B时代营销新玩法

    新科技.新商业.新模式,电商行业历经多年的发展,已经不止于单一的线上交易模式了.在新技术大量应用于电商,催生新商业模式.新交互体验的环境下,电商竞争日趋激烈,新玩法层出不穷.如何借助数据与AI技术,找 ...

  7. html 横屏内容显示不全_“屏”什么喜欢你,车载显示器有哪些新玩法...

    自2014年特斯拉使用大屏之后便开启了汽车大屏时代,各大汽车公司开始无休止的开展着自己的"大屏"计划,为汽车内饰创造更多的科技感和现代感. 似乎现代智能车载显示,大屏成了标配.但随 ...

  8. fla 走迷宫游戏 源码_迷宫新玩法,果断一试

    迷宫, 真的是谜一样的存在, 大到几十岁的成年人, 小到三岁小儿, 都对其没有抵抗力. 而迷宫君也是真给力, 除了能给人带来愉悦感与成就感, 还能同时锻炼专注力.空间感.思维力.视觉追踪等, 是儿童感 ...

  9. excel查重_发票查重工具,不止查重这么简单,你还可以体验这些新玩法

    电子发票报销是目前所有行业的会计都要面对的一项重要工作,而目前电子发票报销的普遍方式都是打印报销,这样一来,会计就不得不面对企业员工将电子发票重复打印报销和篡改报销的风险,而其中,尤其以重复打印报销是 ...

最新文章

  1. CCF201403-1 相反数(100分)
  2. 22.6. Query 查询
  3. android Butter Knife 使用详解
  4. 干货 | 蚂蚁金服是如何实现经典服务化架构往 Service Mesh 方向的演进的?
  5. container到image
  6. 302状态码_http状态码是什么?301 302 404的SEO应用场景
  7. 剖析 Promise 之基础篇
  8. 《转》不要过打折的生活,当你发现这些你有了,说明你开始成熟了
  9. 普通人快速拿到校招offer的十大狠招
  10. 微信小程序微商城(十):用户收货地址管理
  11. PLC1200通过CB1241RS485通讯走modbus rtu连接昆仑通态
  12. 怎么把录音导入库乐队_库乐队导入电脑版 苹果库乐队怎么导入歌
  13. Java生成桌面快捷方式(字节流生成)
  14. 这才是最简单的php+mysql+apache+bluefish+mysqlworkbench配置教程
  15. The Devil is in the Details: Self-Supervised Attention for Vehicle Re-Identification(翻译)
  16. 工作学习中word及电脑常备小知识(C盘清理、电脑上微信记录清理)
  17. 058 不定积分计算工具总结
  18. ijk基于exo_github上十二款最著名的Android播放器开源项目
  19. PPI的多模态融合预测
  20. Dynamics 365Online 使用Xrm.WebApi.online.execute执行自定义Action

热门文章

  1. ArcGIS Server 内存占用相关
  2. 开源中国git关联xcode操作步骤
  3. jQuery Tools:Web开发必备的 jQuery UI 库
  4. 用敏捷开发工具可视化的进行Sprint规划
  5. TiDB 在中通的落地与进化
  6. 官司一打 20 年,Linux 抄袭 Unix 终有定论,原告被 “ 熬死 ” 、IBM赔了上亿
  7. 低代码、无代码?深度解读硅谷新趋势(上)
  8. 有大佬通过研发这款Chrome插件的使用教程,赚了上百万! 网友:互联网的钱太好赚了~...
  9. 10个 我经常逛的国外技术社区,真的受益匪浅!
  10. 还在学JVM?我都帮你总结好了(附脑图)