Ao clicar em “Aceitar todos os cookies”, concorda com o armazenamento de cookies no seu dispositivo para melhorar a navegação no site, analisar a utilização do site e ajudar nos nossos esforços de marketing. Mais informações
Definições de cookies
Ao clicar em “Aceitar todos os cookies”, concorda com o armazenamento de cookies no seu dispositivo para melhorar a navegação no site, analisar a utilização do site e ajudar nos nossos esforços de marketing. Mais informações
Descubra por que razão os modelos de visão computacional falham em produção, desde a incompatibilidade de dados até à latência, e como as equipas podem melhorar o desempenho dos modelos em sistemas de IA de visão no mundo real.
Expanda os seus projetos de visão computacional com Ultralytics
A visão computacional é atualmente uma tecnologia fundamental de inteligência artificial que está a ser adotada na maioria dos setores, permitindo que as máquinas interpretem e analisem dados visuais para uma variedade de tarefas. Estes sistemas estão na base de muitas aplicações no mundo real, desde a imagiologia médica e a robótica até à automação na indústria transformadora e no retalho.
No entanto, criar um sistema de visão computacional nem sempre é tarefa fácil. Normalmente, implica o desenvolvimento de um modelo de IA de visão treinado para identificar padrões em imagens e vídeos, a fim de apoiar tarefas como a deteção e o rastreio de objetos.
Fig. 1. Um exemplo de deteção e rastreamento de objetos (Fonte)
Apesar de se terem tornado mais avançados ao longo dos anos, os modelos de visão computacional podem ainda comportar-se de forma diferente durante o desenvolvimento do que após a implementação em ambientes reais. Isto deve-se ao facto de a implementação de modelos fora de ambientes de desenvolvimento controlados introduzir novos desafios, muitas vezes inesperados.
Fatores como a falta de diversidade nos conjuntos de dados, uma monitorização deficiente do modelo e limitações de infraestrutura podem fazer com que o mesmo modelo se comporte de forma diferente no mundo real após a implementação.
Neste artigo, vamos explorar cinco motivos comuns pelos quais os modelos de visão computacional podem não funcionar em ambiente de produção. Vamos começar!
A diferença entre o treino do modelo e a produção
O treino de modelos ocorre normalmente num ambiente controlado. Durante esta fase, os programadores de IA trabalham com conjuntos de dados de treino cuidadosamente preparados.
Estas vastas coleções de dados visuais incluem anotações bem estruturadas, ou rótulos que descrevem o conteúdo de cada imagem. O treino também decorre em condições consistentes, o que permite que os modelos de IA de visão aprendam padrões visuais de forma eficaz.
Para garantir que estes padrões sejam aprendidos corretamente, os modelos podem ser avaliados sistematicamente durante o desenvolvimento, utilizando métricas de avaliação padrão e conjuntos de dados de referência. Tal como os conjuntos de dados de treino, estes conjuntos de dados de referência também são cuidadosamente preparados.
No entanto, os dados com que os sistemas de visão computacional se deparam no mundo real podem ser muito diferentes dos dados utilizados durante o treino e a avaliação. Uma vez implementados, estes modelos raramente funcionam em condições controladas.
Podem acabar por processar imagens e vídeos provenientes de ambientes imprevisíveis, onde a iluminação muda constantemente, os ângulos da câmara variam e os fundos mudam ao longo do tempo. Por exemplo, um modelo de IA de visão treinado para a deteção de tráfego pode ter dificuldade em detect à noite, se tiver sido treinado e avaliado principalmente com imagens diurnas.
Fig. 2. Mesmo após o realce, as imagens noturnas são difíceis de interpretar para modelos treinados com imagens diurnas. (Fonte)
Esta diferença entre o desenvolvimento e a implementação no mundo real constitui o fosso entre o ambiente de treino e o de produção. Devido a este fosso, muitas falhas dos modelos só se tornam visíveis após a implementação, tornando essencial a deteção precoce para a criação de sistemas de visão computacional mais fiáveis e robustos.
5 razões comuns pelas quais os modelos de visão computacional falham em produção
A seguir, vamos analisar mais detalhadamente cinco motivos comuns pelos quais os modelos de visão computacional falham em produção.
1. Conjuntos de dados de treino de baixa qualidade
Os conjuntos de dados desempenham um papel central no treino de modelos de visão computacional, pois determinam o que o modelo aprende durante o treino e como este responde a entradas do mundo real após a implementação. Isto é particularmente importante na aprendizagem supervisionada, em que os modelos aprendem a partir de exemplos rotulados que mostram o que cada imagem representa.
Muitos modelos de aprendizagem profunda, incluindo as redes neurais convolucionais (CNNs), dependem destes exemplos rotulados para reconhecer padrões em dados visuais. No entanto, quando o conjunto de dados de treino não reflete as condições do mundo real, o modelo pode aprender padrões que não representam totalmente a forma como os objetos se apresentam fora dos dados de treino.
Por exemplo, um modelo treinado com um conjunto de dados de grandes fissuras pode não detect tipo raro de fissura menor em fluxos de trabalho de fabrico reais. Da mesma forma, a qualidade da anotação também pode afetar o comportamento do modelo. Rótulos inconsistentes ou detalhes em falta nos dados rotulados podem fazer com que o modelo aprenda informações incorretas durante o treino.
Fig. 3. Uma visão geral das anotações das imagens (Fonte)
Em geral, a qualidade e a diversidade dos dados de treino são fundamentais e podem determinar o desempenho de um modelo em aplicações reais. Quando os conjuntos de dados são representativos e estão corretamente rotulados, um modelo terá, geralmente, um desempenho mais fiável após a sua implementação.
2. Sobreajuste e generalização
Os modelos de aprendizagem automática, como os modelos de visão, aprendem padrões a partir de conjuntos de dados de treino. Mas, por vezes, um modelo pode basear-se excessivamente em poucos padrões.
Em vez de aprender relações visuais mais amplas, pode acabar por memorizar os padrões limitados dos dados de treino. Este comportamento é conhecido como sobreajuste.
O sobreajuste ocorre geralmente quando os conjuntos de dados de treino são pequenos ou carecem de diversidade suficiente. Nesses casos, o modelo torna-se eficaz no reconhecimento de imagens que já viu, mas tem dificuldade em interpretar novos dados ou entradas desconhecidas.
Por isso, um modelo pode apresentar um bom desempenho com os dados de teste (uma vez que estes são semelhantes aos dados de treino), mas pode comportar-se de forma diferente em novas condições após a implementação. É por isso que o conceito de generalização é fundamental. Em termos simples, trata-se da capacidade dos modelos de aplicar o que aprenderam durante o treino a novos cenários.
Para reduzir o sobreajuste, os entusiastas da IA costumam treinar modelos com conjuntos de dados mais diversificados e aplicar o aumento de dados, um método que modifica ligeiramente as imagens de treino para criar mais variação nos dados. Sem estas considerações, o desempenho do modelo pode diminuir rapidamente assim que o sistema começa a funcionar em ambientes reais.
Fig. 4. O aumento de dados pode ajudar a criar variações da mesma imagem dentro de um conjunto de dados. (Fonte)
3. Casos extremos ocultos em ambientes reais
Mesmo quando os modelos de visão computacional se adaptam bem a novos dados, os ambientes do mundo real podem ainda apresentar casos-limite inesperados. Trata-se de situações invulgares que diferem dos padrões típicos que o modelo aprende durante o treino.
Muitos destes cenários são difíceis de capturar durante o desenvolvimento, porque ocorrem raramente, são difíceis de recriar ou podem ser dispendiosos de recolher como dados de treino. Por exemplo, os objetos podem apresentar formas invulgares, mover-se de forma imprevisível ou ficar parcialmente ocultos por trás de outros objetos.
Alterações na iluminação, nos ângulos da câmara ou nas condições do fundo também podem criar situações que tornam o reconhecimento mais difícil. Estes casos extremos só se tornam evidentes, muitas vezes, depois de o sistema ter sido implementado em aplicações reais.
Na robótica e na automação da produção, por exemplo, os itens podem ser colocados ou posicionados de forma diferente do esperado, criando situações para as quais o modelo não foi concebido. Em última análise, as previsões que pareciam fiáveis durante os testes podem tornar-se menos consistentes quando o sistema passa a funcionar em ambientes reais.
4. Falta de monitorização e depuração após a implementação
Para além de desenvolver um modelo de IA de visão, é essencial monitorizar e melhorar o seu desempenho. No entanto, assim que o sistema está em funcionamento, a atenção centra-se frequentemente apenas em mantê-lo operacional, em vez de acompanhar de perto o seu desempenho ao longo do tempo. Consequentemente, as alterações no comportamento do modelo podem passar despercebidas.
Ao mesmo tempo, fatores como alterações nos dados recebidos, nas configurações da câmara ou nos ambientes operacionais podem afetar gradualmente a precisão com que o modelo deteta ou classifica objetos. Estas alterações nem sempre são evidentes e podem passar despercebidas durante o funcionamento diário.
A monitorização dos resultados dos modelos e do comportamento geral do sistema pode ajudar as equipas a identificar estes problemas mais cedo. Verificações regulares, rotinas de validação e fluxos de trabalho de depuração permitem às equipas investigar resultados invulgares e compreender o que poderá estar a causá-los.
Se pensarmos em setores como o da indústria transformadora, um modelo pode, de repente, identificar incorretamente objetos numa linha de montagem após uma alteração na configuração da câmara. track um sistema de IA de visão implementado facilita a resposta a essas alterações e ajuda a manter um desempenho estável em ambientes reais.
5. Limitações de infraestrutura e latência
Muitos sistemas de visão computacional precisam de funcionar em tempo real, o que pode exercer uma pressão significativa sobre o hardware, as redes e os fluxos de processamento. Quando os recursos são limitados, podem ocorrer atrasos no processamento ou latência na rede, fazendo com que as previsões demorem a chegar e afetando o desempenho geral do sistema.
Em alguns casos, os modelos avançados de aprendizagem profunda também podem criar desafios em termos de infraestrutura. Por exemplo, as arquiteturas baseadas em transformadores são concebidas para processar grandes quantidades de dados visuais e aprender relações complexas dentro das imagens, mas requerem frequentemente recursos computacionais consideráveis. A execução destes modelos pode exigir hardware mais potente ou mais caro.
Sem uma otimização adequada, mesmo os modelos que funcionam rapidamente durante os testes podem ficar lentos ou apresentar um comportamento inconsistente após a implementação. Para resolver esta questão, as equipas costumam otimizar os pipelines, reduzir a complexidade dos modelos sempre que possível e encontrar um equilíbrio entre precisão e velocidade.
Isto pode implicar a compressão de modelos de grande dimensão em versões mais leves, a utilização de arquiteturas mais eficientes ou o processamento de imagens a resoluções mais baixas, para que o sistema funcione sem problemas no hardware disponível. Em muitos casos, as equipas optam também por modelos mais leves e rápidos, como Ultralytics , para ajudar a cumprir as restrições de implementação.
Melhores práticas para evitar falhas nos modelos de visão computacional
Aqui estão algumas boas práticas que podem ajudar a reduzir as falhas na implementação de modelos de visão computacional em produção:
Utilize estratégias de implementação por fases: introduza os modelos na produção de forma gradual, para que as equipas possam observar o seu comportamento e fazer ajustes sempre que necessário.
Incorporar ciclos de feedback: recolher novas imagens e analisar previsões incorretas para retreinar os modelos com conjuntos de dados atualizados e melhorar o desempenho ao longo do tempo.
Limitações do modelo de documento: Registe claramente as situações em que o modelo pode apresentar dificuldades, para que as equipas possam antecipar potenciais problemas durante a implementação.
Conceber tendo em conta a variabilidade do mundo real: planear antecipadamente as variações na iluminação, nos ângulos de câmara, na disposição dos objetos ou nas condições do fundo pode ajudar a garantir a estabilidade dos modelos em diferentes cenários de funcionamento.
Principais conclusões
Os modelos de visão computacional raramente falham devido à fraqueza dos próprios algoritmos. Na maioria dos casos, o verdadeiro desafio reside nos ambientes em que estes sistemas operam. Os modelos que apresentam um bom desempenho durante o treino deparam-se frequentemente com condições imprevisíveis no mundo real que podem afetar o seu comportamento.
É por isso que a criação de sistemas de IA de visão fiáveis requer mais do que apenas treinar um modelo. Implica também preparar cuidadosamente os conjuntos de dados, monitorizar o desempenho do modelo após a implementação e adaptar continuamente os sistemas às condições do mundo real.