Verificação verde
Link copiado para a área de transferência

Tirar partido da deteção de cores em aplicações de visão por computador

Explora a forma como a deteção de cores faz a ponte entre a visão humana e a visão por computador, utilizando espaços de cor RGB e HSV para automatizar soluções de visão por computador.

As cores desempenham um papel vital na forma como os humanos experienciam o mundo, ajudando-nos a reconhecer, a compreender e a relacionarmo-nos com o que nos rodeia. No entanto, ao contrário de nós, as máquinas não vêem as cores - processam-nas como dados, traduzindo tons e matizes em valores numéricos.

Um carro com condução autónoma não vê apenas um semáforo vermelho - processa a cor como um sinal para parar. Esta capacidade de reconhecer e interpretar cores ajuda a colmatar o fosso entre a visão humana e a visão computacional.

A visão por computador é um ramo da IA que permite às máquinas analisar e compreender dados visuais. Um aspeto fundamental é a deteção de cores, que permite às máquinas identificar e diferenciar objectos com base na cor. Ao analisar os valores dos pixels em diferentes espaços de cor, a deteção de cores pode ser utilizada em aplicações como a localização de objectos, imagens médicas e automação.

Neste artigo, vamos analisar mais detalhadamente como funciona a deteção de cores, porque é importante e como é utilizada em aplicações de visão por computador. Começa a trabalhar!

O que é a deteção de cores?

A deteção de cores ajuda as máquinas a identificar objectos e a compreender cenas com base na cor. Quando combinada com outras tarefas de visão por computador, melhora a precisão e melhora as aplicações do mundo real. Antes de mergulhar na forma como a deteção de cores funciona, é útil compreender como as cores são representadas digitalmente.

As imagens digitais são compostas por pequenos quadrados chamados pixels, cada um contendo informação de cor. Por exemplo, no que respeita ao modelo de cor RGB (Red, Green, Blue), as cores são criadas através da mistura de diferentes intensidades de vermelho, verde e azul. 

Cada cor é definida por três valores, que vão de 0 a 255, em que 0 significa que não há cor e 255 significa intensidade total. Por exemplo, o vermelho puro é (255, 0, 0) porque tem o valor vermelho mais elevado e não tem verde nem azul. O branco é (255, 255, 255) porque as três cores estão na intensidade máxima.

Figura 1. Um exemplo de como um computador vê as cores de uma maçã.

Se estás familiarizado com modelos de visão por computador como o Ultralytics YOLO11poderás perguntar-te porque é que a deteção de cores é uma técnica separada da deteção de objectos. Embora ambas analisem imagens, têm objectivos diferentes.

A deteção de cores centra-se na identificação de cores específicas numa imagem, enquanto a deteção de objectos reconhece e classifica objectos independentemente da sua cor. No cenário do carro autónomo, a deteção de cores detecta o vermelho num semáforo, enquanto a deteção de objectos identifica o próprio semáforo, ajudando o carro a tomar decisões de condução seguras.

Introdução aos espaços de cor

Um modelo de cor ou espaço de cor é um sistema utilizado para representar cores em imagens digitais e é uma parte essencial da deteção de cores. Atribui valores numéricos às cores, permitindo que os computadores as interpretem de forma consistente em diferentes dispositivos. Os espaços de cor fornecem uma forma estruturada de armazenar, ajustar e apresentar cores em sistemas digitais.

Alguns espaços de cor normalmente utilizados incluem RGB para ecrãs digitais, HSV (Hue, Saturation, Value) para processamento de imagem e CMYK (Cyan, Magenta, Yellow, Black) para impressão. RGB e HSV são os espaços de cor mais frequentemente utilizados para detetar cores. Vamos ver como funcionam.

Uma visão geral do espaço de cor RGB

O espaço de cor RGB é amplamente utilizado em imagens digitais, encontrado em ecrãs, câmaras e dispositivos de visualização. Funciona através da combinação de diferentes níveis de luz vermelha, verde e azul para criar várias cores. Quando as três cores estão na intensidade máxima, o resultado é branco e, quando nenhuma está presente, aparece preto.

