• 基于R-CNN的两阶段目标检测


    RPN网络中AnchorTargetCreator分析:

    将20000多个候选的anchor选出256个anchor进行二分类和所有的anchor进行回归位置 。为上面的预测值提供相应的真实值。选择方式如下:

    • 对于每一个ground truth bounding box (gt_bbox),选择和它重叠度(IoU)最高的一个anchor作为正样本
    • 对于剩下的anchor,从中选择和任意一个gt_bbox重叠度超过0.7的anchor,作为正样本,正样本的数目不超过128个。
    • 随机选择和gt_bbox重叠度小于0.3的anchor作为负样本(等于0的不算,明白的告诉你里什么也没有)。负样本和正样本的总数为256。

    对于每个anchor, gt_label 要么为1(前景),要么为0(背景),所以这样实现二分类。在计算回归损失的时候,只计算正样本(前景)的损失,不计算负样本的位置损失。

    单阶段和两阶段:(区别是检测阶段是不是稠密检测,单阶段稠密检测,双阶段稀疏检测)

    单阶段:在Overfeat中,对不同尺度的图像滑窗,得到区域特征,然后直接对这块特征进行目标分类和回归

    两阶段:而Faster RCNN是对特征图通过RPN先得到的前景建议,然后对这块特征图对应的多尺度的anchor的ROI去自适应池化到固定的size,再送去Fast RCNN检测头去分类和回归。

                    所谓的区域建议就是认为这块(3*3*256,是基于这个3*3区域的)某个anchor预定位置未知(agnostic)类别物体(前景 or 背景)的可能比较大(认为是 positive anchor),对这块特征图(3*3区域的中心像素)关联的本Positive anchor,送去回归得到Region Proposal。

                    比如对于w*H= 2400的Feature map来说,Faster RCNN做区域建议时,首先用滑窗法比如1*1*256的filters,就得到2400*256_d的tensor,然后通过后面分两路级联Fcn(这个fcn作用就是将),一路得到2k scores(对anchor box二分类)判断是前景 or 背景,如果是前景,即将此k对应的anchor作为初始预测区域anchor_proposal,然后另一路得到4K coordinates,就是利用这个anchor_proposal去粗回归的Groundtruth位置,得到RPN最终的Region Proposal。(训练RPN时,随机采样256个anchors,其中positive :negative = 1:1)

    后面就是fast rcnn再去回归一次精确位置。

    Faster RCNN的anchor理解:

                Anchor点是在feature map上取的没错,但是anchor设置的时候有个base_size=16,  而这个16*16就是当前特征图上一点在原图上的感受野。

                 因此虽然anchor的思路是在特征图上设置,但是由于最终的anchor尺度都乘上了当前像素的感受野——base_size=16,因此anchor放置点数目是根据feature map大小,但是尺度是按原图像尺度设置的.

                  比如,原图上有一类目标大小约为200*200,假若featuremap上1像素对应图像上10*10,则只需要在特征图上放area = 20*20 = 400 pixels的anchor,此时把anchor再设置成ratios  = 1:1,1:2, 2:1,就得到20*20,14*28,28*14。再对应上锚点的坐标即得到anchor的位置坐标(x1,y1,x2,y2)。

                 

  • 相关阅读:
    【SignalR学习系列】6. SignalR Hubs Api 详解(C# Server 端)
    【SignalR学习系列】5. SignalR WPF程序
    小程序商城Mall,打造最佳SpringCloudAlibaba最佳实践
    《SpringCloudDubbo开发日记》(一)Nacos连官方文档都没写好
    Java后端开发工程师是否该转大数据开发?
    动态生成简约MVC请求接口|抛弃一切注解减少重复劳动吧
    主键生成器效率提升方案|基于雪花算法和Redis控制进程隔离
    高并发场景-请求合并(二)揭秘HystrixCollapser-利用Queue和线程池异步实现
    使用TiDB把自己写分库分表方案推翻了
    JMETER并发压测-自定义不同请求参数
  • 原文地址:https://www.cnblogs.com/Henry-ZHAO/p/12725308.html
Copyright © 2020-2023  润新知