关键词不能为空

当前您在: 主页 > 英语 >

ssd算法

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-13 18:55
tags:

-

2021年2月13日发(作者:7974)


本文提出的


SSD


算法是一种直接预测目标类别 和


bounding box


的多目标检测


算法。




faster rcnn


相比,该算法没有生成



proposal


的过程,这就极大提高了检


测速度。


针对不同大小的目标检测,


传统的做法是先将 图像转换成不同大小


(图


像金字塔),然后分别检测,最后将结 果综合起来(


NMS


)。


< p>


SSD


算法则利用不同卷积层的



feature


map


进行综合也能达到同样的效


果。算法的主网络结构是


VGG16


,将最后两个全连接层改成卷积层,


并随后增

< br>加了


4


个卷积层来构造网络结构。对其中


5


种不同的卷积层的输出(


feature


map



分别


用两


个不


同的



3×3


的卷积


核进行卷积,一


个输

< p>
出分类用的


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



)< /p>


。最后将前面三个计算结果分别合并然后传给


loss

< p>
层。



Default box



文章的核心之一是作者同时采用


lower



upper



feature map


做检测。



如图


Fig


1

所示,这里假定有


8×8



4×4


两种不同的


feature


map< /p>


。第一


个概念是


feature map cell



feature map cell


是指


feature map


中每一个


小格子


,如图中分别有


64

< p>


16



cell


。另外有一个概念:


default box


,是


指在


feature ma p


的每个小格


(cell)


上都有一系 列固定大小的


box



如下图有


4


个(下图中的虚线框,仔细看格子的中间有比格子还小的一个


box


)。



假设每个


feature map cell

< br>有


k



default box


,那么对于每个


default box


都需要预测


c


个类别


scor e



4



of fset


,那么如果一个


feature

map


的大


小是


m×n

< p>
,也就是有


m*n



fe ature map cell


,那么这个


feature m ap



一共有



c+4



*k * m*n


个输出 。这些输出个数的含义是


:采用


3×3


的卷积


核对该层的


feature map

卷积时卷积核的个数,包含两部分(实际


code


是分


别用不同数量的


3*3


卷积核对该层


feature map


进行卷积):


数量< /p>


c*k*m*n



confidence


输出,表示每个


default box



confidence


,也就是类别的概

< br>率;数量


4*k*m*n



lo calization


输出,表示每个


default


box


回归后的坐



)。训练中还有一个东西:


prior box


,是指实际中选择的


default box


(每


一个


feature map cell


不是


k



default box


都取)。



也就是说


default box


是一种概念,


prior box


则是实际的选取。


训练中一张完


整的图片送进网络获得各个< /p>


feature


map


,对于正样本训 练来说,需要先将


prior box



ground truth box

< br>做


匹配


,匹配成功说明这个


pr ior box


所包


含的是个目标,但离完整目标的

< p>
ground


truth


box


还有段距离,训练的目的


是保证


default < /p>


box


的分类


confidence


的同时将


prior


box


尽可能回归到


ground truth box




举个列子:假 设一个训练样本中有


2



ground


truth


box


,所有的


feature


map


中获取的


prior box< /p>


一共有


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 rat io


(横纵比)要怎么定呢?假


设我们用


m



feature


maps


做预测,那么对于每个


featuer


map


而言其


default box



scale


是按以下公式计算的:< /p>





Sk=S min+Smax?Sminm?1(k?1),k



[1,m ]



这里


smin


0.2


,表示最底层的


scal e



0.2



smax



0.9


,表示最高层的


scale



0.9




至于


aspect ratio


,用


a_r


表示为下式:注意这里一共 有


5



aspect ratio


a_r = {1, 2, 3, 1/2, 1/3}



因此每个


default box


的宽的计算公式为:



w_k^a=s_ksqrt{a_r}


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


scale


的平方)



h_k^a=s_k/sqrt{a_r}



另外当


aspect ratio


为< /p>


1


时,作者还增加一种


scale



default box




