/skelnet

Keras code of my 2019 CVPR Workshop paper "Pyramid U-Network for Skeleton Extraction from Shape Points"

Primary LanguagePythonMIT LicenseMIT

PSPU-SkelNet

Pyramid U-Network for Skeleton Extraction from Shape Points to be presented at 2019 CVPR Workshop.

This is the code implementation of the solution in the Point SkelNetOn CVPR 2019 Challenge. TeamPH ranked 3rd with Chamfer Distance score of 2.9105.

Dataset

  • The dataset is assumed to be at subdirectory dataset/point. So mkdir dataset/point.
  • Download compressed train dataset here.
  • Copy in skelnet directory.
  • Extract by running tar zxvf npy.tar.gz inside skelnet directory.
  • Download image version of final test images here
  • Copy in dataset/point and extract by running tar zxvf weights.tar.gz.

Make predictions using pre-trained weights

  • Download compressed weights here
  • Copy in skelnet directory.
  • Extract by running tar zxvf weights.tar.gz inside skelnet directory.
  • Run prediction: python3 pspu_skelnet.py --weights=weights/pspu_skelnet.h5
  • View predictions in folder dataset/point/root
  • To convert predicted images to point cloud run: python3 img2pt.py

Train the model

  • Train the model from scratch: python3 pspu_skelnet.py --train
  • Alternatively, train the model from pre-trained weights: python3 pspu_skelnet.py --train --weights=weights/pspu_skelnet.h5

Network Model

The network is a pyramid of 3 U-Networks. U-Network is commonly used in image translation problems while pyramid structure is used for discovering different levels of feature maps.

PSPU-SkelNet

Sample skeleton detection on test split

Sample Prediction

Citation

If you find this work useful, please cite:

@InProceedings{Atienza_2019_CVPR_Workshops,
author = {Atienza, Rowel},
title = {Pyramid U-Network for Skeleton Extraction From Shape Points},
booktitle = {The IEEE Conference on Computer Vision and Pattern Recognition (CVPR) Workshops},
month = {June},
year = {2019}
}