SlideShare a Scribd company logo
1 of 23
Cross Platform
Computer Vision
Optimization
Yossi Cohen
Lecture at
Google Technology User Group Tel-Aviv

                                        1
And You Should do it!




                        2
Computer Vision Application Types
 Augmented
                               Gestures
 Reality




                               Text
                               Recognition




                               CV with
 Depth
                               active IR
 Mapping
                               camera



                                             3
Conflicting Requirements
          Cross Platform Solution
          Run on All Devices
          Code Once
          Low cost maintenance / update


              Platform Specific
              Utilize all SoC capabilities for:
              Fast processing / fast response
              Low Power requirements

                                                  4
Conflicting Development
         Cross Platform Development
         HTML5             Doesn’t work for
         Java              Computer Vision (Yet)

           Platform Specific Development
           SIMD Optimization (ASM)
           Use platform specific GPU, DSP
           Use Platform Specific HW accelerators:
           CODECs
           Rotators
           Color Space Convertors…

                                                5
Possible Solutions
                    • Too much Power Consumption
 Don't Optimize     • Too Sloooowwww




Optimize for one    • Best performance for a single platform (market leader SoC)
                    • Lose (50%+) market share
 platform (SoC)

                    • Good Performance for all ARM platforms
Optimize for ARM    • Lose MIPS, X86 Market
  NEON Only         • Lose GPU, DSP and HW specific acceleration capabilities



                    • Development Costs
 Optimize for all   • Knowledge problem
   platforms        • Fragmented Code, high update & maintenance costs


                                                                                   6
Optimize for one processor architecture
 Select a Processor based on Target Market:
  For Android its ARM
 Optimize for SIMD Instruction
  NEON Optimization (Alternatively SSE or 3DNow)
 Advantages
  ~x1-x8 Acceleration (depending on function)
  Fit ~95%+ of Android Market
 Disadvantages                                 ARM NEON
  Not Suited for x86 & MIPS                    Optimization   Unutilized
  Does not utilize 100% of SoC capabilities:
    Internal DSP
    GPU
    HW Accelerators
    VFU
                                                                       7
Optimize for a Single Processor
 Select a Single Processor based on Target Market:
  8960 - the fastest processor
  250 Design wins
 Optimize NEON
 Optimize DSP
 Optimize for GPU
 Advantages
  Youll have the fastest app on
   the best most widely used processor      Optimized           Optimized
 Disadvantages
  Development Time                                     CPU         GPU


  need to support inferior/legacy processor as well
                                                        VeNum        DSP


                                                                           8
Selecting between two sub-optimal solutions



Isn’t there someone that will solve this in a better
way?


                                                       9
10
Khronos
 Standardization organization
 Generates OPEN, Royalty free API (unlike Oracle)
  for Cross HW software
 Most Known API – OpenGL
 In Android:
 OpenGL ES
 OpenMAX
 OpenSL




                                                     11
Khronos Vision of Cross Platform Computer Vision


                   Application Layer
                    Sensory Input

                       OpenCV
                 High Level Algorithm
 Camera
  Input                                   Video Out
                       OpenVL
                   Integration Layer

                      OpenCL
              DSP, HW Accelerators, GPU

                                                      12
OpenVL
 Integration API for Computer Vision
 (like OpenGL for graphic )
 implements computer vision primitives




                                          13
All we have to do is wait 5-7 years for market
adaptation…..

If only there was a solution which is both optimized
for ARM NEON and for the fastest CPU in the market
                                                  14
One Development Toolkit – Two Implementations

      FastCV for ARM         FastCV for Snapdragon




      CPU    GPU                  CPU     GPU




      Neon   DSP                  VeNum   DSP




                                                     15
Fast CV Overview
 Fast CV is an API & library which enables Real-Time Computer Vision (CV)
    applications.
   FastCV enables mobile devices to run CV applications efficiently.
   FastCV allows developers to HW accelerate their CV application.
   FastCV is analogous to OpenGL ES in the rendering domain
   FastCV is a clean modular library.




                                                                             16
FastCV Architecture
  Applications
      CV




                                       AR            Gestures          Facial Recognition              Other




                     Augmented Reality APIs            Gestures APIs              Facial Recognition APIs                 Defined API
   Framework
   Optimized




                   QC Augmented                     QC Gesture                   QC Facial                     3rd Party CV
                      Reality                       Processing                  Recognition                    Frameworks



                                                                                                                   Computer Vision APIs


                                              FastCV Snapdragon                                                FastCV ARM
 Kernel




                                                    Display Drivers       Camera Drivers
 Hardware




                 Snapdragon                                                                                    Connectivity
                                              Adreno GPU           Video Core                Hexagon
                 CPU Core (s)                                                                                  Sensors etc



                                                                                                                                          17
FastCV 1.0 – Feature Grouping
 Math / Vector Operations
   Commonly used vector & math functions
 Image processing
   Image filtering, convolution and scaling operations
 Image transformation
   Warp perspective, affine transformations
 Feature detection
   Fast corner detection, harris corner detection, canny edge detection
 Object detection
   NCC based template matching object detection functions.
 3D reconstruction
   Homography, pose evaluation functions
 Color conversion
   Commonly used formats supported: e.g., YUV, RGB, YCrCb, etc.
 Clustering and search
   K clusters best fitting of a set of input points

                                                                           18
Industry Computer Vision Solutions
 FastCV is a processor-core agnostic acceleration API
 Khronos is looking to provide a standard CV API
   Potentially utilizing portions of OpenCV
 FastCV will evolve as Khronos standard is defined

                                     Application

                                                                    Media interface

     High-level CV algorithms library



                           Hardware Abstraction Layer
                        FastCV Hardware Acceleration API



             FastCV source
               Open for ARM                        HW Specific Implementations
                                                     Hardware vendor
                 reference
                (Reference
                                                     implementations
              implementation
             implementation)                   FastCV for   FastCV for   FastCV for   FastCV for
                                               Snapdragon     Nvidia        Intel      Others…


                                                                                                   19
