GithubHelp home page GithubHelp logo

suhangpro / mvcnn Goto Github PK

View Code? Open in Web Editor NEW
364.0 364.0 132.0 17.14 MB

Multi-view CNN (MVCNN) for shape recognition

Home Page: http://vis-www.cs.umass.edu/mvcnn/

License: MIT License

MATLAB 83.62% C++ 3.86% Python 6.01% JavaScript 5.82% M 0.69%
computer-graphics computer-vision convolutional-neural-networks deep-learning

mvcnn's People

Contributors

arunirc avatar brotherhuang avatar kalo-ai avatar msubhransu avatar suhangpro 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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mvcnn's Issues

Issue with compiling on GPU

Hi,
I ran to an issue when I use
matlab -nodisplay -r "setup(true,struct('enableGpu',true,'enableCudnn',true));exit;"
The errors I got are

Building with 'nvcc'.
Error using mex
/home/xiao/Documents/mvcnn/dependencies/matconvnet/matlab/src/bits/impl/nnconv_cudnn.cu(112): error: argument of
type "int" is incompatible with parameter of type "cudnnTensorFormat_t"
detected during instantiation of "vl::Error vl::impl::nnconv_cudnn::forward(vl::Context &,
vl::Tensor, double, vl::Tensor, double, vl::Tensor, vl::Tensor, int, int, int, int, int, int) [with
dataType=vl::vlTypeFloat]"
(537): here
/home/xiao/Documents/mvcnn/dependencies/matconvnet/matlab/src/bits/impl/nnconv_cudnn.cu(112): error: too few
arguments in function call
detected during instantiation of "vl::Error vl::impl::nnconv_cudnn::forward(vl::Context &,
vl::Tensor, double, vl::Tensor, double, vl::Tensor, vl::Tensor, int, int, int, int, int, int) [with
dataType=vl::vlTypeFloat]"
(537): here
/home/xiao/Documents/mvcnn/dependencies/matconvnet/matlab/src/bits/impl/nnconv_cudnn.cu(312): error: argument of
type "ptrdiff_t" is incompatible with parameter of type "cudnnTensorFormat_t"
detected during instantiation of "vl::Error vl::impl::nnconv_cudnn::backward(vl::Context &,
vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, int, int, int, int, int, int)
[with dataType=vl::vlTypeFloat]"
(537): here
/home/xiao/Documents/mvcnn/dependencies/matconvnet/matlab/src/bits/impl/nnconv_cudnn.cu(312): error: too few
arguments in function call
detected during instantiation of "vl::Error vl::impl::nnconv_cudnn::backward(vl::Context &,
vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, int, int, int, int, int, int)
[with dataType=vl::vlTypeFloat]"
(537): here
/home/xiao/Documents/mvcnn/dependencies/matconvnet/matlab/src/bits/impl/nnconv_cudnn.cu(339): error: argument of
type "ptrdiff_t" is incompatible with parameter of type "cudnnTensorFormat_t"
detected during instantiation of "vl::Error vl::impl::nnconv_cudnn::backward(vl::Context &,
vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, int, int, int, int, int, int)
[with dataType=vl::vlTypeFloat]"
(537): here
/home/xiao/Documents/mvcnn/dependencies/matconvnet/matlab/src/bits/impl/nnconv_cudnn.cu(339): error: too few
arguments in function call
detected during instantiation of "vl::Error vl::impl::nnconv_cudnn::backward(vl::Context &,
vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, int, int, int, int, int, int)
[with dataType=vl::vlTypeFloat]"
(537): here
/home/xiao/Documents/mvcnn/dependencies/matconvnet/matlab/src/bits/impl/nnconv_cudnn.cu(112): error: argument of
type "int" is incompatible with parameter of type "cudnnTensorFormat_t"
detected during instantiation of "vl::Error vl::impl::nnconv_cudnn::forward(vl::Context &,
vl::Tensor, double, vl::Tensor, double, vl::Tensor, vl::Tensor, int, int, int, int, int, int) [with
dataType=vl::vlTypeDouble]"
(540): here
/home/xiao/Documents/mvcnn/dependencies/matconvnet/matlab/src/bits/impl/nnconv_cudnn.cu(112): error: too few
arguments in function call
detected during instantiation of "vl::Error vl::impl::nnconv_cudnn::forward(vl::Context &,
vl::Tensor, double, vl::Tensor, double, vl::Tensor, vl::Tensor, int, int, int, int, int, int) [with
dataType=vl::vlTypeDouble]"
(540): here
/home/xiao/Documents/mvcnn/dependencies/matconvnet/matlab/src/bits/impl/nnconv_cudnn.cu(312): error: argument of
type "ptrdiff_t" is incompatible with parameter of type "cudnnTensorFormat_t"
detected during instantiation of "vl::Error vl::impl::nnconv_cudnn::backward(vl::Context &,
vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, int, int, int, int, int, int)
[with dataType=vl::vlTypeDouble]"
(540): here
/home/xiao/Documents/mvcnn/dependencies/matconvnet/matlab/src/bits/impl/nnconv_cudnn.cu(312): error: too few
arguments in function call
detected during instantiation of "vl::Error vl::impl::nnconv_cudnn::backward(vl::Context &,
vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, int, int, int, int, int, int)
[with dataType=vl::vlTypeDouble]"
(540): here
/home/xiao/Documents/mvcnn/dependencies/matconvnet/matlab/src/bits/impl/nnconv_cudnn.cu(339): error: argument of
type "ptrdiff_t" is incompatible with parameter of type "cudnnTensorFormat_t"
detected during instantiation of "vl::Error vl::impl::nnconv_cudnn::backward(vl::Context &,
vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, int, int, int, int, int, int)
[with dataType=vl::vlTypeDouble]"
(540): here
/home/xiao/Documents/mvcnn/dependencies/matconvnet/matlab/src/bits/impl/nnconv_cudnn.cu(339): error: too few
arguments in function call
detected during instantiation of "vl::Error vl::impl::nnconv_cudnn::backward(vl::Context &,
vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, int, int, int, int, int, int)
[with dataType=vl::vlTypeDouble]"
(540): here
12 errors detected in the compilation of "/tmp/tmpxft_00007998_00000000-7_nnconv_cudnn.cpp1.ii".

Error in vl_compilenn>mex_compile (line 478)
mex(mopts{:}) ;

Error in vl_compilenn (line 436)
mex_compile(opts, srcs{i}, objfile, flags.mexcu) ;

Error in setup (line 67)
vl_compilenn(matconvnetOpts);

I am using cudnn 5.1 will this be the issue??

Hardware requirement for training

I have a 2GB card but the program always exit with out of memory on GPU. I was wondering how much RAM does it take to do training.

关于caffe imp的问题

 您好,我在运行caffe imp的时候,出现了一个问题,在加载完预训练model后,开始训练的时候 python奔溃,我在windows及ubuntu下都试了,是同样的问题。谢谢

broken

是solver配置的问题,已解决~

Issue about the size of ModelNet 40

Hi,
You mentioned that there are 12,311 object instances in the ModelNet 40 dataset in your paper. However, in your provided dataset, I find there are only 3,983 object instances. Could you please provide more details about the dataset. Thank you for your help.

Installation problems.

I am having trouble installing, and am a bit confused by your instructions.

I get the following results for the first two instructions:

ammirato@bvision4:~/mvcnn$ git submodule update --init
Cloning into 'dependencies/matconvnet'...
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
Clone of '[email protected]:vlfeat/matconvnet.git' into submodule path 'dependencies/matconvnet' failed
ammirato@bvision4:~/mvcnn$ MEX=<MATLAB_ROOT>/bin/mex matlab -nodisplay -r "setup(true);exit;"
bash: MATLAB_ROOT: No such file or directory

Any idea what I'm doing wrong?

question about learning rate

Mr Su,
I ran your code of mvcnn, and I've found a problem in the code. The training epoch is split into 3 stages, while theoretically the learningRates of every layer differ in different stage. However, the learningRates cannot be modified when stage changes, and only the last layer of the net may change during the whole training process.

Rendered Images for Shrec17

Hi,

I wonder if you have the rendered images for shrec17? The provided shapenet55 dataset is rendered from ShapeNetCorev1, right?

I would like to run some baselines. So it would be better if I use the same dataset for fair comparison.

Thanks

precious

The program runs to modelnet experimental phase 2-mvcnn,net’s viewpool layer not have the field of ‘precious’.Can you give me some advice?Thank you

Reference to non-existent field 'learningRate'.

In iccv branch, after I execute
matlab -nodisplay -r "run_experiments;exit;"
The following error message prompt out. How should I do to fix this problem?

  [36/40] toilet ... 	train/val/test: 64/16/20 (shapes)
  [37/40] tv_stand ... 	train/val/test: 64/16/20 (shapes)
  [38/40] vase ... 	train/val/test: 64/16/20 (shapes)
  [39/40] wardrobe ... 	train/val/test: 64/16/20 (shapes)
  [40/40] xbox ... 	train/val/test: 64/16/20 (shapes)
Loading imdb from data/modelnet40v1/imdb.mat ... done!
Downloading model (imagenet-matconvnet-vgg-m) ... done!
Reference to non-existent field 'learningRate'.

Error in cnn_shape>@(l)l.learningRate (line 129)
lr = cellfun(@(l) l.learningRate, net.layers(trainable_layers),'UniformOutput',false);

Error in cnn_shape (line 129)
lr = cellfun(@(l) l.learningRate, net.layers(trainable_layers),'UniformOutput',false);

Error in run_experiments (line 12)
cnn_shape('modelnet40v1', ...
 
>> 

problem with training for loss

HI@ @suhangpro ,
Thanks for your code. But when I run this code,I only got loss=87.33. I have checked the label and input ,they are right. I am wondering is there some problem with the batch size in data layer when your definite it ? Because I try to set batch_size as 32, but it meets some problem.

Install dependencies problem

Hello,
When 'git submodule update --init' , there's no error.
But when 'matlab -nodisplay -r "setup(true,struct('enableGpu',true,'enableCudnn',true));exit;"', the errors I got,
image

I guess the dependencies installed unsuccessfully.
So should I install the dependencies independently?Or there are any better solutions?

Thanks.

PyTorch/ResNet Implementation

Hey, thanks the the awesome project and paper. I would just like to inform you and everyone else that I've made a PyTorch implementation of MVCNN using ResNet. You can find the project here.

code for shape retrieval

Hi @suhangpro,
Thanks for open-sourcing MVCNN.
Could you please kindly release the code for shape retrieval experiments (on Shrec2016) as well?

Thank you!

Zhongqi Sun

Unrecognized field name "learningRate".

Hi,Mr Su!Sorry to bother you. I am running run_experiments.m in the MVCNN code. However ,there is an unrecognizable field name of "learningRate", and the error is at line 130 in cnn_shape.m,'lr = cellfun(@(l)l.learningRate, net.layers(trainable_layers),'UniformOutput',false);'.Could you offer some solutions?Thanks!

shapenet55 test label

I want to test the shaptnet55 dataset, but I can't seem to find the label of the test set.

Issue about Dataset

It seems that the modelnet40v1 dataset just has 47796 items rather than 48000. So I think it may miss 214 items in the training data set ?

Fail in generating the rendered images

We would like to generate rendered images of all models in ModelNet40, however, the code released shows a missing of "vl_argparse" which defines the rendering parameters for the 12-view renderer, and I am wondering if you can update it on Github? Thank you.

How is the model' s performance when texture information is included?

Hi, I have seen the great power of 3d object classification MVCNN. And I wonder whether you have examined the network' s performance when the texture information of the 3d model is included? I have collected a bunch of models and some of them are in different class only due to their different color on the surface. So I wonder whether you have tried using colored rendered picture as the input? Thanks!

A question on the FineTuning process of the regular CNN

Hi,

I am just trying to recreate the results of the fine-tuned CNN experiment that you showed on the paper, specifically that a a pre-trained CNN with finetuning on the ModelNet40 dataset using 12x views for both testing and training can achieve 88.6% accuracy.
When you say finetuned, did you retrain just the last layer as your number of classes decreased or did you retrain the entire classifier portion of the network?, and if so what parameters did you use when retraining?

I have currently tried both VGG and Alexnet, and only tuning the last layer due to class number changes, I can only get an accuracy of 78% for Alexnet, and 69% for VGG16. I believe it has something to do with my parameters or my understanding of fine-tuning, but any help on this matter would be phenomenal!

Thanks,
Manik

How can I get the predicted label of a 3D model?

Sorry, I'm new to this area.

When I follow README.md finish the installation, I run this command shape_compute_descriptor('airplane_0002.off');
And I got a .txt file named airplane_0002_descriptor.txt.

What is the purpose of this file? And how can I get the predicted label with this file?

Thanks for any help.

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.