https://github.com/bytedance/lvface
π₯ [ICCV 2025 Highlight] Official open-source repo for LVFace: Progressive Cluster Optimization for Large Vision Models in Face Recognition
Science Score: 36.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
βCITATION.cff file
-
βcodemeta.json file
Found codemeta.json file -
β.zenodo.json file
Found .zenodo.json file -
βDOI references
-
βAcademic publication links
Links to: arxiv.org -
βAcademic email domains
-
βInstitutional organization owner
-
βJOSS paper metadata
-
βScientific vocabulary similarity
Low similarity (12.2%) to scientific vocabulary
Repository
π₯ [ICCV 2025 Highlight] Official open-source repo for LVFace: Progressive Cluster Optimization for Large Vision Models in Face Recognition
Basic Info
Statistics
- Stars: 13
- Watchers: 0
- Forks: 3
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
[ICCV 2025 Highlight] LVFace: Progressive Cluster Optimization for Large Vision Models in Face Recognition
If you like LVFace, please give us a star β on GitHub for the latest update.
News
- π₯π₯π₯ We have released the training weights of LVFace. Please click here to download it. (August, 2025 UTC)
- πππ LVFace has been recommended as ICCV Highlight. (July, 2025 UTC)
- πππ LVFace is accepted by ICCV 2025. (July, 2025 UTC)
- π₯π₯π₯ We have updated the arXiv report of LVFace. Please click here to view it. (March, 2025 UTC)
- πππ LVFace secured 1st place in the ICCV 2021 Masked Face Recognition (MFR)-Ongoing Challenge (academic track). (December, 2024 UTC)
Requirements
All required dependencies are listed in requirements.txt:
txt
onnxruntime-gpu==1.19.2
torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
scikit-image
insightface
numpy==1.23
Install all dependencies with a single command: pip install -r requirements.txt
Datasets
Test datasets for inference validation can be downloaded from the following sources:
- IJB-C & IJB-B: Google Drive
- MFR-Ongoing: Challenge Page
LVFace Pretrained Models
Pretrained model weights for inference are available below in both ONNX and PyTorch (.pt) formats:
| Training Data | Model | IJB-C(1e-6) | IJB-C(1e-5) | IJB-C(1e-4) | IJB-B(1e-4) | Download | |---------------|---------------|-------------|-------------|-------------|-------------|---------------| | Glint360K | LVFace-T | 88.53 | 95.63 | 96.67 | 95.41 | HuggingFace | | Glint360K | LVFace-S | 90.06 | 96.52 | 97.31 | 96.14 | HuggingFace | | Glint360K | LVFace-B | 90.06 | 97.00 | 97.70 | 96.51 | HuggingFace | | Glint360K | LVFace-L | 89.51 | 97.02 | 97.66 | 96.51 | HuggingFace | | WebFace42M | LVFace-B | - | - | - | - | come soon |
Step-by-Step Usage Guide
1. Installation & Environment Setup
First, clone the repository and navigate to the project directory: ```bash # Clone the LVFace repository git clone https://github.com/bytedance/LVFace.git
# Enter the project directory cd LVFace ```
Then install all required dependencies using the provided requirements.txt:
bash
# Install dependencies
pip install -r requirements.txt
2. Download Pretrained Models
Download the ONNX-format pretrained weights from the LVFace Pretrained Models section, then place them in a directory (e.g., ./LVFace_model/).
3. Run Inference
Execute the inference_onnx.py script to perform feature extraction and similarity calculation. A complete workflow example:
```python
## Initialize the inferencer from inferenceonnx.py
inferencer = LVFaceONNXInferencer(
modelpath="./models/vitbdp005mask005.onnx", # Path to your ONNX model
use_gpu=True # Set to False for CPU-only inference
)
## Extract feature from local image feat1 = inferencer.inferfromimage("path/to/image1.jpg")
## Extract feature from URL feat2 = inferencer.inferfromurl("https://example.com/image1.jpg")
## Calculate cosine similarity
similarity = inferencer.calculatesimilarity(feat1, feat2)
print(f"Similarity score: {similarity:.6f}") # Output example: 0.892345
``
**Note**: TheLVFaceONNXInferencerclass is defined ininferenceonnx.py`, which handles ONNX model loading, image preprocessing, feature extraction, and similarity calculation in a unified interface. Ensure the model path and image paths are correctly specified before running.
Model Evaluation
Evaluation Steps
1. Modify the test dataset path (e.g., IJB-C, IJB-B) in the corresponding evaluation script (eval_ijbc.py).
- Run the evaluation with pretrained model weights using the commands below:
Evaluation Commands
bash
python eval_ijbc.py \
--model-prefix path/to/LVFace-B_Glint360K.pt \
--result-dir results \
--network vit_b_dp005_mask_005 > LVFace-B_Glint360K.log 2>&1 &
License
The code of LVFace is released under the MIT License. There is no limitation for both academic and commercial usage.
The models downloaded from our repo follow the above license policy (which is for non-commercial research purposes only).
Citation
If you find this work useful, please cite our paper and give us a star β:
bibtex
@inproceedings{you2025lvface,
title={{LVFace}: Progressive Cluster Optimization for Large Vision Models in Face Recognition},
author={You, Jinghan and Li, Shanglin and Sun, Yuanrui and Wei, Jiangchuan and Guo, Mingyu and Feng, Chao and Ran, Jiao},
booktitle={ICCV},
year={2025}
}
Acknowledgments
We sincerely thank Professor Jiankang Deng for his valuable guidance and insights throughout the research.
We also appreciate the InsightFace for their excellent and research support.
Owner
- Name: Bytedance Inc.
- Login: bytedance
- Kind: organization
- Location: Singapore
- Website: https://opensource.bytedance.com
- Twitter: ByteDanceOSS
- Repositories: 255
- Profile: https://github.com/bytedance
GitHub Events
Total
- Watch event: 19
- Issue comment event: 1
- Push event: 1
- Pull request event: 1
- Fork event: 4
Last Year
- Watch event: 19
- Issue comment event: 1
- Push event: 1
- Pull request event: 1
- Fork event: 4
Dependencies
- insightface *
- numpy ==1.23
- onnxruntime-gpu ==1.19.2
- scikit-image *