building a cucv? computer vision

Hi Rockypg,

In fact there is one project named GpuCV (https://picoforge.int-evry.fr/cgi-bin/twiki/view/Gpucv/Web/WebHome) that might interrest you. Our goal is to port most OpenCV operators to GPU, originally we where using GLSL for that task but I am now working on a CUDA plugin for GpuCV to help CUDA developpers to port new operators.

GpuCV 's CUDA plugin might be first released within a month, but a beta version is available on request.

Feedbacks are more than welcome!

Here is a few features that the plugin includes:

  • automatique data transfert between CPU buffer, OpenGL texture/buffer and CUDA memory.

  • operators [beeing] ported: GEMM, Avg, Dilate, Erode, Smooth, Laplace, Sobel, Sum, Histogram…

  • benchmarking tools included.

  • and more to come…

Yannick

[quote name=‘mikemoik’ date=‘Aug 8 2007, 09:02 AM’ post=‘234177’]

@celebrandil: i fully agree with you.

you have to look at MMX and SSE, too, not focusing on the gpu only.

but on the other side, we still have speed benefit in our cv apps currently by using cuda.

development time decreases more than with glsl (which i used about one year).

@sphyraena: yes, would be a good indicator.

we are working on a klt-like implementation on cuda.

greets,

moik

[/quotet

Hi Moik,

Any updates on your cuda KLT? I need to do the same… We could collaborate, or any other pointer would be very helpful!

Thanks,

Arjun

Hi Arjun,

I’m doing the same task i.e. the implementation of KLT on Cuda. It will be great to cooperate toghether since there is no Answer until now from mikemoik :wacko:

best regards,

MoNaMeYa

Posted Dec 31 2008, 08:33 PM

[quote name=‘mikemoik’ date=‘Aug 8 2007, 09:02 AM’ post=‘234177’]

@celebrandil: i fully agree with you.

you have to look at MMX and SSE, too, not focusing on the gpu only.

but on the other side, we still have speed benefit in our cv apps currently by using cuda.

development time decreases more than with glsl (which i used about one year).

@sphyraena: yes, would be a good indicator.

we are working on a klt-like implementation on cuda.

greets,

moik

Hi Moik,

Any updates on your cuda KLT? I need to do the same… We could collaborate, or any other pointer would be very helpful!

Thanks,

Arjun

well, there are news :-)

sorry that i forgot this thread.

currently a KLT-like implementation of my extraction and matching method runs at <3ms GPU time
for full computation of both steps on a 752x480 frame, with 100-3000 tracked points depending on a noise level 0.0 - 1.0.

i try to get it accepted to a cv conference, then i intend to provide the source code.

thank u for your interest, i ll report news soon.

mike moik

@ mikemoik

That looks very nice.
I’m curious, what are the times around with the competition, I mean, just using the CPU? What was your speedup level?

hard to say … there is no CPU implementation :whistling:

the nearest CPU-Competitor is maybe opencv’s “good features to track” with ipp.

Or a CPU implementation of rosten’s FAST detector.

This approach is a combined detection and matching algorithm (like KLT).

There are some recent KLT/SIFT/SURF GPU-implementations, running slower.

To be fair, the capabilities, the used API’s and use cases are different.

To conclude:

  • comparing to CPU is senseless, because this task is highly vectorizable, so the GPU has advantages per default.

  • compairing to other GPU algs is often quite unfair.

  • but to mention a number … everything below 20ms is fast ;)

There are news:

This work will be presented at 5. IEEE Workshop on Embedded Computer Vision at ICCV 2009, 3. Oct, Kyoto.

Maybe we see us there.

:)

here is a video of longterm correspondences in image streams
with a gpu computation time below 3ms:

http://www.youtube.com/watch?v=OFfynOWVkwg