Glossário

Extração de caraterísticas

Descubra o poder da extração de caraterísticas na aprendizagem automática com o Ultralytics YOLO11. Aprenda técnicas para deteção e análise eficientes.

A extração de caraterísticas é um processo vital na aprendizagem automática (ML) e na visão computacional (CV), actuando como uma etapa crítica para converter dados brutos, muitas vezes complexos, num formato que os algoritmos possam processar eficazmente. Envolve a transformação de dados não estruturados ou de elevada dimensão, como imagens, áudio ou texto, num conjunto estruturado de caraterísticas numéricas, normalmente representadas como um vetor de caraterísticas. Estas caraterísticas têm por objetivo captar as caraterísticas essenciais dos dados originais, eliminando simultaneamente o ruído e a redundância. Os principais objectivos incluem a redução da complexidade dos dados através da redução da dimensionalidade, destacando padrões relevantes e tornando os dados mais adequados para modelos de ML. Isto conduz frequentemente a uma maior precisão do modelo, a uma formação mais rápida do modelo e a uma melhor generalização a dados não vistos.

Como funciona a extração de caraterísticas

As técnicas específicas para a extração de caraterísticas dependem em grande medida do tipo de dados a processar.

  • Dados de imagem: Na visão computacional tradicional, os métodos envolviam a conceção manual de algoritmos para detetar caraterísticas específicas como arestas, cantos, texturas (utilizando técnicas como os filtros de Gabor) ou histogramas de cores. Bibliotecas como a OpenCV fornecem ferramentas para implementar muitas dessas técnicas clássicas(site oficial da OpenCV). No entanto, na aprendizagem profunda (DL) moderna, particularmente com as redes neurais convolucionais (CNN) utilizadas em modelos como o Ultralytics YOLO, a extração de caraterísticas é muitas vezes aprendida automaticamente. As camadas de convolução da rede aplicam filtros à imagem de entrada, gerando mapas de caraterísticas que captam hierarquicamente padrões cada vez mais complexos - desde linhas e texturas simples nas camadas iniciais até partes de objectos e objectos inteiros em camadas mais profundas. Pode explorar várias tarefas de visão por computador em que isto é aplicado.

  • Dados de texto: Para as tarefas de Processamento de Linguagem Natural (PLN), a extração de caraterísticas pode envolver métodos como o cálculo da Frequência de Termos - Frequência Inversa de Documentos (TF-IDF) para representar a importância das palavras ou a geração de ligações de palavras utilizando modelos como o Word2Vec ou o GloVe. Estas incorporações são vectores densos que captam as relações semânticas entre as palavras. Modelos mais avançados como o BERT e o Transformers aprendem representações contextuais diretamente a partir do texto.

  • Técnicas gerais: Métodos como a análise de componentes principais (PCA) e a incorporação de vizinhos estocásticos t-distribuídos (t-SNE) são técnicas de redução de dimensionalidade de uso geral aplicáveis a vários tipos de dados. Elas transformam dados de alta dimensão em um espaço de dimensão mais baixa, com o objetivo de preservar a variância importante ou as estruturas de vizinhança, o que pode ser considerado uma forma de extração de recursos. O Scikit-learn fornece implementações para estas técnicas.

Extração de caraterísticas vs. engenharia de caraterísticas

A extração de caraterísticas é frequentemente confundida com a engenharia de caraterísticas, mas são conceitos distintos.

  • Extração de caraterísticas: Centra-se especificamente na transformação de dados brutos num conjunto de caraterísticas derivadas, muitas vezes utilizando algoritmos automatizados (como camadas CNN) ou técnicas matemáticas estabelecidas (como PCA ou transformadas de Fourier). O objetivo é, normalmente, a redução da dimensionalidade e a criação de uma representação mais fácil de gerir.
  • Engenharia de caraterísticas: É uma prática mais ampla que inclui a extração de caraterísticas, mas também envolve a criação de novas caraterísticas a partir de outras existentes (por exemplo, calcular o rácio de duas medições), selecionar as caraterísticas mais relevantes para um modelo, tratar valores em falta e transformar caraterísticas com base no conhecimento do domínio e nos requisitos específicos do modelo(como o pré-processamento de dados). Muitas vezes, exige mais esforço manual e conhecimentos especializados.

Embora os modelos de aprendizagem profunda automatizem grande parte do processo de extração de caraterísticas para tarefas como o reconhecimento de imagens e a deteção de objectos, os princípios de engenharia de caraterísticas, como o aumento adequado dos dados ou a normalização das entradas, continuam a ser cruciais para alcançar um desempenho ótimo.

Aplicações no mundo real

A extração de caraterísticas é fundamental para inúmeras aplicações de IA e ML:

  1. Análise de imagens médicas: Na análise de exames médicos como raios X, TACs ou MRIs para detetar doenças como o cancro, são extraídas caraterísticas específicas das imagens. Estas podem incluir padrões de textura nos tecidos, a forma e o tamanho de potenciais anomalias (como os tumores encontrados no conjunto de dados de tumores cerebrais) ou variações de intensidade. Estas caraterísticas extraídas são depois introduzidas num classificador (como um SVM ou uma rede neural) para prever a presença ou o estádio de uma doença. Isto ajuda os radiologistas no diagnóstico, tal como referido em publicações como Radiology: Artificial Intelligence. Os sistemas modernos podem utilizar o Ultralytics YOLO11 que extrai implicitamente caraterísticas para tarefas como a análise de imagens médicas.

  2. Análise de sentimentos: Para determinar o sentimento (positivo, negativo, neutro) expresso em dados de texto, como comentários de clientes ou publicações em redes sociais, as caraterísticas devem ser extraídas do texto em bruto. Isto pode envolver a contagem da frequência de palavras positivas e negativas(Bag-of-Words), utilizando pontuações TF-IDF, ou gerando frases sofisticadas utilizando modelos de linguagem pré-treinados como os disponíveis através do Hugging Face. Estas caraterísticas quantificam o tom emocional do texto, permitindo que um modelo de ML classifique o sentimento geral, o que é crucial para compreender o feedback do cliente.

Extração de caraterísticas em modelos YOLO Ultralytics

Os modelos de deteção de objectos mais avançados, como o Ultralytics YOLOv8 e o YOLO11, realizam a extração de caraterísticas implicitamente na sua arquitetura de rede neural (NN). As camadas iniciais (frequentemente parte da espinha dorsal) actuam como poderosos extractores de caraterísticas aprendidas. À medida que os dados de entrada passam por estas camadas, as caraterísticas hierárquicas são automaticamente identificadas e representadas nos mapas de caraterísticas. Embora o processo seja em grande parte automatizado, a compreensão da extração de caraterísticas ajuda a conceber passos eficazes de pré-processamento de dados, a efetuar a afinação de hiperparâmetros e a interpretar o comportamento do modelo, utilizando potencialmente ferramentas disponíveis na documentação do Ultralytics ou em plataformas como o Ultralytics HUB para gerir conjuntos de dados e experiências. As técnicas também são utilizadas em tarefas a jusante, como o rastreio de objectos, em que as caraterísticas de aparência podem ser extraídas para manter as identidades dos objectos em todos os fotogramas. Estruturas como PyTorch e TensorFlow fornecem a infraestrutura subjacente para construir e treinar esses modelos.

Junte-se à comunidade Ultralytics

Junte-se ao futuro da IA. Ligue-se, colabore e cresça com inovadores globais

Aderir agora
Ligação copiada para a área de transferência