基于PaddleDetection-YOLOV3做一个完整的图形目标检测项目


一、环境部署

1.1安装PaddlePaddle
安装地址如下: https://www.paddlepaddle.org.cn/install/quick

1.2 安装COCO-API

pip install Cython
pip install git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI

1.3 下载PaddleDetection

git clone https://github.com/PaddlePaddle/PaddleDetection.git

1.4 安装依赖库

!pip install -r requirements.txt

1.5 测试

!python ppdet/modeling/tests/test_architectures.py

这一步可能出现错误,主要原因是:提示发现缺少“ppdet”这个模块,ppdet(其实就是paddle detection的一个缩写),但是我找到 ppdet/modeling/tests/test_architectures.py这个文件,然后添加红框所示的代码
在这里插入图片描述
注意这些代码要写在ppdet的前面


二、数据准备

我的标注数据,是在BML中打标的,然后通过导出了COCO格式的标注数据,
在这里插入图片描述

你也可以通过这个工具去打标,或者用lableImg这个工具去打标,工具的git地址为:

git clone http://github.com/tzutalin/labelImg 

git下来之后直接run就可以用了,或者打包成exe,可以参考: https://zhuanlan.zhihu.com/p/97807042

我的数据格式如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、训练

如图下图就是我们选取的深度学习的配置文件,我参照yolov3_darknet53_original_270e_coco.yml修改了tt_yolov3_darknet53_original_270e_coco.yml
这些参数可以根据自己的数据情况进行设计。
如设置:最大迭代步数:max_iters
预训练模型的来源:pretrain_weights
数据路径:dataset_dir
Batch_size的大小:batch_size
数据集类别:num_classes
在这里插入图片描述
别忘了配置这里面这些文件

_BASE_: [
  '../datasets/tt_coco_detection.yml',
  '../runtime.yml',
  '_base_/optimizer_270e.yml',
  '_base_/yolov3_darknet53.yml',
  '_base_/yolov3_reader.yml',
]

然后就可以训练了:

!python -u tools/train.py -c configs/ppyolo/tt_ppyolo_r50vd_dcn_1x_minicoco.yml --use_vdl=True --vdl_log_dir=tb_fruit_dir/scalar

在这里插入图片描述
关于训练命令的参数:
-c configs/yolov3_mobilenet_v1_fruit.yml 用来指定配置文件
–use_tb 是否使用tb-paddle记录数据,进而在TensorBoard中显示,默认值是False
–tb_log_dir 指定 tb-paddle 记录数据的存储路径
–eval 是否边训练边测试

关于–eval参数的使用:在训练中交替执行评估, 评估在每个snapshot_iter时开始。每次评估后还会评出最佳mAP模型保存到best_model文件夹下,建议训练时候使用该参数,可以使得完成训练后快速找到最好的模型。

四、训练过程可视化

训练期间可以通过tensorboard实时观察loss和精度值,启动命令如下:

tensorboard --logdir tb_fruit_dir/scalar

五、模型预测

你所训练的模型结果参数都在output文件中
在这里插入图片描述

PaddleDetection给出的模型预测代码是infer.py。该文件在项目文件夹tools里面。

!python -u tools/infer.py -c configs/yolov3/tt_yolov3_darknet53_original_270e_coco.yml -o weights=output/tt_yolov3_darknet53_original_270e_coco/model_final.pdparams --infer_img=demo/test/14862774.jpg --output_dir=infer_output

在这里插入图片描述
预测结果如下:

在这里插入图片描述

在这里插入图片描述
参考:https://zhuanlan.zhihu.com/p/340717675

版权声明:本文为CSDN博主「奋斗的沐沐」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_39474168/article/details/122579981

奋斗的沐沐

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

深度学习之目标检测YOLOv5

一.简介 YOLOV4出现之后不久,YOLOv5横空出世。YOLOv5在YOLOv4算法的基础上做了进一步的改进,检测性能得到进一步的提升。虽然YOLOv5算法并没有与YOLOv4算法进行性能比较与分析&#xff0