/ Модель

Характеристики

Опубликована
5 июн 2024

cvlface_adaface_ir50_webface4m

ЭмбеддингиТекст → embedding3 профессии

Предварительно обученная модель CVLFace извлекает признаки лица для задач распознавания и сравнения лиц.

253скачиваний за 30 дней4лайкавеса обновлены17 июл 2025

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

ADAFACE IR50 WEBFACE4M — предварительно обученная модель распознавания лиц из набора CVLFace, опубликованная minchul. Она основана на архитектуре IR50 и обучена на наборе WebFace4M; в карточке указана связь с работой AdaFace о распознавании лиц с адаптивным отступом, учитывающим качество изображения. Модель предназначена для извлечения признаков лица, которые можно использовать для сравнения лиц и построения систем распознавания или верификации.

Модель представлена в формате safetensors и доступна через Transformers. Карточка просит цитировать исходную работу и соблюдать лицензию обучающего набора данных. Подробные сведения о размере входа, метриках качества и условиях лицензирования самих весов в предоставленных материалах не описаны.

Сценарии применения

  • извлечение признаков лица из фотографии
  • сравнение двух лиц для верификации личности
  • поиск совпадающего лица в галерее изображений
  • построение системы распознавания лиц

Ограничения

В предоставленных материалах нет метрик качества и подробностей об условиях использования весов. При использовании необходимо соблюдать лицензию обучающего набора WebFace4M.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

1. Introduction

Model Name: ADAFACE IR50 WEBFACE4M

Related Paper: AdaFace: Quality Adaptive Margin for Face Recognition (https://arxiv.org/abs/2204.00964)

Please cite the orignal paper and follow the license of the training dataset.

2. Quick Start

from transformers import AutoModel
from huggingface_hub import hf_hub_download
import shutil
import os
import torch
import sys


# helpfer function to download huggingface repo and use model
def download(repo_id, path, HF_TOKEN=None):
    os.makedirs(path, exist_ok=True)
    files_path = os.path.join(path, 'files.txt')
    if not os.path.exists(files_path):
        hf_hub_download(repo_id, 'files.txt', token=HF_TOKEN, local_dir=path, local_dir_use_symlinks=False)
    with open(os.path.join(path, 'files.txt'), 'r') as f:
        files = f.read().split('\n')
    for file in [f for f in files if f] + ['config.json', 'wrapper.py', 'model.safetensors']:
        full_path = os.path.join(path, file)
        if not os.path.exists(full_path):
            hf_hub_download(repo_id, file, token=HF_TOKEN, local_dir=path, local_dir_use_symlinks=False)

            
# helpfer function to download huggingface repo and use model
def load_model_from_local_path(path, HF_TOKEN=None):
    cwd = os.getcwd()
    os.chdir(path)
    sys.path.insert(0, path)
    model = AutoModel.from_pretrained(path, trust_remote_code=True, token=HF_TOKEN)
    os.chdir(cwd)
    sys.path.pop(0)
    return model


# helpfer function to download huggingface repo and use model
def load_model_by_repo_id(repo_id, save_path, HF_TOKEN=None, force_download=False):
    if force_download:
        if os.path.exists(save_path):
            shutil.rmtree(save_path)
    download(repo_id, save_path, HF_TOKEN)
    return load_model_from_local_path(save_path, HF_TOKEN)


if __name__ == '__main__':
    
    HF_TOKEN = 'YOUR_HUGGINGFACE_TOKEN'
    path = os.path.expanduser('~/.cvlface_cache/minchul/cvlface_adaface_ir50_webface4m')
    repo_id = 'minchul/cvlface_adaface_ir50_webface4m'
    model = load_model_by_repo_id(repo_id, path, HF_TOKEN)

    # input is a rgb image normalized.
    from torchvision.transforms import Compose, ToTensor, Normalize
    from PIL import Image
    img = Image.open('path/to/image.jpg')
    trans = Compose([ToTensor(), Normalize(mean=[0.5, 0.5, 0.5], std=[0.5, 0.5, 0.5])])
    input = trans(img).unsqueeze(0)  # torch.randn(1, 3, 112, 112)
    out = model(input)

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм

Нельзя запустить

Модели нужен код из репозитория; автор пока не в списке доверенных организаций.

Класс архитектуры
CVLFaceRecognitionModel
Ревизия весов
60a65be

0 моделей