Colocando a mão na massa com o YOLO-World
Aprenda sobre o YOLO-World, um modelo inovador de detecção de objetos que pode identificar objetos por meio de comandos de texto. Explore como o YOLO-World funciona e suas aplicações, e coloque a mão na massa com um exemplo rápido de código.

Projetos de visão computacional geralmente envolvem passar muito tempo anotando dados e treinando modelos de detecção de objetos. Mas isso pode estar prestes a se tornar coisa do passado. O AI Lab da Tencent lançou o YOLO-World em 31 de janeiro de 2024, um modelo de detecção de objetos em tempo real e vocabulário aberto. 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.
Modelos zero-shot têm o potencial de mudar a forma como abordamos aplicações de visão computacional. Neste blog, exploraremos como o YOLO-World funciona e seus usos potenciais, e compartilharemos um exemplo de código prático para você começar.
Link to this sectionUma olhada no YOLO-World#
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 usando uma camisa vermelha" dentro de uma foto, o YOLO-World pega esse input e entra em ação.
A arquitetura única do modelo combina três elementos principais:
- Um detector baseado no modelo de detecção de objetos Ultralytics YOLOv8, para analisar o conteúdo visual da imagem.
- Um codificador de texto pré-treinado pelo CLIP da OpenAI, projetado especificamente para entender seu prompt de texto.
- Uma rede, a Vision-Language Path Aggregation Network (RepVL-PAN), que integra os dados de imagem processados com os dados de texto.
O detector YOLO escaneia sua imagem de input para identificar objetos potenciais. O codificador de texto transforma sua descrição em um formato que o modelo consegue entender. Esses dois fluxos de informação são então mesclados através da RepVL-PAN usando fusão de multimodalidade de múltiplos níveis. Isso permite que o YOLO-World detecte e localize com precisão os objetos descritos no seu prompt dentro da imagem.

Um exemplo de resultados do YOLO-World.
Link to this sectionBenefícios de escolher o YOLO-World#
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 coletando dados, anotando dados, treinando em GPUs caras, e assim por diante.
Aqui estão outros benefícios de usar o YOLO-World:
- Desempenho em Tempo Real - O YOLO-World suporta desempenho em tempo real assim como a arquitetura original do YOLO. É ideal para aplicações que exigem detecção de objetos imediata, como veículos autônomos e sistemas de vigilância.
- Segmentação de Instância - O YOLO-World pode contornar e separar objetos em fotos com perfeição, mesmo que esses objetos não tenham sido ensinados especificamente durante seu treinamento.
- Eficiência - O YOLO-World combina alta precisão com eficiência computacional, tornando-o prático para aplicações do mundo real. Sua arquitetura simplificada torna possível uma detecção de objetos rápida sem exigências excessivas de poder de processamento.
Link to this sectionAs aplicações do YOLO-World#
Modelos YOLO-World podem ser usados para uma grande variedade de aplicações. Vamos explorar algumas delas.
Link to this sectionControle de qualidade na manufatura#
Produtos manufaturados em uma linha de montagem são verificados visualmente em busca de defeitos antes de serem embalados. A detecção de defeitos é frequentemente feita manualmente, o que leva tempo e pode levar a erros. Esses erros podem causar problemas como custos elevados e a necessidade de reparos ou recalls. Para ajudar nisso, câmeras de visão artificial especiais e sistemas de IA foram criados para realizar essas verificações.
Modelos YOLO-World são um grande avanço nesta área. Eles podem encontrar defeitos em produtos mesmo quando não foram treinados para aquele problema específico usando suas habilidades zero-shot. Por exemplo, uma fábrica que produz garrafas de água pode facilmente identificar a diferença entre uma garrafa selada corretamente com uma tampa e uma garrafa onde a tampa foi esquecida ou está com defeito usando o YOLO-World.

Um exemplo de inspeção de tampa de garrafa.
Link to this sectionRobótica#
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. Então, digamos que um robô entre em uma sala onde 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 treinado especificamente 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, em robótica agrícola, ele pode ser usado para identificar frutas maduras versus frutas não maduras programando o robô para detectá-las.
Link to this sectionIA na indústria automobilística#
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 grande 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. Ele poderia até automatizar tarefas como verificações de qualidade, detectando defeitos ou peças faltantes em carros novos.
Outra aplicação é a detecção de objetos zero-shot em carros autônomos. As capacidades 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, ele pode ajudar a detectar obstáculos e evitar acidentes para uma viagem mais segura.