FastCV Compared To OpenCV
                                                       FastCV
                       Function    OpenCV   FastCV
                                                     Snapdragon

                           NCC      1.0x     9.0x      23.1x
              Dot Product 128x4     1.0x     4.0x      10.0x
               Convert YUV420       1.0x     1.4x       1.3x
                          Sobel     1.0x     1.8x       7.8x
                    Median3x3       1.0x     3.8x      51.9x
                   Gaussian3x3      1.0x     2.6x       4.1x
                   Gaussian5x5      1.0x     1.4x       2.9x
                     Threshold      1.0x     0.7x       9.7x
                 Integral Image     1.0x     1.1x       1.3x
                  Harris Corner     1.0x     2.8x       8.6x
                          Dilate    1.0x     1.4x      15.0x
                         Erode      1.0x     1.3x      15.0x
                 Perspective Fit    1.0x    21.5x      37.8x
                LK Optical Flow     1.0x     2.0x      14.3x      20
Gain Is More Than Time
 Measure CPU frequency along with times
   Utilize single CPU in Linux performance mode
   Legend:       CPU Frequency         Long algorithm time   Short algorithm time




                                                                                     21
References
 More on
  OpenMAX http://www.slideshare.net/DSPIP/openmax-overview
  OpenCL http://www.slideshare.net/DSPIP/opencl-programming-101
  OpenSL http://www.slideshare.net/DSPIP/android-audio-opensl
 Download FastCV
  https://developer.qualcomm.com/develop/mobile-technologies/computer-vision-
   fastcv/getting-started-guide




                                                                                 22
Thank you!
More About me:
 Video Expert
                                       Yossi Cohen
 Lectures on Video / Android / VoIP
                                       yossicohen19@gmail.com
 Android Native Developer             http://www.mobilevideotech.com
                                       +972-545-313092




                                                                        23

More Related Content

What's hot

Graal and Truffle: Modularity and Separation of Concerns as Cornerstones for ...
Graal and Truffle: Modularity and Separation of Concerns as Cornerstones for ...Graal and Truffle: Modularity and Separation of Concerns as Cornerstones for ...
Graal and Truffle: Modularity and Separation of Concerns as Cornerstones for ...Thomas Wuerthinger
 
The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...
The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...
The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...AMD Developer Central
 
PT-4052, Introduction to AMD Developer Tools, by Yaki Tebeka and Gordon Selley
PT-4052, Introduction to AMD Developer Tools, by Yaki Tebeka and Gordon SelleyPT-4052, Introduction to AMD Developer Tools, by Yaki Tebeka and Gordon Selley
PT-4052, Introduction to AMD Developer Tools, by Yaki Tebeka and Gordon SelleyAMD Developer Central
 
TFLite NNAPI and GPU Delegates
TFLite NNAPI and GPU DelegatesTFLite NNAPI and GPU Delegates
TFLite NNAPI and GPU DelegatesKoan-Sin Tan
 
Design and Optimize your code for high-performance with Intel® Advisor and I...
Design and Optimize your code for high-performance with Intel®  Advisor and I...Design and Optimize your code for high-performance with Intel®  Advisor and I...
Design and Optimize your code for high-performance with Intel® Advisor and I...Tyrone Systems
 
GS-4150, Bullet 3 OpenCL Rigid Body Simulation, by Erwin Coumans
GS-4150, Bullet 3 OpenCL Rigid Body Simulation, by Erwin CoumansGS-4150, Bullet 3 OpenCL Rigid Body Simulation, by Erwin Coumans
GS-4150, Bullet 3 OpenCL Rigid Body Simulation, by Erwin CoumansAMD Developer Central
 
FOSDEM2016 - Ruby and OMR
FOSDEM2016 - Ruby and OMRFOSDEM2016 - Ruby and OMR
FOSDEM2016 - Ruby and OMRCharlie Gracie
 
PT-4142, Porting and Optimizing OpenMP applications to APU using CAPS tools, ...
PT-4142, Porting and Optimizing OpenMP applications to APU using CAPS tools, ...PT-4142, Porting and Optimizing OpenMP applications to APU using CAPS tools, ...
PT-4142, Porting and Optimizing OpenMP applications to APU using CAPS tools, ...AMD Developer Central
 
PL-4044, OpenACC on AMD APUs and GPUs with the PGI Accelerator Compilers, by ...
PL-4044, OpenACC on AMD APUs and GPUs with the PGI Accelerator Compilers, by ...PL-4044, OpenACC on AMD APUs and GPUs with the PGI Accelerator Compilers, by ...
PL-4044, OpenACC on AMD APUs and GPUs with the PGI Accelerator Compilers, by ...AMD Developer Central
 
Leverage the Speed of OpenCL™ with AMD Math Libraries
Leverage the Speed of OpenCL™ with AMD Math LibrariesLeverage the Speed of OpenCL™ with AMD Math Libraries
Leverage the Speed of OpenCL™ with AMD Math LibrariesAMD Developer Central
 
PT-4058, Measuring and Optimizing Performance of Cluster and Private Cloud Ap...
PT-4058, Measuring and Optimizing Performance of Cluster and Private Cloud Ap...PT-4058, Measuring and Optimizing Performance of Cluster and Private Cloud Ap...
PT-4058, Measuring and Optimizing Performance of Cluster and Private Cloud Ap...AMD Developer Central
 
NVIDIA OpenGL and Vulkan Support for 2017
NVIDIA OpenGL and Vulkan Support for 2017NVIDIA OpenGL and Vulkan Support for 2017
NVIDIA OpenGL and Vulkan Support for 2017Mark Kilgard
 
PT-4059, Bolt: A C++ Template Library for Heterogeneous Computing, by Ben Sander
PT-4059, Bolt: A C++ Template Library for Heterogeneous Computing, by Ben SanderPT-4059, Bolt: A C++ Template Library for Heterogeneous Computing, by Ben Sander
PT-4059, Bolt: A C++ Template Library for Heterogeneous Computing, by Ben SanderAMD Developer Central
 
Real-world Vision Systems Design: Challenges and Techniques
Real-world Vision Systems Design: Challenges and TechniquesReal-world Vision Systems Design: Challenges and Techniques
Real-world Vision Systems Design: Challenges and TechniquesYury Gorbachev
 
How to implement a simple dalvik virtual machine
How to implement a simple dalvik virtual machineHow to implement a simple dalvik virtual machine
How to implement a simple dalvik virtual machineChun-Yu Wang
 
NVIDIA OpenGL 4.6 in 2017
NVIDIA OpenGL 4.6 in 2017NVIDIA OpenGL 4.6 in 2017
NVIDIA OpenGL 4.6 in 2017Mark Kilgard
 
"OpenCV: Current Status and Future Plans," a Presentation from OpenCV.org
"OpenCV: Current Status and Future Plans," a Presentation from OpenCV.org"OpenCV: Current Status and Future Plans," a Presentation from OpenCV.org
"OpenCV: Current Status and Future Plans," a Presentation from OpenCV.orgEdge AI and Vision Alliance
 
PL-4042, Wholly Graal: Accelerating GPU offload for Java/Sumatra using the Op...
PL-4042, Wholly Graal: Accelerating GPU offload for Java/Sumatra using the Op...PL-4042, Wholly Graal: Accelerating GPU offload for Java/Sumatra using the Op...
PL-4042, Wholly Graal: Accelerating GPU offload for Java/Sumatra using the Op...AMD Developer Central
 
Optimizing, Profiling, and Deploying TensorFlow AI Models with GPUs - San Fra...
Optimizing, Profiling, and Deploying TensorFlow AI Models with GPUs - San Fra...Optimizing, Profiling, and Deploying TensorFlow AI Models with GPUs - San Fra...
Optimizing, Profiling, and Deploying TensorFlow AI Models with GPUs - San Fra...Chris Fregly
 
PL-4051, An Introduction to SPIR for OpenCL Application Developers and Compil...
PL-4051, An Introduction to SPIR for OpenCL Application Developers and Compil...PL-4051, An Introduction to SPIR for OpenCL Application Developers and Compil...
PL-4051, An Introduction to SPIR for OpenCL Application Developers and Compil...AMD Developer Central
 

What's hot (20)

Graal and Truffle: Modularity and Separation of Concerns as Cornerstones for ...
Graal and Truffle: Modularity and Separation of Concerns as Cornerstones for ...Graal and Truffle: Modularity and Separation of Concerns as Cornerstones for ...
Graal and Truffle: Modularity and Separation of Concerns as Cornerstones for ...
 
The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...
The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...
The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...
 
PT-4052, Introduction to AMD Developer Tools, by Yaki Tebeka and Gordon Selley
PT-4052, Introduction to AMD Developer Tools, by Yaki Tebeka and Gordon SelleyPT-4052, Introduction to AMD Developer Tools, by Yaki Tebeka and Gordon Selley
PT-4052, Introduction to AMD Developer Tools, by Yaki Tebeka and Gordon Selley
 
TFLite NNAPI and GPU Delegates
TFLite NNAPI and GPU DelegatesTFLite NNAPI and GPU Delegates
TFLite NNAPI and GPU Delegates
 
Design and Optimize your code for high-performance with Intel® Advisor and I...
Design and Optimize your code for high-performance with Intel®  Advisor and I...Design and Optimize your code for high-performance with Intel®  Advisor and I...
Design and Optimize your code for high-performance with Intel® Advisor and I...
 
GS-4150, Bullet 3 OpenCL Rigid Body Simulation, by Erwin Coumans
GS-4150, Bullet 3 OpenCL Rigid Body Simulation, by Erwin CoumansGS-4150, Bullet 3 OpenCL Rigid Body Simulation, by Erwin Coumans
GS-4150, Bullet 3 OpenCL Rigid Body Simulation, by Erwin Coumans
 
FOSDEM2016 - Ruby and OMR
FOSDEM2016 - Ruby and OMRFOSDEM2016 - Ruby and OMR
FOSDEM2016 - Ruby and OMR
 
PT-4142, Porting and Optimizing OpenMP applications to APU using CAPS tools, ...
PT-4142, Porting and Optimizing OpenMP applications to APU using CAPS tools, ...PT-4142, Porting and Optimizing OpenMP applications to APU using CAPS tools, ...
PT-4142, Porting and Optimizing OpenMP applications to APU using CAPS tools, ...
 
PL-4044, OpenACC on AMD APUs and GPUs with the PGI Accelerator Compilers, by ...
PL-4044, OpenACC on AMD APUs and GPUs with the PGI Accelerator Compilers, by ...PL-4044, OpenACC on AMD APUs and GPUs with the PGI Accelerator Compilers, by ...
PL-4044, OpenACC on AMD APUs and GPUs with the PGI Accelerator Compilers, by ...
 
Leverage the Speed of OpenCL™ with AMD Math Libraries
Leverage the Speed of OpenCL™ with AMD Math LibrariesLeverage the Speed of OpenCL™ with AMD Math Libraries
Leverage the Speed of OpenCL™ with AMD Math Libraries
 
PT-4058, Measuring and Optimizing Performance of Cluster and Private Cloud Ap...
PT-4058, Measuring and Optimizing Performance of Cluster and Private Cloud Ap...PT-4058, Measuring and Optimizing Performance of Cluster and Private Cloud Ap...
PT-4058, Measuring and Optimizing Performance of Cluster and Private Cloud Ap...
 
NVIDIA OpenGL and Vulkan Support for 2017
NVIDIA OpenGL and Vulkan Support for 2017NVIDIA OpenGL and Vulkan Support for 2017
NVIDIA OpenGL and Vulkan Support for 2017
 
PT-4059, Bolt: A C++ Template Library for Heterogeneous Computing, by Ben Sander
PT-4059, Bolt: A C++ Template Library for Heterogeneous Computing, by Ben SanderPT-4059, Bolt: A C++ Template Library for Heterogeneous Computing, by Ben Sander
PT-4059, Bolt: A C++ Template Library for Heterogeneous Computing, by Ben Sander
 
