SlideShare a Scribd company logo
Product-Wise Computer
 Vision Development
Agenda
• Common CV Development Process
• Pitfalls
• Why this happens
• Suggested Computer Vision Process
• Future CV Development
• About me
Common CV Development
                                   Initial
 Develop algorithm on Matlab
                                   Demo

        PC Demo           Realtime Demo
        PC Product         PC Product

Port Algorithm   Port Algorithm   Mobile
 to Platform1     to Platform2    Product
What’s wrong with it

• Matlab code is written as   Develop algorithm
  “demo”/PoC
                                 on Matlab
• Fast, Dirty
• written with low
  development resource

• use proprietary
  algorithms
What’s wrong with it
                               Port Algorithm
• This step sometime includes:  to Platform1

  • understanding mobile requirements
  • Optimization to platform’s SIMD
  • Memory optimization
  • sometime full re-written of the
    algorithm since its too
    computationally intensive for mobile
Contributing factors to
common CV Project Process
• Matlab stage
  • As a university or a garage SU, developers
    have low development resources

• PC Stage
  • NIH - Developers prefer their proprietary
    version over popular algorithms.

  • at this stage (PoC/Demo) developers
    doesn't think on mobile optimization
Contributing factors to
common CV Project Process
• Platform Stage
  • Optimization starts from high memory
    and CP resource demanding PC code

  • A considerable portion of the code doesn’t
    use standard OpenCV functions and
    requires hand made SIMD optimization

  • Sometimes companies discover that the
    algorithm is too resource demanding and
    re-writes the algorithm for the mobile
    platform
Product-wise Computer
  Vision Development
                                       Initial
  Develop initial PoC with OpenCV
                                       Demo

 PC Product                           PC
  RT Demo                           Product
                                    Platform
 fixed-point ported non-OpenCV
                                     agnostic
 Algorithms Minimize Memory
         requirements               Optimized
                                       code
Use platform-X optimized OpenCV for Platform
 product (FastCV, TADP, CEVA-CV)    Optimized
Product-wise Computer
 Vision development
• Product wise CV development is guided by
  the vision of a multi-platform product. This
  leads to:

  • Relay on a common CV library->OpenCV
  • minimization of non-OpenCV functions
    (saves platform specific SIMD
    optimization)

  • Separate between PC Product and
    optimized C code used as base for porting
    to mobile / embedded platforms
Future Development
       with OpenVX
• Khronos compliant
    SoC will conform to a
    unified “OpenCV-Like”
    API

• Enables easy porting
    to all supporting
    platforms



•
Yossi Cohen - About Me
• Android & Video Lecturer
• Video Architect & Developer
• Computer Vision Consultant
• Android Native Developer

                                Yossi Cohen

                                +972545313092

                                yossicohen19@gmail.com

More Related Content

