X
YOLO Vision 2024 is here!
YOLO Vision 24
27 de setembro de 2024
YOLO Vision 24
Free hybrid event
Verificação verde
Link copiado para a área de transferência

Explorando como funcionam as aplicações da visão computacional

Dá um mergulho profundo nas aplicações da visão computacional. Também vamos percorrer várias tarefas de visão computacional, como a deteção e segmentação de objectos.

Quando explorámos a história dos modelos de visão por computador, vimos como a visão por computador evoluiu e o caminho que conduziu aos modelos de visão avançados que temos atualmente. Modelos modernos como o Ultralytics YOLOv8 suportam múltiplas tarefas de visão computacional e estão a ser utilizados em várias aplicações interessantes. 

Neste artigo, vamos analisar os conceitos básicos da visão por computador e dos modelos de visão. Abordaremos o seu funcionamento e as suas diversas aplicações em várias indústrias. As inovações da visão por computador estão por todo o lado, moldando silenciosamente o nosso mundo. Vamos descobri-las uma a uma! 

O que é a visão computacional?

A inteligência artificial (IA) é um termo abrangente que engloba muitas tecnologias que têm como objetivo replicar uma parte da inteligência humana. Um desses subcampos da IA é a visão por computador. A visão computacional centra-se em dar às máquinas olhos que possam ver, observar e compreender o que as rodeia. 

Tal como a visão humana, as soluções de visão por computador visam distinguir objectos, 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 a compreender, os computadores dependem de grandes quantidades de dados, câmaras de alta definição e algoritmos complexos. 

Figura 1. Compara a visão humana e a visão computacional.

Os sistemas de visão por computador podem processar e analisar dados visuais, como imagens e vídeos, a velocidades e precisão incríveis. A capacidade de analisar com rapidez e precisão grandes quantidades de informação visual torna a visão computacional uma ferramenta poderosa em várias indústrias, desde o fabrico aos cuidados de saúde.

Os 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. São essencialmente algoritmos computacionais alimentados por técnicas de aprendizagem profunda concebidas para dar às máquinas a capacidade de interpretar e compreender a informação visual. Os modelos de visão permitem tarefas cruciais de visão computacional que vão desde a classificação de imagens à deteção de objectos. Vamos analisar mais detalhadamente algumas destas tarefas e os seus casos de utilização. 

Classificação de imagens

A classificação de imagens envolve a categorização e rotulagem de imagens em classes ou categorias predefinidas. Um modelo de visão como o YOLOv8 pode ser treinado em grandes conjuntos de dados de imagens rotuladas. Durante o treino, o modelo aprende a reconhecer padrões e caraterísticas associados a cada classe. Uma vez treinado, pode prever a categoria de imagens novas e não vistas analisando as suas caraterísticas e comparando-as com os padrões aprendidos. 

Fig. 2. Um exemplo de classificação de imagens.

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áveis ou doentes. Outro tipo é a classificação multiclasse. Pode ajudar a classificar imagens em vários grupos, como classificar diferentes animais numa quinta, 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 em espécies como leões, tigres, águias e pardais; a classificação hierárquica seria a melhor opção.

Deteção de objectos

A deteção de objectos é o processo de identificação e localização de objectos em imagens e quadros de vídeo utilizando a visão por computador. Consiste em duas tarefas: localização de objectos, que desenha caixas delimitadoras à volta dos objectos, e classificação de objectos, que identifica a categoria de cada objeto. Com base nas anotações das caixas delimitadoras, um modelo de visão pode aprender a reconhecer padrões e caraterísticas específicas de cada categoria de objeto e prever a presença e localização desses objectos em imagens novas e não vistas. 

Fig. 3. YOLOv8 A deteção de objectos é utilizada para detetar jogadores num campo de futebol.

A deteção de objectos tem muitos casos de utilização em diferentes indústrias, desde o desporto à biologia marinha. Por exemplo, no comércio a retalho, a tecnologia Just Walk Out da Amazon utiliza a deteção de objectos para automatizar a caixa, identificando os artigos que os clientes levantam. Uma combinação de visão por computador e dados de sensores permite que os clientes peguem nos seus artigos e saiam sem esperar na fila. 

Vê mais de perto como funciona:

  • As câmaras montadas no teto captam os clientes que se deslocam pela loja e estas imagens de vídeo são processadas em tempo real por modelos de visão.
  • A deteção de objectos é utilizada para detetar o produto exato que um cliente pega e coloca no seu cesto para atualizar o seu carrinho virtual em conformidade.
  • Os sensores de peso nas prateleiras melhoram a precisão, detectando a remoção ou substituição de artigos.
  • À medida que o cliente sai da loja, a tecnologia de deteção de objectos e de reconhecimento facial pode ser utilizada para confirmar que o cliente saiu e os seus dados de pagamento, como um cartão de crédito, podem ser utilizados para cobrar automaticamente.

Segmentação semântica e de instância

