Yolo Vision Shenzhen
Shenzhen
Junte-se agora

Uma história dos modelos de visão

Mostafa Ibrahim

Leitura de 5 minutos

16 de julho de 2024

Explore a história, as conquistas, os desafios e as direções futuras dos modelos de visão.

O que é visão computacional

Imagine entrar em uma loja onde uma câmera identifica seu rosto, analisa seu humor e sugere produtos personalizados de acordo com suas preferências — tudo em tempo real. Isso não é ficção científica, mas uma realidade possibilitada pelos modelos de visão modernos. De acordo com um relatório da Fortune Business Insight, o tamanho do mercado global de visão computacional foi avaliado em USD 20,31 bilhões em 2023 e está projetado para crescer de USD 25,41 bilhões em 2024 para USD 175,72 bilhões até 2032, refletindo os rápidos avanços e a crescente adoção desta tecnologia em vários setores.

O campo da visão computacional permite que os computadores detectem, identifiquem e analisem objetos dentro de imagens. Semelhante a outros campos relacionados à IA, a visão computacional tem experimentado uma rápida evolução nas últimas décadas, alcançando avanços notáveis. 

A história da visão computacional é extensa. Em seus primeiros anos, os modelos de visão computacional eram capazes de detectar formas e bordas simples, muitas vezes limitados a tarefas básicas como reconhecer padrões geométricos ou diferenciar entre áreas claras e escuras. No entanto, os modelos de hoje podem executar tarefas complexas, como detecção de objetos em tempo real, reconhecimento facial e até mesmo interpretar emoções a partir de expressões faciais com excepcional precisão e eficiência. Essa progressão dramática destaca os incríveis avanços feitos em poder computacional, sofisticação algorítmica e a disponibilidade de vastas quantidades de dados para treinamento.

Neste artigo, exploraremos os principais marcos na evolução da visão computacional. Viajaremos por seus primórdios, investigaremos o impacto transformador das Redes Neurais Convolucionais (CNNs) e examinaremos os avanços significativos que se seguiram.

Primórdios da visão computacional

Como em outros campos da IA, o desenvolvimento inicial da visão computacional começou com pesquisa fundamental e trabalho teórico. Um marco significativo foi o trabalho pioneiro de Lawrence G. Roberts no reconhecimento de objetos 3D, documentado em sua tese "Machine Perception of Three-Dimensional Solids" no início dos anos 1960. Suas contribuições lançaram as bases para futuros avanços no campo.

Os primeiros algoritmos - detecção de bordas

As primeiras pesquisas em visão computacional se concentraram em técnicas de processamento de imagem, como detecção de bordas e extração de características. Algoritmos como o operador de Sobel, desenvolvido no final da década de 1960, foram um dos primeiros a detectar bordas, calculando o gradiente da intensidade da imagem.

Fig 1. Uma imagem demonstrando a detecção de bordas, onde o lado esquerdo mostra o objeto original e o lado direito exibe a versão com detecção de bordas.

Técnicas como os detectores de borda de Sobel e Canny desempenharam um papel crucial na identificação de limites dentro de imagens, que são essenciais para reconhecer objetos e entender cenas.

Aprendizado de máquina e visão computacional

Reconhecimento de padrões

Na década de 1970, o reconhecimento de padrões emergiu como uma área-chave da visão computacional. Os pesquisadores desenvolveram métodos para reconhecer formas, texturas e objetos em imagens, o que abriu caminho para tarefas de visão mais complexas.

Fig 2. Reconhecimento de Padrões.

Um dos primeiros métodos para reconhecimento de padrões envolvia a correspondência de modelos, onde uma imagem é comparada a um conjunto de modelos para encontrar a melhor correspondência. Essa abordagem foi limitada por sua sensibilidade a variações de escala, rotação e ruído.

Fig 3. Um modelo no lado esquerdo encontrado dentro da imagem da direita.

