人工智能计算机视觉预训练【免费下载链接】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点击查看免费下载本文是 PaddleSeg 全景分割工具箱位于仓库 contrib/PanopticSeg的快速开始指南。工具箱基于 PaddleSeg 打造将语义分割与实例分割统一为全景分割任务提供 Mask2Former、Panoptic-DeepLab 等前沿模型的训练、验证与部署全流程能力。读完本文你将能够完成从环境安装、下载预训练权重执行单图预测、解读三类可视化结果到数据集准备、模型训练、多卡并行训练与 PQ/mIoU/mAP 精度评估的完整实操闭环。一、环境准备与工具箱安装1.1 版本要求根据 完整功能文档 的说明本工具箱对运行环境有明确的版本约束依赖版本要求PaddlePaddle 2.4.0推荐 GPU 版本支持 CUDA 10.2 或更新版本Python 3.7PaddleSeg 2.8由于模型训练需要较高算力建议安装 GPU 版本的 PaddlePaddle。PaddlePaddle 的详细安装教程请参考其官方安装文档。1.2 安装 PaddleSeg 与全景分割工具箱首先拉取 PaddleSeg 项目默认获取最新发行版本切换到项目根目录后安装 PaddleSeg 本体git clone https://github.com/PaddlePaddle/PaddleSeg cd PaddleSeg # 安装 PaddleSeg 所需依赖 pip install -r requirements.txt # 从源码安装 PaddleSeg pip install .接着进入全景分割工具箱目录以可编辑模式安装cd PaddleSeg/contrib/PanopticSeg # 安装依赖 pip install -r requirements.txt # 以可编辑模式安装 pip install -e .其中pip install -e .依赖工具箱根目录下的 setup.py可编辑安装便于在开发过程中即时生效代码改动。1.3 检查安装情况执行如下指令验证安装是否成功python -c import paddlepanseg; print(paddlepanseg.__version__)若能打印出版本号则证明工具箱安装成功可以进入下一步。二、使用预训练模型进行预测2.1 下载预训练模型权重与示例数据官方文档提供了可直接使用的预训练权重与示例图像请分别下载并放置于项目根目录即contrib/PanopticSeg目录预训练模型权重model.pdparamsPanoptic-DeepLabResNet50、os32、Cityscapes 1025x513、bs8、90k 迭代的训练权重示例图像demo.png用于演示预测效果的示例图片。2.2 执行预测在contrib/PanopticSeg目录下先创建可视化结果输出目录再执行预测命令mkdir -p vis python tools/predict.py \ --config configs/panoptic_deeplab/panoptic_deeplab_resnet50_os32_cityscapes_1025x513_bs8_90k.yml \ --model_path model.pdparams \ --image_path demo.png \ --save_dir vis命令中四个关键参数的含义参数作用--config配置文件路径指定模型结构、数据集、后处理器等组件配置--model_path用于预测的模型权重路径动态图格式--image_path输入图像路径可以是一幅图像也可以是包含多幅图像的目录--save_dir预测结果保存目录需要说明的是上述命令使用的是动态图格式的模型进行推理。在部署阶段通常建议将模型转换为静态图格式以获得更高的推理效率详情参见 模型导出与部署 章节。从源码看tools/predict.py 内部通过Config加载配置文件、由make_default_builder统一构建模型与后处理器再调用paddlepanseg.core.predict完成推理--save_dir在源码中的默认值为./output/result。这意味着即使不显式指定--save_dir结果也会落到默认目录。2.3 观察可视化结果预测完成后对输入图像demo.pngvis目录下会生成三个可视化结果文件分别从语义、实例、全景三个角度呈现预测demo_sem.png语义分割视角用不同颜色表示不同的语义类别与常规语义分割可视化一致demo_ins.png实例分割视角用不同颜色表示不同的实例其中 stuff 类别如天空、道路等背景区域的所有像素被当作一个实例整体呈现demo_pan.png全景分割视角用不同的基准颜色表示不同的语义类别在此基础上为每个实例叠加颜色偏移以区分不同实例是语义与实例信息的融合视图。关于可视化结果的具体生成逻辑与pan_id编码协议可参考 编码协议文档 与 完整功能文档。三、模型训练3.1 准备数据集工具箱支持在公开数据集或自定义数据集上训练与评估公开数据集工具箱预置了自动化预处理脚本可对部分公开全景分割数据集生成 file list详见 tools/data/README.md。例如 Cityscapes 的 file list 生成脚本位于 create_cityscapes_file_lists.pyCOCO 的对应脚本位于 create_coco_file_lists.py自定义数据集需要手动编写 file list。file list 每行包含一对以空格分隔的路径第一条指向原始图像第二条指向全景分割标签。示例val2017/000000001000.jpg panoptic_val2017/000000001000.png val2017/000000001268.jpg panoptic_val2017/000000001268.png val2017/000000001296.jpg panoptic_val2017/000000001296.png ...全景分割标签必须编码为RGB 图像每个像素的 R、G、B 通道值按下式计算r id % 256 g id // 256 % 256 b id // (256 * 256) % 256其中id是能够唯一标识图像中一个实例或一个 stuff 区域的标识符。同时还需提供 JSON 格式的全景分割标注文件如 Cityscapes 的cityscapes_panoptic_train_trainId.json配置文件中的json_path即指向该文件。3.2 确认配置文件训练前需确认使用的配置文件。工具箱预置的所有配置均存放在 configs 目录下当前支持两类模型Panoptic-DeepLabpanoptic_deeplab_resnet50_os32_cityscapes_1025x513_bs8_90k.yml详见 模型说明Mask2Formermask2former_resnet50_os16_coco_1024x1024_bs4_370k.yml详见 模型说明。3.3 执行训练以 Panoptic-DeepLab 为例训练命令如下python tools/train.py \ --config configs/panoptic_deeplab/panoptic_deeplab_resnet50_os32_cityscapes_1025x513_bs8_90k.yml \ --do_eval \ --save_dir output其中--do_eval表示在训练过程中周期性评估模型精度--save_dir output指定训练结果模型权重等的保存目录。tools/train.py支持的完整命令行选项可通过python tools/train.py --help查看部分重要选项如下选项作用--config配置文件路径--save_dir训练检查点checkpoint保存路径--num_workers数据预加载使用的进程数量--do_eval训练过程中周期性执行模型验证--log_iters打印日志的间隔单位为迭代数--eval_sem验证阶段计算语义分割指标如 mIoU--eval_ins验证阶段计算实例分割指标如 mAP--debug启用调试模式程序异常终止时在异常位置自动添加 pdb 断点便于事后调试多卡并行训练指定 GPU 编号并使用paddle.distributed.launch启动# 指定要使用的 GPU 编号 export CUDA_VISIBLE_DEVICES0,1,2,3,4,5,6,7 python -m paddle.distributed.launch tools/train.py \ --config {配置文件路径}保存训练日志如需将日志落盘可采用如下组合以 Mask2Former 为例TAGmask2former python tools/train.py \ --config configs/mask2former/mask2former_resnet50_os16_coco_1024x1024_bs4_370k.yml \ --log_iters 50 \ --num_workers 4 \ --do_eval \ --eval_sem \ --eval_ins \ --save_dir output/${TAG} \ 21 \ | tee output/train_${TAG}.log3.4 模型前置条件说明请注意某些模型可能包含『前置条件』。例如Mask2Former 在训练、评估前可能需要编译外部 C/CUDA 算子——其可变形注意力模块的算子源码位于 paddlepanseg/models/ops/ms_deform_attn含.cc、.cu实现与 setup.py。请在对应config目录下的 README.md 中细节。四、评估模型精度指标4.1 评估命令训练过程中或训练完成后--save_dir指定目录默认为output下会存储模型权重等训练结果。其中output/best_model保存的是验证集上PQ 指标最高的模型权重可对其执行精度评估python tools/val.py \ --config configs/panoptic_deeplab/panoptic_deeplab_resnet50_os32_cityscapes_1025x513_bs8_90k.yml \ --model_path output/best_model/model.pdparams \ --eval_sem \ --eval_ins也可通过修改--model_path对其他模型权重进行精度评估python tools/val.py --help可查看完整选项列表。4.2 指标说明默认仅计算全景分割指标如PQPanoptic Quality全景质量出自 CVPR 2019 论文《Panoptic Segmentation》指定--eval_sem后额外计算语义分割指标如mIoU指定--eval_ins后额外计算实例分割指标如mAP。需要留意同时开启语义与实例指标评估会延长评估耗时。五、配置进阶后处理器与 Collect 算子5.1 配置文件基本规则工具箱采用模块化设计将数据集、模型、损失、优化器等定义为完全可配置的组件推荐通过 YAML 配置文件统一设置超参数。由于工具箱基于 PaddleSeg API 实现配置文件的基本编写规则与 PaddleSeg 一致锚点引用、组件type字段等语法可参考 PaddleSeg 配置文档。以 Panoptic-DeepLab 的配置文件为例其顶层包含train_dataset、val_dataset、model、optimizer、lr_scheduler、loss、postprocessor、runner、export等键并通过 YAML 锚点如num_classes 19在各组件间共享num_classes、ignore_index、label_divisor等关键值。5.2 后处理器postprocessor全景分割任务要求网络输出被转换为最终的全景分割结果包含图像中所有实例的 ID 与每个像素的语义类别这一转换由后处理器完成。可通过新增或修改配置文件中postprocessor键值对来配置示例postprocessor: type: MaskFormerPostprocessor num_classes: 19 object_mask_threshold: 0.8 overlap_threshold: 0.8 label_divisor: 1000 ignore_index: 255所有后处理器均支持配置num_classes、thing_ids、label_divisor和ignore_index四项通用参数。若某项未在配置文件中指定将首先尝试从val_dataset解析仍未找到则使用预设默认值。从源码看后处理器注册于paddlepanseg/postprocessors目录下基类 base_pp.py 定义通用接口panoptic_deeplab_pp.py 与 maskformer_pp.py 分别实现两种模型的后处理逻辑。以 PanopticDeepLabPostprocessor 为例其处理流程可概括为对语义分支输出做 softmax 得到sem_pred→ 通过阈值过滤与 NMSnms_kernel、top_k从 center heatmap 中提取实例中心 → 结合偏移量offset将像素分组归属到各实例中心 → 通过多数投票将 thing 区域粘贴为实例 ID、将面积不小于stuff_area的 stuff 区域填充为语义类别最终得到全景图。配置文件 panoptic_deeplab 配置 中对应的后处理参数为postprocessor: type: PanopticDeepLabPostprocessor num_classes: *num_classes label_divisor: *label_divisor stuff_area: 2048 threshold: 0.1 nms_kernel: 7 top_k: 200 ignore_index: *ignore_index5.3 Collect 算子与 PaddleSeg 不同本工具箱的所有数据变换transforms配置均需以Collect算子结尾。这是因为其数据预处理基于InfoDict机制详见 开发指南Collect算子负责从InfoDict对象中提取后续流程需要的键值对。训练阶段一般提取img预处理后的模型输入、label预处理后的参考标签、img_path、lab_path、img_h、img_w评估阶段一般提取img、label、ann从 JSON 标注解析的标注信息、image_id、gt_fields标记哪些项为参考标签、trans_info用于恢复图像尺寸的张量形状元信息、img_path、lab_path、pan_label、sem_label、ins_label。不同模型还会追加模型专属的键Panoptic-DeepLab 的训练变换中还需收集center、offset、sem_seg_weights、center_weights、offset_weights由GeneratePanopticDeepLabTrainTargets生成Mask2Former 的训练变换则收集gt_ids、gt_masks由GenerateMaskFormerTrainTargets生成并需要在train_dataset中通过no_collation_keys声明这两个键不参与默认批量化拼接。六、模型部署6.1 导出静态图模型为获得更高的推理效率部署阶段推荐将模型转换为静态图格式python tools/export.py \ --config {配置文件路径} \ --model_path {模型路径} \ --save_dir {导出模型保存路径} \ --input_shape {输入张量形状}请注意部分全景分割模型目前尚不支持导出为静态图格式请参考configs中的相关文档确认模型是否支持导出。导出时使用的预处理变换由配置文件的export.transforms字段定义如 Panoptic-DeepLab 配置中的Resize→Normalize→Collect。6.2 使用 Paddle-Inference API 预测导出完成后基于 Paddle-Inference API 执行预测python deploy/python/infer.py \ --config {部署配置文件路径} \ --image_path {单幅图像路径或包含图像的目录}其中{部署配置文件路径}是导出模型目录中deploy.yaml文件的路径推理脚本实现位于 deploy/python/infer.py。输出的预测结果是 RGB 图像各通道像素值按如下公式编码r pan_id % 256 g pan_id // 256 % 256 b pan_id // (256 * 256) % 256其中pan_id由后处理器计算得到唯一标识图像中的一个实例或 stuff 区域详细说明参见 编码协议文档。七、相关文档与源码导航如需继续深入建议按序阅读以下仓库内文档与源码完整功能文档安装、数据准备、配置编写、训练、部署的完整说明开发指南InfoDict、组件注册机制等内部设计原理编码协议文档pan_id与 RGB 标签编码协议预测入口 tools/predict.py、训练入口 tools/train.py、评估入口 tools/val.py、导出入口 tools/export.py后处理器实现 paddlepanseg/postprocessors、模型实现 paddlepanseg/models、评估器 paddlepanseg/utils/evaluation。至此你已经掌握了基于 PaddleSeg 的全景分割工具箱从安装、预测、训练、评估到部署的完整流程。无论是快速体验预训练模型的三视角可视化效果还是在自定义数据集上从零训练 Mask2Former 或 Panoptic-DeepLab均可参照本文逐步落地。赞分享人工智能计算机视觉预训练【免费下载链接】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点击查看免费下载相关推荐基于 PaddleSeg 的全景分割工具箱实战Mask2Former 与 Panoptic-DeepLab 的训练、评估与部署基于 PaddleSeg 的全景分割工具箱实战Mask2Former 与 Panoptic DeepLab 的训练、评估与部署 全景分割Panoptic S人工智能计算机视觉预训练PaddleSeg 全景分割工具包PanopticSeg实战指南Mask2Former 与 Panoptic-DeepLab 的训练、评估与部署PaddleSeg 全景分割工具包PanopticSeg实战指南Mask2Former 与 Panoptic DeepLab 的训练、评估与部署 Pano人工智能计算机视觉预训练TensorFlow models 仓库全景分割实战COCO 上 Panoptic FPN 与 Panoptic-DeepLab 的训练、评测与预训练模型TensorFlow models 仓库全景分割实战COCO 上 Panoptic FPN 与 Panoptic DeepLab 的训练、评测与预训练模型 本人工智能深度学习计算机视觉NLP语音上一篇Vulkan错误处理与调试技巧Validation Layer实战与常见问题解决方案下一篇Cthulhu.jl高级技巧ascend功能揭秘追踪函数调用源头创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
企业数字化 ERP 产品动态
相关推荐
微信QQ域名检测接口源码解析:基于官方API实现风险状态监控 简介:微信QQ域名检测接口源码包专为需要接入微信、QQ官方域名验证能力的开发者与企业准备,解决登录、分享、消息传递等场景中域名真实性校验与安全合规问题。资源共956个文件,压缩包整体约3.62MB,内容结构以JS源码、Markdown说明文… · 2026/9/25 2:03:50
ICMIA 2024会议论文从投稿到EI/Scopus检索全流程解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 2:03:38
零信任架构性能损耗量化:从四层模型到基准压测方案 1. 零信任不是开关:性能损耗从架构层面就开始了去年下半年,我们组接到一个挺特殊的性能测试任务:业务方要在生产环境前面加一套零信任访问网关,技术负责人开口就问了一句“这玩意儿性能损耗到底有多大,能不能给个数”。… · 2026/9/25 2:36:51
PaddleSpeech 声音分类实战:基于 PANNs 预训练模型微调 ESC-50 数据集,完成训练、预测与静态图部署 人工智能语音音频 【免费下载链接】PaddleSpeech Easy-to-use Speech Toolkit including Self-Supervised Learning model, SOTA/Streaming ASR with punctuation, Streaming TTS with text frontend, Speaker Verification System, End-to-End Speech Translation and Keyword… · 2026/9/25 2:36:39
计算机如何存储与显示信息:从二进制到多媒体编码 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 2:36:39
VM模块开发 C++ 工程配置 介绍VM的开发模式:VM 开发模式分为 VM SDK 开发、算子 SDK 开发、算子模块开发。
三者的架构关系如下: 由上图可知,VM SDK 开发依赖于 VM,算子模块开发给 VM 补充算法模块,算子 SDK 开发则
依赖于算子安装包。由于 VM 安装包含算… · 2026/9/25 2:36:38
Mage AI 的 Amplitude 数据连接器:拉取事件数据的工作原理与完整实战指南 数据工程数据编排ETL任务调度批处理流处理数据集成后端 【免费下载链接】mage-ai 🧙 Build, run, and manage data pipelines for integrating and transforming data. 项目地址: https://gitcode.com/gh_mirrors/ma/mage-ai 点击查看 免费下载 导读
本… · 2026/9/25 2:36:38
微信小程序酒店管理系统实战:房态并发、订单状态机与支付回调避坑指南 简介:这是一套面向高校毕业设计与课程实践的微信小程序酒店管理系统完整源码,适合计算机相关专业学生、小程序开发者及需要搭建酒店业务原型的团队参考。系统由前台管理、后台管理与用户手机端小程序三部分组成,覆盖在线预订、客户入住登记、… · 2026/9/25 2:36:38
创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31
MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:37