FPGA and OpenCV library
Posted: 01 March 2009 01:58 AM   [ Ignore ]
Rank
Joined  2009-03-01
Total Posts:  1
New Member

Hello Group,

I’m thinking about working on a project using FPGA and just today ran into OpenCV for the first time and was wondering if it would be possible to use OpenCV on FPGA boards. I’m new to this concept and it would be great if folks that know the answer or have some experience give me some heads up or any advice.

Thanks.
Ramsin

Profile
 
 
Posted: 02 March 2009 06:06 PM   [ Ignore ]   [ # 1 ]
Rank
Joined  2009-02-20
Total Posts:  34
New Member

hi ramsin,

your question is a little confusing because of the nature of FPGAs and the nature of software.

openCV is a library for writing computer vision applications, while FPGAs are hardware design utilities.

if you want to “use openCV on an FPGA,” then your FPGA will need some sort of processor IP core that conforms to an instruction set architecture. you will then need to compile openCV for that particular platform to generate the appropriate machine language instructions.

in a nutshell, FPGAs are for implementing hardware designs, not for running software.

you can accelerate certain applications by developing dedicated hardware to perform certain tasks, but in this case, that would involve going inside openCV and implementing some of the algorithms in hardware, then interfacing the FPGA with your PC and writing drivers so that your higher level software can take advantage of the hardware accelerator that you’ve just implemented.

i really don’t want to be discouraging, but it seems like you’re mixing two concepts without fully understanding each.

try to find which part of the problem you would use the FPGA to accelerate.

best,

kevin

 Signature 

Santa Cruz Interactive Multi-touch Platform

Profile
 
 
Posted: 01 September 2009 04:49 PM   [ Ignore ]   [ # 2 ]
Rank
Joined  2009-09-01
Total Posts:  2
New Member

Kind of interesting here…

Hi there!

Just last week, I was wondering if it could be possible to run openCV on an FPGA… I understand what you said, and I don’t want to rewrite openCV in VHDL language… Be sure of that, I will not! All right. The real question here, do an embedded system running a code using openCV will be more efficient than the same on a desktop?  (for the moment, consider the code running on µOS II (linux) ) Any feed back will be appreciated…

If both are comparable, is this possible to build a FPGA that will run several thread, like any example of openCV? Furthermore, do anybody know exactly which development board should I use? I already found the DaVinCi processor from Texas instrument, but like all of us here, I’m new with this stuff…

Thanks for help,

Fakstory

note: pretty good answer soundcyst… I can’t wait for your feed back!!! :D

Profile
 
 
Posted: 02 October 2009 07:55 PM   [ Ignore ]   [ # 3 ]
Rank
Joined  2009-01-20
Total Posts:  21
New Member

someone already has FPGA MT product.

Profile
 
 
Posted: 05 October 2009 12:52 PM   [ Ignore ]   [ # 4 ]
Rank
Joined  2009-09-01
Total Posts:  2
New Member

FPGA MT...!?

Profile
 
 
Posted: 22 October 2009 05:52 AM   [ Ignore ]   [ # 5 ]
Rank
Joined  2009-10-22
Total Posts:  8
New Member

@Fakstory:

Can an embedded system running a code using openCV being more efficient than a desktop? Simple answer is: most probably not. Most embedded systems run at lower clock frequencies than desktop counterparts, have less floating point power, and the CPUs used in those systems have most often less cores. More specifically, that would depend on which embedded system you want to use.

If you consider to do an embedded system on FPGAs, this is how it works: you design a system-on-a-chip including some general purpose processors, peripherals etc. Now, keep in mind that most circuits for state-of-the-art FPGAs can easily be clocked up to 200-300MHz, everything above is difficult. To accomplish a similar performance than a desktop PC would require to use quite some processor cores - and for that you need to parallelize OpenCV yourself. Furthermore, such big systems fit only to big FPGAs (which are over 5000$, the chip alone!).

The only way to win with an FPGA is to design the time-critical tasks as dedicated hardware and use the embedded processors merely as control chips.

Profile