O que é reconhecimento de imagem?

Vista aérea de contêineres de transporte

Autores

Tim Mucci

IBM Writer

Gather

O que é reconhecimento de imagem?

Reconhecimento de imagens é uma aplicação de aprendizado de máquina (ML) (ou tecnologia de aprendizado de máquina) que permite que softwares e dispositivos identifiquem objetos, lugares, pessoas, escrita e ações em imagens digitais ou vídeos.

Essa tecnologia permite que os computadores identifiquem defeitos em produtos, ajuda os profissionais da área médica a identificar anomalias e é essencial para o desenvolvimento de veículos autônomos.

O reconhecimento de imagens é uma tarefa central da computer vision, o campo mais amplo da tecnologia de inteligência artificial (IA) que permite que softwares e máquinas entendam e reajam a dados visuais.

Os engenheiros utilizam modelos tradicionais de aprendizado de máquina e deep learning no reconhecimento de imagens. Essas abordagens são normalmente separadas e o fato de serem combinadas ou usadas de forma independente depende do problema específico e dos requisitos de recursos.

Reconhecimento de imagem com aprendizado de máquina tradicional

O aprendizado de máquina utiliza algoritmos que classificam imagens com base em recursos extraídos manualmente por engenheiros humanos. Os engenheiros processam previamente as imagens e as analisam de acordo com o objetivo ou o problema específico que estão tentando resolver por meio do reconhecimento de imagem.

Talvez identifique rostos, detecte objetos ou classifique texturas. Em cada caso, o engenheiro utiliza o conhecimento do seu domínio para processar previamente as imagens e treinar o algoritmo.

Normalização

Os engenheiros preparam as imagens para análise normalizando a imagem, o que significa dimensionar os valores de pixel para um intervalo padrão, normalmente entre 0-1 ou -1-1, para que os dados sejam consistentes e mais gerenciáveis para os modelos de aprendizado de máquina processarem.

O processamento prévio também inclui o redimensionamento de imagens, convertendo-as em escala de cinza para reduzir a complexidade computacional ou removendo ruído utilizando técnicas de filtragem gaussiana. O "ruído" no reconhecimento de imagens refere-se a qualquer variação indesejada ou aleatória em pixels, como uma imagem salpicada, granular, borrada ou distorcida.

Extração de recursos

Em seguida, os engenheiros devem selecionar os recursos que apresentam as informações mais significativas. Pode ser edges quando se detectam formas ou intensidade de cor se o resultado for distinguir objetos por matiz. Como os modelos de aprendizado de máquina dependem de feições extraídas manualmente, a anotação de dados rotula as informações essenciais.

Ao anotar objetos de interesse nas imagens, os modelos podem reconhecer e classificar mais facilmente objetos específicos, como "gato" ou "cachorro". Dados anotados com precisão permitem que os algoritmos de aprendizado de máquina aprendam os recursos visuais de cada categoria com precisão.

Programação para aprendizado de máquina

Os engenheiros extraem essas características e as formatam em vetores numéricos, facilitando o processamento e a comparação de imagens para modelos de aprendizado de máquina. Os engenheiros traduzem cada imagem em um vetor de característica de comprimento fixo, uma lista de números resumindo sua importância.

Reconhecimento de imagens com deep learning

Por outro lado, os modelos de deep learning podem aprender diretamente da imagem. Deep learning, um subconjunto do aprendizado de máquina, utiliza neural networks para realizar tarefas complexas de pré-processamento e reconhecimento de imagens, mas ao custo de maiores requisitos computacionais e de dados.

Redes neurais convolucionais (CNNs) são arquiteturas de deep learning com camadas convolucionais que analisam e aprendem a natureza estruturada dos dados de imagens.

Camada de input

A rede neural profunda da CNN detecta automaticamente o valor bruto do pixel na imagem. A CNN passa essas informações por camadas da rede profunda para extrair padrões e, por fim, fazer previsões sobre a imagem.

As camadas da rede começam com a camada de entrada. A entrada processa os valores brutos dos pixels da imagem, tratando-os como uma grade de intensidades numéricas, e os repassa às camadas subsequentes para a extração de padrões.

Extração de recursos

