关于目标检测进行框回归的问题 | 社区问答

转载 2017年12月27日 00:00:00

?wxfrom=5&wx_lazy=1

这里是AI研习社,我们的社区已经正式推出了!欢迎大家来多多交流~

mooc.ai/bbs

(戳文末阅读原文直接进)

社长为你推荐来自AI研习社问答社区的精华问答。如有你也有问题,欢迎进社区提问。 

一个小介绍:

社区目前主要功能是问答博客,支持文字、图片、视频、代码、公式、超链接,这些功能可以让你在描述问题/回答问题/写文章的时候用最清晰的方式来表达,还需要什么你说,我改


  话不多说,直接上题  


问:关于目标检测进行框回归的问题

目标检测中,要生成区域提议并进行回归,我看到的方法在生成区域以后都进了卷积层,也就是在特征空间上形成了映射,那也就是框回归都是在特征空间进行的, 我一直没弄明白全链接是怎么进行回归的,另外,如果自己不用全链接的话,我该如何生成区域提议以及进行回归的。


来自社友的回答

▼▼▼  

@玛希 • 加西亚

全连接已经从目标检测中慢慢淡出了,在识别中全连接用于生成各个类别的 score 还保留在,主要是起到关联整体特征的作用,并不是题主可能认为的只输出单一的值。目标检测中全连接慢了就不再用了,而且目标检测的趋势是融合各个层的 feature map 来做,而不仅是只用最后一层。


回归的话,loss 函数是拿预测值和真实物体位置求差值的 smooth L1 得到。预测值和真实物体位置会相对于 anchor box 做 encode 和 decode。encode 是将相对于图片的位置转换为相对于 anchor box 中心的位置,decode 反之。

假设最后得到一个 5*5 的 feature map,那么最终使用的 feature map 形态为 5 * 5 * anchor number * (class, Lx, Ly, w, h)。Lx 和 Ly 是预测值或真实物体位置相对于 anchor box 中心的偏移,w 和 h 是相对于 anchor box 的大小。多想几遍就不会再弄晕了:你最后得到的结果是将图片划分为 5*5 的区域,每个区域有 anchor number 个预测值,每个值由 (class, Lx, Ly, w, h) 组成。

@muglelei  

可以参考下 TensorFlow 的 OD API 中 RFCN 的这部分代码 (从 image_features 到最后的 box_encodings,注释自己加的不一定对):

net = image_features with slim.arg_scope(self._conv_hyperparams):
    # depth: Target depth to reduce the input feature maps to.
    # 1×1卷积层,减少feature maps数量
    net = slim.conv2d(net, self._depth, [1, 1], scope='reduce_depth')
   
    # Location predictions. 位置预测部分
   
    # box_code_size: Size of encoding for each box. [default = 4]
    # k^2 × (C+1) x 4
    location_feature_map_depth = (self._num_spatial_bins[0] *
                                  self._num_spatial_bins[1] *
                                  self.num_classes *
                                  self._box_code_size)
    # 1×1卷积层,对每一类产生k^2张position-sensitive score maps
    # & append a sibling 4k^2-d conv layer for bounding box regression    
    location_feature_map = slim.conv2d(net, location_feature_map_depth, [1, 1],
                                       activation_fn=None,
                                       scope='refined_locations')
                                      
    # position-sensitive RoI池化层
    box_encodings = ops.position_sensitive_crop_regions(
        location_feature_map,        
        boxes=tf.reshape(proposal_boxes, [-1, self._box_code_size]),        
        box_ind=get_box_indices(proposal_boxes),        
        crop_size=self._crop_size,        
        num_spatial_bins=self._num_spatial_bins,      
         global_pool=True)          
         
    # tf.squeeze去掉维度为1的维    
    box_encodings = tf.squeeze(box_encodings, squeeze_dims=[1, 2])          
   
    # 调整box编码的形状    
    box_encodings = tf.reshape(box_encodings,
                               [batch_size * num_boxes, 1,                                
                               self.num_classes, self._box_code_size]

?

?




新人福利



关注 AI 研习社(okweiwu),回复  1  领取

【超过 1000G 神经网络 / AI / 大数据,教程,论文】




如果你有更好的答案,点击阅读原文分享你的观点~

▼▼▼  

cs231n学习笔记-CNN-目标检测、定位、分割

1. 基本概念 1)CNN:Convolutional Neural Networks  2) 2. CNN基本知识 2.1 CNN的卷积流程  1)Activations maps的...
  • MyArrow
  • MyArrow
  • 2016年07月11日 09:02
  • 33514

