BIEPInCS project's implementation: acceleration on FPGA of an OpenCV application to evaluate a TBI. Main purpose of our project is to execute and accelerate an OpenCV application on a PYNQ-Z1 board, moving part of computation from Processing System to the Programmable Logic. In order to achieve this, a block of algorithm as to be replaced with an FPGA accelerator, which has the same functionality and could be called in application rather than software functions. Part of image manipulation is selected as synthesizable block.
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
BIE-PInCS implementation
1. Bracco Filippo <filippo.bracco@mail.polimi.it>
Di Vece Chiara <chiara.divece@mail.polimi.it>
Massari Tommaso <tommaso.massari@mail.polimi.it>
–Giovanni Mela
“Inserisci qui una citazione”.
BIE-PInCS
Brain Injury Evaluation through Pupillometry
based on INfrared Camera System
ImplementationSeminar Room @DEIB
Politecnico di Milano
21st June 2017
6. 2
Algorithm overview
Load OpenCV image
Find ROI eyes
Equalize histogram
Morphological transformation
Classification of contours
Threshold filter
7. 2
Algorithm overview
Load OpenCV image
Find ROI eyes
Equalize histogram
Morphological transformation
Classification of contours
Approximation with circle
Threshold filter
8. 3
Our purpose
Synthesizable
Block
Load OpenCV image
Find ROI eyes
Equalize histogram
Morphological transformation
Classification of contours
Approximation with circle
Threshold filter
9. 4
Design flow
• AXI Stream Interface
• HLS video library
function
• Image filtering
• Latency: 15872 cycles
• Integration IP in Pynq
design
• DMA to transfer data
from/to PL
• Export overlay
• Load overlay on PL
• Use HW in a Python
application on Jupyter
• Create joined SW/HW
application
10. 5
IP
TH
• Threshold and imageINPUTS
COMPUTATION
(hls video library)
• Convert color and histogram
• Equalize the image
• Threshold filter
• Morphological transformation
• Calculated imageOUTPUT
12. 7
Design Reuse
• IP useful for any application for pupil or gaze tracking
• Calls to HW with an python interface
• Low resource usage:
Percentageofutilisation
0%
3%
6%
9%
12%
15%
BRAM_18K DSP48E FF LUT
14. 8
Results
Mean time for ROI
analysis
+ overhead
time(ms)
0,0
0,4
0,8
1,2
1,17
0,77 HW
SW
Mean time for ROI
analysis
+ overhead
time(ms)
0,0
0,4
0,8
1,2
1,17
0,77 HW
SW
15. 8
Results
Mean time for ROI
analysis
+ overhead
time(ms)
0,0
0,4
0,8
1,2
1,17
0,77 HW
SW
Mean time for ROI
analysis
+ overhead
time(ms)
0,0
0,4
0,8
1,2
1,17
0,77 HW
SW
Mean time per
frame
time(ms)
0
0,8
1,6
2,4
3,2
3,07
1,88
16. 8
Results
Mean time for ROI
analysis
+ overhead
time(ms)
0,0
0,4
0,8
1,2
1,17
0,77 HW
SW
Mean time for ROI
analysis
+ overhead
time(ms)
0,0
0,4
0,8
1,2
1,17
0,77 HW
SW
Mean time per
frame
time(ms)
0
0,8
1,6
2,4
3,2
3,07
1,88
image analysed
unit of time
Performance indicator:
= 97
17. 8
Results
Mean time for ROI
analysis
+ overhead
time(ms)
0,0
0,4
0,8
1,2
1,17
0,77 HW
SW
Mean time for ROI
analysis
+ overhead
time(ms)
0,0
0,4
0,8
1,2
1,17
0,77 HW
SW
Mean time per
frame
time(ms)
0
0,8
1,6
2,4
3,2
3,07
1,88
image analysed
unit of time
Performance indicator:
= 114
18. Thanks for your
attention
Feel free to contact us:
<tommaso.massari@mail.polimi.it>
<chiara.divece@mail.polimi.it>
<filippo.bracco@mail.polimi.it>
<biepincs@gmail.com> https://www.facebook.com/BIEPInCSatNECST
https://twitter.com/BIEPInCSatNECST
https://www.slideshare.net/BIEPInCS