Link to this sectionMelhore seu conjunto de dados para treinar o YOLO26 usando o Albumentations#
Ao criar modelos de visão computacional, a qualidade e a variedade dos seus dados de treinamento podem desempenhar um papel importante no desempenho do seu modelo. O Albumentations oferece uma maneira rápida, flexível e eficiente de aplicar uma ampla gama de transformações de imagem que podem melhorar a capacidade do seu modelo de se adaptar a cenários do mundo real. Ele se integra facilmente ao Ultralytics YOLO26 e pode te ajudar a criar conjuntos de dados robustos para tarefas de detecção de objetos, segmentação e classificação.
Ao usar o Albumentations, você pode impulsionar seus dados de treinamento do YOLO26 com técnicas como transformações geométricas e ajustes de cores. Neste artigo, veremos como o Albumentations pode melhorar seu processo de aumento de dados e tornar seus projetos YOLO26 ainda mais impactantes. Vamos começar!
Link to this sectionAlbumentations para aumento de imagens#
Albumentations é uma biblioteca de aumento de imagens de código aberto criada em junho de 2018. Ela foi projetada para simplificar e acelerar o processo de aumento de imagens em visão computacional. Criada com desempenho e flexibilidade em mente, ela suporta muitas técnicas de aumento diversas, variando de transformações simples, como rotações e espelhamentos, a ajustes mais complexos, como mudanças de brilho e contraste. O Albumentations ajuda desenvolvedores a gerar conjuntos de dados ricos e variados para tarefas como classificação de imagens, detecção de objetos e segmentação.
Você pode usar o Albumentations para aplicar facilmente aumentos a imagens, máscaras de segmentação, caixas delimitadoras e pontos-chave, garantindo que todos os elementos do seu conjunto de dados sejam transformados em conjunto. Ele funciona perfeitamente com estruturas populares de aprendizado profundo como PyTorch e TensorFlow, tornando-o acessível para uma ampla gama de projetos.
Além disso, o Albumentations é uma ótima opção para aumento, independentemente de você estar lidando com pequenos conjuntos de dados ou tarefas de visão computacional em larga escala. Ele garante um processamento rápido e eficiente, reduzindo o tempo gasto na preparação dos dados. Ao mesmo tempo, ajuda a melhorar o desempenho do modelo, tornando seus modelos mais eficazes em aplicações do mundo real.
Link to this sectionPrincipais recursos do Albumentations#
O Albumentations oferece muitos recursos úteis que simplificam aumentos complexos de imagem para uma ampla gama de aplicações de visão computacional. Aqui estão alguns dos principais recursos:
- Ampla gama de transformações: O Albumentations oferece mais de 70 transformações diferentes, incluindo mudanças geométricas (por exemplo, rotação, espelhamento), ajustes de cor (por exemplo, brilho, contraste) e adição de ruído (por exemplo, ruído Gaussiano). Ter múltiplas opções permite a criação de conjuntos de dados de treinamento altamente diversos e robustos.
-
Otimização de alto desempenho: Construído sobre OpenCV e NumPy, o Albumentations usa técnicas de otimização avançadas como SIMD (Single Instruction, Multiple Data), que processa múltiplos pontos de dados simultaneamente para acelerar o processamento. Ele lida com grandes conjuntos de dados rapidamente, tornando-se uma das opções mais rápidas disponíveis para aumento de imagens.
-
Três níveis de aumento: O Albumentations suporta três níveis de aumento: transformações de nível de pixel, transformações de nível espacial e transformações de nível de mistura. As transformações de nível de pixel afetam apenas as imagens de entrada sem alterar máscaras, caixas delimitadoras ou pontos-chave. Enquanto isso, tanto a imagem quanto seus elementos, como máscaras e caixas delimitadoras, são transformados usando transformações de nível espacial. Além disso, as transformações de nível de mistura são uma maneira única de aumentar dados, pois combinam várias imagens em uma só.