Real-world Vision Systems Design: Challenges and Techniques
Real-world Vision Systems Design: Challenges and TechniquesReal-world Vision Systems Design: Challenges and Techniques
Real-world Vision Systems Design: Challenges and Techniques
 
How to implement a simple dalvik virtual machine
How to implement a simple dalvik virtual machineHow to implement a simple dalvik virtual machine
How to implement a simple dalvik virtual machine
 
NVIDIA OpenGL 4.6 in 2017
NVIDIA OpenGL 4.6 in 2017NVIDIA OpenGL 4.6 in 2017
NVIDIA OpenGL 4.6 in 2017
 
"OpenCV: Current Status and Future Plans," a Presentation from OpenCV.org
"OpenCV: Current Status and Future Plans," a Presentation from OpenCV.org"OpenCV: Current Status and Future Plans," a Presentation from OpenCV.org
"OpenCV: Current Status and Future Plans," a Presentation from OpenCV.org
 
PL-4042, Wholly Graal: Accelerating GPU offload for Java/Sumatra using the Op...
PL-4042, Wholly Graal: Accelerating GPU offload for Java/Sumatra using the Op...PL-4042, Wholly Graal: Accelerating GPU offload for Java/Sumatra using the Op...
PL-4042, Wholly Graal: Accelerating GPU offload for Java/Sumatra using the Op...
 
Optimizing, Profiling, and Deploying TensorFlow AI Models with GPUs - San Fra...
Optimizing, Profiling, and Deploying TensorFlow AI Models with GPUs - San Fra...Optimizing, Profiling, and Deploying TensorFlow AI Models with GPUs - San Fra...
Optimizing, Profiling, and Deploying TensorFlow AI Models with GPUs - San Fra...
 
PL-4051, An Introduction to SPIR for OpenCL Application Developers and Compil...
PL-4051, An Introduction to SPIR for OpenCL Application Developers and Compil...PL-4051, An Introduction to SPIR for OpenCL Application Developers and Compil...
PL-4051, An Introduction to SPIR for OpenCL Application Developers and Compil...
 

Viewers also liked

"The OpenCV Open Source Computer Vision Library: Latest Developments," a Pres...
"The OpenCV Open Source Computer Vision Library: Latest Developments," a Pres..."The OpenCV Open Source Computer Vision Library: Latest Developments," a Pres...
"The OpenCV Open Source Computer Vision Library: Latest Developments," a Pres...Edge AI and Vision Alliance
 
How Computer Vision is Reshaping Real Estate Search - Andrew Flachner
How Computer Vision is Reshaping Real Estate Search - Andrew FlachnerHow Computer Vision is Reshaping Real Estate Search - Andrew Flachner
How Computer Vision is Reshaping Real Estate Search - Andrew FlachnerInman News
 
COM2304: Introduction to Computer Vision & Image Processing
COM2304: Introduction to Computer Vision & Image Processing COM2304: Introduction to Computer Vision & Image Processing
COM2304: Introduction to Computer Vision & Image Processing Hemantha Kulathilake
 
Image Search Engine Frequently Asked Questions
Image Search Engine Frequently Asked QuestionsImage Search Engine Frequently Asked Questions
Image Search Engine Frequently Asked Questionsakvalex
 
Intel RealSense technology : Overview and demos
Intel RealSense technology : Overview and demosIntel RealSense technology : Overview and demos
Intel RealSense technology : Overview and demosZayen Chagra
 
"Computer Vision 2.0: Where We Are and Where We're Going," a Presentation fro...
"Computer Vision 2.0: Where We Are and Where We're Going," a Presentation fro..."Computer Vision 2.0: Where We Are and Where We're Going," a Presentation fro...
"Computer Vision 2.0: Where We Are and Where We're Going," a Presentation fro...Edge AI and Vision Alliance
 
DARPA Project Memex Erodes Privacy
DARPA Project Memex Erodes PrivacyDARPA Project Memex Erodes Privacy
DARPA Project Memex Erodes PrivacyChris Furton
 
Building Knowledge Graphs in DIG
Building Knowledge Graphs in DIGBuilding Knowledge Graphs in DIG
Building Knowledge Graphs in DIGPalak Modi
 
CBIR in the Era of Deep Learning
CBIR in the Era of Deep LearningCBIR in the Era of Deep Learning
CBIR in the Era of Deep LearningXiaohu ZHU
 
미래교육을 위한 인터페이스 NUI & education
미래교육을 위한 인터페이스 NUI & education미래교육을 위한 인터페이스 NUI & education
미래교육을 위한 인터페이스 NUI & educationChoohan Cho
 
Deep Learning and its Applications - Computer Vision
Deep Learning and its Applications - Computer VisionDeep Learning and its Applications - Computer Vision
Deep Learning and its Applications - Computer VisionAdam Gibson
 
Recent Advances in Computer Vision
Recent Advances in Computer VisionRecent Advances in Computer Vision
Recent Advances in Computer Visionantiw
 

Viewers also liked (20)

"The OpenCV Open Source Computer Vision Library: Latest Developments," a Pres...
"The OpenCV Open Source Computer Vision Library: Latest Developments," a Pres..."The OpenCV Open Source Computer Vision Library: Latest Developments," a Pres...
"The OpenCV Open Source Computer Vision Library: Latest Developments," a Pres...
 
Computer Vision Introduction
Computer Vision IntroductionComputer Vision Introduction
Computer Vision Introduction
 
Computer Vision
Computer VisionComputer Vision
Computer Vision
 
How Computer Vision is Reshaping Real Estate Search - Andrew Flachner
How Computer Vision is Reshaping Real Estate Search - Andrew FlachnerHow Computer Vision is Reshaping Real Estate Search - Andrew Flachner
How Computer Vision is Reshaping Real Estate Search - Andrew Flachner
 
