Yolo Vision Shenzhen
Shenzhen
Junte-se agora

Como Ultralytics simplifica a implementação de modelos de visão computacional

Veja como Ultralytics reúne tudo o que é necessário para a implementação de modelos de visão computacional, desde os testes até às APIs prontas para produção.

Expanda os seus projetos de visão computacional com Ultralytics

Comece agora

Ultralytics colaborar com a comunidade de visão computacional há anos, criando modelos e ferramentas que tornam a IA de visão mais acessível a todos. Com Ultralytics , estamos a dar mais um passo em frente, reunindo todo o fluxo de trabalho de desenvolvimento de visão computacional num único ambiente unificado, abrangendo tudo, desde a gestão e anotação de conjuntos de dados até ao treino, validação e implementação de modelos.

Em particular, estamos entusiasmados por facilitar a implementação de modelos de visão computacional. À medida que a visão computacional continua a ser integrada em aplicações do mundo real, a análise de imagens e vídeos fora de ambientes controlados continua a ser complexa. 

Ao contrário dos ambientes de teste, onde as condições são previsíveis, os cenários do mundo real envolvem iluminação variável, entradas em constante mudança e cargas de trabalho imprevisíveis, tornando a implementação uma das partes mais desafiantes do fluxo de trabalho de visão.

A implementação envolve mais do que apenas disponibilizar um modelo para utilização. Exige a criação de processos capazes de lidar com dados reais e garantir que tudo funcione sem problemas à medida que a utilização aumenta e os projetos ganham escala. 

As equipas também precisam de track e manter a fiabilidade ao longo do tempo. Isto implica, muitas vezes, alternar entre diferentes ferramentas de IA para testes, integração, implementação e monitorização, o que pode atrasar o desenvolvimento dos modelos e acrescentar uma complexidade desnecessária.

Os fluxos de trabalho acabam por ficar fragmentados. Ultralytics unifica e simplifica este processo.

Oferece suporte integrado para a implementação, teste e monitorização de modelos num único ambiente. As equipas podem validar modelos através de inferência baseada em navegador, integrá-los em aplicações por meio de serviços de inferência partilhados e implementá-los em terminais dedicados com capacidades de monitorização de desempenho.

Fig. 1. Vista da página de implementação na Ultralytics (Fonte)

Neste artigo, vamos explorar como Ultralytics redefine a implementação de modelos de visão computacional , desde os testes e a integração até à implementação em produção e à monitorização. Vamos começar!

Uma visão geral da implementação de modelos de visão computacional

No ciclo de vida da aprendizagem automática, a implementação do modelo é a fase em que um modelo passa da fase experimental para a utilização no mundo real. No caso dos modelos de visão computacional criados com recurso à aprendizagem profunda e às redes neurais convolucionais, isto significa, geralmente, disponibilizá-los para processar imagens e vídeos em tempo real.

Uma vez implementados, estes modelos recebem novos dados, que normalmente passam por etapas de pré-processamento, como redimensionamento, normalização ou formatação. Os dados processados são então enviados para o modelo, que aplica os padrões aprendidos durante o treino para gerar previsões de alta precisão.

Dependendo do caso de utilização, isto pode incluir diferentes tarefas de visão computacional. Por exemplo,YOLO Ultralytics YOLO , como Ultralytics , suportam uma vasta gama de tarefas de visão, incluindo deteção de objetos, classificação de imagens, segmentação de instâncias, estimativa de pose e deteção de caixas delimitadoras orientadas (OBB).

Para que isto seja viável em aplicações reais, os modelos têm frequentemente de ser integrados em sistemas capazes de gerir de forma eficiente tanto o pré-processamento como a inferência. É aqui que a infraestrutura de implementação se torna essencial.

Em ambientes de produção, o acesso aos modelos é normalmente feito através de APIs REST ou de sistemas de disponibilização de modelos. Estas interfaces permitem que as aplicações enviem dados e recebam previsões de forma programática, facilitando a integração com aplicações externas, dispositivos IoT ou sistemas robóticos que dependem da compreensão visual em tempo real.

Limitações das ferramentas tradicionais de implementação de visão computacional

A implementação de modelos de visão computacional pode parecer simples, mas, até agora, na prática tem sido bem diferente. Considere uma configuração comum: os dados são primeiro capturados por câmaras ou sensores, enviados a um modelo para inferência e, em seguida, devolvidos a uma aplicação sob a forma de previsões.

Na realidade, cada uma destas etapas é frequentemente gerida por ferramentas e serviços distintos. Um sistema pode encarregar-se da captura de dados, outro gerir a disponibilização dos modelos, enquanto outras ferramentas são utilizadas para o dimensionamento, a monitorização e o registo. Manter estes componentes interligados e a funcionar de forma fiável pode rapidamente tornar-se complexo.

À medida que a utilização cresce, esta complexidade aumenta. A gestão da infraestrutura, o tratamento das dependências e a manutenção de um desempenho consistente ao longo de todo o pipeline podem atrasar o desenvolvimento e tornar mais difícil a implementação de modelos de visão computacional em aplicações do mundo real.

Ultralytics reúne estes componentes num único ambiente unificado. Isto proporciona uma forma mais coesa de gerir todo o fluxo de trabalho de implementação, garantindo simultaneamente o desempenho e a fiabilidade em grande escala.

Opções de implementação de modelos disponibilizadas pela Ultralytics

Além de unificar o processo de implementação de modelos, Ultralytics também oferece flexibilidade na forma como os modelos são implementados e utilizados.

Para apoiar as diferentes fases da implementação de modelos de visão computacional, a plataforma oferece quatro opções: testes no navegador com inferência instantânea, inferência partilhada através de APIs para desenvolvimento, pontos de extremidade dedicados para implementações de produção escaláveis em regiões globais e exportação de modelos para a execução de modelos em infraestruturas externas ou dispositivos periféricos.

Vamos então ver mais de perto como funciona cada uma destas opções.

Valide modelos rapidamente utilizando o separador «Predict»

Antes de colocar um modelo em produção, é importante compreender o seu desempenho em dados novos e nunca antes vistos. Ultralytics inclui um separador «Predict» integrado que permite executar inferências diretamente no navegador, sem qualquer configuração, infraestrutura ou dependências.

O separador «Predict» torna a validação do modelo rápida e interativa. Pode carregar imagens, utilizar exemplos pré-carregados ou capturar dados de entrada com uma câmara web, e a inferência é executada automaticamente assim que os dados são fornecidos. 

Os resultados são apresentados instantaneamente com sobreposições visuais, índices de confiança e resultados detalhados, proporcionando-lhe uma visão clara do comportamento do modelo.

Fig. 2. Um exemplo de validação de um modelo utilizando o separador «Predict» (Fonte)

Isto significa que, com apenas alguns cliques, pode testar diferentes entradas, ajustar parâmetros e avaliar o desempenho numa única interface antes de avançar para a implementação.

Executar inferências partilhadas para fins de teste ou utilização ocasional

Suponhamos que treinou um modelo e o validou utilizando o separador «Predict». O passo seguinte consiste, frequentemente, em começar a integrar esse modelo numa aplicação ou num fluxo de trabalho. 

Em vez de configurar infraestruturas ou gerir servidores, Ultralytics fornece serviços de inferência partilhados que lhe permitem enviar dados para o seu modelo e receber previsões através de APIs REST simples.

Nos bastidores, a inferência partilhada é executada num sistema multi-tenant em várias regiões principais, onde os pedidos são automaticamente encaminhados para o serviço disponível mais próximo. Isto ajuda a manter um desempenho ágil, permitindo ao mesmo tempo que utilizadores em diferentes locais acedam aos modelos de forma consistente.

Pode enviar dados de entrada através de pedidos HTTP padrão e receber resultados estruturados em troca, o que facilita a integração de modelos em aplicações, scripts ou fluxos de trabalho de automatização. Esta configuração é uma excelente opção para desenvolvimento, testes, integrações ou utilizações mais simples, antes de passar para implementações de produção mais escaláveis.

Implemente modelos globalmente através de pontos de acesso dedicados

Quando um modelo está pronto para produção, tem de processar o tráfego real de forma fiável e em grande escala. Ultralytics dá resposta a esta necessidade através de pontos de extremidade dedicados, onde os modelos são executados como serviços de inquilino único em 43 regiões globais. A implementação mais próxima dos utilizadores finais ajuda a reduzir a latência e a manter um desempenho consistente em diferentes localizações.

Cada ponto de extremidade funciona com os seus próprios recursos computacionais atribuídos e um URL exclusivo para pedidos de inferência. Este nível de controlo facilita o ajuste das implementações de acordo com as necessidades de desempenho, desde casos de utilização simples até aplicações mais exigentes e de elevado débito que requerem mais recursos computacionais.

Fig. 3. É possível implementar modelos em 43 regiões globais utilizando Ultralytics (Fonte)

No entanto, os endpoints dedicados foram concebidos para gerir por si próprios as variações nas cargas de trabalho, com um sistema de autoescalonamento que ajusta os recursos em função do tráfego recebido. Estes endpoints aumentam a sua capacidade durante os períodos de elevada procura e reduzem-na quando a utilização diminui. Com a funcionalidade «scale-to-zero» ativada por predefinição, os endpoints inativos desligam-se automaticamente e reiniciam-se quando chegam novos pedidos, ajudando a otimizar a utilização dos recursos sem intervenção manual.

Exporte o seu modelo facilmente com Ultralytics

Atualmente, a IA de ponta está a tornar-se cada vez mais essencial, à medida que mais aplicações dependem da execução de modelos diretamente em dispositivos como smartphones, câmaras e sistemas incorporados. A execução de modelos localmente também pode ajudar a cumprir os requisitos de privacidade de dados, uma vez que dados sensíveis, como imagens ou transmissões de vídeo, podem ser processados diretamente no dispositivo sem serem enviados para servidores externos.

Nestes cenários, os modelos precisam de ser executados fora da Ultralytics , tornando a exportação dos modelos uma parte crucial do processo de implementação.YOLO Ultralytics são frequentemente treinados utilizando Python PyTorch, podendo depois ser exportados para mais de 17 formatos diferentes, incluindo ONNX, TensorRT, CoreML e OpenVINO. 

Esta ampla variedade de formatos garante a compatibilidade com diversos tipos de hardware, desde unidades de processamento gráfico (GPUs) de alto desempenho até dispositivos móveis e incorporados. Além disso, a exportação permite o ajuste do desempenho para ambientes específicos. 

Dependendo do formato, os modelos podem atingir velocidades de inferência mais rápidas, como GPU melhor GPU com TensorRT CPU otimizada CPU com ONNX OpenVINO. Opções como a quantização FP16 e INT8 podem reduzir ainda mais o tamanho do modelo e melhorar o rendimento, o que é especialmente útil para implementações na periferia.

Na Ultralytics , a exportação está integrada diretamente no fluxo de trabalho, permitindo gerar modelos otimizados rapidamente com apenas alguns cliques. As equipas podem passar do treino para a execução de modelos em sistemas externos sem sobrecarregar o processo.

Fig. 4. Uma seleção de formatos de exportação na Ultralytics .

Escolher a opção de implementação do modelo adequada

Cada opção de implementação na Ultralytics suporta uma fase diferente do fluxo de trabalho, desde os testes iniciais até à utilização em produção. Aqui fica uma visão geral de quando poderá utilizar cada uma delas:

  • Separador «Predict»: É normalmente utilizado logo após o treino ou o ajuste fino, quando se pretende validar o desempenho de um modelo em novos dados através de inferência no navegador.
  • Inferência partilhada: Nesta fase, os modelos podem ser integrados em aplicações através de APIs, permitindo testar interações reais durante o desenvolvimento.
  • Endpoints dedicados: são utilizados para implementações em produção, nas quais os modelos requerem um desempenho consistente, recursos dedicados e a capacidade de escalar em todas as regiões globais.
  • Exportação de modelos: Quando os modelos precisam de ser executados fora da plataforma, a opção de exportação permite a sua implementação em dispositivos periféricos, aplicações móveis ou infraestruturas personalizadas.

As equipas costumam percorrer estas etapas passo a passo, passando da validação à integração e, por fim, à implementação em produção, tudo dentro da plataforma.

Monitorização de modelos implementados através da Ultralytics

Por mais importante que seja a implementação, o ciclo de vida do modelo não termina aí. Assim que um modelo estiver em funcionamento em produção, a monitorização contínua é fundamental para garantir que este mantenha um desempenho fiável ao longo do tempo.

Ultralytics oferece ferramentas de monitorização integradas que proporcionam às equipas uma visão clara do comportamento dos seus modelos de IA de visão ao longo do tempo, apoiando um fluxo de trabalho de operações de aprendizagem automática (MLOps) mais estruturado.

A página «Implantação» inclui um painel que monitoriza métricas-chave, tais como o total de pedidos, as implantações ativas, a latência de resposta e as taxas de erro. Estas informações ajudam as equipas a compreender os padrões de utilização, a avaliar a capacidade de resposta do sistema e a garantir um desempenho de baixa latência em diferentes cargas de trabalho.

Fig. 5. Ultralytics facilita a monitorização dos modelos implementados. (Fonte)

Cada ponto de extremidade dedicado também oferece observabilidade detalhada através de vistas de implementação individuais. Isto inclui acesso a registos, ao estado de integridade do modelo e a dados de desempenho em tempo real. Os registos podem ser utilizados para depurar problemas, rastrear pedidos falhados e identificar potenciais problemas relacionados com dependências ou infraestrutura.

À medida que os ambientes de produção evoluem, fatores como a alteração dos dados de entrada, as exigências de escalabilidade ou a mudança nos padrões de utilização podem afetar a precisão e a robustez dos modelos. Através da monitorização contínua das métricas de desempenho, as equipas podem detect , identificar pontos de estrangulamento e tomar medidas corretivas, tais como a otimização dos modelos ou ajustes nos recursos, para manter uma execução consistente e fiável dos modelos.

Incorporar escalabilidade na implementação de modelos de visão computacional

Tradicionalmente, escalar sistemas de visão computacional tem implicado integrar fluxos de trabalho e estruturas que nunca foram concebidos para funcionar em conjunto. Os fluxos de dados, os ciclos de treino, a infraestrutura de implementação e os sistemas de monitorização encontram-se frequentemente em locais distintos, criando atritos em todas as fases.

O verdadeiro desafio não é apenas criar modelos, mas mantê-los em funcionamento. Passar dos dados para a produção, adaptar-se a novos dados, dar resposta à procura crescente e melhorar continuamente sem perder ritmo.

O que se destaca na Ultralytics é que este fluxo de trabalho está integrado. Em vez de tratar cada fase como um passo separado, a plataforma interliga-as num ciclo contínuo, no qual os modelos podem ser desenvolvidos, implementados, monitorizados e atualizados no mesmo ambiente.

Essa mudança altera a forma como as equipas se expandem. Já não se trata de coordenar ferramentas ou infraestruturas, mas sim de manter o ritmo à medida que os sistemas crescem.

Principais conclusões

A integração de modelos de aprendizagem automática, como os modelos de visão computacional, em aplicações do mundo real exige que estes sejam fiáveis, escaláveis e fáceis de gerir. Ultralytics simplifica este processo ao reunir várias funções, tais como a disponibilização, a implementação e a monitorização de modelos, num único ambiente unificado. Com opções de implementação flexíveis e ferramentas integradas, as equipas podem passar da fase de experimentação para a produção mais rapidamente e com menos complexidade.

Visite a nossa comunidade e explore o nosso repositório no GitHub para saber mais. Explore as nossas páginas de soluções para conhecer várias aplicações, como a IA na área da saúde e a visão computacional na logística. Descubra as nossas opções de licenciamento e comece a criar hoje mesmo! 

Vamos construir juntos o futuro da IA!

Comece sua jornada com o futuro do aprendizado de máquina