深圳Yolo 视觉
深圳
立即加入
词汇表

数据清洗

Learn the essentials of data cleaning for AI and ML. Discover how to fix errors and remove noise to optimize models like [YOLO26](https://docs.ultralytics.com/models/yolo26/) for peak performance.

数据清洗是检测并修正(或删除)记录集、表格或数据库中损坏、不准确或无关记录的关键过程。在人工智能(AI) 和机器学习(ML)领域,这一步骤常被视为工作流程中最耗时却至关重要的环节。在YOLO26等模型能有效学习识别物体之前, 必须清除训练数据中的错误, 以避免"垃圾进,垃圾出"现象—— 即低质量输入导致不可靠输出。

人工智能中数据完整性的重要性

高性能计算机视觉模型在很大程度上依赖于其训练数据集的质量。若数据集包含标注错误的图像、重复数据或损坏文件,模型将难以概括模式特征,导致过拟合或 推理准确性低下。有效的数据清洗能提升预测模型的可靠性,确保算法从有效信号而非噪声中学习。

常见数据清洗技术

从业者运用各种策略来优化数据集,使用工具如 Pandas 处理表格数据,或采用专业视觉工具。

  • 处理缺失值:这包括移除含有缺失数据的记录,或采用 插值技术根据统计平均值或最近邻方法 填补数据缺口。
  • 去除重复项:训练集中重复的图像可能会无意中导致模型产生偏差。移除这些重复项可确保模型不会记忆特定示例,从而有助于减轻数据集偏差
  • 异常值检测:识别并处理 显著偏离常规的异常值或 离群值至关重要,因为这些值会扭曲统计分析结果并影响模型权重。
  • 结构性修复:包括修正类标签中的拼写错误(例如将"Car"修正为"car"),以确保类名称的一致性

实际应用

数据清理在部署人工智能的各个行业中都至关重要。

区分数据清洗与预处理

虽然数据清洗与数据预处理常被混为一谈,但二者存在本质区别。数据清洗侧重于修正错误并剔除"不良"数据;而预处理则涉及将已清洗数据转换为适合模型的格式,例如图像尺寸调整、归一化处理,或通过数据增强技术提升数据多样性。

自动化质量检查

现代工作流(Ultralytics 提供的功能)在训练开始前会集成自动化检查机制,用于识别损坏图像或标签不一致问题。以下是一个简单的Python 演示如何使用标准Pillow库检测并识别损坏的图像文件——这是向YOLO26等模型输入数据前的常规步骤。

from pathlib import Path

from PIL import Image


def verify_images(dataset_path):
    """Iterates through a directory to identify corrupt images."""
    for img_path in Path(dataset_path).glob("*.jpg"):
        try:
            with Image.open(img_path) as img:
                img.verify()  # Checks file integrity
        except (OSError, SyntaxError):
            print(f"Corrupt file found: {img_path}")


# Run verification on your dataset
verify_images("./coco8/images/train")

加入Ultralytics 社区

加入人工智能的未来。与全球创新者联系、协作和共同成长

立即加入