摘要:表示类别为,坐标是的预测热点图,表示相应位置的,论文提出变体表示检测目标的损失函数由于下采样,模型生成的热点图相比输入图像分辨率低。模型训练损失函数使同一目标的顶点进行分组,损失函数用于分离不同目标的顶点。
本文由极市博客原创,作者陈泰红。1.目标检测算法概述
CornerNet(https://arxiv.org/abs/1808.01244)是密歇根大学Hei Law等人在发表ECCV2018的一篇论文,主要实现目标检测。在开始介绍CornerNet论文之前,先复习一下目标检测领域的主流算法,因为作者提出的算法和主流算法很多不一样。
深度方法主要分为one-stage(e.g. SSD, YOLO)和two-stage(e.g. RCNN系列)两种。single-stage直接在图片上经过计算生成detections。two-stage先提取proposal, 再基于proposal做二次修正。相对来说single-stage速度快, 精度低. 而two-stage精度高, 速度慢。
2012年, 基于深度学习CNN网络的AlexNet在ILSVRC竞赛的ImageNet上大放异彩, 2014年Ross Girshick利用CNN成功取代了HOG、DPM等特征提取, ross等人把目标检测分成了三个步骤,首先是对图像提取detection proposal,其实就是图像中一些可能是检测物体的区域,然后使用cnn对这些proposal进行特征提取,最后用svm对这些提取到的特征进行分类,从而完成检测的任务,这是 Two-stage object detectors鼻祖。
从RCNN、SPPNet到fast RCNN,再到Faster RCNN,目标检测的三个步骤(区域选择,特征提取,分类回归)被统一到一个深度网络框架之内,大大提高了运行速度。FCN,FPN, RoI Align, Mask Branch等技术把Faster R-CNN往前极大的推进。之后又出现了FCN, IoU, NMS,ION,FPN, RoI Align和Mask Branch等技术渊源和YOLO, SSD, AttratioNet, G-CNN, R-FCN, Mask R-CNN, Mask ^X R-CNN等的进化关系!
图 1 Faster RCNN算法框架
one-stage检测算法,其不需要region proposal阶段,直接产生物体的类别概率和位置坐标值,经过单次检测即可直接得到最终的检测结果,因此有着更快的检测速度,比较典型的算法如YOLO,SSD,Retina-Net。YOLO 使用了分治思想,将输入图片分为 SxS 的网格,不同网格用性能优良的分类器去分类。SSD 将 YOLO 和 Anchor 思想融合起来,并创新使用 Feature Pyramid 结构。YOLO, YOLO-v2, YOLO-v3, SSD、DSSD等实时模型的推出, 让目标检测变得更快。
CornerNet认为Two-stage目标检测最明显的缺点是 Region Proposal 阶段需要提取的anchor boxes。(1)、提取的anchor boxes数量较多,比如DSSD使用40k, RetinaNet使用100k,anchor boxes众多造成anchor boxes征服样本均衡。(2)、anchor boxes需要调整很多超参数,比如anchor boxes数量、尺寸、比率,影响模型的训练和推断速率。
论文提出one-stage的检测方法,舍弃传统的 anchor boxes思路,提出CornerNet模型预测目标边界框的左上角和右下角一对顶点,即 使用单一卷积模型生成热点图和连接矢量:所有目标的左上角和所有目标的右下角热点图,每个顶点的连接矢量(embedding vector)。
图 2 CornerNet框架
作者的思路其实来源于一篇多人姿态估计的论文[1]。基于CNN的2D多人姿态估计方法,通常有2个思路(Bottom-Up Approaches和Top-Down Approaches):
(1)Top-Down framework,就是先进行行人检测,得到边界框,然后在每一个边界框中检测人体关键点,连接成每个人的姿态,缺点是受人体检测框影响较大,代表算法有RMPE。
(2)Bottom-Up framework,就是先对整个图片进行每个人体关键点部件的检测,再将检测到的人体部位拼接成每个人的姿态,代表方法就是openpose。
论文的第一个创新是讲目标检测上升到方法论,基于多人姿态估计的Bottom-Up思想,首先同时预测定位框的顶点对(左上角和右下角)热点图和embedding vector,根据embedding vector对顶点进行分组。
论文第二个创新是提出了corner pooling用于定位顶点。自然界的大部分目标是没有边界框也不会有矩形的顶点,依top-left corner pooling 为例,对每个channel,分别提取特征图的水平和垂直方向的最大值,然后求和。
图 3 corner pooling计算方式
论文认为corner pooling之所以有效,是因为(1)目标定位框的中心难以确定,和边界框的4条边相关,但是每个顶点只与边界框的两条边相关,所以corner 更容易提取。(2)顶点更有效提供离散的边界空间,实用O(wh)顶点可以表示O(w2h2) anchor boxes。
论文的第三个创新是模型基于hourglass架构,使用focal loss[5]的变体训练神经网络。
论文提出的CornerNet在MS COCO测试验证,达到42.1% AP,完胜所有的one-stage目标检测方法,同时在git公布基于PyTorch源码:
https://github.com/umich-vl/C...
3 Architecture3.1 Overview
图 4CornerNet模型架构
如图 4所示,CornerNet模型架构包含三部分,Hourglass[7] Network,Bottom-right corners&Top-left Corners Heatmaps和Prediction Module。
Hourglass Network是人体姿态估计的典型架构,论文堆叠两个Hourglass Network生成Top-left和Bottom-right corners,每一个corners都包括corners Pooling,以及对应的Heatmaps, Embeddings vector和offsets。embedding vector使相同目标的两个顶点(左上角和右下角)距离最短, offsets用于调整生成更加紧密的边界定位框。
3.2 Detecting Corners
论文模型生成的heatmaps包含C channels(C是目标的类别,没有background channel),每个channel是二进制掩膜,表示相应类别的顶点位置。
对于每个顶点,只有一个ground-truth,其他位置都是负样本。在训练过程,模型减少负样本,在每个ground-truth顶点设定半径r区域内都是正样本,这是因为落在半径r区域内的顶点依然可以生成有效的边界定位框,论文中设置IoU=0.7。
pcij表示类别为c,坐标是(i,j)的预测热点图,ycij表示相应位置的ground-truth,论文提出变体Focal loss表示检测目标的损失函数:
由于下采样,模型生成的热点图相比输入图像分辨率低。论文提出偏移的损失函数,用于微调corner和ground-truth偏移。
3.3 Grouping Corners
输入图像会有多个目标,相应生成多个目标的左上角和右下角顶点。对顶点进行分组,论文引入[1] Associative Embedding的思想,模型在训练阶段为每个corner预测相应的embedding vector,通过embedding vector使同一目标的顶点对距离最短,既模型可以通过embedding vector为每个顶点分组。
模型训练Lpull损失函数使同一目标的顶点进行分组, Lpush损失函数用于分离不同目标的顶点。
3.4 Hourglass Network
Hourglass Network同时包含了bottom-up(from high resolutions to low resolutions)和top-down (from low resolutions to high resolutions)。而且,整个网络有多个bottom-up和top-down过程。这样设计的目的是在各个尺度下抓取信息。针对目标检测任务,论文调整了Hourglass一些策略。
论文的训练损失函数包含了第三部分介绍的4个损失函数,α, β 和γ用于调整相应损失函数的权重:
模型训练过程中使用10个Titan X (PASCAL) GPUs,详细的训练参数可参考原论文。模型的推断时间是244ms/ image (Titan XPASCAL GPU)。
CornerNet相比其它one-stage目标检测算法,MS COCO数据集测试AP有明显提高,虽然性能接近于Two-stage检测算法,但是推断时间无明显优势。
Table 4MS COCO test-dev数据集性能对比
个人观点:CornerNet创新来自于多人姿态估计的Bottom-Up思路,预测corner的heatmps,根据Embeddings vector对corner进行分组,其主干网络也来自于姿态估计的Hourglass Network。模型的源码在github已经公布,可以放心大胆的研究测试。
CV的很多任务之间是相通的,CVPR2018 best paper [8]也印证这一观点,在不同的子领域寻找相似性,迁移不同领域的算法,是CV行业一个趋势。
多人姿态估计的Hourglass Network算法也不断改进中,其实论文模型的推断速率受限于Hourglass Network的特征提取,有志青年也可以沿着这个思路取得更好的性能。
以上仅为个人阅读论文后的理解、总结和思考。观点难免偏差,望读者以怀疑批判态度阅读,欢迎交流指正。
6.参考文献:
Newell, A., Huang, Z., Deng, J.: Associative embedding: End-to-end learning for joint detection and grouping. In: Advances in Neural Information Processing Systems. pp. 2274{2284 (2017)
Hei Law, Jia Deng :CornerNet: Detecting Objects as Paired Keypoints.ECCV2018
Girshick, R.: Fast r-cnn. arXiv preprint arXiv:1504.08083 (2015)
Girshick, R., Donahue, J., Darrell, T., Malik, J.: Rich feature hierarchies for accurate object detection and semantic segmentation. In: Proceedings of the IEEE conference on computer vision and pattern recognition. pp. 580{587 (2014)
Lin, T.Y., Goyal, P., Girshick, R., He, K., Doll´ar, P.: Focal loss for dense object detection. arXiv preprint arXiv:1708.02002 (2017)
Liu, W., Anguelov, D., Erhan, D., Szegedy, C., Reed, S., Fu, C.Y., Berg, A.C.:SSD: Single shot multibox detector. In: European conference on computer vision.pp. 21{37. Springer (2016)
Newell, A., Yang, K., Deng, J.: Stacked hourglass networks for human pose estimation. In: European Conference on Computer Vision. pp. 483{499. Springer (2016)
Amir R. Zamir , Alexander Sax Taskonomy: Disentangling Task Transfer Learning.CVPR2018
本文为极市平台原创文章,更多技术分享和项目需求合作请关注极市平台微信号(extrememart)
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/19794.html
摘要:表示类别为,坐标是的预测热点图,表示相应位置的,论文提出变体表示检测目标的损失函数由于下采样,模型生成的热点图相比输入图像分辨率低。模型训练损失函数使同一目标的顶点进行分组,损失函数用于分离不同目标的顶点。 好久没有将较好的干货分享给大家,那今天我给大家带来ECCV-2018年最优paper之一,也是目标检测里的佼佼者,值得我们去深挖,去学习!目标检测算法概述CornerNet可以说是今年E...
摘要:机器学习和深度学习的研究进展正深刻变革着人类的技术,本文列出了自年以来这两个领域发表的最重要被引用次数最多的篇科学论文,以飨读者。注意第篇论文去年才发表要了解机器学习和深度学习的进展,这些论文一定不能错过。 机器学习和深度学习的研究进展正深刻变革着人类的技术,本文列出了自 2014 年以来这两个领域发表的最重要(被引用次数最多)的 20 篇科学论文,以飨读者。机器学习,尤其是其子领域深度学习...
摘要:为了探索多种训练方案,何恺明等人尝试了在不同的迭代周期降低学习率。实验中,何恺明等人还用预训练了同样的模型,再进行微调,成绩没有任何提升。何恺明在论文中用来形容这个结果。 何恺明,RBG,Piotr Dollár。三位从Mask R-CNN就开始合作的大神搭档,刚刚再次联手,一文终结了ImageNet预训练时代。他们所针对的是当前计算机视觉研究中的一种常规操作:管它什么任务,拿来ImageN...
摘要:所以,我们美团外卖技术团队尝试结合技术,来协助设计师避免这种低收益高重复的任务,同时低成本高效率高质量地完成海报图片的生成。图封面配色布局设计在设计领域的一些子问题上,可以用算法来挖掘出数据背后的规律如图所示。 背景 在视觉设计领域中,设计师们往往会因为一些简单需求付出相当多的时间,比如修改文案内容,设计简单的海报版式,针对不同机型、展位的多尺寸拓展等。这些工作需要耗费大量的时间、人力...
阅读 2813·2023-04-26 02:00
阅读 2771·2019-08-30 15:54
阅读 858·2019-08-30 11:15
阅读 1501·2019-08-29 15:31
阅读 916·2019-08-29 14:12
阅读 487·2019-08-29 13:08
阅读 837·2019-08-27 10:51
阅读 2704·2019-08-26 12:17