Single-Shot Object Detection with Enriched Semantics
整合一下能够查到的资料,然后结合自己的理解,算是对这篇文章的一个小小的总结吧。这是CVPR2018的一篇关于小目标检测的文章,出发点是作者认为小目标的检测信息随着层数的增加而不断地丢失了,所以想利用语义分割强化浅层的特征信息(这里强化可能用得不准确,但是我是这么理解的)。整体的网络框架分为三个部分Detection Branch (这里简称DB)+ Segmentation Module (这里简称SM)+ Global Activation Module(这里简称GAM)。SM和GAM本质上都是采用的语义分割的方式增强语义信息并且随着SSD往更高层进行传递。
整体结构框图:

操作过程以DB为主框架:1、在浅层网络中选择SM增强low level特征的语义信息。SM模块的输入是DB主框架的con4_3输出以及用anchor定义的语义分割ground truth, 输出再返回到con4_3作为下一层的输入,这样就可以将低层的语义分割结果融合到高层特征信息中。2、高层通过GAM增强high level的特征语义信息,GAM本质上也就是attention的思想,首先计算特征权重然后根据权重来融合多尺度的特征信息。

SM模块是这篇论文中重点强调的一个模块,这个部分主要有两个作用,通俗点理解就是产生增强的语义信息并且通过训练使得输出的语义信息增强效果越来越好。其中H支路是输入x在经过4个atrous convolution(既保证了特征图的尺寸不变,也能减少卷积过程中的噪声)卷积之后经过H()函数操作得到类似attention中的mask z,最后x与z做点乘得到,且以为后续检测工作的输入。F支路的作用是利用损失函数训练H支路得到的attention,和分割算法类似,分割算法是针对每个像素点做分类,在F支路中训练所用的ground truth中的每个像素点的标签为对应ground truth框的标签,如果一个像素点同时在多个ground truth框中,则该点的标签为面积最小的那个框的标签,其他情况的点标签都是背景。
网上有一大堆对于sm模块的公式分析,关于通道数以及维度之类的,个人觉得文章中提到的一大串公式里,最能体现出和语义分割关系的是公式:

F支路最后的输出Y中每个点的通道数为N+1,这里的特征投影中每个点在所有的channel上的累加和为1,而且值最大的那个点对应的标签就是分割得到的图像中对应点的标签。


图4表示ground truth的生成方式,图像中像素的标签不需要额外再标注,图2表示segmentation module,A是输入图像,B是输出图像经过特征提取之后的feature map,C是对应的输出Z,D是B和C点乘之后的结果,也就是文章强调的需要增强的小目标的语义特征。
由GAM模块的计算公式就可以很直观的看出来和语义分割非常像,这个模块主要包含三个操作:spatial pooling相当于给输入的特征图做了归一化处理,而channel-wise learning则是利用两层激活函数突显了特征图的权重信息,最后的broadcasted multiplying将S和输入x点乘得到最后的输出,类似于attention的思想。


整个损失函数包括检测的损失函数和分割损失函数,分割的损失函数就是文章设计的SM模块中的训练损失函数。整体实验效果虽然比同年CVPR的另外一篇文章低一点,但是结果还是很好的。



