Picture of Salar Komeyshi
Salar Komeyshi
Content

O que é a visão por computador? Compreende os princípios básicos

A Visão por Computador é um campo multidisciplinar que permite às máquinas interpretar e compreender a informação visual do mundo, espelhando as capacidades perceptivas da visão humana. Esta tecnologia transformadora encontrou aplicações não só na indústria automóvel, mas também em vários outros domínios, desde os cuidados de saúde aos sistemas de segurança e ao entretenimento. Neste artigo, vamos aprofundar os meandros técnicos da visão por computador, explorando os seus princípios fundamentais e centrando-nos nas suas aplicações com soluções viáveis na deteção de danos em automóveis. O processo pode ser dividido em várias etapas fundamentais:

1. Aquisição de imagens: Captura dados visuais através de vários sensores, como câmaras.
2. Pré-processamento: Limpa e melhora as imagens adquiridas para uma melhor análise.
3. Extração de caraterísticas: Identifica padrões ou caraterísticas relevantes nas imagens.
4. Tomada de decisões: Dá sentido às caraterísticas extraídas para tirar conclusões ou tomar medidas.

Como funciona a visão computacional?

A visão computacional baseia-se em extensos conjuntos de dados para treinar máquinas na distinção de padrões e no reconhecimento de imagens. Através da fusão da aprendizagem profunda e das Redes Neuronais Convolucionais (CNN), o processo envolve a exposição de sistemas a grandes conjuntos de dados, permitindo-lhes identificar autonomamente caraterísticas e aperfeiçoar a sua compreensão.

No domínio da aprendizagem automática, os algoritmos permitem que os computadores compreendam o contexto dos dados visuais sem programação explícita. As CNNs tratáveis são fundamentais para dividir as imagens em pixéis, atribuir etiquetas e utilizar convoluções para previsões. A CNN aperfeiçoa as suas previsões iterativamente, tal como o reconhecimento humano que evolui de formas básicas para detalhes complexos.

Enquanto as CNN se destacam na compreensão de imagens individuais, as Redes Neuronais Recorrentes (RNN) alargam esta capacidade a aplicações de vídeo, ajudando os computadores a compreender as relações temporais entre fotogramas. A colaboração entre o aprendizado de máquina e as CNNs permite que as máquinas aprendam e reconheçam imagens, espelhando os processos diferenciados da perceção visual humana. Com o avanço da tecnologia, o panorama da visão computacional está pronto para se expandir, dando início a uma fase de compreensão visual inteligente por parte das máquinas.

Modelos-chave da visão computacional

Classificação de imagens

Figura 1: A imagem acima mostra que a classificação de imagens consegue detetar e classificar o automóvel.

A classificação de imagens é uma das tarefas fundamentais da visão por computador, baseando-se no reconhecimento de padrões. Envolve a atribuição de etiquetas ou categorias predefinidas a uma imagem de entrada. As CNNs surgiram como a arquitetura de eleição para tarefas de classificação de imagens, utilizando o reconhecimento de padrões através de camadas convolucionais para aprender automaticamente caraterísticas hierárquicas das imagens. Isto permite-lhes discernir padrões e texturas complexos nos dados. Modelos populares de classificação de imagens como o AlexNet, o VGG e o ResNet alcançaram uma precisão notável em conjuntos de dados padrão como o ImageNet, demonstrando a eficácia da aprendizagem profunda e do reconhecimento de padrões neste domínio.

Deteção de objectos

Figura 2: A imagem acima exemplifica a deteção de objectos, demonstrando a sua capacidade de identificar e etiquetar dois carros separados.

A deteção de objectos, uma técnica de reconhecimento de padrões fundamental na visão computacional, envolve a identificação e localização de instâncias de objectos em imagens ou vídeos. Desempenha um papel especialmente crucial nos veículos autónomos, mas também nos sistemas de vigilância e na realidade aumentada. A deteção de objectos utiliza algoritmos de aprendizagem automática ou de aprendizagem profunda, tirando partido do reconhecimento de padrões para imitar a inteligência humana no reconhecimento e localização de objectos.

Existem muitas técnicas diferentes de deteção de objectos, mas as 3 mais notáveis são as seguintes:

– As técnicas baseadas na aprendizagem profunda, como a R-CNN e a YOLO v2, utilizam a CNN para aprender e detetar automaticamente objectos em imagens. Duas abordagens principais para a deteção de objectos envolvem a criação e o treino de um detetor de objectos personalizado a partir do zero ou a utilização de um modelo pré-treinado com aprendizagem por transferência. As redes de duas fases, como a R-CNN, identificam propostas de regiões antes de classificar objectos, obtendo uma elevada precisão mas velocidades mais lentas. As propostas de regiões servem como caixas delimitadoras candidatas que a rede examina em busca de objectos potenciais durante a fase de classificação subsequente. As redes de fase única, como a YOLO v2, prevêem regiões em toda a imagem, oferecendo resultados mais rápidos, mas com uma precisão potencialmente inferior para objectos pequenos.

– As técnicas de aprendizagem automática, como a classificação ACF e SVM utilizando caraterísticas HOG, fornecem abordagens alternativas para a deteção de objectos, incorporando o reconhecimento de padrões. A escolha entre aprendizagem profunda e aprendizagem automática depende de factores como a disponibilidade de dados de formação rotulados e recursos de GPU. O MATLAB oferece ferramentas para criar e personalizar modelos de deteção de objectos, facilitando tarefas como a rotulagem de imagens, a criação de algoritmos e a geração de código para implementação em várias plataformas, incluindo GPUs como a NVIDIA Jetson.

