Ultralytics YOLO27: Únete a la lista de espera.
Licencia YOLO
Volver al glosario de Ultralytics

Data Cleaning

La limpieza de datos detecta y corrige archivos dañados, duplicados, valores ausentes y errores en las etiquetas de un conjunto de datos antes del entrenamiento. Incluye técnicas, herramientas y código.

La limpieza de datos, también llamada depuración o saneamiento de datos, consiste en detectar y corregir o eliminar los registros corruptos, duplicados, incompletos, incoherentes y mal etiquetados de un conjunto de datos. En aprendizaje automático (ML), se realiza antes del preprocesamiento de datos y el entrenamiento, porque un modelo aprende todo lo que contiene sus datos de entrenamiento, incluidos los errores. Un detector entrenado con imágenes en las que la mitad de las bicicletas están etiquetadas como «motocicleta» aprende esa confusión, y un conjunto de prueba con etiquetas incorrectas ofrece una medición equivocada de la calidad del modelo. La limpieza es una práctica fundamental de la IA centrada en los datos, que mejora los modelos mejorando sus datos en lugar de su arquitectura.

Por qué la calidad de los datos limita los modelos#

Los errores en los datos reducen la precisión de varias maneras. Los ejemplos mal etiquetados enseñan asociaciones incorrectas entre entradas y salidas y empujan al modelo al sobreajuste, ya que memoriza el ruido. Los duplicados dan más peso a algunos ejemplos y, cuando hay copias tanto en las particiones de entrenamiento como en las de evaluación, provocan fugas de datos que inflan las puntuaciones. Los archivos corruptos hacen que los cargadores de datos fallen o se omitan sin avisar, y los nombres de clase incoherentes dividen una categoría en varias. También afectan a los bancos de pruebas: un estudio de 10 conjuntos de prueba de uso extendido calculó que, de media, al menos el 3,3 % de los ejemplos contenía errores de etiquetado, y que estos afectaban a al menos el 6 % del conjunto de validación de ImageNet. Al evaluarse con etiquetas corregidas, ResNet-18 supera a ResNet-50 cuando la proporción de ejemplos de prueba originalmente mal etiquetados aumenta tan solo un 6 %.

Tareas habituales de limpieza de datos#

Los datos tabulares suelen limpiarse con bibliotecas como pandas, mientras que en los conjuntos de datos de visión hay que comprobar los archivos de imagen y sus anotaciones, desde los píxeles hasta las coordenadas de las cajas delimitadoras. Las imágenes casi duplicadas se detectan comparando embeddings, y la búsqueda vectorial permite escalar esa comparación a millones de imágenes.

  • Valores ausentes: Los registros con campos vacíos se eliminan o se completan mediante imputación a partir de estadísticas de columnas o de los vecinos más cercanos. En los conjuntos de datos de visión, una imagen sin archivo de etiquetas resulta ambigua, ya que puede ser una imagen de fondo intencionada o una imagen que nadie ha anotado.
  • Duplicados y casi duplicados: Los archivos idénticos byte a byte comparten un hash. Las copias redimensionadas o recomprimidas y los fotogramas consecutivos de vídeo no lo comparten, por lo que requieren hashes perceptuales o similitud entre embeddings.
  • Archivos corruptos y no válidos: Las descargas truncadas, los formatos no compatibles, los modos de color inesperados y las imágenes diminutas no se pueden decodificar o no contienen información útil.
  • Errores de etiquetado: Las clases incorrectas, los objetos omitidos y las cajas imprecisas o mal colocadas son los errores más costosos en los datos de visión supervisada y los más difíciles de detectar a simple vista.
  • Categorías incoherentes: Las variantes ortográficas como «Car» y «car», o las clases que se solapan, como «automobile» y «vehicle», se unifican en una taxonomía para que cada concepto tenga una sola etiqueta.
  • Valores atípicos: Los valores imposibles, como edades negativas o cajas que sobrepasan el borde de la imagen, son errores que hay que corregir. Los casos poco frecuentes pero válidos se conservan, porque a menudo son justo lo que más necesita aprender el modelo.

Detección de errores de etiquetado con un modelo#

Revisar a mano todas las etiquetas no es escalable, así que los flujos de limpieza utilizan un modelo entrenado para priorizar las etiquetas que hay que inspeccionar. El aprendizaje confiable, implementado en la biblioteca de código abierto cleanlab, utiliza probabilidades predichas fuera de muestra mediante validación cruzada y señala los ejemplos en los que el modelo predice con confianza una clase distinta de la etiqueta asignada. La decisión final sigue correspondiendo a las personas: en el estudio del conjunto de prueba mencionado antes, quienes revisaron los datos mediante colaboración abierta confirmaron que el 51 % de los candidatos señalados por el algoritmo eran errores de etiquetado reales.

Automatización de las comprobaciones de archivos#

Las comprobaciones a nivel de archivo son lo bastante rápidas como para ejecutarlas con cada nuevo lote de datos, junto con las auditorías de etiquetas y equilibrio de clases que se explican en la lección Control de calidad de conjuntos de datos. El siguiente script crea una carpeta pequeña con una imagen, una copia idéntica y un archivo truncado; después, marca la copia y el archivo dañado mediante Pillow y un hash de contenido:

