精华内容
下载资源
问答
  • SSD论文解读

    2021-01-06 20:39:08
    SSD(SingleShotDetector)论文解读 一、相关背景 速率问题:在目标检测的速率上明显存在问题,此前最快的检测模型为Faster R-CNN(速率为每秒钟7帧) 二、主要贡献 提出了第一个基于目标检测的深度神经网络,不需要...
  • ssd论文解读

    2018-06-02 22:20:00
    https://www.sohu.com/a/168738025_717210 https://www.cnblogs.com/lillylin/p/6207292.html https://blog.csdn.net/a8039974/article/details/77592395 转载于:...

    https://www.sohu.com/a/168738025_717210

    https://www.cnblogs.com/lillylin/p/6207292.html

    https://blog.csdn.net/a8039974/article/details/77592395

    转载于:https://www.cnblogs.com/ymjyqsx/p/9127172.html

    展开全文
  • SSD论文解读.md

    2020-02-19 12:06:25
    本文从相关知识、主要贡献、SSD模型结构以及实验设计四个方面解读SSD论文,并对其中的相关概念进行了分析。
  • SSD论文解读】 论文中用到的数据集:Pascal VOC、MS COCO、ImageNet 主要是对看到的一些博客进行总结,方便自己查阅

    一、数据集介绍

    SSD 论文中使用到的数据集有3个:

    1、Pascal VOC

    用于图像分类目标检测两个任务的基准测试,主要由VOC 2007VOC 2012两部分组成,每部分包含20个常见类别。前者包含5011张训练和验证图像,4952张测试图像;后者包含11540张训练和验证图像,10991张测试图像。

    详见:PASCAL VOC2012 数据集详解
    VOC 2007文件结构

    VOC 2007文件结构

    2、MS COCO

    用于目标检测与实例分割、人体关键点检测、材料识别、全景分割、图像描述。图像包括91类目标,328,000影像和2,500,000个label。目前为止有语义分割的最大数据集,提供的类别有80类,有超过33 万张图片,其中20 万张有标注,整个数据集中个体的数目超过150 万个。

    详见:COCO数据集解析Dataset之COCO数据集:COCO数据集的简介、下载

    3、ILSVRC

    是近年来机器视觉领域最受追捧也是最具权威的学术竞赛之一,代表了图像领域的最高水平,主要项目有图像分类与目标定位、目标检测、视频目标检测、场景分类

    使用ImageNet数据集,包含了超过1400万张全尺寸的有标记图片。ILSVRC比赛会每年从ImageNet数据集中抽出部分样本,以2012年为例,比赛的训练集包含1281167张图片,验证集包含50000张图片,测试集为100000张图片。

    详见:ILSVRC竞赛详细介绍(ImageNet Large Scale Visual Recognition Challenge)

    二、数据集处理函数

    1、专门的datasets类

    pytorch针对一些数据集有专门的datasets类,以datasets.VOCDetection为例。来源:pytorch读取VOC数据之VOCDetection

    import torchvision.datasets as datasets
    voc_trainset = datasets.VOCDetection('G:/jupyter/demo_voc',year='2007', image_set='train', download=False)
    print(len(voc_trainset))
    

    2、论文中的数据集处理函数

    详见:目标检测算法之SSD的数据增强策略
    在这里插入图片描述

    三、训练时,三种数据集上学习率等参数的修改

    在这里插入图片描述

    四、Pascal voc、COCO上,多种模型mAP对比

    1、Pascal voc

    Pascal VOC2007
    Pascal VOC2012

    2、COCO

    COCO

    展开全文
  • 版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 原文链接:https://blog.csdn.net/jy001227801/article/details/80388192 ... 论文题目:SSD: Single ...

    版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
    原文链接:https://blog.csdn.net/jy001227801/article/details/80388192

    参考链接:https://blog.csdn.net/a8039974/article/details/77592395

     

    论文题目:SSD: Single Shot MultiBox Detector

    论文地址:http://arxiv.org/abs/1512.02325

    代码地址:https://github.com/balancap/SSD-Tensorflow

     

    SSD提供了一种多尺度特征图预测分类和回归的思想,精确度和速度都很高。

    SSD框架如下:

     

    一、论文解读

    1、多尺度特征(最大贡献)

    YOLO在卷积层后接全连接层,即检测时只利用了最高层feature maps(包括Faster RCNN也是如此);而SSD采用了特征金字塔结构进行检测,即检测时利用了conv4-3,conv-7(FC7),conv6-2,conv7-2,conv8_2,conv9_2这些大小不同的feature maps,在多个feature maps上同时进行softmax分类和位置回归。也就是说,SSD就是Faster-RCNN和YOLO中做了一次的分类和检测过程放在不同的图像大小上做了多次。

     

    2、先验框个数计算

    一共有8732个boxes,和 Faster-RCNN一样,SSD也是特征图上的每一个点对应一组预选框。然后每一层中每一个点对应的prior box的个数,是由PriorBox这一层的配置文件决定的。

     

    3、生成先验框

    在SSD中引入了Prior Box,实际上与anchor非常类似,就是一些目标的预选框,后续通过softmax分类+bounding box regression获得真实目标的位置。区别是SSD每个位置的prior box一般是4~6个,少于Faster RCNN默认的9个anchor;同时prior box是设置在不同尺度的feature maps上的,而且大小不同。

    SSD按照如下规则生成prior box:

    (1)以feature map上每个点的中点为中心,生成一些列同心的prior box,然后中心点的坐标会乘以step,相当于从feature map位置映射回原图位置。

    (2)正方形prior box最小边长为,最大边长为:

    (3)每在prototxt设置一个aspect ratio,会生成2个长方形,长: 宽:

    (4)而每个feature map对应prior box的min_size和max_size由以下公式决定,m是使用feature map的数量(SSD 300中m=6):

    第一层feature map对应的min_size=S1,max_size=S2;第二层min_size=S2,max_size=S3;其他类推。在原文中,Smin=0.2,Smax=0.9,但是在SSD 300中prior box设置并不能和paper中上述公式对应:

     

    4、step参数选择

    中心点的坐标会乘以step,相当于从feature map位置映射回原图位置。Cal_scale = 300/out_size,实际就是 原图与特征图 大小的比值,比如conv4-3 width = 38 ,输入的大小为300,那么scale=7.8,所以这里设置的step=8。

     

    5、先验框的使用

    以conv4_3为例,在conv4_3 feature map网络pipeline分为了3条线路:

    (1)分类:经过一次batch norm+一次卷积后,生成了[1, num_class*num_priorbox, layer_height, layer_width]大小的feature用于softmax分类目标和非目标(其中num_class是目标类别,SSD 300中num_class = 21)

    (2)框回归:经过一次batch norm+一次卷积后,生成了[1, 4*num_priorbox, layer_height, layer_width]大小的feature用于bounding box regression(即每个点一组[dxmin,dymin,dxmax,dymax])

    (3)先验框:生成了[1, 2, 4*num_priorbox]大小的prior box blob,其中2个channel分别存储prior box的4个点坐标和对应的4个variance(bounding regression中的权重)

     

    6、SSD优缺点

    优点:运行速度可以和YOLO媲美,检测精度可以和Faster RCNN媲美

    缺点:

    (1)需要人工设置prior box的min_size,max_size和aspect_ratio值。网络中prior box的基础大小和形状不能直接通过学习获得,而是需要手工设置。而网络中每一层feature使用的prior box大小和形状恰好都不一样,导致调试过程非常依赖经验。

    (2)虽然采用了pyramdial feature hierarchy的思路,但是对小目标的recall依然一般,并没有达到碾压Faster RCNN的级别。作者认为,这是由于SSD使用conv4_3低级feature去检测小目标,而低级特征卷积层数少,存在特征提取不充分的问题。

     

    7、损失函数

    (1)整体损失函数是定位损失和置信损失(类条件概率:类别概率*置信度)的加权和:

    其中n是匹配的默认框数,如果n=0,将损失设置为0。α参数用于调整confidence loss和location loss之间的比例,默认α=1。

    (2)其中confidence loss是典型的softmax loss:

    其中,表示第i个默认框和第j个p类真值框匹配。

    (3)其中location loss是典型的smooth L1 loss:

     

    8、匹配策略

    在训练时,groundtruth boxes 与 default boxes(就是prior boxes) 按照如下方式进行配对:

    (1)首先,寻找与每一个ground truth box有最大的jaccard overlap的default box,这样就能保证每一个groundtruth box与唯一的一个default box对应起来(所谓的jaccard overlap就是IoU)。

    (2)SSD之后又将剩余还没有配对的default box与任意一个groundtruth box尝试配对,只要两者之间的jaccard overlap大于阈值,就认为match(SSD 300 阈值为0.5)。

    (3)配对到GT的default box就是positive,没有配对到GT的default box就是negative。

     

    9、硬负样本挖掘

    一般情况下negative default boxes数量 >> positive default boxes数量,直接训练会导致网络过于重视负样本,从而loss不稳定。所以SSD在训练时会依据confidience score排序default box,挑选其中confidience高的box进行训练,控制positive:negative=1:3

     

    10、数据增强

    随机的进行如下几种选择:

    (1)使用原始的图像

    (2)采样一个 patch,与物体之间最小的 jaccard overlap 为:0.1,0.3,0.5,0.7 或 0.9

    (3)随机的采样一个 patch,采样的 patch 是原始图像大小比例是[0.1,1],aspect ratio在1/2与2之间。

     

    11、思考:SSD多尺度得到的预测结果如何综合考虑?

    每个尺度结果互不影响,得到的预测结果个数是各层的总和,然后进行NMS,得到最终预测结果。也就是说,SSD就是(把Faster-RCNN和YOLO中做了一次的)分类和检测过程放在不同的图像大小上做了多次。

     

    二、代码解读

    1、SSDNet网络结构

    在vgg16的基础上(前5个block),新增一些卷积层,分别提取block4,block7,block8,block9,block10,block11层的不同大小特征图,在多个feature maps上同时进行softmax分类和位置回归。

    block1~5代码如下:

    block6~11代码如下:

    对这些层:block4,block7,block8,block9,block10,block11都做softmax分类和位置回归。

    其中ssd_multibox_layer函数如下:

    2、SSD loss

    硬负样本挖掘、分类用交叉熵损失函数、框位置回归用smooth L1

     

     

     

     

     

     

    展开全文
  • 目标检测SSD论文解读

    千次阅读 2018-08-23 19:13:40
    本文提出的SSD算法是一种直接预测目标类别和bounding box的多目标检测算法。与faster rcnn相比,该算法没有生成 proposal 的过程,这就极大提高了检测速度。针对不同大小的目标检测,传统的做法是先将图像转换成不同...

     


    一. 算法概述

    本文提出的SSD算法是一种直接预测目标类别和bounding box的多目标检测算法。与faster rcnn相比,该算法没有生成 proposal 的过程,这就极大提高了检测速度。针对不同大小的目标检测,传统的做法是先将图像转换成不同大小(图像金字塔),然后分别检测,最后将结果综合起来(NMS)。而SSD算法则利用不同卷积层的 feature map 进行综合也能达到同样的效果。算法的主网络结构是VGG16,将最后两个全连接层改成卷积层,并随后增加了4个卷积层来构造网络结构。对其中5种不同的卷积层的输出(feature map)分别用两个不同的 3×3 的卷积核进行卷积,一个输出分类用的confidence,每个default box 生成21个类别confidence;一个输出回归用的 localization,每个 default box 生成4个坐标值(x, y, w, h)。此外,这5个feature map还经过 PriorBox 层生成 prior box(生成的是坐标)。上述5个feature map中每一层的default box的数量是给定的(8732个)。最后将前面三个计算结果分别合并然后传给loss层。

    二. Default box

    文章的核心之一是作者同时采用lower和upper的feature map做检测。如图Fig 1 所示,这里假定有8×8和4×4两种不同的feature map。第一个概念是feature map cell,feature map cell 是指feature map中每一个小格子,如图中分别有64和16个cell。另外有一个概念:default box,是指在feature map的每个小格(cell)上都有一系列固定大小的box,如下图有4个(下图中的虚线框,仔细看格子的中间有比格子还小的一个box)。假设每个feature map cell有k个default box,那么对于每个default box都需要预测c个类别score和4个offset,那么如果一个feature map的大小是m×n,也就是有m*n个feature map cell,那么这个feature map就一共有(c+4)*k * m*n 个输出。这些输出个数的含义是:采用3×3的卷积核对该层的feature map卷积时卷积核的个数,包含两部分(实际code是分别用不同数量的3*3卷积核对该层feature map进行卷积):数量c*k*m*n是confidence输出,表示每个default box的confidence,也就是类别的概率;数量4*k*m*n是localization输出,表示每个default box回归后的坐标)。训练中还有一个东西:prior box,是指实际中选择的default box(每一个feature map cell 不是k个default box都取)。也就是说default box是一种概念,prior box则是实际的选取。训练中一张完整的图片送进网络获得各个feature map,对于正样本训练来说,需要先将prior box与ground truth box做匹配,匹配成功说明这个prior box所包含的是个目标,但离完整目标的ground truth box还有段距离,训练的目的是保证default box的分类confidence的同时将prior box尽可能回归到ground truth box。 举个列子:假设一个训练样本中有2个ground truth box,所有的feature map中获取的prior box一共有8732个。那个可能分别有10、20个prior box能分别与这2个ground truth box匹配上。训练的损失包含定位损失和回归损失两部分。

    作者的实验表明default box的shape数量越多,效果越好。

    这里用到的 default box 和Faster RCNN中的 anchor 很像,在Faster RCNN中 anchor 只用在最后一个卷积层,但是在本文中,default box 是应用在多个不同层的feature map上。

    那么default box的scale(大小)和aspect ratio(横纵比)要怎么定呢?假设我们用m个feature maps做预测,那么对于每个featuer map而言其default box的scale是按以下公式计算的: 

     ∨” role=”presentation”>

    Sk=Smin+Smax−Sminm−1(k−1),k∈[1,m]” role=”presentation”>Sk=Smin+SmaxSminm1(k1),k[1,m]Sk=Smin+Smax−Sminm−1(k−1),k∈[1,m]

    这里smin是0.2,表示最底层的scale是0.2;smax是0.9,表示最高层的scale是0.9。

    至于aspect ratio,用ar” role=”presentation”>arar表示为下式:注意这里一共有5种aspect ratio 

    ar={1,2,3,1/2,1/3}” role=”presentation”>ar={1,2,3,1/2,1/3}ar={1,2,3,1/2,1/3}

    因此每个default box的宽的计算公式为: 

    wka=skar” role=”presentation”>wak=skarwka=skar

    高的计算公式为:(很容易理解宽和高的乘积是scale的平方) 

    hka=sk/ar” role=”presentation”>hak=sk/arhka=sk/ar

    另外当aspect ratio为1时,作者还增加一种scale的default box: 

    sk′=sksk+1” role=”presentation”>sk=sksk+1sk′=sksk+1

    因此,对于每个feature map cell而言,一共有6种default box。 

    可以看出这种default box在不同的feature层有不同的scale,在同一个feature层又有不同的aspect ratio,因此基本上可以覆盖输入图像中的各种形状和大小的object!

    (训练自己的样本的时候可以在FindMatch()之后检查是否能覆盖了所有的 ground truth box)

     源代码中的 ssd_pascal.py 设计了上面几个参数值,caffe 源码 prior_box_layer.cpp 中Forward_cpu()实现。

    最后会得到(38*38*4 + 19*19*6 + 10*10*6 + 5*5*6 + 3*3*4 + 1*1*4)= 8732个prior box。

                                                                   Fig.2 SSD 框架

    三. 正负样本

    prior box 和 grount truth box 按照IOU(JaccardOverlap)进行匹配,匹配成功则这个prior box就是positive example(正样本),如果匹配不上,就是negative example(负样本),显然这样产生的负样本的数量要远远多于正样本。这里将前向loss进行排序,选择最高的num_sel个prior box序号集合 D” role=”presentation”>DD。同时可以通过规范num_sel的数量(是正样本数量的三倍)来控制使得最后正、负样本的比例在 1:3 左右。

     

                                                    Fig.3 positive and negtive sample VS ground_truth box

    1.正样本获得

    我们已经在图上画出了prior box,同时也有了ground truth,那么下一步就是将prior box匹配到ground truth上,这是在 src/caffe/utlis/bbox_util.cpp 的 FindMatches 以及子函数MatchBBox函数里完成的。值得注意的是先是从groudtruth box出发给每个groudtruth box找到了最匹配的prior box放入候选正样本集,然后再从prior box出发为prior box集中寻找与groundtruth box满足IOU>0.5” role=”presentation”>IOU>0.5IOU>0.5的一个IOU最大的prior box(如果有的话)放入候选正样本集,这样显然就增大了候选正样本集的数量。

    2.负样本获得

    在生成一系列的 prior boxes 之后,会产生很多个符合 ground truth box 的 positive boxes(候选正样本集),但同时,不符合 ground truth boxes 也很多,而且这个 negative boxes(候选负样本集),远多于 positive boxes。这会造成 negative boxes、positive boxes 之间的不均衡。训练时难以收敛。

    因此,本文采取,先将每一个物体位置上对应 predictions(prior boxes)loss 进行排序。 对于候选正样本集:选择最高的几个prior box与正样本集匹配(box索引同时存在于这两个集合里则匹配成功),匹配不成功则删除这个正样本(因为这个正样本不在难例里已经很接近ground truth box了,不需要再训练了);对于候选负样本集:选择最高的几个prior box与候选负样本集匹配,匹配成功则作为负样本。这就是一个难例挖掘的过程,举个例子,假设在这8732个prior box里,经过FindMatches后得到候选正样本P” role=”presentation”>PP个候选负样本作为负样本。SSD算法中通过这种方式来保证 positives、negatives 的比例。实际代码中有三种负样本挖掘方式:

    如果选择HARD_EXAMPLE方式(源于论文Training Region-based Object Detectors with Online Hard Example Mining),则默认M=64” role=”presentation”>M=64M=64的时候,就是论文中的正负样本比例1:3了。

    enum MultiBoxLossParameter_MiningType {
      MultiBoxLossParameter_MiningType_NONE = 0,
      MultiBoxLossParameter_MiningType_MAX_NEGATIVE = 1,
      MultiBoxLossParameter_MiningType_HARD_EXAMPLE = 2
    };

    3.Data augmentation

    本文同时对训练数据做了 data augmentation,数据增广。

    每一张训练图像,随机的进行如下几种选择:

    • 使用原始的图像
    • 随机采样多个 patch(CropImage),与物体之间最小的 jaccard overlap 为:0.1,0.3,0.5,0.7 与 0.9

    采样的 patch 是原始图像大小比例是 [0.31.0],aspect ratio 在 0.5 或 2。

    当 groundtruth box 的 中心(center)在采样的 patch 中且在采样的 patch中 groundtruth box面积大于0时,我们保留CropImage。

    在这些采样步骤之后,每一个采样的 patch 被 resize 到固定的大小,并且以 0.5 的概率随机的 水平翻转(horizontally flipped,翻转不翻转看prototxt,默认不翻转)

    这样一个样本被诸多batch_sampler采样器采样后会生成多个候选样本,然后从中随机选一个样本送人网络训练。

    四. 网络结构

    SSD的结构在VGG16网络的基础上进行修改,训练时同样为conv1_1,conv1_2,conv2_1,conv2_2,conv3_1,conv3_2,conv3_3,conv4_1,conv4_2,conv4_3,conv5_1,conv5_2,conv5_3(512),fc6经过3*3*1024的卷积(原来VGG16中的fc6是全连接层,这里变成卷积层,下面的fc7层同理),fc7经过1*1*1024的卷积,conv6_1,conv6_2(对应上图的conv8_2),conv7_1,conv7_2,conv,8_1,conv8_2,conv9_1,conv9_2,loss。然后一方面:针对conv4_3(4),fc7(6),conv6_2(6),conv7_2(6),conv8_2(4),conv9_2(4)(括号里数字是每一层选取的default box种类)中的每一个再分别采用两个3*3大小的卷积核进行卷积,这两个卷积核是并列的(括号里的数字代表prior box的数量,可以参考Caffe代码,所以上图中SSD结构的倒数第二列的数字8732表示的是所有prior box的数量,是这么来的38*38*4+19*19*6+10*10*6+5*5*6+3*3*4+1*1*4=8732),这两个3*3的卷积核一个是用来做localization的(回归用,如果prior box是6个,那么就有6*4=24个这样的卷积核,卷积后map的大小和卷积前一样,因为pad=1,下同),另一个是用来做confidence的(分类用,如果prior box是6个,VOC的object类别有20个,那么就有6*(20+1)=126个这样的卷积核)。如下图是conv6_2的localizaiton的3*3卷积核操作,卷积核个数是24(6*4=24,由于pad=1,所以卷积结果的map大小不变,下同):这里的permute层就是交换的作用,比如你卷积后的维度是32×24×19×19,那么经过交换层后就变成32×19×19×24,顺序变了而已。而flatten层的作用就是将32×19×19×24变成32*8664,32是batchsize的大小。另一方面结合conv4_3(4),fc7(6),conv6_2(6),conv7_2(6),conv8_2(4),conv9_2(4)中的每一个和数据层(ground truth boxes)经过priorBox层生成prior box。

    经过上述两个操作后,对每一层feature的处理就结束了。对前面所列的5个卷积层输出都执行上述的操作后,就将得到的结果合并:采用Concat,类似googleNet的Inception操作,是通道合并而不是数值相加。 

     

                                                               Fig.5 SSD 流程

     

     

    损失函数方面:和Faster RCNN的基本一样,由分类和回归两部分组成,可以参考Faster RCNN,这里不细讲。总之,回归部分的loss是希望预测的box和prior box的差距尽可能跟ground truth和prior box的差距接近,这样预测的box就能尽量和ground truth一样。

     

    上面得到的8732个目标框经过Jaccard Overlap筛选剩下几个了;其中不满足的框标记为负数,其余留下的标为正数框。紧随其后:

     

     

    训练过程中的 prior boxes 和 ground truth boxes 的匹配,基本思路是:让每一个 prior box 回归并且到 ground truth box,这个过程的调控我们需要损失层的帮助,他会计算真实值和预测值之间的误差,从而指导学习的走向。

    SSD 训练的目标函数(training objective)源自于 MultiBox 的目标函数,但是本文将其拓展,使其可以处理多个目标类别。具体过程是我们会让每一个 prior box 经过Jaccard系数计算和真实框的相似度,阈值只有大于 0.5 的才可以列为候选名单;假设选择出来的是N个匹配度高于百分之五十的框吧,我们令 表示第 i 个默认框,j 表示第 j 个真实框,p表示第p个类。那么xijp” role=”presentation”>xpijxijp。总的目标损失函数(objective loss function)就由 localization loss(loc) 与 confidence loss(conf) 的加权求和:

    • N 是与 ground truth box 相匹配的 prior boxes 个数
    • localization loss(loc) 是 Fast R-CNN 中 Smooth L1 Loss,用在 predict box(l) 与 ground truth box(g) 参数(即中心坐标位置,width、height)中,回归 bounding boxes 的中心位置,
      以及 width、height
    • confidence loss(conf) 是 Softmax Loss,输入为每一类的置信度 c
    • 权重项 α,可在protxt中设置 loc_weight,默认设置为 1

    五.使用注意

    1. 使用batch_sampler做data argument时要注意是否crop的样本只包含目标很小一部分。

    2.检查对于你的样本来说回归和分类问题哪个更难,以此调整multibox_loss_param中loc_weight进行训练。

    3.正负样本比例,HARD_EXAMPLE方式默认只取64个最高predictions loss来从中寻找负样本,检查你的样本集中正负样本比例是否合适。

    展开全文
  • 相比YOLO,SSD采用CNN来直接进行检测,而不是像YOLO那样在全连接层之后做检测。另外SSD提取了不同尺度的特征图来做检测,大尺度特征图可以用来检测小物体,而小尺度特征图用来检测大物体;再由SSD采...
  • 转 SSD论文解读

    2019-10-05 16:43:40
    ECCV 2016 的一篇文章,是 UNC Chapel Hill(北卡罗来纳大学教堂山分校) 的 Wei Liu 大神的新作,论文代码:https://github.com/weiliu89/caffe/tree/ssd 有几点更新: 1. 看到一篇 blog 对检测做了一个总结、收集...
  • 论文详细介绍了:骨干网络 VGG16 + 特征提取层 Extra Feature Layers
  • SSD原理解读-从入门到精通

    万次阅读 多人点赞 2018-08-27 08:00:47
    SSD原理解读-从入门到精通
  • 论文解读SSD算法

    2020-11-18 15:43:06
    SSD论文笔记:https://blog.csdn.net/chenghaoy/article/details/85263060 SSD原理解析:https://blog.csdn.net/qq_38675397/article/details/106440638
  • SSD文章解读

    2019-03-30 14:15:59
    论文题目:SSD: Single Shot MultiBox Detector论文链接:论文链接论文代码:Caffe代码点击此处This results in a significant improvement in speed for high-accuracy detection(59 FPS with mAP 74.3% on VOC...
  • SSD-Single Shot MultiBox Detector》论文解读 目录 《SSD-Single Shot MultiBox Detector》论文解读 简要介绍 SSD300 Architecture 检测分析 Predictor的实现 默认框的Scale和Aspect rtaios的设定 正负...
  • SSD源码解读ssd_pascal.py ...
  •  SSD算法跟YOLO类似,都属于one stage的算法,即通过回归算法直接从原图得到预测结果,为了解决YOLO v1检测效果一般的问题,SSD提出了多尺度检测的方法以及在不同尺度上特征点的default box。  1.多尺度检测模型 ...
  • 论文解读SSD vs YOLOv2

    千次阅读 2019-03-31 23:06:37
    对于一阶段的网络模型来说SSD和YOLOv2无疑占据着极为重要的位置,在实际工作上常常会拿这两种模型进行对比,在这里干脆梳理一下其差异,以加深对两者的认识。 多尺度 SSD采用多尺度特征图用于目标检测,具体说来...
  • SSD源码解读2-PriorBoxLayer

    千次阅读 2018-04-29 22:51:30
    SSD源码解读系列的第2篇,这篇博客对SSD源码中的PriorBoxLayer进行解读 PriorBoxLayer源码解读 #include <algorithm> #include <functional> #include &...
  • SSD: Single Shot MultiBox Detector Abstract.我们提出了一种利用单个深度神经网络对图像中目标进行检测的方法。我们的方法名为SSD,它将边界框的输出空间离散为一组默认框,每个特征映射位置具有不同的纵横比和
  • title: Single Shot MultiBox Detector ... github: https://github.com/balancap/SSD-Tensorflow ...SSD的基本思路是将目标检测的Bbox的输出空间离散化为多个不同尺度的feature map上每个位置上的一系...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,503
精华内容 601
关键字:

ssd论文解读