s_k^{'}=sqrt{s_{k}s_{k+1}}



因此,对于每个


feature map cell

< p>
而言,一共有


6



def ault box




可以看出这种


default


box


在不同的


feature


层有不同的< /p>


scale


,在同一个


feature< /p>


层又有不同的


aspect


ratio


,因此基本上可以覆盖输入图像中的各种


形状和大小的


object




(训 练自己的样本的时候可以在


FindMatch()


之后检查是 否能覆盖了所有的



ground truth box









< /p>


ssd_













caffe




< /p>


prior_box_



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< /p>


进行排序,


选择最高的


num_sel< /p>



prior box


序号集



D



那么如果


Match


成功后的正样本序号集合


P


< br>那么最后正样本集为



P -


Dcap{P}



负样本集为



D - Dcap{P}



同时可以通 过规范


num_sel


的数量


(是


正样本数量的三倍)来控制使得最后正、负样本的比例在



1



3


左右。



Fig.3 positive and negtive sample VS ground_truth box



1.


正样本获得



我们已经在图上画出了


prior box


,同时也有了


ground truth


,那么下一步就




prio r


box





ground


truth








src/caffe/utlis/bbox_




FindMatches


以及子 函数


MatchBBox


函数里完成的。


值得注意的是先是从


groudtruth box


出发给每个


groudtruth


box


找到了最匹配的


prior b ox


放入


候选正样本集


,然后再从


prior box


出发



prior

< p>
box


集中寻找与


groundtruth


box


满足


IOU>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


进行排序。



对于

候选正样本集



选择最高的几个


p rior box


与正样本集匹配


(box

索引同时存在于这两个集合里则匹配成功


)


,匹配不成功则 删除这个正样本(因


为这个正样本不在难例里已经很接近


gro und truth box


了,


不需要再训练了)

< p>


对于


候选负样本


集:选 择最高的几个


prior


box


与候 选负样本集匹配,匹配成


功则作为负样本。


< br>这就是一个难例挖掘的过程,举个例子,假设在这


8732



prior box


里,经



FindMatches


后得到候选正样本


P


个,


候选负样本那就有


8732-P


个。



prior box



prediction loss

按照从大到小顺序排列后选择最高的


M


< br>prior


box


。如果这


P


个候选正样本里有


a



box


不在这


M


< p>
prior


box


里,将这

M



box


从候选正样本集中踢出 去。如果这


8732-P


个候选负样本集中包含



8732-P



M-a


个在这


M



pri or box


,则将这


M-a


个候选负 样本作为


负样本。


SSD


算法中通过这 种方式来保证



positives



negatives


的比例。实


际代 码中有三种负样本挖掘方式:



如果选择


HARD_EXAMPLE


方式


(源于论文

< br>Training Region-based Object


Detectors with Online Hard Example Mining


),则默认


M = 64


,由于


无法控制正样本数量,


这种方式就有点类似于分类、


回归按比重不同交替训练了。







MAX_NEG ATIVE





M


=


P*neg_pos_ ratio





neg_pos_ratio = 3


的时候

< p>
,


就是论文中的正负样本比例


1:3


了。



enum


{


MultiBoxLossParameter_MiningType


MultiBoxLossParameter_MiningType_NONE


=


0,

-


-


-


-


-


-


-


-



本文更新与2021-02-13 18:55,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/652110.html

ssd算法的相关文章

  • 余华爱情经典语录,余华爱情句子

    余华的经典语录——余华《第七天》40、我不怕死,一点都不怕,只怕再也不能看见你——余华《第七天》4可是我再也没遇到一个像福贵这样令我难忘的人了,对自己的经历如此清楚,

    语文
  • 心情低落的图片压抑,心情低落的图片发朋友圈

    心情压抑的图片(心太累没人理解的说说带图片)1、有时候很想找个人倾诉一下,却又不知从何说起,最终是什么也不说,只想快点睡过去,告诉自己,明天就好了。有时候,突然会觉得

    语文
  • 经典古训100句图片大全,古训名言警句

    古代经典励志名言100句译:好的药物味苦但对治病有利;忠言劝诫的话听起来不顺耳却对人的行为有利。3良言一句三冬暖,恶语伤人六月寒。喷泉的高度不会超过它的源头;一个人的事

    语文
  • 关于青春奋斗的名人名言鲁迅,关于青年奋斗的名言鲁迅

    鲁迅名言名句大全励志1、世上本没有路,走的人多了自然便成了路。下面是我整理的鲁迅先生的名言名句大全,希望对你有所帮助!当生存时,还是将遭践踏,将遭删刈,直至于死亡而

    语文
  • 三国群英单机版手游礼包码,三国群英手机单机版攻略

    三国群英传7五神兽洞有什么用那是多一个武将技能。青龙飞升召唤出东方的守护兽,神兽之一的青龙。玄武怒流召唤出北方的守护兽,神兽之一的玄武。白虎傲啸召唤出西方的守护兽,

    语文
  • 不收费的情感挽回专家电话,情感挽回免费咨询

    免费的情感挽回机构(揭秘情感挽回机构骗局)1、牛牛(化名)向上海市公安局金山分局报案,称自己为了挽回与女友的感情,被一家名为“实花教育咨询”的情感咨询机构诈骗4万余元。

    语文