Coder Social home page Coder Social logo

hfs's Introduction

We have released the code and data for plotting the edge PR curves of many existing image segmentation and edge detection methods here.

Introduction:

We propose a real-time system, Hierarchical Feature Selection (HFS), that performs image segmentation at a speed of 50 frames-per-second. We make an attempt to improve the performance of previous image segmentation systems by focusing on two aspects: (1) a careful system implementation on modern GPUs for efficient feature computation; and (2) an effective hierarchical feature selection and fusion strategy with learning. Compared with classic segmentation algorithms, our system demonstrates its particular advantage in speed, with comparable results in segmentation quality. Adopting HFS in applications like salient object detection and object proposal generation results in a significant performance boost. Our proposed HFS system can be used in a variety computer vision tasks that are built on top of image segmentation and superpixel extraction. Detailed description of the system can be found in our paper.

Citations

If you are using the code provided here in a publication, please consider citing:

@inproceedings{cheng2016hfs,
  title={{HFS}: Hierarchical Feature Selection for Efficient Image Segmentation},
  author={Cheng, Ming-Ming and Liu, Yun and Hou, Qibin and Bian, Jiawang and Torr, Philip and Hu, Shi-Min and Tu, Zhuowen},
  booktitle={European Conference on Computer Vision},
  pages={867--882},
  year={2016},
  organization={Springer}
}

@conference{liu2018deep,
  title={{DEL}: Deep Embedding Learning for Efficient Image Segmentation},
  author={Yun Liu and Peng-Tao Jiang and Vahan Petrosyan and Shi-Jie Li and Jiawang Bian and Le Zhang and Ming-Ming Cheng},
  booktitle={International Joint Conference on Artificial Intelligence},
  pages={864--870},
  year={2018}
}

Installation

  1. Clone the HFS repository

    git clone https://github.com/yun-liu/hfs.git
  2. Run Matlab script dataset/cvt_format_bsds.m to convert BSDS500 dataset to our C++ format

  3. Unzip the dataset/model.zip package, and put all files into /path/to/BSDS500/Results/ folder. It should have this basic structure

    $BSDS500/
    $BSDS500/Results/mergePartial.idx
    $BSDS500/Results/mergePartial.rlt
    $BSDS500/Results/Segment.WS
    # ... and several other directories ...
  4. For windows code, we tested with CUDA 7.5, OpenCV 3.0.0 and visual studio 2013. For linux code, we tested with CUDA 8.0 and OpenCV 3.0.0 under ubuntu 16.04.

  5. Modify the path in kernel.cu file to your path (/path/to/BSDS500/ or /path/to/image).

Now, you can run it. Have fun!

Acknowledgment

This code is based on gSLIC. Thanks to the contributors of gSLIC.

@article{gSLICr_2015,
    author = {Carl Yuheng Ren and Victor Adrian Prisacariu and Ian D Reid},
    title = {gSLICr: SLIC superpixels at over 250Hz},
    journal = {ArXiv e-prints},
    eprint = {1509.04232},
    year = 2015,
    month = sep
}

hfs's People

Contributors

kant avatar yun-liu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

hfs's Issues

cmake finds opencv but fatal error when compiling

Im using ubuntu 16.04 and attempting to compile this code since the version of opencv I use is 3.3.1 and therefore doesn't contain this within it. When running cmake, I successfully find opencv : -- Found OpenCV: /opt/ros/kinetic (found version "3.3.1") , but when compiling (make) it gives the error: /home/jake/projects/hfs/linux/Segment/BSDSBench/../Stdafx.h:41:31: fatal error: opencv2/opencv.hpp: No such file or directory

cpu version hfs

will u provide the cpu version hfs on windows? i wish to test the hfs on win7, but your code need cuda, so do you have the cpu version? is it possible to open it? if possible, it will be very helpful. looking forward to your reply.

unresolved external errors..

Hi and thank you for making this code available. I am trying to build on windows, vs2015, and I am getting the following:

Severity	Code	Description	Project	File	Line	Suppression State
Error	LNK2001	unresolved external symbol "public: __cdecl Magnitude::~Magnitude(void)" (??1Magnitude@@QEAA@XZ)	Segment	D:\Keying\2018\hfs-master\windows\Segment\HFSSegment.obj	1	

Error	LNK2001	unresolved external symbol "public: __cdecl Magnitude::Magnitude(void)" (??0Magnitude@@QEAA@XZ)	Segment	D:\Keying\2018\hfs-master\windows\Segment\HFSSegment.obj	1	

Error	LNK2001	unresolved external symbol "public: __cdecl gSLIC::engines::seg_engine_GPU::seg_engine_GPU(struct gSLIC::objects::settings const &)" (??0seg_engine_GPU@engines@gSLIC@@QEAA@AEBUsettings@objects@2@@Z)	Segment	D:\Keying\2018\hfs-master\windows\Segment\gSLIC_core_engine.obj	1	

Error	LNK2001	unresolved external symbol "public: void __cdecl Magnitude::process_img(class cv::Mat &,class cv::Mat &)" (?process_img@Magnitude@@QEAAXAEAVMat@cv@@0@Z)	Segment	D:\Keying\2018\hfs-master\windows\Segment\HFSSegment.obj	1	

What am i missing here? Do I need to build the GSlic lib as an external dependency? Or have you included all the code?

Thanks again!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.