YOLO——基于回归的目标检测算法

YOLO: You Only Look Once:Unified, Real-Time Object Detection     这篇论文的内容并不多,核心思想也比较简单,下面相当于是对论文的翻...
  • btbujhj
  • btbujhj
  • 2017年07月12日 15:39
  • 1383

物体检测-回归方法(YOLO+SSD)

转载注明出处:http://write.blog.csdn.net/postedit 在上一篇文章中,介绍了以region+proposal来检测的框架,这一系列速度和精度不断提高,但是还是无法达到...
  • Ben_Ben_Niao
  • Ben_Ben_Niao
  • 2016年07月24日 16:31
  • 23991

Deep Learning回顾之基于深度学习的目标检测

转自:https://www.52ml.net/20287.html 引言 普通的深度学习监督算法主要是用来做分类,如图1(1)所示,分类的目标是要识别出图中所示是一只猫。而在ILSVRC...
  • u012507022
  • u012507022
  • 2016年10月24日 09:23
  • 8275

如今目标检测领域已被深度学习占领,yolo 等算法性能表现都不错,那还有什么坑可以挖的么?| 社区问答

这里是 AI 研习社,我们的社区已经正式推出了!欢迎大家来多多交流~mooc.ai/bbs(戳文末阅读原文直接进)社长为你推荐来自 AI 研习社问答社区的精华问答。如有你也有问题,欢迎进社区提问。 一...
  • Y0W1as5eg37urFdS
  • Y0W1as5eg37urFdS
  • 2017年12月18日 00:00
  • 151

对于人体异常行为检测有训练好的深度学习模型吗? | 社区问答

这里是AI研习社,我们的社区已经正式推出了!欢迎大家来多多交流~mooc.ai/bbs(戳文末阅读原文直接进)社长为你推荐来自AI研习社问答社区的精华问答。如有你也有问题,欢迎进社区提问。 一个小介绍...
  • Y0W1as5eg37urFdS
  • Y0W1as5eg37urFdS
  • 2017年12月13日 00:00
  • 149

想用深度学习的方法检测一个零部件的不合格部位,如何下手? | 社区问答

这里是 AI 研习社,我们的社区已经正式推出了!欢迎大家来多多交流~mooc.ai/bbs(戳文末阅读原文直接进)社长为你推荐来自 AI 研习社问答社区的精华问答。如有你也有问题,欢迎进社区提问。 一...
  • Y0W1as5eg37urFdS
  • Y0W1as5eg37urFdS
  • 2017年12月22日 00:00
  • 90

可以使用 TensorFlow 代替 OpenCV 进行计算机视觉研究吗? | 社区问答

这里是 AI 研习社,我们的社区已经正式推出了!欢迎大家来多多交流~mooc.ai/bbs(戳文末阅读原文直接进)社长为你推荐来自 AI 研习社问答社区的精华问答。如有你也有问题,欢迎进社区提问。 一...
  • Y0W1as5eg37urFdS
  • Y0W1as5eg37urFdS
  • 2018年01月10日 00:00
  • 44

关于反卷积层输出维度的问题 | 社区问答

这里是 AI 研习社,我们的社区已经正式推出了!欢迎大家来多多交流~mooc.ai/bbs(戳文末阅读原文直接进)社长为你推荐来自 AI 研习社问答社区的精华问答。如有你也有问题,欢迎进社区提问。 一...
  • Y0W1as5eg37urFdS
  • Y0W1as5eg37urFdS
  • 2017年12月20日 00:00
  • 64

深度学习笔记——利用深度学习构建社区问答系统之相似问题对匹配

深度学习笔记——利用深度学习构建社区问答系统之相似问题对匹配
  • mpk_no1
  • mpk_no1
  • 2017年08月06日 23:27
  • 533
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于目标检测进行框回归的问题 | 社区问答
举报原因:
原因补充:

(最多只允许输入30个字)