Este espaço de cor é frequentemente visualizado como um cubo de cor, em que cada eixo representa uma das cores primárias. Os cantos do cubo mostram o vermelho, verde e azul puros, juntamente com as suas combinações, enquanto o interior contém todas as tonalidades possíveis.

Embora o RGB seja simples e popular, tem algumas limitações. As cores podem não parecer sempre iguais ao olho humano, porque o RGB não corresponde uniformemente à forma como percepcionamos as diferenças de cor. Também é afetado pelas condições de iluminação, o que significa que as cores podem parecer diferentes dependendo da luminosidade e do ambiente.

Fig 2. O cubo de cor RGB.

Uma visão geral do espaço de cor HSV

O espaço de cor HSV (Matiz, Saturação, Valor) representa as cores com base em três componentes: matiz (o tipo de cor), saturação (a sua intensidade) e valor (o seu brilho). Ao contrário do RGB, que mistura as intensidades de luz, o HSV está mais próximo da forma como os humanos percepcionam as cores, o que o torna uma escolha mais prática para muitas tarefas de processamento de imagens.

Em particular, a tonalidade representa a cor real e é medida em graus numa roda de cores, com o vermelho a 0° e o azul a 240°. Entretanto, a saturação controla o aspeto vívido ou baço de uma cor, em que 0% é completamente cinzento e 100% é totalmente vibrante. Por outro lado, o valor determina o brilho, variando de 0% (preto) a 100% (brilho total).

Curiosamente, o espaço de cor HSV é frequentemente visualizado como um cone, onde a tonalidade envolve a borda, a saturação se move para fora e o brilho aumenta de baixo para cima. Como separa a cor do brilho, o HSV é amplamente utilizado em aplicações de visão computacional.

Fig. 3. O cone HSV.

Comparação do espaço de cor RGB e HSV

Para comparar RGB e HSV lado a lado, toma a cor laranja como exemplo. No espaço de cor RGB, o laranja é criado pela mistura de vermelho e verde em intensidades específicas, normalmente representadas como (255, 165, 0) - o que significa vermelho total, algum verde e nenhum azul. No entanto, como o RGB não separa a cor do brilho, pode ser menos intuitivo para tarefas que exijam uma manipulação precisa da cor.

No HSV, o laranja é definido de forma diferente. A sua tonalidade é de cerca de 30°, o que determina a sua posição na roda de cores. A sua saturação é próxima de 100%, o que significa que é uma cor viva e pura, e o seu valor também é 100%, indicando brilho total. Uma vez que o HSV separa a cor do brilho, é frequentemente mais útil em aplicações de deteção de cor em que as condições de iluminação podem mudar.

Fig. 4. Comparação dos valores RGB e HSV. Imagem do autor.

Como funciona a deteção de cores

Normalmente, a deteção de cores é abordada como uma técnica de processamento de imagens utilizada para identificar e isolar cores de imagens ou vídeos. As cores detectadas em imagens utilizando o processamento de imagens baseiam-se em espaços de cor e técnicas de limiarização para diferenciar matizes, tons e intensidades específicos. 

Segue-se uma breve descrição dos principais passos envolvidos na deteção de cores utilizando o processamento de imagens:

  • Aquisição de imagens: O processo começa com a captura de uma imagem ou quadro de vídeo utilizando uma câmara. A imagem é normalmente armazenada no formato RGB como uma matriz de pixéis.
  • Conversão do espaço de cor: Uma vez que o RGB nem sempre é ideal para a deteção de cores, a imagem é convertida para o espaço de cores HSV. Isto ajuda a separar a cor do brilho, tornando a deteção mais estável em diferentes condições de iluminação.
  • Limiarização da cor: Define um intervalo específico para a cor alvo no formato HSV. Esta etapa cria uma máscara binária, onde os pixels dentro do intervalo de cores selecionado aparecem em branco e todos os outros aparecem em preto.
  • Mascaramento: A máscara binária é aplicada à imagem original para isolar a cor detectada, filtrando tudo o resto. Desta forma, realça apenas as áreas que correspondem à cor pretendida.

Uma vez detectada e isolada a cor, esta pode ser utilizada em várias tarefas de visão por computador, como o seguimento de objectos, a segmentação de imagens e a tomada de decisões automatizada em aplicações como a robótica, a imagiologia médica e os veículos autónomos.

