从零开始基于PaddleDetection的目标检测模型训练

本文档详细介绍了如何利用PaddleDetection搭建目标检测系统,包括从安装PaddlePaddle到数据集的VOC格式整理,再到模型训练和预测的全过程。首先,通过Gitee和GitHub下载PaddleDetection项目,然后安装PaddlePaddle和相关依赖。接着,使用labelimg工具进行数据标注,并按比例划分训练集、验证集和测试集。在训练前,需配置数据集路径和相关参数,选择合适的模型配置文件。最后,进行模型训练、预测和导出,以便于后续的部署和应用。

gitee地址:https://gitee.com/paddlepaddle/PaddleDetection
github地址:https://github.com/PaddlePaddle/PaddleDetection
任选一个下载项目
官方文档:https://paddledetection.readthedocs.io/

安装

  • 安装PaddlePaddle
# CUDA10.1
python -m pip install paddlepaddle-gpu==2.2.0.post101 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html

# CPU
python -m pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple
  • 安装其他依赖
pip install -r requirements.txt
  • 编译安装paddledet
python setup.py install

安装后确认测试通过:

python ppdet/modeling/tests/test_architectures.py

测试通过后会提示如下信息:

.......
----------------------------------------------------------------------
Ran 7 tests in 12.816s
OK

数据集

本项目是用的数据集格式是VOC格式,标注工具为labelimg,图像数据是手动拍摄获取。
labelimg工具下载:https://download.youkuaiyun.com/download/get_py/85089156

数据标注

  1. 点击Open Dir,打开文件夹,载入图片

  2. 点击Create RectBox,即可在图像上画框标注

  3. 输入标签,点击OK

  4. 点击Save保存,保存下来的是XML文件
    在这里插入图片描述
    XML文件内容如下:
    在这里插入图片描述
    整理成VOC格式的数据集: 创建三个文件夹:Annotations、ImageSets、JPEGImages
    在这里插入图片描述
    将标注生成的XML文件存入Annotations,图片存入JPEGImages,训练集、测试集、验证集的划分情况存入ImageSets。 在ImageSets下创建一个Main文件夹,并且在Mian文件夹下建立label_list.txt,里面存入标注的标签。 此label_list.txt文件复制一份与Annotations、ImageSets、JPEGImages同级位置放置。 其内容如下:
    在这里插入图片描述
    运行该代码将会生成trainval.txt、train.txt、val.txt、test.txt,将我们标注的600张图像按照训练集、验证集、测试集的形式做一个划分。

import os
import random
 
trainval_percent = 0.95  #训练集验证集总占比
train_percent = 0.9  #训练集在trainval_percent里的train占比
xmlfilepath = 'F:/Cola/Annotations'
txtsavepath = 'F:/Cola/ImageSets/Main'
total_xml = os.listdir(xmlfilepath)

num=len(total_xml)
list=range(num)
tv=int(num*trainval_percent)
tr=int(tv*train_percent)
trainval= random.sample(list,tv)
train=random.sample(trainval,tr)

ftrainval = open('F:/Cola/ImageSets/Main/trainval.txt', 'w')
ftest = open('F:/Cola/ImageSets/Main/test.txt', 'w')
ftrain = open('F:/Cola/ImageSets/Main/train.txt', 'w')
fval = open('F:/Cola/ImageSets/Main/val.txt', 'w')
 
for i  in list</
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_zxue

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值