MERLIN Overview

Merlin is a Deep Neural Net (DNN) vision engine.  Merlin is not designed for training, but rather deployment of DNN recognition engines into low-power low-cost end uses. It uniquely merges customized DNN hardware accelleration with user application software.  Merlin provides a complete OpenCV deployment environment in which hardware-accelerated computation is made available to software simply by reading device files.

 
 
 Bayer Pattern

Bayer Pattern

Image Pre-processing

Merlin includes options for hardware-based real-time image pre-processing, including pixel defect correction, noise reduction, resampling, windowing, Bayer pattern processing and color space conversion.

 
 Example Image Processing Flow Graph

Example Image Processing Flow Graph

Optional Image Processing

In some situations there is an advantage to training on processed images. Merlin can leverage the Xilinx reVision stack or the Pixel Machines Algorithm Graph Compiler (available 1Q 2018) to accelerate image processing computation by 10-20x. Users with pre-existing Zynq-based accellerators will find it straightforward to port their work to Merlin.

 
 Example Deep Neural Net Architecture

Example Deep Neural Net Architecture

DNN Processing

Merlin provides an acceleration architecture for deep neural net processing. Metadata about a trained network (in Caffe, Tensorflow or Torch) including weights and layer architecture is imported and used to drive generation of a custom hardware engine to speed up this computation.  The result is an edge device with dramatically higher performance than CPUs and dramatically lower power than GPUs, suitable for deployment in space, power, or cost-constrained applications.