COM2304: Introduction to Computer Vision & Image Processing
COM2304: Introduction to Computer Vision & Image Processing COM2304: Introduction to Computer Vision & Image Processing
COM2304: Introduction to Computer Vision & Image Processing
 
Computer Vision
Computer VisionComputer Vision
Computer Vision
 
Computer Vision Crash Course
Computer Vision Crash CourseComputer Vision Crash Course
Computer Vision Crash Course
 
Image Search Engine Frequently Asked Questions
Image Search Engine Frequently Asked QuestionsImage Search Engine Frequently Asked Questions
Image Search Engine Frequently Asked Questions
 
Image search engine
Image search engineImage search engine
Image search engine
 
UnityでAR
UnityでARUnityでAR
UnityでAR
 
Intel RealSense technology : Overview and demos
Intel RealSense technology : Overview and demosIntel RealSense technology : Overview and demos
Intel RealSense technology : Overview and demos
 
Towards Embedded Computer Vision - New @ 2013
Towards Embedded Computer Vision - New @ 2013Towards Embedded Computer Vision - New @ 2013
Towards Embedded Computer Vision - New @ 2013
 
"Computer Vision 2.0: Where We Are and Where We're Going," a Presentation fro...
"Computer Vision 2.0: Where We Are and Where We're Going," a Presentation fro..."Computer Vision 2.0: Where We Are and Where We're Going," a Presentation fro...
"Computer Vision 2.0: Where We Are and Where We're Going," a Presentation fro...
 
DARPA Project Memex Erodes Privacy
DARPA Project Memex Erodes PrivacyDARPA Project Memex Erodes Privacy
DARPA Project Memex Erodes Privacy
 
Building Knowledge Graphs in DIG
Building Knowledge Graphs in DIGBuilding Knowledge Graphs in DIG
Building Knowledge Graphs in DIG
 
CBIR in the Era of Deep Learning
CBIR in the Era of Deep LearningCBIR in the Era of Deep Learning
CBIR in the Era of Deep Learning
 
미래교육을 위한 인터페이스 NUI & education
미래교육을 위한 인터페이스 NUI & education미래교육을 위한 인터페이스 NUI & education
미래교육을 위한 인터페이스 NUI & education
 
DARPA II
DARPA IIDARPA II
DARPA II
 
Deep Learning and its Applications - Computer Vision
Deep Learning and its Applications - Computer VisionDeep Learning and its Applications - Computer Vision
Deep Learning and its Applications - Computer Vision
 
Recent Advances in Computer Vision
Recent Advances in Computer VisionRecent Advances in Computer Vision
Recent Advances in Computer Vision
 

Similar to Cross platform computer vision optimization

“Open Standards: Powering the Future of Embedded Vision,” a Presentation from...
“Open Standards: Powering the Future of Embedded Vision,” a Presentation from...“Open Standards: Powering the Future of Embedded Vision,” a Presentation from...
“Open Standards: Powering the Future of Embedded Vision,” a Presentation from...Edge AI and Vision Alliance
 
Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...
Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...
Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...Intel® Software
 
XPDDS18: CPUFreq in Xen on ARM - Oleksandr Tyshchenko, EPAM Systems
XPDDS18: CPUFreq in Xen on ARM - Oleksandr Tyshchenko, EPAM SystemsXPDDS18: CPUFreq in Xen on ARM - Oleksandr Tyshchenko, EPAM Systems
XPDDS18: CPUFreq in Xen on ARM - Oleksandr Tyshchenko, EPAM SystemsThe Linux Foundation
 
Product wise computer vision development
Product wise computer vision developmentProduct wise computer vision development
Product wise computer vision developmentYoss Cohen
 
"Combining Flexibility and Low-Power in Embedded Vision Subsystems: An Applic...
"Combining Flexibility and Low-Power in Embedded Vision Subsystems: An Applic..."Combining Flexibility and Low-Power in Embedded Vision Subsystems: An Applic...
"Combining Flexibility and Low-Power in Embedded Vision Subsystems: An Applic...Edge AI and Vision Alliance
 
Droidcon 2013 automotive quality dunca_czol_garmin
Droidcon 2013 automotive quality dunca_czol_garminDroidcon 2013 automotive quality dunca_czol_garmin
Droidcon 2013 automotive quality dunca_czol_garminDroidcon Berlin
 
“Seamless Deployment of Multimedia and Machine Learning Applications at the E...
“Seamless Deployment of Multimedia and Machine Learning Applications at the E...“Seamless Deployment of Multimedia and Machine Learning Applications at the E...
“Seamless Deployment of Multimedia and Machine Learning Applications at the E...Edge AI and Vision Alliance
 
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...CEE-SEC(R)
 
Introduction to Software Defined Visualization (SDVis)
Introduction to Software Defined Visualization (SDVis)Introduction to Software Defined Visualization (SDVis)
Introduction to Software Defined Visualization (SDVis)Intel® Software
 
“Fast-track Design Cycles Using Lattice’s FPGAs,” a Presentation from Lattice...
“Fast-track Design Cycles Using Lattice’s FPGAs,” a Presentation from Lattice...“Fast-track Design Cycles Using Lattice’s FPGAs,” a Presentation from Lattice...
“Fast-track Design Cycles Using Lattice’s FPGAs,” a Presentation from Lattice...Edge AI and Vision Alliance
 
Unity mobile game performance profiling – using arm mobile studio
Unity mobile game performance profiling – using arm mobile studioUnity mobile game performance profiling – using arm mobile studio
Unity mobile game performance profiling – using arm mobile studioOwen Wu
 
Velocity-EHF for Android
Velocity-EHF for AndroidVelocity-EHF for Android
Velocity-EHF for Androidmichaeljfawcett
 
"The OpenVX Hardware Acceleration API for Embedded Vision Applications and Li...
"The OpenVX Hardware Acceleration API for Embedded Vision Applications and Li..."The OpenVX Hardware Acceleration API for Embedded Vision Applications and Li...
"The OpenVX Hardware Acceleration API for Embedded Vision Applications and Li...Edge AI and Vision Alliance
 
