Yolo Vision Shenzhen
Shenzhen
Junte-se agora

Como treinar Ultralytics para segmentação de instâncias

Aprenda a treinar Ultralytics para segmentação de instâncias, onde o modelo identifica e separa cada objeto individual usando máscaras ao nível do pixel.

Graças aos recentes avanços tecnológicos, muitos sistemas inteligentes que desempenham um papel silencioso, mas impactante nas nossas vidas, são alimentados por IA. Por exemplo, quando um carro passa um semáforo vermelho e uma câmara grava automaticamente a infração, ou quando um sistema automatizado de inspeção de qualidade detecta um defeito de fabrico numa linha de produção, a IA está a fazer o trabalho nos bastidores.

Em particular, um ramo da IA conhecido como visão computacional permite que as máquinas interpretem e compreendam imagens e vídeos. A visão computacional permite que os sistemas reconheçam objetos, track e analisem detalhes visuais em tempo real, tornando-a essencial para aplicações como monitoramento de tráfego, inspeção industrial e robótica.

Esses recursos são possíveis graças a modelos de visão computacional, como Ultralytics , que suporta uma variedade de tarefas de visão, incluindo deteção de objetos e segmentação de instâncias. Enquanto a deteção de objetos identifica objetos usando caixas delimitadoras simples, a segmentação de instâncias vai além, delineando cada objeto ao nível do pixel, permitindo resultados mais precisos e confiáveis em cenários do mundo real.

Fig. 1. Segmentação de objetos numa imagem utilizando YOLO26

Modelos como o YOLO26 são pré-treinados e podem segment objetos segment , como pessoas, carros e animais, logo após serem instalados. No entanto, para aplicações mais específicas, eles também podem ser treinados de forma personalizada. Em outras palavras, os modelos podem aprender a entender a aparência dos objetos e como contorná-los com precisão.

Neste artigo, vamos explicar como treinar Ultralytics para segmentação de instâncias. Vamos começar!

O que é segmentação de instâncias?

Antes de nos aprofundarmos nos modelos de treino, vamos dar um passo atrás e entender o que realmente significa segmentação de instâncias.

A segmentação de instâncias é uma tarefa de visão computacional que permite a um modelo encontrar cada objeto individual numa imagem e delinear a sua forma exata. Em vez de apenas identificar que um objeto existe, o modelo analisa cada pixel da imagem e decide se ele pertence a um objeto específico. 

Isso significa que ele pode separar objetos mesmo quando eles se sobrepõem ou estão muito próximos uns dos outros. Um conceito fundamental que facilita a visualização da segmentação de instâncias é a máscara. 

Uma máscara é um contorno ao nível dos pixels que cobre apenas a área de um objeto. Pode pensar nisso como colorir o objeto com um marcador, deixando tudo o resto intacto. 

Cada objeto recebe a sua própria máscara, o que permite ao modelo distinguir um objeto de outro, mesmo que sejam do mesmo tipo, como dois carros ou duas pessoas lado a lado. 

Fig. 2. Uma análise da segmentação de instâncias

Para entender melhor o que é segmentação de instâncias, podemos compará-la com outras tarefas comuns de visão computacional. A deteção de objetos usa caixas delimitadoras, que são simples retângulos desenhados ao redor dos objetos. As caixas delimitadoras são rápidas e úteis, mas não capturam a forma exata de um objeto. 

Por outro lado, a segmentação semântica rotula cada pixel da imagem por categoria, mas não distingue entre objetos separados da mesma classe. A segmentação de instância combina o melhor das duas abordagens, identificando categorias de objetos e atribuindo uma máscara separada a cada objeto individual.

Como a segmentação de instâncias fornece informações tão detalhadas, ela é especialmente útil em aplicações do mundo real, como inspeção de qualidade automatizada, imagens médicas e robótica. Tarefas que exigem medições precisas, limites exatos ou separação de objetos podem se beneficiar dessa compreensão em nível de pixel.

