O que é classificação de imagens?

O que é classificação de imagens?

A classificação de imagens é o processo de categorizar ou classificar imagens em categorias. No aprendizado de máquina, os modelos aprendem a reconhecer e categorizar imagens.

Os seres humanos classificam as imagens desde cedo. Quando uma professora pede aos alunos do jardim de infância que organizam as imagens de plantas e animais em pilhas, eles usam as características que aprenderam sobre cada categoria para concluir a tarefa. Cada uma dessas categorias possui funcionalidades diferentes que diferenciam as plantas dos animais. Os adultos podem não se lembrar de ter aprendido sobre as funcionalidades distintas que separam as categorias, já que uma grande parte de como sabemos classificar ocorre naturalmente.

Ensinar um modelo de inteligência artificial (IA) a realizar a mesma tarefa pode ser muito mais difícil. A principal diferença aqui é que os modelos de IA precisam ser ensinados a “ver”, enquanto os humanos nascem com essa capacidade. Assim, os humanos podem distinguir entre um sapatos e um ser vivo desde o início. A classificação de imagem baseada em regras depende de rótulos ou anotações para criar essas distinções. A classificação estatística de imagens assume essa mesma tarefa, treinando modelos para reconhecer padrões incorporados nas imagens, eliminando grande parte do trabalho manual de rotulagem.

O que é computer vision?

Computer vision refere-se ao ramo mais geral da IA dentro do qual a classificação de imagens se enquadra. Usa aprendizado de máquina e, muitas vezes, redes neurais para permitir que os computadores interpretem dados visuais, como imagens e vídeos. Embora alguns experimentos com computer vision possam ter começado já na década de 1950, a maioria dos especialistas concordaria que só foi em 1970 que o uso comercial dessa técnica começou.

A computer vision permite que os computadores extraiam dados úteis do que veem. Esse processo também permite que eles respondam, fazendo recomendações ou até mesmo agindo quando detectam problemas ou anormalidades nos dados visuais. Também dentro da computer vision existe o campo do reconhecimento de imagens. Esse termo amplo é usado para descrever a capacidade de um computador de interpretar uma imagem ou imagens. Recapitulando, computer vision é uma categoria mais ampla, e as tarefas de reconhecimento de imagens (e, mais especificamente, a classificação de imagens) se aninham dentro dela.

As mais recentes tendências em IA, trazidas a você por especialistas

Receba insights selecionados sobre as notícias mais importantes (e intrigantes) sobre IA. Inscreva-se no nosso boletim informativo semanal Think. Consulte a Declaração de privacidade da IBM.

Agradecemos a você! Você se inscreveu.

Sua assinatura será entregue em inglês. Você encontrará um link para cancelar a assinatura em cada boletim informativo. Você pode gerenciar suas assinaturas ou cancelar a assinatura aqui. Consulte nossa Declaração de privacidade da IBM para obter mais informações.

Tipos de classificação de imagens

Classificação de imagens baseada em regras

Esse método depende de um processo estritamente desenvolvido de coleta e rotulagem de imagens para corresponder à tarefa ou objetivo específico de classificação. Esse processo é concluído manualmente por especialistas que selecionam as características principais da imagem que fornecem a maioria das informações visuais. A classificação de imagens baseada em regras agrupa clusters de pixels semelhantes em classes aplicando essas regras, que são construídas a partir de conhecimento especializado. Ele também permite a classificação interpretável e personalizável sem depender de modelos complexos de aprendizado de máquina.

Imagine uma caixa de fotografias que você foi designado para organizar. A coleção contém fotografias de lagos, cachorros e carros. Como você não tem ferramentas de alta tecnologia à disposição com esse método, precisa criar uma lista. 

A lista pode ser semelhante à seguinte:

  • Para "carros", procure pneus, portas e espelhos retrovisores laterais."

  • No caso de "cães", verifique se há orelhas caídas, rabos balançando e narizes longos.

  • Para "lagos", encontre fotos com muita água e linha costeira.

Esse exemplo demonstra que a classificação baseada em regras depende de regras e ferramentas predefinidas feitas por humanos. Esse método contrasta com deixar um computador "aprender" novas regras por si mesmo. Essa forma de classificação de imagens pode incluir técnicas como correspondência de predefinição e limitação.

A correspondência de modelos envolve deslizar uma imagem de modelo sobre uma imagem de entrada maior e calcular métricas de similaridade em cada posição para encontrar regiões que correspondam à imagem do modelo.

A limitação de segmentos de imagens converte valores em pixels em binário com base em um valor de corte definido. Este método diferencia funcionalidades do fundo de acordo com a intensidade.

Combinadas com o aprendizado por reforço baseado em regras, essas técnicas contribuem para sistemas de classificação de imagens robustos e interpretáveis. A classificação baseada em regras pode ser concluída por meio da implementação de algoritmos de k-vizinhos mais próximos ou de floresta aleatória.

Mixture of Experts | 12 de dezembro, episódio 85

Decodificando a IA: resumo semanal das notícias

Participe do nosso renomado painel de engenheiros, pesquisadores, líderes de produtos e outros enquanto filtram as informações sobre IA para trazerem a você as mais recentes notícias e insights sobre IA.

Classificação de imagens estatísticas 

Este método de classificação é um pouco mais complexo do que o método de classificação de imagem baseado em regras. A classificação estatística de imagens foi projetada para aprender e reconhecer automaticamente os padrões nas imagens. Para classificar imagens de forma eficiente, esse método depende muito de grandes conjuntos de dados rotulados e arquiteturas poderosas, geralmente redes neurais convolucionais (CNNs). Essas CNNs usam três tipos de camadas, cada uma aumentando em complexidade para identificar partes da imagem. À medida que os dados se movem pelas várias camadas da CNN, um número maior de componentes é reconhecido até que a imagem possa ser classificada.

Um diagrama detalhado ilustrando uma rede neural convolucional (CNN) processando uma imagem de zebra.
Diagrama de uma rede neural convolucional (CNN)

Métodos baseados em distribuição

As técnicas tradicionais baseadas em distribuição dependem de suposições claras sobre as propriedades estatísticas dos dados da imagem. Métodos como a estimativa de máxima verossimilhança (MLE) e os classificadores bayesianos analisam as distribuições de probabilidade de intensidades de pixels ou funcionalidades para atribuir classes. Na classificação de imagens, a MLE atribui a cada pixel da imagem à classe cujo modelo estatístico melhor explica os dados coletados. A classificação bayesiana usa o teorema de Bayes para calcular a probabilidade de uma imagem pertencer a uma determinada classe com base no conhecimento prévio e nos dados coletados. O teorema permite que se "inverta" as probabilidades condicionais. Ele combina probabilidades anteriores de classes com a probabilidade de funcionalidades observadas para prever a classe mais provável para um segmento de imagem específico. Esses algoritmos exigem modelagem estatística de cada classe e executam a classificação estimando a probabilidade de um pixel ou segmento específico pertencer a cada classe com base nesses modelos.

Fórmula para probabilidade condicional
Fórmula para probabilidade condicional

A estimativa de máxima verossimilhança (MLE) é um método estatístico usado para estimar os parâmetros de um modelo, encontrando os valores que tornam os dados observados mais prováveis. Na classificação de imagens, a MLE atribui cada pixel ou segmento à classe cujo modelo estatístico maximiza a probabilidade de gerar esses dados observados.

Métodos sem distribuição

As redes neurais convolucionais (CNNs) representam uma abordagem mais moderna e livre de distribuição que aprende as funcionalidades diretamente dos dados sem depender de regras estatísticas claramente declaradas. As CNNs consistem em múltiplas camadas que progressivamente detectam funcionalidades das imagens, desde a mais simples até a mais complexa. Eles usam operações como convoluções e agrupamento. Uma convolução é a operação matemática usada pela CNN para extrair funcionalidades dos dados de entrada e imagens neste caso. Essa operação usa um filtro ou kernel que corre pela entrada. O pooling também aplica um filtro a toda a entrada, mas ao contrário da convolução, esse filtro não tem parâmetros ponderados. O treinamento de CNNs requer grandes conjuntos de dados rotulados e recursos, mas muitas vezes produz uma precisão muito aprimorada devido à sua capacidade de extrair automaticamente funcionalidades hierárquicas de dados de imagens brutas.

Um gráfico triangular dividido em três seções, cada uma com ícones de bicicletas estilizados. A pirâmide é sombreada em tons variados de azul, criando um efeito gradiente. O design enfatiza a simplicidade e as formas geométricas, sem texto visível ou valores numéricos.
Diagrama de hierarquia
Uma representação visual da filtragem de matriz aplicada a uma grade numérica. A imagem de entrada exibe uma grade 3x3 com números, enquanto o filtro e a saída mostram o processo de transformação.
Diagrama de uma matriz de rede neural convolucional (CNN)

