
ssd.pytorch源码分析
DZ海边数猩猩
这个作者很懒,什么都没留下…
展开
-
ssd.pytorch源码分析(二)— 默认框PriorBox的生成
PriorBox构建源码论文链接实际上PriorBox即default boxes即anchors。本文代码将要复现的是论文中对于Choosing scales and aspect ratios for default boxes这一节的描述。default box 设置原理早先的工作已经反映出浅层能够获取更多目标的细节,因此可以提升语义分割的质量。因此SSD借鉴这一特点,同时利用浅层和...原创 2019-05-13 23:50:45 · 2303 阅读 · 13 评论 -
ssd.pytorch源码分析(三)— 非极大值抑制NMS
NMS源码SSD论文链接NMS介绍吴恩达对于NMS(非极大值抑制)的介绍:说白了,NMS的作用就是去掉目标检测任务重复的检测框。 例如,一个目标有多个选择框,现在要去掉多余的选择框。怎么做呢?循环执行步骤1和2, 直到只剩下一个框:1、选出置信度p_c最高的框;2、去掉和这个框IOU>0.7的框。相关函数一、torch.clamp( )torch.clamp(input, ...原创 2019-05-15 19:20:37 · 3549 阅读 · 11 评论 -
ssd.pytorch源码分析(四)—default boxes与真实目标的匹配
NMS源码SSD论文链接default boxes与真实目标匹配介绍论文中的匹配策略:匹配用于训练阶段。为了计算损失函数,必须要选取一个预测框和一个真实框,两者匹配后其差异体现在损失函数中,这样才可以进行训练。但是default boxes和真实目标都不是唯一的,如何才可以众里寻他千百度,找到一对有缘的框呢?作者分为2步:首先对每一个ground truth框匹配一个与之iou最大...原创 2019-05-15 23:29:04 · 1631 阅读 · 2 评论 -
ssd.pytorch源码分析(五)—损失函数及Hard negative mining
MultiBoxLoss源码SSD论文链接本文代码涉及很多复杂矩阵索引操作,推荐阅读。损失函数总览在SSD中,默认框default boxes和真实目标ground truth先进行匹配。匹配策略细节然后根据匹配到的一对boxes分别计算分类损失和定位损失。从上面的描述可以看出,可能有多个default boxes匹配到一个ground truth的情况。其中α为权重系数,论文和代...原创 2019-05-16 16:57:54 · 2759 阅读 · 4 评论 -
ssd.pytorch源码分析(一)— 网络结构
结构定义源码地址论文链接一、总览在ssd的原论文中,采用的backbone为VGG16。VGG16定义如下图C这一列。从上到下依次为:conv1_2、conv2_2、conv3_3、conv4_3、conv5_3、fc6、fc7、fc8。其中_n指有n层。可以看到参数层为2+2+3+3+3+1+1+1=16层。SSD作者在原VGG16的基础上进行了改进:将原来的FC7改为Conv7,并增...原创 2019-05-13 14:49:34 · 2885 阅读 · 4 评论