Ultralytics YOLO27: Entre na lista de espera.
Licenciar o YOLO
Voltar ao glossário da Ultralytics

Data Cleaning

A limpeza de dados identifica e corrige arquivos corrompidos, duplicatas, valores ausentes e erros de rótulo em um conjunto de dados antes do treinamento. Veja técnicas, ferramentas e código.

A limpeza de dados, também chamada higienização ou depuração de dados, é o processo de encontrar e corrigir ou remover registros corrompidos, duplicados, incompletos, inconsistentes e com rótulos incorretos em um conjunto de dados. No aprendizado de máquina (ML), ela vem antes do pré-processamento de dados e do treinamento, pois um modelo aprende tudo o que seus dados de treinamento contêm, inclusive os erros. Um detector treinado com imagens em que metade das bicicletas está rotulada como "motocicleta" aprende essa confusão, e um conjunto de teste com rótulos incorretos informa uma avaliação errada da qualidade do modelo. A limpeza é uma prática central da IA centrada em dados, que aprimora os modelos melhorando os dados, e não a arquitetura.

Por que a qualidade dos dados limita os modelos#

Os erros nos dados prejudicam a precisão de várias maneiras. Exemplos com rótulos incorretos ensinam relações erradas entre entrada e saída e levam o modelo ao superajuste à medida que ele memoriza o ruído. Duplicatas dão peso extra a alguns exemplos e, quando cópias aparecem tanto nas partições de treinamento quanto nas de avaliação, causam vazamento de dados, inflando as pontuações. Arquivos corrompidos causam falhas nos carregadores de dados ou são ignorados silenciosamente, e nomes inconsistentes de classes dividem uma categoria em várias. Os benchmarks também são afetados: um estudo de 10 conjuntos de teste amplamente utilizados estimou erros de rótulo em pelo menos 3,3% dos exemplos, em média, e em pelo menos 6% do conjunto de validação do ImageNet. Avaliado com rótulos corrigidos, o ResNet-18 supera o ResNet-50 quando a proporção de exemplos de teste originalmente rotulados incorretamente aumenta apenas 6%.

Tarefas comuns de limpeza de dados#

Os dados tabulares geralmente são limpos com bibliotecas como pandas, enquanto os conjuntos de dados de visão precisam de verificações dos arquivos de imagem e das anotações, dos pixels às coordenadas da caixa delimitadora. Imagens quase duplicadas são encontradas comparando embeddings, e a busca vetorial permite escalar a comparação para milhões de imagens.

  • Valores ausentes: Registros com campos vazios são descartados ou preenchidos por imputação baseada em estatísticas da coluna ou nos vizinhos mais próximos. Em conjuntos de dados de visão, uma imagem sem arquivo de rótulo é ambígua, pois pode ser uma imagem de fundo intencional ou uma imagem que ninguém anotou.
  • Duplicatas e quase duplicatas: Arquivos idênticos byte a byte compartilham o mesmo hash. Cópias redimensionadas ou recomprimidas e quadros consecutivos de vídeo não compartilham o mesmo hash, por isso exigem hashes perceptuais ou similaridade entre embeddings.
  • Arquivos corrompidos e inválidos: Downloads truncados, formatos incompatíveis, modos de cor inesperados e imagens minúsculas não podem ser decodificados ou não contêm informações úteis.
  • Erros de rótulo: Classes incorretas, objetos ausentes e caixas imprecisas ou mal posicionadas são os erros mais custosos em dados de visão supervisionada e os mais difíceis de encontrar a olho nu.
  • Categorias inconsistentes: Grafias como "Car" e "car", ou classes sobrepostas como "automóvel" e "veículo", são reunidas em uma taxonomia única para que cada conceito tenha um rótulo.
  • Valores atípicos: Valores impossíveis, como idades negativas ou caixas que ultrapassam a borda da imagem, são erros a corrigir. Casos raros, mas válidos, são mantidos, pois muitas vezes são exatamente esses casos extremos que o modelo mais precisa aprender.

Como encontrar erros de rótulo com um modelo#

Revisar manualmente cada rótulo não é escalável, por isso os pipelines de limpeza usam um modelo treinado para priorizar os rótulos que devem ser inspecionados. O aprendizado confiável, implementado na biblioteca de código aberto cleanlab, usa probabilidades previstas fora da amostra obtidas por validação cruzada e sinaliza exemplos em que o modelo prevê com confiança uma classe diferente daquela indicada pelo rótulo. A decisão final continua sendo das pessoas: no estudo do conjunto de teste citado acima, revisores terceirizados confirmaram que 51% dos candidatos sinalizados pelo algoritmo eram erros de rótulo reais.

Automatizar verificações de arquivos#

As verificações no nível do arquivo são baratas o bastante para serem executadas em cada novo lote de dados, junto com as auditorias de rótulos e equilíbrio de classes abordadas na lição Controle de qualidade de conjuntos de dados. O script a seguir cria uma pequena pasta com uma imagem, uma cópia exata e um arquivo truncado, depois sinaliza a cópia e o arquivo corrompido usando Pillow e um hash de conteúdo:

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)

O script imprime b.jpg: duplicate of a.jpg e c.jpg: corrupt (image file is truncated (5 bytes not processed)). É importante decodificar cada imagem por completo, pois abrir um arquivo lê apenas o cabeçalho, e um arquivo truncado pode passar nessa etapa. O Ultralytics YOLO executa verificações relacionadas sempre que cria o cache de rótulos de um conjunto de dados: salva novamente JPEGs sem o marcador de fim de imagem, remove linhas de rótulo duplicadas e ignora pares de imagem e rótulo cujas imagens tenham menos de 10 pixels, coordenadas fora da imagem ou IDs de classe além dos presentes no YAML do conjunto de dados. Em seguida, informa as quantidades de imagens, fundos e arquivos corrompidos no resumo da verificação.

  • Pré-processamento de dados: Transforma dados que já estão corretos no formato esperado pelo modelo, por exemplo, redimensionando imagens e normalizando valores de pixel. A limpeza determina quais dados estão corretos.
  • Aumento de dados: Adiciona variações intencionais, como inversões e alterações de cor, aos dados limpos durante o treinamento.
  • Rotulagem de dados: Cria rótulos para dados sem rótulos, enquanto a limpeza audita e corrige os rótulos existentes.
  • Viés do conjunto de dados: Um conjunto de dados pode não ter erros e ainda assim representar insuficientemente algumas condições ou grupos. Corrigir o viés exige coletar dados diferentes, algo que a limpeza, por si só, não consegue fazer.

Explore as soluções

Visão computacional no desporto

Visão computacional no desporto

Descubra como o Ultralytics YOLO impulsiona a visão computacional no esporte com rastreamento de jogadores e bolas, análise de desempenho, insights para treinadores e reabilitação de atletas.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens de drones e aéreas em informações em tempo real para a agricultura, a aquacultura, a conservação e a análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Aplica visão computacional na indústria aeroespacial com Ultralytics YOLO para inspecionar aeronaves, detetar objetos estranhos na pista (FOD), apoiar operações aeroportuárias em terra e detetar defeitos em materiais compósitos.
Saiba mais
Visão computacional na segurança

Visão computacional na segurança

Protege todas as instalações com os modelos Ultralytics YOLO. A IA visual permite monitorizar perímetros, detetar ameaças, reconhecer matrículas e melhorar a segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Potencia máquinas mais inteligentes com os modelos Ultralytics YOLO. A IA visual na robótica permite navegação autónoma, perceção, rastreamento de objetos e controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Otimize a logística com os modelos Ultralytics YOLO. A IA de visão permite inspecionar pacotes, fazer triagem, rastrear veículos e monitorar a segurança em tempo real nos armazéns.
Saiba mais
Visão computacional no varejo

Visão computacional no varejo

Reinvente o varejo com os modelos Ultralytics YOLO. A IA de visão permite rastrear o estoque, monitorar prateleiras, gerenciar filas e obter insights mais inteligentes sobre clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Desenvolva soluções de saúde com os modelos Ultralytics YOLO. A IA de visão na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitoramento de pacientes.
Saiba mais
Visão computacional na manufatura

Visão computacional na manufatura

Otimize a manufatura com modelos Ultralytics YOLO. A IA visual impulsiona o controle de qualidade, a detecção de defeitos, a conformidade com o uso de EPI e a automação da linha de montagem.
Saiba mais
Visão computacional no setor automotivo

Visão computacional no setor automotivo

Aplique visão computacional no setor automotivo com modelos Ultralytics YOLO. A IA visual aumenta a segurança viária, aprimora a assistência ao condutor e viabiliza a automação de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão à agricultura inteligente com os modelos Ultralytics YOLO. Aprimore o monitoramento de plantações, o rastreamento de animais e a agricultura de precisão para obter safras maiores e mais inteligentes.
Saiba mais

Vamos construir juntos o futuro da IA!

Comece sua jornada rumo ao futuro do aprendizado de máquina