Como funciona a classificação de imagens estatísticas

Coleta e pré-processamento de dados: reunir um número grande e diversificado de imagens para cada grupo é o primeiro passo. Os dados devem ser rotulados e, em seguida, normalizados. A normalização e outras técnicas de aumento de dados incluem o redimensionamento de imagens para dimensões fixas, normalização do valor de pixels e muito mais.

Seleção do modelo: a próxima etapa no fluxo de trabalho é a seleção do modelo. A arquitetura selecionada provavelmente é uma CNN. Como discutido anteriormente, a CNN começa a detectar funcionalidades mais complexas à medida que os dados se movem através de suas camadas.

Treinamento e validação do modelo: após a seleção, as imagens rotuladas são divididas em conjuntos de dados de treinamento, conjuntos de dados de validação e conjuntos de dados de teste. A rede utiliza esses conjuntos para otimizar e ajustar repetidamente seus pesos, minimizando os erros entre os rótulos previstos e os rótulos reais. A prevenção do overfitting é auxiliada por dados de validação e esse processo de treinamento pode continuar até que os resultados atinjam um padrão predeterminado.

Durante essa etapa, um conjunto de dados de imagem anotado por humanos, como o ImageNet, pode ser aplicado. O ImageNet é uma enorme coleção de mais de 14 milhões de imagens. Essas imagens são todas organizadas e rotuladas para ensinar computadores a reconhecer objetos em imagens. Cada imagem no banco de dados é marcada com categorias específicas chamadas "synsets". Esses synsets incluem coisas como "cão", "carro" ou "maçã" e usam um framework chamado WordNet.

Extração de funcionalidades: Nesta etapa, ao contrário da classificação de imagens baseada em regras, os modelos de deep learning aprendem suas próprias funcionalidades a partir dos dados da imagem bruta extraídos. Essa abordagem permite que a rede estabeleça representações internas para distinguir entre grupos ou classes.

Avaliação e implementação: em seguida, o modelo é avaliado com dados de teste e recebe ajuste fino, se necessário. O modelo é, então, implementado para fazer previsões sobre novas imagens em um ambiente do mundo real, se as métricas esperadas forem atendidas.

Modelos e algoritmos de classificação de imagens

Vários modelos e algoritmos foram desenvolvidos para a classificação de imagens. Eles variam desde abordagens como k-vizinhos mais próximos (KNN), florestas aleatórias e máquinas de vetores de suporte (SVM) a arquiteturas como AlexNet, GoogLeNet e ResNet. Cada método oferece pontos fortes diferentes em termos de precisão, escalabilidade e complexidade. Com essas opções, os usuários podem escolher entre classificadores mais simples ou redes neurais convolucionais (CNNs) altamente sofisticadas, que podem aprender funcionalidades hierárquicas profundas das imagens. Veremos esses algoritmos e modelos com mais detalhes.

  • K-vizinhos mais próximos (KNN): esse algoritmo é um classificador de aprendizado supervisionado amplamente utilizado para tarefas de classificação de imagens. Funciona usando a distância euclidiana para medir a semelhança dos novos pontos de dados com todos os outros pontos de dados existentes em cada conjunto de dados. Na classificação de imagens, cada imagem é primeiro representada como um vetor de funcionalidade. Um vetor de funcionalidade pode incluir valores de pixel brutos, histogramas de cores ou quaisquer descritores numéricos que capturem características visuais importantes da imagem. A imagem é classificada comparando-a com as 'k' imagens mais semelhantes no conjunto de treinamento rotulado e atribuindo o rótulo mais comum entre esses vizinhos. Em seguida, usa a distância euclidiana, mencionada anteriormente, para medir a similaridade.

  • Floresta aleatória: outro classificador de imagens supervisionado conhecido por sua flexibilidade e facilidade de uso. O algoritmo de classificação é composto por múltiplas árvores de decisão. É calculada a média de cada saída dessas árvores de decisão e, depois, combinada para nos dar a saída final. A floresta aleatória classifica imagens construindo um conjunto de muitas árvores de decisão, cada uma treinada com diferentes imagens de amostras aleatórias e subconjuntos de funcionalidades dos dados. Para uma nova imagem, cada árvore prevê um rótulo de classe e a classe, com a maior parte dos votos entre todas as árvores se torna a classificação final para essa imagem.

  • Máquina de vetores de suporte (SVM): comumente usado para problemas de classificação, esse algoritmo de aprendizado de máquina funciona identificando a boundary ideal para maximizar a margem entre os pontos de dados mais próximos das classes opostas.

  • AlexNet: precursor no mundo das CNNs de deep learning, esse modelo ganhou popularidade devido ao seu design simples, mas com camadas profundas. Esse modelo usa ReLU como função de ativação em vez de sigmoide.

  • GoogLeNet/Inception: criado pelo Google, esse modelo emprega módulos de iniciação. Cada módulo de iniciação contém quatro caminhos com diferentes tamanhos de filtro, e o GoogLeNet tem quatro módulos de iniciação funcionando paralelos entre si. Os resultados de cada módulo de origem são então combinados para uma saída única. Os pesquisadores descobriram que o ajuste fino em um modelo pré-treinado, como o Inception, fornece resultados mais precisos.

  • ResNet: esse modelo introduz conexões residuais, ou atalhos, permitindo que os dados sigam outro caminho e ignorem algumas camadas da rede. ResNet possibilitou o treinamento de redes mais profundas com desempenho bem-sucedido em redes de até 152 camadas.

  • Modelo personalizado do TensorFlow: outra opção é criar modelos a partir do do zero usando o TensorFlow e Keras. Essa abordagem envolve a construção de camadas como Conv2D, MaxPooling2D e Densi. Além disso, a construção de funções de ativação para construir um pipeline de deep learning que pode classificar imagens após a conclusão do treinamento em exemplos rotulados é completo.