Single-Shot Object Detection with Enriched Semantics的更多相关文章
- Single Shot Multibox Detection (SSD)实战(下)
Single Shot Multibox Detection (SSD)实战(下) 2. Training 将逐步解释如何训练SSD模型进行目标检测. 2.1. Data Reading and In ...
- A Convolution Tree with Deconvolution Branches: Exploiting Geometric Relationships for Single Shot Keypoint Detection
作者:嫩芽33出处:http://www.cnblogs.com/nenya33/p/6817781.html 版权:本文版权归作者和博客园共有 转载:欢迎转载,但未经作者同意,必须保留此段声明:必须 ...
- Single Shot Multibox Detection (SSD)实战(上)
Single Shot Multibox Detection (SSD)实战(上) 介绍了边界框.锚框.多尺度对象检测和数据集.现在,我们将利用这些背景知识构建一个目标检测模型:单次多盒检测(SSD) ...
- deep learning on object detection
回归工作一周,忙的头晕,看了两三篇文章,主要在写各种文档和走各种办事流程了-- 这次来写写object detection最近看的三篇文章吧.都不是最近的文章,但是是今年的文章,我也想借此让自己赶快熟 ...
- SSD: Single Shot MultiBox Detector
By Wei Liu, Dragomir Anguelov, Dumitru Erhan, Christian Szegedy, Scott Reed, Cheng-Yang Fu, Alexande ...
- SSD: Single Shot MultiBoxDetector英文论文翻译
SSD英文论文翻译 SSD: Single Shot MultiBoxDetector 2017.12.08 摘要:我们提出了一种使用单个深层神经网络检测图像中对象的方法.我们的方法,名为SSD ...
- Object Detection︱RCNN、faster-RCNN框架的浅读与延伸内容笔记
一.RCNN,fast-RCNN.faster-RCNN进化史 本节由CDA深度学习课堂,唐宇迪老师教课,非常感谢唐老师课程中的论文解读,很有帮助. . 1.Selective search 如何寻找 ...
- 谷歌开源的TensorFlow Object Detection API视频物体识别系统实现教程
视频中的物体识别 摘要 物体识别(Object Recognition)在计算机视觉领域里指的是在一张图像或一组视频序列中找到给定的物体.本文主要是利用谷歌开源TensorFlow Object De ...
- object detection[content]
近些年,随着DL的不断兴起,计算机视觉中的对象检测领域也随着CNN的广泛使用而大放异彩,其中Girshick等人的<R-CNN>是第一篇基于CNN进行对象检测的文献.本文欲通过自己的理解来 ...
随机推荐
- Solr分片机制以及Solrcloud搭建及分片操作
Solr分片描述 分片是集合的逻辑分区,包含集合中文档的子集,这样集合中的每个文档都正好包含在一个分片中.集合中包含每个文档的分片取决于集合的整体"分片"策略. 当您的集合对于一个 ...
- vue+webpack+element-ui项目打包优化速度与app.js、vendor.js打包后文件过大
从开通博客到现在也没写什么东西,最近几天一直在研究vue+webpack+element-ui项目打包速度优化,想把这几天的成果记录下来,可能对前端牛人来说我这技术比较菜,但还是希望给有需要的朋友提供 ...
- 搭建 webpack + react 框架爬坑之路
由于工程实践需要搭一个 webpack + react 框架,本人刚开始学,就照b站上的react黑马视频做,爬过无数个坑...希望读者能引以为戒.我的是macos系统 https://www.bil ...
- 微软宣布加入 OpenJDK,看网上各派的热闹
微软宣布加入 OpenJDK 项目(https://www.oschina.net/news/111036/microsoft-to-participate-in-openidk),这两天在微信公众号 ...
- post方式实现导出/下载文件
项目需求: 前端需要传入过多的参数给后端,get地址栏不行,只能接受post方式去导出数据 1.get的下载方式 通常下载方式如下: let url = xxxx.action?a=xx&b= ...
- word转HTML部署到服务器不能运行
已经解决.在网上找的:网址:http://blog.sina.com.cn/s/blog_852ca01901016lyz.html远程调用Excel.Word.PowerPoint,服务器端设置(2 ...
- 爬虫之scrapy简单案例之猫眼
在爬虫py文件下 class TopSpider(scrapy.Spider): name = 'top' allowed_domains = ['maoyan.com'] start_urls = ...
- Spring Cloud Gateway使用简介
Spring Cloud Gateway是类似Nginx的网关路由代理,有替代原来Spring cloud zuul之意: Spring 5 推出了自己的Spring Cloud Gateway,支持 ...
- 通过cmd命令查看Python库、函数和模块的帮助文档与介绍
dir函数式可以查看对象的属性 使用方法很简单,举os类型为例,在Python命令窗口输入 dir(‘os’) 即可查看os模块的属性 打开cmd命令窗口 输入python(注意:计算机需要有Pyth ...
- Linux命令实战(一)
1.pwd(printing working directory)打印当前工作目录路径 [root@test sysconfig]# pwd /etc/sysconfig 2.ls(list)列出当前 ...