A segmentação semântica e a segmentação de instâncias são tarefas de visão por computador que ajudam a dividir as imagens em segmentos significativos. A segmentação semântica classifica os pixels com base no seu significado semântico e trata todos os objectos dentro de uma categoria como uma única entidade com a mesma etiqueta. É adequada para rotular objectos incontáveis como "o céu" ou "oceano" ou grupos como "folhas" ou "relva".

A segmentação de instâncias, por outro lado, pode distinguir diferentes instâncias da mesma classe, atribuindo uma etiqueta única a cada objeto detectado. Podes utilizar a segmentação de instâncias para segmentar objectos contáveis onde o número e a independência dos objectos são importantes. Permite uma identificação e diferenciação mais precisas.

Fig. 4. Um exemplo de segmentação semântica e de instância.

Podemos compreender melhor o contraste entre a segmentação semântica e a segmentação por instância com um exemplo relacionado com os automóveis autónomos. A segmentação semântica é excelente para tarefas que requerem a compreensão do conteúdo de uma cena e pode ser utilizada em veículos autónomos para classificar caraterísticas na estrada, como passagens de peões e sinais de trânsito. Entretanto, a segmentação de instâncias pode ser utilizada em veículos autónomos para identificar peões individuais, veículos e obstáculos. 

Estimativa de pose

A estimativa de pose é uma tarefa de visão por computador centrada na deteção e seguimento de pontos-chave das poses de um objeto em imagens ou vídeos. É mais comummente utilizada para a estimativa da pose humana, com pontos-chave que incluem áreas como os ombros e os joelhos. Estimar a pose de um ser humano ajuda-nos a compreender e a reconhecer acções e movimentos que são fundamentais 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 a forma como os atletas se movimentam. A NBA utiliza a estimativa de pose para estudar os movimentos e as posições dos jogadores durante o jogo. Ao seguir 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 do jogador e o risco de lesões para melhorar a saúde e o desempenho geral do jogador.

Caixas delimitadoras orientadas Deteção de objectos

A deteção de objectos com caixas delimitadoras orientadas (OBB) utiliza rectângulos rodados para identificar e localizar com precisão objectos numa imagem. Ao contrário das caixas delimitadoras padrão que se alinham com os eixos da imagem, as OBBs giram para corresponder à orientação do objeto. Isto torna-os especialmente úteis para objectos que não são perfeitamente horizontais ou verticais. São óptimos para localizar e isolar com precisão objectos rodados para evitar sobreposições em ambientes com muita gente.

Fig. 6. Um exemplo de deteção de caixa delimitadora orientada numa imagem aérea de barcos utilizando YOLOV8.

Na vigilância marítima, a identificação e o seguimento de navios são fundamentais para a segurança e a gestão de recursos. A deteção de OBBs pode ser utilizada para a localização precisa de navios, mesmo quando estes estão densamente compactados ou orientados em vários ângulos. Ajuda a monitorizar as rotas de navegação, a gerir o tráfego marítimo e a otimizar as operações portuárias. Também pode ajudar na resposta a catástrofes, identificando e avaliando rapidamente os danos em navios e infra-estruturas após eventos como furacões ou derrames de petróleo.

Seguimento de objectos

Até agora, falámos de tarefas de visão por computador que lidam com imagens. O seguimento de objectos é uma tarefa de visão por computador que pode seguir um objeto ao longo dos fotogramas de um vídeo. Começa por identificar o objeto na primeira imagem utilizando algoritmos de deteção e, em seguida, segue continuamente a sua posição à medida que se move no vídeo. O seguimento de objectos envolve técnicas como a deteção de objectos, a extração de caraterísticas e a previsão de movimentos para manter o seguimento preciso.

Fig. 7. Utiliza o YOLOv8 para localizar peixes.

Modelos de visão como YOLOv8 podem ser utilizados para localizar peixes em biologia marinha. Utilizando câmaras subaquáticas, os investigadores podem monitorizar os movimentos e comportamentos dos peixes nos seus habitats naturais. O processo começa por detetar peixes individuais nos primeiros fotogramas e depois segue as suas posições ao longo do vídeo. O seguimento dos 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, fornecendo informações sobre a distribuição e abundância dos peixes.

Um último olhar sobre a 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 as indústrias a otimizar muitos processos. As tarefas de visão por computador, como a deteção e o seguimento de objectos, estão a tornar possível a criação de soluções nunca antes imaginadas. À medida que a tecnologia de visão computacional continua a melhorar, o futuro reserva-te muitas mais aplicações inovadoras! 

Vamos aprender e crescer juntos! Explora o nosso repositório GitHub para veres as nossas contribuições para a IA. Vê como estamos a redefinir indústrias como os carros autónomos e a agricultura com IA. 🚀

Logótipo do FacebookLogótipo do TwitterLogótipo do LinkedInSímbolo de ligação de cópia

Ler mais nesta categoria

Vamos construir juntos o futuro
da IA!

Começa a tua viagem com o futuro da aprendizagem automática