ML tradicional e ML com deep learning
ML tradicional e ML com deep learning

Casos de uso de classificação de imagens

Setor automotivo: a classificação de imagens e a detecção de objetos estão se tornando mais predominantes nos veículos. A detecção de objetos é usada para fornecer aos motoristas informações em tempo real sobre o ambiente ao seu redor. Essa capacidade pode ser útil em áreas desconhecidas ou de alto tráfego. A detecção de objetos eficaz depende muito da eficácia da classificação de imagem dessa CNN.

Classificação de imagens de folhas de doenças de plantas: os pesquisadores desenvolveram um modelo capaz de detectar 13 doenças de plantas em folhas saudáveis. O modelo também é capaz de diferenciar uma folha ou folhas do ambiente externo. Um modelo como esse pode ser fundamental para determinar se um ambiente foi infectado com algo como a doença da folha de faia (BLD), por exemplo.

Geração de imagens médicas e de saúde:  a classificação de imagens de deep learning com CNNs pode fornecer imagens de raios-X de pulmões infectados por pneumonia. Médicos e técnicos de saúde podem ser capazes de identificar casos de pneumonia de forma mais rápida e precisa, ao mesmo tempo em que o fazem de maneira econômica.

Conclusão:

A classificação de imagens é um componente essencial da computer vision. Ela permite que as máquinas entendam o mundo visual da mesma forma que os humanos. Desde métodos de classificação de imagens baseados em regras que dependem da seleção manual de funcionalidades até a classificação estatística avançada de imagens com CNNs capazes de reconhecer padrões sutis com alta precisão, esse campo continua evoluindo rapidamente. Seu impacto já está sendo sentido nos setores de saúde, automotivo e ambiental. Essa ferramenta capacita os usuários com recursos de tomada de decisão mais rápidos que podem levar a um aumento geral da segurança. À medida que os modelos de classificação de imagens se tornam mais sofisticados, eles não apenas aprimorarão as aplicações existentes, mas também abrirão as portas para possibilidades totalmente novas.

Soluções relacionadas
IBM Maximo Visual Inspection

Aproveite todo o poder da visão computacional sem código para automatizar inspeções visuais.

Conheça o Maximo Visual Inspection
Consultoria e serviços em inteligência artificial (IA)

Os serviços de IA da IBM® Consulting ajudam a reinventar a forma como as empresas trabalham com IA para gerar transformações.

Explore os serviços de inteligência artificial
Soluções de inteligência artificial

Coloque a IA em ação na sua empresa tendo a seu lado o conhecimento técnico em IA líder do setor e o portfólio de soluções da IBM.

Explore as soluções de IA
Dê o próximo passo

O IBM Maximo Visual Inspection coloca o poder dos recursos de visão computacional por IA nas mãos de suas equipes de controle de qualidade e inspeção. Aproveite todo o poder da visão computacional sem código para automatizar inspeções visuais.

Conheça o Maximo Visual Inspection Faça um tour pelo produto