Explorando como funcionam as aplicações de visão computacional
Faz uma análise aprofundada connosco sobre as aplicações da visão computacional. Vamos também percorrer várias tarefas de visão computacional, como a deteção e segmentação de objetos.

Quando exploramos a history of computer vision models, vimos como a computer vision evoluiu e o caminho que levou aos modelos de visão avançados que temos hoje. Modelos modernos como Ultralytics YOLOv8 suportam múltiplas computer vision tasks e estão sendo usados em várias aplicações empolgantes.
Neste artigo, daremos uma olhada nos fundamentos da visão computacional e dos modelos de visão. Abordaremos como eles funcionam e suas diversas aplicações em vários setores. As inovações em visão computacional estão em toda parte, moldando silenciosamente nosso mundo. Vamos descobri-las uma a uma!
O que é visão computacional?#
Inteligência artificial (IA) é um termo abrangente que engloba muitas tecnologias que visam replicar parte da inteligência humana. Um desses subcampos da IA é a visão computacional. A visão computacional foca em dar às máquinas olhos que possam ver, observar e compreender o que as cerca.
Assim como a visão humana, as soluções de visão computacional visam distinguir objetos, calcular distâncias e detectar movimentos. No entanto, ao contrário dos humanos, que possuem uma vida inteira de experiências para ajudar a ver e entender, os computadores dependem de grandes quantidades de dados, câmeras de alta definição e algoritmos complexos.

Fig 1. Comparando a visão humana e a visão computacional.
Os sistemas de visão computacional podem processar e analisar dados visuais como imagens e vídeos com velocidades e precisão incríveis. A capacidade de analisar rápida e com precisão vastas quantidades de informação visual torna a visão computacional uma ferramenta poderosa em vários setores, desde manufacturing até healthcare.
Modelos de visão suportam várias tarefas de visão computacional#
Os modelos de visão computacional são o núcleo de qualquer aplicação de visão computacional. Eles são essencialmente algoritmos computacionais alimentados por técnicas de deep learning projetadas para dar às máquinas a capacidade de interpretar e entender informações visuais. Os modelos de visão permitem tarefas cruciais de visão computacional que vão desde image classification até object detection. Vamos dar uma olhada mais de perto em algumas dessas tarefas e em seus casos de uso com mais detalhes.
Classificação de imagem#
A Image classification envolve categorizar e rotular imagens em classes ou categorias predefinidas. Um modelo de visão como o YOLOv8 pode ser treinado em grandes datasets de imagens rotuladas. Durante o treinamento, o modelo aprende a reconhecer padrões e características associados a cada classe. Uma vez treinado, ele pode prever a categoria de imagens novas e não vistas, analisando suas características e comparando-as com os padrões aprendidos.

Fig 2. Um exemplo de classificação de imagens. (fonte: towardsdatascience.com)
Existem diferentes tipos de classificação de imagens. Por exemplo, ao lidar com medical images, podes usar a classificação binária para dividir fotos em dois grupos, como saudável ou doente. Outro tipo é a classificação multiclasse. Ela pode ajudar a classificar imagens em vários grupos, como classifying different animals on a farm como porcos, cabras e vacas. Ou, digamos que queres classificar animais em grupos e subgrupos, como classificar animais em mamíferos e aves e depois ainda em espécies como leões, tigres, águias e pardais; a classificação hierárquica seria a melhor opção.
Detecção de objetos#
A detecção de objetos é o processo de identificar e localizar objetos em imagens e frames de vídeo usando visão computacional. Consiste em duas tarefas: localização de objetos, que desenha caixas delimitadoras (bounding boxes) ao redor dos objetos, e classificação de objetos, que identifica a categoria de cada objeto. Com base em anotações de caixas delimitadoras, um modelo de visão pode aprender a reconhecer padrões e características específicas de cada categoria de objeto e prever a presença e localização desses objetos em novas imagens não vistas.
Fig 3. YOLOv8 sendo usado para detectar jogadores em um campo de futebol.
A deteção de objetos tem muitos casos de uso em diferentes indústrias, desde sports até biologia marinha. Por exemplo, no retail, a tecnologia Amazon’s Just Walk Out usa a deteção de objetos para automatizar o pagamento, identificando os itens que os clientes pegam. Uma combinação de visão computacional e dados de sensores permite que os clientes peguem seus itens e saiam sem esperar na fila.
Aqui está uma visão mais detalhada de como funciona:
- Câmeras montadas no teto capturam os clientes se movendo pela loja, e essa filmagem é processada em tempo real por modelos de visão.
- A detecção de objetos é usada para identificar o produto exato que um cliente pega e coloca em sua cesta para atualizar seu carrinho virtual adequadamente.
- Sensores de peso nas prateleiras melhoram a precisão ao detectar a remoção ou substituição de itens.
- À medida que o cliente sai da loja, a deteção de objetos e a tecnologia de facial recognition podem ser usadas para confirmar que o cliente saiu, e os dados de pagamento dele, como um cartão de crédito, podem ser usados para cobrar automaticamente.
Segmentação semântica e de instância#
A segmentação semântica e a instance segmentation são tarefas de visão computacional que ajudam a dividir imagens em segmentos significativos. A segmentação semântica classifica pixels com base no seu significado semântico e trata todos os objetos dentro de uma categoria como uma única entidade com o mesmo rótulo. É adequada para rotular objetos incontáveis como "o céu" ou "oceano" ou aglomerados como "folhas" ou "grama".
A segmentação de instância, por outro lado, pode distinguir diferentes instâncias da mesma classe, atribuindo um rótulo exclusivo a cada objeto detectado. Você pode usar a segmentação de instância para segmentar objetos contáveis onde o número e a independência dos objetos são importantes. Isso permite uma identificação e diferenciação mais precisas.
Fig 4. Um exemplo de segmentação semântica e de instância.
Podemos entender o contraste entre a segmentação semântica e a de instâncias com mais clareza com um exemplo relacionado a self-driving cars. A segmentação semântica é excelente para tarefas que exigem a compreensão do conteúdo de uma cena e pode ser usada em veículos autônomos para classificar recursos na estrada, como faixas de pedestres e sinais de trânsito. Enquanto isso, a segmentação de instâncias pode ser usada em veículos autônomos para distinguir entre pedestres individuais, veículos e obstáculos.
Estimativa de pose#
A Pose estimation é uma tarefa de visão computacional focada em detetar e rastrear pontos-chave das poses de um objeto em imagens ou vídeos. É mais comumente usada para estimativa de pose humana, com pontos-chave incluindo áreas como ombros e joelhos. Estimar a pose de um ser humano ajuda-nos a entender e reconhecer ações e movimentos que são críticos para várias aplicações.

