640x480 60fps stability problem
Posted: 23 April 2010 11:03 PM   [ Ignore ]
New Member
Rank
Total Posts:  25
Joined  2010-04-13

First of all many thanks for a great job making ps3eye windows driver!

My problem is with stability of the driver under 640x480 with high frame rate.
I have recompiled enclosed example CLEyeFaceTracker to use higher frame rates
from default 30 fps to 60 fps and it dos not work stable. It stops delivering new captured frames,
visually it just freezes. When I use CLEYE_MONO_PROCESSED instead of CLEYE_COLOR_PROCESSED,
application can work correctly even for 10 minutes but eventually freezes.

It works perfectly under QVGA resolution with all frame rates.

I consider using this driver in a commercial setup and would be very grateful for a response.


details of the system used:

CL-Eye Platform Driver Version: 4.0.1.0217, CL-Eye Platform SDK Version: 1.1.0.0220
windows XP SP2, latest updates, directx latest updates
compiler: Visual Studio Express 2008 SP1

the same problems are also reproducible under different hardware:
laptop with Vista Home, latest updates,  the same application configuration and compiler

modification line to the CLEyeFaceTracker application:
cam = new CLEyeCameraCapture(windowName, guid, CLEYE_COLOR_PROCESSED, CLEYE_VGA, 60);

