物体检测算法 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-08-25 00:45:12

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

目标检测算法SSD在window环境下GPU配置训练自己的数据集

由于最近想试一下牛掰的目标检测算法SSD.于是乎,自己做了几千张数据(实际只有几百张,利用数据扩充算法比如镜像,噪声,切割,旋转等扩充到了几千张,其实还是很不够).于是在网上找了相关的介绍,自己处理数据转化为VOC数据集的格式,在转化为XML格式等等.具体方法可以参见以下几个博客.具体是window还是Linux请自行对号入座. Linux:http://blog.sina.com.cn/s/blog_4a1853330102x7yd.html window:http://blog.csdn.n

深度学习 目标检测算法 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"机制: 如上所示:在 featur

Detectron系统实现了最先进的物体检测算法https://github.com/facebookresearch/Detectron

,包括Mask R-CNN. 它是用Python编写的,支持Caffe2深度学习框架. 不久前,FAIR才开源了语音识别的工具wav2letter,戳这里看大数据文摘介绍<快讯 | Facebook开源语音识别工具包wav2letter>. 这一系列工具的开源,将使更多研究人员能使用到Facebook的平台,进一步扩大Facebook人工智能实验室的影响力. 针对Detectron的开源,研究员Ross Girshick发表了一篇博客,具体介绍了该开源平台的性能. Detectron 项目于2

【Demo 1】基于object_detection API的行人检测 3:模型训练与测试

训练准备 模型选择 选择ssd_mobilenet_v2_coco模型,下载地址(https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/detection_model_zoo.md),解压到./Pedestrian_Detection/ssd_mobilenet_v2_coco_2018_03_29. 修改object_detection配置文件 进入目录./Pedestrian_Dete

『MXNet』第八弹_物体检测之SSD

预.API介绍 mxnet.metric from mxnet import metric cls_metric = metric.Accuracy() box_metric = metric.MAE() cls_metric.update([cls_target], [class_preds.transpose((0,2,1))]) box_metric.update([box_target], [box_preds * box_mask]) cls_metric.get() box_metr

一种通用的网页相似度检测算法

如果我们需要在海量的结构未知的网页库中找到和指定的网页相似度比较高的一些网页,我们该怎么办呢?本文提出的"一种通用的网页相似度检测算法"就是专门解决这个问题. 算法如下: 1.提取网页文本.这个提取步骤不要求精确,也没办法精确,因为你面对的是未知结构的网页,所以只需要提取去掉标签之后的文本即可. 2.对提取的文本进行分词.我们使用开源的中文分词组件word分词. 3.为每一个网页建立一个词向量,向量的维度就是两个网页的不重复词的并集,每一个维度的权重就是词频TF,我们这里忽略IDF也不

ssd物体检测模型训练和测试总结

参考网址:github:https://github.com/naisy/realtime_object_detection 2018.10.16ssd物体检测总结:切记粗略地看一遍备注就开始训练模型出现的错误:1.用branch1.5,tensorflow-gpu==1.8训练的模型在GT730,显存2g,运行不了,tensorflow-gpu==1.5没有NoMaxSuppressionv3,2.用预训练模型ssd_mobilenet_coco_2018_1_28,tensorflowgpu

检测算法简介及其原理——fast R-CNN,faster R-CNN,YOLO,SSD,YOLOv2,YOLOv3

1 引言 深度学习目前已经应用到了各个领域,应用场景大体分为三类:物体识别,目标检测,自然语言处理.本文着重与分析目标检测领域的深度学习方法,对其中的经典模型框架进行深入分析. 目标检测可以理解为是物体识别和物体定位的综合,不仅仅要识别出物体属于哪个分类,更重要的是得到物体在图片中的具体位置. 为了完成这两个任务,目标检测模型分为两类.一类是two-stage,将物体识别和物体定位分为两个步骤,分别完成,这一类的典型代表是R-CNN, fast R-CNN, faster-RCNN家族.他们识别

Caffe上用SSD训练和测试自己的数据

    学习caffe第一天,用SSD上上手. 我的根目录$caffe_root为/home/gpu/ljy/caffe 一.运行SSD示例代码 1.到https://github.com/weiliu89/caffe.git下载caffe-ssd代码,是一个caffe文件夹 2.从已经配置好的caffe目录下拷贝一个Makefile.config放到$caffe_root下 3.在$caffe_root下打开命令行终端,输入以下命令 make -j8 make py make test -j8