Python-kirjasto neuroverkoilla kuvan segmentointiin Kerasiin ja TensorFlow’hun perustuen.

Kirjaston tärkeimmät ominaisuudet ovat:

  • Korkea API (vain kaksi riviä koodia mallin luomiseen segmentointia varten)
  • 4 malliarkkitehtuuria binääri- ja moniluokkaisten kuvien segmentointiin (mukaan lukien legendaarinen Unet)
  • 25 käytettävissä olevaa selkärankaa kullekin arkkitehtuurille
  • Kaikilla selkärangoilla on valmiiksi treenatut painot nopeampaan ja parempaan konvergenssiin
  • Hyödylliset segmentointihäviöt (Jaccardin, Dice, Focal) ja metriikat (IoU, F-score)

Tärkeä huomautus

Jotkut version 1.* mallit eivät ole yhteensopivia aiemmin koulutettujen mallien kanssa,jos sinulla on tällaisia malleja ja haluat ladata ne – palaa takaisin:

$ pip install -U segmentation-models==0.2.1

Sisällysluettelo

  • Pikakäynnistys
  • Yksinkertainen koulutusputki
  • Esimerkkejä
  • Mallit ja selkäranka
  • Asennus
  • Dokumentaatio
  • Muutos… log
  • Sitaatti
  • Lisenssi

Pikakäynnistys

Kirjasto on rakennettu toimimaan yhdessä Keras- ja TensorFlow Keras-kehysten kanssa

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

Oletusarvoisesti se yrittää tuoda keras, jos sitä ei ole asennettu, se yrittää aloittaa tensorflow.keras-kehyksen avulla.On olemassa useita tapoja valita framework:

Voit myös määrittää, mitä image_data_format käytetään, segmentation-models toimii molempien kanssa: channels_last ja channels_first. Tästä voi olla hyötyä, kun malli muunnetaan edelleen Nvidia TensorRT -muotoon tai kun mallia optimoidaan cpu/gpu -laskentoja varten.

Luotu segmentointimalli on vain Keras-mallin instanssi, joka voidaan rakentaa yhtä helposti kuin:

model = sm.Unet()

Tehtävästä riippuen voit muuttaa verkkoarkkitehtuuria valitsemalla selkärangat vähemmillä tai useammilla parametreilla ja käyttämällä pretrainded-painoja sen alustamiseen:

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

Muuttaa mallin ulostuloluokkien lukumäärää (valitse tapauksesi):

Muuttaa mallin tulomuotoa:

Yksinkertainen harjoitteluputki

Samoja manipulaatioita voidaan tehdä Linknet, PSPNet ja FPN avulla. Tarkempia tietoja mallien API:sta ja käyttötapauksista saat lukemalla Docs:n.

Esimerkkejä

Esimerkkejä mallien harjoittelusta:

  • Binäärinen segmentointi (autot) CamVid-tietoaineistolla täällä.
  • Moniluokkainen segmentointi (autot, jalankulkijat) CamVid-tietoaineistolla täällä.

Mallit ja selkärangat

Mallit

  • Unet
  • FPN
  • Linknet
  • PSPNet
Unet Linknet
PSPNet FPN

Backbones

Kaikkien backboneiden painot on koulutettu vuoden 2012 ILSVRC ImageNet -tietokannalla (encoder_weights='imagenet').

Asennus

Tarpeet

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

PyPI vakaa paketti

$ pip install -U segmentation-models

PyPI uusin paketti

$ pip install -U --pre segmentation-models

Lähde uusin versio

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

Dokumentaatio

Viimeisin dokumentaatio on saatavilla osoitteessa Read theDocs

Muutosloki

Voidaksesi nähdä tärkeät muutokset versioiden välillä katso CHANGELOG.md

Viittaus

Lisenssi

Projekti jaetaan MIT-lisenssillä.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *