CUVILib Features and Functionality

CUVILib is a Computer Vision and Image Processing functions library that aims at bringing the parallel processing power of GPUs to applications that can benefit from parallel computing the most. The initial set of functions available with the library augment the existing functionality through Nvidia Performance Primitives (NPP) library in order to bring maximum functional coverage to users interested in GPU based acceleration.

Feature Detection

One of the major functionalities available through CUVILib is a rich set of feature detection algorithms. Detecting interesting parts of an image is an important step in most computer vision applications. It serves as the first low-level processing step in applications like image segmentation, object recognition and tracking. Most commonly, feature detectors evaluate every pixel of an image to determince presense or absence of feature, therefore, tend to be a computationaly expensive step. With CUVILib several detectors have been made available that include Hough Lines/Circles/Ellipses, Harris Corners and KLT Features. These are in addition to the edges detectors already available in NPP.

klt-feature-detector
Selecting 10 Best features from an image

Very soon a set of roboust local feature detectors and descriptors is also going to be added to CUVILib that include SIFT (Scale Invariant Feature Transform), SURF (Speeded Up Robust Features) and MSERs (Maximally Stable Extremal Regions). Robust local features and descriptors find successful applications in image processing tasks like camera calibration and object recognition. These descriptors are designed to be invariant to illumination changes, image scale and rotation and can be robustly matched over a substantial range of affine distoration and change in 3D viewpoint. CUVILib provides real time implementation of these features over practical image sizes that is highly valuable for computer vision application engineers and programmers.

KLT Algorithm Comparison

Selecting 10 Best Features in Every Frame

CUVI Implementation OpenCV Implementation

Dense Motion Detection

Another important feature set that is included in CUVILib is dense motion detection. Motion is a powerful cue in imaging used for detection and extraction of objects of interest from a background scene. Relative displacement between images can be estimated using these methods that can be employed in robotic applicaitons, autonomous navigation and dynamic scene analysis.

 2 Frames for Optical Flow       Output calculated by Optical Flow
 2 Consecutive Video Frames       Optical Flow Calculated using Horn & Schunck Algorithm

CUVILib provides two powerful optical flow based method for computing the dense motion field in image pairs and sequences including the Horn & Schunck and Lucas & Kanade methods. Pyramidal implementations of these methods will also be added to CUVILib very soon.

Overview of CUVILIb Functionality:

Lets break this up into application areas:

Feature Detectors - Link

Motion Detection - Link

Color Operations - Link

Image Transforms - Link

Image Filtering - Link