/ Модель

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

Лицензия
MIT
Библиотека
timm
Опубликована
16 янв 2026

oct-retinal-classifier

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

Классификатор на EfficientNet-B3 определяет четыре состояния сетчатки по OCT-снимку и может визуализировать области, повлиявшие на предсказание.

247скачиваний за 30 дней1лайквеса обновлены16 янв 2026

Бенчмарки

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

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

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

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

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

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

Классификатор томограмм сетчатки глаза, опубликованный пользователем tomalmog. Модель построена на EfficientNet-B3 с классификационной головой и обучена на наборе Kermany2018. На вход принимает цветное изображение OCT размером 224×224 пикселя, на выходе выдаёт распределение вероятностей по четырём классам: хориоидальная неоваскуляризация (CNV), диабетический макулярный отёк (DME), друзены, связанные с ранней возрастной макулярной дегенерацией, и здоровая сетчатка.

Модель предназначена для классификации заболеваний сетчатки по OCT-снимкам и визуализации областей, повлиявших на предсказание, с помощью Grad-CAM. В README заявлены точность 99,6% и macro F1 99,6% на тестовом наборе из 968 изображений; эти результаты относятся к указанному набору данных и сами по себе не подтверждают клиническую пригодность.

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

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

  • классификация OCT-снимка на CNV, DME, друзены или норму
  • предварительная сортировка OCT-сканов по четырём классам состояния сетчатки
  • исследовательская оценка классификации заболеваний сетчатки на наборе Kermany2018
  • визуализация областей OCT-снимка, влияющих на классификацию, с помощью Grad-CAM

Ограничения

Обучена на OCT-изображениях одного типа устройства, поэтому перенос на другие устройства и снимки с отличающимся качеством или предобработкой может снизить точность. Клиническое применение требует надлежащей медицинской валидации и сертификации.

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

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

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

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

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

Открыть на Hugging Face

Retinal OCT Disease Classifier

A deep learning model for classifying retinal diseases from Optical Coherence Tomography (OCT) images. The model distinguishes between four conditions:

  • CNV - Choroidal Neovascularization
  • DME - Diabetic Macular Edema
  • DRUSEN - Early AMD (Age-related Macular Degeneration)
  • NORMAL - Healthy Retina

Model Description

This model uses EfficientNet-B3 as the backbone with a custom classification head, trained on the Kermany2018 OCT dataset. It achieves state-of-the-art performance on retinal disease classification.

Architecture

  • Backbone: EfficientNet-B3 (pretrained on ImageNet)
  • Head: Dropout(0.3) → Linear(1536→512) → ReLU → Dropout(0.15) → Linear(512→4)
  • Input Size: 224×224 RGB images
  • Output: 4-class probability distribution

Performance

MetricValidationTest
Accuracy97.8%99.6%
Macro F196.8%99.6%

Per-Class Performance (Test Set)

ClassPrecisionRecallF1-ScoreSupport
CNV98.4%100.0%99.2%242
DME100.0%100.0%100.0%242
DRUSEN100.0%98.4%99.2%242
NORMAL100.0%100.0%100.0%242

Usage

Quick Start

import torch
from PIL import Image
from torchvision import transforms

# Load model
model = torch.hub.load('your-username/oct-classifier', 'oct_classifier', pretrained=True)
model.eval()

# Preprocess image
transform = transforms.Compose([
    transforms.Resize((224, 224)),
    transforms.ToTensor(),
    transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
])

# Predict
image = Image.open('oct_scan.jpeg').convert('RGB')
input_tensor = transform(image).unsqueeze(0)

with torch.no_grad():
    output = model(input_tensor)
    probabilities = torch.softmax(output, dim=1)
    predicted_class = torch.argmax(probabilities, dim=1).item()

classes = ['CNV', 'DME', 'DRUSEN', 'NORMAL']
print(f"Prediction: {classes[predicted_class]}")
print(f"Confidence: {probabilities[0][predicted_class]:.2%}")

Using with timm

import timm
import torch

# Load the model
model = timm.create_model('efficientnet_b3', pretrained=False, num_classes=4)
model.load_state_dict(torch.load('pytorch_model.bin'))
model.eval()

Training Details

Dataset

  • Source: Kermany2018 OCT Dataset
  • Total Images: ~84,000 OCT scans
  • Train/Val Split: 80/20 stratified
  • Test Set: 968 images (242 per class)

Training Configuration

  • Optimizer: AdamW (lr=1e-4, weight_decay=0.01)
  • Scheduler: Cosine Annealing with 2-epoch warmup
  • Batch Size: 32
  • Epochs: 20
  • Mixed Precision: FP16
  • Gradient Clipping: 1.0

Data Augmentation

  • Horizontal flip (p=0.5)
  • Rotation (±15°)
  • Brightness/Contrast adjustment (±0.2)
  • Gaussian noise (p=0.3)
  • Gaussian blur (p=0.2)

Interpretability

The model includes Grad-CAM visualization support to show which regions of the retinal scan influenced the prediction - critical for clinical trust and validation.

Grad-CAM Samples

Limitations

  • Trained on a single OCT device type; may require fine-tuning for other devices
  • Not validated for clinical deployment without proper medical device certification
  • Performance may vary on images with different quality or preprocessing

Links

Citation

If you use this model, please cite:

@misc{almog2025oct,
  title={Retinal OCT Disease Classification with EfficientNet-B3},
  author={Almog, Tom},
  year={2025},
  url={https://huggingface.co/tomalmog/oct-retinal-classifier}
}

This model was trained on the Kermany2018 dataset:

@article{kermany2018identifying,
  title={Identifying medical diagnoses and treatable diseases by image-based deep learning},
  author={Kermany, Daniel S and Goldbaum, Michael and Cai, Wenjia and others},
  journal={Cell},
  volume={172},
  number={5},
  pages={1122--1131},
  year={2018},
  publisher={Elsevier}
}

License

MIT License

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей