十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Fiftyone Enterprise Data Quality 面板实战:从自动化扫描到数据集质量治理

Fiftyone Enterprise Data Quality 面板实战:从自动化扫描到数据集质量治理 Fiftyone Enterprise Data Quality 面板实战从自动化扫描到数据集质量治理【免费下载链接】fiftyoneRefine high-quality datasets and visual AI models项目地址: https://gitcode.com/GitHub_Trending/fi/fiftyoneFiftyone Enterprise App 内置的 Data Quality 面板能够自动扫描数据集中的常见质量问题过亮/过暗、模糊、极端宽高比、信息熵异常、近似重复与完全重复样本并通过直方图、阈值调节与标签批注帮助团队定位并处置问题样本。本文基于 docs/source/enterprise/data_quality.rst 完整讲解该面板的扫描、分析、更新与删除全流程并结合仓库源码说明aspect_ratio等字段的底层计算逻辑与delete_sample_field操作符的实现让你可以直接在 Fiftyone Enterprise 环境中落地一套可复用的数据质量治理方案。Data Quality 面板是什么Data Quality 面板是 Fiftyone Enterprise App对应文档见 docs/source/enterprise/app.rst的内置功能自 Enterprise 2.2.0 起提供它会自动扫描你的数据集查找常见的数据质量问题并帮助你探索、理解这些问题进而采取行动解决它们。打开面板的方式很简单点击Samples 标签页旁边的 图标即可打开 Data Quality 面板。面板与样本网格可以并行工作当你调整质量阈值时Samples 面板会同步刷新并展示对应的样本。面板首页六种可扫描的问题类型面板首页会列出当前可用的**问题类型issue types**以及它们当前的分析/审查状态。每种问题类型对应一张卡片点击卡片右侧的右箭头即可进入该问题的展开视图。问题类型扫描内容存储字段Brightness亮度扫描异常过亮或过暗的图像brightnessBlurriness模糊度扫描异常模糊或异常锐利的图像blurrinessAspect Ratio宽高比扫描具有极端宽高比的图像aspect_ratioEntropy信息熵扫描信息熵异常偏小或偏大的图像entropyNear Duplicates近似重复借助 embeddings嵌入向量扫描数据集中的近似重复样本nearest_neighborExact Duplicates完全重复使用文件哈希filehash扫描文件名相同或不同的重复数据filehash关于近似重复的底层原理可参考 Fiftyone 的 Brain 功能中 near-duplicates 的文档fiftyone/core/brain.py完全重复检测则完全不依赖向量仅基于文件内容哈希因此对改名后的同一张图也能准确识别。结果字段的存储约定每种问题类型的扫描结果都存放在数据集样本的**专用字段dedicated field**中面板中展示的直方图正是从这些字段生成的Brightness每张图像的亮度存储在样本的brightness字段Blurriness每张图像的模糊度存储在样本的blurriness字段Aspect Ratio每张图像的宽高比存储在样本的aspect_ratio字段Entropy每张图像的信息熵存储在样本的entropy字段Near Duplicates每个样本的最近邻距离存储在样本的nearest_neighbor字段Exact Duplicates每张图像的文件哈希存储在样本的filehash字段。以aspect_ratio为例Fiftyone 服务端在生成图像元数据时即会计算该值。在 fiftyone/server/metadata.py 中可以看到对于普通图像宽高比由width / height计算得出见fiftyone/server/metadata.py第 126-135 行对于视频帧同样通过帧尺寸info.frame_size[0] / info.frame_size[1]计算第 172-178 行当无法读取到图像信息时则回退为默认值aspect_ratio1。这也解释了为什么 Aspect Ratio 扫描可以直接读取该字段而无需重新计算。扫描问题Execute 与 Schedule 两种执行方式如果某个问题类型尚未对数据集执行过扫描你会看到一个引导式的落地页landing page例如 Brightness 的扫描页点击Scan Dataset扫描数据集按钮后会弹出两个执行选项两种执行方式的核心区别如下Execute立即执行仅用于测试。此模式下计算是同步执行的如果几分钟内未完成就会超时。适合在小规模数据集上快速验证扫描逻辑是否正常。Schedule调度执行所有生产数据都应选择此方式。扫描任务会被调度到你的计算集群上通过 Fiftyone Enterprise 的 delegated execution委托执行机制异步运行不阻塞前端、不受超时限制。关于委托执行的详细机制可参考 Enterprise 文档中 delegated operations 相关章节见 docs/source/enterprise/index.rst 及工作流相关文档。扫描进行中的状态页扫描进行期间你会看到一个状态页展示任务的当前进度点击通知中的链接可以跳转到数据集的Runs 页面在那里可以监控委托任务的执行状态、进度与结果。这意味着即使是大规模数据集数千万样本级别你也可以放心地提交扫描任务后离开稍后再回来查看结果。分析扫描结果直方图、阈值与样本联动扫描完成后问题类型卡片会更新展示一个可交互的直方图用于分析扫描发现的问题分布推荐做法分析扫描结果时建议使用 Samples 面板标签页右侧的分屏图标将 Samples 面板与 Data Quality 面板并排排列如上图所示这样可以一边看直方图分布一边看对应的样本缩略图。默认阈值与潜在问题计数每种问题类型都带有默认阈值范围default threshold range用于高亮数据集中的潜在问题如果发现了问题潜在问题的数量会显示在 Data Quality 面板的左上角同时Samples 面板会自动更新在网格中展示对应的样本方便你直接目视核验。手动调节阈值你还可以使用**阈值滑块threshold slider**手动探索不同的阈值范围。松开滑块时Samples 面板会自动更新并展示对应阈值区间内的样本如果你为某个数据集找到了更合适的阈值可以通过设置菜单中的Save Threshold保存阈值将其保存下来随时可以使用Reset Threshold重置阈值恢复到默认阈值。对问题样本批量打标签在网格中审查完潜在问题后可以使用Add Tags添加标签按钮对这些样本采取行动。点击按钮后会弹出如下模态框打标签的覆盖范围遵循以下规则如果你在网格中选中了部分样本则只给这些选中的样本打标签否则标签会添加到当前视图中的所有样本即所有潜在问题样本。之后你可以使用 App 侧边栏中的sample tags样本标签筛选器随时检索、复查并处理所有之前打上标签的样本——这形成了一条完整的扫描 → 分析 → 打标 → 复审 → 处置质量治理链路。审查状态标记面板右上角的审查状态指示器表示某个问题类型当前是In Review审查中还是Reviewed已审查你可以随时点击它以切换审查状态。当你从一个处于 In Review 状态的问题类型导航离开时系统会提示你是否将该问题类型标记为 Reviewed更新扫描应对数据集的变化Data Quality 面板能够优雅地适应扫描之后数据集发生的变化删除样本如果你从数据集中删除了样本已有扫描的直方图会自动更新以反映新的分布新增样本或清空字段值如果你向数据集添加了新样本或者清除了与扫描相关的某些字段值例如清空了亮度扫描对应的brightness字段值面板会自动检测到存在未扫描样本unscanned samples并在首页和分析页显示相应的上下文提示信息要更新已有扫描请打开对应的问题类型点击分析页右下角的Scan New Samples扫描新样本按钮。这会弹出一个模态框提供额外的上下文信息并引导你发起新样本的扫描通过这种方式你可以只增量扫描新增的样本而无需对全量数据集重新扫描显著降低持续治理的计算成本。删除扫描删除某个问题扫描非常简单直接删除数据集中对应的字段即可。例如删除亮度扫描就是删除数据集中的brightness字段删除完全重复扫描就是删除filehash字段依此类推。小技巧你可以直接在 App 中使用Operator browser操作符浏览器里的delete_sample_field操作符来删除样本字段无需编写代码。该操作符在源码中有明确的实现。在 fiftyone/operators/operations.py 第 151-160 行可以看到def delete_sample_field(self, field_name): Delete a sample field. Args: field_name: the name of the field to delete return self._ctx.trigger( delete_sample_field, params{field_name: field_name}, )它通过操作符上下文向 App 触发delete_sample_field事件并携带field_name参数由 App 端执行字段删除。与之配套的clear_sample_field清空字段内容见同文件第 132-141 行则可用于清空字段值以触发重新扫描的场景——这与上文更新扫描一节中提到的行为是相互呼应的清空brightness等字段后面板会自动检测到未扫描样本并提示你增量扫描。小结一条可落地的数据质量治理工作流综合全文基于 Data Quality 面板可以建立如下工作流扫描通过 打开 Data Quality 面板为每种问题类型选择 Schedule 方式提交委托扫描生产环境或用 Execute 快速验证测试环境分析借助直方图与默认阈值快速定位潜在问题必要时拖动阈值滑块精细探索并可用 Save Threshold 固化针对该数据集的最优阈值处置在网格中目视核验问题样本用 Add Tags 批量打标签再通过侧边栏的 sample tags 筛选器统一检索和后续处理跟踪利用 In Review / Reviewed 状态标记管理审查进度形成团队可追溯的质量闭环维护数据集增删后利用 Scan New Samples 增量更新扫描确认问题类型不再需要时直接删除对应字段或用delete_sample_field操作符即可移除整个扫描。整个过程无需编写任何分析代码全部在 App 内以可视化方式完成而其结果的字段级存储brightness、blurriness、aspect_ratio、entropy、nearest_neighbor、filehash又保证了扫描结果可以被 Fiftyone SDK 进一步编程化地使用兼顾了易用性与可扩展性。【免费下载链接】fiftyoneRefine high-quality datasets and visual AI models项目地址: https://gitcode.com/GitHub_Trending/fi/fiftyone创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表