Bookmark and Share

BDTI Services

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.

Complex algorithms

Signal processing algorithms form the heart of computer vision functionality. Signal processing is used:

  • At the pixel level, to extract objects from images
  • At the object level, to track, evaluate, “see,” and “understand” the behavior of objects

Successful computer vision system design and development requires a command of algorithms and implementation techniques—and the interplay between the two.

System optimization

Computer vision algorithms are computationally intensive. Fitting these “big algorithms” into low-cost implementations is tricky, requiring creative, multi-level hardware and software 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.

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 Tango, 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.
CNN-based pedestrian detection
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 videos of BDTI demonstrating vision applications:

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” to the right to send us a message.