Verificação verde
Link copiado para a área de transferência

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

Aprende a executar inferências YOLO11 dentro de uma interface Streamlit e a construir 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 deteção de objectos, classificação de imagens e 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.

Toma Ultralytics YOLO11por exemplo. Trata-se de um modelo que suporta várias tarefas e é útil numa série de aplicações. No entanto, sem alguns conhecimentos técnicos de front-end, construir e implementar 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 visa facilitar este processo. É uma ferramenta 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.

Ultralytics dá 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, vamos explicar-te como configurar e executar YOLO11 utilizando a solução Live Inference da Ultralyticscom o Streamlit, tornando a implementaçã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.

Figura 1. Caraterísticas principais 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, uma vez que é leve e fácil de utilizar, o Streamlit funciona de forma eficiente tanto em máquinas locais como em plataformas na 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 YOLO11 tão fiável.

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. Oferece um desempenho de alta velocidade com uma precisão impressionante.

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 sistemasGPU NVIDIA . Quer seja implementado num pequeno dispositivo incorporado ou num servidor em nuvem de grande escala, 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

Deves estar a pensar, como é que eu sei se o Streamlit é a opção de implementação certa para mim? Se procuras uma forma simples e eficiente de código para executar YOLO11 sem ter de lidar com o desenvolvimento de front-end, o Streamlit é uma boa opção - especialmente para protótipos, 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. Apresenta algumas outras vantagens importantes:

  • Controlos de IA personalizáveis: Podes adicionar barras deslizantes, menus suspensos e botões à tua 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 a deteção de objectos, os resultados da segmentação ou as percepções de rastreio sem esforço.
  • 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 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 pacotePython Ultralytics

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

1# Install the ultralytics package from PyPI
2pip install ultralytics

Depois de instalado, YOLO11 está pronto a usar sem qualquer configuração complicada. Se encontrares algum problema durante a instalação dos pacotes necessários, podes consultar o nosso Guia de Problemas Comuns para obteres dicas e soluções de resolução de problemas.

Lançar a aplicação Streamlit com o YOLO11 

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

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

1from ultralytics import solutions
2
3inf = solutions.Inference(
4    model="yolo11n.pt",  # you can use any model that Ultralytics support, i.e. YOLO11, or custom trained model
5)
6
7inf.inference()
8
9### Make sure to run the file using command `streamlit run <file-name.py>`

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ás interessado e barras deslizantes para ajustar a confiança na deteção. Tudo está bem organizado, permitindo que os utilizadores executem inferências sem esforço e sem escrever código adicional.

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

Agora que a aplicação Streamlit está a ser executada no teu browser, vamos explorar a forma de a utilizar para fazer 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:

  • Carrega um ficheiro de vídeo: Seleciona "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.
  • Escolhe um modelo YOLO11 : Seleciona "YOLO11l" no menu pendente do modelo para deteção de objectos utilizando um modelo YOLO11 grande.
  • Inicia o processo de deteção: Clica em "Iniciar", permitindo que YOLO11 analise o vídeo quadro a quadro e detecte objectos em tempo real.
  • Vê o vídeo processado: Vê como o vídeo aparece no ecrã com actualizações em direto, apresentando os objectos detectados com caixas delimitadoras.
  • Interage com os resultados no Streamlit: Utiliza a interface para ajustar as definições ou analisar as detecções, tudo sem configuração ou codificação adicionais.
Fig. 3. Interface da aplicação Ultralytics YOLO Streamlit.

Casos de utilização com Streamlit e YOLO11

Vimos como o Streamlit é excelente para criar protótipos, ferramentas de investigação e aplicações de pequena e média dimensão. Oferece uma forma simples de implementar modelos de IA sem um desenvolvimento front-end complexo.

No entanto, a execução do YOLO11 com Streamlit nem sempre é uma solução pronta a utilizar - a menos que utilizes a aplicação Ultralytics YOLO Streamlit que configurámos nos passos acima. Na maioria dos casos, é necessário algum trabalho de desenvolvimento para personalizar a aplicação de acordo com necessidades específicas. Embora o Streamlit simplifique a implementação, ainda terás de configurar os componentes necessários para garantir que YOLO11 funciona sem problemas.

Vamos explorar dois exemplos práticos de como 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 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 YOLO11 pode ajudar a detetar e contar objectos instantaneamente. 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.

Fig. 4. Detecta garrafas num frigorífico utilizando YOLO11.

Aumenta 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 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 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 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.

Dicas 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 ao vivo, é 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: Acompanha a precisão da deteção, a velocidade de inferência e a utilização de recursos. Ajusta os parâmetros do modelo ou actualiza o hardware se o desempenho diminuir.
  • Gestão de vários utilizadores e escalabilidade: À medida que a procura dos utilizadores aumenta, a otimização da infraestrutura é fundamental para manter o desempenho. As plataformas de nuvem e as soluções de implementação escaláveis ajudam a garantir um funcionamento sem problemas.
  • 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

Ultralytics simplifica a implementação 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 através de uma interface simples e de fácil utilização, eliminando a necessidade de desenvolvimento manual da IU. Ao combinar

Com as capacidades do YOLO11e 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. 

Torna-te parte da nossa comunidade e explora o nosso repositório GitHub para obteres mais informações sobre IA. Dá uma vista de olhos às nossas páginas de soluções para saberes mais sobre inovações como a IA no fabrico e a visão por computador nos cuidados de saúde. Vê as nossas opções de licenciamento e começa já hoje!

Logótipo do FacebookLogótipo do TwitterLogótipo do LinkedInSímbolo de ligação de cópia

Ler mais nesta categoria

Vamos construir juntos o futuro
da IA!

Começa a tua viagem com o futuro da aprendizagem automática