FiftyOne Auto Labeling 实战指南:用模型推理 + 人工复核快速构建高质量标注数据集
FiftyOne Auto Labeling 实战指南用模型推理 人工复核快速构建高质量标注数据集【免费下载链接】fiftyoneRefine high-quality datasets and visual AI models项目地址: https://gitcode.com/GitHub_Trending/fi/fiftyone本文是一份围绕 FiftyOne EnterpriseAuto Labeling自动标注功能编写的端到端实战指南。它面向需要在短时间内为大型数据集如自动驾驶感知数据生成、审核并落地标注的机器学习工程师与数据科学家完整讲解从计算集群准备、运行配置、结果审查、嵌入向量分析到最终批准落库的五个步骤并给出与当前仓库源码、配置一一对应的可验证依据。指南概览Auto Labeling 是什么Auto Labeling 将模型推理与人工核验结合起来是一种系统化的标注加速方案。它的核心思想是先用强大的模型为无标注数据批量生成预测再由人工通过置信度过滤、补丁视图、嵌入向量可视化等手段筛选出高质量标签、标记问题样本最后只把通过审核的标签正式写入数据集未批准的预测自动丢弃。整个流程可以概括为五个步骤准备数据与基础设施—— 将数据集载入 FiftyOne并配置具备 GPU 的计算编排器orchestrator配置 Auto Labeling 运行—— 配置并启动自动标注任务跟踪运行进度分析结果—— 审查预测结果挑选需要批准的样本可视化嵌入向量—— 生成补丁嵌入向量patch embeddings借助聚类分析发现误检与漏检完成工作流—— 批准已认可的标签丢弃有问题的预测官方对 Auto-Labeling 的定位是 FiftyOne Enterprise App 内置功能自 Enterprise 2.14.0 起提供支持**分类classification、目标检测detection与实例分割instance segmentation**三类标注任务并且由委托操作delegated operations驱动可利用现有 GPU 基础设施在后台执行。详细的产品说明见 docs/source/enterprise/verified_auto_labeling.rst。若使用开源版 FiftyOne 并对此功能感兴趣需联系 Voxel51 销售团队获取 Enterprise 支持。前置条件适用人群与知识要求本指南面向需要高效标注大规模数据集的机器学习从业者与数据科学家无论你是为新项目冷启动还是改进既有标注Auto Labeling 都能提供一套在保持人工监督的前提下充分利用模型预测的完整方法。阅读前建议具备FiftyOne Enterprise App 界面与基本操作经验对目标任务检测、分类、分割的理解机器学习模型与置信度阈值的基础知识系统要求FiftyOne Enterprise本功能依赖 Enterprise 的委托操作能力GPU 访问编排器必须具有可用于模型推理的 GPU 资源存储空间足够的对象存储空间以承载数据集媒体与标签字段Step 1准备数据集与计算集群开始自动标注之前需要准备两个关键组件数据集和用于运行推理的计算集群。搭建计算集群计算编排器compute orchestrator是 FiftyOne Enterprise 中负责执行模型推理等计算密集型操作的底层设施委托操作正是在这些编排器上运行。由于多数推理任务计算量很大建议编排器配备 GPU 支持。Auto Labeling 正常运行至少需要一个处于活跃状态的编排器相关细节可参阅 委托操作文档 与 编排器配置说明。编排器一旦配置完成几乎可以复用于 FiftyOne 内的任何计算类操作初始搭建投入会随时间持续产生回报。加载并准备数据集本指南假定你的 FiftyOne Enterprise 实例中已加载一个未标注的图像数据集且数据集中含有你感兴趣的目标对象因为演示任务为目标检测。创建数据集并载入样本的方法见 Creating datasets。为了便于演示本指南使用 FiftyOne 数据集动物园dataset zoo提供的 BDD100K 图像数据集未标注版本数据集动物园的完整说明见 FiftyOne dataset zoo。确定标注任务与类别Auto Labeling 目前支持三种标注任务任务说明示例分类Classification标签应用于整张图像cloudy多云目标检测Object detection在感兴趣目标周围绘制边界框dog、cat、bigfoot实例分割Instance segmentation逐像素掩码勾勒目标精确边界拥挤道路上的每一辆car本指南选择目标检测。检测适合需要在一张图像中定位并分类多个目标的场景对 BDD100K 驾驶数据集而言即识别车辆、行人、交通标志等道路目标——这些标签是训练自动驾驶感知模型所必需的且边界框格式便于快速目视核验标签准确性。你还需要明确将要标注的类别classes。根据所选任务FiftyOne 会提供一批可用于标注的模型它们分为两类零样本模型Zero-shot支持任意自然语言类别描述当你的目标对象不在固定模型预定义类别中时非常有用固定词表模型Fixed-vocabulary在 COCO、Open Images 等特定类别集上训练对这些类别通常更快、更准但缺乏灵活性Step 2配置并启动 Auto Labeling 运行数据集与委托操作就绪后即可配置第一次自动标注运行。打开 Auto Labeling 面板进入你的 FiftyOne 数据集在样本网格上方选择New panel Auto Labeling打开面板。建议点击工具栏中的Split horizontally按钮形似两条竖线将自动标注配置面板与数据集并排显示便于实时观察配置效果。在 Auto Labeling 面板中点击Auto Label打开主配置窗格其中可设置目标样本集、用于标注的模型、要标注的类别以及最低置信度阈值。配置运行参数逐项展开配置面板中的下拉区域按如下方式设置Target目标样本集展开Target下拉框。若希望为整个数据集生成标签选择All samples单选按钮也可以选择只标注某个过滤后的子集先在小批量上试验。Detection任务类型展开Detection下拉框选择Detection磁贴。Model模型选择选择模型类型FiftyOne 提供两类零样本模型用自然语言自定义类别适合目标对象与固定模型预定义类别不匹配的场景固定词表模型针对 COCO、Open Images 等特定类别集训练对这些类别更快更准但缺乏灵活性对于 BDD100K 驾驶数据集我们需要检测汽车、公交车、行人等常见道路目标零样本模型更合适——它可以精确指定我们关心的类别。选择Zero-shot然后从模型下拉框中选择YOLO World兼具良好的检测精度与高效的推理速度。模型Size选择Medium以平衡速度与性能。Define zero-shot classes零样本类别展开Define zero-shot classes下拉框输入car, bus, person, bicycle, traffic sign这五个类别覆盖了自动驾驶感知的核心道路目标可根据标注目标自由增删。Settings运行设置展开Settings下拉框设置以下三个关键参数参数值说明Label fieldyolow_detections预测标签写入的字段名批准后将作为数据集的一个永久字段存在Minimum confidence in results0.3保留预测的最低置信度阈值低于该值的预测将被过滤Run nameyolow_detections_run运行名称便于在 Runs 标签页中定位和追溯经验提示自动标注场景下中低置信度阈值往往能通过提高召回率来最大化下游模型精度具体论证可参考 Voxel51 关于零样本自动标注媲美人工表现的公开研究见原文档所引文章。调度运行并监控进度配置完成后点击Auto Label再为其中一个委托操作delegated operator点击Schedule自动标注任务随即在后台启动。运行期间可随时查看状态在 Auto Labeling 面板点击View Status或切换到Runs标签页点击正在运行的任务查看进度与配置参数输入在任务运行详情中还可以查看与下载任务日志、重新运行任务以及在必要时终止/取消卡住的任务。运行完成后状态变为Complete此时即可返回 Auto Labeling 面板开始审查预测。可以并行启动多个采用不同配置的 Auto Labeling 运行例如对比不同模型或参数各运行彼此独立、互不影响。Step 3审查并批量批准预测运行完成后预测标签进入可审查状态接下来使用 FiftyOne 的探索工具评估并核验自动生成的标签。认识 Review / Approval 双标签页当运行状态变为In Review后Auto Labeling 面板会显示两个标签页Review与Approval。可以把这套机制理解为购物车式工作流在 Review 标签页浏览标签把想保留的加入批准队列被批准的标签将成为数据集的地面真值ground truth被拒绝的标签则从数据集中彻底删除。面板中两个工具值得重点关注置信度滑条confidence slider只显示标签置信度落在指定最小/最大值区间内的样本标签表label table统计每个预测类别的样本数量与平均置信度点击表中某一项样本网格将只显示包含该类预测的样本默认视图下每个样本显示一次并展示其全部预测检测框。但在评估目标检测时更实用的做法是把每个标签当作独立样本逐一分析与批准这可以通过补丁视图patches view实现。计算并查看补丁视图FiftyOne App 提供 patches 视图按钮可将数据集中的任意 Detections 字段转换为图像网格中的独立补丁。操作方式在样本网格上方工具栏选择Patches Labels yolow_detections此时样本网格会变为每个边界框标签一张图。批量挑选高置信度样本加入批准队列在补丁视图中批量筛选高置信度真阳性true positive拖动置信度滑条将最低置信度阈值调整为70%在过滤后的样本网格中目视挑选10个预测类别为car且标注正确的样本在 Auto Labeling 面板中点击Add 10 labels for approval这 10 条标签随即出现在Approval标签页中可由你或团队成员稍后批准。此时先保留已标记待批准状态暂不执行最终批准。Step 4用嵌入向量评估标签质量样本网格适合肉眼识别真/假阳性但批量发现假阳性仍有难度漏检假阴性则更难察觉。借助 FiftyOne 的补丁嵌入向量patch embeddings可视化可以定位成批的离群样本将其标记为需要重标或直接从候选集中剔除。计算补丁嵌入向量延续上一步的补丁视图思路在 FiftyOne App 中直接计算并可视化补丁嵌入向量在样本网格上方工具栏选择Browse operations Compute visualizationBrain key输入yolow_patchesPatches field选择yolow_detections其余设置保持默认。更多可视化参数说明见 image embeddings 教程。与自动标注运行类似嵌入向量计算也可以委托为后台操作点击Execute旁的箭头选择计算集群然后点击Schedule。随后可在数据集的Runs标签页查看任务进度。任务状态变为Completed后回到样本网格选择New panel Embeddings在Select brain key下拉框中选择yolow_patches即可看到嵌入向量空间的可视化。分析嵌入向量聚类、套索与标签嵌入空间可视化的目标是找出被错误标注的样本簇或簇内的个别样本。两种常用分析思路按置信度着色选择Color by yolow_detections.detections.confidence用套索lasso圈选低置信度聚类检查其中是否存在假阳性按标签着色选择Color by yolow_detections.detections.label寻找类别混淆的区域——例如一片红色中出现一两个绿点圈选后到样本网格中核验是否有对象被误标如车被标成卡车、人被标成自行车小技巧可以先按标签着色可视化再在左侧边栏为yolow_detections字段设置最小/最大置信度过滤将类别与置信度两种过滤手段结合使用。原文档给出过一个典型假阳性示例模型把加油站标志误识别为交通标志。标记问题样本找到至少几个错误样本后将其标记为待人工修正或删除在样本网格中选中目标样本点击工具栏Tag samples or labels为标签命名如needs-review点击Add needs-review tag并Apply。该标签会成为一个可保存的视图可共享给团队做进一步 QA。返回 Auto Labeling 进行迭代批准在嵌入视图标记样本后可以过滤掉被标记的样本再回到 Auto Labeling 面板从经过筛选的候选集中继续批准标签。既可在侧边栏过滤也可用 Python 编程方式过滤。例如排除所有带needs-review标签的样本# 排除带 needs-review 标签的样本 view dataset.match_tags(needs-review, boolFalse)match_tags是 FiftyOne 集合Collection的内置方法boolFalse表示不包含这些标签其完整定义与使用示例见 fiftyone/core/collections.py#L7265-L7294更多按标签过滤的查询方式见 querying samples。从过滤后的视图出发回到Auto Labeling面板继续选择并批准标签。这种迭代式工作流能让你在保持标签质量的同时高效处理大型数据集。整个过程本质上是迭代的可以反复分析嵌入空间的各个区域、查找并标记样本也可以随时回到 Auto Labeling 面板批量追加新的真阳性到批准队列。Step 5完成自动标注工作流审查、批准与标记工作完成后进入收尾阶段将批准的标签整合进数据集同时丢弃有问题的预测。最终化前检查清单正式批准前请逐项确认检查项状态已复核批准队列中的标签正确性✅已标记所有问题样本✅已抽查随机批准的样本✅已记录所使用的置信度阈值✅已记录观察到的模型系统性或疑似问题✅最终批准回到Auto Labeling面板的Approval标签页在最终批准前可最后一次补充想要加入批准队列的标签。复核完成后点击面板底部的Approve labels。系统会再次提示批准这些标签将删除其余所有未批准的yolow_detections-in-review标签。确认后点击Approve labels面板状态变为Approved。至此批准后的yolow_detections标签作为数据集的永久字段正式落库携带对应的类别标签与置信度信息可以像其他任何字段一样进行切片、过滤与后续处理。这套流程具有普适性随着实践积累你会逐渐形成针对自身场景的置信度阈值、模型选型与审查策略直觉可将其复用到几乎任何标注任务上。指南回顾与进阶方向分步回顾Step 1 准备数据集与委托操作在 FiftyOne Enterprise 中准备数据集配置 GPU 增强的委托操作理解基础设施要求Step 2 配置 Auto Labeling 运行掌握样本选择、模型选择、类别配置、目标标签字段与置信度阈值的完整配置过程Step 3 分析与批准预测借助 Review/Approval 双标签页批量挑选正确预测并标记待批准Step 4 用嵌入向量评估标签使用补丁嵌入向量可视化发现人工审查难以察觉的离群点、假阳性与假阴性并标记待重标或剔除的预测Step 5 完成工作流将批准标签整合进数据集丢弃其余预测建议练习自定义置信度阈值为不同类别尝试不同置信度阈值探索何种取值能在自动化程度与准确率之间达到最优平衡迭代式精炼在同一数据集上执行多轮 Auto Labeling利用嵌入向量洞察逐步改进每一轮跟踪预测质量随轮次的变化团队协作设计不同成员按目标类别分工审查、批准标签的流程体验 Auto Labeling 如何支撑分布式标注与训练管线集成用批准的 Auto Labeling 标签训练或微调模型量化高质量自动标注数据对模型性能的实际影响下一步方向探索分割类自动标注将工作流应用到实例/语义分割任务接入自定义模型将自有检测或分类模型集成进 Auto Labeling 管线产品机制参考 verified_auto_labeling.rst规模化标注在数千张图像的大规模数据集上应用自动标注以显著提速投入生产将 Auto Labeling 落地到生产标注管线降低人工标注成本并提升数据质量说明Auto Labeling 目前支持图像与 3D 数据集对于其他媒体类型Auto Labeling 面板在该数据集上会处于禁用状态。更多产品级细节、模型配置与编排器对接方式可继续查阅 Auto-Labeling 主文档、委托操作文档 与 模型评估指南。【免费下载链接】fiftyoneRefine high-quality datasets and visual AI models项目地址: https://gitcode.com/GitHub_Trending/fi/fiftyone创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联
返回资讯列表 →