Code for the paper 'A High Performance CRF Model for Clothes Parsing'.

Overview

Clothes Parsing

Overview

This code provides an implementation of the research paper:

  A High Performance CRF Model for Clothes Parsing
  Edgar Simo-Serra, Sanja Fidler, Francesc Moreno-Noguer, and Raquel Urtasun
  Asian Conference on Computer Vision (ACCV), 2014

The code here allows training and testing of a model that got state-of-the-art results on the Fashionista dataset at the time of publication.

License

  Copyright (C) <2014> <Edgar Simo-Serra, Sanja Fidler, Francesc Moreno-Noguer, Raquel Urtasun>

  This work is licensed under the Creative Commons
  Attribution-NonCommercial-ShareAlike 4.0 International License. To view a copy
  of this license, visit http://creativecommons.org/licenses/by-nc-sa/4.0/ or
  send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.

  Edgar Simo-Serra, Institut de Robotica i Informatica Industrial (CSIC/UPC), December 2014.
  [email protected], http://www-iri.upc.es/people/esimo/

Installation

In order to get started first checkout out the source code and then extract the features:

# Check out the git and cd into it as working directory
git clone https://github.com/bobbens/clothes_parsing.git
cd clothes_parsing
# Get and unpack the necessary features
wget http://hi.cs.waseda.ac.jp/~esimo//data/poseseg.tar.bz2
tar xvjf poseseg.tar.bz2 

The dSP dependency must also be compiled. This can be done by:

cd lib/dSP_5.1
make # First edit the Makefile if necessary

Usage

You can reproduce results simply by running from Matlab:

sm = segmodel( 'PROFILE', '0.16', 'use_real_pose', false ); % Load the model, parameters can be set here
sm = sm.train_misc_unaries(); % Trains some misc stuff
sm = sm.train_MRF(); % Actually sets up and trains the CRF
R = sm.test_MRF_segmentation() % Performs testing and outputs results

This should generate an output like:

 BUILDING MRF OUTPUT 29 CLASSES (REAL POSE=0)...
 UNARIES:
    bgbias
    logreg:       29
    cpmc_logreg:  29
    cpmc
    shapelets
 HIGHER ORDER
    similarity
    limbs
 Initializing Image 011 / 350...   0.4 seconds!   

 ...

 Tested MRF in 319.0 seconds
 350 / 350... 

 R = 

     confusion: [29x29 double]
     order: [29x1 double]
     acc: 0.8432
     pre: [29x1 double]
     rec: [29x1 double]
     f1: [29x1 double]
     voc: [29x1 double]
     avr_pre: 0.3007
     avr_rec: 0.3292
     avr_f1: 0.3039
     avr_voc: 0.2013

Please note that due to stochastic components and differences between software versions, the numbers will not be exactly the same as the paper. For the paper all results were obtained on a linux machine running Ubuntu 12.04 with Matlab R2012a (7.14.0.739) 64-bit (glnxa64).

You can furthermore visualize the output of the model with:

sm.test_MRF_visualize( 'output/' )

This will save both the ground truth segmentations and the predicted segmentations in the directory 'output/' as shown in the paper.

If you use this code please cite:

 @InProceedings{SimoSerraACCV2014,
    author = {Edgar Simo-Serra and Sanja Fidler and Francesc Moreno-Noguer and Raquel Urtasun},
    title = {{A High Performance CRF Model for Clothes Parsing}},
    booktitle = "Proceedings of the Asian Conference on Computer Vision (2014)",
    year = 2014
 }

Acknowledgments

We would like to give our thanks to Kota Yamaguchi for his excellent code which we have used as a base for our model.

The different codes we have used (in alphabetical order):

Changelog

December 2014: Initial version 1.0 release

Implémentation en pyhton de l'article Depixelizing pixel art de Johannes Kopf et Dani Lischinski

Implémentation en pyhton de l'article Depixelizing pixel art de Johannes Kopf et Dani Lischinski

TableauBits 3 May 29, 2022
Finetune the base 64 px GLIDE-text2im model from OpenAI on your own image-text dataset

Finetune the base 64 px GLIDE-text2im model from OpenAI on your own image-text dataset

Clay Mullis 82 Oct 13, 2022
Python scripts for performing lane detection using the LSTR model in ONNX

ONNX LSTR Lane Detection Python scripts for performing lane detection using the Lane Shape Prediction with Transformers (LSTR) model in ONNX. Requirem

