论文笔记3 MobileNetV3-SSD

1 网络结构
1.1 MobileNet系列
1.1.1 MobileNetV1

深度可分离卷积:
(1) 先用depthwise卷积(卷积核输出通道数和输入通道数相同)将每一通道都进行卷积操作(没有进行特征组合)
(2) 再使用pointwise卷积(即跟其他1$*$1卷积使用相同)
(3) pytorch实现

 def conv_dw(inp, oup, stride):
     return nn.Sequential(
         nn.Conv2d(inp, inp, 3, stride, 1, groups=inp, bias=False),
         nn.BatchNorm2d(inp),
         nn.ReLU(inplace=True),

         nn.Conv2d(inp, oup, 1, 1, 0, bias=False),
         nn.BatchNorm2d(oup),
         nn.ReLU(inplace=True),
     )

(4) MobileNet是小模型不容易过拟合: 当训练MobileNets时,不使用sideheads或者labelsmoothing,通过限制croping的尺寸来减少图片扭曲;depthwise滤波器上放置很少或没有重量衰减(L2正则化),因为它们参数很少

参考
[1] MobileNetV1翻译
[2] MobileNetV1 & MobileNetV2 简介
[3] CNN模型之MobileNet

1.1.2 MobileNetV2
(1) Inverted residuals

加入残差块: 先用1*1卷积核扩张通道数(获取更多的特征)再使用MobileNetV1的深度可分离卷积

(2) Linear bottlenecks

意义: 避免ReLU对特征的破坏(对负的输入,输出为0)
实现: 去掉深度可分离卷积的最后一层ReLU

参考:
[1] MobileNetV2翻译
[2] 轻量化网络:MobileNet-V2
[3] MobileNetV2阅读笔记

1.1.3 MobileNetV3
1.2 SqueezeNet

Fire Module:将一层conv层改为squeeze层(带上Relu)和expand层(带上Relu)

参考:SqueezeNet模型详解

2 实践总结
2.1 运行代码

参考:
[1] MobileNetV3-SSD github(已跑通)
[2] SSD源码分析
[3] 另一个 MobileNetV3-SSD github(未跑通)

2.2 svhn数据集转voc

参考:
[1] svhn数据集中:matlab文件转txt格式
[2] 目标检测txt格式转voc

注意: 要查看好标注的坐标信息格式(voc数据集格式中是左上角和右下角,而svhn是左上角和框的长宽)

2.2 常见bug

(1) IndexError: too many indices for array #224 记得检查标注文件的annotations
参考: https://github.com/amdegroot/ssd.pytorch/issues/224
(2) python:CLASSES = (‘unlicensed_merchants’, )是元组但是CLASSES = (‘unlicensed_merchants’)不是,因为()没有用逗号’,'隔开

2.3 python语法

(1) super继承的MRO顺序的下一个类,不是父类.
(2) nametuple使用: tuple比list快且内存小,但只能通过下标访问.nametuple弥补了该缺陷,可像访问对象属性那样访问数据,增加了代码的可读性.
(3) python中函数加了个箭头是为了给函数参数增加信息,在python解释器当中不会对这些注解增加语义

参考:
[1] super自己的方法
[2] MRO
[3] 给函数增加一些元信息

3 应用场景

:个人经验,如有不对,敬请指出
MobileNetV3-SSD
缺陷:对小物体不敏感,检测不出来,如遮阳伞,小箱子,可能是没有很好地利用浅层信息
优势:用1050显卡能够实时,在rk3399的demo上也能实时,nano有25帧数.相对其他轻量模型,mAP值比较高,实际中对非小物体IOU也比较好.

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值