Profile
 
 
Posted: 24 April 2010 12:58 AM   [ Ignore ]   [ # 1 ]
Jr. Member
Avatar
RankRank
Total Posts:  40
Joined  2009-12-28

What is the performance spec of your test systems?

 Signature 

“Strive for perfection in everything you do. Take the best that exists and make it better. When it doesn’t exist, design it, build it and Open Source it!” http://www.alangunning.com

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

The stability of the driver is independent of the application, but it is affected by the overall system load. The face tracking demo is a standard OpenCV demo that we used as an simple usage of the SDK. As such, the face tracker it is not optimized and in any special way and it is slow. What is your CPU usage when you run it at 60fps? What are you CPU/RAM specs for both systems?

Profile
 
 
Posted: 25 April 2010 10:10 PM   [ Ignore ]   [ # 3 ]
New Member
Rank
Total Posts:  25
Joined  2010-04-13

Thank you for the reply!

Yes, that is correct, the computer is too slow to handle face tracking at 60fps,
but in my opinion this should not affect stability of the driver, especially in
commercial end-client situation where I have limited control over computer hardware.

I can also confirm that in applications only displaying frame without any processing at 60fps,
improves stability, but is it not rather some kind of thing to consider for correcting?

Also the effect seems not to be existent at QVGA resolution.

I also consider using PCI-USB card, to omit motherboard USB which may be faulty,
may it be the case?

Best regards,


addition with computer hardware data:
processor P4 3.2 Ghz, multithreading, 1.5 GB ram, ASUS P4P800 motherboard

Profile
 
 
Posted: 28 April 2010 08:24 AM   [ Ignore ]   [ # 4 ]
New Member
Rank
Total Posts:  21
Joined  2010-03-26

Essentially, this sounds like the same problem as described here
http://codelaboratories.com/forums/viewthread/139/

I am using CL-Eye cameras in a pretty sophisticated project, that is supposed to be low cost. It will include a custom 3-Camera rig, custom casing, custom lenses. As of now I continue building the system with CL-Eye and just restart the camera when the image freezes for two seconds, which is good enough for testing. But when the prototype is built and this still occurs I am screwed, because I will not be able to switch to a different camera model by then.
I mean, this wouldn’t affect the software (which is the important part of it) but how good of a demo would it be when the camera freezes every once in a while… if you want to convince people of the reliability of such a system!

This seems like a problem that can be fixed. Alex, the rest of the CL-Eye project is just too good.

Profile
 
 
Posted: 28 April 2010 05:02 PM   [ Ignore ]   [ # 5 ]
Administrator
Avatar
RankRankRankRank
Total Posts:  585
Joined  2009-09-17

What are the details of your setup. Namely the camera capture resolution, framerate, system specs such as CPU, RAM. This is important since you might be connecting all of the cameras to a single USB hub and running close to the max data rate.

toucheur, running PS3Eye under P4 is really pushing it. Here is more info why this happens.

Profile
 
 
Posted: 01 May 2010 03:15 AM   [ Ignore ]   [ # 6 ]
New Member
Rank
Total Posts:  25
Joined  2010-04-13

Alex, I think it would be very helpful to know which hardware configurations
run without problems. What computer you use for development, any known
good and working configurations, preferred motherboard USB chipsets.

Especially it would be extremely useful to know models of external PCI-USB cards,
which solve potential motherboard USB compatibility problems on some
older computers.

I fully understand that ps3eye camera possibly uses some non standard USB
communication , which may cause problems on PCs, so maybe external
PCI-USB card could help a little?

For example: does cards with NEC chipset like this one solve problems?
http://www.newegg.com/Product/Product.aspx?Item=N82E16815166002

I also have tested linux setups, and problems also exist, especially when
using two cameras, so it may be some USB hardware
compatibility problem.

However, linux always detects multiple cameras correctly, under windows XP I have
to unplug cables and plug them again.

Best regards,

PS. as for previous post replay: Driver works very similarly under HP dual core laptop T4100, 2GB RAM, Vista

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

For the development I use machine with i7 920 CPU on both Vista and Windows 7.

The driver was successfully tested on:

Desktops:

-i7 CPU, 12GB DDR RAM, Gigabyte EX58-UD4P, ATI Radeon HD4870, ICH10R southbridge, Vista x64 and Win7 x64
-Core 2 Duo E6600 2.4GHz, Intel mini ITX DQ45EK, Win7 x32

Laptops:

-Dell D830 on Win7 x32, running CL-Eye Test 640x480 @60fps running continuously with no issues.
-Apple MacBook Code 2 Duo on Win7 x32, running CL-Eye Test 640x480 @60fps running continuously with no issues.

All of these are clean windows installs with no OEM software installed.

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

Please check out the latest CL-Eye Platform Driver. The stability issues were specifically addressed in this release.

AlexP

Profile
 
 
Posted: 02 May 2010 01:54 AM   [ Ignore ]   [ # 9 ]
New Member
Rank
Total Posts:  25
Joined  2010-04-13

Thanks Alex, I’ll check it right now!

In the meantime some thought about reducing USB bandwidth:
can the camera be forced to transmit 8 bit grayscale images instead of
3x8 bit RGB?

OmniVision controller datasheet mentions something about 8 bit
video data format.

Majority of ps3eye applications do not use color information at all.
I think it would be a great option of the driver.

Profile
 
 
Posted: 02 May 2010 04:05 AM   [ Ignore ]   [ # 10 ]
Administrator
Avatar
RankRankRankRank
Total Posts:  585
Joined  2009-09-17

The PS3Eye camera is configured to capture in the native sensor bayer color format, and therefore it sends 1 byte per pixel. That’s as optimal as it can go.

Profile
 
 
Posted: 04 May 2010 07:45 AM   [ Ignore ]   [ # 11 ]
New Member
Rank
Total Posts:  25
Joined  2010-04-13

Hello again,

It took me some time to run test, some running several hours,
here is a summary:

new driver (Version: 4.0.1.050) greatly improves stability of DirectShow
interface.

1. CLEyeTest runs now perfectly 640x480@60fps! (several hours)
2. CLEyeTest even with additional external process consuming CPU
  also runs great, so even high CPU usage does not cause any problems.
3. opencv 1.0 application, videoInput 0.1995, 640x480@60fps, heavy processing,
  high CPU usage, runs stable
All of these 3 tests failed with previous driver version, could run at most 10 minutes.


What is strange,  when using SDK interface problems with freezing still exist.
Simple application without processing can run max 10 minutes @ 60fps, but eventually freezes.
Applications with high CPU usage live even shorter.

Used the same single core multithreaded P4, windows XP SP2.

This driver seems to be a good step forward!

Profile
 
 
Posted: 04 May 2010 09:02 AM   [ Ignore ]   [ # 12 ]
Administrator
Avatar
RankRankRankRank
Total Posts:  585
Joined  2009-09-17

I’m glad it works for you. As I posted in several other posts, the SDK performance issues are addressed in the upcoming release. I am testing the SDK right now on a couple of machines making sure that everything runs smooth. The update is coming soon.

Profile
 
 
Posted: 07 May 2010 08:42 PM   [ Ignore ]   [ # 13 ]
Administrator
Avatar
RankRankRankRank
Total Posts:  585
Joined  2009-09-17

The updated CL-Eye SDK has been released. Please read more about this release here.

Profile
 
 
Posted: 07 May 2010 10:39 PM   [ Ignore ]   [ # 14 ]
New Member
Rank
Total Posts:  25
Joined  2010-04-13

Great news! I’ll test it right now.

Profile
 
 
Posted: 08 May 2010 05:42 AM   [ Ignore ]   [ # 15 ]
New Member
Rank
Total Posts:  21
Joined  2010-03-26

Works for me. 1h+ two cameras 640x480 30fps and on another computer 1 camera 60fps… Great news indeed!

Will try on older work computer on Monday.

May I ask what the problem was?

Profile
 
 
1 of 2
1
 


RSS 2.0     Atom Feed