All Projects → yuanyuanli85 → Fashionai_keypoint_detection_challenge_keras

yuanyuanli85 / Fashionai_keypoint_detection_challenge_keras

Licence: mit
Code for TianChi 2018 FashionAI Cloth KeyPoint Detection Challenge

Programming Languages

python
139335 projects - #7 most used programming language

Labels

Projects that are alternatives of or similar to Fashionai keypoint detection challenge keras

Unet Nested Multiple Classification
This repository contains code for a multiple classification image segmentation model based on UNet and UNet++
Stars: ✭ 52 (-64.38%)
Mutual labels:  unet
Paddleseg
End-to-end image segmentation kit based on PaddlePaddle.
Stars: ✭ 1,244 (+752.05%)
Mutual labels:  unet
Open Solution Salt Identification
Open solution to the TGS Salt Identification Challenge
Stars: ✭ 124 (-15.07%)
Mutual labels:  unet
Unet 3d
3D Unet Equipped with Advanced Deep Learning Methods
Stars: ✭ 57 (-60.96%)
Mutual labels:  unet
Dlcv for beginners
《深度学习与计算机视觉》配套代码
Stars: ✭ 1,244 (+752.05%)
Mutual labels:  unet
Segmentation
Tensorflow implementation : U-net and FCN with global convolution
Stars: ✭ 101 (-30.82%)
Mutual labels:  unet
Segmentationcpp
A c++ trainable semantic segmentation library based on libtorch (pytorch c++). Backbone: ResNet, ResNext. Architecture: FPN, U-Net, PAN, LinkNet, PSPNet, DeepLab-V3, DeepLab-V3+ by now.
Stars: ✭ 49 (-66.44%)
Mutual labels:  unet
Paddlex
PaddlePaddle End-to-End Development Toolkit(『飞桨』深度学习全流程开发工具)
Stars: ✭ 3,399 (+2228.08%)
Mutual labels:  unet
Brats17
Patch-based 3D U-Net for brain tumor segmentation
Stars: ✭ 85 (-41.78%)
Mutual labels:  unet
Ds bowl 2018
Kaggle Data Science Bowl 2018
Stars: ✭ 116 (-20.55%)
Mutual labels:  unet
Unet Crf Rnn
Edge-aware U-Net with CRF-RNN layer for Medical Image Segmentation
Stars: ✭ 63 (-56.85%)
Mutual labels:  unet
Pytorch Pix2pix
Pytorch implementation of pix2pix for various datasets.
Stars: ✭ 74 (-49.32%)
Mutual labels:  unet
Wave U Net For Speech Enhancement
Implement Wave-U-Net by PyTorch, and migrate it to the speech enhancement.
Stars: ✭ 106 (-27.4%)
Mutual labels:  unet
Data Science Bowl 2018
End-to-end one-class instance segmentation based on U-Net architecture for Data Science Bowl 2018 in Kaggle
Stars: ✭ 56 (-61.64%)
Mutual labels:  unet
Semantic Segmentation Of Remote Sensing Images
遥感图像的语义分割,基于深度学习,在Tensorflow框架下,利用TF.Keras,运行环境TF2.0+
Stars: ✭ 125 (-14.38%)
Mutual labels:  unet
Unet Tensorflow
Tensorflow implement of U-Net
Stars: ✭ 50 (-65.75%)
Mutual labels:  unet
Geo Deep Learning
Deep learning applied to georeferenced datasets
Stars: ✭ 91 (-37.67%)
Mutual labels:  unet
Lung Segmentation 2d
Lung fields segmentation on CXR images using convolutional neural networks.
Stars: ✭ 138 (-5.48%)
Mutual labels:  unet
Unet Family
Paper and implementation of UNet-related model.
Stars: ✭ 1,924 (+1217.81%)
Mutual labels:  unet
Tf.keras Commonly Used Models
基于Tensorflow的常用模型,包括分类分割、新型激活、卷积模块,可在Tensorflow2.X下运行。
Stars: ✭ 115 (-21.23%)
Mutual labels:  unet

AiFashion

  • Author: VictorLi, [email protected]
  • Code for FashionAI Global Challenge—Key Points Detection of Apparel 2018 TianChi
  • Rank 45/2322 at 1st round competition, score 0.61
  • Rank 46 at 2nd round competition, score 0.477

Images with detected keypoints

Dress

Dress

Blouse

Blouse

Outwear

Outwear

Skirt

Skirt

Trousers

Trousers

Basic idea

  • The key idea comes from paper Cascaded Pyramid Network for Multi-Person Pose Estimation. We have a 2 stage network called global net and refine net who are U-net like. The network was trained to detect the heatmap of cloth's key points. The backbone network used here is resnet101.
  • To overcome the negative impact from different category, input_mask was introduced to zero the invalid keypoints. For example, skirt has 4 valid keypoints: waistband_left, waistband_right, hemline_left and hemline_right. In input_mask, only those valid masks are 1.0 , while other 20 masks are set as zero.
  • On line hard negative mining, at last stage of refinenet, only take the top losses as consideration and ignore the easy part (small loss)

Dependency

  • Keras2.0
  • Tensorflow
  • Opencv/Numpy/Pandas
  • Pretrained model weights, resenet101

Folder Structure

  • data: folder to store training and testing images and annotations
  • trained_models: folder to store trained models and logs
  • submission: folder to store generated submission for evaluation.
  • src: folder to put all of source code.
    src/data_gen: code for data generator including data augmentation and pre-process
    src/eval: code for evaluation, including inference and post-processing.
    src/unet: code for cnn model definition, including train, fine-tune, loss, optimizer definition.
    src/top:top level code for train, test and demo.

How to train network

  • Download dataset from competition webpage and put it under data.
    data/train : data used as train. data/test : data used for test
  • Download resnet101 model and save it as data/resnet101_weights_tf.h5.
    Note: all the models here use channel_last dim order.
  • Train all-in-one network from scratch
python train.py --category all --epochs 30 --network v11 --batchSize 3 --gpuID 2
  • The trained model and log will be put under trained_models/all/xxxx, i.e trained_models/all/2018_05_23_15_18_07/
  • The evaluation will run for each epoch and details saved to val.log
  • Resume training from a specific model.
python train.py --gpuID 2 --category all --epochs 30 --network v11 --batchSize 3 --resume True --resumeModel /path/to/model/start/with --initEpoch 6

How to test and generate submission

  • Run test and generate submission Below command search the best score from modelpath and use that to generate submission
python test.py --gpuID 2 --modelpath ../../trained_models/all/xxx --outpath ../../submission/2018_04_19/ --augment True

The submission will be saved as submission.csv

How to run demo

  • Download the pre trained weights from BaiduDisk (password 1ae2) or GoogleDrive
  • Save it somewhere, i.e trained_models/all/fashion_ai_keypoint_weights_epoch28.hdf5
  • Or use your own trained model.
  • Run demo and the cloth with keypoints marked will be displayed.
python demo.py --gpuID 2 --modelfile ../../trained_models/all/fashion_ai_keypoint_weights_epoch28.hdf5

Reference

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].