Learn more about the tremendous value Open Data Plane brings to NFV
Learn more about the tremendous value Open Data Plane brings to NFVLearn more about the tremendous value Open Data Plane brings to NFV
Learn more about the tremendous value Open Data Plane brings to NFVGhodhbane Mohamed Amine
 
"Snapdragon Hybrid Computer Vision/Deep Learning Architecture for Imaging App...
"Snapdragon Hybrid Computer Vision/Deep Learning Architecture for Imaging App..."Snapdragon Hybrid Computer Vision/Deep Learning Architecture for Imaging App...
"Snapdragon Hybrid Computer Vision/Deep Learning Architecture for Imaging App...Edge AI and Vision Alliance
 
Multithreading in Android
Multithreading in AndroidMultithreading in Android
Multithreading in Androidcoolmirza143
 
0xdroid -- community-developed Android distribution by 0xlab
0xdroid -- community-developed Android distribution by 0xlab0xdroid -- community-developed Android distribution by 0xlab
0xdroid -- community-developed Android distribution by 0xlabNational Cheng Kung University
 
Sig13 ce future_gfx
Sig13 ce future_gfxSig13 ce future_gfx
Sig13 ce future_gfxCass Everitt
 
"Lessons Learned from Bringing Mobile and Embedded Vision Products to Market,...
"Lessons Learned from Bringing Mobile and Embedded Vision Products to Market,..."Lessons Learned from Bringing Mobile and Embedded Vision Products to Market,...
"Lessons Learned from Bringing Mobile and Embedded Vision Products to Market,...Edge AI and Vision Alliance
 

Similar to Cross platform computer vision optimization (20)

“Open Standards: Powering the Future of Embedded Vision,” a Presentation from...
“Open Standards: Powering the Future of Embedded Vision,” a Presentation from...“Open Standards: Powering the Future of Embedded Vision,” a Presentation from...
“Open Standards: Powering the Future of Embedded Vision,” a Presentation from...
 
Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...
Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...
Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...
 
XPDDS18: CPUFreq in Xen on ARM - Oleksandr Tyshchenko, EPAM Systems
XPDDS18: CPUFreq in Xen on ARM - Oleksandr Tyshchenko, EPAM SystemsXPDDS18: CPUFreq in Xen on ARM - Oleksandr Tyshchenko, EPAM Systems
XPDDS18: CPUFreq in Xen on ARM - Oleksandr Tyshchenko, EPAM Systems
 
Product wise computer vision development
Product wise computer vision developmentProduct wise computer vision development
Product wise computer vision development
 
"Combining Flexibility and Low-Power in Embedded Vision Subsystems: An Applic...
"Combining Flexibility and Low-Power in Embedded Vision Subsystems: An Applic..."Combining Flexibility and Low-Power in Embedded Vision Subsystems: An Applic...
"Combining Flexibility and Low-Power in Embedded Vision Subsystems: An Applic...
 
ARM
ARMARM
ARM
 
Droidcon 2013 automotive quality dunca_czol_garmin
Droidcon 2013 automotive quality dunca_czol_garminDroidcon 2013 automotive quality dunca_czol_garmin
Droidcon 2013 automotive quality dunca_czol_garmin
 
“Seamless Deployment of Multimedia and Machine Learning Applications at the E...
“Seamless Deployment of Multimedia and Machine Learning Applications at the E...“Seamless Deployment of Multimedia and Machine Learning Applications at the E...
“Seamless Deployment of Multimedia and Machine Learning Applications at the E...
 
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...
 
Introduction to Software Defined Visualization (SDVis)
Introduction to Software Defined Visualization (SDVis)Introduction to Software Defined Visualization (SDVis)
Introduction to Software Defined Visualization (SDVis)
 
“Fast-track Design Cycles Using Lattice’s FPGAs,” a Presentation from Lattice...
“Fast-track Design Cycles Using Lattice’s FPGAs,” a Presentation from Lattice...“Fast-track Design Cycles Using Lattice’s FPGAs,” a Presentation from Lattice...
“Fast-track Design Cycles Using Lattice’s FPGAs,” a Presentation from Lattice...
 
Unity mobile game performance profiling – using arm mobile studio
Unity mobile game performance profiling – using arm mobile studioUnity mobile game performance profiling – using arm mobile studio
Unity mobile game performance profiling – using arm mobile studio
 
Velocity-EHF for Android
Velocity-EHF for AndroidVelocity-EHF for Android
Velocity-EHF for Android
 
"The OpenVX Hardware Acceleration API for Embedded Vision Applications and Li...
"The OpenVX Hardware Acceleration API for Embedded Vision Applications and Li..."The OpenVX Hardware Acceleration API for Embedded Vision Applications and Li...
"The OpenVX Hardware Acceleration API for Embedded Vision Applications and Li...
 
Learn more about the tremendous value Open Data Plane brings to NFV
Learn more about the tremendous value Open Data Plane brings to NFVLearn more about the tremendous value Open Data Plane brings to NFV
Learn more about the tremendous value Open Data Plane brings to NFV
 
"Snapdragon Hybrid Computer Vision/Deep Learning Architecture for Imaging App...
"Snapdragon Hybrid Computer Vision/Deep Learning Architecture for Imaging App..."Snapdragon Hybrid Computer Vision/Deep Learning Architecture for Imaging App...
"Snapdragon Hybrid Computer Vision/Deep Learning Architecture for Imaging App...
 
Multithreading in Android
Multithreading in AndroidMultithreading in Android
Multithreading in Android
 
0xdroid -- community-developed Android distribution by 0xlab
0xdroid -- community-developed Android distribution by 0xlab0xdroid -- community-developed Android distribution by 0xlab
0xdroid -- community-developed Android distribution by 0xlab
 
Sig13 ce future_gfx
Sig13 ce future_gfxSig13 ce future_gfx
Sig13 ce future_gfx
 
"Lessons Learned from Bringing Mobile and Embedded Vision Products to Market,...
"Lessons Learned from Bringing Mobile and Embedded Vision Products to Market,..."Lessons Learned from Bringing Mobile and Embedded Vision Products to Market,...
"Lessons Learned from Bringing Mobile and Embedded Vision Products to Market,...
 

More from Yoss Cohen

Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsYoss Cohen
 
open platform for swarm training
open platform for swarm training open platform for swarm training
open platform for swarm training Yoss Cohen
 
Deep Learning - system view
Deep Learning - system viewDeep Learning - system view
Deep Learning - system viewYoss Cohen
 
Dspip deep learning syllabus
Dspip deep learning syllabusDspip deep learning syllabus
Dspip deep learning syllabusYoss Cohen
 
IoT consideration selection
IoT consideration selectionIoT consideration selection
IoT consideration selectionYoss Cohen
 
Nvidia jetson nano bringup
Nvidia jetson nano bringupNvidia jetson nano bringup
Nvidia jetson nano bringupYoss Cohen
 
Autonomous car teleportation architecture
Autonomous car teleportation architectureAutonomous car teleportation architecture
Autonomous car teleportation architectureYoss Cohen
 
Motion estimation overview
Motion estimation overviewMotion estimation overview
Motion estimation overviewYoss Cohen
 
Computer Vision - Image Filters
Computer Vision - Image FiltersComputer Vision - Image Filters
Computer Vision - Image FiltersYoss Cohen
 
Intro to machine learning with scikit learn
Intro to machine learning with scikit learnIntro to machine learning with scikit learn
Intro to machine learning with scikit learnYoss Cohen
 
DASH and HTTP2.0
DASH and HTTP2.0DASH and HTTP2.0
DASH and HTTP2.0Yoss Cohen
 
HEVC Definitions and high-level syntax
HEVC Definitions and high-level syntaxHEVC Definitions and high-level syntax
HEVC Definitions and high-level syntaxYoss Cohen
 
Introduction to HEVC
Introduction to HEVCIntroduction to HEVC
Introduction to HEVCYoss Cohen
 
FFMPEG on android
FFMPEG on androidFFMPEG on android
FFMPEG on androidYoss Cohen
 
Hands-on Video Course - "RAW Video"
Hands-on Video Course - "RAW Video" Hands-on Video Course - "RAW Video"
Hands-on Video Course - "RAW Video" Yoss Cohen
 
Video quality testing
Video quality testingVideo quality testing
Video quality testingYoss Cohen
 
HEVC / H265 Hands-On course
HEVC / H265 Hands-On courseHEVC / H265 Hands-On course
HEVC / H265 Hands-On courseYoss Cohen
 
Web video standards
Web video standardsWeb video standards
Web video standardsYoss Cohen
 
3D Video Programming for Android
3D Video Programming for Android3D Video Programming for Android
3D Video Programming for AndroidYoss Cohen
 

More from Yoss Cohen (20)

Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platforms
 
open platform for swarm training
open platform for swarm training open platform for swarm training
open platform for swarm training
 
Deep Learning - system view
Deep Learning - system viewDeep Learning - system view
Deep Learning - system view
 
Dspip deep learning syllabus
Dspip deep learning syllabusDspip deep learning syllabus
Dspip deep learning syllabus
 
IoT consideration selection
IoT consideration selectionIoT consideration selection
IoT consideration selection
 
IoT evolution
IoT evolutionIoT evolution
IoT evolution
 
Nvidia jetson nano bringup
Nvidia jetson nano bringupNvidia jetson nano bringup
Nvidia jetson nano bringup
 
Autonomous car teleportation architecture
Autonomous car teleportation architectureAutonomous car teleportation architecture
Autonomous car teleportation architecture
 
Motion estimation overview
Motion estimation overviewMotion estimation overview
Motion estimation overview
 
Computer Vision - Image Filters
Computer Vision - Image FiltersComputer Vision - Image Filters
Computer Vision - Image Filters
 
Intro to machine learning with scikit learn
Intro to machine learning with scikit learnIntro to machine learning with scikit learn
Intro to machine learning with scikit learn
 
DASH and HTTP2.0
DASH and HTTP2.0DASH and HTTP2.0
DASH and HTTP2.0
 
HEVC Definitions and high-level syntax
HEVC Definitions and high-level syntaxHEVC Definitions and high-level syntax
HEVC Definitions and high-level syntax
 
Introduction to HEVC
Introduction to HEVCIntroduction to HEVC
Introduction to HEVC
 
FFMPEG on android
FFMPEG on androidFFMPEG on android
FFMPEG on android
 
Hands-on Video Course - "RAW Video"
Hands-on Video Course - "RAW Video" Hands-on Video Course - "RAW Video"
Hands-on Video Course - "RAW Video"
 
Video quality testing
Video quality testingVideo quality testing
Video quality testing
 
HEVC / H265 Hands-On course
HEVC / H265 Hands-On courseHEVC / H265 Hands-On course
HEVC / H265 Hands-On course
 
Web video standards
Web video standardsWeb video standards
Web video standards
 
3D Video Programming for Android
3D Video Programming for Android3D Video Programming for Android
3D Video Programming for Android
 

Recently uploaded

Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 

Recently uploaded (20)

Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 