Ultralytics suporta segmentação de instâncias 

Ultralytics é um modelo de visão computacional de ponta, sem supressão não máxima (NMS), projetado para lidar com tarefas de visão do mundo real de forma rápida e eficiente. Ele pertence àYOLO de modelos de detecção Ultralytics YOLO , que pode processar imagens e vídeos em tempo real, fornecendo resultados precisos. 

O YOLO26 suporta várias tarefas de visão dentro de uma única estrutura, incluindo deteção de objetos, estimativa de pose, classificação de imagens, deteção de caixas delimitadoras orientadas (obb ) e segmentação de instâncias. 

Pronto a usar, o YOLO26 vem pré-treinado, o que significa que já aprendeu a reconhecer objetos comuns, como pessoas, veículos e itens do dia a dia, a partir de grandes conjuntos de dados amplamente utilizados, como o COCO e o ImageNet . Pode começar a usar o modelo imediatamente, sem qualquer treino adicional.

No entanto, quando a sua aplicação envolve objetos únicos, ambientes específicos ou condições de iluminação incomuns, o treino de modelos personalizados pode melhorar significativamente os resultados. Ao treinar o YOLO26 com as suas próprias imagens rotuladas, pode ensinar ao modelo exatamente o que procurar e como delinear objetos com mais precisão para o seu caso de uso específico.

Este processo também é conhecido como ajuste fino. Em vez de treinar um modelo do zero, o ajuste fino começa com um modelo YOLO26 pré-treinado e o adapta suavemente usando os seus próprios dados. Como o modelo já compreende padrões visuais gerais, como bordas, formas e texturas, ele precisa de muito menos imagens rotuladas e muito menos tempo para aprender os seus objetos específicos.

Em termos simples, o ajuste fino é mais rápido, mais eficiente e mais acessível do que treinar um modelo do zero. O treinamento personalizado do YOLO26 é uma opção prática mesmo para iniciantes ou equipas que trabalham com dados e recursos computacionais limitados.

Explorando as aplicações da segmentação de instâncias YOLO26

Então, onde a segmentação de instâncias pode ser impactante? Em situações em que é importante distinguir objetos e compreender as suas formas exatas, especialmente quando há muitos objetos ou eles se sobrepõem.

Aqui estão alguns fluxos de trabalho comuns em que a segmentação de instâncias faz uma diferença real:

  • Imagens aéreas e com drones: Esta tarefa permite que os drones separem objetos como edifícios, veículos e vegetação em imagens aéreas para mapeamento, inspeção e levantamento topográfico.
  • Análise desportiva: a segmentação de instâncias ajuda a analisar os movimentos e as interações dos jogadores, separando os atletas individuais do fundo durante os jogos ou sessões de treino.
  • Monitorização de construções e infraestruturas: ajuda a identificar elementos estruturais, fissuras ou áreas danificadas em edifícios, pontes e estradas para o planeamento da manutenção.
  • Cuidados de saúde e imagiologia médica: a segmentação de instâncias permite delinear com precisão células, tecidos ou instrumentos médicos, contribuindo para uma análise e um diagnóstico mais precisos.
  • Agricultura e monitorização ambiental: pode identificar e separar culturas, frutos ou doenças das plantas, facilitando a estimativa de rendimentos e a aplicação de tratamentos direcionados.
Fig. 3. Um exemplo de segmentação de ervas daninhas usando YOLO26 (Fonte)

Como funciona o treinamento personalizado do YOLO26 para segmentação de instâncias

A seguir, vamos discutir como funciona o treinamento personalizado. Embora treinar um modelo possa parecer técnico, o processo geral é simples.

Pode preparar as suas imagens, rotular os objetos que deseja que o modelo aprenda, configurar um pequeno ficheiro de definições e, em seguida, treinar o YOLO26 usando o Python Ultralytics Python . OPython Ultralytics Python é uma biblioteca de software que fornece ferramentas prontas a usar para treinar, testar e implementar YOLO sem precisar de construir tudo do zero.

Passo 1: Prepare o seu conjunto de dados personalizado

O primeiro passo é preparar o seu conjunto de dados de segmentação personalizado. Um conjunto de dados é simplesmente uma coleção de imagens que mostram os objetos que pretende que o modelo aprenda. 

Tente incluir imagens que reflitam condições do mundo real, como diferentes ângulos, iluminação, fundos e tamanhos de objetos. Quanto mais variadas forem as suas imagens, melhor será o desempenho do seu modelo.

Para a segmentação de objetos, as suas imagens também precisam de anotações. A anotação envolve rotular os objetos em cada imagem para que o modelo saiba o que aprender. Em vez de desenhar caixas simples, desenhe contornos detalhados (polígonos) em torno de cada objeto para marcar a sua forma exata. Esses contornos tornam-se as máscaras que o modelo aprende a prever.

Existem várias ferramentas de anotação de código aberto que pode usar para criar esses rótulos. Muitas dessas ferramentas oferecem interfaces fáceis de usar, nas quais pode carregar imagens e desenhar contornos de objetos diretamente nelas. 

Quando as suas imagens e anotações estiverem prontas, pode organizá-las em pastas de treino e validação. Uma divisão típica é 80% das imagens para treino e 20% para validação, embora 70% para treino e 30% para validação também seja comum, dependendo do tamanho do seu conjunto de dados. O conjunto de treino ensina o modelo, enquanto o conjunto de validação é usado para medir o seu desempenho em imagens que ele nunca viu antes.

É importante manter essa divisão equilibrada e garantir que ambas as pastas contenham uma variedade de exemplos. Um conjunto de dados limpo e bem rotulado, com uma divisão adequada entre treinamento e validação, forma a base de um modelo robusto de segmentação de instâncias.

Passo 2: Criar um ficheiro YAML do conjunto de dados

Depois de preparar as suas imagens e anotações, o próximo passo é criar um ficheiro YAML do conjunto de dados. Este ficheiro destaca onde o seu conjunto de dados está localizado e quais as classes de objetos que o modelo deve aprender durante o treino.

Neste ficheiro, pode definir o diretório raiz do conjunto de dados, os caminhos para as pastas de imagens de treino e validação e a lista de nomes de classes. Os nomes das classes devem ser listados na mesma ordem que os números das classes usados nos seus ficheiros de anotação, para que tudo corresponda corretamente.

Se tiver alguma dúvida sobre o formato exato, pode consultar a Ultralytics oficial Ultralytics para obter mais detalhes. 

Passo 3: Instale oPython Ultralytics Python

Agora que o seu conjunto de dados e o ficheiro YAML estão prontos, o próximo passo é instalar oPython Ultralytics Python . 

Este pacote inclui as ferramentas necessárias para treinar, validar, executar inferências e exportar modelos YOLO26. Ele oferece uma maneira simplificada de trabalhar com YOLO sem precisar criar pipelines de treinamento complexos do zero.

Antes de instalar oPython Ultralytics Python , também é importante escolher onde deseja executar o seu código. Pode trabalhar com o Ultralytics em vários ambientes de desenvolvimento diferentes, como:

  • Interface de linha de comando (CLI): É um ambiente baseado em texto onde interage com o seu computador digitando comandos. Em vez de clicar em botões ou navegar por menus como faria numa interface gráfica, introduz instruções escritas para executar programas e realizar tarefas diretamente.
  • Jupyter Notebooks: Um ambiente interativo onde você escreve e executa código em pequenas seções e vê imediatamente o resultado. Isso é útil para experimentação e aprendizagem.
  • Google : Uma plataforma de notebook baseada na nuvem que não requer instalação local e oferece acesso opcional a unidades de processamento gráfico (GPUs). Essa é frequentemente a opção mais fácil para iniciantes.

