人工智能计算机视觉预训练【免费下载链接】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 是飞桨PaddlePaddle生态提供的配套数据标注工具覆盖图像分类、目标检测、语义/实例分割等常见计算机视觉任务的标注与数据集导出。本文聚焦于关联文档所讲解的 PaddleLabel 数据集“通用基础功能”——即几乎所有非 COCO 项目都支持的labels.txt与xx_list.txt两个核心文件的格式规范、导入导出行为与最佳实践并结合仓库源码与 PaddleSeg 的自定义数据集读取逻辑帮助读者正确组织数据集、避免导入失败并能将 PaddleLabel 导出的数据无缝衔接进 PaddleSeg 等下游训练流程。一、无标注数据集的导入如果您的数据集不包含任何标注那么无需准备任何标签文件只需将所有图像文件放在一个文件夹下并将该文件夹路径填入创建项目时的“数据集路径”即可。PaddleLabel 在导入时会遍历数据集文件夹以及所有子文件夹中的所有文件并按照文件扩展名判断文件类型导入全部图像文件。所有隐藏文件文件名以.开头的文件如.DS_Store将被忽略不会进入数据集。这一设计的直接好处是即使手头只有一批散落的图片、尚未进行任何标注也可以立即创建项目开始标注标注完成后再通过“划分数据集”与“导出数据集”功能生成完整的标注数据集详见后文。二、labels.txt项目标签清单2.1 基本用法所有不使用 COCO 格式保存标注的项目即分类、检测的 PASCAL VOC 格式、语义/实例分割等都支持labels.txt。PaddleLabel 在导入过程中会在数据集路径下寻找labels.txt文件您可以在该文件中列出项目的全部标签每行一个。例如# labels.txt Monkey Mouse标签命名约束PaddleLabel 的标签名称支持任意字符串但由于标签名称可能被用作导出数据集的文件夹名应避免使用任何操作系统不支持的字符串如\ / : * ? |等。此外Paddle 生态中的其他工具对标签名可能有进一步限制例如 PaddleX 的分类任务不支持中文字符作为标签名称这一点在跨套件使用前需要特别留意。标签编号规则导入过程中PaddleLabel 会首先创建labels.txt中指定的标签因此该文件中标签的编号将从0开始并依次递增。在导出过程中PaddleLabel 也会生成此文件。2.2 扩展格式颜色、编号与注释在导入时labels.txt每一行可以包含标签名以外的信息。目前支持 4 种长度格式其中|表示分隔符默认为空格字段数格式说明1标签名仅标签名编号自动分配2标签名 | 标签编号显式指定标签编号3标签名 | 标签编号 | 十六进制颜色 / 常用颜色名称 / 灰度值指定编号并设置标签颜色5标签名 | 标签编号 | 红色 | 绿色 | 蓝色以 RGB 三通道形式指定颜色其他规则////之后的字符串将被视为标签注释导入时忽略-如果需要指定标签颜色但不想指定标签编号可以在标签编号位置写-由 PaddleLabel 自动分配编号。综合示例dog monkey 4 mouse - #0000ff // mouses id will be 5 cat 10 yellow zibra 11 blue // some common colors are supported snake 12 255 0 0 // rgb color上例的含义分别是dog仅标签名自动分配编号monkey 4标签monkey显式编号 4mouse - #0000ff标签mouse自动分配编号上一条已用 4故为 5颜色为十六进制#0000ff蓝色//后为注释cat 10 yellow标签cat编号 10颜色使用常用颜色名称yellowzibra 11 blue标签zibra编号 11颜色名称bluesnake 12 255 0 0标签snake编号 12颜色以 RGB 三元组255 0 0红色表示。PaddleLabel 支持的颜色名称可以在其后端的 paddlelabel/task/util/color.py仓库中对应 color.py 的实现中查到完整列表。提示分割任务尤其是伪彩色掩膜对标签颜色有强依赖语义分割项目要求labels.txt中为每个标签指定颜色且第一个标签固定被视为背景类并赋予编号 0详见 PaddleLabel 文档数据集文件结构说明中的“语义分割”小节。三、xx_list.txt数据集划分与匹配关系3.1 文件组成与位置xx_list.txt是train_list.txt、val_list.txt、test_list.txt三个文件的统称同样由所有不使用 COCO 格式保存标注的项目支持。这三个文件需要放在数据集文件夹的根目录中与labels.txt同级。它们承担两个职责指定数据集的划分哪些数据用于训练、验证、测试描述标签/标注文件与图像文件之间的匹配关系例如在 VOC 格式下每一行是“图像文件路径 标签文件路径”。3.2 行内容结构三个文件的内容结构完全相同每一行都以一条数据的路径开始该路径是相对数据集根目录的相对路径后面跟着表示类别的整数/字符串或者标签文件的路径。格式一图像路径 类别单标签 / 多标签# train_list.txt image/9911.jpg 0 3 image/9932.jpg 4 image/9928.jpg Cat其中image/9911.jpg 0 3表示图像image/9911.jpg同时属于编号 0 和编号 3 两个类别适用于图像多分类等一条数据多个类别的场景image/9928.jpg Cat则直接用标签名字符串Cat表示类别。格式二图像路径 标签文件路径VOC 检测 / 分割掩膜等# train_list.txt JPEGImages/1.jpeg Annotations/1.xml JPEGImages/2.jpeg Annotations/2.xml JPEGImages/3.jpeg Annotations/3.xml这一格式常见于 PASCAL VOC 目标检测图像对应 xml 标注文件与语义分割图像对应 png 掩膜。3.3 类别解析规则整数类别如果标签类别为整数PaddleLabel 将在labels.txt中查找对应标签标签 id 从0开始。请确保整数与labels.txt中的编号一一对应否则可能产生错误匹配。数字作为标签名如果希望直接用数字作为标签名称可以把数字写进labels.txt并在xx_list.txt中提供标签 id或者给数字标签加一个前缀以避免歧义例如将10表示为n10。划分信息优先需要特别注意的是大多数项目只会用到xx_list.txt中的数据集划分信息例如单分类项目以文件夹名作为类别此时xx_list.txt中的类别字段将被忽略。3.4 导出行为这三个文件都会在导出过程中生成即使其中某些文件是空的例如未划分测试集时test_list.txt仍会生成空文件。为了确保文件可以被 Paddle 生态系统中的其他工具读取没有标注的数据不会包含在xx_list.txt中——这一约定保证了下游工具读到的每一行都对应一条有效标注数据。四、与下游工具衔接PaddleSeg 如何读取这些文件PaddleLabel 导出的xx_list.txt与labels.txt之所以采用“相对路径 空格分隔”的结构正是为了与飞桨各套件的自定义数据集接口对齐。以本仓库 PaddleSeg 为例其自定义数据集类 dataset.py 的读取逻辑与上述规范完全对应训练/验证/测试阶段分别要求传入train_path/val_path/test_path即 PaddleLabel 导出的三个xx_list.txt路径每个文件的每一行按分隔符默认空格拆分为两项image_path与label_path并分别以dataset_root为基准拼接出绝对路径dataset.py如果一行只有图像路径而没有标签路径len(items) ! 2在训练/验证模式下会直接抛出格式错误dataset.py这也解释了为什么 PaddleLabel 约定“没有标注的数据不会写入xx_list.txt”。因此一个从 PaddleLabel 导出、可直接被 PaddleSeg 消费的自定义分割数据集其标准目录结构为dog_seg_dataset ├── Annotations # 标签掩膜png ├── JPEGImages # 原始图像 ├── labels.txt # 标签清单第一行为背景类 ├── train_list.txt # 每行: 图像相对路径 标签相对路径 ├── val_list.txt └── test_list.txt对应的 PaddleSeg 训练配置中train_dataset与val_dataset的dataset_root指向数据集根目录、train_path/val_path指向相应 list 文件即可可参考文档从 PaddleLabel 到 PaddleSeg 的训练流程中的完整mynet.yml示例。更完整的 PaddleSeg 自定义数据集使用说明见 PaddleSeg 数据准备文档。五、使用注意事项与最佳实践导入前备份PaddleLabel 在“导入更多数据”时会把新的数据文件移动到该项目的数据集文件夹中目的是避免复制数据集、节省磁盘空间。虽然 PaddleLabel 不会删除磁盘上的任何内容但导入操作会改变数据集文件夹的目录结构建议在导入之前复制数据集作为备份。留意paddlelabel.warning文件使用过程中PaddleLabel 会在数据集根文件夹下创建一个名为paddlelabel.warning的文件请避免更改数据集文件夹下的任何文件以防出现问题。同名校验在语义分割等按文件名配对图像与标签的场景中PaddleLabel 会去掉所有文件扩展名进行匹配因此应避免出现多张图像对应同一个标签名例如image.png与image.webp同时对应image.png标签的情况否则导入会失败。标签编号连续性labels.txt中标签编号从 0 开始递增分割项目第一个标签为背景类若需要自定义编号与颜色请使用 2/3/5 字段格式显式声明避免与自动编号冲突。与 COCO 格式的关系所有使用 COCO 格式保存标注的项目如 COCO 格式的检测与实例分割不支持labels.txt与xx_list.txt其数据划分与类别信息统一由train.json/val.json/test.json三个文件承载。若项目采用了 COCO 格式请勿混入上述两个文件。样例参考PaddleLabel 为每种支持的标注项目都内置了样例数据集可在欢迎页面点击“样例项目”按钮创建样例数据会被解压到~/.paddlelabel/sample文件夹是核对上述文件格式最直接的可运行参考。六、小结labels.txt与xx_list.txt是 PaddleLabel 所有非 COCO 项目共用的数据集“通用基础功能”前者定义标签清单支持编号、颜色、注释的扩展格式后者定义数据集划分与“图像—标签”匹配关系。正确理解二者的字段规则、编号约定与导出行为是保证 PaddleLabel 数据能被 PaddleSeg 等下游套件无缝读取的关键。结合 dataset.py 的读取实现可以看到PaddleLabel 的导出格式与 PaddleSeg 自定义数据集接口是天然对齐的保持labels.txt与三个 list 文件与数据集目录结构的规范即可从“标注”一路顺畅走到“训练”。赞分享人工智能计算机视觉预训练【免费下载链接】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点击查看免费下载相关推荐scrcpy 安卓投屏控制完整教程三步投屏、操作、录制手机scrcpy 安卓投屏控制完整教程三步投屏、操作、录制手机 scrcpy 是一款免费的安卓投屏控制工具它把手机的屏幕视频和声音镜像到电脑窗口里同时让电脑的人工智能计算机视觉预训练Diem 通用数据结构规范深度解析AccountAddress、BlockInfo 与 LedgerInfo 的底层数据契约Diem 通用数据结构规范深度解析AccountAddress、BlockInfo 与 LedgerInfo 的底层数据契约 DiemLibra区块链由多区块链金融科技OpenSpeedy主题打包规范文件结构与元数据OpenSpeedy主题打包规范文件结构与元数据 你是否在打包OpenSpeedy主题时遇到过文件缺失、元数据错误等问题本文将详细介绍OpenSpeedy的桌面应用游戏开发上一篇阿里达摩院开源Wan 2.2MoE架构革新视频生成技术边界下一篇iR Engine完全指南从安装到创建沉浸式3D社交世界的10个步骤创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考