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

sync problem in stereo image

asked 2011-02-17 06:28:21 -0600

Reza gravatar image

updated 2011-02-17 06:38:49 -0600

Eric Perko gravatar image

modified stereo_camera_model.cpp in image_geometry, now I can receive /stereo/disparity message, but still there is problem in image sync when I want to view by: rosrun image_view stereo_view stereo:=/stereo image:=image_rect there is just three gray windows (no image) and a [WARN] message as below any suggestion, please?

[ WARN] [1297946062.739511145]: [stereo_view] Low number of synchronized left/right/disparity triplets received.
Left images received:      104 (topic '/stereo/left/image_rect')
Right images received:     102 (topic '/stereo/right/image_rect')
Disparity images received: 18 (topic '/stereo/disparity')
Synchronized triplets: 0
Possible issues:
               * stereo_image_proc is not running.
                 Does `rosnode info /stereo_view_1297946016943512050` show any connections?
               * The cameras are not synchronized.
                 Try restarting stereo_view with parameter _approximate_sync:=True
               * The network is too slow. One or more images are dropped from each triplet.
                 Try restarting stereo_view, increasing parameter 'queue_size' (currently 5)
[ WARN] [1297946077.740713539]: [stereo_view] Low number of synchronized left/right/disparity triplets received.
Left images received:      147 (topic '/stereo/left/image_rect')
Right images received:     155 (topic '/stereo/right/image_rect')
Disparity images received: 29 (topic '/stereo/disparity')
Synchronized triplets: 0
Possible issues:
               * stereo_image_proc is not running.
                 Does `rosnode info /stereo_view_1297946016943512050` show any connections?
               * The cameras are not synchronized.
                 Try restarting stereo_view with parameter _approximate_sync:=True
               * The network is too slow. One or more images are dropped from each triplet.
                 Try restarting stereo_view, increasing parameter 'queue_size' (currently 5)
edit retag flag offensive close merge delete

Comments

What cameras and driver are you using?
joq gravatar image joq  ( 2011-02-17 09:56:56 -0600 )edit
I'm prosilica camera, prosilica_node in camera_drivers.
Reza gravatar image Reza  ( 2011-02-18 01:05:38 -0600 )edit

7 Answers

Sort by ยป oldest newest most voted
4

answered 2011-02-23 23:30:43 -0600

Patrick Mihelich gravatar image

If you're running two prosilica_camera instances, probably they are not synchronized - that is, left and right image time stamps don't match up exactly. All the image_pipeline nodes assume exact synchronization for stereo (the ideal case) by default. Since you're getting disparity images from stereo_image_proc, you must have started it with ~approximate_sync set to True. You need to do the same with stereo_view, as the warning message recommends.

A second potential problem is that stereo_image_proc is not running at frame rate. You can see that stereo_view is getting less than one disparity image for every five image pairs. I guess the Prosilica images are too high resolution (or your computer not beefy enough :) for stereo_image_proc to keep up. stereo_view keeps a queue of size 5 (by default) on each input topic, which means the left/right image messages may drop off the queues by the time their matching disparity image arrives. The solution is to increase ~queue_size.

tl;dr Try this:

rosrun image_view stereo_view stereo:=/stereo image:=image_rect _approximate_sync:=True _queue_size:=10

If you just want to view the disparity images (no synchronization required), you can do

rosrun image_view disparity_view image:=/stereo/disparity
edit flag offensive delete link more
0

answered 2011-02-26 18:55:23 -0600

Reza gravatar image

thank you for replies, stereo_view is working now, but refresh rate is too low. resolution is 640x480, which is not very high, I'm suspicion of camera synchronization, does anybody know how we can get sure they and synchronized?

edit flag offensive delete link more

Comments

well for stereo view did you use two differnet launch files or a single one?? cause i have used two different one with different ethernet addresses. but the topic namespace is different for two cameras. and i am also not sure about the sync.

Robot gravatar image Robot  ( 2014-11-10 09:42:09 -0600 )edit
0

answered 2011-02-24 18:49:52 -0600

KoenBuys gravatar image

Since diamond back the prosilica driver now also supports hardware synchronization. You can configure the second camera to take in the frame trigger from the first. Supposing that your wiring provides this.

edit flag offensive delete link more
0

answered 2011-02-27 05:29:36 -0600

KoenBuys gravatar image

What's the rate you're getting now? I've seen a couple of our Prosilica camera's not getting up to there max. rate but only to 60% of it. In a few times changing to a different brand of CAT5E cable did the trick. We are currently changing our lab to CAT6 to avoid this problem. If you do hardware synchronisation, Prosilica provides a graphical tool to verify the number of triggers coming in. I used this tool to test my patches on prosilica camera drivers. I assume this is also available in their SDK but I haven't checked it yet.

edit flag offensive delete link more
0

answered 2011-03-01 23:13:23 -0600

Reza gravatar image

checking by "rostopic hz", the images (left, right, and disparity) rate is about 2 hz. I wonder this is a normal and acceptable rate for stereo prosilica cameras. I couldn't find any tools for synchronization in prosilica ROS SDK.

I found out that face_detector is not working in this setup as well, while it works fine when playing recorded stream in a bag (test). can we say that the stereo vision using two prosilica cameras is a failed project?

edit flag offensive delete link more

Comments

Do you have your packages somewhere online in a repo? I'm willing to test it on my Prosilica Stereo setup
KoenBuys gravatar image KoenBuys  ( 2011-03-02 05:13:29 -0600 )edit
please follow face_detector issue in "low rate of stereo prosilica cameras for face_detector"
Reza gravatar image Reza  ( 2011-03-03 02:43:16 -0600 )edit
0

answered 2011-02-19 22:11:15 -0600

Reza gravatar image

joq I'm using prosilica camera, prosilica_node in camera_drivers. do you have any sugesstion?

edit flag offensive delete link more

Comments

Are the cameras synchronized? Did you try setting `~approximate_sync` to true?
joq gravatar image joq  ( 2011-02-21 01:27:22 -0600 )edit
0

answered 2014-01-30 22:10:43 -0600

Vero gravatar image

updated 2014-01-30 22:16:36 -0600

Hi. I'm using ueye cameras, with frame rate: 15 fps (verified with rotopic hz) The resolution of the camera is 640x480, and they are synchronized via hardware.

If I run stereo_view with parameters approximate_sync to true and queue_size to high value, it doesn't work. The three windows are grey, without images.

Any suggestion?

thank you.

edit flag offensive delete link more

Question Tools

2 followers

Stats

Asked: 2011-02-17 06:28:21 -0600

Seen: 5,859 times

Last updated: Jan 30 '14