Fig 5. Um exemplo de estimativa de pose usando YOLOv8.
A pose estimation pode ser usada nos esportes para analisar como os atletas se movem. A NBA usa pose estimation para estudar os movimentos e as posições dos jogadores durante o jogo. Ao rastrear pontos-chave como ombros, cotovelos, joelhos e tornozelos, a pose estimation fornece insights detalhados sobre os movimentos dos jogadores. Esses insights ajudam os técnicos a desenvolver melhores estratégias, otimizar programas de treinamento e fazer ajustes em tempo real durante os jogos. Além disso, os dados podem ajudar a monitorar a fadiga do jogador e o risco de lesões para melhorar a saúde e o desempenho geral do jogador.
Detecção de objetos com caixas delimitadoras orientadas#
A Oriented Bounding Boxes Object Detection (OBB) usa retângulos rotacionados para identificar e localizar com precisão objetos em uma imagem. Ao contrário das caixas delimitadoras padrão que se alinham com os eixos da imagem, as OBBs rotacionam para corresponder à orientação do objeto. Isso as torna especialmente úteis para objetos que não são perfeitamente horizontais ou verticais. Elas são ótimas para apontar e isolar com precisão objetos rotacionados para evitar sobreposições em ambientes lotados.
Fig 6. Um Exemplo de Detecção com Caixa Delimitadora Orientada em uma Imagem Aérea de Barcos Usando YOLOv8.
Na vigilância maritime, identificar e rastrear navios é fundamental para a segurança e a gestão de recursos. A deteção OBB pode ser usada para a localização precisa de navios, mesmo quando eles estão densamente agrupados ou orientados em vários ângulos. Ela ajuda a monitorizar rotas de navegação, gerir o tráfego marítimo e otimizar as operações portuárias. Também pode ajudar na resposta a desastres, identificando rapidamente e avaliando danos a navios e infraestruturas após eventos como furacões ou oil spills.
Rastreamento de objetos#
Até agora, discutimos tarefas de visão computacional que lidam com imagens. O Object tracking é uma tarefa de visão computacional que pode rastrear um objeto através dos quadros de um vídeo. Começa por identificar o objeto no primeiro quadro usando algoritmos de deteção e, em seguida, acompanha continuamente a sua posição à medida que ele se move pelo vídeo. O rastreamento de objetos envolve técnicas como deteção de objetos, extração de características e previsão de movimento para manter o rastreamento preciso.

Fig 7. Usando YOLOv8 para rastrear peixes.
Modelos de visão como o YOLOv8 podem ser usados para track fish in marine biology. Usando câmaras subaquáticas, os pesquisadores podem monitorizar os movimentos e comportamentos dos peixes em seus habitats naturais. O processo começa detetando peixes individuais nos primeiros quadros e, em seguida, segue as suas posições ao longo do vídeo. Rastrear peixes ajuda os cientistas a entender padrões de migração, comportamentos sociais e interações com o ambiente. Também apoia práticas de pesca sustentável, fornecendo insights sobre a distribuição e abundância de peixes.
Um olhar final sobre a visão computacional#
A visão computacional está mudando ativamente a forma como usamos a tecnologia e interagimos com o mundo. Ao usar modelos de deep learning e algoritmos complexos para entender imagens e vídeos, a visão computacional ajuda as indústrias a simplificar muitos processos. Tarefas de visão computacional como detecção de objetos e rastreamento de objetos estão tornando possível criar soluções que não foram imaginadas antes. À medida que a tecnologia de visão computacional continua melhorando, o futuro reserva muitas outras aplicações inovadoras!
Vamos aprender e crescer juntos! Explora o nosso GitHub repository para ver as nossas contribuições para a AI. Vê como estamos a redefinir indústrias como self-driving cars e agriculture com a AI. 🚀






