Ultralytics YOLO27: Entre na lista de espera.
Licenciar o YOLO
Ultralytics YOLO

Colocando a mão na massa com YOLO-World

Saiba mais sobre o YOLO-World, um modelo de detecção de objetos em tempo real com vocabulário aberto que encontra objetos a partir de prompts de texto, e conheça suas aplicações e um exemplo rápido de código.

Abirami VinaAbirami Vina9 min de leitura
Saiba mais sobre o YOLO-World, um modelo de detecção de objetos em tempo real com vocabulário aberto que encontra objetos a partir de prompts de texto, e conheça suas aplicações e um exemplo rápido de código.

Os projetos de visão computacional geralmente envolvem muito tempo dedicado à anotação de dados e ao treinamento de modelos de detecção de objetos. Mas isso pode mudar em breve. O AI Lab da Tencent lançou o YOLO-World, um modelo de detecção de objetos em tempo real e com vocabulário aberto, em 31 de janeiro de 2024. O YOLO-World é um modelo zero-shot, o que significa que você pode executar inferência de detecção de objetos em imagens sem precisar treiná-lo.

Os modelos zero-shot podem mudar a forma como abordamos as aplicações de visão computacional. Neste artigo, vamos explorar como funciona o YOLO-World, as suas possíveis utilizações e apresentar um exemplo prático de código para começares.

Uma visão geral do YOLO-World#

Podes fornecer ao modelo YOLO-World uma imagem e um comando de texto que descreva os objetos que procuras. Por exemplo, se quiseres encontrar «uma pessoa com uma camisola vermelha» numa fotografia, o YOLO-World recebe essa entrada e começa a analisar a imagem.

A arquitetura única do modelo combina três elementos principais:

  • Um detetor baseado no modelo de deteção de objetos Ultralytics YOLOv8, que analisa o conteúdo visual da imagem.
  • Um codificador de texto pré-treinado pelo CLIP da OpenAI, projetado especificamente para compreender seu prompt de texto.
  • Uma rede, a Rede de Agregação de Caminhos de Visão e Linguagem Reparametrizável (RepVL-PAN), que integra os dados de imagem processados aos dados de texto.

O detetor YOLO analisa a imagem de entrada para identificar objetos potenciais. O codificador de texto transforma a tua descrição num formato que o modelo consegue compreender. Em seguida, estes dois fluxos de informação são combinados através da RepVL-PAN, com fusão multimodal em vários níveis. Isto permite ao YOLO-World detetar e localizar com precisão, na imagem, os objetos descritos no teu comando.

Exemplo de resultados do YOLO-World

Um exemplo de resultados do YOLO-World.

Vantagens de escolher o YOLO-World#

Uma das maiores vantagens do YOLO-World é não teres de treinar o modelo para uma classe específica. O modelo já aprendeu com pares de imagens e textos, por isso sabe encontrar objetos com base em descrições. Podes evitar horas a recolher e anotar dados, a treinar em GPU dispendiosas e muito mais.

Eis outras vantagens da utilização do YOLO-World:

  • Desempenho em tempo real - O YOLO-World oferece desempenho em tempo real, tal como a arquitetura YOLO original. É ideal para aplicações que exigem deteção imediata de objetos, como veículos autónomos e sistemas de vigilância.
  • Segmentação de instâncias - A versão original do YOLO-World inclui variantes de segmentação; no pacote Ultralytics, o YOLO-World executa detecção, e o YOLOE adiciona segmentação de instâncias com vocabulário aberto.
  • Eficiência - O YOLO-World combina elevada precisão com eficiência computacional, o que o torna prático para aplicações do mundo real. A sua arquitetura otimizada permite uma deteção rápida de objetos sem exigir excessiva capacidade de processamento.

Aplicações do YOLO-World#

Os modelos YOLO-World podem ser utilizados numa grande variedade de aplicações. Vamos explorar algumas delas.

Controlo de qualidade na produção#

Os produtos fabricados numa linha de montagem são inspecionados visualmente para detetar defeitos antes de serem embalados. A deteção de defeitos é muitas vezes feita manualmente, o que demora tempo e pode levar a erros. Esses erros podem causar problemas como custos elevados e a necessidade de reparações ou recolhas de produtos. Para ajudar a resolver esta questão, foram criadas câmaras especiais de visão artificial e sistemas de IA para realizar estas inspeções.