PDF
Tinychip PSoC Workshop
PDF
DevOps Days Kyiv 2019 -- DevOps platform development - lessons learned // Vic...
DOC
Kumar_J
PDF
Domain-Specific Languages for Product Modeling (CWG 2011 Cologne, SAP Configu...
PDF
Configuring in the Browser, Really!
PDF
How to Build Your Own Product-Modeling Environment?
PPT
Using PSoC Creator
PPT
20101009 Projects Wan Yu (Albert)
Tinychip PSoC Workshop
DevOps Days Kyiv 2019 -- DevOps platform development - lessons learned // Vic...
Kumar_J
Domain-Specific Languages for Product Modeling (CWG 2011 Cologne, SAP Configu...
Configuring in the Browser, Really!
How to Build Your Own Product-Modeling Environment?
Using PSoC Creator
20101009 Projects Wan Yu (Albert)

What's hot (20)

PDF
froglogic Squish GUI Tester Presentation
PPT
Virtual Platforms
PDF
Tools for Test-Driven Product Modeling
PDF
LAS16-108: JerryScript and other scripting languages for IoT
PDF
Introduction to BPF
PDF
openCPQ - A React-Based Product-Configuration Toolkit
PPTX
Jumpstart application development
PPTX
Jumpstart application development
PPTX
Introduction C Programming
PPTX
Point ofview devops
PDF
Consumer-Driven Contracts to enable API evolution
PPT
Lecture 1 programming fundamentals (PF)
ODP
Just-in-time compiler (March, 2017)
PPT
Snug2007 Presentation
PDF
Industrial experiences on Domain-Specific Modeling
PPTX
Advances in Verification - Workshop at BMS College of Engineering
PPTX
Sonar Overview
PDF
Resume M_Shams_qureshi
PDF
Embedded software static analysis_Polyspace-WhitePaper_final
PDF
smalltalk numbercrunching
froglogic Squish GUI Tester Presentation
Virtual Platforms
Tools for Test-Driven Product Modeling
LAS16-108: JerryScript and other scripting languages for IoT
Introduction to BPF
openCPQ - A React-Based Product-Configuration Toolkit
Jumpstart application development
Jumpstart application development
Introduction C Programming
Point ofview devops
Consumer-Driven Contracts to enable API evolution
Lecture 1 programming fundamentals (PF)
Just-in-time compiler (March, 2017)
Snug2007 Presentation
Industrial experiences on Domain-Specific Modeling
Advances in Verification - Workshop at BMS College of Engineering
Sonar Overview
Resume M_Shams_qureshi
Embedded software static analysis_Polyspace-WhitePaper_final
smalltalk numbercrunching
Ad

Similar to Product wise computer vision development (20)

PPTX
Cross platform computer vision optimization
PPTX
OpenCV+Android.pptx
PPTX
OpenCV for Embedded: Lessons Learned
PDF
"OpenCV for Embedded: Lessons Learned," a Presentation from itseez
PDF
Computer-Vision_Integrating-Technology_MOB_17.06.16
PPTX
Install, Compile, Setup, Setting OpenCV 3.2, Visual C++ 2015, Win 64bit,
PDF
"Lessons Learned from Bringing Mobile and Embedded Vision Products to Market,...
PDF
"Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese...
PPTX
01 foundations
PDF
"The OpenCV Open Source Computer Vision Library: Latest Developments," a Pres...
PPTX
Open Standards for ADAS: Andrew Richards, Codeplay, at AutoSens 2016
PDF
"Challenges in Object Detection on Embedded Devices," a Presentation from CEVA
DOCX
Open cv
PDF
ICS1020CV_2022.pdf
PPTX
Cvpr2010 open source vision software, intro and training part v open cv and r...
PDF
Implementation of Computer Vision Applications using OpenCV in C++
PDF
"Making OpenCV Code Run Fast," a Presentation from Intel
PDF
Introduction to OpenCV 3.x (with Java)
PDF
Vision Algorithmics
PPTX
20110220 computer vision_eruhimov_lecture02
Cross platform computer vision optimization
OpenCV+Android.pptx
OpenCV for Embedded: Lessons Learned
"OpenCV for Embedded: Lessons Learned," a Presentation from itseez
Computer-Vision_Integrating-Technology_MOB_17.06.16
Install, Compile, Setup, Setting OpenCV 3.2, Visual C++ 2015, Win 64bit,
"Lessons Learned from Bringing Mobile and Embedded Vision Products to Market,...
"Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese...
01 foundations
"The OpenCV Open Source Computer Vision Library: Latest Developments," a Pres...
Open Standards for ADAS: Andrew Richards, Codeplay, at AutoSens 2016
"Challenges in Object Detection on Embedded Devices," a Presentation from CEVA
Open cv
ICS1020CV_2022.pdf
Cvpr2010 open source vision software, intro and training part v open cv and r...
Implementation of Computer Vision Applications using OpenCV in C++
"Making OpenCV Code Run Fast," a Presentation from Intel
Introduction to OpenCV 3.x (with Java)
Vision Algorithmics
20110220 computer vision_eruhimov_lecture02
Ad

More from Yoss Cohen (20)

PPTX
Underwater robotics simulation with isaac sim
PPTX
Infrared simulation and processing on Nvidia platforms
PPTX
open platform for swarm training
PDF
Deep Learning - system view
PDF
Dspip deep learning syllabus
PPT
IoT consideration selection
PPT
IoT evolution
DOC
Nvidia jetson nano bringup
PPT
Autonomous car teleportation architecture
PPT
Motion estimation overview
PPT
Computer Vision - Image Filters
PPT
Intro to machine learning with scikit learn
PPT
DASH and HTTP2.0
PPT
HEVC Definitions and high-level syntax
PPT
Introduction to HEVC
PPT
FFMPEG on android
PDF
Hands-on Video Course - "RAW Video"
PDF
Video quality testing
PPT
HEVC / H265 Hands-On course
PPT
Web video standards
Underwater robotics simulation with isaac sim
Infrared simulation and processing on Nvidia platforms
open platform for swarm training
Deep Learning - system view
Dspip deep learning syllabus
IoT consideration selection
IoT evolution
Nvidia jetson nano bringup
Autonomous car teleportation architecture
Motion estimation overview
Computer Vision - Image Filters
Intro to machine learning with scikit learn
DASH and HTTP2.0
HEVC Definitions and high-level syntax
Introduction to HEVC
FFMPEG on android
Hands-on Video Course - "RAW Video"
Video quality testing
HEVC / H265 Hands-On course
Web video standards

Recently uploaded (20)

PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPT
Teaching material agriculture food technology
PDF
Empathic Computing: Creating Shared Understanding
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Agricultural_Statistics_at_a_Glance_2022_0.pdf
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Building Integrated photovoltaic BIPV_UPV.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Digital-Transformation-Roadmap-for-Companies.pptx
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Teaching material agriculture food technology
Empathic Computing: Creating Shared Understanding
Dropbox Q2 2025 Financial Results & Investor Presentation
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
MIND Revenue Release Quarter 2 2025 Press Release
MYSQL Presentation for SQL database connectivity
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
sap open course for s4hana steps from ECC to s4
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Spectral efficient network and resource selection model in 5G networks
Diabetes mellitus diagnosis method based random forest with bat algorithm
Per capita expenditure prediction using model stacking based on satellite ima...

Product wise computer vision development

  • 2. Agenda • Common CV Development Process • Pitfalls • Why this happens • Suggested Computer Vision Process • Future CV Development • About me
  • 3. Common CV Development Initial Develop algorithm on Matlab Demo PC Demo Realtime Demo PC Product PC Product Port Algorithm Port Algorithm Mobile to Platform1 to Platform2 Product
  • 4. What’s wrong with it • Matlab code is written as Develop algorithm “demo”/PoC on Matlab • Fast, Dirty • written with low development resource • use proprietary algorithms
  • 5. What’s wrong with it Port Algorithm • This step sometime includes: to Platform1 • understanding mobile requirements • Optimization to platform’s SIMD • Memory optimization • sometime full re-written of the algorithm since its too computationally intensive for mobile
  • 6. Contributing factors to common CV Project Process • Matlab stage • As a university or a garage SU, developers have low development resources • PC Stage • NIH - Developers prefer their proprietary version over popular algorithms. • at this stage (PoC/Demo) developers doesn't think on mobile optimization
  • 7. Contributing factors to common CV Project Process • Platform Stage • Optimization starts from high memory and CP resource demanding PC code • A considerable portion of the code doesn’t use standard OpenCV functions and requires hand made SIMD optimization • Sometimes companies discover that the algorithm is too resource demanding and re-writes the algorithm for the mobile platform
  • 8. Product-wise Computer Vision Development Initial Develop initial PoC with OpenCV Demo PC Product PC RT Demo Product Platform fixed-point ported non-OpenCV agnostic Algorithms Minimize Memory requirements Optimized code Use platform-X optimized OpenCV for Platform product (FastCV, TADP, CEVA-CV) Optimized
  • 9. Product-wise Computer Vision development • Product wise CV development is guided by the vision of a multi-platform product. This leads to: • Relay on a common CV library->OpenCV • minimization of non-OpenCV functions (saves platform specific SIMD optimization) • Separate between PC Product and optimized C code used as base for porting to mobile / embedded platforms
  • 10. Future Development with OpenVX • Khronos compliant SoC will conform to a unified “OpenCV-Like” API • Enables easy porting to all supporting platforms •
  • 11. Yossi Cohen - About Me • Android & Video Lecturer • Video Architect & Developer • Computer Vision Consultant • Android Native Developer Yossi Cohen +972545313092 yossicohen19@gmail.com