Biblioteca Python cu rețele neuronale pentru segmentarea imaginilor bazată pe Keras și TensorFlow.

Principalele caracteristici ale acestei biblioteci sunt:

  • Apif de nivel înalt (doar două linii de cod pentru a crea un model pentru segmentare)
  • 4 arhitecturi de modele pentru segmentarea imaginilor binare și multiclasă (inclusiv legendarul Unet)
  • 25 de backbones disponibile pentru fiecare arhitectură
  • Toate backbones au ponderi pre-antrenate pentru o convergență mai rapidă și mai bună
  • Pierderi utile de segmentare (Jaccard, Dice, Focal) și metrici (IoU, F-score)

Nota importantă

Câteva modele din versiunea 1.* nu sunt compatibile cu modelele antrenate anterior,dacă aveți astfel de modele și doriți să le încărcați – reveniți cu:

$ pip install -U segmentation-models==0.2.1

Cuprins

  • Început rapid
  • Canal de instruire simplă
  • Exemple
  • Modeluri și backbones
  • Instalare
  • Documentare
  • Modificare log
  • Citare
  • Licență

Start rapid

Biblioteca este construită pentru a funcționa împreună cu cadrele Keras și TensorFlow Keras

import segmentation_models as sm# Segmentation Models: using `keras` framework.

În mod implicit, încearcă să importe keras, dacă acesta nu este instalat, va încerca să înceapă cu cadrul tensorflow.keras.Există mai multe moduri de a alege cadrul:

De asemenea, puteți specifica ce tip de image_data_format să utilizați, segmentation-models funcționează cu ambele: channels_last și channels_first.Acest lucru poate fi util pentru conversia ulterioară a modelului în formatul Nvidia TensorRT sau pentru optimizarea modelului pentru calculele cpu/gpu.

Modelul de segmentare creat este doar o instanță a modelului Keras, care poate fi construit la fel de ușor ca:

model = sm.Unet()

În funcție de sarcină, puteți modifica arhitectura rețelei alegând backbones cu mai puțini sau mai mulți parametri și puteți utiliza ponderi pretradiționale pentru a o inițializa:

model = sm.Unet('resnet34', encoder_weights='imagenet')

Modificați numărul de clase de ieșire din model (alegeți cazul):

Modificați forma de intrare a modelului:

Conductă de instruire simplă

Aceleași manipulări se pot face cu Linknet, PSPNet și FPN. Pentru informații mai detaliate despre modelele API și cazurile de utilizare, citiți Docs.

Exemple

Exemple de formare a modelelor:

  • Segmentare binară (mașini) pe setul de date CamVid aici.
  • Segmentare multiclasă (mașini, pietoni) pe setul de date CamVid aici.

Modele și backbones

Modeluri

  • Unet
  • FPN
  • Linknet
  • .

  • PSPNet

.

Unet Linknet

.

PSPNet FPN

Backbones

Toate backbones au ponderi antrenate pe setul de date ILSVRC ImageNet 2012 (encoder_weights='imagenet').

Installation

Requirements

  1. python 3
  2. keras >= 2.2.0 sau tensorflow >= 1.13
  3. keras-aplications >= 1.0.7, <=1.0.8
  4. image-classifiers == 1.0.*
  5. efficientnet == 1.0.*
  6. efficientnet == 1.0.*

PyPI stable package

$ pip install -U segmentation-models

PyPI latest package

$ pip install -U --pre segmentation-models

Source latest version

$ pip install git+https://github.com/qubvel/segmentation_models

. Documentație

Documentația cea mai recentă este disponibilă pe Read theDocs

Change Log

Pentru a vedea modificările importante între versiuni, uitați-vă la CHANGELOG.md

Citare

Licență

Proiectul este distribuit sub licența MIT.

.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *