OpenCV and MPI (Open MPI)

asked 2013-07-31 21:41:30 -0500

Libbux gravatar image

I'm just wondering if anyone has any experience running OpenCV programs over multiple machines using MPI (Open MPI) and the MPI Libraries in C/C++.

Background:

I'm developing a project which detects and identifies all kinds of moving objects such as vehicles and pedestrians on 496 separate camera feeds, each at a resolution of 352x240, and 1 frame per second. This obviously requires a good amount of computing power, and this is being run on servers which do not have very powerful GPUs so that is out of the question. Instead I am going to attempt to run the program across multiple machines using MPI (or something else if anyone has any suggestions).

edit retag flag offensive close merge delete

Comments

Actually I think this is a nice idea. Create a dummy software in Open MPI that basically distributes image per image to a processing unit until it gets an answer back. On each unit call a processing executable, written in openCV for detection, on the image, then push result back. Seems a good approach.

StevenPuttemans gravatar imageStevenPuttemans ( 2013-08-01 02:30:24 -0500 )edit
1

@StevenPuttemans I was looking at this article on creating an Open MPI cluster: http://techtinkering.com/2009/12/02/setting-up-a-beowulf-cluster-using-open-mpi-on-linux/ It looks like when you're using the MPI library (mpi.h header included in the sample on that page), you don't need to create separate executables and worry about image transportation and all that stuff - it looks like you can distribute the work between nodes from within a single executable.

Libbux gravatar imageLibbux ( 2013-08-01 09:03:04 -0500 )edit

I currently working on it using c program. I have no idea why MPI do not support opencv libraries. When MPI run to opencv function like cvCreateImage and cvGet2D, it get errors. Anyone know what is the reason behind?

TerryP gravatar imageTerryP ( 2014-08-10 09:51:50 -0500 )edit