torrvision / Objectness

BING Objectness proposal estimator linux/mac/windows version implementation, runs at 1000 FPS. More in http://mmcheng.net/bing/ and also http://www.robots.ox.ac.uk/~szheng/DepthProposals.html
http://kylezheng.org/objectproposal/
BSD 3-Clause "New" or "Revised" License
190 stars 86 forks source link

How to correctly set all the paths and run the code? #8

Open sunshineatnoon opened 9 years ago

sunshineatnoon commented 9 years ago

I have successfully make the project, but I can't find how to run the code. I tried to run BING_linux, but I got this error:

OpenCV Error: Assertion failed (matRead(_modelName + ".xP", xP1f) && matRead(_modelName + ".xN", xN1f)) in trainStageI, file /home/lixueting/Downloads/Objectness-master/Src/Objectness.cpp, line 555
terminate called after throwing an instance of 'cv::Exception'
  what():  /home/lixueting/Downloads/Objectness-master/Src/Objectness.cpp:555: error: (-215) matRead(_modelName + ".xP", xP1f) && matRead(_modelName + ".xN", xN1f) in function trainStageI

I looked into yml.m, there are voc path and imagenet path, do I have to download imagenet too in order to run the code? Thanks!

phil0stine commented 9 years ago

I second this question. Not to hijack, but I also cannot find any mention of "WinRecall.m", which is used in main.cpp. It seems related to the issue of setting up all paths and downloading the required files.

bittnt commented 9 years ago

@sunshineatnoon No, you do not need to download ImageNet unless you want to try BING on ImageNet. Otherwise, stick to VOC.

bittnt commented 9 years ago

@phil0stine Sorry for the confusion. The answer is NO. In fact, WinRecall.m is generated from the BING program.

RyanCV commented 8 years ago

@sunshineatnoon , I have the following error similar to yours, do u know how to solve it?? Invalidate class name in /media/BING_Linux/Src/DataSetVOC.cpp:125 OpenCV Error: Assertion failed (Invalidate class name ) in loadBox, file /media/BING_Linux/Src/DataSetVOC.cpp, line 125 terminate called after throwing an instance of 'cv::Exception' what(): /media/BING_Linux/Src/DataSetVOC.cpp:125: error: (-215) Invalidate class name in function loadBox

sfandi commented 8 years ago

@sunshineatnoon @bittnt got the same problem. I'm trying to run for it exam. Any solutions? :\

bittnt commented 8 years ago

This means the VOC files you are trying to read do not meet the requirement for the code. Check the DataSetVOC.cpp line 125, probably because you have extra space or invisible symbols in that txt file.

ramanpreet9 commented 8 years ago

how do u run bing on a given image. not VOC dataset. Forexample: how od you get the 2D object proposals in bing on lena.png

ming-c commented 7 years ago

@RyanCV Hi Ryan, did you find how to solve this problem? I have tried opencv2.4.13 and opencv3.2.0, both of them report this message to me. Thank you.

brat-eek commented 7 years ago

@bittnt @RyanCV @sfandi I encounter the same problem. Has anyone found a solution ?

I print the path to the VOC dataset /mnt1/logs/caffe/objpro/BINGpp/VOCdevkit/VOC2007/ImageSets/Main/train.txt I also print trainNum and testNum trainnum: 2501 testnum: 200

Yet the error: Invalidate class name in /mnt1/logs/caffe/objpro/Objectness/Src/DataSetVOC.cpp:131 OpenCV Error: Assertion failed (Invalidate class name ) in loadBox, file /mnt1/logs/caffe/objpro/Objectness/Src/DataSetVOC.cpp, line 131 terminate called after throwing an instance of 'cv::Exception' what(): /mnt1/logs/caffe/objpro/Objectness/Src/DataSetVOC.cpp:131: error: (-215) Invalidate class name in function loadBox

Aborted (core dumped) Which txt are you talking about @bittnt when referring to extra space and invisible symbols ??

bittnt commented 7 years ago

Check the encode type for the txt files.

dorioliu commented 6 years ago

Hi , Shuai Zheng @bittnt , thanks for your work. I do not understand what you said above "Check the encode type for the txt files.", I think i have a right path for VOC2007 and right format "yml" instead of "xml" , but i also get the same problem :

in /home/dorioliu/Documents/objectdetecion/BING/Objectness-master_linuxversion/Src/DataSetVOC.cpp:125 OpenCV Error: Assertion failed (Invalidate class name ) in loadBox, file /home/dorioliu/Documents/objectdetecion/BING/Objectness-master_linuxversion/Src/DataSetVOC.cpp, line 125 terminate called after throwing an instance of 'cv::Exception' what(): /home/dorioliu/Documents/objectdetecion/BING/Objectness-master_linuxversion/Src/DataSetVOC.cpp:125: error: (-215) Invalidate class name in function loadBox

dorioliu commented 6 years ago

Hi, @RyanCV ,did you solve your problem ?

MaryAnnZ commented 6 years ago

@dorioliu @ming-c @RyanCV Did you set up the database correctly? It should look like this: https://mmcheng.net/bingreadme/ , you can also check the paths to the training and test files in the constructor of DataSetVOC. For some reason the function CmFile::loadStrList() did not work for me (I am using OpenSUSE) and I modified the code that the files are red correctly. And also check if you have a class.txt file next to train and test.txt. My download did not contain that, so I wrote one myself. Now the application is able to produce the training models.

lyycfairy commented 6 years ago

@MaryAnnZ is right! I just comment the line "line.resize(sz - 1)" in function CmFile::loadStrList(). then it works.