Executar uma aplicação de IA interactiva com Streamlit e Ultralytics YOLO11

Abirami Vina

5 min. de leitura

18 de março de 2025

Saiba como executar inferências YOLO11 numa interface Streamlit e criar uma interface de IA interactiva para tarefas de visão por computador sem conhecimentos de programação.

Os modelos de visão por computador são ferramentas de IA com impacto que permitem às máquinas interpretar e analisar dados visuais, realizando tarefas como a deteção de objectos, a classificação de imagens e a segmentação de instâncias com elevada precisão. No entanto, por vezes, podem exigir conhecimentos técnicos adicionais, como competências de desenvolvimento Web ou de aplicações móveis, para serem implementados e tornados acessíveis a um público mais vasto.

Veja-se, por exemplo, o Ultralytics YOLO11. Trata-se de um modelo que suporta várias tarefas e é útil numa série de aplicações. No entanto, sem algum conhecimento técnico de front-end, a criação e implementação de uma interface de fácil utilização para uma interação perfeita pode parecer um pouco desafiante para alguns engenheiros de IA.

Streamlit é uma estrutura de código aberto que tem como objetivo facilitar este processo. É uma ferramenta baseada em Python para criar aplicações interactivas sem um desenvolvimento front-end complexo. Quando emparelhado com o YOLO11, permite aos utilizadores carregar imagens, processar vídeos e visualizar resultados em tempo real com o mínimo de esforço.

A Ultralytics leva isso um passo adiante com sua solução Live Inference, tornando a integração do Streamlit ainda mais fácil. Com um único comando, os utilizadores podem lançar uma aplicação Streamlit pré-construída para o YOLO11, eliminando a necessidade de configuração e codificação manuais. 

Neste artigo, mostraremos como configurar e executar o YOLO11 usando a solução Live Inference da Ultralytics com o Streamlit, tornando a implantação de IA em tempo real mais rápida e acessível.

O que é o Streamlit?

Streamlit é uma estrutura Python que simplifica a criação de aplicações Web interactivas. Os programadores de IA podem criar aplicações alimentadas por IA sem terem de lidar com as complexidades do desenvolvimento front-end. 

Foi concebido para funcionar sem problemas com modelos de IA e de aprendizagem automática. Com apenas algumas linhas de Python, os programadores podem criar uma interface onde os utilizadores podem carregar imagens, processar vídeos e interagir com modelos de IA.

__wf_reserved_inherit
Fig. 1. Principais caraterísticas do Streamlit. Imagem do autor.

Uma das suas principais caraterísticas é a renderização dinâmica. Quando os utilizadores fazem alterações, a aplicação é actualizada automaticamente sem necessidade de recarregamento manual da página.

Além disso, como é leve e fácil de usar, o Streamlit é executado de forma eficiente em máquinas locais e plataformas de nuvem. Isto torna-o uma excelente escolha para implementar aplicações de IA, partilhar modelos com outros e proporcionar uma experiência de utilizador intuitiva e interactiva.

Ultralytics YOLO11: Um modelo versátil de IA de visão

Antes de nos debruçarmos sobre a forma de executar inferências em tempo real com o Ultralytics YOLO11 numa aplicação Streamlit, vamos analisar mais detalhadamente o que torna o YOLO11 tão fiável.

O Ultralytics YOLO11 é um modelo concebido para tarefas de visão por computador em tempo real, como deteção de objectos, segmentação de instâncias e estimativa de pose. Apresenta um desempenho de alta velocidade com uma precisão impressionante.

__wf_reserved_inherit
Fig. 2. Um exemplo de utilização do YOLO11 para a deteção de objectos.

Uma das maiores vantagens do YOLO11 é a sua facilidade de utilização. Não há necessidade de configurações complexas; os programadores podem instalar o pacote Ultralytics Python e começar a fazer previsões com apenas algumas linhas de código.

O pacote Ultralytics Python fornece uma série de funcionalidades, permitindo aos utilizadores afinar modelos e ajustar as definições de deteção. Também ajuda a otimizar o desempenho em diferentes dispositivos para uma implementação mais suave.

Além da flexibilidade, o pacote Ultralytics Python suporta integrações em várias plataformas, incluindo dispositivos de ponta, ambientes de nuvem e sistemas habilitados para GPU NVIDIA. Quer seja implementado num pequeno dispositivo incorporado ou num servidor cloud de grande escala, o YOLO11 adapta-se sem esforço, tornando a IA de visão avançada mais acessível do que nunca.

Vantagens da utilização do Streamlit com o Ultralytics YOLO11

Você pode estar se perguntando, como eu sei se o Streamlit é a opção de implantação certa para mim? Se procura uma forma simples e eficiente em termos de código para executar o YOLO11 sem ter de lidar com o desenvolvimento de front-end, o Streamlit é uma boa opção - especialmente para prototipagem, projectos de prova de conceito (PoC) ou implementações destinadas a um número reduzido de utilizadores.

Simplifica o processo de trabalho com o YOLO11, eliminando a complexidade desnecessária e fornecendo uma interface intuitiva para interação em tempo real. Eis algumas outras vantagens importantes:

  • Controlos de IA personalizáveis: Pode adicionar barras deslizantes, menus suspensos e botões à sua interface, permitindo aos utilizadores afinar as definições de deteção e filtrar facilmente objectos específicos.
  • Integração com outras ferramentas de IA: O Streamlit suporta a integração com NumPy, OpenCV, Matplotlib e outras bibliotecas de aprendizagem automática, melhorando as capacidades do fluxo de trabalho de IA.
  • Visualização interactiva de dados: O suporte integrado para tabelas e gráficos permite que os utilizadores visualizem sem esforço a deteção de objectos, os resultados da segmentação ou os conhecimentos de rastreio.
  • Facilidade de colaboração: As aplicações Streamlit podem ser facilmente partilhadas com membros da equipa, partes interessadas ou clientes através de uma simples ligação, permitindo feedback e iteração instantâneos.

Guia passo-a-passo para implementar o YOLO11 numa aplicação Web Streamlit

Agora que explorámos os benefícios da utilização do Streamlit com o YOLO11, vamos ver como executar tarefas de visão computacional em tempo real num browser utilizando o Streamlit com o YOLO11.

Instalar o pacote Python do Ultralytics

O primeiro passo é instalar o pacote Ultralytics Python. Isto pode ser feito utilizando o seguinte comando:

Uma vez instalado, o YOLO11 está pronto a ser utilizado sem qualquer configuração complicada. Se encontrar algum problema durante a instalação dos pacotes necessários, pode consultar o nosso Guia de Problemas Comuns para obter dicas e soluções de resolução de problemas.

Iniciar a aplicação Streamlit com o YOLO11 

Normalmente, seria necessário desenvolver um script Python utilizando componentes Streamlit para executar o YOLO11. No entanto, o Ultralytics fornece uma forma simples de executar o YOLO11 com o Streamlit. 

Executar o seguinte script Python irá lançar instantaneamente a aplicação Streamlit no seu navegador Web predefinido:

Não é necessária qualquer configuração adicional. A interface da aplicação Streamlit inclui uma secção de carregamento de imagens e vídeos, um menu pendente para selecionar a variante do modelo YOLO11 em que está interessado e barras deslizantes para ajustar a confiança na deteção. Tudo está bem organizado, o que permite aos utilizadores executar inferências sem esforço e sem escrever código adicional.

Executar inferências utilizando o YOLO11 na aplicação Streamlit

Agora que a aplicação Streamlit está a ser executada no seu navegador Web, vamos explorar a forma de a utilizar para executar inferências com o YOLO11.

Por exemplo, digamos que queremos analisar um ficheiro de vídeo para deteção de objectos. Aqui estão os passos para carregar um ficheiro, selecionar um modelo e ver os resultados em tempo real:

  • Carregue um ficheiro de vídeo: Selecione "vídeo" no menu pendente de configuração do utilizador, o que diz à aplicação para processar um ficheiro pré-gravado em vez de um feed da Webcam.
  • Escolha um modelo YOLO11: Selecione "YOLO11l" no menu pendente do modelo para deteção de objectos utilizando um modelo YOLO11 de grandes dimensões.
  • Iniciar o processo de deteção: Clique em "Iniciar", permitindo que o YOLO11 analise o vídeo quadro a quadro e detecte objectos em tempo real.
  • Ver o vídeo processado: Veja como o vídeo aparece no ecrã com actualizações em direto, apresentando os objectos detectados com caixas delimitadoras.
  • Interaja com os resultados no Streamlit: Utilize a interface para ajustar as definições ou analisar as detecções, tudo sem configuração ou codificação adicionais.
__wf_reserved_inherit
Fig. 3. A interface da aplicação Ultralytics YOLO Streamlit.

Casos de utilização com Streamlit e YOLO11

Vimos como o Streamlit é ótimo para criar protótipos, ferramentas de investigação e aplicações de pequena e média dimensão. Ele oferece uma maneira simples de implantar modelos de IA sem desenvolvimento complexo de front-end.

No entanto, executar o YOLO11 com Streamlit nem sempre é uma solução pronta para uso - a menos que você use o aplicativo Ultralytics YOLO Streamlit que configuramos nas etapas acima. Na maioria dos casos, é necessário algum trabalho de desenvolvimento para personalizar o aplicativo de acordo com as necessidades específicas. Embora o Streamlit simplifique a implantação, ainda será necessário configurar os componentes necessários para garantir que o YOLO11 funcione sem problemas.

Vamos explorar dois exemplos práticos de como o Ultralytics YOLO11 pode ser efetivamente implementado com o Streamlit em cenários reais.

Contagem de objectos para verificações de inventário utilizando YOLO11

Manter o controlo do inventário em lojas de retalho, armazéns ou áreas de material de escritório pode ser moroso e propenso a erros. Utilizando o YOLO11 com o Streamlit, as empresas podem automatizar a contagem de objectos de forma rápida e eficiente, o que o torna uma excelente opção para uma prova de conceito (PoC) antes de se comprometerem com uma implementação em grande escala.

Com esta configuração, os utilizadores podem carregar uma imagem ou utilizar um feed de câmara em direto, e o YOLO11 pode ajudar a detetar e contar instantaneamente os objectos. A contagem em tempo real pode ser apresentada na interface Streamlit, proporcionando uma forma fácil de monitorizar os níveis de stock sem esforço manual.

Por exemplo, o proprietário de uma loja pode digitalizar uma prateleira e ver imediatamente quantas garrafas, caixas ou produtos embalados estão presentes sem ter de os contar manualmente. Ao tirar partido do YOLO11 e do Streamlit, as empresas podem reduzir o trabalho manual, melhorar a precisão e explorar a automatização com um investimento mínimo.

__wf_reserved_inherit
Fig. 4. Deteção de garrafas num frigorífico utilizando o YOLO11.

Reforçar a segurança com YOLO11 e Streamlit

Manter áreas restritas seguras em escritórios, armazéns ou locais de eventos pode ser difícil, especialmente com monitorização manual. Utilizando o YOLO11 com o Streamlit, as empresas podem configurar um sistema de segurança simples alimentado por IA para detetar acessos não autorizados em tempo real.

Um feed de câmara pode ser ligado à interface Streamlit, onde o YOLO11 é utilizado para identificar e seguir as pessoas que entram em zonas restritas. Se for detectada uma pessoa não autorizada, o sistema pode acionar um alerta ou registar o evento para análise.

Por exemplo, um gestor de armazém pode monitorizar o acesso a áreas de armazenamento de alta segurança, ou um escritório pode seguir o movimento em secções restritas sem necessitar de supervisão constante.

Este pode ser um projeto revelador para as empresas que pretendam explorar a monitorização de segurança orientada para a IA da Vision antes de se comprometerem com um sistema maior e totalmente automatizado. Ao integrar o YOLO11 com o Streamlit, as empresas podem aumentar a segurança, minimizar a monitorização manual e responder a acessos não autorizados de forma mais eficaz.

Sugestões para monitorizar uma aplicação de IA interactiva com o Streamlit

A utilização de ferramentas como o Streamlit para implementar modelos de visão por computador ajuda a criar uma experiência interactiva e de fácil utilização. No entanto, depois de configurar a interface em direto, é importante garantir que o sistema funciona de forma eficiente e fornece resultados precisos ao longo do tempo.

Eis alguns factores-chave a considerar após a implantação:

  • Controlo regular: Acompanhe a precisão da deteção, a velocidade de inferência e a utilização de recursos. Ajuste os parâmetros do modelo ou actualize o hardware se o desempenho diminuir.
  • Gerir vários utilizadores e escalabilidade: À medida que a procura dos utilizadores aumenta, a otimização da infraestrutura é fundamental para manter o desempenho. Plataformas em nuvem e soluções de implantação escalonáveis ajudam a garantir uma operação tranquila.
  • Manter o modelo atualizado: Manter o modelo e as bibliotecas actualizados aumenta a precisão, a segurança e o acesso a novas funcionalidades.

Principais conclusões

O Ultralytics simplifica a implementação do YOLO11 com uma interface Streamlit live pronta a utilizar que é executada com um único comando - sem necessidade de codificação. Isto permite que os utilizadores comecem a utilizar instantaneamente a deteção de objectos em tempo real.

A interface também inclui personalização integrada, permitindo aos utilizadores mudar de modelo, ajustar a precisão da deteção e filtrar objectos com facilidade. Tudo é gerido numa interface simples e fácil de utilizar, eliminando a necessidade de desenvolvimento manual da IU. Ao combinar

Com as capacidades do YOLO11 e a facilidade de implementação do Streamlit, as empresas e os programadores podem rapidamente criar protótipos, testar e aperfeiçoar aplicações baseadas em IA. 

Faça parte da nossa comunidade e explore o nosso repositório GitHub para obter mais informações sobre a IA. Dê uma vista de olhos às nossas páginas de soluções para saber mais sobre inovações como a IA no fabrico e a visão por computador nos cuidados de saúde. Veja as nossas opções de licenciamento e comece já hoje!

Vamos construir juntos o futuro
da IA!

Comece a sua viagem com o futuro da aprendizagem automática

Comece gratuitamente
Ligação copiada para a área de transferência