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

笨鸟多学 笨鸟多学     2022-10-02     734

关键词:

由于最近想试一下牛掰的目标检测算法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

ssd—mobilenetv3环境配置

...ot;$PYTHONPATH:/home/Github/models:/home/Github/models/research/slim/"windows备注:环境变量一定要配置好,之前同一个名字配置的环境变量要先删除,然后重新配置现在的路径。没有修改环境变量可能导致一直使用之前配置的路径。4.继续在... 查看详情

目标检测算法ssd(singleshotmultiboxdetector)(代码片段)

SSD:SingleShotMultiBoxDetector学习目标1.SSD1.1简介1.2结构1.3流程1.4Detector&classifier1.4.1PriorBox层-defaultboxes1.4.2localization与confidence2.训练与测试流程2.1train流程2.2test流程3.比较4.总结学习目标目标知道SSD的结构说明Detect 查看详情

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

 深度学习目标检测算法SSD论文简介  一、论文简介:  ECCV-2016Paper:https://arxiv.org/pdf/1512.02325v5.pdf   Slides:http://www.cs.unc.edu/~wliu/papers/ssd_eccv2016_slide.pdf二、代码训练测试:  https://github.com/w 查看详情

详细解读目标检测经典算法-ssd(代码片段)

学习目标:知道SSD的多尺度特征图的网络知道SSD中先验框的生成方式知道SSD的损失函数的设计目标检测算法主要分为两类:Two-stage方法:如R-CNN系列算法,主要思路就是通过SelectiveSearch或者CNN网络产生一系列的稀... 查看详情

深度学习之目标检测常用算法原理+实践精讲yolo/fasterrcnn/ssd/文本检测/多任务网络

深度学习之目标检测常用算法原理+实践精讲YOLO/FasterRCNN/SSD/文本检测/多任务网络资源获取链接:点击这里第1章课程介绍本章节主要介绍课程的主要内容、核心知识点、课程涉及到的应用案例、深度学习算法设计通用流程、适应... 查看详情

目标检测网络ssd详解(代码片段)

SSD目标检测网络  使用SSD检测网络一段时间了,研究过代码,也踩过坑,算是有能力来总结下SSD目标检测网络了。1.SSD300_Vgg16  最基础的SSD网络是以Vgg16作为backbone,输入图片尺寸为300x300,这里以其为示例,详细剖析下SSD检测... 查看详情

openmmlab目标检测(代码片段)

OpenMMLab目标检测1.目标检测简介1.1滑窗2.基础知识2.1边界框(BoundingBox)2.2交并比IntersectionOverUnion2.3置信度ConfidenceScore2.4非极大值抑制Non-MaximumSuppression2.5边界框回归BoundingBoxRegression2.6边界框编码BboxCoding3.两阶段目标检测算... 查看详情

onestage目标检测

在计算机视觉中,目标检测是一个难题。在大型项目中,首先需要先进行目标检测,得到对应类别和坐标后,才进行之后的各种分析。如人脸识别,通常是首先人脸检测,得到人脸的目标框,再对此目标框进行人脸识别。如果该... 查看详情

目标检测ssd等onestage算法中关于小目标识别问题的解决方法

...算法包括yolossd等这一系列onestage的方法都不能解决检测时目标较小的问题,经过思考认为问题出在小目标的特征图和大目标不同上。有篇论文解决了这个问题,就是RSSD算法R是彩虹的意思表示将多个特征图相融合来作为分类标准... 查看详情

ssd

你说我是不是和目标检测算法杠上了,明明自己不搞这一块,却把效果最好的算法都看完了,唉,真搞不懂自己,改天在花时间好好整理一下,他们这么搞CV的人,真麻烦。今天说的是SSD算法,论文的名字是:SSD:SingleShotMultiBoxDet... 查看详情

windows10下安装配置caffe并支持gpu加速(改)

 基本环境建议严格按照版本来-Windows10-VisualStudio2013-MatlabR2016b-Anaconda-CUDA8.0.44-cuDNNv41.安装CUDA8.0安装完后,程序会自动地添加一个CUDA_PATH的环境变量:2.下载cuDNN下载前需要在Developer网上注册一个号,简单填一填基本材料即可。... 查看详情

深度学习之目标检测常用算法原理+实践精讲

...家从整体上了解本门课程的整体脉络。1-1课程导学第2章目标检测算法基础介绍本章节主要介绍目标检测算法的基本概念、传统的目标检测算法、目前深度学习目标检测主流方法(one-stage、two-stage、多任务网络)、相关算法的基... 查看详情

windows环境caffe安装配置步骤(无gpu)及mnist训练

...手熟悉Caffe,考虑到直接上手Ubuntu会有些难度,所以首先在windows环境下打个基础。有个插曲,台式机由于某些原因只能保持在32位系统,编译caffe.cpp时才发现系统不兼容,然后才换到64位的笔记本上进行操作。 前期准备: 查看详情

[环境配置][原创]matconv在windows上gpu编译成功的环境

成功环境1:windows10+VS2019+matlab2018b+cuda10.2+cudnn7.6.5+GTX940MX成功环境2:windows10+VS2015+matlab2020b+cuda10.2+cudnn7.6.5+GTX1050 查看详情

目标检测算法(r-cnn,fastr-cnn,fasterr-cnn,yolo,ssd,yolov2,yolov3)

...应用到了各个领域,应用场景大体分为三类:物体识别,目标检测,自然语言处理。 目标检测可以理解为是物体识别和物体定位的综合,不仅仅要识别出物体属于哪个分类,更重要的是得到物体在图片中的具体位置。2014年R-... 查看详情

windows10下nvidiageforcemx150tensorflow-gpu配置(代码片段)

...配置gpu的教程,就试了试,最后成功了。环境操作系统:Windows10配 查看详情

目标检测—one-stage检测

   one-stage检测算法,其不需要regionproposal阶段,直接产生物体的类别概率和位置坐标值,经过单次检测即可直接得到最终的检测结果,因此有着更快的检测速度,比较典型的算法如YOLO,SSD,Retina-Net。4、SSD(2016)  SSD结... 查看详情

目标检测算法综述

1.传统的目标检测框架,主要包括三个步骤:(1)利用不同尺寸的滑动窗口框住图中的某一部分作为候选区域;(2)提取候选区域相关的视觉特征。比如人脸检测常用的Harr特征;行人检测和普通目标检测常用的HOG特征等;(3)... 查看详情