ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Compiling object_recognition against which ROS base installation?

asked 2011-03-24 02:31:18 -0500

Julius gravatar image

Until now I have successfully compiled object_recognition against ROS diamondback installation using the following .rosinstall configuration:

- svn: {local-name: object_recognition, uri: ''}
- svn: {local-name: object_recognition_experimental, uri: ''}
- svn: {local-name: perception_pcl_addons, uri: ''}
- svn: {local-name: vslam, uri: ''}
- svn: {local-name: opencv_candidate, uri: ''}
- other: {local-name: /opt/ros/diamondback/ros}
- other: {local-name: /opt/ros/diamondback/stacks}

where I installed diamondback as a .deb package in Ubuntu, following these instructions. After a SVN update of object_recognition and its dependencies (except ROS Diamondback) I am running into errors when using recognizer in tod_detecting. I receive "OpenCV errors" (some assertions fail).

  • I wonder whether I am compiling the object_recognition stack against the same ROS installation and OpenCV version as the object_recognition developers?
  • Or should I compile against SVN version of ROS?
  • Is there a .rosinstall file for the object_recognition stack that relieves me of the burden to find the right dependencies for making object_recognition?

It would be helpful to have a similar setup like the object_recognition stack developers.


([ INFO] [1300976281.637313973]: LSH matching :1.66269
OpenCV Error: Assertion failed (CV_IS_MAT(objectPoints) && CV_IS_MAT(imagePoints) && CV_IS_MAT(A) && CV_IS_MAT(rvec) && CV_IS_MAT(tvec)) in cvFindExtrinsicCameraParams2, file /tmp/buildd/ros-diamondback-vision-opencv-1.4.1/debian/ros-diamondback-vision-opencv/opt/ros/diamondback/stacks/vision_opencv/opencv2/build/opencv-svn/modules/calib3d/src/calibration.cpp, line 1156)

I'd like to know whether this is regression or whether I just need to adapt my environment.

edit retag flag offensive close merge delete


It seems that the problem is not with the wrong OpenCV version I used, as both the recent SVN version from OpenCV and Diamondback's lead to failure.
Julius gravatar image Julius  ( 2011-03-28 01:47:50 -0500 )edit
Julius gravatar image Julius  ( 2011-03-28 03:44:51 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2011-03-28 08:49:49 -0500

Vincent Rabaud gravatar image

updated 2011-03-28 09:23:06 -0500

It's a regression, revert to the version that worked for you: the code was working because it was assuming that the camera parameters were the training ones if none were given.

This was a dangerous assumption so i removed it. I did not notice it as the Kinect is giving us the data and I am working with the Kinect mostly. There is no way to input those parameters through the test file for now. We are cleaning a lot of stuff these days, and we are trying to clean the parameter files too so that should be done shortly I hope.

We are not really improving performance these days, just cleaning, so there is no point in svn up this week or next week.

Regards, Vincent

edit flag offensive delete link more


Thanks for confirmation. Regression introduced with revision 50321. But after all, except for the cleanups, looking at the code in the recent revisions, I got the impression that 3d to 3d matching has been implemented in GuessGenerator.
Julius gravatar image Julius  ( 2011-03-28 19:33:23 -0500 )edit
I'd really like to SVN update to get the refactored version of the GuessGenerator, but it's two weeks gone and it still is an issue. I guess the camera matrix is not initialized. I'll post another comment if I get anywhere.
Julius gravatar image Julius  ( 2011-04-11 20:16:34 -0500 )edit
I found two of the related bugs, see for a quick&dirty workaround.
Julius gravatar image Julius  ( 2011-04-11 20:58:23 -0500 )edit

Question Tools

1 follower


Asked: 2011-03-24 02:31:18 -0500

Seen: 505 times

Last updated: Mar 28 '11