A Visão por Computador (CV) é um campo especializado da Inteligência Artificial (IA) que permite aos computadores e sistemas obter informações significativas a partir de imagens digitais, vídeos e outros dados visuais. Essencialmente, o seu objetivo é replicar a compreensão visual humana, permitindo que as máquinas "vejam", interpretem e tomem decisões com base em dados visuais. Isto envolve o processamento de informações visuais utilizando algoritmos complexos e modelos de aprendizagem profunda (DL) para reconhecer objectos, compreender cenas e extrair conhecimentos de alto nível. Ao contrário do processamento simples de imagens, que se concentra principalmente em melhorar ou manipular os dados da imagem (como ajustar o brilho ou aplicar filtros), a visão computacional procura compreender o conteúdo e o contexto das imagens.
Importância da IA e da aprendizagem automática
A Visão Computacional é fundamental para muitos sistemas modernos de IA e Aprendizagem Automática (AM), fornecendo as capacidades necessárias para que as máquinas interajam e compreendam o mundo físico através da perceção visual. O advento de técnicas como as Redes Neuronais Convolucionais (CNN), inspiradas no córtex visual humano, revolucionou a CV. Estas redes permitem que os modelos aprendam automaticamente caraterísticas hierárquicas a partir de grandes quantidades de dados visuais, conduzindo a melhorias significativas na precisão de várias tarefas de visão por computador. Este progresso permite aplicações sofisticadas que anteriormente eram inatingíveis, tornando a CV uma pedra angular do atual desenvolvimento da IA e um motor fundamental para casos de utilização de IA que transformam o nosso futuro.
Conceitos-chave e tarefas
A visão computacional engloba uma vasta gama de tarefas destinadas a extrair diferentes tipos de informação de dados visuais. Algumas das principais tarefas incluem:
Visão computacional vs. áreas relacionadas
É útil distinguir a Visão por Computador das disciplinas relacionadas:
- Processamento de imagem: Concentra-se na manipulação de imagens a um nível inferior, frequentemente como um passo de pré-processamento para CV. As tarefas incluem redução do ruído, melhoria do contraste e filtragem utilizando bibliotecas como a OpenCV. O processamento de imagens modifica os pixéis, mas não interpreta necessariamente o conteúdo da imagem. Lê mais sobre as principais diferenças entre a Visão por Computador e o Processamento de Imagem.
- Visão artificial (VM): Embora se sobreponha à CV, a VM refere-se normalmente à aplicação da tecnologia de visão em ambientes industriais para inspeção automatizada, controlo de processos e orientação de robôs. Os sistemas MV operam frequentemente em ambientes controlados com iluminação específica e configurações de câmara, concentrando-se na fiabilidade e velocidade para tarefas específicas como a inspeção de qualidade no fabrico. Mais informações sobre Visão mecânica.
Tecnologias e estruturas
O desenvolvimento de aplicações de visão computacional depende de várias ferramentas, bibliotecas e estruturas:
- Bibliotecas: A OpenCV (Open Source Computer Vision Library) é uma biblioteca fundamental que oferece uma vasta coleção de algoritmos para processamento de imagens e tarefas clássicas de CV. Outras bibliotecas incluem Pillow para manipulação de imagens em Python e Scikit-image para algoritmos de processamento de imagens.
- Frameworks de aprendizagem profunda: PyTorch e TensorFlow são as principais estruturas para construir e treinar modelos de aprendizagem profunda, incluindo os utilizados no CV.
- Modelos: Os modelos mais avançados, como o YOLO (You Only Look Once), permitem uma deteção eficiente de objectos em tempo real. Arquitecturas como a ResNet são os pilares comuns, e os Transformadores de Visão (ViT) representam uma nova classe de modelos que está a ganhar destaque. Compara diferentes desempenhos de modelosYOLO .
- Plataformas: Ferramentas como o Ultralytics HUB simplificam o processo de formação, implementação e gestão de modelos de CV, oferecendo funcionalidades como a formação na nuvem e a gestão de conjuntos de dados. Outras plataformas como Roboflow e Weights & Biases oferecem ferramentas complementares para anotação de dados e acompanhamento de experiências.
Aplicações no mundo real
As aplicações de visão por computador são cada vez mais frequentes em vários sectores:
- Veículos autónomos: A CV é fundamental para os carros autónomos, permitindo-lhes perceber o que os rodeia, detetar peões e outros veículos, ler sinais de trânsito e navegar em segurança. Empresas como a Waymo e a Tesla dependem fortemente de sistemas de CV. Explora as soluções de IA no setor automóvel.
- Cuidados de saúde: Na análise de imagens médicas, a CV ajuda os radiologistas a detetar anomalias como tumores ou fracturas em raios X, tomografias computorizadas e ressonâncias magnéticas. Também é utilizada na cirurgia robótica e na monitorização de pacientes. Vê a investigação da Radiologia: Inteligência Artificial. Descobre como YOLO11 é utilizado para a deteção de tumores.
- Segurança e vigilância: O CV alimenta sistemas de monitorização automatizados, detectando intrusões, seguindo indivíduos e analisando o comportamento de multidões. Vê como construir um sistema de alarme de segurança.
- Retalho: As aplicações incluem a gestão de inventário através da monitorização de prateleiras, análise do comportamento do cliente e sistemas de caixa sem caixa, como os da Amazon Go.
- Fabrico: Utilizado para controlo de qualidade, deteção de defeitos, monitorização da linha de montagem e automação robótica. Aprende a criar soluções de fabrico inteligentes com o YOLO11.
- Agricultura: Permite a agricultura de precisão através da monitorização de culturas, deteção de doenças, identificação de ervas daninhas e colheita automatizada. Lê sobre a monitorização em tempo real do estado das culturas.
- Entretenimento: Utilizada na produção de filmes para efeitos especiais, captura de movimentos e em jogos para criar experiências imersivas. Explora a IA nos jogos de vídeo.