Depois de escolher o seu ambiente, pode instalar oPython Ultralytics Python . Para instalá-lo, execute o seguinte comando:

pip instalar ultralytics

Se estiver a utilizar um ambiente baseado em notebook, como Google ou o Jupyter Notebook, adicione um ponto de exclamação no início do comando. Se tiver algum problema com a instalação, consulte a Ultralytics ou o guia de resolução de problemas para obter soluções comuns e dicas de configuração do ambiente. 

Após a instalação, estará pronto para carregar um modelo de segmentação YOLO26 pré-treinado e começar o treino.

Passo 4: Treinar o YOLO26 para segmentação de instâncias

Antes de iniciar o treinamento, você precisará escolher um tamanho de modelo. Os modelos YOLO26 estão disponíveis em diferentes tamanhos: Nano (n), Pequeno (s), Médio (m), Grande (l) e Extra Grande (x). 

Modelos menores são treinados mais rapidamente e funcionam com mais eficiência em unidades centrais de processamento (CPUs) ou dispositivos de ponta, enquanto modelos maiores normalmente oferecem maior precisão, mas exigem mais memória e se beneficiam da GPU . Se está apenas a começar ou a trabalhar com hardware limitado, a versão Nano (YOLO26n) é uma escolha prática.

Depois de selecionar um tamanho de modelo, o próximo passo é carregar um modelo de segmentação pré-treinado e começar a treiná-lo no seu conjunto de dados personalizado. Para isso, você precisará especificar o ficheiro do modelo pré-treinado, o caminho para o ficheiro YAML do seu conjunto de dados, o número de épocas e o tamanho da imagem, conforme mostrado abaixo. 

from ultralytics import YOLO