Em seguida, a camada convolucional aplica pequenos filtros, ou kernels, sobre a imagem para detectar padrões locais, como edge ou textura. A convolução reduz a necessidade de extração manual de características porque a rede pode aprender os padrões diretamente dos dados.

Após cada convolução, uma função de ativação introduz a não linearidade no modelo, permitindo que a rede aprenda padrões, formas e objetos complexos empilhando várias camadas.

Agrupamento e achatamento

As camadas de agrupamento reduzem a resolução da imagem para reduzir seu tamanho, mantendo recursos importantes para garantir que o modelo seja computacionalmente eficiente em lidar com variações, como pequenas rotações ou mudanças na imagem.

Depois que a rede extrai os recursos, ela nivela os dados em um vetor unidimensional e os passa por camadas totalmente conectadas. Essas camadas integram os padrões aprendidos em estágios anteriores para identificar relacionamentos complexos e refinar o processo de classificação.

Camada de produção

Finalmente, os dados chegam à camada de saída, que consolida as características extraídas e produz uma previsão final. Essa previsão é comparada ao conjunto de dados de treinamento anotado para calcular erros e ajustar os pesos da rede para aumentar a precisão.

Por exemplo, para treinar um modelo para reconhecer imagens de gato, os engenheiros podem utilizar o aprendizado supervisionado, rotulando milhares de imagens com tags como "gato" ou "não gato" para o modelo poder aprender características principais, como textura de pelo, bigodes e formato da orelha.

Opcionalmente, no aprendizado não supervisionado o modelo trabalha com dados não rotulados para descobrir padrões de forma independente. O modelo identifica relacionamentos sem categorias agrupando imagens com base em características compartilhadas (como formas ou texturas semelhantes).

Essa abordagem é útil para tarefas como detecção de fraude, controle de qualidade e análise de padrões quando os dados rotulados não estão disponíveis. No aprendizado não supervisionado, o modelo agruparia imagens de forma independente com base em padrões compartilhados, agrupando todas as imagens de gato sem saber explicitamente que são gatos.

Uma terceira abordagem, aprendizado auto-supervisionado, combina aspectos do aprendizado não supervisionado, começando com dados não rotulados, mas gerando pseudorrótulos a partir da estrutura inerente dos dados, permitindo que os modelos aprendam representações significativas sem rótulos tradicionais, tornando-os poderosos para tarefas com conjuntos de dados rotulados limitados.

Com o aprendizado autossupervisionado, o modelo pode analisar partes de uma imagem, como reconstruir uma cara de gato parcialmente obscurecida, para identificar padrões e características. Em última análise, o modelo treinado (seja usando aprendizado de máquina ou deep learning) pode identificar e classificar com precisão novas imagens de gato não vistas, distinguindo-as de outros animais ou objetos.

Desafios do reconhecimento de imagens

Embora as tecnologias de reconhecimento de imagem tenham avançado, ainda enfrentam desafios que afetam a precisão e a confiabilidade. Os engenheiros atenuam esses problemas combinando arquiteturas de modelo aprimoradas, diversos conjuntos de dados de treinamento e técnicas de processamento prévio.

Imagens desorganizadas ou obscurecidas

O aprendizado supervisionado utiliza dados rotulados com cada imagem marcada com sua categoria correta para guiar o algoritmo por meio de exemplos claros. Por exemplo, treinar um sistema para reconhecer carros envolve um conjunto de dados rotulado "gato" e "não gato". Então, o modelo aprende a diferenciar com base em padrões visuais dentro desses exemplos rotulados.

Variações de ângulos e perspectivas

No aprendizado não supervisionado, o algoritmo utiliza dados não rotulados, descobrindo padrões de forma independente. É semelhante a dar a uma criança uma caixa de brinquedos para classificar por semelhança. Algoritmos não supervisionados agrupam imagens com base em características compartilhadas (como bigodes, pelo, quatro pernas e rabos) sem conhecer as categorias.

Condições de iluminação

Mudanças na iluminação como sombras, variações de brilho ou ambientes com pouca luz, podem afetar o desempenho dos sistemas de reconhecimento de imagem. Os pontos brilhantes podem desbotar detalhes, enquanto as sombras podem obscurecer características críticas, fazendo com que o modelo interprete mal a forma ou a cor de um objeto.

