SlideShare a Scribd company logo
1 of 23
Download to read offline
This project has received funding from
the European Union’s Horizon 20 20
research and innovation programme
under grant agreement No 688403
www.tulipp.eu
TULIPP
Title :
Place :
Date :
Towards Ubiquitous Low-power Image Processing Platform –
project overview
HiPEAC, Valencia, Spain
22nd of January 2019
Topic : Image Processing Library (HiFlipVX)
Ariel Podlubne & Diana Göhringer (ADS - TUD)
Image Processing Library
Open Source High-Level Synthesis FPGALibrary for Image Processing
(HiFlipVX)
• Includes 21 image processing functions
• It is parametrizable and highly optimized for High-Level Synthesis
• Functions are based on the OpenVX specification with some
extensions
• Supports auto-vectorization (1, 2, 4, 8) & more data types (8, 16, 32-bit
signed/unsigned)
• Filters support different kernel sizes (3-11)
• Border handling (e.g. constant and replication)
• No extra libraries (e.g. OpenCV) required
• Independent of OS
• Three types of functions implemented:
• Pixel-wise operations
• Filters
• Analysis & Image conversion
More information in "HiFlipVX: an Open Source High-Level Synthesis FPGA Library for Image Processing“ @ ARC2019 (accepted paper)
Image Processing Library
Open Source High-Level Synthesis FPGALibrary for Image Processing
(HiFlipVX)
Pixel-wise Operations:
• Binary and Arithmetic operations
• Same data types (Signed or unsigned) for input and output
• Bit-width of 8, 16 or 32-bit (1, 2, 4 or 8 pixel computation in parallel in
vector) of input/output
• Template based implementation
of functions
• Optimized for resource
utilization on FPGA
Pixel-wise Operations
Bitwise AND Bitwise OR Bitwise XOR
Bitwise NOT
Arithmetic
Addition
Arithmetic
Subtraction
Absolute
Difference
Magnitude
Pixel-wise
Multiplication
Image Processing Library
Open Source High-Level Synthesis FPGALibrary for Image Processing
(HiFlipVX)
Filters:
• Kernel sizes (Ks) is selected by the user
• Ks of 3, 5, 7, 9 and 11 are supported for all filters
(Ks of 3 for Scharr and Sobel filter)
• Three border behaviors are defined
• Undefined
• Constant zero
• Replicated
• Separable Kernel implementation for
Gaussian and Box filter
• To reduce resource utilization
Image Filter Functions
Median Filter Gaussian Filter
Sobel Filter (3x3) Scharr Filter (3x3)
Custom
Convolution
Box Filter
Image Processing Library
Open Source High-Level Synthesis FPGALibrary for Image Processing
(HiFlipVX)
Image Conversion and Analysis Functions:
• Implementation of special functions used for
• Image format conversion
• Image analysis
Image Conversion and Analysis Functions
Convert Bit Depth Color Convert
Histogram Table Lookup
Integral Image
Image Processing Library
Open Source High-Level Synthesis FPGALibrary for Image Processing
(HiFlipVX)
Developer‘s function
input
Example Application: Gradient Magnitude of a Gaussian smoothed image
Main Function
output
Image Processing Library
Open Source High-Level Synthesis FPGALibrary for Image Processing
(HiFlipVX)
Developer‘s function
ImgGaussian
input input outputlsmooth
Smooth the image
Configurable Parameters
Example Application: Gradient Magnitude of a Gaussian smoothed image
Main Function
Image Processing Library
Open Source High-Level Synthesis FPGALibrary for Image Processing
(HiFlipVX)
Developer‘s function
ImgGaussian imgScharr3x3
input input output outputlsmooth
lx
ly
Smooth the image Compute the derivatives in X and Y
Configurable Parameters Configurable Parameters
Example Application: Gradient Magnitude of a Gaussian smoothed image
Main Function
Image Processing Library
Open Source High-Level Synthesis FPGALibrary for Image Processing
(HiFlipVX)
Developer‘s function
ImgGaussian imgScharr3x3 imgMagnitude
input input output outputlsmooth
lx
ly
Smooth the image Compute the derivatives in X and Y Compute the Gradient Magnitude
Configurable Parameters Configurable Parameters Configurable Parameters
Example Application: Gradient Magnitude of a Gaussian smoothed image
Main Function
Image Processing Library
Open Source High-Level Synthesis FPGALibrary for Image Processing
(HiFlipVX)
Example Application: Code (available when cloning the HiFlipVX)
FIFOs for internal connection
HW built around the function
Image Processing Library
Open Source High-Level Synthesis FPGALibrary for Image Processing
(HiFlipVX)
Standalone Example: Filter (demo_test) without acceleration
Go to demo on Virtual Machine
Image Processing Library
Open Source High-Level Synthesis FPGALibrary for Image Processing
(HiFlipVX)
Standalone Example: Filter (demo_test) without acceleration
• Standalone Profiling
Image Processing Library
Open Source High-Level Synthesis FPGALibrary for Image Processing
(HiFlipVX)
Standalone Example: Filter (demo_test) without acceleration
• Standalone Profiling Results
Image Processing Library
Open Source High-Level Synthesis FPGALibrary for Image Processing
(HiFlipVX)
Exercise 1:
Compute median filter using HiFlipVX following the same structure shown
in previous filters.
RGBXtoGrayscale Median Filter GrayscaletoRGBX
input output
Configurable Parameters Configurable Parameters Configurable Parameters
Image Processing Library
Open Source High-Level Synthesis FPGALibrary for Image Processing
(HiFlipVX)
Image Processing Library
Open Source High-Level Synthesis FPGALibrary for Image Processing
(HiFlipVX)
Exercise 2:
Move hwMedian to hardware and profile it using Sthem.
Image Processing Library
Open Source High-Level Synthesis FPGALibrary for Image Processing
(HiFlipVX)
Image Processing Library
Open Source High-Level Synthesis FPGALibrary for Image Processing
(HiFlipVX)
Exercise 2: Median Filter with HW acceleration
• Standalone Profiling
No HW acceleration
Image Processing Library
Open Source High-Level Synthesis FPGALibrary for Image Processing
(HiFlipVX)
Exercise 2: Median Filter with HW acceleration
• Standalone Profiling
TULIPP‘s Survey
http://bit.ly/Tulipp_Survey
Please take the survey titled "TULIPP Autonomous Robotics and Computer Vision Survey".
Your feedback is important!
Image Processing Library
Open Source High-Level Synthesis FPGALibrary for Image Processing
(HiFlipVX)
Tomorrow’s Agenda:
• 10:00: HIPPEROS Introduction and Lab1: using the OS
• 11:00: Break
• 11:30: HIPPEROS – Lab 2, accelerating with OpenMP
• 13:00: Launch
• 14:00: HIPPEROS – Lab 3, accelerating with SDSoC
• 15:30: Break
• 16:00: Analysis tool, advanced features.
• 17:00: Closing notes
• 17:30: End
Backup Slides
Image Processing Library
Open Source High-Level Synthesis FPGALibrary for Image Processing
(HiFlipVX)
Latency evaluation of HiFlipVX with xfOpenCV
Reference: http://tulipp.eu/wp-content/uploads/2019/01/d44-final.pdf
• More information in "HiFlipVX: an Open Source
High-Level Synthesis FPGA Library for Image
Processing“ @ ARC2019 (accepted paper)

