Many of the underlying techniques that high performance computing (HPC) applications use to arrive at a solution can be used for other domains where fast computation, fast I/O and complex software algorithms are required. For example, computer vision is an area that requires developers to use the CPUs and other hardware components at their maximum speed.
There are a number of areas that computer vision is critical for today. The most visible is having to do with autonomous driving vehicles, robots, virtual reality and image recognition applications.
Developers need easy to use software development kits in order to create applications that can take advantage of algorithms and hardware capabilities.
The Intel Computer Vision SDK is a toolkit that allows developers to quickly create new applications. The Intel CV SDK gives developers access to OpenVX and OpenCV functions. These optimized libraries give users access to features such as:
- Image processing
- Feature extraction and tracking
- Deep learning
- Common routines
Applications and task in computer vision typically are expressed as graphs, as the workload is a sequence of operations that needs to operate on an input stream which will most likely be video images that are captured. The Intel OpenVX product allows the developer to interactively create these graphs and then optimizes the graph. The optimization will determine which of the workflow stages should be executed on which part of the computing system. This may include both the CPU as well as another processor, such as the Intel Xeon Phi processor.
In order for developers to be able to focus on their application, a Vision Algorithm Designer application is included in the Intel Computer Vision SDK. This gives users a drag and drop interface that allows them to create new applications on the fly. Large and complex workflows can be modelled visually which takes the guesswork out of bringing together many different functions. In addition, customized code can be added to the workflows. The Intel Visual Algorithm Designer also includes sample workflows that can assist the developer in getting up to speed quicker.
Integrated with the Intel Computer Vision SDK, but with a separate download, developers can use OpenCL is a well accepted framework for creating applications that can take advantage of a wide range of computing hardware, such as Intel Xeon cpus, Intel Xeon Phi processors and FPGAs. Since computer vision algorithms can be optimized for various components in a heterogeneous environment, it is important to be able to write these applications in a framework that allows execution on different hardware.
Computer vision is an exciting new area that has tremendous upside as more industries turn to automation and autonomous operation. The ability to quickly create applications that will run on the most optimized hardware is becoming very important and can remove bottlenecks in both the development time and eventually the execution time.