Artigo
· Fev. 5 2min de leitura

Retornar imagens usando pesquisa de vetor (2)

Você precisa instalar o aplicativo primeiro. Se não estiver instalado, por favor, consulte o artigo anterior.

Demonstração do aplicativo

Após executar com sucesso o aplicativo de busca de vetores de imagem de íris, alguns dados precisam ser armazenados para suportar a recuperação de imagens, pois não são inicializados na biblioteca.

Armazenamento de imagens

Primeiramente, arraste e solte a imagem ou clique no ícone de upload, selecione a imagem e clique no botão de upload para enviar e vetorizá-la. Este processo pode ser um pouco lento.

Esse processo envolve o uso de Python incorporado para chamar o modelo CLIP e vetorizar a imagem em dados vetoriais de 512 dimensões.

ClassMethod LoadClip(imagePath) As %String [ Language = python ]
{
import torch
import clip
from PIL import Image

device = "cuda" if torch.cuda.is_available() else "cpu"
model, preprocess = clip.load("ViT-B/32", device=device)

image = preprocess(Image.open(imagePath)).unsqueeze(0).to(device)

with torch.no_grad():
    image_features = model.encode_image(image)
return str(image_features[0].tolist())
}

Ver dados vetoriais

Observando os dados vetoriais no Portal de Administração

Consulta de vetores

O processo de consulta de vetores utiliza VECTOR_COSINE para recuperar a similaridade dos dados vetoriais, o que pode ser realizado através do seguinte SQL.

select top ? id Image,VECTOR_COSINE(TO_VECTOR(ImageVector,double),(select TO_VECTOR(ImageVector,double) from VectorSearch_DB.ImageDB where id= ? )) Similarity from VectorSearch_DB.ImageDB order by Similarity desc

 

Após enviar várias imagens, selecione a consulta e a imagem com a maior similaridade à esquerda será exibida à direita. Clique em "próximo" para visualizar a próxima página. A similaridade entre as duas imagens diminuirá gradualmente a cada clique.

 

Esta aplicação é uma demonstração da recuperação de vetores de imagem. Se você estiver interessado, pode verificar oOpen Exchange ou visitar o Github tpara ver mais informações.

Discussão (0)1
Entre ou crie uma conta para continuar