More Related Content

Similar to HiPEAC 2019 Tutorial - Image Processing Library:HiFlipVX

Using BigBench to compare Hive and Spark (Long version)
Using BigBench to compare Hive and Spark (Long version)Using BigBench to compare Hive and Spark (Long version)
Using BigBench to compare Hive and Spark (Long version)Nicolas Poggi
 
“OpenCV: Past, Present and Future,” a Presentation from OpenCV.org
“OpenCV: Past, Present and Future,” a Presentation from OpenCV.org“OpenCV: Past, Present and Future,” a Presentation from OpenCV.org
“OpenCV: Past, Present and Future,” a Presentation from OpenCV.orgEdge AI and Vision Alliance
 
(ATS6-PLAT03) What's behind Discngine collections
(ATS6-PLAT03) What's behind Discngine collections(ATS6-PLAT03) What's behind Discngine collections
(ATS6-PLAT03) What's behind Discngine collectionsBIOVIA
 
Introduction of openGL
Introduction  of openGLIntroduction  of openGL
Introduction of openGLGary Yeh
 
Microservices for Systematic Profiling and Monitoring of the Refactoring
Microservices for Systematic Profiling and Monitoring of the RefactoringMicroservices for Systematic Profiling and Monitoring of the Refactoring
Microservices for Systematic Profiling and Monitoring of the RefactoringAlexander Mazurov
 