– A técnica de segmentação de imagens é outra técnica utilizada na deteção de objectos, oferecendo uma abordagem alternativa para identificar e delinear objectos em imagens ou vídeos. Este método envolve a divisão de uma imagem em segmentos com base em propriedades específicas, como cor, forma ou textura. A segmentação de imagens, juntamente com a análise de bolhas e a deteção baseada em caraterísticas, fornece caminhos adicionais para a deteção de objectos, dependendo dos requisitos da aplicação.

Seguimento de objectos

Figura 3: A imagem acima mostra dois carros em movimento e como a deteção de objectos os pode identificar e seguir separadamente.

O seguimento de objectos envolve a monitorização contínua das posições e movimentos dos objectos em quadros sucessivos de uma sequência de vídeo. É crucial para aplicações como a vigilância por vídeo, a interação homem-computador e a robótica. Os algoritmos de rastreamento devem lidar com desafios como oclusões, mudanças de escala e variações nas condições de iluminação. Os algoritmos de rastreio de objectos múltiplos (MOT), como o filtro de Kalman e o filtro de partículas, são normalmente utilizados para prever e atualizar as posições dos objectos ao longo do tempo.

Recuperação de imagens com base no conteúdo

A Recuperação de Imagens com Base no Conteúdo (CBIR) permite a recuperação de imagens de uma base de dados com base no seu conteúdo visual. Para tal, compara as caraterísticas de uma imagem de consulta com as das imagens da base de dados para encontrar as mais semelhantes. As técnicas de extração de caraterísticas, como os histogramas de cor, os descritores de textura e as caraterísticas profundas, desempenham um papel crucial nos sistemas CBIR. A CBIR encontra aplicações em motores de pesquisa de imagens, análise de imagens médicas e gestão de activos digitais. Um exemplo comum é um motor de pesquisa de imagens como o Google Images.

Aplicações da visão computacional

1. Indústria automóvel
Na indústria automóvel, a visão computacional é fundamental para o desenvolvimento da condução autónoma e para o aumento da segurança dos veículos. Integrada nos Sistemas Avançados de Assistência ao Condutor (ADAS), a visão computacional ajuda na deteção de obstáculos, na manutenção da faixa de rodagem e na prevenção de colisões. Outra utilização significativa é para inspecções eficientes de veículos, identificando e categorizando danos para reduzir custos. Na focalx, utilizamos modelos avançados de visão computorizada para avaliações precisas e rápidas do estado do veículo. Para saber mais sobre este assunto, consulta o nosso artigo, Deteção de danos em automóveis. Além disso, a visão computacional permite que os sistemas de monitoramento do motorista detectem sinais de fadiga ou distração, aumentando assim a segurança do motorista e do veículo.

2. Indústria dos cuidados de saúde
A visão por computador revolucionou a indústria dos cuidados de saúde, melhorando a imagiologia médica e a deteção de doenças. As Redes Neuronais Convolucionais (CNN) permitem a identificação de alta precisão de anomalias em radiografias, ressonâncias magnéticas e tomografias computorizadas, ajudando significativamente no diagnóstico de doenças. Durante a pandemia da COVID-19, a visão por computador foi crucial no rastreio de doentes e na monitorização da progressão da doença através de padrões de respiração. Um exemplo notável é o sistema de IA da Google Health para mamografia, que reduziu substancialmente os falsos positivos e negativos nos rastreios do cancro da mama, melhorando assim a precisão do diagnóstico.

3. Casos de utilização geral
As aplicações de visão computacional estendem-se a tarefas quotidianas como o reconhecimento facial, o reconhecimento ótico de caracteres (OCR), a realidade aumentada (AR) e a realidade virtual (VR). Os sistemas de reconhecimento facial, alimentados por CNNs, são utilizados na segurança, na aplicação da lei e no desbloqueio de dispositivos pessoais. A tecnologia OCR converte imagens digitalizadas de texto em dados digitais, facilitando a manipulação e a digitalização de documentos. No entretenimento e nos jogos, a visão por computador melhora as experiências de RA e RV, detectando objectos do mundo real e sobrepondo elementos virtuais, criando ambientes interactivos e imersivos.

Conclusão

Os modelos de deteção de objectos estão em constante aperfeiçoamento, com novas arquitecturas e técnicas que aumentam a precisão e a eficiência. Desafios como a deteção de objectos em cenas complexas ou em condições de pouca luz impulsionam a investigação em curso. A combinação da deteção de objectos com outras tarefas de visão por computador, como o seguimento e a segmentação, aumenta as suas aplicações práticas, tornando-a uma solução versátil para vários cenários.

A visão por computador transformou a forma como as máquinas percepcionam e interpretam a informação visual. Tarefas como a classificação de imagens, a deteção de objectos, o seguimento de objectos e a recuperação de imagens com base no conteúdo melhoram as capacidades destes sistemas. Entre estas, a deteção de objectos é particularmente crucial para aplicações no mundo real, incluindo veículos autónomos e sistemas de vigilância inteligentes. À medida que a tecnologia da visão computacional progride, a integração destas tarefas promete criar máquinas mais inteligentes e mais perceptivas, conduzindo a uma nova era de interação homem-máquina.

Want to see how it works?

Join teams transforming vehicle inspections with seamless, AI-driven efficiency

Scroll to Top