Q&A: Deep learning, autonomous driving, and imaging software
Avi Nehemiah, Product Manager – Computer Vision and Automated Driving, MathWorks discusses his company's product offerings, while also talking about deep learning, autonomous driving, and imaging in automobiles and consumer electronics.
With Avi Nehemiah, Product Manager – Computer Vision and Automated Driving, MathWorks (Pictured)
What’s new at your company?
MathWorks is the developer of MATLAB and Simulink used by engineers and scientists throughout the automotive, aerospace, communications, electronics, semiconductors, and industrial automationindustries worldwide. MATLAB is a programming environment for algorithm development, data analysis, visualization, and numeric computation and Simulink is a graphical environment for simulation and Model-Based Design of multidomain dynamic and embedded systems.
A continued key area of investment is the imaging space with new image processing and computer vision algorithms, more complete coverage for standard camera interfaces such as USB3 Vision, and FPGA-ready implementations of common vision algorithms. In our most recent release, R2017a, we made improvements in vision-specific tools for deep learning and automated driving.
What is your latest product or product update/capability and for what reason was it developed?
MathWorks updates its products every six months to provide new capabilities and continuously improve the quality of our software. In R2017a, we added capabilities in two key areas related to vision system design:
- Deep learning – This is a new algorithm area that enables recognition accuracy at levels better than humans. We provide a framework that makes deep learning quick to learn and easy to use for engineers and scientists. Our solution provides easy access to pre-trained networks developed by experts and leverages GPUs without GPU programming. With just a few lines of code, engineers can explore and develop high performance recognition systems without being an expert in deep learning.
- Automated driving – Vision systems are a key part of ADAS and automated driving systems. With over 30 years in the automotive industry, we are uniquely able to pull together vision and control system design so that vendors and OEMs can more efficiently design, test and verify ADAS and autonomous driving systems. In R2017a, we introduced the Automated Driving System Toolbox to enable ground-truth labeling, generation of synthetic driving scenarios, sensor fusion, and vision algorithms designed for automated driving.
In which markets or applications do you see the most growth?
There are two key areas in which we see the most growth. The first is the use of vision systems in automobiles. We have moved beyond the simple backup camera to vehicles having cameras pointing in all directions, including towards the driver, to enable active safety features. Within a few years, almost all cars will have this. Eventually, these cameras will be used to enable fully autonomous vehicles.
The second key area of growth is related to consumer electronics. It seems clear that almost all consumer electronics devices have cameras, but it’s the new uses of the cloud that are creating new value. Take a picture of a sign in a foreign language and you can have it translated into your language. Take a picture of a product and you can compare prices from different vendors. Numerous tech companies are creating tools indispensable to daily life using algorithms like deep learning to solve problems that we didn’t even know we had.
Are market changes affecting your product development, and if so, how?
One of the biggest changes to vision system design in the past few years is the progress of deep learning. More than just a few new algorithms, it is a different approach to algorithm development that required a new toolchain. We’ve had to build ground-truth labeling tools, new visualization tools, and new deployment tools to support the hardware architectures (i.e. GPUs) that are suitable to deep learning.
Is there a trend/product/application in the next few years that you see as "the next big thing?"
Over the next few years we see the use of artificial intelligence, especially deep learning, transforming any domain that uses image and video data. In the current state of artificial intelligence research, deep learning can solve problems that were considered impossible a few years ago, and is surpassing human accuracy for many recognition and classification tasks.
MathWorks notes that its products have deep learning/machine learning capabilities. Can you talk a little bit about this?
Deep learning has produced a big change in what we thought was possible to achieve in recognition tasks. The level of accuracy is beyond anything we have seen before. However, very few engineers had an opportunity to study deep learning in school since it is so new. This made for a big gap between what’s possible and what most engineers know how to do.
MathWorks has filled this gap with capabilities for deep learning and machine learning that are suitable for non-experts as well as experts. It does not require advanced study in order to use it. Within minutes, an engineer can become productive with simple tasks and work their way to more complicated approaches. Our goal is for MATLAB to make it as easy as possible for users to get started using machine learning and deep learning.
MathWorks also lists "embedded vision" as one of its capabilities/products. Can you talk about this as well?
MathWorks considers "embedded vision" to be the use of image processing and computer vision algorithms on a range of embedded devices, such as processors, GPUs, and FPGAs. Moving algorithms to these devices requires specialized skills in the different architectures and languages of each category of device. For example, C/C++ for processors, CUDA or OpenCL for GPUs, and VHDL or Verilog for FPGAs.
With MATLAB and Simulink, we are providing design tools that make it easier for engineers to move algorithms to embedded devices without requiring the specialized language knowledge. This allows engineers to focus on the architectural tradeoffs. Many SOC devices use multiple architectures, which requires exploration to decide which parts of the algorithm should reside on which component.
We offer a few key products to help with embedded vision system design. MATLAB Coder automatically converts MATLAB code into C code. HDL Coder automatically converts MATLAB code or Simulink models into VHDL or Verilog code. Also, Vision HDL Toolbox contains highly optimized IP for creation of vision systems on FPGA’s.
View more information on MathWorks.
Learn more: search the Vision Systems Design Buyer's Guide for companies, new products, press releases, and videos