/ Модель

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

Лицензия
MIT
Библиотека
py-feat
Опубликована
25 июл 2024

retinaface

Эмбеддинги изображенийИзображение → embedding3 профессии

RetinaFace обнаруживает лица на изображениях и возвращает их рамки, оценки уверенности и десять лицевых ориентиров.

80скачиваний за 30 дней7лайковвеса обновлены2 сен 2024

Бенчмарки

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

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

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

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

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

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

RetinaFace — модель компьютерного зрения на основе свёрточной нейронной сети, реализованная на PyTorch в проекте Py-Feat на основе реализации biubug6. В указанной конфигурации используется backbone MobileNet 0.25 с 1,7 млн параметров; RetinaFace также может работать с backbone ResNet-50, требующим больше вычислений.

Модель предназначена для обнаружения лиц на изображениях. Для каждого найденного лица она возвращает координаты ограничивающей рамки, оценку уверенности и координаты десяти ключевых точек лица. Модель оценивалась на наборе WIDER FACE.

Модель принимает изображения и выдаёт разметку обнаруженных лиц и ориентиры лица. Репозиторий содержит веса PyTorch; лицензия — MIT.

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

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

Ограничения

Описание не приводит количественных метрик качества; вариант с ResNet-50 требует дополнительных вычислительных ресурсов.

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

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

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

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

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

Открыть на Hugging Face

Retinaface

Model Description

This is a PyTorch implementation of [RetinaFace: Single-stage Dense Face Localisation in the Wild](RetinaFace: Single-stage Dense Face Localisation in the Wild) based on biubug6's implementation. The Retinaface model utilizes a deep convolutional neural network architecture with multiple layers. It uses mobilenet0.25 as the backbone network (only 1.7M parameters) but can also use resnet50 as the backbone to achieve better results, but with additional computational overhead. This model returns bounding box locations of each detected face, confidence scores in the face detection, as well as 10 facial landmark keystones.

Model Details:

  • Model Type: Convolutional Neural Network (Mobilenet backbone)
  • Framework: pytorch

Model Sources

Model Architecture

Evaluation Results

The model was evaluated on the WIDER FACE dataset see the benchmark results in biubug6 repository

Citation

If you use the Retinaface model in your research or application, please cite the following paper:

@misc{deng2019retinafacesinglestagedenseface,
      title={RetinaFace: Single-stage Dense Face Localisation in the Wild}, 
      author={Jiankang Deng and Jia Guo and Yuxiang Zhou and Jinke Yu and Irene Kotsia and Stefanos Zafeiriou},
      year={2019},
      eprint={1905.00641},
      archivePrefix={arXiv},
      primaryClass={cs.CV},
      url={https://arxiv.org/abs/1905.00641}
}

Example Useage

import os
import torch
import json
from PIL import Image
from huggingface_hub import hf_hub_download
from feat.face_detectors.Retinaface.Retinaface_model import RetinaFace, postprocess_retinaface
from feat.utils.io import get_resource_path, get_test_data_path
from feat.utils.image_operations import convert_image_to_tensor, convert_color_vector_to_tensor

device = 'cpu'

# Download Model Weights and Config File
face_config_file = hf_hub_download(
    repo_id="py-feat/retinaface",
    filename="config.json",
    cache_dir=get_resource_path(),
)
with open(face_config_file, "r") as f:
    face_config = json.load(f)
    
face_model_file = hf_hub_download(repo_id='py-feat/retinaface', 
                                      filename="mobilenet0.25_Final.pth",
                                      cache_dir=get_resource_path())
face_checkpoint = torch.load(face_model_file, map_location=device, weights_only=True)
face_detector = RetinaFace(cfg=face_config, phase="test")                
face_detector.load_state_dict(face_checkpoint)
face_detector.eval()
face_detector.to(device)

# Run Inference
frame = Image.open(os.path.join(get_test_data_path(), "multi_face.jpg"))
single_frame = torch.sub(frame, convert_color_vector_to_tensor(np.array([123, 117, 104])))
predicted_locations, predicted_scores, predicted_landmarks = face_detector.forward(single_frame.to(device))
face_output = postprocess_retinaface(predicted_locations, predicted_scores, predicted_landmarks, face_config, single_frame, device=device)


Acknowledgements

We thank the contributors and the open-source community for their valuable support in developing this model. Special thanks to the authors of the original Retinaface paper, the WIDER FACE dataset, and biubug6 for sharing weights and code.

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

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

GPU в ailist

Универсальный рантайм · py-feat · image-feature-extraction

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

Архитектура ? неизвестна transformers в образе рантайма.

Ревизия весов
3170238

0 моделей