OpenVX Programming Guide presents definitive information on OpenVX 1.2 and 1.3, the Neural Network and other extensions, along with the OpenVX Safety Critical standard. This book gives a high-level overview of the openVX standard, its design principles and the overall structure. Sections cover computer vision functions and the graph API, providing examples of usage for the majority of functions. It is intended both for the first time user of OpenVX as well as a reference for experienced OpenVX developers.
- Helps readers understand the OpenVX standard and gain insights on why various options are chosen
- Enables users to instantly start developing efficient OpenVX code
- Presents design principles and how to use them to create robust code
1. Introduction 2. Build your first OpenVX program 3. Using the Graph API to write efficient portable code 4. Building an OpenVX graph 5. Deploying an OpenVX graph to a target platform 6. Basic image transformations 7. Background subtraction and object detection 8. Computational photography 9. Efficient data input/output 10. Tracking 11. Use OpenVX for deep neural networks 12. OpenVX safety critical applications 13. Using OpenVX with other vision frameworks 14. Making the most of your OpenVX code
Frank Brill manages OpenVX software development for Cadence's Tensilica Imaging and Vision DSP organization. He began his career doing computer vision research and development for video surveillance applications at Texas Instruments, and then moved into silicon device program management, where he was responsible for several digital still camera and multimedia chips. Since then, Frank has managed computer vision R&D groups at TI, NVIDIA, Samsung and now at Cadence, and has represented all four companies in the Khronos OpenVX working group. He joined Cadence in 2016 to work on OpenVX, and currently serves as chairperson of the OpenVX working group.
Victor Erukhimov is a CEO of Itseez3D, the company that democratizes 3D model creation. He also co-founded Itseez, Inc. that focused on developing computer vision solutions running on embedded platforms, specifically automotive safety systems. He held the positions of CTO, CEO and President at Itseez, before the company was acquired by Intel Corporation in 2016. Victor also was the chair of the OpenVX working group in 2012-2016, helping to create the standard for cross-platform computer vision API. He is the author of many papers in the areas of computer vision and machine learning, as well as several US and international patents. Victor participates in the development and maintenance of the OpenCV library.
Stephen Ramm is currently a principal software engineer with Etas, a subsidiary of Bosch, where he is involved with Adaptive Autosar, working on reliable frameworks and development environments for for advanced functionality in the automotive, rail and other safety-critical industries. Until late 2017 he was Director of AI and Vision software at Imagination Technologies, where one of his responsibilities was the team producing an implementation of OpenVX accelerated by Imagination's GPU architecture. Prior to that Stephen has held various positions in technical management, research and design and applied mathematics with experience in fields as varied as optical design, nutritional analysis, advanced statistics and calibration techniques, RF electronics, NMR, detonators for explosives in deep mines, electronics at board and silicon level and development tools for the games industry. Stephen was formerly an editor of the OpenVX specification, former chair of the OpenVX Safety-critical sub-committee, and a former member of the OpenGL Safety Critical group and Safety Critical Advisory Panel within Khronos. He is a member of the Institute of Physics and a Chartered Physicist. He studied at York University in the UK where he was awarded a first class honours degree in Physics and Computer Science in 1980. He has three grown-up children and two granddaughters and lives with his wife in Elvington, North Yorkshire.
Radhakrishna Giduthuri is a principal engineer at Intel focussing on software architecture for AI products. Prior to Intel, he built computer vision, deep learning, and video compression software acceleration libraries for AMD GPUs & CPUs. He has extensive background with software architecture, development, and performance tuning for various computer architectures ranging from general purpose DSPs, customizable DSPs, media processors, heterogeneous processors, GPUs, and several CPUs. He is the editor of Khronos OpenVX working group and a member of Khronos NNEF (Neural Network Exchange Format) and OpenCL safety-critical working groups. For several years, he was a member of SMPTE video compression standardizing committee. He is an active member of IEEE Signal Processing Society and winner of outstanding leadership and professional services award for IEEE Central Area in 2016. Radhakrishna holds an M.Tech. from IIT Kharagpur, India.