Saiba mais sobre o YOLO-World, um modelo inovador de detecção de objetos que pode identificar objetos por meio de prompts de texto. Explore como o YOLO-World funciona e suas aplicações, e experimente com um exemplo de código rápido.

Saiba mais sobre o YOLO-World, um modelo inovador de detecção de objetos que pode identificar objetos por meio de prompts de texto. Explore como o YOLO-World funciona e suas aplicações, e experimente com um exemplo de código rápido.

Os projetos de visão computacional geralmente envolvem gastar muito tempo anotando dados e treinando modelos de detecção de objetos. Mas isso pode em breve ser coisa do passado. O Laboratório de IA da Tencent lançou o YOLO-World, um modelo de detecção de objetos de vocabulário aberto e em tempo real, em 31 de janeiro de 2024. O YOLO-World é um modelo zero-shot, o que significa que você pode executar inferências de detecção de objetos em imagens sem precisar treiná-lo.
Os modelos zero-shot têm o potencial de mudar a forma como abordamos as aplicações de visão computacional. Neste blog, exploraremos como o YOLO-World funciona, seus usos potenciais e compartilharemos um exemplo de código prático para você começar.
Você pode passar uma imagem e um prompt de texto descrevendo quais objetos você está procurando através do modelo YOLO-World. Por exemplo, se você estiver interessado em encontrar "uma pessoa vestindo uma camisa vermelha" dentro de uma foto, o YOLO-World recebe essa entrada e começa a trabalhar.
A arquitetura única do modelo combina três elementos principais:
O detector YOLO escaneia sua imagem de entrada para identificar objetos potenciais. O codificador de texto transforma sua descrição em um formato que o modelo pode entender. Esses dois fluxos de informação são então combinados através do RepVL-PAN usando fusão de multimodalidade de vários níveis. Ele permite que o YOLO-World detecte e localize precisamente os objetos descritos em seu prompt dentro da imagem.

Uma das maiores vantagens de usar o YOLO-World é que você não precisa treinar o modelo para uma classe específica. Ele já aprendeu com pares de imagens e textos, então sabe como encontrar objetos com base em descrições. Você pode evitar horas de coleta de dados, anotação de dados, treinamento em GPUs caras e assim por diante.
Aqui estão alguns outros benefícios de usar o YOLO-World:
Os modelos YOLO-World podem ser usados para uma ampla variedade de aplicações. Vamos explorar algumas delas.
Os produtos fabricados em uma linha de montagem são verificados visualmente quanto a defeitos antes de serem embalados. A detecção de defeitos geralmente é feita manualmente, o que leva tempo e pode levar a erros. Esses erros podem causar problemas como altos custos e a necessidade de reparos ou recalls. Para ajudar com isso, câmeras de visão de máquina especiais e sistemas de IA foram criados para realizar essas verificações.
Os modelos YOLO-World são um grande avanço nesta área. Eles podem encontrar defeitos em produtos, mesmo quando não foram treinados para esse problema específico, usando suas habilidades de zero-shot. Por exemplo, uma fábrica que fabrica garrafas de água pode facilmente identificar entre uma garrafa selada corretamente com uma tampa e uma garrafa onde uma tampa foi esquecida ou está com defeito usando o YOLO-World.

Os modelos YOLO-World permitem que robôs interajam com ambientes desconhecidos. Sem serem treinados em objetos específicos que possam estar em uma sala, eles ainda podem identificar quais objetos estão presentes. Digamos que um robô entre em uma sala em que nunca esteve antes. Com um modelo YOLO-World, ele ainda pode reconhecer e identificar objetos como cadeiras, mesas ou lâmpadas, mesmo que não tenha sido especificamente treinado nesses itens.
Além da detecção de objetos, o YOLO-World também pode determinar as condições desses objetos, graças ao seu recurso 'prompt-then-detect'. Por exemplo, na robótica agrícola, ele pode ser usado para identificar frutas maduras versus frutas não maduras, programando o robô para detectá-las.
A indústria automobilística envolve muitas peças móveis, e o YOLO-World pode ser usado para diferentes aplicações automotivas. Por exemplo, quando se trata de manutenção de carros, a capacidade do YOLO-World de reconhecer uma ampla variedade de objetos sem marcação manual ou pré-treinamento extensivo é extremamente útil. O YOLO-World pode ser usado para identificar peças de carro que precisam ser substituídas. Poderia até automatizar tarefas como verificações de qualidade, identificando defeitos ou peças faltantes em carros novos.
Outra aplicação é a detecção de objetos zero-shot em carros autônomos. Os recursos de detecção zero-shot do YOLO-World podem melhorar a capacidade de um veículo autônomo de detectar e classificar objetos na estrada, como pedestres, sinais de trânsito e outros veículos, em tempo real. Ao fazer isso, pode ajudar a detectar obstáculos e evitar acidentes para uma jornada mais segura.

Identificar objetos em prateleiras de lojas de varejo é uma parte importante do rastreamento de estoque, manutenção de estoques e automação de processos. A capacidade do Ultralytics YOLO-World de reconhecer uma ampla variedade de objetos sem marcação manual ou pré-treinamento extensivo é extremamente útil para o gerenciamento de estoque.
Por exemplo, no gerenciamento de estoque, o YOLO-World pode identificar e categorizar rapidamente itens em uma prateleira, como diferentes marcas de bebidas energéticas. As lojas de varejo podem manter um estoque preciso, gerenciar os níveis de estoque de forma eficiente e otimizar as operações da cadeia de suprimentos.
Todas as aplicações são únicas e mostram o quão extensivamente o YOLO-World pode ser usado. Em seguida, vamos colocar a mão na massa com o YOLO-World e dar uma olhada em um exemplo de código.
Como mencionamos antes, o YOLO-World pode ser usado para detetar diferentes partes de um carro para manutenção. Uma aplicação de visão computacional que deteta quaisquer reparos necessários envolveria tirar uma foto do carro, identificar as peças do carro, examinar cada peça do carro em busca de danos e recomendar reparos. Cada parte deste sistema usaria diferentes técnicas e abordagens de IA. Para fins desta explicação do código, vamos nos concentrar na parte em que as peças do carro são detetadas.
Com o YOLO-World, você pode identificar diferentes peças de carro em uma imagem em menos de 5 minutos. Você pode estender este código para experimentar diferentes aplicações usando também o YOLO-World! Para começar, precisaremos instalar o pacote Ultralytics usando o pip, como mostrado abaixo.
Para obter mais instruções e práticas recomendadas relacionadas com o processo de instalação, consulte o nosso guia de Instalação do Ultralytics. Ao instalar os pacotes necessários para o YOLOv8, se encontrar alguma dificuldade, consulte o nosso guia de Problemas Comuns para obter soluções e dicas.
Depois de instalar o pacote necessário, podemos baixar uma imagem da Internet para executar nossas inferências. Vamos usar a imagem abaixo.

Em seguida, importaremos o pacote necessário, inicializaremos nosso modelo e definiremos as classes que estamos procurando em nossa imagem de entrada. Aqui, estamos interessados nas seguintes classes: carro, roda, porta do carro, espelho do carro e placa.
Em seguida, usaremos o método predict, fornecendo o caminho da imagem junto com os parâmetros para o número máximo de detecções e os limiares para interseção sobre união (IoU) e confiança (conf) para executar uma inferência na imagem. Por fim, os objetos detectados são salvos em um arquivo chamado 'result.jpg'.
A seguinte imagem de saída será salva em seus arquivos.

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.
Leia nossa página de documentação sobre o YOLO-World para aprender como salvar o modelo com as classes personalizadas para que ele possa ser usado diretamente mais tarde, sem inserir as classes personalizadas repetidamente.
Se olhar novamente para a imagem de saída, notará que a classe personalizada “porta do carro” não foi detetada. Apesar das suas grandes conquistas, o YOLO-World tem certas limitações. Para combater estas limitações e usar o modelo YOLO-World de forma eficaz, é importante usar os tipos corretos de prompts textuais.
Aqui está alguma informação sobre isso:
No geral, os modelos YOLO-World podem se tornar uma ferramenta poderosa com seus recursos avançados de detecção de objetos. Ele oferece grande eficiência, precisão e ajuda a automatizar diferentes tarefas em várias aplicações, como o exemplo de identificação de peças de automóveis que discutimos na prática.
Sinta-se à vontade para explorar o nosso repositório GitHub para saber mais sobre as nossas contribuições para a visão computacional e IA. Se você está curioso sobre como a IA está remodelando setores como a tecnologia de saúde, confira nossas páginas de soluções. As possibilidades com inovações como o YOLO-World parecem ser infinitas!