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

You might also like...
The lightweight PyTorch wrapper for high-performance AI research. Scale your models, not the boilerplate.
The lightweight PyTorch wrapper for high-performance AI research. Scale your models, not the boilerplate.

The lightweight PyTorch wrapper for high-performance AI research. Scale your models, not the boilerplate. Website • Key Features • How To Use • Docs •

A fast, scalable, high performance Gradient Boosting on Decision Trees library, used for ranking, classification, regression and other machine learning tasks for Python, R, Java, C++. Supports computation on CPU and GPU.
A fast, scalable, high performance Gradient Boosting on Decision Trees library, used for ranking, classification, regression and other machine learning tasks for Python, R, Java, C++. Supports computation on CPU and GPU.

Website | Documentation | Tutorials | Installation | Release Notes CatBoost is a machine learning method based on gradient boosting over decision tree

《LightXML: Transformer with dynamic negative sampling for High-Performance Extreme Multi-label Text Classification》(AAAI 2021) GitHub:

LightXML: Transformer with dynamic negative sampling for High-Performance Extreme Multi-label Text Classification

MetaBalance: High-Performance Neural Networks for Class-Imbalanced Data

This repository is the official PyTorch implementation of Meta-Balance. Find the paper on arxiv MetaBalance: High-Performance Neural Networks for Clas

PPLNN is a Primitive Library for Neural Network is a high-performance deep-learning inference engine for efficient AI inferencing
PPLNN is a Primitive Library for Neural Network is a high-performance deep-learning inference engine for efficient AI inferencing

PPLNN is a Primitive Library for Neural Network is a high-performance deep-learning inference engine for efficient AI inferencing

HyperPose is a library for building high-performance custom pose estimation applications.
HyperPose is a library for building high-performance custom pose estimation applications.

HyperPose is a library for building high-performance custom pose estimation applications.

A high-performance anchor-free YOLO. Exceeding yolov3~v5 with ONNX, TensorRT, NCNN, and Openvino supported.
A high-performance anchor-free YOLO. Exceeding yolov3~v5 with ONNX, TensorRT, NCNN, and Openvino supported.

YOLOX is an anchor-free version of YOLO, with a simpler design but better performance! It aims to bridge the gap between research and industrial communities. For more details, please refer to our report on Arxiv.

YOLOX is a high-performance anchor-free YOLO, exceeding yolov3~v5 with ONNX, TensorRT, ncnn, and OpenVINO supported.
YOLOX is a high-performance anchor-free YOLO, exceeding yolov3~v5 with ONNX, TensorRT, ncnn, and OpenVINO supported.

Introduction YOLOX is an anchor-free version of YOLO, with a simpler design but better performance! It aims to bridge the gap between research and ind

LightSeq is a high performance training and inference library for sequence processing and generation implemented in CUDA
Code from the paper "High-Performance Brain-to-Text Communication via Handwriting"

High-Performance Brain-to-Text Communication via Handwriting Overview This repo is associated with this manuscript, preprint and dataset. The code can

Francis R. Willett 306 Jan 3, 2023
High performance, easy-to-use, and scalable machine learning (ML) package, including linear model (LR), factorization machines (FM), and field-aware factorization machines (FFM) for Python and CLI interface.

What is xLearn? xLearn is a high performance, easy-to-use, and scalable machine learning package that contains linear model (LR), factorization machin

Chao Ma 3k Jan 3, 2023
High performance, easy-to-use, and scalable machine learning (ML) package, including linear model (LR), factorization machines (FM), and field-aware factorization machines (FFM) for Python and CLI interface.

What is xLearn? xLearn is a high performance, easy-to-use, and scalable machine learning package that contains linear model (LR), factorization machin

Chao Ma 2.8k Feb 12, 2021
Source code for paper "ATP: AMRize Than Parse! Enhancing AMR Parsing with PseudoAMRs" @NAACL-2022

ATP: AMRize Then Parse! Enhancing AMR Parsing with PseudoAMRs Hi this is the source code of our paper "ATP: AMRize Then Parse! Enhancing AMR Parsing w

Chen Liang 13 Nov 23, 2022
Code for our paper "Graph Pre-training for AMR Parsing and Generation" in ACL2022

AMRBART An implementation for ACL2022 paper "Graph Pre-training for AMR Parsing and Generation". You may find our paper here (Arxiv). Requirements pyt

xfbai 60 Jan 3, 2023
This is the pytorch implementation for the paper: *Learning Accurate Performance Predictors for Ultrafast Automated Model Compression*, which is in submission to TPAMI

SeerNet This is the pytorch implementation for the paper: Learning Accurate Performance Predictors for Ultrafast Automated Model Compression, which is

null 3 May 1, 2022
The lightweight PyTorch wrapper for high-performance AI research. Scale your models, not the boilerplate.

The lightweight PyTorch wrapper for high-performance AI research. Scale your models, not the boilerplate. Website • Key Features • How To Use • Docs •

Pytorch Lightning 21.1k Jan 1, 2023
A fast, scalable, high performance Gradient Boosting on Decision Trees library, used for ranking, classification, regression and other machine learning tasks for Python, R, Java, C++. Supports computation on CPU and GPU.

Website | Documentation | Tutorials | Installation | Release Notes CatBoost is a machine learning method based on gradient boosting over decision tree

CatBoost 6.9k Jan 4, 2023
ML-Ensemble – high performance ensemble learning

A Python library for high performance ensemble learning ML-Ensemble combines a Scikit-learn high-level API with a low-level computational graph framew

Sebastian Flennerhag 764 Dec 31, 2022
A fast, distributed, high performance gradient boosting (GBT, GBDT, GBRT, GBM or MART) framework based on decision tree algorithms, used for ranking, classification and many other machine learning tasks.

Light Gradient Boosting Machine LightGBM is a gradient boosting framework that uses tree based learning algorithms. It is designed to be distributed a

Microsoft 14.5k Jan 8, 2023