Integrating multiple camera streams

Integrating multiple camera streams

Postby seandoyle » Mon May 05, 2014 8:59 pm

Hi -

I'm very new to Parallela and I have a general idea for a project but I wanted to ask if there was a simpler mechanism than what I've been planning.

I need to be able to integrate multiple video streams - either 4 or 6 of them into a larger video stream. The cameras field of view will overlap (slightly) and the integrated view will be a single merged view.

Within the merged view I may do some image processing (limited feature recognition, some geometry corrections) or compression (probably wavelet).

The simplest way I can see to do this seems a bit kludgy to me: I could have multiple Raspberry Pi computers (and cameras) that pushed the images over ethernet to the Parallela. The Parallela could stitch these images together and do the other image manipulation in a pipeline. The frame rate and image size could be varied depending on what the throughput is. Perhaps some code could run on the Pi's GPUs and some on the Parallela - I'm still trying to think this through.

I think something like this might work - but from a hardware point of view it's a lot of cables and all of the devices together would draw a fair amount of power. Is there something more elegant than this for getting multiple I/O streams than separate CPUs and ethernet? I don't know if there are daughterboard solutions for this but I'd be interested in learning more.

Thanks

Sean
seandoyle
 
Posts: 6
Joined: Mon Dec 17, 2012 3:29 am

Re: Integrating multiple camera streams

Postby FHuettig » Mon May 05, 2014 9:12 pm

Hi Sean, sounds like a very cool project. I don't know if you've selected your cameras yet or if you have special requirements, but can you consider using GigE cameras? That way they could all be connected by an ethernet switch to the Parallella and images could be requested as needed. It would be a very clean system. -Fred
-- Fred -- Hardware Guy --
FHuettig
 
Posts: 142
Joined: Wed Jan 29, 2014 8:30 pm
Location: Lexington, MA, USA

Re: Integrating multiple camera streams

Postby seandoyle » Tue May 06, 2014 1:47 am

Fred -

I'm not sure - GigE cameras might be overkill for what I need but I should find out more. Do you have a particular vendor of them that you'd recommend?

I don't know that I need frame rates this high - 30fps might be adequate. I need multiple cameras because they are fairly close to a fluorescent plate and the form factor may need to be fairly flat. The GigE cameras look like they run a few hundred each and the Raspberry Pi ones are ~$30. One advantage of having a Pi in the middle is that it does have a GPU for some initial processing. But I hadn't known of GigE cameras before you mentioned them so it's something else that I'll need to read up on.

Thanks

Sean
seandoyle
 
Posts: 6
Joined: Mon Dec 17, 2012 3:29 am

Re: Integrating multiple camera streams

Postby FHuettig » Tue May 06, 2014 3:51 am

The last one I bought I picked up very cheaply on eBay, but then you get what you get and I don't even see any cheap ones listed right now. I can see how it would be nice to have some extra per-camera processing available for only $35 each, but if you don't need the extra computes then a pure-GigE system might save you some hassles and interfacing. Good luck and I hope you'll let us know how it goes!
-- Fred -- Hardware Guy --
FHuettig
 
Posts: 142
Joined: Wed Jan 29, 2014 8:30 pm
Location: Lexington, MA, USA

Re: Integrating multiple camera streams

Postby Gravis » Tue May 13, 2014 1:38 pm

seandoyle wrote:I need to be able to integrate multiple video streams - either 4 or 6 of them into a larger video stream. The cameras field of view will overlap (slightly) and the integrated view will be a single merged view.

I'm a bit late to the party but as someone who has worked with this stuff I can tell you one thing, do not use usb cameras. the problem with usb cameras that usb is software driven. The cpu will need to continually need to request the data and cannot do that in parallel. as a result because they dont have a FIFO buffer, there will be a noticeable delay between camera grabs if there motion because you aren't actually grabbing images from each at the same time. also, you cant switch between cameras while capturing because the cameras do a usb mass transfer where they can only send all the data at once. the fast network cameras sound like your best option because they will transfer data in parallel and can be easily be connected using a network switch.

do note that there is hardware based image correction/distortion (among other options) on most optical (capture) ICs which is a good idea to use because it's very fast. with that, you should be able to calibrate all the cameras to return images you want to use.
User avatar
Gravis
 
Posts: 445
Joined: Mon Dec 17, 2012 3:27 am
Location: East coast USA.

Re: Integrating multiple camera streams

Postby shodruk » Tue May 13, 2014 1:55 pm

This system may be suitable for the purpose.

http://www.parallella.org/2013/09/10/ex ... th-pixels/

s/usb webcams/rpi camera modules/
Shodruky
shodruk
 
Posts: 464
Joined: Mon Apr 08, 2013 7:03 pm

Re: Integrating multiple camera streams

Postby Gravis » Wed May 14, 2014 2:42 am

shodruk wrote:This system may be suitable for the purpose.

http://www.parallella.org/2013/09/10/ex ... th-pixels/

s/usb webcams/rpi camera modules/

if you do that, be sure to use an RTOS like ChibiOS/RT to get proper timing.
User avatar
Gravis
 
Posts: 445
Joined: Mon Dec 17, 2012 3:27 am
Location: East coast USA.


Return to Image and Video Processing

Who is online

Users browsing this forum: No registered users and 2 guests

cron