Розробка системи сегментації зображень (Semantic/Instance Segmentation)

Проектуємо та впроваджуємо системи штучного інтелекту: від прототипу до production-ready рішення. Наша команда поєднує експертизу в машинному навчанні, дата-інжинірингу та MLOps, щоб AI працював не в лабораторії, а в реальному бізнесі.
Показано 1 з 1Усі 1566 послуг
Розробка системи сегментації зображень (Semantic/Instance Segmentation)
Середній
від 1 тижня до 3 місяців
Часті запитання

Напрямки AI-розробки

Етапи розробки AI-рішення

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1282
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1196
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    901
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1119
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    586
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    853

Розробка системи сегментації зображень

Сегментація — піксельна розмітка зображення. На відміну від детекції (прямокутна рамка), сегментація дає точний контур об'єкту. Це критично для завдань, де форма важлива: медичні знімки, супутникові дані, автономне водіння, контроль якості з вимірюванням площі дефектів.

Semantic vs Instance vs Panoptic

Semantic segmentation — кожен піксель отримує клас, об'єкти одного класу не розрізняються. Приклад: всі машини — один клас "car", всі пішоходи — "person". Моделі: SegFormer, DeepLabV3+.

Instance segmentation — кожен об'єкт окремий, навіть одного класу. Приклад: машина №1, машина №2. Моделі: Mask R-CNN, YOLOv8-seg, YOLO11-seg.

Panoptic segmentation — об'єднання semantic та instance: "речі" (рахункові об'єкти) — по інстансам, "фон" (небо, дорога) — семантично. Моделі: Mask2Former.

Segment Anything Model (SAM)

SAM Meta — революція в сегментації. Zero-shot сегментація: не потребує навчання під конкретні класи. Вхідний запит: точка, рамка або маска.

from segment_anything import SamPredictor, sam_model_registry

sam = sam_model_registry["vit_h"](checkpoint="sam_vit_h_4b8939.pth")
predictor = SamPredictor(sam)

# Сегментація по bbox
predictor.set_image(image)
masks, scores, _ = predictor.predict(
    box=np.array([x1, y1, x2, y2]),
    multimask_output=False
)

SAM2 (2024) — поліпшена версія з підтримкою відео: трекинг сегментації через кадри.

Коли SAM не підходить: завдання, що вимагають класифікації сегментів (SAM не знає класи), та завдання з вимогою до швидкості (SAM-ViT-H: ~50ms на A100, занадто повільно для real-time).

Fine-tuning для доменних завдань

Для медичних знімків та промислових даних SAM дообучається під домен:

from ultralytics import SAM

# SAM2 fine-tuning через Ultralytics
model = SAM('sam2_b.pt')
model.train(
    data='medical_dataset.yaml',
    epochs=50,
    imgsz=1024,
    batch=4,
    lr0=1e-4
)

Для semantic segmentation — SegFormer (HuggingFace) з fine-tuning на користувацьких даних. SegFormer-B5 показує mIoU 84.0 на Cityscapes при розумній швидкості.

U-Net для медичних завдань

U-Net — стандарт для біомедичної сегментації. Encoder-decoder зі skip connections добре працює з малими датасетами (200–500 зображень):

import segmentation_models_pytorch as smp

model = smp.Unet(
    encoder_name='efficientnet-b4',
    encoder_weights='imagenet',
    in_channels=1,              # для grayscale МРТ/КТ
    classes=3,                  # фон, орган, пухлина
    activation=None
)

Метрики якості

  • mIoU (mean Intersection over Union) — основна метрика для semantic segmentation
  • AP (Average Precision) — для instance segmentation
  • Dice coefficient — для медичних завдань (еквівалентна F1 на піксельному рівні)
  • Boundary IoU — якість контурів, важливо для прецизійних завдань
Модель mIoU Cityscapes FPS
SegFormer-B2 81.0 48
SegFormer-B5 84.0 15
DeepLabV3+ ResNet101 80.9 22
YOLOv8x-seg 120 (instance)
Завдання Хронологія
Instance segmentation на основі YOLOv8 2–4 тижні
Semantic segmentation, користувацький датасет 3–6 тижнів
Медична сегментація, SAM fine-tuning 5–10 тижнів