"keeping brick and mortar relevant, a look inside retail analytics," a presentation from...
TRANSCRIPT
Keeping Brick and Mortar Relevant:
A Look Inside Prism Skylabs and Retail Analytics
03 December 2014
Doug Johnston
VP Technology
“Retail guys are going to go out of
business and ecommerce will become the
place everyone buys. You are not going
to have a choice.”
- Marc Andreesen, Entrepreneur & Investor
Sarah Lacy | PandoDaily
Barriers to unlocking video
Access Computation Privacy Actionability
More broadband and
wireless
Cloud computing,
rapid growth in embedded
New technology,
computational
photography
Mobile apps and data
visualization
Real-time imagery. Real-world insight.
02 June 2014
Product and Innovation
First Name Last Name
Title
Prism Connect • Built around our computer vision and computational imaging library
• Maintain versions for:
• All major x86 operating systems: Windows, Linux, OS X
• Mobile platforms: iOS and Android
• Embedded Camera systems: Axis, ISD (MIPS and ARM, respectively), etc.
• Hardware abstraction layer surround library for adopting to new platforms and connecting
more video sources
• Built with the Edge / Cloud duality in mind
• Allows computation to be moved between local site and backend as needed
• Basic premise for split : Reduce Bandwidth, maintain privacy
• Low CPU and memory requirements
• Cortex A8, ~50-100 MB memory (resolution dependent)
• 20+ channels on modern x86 CPU
Graph-based Approach Goals
• Isolate changes
• Ease understanding of processing
• Simplify setup
• Expand configurability
Graph-based Approach President in CV Community
An OpenVX developer expresses a connected graph of vision nodes that an
implementer can execute and optimize through a wide variety of techniques such
as:
• acceleration on CPUs, GPUs, DSPs or dedicated hardware
• compiler optimizations
• node coalescing
• tiled execution to keep sections of processed images in local memories
This architectural agility enables OpenVX applications on a diversity of systems
optimized for different levels of power and performance
Graph-based Approach What’s Different about our approach
• Very similar in style to OpenVX
• Development target is different
• OpenVX targets low-level interface to hardware
• OpenCV targets single-purpose function calls
• We target application development
• Architecting our system this way will allow a smooth transition to taking
advantage of the acceleration that OpenVX will provide
Methodology
• Interface with OpenCV by wrapping
functions in consistent style
• Make intermediate data products explicit
• Allow configuration through text (dot) files
• Real-time visualization of processing
Benefits
• Immediate performance gains due to implicit parallelization via
topological sorting
• Ability to update high level algorithms without code changes,
pushed as config files
• Prototyping greatly sped-up by making parameters easily
controllable
• High-level graph view helps understand what the system is
supposed to be doing