Engineering Services for Computer Vision and Deep Learning

Background

Due to the emergence of powerful, low-cost, energy-efficient processors, it is now possible to build vision capabilities into a wide range of embedded systems. However, there are two big challenges to implementing computer vision effectively in embedded systems: complex algorithms and the need for system optimization.

How BDTI Can Help

If would like to build vision capability into your product but don’t have the expertise in-house to meet the challenges of vision processing, BDTI can help. BDTI provides a range of engineering services for design and implementation of vision applications. Our team of engineers has years of experience building complex, reliable, and low-cost signal processing systems, including video analytics and computer vision applications. BDTI can work with you to understand your application, identify your requirements, select the best technology—hardware and software—and then design and build your system. BDTI can work closely with your engineering team, handling only the computer vision portion of the design, or BDTI can execute a complete “turn-key” project, delivering a complete, finished system.

BDTI offers the following services for companies seeking to create vision-enabled products:

Processor Selection

BDTI has more than 25 years of hands-on processor benchmarking analysis experience. This results in reliable identification of the best processors for demanding computer vision and deep learning designs. BDTI's unique breadth and depth of embedded processor knowledge, combined with strong supplier contacts enables BDTI to unearth hidden options and supplier strategies.

Our Team and Track Record

BDTI’s team of engineers has years of experience building complex, reliable, and low-cost signal processing systems, including computer vision applications. We will work with you to understand your application, identify your requirements, select the best technology—hardware and software—and then design and build your system. We can work closely with your existing engineering team, handling only the computer vision portion of the design, or we can execute a complete turn-key project, delivering a complete, finished system. We can use existing IP or develop custom algorithms for your application.

Examples of recent projects include:

Implementation and optimization of vision algorithms for Google's 3D sensing technology. BDTI obtained reference algorithms and heavily refactored them to support efficient implementation on the target hardware, then worked closely with the algorithm designer to understand and implement various speed, power, and accuracy tradeoffs. Next, BDTI implemented and optimized the software on the SoC's DSP and CPU, and supported integration and validation. BDTI's unique combination of expertise in computer vision algorithms and understanding of processor architectures enabled Lenovo to ship the first smartphone with Tango 3D vision technology—on-time.

Design of a vision-based detection and tracking system. BDTI performed a detailed analysis of the client's algorithms to assess performance requirements, then leveraged relationships with vendors to identify a platform that met size, power consumption, and performance requirements. Next, BDTI proposed algorithm changes and created highly optimized software utilizing an on-chip co-processor. BDTI's knowledge of processors, computer vision algorithms, and optimization techniques enabled the customer to win a government contract.

Design and implementation of a unique motion analysis algorithm for efficient execution on the Hexagon DSP embedded in the Qualcomm Snapdragon mobile processor. BDTI created a unique variant of optical flow that combines high accuracy with lower processing demands, then implemented and optimized the algorithm to run optimally on the Hexagon DSP using HVX (Hexagon Vector eXtensions). BDTI's expertise in algorithm design and understanding of processor architectures enabled the customer to demonstrate that its low-power Hexagon DSP processor supports demanding applications. (In the image at right, the color and intensity indicate direction and speed of motion.)

Design and implementation of a neural network pedestrian detection application for an embedded processor. BDTI engineers analyzed literature to select a suitable CNN architecture starting point, then with target hardware in mind, experimented with network designs in order to reduce computational demand while maintaining acceptable accuracy. Next, BDTI iterated the network design, re-train each to deliver a final network design and trained weights that met customer needs. BDTI's knowledge of cutting-edge algorithms enabled creation of a CNN-based pedestrian detection application that exceeds customer expectations.

For a global processor vendor, a complete demonstration system for a new processor targeting industrial machine vision applications. The demo shows the usefulness of a new, unique processor architecture that incorporates a configurable vision processing pipeline. (Read about the demo.)

For a major semiconductor company BDTI prototyped computer-vision-based tripwire and object recognition algorithms, using a combination of an FPGA and a processor. (In the image at right, the software identifies a pedestrian crossing a line into a “danger zone” and marks him with a red box. A pedestrian outside the “danger zone” is indicated by a green box.)

See demos of vision applications created by BDTI:

At the 2018 Consumer Electronics Show in Las Vegas, Cadence showed a demo of BDTI's YOLO-based people detector implemented and optimized for the Tensilica Vision P6 DSP. This version of YOLO was modified specifically by BDTI to run efficiently on the Vision P6.

At the 2017 Embedded Vision Summit, BDTI showed three demos. The first was face detection algorithm running on a low-cost Renesas RGZ family processor. The face detection algorithm was implemented by BDTI to run in real time with minimal processor resource use, demonstrating that the right skills can enable computer vision even on low cost-microprocessors, bringing sophisticated functionality to more products.

The second BDTI demo at the 2017 Embedded Vision Summit was Google’s 3D sensing technology, running on the Lenovo Phab 2 Pro smartphone. This was the first production device with this technology and was a success in no small part due to BDTI’s unique expertise: understanding of complex compute-intensive computer vision algorithms and how to map them efficiently onto specialized processor architectures. To obtain real-time performance, BDTI engineers carefully re-architected the Google algorithms to take advantage of the heterogeneous processing resources on the Qualcomm Snapdragon 652 processor used in the Lenovo smartphone.

The third BDTI demo at the 2017 Embedded Vision Summit was neural network-based object detection, demonstrating BDTI’s ability to design, train, and implement neural networks for specific use cases. For this demo, BDTI engineers implemented YOLO (You Only Look Once), an approach in which classification and detection is performed by a single neural network in a single pass, resulting in very fast detection. BDTI integrated YOLO with OpenCV functions to enable real-time display of detections.

At the March 2016 Embedded Vision Alliance Member Meeting, BDTI showed a dense optical flow algorithm running on the Qualcomm Snapdragon mobile processor. This computationally demanding algorithm was implemented and optimized to run at 20 frames per second on the Hexagon DSP in the Qualcomm Snapdragon 820 through use of the Hexagon Vector eXtensions (HVX) library.

At the 2015 Embedded Vision Summit, BDTI showed two vision applications: one uses background subtraction techniques and the other uses motion-based object detection combined with augmented reality effects. The background subtraction algorithm was implemented and optimized to run on the Adreno GPU embedded in the Qualcomm Snapdragon mobile processor and demonstrates the capabilities of the GPU for computer vision tasks. The motion-based object detection algorithm was implemented in OpenCV on an x86-based processor, then optimized and accelerated using OpenCL.

At the 2013 Embedded Vision Summit, BDTI showed two vision applications: a "dice counting" application and a color-based object detection application. The "dice counting" application employs edge detection and other computer vision techniques to count dots on dice quicker than a human possibly could. This application was designed, implemented, and optimized on an Analog Devices ADSP-BF609, using its Pipeline Vision Processor that provides hardware support for high definition video analytics. The color-based object detection algorithm, designed by BDTI, was implemented and optimized to run on the Hexagon DSP embedded in the Qualcomm Snapdragon mobile processor.

How to Engage BDTI

BDTI can add computer vision to your products faster and with less risk than you may have thought possible. And that translates to faster time to market and increased revenue! Contact us today to discuss how computer vision can enhance your products.

For a confidential discussion of your needs, call BDTI +1 (925) 954-1411 or click on “Contact BDTI” to the right to send us a message.