Hibernate presentation
Hibernate presentationHibernate presentation
Hibernate presentationManav Prasad
 
What to expect from Java 9
What to expect from Java 9What to expect from Java 9
What to expect from Java 9Ivan Krylov
 
Social Networks Analysis
Social Networks AnalysisSocial Networks Analysis
Social Networks AnalysisJoud Khattab
 
Toward Hybrid Cloud Serverless Transparency with Lithops Framework
Toward Hybrid Cloud Serverless Transparency with Lithops FrameworkToward Hybrid Cloud Serverless Transparency with Lithops Framework
Toward Hybrid Cloud Serverless Transparency with Lithops FrameworkLibbySchulze
 
Intro to Apache Apex - Next Gen Platform for Ingest and Transform
Intro to Apache Apex - Next Gen Platform for Ingest and TransformIntro to Apache Apex - Next Gen Platform for Ingest and Transform
Intro to Apache Apex - Next Gen Platform for Ingest and TransformApache Apex
 
Scilab Technical Talk at NTU, TP and HCMUT (Dr Claude Gomez)
Scilab Technical Talk at NTU, TP and HCMUT (Dr Claude Gomez)Scilab Technical Talk at NTU, TP and HCMUT (Dr Claude Gomez)
Scilab Technical Talk at NTU, TP and HCMUT (Dr Claude Gomez)TBSS Group
 
Reveal's Advanced Analytics: Using R & Python
Reveal's Advanced Analytics: Using R & PythonReveal's Advanced Analytics: Using R & Python
Reveal's Advanced Analytics: Using R & PythonPoojitha B
 
Inria Tech Talk : Comment améliorer la qualité de vos logiciels avec STAMP
Inria Tech Talk : Comment améliorer la qualité de vos logiciels avec STAMPInria Tech Talk : Comment améliorer la qualité de vos logiciels avec STAMP
Inria Tech Talk : Comment améliorer la qualité de vos logiciels avec STAMPStéphanie Roger
 
Python and GIS: Improving Your Workflow
Python and GIS: Improving Your WorkflowPython and GIS: Improving Your Workflow
Python and GIS: Improving Your WorkflowJohn Reiser
 
Webinar: What's New in Pipeline Pilot 8.5 Collection Update 1?
Webinar: What's New in Pipeline Pilot 8.5 Collection Update 1?Webinar: What's New in Pipeline Pilot 8.5 Collection Update 1?
Webinar: What's New in Pipeline Pilot 8.5 Collection Update 1?BIOVIA
 

Similar to HiPEAC 2019 Tutorial - Image Processing Library:HiFlipVX (20)

Using BigBench to compare Hive and Spark (Long version)
Using BigBench to compare Hive and Spark (Long version)Using BigBench to compare Hive and Spark (Long version)
Using BigBench to compare Hive and Spark (Long version)
 
Lumia App Labs: Nokia Imaging SDK 1.1
Lumia App Labs: Nokia Imaging SDK 1.1Lumia App Labs: Nokia Imaging SDK 1.1
Lumia App Labs: Nokia Imaging SDK 1.1
 
