• Stars
    star
    134
  • Rank 270,967 (Top 6 %)
  • Language
    MATLAB
  • License
    MIT License
  • Created about 9 years ago
  • Updated over 8 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Vectorized implementation of convolutional neural networks (CNN) in Matlab for both visual recognition and image processing.

VCNN - Double-Bladed Sword

GPU enabled vectorized implementation of convolutional neural networks (CNN) in Matlab for both visual recognition and image processing. It's a unified framework for both high level and low level computer vision tasks.

How to use it

As long as you get Matlab and CUDA installed, you don't need to worry about other configurations. The system works in both Ubuntu and Windows.

You can directly try the demos without referring to any materials in the project website.

  1. For MNIST, you can launch this script to use a pre-trained model. For training, just launch this script. You will get sensible results within seconds.
  2. For image denoise, launch this script to see the denoise result by pre-train models. For training, you need to generate the data yourself since the data used in the training is large. Please do the following steps to generate data: a) download MIT saliency dataset from here and put all the image files here; b) launch this script to generate training data; c) launch this script to generate validation data; d) launch this script to start the training.
  3. For Deep Edge-Aware Filters, please see this link for details.

Please visit the project website for all documents, examples and videos.

Hardware/software requirements

  1. Matlab 2014b or later, CUDA 6.0 or later (currently tested in Ubuntu 14.04 and Windows 7)
  2. A Nvidia GPU with 2GB GPU memory or above (if you would like to run on GPU). You can also train a new model without a GPU by specifying "config.compute_device = 'CPU';" in the config file (e.g. mnist_configure.m).

Videos

  1. Introduction
  2. MNIST example (demonstrate the speed & accuracy)
  3. Image denoising example

Contributors

Jimmy SJ. Ren ([email protected])
Li Xu ([email protected])

Citation

Cite our papers if you find this software useful.
Jimmy SJ. Ren and Li Xu, "On Vectorization of Deep Convolutional Neural Networks for Vision Tasks", The 29th AAAI Conference on Artificial Intelligence (AAAI-15). Austin, Texas, USA, January 25-30, 2015

VCNN was used in the following research projects

[4] Jimmy SJ. Ren, Li Xu, Qiong Yan, Wenxiu Sun, "Shepard Convolutional Neural Networks", Advances in Neural Information Processing Systems (NIPS 2015).
[3] Yongtao Hu, Jimmy SJ. Ren, Jingwen Dai, Chang Yuan, Li Xu, Wenping Wang, "Deep Multimodal Speaker Naming", The 23rd ACM International Conference on Multimedia (MM 2015).
[2] Li Xu, Jimmy SJ. Ren, Qiong Yan, Renjie Liao, Jiaya Jia, "Deep Edge-Aware Filters", The 32nd International Conference on Machine Learning (ICML 2015).
[1] Li Xu, Jimmy SJ. Ren, Ce Liu, Jiaya Jia, "Deep Convolutional Neural Network for Image Deconvolution", Advances in Neural Information Processing Systems (NIPS 2014).