Métodos avançados como equalização adaptativa de histograma ou incorporação de dados de treinamento com condições de iluminação variadas ajudam os modelos a terem melhor desempenho em diferentes cenários de iluminação.

Limitações nos dados de treinamento

O desempenho de um modelo de reconhecimento de imagem depende da diversidade e qualidade de seus dados de treinamento. Modelos treinados em conjuntos de dados que apresentam principalmente imagens idealizadas de alta resolução podem ter dificuldades quando encontram variações de baixa qualidade ou do mundo real.

Para mitigar o problema, os engenheiros selecionam diversos conjuntos de dados que representam condições do mundo real. Técnicas como aprendizado por transferência permitem que modelos utilizem conhecimento treinado previamente de conjuntos de dados grandes e robustos e melhorem o desempenho mesmo com dados limitados.

Tamanho e proximidade do objeto

O tamanho de um objeto em uma imagem, influenciado por sua proximidade com a câmera, pode afetar a capacidade do modelo de identificá-lo com precisão. Objetos pequenos podem não ter detalhes suficientes para reconhecimento, enquanto objetos muito próximos podem parecer distorcidos ou grandes demais para o modelo classificar corretamente.

Para lidar com isso, os engenheiros treinam modelos em conjuntos de dados que incluem objetos de tamanhos e distâncias variados. Técnicas de processamento de imagens em multiescala e pirâmides de características também são empregadas para ajudar a garantir que o modelo possa lidar com objetos em uma ampla gama de tamanhos.

Reconhecimento de imagens e detecção de objetos

A detecção de objetos estende o reconhecimento de imagens, identificando objetos e identificando suas localizações em uma imagem. Essa técnica possibilita que o sistema responda a perguntas como: "Onde está o gato nesta foto?" ou "Quantos gatos há na cena?" A detecção de objetos oferece mais contexto, pois reconhece objetos e suas posições, tamanhos e orientações dentro do quadro.

Por exemplo, em vez de identificar “um gato” em uma imagem, a detecção de objetos permite que o computador especifique “Há um gato sentado no sofá no canto esquerdo da imagem”, apresentando uma compreensão espacial da cena e das relações entre os objetos.

As tarefas de reconhecimento de imagem também podem variar em complexidade. A categorização ou classificação de imagens atribui um único rótulo a uma imagem inteira com base em seu conteúdo, respondendo à pergunta: “O que há nessa imagem?”

Por exemplo, um modelo treinado em conjuntos de dados rotulados de gato e cachorro aprende a distinguir entre os dois identificando suas características exclusivas. Quando apresentado a uma nova imagem, o modelo analisa esses recursos para prever se ela mostra um gato ou um cachorro.

Os modelos utilizam caixas delimitadoras para delinear esses objetos individuais, separando-os do fundo e marcando onde cada objeto começa e termina. Essa precisão é crítica para aplicações como condução autônoma, em que a detecção com precisão de objetos como veículos, pedestres e sinais de trânsito é essencial para a segurança.

Projeto 3D de bolas rolando em uma pista

As últimas notícias e insights sobre IA 


Descubra insights selecionados por especialistas e notícias sobre IA, nuvem e outros assuntos no boletim informativo semanal Think. 

Evolução dos usos do reconhecimento de imagem

O reconhecimento de imagens está avançando rapidamente, abrindo caminho para aplicações mais sofisticadas em diversos setores e casos de uso. Veja a seguir algumas das principais aplicações reais do reconhecimento de imagens:

Veículos autônomos

Muitos smartphones são equipados com tecnologia de reconhecimento facial que permite aos usuários liberar seus dispositivos olhando para a tela. Essa aplicação de reconhecimento de imagens tornou-se comum, com sistemas reconhecendo características faciais individuais para confirmar a identidade.

Reconhecimento facial

O reconhecimento facial também é amplamente utilizado em segurança e vigilância para identificar indivíduos a partir de feeds de vídeo. Essa tecnologia ajuda as agências policiais a rastrear suspeitos em áreas públicas, enquanto as empresas a utilizam na segurança de edifícios para controlar o acesso.

Gerenciamento e moderação de redes sociais

