Welcome new user! You can search existing questions and answers without registering, but please register to post new questions and receive answers. Note that due to large amounts of spam attempts, your first three posts will be manually moderated, so please be patient.
Because of un-manageable amounts of spam despite our use of CAPTCHAs, email authorization, and other tools, we have discontinued this forum (see the 700k+ registered users with validated email addresses at right?). Please email us any questions or post bug reports and feature requests on GitHub at https://github.com/jevois -- The content below remains available for future reference.
Welcome to JeVois Tech Zone, where you can ask questions and receive answers from other members of the community.

Low frame rate at high resolution

0 votes
Hello, I'd like to ask a very simple question. I was curious as to why the JeVois Smart Camera runs at a slow frame rate at a high resolution. Is this due to the software or hardware's capability (hardware overheating, nonoptimal algorithm, etc.)? Also, are there any ways to speed up or exceed the maximum fps ratings? I am planning to connect my camera to an arduino board.
asked Jun 22, 2018 in Misc Questions by JeVoisNewbie (430 points)

1 Answer

+1 vote
 
Best answer

There are basically three limitations:

- sensor (see max rates at http://jevois.org/doc/Hardware.html -- for example, for 1280x1024 the max is 15fps). You cannot speed it up, it has to do with clock rate in the sensor, minimum required exposure time, etc

- cpu speed, nonoptimal algo, complex algo. You can certainly work on speeding that up. As long as the CPU reading is not 400%, you are under-utilizing the quad-core CPU... TensorFlowEasy currently is the one that gets closest to 400% CPU usage.

- USB 2.0 bandwidth limit for camera data (it is 24 MB/s), so if you are streaming YUYV which is 2 bytes/pixel you can get at most about 9 fps at 1280x1024. See some discussion of that here, in the videomappings.cfg file: http://jevois.org/doc/VideoMapping.html

# Note on USB transfer rate: the maximum actual pixel data transfer rate is 3070*8000 = 23.9 Mbytes/s (which is 3kb/USB
# microframe, max "high bandwidth" setting). Although USB 2.0 has a maximum theoretical rate of 480 Mbit/s, this
# includes protocol overhead and not all of the bandwidth is available for isochronous (real-time stream) transfers,
# which we use.  This means that SXGA YUYV (2 bytes/pixel) can only transfer at a max rate of ~9.3 fps over the USB
# link, although the camera can grab SXGA YUYV at 15 fps. SXGA in Bayer can achieve 15 fps transfer over USB since it
# only uses 1 byte/pixel.

but keep in mind that ultimately, the goal of JeVois really is not to transmit video, as this is usually intended for human consumption. An autonomous machine vision system ideally should in many cases just transmit some serial messages, telling a robot what it sees. In this case, you just have the first two limitations and drop the third one.

Heat is not a limit thanks to our extra fast fan!

answered Jun 22, 2018 by JeVois (46,580 points)
selected Jun 22, 2018 by JeVoisNewbie
...