/ Модель

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

Параметры
403 млн
Лицензия
Apache 2.0
Архитектура
vit · dense
Опубликована
7 апр 2025

vit-large-patch32-384-finetuned-skin-lesion-classification

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

ViT-модель для классификации изображений кожных поражений по 12 классам в исследовательских и дерматологических сценариях поддержки решений.

148скачиваний за 30 дней3лайкавеса обновлены8 апр 2025

Бенчмарки

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

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

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

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

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

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

Это модель классификации изображений на основе Vision Transformer (ViT), разработанная автором репозитория и дообученная на задаче распознавания кожных поражений. Она использует входные изображения размером 384×384 пикселя и классификатор на 12 классов: среди них меланома, невус, базальноклеточная карцинома, актинический кератоз, сосудистое поражение и чистая кожа. В метаданных указаны 402,7 млн параметров и формат safetensors; лицензия — Apache-2.0.

Модель предназначена для исследовательской классификации кожных поражений и поддержки принятия решений в дерматологии. В README описано обучение примерно на 70 тысячах реальных и синтетических изображений с использованием переноса признаков из модели для выявления меланомы. Карточка приводит результаты по отдельным классам, но не даёт достаточных оснований судить о клинической надёжности во всех условиях.

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

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

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

Ограничения

Возможны смещение обучающих данных и недостаточная представленность редких классов; качество может меняться в зависимости от условий съёмки и устройства. Модель предназначена для исследовательской поддержки решений и не заменяет клиническую диагностику.

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

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

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

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

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

Открыть на Hugging Face

vit-large-patch32-384-finetuned-skin-lesion-classification

Vision Transformer model fine-tuned for skin lesion classification across 12 classes. This model builds on the pre-trained ViT (originally trained on ImageNet-21k and fine-tuned on ImageNet-2012) and adapts a checkpoint initially focused on melanoma detection (UnipaPolitoUnimore/vit-large-patch32-384-melanoma).


Model Description

  • Architecture: Vision Transformer (ViT) that processes images as fixed-size patches (specifically 384x384 pixels).
  • Modifications:
    • Replaced the original melanoma model's three-class head with a new linear classifier for 12 classes.
    • Classes: actinic keratosis, basal cell carcinoma, clear skin, dermatofibroma, melanoma, melanoma metastasis, nevus, random, seborrheic keratosis, solar lentigo, squamous cell carcinoma, and vascular lesion.
  • Feature Extractor: Leverages pretrained skin lesion features for transfer learning.

Intended Uses & Limitations

  • Intended Uses:
    • Automated skin lesion classification for research and decision support in dermatology.
  • Limitations:
    • Data bias may persist despite augmentation. Training would benefit from more data, especially for rare classes.
    • Performance may vary across imaging conditions or devices.

Training and Evaluation

  • Training Data:
    • Approximately 70k images assembled via real and high-quality synthetic data, with improved class balance.
  • Training Setup:
    • Optimizer: AdamW (default settings) with learning rate 2e-05.
    • Epochs: 3
    • Batch sizes: 8 (train) / 16 (eval)
  • Evaluation Results:

Validation Set Performance

ClassPrecisionRecallF1-ScoreSupport
Actinic Keratosis0.740.770.76163
Basal Cell Carcinoma0.900.860.88551
Clear Skin1.001.001.0013
Dermatofibroma0.850.680.7625
Melanoma0.930.810.87600
Melanoma Metastasis0.850.770.8195
Nevus0.840.960.90847
Random1.001.001.0052
Seborrheic Keratosis0.740.770.75190
Solar Lentigo0.710.640.6842
Squamous Cell Carcinoma0.870.710.7884
Vascular Lesion0.920.520.6723
Accuracy0.862685
Macro Avg0.860.790.822685
Weighted Avg0.860.860.862685

Test Set Performance

ClassPrecisionRecallF1-ScoreSupport
Actinic Keratosis0.810.800.81164
Basal Cell Carcinoma0.860.930.89552
Dermatofibroma0.950.770.8526
Melanoma0.880.890.89601
Melanoma Metastasis0.960.730.8395
Nevus0.910.930.92848
Seborrheic Keratosis0.810.760.79191
Solar Lentigo0.820.630.7143
Squamous Cell Carcinoma0.910.740.8284
Vascular Lesion1.000.830.9023
Accuracy0.882627
Macro Avg0.890.800.842627
Weighted Avg0.880.880.882627

Confusion Matrix

The confusion matrices for both validation and test sets have been generated to provide insight into per-class performance. They are available as PNG files:

  • Validation Confusion Matrix:
    Validation Confusion Matrix

  • Test Confusion Matrix:
    Test Confusion Matrix


How to Use

Example inference code:

from transformers import ViTImageProcessor, ViTForImageClassification
from PIL import Image
import torch

# Load model and processor
model_id = "path_or_repo_identifier_for_your_model"
processor = ViTImageProcessor.from_pretrained(model_id)
model = ViTForImageClassification.from_pretrained(model_id)

# Set device
device = torch.device("cuda" if torch.cuda.is_available() else "mps" if torch.backends.mps.is_available() else "cpu")
model = model.to(device)
model.eval()

# Load and process image
image_path = "path/to/skin_lesion_image.jpg"
image = Image.open(image_path).convert("RGB")
inputs = processor(images=image, return_tensors="pt").to(device)

# Make prediction
with torch.no_grad():
    outputs = model(**inputs)

# Get prediction results
logits = outputs.logits
probabilities = torch.nn.functional.softmax(logits, dim=1)[0]
predicted_class_idx = torch.argmax(probabilities).item()
predicted_class = model.config.id2label[predicted_class_idx]
confidence = probabilities[predicted_class_idx].item()

print(f"Predicted class: {predicted_class}")
print(f"Confidence: {confidence:.2%}")

Citation

If you use this model, please cite the original ViT paper:

@misc{dosovitskiy2020image,
  title={An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale},
  author={Dosovitskiy, Alexey and et al.},
  year={2020},
  eprint={2010.11929},
  archivePrefix={arXiv},
  primaryClass={cs.CV}
}

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

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

GPU в ailist

Универсальный рантайм · image-classification

Можно запустить

Подбираем GPU…

Класс архитектуры
ViTForImageClassification
Ревизия весов
1b78d5e

0 моделей