Cross platform computer vision optimization

  • 1. Cross Platform Computer Vision Optimization Yossi Cohen Lecture at Google Technology User Group Tel-Aviv 1
  • 2. And You Should do it! 2
  • 3. Computer Vision Application Types Augmented Gestures Reality Text Recognition CV with Depth active IR Mapping camera 3
  • 4. Conflicting Requirements Cross Platform Solution Run on All Devices Code Once Low cost maintenance / update Platform Specific Utilize all SoC capabilities for: Fast processing / fast response Low Power requirements 4
  • 5. Conflicting Development Cross Platform Development HTML5 Doesn’t work for Java Computer Vision (Yet) Platform Specific Development SIMD Optimization (ASM) Use platform specific GPU, DSP Use Platform Specific HW accelerators: CODECs Rotators Color Space Convertors… 5
  • 6. Possible Solutions • Too much Power Consumption Don't Optimize • Too Sloooowwww Optimize for one • Best performance for a single platform (market leader SoC) • Lose (50%+) market share platform (SoC) • Good Performance for all ARM platforms Optimize for ARM • Lose MIPS, X86 Market NEON Only • Lose GPU, DSP and HW specific acceleration capabilities • Development Costs Optimize for all • Knowledge problem platforms • Fragmented Code, high update & maintenance costs 6
  • 7. Optimize for one processor architecture  Select a Processor based on Target Market:  For Android its ARM  Optimize for SIMD Instruction  NEON Optimization (Alternatively SSE or 3DNow)  Advantages  ~x1-x8 Acceleration (depending on function)  Fit ~95%+ of Android Market  Disadvantages ARM NEON  Not Suited for x86 & MIPS Optimization Unutilized  Does not utilize 100% of SoC capabilities:  Internal DSP  GPU  HW Accelerators  VFU 7
  • 8. Optimize for a Single Processor  Select a Single Processor based on Target Market:  8960 - the fastest processor  250 Design wins  Optimize NEON  Optimize DSP  Optimize for GPU  Advantages  Youll have the fastest app on the best most widely used processor Optimized Optimized  Disadvantages  Development Time CPU GPU  need to support inferior/legacy processor as well VeNum DSP 8
  • 9. Selecting between two sub-optimal solutions Isn’t there someone that will solve this in a better way? 9
  • 10. 10
  • 11. Khronos  Standardization organization  Generates OPEN, Royalty free API (unlike Oracle) for Cross HW software  Most Known API – OpenGL  In Android: OpenGL ES OpenMAX OpenSL 11
  • 12. Khronos Vision of Cross Platform Computer Vision Application Layer Sensory Input OpenCV High Level Algorithm Camera Input Video Out OpenVL Integration Layer OpenCL DSP, HW Accelerators, GPU 12
  • 13. OpenVL  Integration API for Computer Vision  (like OpenGL for graphic )  implements computer vision primitives 13
  • 14. All we have to do is wait 5-7 years for market adaptation….. If only there was a solution which is both optimized for ARM NEON and for the fastest CPU in the market 14
  • 15. One Development Toolkit – Two Implementations FastCV for ARM FastCV for Snapdragon CPU GPU CPU GPU Neon DSP VeNum DSP 15
  • 16. Fast CV Overview  Fast CV is an API & library which enables Real-Time Computer Vision (CV) applications.  FastCV enables mobile devices to run CV applications efficiently.  FastCV allows developers to HW accelerate their CV application.  FastCV is analogous to OpenGL ES in the rendering domain  FastCV is a clean modular library. 16
  • 17. FastCV Architecture Applications CV AR Gestures Facial Recognition Other Augmented Reality APIs Gestures APIs Facial Recognition APIs Defined API Framework Optimized QC Augmented QC Gesture QC Facial 3rd Party CV Reality Processing Recognition Frameworks Computer Vision APIs FastCV Snapdragon FastCV ARM Kernel Display Drivers Camera Drivers Hardware Snapdragon Connectivity Adreno GPU Video Core Hexagon CPU Core (s) Sensors etc 17
  • 18. FastCV 1.0 – Feature Grouping  Math / Vector Operations  Commonly used vector & math functions  Image processing  Image filtering, convolution and scaling operations  Image transformation  Warp perspective, affine transformations  Feature detection  Fast corner detection, harris corner detection, canny edge detection  Object detection  NCC based template matching object detection functions.  3D reconstruction  Homography, pose evaluation functions  Color conversion  Commonly used formats supported: e.g., YUV, RGB, YCrCb, etc.  Clustering and search  K clusters best fitting of a set of input points 18
  • 19. Industry Computer Vision Solutions  FastCV is a processor-core agnostic acceleration API  Khronos is looking to provide a standard CV API  Potentially utilizing portions of OpenCV  FastCV will evolve as Khronos standard is defined Application Media interface High-level CV algorithms library Hardware Abstraction Layer FastCV Hardware Acceleration API FastCV source Open for ARM HW Specific Implementations Hardware vendor reference (Reference implementations implementation implementation) FastCV for FastCV for FastCV for FastCV for Snapdragon Nvidia Intel Others… 19
  • 20. FastCV Compared To OpenCV FastCV Function OpenCV FastCV Snapdragon NCC 1.0x 9.0x 23.1x Dot Product 128x4 1.0x 4.0x 10.0x Convert YUV420 1.0x 1.4x 1.3x Sobel 1.0x 1.8x 7.8x Median3x3 1.0x 3.8x 51.9x Gaussian3x3 1.0x 2.6x 4.1x Gaussian5x5 1.0x 1.4x 2.9x Threshold 1.0x 0.7x 9.7x Integral Image 1.0x 1.1x 1.3x Harris Corner 1.0x 2.8x 8.6x Dilate 1.0x 1.4x 15.0x Erode 1.0x 1.3x 15.0x Perspective Fit 1.0x 21.5x 37.8x LK Optical Flow 1.0x 2.0x 14.3x 20
  • 21. Gain Is More Than Time  Measure CPU frequency along with times  Utilize single CPU in Linux performance mode  Legend: CPU Frequency Long algorithm time Short algorithm time 21
  • 22. References  More on  OpenMAX http://www.slideshare.net/DSPIP/openmax-overview  OpenCL http://www.slideshare.net/DSPIP/opencl-programming-101  OpenSL http://www.slideshare.net/DSPIP/android-audio-opensl  Download FastCV  https://developer.qualcomm.com/develop/mobile-technologies/computer-vision- fastcv/getting-started-guide 22
  • 23. Thank you! More About me:  Video Expert Yossi Cohen  Lectures on Video / Android / VoIP yossicohen19@gmail.com  Android Native Developer http://www.mobilevideotech.com +972-545-313092 23

Editor's Notes

  1. Best Suboptimal Solution