Product wise computer vision development

11
Product-Wise Computer Vision Development

description

 

Transcript of Product wise computer vision development

Page 1: Product wise computer vision development

Product-Wise Computer Vision Development

Page 2: Product wise computer vision development

Agenda

• Common CV Development Process

• Pitfalls

• Why this happens

• Suggested Computer Vision Process

• Future CV Development

• About me

Page 3: Product wise computer vision development

Common CV DevelopmentDevelop algorithm on Matlab

PC Demo PC Product

Port Algorithm to Platform1

Port Algorithm to Platform2

Initial Demo

Realtime Demo

PC Product

Mobile Product

Page 4: Product wise computer vision development

What’s wrong with it

• Matlab code is written as “demo”/PoC

• Fast, Dirty

• written with low development resource

• use proprietary algorithms

Develop algorithm on Matlab

Page 5: Product wise computer vision development

What’s wrong with it

• This step sometime includes:

• understanding mobile requirements

• Optimization to platform’s SIMD

• Memory optimization

• sometime full re-written of the algorithm since its too computationally intensive for mobile

Port Algorithm to Platform1

Page 6: Product wise computer vision development

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

Page 7: Product wise computer vision development

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

Page 8: Product wise computer vision development

Product-wise Computer Vision Development

Develop initial PoC with OpenCV

PC Product RT Demo

Use platform-X optimized OpenCV for product (FastCV, TADP, CEVA-CV)

fixed-point ported non-OpenCV Algorithms Minimize Memory

requirements

Initial Demo

PC ProductPlatform agnostic

Optimized code

Platform Optimized

Page 9: Product wise computer vision development

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

Page 10: Product wise computer vision development

Future Development with OpenVX

• Khronos compliant SoC will conform to a unified “OpenCV-Like” API

• Enables easy porting to all supporting platforms

Page 11: Product wise computer vision development

Yossi Cohen - About Me

• Android & Video Lecturer

• Video Architect & Developer

• Computer Vision Consultant

• Android Native Developer

Yossi Cohen

+972545313092

[email protected]