Objectness icon indicating copy to clipboard operation
Objectness copied to clipboard

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

Open sunshineatnoon opened this issue 8 years ago • 14 comments

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!

sunshineatnoon avatar Aug 16 '15 04:08 sunshineatnoon

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.

phil0stine avatar Aug 19 '15 20:08 phil0stine

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

bittnt avatar Aug 27 '15 12:08 bittnt

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

bittnt avatar Aug 27 '15 12:08 bittnt

@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

RyanCV avatar Jan 10 '16 22:01 RyanCV

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

sfandi avatar May 13 '16 10:05 sfandi

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.

bittnt avatar May 15 '16 14:05 bittnt

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

ramanpreet9 avatar Jun 17 '16 09:06 ramanpreet9

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

ming-c avatar Jan 25 '17 01:01 ming-c

@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 ??

brat-eek avatar Jul 26 '17 06:07 brat-eek

Check the encode type for the txt files.

bittnt avatar Jul 29 '17 06:07 bittnt

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 avatar Dec 10 '17 16:12 dorioliu

Hi, @RyanCV ,did you solve your problem ?

dorioliu avatar Dec 10 '17 16:12 dorioliu

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

MaryAnnZ avatar May 14 '18 15:05 MaryAnnZ

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

lyycfairy avatar Oct 09 '18 09:10 lyycfairy