基于Paddle工具链:ROS目标检测部署方案


FSACOCO数据集由北理工无人驾驶方程式车队搭建,用于中国大学生无人驾驶赛事视觉部分,含42张带标注的红蓝锥桶图像。介绍了两种基于飞桨的训练方式:PaddleDetection需克隆仓库、改参数等,PPYOLO v2训练后mAP50达99.01%;PaddleX则通过低代码完*流程。两者均涉及模型导出与部署,可参考BITFSD开源3.0。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

数据集介绍

FSACOCO 数据集由 北京理工大学无人驾驶方程式车队 进行搭建并维护,致力于中国大学生无人驾驶方程式赛事中视觉部分的应用,该项赛事使用红蓝锥桶代表赛道边界,参赛队伍需要在未知地图的条件下得到最快圈时,同类数据集可参考FSOCO ,由苏黎世联邦理工学院AMZ车队进行维护,为德国大学生无人驾驶方程式大赛视觉部分数据集。
此项目作为北京理工大学无人驾驶方程式车队FSD开源3.0中目标检测模块进行展示        

解压数据集

数据集格式:
-dataset_sample
  |-Annotations
  |-0.xml
  |-1.xml
  |-10.xml
  |-...
  |-JPEGImage
  |-0.jpg
  |-1.jpg
  |-10.jpg
  |-...
  |-eval.txt
  |-labels.txt
  |-train.txt
注: 此处仅提供42张数据
更多数据集可以前往https://github.com/bitfsd/FSACOCO获取

In [ ]
!unzip data/data126556/dataset_sample.zip -d ./dataset_sample
   

方式一

使用PaddleDetection训练

PaddleDetection为基于飞桨PaddlePaddle的端到端目标检测套件,提供多种主流目标检测、实例分割、跟踪、关键点检测算法,配置化的网络模块组件、数据增强策略、损失函数等,推出多种服务器端和移动端工业级SOTA模型,并集成了模型压缩和跨平台高性能部署能力,帮助开发者更快更好完成端到端全开发流程。

特性

  • 模型丰富: 包含目标检测、实例分割、人脸检测等100+个预训练模型,涵盖多种全球竞赛冠军方案
  • 使用简洁: 模块化设计,解耦各个网络组件,开发者轻松搭建、试用各种检测模型及优化策略,快速得到高性能、定制化的算法。
  • 端到端打通: 从数据增强、组网、训练、压缩、部署端到端打通,并完备支持云端/边缘端多架构、多设备部署。
  • 高性能: 基于飞桨的高性能内核,模型训练速度及显存占用优势明显。支持FP16训练, 支持多机训练。

模型性能概览
各模型结构和骨干网络的代表模型在COCO数据集上精度mAP和单卡Tesla V100上预测速度(FPS)对比图。        

1.克隆PaddleDetection

由于原始仓库为github链接,下载较慢,可以更换为gitee链接

In [ ]
!git clone https://gitee.com/Feng1909/PaddleDetection.git
   

2.安装PaddleDetection的依赖

In [ ]
!pip install -r PaddleDetection/requirements.txt
   

3.修改各种参数,如路径等

以训练PPYOLO v2为例
同理可以训练所有PaddleDetection支持的模型

修改数据集路径

PaddleDetection/configs/datasets/voc.yaml

修改为以下路径

metric: VOCmap_type: 11pointnum_classes: 3TrainDataset:
  !VOCDataSet
    dataset_dir: ./
    anno_path: ./dataset_sample/train.txt
    label_list: ./dataset_sample/labels.txt
    data_fields: ['image', 'gt_bbox', 'gt_class', 'difficult']EvalDataset:
  !VOCDataSet
    dataset_dir: ./
    anno_path: ./dataset_sample/eval.txt
    label_list: ./dataset_sample/labels.txt
    data_fields: ['image', 'gt_bbox', 'gt_class', 'difficult']TestDataset:
  !ImageFolder
    anno_path: ./dataset_sample/labels.txt
   

4.训练

In [ ]
# 从头开始训练,大约需要30分钟# bbox mAP50能达到99.01%!python PaddleDetection/tools/train.py -c PaddleDetection/configs/ppyolo/ppyolov2_r50vd_dcn_voc.yml --use_vdl=true --eval# 中途中断,继续训练,更改output/ppyolov2_r50vd_dcn_voc/248.pdparams为中断前的模型参数# !python PaddleDetection/tools/train.py -c PaddleDetection/configs/ppyolo/ppyolov2_r50vd_dcn_voc.yml -r output/ppyolov2_r50vd_dcn_voc/248.pdparams --use_vdl=true --eval
   

5.模型导出

若需使用TensorRT进行加速,则TestReader.inputs_def.image_shape为必需项目

In [ ]
!python PaddleDetection/tools/export_model.py -c PaddleDetection/configs/ppyolo/ppyolov2_r50vd_dcn_voc.yml --output_dir=./inference_model \
 -o weights=output/ppyolov2_r50vd_dcn_voc/best_model # TestReader.inputs_def.image_shape=[3,640,640]
   

6.模型部署

参见BITFSD开源3.0

经过完整数据集训练后PPYOLO v2识别效果

       

方式二 使用PaddleX训练

PaddleX 集成飞桨智能视觉领域图像分类、目标检测、语义分割、实例分割任务能力,将深度学习开发全流程从数据准备、模型训练与优化到多端部署端到端打通,并提供统一任务API接口及图形化开发界面Demo。开发者无需分别安装不同套件,以低代码的形式即可快速完成飞桨全流程开发。

1.安装PaddleX

In [ ]
!pip install paddlex==2.1
   

2.设置环境

In [18]
# 设置使用0号GPU卡(如无GPU,执行此代码后仍然会使用CPU训练模型)import matplotlib
matplotlib.use('Agg') 
import os
os.environ['CUDA_VISIBLE_DEVICES'] = '0'import paddlex as pdx
   

3.设置数据集增强

In [ ]
from paddlex import transforms as T

train_transforms = T.Compose([
    T.MixupImage(mixup_epoch=-1), T.RandomDistort(),
    T.RandomExpand(im_padding_value=[123.675, 116.28, 103.53]), T.RandomCrop(),
    T.RandomHorizontalFlip(), T.BatchRandomResize(
        target_sizes=[192, 224, 256, 288, 320, 352, 384, 416, 448, 480, 512],
        interp='RANDOM'), T.Normalize(
            mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
])

eval_transforms = T.Compose([
    T.Resize(
        target_size=320, interp='CUBIC'), T.Normalize(
            mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
])
   

4.设置数据集读取

In [ ]
import paddlex as pdx
train_dataset = pdx.datasets.VOCDetection(
    data_dir='dataset_sample',
    file_list='dataset_sample/train.txt',
    label_list='dataset_sample/labels.txt',
    transforms=train_transforms,
    shuffle=True)
eval_dataset = pdx.datasets.VOCDetection(
    data_dir='dataset_sample',
    file_list='dataset_sample/eval.txt',
    label_list='dataset_sample/labels.txt',
    transforms=eval_transforms)
   

5.训练

In [ ]
num_classes = len(train_dataset.labels)# model = pdx.det.YOLOv3(num_classes=num_classes)# model = pdx.det.PPYOLO(num_classes=num_classes)model = pdx.det.PPYOLOv2(num_classes=num_classes)
model.train(
    num_epochs=550,
    train_dataset=train_dataset,
    train_batch_size=24,
    eval_dataset=eval_dataset,
    pretrain_weights=None,
    learning_rate=0.000125,
    warmup_steps=100,
    warmup_start_lr=0.0,
    lr_decay_epochs=[130, 540],
    lr_decay_gamma=.5,
    early_stop=True,
    save_interval_epochs=20,
    save_dir='output/ppyolov2',    # resume_checkpoint='output/yolov3/epoch_430',
    use_vdl=True)
   

6.模型导出

若需使用TensorRT加速,则--fixed_input_shape为必需项

In [ ]
!paddlex --export_inference --model_dir=./output/ppyolov2/best_model/ \
                            --save_dir=./inference_model # --fixed_input_shape=[224,224]
   

7.模型部署

参见BITFSD开源3.0


# https  # 更快  # 德国  # 两种  # 若需  # 套件  # 苏黎世  # 开源  # 高性能  # 端到  # 无人驾驶  # gitee  # 低代码  # python  # paddlepaddle  # 算法  # github  # map  # 接口  # xml  # 架构  # igs  # ai  # 工具  # git 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 网络优化91478 】 【 技术知识72672 】 【 云计算0 】 【 GEO优化84317 】 【 优选文章0 】 【 营销推广36048 】 【 网络运营41350 】 【 案例网站102563 】 【 AI智能45237


相关推荐: AI Agent:颠覆传统工作模式的关键力量  Higgsfield WAN 2.5:AI视频生成工具新纪元  DeepSeek写简历怎么用_DeepSeek写简历使用方法详细指南【教程】  千问能否生成多语言年终总结_千问多语言翻译与本地化调整【攻略】  即梦ai怎样生成插画作品_即梦ai插画生成入口与风格选择【教程】  2025年最佳AI流程图工具:效率提升秘籍  零成本AI营销机构:2025年自动化运营,颠覆传统营销模式  Motion 教程:AI 驱动的智能日程安排,提高工作效率  AI驱动营销:如何利用人工智能构建高效营销漏斗  精选AI销售工具:提升业绩的终极指南(2025年最新)  ASUS Armoury Crate深度评测:最新功能与个性化定制  feelin聊天官方网站入口 feelinAl官方网站  PlotDot Horizon:AI编剧工具颠覆好莱坞?深度评测  2025年10月狮子座运势:事业、爱情与生活指南  AI交易机器人:TradingView上无需代码即可构建AI交易机器人指南  千问怎样调整回答语气_千问语气设置亲切专业等【指南】  通义千问怎样优化提示词合需求_通义千问需求契合技巧【步骤】  百度AI搜索怎样搜索百科知识_百度AI搜索百科频道与词条跳转【技巧】  支付宝出行AI能否自动抢票_支付宝AI出行抢票设置与免密支付【方法】  2025年冷邮件营销:技巧、工具和成功案例分享  探索未来:AI机器人AURORA揭秘亚特兰蒂斯之谜  Guru知识管理平台:AI驱动的企业知识中心构建指南  2025年最佳免费AI艺术生成器:POD终极指南  播客数据深度分析:揭秘全球听众分布及增长策略  Mac百度输入法ai怎么关 Mac版百度ai助手禁用教程  Depseek如何让提示词包含上下文_Depseek上下文补充提示词写法【步骤】  AI虚拟女友:终极浪漫伴侣还是数字陷阱?  如何用AI根据职位描述(JD)定制你的求职信?  New You KIN Skin Analyzer:焕发肌肤新生的终极指南  Pictory AI视频制作平台深度评测:功能、价格与使用指南  AI简历优化指南:如何让你的简历轻松通过ATS筛选系统  Azure AI 文本分类指南:自定义模型,提高文本分析精度  ChatGPT官方入口 ChatGPT官网网页版访问步骤详解  艺龙旅行AI怎样筛选最优车次_艺龙AI车次筛选与耗时最短推荐【攻略】  Kling 2.0终极指南:AI视频创作秘籍,告别低质量  Codova AI:终极动态QR码生成器教程与功能详解  如何用AI一键生成求职简历?AI简历优化与制作工具推荐【干货】  扣子AI如何绑定自有域名_扣子AI域名绑定与SSL配置【步骤】  探索Roblox:虚拟角色定制与互动乐园  寓言故事:狮子与老鼠,学习英语的趣味童话之旅  AI写作鱼怎么一键生成论文大纲_AI写作鱼大纲生成与逻辑梳理【技巧】  怎么用ai写产品说明书 AI功能介绍与使用步骤详解【实操】  SEO优化利器:利用AI提升标签的关键词密度  构建AI工作流:利用BuildShip低代码平台赋能Gemini和Google Cloud  Wix AI:无需代码免费创建专业网站完整指南  利用Gen AI和AI Agent进行软件测试:Ollama本地LLM实践  通义千问怎样写文案_通义千问文案写作教程【指南】  百度ai助手悬浮球怎么关 百度ai助手悬浮窗去除方法  Power BI: 如何在 Power Query 中更改数据类型  Claude如何导出对话记录_Claude对话导出方法【方法】 

 2025-07-24

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

南京市珐之弘网络技术有限公司


南京市珐之弘网络技术有限公司

南京市珐之弘网络技术有限公司专注海外推广十年,是谷歌推广.Facebook广告全球合作伙伴,我们精英化的技术团队为企业提供谷歌海外推广+外贸网站建设+网站维护运营+Google SEO优化+社交营销为您提供一站式海外营销服务。

 87067657

 13565296790

 87067657@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.