/ Модель

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

Лицензия
MIT
Опубликована
5 мар 2026

Pressure_sore_classifier_YOLO

Классификация изображенийИзображение → label

Набор YOLO-классификаторов для выявления пролежней на фотографиях и определения их стадии от I до IV.

38скачиваний за 30 дней0лайковвеса обновлены5 мар 2026

Бенчмарки

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

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

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

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

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

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

MrCzaro/Pressure_sore_classifier_YOLO — набор весов классификации изображений на базе YOLO, предназначенный для двухэтапного выявления пролежней по клиническим фотографиям и определения их стадии. На первом этапе ансамбль из YOLO11s, YOLOv8x и YOLO26x определяет наличие пролежня; если он обнаружен, второй ансамбль из YOLOv8n, YOLO26m и YOLOv8x относит его к стадии I–IV. Вероятности моделей усредняются. Репозиторий содержит веса PyTorch; проектный код, обучающие блокноты и веб-приложение опубликованы отдельно.

Модель предназначена для классификации медицинских изображений и исследовательских или учебных сценариев оценки пролежней. В карточке приведены метрики на использованной авторами оценке: ансамбль второго этапа имеет Macro F1 0,8514; приведённые результаты сами по себе не подтверждают качество на других наборах данных. Поддерживаемый язык карточки — английский. Лицензия — MIT.

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

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

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

Ограничения

Модель не является медицинским изделием, не сертифицирована для клинической диагностики и не валидирована в клинических испытаниях; результаты на других данных могут отличаться. Она не заменяет оценку медицинского специалиста.

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

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

Открыть на Hugging Face

Pressure Sore Classifier — YOLO 2-Stage Weights

Python Ultralytics License

Six YOLO classification weights for a 2-stage cascade pipeline that detects and stages pressure sores from clinical photographs. Stage 1 determines whether a pressure sore is present; Stage 2 classifies its severity (Stage I–IV).

Full project code, training notebooks, and web application:
👉 github.com/MrCzaro/PS_Classifier

For the 3-level hierarchical cascade variant (8 models, binary decisions at every level):
👉 MrCzaro/Pressure_sore_cascade_classifier_YOLO


Medical Context

Pressure sores are staged I–IV based on tissue damage depth:

StageDefinitionKey Visual Feature
INon-blanchable erythema, intact skinRedness, no open wound
IIPartial-thickness skin loss, exposed dermisShallow open ulcer or blister
IIIFull-thickness skin loss, fat visibleDeep crater, no exposed bone/tendon
IVFull-thickness tissue loss, muscle/bone exposedExposed deep structures, eschar/slough

Pipeline

Image
  │
  ▼
[Stage 1]  Binary Detection — PS vs No-PS
           3-model ensemble: YOLO11s + YOLOv8x + YOLO26x
  │ NO  → "No pressure sore detected"
  │ YES ↓
[Stage 2]  Multiclass Staging — Stage I / II / III / IV
           3-model ensemble: YOLOv8n + YOLO26m + YOLOv8x

Both stages use averaged softmax probabilities across three architecturally distinct YOLO families (v8, YOLO11, YOLO26) for robustness.


Files

FileStageTaskAccuracyAUC-ROC
Binary_YOLOv8x.ptS1PS vs No-PS1.00000.9998
Binary_YOLOv11s.ptS1PS vs No-PS1.00001.0000
Binary_YOLOv26x.ptS1PS vs No-PS1.00001.0000
Multiclass_YOLOv8n.ptS2Stage I–IV0.85710.9486 (macro OvR)
Multiclass_YOLOv8x.ptS2Stage I–IV0.85710.9306 (macro OvR)
Multiclass_YOLOv26m.ptS2Stage I–IV0.85710.9247 (macro OvR)

Performance

Stage 1 — Binary Detection (3-Model Ensemble)

ModelAccuracyMacro F1AUC-ROC
YOLO11s1.00001.00000.9998
YOLOv8x1.00001.00001.0000
YOLO26x1.00001.00001.0000
Ensemble1.00001.0000—

Stage 2 — Multiclass Staging (3-Model Ensemble)

ModelAccuracyMacro F1Macro AUC-ROC (OvR)
YOLOv8n0.85710.85000.9486
YOLO26m0.85710.85420.9306
YOLOv8x0.85710.85010.9247
Ensemble0.85710.8514—

Per-Class AUC-ROC (Stage 2)

StageYOLOv8nYOLO26mYOLOv8x
Stage I0.99130.97120.9934
Stage II0.94550.92610.9268
Stage III0.88520.88660.8450
Stage IV0.97230.93860.9337

The 3-model staging ensemble achieves 0.8514 Macro F1 — a significant improvement over the flat Torchvision staging baseline (0.74 Macro F1) used in Backend 1 of the same project.

Model Selection Rationale

Stage 1 — all three models achieve perfect or near-perfect accuracy and AUC; the three were chosen from different YOLO families (v8, YOLO11, YOLO26) to maximise ensemble diversity.

Stage 2 — selected by Macro AUC-ROC as primary criterion (threshold-independent, treats all 4 classes equally) with Macro F1 as tiebreaker:

PickModelReason
1YOLOv8nBest AUC+F1 balance, strongest Stage IV AUC (0.9723)
2YOLO26mBest Macro F1 overall, best Stage III AUC among YOLO26 models, architecture diversity
3YOLOv8xThird AUC, strong Stage I AUC (0.9934), large v8 model

Installation & Usage

1. Install dependencies

pip install ultralytics huggingface_hub

2. Download weights

Option A — clone the full repo

git lfs install
git clone https://huggingface.co/MrCzaro/Pressure_sore_classifier_YOLO

Option B — download individual files

from huggingface_hub import hf_hub_download

path = hf_hub_download(
    repo_id="MrCzaro/Pressure_sore_classifier_YOLO",
    filename="Binary_YOLOv8x.pt"
)

3. Wire weights into the application

git clone https://github.com/MrCzaro/PS_Classifier
cd PS_Classifier
pip install -r requirements.txt

Update path constants in ps_classifier_yolo.py:

BINARY_MODEL_PATHS = [
    "models/yolo/Binary_YOLOv8x.pt",
    "models/yolo/Binary_YOLOv11s.pt",
    "models/yolo/Binary_YOLOv26x.pt"
]
STAGE_MODEL_PATHS = [
    "models/yolo/Multiclass_YOLOv8n.pt",
    "models/yolo/Multiclass_YOLOv8x.pt",
    "models/yolo/Multiclass_YOLOv26m.pt"
]

Then run and select YOLO from the backend dropdown:

python main.py
# Open http://localhost:5001

4. Standalone inference script

from huggingface_hub import hf_hub_download
from ultralytics import YOLO
import numpy as np
from PIL import Image

REPO = "MrCzaro/Pressure_sore_classifier_YOLO"

BINARY_MODEL_PATHS = [
    "models/yolo/Binary_YOLOv8x.pt",
    "models/yolo/Binary_YOLOv11s.pt",
    "models/yolo/Binary_YOLOv26x.pt"
]
STAGE_MODEL_PATHS = [
    "models/yolo/Multiclass_YOLOv8n.pt",
    "models/yolo/Multiclass_YOLOv8x.pt",
    "models/yolo/Multiclass_YOLOv26m.pt"
]

def ensemble_predict(model_paths, img):
    all_probs, names = [], None
    for p in model_paths:
        model  = YOLO(p)
        result = model(img, verbose=False)[0]
        all_probs.append(result.probs.data.cpu().numpy())
        if names is None:
            names = result.names
    avg = np.mean(all_probs, axis=0)
    idx = int(np.argmax(avg))
    return idx, names[idx], float(avg[idx])

img = Image.open("your_image.jpg").convert("RGB")

# Stage 1 — binary detection
_, label, conf = ensemble_predict(BINARY_MODEL_PATHS, img)

if "not" in label.lower():
    print(f"No pressure sore detected ({conf:.2f})")
else:
    # Stage 2 — multiclass staging
    _, stage, stage_conf = ensemble_predict(STAGE_MODEL_PATHS, img)
    print(f"Pressure sore detected ({conf:.2f})")
    print(f"Stage: {stage} ({stage_conf:.2f})")

⚠️ Medical Disclaimer

This model is provided for research and educational purposes only.

  • ❌ NOT a medical device
  • ❌ NOT certified for clinical diagnosis
  • ❌ NOT a substitute for professional medical judgment
  • ❌ NOT validated in clinical trials

Always consult licensed healthcare professionals for medical diagnosis and treatment.


Contact

Author: MrCzaro
GitHub: @MrCzaro
Project: PS_Classifier
Email: cezary.tubacki@gmail.com
License: MIT

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

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

GPU в ailist

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

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

Модели Ultralytics YOLO требуют отдельного рантайма.

Ревизия весов
41a3481

0 моделей