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.
.png)
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
.png)
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.
.png)
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.