SSD目标检测算法,ssd图像检测

  SSD目标检测算法,ssd图像检测

  写在前面:首先,你安装了ssd,并测试了VOC数据

  ********************************************************* 第一部分:数据准备(任务繁重)

  1.标数据(生成的包围盒是文本文件(文本文件)格式),标数据的工具:链接:https://潘。百度一下。com/s/1 dvoxkw3 xjtm 9g 4 Jr-3 zdhq密码:7eqr

  2.将文本文件(文本文件)格式转化为挥发性有机化合物格式,代码链接:https://下载。csdn。net/下载/于734390853/10274930

  3.在/home/$你的服务器命/data/VOCdevkit下建立自己的数据集名称(以我的为例,我建立的是我的数据集),在我的数据集目录下需包含注释、图像集、JPEGImages三个文件夹:

  释文目录下存放第二步生成的可扩展标记语言格式数据文件。

  相册列表目录下包含主要的文件下,在图像集\主里有四个文本文件(文本文件)文件:测试。txt火车。txt列车阀门。txt valtxt

  生成这四个文本文件(文本文件)文件的代码如下(Python)(根据自己的路径修改):

  导入OS导入随机训练val _ percent=0.66 train _ percent=0.5 XML filepath= Annotations txtsavepath= ImageSets \ Main total _ XML=OS。list dir(xmlfilepath)num=len(total _ XML)list=range(num)TV=int(num * train val _ percent)tr=int(TV * train _ percent)train val=random。样本(列表、电视)训练=随机。sample(train val,tr)ftrainval=open( ImageSets/Main/train val。txval关闭()文本文件中的内容为图片名字(无后缀)。

  JPEGImages目录下存放所有的数据图片

  4.在咖啡固态硬盘/数据目录下创建一个自己的文件夹我的数据集(以我的为例):

  激光唱片数据目录我的数据集把数据/VOC0712目录下的create_list.sh、create_data.sh、labelmap_voc.prototxt这三个文件拷贝到我的数据集下(以我的为例):

  CP VOC 0712/create _ list。sh我的数据集/CP VOC 0712/create _ data。sh我的数据集/CP VOC 0712/label map _ VOC。我的数据集/5 .在咖啡固态硬盘/示例下创建我的数据集文件夹:

  mkdir MyDateSet用于存放后续生成的一个本地内存数据库文件;

  6.修改labelmap_voc.prototxt文件(改成自己的类别),以及创建列表和创建_数据。嘘文件中的相关路径;

  #labelmap_voc.prototxt需修改:item { name: none _ of _ the _ above label:0 display _ name: background } item { name: aeroplane label:1 display _ name: person } # create _ list。嘘需修改:root _ dir=/home/yi _ Miao/data/my dataset/.对于您自己集合中的名称.# if[[$ dataset== test $ name== VOC 2012 ]]# then # continue # fi # create _ data。嘘需修改:root _ dir=/home/yi _ Miao/caffe-SSD data _ root _ dir=/home/yi _ Miao/data/my dataset dataset _ name= my dataset 7 .在咖啡(固态硬盘)根目录下运行命令:/data/我的数据集/create _ list。先令/data/我的数据集/create _ data。嘘此时,在示例/我的数据集/文件夹下可以看到两个子文件夹、mydataset_trainval_lmdb、mydataset _ test _ lmdb里面均包含data.dmb和lock.dmb

  ******到此为止,我们的数据集就做好了。****** 接下来

  第二部分:开始训练

  1.训练时使用固态硬盘演示中提供的预训练好的VGGnet型号:链接:https://潘。百度一下。com/s/18 zulkbyyeunrfd 90 l 21 nkw密码:ylnx

  将该模型保存到:caffe/models/VGGNet下(没有VGGNet,就新建一个)。

  2.训练程序为/examples/ssd/ssd_pascal.py,运行之前,我们需要修改相关路径代码,ssd_pascal.py作如下修改:

  第82行:train _ data path第84行:test_data路径;第37-246行:模型名、保存目录、快照目录、作业目录、输出结果目录路径;第59-263行:name_size_file,label_map_file路径;第66行:num_classes改为1个类别号;30行:num_test_image:测试集图片数。另外,如果你只有一个GPU,需要修改285行:gpus=" 0,1,2,3"===为" 0 "。如果出现内存不足,请相应地减小批处理大小。

  3.以上修改完成后,在caffe(ssd)根目录下运行:

  Python。/examples/SSD/SSD _ Pascal.py开始训练....第3部分:测试

  1.测试单幅图片

  测试程序为/examples/SSD/ssd_detect.py,运行前需要修改相关路径代码。SSD _ detect.py修改如下(#部分修改):

  parser . add _ argument(-label map _ file ,Default= data/VOC 0712/label map _ VOC . proto txt )# * *修改为您的路径* * parser . add _ argument(-model _ def ,Default= models/vggnet/VOC 0712/SSD _ 300 x300/deploy . proto txt )# * *修改为您的路径* * parser . add _ argument(-image _ resize ,default=300,type=int)parser . add _ argument(-model _ weights , Default= models/vggnet/VOC 0712/SSD _ 300 x300/ # * *修改到你的路径* * vgg _ VOC 0712 _ SSD _ 300 x300 _ ITER _ 120000 . caffe model )parser . add _ argument(-)Default= examples/images/fish-bike . jpg )# * *修改到你的路径* *以上修改完成后,在caffe(ssd)的根目录下运行:

  Python。/example/SSD/SSD _ detect.py会在caffe的根目录下生成检测结果镜像。

  2.多幅图片的批量检测

  修改ssd_detect.py的代码(加一个for循环),代码链接:https://download.csdn.net/download/yu734390853/10275197

  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: