wg-perception / linemod

An OR pipeline based on LINE-MOD from OpenCV
47 stars 54 forks source link

Training objects not working #6

Closed awesomebytes closed 9 years ago

awesomebytes commented 10 years ago

~/ork/src/ork_linemod/conf$ rosrun object_recognition_core training -c training.ork Training 6 objects. computing object_id: 8b8ec44926f9fec2c30d2c54b906ac40 Info, T0: Load Error, T0: Unable to open file "". Segmentation fault (core dumped)

I get this error when I try to train.

Then obviously if I try to detect objects I get: No models found for method "LINEMOD"

HaoLi-China commented 10 years ago

I also get the same error...Any answers?

awesomebytes commented 10 years ago

@HaoLi-China , linemod seems to be the recognizer which is getting less love for now. If you feel like having time to look into the issue you could try to fix it, by the error it's probably some mistake on loading from the database. Maybe some hardcoded debugging stuff is in there, or a half done change. @vrabaud maybe can give some more info on the status of linemod

hris2003 commented 10 years ago

Hi there,

I just ran into the issue and found out why.

In my case, I use the universal coke mesh. I use ork_core/object_add and mesh_add to upload the object model to couchDB. Then I ran ork_core detection with LINEMOD detection configuration file. And I got: "No models found for method LINEMOD".

Then I tried ork_core trainning with LINEMOD training configuration file, then re-run the LINEMOD detection and it works. :-)

So, make sure your object's model is successfully trained before running LINEMOD detection.

Hope this helps.

garaemon commented 9 years ago

Hi I have the same error and I found I have no files including "original" in their names. https://github.com/wg-perception/linemod/blob/master/src/linemod_train.cpp#L104

On my database, I created it following QuickGuid, the names of the file are cloud.ply and mesh.stl.

If I replace "original" with "mesh.stl", I got following output:

Training 1 objects.
computing object_id: d6ba59044dcd8a434a4634781d000eff
Info,  T0: Load /tmp/fileKmlVKhmesh.stl
Info,  T0: Found a matching importer for this file format
Info,  T0: Import root directory is '/tmp/'
Info,  T0: Entering post processing pipeline
Info,  T0: Points: 0, Lines: 0, Triangles: 1, Polygons: 0 (Meshes, X = removed)
Error, T0: Failed to compute tangents; need UV data in channel0
Warn,  T0: Mesh 0: Not suitable for vcache optimization
Info,  T0: Cache relevant are 0 meshes (0 faces). Average output ACMR is -nan
Info,  T0: Leaving post processing pipeline
hris2003 commented 9 years ago

Hi,

I never have problem running ork-linemod training and without editing anything in the training code.

From the output you provided, your mesh does not sound right (0 meshes, 0 faces /!\ ). Can you view your mesh in blender? How did you add it in the database?

Ha.

On Sat, Dec 13, 2014 at 2:30 PM, Ryohei Ueda notifications@github.com wrote:

Hi I have the same error and I found I have no files including "original" in their names.

https://github.com/wg-perception/linemod/blob/master/src/linemod_train.cpp#L104

On my database, I created it following QuickGuid http://wg-perception.github.io/object_recognition_core/quickguide.html#quickguide, the names of the file are cloud.ply and mesh.stl.

If I replace "original" with "mesh.stl", I got following output:

Training 1 objects. computing object_id: d6ba59044dcd8a434a4634781d000eff Info, T0: Load /tmp/fileKmlVKhmesh.stl Info, T0: Found a matching importer for this file format Info, T0: Import root directory is '/tmp/' Info, T0: Entering post processing pipeline Info, T0: Points: 0, Lines: 0, Triangles: 1, Polygons: 0 (Meshes, X = removed) Error, T0: Failed to compute tangents; need UV data in channel0 Warn, T0: Mesh 0: Not suitable for vcache optimization Info, T0: Cache relevant are 0 meshes (0 faces). Average output ACMR is -nan Info, T0: Leaving post processing pipeline

— Reply to this email directly or view it on GitHub https://github.com/wg-perception/linemod/issues/6#issuecomment-66876344.

albertodesouza commented 9 years ago

Hi,

I am trying to train a linemod ORK detector but I am observing this error: $ rosrun object_recognition_core detection -c rospack find object_recognition_linemod/conf/training.ork python: /tmp/buildd/ros-hydro-ecto-0.6.7-0precise-20141111-2221/src/lib/scheduler.cpp:326: void ecto::scheduler::computestack(): Assertion `! stack.empty()' failed. Aborted (core dumped)

I have tried both instalation modes, from ros repositories and build from source. Both show the same error... Can you help? I would appreciate any suggestion you can offer.

Alberto.

albertodesouza commented 9 years ago

Hi,

I just found the reason for the error above. In this tutorial page (that I was following): http://wg-perception.github.io/ork_tutorials/tutorial03/tutorial.html#training

the line: rosrun object_recognition_core detection -c rospack find object_recognition_linemod/conf/detection.ros.ork`

should be: rosrun object_recognition_core training -c rospack find object_recognition_linemod/conf/detection.ros.ork instead.

Cheers,

Alberto.

hris2003 commented 9 years ago

Hi,

I think the right line should be:

rosrun object_recognition_core training -c rospack find object_recognition_linemod/conf/training.ork

You can make a pull request to suggest a correction to https://github.com/wg-perception/ork_tutorials.

Cheers,

Ha.

On Fri, Jan 2, 2015 at 3:44 AM, albertodesouza notifications@github.com wrote:

Hi,

I just found the reason for the error above. In this tutorial page (that I was following): http://wg-perception.github.io/ork_tutorials/tutorial03/tutorial.html#training

the line: rosrun object_recognition_core detection -c rospack find object_recognition_linemod/conf/detection.ros.ork`

should be: rosrun object_recognition_core training -c rospack find object_recognition_linemod/conf/detection.ros.ork instead.

Cheers,

Alberto.

— Reply to this email directly or view it on GitHub https://github.com/wg-perception/linemod/issues/6#issuecomment-68506356.

vrabaud commented 9 years ago

Hi, I fixed the doc. The code for linemod is about to receive a major improvement/bugfix with #7 so I am closing this one.