O papel da deteção de cores na visão por computador

Agora que já aprendemos como funciona a deteção de cores, vamos explorar a forma como suporta as aplicações de visão por computador. 

Em certos casos, a deteção de cores pode ser uma alternativa mais simples aos modelos de visão por computador, especialmente em ambientes controlados em que a cor é o principal fator de distinção dos objectos. Em vez de treinar um modelo com um conjunto de dados maciço, a deteção de cores oferece uma solução rápida e eficiente sem necessidade de rotulagem extensiva ou de grande poder computacional.

Por exemplo, num sistema automatizado de seleção de maçãs, um modelo de visão por computador como o YOLO11 poderia ser treinado para classificar as maçãs de acordo com o seu estado de maturação, mas seria necessário um conjunto de dados de imagens rotuladas para lidar com variações de iluminação, textura e tipos de maçãs. 

Uma abordagem mais simples consiste em detetar primeiro as maçãs utilizando a deteção de objectos e depois analisar a sua cor para determinar a maturação. Uma vez que este método se baseia em limiares de cor predefinidos em vez de treinar um modelo, funciona bem em condições estáveis em que a iluminação e os fundos não mudam drasticamente.

Embora um modelo treinado à medida possa ser melhor para ambientes mais complexos e variáveis, a deteção de cores é uma solução rápida, prática e acessível para aplicações em tempo real. É também um excelente ponto de partida para quem está a aprender sobre processamento de imagem e visão por computador antes de avançar para soluções mais avançadas.

Aplicações do mundo real da deteção de cores

A deteção de cores é utilizada numa vasta gama de indústrias para várias aplicações. Vamos dar uma vista de olhos a alguns casos de utilização reais.

Deteção de cor para avaliação da qualidade do tecido

A deteção de cores é crucial na produção de tecidos e têxteis. É normalmente utilizada em sistemas automatizados de controlo de qualidade e de identificação de defeitos. Ao contrário da inspeção manual, que consome muito tempo e é propensa a erros humanos, os sistemas automatizados permitem uma deteção de defeitos precisa e em tempo real. 

Especificamente, ao analisar imagens do tecido, os sistemas de visão por computador podem identificar defeitos como a distribuição desigual da tinta, o desbotamento e a contaminação. As técnicas avançadas de deteção de cor possibilitam um controlo de qualidade mais preciso, medindo a consistência da cor em diferentes lotes.

Fig. 5. A deteção de cores desempenha um papel fundamental na criação de tecidos coloridos.

Utilização da deteção de cores na agricultura

Como já foi referido, a cor é um indicador-chave da maturação, e a tecnologia de deteção de cor pode ser utilizada na agricultura para monitorizar a saúde das culturas e melhorar a colheita. 

Ao analisar as variações de cor, os agricultores podem avaliar a saúde das plantas, detetar doenças e determinar quando as culturas estão prontas para a colheita. Robôs avançados equipados com sensores de cor e visão por computador ajudam a automatizar o processo, garantindo que apenas as colheitas maduras são colhidas. Estes sistemas podem aumentar a eficiência e a produtividade, especialmente em áreas com escassez de mão de obra.

Fig. 6. Mangas em diferentes níveis de maturação: (a) podres, (b) maduras e (c) verdes.

Principais conclusões

A deteção de cores é uma técnica inovadora de visão por computador com aplicações na agricultura, fabrico, cuidados de saúde e automação. Ajuda as máquinas a reconhecer e a interpretar as cores para a localização de objectos, controlo de qualidade e tomada de decisões. 

Embora os modelos avançados de IA continuem a evoluir, a deteção de cores continua a ser uma solução simples e eficaz, especialmente em ambientes controlados. À medida que a tecnologia avança, é provável que continue a desempenhar um papel fundamental na melhoria das aplicações do mundo real.

Mergulha mais fundo na IA explorando a nossa comunidade e o repositório GitHub. Conhece as inovações em IA no fabrico e visão computacional nos cuidados de saúde e descobre como começar a tirar partido da Vision AI com as nossas opções de licenciamento.

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