Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Official repository for Dino U-Net: Exploiting High-Fidelity Dense Features from Foundation Models for Medical Image Segmentation. (DINOv3)
| Date | Stars |
|---|---|
| 2026-07-31 | 322 |
| 2026-08-02 | 322 |
| 2026-08-06 | 322 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
# Dino U-Net
[中文文档](./README-zh.md)
This is the official repository for Dino U-Net: Exploiting High-Fidelity Dense Features from Foundation Models for Medical Image Segmentation.

> **[Dino U-Net: Exploiting High-Fidelity Dense Features from Foundation Models for Medical Image Segmentation.](https://arxiv.org/pdf/2508.20909)**
This repository contains the official implementation of **Dino U-Net**, a novel architecture for medical image segmentation that integrates a pre-trained DINOv3 foundation model within U-Net architecture. By leveraging the high-fidelity dense features from DINOv3, Dino U-Net achieves state-of-the-art performance on various medical image segmentation tasks.
## Features
- **Foundation Model**: Utilizes the powerful DINOv3 as the high-fidelity feature extractor.
- **Multiple Model Sizes**: Supports various DINOv3 model sizes, from ViT-S (~22M params) to ViT-7B (~7B params), allowing flexibility between performance and computational cost.
- **nnU-Net Integration**: Built upon the robust and widely-used nnU-Net framework for data preprocessing, training, and evaluation.
- **High Performance**: Achieves excellent results by transferring knowledge from natural images to medical segmentation tasks.
## Supported Models
Dino U-Net supports several DINOv3 model variants, each with different parameter counts and computational requirements:
| Model Name | DINOv3 Backbone | Act. Params | Pre-trained Checkpoint |
|-----------------|-----------------|------------|---------------------------------------------------------------|
| `dinounet_s` | ViT-S/16 | ~5M | `dinov3_vits16_pretrain_lvd1689m-08c60483.pth` |
| `dinounet_b` | ViT-B/16 | ~11M | `dinov3_vitb16_pretrain_lvd1689m-73cec8be.pth` |
| `dinounet_l` | ViT-L/16 | ~18M | `dinov3_vitl16_pretrain_lvd1689m-8aa4cbdd.pth` |
| `dinounet_7b` | ViT-7B/16 | ~220M | `dinov3_vit7b16_pretrain_lvd1689m-a955f4ea.pth` |
## Prerequisites
- Python 3.8+
- PyTorch 1.10+
- CUDA-enabled GPU
## Installation
1. **Clone the repository:**
```bash
git clone https://github.com/yifangao112/DinoUNet.git
cd dino-unet
```
2. Create a virtual environment `conda create -n dinounet python=3.10 -y` and activate it `conda activate dinounet`
3. Install Pytorch
4. **Install the required packages:**
It is recommended to create a virtual environment first.
```bash
pip install -r requirements.txt
```
5. **Install the MultiScaleDeformableAttention module:**
```bash
cd dinounet/dinov3/eval/segmentation/models/utils/ops
pip install .
```
6. **Download the pre-trained DINOv3 checkpoints:**
Download the desired DINOv3 checkpoints from the official repository or another source and place them in the `dinounet/checkpoints/` directory.
## Dataset Preparation
This project uses the **modified nnU-Net** framework for data handling. Please format your dataset according to the [nnU-Net guidelines](https://github.com/MIC-DKFZ/nnUNet/blob/master/documentation/dataset_format.md).
1. **Structure your dataset** as follows:
```
/path/to/dataset/
├── imagesTr/
│ ├── case001_0000.nii.gz
│ └── ...
├── labelsTr/
│ ├── case001.nii.gz
│ └── ...
└── dataset.json
```
2. **Set up nnU-Net Environment Variables:**
nnU-Net uses three environment variables to manage paths for raw data, preprocessed data, and model results.
- `nnUNet_raw`: Directory for storing raw datasets.
- `nnUNet_preprocessed`: Directory for storing preprocessed data.
- `nnUNet_results`: Directory for saving model weights and outputs.
You need to set these variables in your environment. For Linux/macOS, you can add the following lines to your `.bashrc` or `.zshrc` file:
```bash
export nnUNet_raw="/path/to/your/raw_data"
export nnUNet_preprocessed="/path/to/youExcerpt of 6,167 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:38e36c3a8199fdde, desc:image segmentation