之前研究了Yolo3网络结构,论文中没有写具体架构,跟着作者的代码把网络结构给扒出来了,如下图所示,主干网络是论文中提到的Darknet53网络,然后在主干网上嫁接出三个分辨率的探测网络。Darknet53网络原来是作为分类网络训练的,在Yolo3的架构中主要用于提取特征,后面3个分辨率的嫁接网络则在Darknet53提取的特征上进一步探测每个cell中包含目标的可能性、置信度、类别等信息,三个分辨率分别为13*13、26*26、52*52,分辨率越大,则小目标检测精度更高!!
在这个基础上,结合最近一直在跟的轻量化网络,考虑将MobileNet网络作为主干网替换Yolo3中的Darknet53网络,MobileNet网络主要利用分组卷积和点卷积替换了原来标准卷积,可以极大的消减主干网络中卷积运算的部分,使得网络的整体计算量大大减少,网络就命名为Yolov3-MobileNet吧。。。结构如下图所示:
在这里初始化权重的时候主干网络权重使用MobileNet作者训练好权重(不包括Mobilenet最后的AvgPool、FC、Softmax),然后嫁接网络部分还是用Yolo3训练好的权重。生成初始化权重后,再在coco训练集上final tune了3000次迭代,看loss下降到了7.2,分析了一下日志,损失里占大头的分类损失,候选框损失相对小很多。如果将类别分类限定在10类以下(coco训练集为80类物体探测),应该可以将整体loss收敛到0.5以下。