As plataformas de redes sociais utilizam o reconhecimento de imagem para sugerir tags em fotos, identificando e reconhecendo os rostos de amigos e familiares. As redes sociais também utilizam filtros de realidade aumentada que detectam pontos de referência faciais para posicionar elementos virtuais, como óculos ou orelhas de animais, de forma a acompanharem os movimentos faciais.

Além disso, essas plataformas utilizam reconhecimento de imagem para moderar o conteúdo filtrando imagens inapropriadas, mantendo a segurança da plataforma e aprimorando a experiência do usuário.

Óculos inteligentes e informações em tempo real

Com base nos atuais aplicativos de realidade aumentada (RA) em dispositivos móveis, os óculos inteligentes equipados com software de reconhecimento de imagem podem oferecer aos usuários visualizações aumentadas de seus arredores, sobrepondo informações em tempo real sobre objetos e locais.

A tecnologia de RA apresenta dados contextuais sobre qualquer coisa que o usuário veja, desde a identificação de pontos de referência até a recuperação de detalhes do produto em lojas.

Eletrodomésticos

O reconhecimento de imagens em eletrodomésticos permite recursos como controle de estoque em geladeiras inteligentes, detecção de obstáculos em aspiradores robóticos e reconhecimento humano ou de objetos em câmeras de segurança.

Também alimenta funções como detecção de tipo de tecido em máquinas de lavar, reconhecimento de alimentos em fornos inteligentes e análise facial em espelhos inteligentes ou monitores de bebês.

Os robôs de entrega dependem do reconhecimento de imagens para navegar nos ambientes, detectar obstáculos e identificar locais de entrega para entregas autônomas precisas e eficientes.

Por outro lado, os robôs em armazéns e ambientes industriais utilizam a mesma tecnologia para digitalizar e recuperar itens, realizar verificações de qualidade, montar peças e classificar materiais.

Geração de imagens médicas

A análise de imagens médicas auxilia os profissionais de saúde na análise de raios-X, ressonância magnética e tomografias computadorizadas. Esses sistemas podem detectar anomalias que o olho humano pode não detectar, como sinais precoces de câncer de pulmão, acidentes vasculares cerebrais (AVCs) ou tumores, levando a diagnósticos mais oportunos.

A Merative, antiga IBM Watson Health, aplica reconhecimento de imagens para analisar dados de imagens complexos, apoiando radiologistas na identificação de descobertas críticas.

O reconhecimento de imagens médicas está avançando com diagnósticos impulsionados por IA, permitindo que os sistemas de reconhecimento de imagens ajudem na detecção de doenças em estágio inicial com maior precisão.

Já aprimorando áreas como a detecção, a tecnologia apoia especialistas com um "segundo par de olhos" altamente treinado para diagnósticos avançados, especialmente em áreas em que os detalhes têm importância crítica.

Reconhecimento óptico de caracteres (OCR)

A tecnologia de OCR digitaliza o texto impresso lendo documentos, livros e recibos. Os aplicativos utilizam OCR para reconhecer e converter texto impresso em formatos digitais que os usuários podem editar ou pesquisar. O OCR foi um caso de uso inicial crítico para reconhecimento de imagens que ajudou a abrir caminho para a digitalização generalizada em todos os setores.

Processamento de documentos

Bancos e instituições financeiras utilizam o reconhecimento de imagens para automatizar verificações, identificações e outros documentos, reduzindo a fraude e simplificando a integração do cliente. A tecnologia verifica imagens de documentos em busca de detalhes cruciais, autentica e sinaliza quaisquer anomalias para avaliação.

Boletim informativo do Think

 

Os mais recentes insights sobre IA e tecnologia do Think

Inscreva-se hoje mesmo

Recursos

IBM AI Academy
Educação em IA
Mistura de especialistas
Podcast
Como aprimorar os resultados do Watson Visual Recognition usando o pré-processamento
Blog
Aprendizagem supervisionada e não supervisionada: qual é a diferença?
Blog
Dê o próximo passo

Treine, valide, ajuste e implemente modelos de base de IA generativa e recursos de aprendizado de máquina com o IBM watsonx.ai, estúdio empresarial de última geração para construtores de IA. Crie aplicações de IA em uma fração do tempo e com uma fração dos dados.

Explore o watsonx.ai Agende uma demonstração em tempo real