目标检测|实战总结

作者: voice_an | 来源:发表于2018-03-27 07:35 被阅读110次

    1.实现ssd-keras实时目标检测算法,并制作十张图片的测试集。效果一般。ssd算法是继faster-rcnn与yolo之后的又一力作。来自UNC团队2016年发表在ECCV上。SSD最大的特点就是在较高的准确率下实现较好的检测准确度。并非为两种模型:SSD300(300*300输入图片),SSD500(512*512输入图片)。当然输入图片的尺寸越大,往往会得到更好的检测准确率,但同时也带来显存开销过大与设备性能要求较高等问题。在实际的上手操作中,测试效果一般。因为是直接在github上clone -recursive下来,并按照说明进行配置运行。而且还没有整理好自己的数据集,故也就不需要训练,验证并fine-tine超参数等一系列操作。。同时也没有什么好的想法去在SSD基础卷积网络结构上做改进优化的小点子-_-||。。所以也没什么好说的。。。因为训练比较麻烦故用的是在voc07+12 SSD300训练好的模型。并用了下voc2007测试集测试集简单跑了下。简单修改了下路径函数实现了几张本地图片的检测。。另外中间有一个小插曲,因为题主用的显卡是GTX1060,只有6G显存,当时训练报错out of memory也是很郁闷。。尝试简单改小batch_size再次尝试训练还是out of memory于是就放弃了训练。。对了,另外用ssd500测试的时候也出样同种情况。。当然git主不只提供了基于VOC的训练模型,同时也提供COCO与ILSVRC的预 训练模型。。这主要根据自己的真实需求选择不同的训练模型,类别数依次递增。当然也用到些基本技能:jupyter notebook远程连接服务器:172.xx.xx.xx:端口号很方便。还有两大神器:xshell(虽然不知道笔记本为啥不能免费试用从而转战了putty),winscp(好用的文件传输谁用谁知道)。

    2.接下来就准备简单搞一下yolo了 ,目前检测方面速度最快的算法之一。直接使用的官方yolo-darknet。配置比较简单,直接实现也没什么好说的。。只是实时测试中yolo达到19fps,tiny-yolo达到75fps左右。yolo明显比tiny-yolo识别精度要高一些。另外又简单搞了下yolov3,确实有所提升yolov3达到27fps。

    3.另外又搞了下faster-rcnn基于tensflow的。这个就跟没什么好说的了。。选用resnet101预训练于VOC07+12的模型。在自制十张小数据集上小测一番,表现略高于前两者,因为数据集特殊故可以肉眼看出。

    最后吐槽一下,目标检测近几年真是发展迅猛,从yolo系列的高速单步检测到faster-rcnn系列基于候选区域的较高精度检测。再到SSD的改进(提高了精度与达到了不错的速度)。再有后者的基于FPN与Focal loss的Retinanet(特征金字塔,焦点损失)。再有网络结构的改进之Resnext,号称真正改良了Resnet残差网络,通过增加path的方式减少了参数量提升了表现,优于对宽度或深度做改变。再有就是Frcn,同样号称是检测界的一项重大突破,同样是减少参数量,使得再次增加网络深度成为可能,并在检测中有着不俗的表现。一入检测深似海,学习永远在路上。

    最抛几个常用关键字吧:

    batch size ;batch normalization;filter size;SGD;BGD;dropout;rule;softmax;卷积与全连接;thresholdre等。

    相关文章

      网友评论

        本文标题:目标检测|实战总结

        本文链接:https://www.haomeiwen.com/subject/qtqjcftx.html