import hashlib
from pathlib import Path

from PIL import Image

# A tiny image folder: one original, one exact copy, and one truncated download
folder = Path("images")
folder.mkdir(exist_ok=True)
Image.new("RGB", (640, 480), "orange").save(folder / "a.jpg")
(folder / "b.jpg").write_bytes((folder / "a.jpg").read_bytes())
(folder / "c.jpg").write_bytes((folder / "a.jpg").read_bytes()[:1000])

seen = {}
for path in sorted(folder.glob("*.jpg")):
    try:
        Image.open(path).load()  # decode every pixel; a truncated file raises OSError
    except OSError as error:
        print(f"{path.name}: corrupt ({error})")
        continue
    digest = hashlib.md5(path.read_bytes()).hexdigest()  # identical bytes give identical hashes
    if digest in seen:
        print(f"{path.name}: duplicate of {seen[digest]}")
    seen.setdefault(digest, path.name)

El script imprime b.jpg: duplicate of a.jpg y c.jpg: corrupt (image file is truncated (5 bytes not processed)). Es importante decodificar completamente cada imagen, porque abrir un archivo solo lee su cabecera y un archivo truncado puede superar esa comprobación. Ultralytics YOLO realiza comprobaciones relacionadas cada vez que crea la caché de etiquetas de un conjunto de datos: vuelve a guardar los JPEG a los que les falta el marcador de fin de imagen, elimina las filas de etiquetas duplicadas y omite los pares de imagen y etiqueta si las imágenes tienen menos de 10 píxeles, las coordenadas quedan fuera de la imagen o los ID de clase superan los del conjunto de datos YAML; después, informa del número de imágenes, fondos y archivos corruptos en el resumen del análisis.

  • Preprocesamiento de datos: Transforma datos que ya son correctos al formato que espera un modelo, por ejemplo, cambiando el tamaño de las imágenes y normalizando los valores de los píxeles. La limpieza determina qué datos son correctos.
  • Aumento de datos: Añade variaciones deliberadas, como volteos y cambios de color, a datos limpios durante el entrenamiento.
  • Etiquetado de datos: Crea etiquetas para datos sin etiquetar, mientras que la limpieza audita y corrige las etiquetas existentes.
  • Sesgo del conjunto de datos: Un conjunto de datos puede no contener errores y aun así representar insuficientemente ciertas condiciones o grupos. Corregir el sesgo requiere recopilar otros datos; la limpieza por sí sola no puede hacerlo.

Explora las soluciones

Visión artificial en el deporte

Visión artificial en el deporte

Descubre cómo Ultralytics YOLO impulsa la visión artificial en el deporte con el seguimiento de jugadores y balones, analíticas de rendimiento, información útil para entrenadores y rehabilitación de deportistas.
Más información
Visión artificial para imágenes aéreas

Visión artificial para imágenes aéreas

Convierte imágenes aéreas y de drones en información útil en tiempo real para la agricultura, la acuicultura, la conservación y el análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en el sector aeroespacial

Visión artificial en el sector aeroespacial

Aplica la visión artificial en el sector aeroespacial con Ultralytics YOLO para inspeccionar aeronaves, detectar objetos extraños en pistas, gestionar operaciones en tierra y detectar defectos en materiales compuestos.
Más información
Visión artificial en seguridad

Visión artificial en seguridad

Protege todas tus instalaciones con los modelos Ultralytics YOLO. La IA visual permite supervisar perímetros, detectar amenazas, reconocer matrículas y mejorar la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Potencia máquinas más inteligentes con los modelos Ultralytics YOLO. La IA visual en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Visión artificial en logística

Visión artificial en logística

Agiliza la logística con modelos Ultralytics YOLO. La IA visual permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad del almacén en tiempo real.
Más información
Visión artificial en el comercio minorista

Visión artificial en el comercio minorista

Reinventa el comercio minorista con modelos Ultralytics YOLO. La IA visual permite realizar el seguimiento del inventario, supervisar estanterías, gestionar colas y obtener información más útil sobre los clientes.
Más información
Visión artificial en el sector sanitario

Visión artificial en el sector sanitario

Desarrolla soluciones sanitarias con modelos Ultralytics YOLO. La IA visual en el sector sanitario permite acelerar el diagnóstico por imagen, mejorar los diagnósticos y supervisar a los pacientes.
Más información
Visión artificial en la fabricación

Visión artificial en la fabricación

Optimiza la fabricación con modelos Ultralytics YOLO. La IA visual mejora el control de calidad, la detección de defectos, el cumplimiento de las normas de uso de EPI y la automatización de las líneas de montaje.
Más información
Visión artificial en la automoción

Visión artificial en la automoción

Aplica la visión artificial al sector de la automoción con modelos Ultralytics YOLO. La IA visual mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para lograr carreteras más inteligentes.
Más información
Visión artificial en la agricultura

Visión artificial en la agricultura

Incorpora la IA de visión a la agricultura inteligente con modelos Ultralytics YOLO. Impulsa la monitorización de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas más abundantes e inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Inicia tu recorrido hacia el futuro del aprendizaje automático