Os modelos YOLO-World representam um grande avanço nessa área. Graças aos recursos zero-shot, eles podem encontrar defeitos em produtos mesmo sem terem sido treinados para esse problema específico. Por exemplo, uma fábrica que produz garrafas de água pode usar o YOLO-World para distinguir uma garrafa corretamente vedada com tampa de outra com a tampa ausente ou defeituosa.

Câmera de visão computacional sobre uma linha de engarrafamento, com um detalhe ampliado destacando uma garrafa cuja tampa não está totalmente vedada

Um exemplo de inspeção de tampas de garrafas.

Robótica#

Os modelos YOLO-World permitem que os robôs interajam com ambientes desconhecidos. Mesmo sem terem sido treinados com objetos específicos que possam estar numa divisão, conseguem identificar os objetos presentes. Por exemplo, se um robô entrar numa divisão onde nunca esteve, um modelo YOLO-World permite-lhe reconhecer e identificar objetos como cadeiras, mesas ou candeeiros, mesmo que não tenha sido especificamente treinado com esses objetos.

Além da deteção de objetos, o YOLO-World também consegue determinar o estado desses objetos graças à funcionalidade «comandar e depois detetar». Por exemplo, na robótica agrícola, pode ser usado para identificar frutos maduros e verdes, programando o robô para os detetar.

IA na indústria automóvel#

A indústria automobilística envolve muitas partes móveis, e o YOLO-World pode ser usado em diferentes aplicações automotivas. Por exemplo, na manutenção de automóveis, o recurso do YOLO-World de reconhecer uma grande variedade de objetos sem marcação manual ou pré-treinamento extensivo é muito útil. O YOLO-World pode ser usado para identificar peças de automóveis que precisam ser substituídas. Ele pode até automatizar tarefas como verificações de qualidade, identificando defeitos ou peças ausentes em carros novos.

Outra aplicação é a deteção zero-shot de objetos em carros autónomos. As capacidades de deteção zero-shot do YOLO-World podem melhorar a capacidade de um veículo autónomo para detetar e classificar objetos na estrada em tempo real, como peões, sinais de trânsito e outros veículos. Desta forma, pode ajudar a detetar obstáculos e evitar acidentes, tornando a viagem mais segura.

Exemplo de deteção de objetos numa estrada

Um exemplo de deteção de objetos numa estrada.

Gestão de inventário em lojas de retalho#

Identificar objetos nas prateleiras de lojas de varejo é importante para rastrear o estoque, manter os níveis de produtos e automatizar processos. A detecção de vocabulário aberto do Ultralytics YOLO-World também é útil para o gerenciamento de estoque.

Por exemplo, na gestão de inventário, o YOLO-World consegue detetar e categorizar rapidamente artigos numa prateleira, como diferentes marcas de bebidas energéticas. As lojas de retalho podem manter um inventário preciso, gerir os níveis de stock de forma eficiente e otimizar as operações da cadeia de abastecimento.

Todas estas aplicações são distintas e demonstram a ampla variedade de utilizações do YOLO-World. Agora, vamos experimentar o YOLO-World e ver um exemplo de código.

Passo a passo pelo código#

Como mencionámos anteriormente, o YOLO-World pode ser usado para detetar diferentes peças de um automóvel para fins de manutenção. Uma aplicação de visão computacional que detete reparações necessárias teria de tirar uma fotografia do automóvel, identificar as peças, analisar cada uma delas para detetar danos e recomendar reparações. Cada componente deste sistema recorreria a diferentes técnicas e abordagens de IA. Neste passo a passo do código, vamos concentrar-nos na deteção das peças do automóvel.

Com o YOLO-World, podes identificar diferentes peças de um automóvel numa imagem em menos de 5 minutos. Também podes adaptar este código para experimentar várias aplicações com o YOLO-World! Para começar, vamos instalar o pacote Ultralytics com pip, como mostrado abaixo.

pip install ultralytics

Para obteres mais instruções e boas práticas sobre o processo de instalação, consulta o nosso guia de instalação do Ultralytics. Se tiveres dificuldades ao instalar os pacotes necessários para o YOLOv8, consulta o nosso guia de problemas comuns, onde encontrarás soluções e sugestões.

Depois de instalares o pacote necessário, podemos descarregar uma imagem da Internet para executar as inferências. Vamos usar a imagem abaixo.

Sedã branco estacionado em uma rua da cidade, a imagem de entrada do exemplo do YOLO-World

A nossa imagem de entrada.

Em seguida, vamos importar o pacote necessário, inicializar o modelo e definir as classes que procuramos na imagem de entrada. Neste caso, temos interesse nas seguintes classes: automóvel, roda, porta de automóvel, espelho retrovisor e matrícula.

Em seguida, usaremos o método predict, fornecendo o caminho da imagem junto com parâmetros para o número máximo de detecções e os limites de interseção sobre união (IoU) e confiança (conf) para executar a inferência na imagem. Por fim, os objetos detectados são salvos em um arquivo chamado result.jpg.

from ultralytics import YOLOWorld

# Inicializa um modelo YOLO-World
model = YOLOWorld("yolov8s-worldv2.pt")

# Define as classes personalizadas a serem detectadas
model.set_classes(["car", "wheel", "car door", "car mirror", "license plate"])

# Executa inferência com um número máximo de detecções e limites de IoU e confiança
results = model.predict("path/to/image.jpg", max_det=100, iou=0.5, conf=0.25)

# Salva o resultado anotado
results[0].save("result.jpg")

A imagem de saída seguinte será guardada nos teus ficheiros.

Saída do YOLO-World sobre o sedã branco, com caixas para o carro, suas rodas, um retrovisor lateral e a placa

A nossa imagem de saída.

Se preferir ver o que o YOLO-World pode fazer sem programar, você pode acessar a página de demonstração do YOLO-World, carregar uma imagem de entrada e inserir as classes personalizadas.

Lê a nossa documentação sobre o YOLO-World para saberes como guardar o modelo com as classes personalizadas, de modo a poderes utilizá-lo diretamente mais tarde sem ter de voltar a introduzi-las.

Reparaste que as portas do automóvel não foram detetadas?#

Se voltares a observar a imagem de saída, vais reparar que a classe personalizada «porta de automóvel» não foi detetada. Apesar dos seus grandes avanços, o YOLO-World tem algumas limitações. Para as contornar e utilizar o modelo YOLO-World de forma eficaz, é importante usar os tipos corretos de comandos de texto.

Eis algumas informações úteis:

  • O YOLO-World pode não precisar de níveis de confiança elevados para fazer previsões precisas, pelo que reduzir os limiares de confiança pode aumentar as taxas de deteção.
  • Adicione classes que não são do seu interesse. Isso ajudará a melhorar a detecção dos objetos principais, reduzindo os falsos positivos de objetos secundários.
  • Detetar primeiro os objetos maiores, antes de te concentrares nos detalhes mais pequenos, pode melhorar a precisão da deteção.
  • Indica as cores nas classes para detetar objetos com base em pistas de cor.
  • Descrever o tamanho dos objetos nos comandos também pode ajudar o YOLO-World a identificar objetos específicos com maior precisão.
  • Os métodos de pós-processamento, como filtrar as previsões por tamanho ou ajustar os níveis de confiança por classe, podem melhorar ainda mais os resultados da deteção de objetos.

As possibilidades são infinitas#

Em suma, os modelos YOLO-World podem tornar-se ferramentas poderosas graças às suas capacidades avançadas de deteção de objetos. Oferecem grande eficiência e precisão e ajudam a automatizar diferentes tarefas em várias aplicações, como o exemplo de identificação de peças de automóveis que explorámos na prática.

Fica à vontade para explorar nosso repositório no GitHub e saber mais sobre nossas contribuições para a visão computacional e a IA. Se quiser saber como a IA está transformando setores como a tecnologia de saúde, confira nossas páginas de soluções. O YOLO-World abre muitas novas possibilidades para a IA visual.

Escrito por

Abirami Vina
Abirami Vina

Criador de conteúdo · Ultralytics

Ao iniciar a carreira como engenheira de visão computacional, Abirami Vina construiu uma base sólida em IA de visão e machine learning. Ela é criadora de conteúdo da Ultralytics e fundadora e redatora-chefe da Scribe of AI, onde produz conteúdo técnico de alta qualidade para empresas focadas em IA. Movida pela paixão por tornar a IA compreensível e envolvente, seu trabalho aproxima a tecnologia de ponta do impacto no mundo real.

Comentários

Faça uma pergunta, compartilhe seus resultados ou ajude alguém.

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