Biblioteca Python com Redes Neurais para Segmentação de Imagens baseadas em Keras e TensorFlow.

As principais características desta biblioteca são:

  • API de alto nível (apenas duas linhas de código para criar modelo para segmentação)
  • 4 arquiteturas de modelos para segmentação binária e multi-classe de imagens (incluindo Unet lendário)
  • 25 backbones disponíveis para cada arquitetura
  • Todos os backbones têm pesos pré-treinados para uma melhor e mais rápida convergência
  • Perdas de segmentação úteis (Jaccard, Dice, Focal) e métricas (IoU, F-score)

Nota importante

alguns modelos da versão 1.* não são compatíveis com modelos previamente treinados, se tiver tais modelos e quiser carregá-los – volte com:

$ pip install -U segmentação-modelos==0.2.1

Índice

  • Início rápido
  • Simples pipeline de treinamento
  • Exemplos
  • Modelos e Backbones
  • Instalação
  • Documentação
  • Alterar log
  • Citando
  • Licença

Início rápido

Biblioteca é construída para trabalhar em conjunto com estruturas Keras e TensorFlow Keras

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

Por defeito tenta importar keras, se não estiver instalado, tentará começar com tensorflow.keras framework.Existem várias maneiras de escolher framework:

Vocês também podem especificar que tipo de image_data_format usar, os modelos de segmentação funcionam com ambos: channels_last e channels_first.Isto pode ser útil para uma maior conversão do modelo para o formato Nvidia TensorRT ou para a optimização do modelo para cálculos cpu/gpu.

O modelo de segmentação criado é apenas uma instância do modelo Keras, que pode ser construído tão facilmente como:

model = sm.Unet()

Dependente da tarefa, você pode mudar a arquitetura da rede escolhendo backbones com menos ou mais parâmetros e usar pesos pré-tensionados para inicializá-la:

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

Alterar número de classes de saída no modelo (escolha o seu caso):

Alterar forma de entrada do modelo:

Linha de treinamento simples

As mesmas manipulações podem ser feitas com Linknet, PSPNet e FPN. Para informações mais detalhadas sobre os modelos API e casos de uso Leia os Docs.

Exemplos

Exemplos de treinamento dos modelos:

  • Segmentação binária (carros) no conjunto de dados CamVid aqui.
  • Segmentação multiclasse (carros, pedestres) no conjunto de dados CamVid aqui.

Modelos e Backbones

Modelos

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

Backbones

Todos os backbones têm pesos treinados no conjunto de dados ILSVRC ImageNet 2012 (encoder_weights='imagenet').

Instalação

Requisitos

  1. python 3
  2. keras >= 2.2.0 ou fluxo tensor >= 1.13
  3. >

  4. queras-aplicações >= 1.0.7, <=1.0.8
  5. >

  6. image-classifiers == 1.0.*
  7. eficientnet == 1.0.*

PyPI pacote estável

$ pip install -U segmentation-models

PyPI último pacote

$ pip install -U --pre segmentation-models

Source última versão

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

Documentação

A documentação mais recente está disponível em Leia theDocs

Mudança de Log

Para ver mudanças importantes entre versões, veja CHANGELOG.md

Citando

Licença

Projeto é distribuído sob a Licença MIT.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *