Skip to content

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

License

Notifications You must be signed in to change notification settings

BenJamesbabala/vcnn_double-bladed

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 (jimmy.sj.ren@gmail.com)
Li Xu (nathan.xuli@gmail.com)

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).

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • MATLAB 96.0%
  • M 2.0%
  • Cuda 2.0%