realutils.metrics.dinov2
- Overview:
- This module provides functionality for generating embeddings from images using the DINOv2 model. It includes utilities for image preprocessing and model inference using ONNX runtime. - The module supports different DINOv2 model variants and provides configurable preprocessing options. - The ONNX models are hosted on deepghs/dinov2_onnx. - This is an overall benchmark of all the dinov2 models: 
get_dinov2_embedding
- realutils.metrics.dinov2.get_dinov2_embedding(image: str | PathLike | bytes | bytearray | BinaryIO | Image, model_name: str = 'facebook/dinov2-base', fmt='embedding', **kwargs)[source]
- Generate embeddings from an image using DINOv2 model. - This function performs the following steps: - Load and preprocess the image 
- Run inference using DINOv2 model 
- Return embeddings in requested format 
 - Parameters:
- image (ImageTyping) – Input image (can be path, URL, PIL Image, etc.) 
- model_name (str) – Name of DINOv2 model variant to use 
- fmt (str) – Output format (‘embedding’, ‘pooler_output’, or ‘last_hidden_state’) 
- kwargs – Additional preprocessing parameters 
 
- Returns:
- Image embeddings in requested format 
- Return type:
- numpy.ndarray 
- Example:
- >>> from realutils.metrics import get_dinov2_embedding >>> >>> embedding = get_dinov2_embedding('unsplash_0aLd44ICcpg.jpg') >>> embedding.shape (768,)