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

O que é visão computacional#
Imagina entrar numa loja onde uma câmara identifica o teu rosto, analisa o teu humor e sugere produtos adaptados às tuas preferências — tudo em tempo real. Isto não é ficção científica, mas sim uma realidade possibilitada pelos modernos modelos de visão. De acordo com um relatório da Fortune Business Insight, a dimensão global do mercado de visão computacional foi avaliada em 20,31 mil milhões de USD em 2023 e prevê-se que cresça de 25,41 mil milhões de USD em 2024 para 175,72 mil milhões de USD até 2032, refletindo os rápidos avanços e a crescente adoção desta tecnologia em várias indústrias.
O campo da visão computacional permite que computadores detetem, identifiquem e analisem objetos dentro de imagens. Semelhante a outros campos relacionados com IA, a visão computacional tem experimentado uma evolução rápida nas últimas décadas, alcançando avanços notáveis.
A história da visão computacional é vasta. Nos seus primeiros anos, os modelos de visão computacional eram capazes de detetar formas simples e contornos, estando frequentemente limitados a tarefas básicas como o reconhecimento de padrões geométricos ou a diferenciação entre áreas claras e escuras. No entanto, os modelos de hoje conseguem realizar tarefas complexas como deteção de objetos em tempo real, reconhecimento facial e até a interpretação de emoções a partir de expressões faciais com excecional precisão e eficiência. Esta progressão dramática destaca os incríveis passos dados no poder computacional, na sofisticação algorítmica e na disponibilidade de vastas quantidades de dados para treino.
Neste artigo, vamos explorar os marcos fundamentais na evolução da visão computacional. Viajaremos através dos seus primórdios, mergulharemos no impacto transformador das Convolutional Neural Networks (CNNs) e examinaremos os avanços significativos que se seguiram.
Os primórdios da visão computacional#
Tal como noutros campos da IA, o desenvolvimento inicial da visão computacional começou com investigação fundamental e trabalho teórico. Um marco significativo foi o trabalho pioneiro de Lawrence G. Roberts sobre o reconhecimento de objetos em 3D, documentado na sua tese "Machine Perception of Three-Dimensional Solids" no início da década de 1960. As suas contribuições lançaram as bases para futuros avanços no campo.
Os primeiros algoritmos - deteção de contornos#
A investigação inicial em visão computacional focou-se em técnicas de processamento de imagem, como deteção de contornos e extração de características. Algoritmos como o operador Sobel, desenvolvido no final da década de 1960, foram dos primeiros a detetar contornos ao calcular o gradiente da intensidade da imagem.

Fig 1. Uma imagem que demonstra a deteção de contornos, onde o lado esquerdo mostra o objeto original e o lado direito apresenta a versão com contornos detetados.
Técnicas como os detetores de contornos Sobel e Canny desempenharam um papel crucial na identificação de limites dentro das imagens, os quais são essenciais para reconhecer objetos e compreender cenas.
Machine Learning e visão computacional#
Reconhecimento de padrões#
Na década de 1970, o reconhecimento de padrões surgiu como uma área chave da visão computacional. Investigadores 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 (template matching), onde uma imagem é comparada a um conjunto de modelos para encontrar a melhor correspondência. Esta abordagem era limitada pela sua sensibilidade a variações de escala, rotação e ruído.

Fig 3. Um modelo no lado esquerdo encontrado dentro da imagem à direita.
Os primeiros sistemas de visão computacional eram limitados pelo escasso poder computacional da época. Os computadores das décadas de 1960 e 1970 eram volumosos, caros e tinham capacidades de processamento limitadas.
Mudar o jogo com Deep Learning#
Deep Learning e Convolutional Neural Networks#
O deep learning e as Convolutional Neural Networks (CNNs) marcaram um momento crucial no campo da visão computacional. Estes avanços transformaram drasticamente a forma como os computadores interpretam e analisam dados visuais, permitindo uma vasta gama de aplicações que anteriormente eram consideradas impossíveis.
Como funcionam as CNNs?#

Fig 4. Arquitetura de uma Rede Neuronal Convolucional (CNN).
- Camadas Convolucionais: As CNNs utilizam camadas convolucionais, que são um tipo de modelo de deep learning desenhado para processar dados estruturados em grelha, tais como imagens ou sequências, aprendendo automaticamente padrões hierárquicos para analisar uma imagem utilizando filtros ou kernels. Estes filtros detetam várias características tais como contornos, texturas e cores, deslizando pela imagem e calculando produtos internos. Cada filtro ativa padrões específicos na imagem, permitindo ao modelo aprender caraterísticas hierárquicas.
- Funções de Ativação: Após a convolução, funções de ativação como ReLU (Rectified Linear Unit), que é uma função de ativação popular em deep learning que devolve a entrada diretamente se for positiva e zero caso contrário, ajudam as redes neuronais a aprender relações não lineares nos dados de forma eficiente. Isto ajuda a rede a aprender padrões e representações complexas.
- 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 caraterísticas mais relevantes enquanto reduzem o custo computacional e o sobreajuste (overfitting).
- 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. Estas camadas são semelhantes àquelas em redes neuronais tradicionais.
Evolução dos modelos de visão CNN#
O percurso dos modelos de visão tem sido extenso, contando com alguns dos mais notáveis:
-
LeNet (1989): A LeNet foi uma das primeiras arquiteturas de CNN, usada principalmente para reconhecimento de dígitos em cheques manuscritos. O seu sucesso estabeleceu as bases para CNNs mais complexas, provando o potencial do deep learning no processamento de imagem.
-
AlexNet (2012): A AlexNet superou significativamente os modelos existentes na competição ImageNet, demonstrando o poder do deep learning. Este modelo utilizou ativações ReLU, dropout e aumento de dados, estabelecendo novos padrões na classificação de imagens e despertando um interesse generalizado nas 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 atingir uma maior precisão.
-
ResNet (2015): A ResNet resolveu o problema de degradação em redes profundas ao introduzir a aprendizagem residual. Esta inovação permitiu o treino de redes muito mais profundas, levando a um desempenho de topo em várias tarefas de visão computacional.
-
YOLO (You Only Look Once): O YOLO revolucionou a deteção de objetos ao formulá-la como um problema de regressão único, prevendo diretamente bounding boxes e probabilidades de classe a partir de imagens completas numa única avaliação. Esta abordagem permitiu a deteção de objetos em tempo real com uma velocidade e precisão sem precedentes, tornando-o adequado para aplicações que exigem processamento instantâneo, tais como condução autónoma e vigilância.
Aplicações de visão computacional#
Cuidados de saúde#
Os usos da visão computacional são inúmeros. Por exemplo, modelos de visão como o Ultralytics YOLOv8 são utilizados em imagem médica para detetar doenças como o cancro e a retinopatia diabética. Analisam raios X, ressonâncias magnéticas e TACs com alta precisão, identificando anomalias precocemente. Esta capacidade de deteção precoce permite intervenções atempadas e melhores resultados para os pacientes.

Fig 5. Deteção de Tumores Cerebrais utilizando o Ultralytics YOLOv8.
Preservação ambiental#
Os modelos de visão computacional ajudam a monitorizar e proteger espécies ameaçadas através da análise de imagens e vídeos de habitats de vida selvagem. Identificam e monitorizam o comportamento dos animais, fornecendo dados sobre a sua população e movimentos. Esta tecnologia fundamenta estratégias de conservação e decisões políticas para proteger espécies como tigres e elefantes.
Com a ajuda da IA de visão, outras ameaças ambientais como incêndios florestais e desflorestação podem ser monitorizadas, garantindo tempos de resposta rápidos por parte das autoridades locais.

Fig 6. Uma imagem de satélite de um incêndio florestal.
Desafios e direções futuras#
Embora já tenham alcançado conquistas significativas, devido à sua extrema complexidade e à natureza exigente do seu desenvolvimento, os modelos de visão enfrentam inúmeros desafios que requerem investigação contínua e avanços futuros.
Interpretabilidade e explicabilidade#
Os modelos de visão, especialmente os de deep learning, são frequentemente vistos como "caixas negras" com transparência limitada. Isto deve-se ao facto de tais modelos serem incrivelmente complexos. A falta de interpretabilidade prejudica a confiança e a responsabilidade, especialmente em aplicações críticas como, por exemplo, nos cuidados de saúde.
Requisitos computacionais#
Treinar e implementar modelos de IA de última geração exige recursos computacionais significativos. Isto é particularmente verdade para modelos de visão, que frequentemente requerem o processamento de grandes quantidades de dados de imagem e vídeo. Imagens e vídeos de alta definição, estando entre os inputs de treino que mais consomem dados, aumentam a carga computacional. Por exemplo, uma única imagem HD pode ocupar vários megabytes de armazenamento, tornando o processo de treino intensivo em termos de recursos e demorado.
Isto necessita de hardware potente e algoritmos de visão computacional otimizados para lidar com os extensos dados e cálculos complexos envolvidos no desenvolvimento de modelos de visão eficazes. A investigação em arquiteturas mais eficientes, compressão de modelos e aceleradores de hardware como GPUs e TPUs são áreas chave que irão impulsionar o futuro dos modelos de visão.
Estas melhorias visam reduzir as exigências computacionais e aumentar a eficiência de processamento. Além disso, aproveitar modelos pré-treinados avançados como o Ultralytics YOLOv8 pode reduzir significativamente a necessidade de treino extensivo, simplificando o processo de desenvolvimento e aumentando a eficiência.
Uma paisagem em constante evolução#
Hoje em dia, as aplicações dos modelos de visão são广泛 (generalizadas), variando desde os cuidados de saúde, tais como a deteção de tumores, até usos quotidianos como a monitorização de tráfego. Estes modelos avançados trouxeram inovação a inúmeras indústrias, fornecendo uma precisão, eficiência e capacidades melhoradas que antes eram inimagináveis.
À medida que a tecnologia continua a avançar, o potencial dos modelos de visão para inovar e melhorar vários aspetos da vida e da indústria permanece ilimitado. Esta evolução contínua sublinha a importância da investigação e desenvolvimento contínuos no campo da visão computacional.
Curioso sobre o futuro da IA de visão? Para mais informações sobre os últimos avanços, explora a Ultralytics Docs e confere os respetivos projetos no Ultralytics GitHub e no YOLOv8 GitHub. Adicionalmente, para perspetivas sobre aplicações de IA em várias indústrias, as páginas de soluções sobre Carros Autónomos e Manufatura oferecem informação particularmente útil.






