Ao clicar em “Aceitar todos os cookies”, concorda com o armazenamento de cookies no seu dispositivo para melhorar a navegação no site, analisar a utilização do site e ajudar nos nossos esforços de marketing. Mais informações
Definições de cookies
Ao clicar em “Aceitar todos os cookies”, concorda com o armazenamento de cookies no seu dispositivo para melhorar a navegação no site, analisar a utilização do site e ajudar nos nossos esforços de marketing. Mais informações
Explore como a detecção de cores une a visão humana e a visão computacional, usando espaços de cores RGB e HSV para automatizar soluções de visão computacional.
As cores desempenham um papel vital em como os humanos experimentam o mundo, ajudando-nos a reconhecer, entender e nos conectar com o que nos rodeia. No entanto, ao contrário de nós, as máquinas não veem cores - elas as processam como dados, traduzindo tons e matizes em valores numéricos.
Um carro autônomo não vê apenas um semáforo vermelho - ele processa a cor como um sinal para parar. Essa capacidade de reconhecer e interpretar cores ajuda a preencher a lacuna entre a visão humana e a visão computacional.
A visão computacional é um ramo da IA que permite que as máquinas analisem e compreendam dados visuais. Um aspecto fundamental disso é a detecção de cores, que permite que as máquinas identifiquem e diferenciem objetos com base na cor. Ao analisar os valores dos pixels em diferentes espaços de cores, a detecção de cores pode ser usada em aplicações como rastreamento de objetos, imagem médica e automação.
Neste artigo, vamos dar uma olhada mais de perto em como funciona a detecção de cores, por que ela é importante e como ela é usada em aplicações de visão computacional. Vamos começar!
O que é detecção de cores?
A detecção de cores ajuda as máquinas a identificar objetos e entender cenas com base na cor. Quando combinada com outras tarefas de visão computacional, ela melhora a precisão e aprimora as aplicações do mundo real. Antes de mergulhar em como funciona a detecção de cores, é útil entender como as cores são representadas digitalmente.
As imagens digitais são formadas por pequenos quadrados chamados pixels, cada um contendo informações de cor. Por exemplo, com relação ao modelo de cores RGB (Red, Green, Blue - Vermelho, Verde, Azul), as cores são criadas misturando diferentes intensidades de vermelho, verde e azul.
Cada cor é definida por três valores, variando de 0 a 255, onde 0 significa nenhuma cor e 255 significa intensidade total. Por exemplo, o vermelho puro é (255, 0, 0) porque tem o valor vermelho mais alto e nenhum verde ou azul. O branco é (255, 255, 255) porque todas as três cores estão na intensidade total.
Fig 1. Um exemplo de como um computador vê as cores de uma maçã.
Se você está familiarizado com modelos de visão computacional como o Ultralytics YOLO11, pode se perguntar por que a detecção de cores é uma técnica separada da detecção de objetos. Embora ambos analisem imagens, eles têm propósitos diferentes.
A detecção de cores se concentra em identificar cores específicas em uma imagem, enquanto a detecção de objetos reconhece e classifica objetos, independentemente de sua cor. No cenário de um carro autônomo, a detecção de cores identifica o vermelho em um semáforo, enquanto a detecção de objetos identifica o próprio semáforo, ajudando o carro a tomar decisões de direção seguras.
Introdução aos espaços de cores
Um modelo de cor ou espaço de cor é um sistema usado para representar cores em imagens digitais e é uma parte crítica da detecção de cores. Ele atribui valores numéricos às cores, permitindo que os computadores as interpretem de forma consistente em diferentes dispositivos. Os espaços de cores fornecem uma maneira estruturada de armazenar, ajustar e exibir cores em sistemas digitais.
Alguns espaços de cores comumente usados incluem RGB para telas digitais, HSV (Matiz, Saturação, Valor) para processamento de imagem e CMYK (Ciano, Magenta, Amarelo, Preto) para impressão. RGB e HSV são os espaços de cores mais frequentemente usados para detectar cores. Vamos mergulhar em como eles funcionam.
Uma visão geral do espaço de cores RGB
O espaço de cores RGB é amplamente utilizado em imagens digitais, encontrado em telas, câmeras e dispositivos de exibição. Ele funciona combinando diferentes níveis de luz vermelha, verde e azul para criar várias cores. Quando todas as três cores estão na intensidade máxima, o resultado é branco, e quando nenhuma está presente, aparece preto.
Este espaço de cores é frequentemente visualizado como um cubo de cores, onde cada eixo representa uma das cores primárias. Os cantos do cubo mostram vermelho, verde e azul puros, juntamente com suas combinações, enquanto o interior contém todos os tons possíveis.
Embora o RGB seja simples e popular, ele tem algumas limitações. As cores podem nem sempre parecer as mesmas ao olho humano porque o RGB não corresponde uniformemente à forma como percebemos as diferenças de cores. Também é afetado pelas condições de iluminação, o que significa que as cores podem parecer diferentes dependendo do brilho e do ambiente.
O espaço de cores HSV (Matiz, Saturação, Valor) representa as cores com base em três componentes: matiz (o tipo de cor), saturação (sua intensidade) e valor (seu brilho). Ao contrário do RGB, que mistura intensidades de luz, o HSV é mais próximo de como os humanos percebem as cores, tornando-o uma escolha mais prática para muitas tarefas de processamento de imagem.
Em particular, a matiz representa a cor real e é medida em graus em uma roda de cores, com o vermelho a 0° e o azul a 240°. Enquanto isso, a saturação controla o quão vívida ou opaca uma cor parece, onde 0% é completamente cinza 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 cores HSV é frequentemente visualizado como um cone, onde a matiz envolve a borda, a saturação se move para fora e o brilho aumenta de baixo para cima. Como ele separa a cor do brilho, o HSV é amplamente utilizado em aplicações de visão computacional.
Para comparar RGB e HSV lado a lado, vamos pegar a cor laranja como exemplo. No espaço de cores RGB, o laranja é criado misturando 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 exigem manipulação precisa de cores.
Em HSV, o laranja é definido de forma diferente. Sua matiz é de cerca de 30°, o que determina sua posição na roda de cores. Sua saturação está próxima de 100%, o que significa que é uma cor vívida e pura, e seu valor também é de 100%, indicando brilho total. Como o HSV separa a cor do brilho, geralmente é mais útil em aplicações de detecção de cores onde as condições de iluminação podem mudar.
Fig 4. Comparação dos valores RGB e HSV. Imagem do autor.
Como funciona a detecção de cores
Normalmente, a detecção de cores é abordada como uma técnica de processamento de imagem usada para identificar e isolar cores de imagens ou vídeos. As cores detectadas em imagens usando processamento de imagem dependem de espaços de cores e técnicas de limiarização para diferenciar matizes, tons e intensidades específicas.
Aqui está uma visão geral rápida das principais etapas envolvidas na detecção de cores usando processamento de imagem:
Aquisição de imagem: O processo começa capturando um quadro de imagem ou vídeo usando uma câmera. A imagem é geralmente armazenada em formato RGB como uma matriz de pixels.
Conversão do espaço de cores: Como o RGB nem sempre é ideal para detecção de cores, a imagem é convertida para o espaço de cores HSV. Isso ajuda a separar a cor do brilho, tornando a detecção mais estável sob diferentes condições de iluminação.
Limiarização de cores: Uma faixa específica é definida para a cor alvo no formato HSV. Esta etapa cria uma máscara binária, onde os pixels dentro da faixa de cores selecionada 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 todo o resto. Isso destaca apenas as áreas que correspondem à cor desejada.
Uma vez que a cor é detectada e isolada, ela pode ser usada em várias tarefas de visão computacional, como rastreamento de objetos, segmentação de imagem e tomada de decisão automatizada em aplicações como robótica, imagem médica e veículos autônomos.
O papel da detecção de cores na visão computacional
Agora que aprendemos como funciona a detecção de cores, vamos explorar como ela suporta aplicações de visão computacional.
Em certos casos, a detecção de cores pode ser uma alternativa mais simples aos modelos de visão computacional, especialmente em ambientes controlados onde a cor é o principal fator na distinção de objetos. Em vez de treinar um modelo com um conjunto de dados massivo, a detecção de cores fornece uma solução rápida e eficiente sem a necessidade de rotulagem extensa ou alta capacidade computacional.
Por exemplo, em um sistema automatizado de classificação de maçãs, um modelo de visão computacional como o YOLO11 poderia ser treinado para classificar as maçãs por maturação, mas exigiria um conjunto de dados de imagens rotuladas para lidar com variações na iluminação, textura e tipos de maçã.
Uma abordagem mais direta é primeiro detectar as maçãs usando a detecção de objetos e, em seguida, analisar sua cor para determinar a maturação. Como este método se baseia em limiares de cor predefinidos em vez de treinar um modelo, ele funciona bem em condições estáveis onde a iluminação e os fundos não mudam drasticamente.
Embora um modelo treinado sob medida possa ser melhor para ambientes mais complexos e variáveis, a detecção de cores é uma solução rápida, prática e acessível para aplicações em tempo real. É também um ótimo ponto de partida para quem está aprendendo sobre processamento de imagem e visão computacional antes de passar para soluções mais avançadas.
Aplicações da detecção de cores no mundo real
A detecção de cores é usada em uma ampla gama de indústrias para diversas aplicações. Vamos dar uma olhada em alguns casos de uso no mundo real.
Detecção de cores para avaliação da qualidade do tecido
A detecção de cores é crucial na produção de tecidos e têxteis. É comumente usada em sistemas automatizados de controle de qualidade e identificação de defeitos. Ao contrário da inspeção manual, que é demorada e propensa a erros humanos, os sistemas automatizados fornecem detecção de defeitos precisa e em tempo real.
Especificamente, ao analisar imagens de tecido, os sistemas de visão computacional podem identificar defeitos como distribuição irregular de corante, desbotamento e contaminação. Técnicas avançadas de detecção de cores tornam possível um controle de qualidade mais preciso, medindo a consistência das cores em diferentes lotes.
Fig 5. A detecção de cores desempenha um papel fundamental na criação de tecidos coloridos.
Usando a detecção de cores na agricultura
Como mencionado anteriormente, a cor é um indicador chave de maturação, e a tecnologia de detecção de cores pode ser usada na agricultura para monitorar a saúde das colheitas e melhorar a colheita.
Ao analisar as variações de cor, os agricultores podem avaliar a saúde das plantas, detectar doenças e determinar quando as colheitas estão prontas para a colheita. Robôs avançados equipados com sensores de cor e visão computacional ajudam a automatizar o processo, garantindo que apenas as colheitas maduras sejam colhidas. Esses 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) podre, (b) madura e (c) verde.
Principais conclusões
A detecção de cores é uma técnica inovadora de visão computacional com aplicações na agricultura, manufatura, saúde e automação. Ela ajuda as máquinas a reconhecer e interpretar cores para rastreamento de objetos, controle de qualidade e tomada de decisão.
Enquanto os modelos avançados de IA continuam a evoluir, a detecção de cores permanece 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 no mundo real.