
人工智能计算机视觉预训练【免费下载链接】PaddleSegEasy-to-use image segmentation library with awesome pre-trained model zoo, supporting wide-range of practical tasks in Semantic Segmentation, Interactive Segmentation, Panoptic Segmentation, Image Matting, 3D Segmentation, etc.项目地址https://gitcode.com/gh_mirrors/pa/PaddleSeg点击查看免费下载导读本文给出「数据标注 → 模型训练 → 评估预测」的一条完整目标检测实战链路使用 PaddleLabel 完成道路标志数据集的标注、划分与导出再交给 PaddleDetection 基于 YOLOv3 MobileNetV1 训练一个自定义路标检测模型。读完本文你将掌握 PaddleLabel 检测标注项目的完整操作流程PASCAL VOC 数据格式、数据集划分与导出以及 PaddleDetection 中针对自定义数据集的配置修改、训练、评估与单图预测方法可直接复刻到自己的目标检测任务中。1. 全流程概览PaddleLabel 与 PaddleDetection 如何衔接PaddleLabel 是飞桨生态的配套标注工具涵盖分类、检测、分割三类常见视觉任务的标注能力并支持手动标注与机器学习预标注相结合其导出数据可直接用于 Paddle 各套件的训练预测流程见 contrib/PaddleLabel/README.md。对于检测任务PaddleLabel 支持PASCAL VOC、COCO、YOLO三种数据集格式见 检测标注文档本文采用 PASCAL VOC 格式衔接 PaddleDetection。整条链路可以概括为PaddleLabel 标注数据 PaddleDetection 训练预测 快速完成一次目标检测任务具体分为三大阶段数据准备在 PaddleLabel 中创建检测标注项目 → 用矩形框逐张标注 → 使用Split Dataset功能划分训练/验证/测试子集 → 导出数据集。模型训练安装 paddlepaddle 与 PaddleDetection → 将导出的数据集放入PaddleDetection/dataset/→ 修改数据集配置文件 → 启动训练。评估与预测用eval.py评估模型精度用infer.py对单张图片进行推理验证。2. 数据准备用 PaddleLabel 标注路标数据集2.1 安装与启动 PaddleLabel推荐在独立虚拟环境中安装避免依赖冲突详见 安装指南conda create -n paddlelabel python3.10 conda activate paddlelabel pip install --upgrade paddlelabel启动服务默认运行在http://127.0.0.1:17995可用--port/-p指定端口--lan/-l暴露到局域网便于在平板上标注paddlelabel # 等价命令pdlabel paddlelabel --port 8000 --lan2.2 创建检测标注项目浏览器打开 PaddleLabel 后通过「创建项目」下的目标检测卡片创建新项目需要填写见 检测标注文档项目名称必填检测标注项目的名称数据集路径必填本地数据集的根文件夹建议从文件管理器复制粘贴数据集描述选填项目简单描述标签格式选填导入数据集的格式如果数据集尚不含标注信息则无需选择。2.3 标注操作PaddleLabel 标注界面分为五个区域上方为可切换的标签页下方为标注进度展示左侧为图像显示区与工具栏右侧为标签列表。检测任务的标注步骤为点击右侧「添加标签」创建路标类别如speedlimit、stop、crosswalk、trafficlight等选中一个标签点击左侧工具栏的「矩形」在图像上依次点击目标物体的左上角和右下角出现矩形框即完成当前目标标注通过「编辑」可调整矩形框大小和位置点击左右按钮切换图像重复上述操作直至全部标注完成通过下方进度展示查看标注进度。注意右侧标签栏包含「标签列表」和「标注列表」两种视图。在目标检测中标签列表对应类别标注列表对应某个类别下的一个实例即一个标注框。2.4 数据划分与导出标注完成后点击右侧工具栏的「项目总览」进入总览界面划分数据集Split Dataset点击「划分数据集」按钮分别填入训练集、验证集、测试集的占比点击确定完成划分导出数据集点击「导出数据集」输入导出目标文件夹路径点击确认即可导出。导出的数据会生成train_list.txt、val_list.txt、test_list.txt三个划分文件以及labels.txt标签文件。labels.txt中每行一个标签名标签编号从0开始递增xx_list.txt的每一行以相对数据集根目录的图像路径开头后跟对应的标注文件路径或类别详见 数据集文件结构说明。2.5 导出的数据集目录结构将 PaddleLabel 导出的内容整体放到自建目录下例如roadsign_det_dataset├── roadsign_det_dataset │ ├── Annotations # PASCAL VOC 格式的 xml 标注文件 │ ├── JPEGImages # 图像文件 │ ├── labels.txt # 类别标签每行一个编号从 0 开始 │ ├── test_list.txt # 测试集划分列表 │ ├── train_list.txt # 训练集划分列表 │ └── val_list.txt # 验证集划分列表这正是 PASCAL VOC 格式每张图像对应一个 xml 标注文件xml 中object节点下的bndbox保存xmin/ymin/xmax/ymax四角坐标PaddleLabel 导入时会解析 xml 中的folder与filename节点来匹配图像文件folder缺失时默认取JPEGImagesxml 的完整字段结构可参考 数据集文件结构说明 中的示例。3. 模型训练PaddleDetection 训练自定义路标检测模型3.1 安装必备库3.1.1 安装 paddlepaddle# 机器安装的是 CUDA9 或 CUDA10运行以下命令安装 GPU 版 pip install paddlepaddle-gpu -i https://mirror.baidu.com/pypi/simple # 机器为纯 CPU 环境运行以下命令安装 CPU 版 # pip install paddlepaddle3.1.2 安装 PaddleDetection 及依赖git clone https://gitee.com/paddlepaddle/PaddleDetection cd PaddleDetection pip install -r requirements.txt python setup.py install3.2 准备自制的路标数据集将上一步导出的数据集放入 PaddleDetection 的dataset目录下cd ./PaddleDetection/dataset/ mkdir roadsign_det_dataset cd ../../ cp -r ./roadsign_det_dataset/* ./PaddleDetection/dataset/roadsign_det_dataset3.3 修改配置文件该任务主要涉及 6 个配置文件配置文件作用yolov3_mobilenet_v1_roadsign.yml主配置文件入口roadsign_voc.yml定义训练数据的路径runtime.yml定义公共参数optimizer_40e.yml定义优化器策略yolov3_mobilenet_v1.yml定义模型与主干网络yolov3_reader.yml定义数据预处理方式对于自定义数据集通常只需修改定义训练数据路径的配置文件PaddleDetection/configs/datasets/roadsign_voc.ymlmetric: VOC map_type: integral num_classes: 4 TrainDataset: !VOCDataSet dataset_dir: dataset/roadsign_det_dataset anno_path: train_list.txt label_list: labels.txt data_fields: [image, gt_bbox, gt_class, difficult] EvalDataset: !VOCDataSet dataset_dir: dataset/roadsign_det_dataset anno_path: val_list.txt label_list: labels.txt data_fields: [image, gt_bbox, gt_class, difficult] TestDataset: !ImageFolder anno_path: dataset/roadsign_det_dataset/labels.txt要点说明num_classes需与labels.txt中的类别数一致示例中为 4 类路标TrainDataset/EvalDataset使用!VOCDataSet读取 PaddleLabel 导出的 VOC 格式数据anno_path分别指向导出的train_list.txt与val_list.txtTestDataset使用!ImageFolder读取整目录图像用于预测仅需提供标签列表路径主配置文件yolov3_mobilenet_v1_roadsign.yml会通过 include 机制把roadsign_voc.yml、optimizer_40e.yml、yolov3_mobilenet_v1.yml、yolov3_reader.yml等组合起来因此只需保证数据路径配置正确即可启动训练。3.4 开始训练export CUDA_VISIBLE_DEVICES0 # 开始训练--eval 表示边训练边验证 python PaddleDetection/tools/train.py -c configs/yolov3/yolov3_mobilenet_v1_roadsign.yml --eval -o use_gputrue-c指定主配置文件--eval开启训练过程中的周期性验证便于实时观察精度变化-o use_gputrue覆盖配置中的公共参数显式启用 GPU 训练。4. 模型评估与预测4.1 评估训练完成后用eval.py在验证集上评估模型精度python PaddleDetection/tools/eval.py -c PaddleDetection/configs/yolov3/yolov3_mobilenet_v1_roadsign.yml -o use_gputrue4.2 预测使用infer.py对单张图片进行推理python PaddleDetection/tools/infer.py \ -c PaddleDetection/configs/yolov3/yolov3_mobilenet_v1_roadsign.yml \ -o use_gputrue \ --infer_imgdemo/road554.png--infer_img指定待预测图片路径。以路标检测为例对一张包含限速标志的测试图模型输出speedlimit 0.77即预测类别为限速标志、置信度 0.77预测正确。5. 扩展检测预标注与更多衔接方式如果标注工作量较大PaddleLabel 还提供基于飞桨的检测预标注能力通过加载预训练检测模型如 PicoDet可对未标注图像自动生成候选框标注人员只需确认或微调能显著提升标注效率使用方法见 检测自动标注文档。除 PaddleDetection 外PaddleLabel 导出的数据同样可以衔接 PaddleClas 分类训练、PaddleSeg 分割训练 以及 PaddleX 全流程工具链训练教程索引标注一次、多套件复用。此外标注界面的「项目总览」还提供「导入额外数据」功能可随时向已有项目补充新图片继续标注。6. 总结本文以道路标志检测为实例完整串联了「PaddleLabel 标注矩形框 数据集划分 VOC 导出→ PaddleDetection 训练自定义数据集配置 YOLOv3 训练→ 评估与单图预测」的全流程。核心要点可归纳为格式对齐是衔接关键PaddleLabel 导出的 PASCAL VOC 目录结构Annotations/JPEGImages/labels.txt/xx_list.txt与 PaddleDetection 的VOCDataSet读取方式天然匹配仅需在roadsign_voc.yml中指向数据集路径并核对num_classes配置文件职责单一主配置只做组装数据路径、优化器、模型、reader 各自独立自定义数据集时只动数据配置即可全流程可复用同一套「标注→导出→配置→训练→评估」方法论可直接迁移到任何自定义目标检测数据集行人、车辆、缺陷等也可横向迁移到分类与分割任务。赞分享人工智能计算机视觉预训练【免费下载链接】PaddleSegEasy-to-use image segmentation library with awesome pre-trained model zoo, supporting wide-range of practical tasks in Semantic Segmentation, Interactive Segmentation, Panoptic Segmentation, Image Matting, 3D Segmentation, etc.项目地址https://gitcode.com/gh_mirrors/pa/PaddleSeg点击查看免费下载相关推荐PaddleDetection 关键点检测数据标注实战LabelMe 标注与 x2coco.py 转 COCO 格式全流程PaddleDetection 关键点检测数据标注实战LabelMe 标注与 x2coco.py 转 COCO 格式全流程 本指南以 PaddleDetect人工智能深度学习计算机视觉PaddleDetection 30分钟快速上手从路标检测数据集到训练、评估与部署全流程PaddleDetection 30分钟快速上手从路标检测数据集到训练、评估与部署全流程 导读 PaddleDetection 是基于 PaddlePaddl人工智能深度学习计算机视觉PaddleDetection 多目标跟踪MOT标注工具实战指南SDE 检测标注与 JDE 检测ReID 标注全流程PaddleDetection 多目标跟踪MOT标注工具实战指南SDE 检测标注与 JDE 检测ReID 标注全流程 本指南以 PaddleDetect人工智能深度学习计算机视觉上一篇告别信息焦虑精选10个程序员必备技术博客平台下一篇零基础玩转FOGProject新手必知的8个实用技巧创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考