Os primeiros sistemas de visão computacional eram limitados pelo poder computacional limitado da época. Os computadores nas décadas de 1960 e 1970 eram volumosos, caros e tinham capacidades de processamento limitadas.

Mudando o jogo com Deep Learning

Deep Learning e Redes Neurais Convolucionais

O deep learning e as Redes Neurais Convolucionais (CNNs) marcaram um momento crucial no campo da visão computacional. Esses avanços transformaram drasticamente a forma como os computadores interpretam e analisam dados visuais, permitindo uma ampla gama de aplicações que antes eram consideradas impossíveis.

Como as CNNs funcionam?

Fig 4. Arquitetura de uma Rede Neural Convolucional (CNN).

  1. Camadas Convolucionais: As CNNs usam camadas convolucionais, que são um tipo de modelo de deep learning projetado para processar dados estruturados em forma de grade, como imagens ou sequências, aprendendo automaticamente padrões hierárquicos, para escanear uma imagem usando filtros ou kernels. Esses filtros detectam vários recursos, como bordas, texturas e cores, deslizando pela imagem e calculando produtos escalares. Cada filtro ativa padrões específicos na imagem, permitindo que o modelo aprenda recursos hierárquicos.
  2. Funções de Ativação: Após a convolução, funções de ativação como ReLU (Unidade Linear Retificada), que é uma função de ativação popular em deep learning que retorna a entrada diretamente se for positiva e zero caso contrário, ajudando as redes neurais a aprender relações não lineares nos dados de forma eficiente. Isso ajuda a rede a aprender padrões e representações complexas.
  3. Camadas de Pooling: As camadas de pooling fornecem uma operação de subamostragem que reduz a dimensionalidade do mapa de características, ajudando a extrair as características mais relevantes, reduzindo o custo computacional e o overfitting.
  4. Camadas Totalmente Conectadas: As camadas finais de uma CNN são camadas totalmente conectadas que interpretam as características extraídas pelas camadas convolucionais e de pooling para fazer previsões. Essas camadas são semelhantes às das redes neurais tradicionais.

Evolução dos modelos de visão CNN

A jornada dos modelos de visão tem sido extensa, apresentando alguns dos mais notáveis:

  • LeNet (1989): LeNet foi uma das primeiras arquiteturas de CNN, usada principalmente para reconhecimento de dígitos em cheques manuscritos. Seu sucesso lançou as bases para CNNs mais complexas, provando o potencial do deep learning no processamento de imagens.
  • AlexNet (2012): AlexNet superou significativamente os modelos existentes na competição ImageNet, mostrando o poder do deep learning. Este modelo utilizou ativações ReLU, dropout e aumento de dados, estabelecendo novos benchmarks na classificação de imagens e despertando um interesse generalizado em CNNs.
  • VGGNet (2014): Ao usar filtros convolucionais menores (3x3), a VGGNet alcançou resultados impressionantes em tarefas de classificação de imagens, reforçando a importância da profundidade da rede para alcançar maior precisão.
  • ResNet (2015): A ResNet abordou o problema de degradação em redes profundas, introduzindo o aprendizado residual. Essa inovação permitiu o treinamento de redes muito mais profundas, levando ao desempenho de última geração em várias tarefas de visão computacional.
  • YOLO (You Only Look Once): YOLO revolucionou a detecção de objetos ao enquadrá-la como um único problema de regressão, prevendo diretamente caixas delimitadoras e probabilidades de classe de imagens completas em uma única avaliação. Essa abordagem permitiu a detecção de objetos em tempo real com velocidade e precisão sem precedentes, tornando-o adequado para aplicações que exigem processamento instantâneo, como direção autônoma e vigilância.

Aplicações de visão computacional

Saúde

