物体检测算法 SSD 的训练和测试

物体检测算法 SSD 的训练和测试 

 

GitHub:https://github.com/stoneyang/caffe_ssd 

Paper: https://arxiv.org/abs/1512.02325 

 

1. 安装 caffe_SSD:

git clone https://github.com/weiliu89/caffe.git
cd caffe
git checkout ssd 

2. 编译该 caffe 文件,在主目录下:

# Modify Makefile.config according to your Caffe installation.
cp Makefile.config.example Makefile.config
make -j24
# Make sure to include $CAFFE_ROOT/python to your PYTHONPATH.
make pycaffe  # Then, you need to export your Python path into the environment. This Step is important, it may shown you error, if you skip this operation. export PYTHONPATH=/home/wangxiao/Documents/caffe/python:$PYTHONPATH 

但是,事情总是没那么顺利啊,不然你也不会在这里看我瞎bb了。编译过程中,会遇到这个bug:json_parser_read.hpp:257:264: error: ‘type name’ declared as function returning an array escape 然后,你想继续玩这个SSD,就得执行如下操作,以继续编译该caffe文件:

  修改json_parser_read.hpp:打开文件夹Document,选中computer,在搜索json_parser_read.hpp,找到该文件的路径之后用如下命令打开

  sudo gedit /usr/include/boost/property_tree/detail/json_parser_read.hpp

  将257行开始的escape代码段注释掉即可,如下:

/*escape
                    =   chset_p(detail::widen<Ch>("\"\\/bfnrt").c_str())
                            [typename Context::a_escape(self.c)]
                    |   'u' >> uint_parser<unsigned long, 16, 4, 4>()
                            [typename Context::a_unicode(self.c)]
                    ;*/
 

3. 编译完成后,开始下载作者使用的 在 ImageNet 上预训练好的 VGG-16 模型:

  Download fully convolutional reduced (atrous) VGGNet. By default, we assume the model is stored in $CAFFE_ROOT/models/VGGNet/ 

4. 下载训练测试用的数据集:Pascal VOC 2007 2012: 

# Download the data.
cd $HOME/data
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tar
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar
# Extract the data.
tar -xvf VOCtrainval_11-May-2012.tar
tar -xvf VOCtrainval_06-Nov-2007.tar
tar -xvf VOCtest_06-Nov-2007.tar 

 

5. 将这些文件打包处理,生成 lmdb 文件:

./data/VOC0712/create_list.sh
./data/VOC0712/create_data.sh 

6. 数据集处理完毕后,我们就可以修改相关的参数以及路径等,使得在我们自己的机器上可以爽快的运行:

  vim /examples/ssd/ssd_pascal.py 

  主要包括:

  1. 训练数据集 lmdb 的路径:

  2. 测试数据集 lmdb 的路径:

  3. gpus=”0,1,2,3” ===> 改为”0”  

  4. batchsize = 32 ==>> 改为 20 比较好,因为有可能会显存溢出;

 

7. 将以上几点都注意到,应该不会再出问题的了,目测我的已经训练到第 360 次迭代了。。。

 

以上就是 SSD的训练部分。

Reference:

1. http://blog.csdn.net/tfy1028/article/details/53289106 

2. http://blog.csdn.net/zhang_shuai12/article/details/52346878 

 

时间: 2024-07-31 08:24:11

物体检测算法 SSD 的训练和测试的相关文章

目标检测算法SSD之训练自己的数据集

目标检测算法SSD之训练自己的数据集 prerequesties 预备知识/前提条件 下载和配置了最新SSD代码 git clone https://github.com/weiliu89/caffe ~/work/ssd cd $_ git checkout ssd 编译caffe 下载必要的模型(包括prototxt和caffemodel): 运行了evaluation和webcam的例子,会提示caffe的import报错.添加pycaffe路径到PYTHONPATH环境变量,或者写一个_

深度学习 目标检测算法 SSD 论文简介

  深度学习 目标检测算法 SSD 论文简介    一.论文简介: ECCV-2016 Paper:https://arxiv.org/pdf/1512.02325v5.pdf  Slides:http://www.cs.unc.edu/~wliu/papers/ssd_eccv2016_slide.pdf 二.代码训练测试: https://github.com/weiliu89/caffe/tree/ssd        一.论文算法大致流程: 1.类似"anchor"机制:  

大牛讲堂 | 邬书哲:物体检测算法的革新与传承

雷锋网(公众号:雷锋网)按:本文作者邬书哲博士,师从中科院计算所山世光博士. 邬书哲博士对山世光博士讲到的内容在细节上做了补充.其补充内容主要包含三个部分:首先是深度学习在物体检测领域点燃的星星之火,即R-CNN系列的工作,其次是针对检测器的速度问题所提出的两个代表性方法:YOLO和SSD,最后是传承了经典检测方法的Cascade CNN.   R-CNN系列 R-CNN的出现带来检测精度的一次巨大提升,在Pascal VOC 2010上,全面超越了之前的方法,mAP提高了20%:在ImageN

干货 | 算法工程师入门第三期——黄李超讲物体检测

雷锋网(公众号:雷锋网)按:地平线大牛讲堂算法工程师入门第三期重磅来袭!本期地平线深度学习算法工程师黄李超将为大家带来物体检测相关内容的分享,全文约8000字,建议阅读时间20分钟,欢迎转发或收藏. 前期传送门: 干货 | 算法工程师入门第一期--罗恒讲深度学习 干货 | 算法工程师入门第二期--穆黎森讲增强学习(一) 干货 | 算法工程师入门第二期--穆黎森讲增强学习(二) 本次分享主要针对一些对深度学习和物体检测感兴趣的同学.内容主要包括: 第一,什么是物体检测,如何去评价一个物体里系统的好

深度学习在 iOS 上的实践 —— 通过 YOLO 在 iOS 上实现实时物体检测

本文讲的是深度学习在 iOS 上的实践 -- 通过 YOLO 在 iOS 上实现实时物体检测, 原文地址:Real-time object detection with YOLO 原文作者:Matthijs Hollemans 译文出自:掘金翻译计划 译者:Danny Lau 校对者:Dalston Xu ,DeepMissea 深度学习在 iOS 上的实践 -- 通过 YOLO 在 iOS 上实现实时物体检测 译者注: 在阅读这篇文章之前可能会遇到的一些名词,这里是解释(我自己也查了相当多的资

《Shadowsock翻墙流量检测算法》论文翻译

本文讲的是<Shadowsock翻墙流量检测算法>论文翻译, 翻译前言 随着机器学习技术的火热,国内不少实验室一窝蜂的将机器学习纳入自己的科研课题研究之中,这样可以更好的找到发论文的结合点.我之前的所在实验室就曾将机器学习引入漏洞挖据的研究之中,取到了很好的效果.但是据我所知,有些研究课题将机器学习引入并没有带来多少收益.本文将机器学习引入Shadowsock翻墙流量的检测,旨在提高准确率节省人力,我认为准确率的提高主要在于:特征的抽象和训练数据的规模.论文中并没有详细的数据说明,我对于准确率

两届CVPR最佳论文得主何恺明新作:应对样本的不平衡分布,刷新密集物体检测表现上限

雷锋网 AI 科技评论按:CV大牛何恺明在Facebook人工智能实验室的新作,一起来围观! 何恺明博士,2007年清华大学毕业之后开始在微软亚洲研究院(MSRA)实习,2011年香港中文大学博士毕业后正式加入MSRA,目前在Facebook人工智能实验室(FAIR)实验室担任研究科学家.何恺明博士最让人印象深刻的是曾两次以第一作者身份摘得CVPR最佳论文奖(2009和2016),其中2016年CVPR最佳论文为图像识别中的深度残差学习(Deep Residual Learning for Im

(转)基于深度学习的物体检测

  本文转自:http://www.cosmosshadow.com/ml/%E5%BA%94%E7%94%A8/2015/12/07/%E7%89%A9%E4%BD%93%E6%A3%80%E6%B5%8B.html   物体检测 Index RCNN Fast RCNN Faster RCNN R-FCN YOLO SSD NMS xywh VS xyxy RCNN Rich feature hierarchies for accurate object detection and sema

皮肤检测算法三种,示例与代码

今天是地球日,就选了张相关主题的图像做测试   第一种:RGB color space 第二种:RG color space 第三种:Ycrcb之cr分量+otsu阈值化   还有别的一些模型,效果不太好就不贴了   1.rgb model [cpp] view plaincopy // skin region location using rgb limitation   void SkinRGB(IplImage* rgb,IplImage* _dst)   {       assert(r