Re-Vision stack presentation
Re-Vision stack presentationRe-Vision stack presentation
Re-Vision stack presentation
 
“OpenCV: Past, Present and Future,” a Presentation from OpenCV.org
“OpenCV: Past, Present and Future,” a Presentation from OpenCV.org“OpenCV: Past, Present and Future,” a Presentation from OpenCV.org
“OpenCV: Past, Present and Future,” a Presentation from OpenCV.org
 
Callgraph analysis
Callgraph analysisCallgraph analysis
Callgraph analysis
 
(ATS6-PLAT03) What's behind Discngine collections
(ATS6-PLAT03) What's behind Discngine collections(ATS6-PLAT03) What's behind Discngine collections
(ATS6-PLAT03) What's behind Discngine collections
 
Introduction of openGL
Introduction  of openGLIntroduction  of openGL
Introduction of openGL
 
Microservices for Systematic Profiling and Monitoring of the Refactoring
Microservices for Systematic Profiling and Monitoring of the RefactoringMicroservices for Systematic Profiling and Monitoring of the Refactoring
Microservices for Systematic Profiling and Monitoring of the Refactoring
 
Hibernate presentation
Hibernate presentationHibernate presentation
Hibernate presentation
 
Hibernate presentation
Hibernate presentationHibernate presentation
Hibernate presentation
 
What to expect from Java 9
What to expect from Java 9What to expect from Java 9
What to expect from Java 9
 
Social Networks Analysis
Social Networks AnalysisSocial Networks Analysis
Social Networks Analysis
 
Toward Hybrid Cloud Serverless Transparency with Lithops Framework
Toward Hybrid Cloud Serverless Transparency with Lithops FrameworkToward Hybrid Cloud Serverless Transparency with Lithops Framework
Toward Hybrid Cloud Serverless Transparency with Lithops Framework
 
Intro to Apache Apex - Next Gen Platform for Ingest and Transform
Intro to Apache Apex - Next Gen Platform for Ingest and TransformIntro to Apache Apex - Next Gen Platform for Ingest and Transform
Intro to Apache Apex - Next Gen Platform for Ingest and Transform
 
Kings fund - implementing Hyku
Kings fund - implementing HykuKings fund - implementing Hyku
Kings fund - implementing Hyku
 
Scilab Technical Talk at NTU, TP and HCMUT (Dr Claude Gomez)
Scilab Technical Talk at NTU, TP and HCMUT (Dr Claude Gomez)Scilab Technical Talk at NTU, TP and HCMUT (Dr Claude Gomez)
Scilab Technical Talk at NTU, TP and HCMUT (Dr Claude Gomez)
 
Reveal's Advanced Analytics: Using R & Python
Reveal's Advanced Analytics: Using R & PythonReveal's Advanced Analytics: Using R & Python
Reveal's Advanced Analytics: Using R & Python
 
Inria Tech Talk : Comment améliorer la qualité de vos logiciels avec STAMP
Inria Tech Talk : Comment améliorer la qualité de vos logiciels avec STAMPInria Tech Talk : Comment améliorer la qualité de vos logiciels avec STAMP
Inria Tech Talk : Comment améliorer la qualité de vos logiciels avec STAMP
 
Python and GIS: Improving Your Workflow
Python and GIS: Improving Your WorkflowPython and GIS: Improving Your Workflow
Python and GIS: Improving Your Workflow
 
Webinar: What's New in Pipeline Pilot 8.5 Collection Update 1?
Webinar: What's New in Pipeline Pilot 8.5 Collection Update 1?Webinar: What's New in Pipeline Pilot 8.5 Collection Update 1?
Webinar: What's New in Pipeline Pilot 8.5 Collection Update 1?
 

More from Tulipp. Eu

What are TULIPP starter kits?
What are TULIPP starter kits?What are TULIPP starter kits?
What are TULIPP starter kits?Tulipp. Eu
 
