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

简介: 物体检测算法 SSD 的训练和测试  GitHub:https://github.com/stoneyang/caffe_ssd Paper: https://arxiv.org/abs/1512.

物体检测算法 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 

 

相关文章
|
1月前
|
传感器 算法 计算机视觉
基于肤色模型和中值滤波的手部检测算法FPGA实现,包括tb测试文件和MATLAB辅助验证
该内容是关于一个基于肤色模型和中值滤波的手部检测算法的描述,包括算法的运行效果图和所使用的软件版本(matlab2022a, vivado2019.2)。算法分为肤色分割和中值滤波两步,其中肤色模型在YCbCr色彩空间定义,中值滤波用于去除噪声。提供了一段核心程序代码,用于处理图像数据并在FPGA上实现。最终,检测结果输出到&quot;hand.txt&quot;文件。
|
4月前
|
机器学习/深度学习 存储 人工智能
极智AI | 周易AIPU算法部署仿真测试
本教程详细记录了使用周易 AIPU 进行算法部署仿真测试的方法,带大家尝尝鲜。
190 0
|
3月前
|
机器学习/深度学习 算法 TensorFlow
文本分类识别Python+卷积神经网络算法+TensorFlow模型训练+Django可视化界面
文本分类识别Python+卷积神经网络算法+TensorFlow模型训练+Django可视化界面
63 0
文本分类识别Python+卷积神经网络算法+TensorFlow模型训练+Django可视化界面
|
12天前
|
机器学习/深度学习 数据采集 算法
|
16天前
|
算法 安全 Java
java代码 实现AES_CMAC 算法测试
该代码实现了一个AES-CMAC算法的简单测试,使用Bouncy Castle作为安全提供者。静态变量K定义了固定密钥。`Aes_Cmac`函数接受密钥和消息,返回AES-CMAC生成的MAC值。在`main`方法中,程序对给定的消息进行AES-CMAC加密,然后模拟接收ECU的加密结果并进行比较。如果两者匹配,输出&quot;验证成功&quot;,否则输出&quot;验证失败&quot;。辅助方法包括将字节转为16进制字符串和将16进制字符串转为字节。
|
1月前
|
编解码 算法 计算机视觉
基于FPGA的图像最近邻插值算法verilog实现,包括tb测试文件和MATLAB辅助验证
基于FPGA的图像最近邻插值算法verilog实现,包括tb测试文件和MATLAB辅助验证
|
2月前
|
并行计算 计算机视觉
YOLOv8太卷啦 | YOLOv8官方仓库正式支持RT-DETR训练、测试以及推理
YOLOv8太卷啦 | YOLOv8官方仓库正式支持RT-DETR训练、测试以及推理
102 0
|
3月前
|
人工智能 算法 安全
训练数据集污染与模型算法攻击将成为AI新的棘手问题
【1月更文挑战第11天】训练数据集污染与模型算法攻击将成为AI新的棘手问题
67 3
训练数据集污染与模型算法攻击将成为AI新的棘手问题
|
3月前
|
搜索推荐 算法 C++
小朋友的游戏(训练排序算法)
小朋友的游戏(训练排序算法)
15 0
|
3月前
|
监控 算法 计算机视觉
基于FPGA的图像自适应阈值二值化算法实现,包括tb测试文件和MATLAB辅助验证
基于FPGA的图像自适应阈值二值化算法实现,包括tb测试文件和MATLAB辅助验证

热门文章

最新文章