Explore a aprendizagem One-Shot em IA. Aprenda a classify a partir de uma única imagem usando Ultralytics e redes Siamese para uma visão computacional eficiente.
A aprendizagem One-Shot é uma técnica de classificação especializada em aprendizagem automática (ML) concebida para aprender informações sobre categorias de objetos a partir de um único exemplo de treino. Ao contrário dos algoritmos tradicionais de aprendizagem profunda (DL), que requerem conjuntos de dados massivos contendo milhares de imagens anotadas para generalizar eficazmente, a aprendizagem One-Shot imita a capacidade cognitiva humana de compreender um novo conceito instantaneamente. Por exemplo, uma pessoa geralmente consegue reconhecer uma ave exótica específica depois de vê-la apenas uma vez; essa metodologia tenta replicar essa eficiência em sistemas de inteligência artificial (IA). Ela é particularmente valiosa em cenários em que a rotulagem de dados é cara, os dados são escassos ou novas categorias devem ser adicionadas dinamicamente sem retreinar todo o modelo.
O princípio central da aprendizagem One-Shot envolve mudar o objetivo da classificação padrão para a avaliação de similaridade . Em vez de treinar uma rede neural (NN) para produzir um rótulo de classe específico (por exemplo, «cão» ou «gato»), o modelo aprende uma função de distância. Uma arquitetura comum empregada para isso é a rede neural siamesa, que consiste em duas sub-redes idênticas que compartilham os mesmos pesos do modelo.
Durante a operação, a rede realiza a extração de características para converter imagens de entrada em vetores numéricos compactos conhecidos como embeddings. O sistema então compara o embedding de uma nova imagem de consulta com o embedding da única imagem de referência "foto". Se a distância matemática — frequentemente calculada usando a distância euclidiana ou a similaridade coseno— estiver abaixo de um determinado limite, as imagens são determinadas como pertencentes à mesma classe. Isso permite que o modelo verifique a identidade ou classify com base na sua proximidade no espaço de características aprendido.
Python a seguir demonstra como extrair embeddings e calcular a similaridade usando um
YOLO26 modelo de classificação do
ultralytics pacote.
import numpy as np
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model for feature extraction
model = YOLO("yolo26n-cls.pt")
# Extract embeddings for a reference 'shot' and a query image
# The embed() method returns the feature vector directly
shot_vec = model.embed("reference_img.jpg")[0]
query_vec = model.embed("query_img.jpg")[0]
# Calculate similarity (higher dot product implies greater similarity)
similarity = np.dot(shot_vec, query_vec) / (np.linalg.norm(shot_vec) * np.linalg.norm(query_vec))
print(f"Similarity Score: {similarity:.4f}")
É importante diferenciar a aprendizagem One-Shot de outras técnicas de aprendizagem eficientes em termos de dados, uma vez que resolvem problemas semelhantes através de restrições diferentes:
A aprendizagem One-Shot desbloqueou capacidades em setores onde a recolha de grandes quantidades de dados de treino é impraticável.
A aplicação mais comum do One-Shot Learning é na segurança biométrica. Ao configurar o Face ID num smartphone ou ao inscrever-se num sistema de acesso de funcionários, o dispositivo captura uma única representação matemática do rosto do utilizador . Durante o uso diário, o sistema de reconhecimento facial compara a imagem ao vivo da câmara com essa "única captura" armazenada para verificar a identidade. Isso depende de técnicas de incorporação robustas, como as discutidas na pesquisa fundamental FaceNet, para garantir que mudanças na iluminação ou no ângulo não prejudiquem a correspondência de similaridade.
Na IA na fabricação, criar um conjunto de dados equilibrado de peças "defeituosas" é difícil porque os defeitos são raros e inconsistentes. O One-Shot Learning permite que os sistemas de visão computacional (CV) aprendam a representação de uma única peça de referência "perfeita". Qualquer item na linha de montagem que produza uma incorporação significativamente distante dessa referência é sinalizado para detecção de anomalias. Isso permite a garantia imediata da qualidade sem a necessidade de milhares de imagens de peças defeituosas, que podem ser gerenciadas e implantadas por meio da Ultralytics .
Embora poderoso, o One-Shot Learning é suscetível a ruídos; se a única imagem de referência estiver desfocada, obstruída ou não representativa, a capacidade do modelo de reconhecer essa classe diminui significativamente. Os investigadores frequentemente empregam metaaprendizagem, ou «aprender a aprender», para melhorar a estabilidade e a generalização do modelo. À medida que as arquiteturas evoluem, modelos mais recentes, como o YOLO26, estão a incorporar extratores de recursos mais robustos que tornam a inferência one-shot mais rápida e precisa, abrindo caminho para dispositivos de IA de ponta mais adaptáveis e inteligentes .