Quantifying Energy Consumption for Practical Fork-Join Parallelism on an Embe...
Quantifying Energy Consumption for Practical Fork-Join Parallelism on an Embe...Quantifying Energy Consumption for Practical Fork-Join Parallelism on an Embe...
Quantifying Energy Consumption for Practical Fork-Join Parallelism on an Embe...Tulipp. Eu
 
HIPPEROS's at EMVA 2017
HIPPEROS's at EMVA 2017 HIPPEROS's at EMVA 2017
HIPPEROS's at EMVA 2017 Tulipp. Eu
 
TULIPP overview
TULIPP overviewTULIPP overview
TULIPP overviewTulipp. Eu
 
HiPEAC 2019 Workshop - Vision Processing
HiPEAC 2019 Workshop - Vision ProcessingHiPEAC 2019 Workshop - Vision Processing
HiPEAC 2019 Workshop - Vision ProcessingTulipp. Eu
 
HiPEAC 2019 Workshop - Real-Time Modelling Visual Scenes with Biological Insp...
HiPEAC 2019 Workshop - Real-Time Modelling Visual Scenes with Biological Insp...HiPEAC 2019 Workshop - Real-Time Modelling Visual Scenes with Biological Insp...
HiPEAC 2019 Workshop - Real-Time Modelling Visual Scenes with Biological Insp...Tulipp. Eu
 
HiPEAC 2019 Tutorial - Maestro RTOS
HiPEAC 2019 Tutorial - Maestro RTOSHiPEAC 2019 Tutorial - Maestro RTOS
HiPEAC 2019 Tutorial - Maestro RTOSTulipp. Eu
 
HiPEAC 2019 Workshop - Hardware Starter Kit Agri
HiPEAC 2019 Workshop - Hardware Starter Kit Agri HiPEAC 2019 Workshop - Hardware Starter Kit Agri
HiPEAC 2019 Workshop - Hardware Starter Kit Agri Tulipp. Eu
 
HiPEAC 2019 Workshop Overview
HiPEAC 2019 Workshop OverviewHiPEAC 2019 Workshop Overview
HiPEAC 2019 Workshop OverviewTulipp. Eu
 
HiPEAC 2019 Workshop - Use Cases
HiPEAC 2019 Workshop - Use CasesHiPEAC 2019 Workshop - Use Cases
HiPEAC 2019 Workshop - Use CasesTulipp. Eu
 
Tulipp starter-kit-agri
Tulipp starter-kit-agriTulipp starter-kit-agri
Tulipp starter-kit-agriTulipp. Eu
 
TULIPP H2020 Project: Low power high performance real-time computer vision on...
TULIPP H2020 Project: Low power high performance real-time computer vision on...TULIPP H2020 Project: Low power high performance real-time computer vision on...
TULIPP H2020 Project: Low power high performance real-time computer vision on...Tulipp. Eu
 
TULIPP H2020 Project presentation @ FPGA Network: Implementing Machine Vision...
TULIPP H2020 Project presentation @ FPGA Network: Implementing Machine Vision...TULIPP H2020 Project presentation @ FPGA Network: Implementing Machine Vision...
TULIPP H2020 Project presentation @ FPGA Network: Implementing Machine Vision...Tulipp. Eu
 
Tulipp_H2020_Hipeac'17 Conference_PEPGUM Workshop_January 017
Tulipp_H2020_Hipeac'17 Conference_PEPGUM Workshop_January 017Tulipp_H2020_Hipeac'17 Conference_PEPGUM Workshop_January 017
Tulipp_H2020_Hipeac'17 Conference_PEPGUM Workshop_January 017Tulipp. Eu
 
D1.1 reference platform_v1_20161215
D1.1 reference platform_v1_20161215D1.1 reference platform_v1_20161215
D1.1 reference platform_v1_20161215Tulipp. Eu
 
Samos July 2016_tulipp-H2020 project presentation
Samos July 2016_tulipp-H2020 project presentationSamos July 2016_tulipp-H2020 project presentation
Samos July 2016_tulipp-H2020 project presentationTulipp. Eu
 
Tulipp collaboration Workshop - Advanced Computing and CPS - June 2016
Tulipp collaboration Workshop - Advanced Computing and CPS - June 2016Tulipp collaboration Workshop - Advanced Computing and CPS - June 2016
Tulipp collaboration Workshop - Advanced Computing and CPS - June 2016 Tulipp. Eu
 

More from Tulipp. Eu (17)

What are TULIPP starter kits?
What are TULIPP starter kits?What are TULIPP starter kits?
What are TULIPP starter kits?
 
Quantifying Energy Consumption for Practical Fork-Join Parallelism on an Embe...
Quantifying Energy Consumption for Practical Fork-Join Parallelism on an Embe...Quantifying Energy Consumption for Practical Fork-Join Parallelism on an Embe...
Quantifying Energy Consumption for Practical Fork-Join Parallelism on an Embe...
 
HIPPEROS's at EMVA 2017
HIPPEROS's at EMVA 2017 HIPPEROS's at EMVA 2017
HIPPEROS's at EMVA 2017
 
TULIPP overview
TULIPP overviewTULIPP overview
TULIPP overview
 
HiPEAC 2019 Workshop - Vision Processing
HiPEAC 2019 Workshop - Vision ProcessingHiPEAC 2019 Workshop - Vision Processing
HiPEAC 2019 Workshop - Vision Processing
 
HiPEAC 2019 Workshop - Real-Time Modelling Visual Scenes with Biological Insp...
HiPEAC 2019 Workshop - Real-Time Modelling Visual Scenes with Biological Insp...HiPEAC 2019 Workshop - Real-Time Modelling Visual Scenes with Biological Insp...
HiPEAC 2019 Workshop - Real-Time Modelling Visual Scenes with Biological Insp...
 
HiPEAC 2019 Tutorial - Maestro RTOS
HiPEAC 2019 Tutorial - Maestro RTOSHiPEAC 2019 Tutorial - Maestro RTOS
HiPEAC 2019 Tutorial - Maestro RTOS
 
HiPEAC 2019 Workshop - Hardware Starter Kit Agri
HiPEAC 2019 Workshop - Hardware Starter Kit Agri HiPEAC 2019 Workshop - Hardware Starter Kit Agri
HiPEAC 2019 Workshop - Hardware Starter Kit Agri
 
HiPEAC 2019 Workshop Overview
HiPEAC 2019 Workshop OverviewHiPEAC 2019 Workshop Overview
HiPEAC 2019 Workshop Overview
 
HiPEAC 2019 Workshop - Use Cases
HiPEAC 2019 Workshop - Use CasesHiPEAC 2019 Workshop - Use Cases
HiPEAC 2019 Workshop - Use Cases
 
Tulipp starter-kit-agri
Tulipp starter-kit-agriTulipp starter-kit-agri
Tulipp starter-kit-agri
 
TULIPP H2020 Project: Low power high performance real-time computer vision on...
TULIPP H2020 Project: Low power high performance real-time computer vision on...TULIPP H2020 Project: Low power high performance real-time computer vision on...
TULIPP H2020 Project: Low power high performance real-time computer vision on...
 
TULIPP H2020 Project presentation @ FPGA Network: Implementing Machine Vision...
TULIPP H2020 Project presentation @ FPGA Network: Implementing Machine Vision...TULIPP H2020 Project presentation @ FPGA Network: Implementing Machine Vision...
TULIPP H2020 Project presentation @ FPGA Network: Implementing Machine Vision...
 
Tulipp_H2020_Hipeac'17 Conference_PEPGUM Workshop_January 017
Tulipp_H2020_Hipeac'17 Conference_PEPGUM Workshop_January 017Tulipp_H2020_Hipeac'17 Conference_PEPGUM Workshop_January 017
Tulipp_H2020_Hipeac'17 Conference_PEPGUM Workshop_January 017
 
D1.1 reference platform_v1_20161215
D1.1 reference platform_v1_20161215D1.1 reference platform_v1_20161215
D1.1 reference platform_v1_20161215
 
