Sobre o projeto

Segmentation Models PyTorch (SMP) é uma biblioteca Python construída sobre o PyTorch para segmentação semântica de imagens. Ela oferece uma API de alto nível na qual um modelo de segmentação é um torch.nn.Module padrão, criável em algumas linhas. Principais capacidades descritas no README: - 12 arquiteturas codificador-decodificador: Unet, Unet++, MAnet, Linknet, FPN, PSPNet, PAN, DeepLabV3, DeepLabV3+, UPerNet, Segformer e DPT, cada uma vinculada ao seu artigo e documentação. - Mais de 800 codificadores pré-treinados baseados em convolução e transformer, incluindo suporte a backbones timm. Os codificadores expõem características intermediárias em vez de apenas características finais de classificação, e vêm com pesos pré-treinados destinados a acelerar e estabilizar a convergência. O README observa opções leves (mobilenet/mobileone) para inferência de baixa latência ou em dispositivos de borda e opções de maior capacidade (convnext/swin/mit) para tarefas complexas. - Auxiliares de pré-processamento: get_preprocessing_fn retorna uma função de pré-processamento correspondente ao pré-treinamento de um codificador (por exemplo, ImageNet), o que, segundo o README, pode melhorar resultados e convergência, mas não é obrigatório ao treinar o modelo completo. - Perdas e métricas comumente usadas para treinamento de segmentação (Dice, Jaccard, Tversky e outras). - Opções da API de modelos: in_channels para contagens arbitrárias de canais de entrada (com reutilização documentada dos pesos da primeira convolução), aux_params para uma cabeça de classificação auxiliar opcional (pooling global, dropout opcional, linear, ativação opcional) produzindo uma saída de rótulo junto com a máscara, e encoder_depth para reduzir estágios de downsampling e tornar os modelos mais leves. - Facilidade de exportação e implantação: exportação ONNX e compatibilidade com torch script/trace/compile. Os exemplos incluem notebooks para segmentação binária (OxfordPets, CamVid), segmentação multiclasse (CamVid), carregamento e execução de inferência com Segformer, DPT e UPerNet pré-treinados, salvamento/carregamento de modelos localmente ou no Hugging Face Hub, e exportação para ONNX. Checkpoints para UPerNet, Segformer e DPT estão vinculados no Hugging Face. A instalação é via pip (segmentation-models-pytorch) ou diretamente do GitHub. O README também menciona uma página de hall-of-fame de competições vencidas usando a biblioteca, um projeto construído com SMP (remoção de fundo withoutBG), instruções de contribuição usando alvos make para instalação de desenvolvimento, testes e linting, uma entrada de citação e licenciamento: principalmente MIT com alguns arquivos sob outras licenças, portanto usuários comerciais são aconselhados a verificar o arquivo LICENSES e as declarações por arquivo.