Odise : o A seleção panóptica baseada em difusion-vocabular de caneta explora a difusão de imagem de texto pré-treinada e modelos discriminativos para realizar a segmentação panóptica aberta-vocabular. Ele aproveita a representação congelada de ambos os modelos para executar a segmentação panóptica de qualquer categoria na natureza.
Este repositório é a implementação oficial do Odise introduzido no artigo:
Segmentação panóptica aberta com modelos de difusão de texto para imagem Jiarui Xu , Sifei Liu *, Arash Vahdat *, Wonmin Byeon , Xiaolong Wang , Shalini de Mello CVPR 2023 Destaque. (*Igual contribuição)
Para consultas de negócios, visite nosso site e envie o formulário: licenciamento de pesquisa da NVIDIA.







Se você achar nosso trabalho útil em sua pesquisa, cite:
@article { xu2023odise ,
title = { {Open-Vocabulary Panoptic Segmentation with Text-to-Image Diffusion Models} } ,
author = { Xu, Jiarui and Liu, Sifei and Vahdat, Arash and Byeon, Wonmin and Wang, Xiaolong and De Mello, Shalini } ,
journal = { arXiv preprint arXiv:2303.04803 } ,
year = { 2023 }
}Instale dependências em execução:
conda create -n odise python=3.9
conda activate odise
conda install pytorch=1.13.1 torchvision=0.14.1 pytorch-cuda=11.6 -c pytorch -c nvidia
conda install -c " nvidia/label/cuda-11.6.1 " libcusolver-dev
git clone [email protected]:NVlabs/ODISE.git
cd ODISE
pip install -e .(Opcional) Instale o Xformers para implementação eficiente do transformador: pode-se instalar a versão pré-construída
pip install xformers==0.0.16
ou construir a partir da última fonte
# (Optional) Makes the build much faster
pip install ninja
# Set TORCH_CUDA_ARCH_LIST if running and building on different GPU types
pip install -v -U git+https://github.com/facebookresearch/xformers.git@main#egg=xformers
# (this can take dozens of minutes) Fornecemos dois modelos pré-treinados para Odise treinados com a supervisão de etiquetas ou legendas no conjunto de treinamento de Coco. Os modelos pré-treinados de Odise estão sujeitos ao Creative Commons-Attribution-NonCommercial-Sharealike 4.0 International-CC BY-NC-SA 4.0 License Term. Cada modelo contém 28,1 milhões de parâmetros treináveis. Os links de download para esses modelos são fornecidos na tabela abaixo. Quando você executa o script demo/demo.py ou Inferência pela primeira vez, ele também baixará automaticamente o modelo pré-treinado de Odise para sua pasta local $HOME/.torch/iopath_cache/NVlabs/ODISE/releases/download/v1.0.0/ .
| Ade20K (A-150) | COCO | Ade20K-Full (A-847) | Contexto Pascal 59 (PC-59) | Pascal Context 459 (PC-459) | Pascal Voc 21 (Pas-21) | download | |||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Pq | mapa | miou | Pq | mapa | miou | miou | miou | miou | miou | ||
| Odise (etiqueta) | 22.6 | 14.4 | 29.9 | 55.4 | 46.0 | 65.2 | 11.1 | 57.3 | 14.5 | 84.6 | Ponto de verificação |
| Odise (legenda) | 23.4 | 13.9 | 28.7 | 45.6 | 38.4 | 52.4 | 11.0 | 55.3 | 13.8 | 82.7 | Ponto de verificação |
Consulte Preparando conjuntos de dados para Odise.
Consulte Introdução ao Odise para obter instruções detalhadas sobre treinamento e inferência com Odise.
Integrado aos espaços Huggingface? Usando Gradio. Experimente a demonstração da web:
Execute a demonstração no Google Colab:
NOTA IMPORTANTE : Quando você executa o script demo/demo.py pela primeira vez, além dos modelos pré-treinados de Odise, ele também baixará automaticamente os modelos pré-treinados para difusão estável v1.3 e clipe, de suas fontes originais, para seus diretórios locais $HOME/.torch/ $HOME/.cache/clip , respectivamente. Os modelos pré-treinados para difusão e clipe estáveis estão sujeitos aos seus termos de licença original, desde difusão e clipe estáveis, respectivamente.
Para executar a demonstração de Odise da linha de comando:
python demo/demo.py --input demo/examples/coco.jpg --output demo/coco_pred.jpg --vocab " black pickup truck, pickup truck; blue sky, sky " A saída é salva em demo/coco_pred.jpg . Para opções mais detalhadas para demo/demo.py consulte Introdução ao Odise.
Para executar a demonstração Gradio Localmente:
python demo/app.pyO código é amplamente baseado no Detectron2, Difusão estável, Mask2Former, OpenClip e Glide.
Obrigado, todos, pelos ótimos projetos de código aberto!