Python-bibliotheek met neurale netwerken voor beeldsegmentatie op basis van Keras en TensorFlow.

De belangrijkste kenmerken van deze bibliotheek zijn:

  • High level API (slechts twee regels code om model voor segmentatie te maken)
  • 4 modelarchitecturen voor binaire en multi-class beeldsegmentatie(inclusief legendarische Unet)
  • 25 beschikbare backbones voor elke architectuur
  • Alle backbones hebben voorgetrainde gewichten voor snellere en betere convergentie
  • Hulpzame segmentatieverliezen (Jaccard, Dice, Focal) en metrieken (IoU, F-score)

Belangrijke opmerking

Sommige modellen van versie 1.* zijn niet compatibel met eerder getrainde modellen,als u zulke modellen hebt en ze wilt laden – rol terug met:

$ pip install -U segmentation-models==0.2.1

Inhoudsopgave

  • Snel aan de slag
  • Eenvoudige trainingspijplijn
  • Voorbeelden
  • Modellen en backbones
  • Installatie
  • Documentatie
  • Wijzig log
  • Citeren
  • Licentie

Snelstart

Bibliotheek is gebouwd om samen te werken met Keras en TensorFlow Keras frameworks

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

Probeert standaard om keras te importeren, als het niet is geïnstalleerd, zal het proberen te starten met tensorflow.keras framework.Er zijn verschillende manieren om framework te kiezen:

U kunt ook aangeven wat voor image_data_format te gebruiken, segmentatie-modellen werkt met beide: channels_last en channels_first.Dit kan nuttig zijn voor verdere model conversie naar Nvidia TensorRT formaat of het optimaliseren van model voor cpu/gpu berekeningen.

Gemaakt segmentatiemodel is slechts een instantie van Keras Model, dat zo eenvoudig kan worden gebouwd als:

model = sm.Unet()

Afhankelijk van de taak, kunt u de netwerkarchitectuur wijzigen door backbones te kiezen met minder of meer parameters en pretrainded gewichten te gebruiken om het te initialiseren:

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

Het aantal uitvoerklassen in het model wijzigen (kies uw geval):

Invoervorm van het model wijzigen:

Eenvoudige trainingspijplijn

Hetzelfde kan worden gedaan met Linknet, PSPNet en FPN. Voor meer gedetailleerde informatie over modellen API en use cases Lees de Docs.

Voorbeelden

Modellen training voorbeelden:

  • Binaire segmentatie (auto’s) op CamVid dataset hier.
  • Multi-class segmentatie (auto’s, voetgangers) op CamVid dataset hier.

Modellen en backbones

Modellen

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

Backbones

Alle backbones hebben gewichten die zijn getraind op 2012 ILSVRC ImageNet-dataset (encoder_weights='imagenet').

Installatie

Behoeften

  1. python 3
  2. keras >= 2.2.0 of tensorflow >= 1.13
  3. keras-applicaties >= 1.0.7, <=1.0.8
  4. image-classifiers == 1.0.*
  5. 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

Documentatie

De nieuwste documentatie is beschikbaar op Read theDocs

Veranderingslog

Om belangrijke veranderingen tussen versies te zien kijk op CHANGELOG.md

Citing

Licentie

Project wordt verspreid onder MIT Licentie.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *