DualCam issues - CCV 1.3, stitching fps & resoultion
Posted: 17 April 2010 11:14 AM   [ Ignore ]
New Member
Rank
Total Posts:  21
Joined  2010-03-13

hi!

im a little stuck with my DSI project:

now because im planning to use fidicuals / object tracking i tried to get as much resolution and fps as possible and therefore bought two PS3 cams from peau which already installed with the free CL driver:

can i use 2 cams with the free cl driver? [edit: no i cant - so i just bought the CL pack]

now i want to stitch the two cameras but im not sure if i understood how this works in particular. before stitching i tried to get a stable cam configuration with at least 640x480@60fps per cam which afaik would result in 1280x480

i edited CCV config to:
1280
480
<FRAMERATE>60</FRAMERATE>

...but im getting 15fps in CCV?

when i open CLEyeTest i only see one stream and i can not change framerate… or is it just CCV that wont change fps because “use framerate:” is checked…?

in the next step i want to document stitching the two cams. i couldnt find any tutorial that describes stitching even though it seems to be a little tedious and im sure this is also interesting for others.

how is stitching done?

i have to use a calibration pattern (lines or geometric forms) that both cams can see and the stitch the ends of each picture together using the various transforms and lens corrections within cl… correct?

but then ill be getting two blobs for a single “real” touch or do they “overlay” because two cams are connected… i dont understand.

help is very much appreciated

Profile
 
 
Posted: 21 April 2010 09:30 AM   [ Ignore ]   [ # 1 ]
Administrator
Avatar
RankRankRankRank
Total Posts:  585
Joined  2009-09-17

Is that the most recent version of CCV that you are using?
How about posting a video where you try 640x240 @ 30fps and then @ 60fps? Does it run faster than 15fps then?
What are you going to be driving with this tracker? What is your front end UI?
The CL-Eye Test has nothing to do with CCV since it uses different framework for obtaining the camera images.

Profile
 
 
Posted: 22 April 2010 12:37 AM   [ Ignore ]   [ # 2 ]
New Member
Rank
Total Posts:  21
Joined  2010-03-13
AlexP - 21 April 2010 09:30 AM

Is that the most recent version of CCV that you are using?

Yes, the one with installer - 1.3

How about posting a video where you try 640x240 @ 30fps and then @ 60fps? Does it run faster than 15fps then?

video is coming….

What are you going to be driving with this tracker? What is your front end UI?

Remember the master-thesis? i have 2 weeks to prepare my system and get the hardware ready with at least 100fps @ 320x240 each(!) so two friends (c++ developers) will try to adapt the alogarithm (with a DS-fliflop micro controller to controll the LEDs (on/off-pulsing)... do you think its possible with two cams ? 320x240 @ 100fps each or will it exceed my USB bandwidth ? Can i install a second USB 2.0 PCI card…will it help?

Profile
 
 
Posted: 22 April 2010 06:37 PM   [ Ignore ]   [ # 3 ]
Administrator
Avatar
RankRankRankRank
Total Posts:  585
Joined  2009-09-17

Ok here are a few things:

1. If you want to use two cameras, they must be synchronized first. Then you can pulse the LEDs based on that common sync signal.
2. The frame rate for QVGA (320x240) of 120fps is not a valid frame rate, it should be one of these: 15, 30, 60, 75, 100 or 125.

So edit your config.xml file and put either:

<WIDTH>640</WIDTH>
<
HEIGHT>240</HEIGHT>
<
FRAMERATE>100</FRAMERATE

or

<WIDTH>640</WIDTH>
<
HEIGHT>240</HEIGHT>
<
FRAMERATE>125</FRAMERATE

Once you do that the CCV should run at the desired framerate. Also not that running at this high framerate you should have a moderately fast machine. The USB bandwidth should not be a problem and you should be able to run both cameras off of a single controller.

AlexP

Profile
 
 
Posted: 24 April 2010 06:51 AM   [ Ignore ]   [ # 4 ]
New Member
Rank
Total Posts:  21
Joined  2010-03-13

thanks a lot!

so if i want to use 640x480 for each camera the CCV config would be:

<WIDTH>1280</WIDTH>
<HEIGHT>480</HEIGHT>
<FRAMERATE>60/75/100/125</FRAMERATE>

correct?

here is my latest FPS test with your recommended settings.
somehow my FPS isnt stable and it takes a while to normalize…

Profile
 
 
Posted: 24 April 2010 03:59 PM   [ Ignore ]   [ # 5 ]
Administrator
Avatar
RankRankRankRank
Total Posts:  585
Joined  2009-09-17

No, the frame rate for VGA (640x480) should be one of these: 15, 30, 40, 50, 60, 75.
If you gonna be using LED strobing then you would effectively only process every second frame by the CCV. Since you are planning to make all of these modifications to the CCV including a custom blob tracker, maybe it will be easier to just create a simple app from scratch to test these concepts. You can still use the camera stitching input component of course. Eventually when everything works you can easily port it back to CCV.

Profile
 
 
Posted: 27 April 2010 06:02 AM   [ Ignore ]   [ # 6 ]
New Member
Rank
Total Posts:  21
Joined  2010-03-13

yes, thats mainly how we are going to start. but in the first step we have to achieve stable framerate ~> 100fps.
i tried qvga (320x240) with 100 / 125 but max. was 90fps.

why is CCV showing 1280x480 even though the config file is set to 640x480 ?
also it takes some time for CCV to start with VGA @ 60 / 75 and even then my framerate is <50…?

i made a video of all different settings… i hope there is a solution for this ohh

Profile
 
 
Posted: 27 April 2010 06:56 PM   [ Ignore ]   [ # 7 ]
Administrator
Avatar
RankRankRankRank
Total Posts:  585
Joined  2009-09-17

Your machine is either not powerful enough or you are running multiple instances of CCV. But something seems to be sucking your CPU. The video settings are as I described in previous posts so there is no need to poke around. You tried too many combinations and it may be that some of your settings files are messed up after all fo this. I suggest installing CCV and overwriting the settings files and starting from scratch. This way you can eliminate problems one by one.

Profile
 
 
Posted: 28 April 2010 02:38 AM   [ Ignore ]   [ # 8 ]
New Member
Rank
Total Posts:  21
Joined  2010-03-13

my system:

CPU: Core i5 750 with 4x 3Ghz
RAM: 8GB CL8 1600mhz
Video: Radeon HD 5850
~ 50° Temp

I ve run several stress tests, prime95, linX and my system is very stable…
do you really think thats not enough for CCV ?

tommorow im going to re-install CCV (should i uninstall your driver too?) and try again…
can i just uninstall CCV from the control panel or are there any registry keys i have to delete manually ?

Profile
 
 
Posted: 28 April 2010 04:51 PM   [ Ignore ]   [ # 9 ]
Administrator
Avatar
RankRankRankRank
Total Posts:  585
Joined  2009-09-17

Just reinstall CCV. All the config files will be reset, so you’re fine. Processing images of 1280x480 at 75fps is very CPU intensive. Plus CCV does not do multi-threaded processing. One way to check is to pull up the Task Manager and display the Performance tab and look at each CPU core usage. If any of them hits 100% you will definitely drop the processing frame rate.

My point is that you will not be processing frames at 125fps anyways. You will be processing them and 1/2 of that frame rate. So you should test that as well.

Profile
 
 
Posted: 29 April 2010 05:38 AM   [ Ignore ]   [ # 10 ]
New Member
Rank
Total Posts:  21
Joined  2010-03-13

yes, you are right - thats how we are going to start after i have a stable setup.

reinstalled CCV, run registry cleanup. you were partially right… with 640x240 im reaching 100fps. iv opened taskamanager to show CPU load… its not more than 40% (or 60% single core)... please have a look.

...video coming…

my goal is to run a stable 1280x480 @ 60fps or 640x240 @ >100fps

Profile
 
 
Posted: 30 April 2010 08:06 AM   [ Ignore ]   [ # 11 ]
New Member
Rank
Total Posts:  21
Joined  2010-03-13

not working… long face

please have a look…thx!


Profile
 
 
Posted: 30 April 2010 08:54 PM   [ Ignore ]   [ # 12 ]
Administrator
Avatar
RankRankRankRank
Total Posts:  585
Joined  2009-09-17

If your CPU is low as we can see in your video, I’m pretty sure you are getting the right frame rate.
I am not sure if the CCV frame rate display works properly. So I think there is a bug in the CCV fps code.

Profile
 
 
Posted: 01 May 2010 05:50 AM   [ Ignore ]   [ # 13 ]
New Member
Rank
Total Posts:  21
Joined  2010-03-13

how can i test what my effective fps is?

also i read about USB bandwith:

“...this equates to 480/8 = 60 MB/s

1 frame at 640x480 in RGB = (640x480) * 3 = 921.6KB // assuming we use 8 bit resolution - im not sure what the PS3 does!
1 frame at 320x240 in RGB = (320x240) * 3 = 230.4KB // again assuming we use 8 bit resolution

@ 60 FPS
the throughput at 640x480 resolution = 60 * 921.6KB = 55.3MB/s
the throughput at 320x240 resolution = 60 * 230.4KB = 13.8MB/s”

so is 1280€480 @ 60fps possible when the throughut at vgs is ~ 55mb ?

as you can see my CPU load is ok with 1280x480 @ 75 fps (even though CCV starts with a black screen and it takes 2 minutes until i get picture / fps)
but the question is: am i really running 1280x480 @ ~ 75 fps or not?

Profile
 
 
Posted: 01 May 2010 02:35 PM   [ Ignore ]   [ # 14 ]
Administrator
Avatar
RankRankRankRank
Total Posts:  585
Joined  2009-09-17

As I suggested before, you should start by writing an application from scratch to test all the code from that paper. This way you would eliminate all the CCV issues that you are seeing. You will also be able to reliably evaluate the performance of the features you are planing to use.

To answer your question, it is possible to run two cameras at VGA @60fps on a single bus, because we are not transmitting RGB (3 bytes) per pixel. We are only sending 1 byte per pixel.

Profile
 
 
Posted: 08 May 2010 01:41 AM   [ Ignore ]   [ # 15 ]
New Member
Rank
Total Posts:  21
Joined  2010-03-13

FPS problem solved…:coolsmile:

http://nuigroup.com/forums/viewthread/9621/

Profile
 
 
1 of 3
1
 


RSS 2.0     Atom Feed