LAB-8

Visão Computacional

1. Conceitos Fundamentais

Definição de Visão Computacional

Visão computacional é o campo da ciência que dá aos computadores a capacidade de “ver”, processar e interpretar dados visuais do mundo real.

A visão computacional é como ensinar uma máquina a “enxergar” o mundo. Pense nos nossos olhos captando imagens e no cérebro interpretando essas imagens. Da mesma forma, computadores usam câmeras para capturar dados visuais e algoritmos para entendê-los.

Diferenças entre Visão Computacional e Visão Humana

Visão Humana: Natural, intuitiva, adaptativa. Ela é instintiva e rápida. Podemos adaptar imediatamente a novas situações visuais, como mudanças de iluminação.

Visão Computacional: Processa imagens de forma sistemática e pode funcionar em condições adversas. Depende de algooritmos, cálculos e dados. Precisa ser ensinada sobre diferentes condições, como iluminação ou ângulos, para funcionar bem.

2. Tecnologias e Ferramentas

OpenCV: Amplamente usado para operações básicas em imagens, como filtro e transformação.

TensorFlow: Utilizado para construir e treinar modelos de aprendizado profundo.

Comparação entre eles: OpenCV é ideal para processamento de imagem rápido, enquanto TensorFlow é potente para aprendizado de máquina.

3. Exemplos de Aplicações Práticas

Reconhecimento Facial: Utiliza características faciais para identificar indivíduos. Aplicado em segurança e autenticação.

Análise de Imagens Médicas: Ajuda na detecção de anomalias em exames, como ressonâncias magnéticas, facilitando diagnósticos.

Detecção de Objetos: Identifica e categoriza objetos em imagens, essencial para veículos autônomos e sistemas de segurança.

4. Metodologias e Técnicas

Processamento de Imagem: Inclui técnicas como segmentação, filtragem e detecção de bordas para aprimorar imagens.

Aprendizado Profundo (Deep Learning): Redes neurais convolucionais (CNNs) são usadas para extrair características complexas das imagens.

5. Desafios e Limitações

Casos de Uso com Imagens de Baixa Qualidade: Técnicas de pré-processamento como aumento de contraste e redução de ruído são essenciais.

Questões Éticas e de Privacidade
Preocupações com o uso não autorizado de dados visuais e possíveis vieses em algoritmos devem ser abordadas.

Observações:

O Haarcascade é um arquivo usado no OpenCV para detectar objetos em imagens, como rostos humanos. Esse arquivo no formato XML contém um conjunto de “cascatas” de características Haar, que são padrões de pixel pré-definidos.

Imagine que ele funciona como um filtro de reconhecimento: foi treinado para identificar formas específicas em diferentes condições de luz e perspectiva. Quando aplicado a uma imagem, ele escaneia e tenta encontrar correspondências para essas características, ajudando a detectar objetos de interesse de forma eficiente. É comum em aplicações que exigem reconhecimento facial, como câmeras de segurança ou aplicativos de fotos que identificam rostos automaticamente.