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

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

Linux:http://blog.sina.com.cn/s/blog_4a1853330102x7yd.html

window:http://blog.csdn.net/buaalei/article/details/55094879

数据转换好以后,接下来的工作就是在window下搭建SSD训练环境了,这里面有很多地雷,我本人也是反复尝试反复修改几天后才得以成功。

1 首先看你的电脑配置是否有GPU,如果没有GPU那就很好办了,首先下载SSD模型,链接:https://github.com/conner99/caffe,(当然也要的人是下载window-caffe的,然后再往里面添加SSD相关的文件,但是很明显多此一举了)。所以我们还是站在巨人的肩膀上吧。

2 下载好了ssd的caffe环境,接下来就是安装CUDNN,CUDA,PYTHON等的配置,这里参考的文献很多我就不再赘叙了,当然如果你是CPU环境,那么不需要配置CUDNN环境。

3 安装好了SSD环境后,由于SSD训练还需要第三方库,这里也有提供,链接:http://pan.baidu.com/s/1eSaP3rW 密码:nuja ,具体过程如下:

(1)在caffe-master\src\caffe下新建3rdparty文件夹,里面添加hungarian.cpp

(2)在caffe-master\include\caffe下新建3rdparty文件夹,里面添加hungarian.hpp

4 接下来这个一定要改,不改的话会反复出现类似于:error MSB3721: 命令“"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5\bin\nvcc.exe" ....等错误。我本人在此被坑几天,头发都掉了一地,哎。这里的解决办法是在detection_output_layer.cu,detection_output_layer.cpp两个文件中注释掉所有出现的regex和rv的语句;然后再detection_output_layer.hpp中将语句#include <boost/regex.hpp>注释掉。此外,在libcaffe项目下的bbox_util.cu文件,注释掉thrust相关的内容,如下所示:  //#include "thrust/functional.h"  //#include "thrust/sort.h"

.....

//thrust::sort_by_key(&confidence[0],&confidence[0]+num_remain,&idx[0],

//thrurst::greater<Dtype>());*/

5 上面的执行完毕之后,恭喜你基本上可以生成libcaffe、caffe.exe文件,先编译libcaffe,再caffe(一般都是Release下)。

6 后面就简单了,写一个bat命令,设置好相应的solver.prototxt文件就可以开始训练了。

上面只要按照这个流程来,不要偷懒,基本上没什么大问题,而我总是感觉别人说的不一定对,抱着不装南墙不回头精神去配置,结果就是大几天时间挥霍掉了,希望大家谨慎对待,不过,说实在的自己实现这一过程,从数据采集,数据扩充,转化格式,再到配置SSD环境,再到开始训练,收获良多,或许这就是自己动手的好处吧。这里附上我正在训练的过程,GPU速度杠杠的。

期待能得到好的结果,也祝大家好运。有什么问题欢迎留言交流,哈哈。最后附上一些好的相关博客:

http://blog.csdn.net/gxb0505/article/details/73702451

http://blog.csdn.net/maweifei/article/details/76685755

https://github.com/weiliu89/caffe

时间: 2024-10-14 02:03:20

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

深度学习 目标检测算法 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

4. 基于深度学习的目标检测算法的综述(转)

4. 基于深度学习的目标检测算法的综述(转) 原文链接:https://www.cnblogs.com/zyly/p/9250195.html 目录 一 相关研究 1.选择性搜索(Selective Search) 2.OverFeat 二.基于区域提名的方法 1.R-CNN 2.SPP-Net 3.Fast R-CNN 4.Faster R-CNN 5.R-FCN 三 端对端的方法 1.YOLO 2.SSD 四 总结 在前面几节中,我们已经介绍了什么是目标检测,以及如何进行目标检测,还提及了滑

无人超市目标检测算法的选型

经过测试得出以下结论:1.传统的目标检测算法主要有以下几种:(1) 基于Boosting框架:Haar/LBP/积分HOG/ACF feature+Adaboost (2) 基于SVM:HOG+SVM or DPM等 (3) 模版匹配(特殊情况下可以用到)人工特征和LBP,HAAR特征级联分类器容易出现找不到目标的情况,但是优点是响应速度快,硬件投入低,训练模型快速因为有时候找不到目标所以舍弃.2.现在采用深度学习的方法,主要尝试了以下几种方法(1)cnn fast-cnn faster-cnn

DPM目标检测算法(毕业论文节选)

各位看客,如发现错误(应该还有蛮多--),望不吝指教.训练部分没有写 以前写的部分内容: DPM(Deformable Parts Model)--原理(一) DPM(Defomable Parts Model) 源码分析-检测(二) DPM(Defomable Parts Model) 源码分析-训练(三) 推荐阅读: DPM: http://blog.csdn.net/masibuaa/article/category/2267527 HOG: HOG(毕业论文节选) DPM目标检测算法 D

目标检测之hough forest---霍夫森林(Hough Forest)目标检测算法

 Hough Forest目标检测一种比较时兴的目标检测算法,Juergen Gall在2009的CVPR上提出. Hough Forest听上去像hough变换+Random Forest的结合体,其实,不完全是这样的.它更像是decision forest和regression forest的结合体再加上generalized hough transform:森林中每棵树即不是分类树也不是回归树,而是其中的每个节点可能为分类节点或者回归节点.分类节点最小化class-label uncert

第二十八节,目标检测算法之R-CNN算法详解

Girshick, Ross, et al. "Rich feature hierarchies for accurate object detection and semantic segmentation." Proceedings of the IEEE conference on computer vision and pattern recognition. 2014. R-CNN的全称是Region-CNN,它可以说是第一个成功将深度学习应用到目标检测上的算法.后面要讲到的

第二十八节、基于深度学习的目标检测算法的综述

在前面几节中,我们已经介绍了什么是目标检测,以及如何进行目标检测,还提及了滑动窗口,bounding box.以及IOU,非极大值抑制等概念. 这里将会综述一下当前目标检测的研究成果,并对几个经典的目标检测算法进行概述,本文内容来自基于深度学习的目标检测,在后面几节里,会具体讲解每一种方法. 在深度度学习的目标检测算法兴起之前,传统的目标检测算法是怎样的呢? 传统的目标检测一般使用滑动窗口的框架,主要包括三个步骤: 利用不同尺寸的滑动窗口框住图中的某一部分作为候选区域: 提取候选区域相关的视觉特

5. 目标检测算法之R-CNN算法详解(转)

5. 目标检测算法之R-CNN算法详解(转) 原文链接:https://www.cnblogs.com/zyly/p/9246221.html 目录 一 R-CNN思路 二 算法简述 三 训练步骤 四 优缺点 Girshick, Ross, et al. "Rich feature hierarchies for accurate object detection and semantic segmentation." Proceedings of the IEEE conferenc

window环境下将solr6.3部署到tomcat中

1.我下载的solr是6.3版本的,需要jdk1.8及以上,tomcat8 JDK1.8的下载地址:http://www.Oracle.com/technetwork/Java/javase/downloads/jdk8-downloads-2133151.html tomcat8的下载地址:http://tomcat.apache.org/download-80.cgi 注意:Window环境下下载的都是zip包 2.安装jdk,这里就省略了,参考其他文章 3.solr6.3发布版本本身就有一