Explorar o funcionamento das aplicações de visão computacional
Explora connosco as aplicações da visão computacional. Também iremos abordar várias tarefas de visão computacional, como a deteção de objetos e a segmentação.

Quando explorámos a história dos modelos de visão computacional, vimos como a visão computacional evoluiu e o caminho que levou aos modelos de visão avançados que temos hoje. Modelos modernos como o Ultralytics YOLOv8 são compatíveis com várias tarefas de visão computacional e estão a ser utilizados em diversas aplicações interessantes.
Neste artigo, vamos analisar os conceitos básicos da visão computacional e dos modelos de visão. Vamos abordar como funcionam e as suas diversas aplicações em vários setores. As inovações em visão computacional estão por toda a parte, moldando silenciosamente o nosso mundo. Vamos descobri-las uma a uma!
O que é a visão computacional?#
A inteligência artificial (AI) é um termo abrangente que engloba muitas tecnologias destinadas a reproduzir parte da inteligência humana. A visão computacional é uma dessas subáreas da AI. A visão computacional procura dar às máquinas olhos capazes de ver, observar e compreender o que as rodeia.
Tal como a visão humana, as soluções de visão computacional procuram distinguir objetos, calcular distâncias e detetar movimentos. No entanto, ao contrário dos humanos, que têm uma vida inteira de experiências para os ajudar a ver e compreender, os computadores dependem de grandes quantidades de dados, câmaras de alta definição e algoritmos complexos.

Fig. 1. Comparação entre visão humana e visão computacional.
Os sistemas de visão computacional conseguem processar e analisar dados visuais, como imagens e vídeos, a velocidades e com uma precisão incríveis. A capacidade de analisar rapidamente e com precisão grandes quantidades de informação visual torna a visão computacional uma ferramenta poderosa em vários setores, desde a indústria transformadora até aos cuidados de saúde.
Os modelos de visão são compatíveis com 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. São essencialmente algoritmos computacionais baseados em técnicas de aprendizagem profunda, concebidos para dar às máquinas a capacidade de interpretar e compreender informação visual. Os modelos de visão permitem realizar tarefas essenciais de visão computacional, desde a classificação de imagens até à deteção de objetos. Vamos analisar mais detalhadamente algumas destas tarefas e os seus casos de utilização.
Classificação de imagens#
A classificação de imagens envolve categorizar e etiquetar imagens em classes ou categorias predefinidas. Um modelo de visão como o YOLOv8 pode ser treinado com grandes conjuntos de dados de imagens etiquetadas. Durante o treino, o modelo aprende a reconhecer padrões e características associados a cada classe. Depois de treinado, pode prever a categoria de imagens novas e não observadas, analisando as 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 imagens médicas, podes utilizar a classificação binária para dividir as imagens em dois grupos, como saudável ou doente. Outro tipo é a classificação multiclasse. Esta pode ajudar a classificar imagens em vários grupos, como classificar diferentes animais numa quinta, por exemplo, porcos, cabras e vacas. Ou, imaginemos que queres classificar animais em grupos e subgrupos, como mamíferos e aves, e depois em espécies como leões, tigres, águias e pardais; nesse caso, a classificação hierárquica seria a melhor opção.
Deteção de objetos#
A deteção de objetos é o processo de identificar e localizar objetos em imagens e fotogramas de vídeo utilizando visão computacional. Consiste em duas tarefas: a localização de objetos, que desenha caixas delimitadoras à volta dos objetos, e a 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 a localização desses objetos em imagens novas e não observadas.
Fig. 3. Deteção de objetos com YOLOv8 para detetar jogadores num campo de futebol.
A deteção de objetos tem muitos casos de utilização em diferentes setores, desde o desporto até à biologia marinha. Por exemplo, no retalho, a tecnologia Just Walk Out da Amazon utiliza a deteção de objetos para automatizar o pagamento, identificando os artigos que os clientes retiram. Uma combinação de visão computacional e dados de sensores permite que os clientes peguem nos artigos e saiam sem esperar numa fila.
Vejamos mais de perto como funciona:
- Câmaras instaladas no teto captam os clientes a deslocarem-se pela loja, e estas imagens de vídeo são processadas em tempo real por modelos de visão.
- A deteção de objetos é utilizada para detetar o produto exato que um cliente retira e coloca no cesto, atualizando o respetivo carrinho virtual.
- Sensores de peso nas prateleiras melhoram a precisão ao detetar a remoção ou reposição de artigos.
- Quando o cliente sai da loja, a deteção de objetos e a tecnologia de reconhecimento facial podem ser utilizadas para confirmar que saiu e os seus dados de pagamento, como um cartão de crédito, podem ser utilizados para efetuar a cobrança automaticamente.
Segmentação semântica e de instâncias#
A segmentação semântica e a segmentação de instâncias são tarefas de visão computacional que ajudam a dividir imagens em segmentos significativos. A segmentação semântica classifica os píxeis com base no seu significado semântico e trata todos os objetos de uma categoria como uma única entidade com a mesma etiqueta. É adequada para etiquetar objetos incontáveis, como "o céu" ou "o oceano", ou grupos, como "folhas" ou "relva".
Por outro lado, a segmentação de instâncias consegue distinguir diferentes instâncias da mesma classe, atribuindo uma etiqueta única a cada objeto detetado. Podes utilizar a segmentação de instâncias para segmentar objetos contáveis, quando o número e a independência dos objetos são importantes. Isto permite uma identificação e diferenciação mais precisas.
Fig. 4. Um exemplo de segmentação semântica e de instâncias.
Podemos compreender mais claramente a diferença entre a segmentação semântica e a segmentação de instâncias através de um exemplo relacionado com carros autónomos. A segmentação semântica é excelente para tarefas que exigem compreender o conteúdo de uma cena e pode ser utilizada em veículos autónomos para classificar elementos da estrada, como passadeiras e sinais de trânsito. Já a segmentação de instâncias pode ser utilizada em veículos autónomos para distinguir peões, veículos e obstáculos individuais.
Estimativa de pose#
A estimativa de pose é uma tarefa de visão computacional centrada na deteção e no acompanhamento de pontos-chave das poses de um objeto em imagens ou vídeos. É mais frequentemente utilizada para a estimativa da pose humana, com pontos-chave que incluem áreas como os ombros e os joelhos. Estimar a pose humana ajuda-nos a compreender e reconhecer ações e movimentos essenciais para várias aplicações.