model = YOLO(""yolo26n-seg.pt")

results = model.train(data="path/to/file.yaml", epochs=100, imgsz=640)

O número de épocas determina quantas vezes o modelo percorre todo o conjunto de dados de treino. A cada época, o modelo faz previsões, compara-as com as anotações corretas, calcula erros e atualiza os seus parâmetros internos para melhorar o desempenho.

Se o treinamento iniciar corretamente, você verá a configuração do modelo, a verificação do conjunto de dados e o progresso do treinamento exibidos no seu terminal ou notebook. À medida que o treinamento continua, os valores de perda e as métricas de avaliação serão atualizados após cada época, mostrando como o modelo está melhorando ao longo do tempo.

Etapa 5: Avalie o desempenho do modelo treinado personalizado

Após a conclusão do processo de treino, pode rever e validar as métricas de desempenho do modelo. No Google , pode navegar até à pasta «runs», depois até à pastasegmente, finalmente, até à pasta «train», onde encontrará registos que exibem os principais indicadores de desempenho.

Para utilizadores que trabalham num Python , os resultados do treino são guardados por predefinição no diretório «runs/train/» dentro do seu diretório de trabalho atual. Cada execução de treino cria um novo subdiretório, como runs/train/exp ou runs/train/exp2, onde pode encontrar registos, pesos guardados e outros resultados relacionados com essa experiência.

Se estiver a utilizar a CLI, pode aceder e gerir estes resultados utilizando o comandoyolo Este comando permite visualizar ou modificar os caminhos e configurações relacionados com os registos de treino e detalhes da experiência.

Entre os resultados guardados, também encontrará gráficos gerados durante o treino. Estes gráficos mostram como o modelo melhorou ao longo do tempo. Por exemplo, eles mostram como a perda diminuiu à medida que o modelo aprendeu e como métricas de avaliação, como precisão, recuperação e precisão média, aumentaram ao longo das épocas.

Fig. 4. Os tipos de gráficos que pode analisar para avaliar o seu modelo (Fonte)

Essas tendências visuais podem ajudar a compreender se o modelo foi treinado com sucesso e o quanto ele melhorou do início ao fim do treinamento. Analisar as métricas numéricas e os gráficos fornece uma visão mais clara do desempenho do seu modelo de segmentação de instâncias antes de passar para o teste com novas imagens.

Passo 6: Teste o seu modelo e execute inferências

Após validar o seu modelo, a etapa final é testá-lo em novas imagens. Esse processo é chamado de inferência, que significa simplesmente usar o seu modelo treinado para fazer previsões sobre dados não vistos.

Pode executar a inferência em Python seguinte Python :

results = model.predict("path/to/image.jpg", save=True, conf=0.3)

Neste exemplo, «path/to/image.jpg» pode ser substituído pelo caminho para a imagem que pretende testar. 

A configuração “save=True” indica ao modelo para gerar e armazenar uma nova imagem que inclui as máscaras de segmentação previstas desenhadas sobre a imagem original. 

A configuração «conf=0,3» controla o limiar de confiança, o que significa que o modelo só mostrará previsões que tenha pelo menos 30% de confiança de que estão corretas. Diminuir este valor pode mostrar mais detecções, enquanto aumentá-lo tornará o modelo mais seletivo.

Depois de executar o comando, o modelo cria uma nova pasta dentro do diretório runs, onde salva a imagem de saída. Pode abrir essa imagem salva para verificar visualmente se as máscaras de segmentação seguem bem os limites do objeto e se os objetos sobrepostos estão separados corretamente.

Testar o modelo em diferentes imagens, fundos e condições de iluminação pode proporcionar uma compreensão mais clara do seu desempenho fora do conjunto de dados de treino. Quando os resultados parecerem consistentes e precisos, o modelo estará pronto para ser exportado e implementado.

Etapa 7: Exporte e implemente o seu modelo

Depois de testar o seu modelo e confirmar que ele tem um bom desempenho, a etapa final é exportá-lo e implementá-lo. A exportação converte o seu modelo YOLO26 treinado num formato que pode ser executado em diferentes ambientes, como servidores de produção, dispositivos de ponta ou aplicações móveis.

Ultralytics vários formatos de exportação, permitindo que escolha aquele que melhor se adapta à sua configuração de implementação. Por exemplo, pode exportar para ONNX ampla compatibilidade entre plataformas, TensorRT otimizar GPU em NVIDIA ou OpenVINO uma implementação eficiente CPU em Intel . Essas integrações facilitam a execução do seu modelo fora do ambiente de treinamento e proporcionam um forte desempenho em tempo real.

Pode exportar o seu modelo em Python o seguinte comando:

model.export(format="onnx")

Este comando converte o seu modelo treinado para ONNX . Pode substituironnx por outros formatos suportados, dependendo das suas necessidades de implementação.

Depois de exportado, o seu modelo pode ser integrado em aplicações como serviços web, sistemas de visão incorporados, plataformas robóticas ou sistemas de inspeção industrial. Nesta fase, o seu modelo de segmentação de instâncias YOLO26 personalizado pode passar da fase de experimentação para a implementação no mundo real.

Principais conclusões

O treinamento personalizado Ultralytics para segmentação de instâncias oferece flexibilidade para criar um modelo que realmente se adapte ao seu caso de uso específico. Ao preparar um conjunto de dados claro, configurar o seu ficheiro YAML, treinar com pesos de segmentação pré-treinados e analisar os resultados, você pode ensinar o modelo a delinear com precisão cada objeto no nível do pixel. Depois de testado e exportado, o seu modelo YOLO26 pode passar do desenvolvimento para aplicações multiescala no mundo real.

Junte-se à nossa comunidade e dê uma olhada no nosso repositório GitHub para descobrir mais sobre IA. Se pretende criar o seu próprio projeto de IA visual, confira as nossas opções de licenciamento. Explore mais sobre aplicações como IA na área da saúde e IA visual no retalho visitando as nossas páginas de soluções.

Vamos construir o futuro
da IA juntos!

Comece sua jornada com o futuro do aprendizado de máquina

Comece gratuitamente