Samos July 2016_tulipp-H2020 project presentation
Samos July 2016_tulipp-H2020 project presentationSamos July 2016_tulipp-H2020 project presentation
Samos July 2016_tulipp-H2020 project presentation
 
Tulipp collaboration Workshop - Advanced Computing and CPS - June 2016
Tulipp collaboration Workshop - Advanced Computing and CPS - June 2016Tulipp collaboration Workshop - Advanced Computing and CPS - June 2016
Tulipp collaboration Workshop - Advanced Computing and CPS - June 2016
 

Recently uploaded

Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noidabntitsolutionsrishis
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 

Recently uploaded (20)

Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 

HiPEAC 2019 Tutorial - Image Processing Library:HiFlipVX

  • 1. This project has received funding from the European Union’s Horizon 20 20 research and innovation programme under grant agreement No 688403 www.tulipp.eu TULIPP Title : Place : Date : Towards Ubiquitous Low-power Image Processing Platform – project overview HiPEAC, Valencia, Spain 22nd of January 2019 Topic : Image Processing Library (HiFlipVX) Ariel Podlubne & Diana Göhringer (ADS - TUD)
  • 2. Image Processing Library Open Source High-Level Synthesis FPGALibrary for Image Processing (HiFlipVX) • Includes 21 image processing functions • It is parametrizable and highly optimized for High-Level Synthesis • Functions are based on the OpenVX specification with some extensions • Supports auto-vectorization (1, 2, 4, 8) & more data types (8, 16, 32-bit signed/unsigned) • Filters support different kernel sizes (3-11) • Border handling (e.g. constant and replication) • No extra libraries (e.g. OpenCV) required • Independent of OS • Three types of functions implemented: • Pixel-wise operations • Filters • Analysis & Image conversion More information in "HiFlipVX: an Open Source High-Level Synthesis FPGA Library for Image Processing“ @ ARC2019 (accepted paper)
  • 3. Image Processing Library Open Source High-Level Synthesis FPGALibrary for Image Processing (HiFlipVX) Pixel-wise Operations: • Binary and Arithmetic operations • Same data types (Signed or unsigned) for input and output • Bit-width of 8, 16 or 32-bit (1, 2, 4 or 8 pixel computation in parallel in vector) of input/output • Template based implementation of functions • Optimized for resource utilization on FPGA Pixel-wise Operations Bitwise AND Bitwise OR Bitwise XOR Bitwise NOT Arithmetic Addition Arithmetic Subtraction Absolute Difference Magnitude Pixel-wise Multiplication
  • 4. Image Processing Library Open Source High-Level Synthesis FPGALibrary for Image Processing (HiFlipVX) Filters: • Kernel sizes (Ks) is selected by the user • Ks of 3, 5, 7, 9 and 11 are supported for all filters (Ks of 3 for Scharr and Sobel filter) • Three border behaviors are defined • Undefined • Constant zero • Replicated • Separable Kernel implementation for Gaussian and Box filter • To reduce resource utilization Image Filter Functions Median Filter Gaussian Filter Sobel Filter (3x3) Scharr Filter (3x3) Custom Convolution Box Filter
  • 5. Image Processing Library Open Source High-Level Synthesis FPGALibrary for Image Processing (HiFlipVX) Image Conversion and Analysis Functions: • Implementation of special functions used for • Image format conversion • Image analysis Image Conversion and Analysis Functions Convert Bit Depth Color Convert Histogram Table Lookup Integral Image
  • 6. Image Processing Library Open Source High-Level Synthesis FPGALibrary for Image Processing (HiFlipVX) Developer‘s function input Example Application: Gradient Magnitude of a Gaussian smoothed image Main Function output
  • 7. Image Processing Library Open Source High-Level Synthesis FPGALibrary for Image Processing (HiFlipVX) Developer‘s function ImgGaussian input input outputlsmooth Smooth the image Configurable Parameters Example Application: Gradient Magnitude of a Gaussian smoothed image Main Function
  • 8. Image Processing Library Open Source High-Level Synthesis FPGALibrary for Image Processing (HiFlipVX) Developer‘s function ImgGaussian imgScharr3x3 input input output outputlsmooth lx ly Smooth the image Compute the derivatives in X and Y Configurable Parameters Configurable Parameters Example Application: Gradient Magnitude of a Gaussian smoothed image Main Function
  • 9. Image Processing Library Open Source High-Level Synthesis FPGALibrary for Image Processing (HiFlipVX) Developer‘s function ImgGaussian imgScharr3x3 imgMagnitude input input output outputlsmooth lx ly Smooth the image Compute the derivatives in X and Y Compute the Gradient Magnitude Configurable Parameters Configurable Parameters Configurable Parameters Example Application: Gradient Magnitude of a Gaussian smoothed image Main Function
  • 10. Image Processing Library Open Source High-Level Synthesis FPGALibrary for Image Processing (HiFlipVX) Example Application: Code (available when cloning the HiFlipVX) FIFOs for internal connection HW built around the function
  • 11. Image Processing Library Open Source High-Level Synthesis FPGALibrary for Image Processing (HiFlipVX) Standalone Example: Filter (demo_test) without acceleration Go to demo on Virtual Machine
  • 12. Image Processing Library Open Source High-Level Synthesis FPGALibrary for Image Processing (HiFlipVX) Standalone Example: Filter (demo_test) without acceleration • Standalone Profiling
  • 13. Image Processing Library Open Source High-Level Synthesis FPGALibrary for Image Processing (HiFlipVX) Standalone Example: Filter (demo_test) without acceleration • Standalone Profiling Results
  • 14. Image Processing Library Open Source High-Level Synthesis FPGALibrary for Image Processing (HiFlipVX) Exercise 1: Compute median filter using HiFlipVX following the same structure shown in previous filters. RGBXtoGrayscale Median Filter GrayscaletoRGBX input output Configurable Parameters Configurable Parameters Configurable Parameters
  • 15. Image Processing Library Open Source High-Level Synthesis FPGALibrary for Image Processing (HiFlipVX)
  • 16. Image Processing Library Open Source High-Level Synthesis FPGALibrary for Image Processing (HiFlipVX) Exercise 2: Move hwMedian to hardware and profile it using Sthem.
  • 17. Image Processing Library Open Source High-Level Synthesis FPGALibrary for Image Processing (HiFlipVX)
  • 18. Image Processing Library Open Source High-Level Synthesis FPGALibrary for Image Processing (HiFlipVX) Exercise 2: Median Filter with HW acceleration • Standalone Profiling No HW acceleration
  • 19. Image Processing Library Open Source High-Level Synthesis FPGALibrary for Image Processing (HiFlipVX) Exercise 2: Median Filter with HW acceleration • Standalone Profiling
  • 20. TULIPP‘s Survey http://bit.ly/Tulipp_Survey Please take the survey titled "TULIPP Autonomous Robotics and Computer Vision Survey". Your feedback is important!
  • 21. Image Processing Library Open Source High-Level Synthesis FPGALibrary for Image Processing (HiFlipVX) Tomorrow’s Agenda: • 10:00: HIPPEROS Introduction and Lab1: using the OS • 11:00: Break • 11:30: HIPPEROS – Lab 2, accelerating with OpenMP • 13:00: Launch • 14:00: HIPPEROS – Lab 3, accelerating with SDSoC • 15:30: Break • 16:00: Analysis tool, advanced features. • 17:00: Closing notes • 17:30: End
  • 23. Image Processing Library Open Source High-Level Synthesis FPGALibrary for Image Processing (HiFlipVX) Latency evaluation of HiFlipVX with xfOpenCV Reference: http://tulipp.eu/wp-content/uploads/2019/01/d44-final.pdf • More information in "HiFlipVX: an Open Source High-Level Synthesis FPGA Library for Image Processing“ @ ARC2019 (accepted paper)