/ Модель

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

Лицензия
AGPL 3.0
Архитектура
cerberus_v8x · dense
Библиотека
cerberus-det
Опубликована
13 янв 2026

cerberusdet-yolov8x-voc-o365-animals-tableware

Поиск объектовИзображение → bounding_boxes3 профессии

Модель CerberusDet на базе YOLOv8x обнаруживает объекты PASCAL VOC, животных и столовую посуду на изображениях.

18скачиваний за 30 дней7лайковвеса обновлены27 фев 2026

Бенчмарки

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

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

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

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

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

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

CerberusDet — модель обнаружения объектов на основе YOLOv8x, разработанная авторами семейства CerberusDet. Этот чекпойнт обучен совместно на PASCAL VOC 2007/2012 и подмножествах животных и столовой посуды из Objects365. Архитектура использует общие backbone и neck с отдельными головами для задач датасетов; модель содержит 142 млн параметров, принимает изображения размером 640×640 и поддерживает инференс в FP16. Репозиторий распространяет веса в формате safetensors, а для работы указана библиотека CerberusDet.

Модель предназначена для локализации и классификации объектов на изображениях: объектов классов PASCAL VOC, животных и столовой посуды. В README приведены метрики mAP@0.5 от 0,54 до 0,93 в зависимости от набора данных и скорость 10 мс на NVIDIA V100 при FP16 и batch 32. Эти показатели относятся к указанным наборам и условиям; качество на других классах и изображениях не описано. Лицензия — AGPL-3.0.

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

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

Ограничения

Метрики приведены только для PASCAL VOC и указанных подмножеств Objects365, поэтому качество на других классах и данных не установлено. Указанная скорость измерена на NVIDIA V100 в FP16 при batch 32 и может отличаться на другом оборудовании.

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

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

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

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

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

Открыть на Hugging Face

CerberusDet (VOC + Objects365 Animals + Tableware)

CerberusDet is a unified multi-dataset object detection framework based on the YOLO architecture. This specific model checkpoint was trained simultaneously on three datasets: PASCAL VOC, Objects365 (Animals subset), and Objects365 (Tableware subset).

It proves that adding new tasks/datasets has minimal negative impact on existing ones, while significantly improving efficiency compared to separate models.

Model Details

  • Architecture: Multi-headed YOLOv8x (shared backbone/neck, separate heads)
  • Task: Object Detection
  • Training Datasets: PASCAL VOC (2007+2012), Objects365 (Animals subset), Objects365 (Tableware subset)
  • Input Resolution: 640x640
  • Precision: FP16 (Inference)
  • Params: 142M
  • FLOPs(B): 505.1

Performance

DatasetmAP@0.5mAP@0.5:0.95
PASCAL VOC 20070.930.76
Objects365 Animals0.540.42
Objects365 Tableware0.680.56

Inference Speed: 10 ms on NVIDIA V100 (FP16, batch 32). This is ~36% faster than running three separate YOLOv8 models sequentially (approx. 16.8 ms).

Usage

Installation

Requirements:

  • python3.10
  • CerberusDet
  • transformers==4.50.0
  • accelerate==1.8.1

Use with transformers (with trust_remote_code=True)

pip install huggingface_hub git+https://github.com/ai-forever/CerberusDet transformers==4.50.0 accelerate==1.8.1
from transformers import AutoImageProcessor, AutoConfig, AutoModel
import cv2
import torch

model_name = "iitolstykh/cerberusdet-yolov8x-voc-o365-animals-tableware"
device = torch.device("cpu") if not torch.cuda.is_available() else torch.device("cuda:0")
torch_dtype = torch.float16 if torch.cuda.is_available() else torch.float32

config = AutoConfig.from_pretrained(model_name, trust_remote_code=True)
cerberus_model = AutoModel.from_pretrained(
    model_name, trust_remote_code=True, config=config, torch_dtype=torch_dtype,
).to(device)

image_processor = AutoImageProcessor.from_pretrained(
    model_name, trust_remote_code=True, half=cerberus_model.half, stride=config.stride,
)

image = cv2.imread(img_path)  # BGR
inputs = image_processor(images=[image], device=device)

# inference
output = cerberus_model(**inputs, return_dict=True)

# print results
batch_size = len(output.boxes)
for i in range(batch_size):
    print(f"\n--- Results for Image {i} ---")
    boxes, scores, labels, task_indices = output.boxes[i], output.scores[i], output.labels[i], output.tasks_ids[i]

    for j in range(len(scores)):
        score, label_id, task_idx = scores[j].item(), int(labels[j].item()), int(task_indices[j].item())

        class_name = config.all_class_names[label_id]
        task_name = config.task_ids[task_idx]
        box = boxes[j].tolist()  # [x1, y1, x2, y2]

        print(f"Object {j}:")
        print(f"  • Class: {class_name} (ID: {label_id})")
        print(f"  • Task:  {task_name}")
        print(f"  • Conf:  {score:.4f}")
        print(f"  • Box:   {box}")

Use with CerberusDet

pip install git+https://github.com/ai-forever/CerberusDet
import cv2
from cerberusdet.cerberusdet_inference import CerberusDetInference, CerberusVisualizer
from cerberusdet.cerberusdet_preprocessor import CerberusPreprocessor

from huggingface_hub import hf_hub_download
import torch

# 1. Download model weights
model_path = hf_hub_download(
    repo_id="iitolstykh/cerberusdet-yolov8x-voc-o365-animals-tableware",
    filename="voc_obj365_animals_tableware_bs_best.pt",
    repo_type="model"
)
device = 'cuda:0'

inferencer = CerberusDetInference(
    weights=model_path,
    device=device,
    conf_thres=0.3,
    iou_thres=0.45,
    half=True
)

# Note: Pass the model's stride to the preprocessor
preprocessor = CerberusPreprocessor(
    img_size=640,
    stride=inferencer.stride,
    half=inferencer.half,
    auto=True
)

visualizer = CerberusVisualizer(line_thickness=2, text_scale=0.5)

# 3. Load images
# The preprocessor expects a list of numpy arrays (BGR)
images = [cv2.imread(img_path)]
original_shapes = [img.shape[:2] for img in images]

# 4. Run inference
img_tensor = preprocessor.preprocess(images, device=inferencer.device)
detections = inferencer.predict(img_tensor, original_shape=original_shapes)

# Visualization
res_image = visualizer.draw_detections(
    images[0],
    detections[0],
    hide_task=False,  # Show task name (VOC, O365, etc.)
    hide_conf=False   # Show confidence score
)

# 5. Output / Save results
print(f"Found objects: {len(detections[0])}")
for det in detections[0]:
    print(f"{det['label_name']} ({det['score']:.2f}) - Task: {det['task']}")

cv2.imshow("CerberusDet Result", res_image)
cv2.imwrite("result.jpg", res_image)

cv2.waitKey(0)
cv2.destroyAllWindows()

Citation

If you use this model in your research, please cite our paper:

@article{cerberusdet,
   Author = {Irina Tolstykh,Michael Chernyshov,Maksim Kuprashevich},
   Title = {CerberusDet: Unified Multi-Dataset Object Detection},
   Year = {2024},
   Eprint = {arXiv:2407.12632},
}

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

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

GPU в ailist

Универсальный рантайм · cerberus-det · object-detection

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

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

Класс архитектуры
CerberusDetForObjectDetection
Ревизия весов
62f66c6

0 моделей