AXIS ImageFlex

Image Processing and Visualization Toolkit.

- Unleash the amazing power of the GPU.

DATASHEET    USER GUIDE    reference guide   VIDEO

The defining property of images

Whether displaying graphics or image processing, the value of each image pixel is generally computed in a similar way.

The CPU can only compute a handful of pixels at the same time (1 per CPU core).

GPUs can potentially process thousands of pixels at the same time (1 per GPU core).

GPU: the key to performance

Typical image processing applications need perform both processing and displaying (even if only during the debug stage).

PROCESSING DISPLAY PROS & CONS  
CPU CPU Easy to develop since GPU is not used, but very low performance.
GPU CPU Mildly difficult to develop, with good performance. E.g. using CUDA or OpenCL kernels, but results brought back to CPU.
GPU GPU Very difficult to develop, but best performance. Little to no CPU is involved.
 

ImageFlex to the rescue

1/10th the Code

OpenGL is a very complex API even to do simple things like drawing text, boxes, or circles. CUDA and OpenCL interoperation with OpenGL is also very complex and unintuitive. ImageFlex creates a super thin wrapper around these technologies so the developer can write simple and intuitive source code.

10x speedup

Many image processing and display applications use the same algorithms for all pixels. Using the GPU for this can easily yield an order of magnitude improvement over CPU with SIMD technology. ImageFlex does not compromise native GPU performance.

No hassle interoperation

Take the pain out of mixing GPU, CPU, and hardware technologies.

 

Key ImageFlex algorithms

Image processing

  • Stabilization (rejects outliers and compensates for rotation, panning, & scaling)
  • Radial & complex distortion correction
  • Adaptive Image Fusion (get the best detail of multiple sources)
  • Basics (scale, crop, rotate, transpose)
  • Color conversion (YUV, grayscale, etc)
  • Neural network (classification and object detection)
  • Or bring your own GPU processing

Visualization

  • 2D image display
  • 3D spherical display (look in any direction, e.g. bird's eye view)
  • 3D Lidar point plots
  • 3D object display
  • Basics (text, line, boxes, circles, particles)

High quality working examples

ImageFlex comes with a large set of high quality working examples. These can be used as reference to build your custom application.

Hello world
The most fundamental example.

Display video
Fundamental example of how to display a picture, video file or live camera data.

Radial lens distortion correction
Provides a utility to manually or automatically determine correction parameters along with an example showing how to apply the correction to live or stored imagery.

Complex lens distortion correction
Provides a utilities to manually determine correction matrix along with an example showing how to apply the correction to live or stored imagery.

360 spherical visualizing
Provides a utility to combine multiple camera images into a single stitched image along with a “SkyBox” example to view live imagery from any direction including a birds eye view.

Image fusion
ImageFlex includes a high performance image fusion algorithm. I compliment this, it provides a utility to tune the parameters along with an example to fuse live imagery from two camera sources.

Video stabilization
ImageFlex includes an advanced video stabilization algorithm implemented on CUDA and OpenCL. Stabilizes panning, rotation, & scaling. Rejects outlier motion (e.g cars on a highway).

Neural Networks (contact Abaco Systems for these examples)
ImageFlex provides example showing how to integrate Convolution Neural Network based application into an application. The example demonstrate classification and object detection using Darknet or TensorRT models.

OpenGL interoperation
ImageFlex provides all the hooks to merge ImageFlex functionality with OpenGL functionality. This example projects a video image onto two 3D objects, where one sphere is orbiting the other sphere.

CUDA/OpenCL interoperation
ImageFlex provides the hooks to let CUDA or OpenCL process ImageFlex image either in-place or via copying. Either way, it's extremely fast because the image data stays on the GPU for the full processing chain.

A Focus on autonomous driving

Lidar visualization
The GPU is ideal for rendering the hundreds of thousands of points in LiDAR point cloud very quickly. ImageFlex provides an example for this using real LiDAR data.

Lane detection and centering
(contact Abaco Systems for this example)

ImageFlex provides functionality to do perspective projection. This example projects a road to a birds eye view, then uses road markings to help determine the center of the lane.

A focus on convolutional neural networks

Image annotating
CNNs are getting very popular, and one of the more difficult things is annotating the image data with a class, bounding box, and landmark locations. ImageFlex provides a GUI tool to make this easy. Once the data is annotated, use your favorite CNN framework to train on the data.

Request a Quote

Your information will be used in accordance with our privacy policy.

Contact an Expert

Please enter your location

Get Support

For technical support please visit our support site.

For information on careers at GE please visit our careers page.

Your information will be used in accordance with our privacy policy.

AXIS Software

AXIS Software

ImageFlex

ImageFlex