| --- |
| license: mit |
| language: |
| - en |
| base_model: |
| - facebook/dinov2-base |
| - facebook/dinov2-small |
| tags: |
| - computer_vision |
| --- |
| |
| # Near, far: Patch-ordering enhances vision foundation models' scene understanding |
|
|
| Welcome to the Hugging Face repository for **NeCo**. an adapted vision encoder that captures fine-grained details and structural information essential for performing key-point matching, semantic segmentation and more. This repository hosts pretrained checkpoints for NeCo, enabling easy integration into your projects. |
|
|
| Our paper discussing our work: |
| **"Near, far: Patch-ordering enhances vision foundation models' scene understanding"** |
| *[Valentinos Pariza](https://vpariza.github.io), [Mohammadreza Salehi](https://smsd75.github.io),[Gertjan J. Burghouts](https://gertjanburghouts.github.io), [Francesco Locatello](https://www.francescolocatello.com/), [Yuki M. Asano](yukimasano.github.io)* |
|
|
| 🌐 **[Project Page](https://vpariza.github.io/NeCo/)** |
| ⌨️ **[GitHub Repository](https://github.com/vpariza/NeCo)** |
| 📄 **[Read the Paper on arXiv](https://arxiv.org/abs/2408.11054)** |
|
|
| ## Model Details |
|
|
| ### Model Description |
|
|
| NeCo introduces a new self-supervised learning technique for enhancing spatial representations in vision transformers. By leveraging Patch Neighbor Consistency, NeCo captures fine-grained details and structural information that are crucial for various downstream tasks, such as semantic segmentation. |
|
|
| - **Model type:** Vision Encoder (Dino, Dinov2, ...) |
| - **Language(s) (NLP):** Python |
| - **License:** MIT |
| - **Finetuned from model [optional]:** Dinov2, Dinov2R, Dino, ... |
|
|
|
|
| ## How to Get Started with the Model |
|
|
| To use NeCo models on downstream dense prediction tasks, you just need to install `timm` and `torch` and depending on which checkpoint you use you can load it as follows: |
|
|
| The models can be download from our [NeCo Hugging Face repo](https://huggingface.co/FunAILab/NeCo/tree/main). |
|
|
| #### Models after post-training dinov2 (following dinov2 architecture) |
|
|
| ##### NeCo on Dinov2 |
| ```python |
| import torch |
| # change to dinov2_vitb14 for base as described in: |
| # https://github.com/facebookresearch/dinov2 |
| model = torch.hub.load('facebookresearch/dinov2', 'dinov2_vits14') |
| path_to_checkpoint = "<your path to downloaded ckpt>" |
| state_dict = torch.load(path_to_checkpoint) |
| model.load_state_dict(state_dict, strict=False) |
| ``` |
| ##### NeCo on Dinov2 with Registers |
| ```python |
| import torch |
| # change to dinov2_vitb14_reg for base as described in: |
| # https://github.com/facebookresearch/dinov2 |
| model = torch.hub.load('facebookresearch/dinov2', 'dinov2_vits14_reg') |
| path_to_checkpoint = "<your path to downloaded ckpt>" |
| state_dict = torch.load(path_to_checkpoint) |
| model.load_state_dict(state_dict, strict=False) |
| ``` |
| #### Models after post-training dino or similar (following dino architecture) |
| ##### timm vit-small and vit-base architectures |
| ```python |
| import torch |
| from timm.models.vision_transformer import vit_small_patch16_224, vit_base_patch16_224 |
| # Change to vit_base_patch8_224() if you want to use our larger model |
| model = vit_small_patch16_224() |
| path_to_checkpoint = "<your path to downloaded ckpt>" |
| state_dict = torch.load(path_to_checkpoint, map_location='cpu') |
| model.load_state_dict(state_dict, strict=False) |
| ``` |
|
|
| **Note:** In case you want to directly load the weights of the model from a hugging face url, please execute: |
| ```python |
| import torch |
| state_dict = torch.hub.load_state_dict_from_url("<url to the hugging face checkpoint>") |
| ``` |
|
|
| ## Training Details |
|
|
| ### Training Data |
|
|
| * We have post-trained our models on the **COCO Dataset**. |
|
|
| ### Training Procedure |
|
|
| Please look our repository and read our paper for more details. |
|
|
| ## Environmental Impact |
| - **Hardware Type:** NVIDIA A100 GPU |
| - **Hours used:** 18 (per model) |
| - **Cloud Provider:** Helma NHR FAU (Germany), (Snellius The Netherlands) |
| - **Compute Region:** Europe/Germany & Netherlands |
|
|
| ## Citation |
|
|
| **BibTeX:** |
| ``` |
| @inproceedings{ |
| pariza2025near, |
| title={Near, far: Patch-ordering enhances vision foundation models' scene understanding}, |
| author={Valentinos Pariza and Mohammadreza Salehi and Gertjan J. Burghouts and Francesco Locatello and Yuki M Asano}, |
| booktitle={The Thirteenth International Conference on Learning Representations}, |
| year={2025}, |
| url={https://openreview.net/forum?id=Qro97zWC29} |
| } |
| |
| ``` |
|
|
| <!-- **APA:** --> |
|
|
| <!-- [More Information Needed] --> |
|
|
| <!-- ## Glossary [optional] --> |
|
|
| <!-- If relevant, include terms and calculations in this section that can help readers understand the model or model card. --> |
|
|
| <!-- [More Information Needed] |
|
|
| ## More Information [optional] |
|
|
| [More Information Needed] |
|
|
| ## Model Card Authors [optional] |
|
|
| [More Information Needed] |
|
|
| ## Model Card Contact |
|
|
| [More Information Needed] --> |