Fig. 5. Um exemplo de estimativa de pose utilizando YOLOv8.
A estimativa de pose pode ser utilizada no desporto para analisar os movimentos dos atletas. A NBA utiliza a estimativa de pose para estudar os movimentos e as posições dos jogadores durante o jogo. Ao acompanhar pontos-chave como ombros, cotovelos, joelhos e tornozelos, a estimativa de pose fornece informações detalhadas sobre os movimentos dos jogadores. Estas informações ajudam os treinadores a desenvolver melhores estratégias, otimizar programas de treino e fazer ajustes em tempo real durante os jogos. Além disso, os dados podem ajudar a monitorizar a fadiga dos jogadores e o risco de lesões, melhorando a saúde e o desempenho geral dos jogadores.
Deteção de objetos com caixas delimitadoras orientadas#
A deteção de objetos com caixas delimitadoras orientadas (OBB) utiliza retângulos rodados para identificar e localizar objetos com precisão numa imagem. Ao contrário das caixas delimitadoras padrão, que se alinham com os eixos da imagem, as OBB rodam para corresponder à orientação do objeto. Isto torna-as especialmente úteis para objetos que não são perfeitamente horizontais ou verticais. São excelentes para localizar e isolar com precisão objetos rodados, evitando sobreposições em ambientes com elevada concentração de objetos.
Fig. 6. Um exemplo de deteção de caixas delimitadoras orientadas numa imagem aérea de barcos utilizando YOLOv8.
Na vigilância marítima, identificar e acompanhar navios é essencial para a segurança e a gestão de recursos. A deteção com OBB pode ser utilizada para localizar navios com precisão, mesmo quando estão muito próximos ou orientados em diferentes ângulos. Ajuda a monitorizar rotas marítimas, gerir o tráfego marítimo e otimizar as operações portuárias. Também pode contribuir para a resposta a catástrofes, identificando e avaliando rapidamente os danos causados em navios e infraestruturas após eventos como furacões ou derrames de petróleo.
Acompanhamento de objetos#
Até agora, abordámos tarefas de visão computacional que lidam com imagens. O acompanhamento de objetos é uma tarefa de visão computacional que consegue acompanhar um objeto ao longo dos fotogramas de um vídeo. Começa por identificar o objeto no primeiro fotograma utilizando algoritmos de deteção e, em seguida, acompanha continuamente a sua posição à medida que se move no vídeo. O acompanhamento de objetos envolve técnicas como deteção de objetos, extração de características e previsão de movimento para manter a precisão do acompanhamento.

Fig. 7. Utilização do YOLOv8 para acompanhar peixes.
Modelos de visão como o YOLOv8 podem ser utilizados para acompanhar peixes em biologia marinha. Utilizando câmaras subaquáticas, os investigadores podem monitorizar os movimentos e os comportamentos dos peixes nos seus habitats naturais. O processo começa por detetar peixes individuais nos primeiros fotogramas e, em seguida, acompanha as suas posições ao longo do vídeo. Acompanhar os peixes ajuda os cientistas a compreender os padrões de migração, os comportamentos sociais e as interações com o ambiente. Também apoia práticas de pesca sustentáveis ao fornecer informações sobre a distribuição e a abundância dos peixes.
Uma última análise da visão computacional#
A visão computacional está a mudar ativamente a forma como utilizamos a tecnologia e interagimos com o mundo. Ao utilizar modelos de aprendizagem profunda e algoritmos complexos para compreender imagens e vídeos, a visão computacional ajuda os setores a otimizar muitos processos. Tarefas de visão computacional como a deteção de objetos e o acompanhamento de objetos estão a tornar possível criar soluções que antes nem sequer eram imaginadas. À medida que a tecnologia de visão computacional continua a melhorar, o futuro reserva muitas mais aplicações inovadoras!
Vamos aprender e crescer juntos! Explora o nosso repositório no GitHub para conheceres os nossos contributos para a IA. Vê como estamos a redefinir setores como os carros autónomos e a agricultura com IA. 🚀









