Python könyvtár neurális hálózatokkal képszegmentáláshoz Keras és TensorFlow alapokon.

A könyvtár fő jellemzői a következők:

  • magas szintű API (mindössze két sornyi kód a szegmentációs modell létrehozásához)
  • 4 modell architektúra bináris és többosztályos képszegmentációhoz (beleértve a legendás Unet-et)
  • 25 elérhető gerinchálózat minden architektúrához
  • Minden gerinchálózat előre betanított súlyokkal rendelkezik a gyorsabb és jobb konvergencia érdekében
  • Segítő szegmentációs veszteségek (Jaccard, Dice, Focal) és metrikák (IoU, F-score)

Fontos megjegyzés

A 1.* verzió egyes modelljei nem kompatibilisek a korábban betanított modellekkel,ha ilyen modellekkel rendelkezik és be szeretné tölteni őket – roll back with:

$ pip install -U segmentation-models==0.2.1

Tartalomjegyzék

  • Gyors indítás
  • Egyszerű képzési csővezeték
  • Példák
  • Modellek és gerincek
  • Telepítés
  • Dokumentáció
  • Változás. log
  • Citing
  • License

Gyorsindítás

A könyvtár úgy van felépítve, hogy együtt működjön a Keras és TensorFlow Keras keretrendszerekkel

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

Egyértelmezés szerint megpróbálja importálni keras, ha nincs telepítve, akkor a tensorflow.keras keretrendszerrel próbál elindulni.A keretrendszer kiválasztásának több módja is van:

Megadhatod azt is, hogy milyen image_data_format-t használjon, a segmentation-models mindkettővel működik: channels_last és channels_first.Ez hasznos lehet a modell további Nvidia TensorRT formátumba való konvertálásához vagy a modell optimalizálásához a cpu/gpu számításokhoz.

A létrehozott szegmentációs modell nem más, mint a Keras Model egy példánya, amelyet olyan egyszerűen lehet felépíteni, mint:

model = sm.Unet()

A feladattól függően megváltoztathatjuk a hálózati architektúrát, kevesebb vagy több paraméterrel rendelkező gerinchálózatot választva, és pretrainded súlyokat használva inicializálhatjuk azt:

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

Változtassa a kimeneti osztályok számát a modellben (válassza ki az esetet):

Változtassa a modell bemeneti alakját:

Egyszerű képzési csővezeték

Az Linknet, PSPNet és FPN segítségével ugyanezek a manipulációk elvégezhetők. A modellek API-jával és a felhasználási esetekkel kapcsolatos részletesebb információkért olvassa el a Docs-t.

Példák

Modellek képzési példái:

  • Bináris szegmentálás (autók) a CamVid adathalmazon itt.
  • Többosztályos szegmentálás (autók, gyalogosok) a CamVid adathalmazon itt.

Modellek és gerincek

Modellek

  • Unet
  • FPN
  • Linknet
  • .

  • PSPNet

.

Unet Linknet
PSPNet FPN

Backbones

Minden backbone-nak a 2012 ILSVRC ImageNet adathalmazon (encoder_weights='imagenet') betanított súlyai vannak.

Telepítés

Követelmények

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

PyPI stabil csomag

$ pip install -U segmentation-models

PyPI legújabb csomag

$ pip install -U --pre segmentation-models

Source legújabb verzió

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

Dokumentáció

A legfrissebb dokumentáció elérhető a Read theDocs

Change Log

A verziók közötti fontos változások megtekintéséhez nézze meg a CHANGELOG-ot.md

Citing

License

Project is distributed under MIT Licence.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük