Skip to content

Ruhaan838/Mini_Dino

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Mini Dino

A simplified implementation of the DINOv2 (Self-supervised Vision Transformers).

Features

  • Easy-to-use DINOv2 implementation
  • Image similarity computation using cosine similarity

Installation

  1. Clone this repository:
git clone https://github.com/yourusername/mini_dino.git
cd mini_dino
  1. Install required dependencies:
pip install torch torchvision pillow matplotlib

Usage

Run the model using:

python dino.py

Example Code

model_name = "dinov2_vits14"
dino = torch.hub.load("facebookresearch/dinov2", model_name)
model = dino_small_vit()
model = load_dino_weights(model, dino.state_dict(), N=12)

img1 = Image.open("image.png")
transforms = T.Compose([
    T.Resize((224, 224)),
    T.ToTensor()
])

img1 = transforms(img1).unsqueeze(0)
out_dino = dino(img1)

img2 = Image.open("image1.png")
img2 = transforms(img2).unsqueeze(0)

out = model(img2)
similarity = F.cosine_similarity(img1, img2)

Model Details

  • Based on DINOv2 ViT-Small/14 architecture
  • Input image size: 224x224
  • Output: Feature embeddings for similarity comparison

About

A simplified implementation of the DINOv2 (Self-supervised Vision Transformers).

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages