08-25-2022 07:23 AM
Solved! Go to Solution.
08-26-2022 07:19 AM
As far as I know, there is nothing of that kind until now. There is a toolkit available to access some of the cuda libraries directly.
Another thing you could do is to pass LabVIEW images to functions of a dll which could contain some cuda calls. I recommend you check IMAQ GetImagePixelPtr.vi or IMAQ ImageToEDVR.vi for passing/getting image buffer to a dll function.
Sami
01-26-2023 10:39 PM
Hi Martin,
We (@Ngene) have a CuLab - GPU toolkit for LabVIEW, which provides a bunch of functionality out of the box.
We are going to include CV functions in upcoming releases. If you could tell which specific CV functions you are interested in (besides particle filter) we will consider adding them as well.
01-27-2023 04:00 AM
Hello, I must say your CuLab toolkit looks very decent. Vision routines such as particle filter that utilise the GPU would be great, that routine is the one that takes most time for us in our current application but we can get away it (although faster would be better). Ideally any processor intensive routine (pattern match?) in NI-VDM would have an option for GPU optimisation, I was surprised to find that a GPU is of no use to NI-VDM. I see "Vision OpenCV Utilities" are available, I have been intending to check if these utilities can target the GPU (OpenCV can), maybe CV+GPU tools are readily available in LabVIEW now.
01-27-2023 02:28 PM
Thank you, Martin, for the feedback.
We will start with implementing most common functions.
There are some functions in VDM which look very specific to VDM, and underlying algorithm is not clear.
Particle filter, analysis, count is something we implemented previously and can match with VDM.
For pattern matching, I am not sure about underlying algorithm, so cant say whether it would be supported by CuLab.
Have you considered Deep Learning approach for pattern matching.
We have a DeepLTK (Deep Learning Toolkit for LabVIEW) which could help achieving decent results in pattern matching if you have enough data to train. I suppose object detection approach should be something to consider here.
DeepLTK is also GPU accelerated, so speed should not be a concern.