Um exemplo de detecção de objetos em uma estrada.
Link to this sectionGestão de inventário para lojas de varejo#
Identificar objetos em prateleiras em lojas de varejo é uma parte importante do rastreamento de inventário, manutenção de estoques e automação de processos. A capacidade do Ultralytics YOLO-World de reconhecer uma grande variedade de objetos sem marcação manual ou pré-treinamento extensivo é extremamente útil para a gestão de inventário.
Por exemplo, na gestão de inventário, o YOLO-World pode detectar e categorizar rapidamente itens em uma prateleira, como diferentes marcas de bebidas energéticas. Lojas de varejo podem manter um inventário preciso, gerenciar níveis de estoque com eficiência e simplificar as operações da cadeia de suprimentos.
Todas as aplicações são únicas e mostram quão extensivamente o YOLO-World pode ser usado. A seguir, vamos colocar a mão na massa com o YOLO-World e dar uma olhada em um exemplo de codificação.
Link to this sectionUm passo a passo do código#
Como mencionamos anteriormente, o YOLO-World pode ser usado para detectar diferentes peças de um carro para manutenção. Uma aplicação de visão computacional que detecta quaisquer reparos necessários envolveria tirar uma foto do carro, identificar as peças, examinar cada parte do carro em busca de danos e recomendar reparos. Cada parte deste sistema usaria diferentes técnicas e abordagens de IA. Para o propósito deste passo a passo de código, vamos focar na parte onde as peças do carro são detectadas.
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 testar diferentes aplicações usando o YOLO-World também! Para começar, precisaremos fazer o pip install do pacote Ultralytics como mostrado abaixo.
Para mais instruções e melhores práticas relacionadas ao processo de instalação, consulte nosso guia de Instalação do Ultralytics. Ao instalar os pacotes necessários para o YOLOv8, se você encontrar alguma dificuldade, dê uma olhada em nosso guia de Problemas Comuns para obter soluções e dicas.
Assim que tiver instalado o pacote necessário, podemos baixar uma imagem da Internet para executar nossas inferências. Vamos usar a imagem abaixo.

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

Nossa imagem de output.
Se você preferir ver o que o YOLO-World pode fazer sem codificar, você pode ir para a página de Demonstração do YOLO-World, fazer o upload de uma imagem de input e inserir as classes personalizadas.
Leia nossa página de docs 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.
Link to this sectionVocê notou que as portas do carro não foram detectadas?#
Se você der uma olhada na imagem de output novamente, notará que a classe personalizada “car door” (porta de carro) não foi detectada. Apesar de suas grandes conquistas, o YOLO-World tem certas limitações. Para combater essas limitações e usar o modelo YOLO-World de forma eficaz, é importante usar os tipos corretos de prompts de texto.
Aqui estão alguns insights sobre isso:
- O YOLO-World pode não precisar de níveis altos de confiança para previsões precisas, portanto, reduzir os limites de confiança pode melhorar as taxas de detecção.
- Adicione classes nas quais você não está interessado. Isso ajudará a melhorar a detecção de objetos primária reduzindo falsos positivos para objetos secundários.
- Detectar objetos maiores primeiro antes de focar em detalhes menores pode melhorar a precisão da detecção.
- Mencione cores em suas classes para detectar objetos com base em pistas de cor.
- Descrever tamanhos de objetos em prompts também pode ajudar o YOLO-World a identificar objetos específicos com mais precisão.
- Métodos de pós-processamento, como filtrar previsões por tamanho ou ajustar níveis de confiança por classe, podem melhorar ainda mais os resultados da detecção de objetos.
Link to this sectionOs limites são infinitos#
No geral, os modelos YOLO-World podem ser transformados em uma ferramenta poderosa com suas capacidades avançadas 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 identificar peças de carro que discutimos na prática.
Sinta-se à vontade para explorar nosso repositório no GitHub para saber mais sobre nossas contribuições para visão computacional e IA. Se você está curioso sobre como a IA está remodelando setores como tecnologia de saúde, confira nossas páginas de soluções. As possibilidades com inovações como o YOLO-World parecem ser infinitas!






