/ Модель

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

Лицензия
Apache 2.0
Архитектура
mammo_crop · dense
Базовая модель
mobilenetv3_small_100.lamb_in1k
Библиотека
transformers
Опубликована
3 янв 2025

mammo-crop

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

Лёгкая модель на основе MobileNetV3 автоматически находит полезную область маммограммы и предсказывает координаты для удаления лишнего фона.

253скачиваний за 30 дней0лайковвеса обновлены14 мар 2025

Бенчмарки

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

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

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

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

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

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

ianpan/mammo-crop — специализированная модель для автоматического кадрирования маммограмм, разработанная автором репозитория ianpan. Она находит границы полезной области снимка, чтобы убрать лишний фон; лёгкая архитектура использует дообученную MobileNetV3 Small 1.0 и предсказывает нормализованные координаты прямоугольника в формате xywh. Модель принимает изображения маммографии и выдаёт координаты области кадрирования.

Обучение и проверка проводились на 54 706 скрининговых маммограммах из соревнования RSNA Screening Mammography Breast Cancer Detection с разбиением 90/10. Валидационные средние абсолютные ошибки нормализованных координат составили 0,0032 для x, 0,0030 для y, 0,0054 для ширины и 0,0088 для высоты. Для входа ожидаются значения пикселей 0–255; DICOM-снимки следует преобразовать в 8-битные изображения и предварительно обработать. Автор отмечает, что кадрирование не гарантировано безошибочным. Модель распространяется по лицензии Apache-2.0.

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

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

Ограничения

Кадрирование может ошибаться; автор сообщает о хороших результатах лишь по выборочной визуальной проверке. Для входа нужны изображения с диапазоном значений 0–255, а DICOM следует предварительно преобразовать в 8-битный формат.

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

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

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

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

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

Открыть на Hugging Face

This model crops mammography images to eliminate unnecessary background. The model uses a lightweight mobilenetv3_small_100 backbone and predicts normalized xywh coordinates.

The model was trained and validated using 54,706 screening mammography images from the RSNA Screening Mammography Breast Cancer Detection challenge using a 90%/10% split. On single-fold validation, the model achieved mean absolute errors (normalized coordinates) of:

x: 0.0032
y: 0.0030
w: 0.0054
h: 0.0088

The ground-truth coordinates were generated using the following code:

import cv2

def crop_roi(img):
    img = img[5:-5, 5:-5]

    output = cv2.connectedComponentsWithStats((img > 10).astype("uint8")[:, :], 8, cv2.CV_32S)
    stats = output[2]

    idx = stats[1:, 4].argmax() + 1
    x1, y1, w, h = stats[idx][:4]
    x1 = max(0, x1 - 5)
    y1 = max(0, y1 - 5)
    
    img_h, img_w = img.shape[:2]

    return x1, y1, w, h)

While not guaranteed to be foolproof, a cursory review of a sample of cropped images demonstrated excellent performance. The model was trained with a larger batch size (256) to mitigate noise. Input into the model is expected to be [0, 255]. If you are loading from DICOM, you should convert the input into an 8-bit image, pass it through model.preprocess, and ensure that it is a float torch.Tensorbefore passing it to the model. The normalization step happens within the model itself.

To use the model:

import cv2
import torch
from transformers import AutoModel

model = AutoModel.from_pretrained("ianpan/mammo-crop", trust_remote_code=True)
model = model.eval()
img = cv2.imread(..., 0)
img_shape = torch.tensor([img.shape[:2]])
x = model.preprocess(img)
x = torch.from_numpy(x).unsqueeze(0).unsqueeze(0)
x = x.float()

# if you do not provide img_shape
# model will return normalized coordinates
with torch.inference_mode():
  coords = model(x, img_shape)

# only 1 sample in batch
coords = coords[0].numpy()
x, y, w, h = coords
# coords already rescaled with img_shape
cropped_img = img[y: y + h, x: x + w]

If you have pydicom installed, you can also load a DICOM image directly:

img = model.load_image_from_dicom(path_to_dicom)

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

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

GPU в ailist

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

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

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

Класс архитектуры
MammoCropModel
Ревизия весов
bec2e30

0 моделей