- Resultados de benchmarking: Quando se trata de benchmarking, o Albumentations supera consistentemente outras bibliotecas, especialmente com grandes conjuntos de dados.
Link to this sectionPor que você deve usar o Albumentations para seus projetos de IA de visão?#
Em relação ao aumento de imagens, o Albumentations se destaca como uma ferramenta confiável para tarefas de visão computacional. Aqui estão alguns motivos principais pelos quais você deve considerar usá-lo para seus projetos de IA de visão:
-
API fácil de usar: O Albumentations fornece uma API única e direta para aplicar uma ampla gama de aumentos a imagens, máscaras, caixas delimitadoras e pontos-chave. Ele foi projetado para se adaptar facilmente a diferentes conjuntos de dados, tornando a preparação de dados mais simples e eficiente.
-
Testes rigorosos contra bugs: Bugs no pipeline de aumento podem corromper silenciosamente os dados de entrada, muitas vezes passando despercebidos, mas degradando o desempenho do modelo. O Albumentations resolve isso com um conjunto de testes completo que ajuda a detectar bugs precocemente no desenvolvimento.
-
Extensibilidade: O Albumentations pode ser usado para adicionar facilmente novos aumentos e usá-los em pipelines de visão computacional através de uma interface única, juntamente com transformações integradas.
Link to this sectionComo usar o Albumentations para aumentar dados para o treinamento do YOLO26#
Agora que cobrimos o que é o Albumentations e o que ele pode fazer, vamos ver como usá-lo para aumentar seus dados para o treinamento do modelo YOLO26. É fácil de configurar porque ele se integra diretamente ao modo de treinamento da Ultralytics e é aplicado automaticamente se você tiver o pacote Albumentations instalado.
Link to this sectionInstalação#
Para usar o Albumentations com o YOLO26, comece garantindo que você tenha os pacotes necessários instalados. Se o Albumentations não estiver instalado, os aumentos não serão aplicados durante o treinamento. Uma vez configurado, você estará pronto para criar um conjunto de dados aumentado para treinamento, com o Albumentations integrado para aprimorar seu modelo automaticamente.
# Install the required packages
pip install albumentations ultralyticsPara obter instruções detalhadas e práticas recomendadas relacionadas ao processo de instalação, consulte nosso Guia de Instalação do Ultralytics. Ao instalar os pacotes necessários para o YOLO26, se você encontrar alguma dificuldade, consulte nosso Guia de Problemas Comuns para obter soluções e dicas.
Link to this sectionUso#
Após instalar os pacotes necessários, você está pronto para começar a usar o Albumentations com o YOLO26. Ao treinar o YOLO26, um conjunto de aumentos é aplicado automaticamente através de sua integração com o Albumentations, tornando fácil melhorar o desempenho do seu modelo.
from ultralytics import YOLO
# Load a pretrained model
model = YOLO("yolo26n.pt")
# Train the model with default augmentations
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)Em seguida, vamos analisar mais de perto os aumentos específicos que são aplicados durante o treinamento.
Link to this sectionDesfoque#
A transformação Blur no Albumentations aplica um efeito de desfoque simples à imagem, calculando a média dos valores de pixel dentro de uma pequena área quadrada, ou kernel. Isso é feito usando a função cv2.blur do OpenCV, que ajuda a reduzir o ruído na imagem, embora também reduza levemente os detalhes da mesma.
Aqui estão os parâmetros e valores usados nesta integração:
-
blur_limit: Isso controla a faixa de tamanho do efeito de desfoque. A faixa padrão é (3, 7), o que significa que o tamanho do kernel para o desfoque pode variar entre 3 e 7 pixels, com apenas números ímpares permitidos para manter o desfoque centralizado.
-
p: A probabilidade de aplicar o desfoque. Na integração, p=0.01, então há 1% de chance de que esse desfoque seja aplicado a cada imagem. A baixa probabilidade permite efeitos de desfoque ocasionais, introduzindo um pouco de variação para ajudar o modelo a generalizar sem desfocar excessivamente as imagens.
Link to this sectionDesfoque Mediano#
A transformação MedianBlur no Albumentations aplica um efeito de desfoque mediano à imagem, o que é particularmente útil para reduzir ruído enquanto preserva as bordas. Diferente dos métodos típicos de desfoque, o MedianBlur usa um filtro mediano, que é especialmente eficaz na remoção de ruído sal-e-pimenta enquanto mantém a nitidez ao redor das bordas.
Aqui estão os parâmetros e valores usados nesta integração:
-
blur_limit: Este parâmetro controla o tamanho máximo do kernel de desfoque. Nesta integração, o padrão é uma faixa de (3, 7), o que significa que o tamanho do kernel para o desfoque é escolhido aleatoriamente entre 3 e 7 pixels, com apenas valores ímpares permitidos para garantir o alinhamento adequado.
-
p: Define a probabilidade de aplicar o desfoque mediano. Aqui, p=0.01, portanto, a transformação tem 1% de chance de ser aplicada a cada imagem. Essa baixa probabilidade garante que o desfoque mediano seja usado com moderação, ajudando o modelo a generalizar ao ver ocasionalmente imagens com ruído reduzido e bordas preservadas.
A imagem abaixo mostra um exemplo deste aumento aplicado a uma imagem.
Link to this sectionEscala de cinza#
A transformação ToGray no Albumentations converte uma imagem para escala de cinza, reduzindo-a para um formato de canal único e, opcionalmente, replicando esse canal para corresponder a um número especificado de canais de saída. Diferentes métodos podem ser usados para ajustar como o brilho em escala de cinza é calculado, variando de uma simples média a técnicas mais avançadas para uma percepção realista de contraste e brilho.
Aqui estão os parâmetros e valores usados nesta integração:
-
num_output_channels: Define o número de canais na imagem de saída. Se este valor for maior que 1, o canal único de escala de cinza será replicado para criar uma imagem em escala de cinza multicanal. Por padrão, é definido como 3, resultando em uma imagem em escala de cinza com três canais idênticos.
-
method: Define o método de conversão de escala de cinza. O método padrão, "weighted_average", aplica uma fórmula (0.299R + 0.587G + 0.114B) que se alinha de perto com a percepção humana, proporcionando um efeito de escala de cinza de aparência natural. Outras opções, como "from_lab", "desaturation", "average", "max" e "pca", oferecem maneiras alternativas de criar imagens em escala de cinza com base em várias necessidades de velocidade, ênfase no brilho ou preservação de detalhes.
-
p: Controla a frequência com que a transformação de escala de cinza é aplicada. Com p=0.01, há 1% de chance de converter cada imagem para escala de cinza, tornando possível uma mistura de imagens coloridas e em escala de cinza para ajudar o modelo a generalizar melhor.
A imagem abaixo mostra um exemplo desta transformação de escala de cinza aplicada.
Link to this sectionEqualização de Histograma Adaptativo Limitada por Contraste (CLAHE)#
A transformação CLAHE no Albumentations aplica a Equalização de Histograma Adaptativo Limitada por Contraste (CLAHE), uma técnica que melhora o contraste da imagem equalizando o histograma em regiões localizadas (ladrilhos) em vez de em toda a imagem. O CLAHE produz um efeito de realce equilibrado, evitando o contraste excessivamente amplificado que pode resultar da equalização de histograma padrão, especialmente em áreas com baixo contraste inicial.
Aqui estão os parâmetros e valores usados nesta integração:
-
clip_limit: Controla a faixa de aprimoramento de contraste. Definido como uma faixa padrão de (1, 4), ele determina o contraste máximo permitido em cada ladrilho. Valores mais altos são usados para mais contraste, mas também podem introduzir ruído.
-
tile_grid_size: Define o tamanho da grade de ladrilhos, normalmente como (linhas, colunas). O valor padrão é (8, 8), o que significa que a imagem é dividida em uma grade de 8x8. Tamanhos de ladrilho menores fornecem ajustes mais localizados, enquanto os maiores criam efeitos mais próximos da equalização global.
-
p: A probabilidade de aplicar o CLAHE. Aqui, p=0.01 introduz o efeito de aprimoramento apenas 1% das vezes, garantindo que os ajustes de contraste sejam aplicados com moderação para variação ocasional nas imagens de treinamento.
A imagem abaixo mostra um exemplo da transformação CLAHE aplicada.
Link to this sectionUsando transformações personalizadas do Albumentations#
Embora a integração padrão do Albumentations forneça um conjunto sólido de aumentos, você pode querer personalizar as transformações para o seu caso de uso específico. Com o Ultralytics YOLO26, você pode facilmente passar transformações personalizadas do Albumentations através da API Python usando o parâmetro augmentations.
Link to this sectionComo definir transformações personalizadas#
Você pode definir sua própria lista de transformações do Albumentations e passá-las para a função de treinamento. Isso substitui as transformações padrão do Albumentations enquanto mantém todos os outros aumentos do YOLO (como hsv_h, degrees, mosaic, etc.) ativos.
Aqui está um exemplo com transformações mais avançadas:
import albumentations as A
from ultralytics import YOLO
# Load model
model = YOLO("yolo26n.pt")
# Define custom transforms with various augmentation techniques
custom_transforms = [
# Blur variations
A.OneOf(
[
A.MotionBlur(blur_limit=7, p=1.0),
A.MedianBlur(blur_limit=7, p=1.0),
A.GaussianBlur(blur_limit=7, p=1.0),
],
p=0.3,
),
# Noise variations
A.OneOf(
[
A.GaussNoise(var_limit=(10.0, 50.0), p=1.0),
A.ISONoise(color_shift=(0.01, 0.05), intensity=(0.1, 0.5), p=1.0),
],
p=0.2,
),
# Color and contrast adjustments
A.CLAHE(clip_limit=4.0, tile_grid_size=(8, 8), p=0.5),
A.RandomBrightnessContrast(brightness_limit=0.3, contrast_limit=0.3, p=0.5),
A.HueSaturationValue(hue_shift_limit=20, sat_shift_limit=30, val_shift_limit=20, p=0.5),
# Simulate occlusions
A.CoarseDropout(
max_holes=8, max_height=32, max_width=32, min_holes=1, min_height=8, min_width=8, fill_value=0, p=0.2
),
]
# Train with custom transforms
results = model.train(
data="coco8.yaml",
epochs=100,
imgsz=640,
augmentations=custom_transforms,
)Link to this sectionConsiderações importantes#
Ao usar transformações personalizadas do Albumentations, tenha estes pontos em mente:
- Apenas API Python: Transformações personalizadas só podem ser passadas através da API Python, não via CLI ou arquivos de configuração YAML.
- Substitui padrões: Suas transformações personalizadas substituirão completamente as transformações padrão do Albumentations. Outros aumentos do YOLO permanecem ativos.
- Manuseio de caixas delimitadoras: A Ultralytics lida automaticamente com ajustes de caixas delimitadoras para a maioria das transformações, mas transformações espaciais complexas podem exigir testes adicionais.
- Desempenho: Algumas transformações são computacionalmente caras. Monitore a velocidade de treinamento e ajuste conforme necessário.
- Compatibilidade de tarefas: Transformações personalizadas do Albumentations funcionam com tarefas de detecção e segmentação, mas não com classificação (que usa um pipeline de aumento diferente).
Link to this sectionCasos de uso para transformações personalizadas#
Diferentes aplicações se beneficiam de diferentes estratégias de aumento:
- Imagens médicas: Use deformações elásticas, distorções de grade e padrões de ruído especializados
- Imagens aéreas/de satélite: Aplique transformações que simulam diferentes altitudes, condições climáticas e ângulos de iluminação
- Cenários de baixa luminosidade: Enfatize a adição de ruído e ajustes de brilho para treinar modelos robustos para iluminação desafiadora
- Inspeção industrial: Adicione variações de textura e defeitos simulados para aplicações de controle de qualidade
Para uma lista completa de transformações disponíveis e seus parâmetros, visite a documentação do Albumentations.
Para exemplos mais detalhados e práticas recomendadas sobre o uso de transformações personalizadas do Albumentations com o YOLO26, consulte o guia de Aumento de Dados YOLO.
Link to this sectionContinue aprendendo sobre o Albumentations#
Se você estiver interessado em aprender mais sobre o Albumentations, confira os seguintes recursos para obter instruções e exemplos mais detalhados:
-
Documentação do Albumentations: A documentação oficial fornece uma gama completa de transformações suportadas e técnicas de uso avançadas.
-
Guia do Albumentations da Ultralytics: Obtenha uma visão mais detalhada das funções que facilitam essa integração.
-
Repositório GitHub do Albumentations: O repositório inclui exemplos, benchmarks e discussões para te ajudar a começar com a personalização de aumentos.
Link to this sectionPrincipais conclusões#
Neste guia, exploramos os principais aspectos do Albumentations, uma ótima biblioteca Python para aumento de imagens. Discutimos sua ampla gama de transformações, desempenho otimizado e como você pode usá-lo em seu próximo projeto YOLO26.
Além disso, se quiser saber mais sobre outras integrações do Ultralytics YOLO26, visite nossa página de guia de integração. Você encontrará recursos e insights valiosos lá.
Link to this sectionFAQ#
Link to this sectionComo posso integrar o Albumentations com o YOLO26 para um aumento de dados aprimorado?#
O Albumentations integra-se perfeitamente ao YOLO26 e é aplicado automaticamente durante o treinamento se você tiver o pacote instalado. Veja como começar:
# Install required packages
# !pip install albumentations ultralytics
from ultralytics import YOLO
# Load and train model with automatic augmentations
model = YOLO("yolo26n.pt")
model.train(data="coco8.yaml", epochs=100)A integração inclui aumentos otimizados como desfoque, desfoque mediano, conversão para escala de cinza e CLAHE com probabilidades cuidadosamente ajustadas para melhorar o desempenho do modelo.
Link to this sectionQuais são os principais benefícios de usar o Albumentations em relação a outras bibliotecas de aumento?#
O Albumentations se destaca por vários motivos:
- Desempenho: Construído sobre OpenCV e NumPy com otimização SIMD para velocidade superior
- Flexibilidade: Suporta mais de 70 transformações em aumentos de nível de pixel, nível espacial e nível de mistura
- Compatibilidade: Funciona perfeitamente com estruturas populares como PyTorch e TensorFlow
- Confiabilidade: Conjunto de testes abrangente evita corrupção silenciosa de dados
- Facilidade de uso: API unificada única para todos os tipos de aumento
Link to this sectionQue tipos de tarefas de visão computacional podem se beneficiar do aumento do Albumentations?#
O Albumentations aprimora várias tarefas de visão computacional, incluindo:
- Detecção de Objetos: Melhora a robustez do modelo a variações de iluminação, escala e orientação
- Segmentação de Instância: Aprimora a precisão da predição de máscara através de transformações diversas
- Classificação: Aumenta a generalização do modelo com aumentos de cor e geométricos
- Estimativa de Pose: Ajuda os modelos a se adaptarem a diferentes pontos de vista e condições de iluminação
As diversas opções de aumento da biblioteca a tornam valiosa para qualquer tarefa de visão que exija um desempenho robusto do modelo.