适合小白:Pytorch+ SSD +自己的数据集实现目标识别

说明:本文是一位python、pytorch、深度学习都是小白的菜鸟借用各种资源直接实现的。只有实现过程,没有理论。由于按操作顺序写的,所以提醒看官:数据集事先要处理好,图片大小最好调成500x375,不然会卡死。。。
某位大佬的SSD项目下载地址:
链接: [https://pan.baidu.com/s/1L5E9iZBhNhUWw3NBAb30yw] 提取码: uk5n
再配合B站up主小鸡炖技术的讲解视频,小白我终于实现了SSD目标检测啦。。。
1、准备VOC数据
先准备20张照片作为一个小的数据集,把原来的VOC2007文件夹下的以下三个文件中的内容清空。
在这里插入图片描述
然后把准备好的图片.jpg文件放入到JPEGImages中,然后用labelImg对每张图片打标签,我这里希望用SSD实现对苹果和橘子的检测。
在这里插入图片描述
2、修改Process.py并运行
主要是修改数据集中训练集和测试集的比例。
在终端窗口运行Process.py,就会在PyTorch-SSD\datasets\VOC2007\ImageSets\Main文件夹下生成四个.txt文件.
在这里插入图片描述
3、修改configs/vgg_ssd300_voc0712.yaml

NUM_CLASSES: 3

把这个改成自己数据集要识别的种类数+1(1为背景),在这里可以更改最大迭代次数MAX-ITER、批量数BATCH-SIZE、学习率LR等参数。
4、修改ssd/data/datasets/voc.py 类别
在这里插入图片描述
把这里的物体类别改成自己先前打标签时定义好的类别,注意顺序要对应一致。(打标签时,第一位是apple,第二位是orange,background不用更改)
5、修改demo.py第37行图片后缀
在这里插入图片描述
37行的图片后缀修改为.jpg
6、python train.py --config-file configs/vgg_ssd300_voc0712.yaml
在E:\360MoveData\Users\caienze\Desktop\PyTorch-SSD处shift+鼠标右键打开终端窗口,在终端输入这个命令开始执行训练。(这种方法会报错找不到torch模块,激活环境之后也不行)
在这里插入图片描述
改为在anaconda prompt里定位到指定目录下再执行训练。终端里定位到指定目录下的方法;
cd /d E:\360MoveData\Users\caienze\Desktop\PyTorch-SSD (/d意为直接进入到指定目录下,无需切换根目录。/b意为只显示文件名与扩展名。)
执行训练后报错:
ModuleNotFoundError: No module named ‘tqdm’
在anaconda中装上这个模块又报错:

ModuleNotFoundError: No module named ‘yacs’
继续装。。。
装好运行初始化一点点后又报错:
ModuleNotFoundError: No module named ‘tensorboardX’
装上后运行报错:
FileNotFoundError: [Errno 2] No such file or directory: ‘datasets\VOC2007\JPEGImages\00004.bmp’
这应该是图片的后缀名没改的问题,查看了一下demo.py,确实忘记改图片后缀了,第37行改为:

image_paths = glob.glob(os.path.join(images_dir, '*.jpg'))

这里更正一下教程的错误:
第五步修改图片后缀,还有一处在
E:\360MoveData\Users\caienze\Desktop\PyTorch-SSD\ssd\data\datasets\voc.py 里第97行将bmp改成jpg即可。
然后就出现了电脑卡死,原因是我自己准备的数据集图片分辨率太高了,用PS 批量修改一下图片大小后,重新上面步骤后就可以正常训练了。
在这里插入图片描述
7、python demo.py --config-file configs/vgg_ssd300_voc0712.yaml --images_dir demo --score_threshold 0.7 --ckpt ./outputs/vgg_ssd300_voc0712/model_final.pth 执行测验
报错:ModuleNotFoundError: No module named ‘vizer’
订正:文件较大,在保证网速较好的情况下安装
继续进行检测
在这里插入图片描述
然后就可以在PyTorch-SSD\demo\result的文件夹下找到检测结果了。
在这里插入图片描述
在这里插入图片描述
从检测结果来看还是比较准确的,检测速度除了第一张图比较慢之外,后几张都很快。完工!!

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值