Ibai Gorordo 29 Aug 30, 2022
My implementation of Fully Convolutional Neural Networks in Keras

Keras-FCN This repository contains my implementation of Fully Convolutional Networks in Keras (Tensorflow backend). Currently, semantic segmentation c

The Duy Nguyen 15 Jan 13, 2020
This is an official implementation of CvT: Introducing Convolutions to Vision Transformers.

Introduction This is an official implementation of CvT: Introducing Convolutions to Vision Transformers. We present a new architecture, named Convolut

Bin Xiao 175 Jan 08, 2023
Official repository for CVPR21 paper "Deep Stable Learning for Out-Of-Distribution Generalization".

StableNet StableNet is a deep stable learning method for out-of-distribution generalization. This is the official repo for CVPR21 paper "Deep Stable L

120 Dec 28, 2022
Official Code for "Non-deep Networks"

Non-deep Networks arXiv:2110.07641 Ankit Goyal, Alexey Bochkovskiy, Jia Deng, Vladlen Koltun Overview: Depth is the hallmark of DNNs. But more depth m

Ankit Goyal 567 Dec 12, 2022
ObsPy: A Python Toolbox for seismology/seismological observatories.

ObsPy is an open-source project dedicated to provide a Python framework for processing seismological data. It provides parsers for common file formats

ObsPy 979 Jan 07, 2023
An open-source, low-cost, image-based weed detection device for fallow scenarios.

Welcome to the OpenWeedLocator (OWL) project, an opensource hardware and software green-on-brown weed detector that uses entirely off-the-shelf compon

Guy Coleman 145 Jan 05, 2023
More than a hundred strange attractors

dysts Analyze more than a hundred chaotic systems. Basic Usage Import a model and run a simulation with default initial conditions and parameter value

William Gilpin 185 Dec 23, 2022
Capture all information throughout your model's development in a reproducible way and tie results directly to the model code!

Rubicon Purpose Rubicon is a data science tool that captures and stores model training and execution information, like parameters and outcomes, in a r

Capital One 97 Jan 03, 2023
Repo for our ICML21 paper Unsupervised Learning of Visual 3D Keypoints for Control

Unsupervised Learning of Visual 3D Keypoints for Control [Project Website] [Paper] Boyuan Chen1, Pieter Abbeel1, Deepak Pathak2 1UC Berkeley 2Carnegie

Boyuan Chen 34 Jul 22, 2022
A unofficial pytorch implementation of PAN(PSENet2): Efficient and Accurate Arbitrary-Shaped Text Detection with Pixel Aggregation Network

Efficient and Accurate Arbitrary-Shaped Text Detection with Pixel Aggregation Network Requirements pytorch 1.1+ torchvision 0.3+ pyclipper opencv3 gcc

zhoujun 400 Dec 26, 2022
Implementation of a Transformer that Ponders, using the scheme from the PonderNet paper

Ponder(ing) Transformer Implementation of a Transformer that learns to adapt the number of computational steps it takes depending on the difficulty of

Phil Wang 65 Oct 04, 2022
GBIM(Gesture-Based Interaction map)

手势交互地图 GBIM(Gesture-Based Interaction map),基于视觉深度神经网络的交互地图,通过电脑摄像头观察使用者的手势变化,进而控制地图进行简单的交互。网络使用PaddleX提供的轻量级模型PPYOLO Tiny以及MobileNet V3 small,使得整个模型大小约10MB左右,即使在CPU下也能快速定位和识别手势。

8 Feb 10, 2022
Editing a classifier by rewriting its prediction rules

This repository contains the code and data for our paper: Editing a classifier by rewriting its prediction rules Shibani Santurkar*, Dimitris Tsipras*

Madry Lab 86 Dec 27, 2022
From the basics to slightly more interesting applications of Tensorflow

TensorFlow Tutorials You can find python source code under the python directory, and associated notebooks under notebooks. Source code Description 1 b

Parag K Mital 5.6k Jan 09, 2023
The implementation of "Shuffle Transformer: Rethinking Spatial Shuffle for Vision Transformer"

Shuffle Transformer The implementation of "Shuffle Transformer: Rethinking Spatial Shuffle for Vision Transformer" Introduction Very recently, window-

87 Nov 29, 2022
Contextualized Perturbation for Textual Adversarial Attack, NAACL 2021

Contextualized Perturbation for Textual Adversarial Attack Introduction This is a PyTorch implementation of Contextualized Perturbation for Textual Ad

cookielee77 30 Jan 01, 2023