基于Paddle实现实例分割

百度的Paddle这几年发展十分迅速,而且文档十分齐全,涉及到机器视觉的多个应用领域,感觉还是非常牛的,各种backbone,损失函数、数据增强手段以及NMS等,整体感觉复现的很全面,值得推荐学习。
在这里插入图片描述

本文主要是基于Paddle实现实例分割算法。
Github地址:https://github.com/PaddlePaddle/PaddleDetection
官方文档:
https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.5/docs/tutorials/GETTING_STARTED_cn.md

1. 安装paddle库

首先需要先安装paddle库,两种安装方式:
1.1 在线安装参考如下网址,直接输入指令即可:
https://www.paddlepaddle.org.cn/install/quick?docurl=/documentation/docs/zh/install/pip/linux-pip.html
1.2 离线安装去如下网址下载对应的库:
https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html
下载对应python版本的库,需要根据自己的cuda版本,python版本选择对应的包,比如我这边是cuda11.2,python3.7,下载的安装包就是:paddlepaddle_gpu-2.4.1.post112-cp37-cp37m-linux_x86_64.whl

pip install paddlepaddle_gpu-2.4.1.post112-cp37-cp37m-linux_x86_64.whl

进入python编译器,import paddle,如果不报错表示安装成功,输入 paddle.utils.run_check()如果出现PaddlePaddle is installed successfully!

2. 安装PaddleDetection

pip install -r requirements.txt
python setup.py install

3. 实例分割介绍

Paddle在PaddleDetection里面一共复现了三种实例分割算法,Mask R-CNN,Cascade Mask RCNN和SoloV2,综合效率和性能,SoloV2还是比较值得重点研究的。

3.1 模型训练

预训练模型下载:
https://paddledet.bj.bcebos.com/models/pretrained/ResNet50_cos_pretrained.pdparams
训练

python tools/train.py -c configs/solov2/solov2_r50_fpn_3x_coco.yml --eval -o use_gpu=true

图片输入尺寸、batch_size可以在solov2_reader.yml中修改TrainReader
训练集修改主要是solov2_r50_fpn_3x_coco.yml中更改,如果是coco数据集,则去修改config/coco_instance.yml,里面可以配置训练集测试集路径,标签文件路径等

3.2 模型推理测试:

单张图片测试

python tools/infer.py -c configs/solov2/solov2_r50_fpn_3x_coco.yml --infer_img=demo/000000570688.jpg -o weights=./models/solov2_r50_fpn_3x_coco.pdparams

相比于Solov2论文给的代码,Paddle复现的solov2在精度上略有提升,按官方的说法,主要是更强的backbone,更鲁棒的预训练模型。

在这里插入图片描述
我尝试了batch_size设为1,使用res50和coco训练集进行训练,图片输入尺寸改成512(长边),训练时,显存消耗为2.9GB,感觉还是比较友好的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
PaddleX -- 飞桨全流程开发工具,以低代码的形式支持开发者快速实现产业实际项目落地。 PaddleX 集成飞桨智能视觉领域图像分类、目标检测、语义分割、实例分割任务能力,将深度学习开发全流程从数据准备、模型训练与优化到多端部署端到端打通,并提供统一任务API接口及图形化开发界面Demo。开发者无需分别安装不同套件,以低代码的形式即可快速完成飞桨全流程开发。 PaddleX 经过质检、安防、巡检、遥感、零售、医疗等十多个行业实际应用场景验证,沉淀产业实际经验,并提供丰富的案例实践教程,全程助力开发者产业实践落地。 安装: PaddleX提供三种开发模式,满足用户的不同需求: 1、Python开发模式: 通过简洁易懂的Python API,在兼顾功能全面性、开发灵活性、集成方便性的基础上,给开发者最流畅的深度学习开发体验。 前置依赖 paddlepaddle >= 1.8.4 python >= 3.6 cython pycocotools pip install paddlex -i https://mirror.baidu.com/pypi/simple 详细安装方法请参考PaddleX安装 2、Padlde GUI模式: 无代码开发的可视化客户端,应用Paddle API实现,使开发者快速进行产业项目验证,并为用户开发自有深度学习软件/应用提供参照。 前往PaddleX官网,申请下载PaddleX GUI一键绿色安装包。 前往PaddleX GUI使用教程了解PaddleX GUI使用详情。 PaddleX GUI安装环境说明 3、PaddleX Restful: 使用基于RESTful API开发的GUI与Web Demo实现远程的深度学习全流程开发;同时开发者也可以基于RESTful API开发个性化的可视化界面 前往PaddleX RESTful API使用教程 PaddleX 更新日志: v2.0.0.rc0 全面支持飞桨2.0动态图,更易用的开发模式 目标检测任务新增PP-YOLOv2, COCO test数据集精度达到49.5%、V100预测速度达到68.9 FPS 目标检测任务新增4.2MB的超轻量级模型PP-YOLO tiny 语义分割任务新增实时分割模型BiSeNetV2 C++部署模块全面升级  PaddleInference部署适配2.0预测库  支持飞桨PaddleDetection、PaddleSeg、PaddleClas以及PaddleX的模型部署  新增基于PaddleInference的GPU多卡预测  GPU部署新增基于ONNX的的TensorRT高性能加速引擎部署方式  GPU部署新增基于ONNX的Triton服务化部署方式 Tags:PaddleX源码包 PaddleX2.0 pp飞桨 PaddleX

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值