git clone https://github.com/subhc/unsup-parts.git
cd unsup-parts
conda env create --file environment.yml
conda activate unsup-parts
wget https://www.robots.ox.ac.uk/~vgg/research/unsup-parts/files/checkpoints.tar.gz
tar zxvf checkpoints.tar.gz
El proyecto utiliza pesas y prejuicios para la visualización, actualice wandb_userid
en train.py
a su nombre de usuario
data
con la siguiente estructura de carpeta en el interior y extraiga los alquitrán en las ubicaciones mencionadas. data
└── CUB # extract CUB_200_2011.tgz, cub_supervisedlabels.tar.gz here
├── CUB_200_2011 # extract cachedir.tar.gz and segmentations.tgz here
│ ├── attributes
│ ├── cachedir
│ ├── images
│ ├── parts
│ └── segmentations
└── supervisedlabels
Ejemplo
mkdir -p data/CUB/
cd data/CUB/
tar zxvf CUB_200_2011.tgz
tar zxvf cub_supervised_labels.tar.gz
cd CUB_200_2011
tar zxvf segmentations.tgz
tar zxvf cachedir.tar.gz
data
con la estructura de la carpeta a continuación.segmentation
interior. data
└── DeepFashion
└── In-shop Clothes Retrieval Benchmark # extract deepfashion_supervisedlabels.tar.gz here
├── Anno
│ └── segmentation # extract img_highres_seg.zip here
│ └── img_highres
│ ├── MEN
│ └── WOMEN
└── supervisedlabels
└── img_highres
├── MEN
└── WOMEN
Ejemplo
mkdir -p data/DeepFashion/In-shop Clothes Retrieval Benchmark/Anno/
cd data/DeepFashion/In-shop Clothes Retrieval Benchmark/
wget https://www.robots.ox.ac.uk/~vgg/research/unsup-parts/files/deepfashion_supervisedlabels.tar.gz
tar zxvf deepfashion_supervisedlabels.tar.gz
cd Anno
# get the segmentation folder from the google drive link
cd segmentation
unzip img_highres_seg.zip
Para entrenar cachorro:
python train.py dataset_name=CUB
Para entrenar a Deepfashion:
python train.py dataset_name=DF
Puede encontrar el código de evaluación en la carpeta de evaluación.
Descripción | Tamaño | Enlace |
---|---|---|
Cub-200-2011 (PTH) | 181MB | aquí |
Deepfashion (PTH) | 181MB | aquí |
Ambos (tar.gz) | 351MB | aquí |
Mueva los archivos pth
en los checkpoints/CUB
y checkpoints/DeepFashion
respectivamente.
El objetivo del aprendizaje de representación visual auto-supervisada es aprender representaciones de imágenes fuertes y transferibles, con la mayoría de la investigación centrada en el nivel de objeto o escena. Por otro lado, el aprendizaje de representación a nivel parcial ha recibido significativamente menos atención. En este artículo, proponemos un enfoque no supervisado para el descubrimiento y la segmentación de la parte del objeto y hacemos tres contribuciones. Primero, construimos una tarea proxy a través de un conjunto de objetivos que alientan al modelo a aprender una descomposición significativa de la imagen en sus partes. En segundo lugar, el trabajo anterior argumenta para reconstruir o agrupar las características precomputadas como un proxy de las partes; Mostramos empíricamente que es poco probable que esto encuentre partes significativas; Principalmente debido a su baja resolución y la tendencia de las redes de clasificación a manchar espacialmente la información. Sugerimos que la reconstrucción de imágenes a nivel de píxeles puede aliviar este problema, actuando como una señal complementaria. Por último, mostramos que la evaluación estándar basada en la regresión de punto clave no se correlaciona bien con la calidad de la segmentación y, por lo tanto, introduce diferentes métricas, NMI y ARI, que caracterizan mejor la descomposición de los objetos en partes. Nuestro método produce partes semánticas que son consistentes en categorías de grano fino pero visualmente distintos, superando el estado del arte en tres conjuntos de datos de referencia. El código está disponible en la página del proyecto.
@inproceedings{choudhury21unsupervised,
author = {Subhabrata Choudhury and Iro Laina and Christian Rupprecht and Andrea Vedaldi},
booktitle = {Proceedings of Advances in Neural Information Processing Systems (NeurIPS)},
title = {Unsupervised Part Discovery from Contrastive Reconstruction},
year = {2021}
}
El código se basa en gran medida en SCOP.