Os usos da visão computacional são numerosos. Por exemplo, modelos de visão como o Ultralytics YOLOv8 são utilizados em imagens médicas para detectar doenças como câncer e retinopatia diabética. Eles analisam raios-X, ressonâncias magnéticas e tomografias computadorizadas com alta precisão, identificando anormalidades precocemente. Essa capacidade de detecção precoce permite intervenções oportunas e melhores resultados para os pacientes.

Fig 5. Detecção de tumor cerebral usando Ultralytics YOLOv8.

Preservação ambiental

Os modelos de visão computacional ajudam a monitorar e proteger espécies ameaçadas, analisando imagens e vídeos de habitats selvagens. Eles identificam e rastreiam o comportamento animal, fornecendo dados sobre sua população e movimentos. Essa tecnologia informa as estratégias de conservação e as decisões políticas para proteger espécies como tigres e elefantes.

Com a ajuda da visão computacional, outras ameaças ambientais, como incêndios florestais e desmatamento, podem ser monitoradas, garantindo tempos de resposta rápidos das autoridades locais.

Fig. 6. Uma imagem de satélite de um incêndio florestal.

Desafios e direções futuras

Apesar de já terem alcançado feitos significativos, devido à sua extrema complexidade e à natureza exigente de seu desenvolvimento, os modelos de visão enfrentam inúmeros desafios que exigem pesquisa contínua e avanços futuros.

Interpretabilidade e explicabilidade

Os modelos de visão, especialmente os de aprendizado profundo, são frequentemente vistos como "caixas pretas" com transparência limitada. Isso se deve à grande complexidade de tais modelos. A falta de interpretabilidade dificulta a confiança e a responsabilidade, especialmente em aplicações críticas como a área da saúde, por exemplo.

Requisitos computacionais

Treinar e implementar modelos de IA de última geração exige recursos computacionais significativos. Isso é particularmente verdadeiro para modelos de visão, que geralmente exigem o processamento de grandes quantidades de dados de imagem e vídeo. Imagens e vídeos de alta definição, estando entre as entradas de treinamento com maior intensidade de dados, aumentam a carga computacional. Por exemplo, uma única imagem HD pode ocupar vários megabytes de armazenamento, tornando o processo de treinamento intensivo em recursos e demorado.

Isso exige hardware poderoso e algoritmos de visão computacional otimizados para lidar com os extensos dados e os cálculos complexos envolvidos no desenvolvimento de modelos de visão eficazes. A pesquisa sobre arquiteturas mais eficientes, compressão de modelos e aceleradores de hardware como GPUs e TPUs são áreas-chave que impulsionarão o futuro dos modelos de visão.

Essas melhorias visam reduzir as demandas computacionais e aumentar a eficiência do processamento. Além disso, aproveitar modelos pré-treinados avançados como o YOLOv8 pode reduzir significativamente a necessidade de treinamento extensivo, simplificando o processo de desenvolvimento e aumentando a eficiência.

Um cenário em constante evolução

Atualmente, as aplicações de modelos de visão são generalizadas, variando desde a área da saúde, como a detecção de tumores, até usos cotidianos como o monitoramento de tráfego. Esses modelos avançados trouxeram inovação para inúmeras indústrias, fornecendo precisão, eficiência e capacidades aprimoradas que antes eram inimagináveis.

À medida que a tecnologia continua a avançar, o potencial para os modelos de visão inovarem e melhorarem vários aspectos da vida e da indústria permanece ilimitado. Essa evolução contínua ressalta a importância da pesquisa e do desenvolvimento contínuos no campo da visão computacional.

Curioso sobre o futuro da visão computacional? Para obter mais informações sobre os últimos avanços, explore a Documentação da Ultralytics e confira seus projetos no GitHub da Ultralytics e no GitHub do YOLOv8. Além disso, para obter insights sobre aplicações de IA em vários setores, as páginas de soluções em Carros Autônomos e Manufatura oferecem informações particularmente úteis.

Vamos construir o futuro
da IA juntos!

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

Comece gratuitamente
Link copiado para a área de transferência