LinuxQuestions.org
Review your favorite Linux distribution.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware > Linux - Embedded & Single-board computer
User Name
Password
Linux - Embedded & Single-board computer This forum is for the discussion of Linux on both embedded devices and single-board computers (such as the Raspberry Pi, BeagleBoard and PandaBoard). Discussions involving Arduino, plug computers and other micro-controller like devices are also welcome.

Notices


Reply
  Search this Thread
Old 06-05-2020, 09:09 AM   #1
sissif
LQ Newbie
 
Registered: Jun 2020
Posts: 2

Rep: Reputation: Disabled
Smile Looking for a cheap embedded computer solution to acquire 4K images from multiple cameras


Hi,
As hinted in the title, i'm working on a mobile robot with a dedicated camera acquisition system for computer vision.
I have now 4 12MPixels industrial cameras and the goal is to trigger them at the same time at 5Hz. The camera grab the frame with Bayer8 format, meaning 1 byte/pixel before conversion, a quick calculation give me a required minimum bandwidth of 1920 Mbps (4 Cameras * 12 Mpix * 5Hz * 8bits/pixel).
The final system need to have 8 cameras in total (but still 4 working at a given moment max), with one embedded computer dedicated only to grab the frames via USB3, convert them to some other format, then send them to a hard drive, it also need to run on ros to communicate with other systems.

The provider of the cameras told me the NVidia TX2 or Xavier will work, but considering their price and what is required, i'm looking for a cheaper solution, maybe by adding a PCIe to USB3 to increase bandwidth capability.

USB3 bandwidth is far from my expertise, i'm looking for any advices, i'll gladly give more informations if needed
thank you for you help.
 
Old 06-05-2020, 11:58 AM   #2
business_kid
LQ Guru
 
Registered: Jan 2006
Location: Ireland
Distribution: Slackware, Slarm64 & Android
Posts: 16,288

Rep: Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322
Hello, sissif & welcome to LQ.

1920 Mbps = 240 MB/S and that's a very high bandwidth indeed, and nothing cheap/nasty will do you. USB-3.0 might theoretically do it, but getting doing it full time is a pain, because there's hub bandwidth, & caching issues to contend with. Yes, pcie would definitely be better. USB-3.0 only flies under strict conditions & short cable lengths

As You're designing it, I'll suggest a few things. 5Hz is a very low refresh; shooting 4 simultaneous images is dumb, and put 4x workload on everything. Beware of image conversions, which are slow - what do the cameras give out? what way are you transmitting that beck to your intelligence? There's 1 camera --> 1 sdcard units out there; Why not use 4 of those? And there's clever image processing tech which avoids repeating the same background pixels which never change and just looks st the bits that have.

Time to do some research, sissif. I put it to you that you're reinventing the square wheel. IIRC that was superseded eventually by a round one.
 
Old 06-05-2020, 01:10 PM   #3
sissif
LQ Newbie
 
Registered: Jun 2020
Posts: 2

Original Poster
Rep: Reputation: Disabled
Hello Business_kid, thank you the reply and for the welcome.

The project is an indoor mobile robot, roaming through all the shelves of a store and taking detailed pictures every 20 cm, 4 cameras to be sure to get the whole shelf vertically, similar to the walmart robot if you've ever heard about it, the processing part is done by a separate computer after receiving all the data by the robot. The whole process is autonomous.

It's my fault for not giving better details, of course there will be some overlapping between the cameras but that's wanted for stitching them, and the robot is moving so the background is never the same


I guess i should also have defined "cheap" for this project, the suggestions i'm looking for are embedded computers under 500$ with USB3 + PCIe slot for Buses extensions, and ofc linux compatible.
I may be wrong in the requirement we need, knowing that the processing part is limited to converting 20 4k images/s, i assume that the CPU doesn't need to be cutting edge, all i care about is the bandwidth capability.
 
Old 06-05-2020, 02:33 PM   #4
business_kid
LQ Guru
 
Registered: Jan 2006
Location: Ireland
Distribution: Slackware, Slarm64 & Android
Posts: 16,288

Rep: Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322
Quote:
Originally Posted by sissif View Post
Hello Business_kid, thank you the reply and for the welcome.

The project is an indoor mobile robot, roaming through all the shelves of a store and taking detailed pictures every 20 cm, 4 cameras to be sure to get the whole shelf vertically, similar to the walmart robot if you've ever heard about it, the processing part is done by a separate computer after receiving all the data by the robot. The whole process is autonomous.

It's my fault for not giving better details, of course there will be some overlapping between the cameras but that's wanted for stitching them, and the robot is moving so the background is never the same


I guess i should also have defined "cheap" for this project, the suggestions i'm looking for are embedded computers under 500$ with USB3 + PCIe slot for Buses extensions, and ofc linux compatible.
I may be wrong in the requirement we need, knowing that the processing part is limited to converting 20 4k images/s, i assume that the CPU doesn't need to be cutting edge, all i care about is the bandwidth capability.

Amazon have it, you say. See if you can buy theirs. They have scale, volume, and the money to do it. They had their teams of hardware guys, software guys, network guys and it was all linked in to stock control, door security. That's a 3 year project and you're into ≅€100 Million designing robots outfitting all their shops to the same (New)spec, installation, training, with an annual maintenance cost. But Amazon did the sums, and see long term profit in it.

Or, Hire (or be)a project manager, who will hire hardware and software engineers who will rip you off more than splitting with any gold-digging ex-wife ever will.

Just stop, think, & check bandwiths, & scale. Imagine it

Cameras --> ??? --> pcie --> ???? --> ???, etc. You can't do that without a fancy rail interface, a robot better than a Meccanno toy. And you only want one? You'll never manage 240MB/s over any network I know

I'm gonna lurk on this for a while. I know there's other (probably better) engineers who are doing that. They had the sense to ignore this thread.
 
Old 06-06-2020, 04:31 AM   #5
ondoho
LQ Addict
 
Registered: Dec 2013
Posts: 19,872
Blog Entries: 12

Rep: Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053
Quote:
Originally Posted by sissif View Post
required minimum bandwidth of 1920 Mbps (4 Cameras * 12 Mpix * 5Hz * 8bits/pixel).
Even though the calculation is correct, I'm not sure if Mbps are counted once per second, and I think staggering the cameras outputs would be to your advantage.

Even better: do the cameras have a cache, so you could e.g. transmit the data every 4s (1 camera per second)?
(edit: no, that wouldn't reduce the amount of data transmitted.)

It does seem like a common problem for surveillance cameras, so you should probably see how this has been solved elsewhere.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Point And Shoot Digital Cameras vs Smartphone cameras David.V General 12 08-15-2014 09:16 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware > Linux - Embedded & Single-board computer

All times are GMT -5. The time now is 07:59 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration