Python-bibliotek med neurale netværk til billedsegmentering baseret på Keras og TensorFlow.

De vigtigste funktioner i dette bibliotek er:

  • High level API (kun to linjer kode til at oprette model til segmentering)
  • 4 modeller arkitekturer til binær og multi-klasse billedsegmentering (herunder legendarisk Unet)
  • 25 tilgængelige backbones for hver arkitektur
  • Alle backbones har præ-trænede vægte til hurtigere og bedre konvergens
  • Hjælpsomme segmenteringstab (Jaccard, Dice, Focal) og metrikker (IoU, F-score)

Vigtig bemærkning

Nogle modeller i version 1.* er ikke kompatible med tidligere trænede modeller, hvis du har sådanne modeller og ønsker at indlæse dem – roll back med:

$ pip install -U segmentation-models==0.2.1

Indholdsfortegnelse

  • Snakkestart
  • Simpel trænings-pipeline
  • Eksempler
  • Modeller og backbones
  • Installation
  • Dokumentation
  • Ændre log
  • Citering
  • Licens

Hurtigstart

Biblioteket er bygget til at arbejde sammen med Keras- og TensorFlow Keras-rammerne

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

Som standard forsøger det at importere keras, hvis det ikke er installeret, vil den forsøge at starte med tensorflow.keras-rammen.Der er flere måder at vælge ramme på:

Du kan også angive hvilken type image_data_format der skal bruges, segmenteringsmodeller fungerer med begge: channels_last og channels_first.Dette kan være nyttigt til yderligere modelkonvertering til Nvidia TensorRT-format eller optimering af modellen til cpu/gpu-beregninger.

Skabt segmenteringsmodel er blot en instans af Keras-model, som kan opbygges så nemt som:

model = sm.Unet()

Afhængigt af opgaven kan du ændre netværksarkitekturen ved at vælge backbones med færre eller flere parametre og bruge pretrainded vægte til at initialisere den:

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

Ændre antallet af udgangsklasser i modellen (vælg din sag):

Ændre modellens indgangsform:

Simpel træningspipeline

Samme manipulationer kan foretages med Linknet, PSPNet og FPN. For mere detaljerede oplysninger om modeller API og anvendelsestilfælde Læs Docs.

Eksempler

Modeller træningseksempler:

  • Binær segmentering (biler) på CamVid-datasæt her.
  • Multi-klasses segmentering (biler, fodgængere) på CamVid-datasæt her.

Modeller og backbones

Modeller

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

Backbones

Alle backbones har vægte, der er trænet på 2012 ILSVRC ImageNet-datasæt (encoder_weights='imagenet').

Installation

Krav

  1. python 3
  2. keras >= 2.2.0 eller tensorflow >= 1.13
  3. keras-applications >= 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

Dokumentation

Den nyeste dokumentation er tilgængelig på Read theDocs

Change Log

For at se vigtige ændringer mellem versioner se på CHANGELOG.md

Citing

License

Projektet er distribueret under MIT Licence.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *