人工智能计算机视觉预训练【免费下载链接】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 的官方数据准备文档为核心系统讲解从零构造一个可用于语义分割训练的自定义数据集的完整流程先厘清 PaddleSeg 对标注图像的协议要求单通道、类别从 0 递增、PNG 无损格式、最多 256 类再介绍灰度标注图与伪彩色标注图的差异及转换工具随后给出 EISeg、LabelMe 两类标注工具的接入指引最后以官方脚本split_dataset_list.py完成数据整理与训练/验证/测试文件列表的自动切分。读完本文你将能够独立把一批原始图像 标注图像加工成 PaddleSeg 可直接用于训练的自定义数据集及配套train.txt、val.txt、test.txt文件列表。1、背景知识PaddleSeg 的标注协议1.1 标注图像格式PaddleSeg 使用单通道标注图片每一种像素值代表一种语义类别像素标注类别需要从 0 开始递增。例如像素值 0、1、2、3 表示数据集共有 4 种类别。配套的两个硬性要求建议标注图像使用PNG 无损压缩格式避免 JPEG 有损压缩在类别边界处引入的像素噪声防止训练时标签被污染单张标注图支持的标注类别最多为 256 类受 8 位单通道像素值 0~255 的表达范围限制也与后续可视化使用的调色板机制相关见 1.3 节源码解析。1.2 灰度标注图 vs 伪彩色标注图通用的分割库通常以单通道灰度图作为标注图直接查看时往往呈现全黑效果由此带来两个明显的痛点标注完一张图像后无法直接肉眼观察标注是否正确边界是否贴合目标、类别是否画错都看不出来在模型测试/评估阶段无法直接判断分割结果的实际效果。PaddleSeg 同时支持两种标注图形态灰度标注图原始的单通道标签兼容用户已有的灰度数据集无需任何修改即可直接使用伪彩色标注图在原始单通道图像基础上注入调色板palette在基本不增加图片体积的前提下呈现彩色效果便于直观检查标注质量与预测结果。下图为原图、灰度标注图与伪彩色标注图的直观对比来源docs/data/image/image-11.png从实现层面看这种注入调色板的做法本质上是将标签数组以 PIL 的P调色板模式保存并把类别索引映射到 RGB 颜色表。PaddleSeg 在 tools/data/gray2pseudo_color.py 与 paddleseg/utils/visualize.py 中提供了同一套get_color_map_list(num_classes)颜色表生成函数它按位运算把类别序号i的三位一组比特展开到 RGB 三个通道的高位从而为任意数量的类别稳定地分配可区分的颜色。训练与预测阶段的可视化如 get_pseudo_color_map也复用了这份默认 256 色调色板因此标注图是什么颜色与预测结果可视化用什么颜色天然保持一致。1.3 灰度标注图转换为伪彩色标注图非必须如果你已有的数据集是灰度标注图又想转换为伪彩色标注图以方便检查PaddleSeg 提供了转换脚本python tools/data/gray2pseudo_color.py dir_or_file output_dir该脚本适用于两种常见场景。场景一转换指定目录下的所有灰度标注图| 参数 | 用途 | | - | - | |dir_or_file| 灰度标注图所在的目录 | |output_dir| 伪彩色标注图的保存目录 |场景二仅转换文件列表中指定的部分灰度标注图python tools/data/gray2pseudo_color.py dir_or_file output_dir --dataset_dir dataset directory --file_separator file list separator| 参数 | 用途 | | - | - | |dir_or_file| 指定文件列表路径该文件列表中的图片会被转换 | |output_dir| 伪彩色标注图的保存目录 | |--dataset_dir| 数据集所在的根目录 | |--file_separator| 文件列表的分隔符 |从 gray2pseudo_color.py 的源码可以确认如下行为细节脚本调用get_color_map_list(256)生成覆盖 256 类的调色板并通过Image.fromarray(lbl.astype(np.uint8), modeP)putpalette(color_map)将灰度标签写入调色板模式的 PNG从而在文件体积几乎不增加的前提下获得彩色标注图目录模式下使用os.walk递归遍历输入目录输出目录会保留输入目录原有的子目录层级结构方便维持数据集组织文件列表模式下脚本按file_separator切分每一行取第二个字段即标注图相对路径拼接dataset_dir得到真实路径转换后仍按原相对路径落到output_dir下注意此时必须同时提供--dataset_dir与--file_separator否则脚本会提示No dataset_dir or file_separator input!并退出。需要说明的是这一步是可选优化PaddleSeg 本身完全兼容灰度标注图用户原有的灰度数据集可不做任何转换直接使用。2、标注工具EISeg 与 LabelMe如果不是使用已经标注好的公开数据集如 Cityscapes、Pascal VOC需要预先采集图像再用数据标注工具完成标注。PaddleSeg 官方支持两类主流标注工具教程分别位于EISeg 交互式分割标注工具教程基于飞桨开发的高效交互式分割标注软件覆盖通用、人像、遥感、医疗、视频等方向的交互式分割模型采用点击目标区域、模型自动生成分割结果的半自动标注方式标注效率远高于纯手工描边LabelMe 标注教程经典的多边形手工标注工具英文版 同步提供。核心流程是打开图像目录后用Create Polygons沿目标边缘绘制闭合多边形并指定类别背景类必须命名为_background_标注完成后每个图像对应生成一个 json 文件随后使用 PaddleSeg 的转换脚本把 json 批量转为分割标签python tools/data/labelme2seg.py input_dir output_dir转换后得到images/、annotations/、class_names.txt的标准结构_background_类别 id 为 0其余类别依次递增可直接衔接下文的数据整理与切分环节。该转换脚本位于 tools/data/labelme2seg.py。使用 LabelMe 时请特别注意LabelMe 对中文支持不够友好路径与文件名中不要出现中文字符。3、整理数据统一的目录结构标注完成后需要把数据整理成如下结构所有原始图像放在一个文件夹所有标注图像放在另一个文件夹。custom_dataset | |--images # 存放所有原图 | |--image1.jpg | |--image2.jpg | |--... | |--labels # 存放所有标注图 | |--label1.png | |--label2.png | |--...两个要点原始图像与标注图像的文件名必须一一对应不要求后缀相同例如image1.jpg对应label1.png即可请自行检查核对目录名并不强制叫images/labels后续切分脚本会把这两个目录名作为命令行参数传入见第 4 节因此你可以沿用 LabelMe 转换产出的annotations目录名也可以统一为labels只需在切分时保持一致即可。另外从切分脚本源码看get_files 通过 glob 模式*postfix.format递归匹配三层以内的子目录因此即使图像按子目录分门别类存放例如images/sub1/image1.jpg脚本也能正确扫描到全部文件。4、切分数据生成训练/验证/测试文件列表4.1 命令格式与参数对于尚未划分训练集、验证集、测试集的全部数据PaddleSeg 提供脚本按比例随机切分并生成文件列表python tools/data/split_dataset_list.py dataset_root images_dir_name labels_dir_name ${FLAGS}位置参数说明| 参数 | 含义 | | - | - | |dataset_root| 数据集根目录 | |images_dir_name| 原始图像目录名 | |labels_dir_name| 标注图像目录名 |FLAGS 说明| FLAG | 含义 | 默认值 | 参数数目 | | - | - | - | - | |--split| 训练集、验证集和测试集的切分比例 |0.7 0.3 0| 3 | |--separator| txt 文件列表分隔符 | 空格 | 1 | |--format| 原始图像和标注图像的图片后缀 |jpg png| 2 | |--postfix| 按文件主名无扩展名是否包含指定后缀对图片和标签进行筛选 | 2 个空字符 | 2 |典型使用示例python tools/data/split_dataset_list.py dataset_root images labels --split 0.6 0.2 0.2 --format jpg png4.2 源码级行为细节阅读 split_dataset_list.py 可以确认脚本的完整执行逻辑便于规避踩坑比例校验三个--split参数之和必须为 1误差超过1e-8即抛出ValueError每个比例还须落在[0, 1]区间内数量校验扫描到的图像数与标注数必须相等否则抛出异常并提示检查数据集对应关系保持脚本保存随机状态后对图像列表执行np.random.shuffle再恢复同一随机状态对标签列表执行同样的打乱从而保证打乱后图像与标注仍然一一对应末段补齐最后一个分片默认是 test的结束下标被强制设为文件总数确保即使比例小数进位导致误差全部数据也能被完整写入路径相对化写入 txt 的每一行都会去掉dataset_root前缀得到相对于数据集根目录也即相对于 txt 文件所在目录的相对路径两列之间以--separator指定的分隔符连接默认空格。4.3 生成的产物运行结束后数据集根目录下会生成train.txt、val.txt、test.txt英文文档中亦提及labels.txt就当前仓库 split_dataset_list.py 的实现而言实际生成的三个文件列表为train.txt、val.txt、test.txt请以脚本实际输出为准custom_dataset | |--images | |--image1.jpg | |--image2.jpg | |--... | |--labels | |--label1.png | |--label2.png | |--... | |--train.txt | |--val.txt | |--test.txt三个 txt 文件的内容格式如下每行是一张原始图片和标注图片的相对路径中间用分隔符默认空格隔开。images/image1.jpg labels/image1.png images/image2.jpg labels/image2.png ...这份文件列表正是训练/评估阶段数据集加载的直接入口。PaddleSeg 通用数据集类 Dataset 在初始化时会按separator切分每一行并取前两列拼接到dataset_root下其中train/val模式要求每行必须包含图像与标注两列而test模式允许仅有一列图像路径无标注与切分脚本的输出格式完全对齐。至此自定义数据集准备完成即可将train.txt、val.txt、test.txt连同dataset_root配置进训练/验证脚本开始模型训练。5、配套工具链与下一步除本文重点讲解的两个脚本外tools/data 目录还提供了完整的自定义数据集配套工具可按需取用create_dataset_list.py为已按train/val/test子目录划分好的数据集含 Cityscapes 风格目录直接生成文件列表labelme2seg.py将 LabelMe 的 json 标注批量转换为 PaddleSeg 分割标签visualize_annotation.py可视化检查标注图convert_cityscapes.py、convert_cocostuff.py 等公开数据集格式转换。推荐的完整流程是用 EISeg 或 LabelMe 完成标注 → 按需用gray2pseudo_color.py转伪彩色检查质量 → 整理images/与labels/双目录结构 → 用split_dataset_list.py切分生成文件列表 → 在训练配置中指向train.txt/val.txt/test.txt开始训练。赞分享人工智能计算机视觉预训练【免费下载链接】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点击查看免费下载相关推荐告别混乱标注whisperX自定义数据集准备全攻略告别混乱标注whisperX自定义数据集准备全攻略 你是否还在为语音识别模型训练时数据集标注混乱、格式不统一而头疼是否尝试过多种方法却始终无法得到高质量的语音人工智能音频从多源告警混乱到自动响应Keep 开源告警自动化实践指南从多源告警混乱到自动响应Keep 开源告警自动化实践指南 凌晨三点你的手机连续震了二十分钟数据库连接池打满Datadog 弹了 50 条、Prometh人工智能计算机视觉预训练自定义数据集准备指南自定义数据集准备指南 1. 数据集目录结构 data/custom_dataset/ ├── img_dir/ │ ├── train/ │ └── val/人工智能深度学习计算机视觉上一篇docopt学习资源从入门到精通的最佳教程下一篇GraphQL Voyager测试策略Playwright自动化测试实践创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
企业数字化 ERP 产品动态
相关推荐
TypeDoc `@useDeclaredType` 标签详解:用声明类型转换派生类型别名 开发工具文档 【免费下载链接】typedoc Documentation generator for TypeScript projects. 项目地址: https://gitcode.com/gh_mirrors/ty/typedoc 点击查看 免费下载 useDeclaredType 是 TypeDoc 提供的一个修饰型(Modifier)标签ÿ… · 2026/9/26 15:45:45
Search 浏览器内置广告拦截器指南:WKContentRuleList 网络层拦截为何零开销 Search 浏览器内置广告拦截器指南:WKContentRuleList 网络层拦截为何零开销 【免费下载链接】Search A small, fast WebKit browser for macOS, by Office Commun. 项目地址: https://gitcode.com/gh_mirrors/search59/Search Search 是一款轻量快速的 macOS … · 2026/9/26 15:45:45
TB9120AFTG驱动双极步进电机:原理、调参与实战总结 双极步进电机这个东西,在很多自动化项目里都是“看起来简单、用起来闹心”的典型。给它一个脉冲它就转一个角度,听起来毫无难度,但真开始做之后,噪音、发热、丢步、共振,一套组合拳下来能把人折腾到怀疑人生。这段时间… · 2026/9/26 15:45:45
YOLOV5数据集整理指南:目录结构、标签转换与智能小车实战排查 简介:这是一份面向智能小车物品识别与智能购买场景的单类别目标检测数据集,按YOLOV5标准目录结构整理,图片与标注文件一一对应,可直接作为训练输入,无需额外转换。数据集中唯一类别为purchase,所有图片分辨… · 2026/9/26 16:25:08
Jev模型解析:System One Model如何用RLCD实现毫秒级判断 1. 从热搜词里拆解Jev的真实身份第一次看到"Jev"这个词的时候,我下意识以为是某个新出的开源大模型代号,毕竟最近两年各种模型名字层出不穷,隔三差五就冒出一个新面孔。但翻了一圈资料之后发现,Jev的定位其实挺反直觉的… · 2026/9/26 16:25:08
FreeRTOS实战避坑指南:从内核启动到生产部署 1. 这不是“又一篇FreeRTOS教程”,而是我踩了三年坑后重新写的入门地图FreeRTOS不是个软件,它是个操作系统内核的骨架——没有图形界面、没有命令行、甚至没有标准输出,你敲下第一行代码时,它不会给你任何反馈。但就是这个不到10K… · 2026/9/26 16:25:08
PDF24离线工具箱:Windows本地PDF处理终极方案 1. 项目概述:为什么一个“离线PDF工具箱”在2024年依然值得你花30分钟装上PDF24工具箱 V11.29.0,这个名字听起来平平无奇,但如果你最近经历过这些场景——在客户会议室里临时要拆分一份加密PDF却连不上公司内网;在高铁上用笔记本改… · 2026/9/26 16:25:08
氛围编程开源项目怎么配 TaoToken?settings.json 与 config.toml 骨架一次讲清 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 16:25:02
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍 简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践 一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46