SlideShare a Scribd company logo
Introduction
The implemented algorithm
The implemented system
Results
Conclusions
Hardware Architecture for Calculating LBP-Based
Image Region Descriptors
Michał Fularz1 Marek Kraft1
1Poznań University of Technology
Institute of Control and Information Engineering
May 27, 2015
M. Fularz, M. Kraft A Hardware Architecture for Calculating LBP-Based...
Introduction
The implemented algorithm
The implemented system
Results
Conclusions
Table of contents
Goal and motivation
1 Introduction
Table of contents
Goal and motivation
2 The implemented algorithm
Non-redundant uniform local binary patterns (NRULBP)
Region descriptor formation
3 The implemented system
System architecture
NRULBP computation
Local histogram computation
4 Results
Summary of used resources
Processing speed
5 Conclusions
M. Fularz, M. Kraft A Hardware Architecture for Calculating LBP-Based...
Introduction
The implemented algorithm
The implemented system
Results
Conclusions
Table of contents
Goal and motivation
Goal
To implement an efficient hardware architecture, enabling the
computation of LBP-based image region descriptors with
corresponding occurrence histograms
Motivation
LBP-based descriptors can be used in a wide range of
computer vision applications
Computation of features as well as their distributions in the
form of the local occurrence histograms for the whole image is
a compute-intensive task
M. Fularz, M. Kraft A Hardware Architecture for Calculating LBP-Based...
Introduction
The implemented algorithm
The implemented system
Results
Conclusions
Table of contents
Goal and motivation
Sample applications of LBP-based descriptors
M. Fularz, M. Kraft A Hardware Architecture for Calculating LBP-Based...
Introduction
The implemented algorithm
The implemented system
Results
Conclusions
Non-redundant uniform local binary patterns (NRULBP)
Region descriptor formation
Descriptor formation
Regular LBP is formed based on gray level value comparison
operations in 8-neighborhood, giving rise to 256 different LBP
variants
Over 90% of LBPs are ones with less than 3 transitions in the
binary vector - so called uniform LBPs (ULBP) with 59
different variants
Further reduction with non-redundant ULBPs - ULBPs and
their binary negation (e.g. 0b00000110 - 0b11111001)
considered the same, reducing the number of variants to 30
M. Fularz, M. Kraft A Hardware Architecture for Calculating LBP-Based...
Introduction
The implemented algorithm
The implemented system
Results
Conclusions
Non-redundant uniform local binary patterns (NRULBP)
Region descriptor formation
Region descriptor formation
LBPs or their variants can be used to construct region descriptors:
histograms of descriptors are computed within smaller cells
the cells form a grid whose dimensions correspond to the
expected dimensions of described object
individual histograms are concatenated to form the full
descriptor
M. Fularz, M. Kraft A Hardware Architecture for Calculating LBP-Based...
Introduction
The implemented algorithm
The implemented system
Results
Conclusions
System architecture
NRULBP computation
Local histogram computation
Block diagram of the coprocessor
The input data are the image pixels in progressive scan mode
M. Fularz, M. Kraft A Hardware Architecture for Calculating LBP-Based...
Introduction
The implemented algorithm
The implemented system
Results
Conclusions
System architecture
NRULBP computation
Local histogram computation
Block diagram of the coprocessor
The input pixels are arranged to form a 3 × 3 window
M. Fularz, M. Kraft A Hardware Architecture for Calculating LBP-Based...
Introduction
The implemented algorithm
The implemented system
Results
Conclusions
System architecture
NRULBP computation
Local histogram computation
Block diagram of the coprocessor - NRULBP computation
the raw LBP value is computed based on the results from a set
of comparators
the NRULBP is computed from the raw value using a lookup
table
M. Fularz, M. Kraft A Hardware Architecture for Calculating LBP-Based...
Introduction
The implemented algorithm
The implemented system
Results
Conclusions
System architecture
NRULBP computation
Local histogram computation
Block diagram of the coprocessor - local histogram computation
The resulting NRULBP stream is arranged as a 50 × 1 window,
enabling parallel computation of local histograms
M. Fularz, M. Kraft A Hardware Architecture for Calculating LBP-Based...
Introduction
The implemented algorithm
The implemented system
Results
Conclusions
System architecture
NRULBP computation
Local histogram computation
Block diagram of the coprocessor - local histogram computation
local histogram modified based on the entry and exit histogram
fully pipelined and systolic approach
M. Fularz, M. Kraft A Hardware Architecture for Calculating LBP-Based...
Introduction
The implemented algorithm
The implemented system
Results
Conclusions
System architecture
NRULBP computation
Local histogram computation
Block diagram of the coprocessor - data arrangement
Final spatial arrangement ensured by the cell delay blocks
M. Fularz, M. Kraft A Hardware Architecture for Calculating LBP-Based...
Introduction
The implemented algorithm
The implemented system
Results
Conclusions
System architecture
NRULBP computation
Local histogram computation
Block diagram of the coprocessor
Descriptor type, cell size and arrangement can be easily changed
M. Fularz, M. Kraft A Hardware Architecture for Calculating LBP-Based...
Introduction
The implemented algorithm
The implemented system
Results
Conclusions
Summary of used resources
Processing speed
Summary of programmable logic resources used for implementation
The designations are: FF – flipflops, LUT – lookup tables, BRAM –
BlockRAM memory blocks. The total amount of resources available
in example target devices is given for reference in the bottom row
of the table.
FF LUT BRAM
Resource utilization used % of avail. used % of avail. used % of avail.
10 × 5 13816 12,98 23223 46,63 26 18,57
5 × 5 6966 6,55 12789 24,04 13 9,29
6 × 3 6536 6,14 12163 22,86 16 11,07
XC7Z020 106400 53200 140
XC7Z045 437200 218600 545
M. Fularz, M. Kraft A Hardware Architecture for Calculating LBP-Based...
Introduction
The implemented algorithm
The implemented system
Results
Conclusions
Summary of used resources
Processing speed
Processing speed
Tests were performed using a 10 × 5 grid of 5 × 5 cells on all image
pixels. The power consumption is well below 3W. Clock frequency
is 75MHz.
Number of frames per second that the proposed hardware
accelerator can process for different image sizes:
resolution processing time [ms] frames per second
640 x 480 3,84 260,4
1280 x 720 11,52 86,8
1920 x 1080 25,92 38,6
PC implementation achieves 1,5 FPS on VGA resolution images.
M. Fularz, M. Kraft A Hardware Architecture for Calculating LBP-Based...
Introduction
The implemented algorithm
The implemented system
Results
Conclusions
Conclusions
The system offers high performance at low power in a small
footprint
The architecture can be easily adapted to a range of tasks
requiring various cell size or cell grid size. Change of descriptor
type (e.g. to HoG) requires more work, but is also possible
Future work will be focused on integrating the implemented
architecture with a coprocessor performing a classification task
M. Fularz, M. Kraft A Hardware Architecture for Calculating LBP-Based...
Introduction
The implemented algorithm
The implemented system
Results
Conclusions
Thank you for your attention
The project was financed by the National Science Center under the contract decision number
DEC-2011/03/N/ST6/03022,
New concept of the network of smart cameras with enhanced autonomy for automatic surveillance
systems
M. Fularz, M. Kraft A Hardware Architecture for Calculating LBP-Based...

More Related Content

What's hot

Denoising Unpaired Low Dose CT Images with Self-Ensembled CycleGAN
Denoising Unpaired Low Dose CT Images with Self-Ensembled CycleGANDenoising Unpaired Low Dose CT Images with Self-Ensembled CycleGAN
Denoising Unpaired Low Dose CT Images with Self-Ensembled CycleGAN
Joonhyung Lee
 
A PROGRESSIVE MESH METHOD FOR PHYSICAL SIMULATIONS USING LATTICE BOLTZMANN ME...
A PROGRESSIVE MESH METHOD FOR PHYSICAL SIMULATIONS USING LATTICE BOLTZMANN ME...A PROGRESSIVE MESH METHOD FOR PHYSICAL SIMULATIONS USING LATTICE BOLTZMANN ME...
A PROGRESSIVE MESH METHOD FOR PHYSICAL SIMULATIONS USING LATTICE BOLTZMANN ME...
ijdpsjournal
 
V3I8-0460
V3I8-0460V3I8-0460
V3I8-0460
Richard Haney
 
High Performance Medical Reconstruction Using Stream Programming Paradigms
High Performance Medical Reconstruction Using Stream Programming ParadigmsHigh Performance Medical Reconstruction Using Stream Programming Paradigms
High Performance Medical Reconstruction Using Stream Programming Paradigms
QuEST Global (erstwhile NeST Software)
 
Lecture 3
Lecture 3Lecture 3
Lecture 3
Mr SMAK
 
Research Scope in Parallel Computing And Parallel Programming
Research Scope in Parallel Computing And Parallel ProgrammingResearch Scope in Parallel Computing And Parallel Programming
Research Scope in Parallel Computing And Parallel Programming
Shitalkumar Sukhdeve
 
Parallel Processing Concepts
Parallel Processing Concepts Parallel Processing Concepts
Parallel Processing Concepts
Dr Shashikant Athawale
 
Aca2 09 new
Aca2 09 newAca2 09 new
Aca2 09 new
Sumit Mittu
 
Parallel algorithms
Parallel algorithmsParallel algorithms
Parallel algorithms
guest084d20
 
Feng’s classification
Feng’s classificationFeng’s classification
Feng’s classification
Narayan Kandel
 
Parallel Processing
Parallel ProcessingParallel Processing
Parallel Processing
RTigger
 
Parallel Algorithms
Parallel AlgorithmsParallel Algorithms
Parallel Algorithms
Dr Sandeep Kumar Poonia
 
GRAPH MATCHING ALGORITHM FOR TASK ASSIGNMENT PROBLEM
GRAPH MATCHING ALGORITHM FOR TASK ASSIGNMENT PROBLEMGRAPH MATCHING ALGORITHM FOR TASK ASSIGNMENT PROBLEM
GRAPH MATCHING ALGORITHM FOR TASK ASSIGNMENT PROBLEM
IJCSEA Journal
 
A PROGRESSIVE MESH METHOD FOR PHYSICAL SIMULATIONS USING LATTICE BOLTZMANN ME...
A PROGRESSIVE MESH METHOD FOR PHYSICAL SIMULATIONS USING LATTICE BOLTZMANN ME...A PROGRESSIVE MESH METHOD FOR PHYSICAL SIMULATIONS USING LATTICE BOLTZMANN ME...
A PROGRESSIVE MESH METHOD FOR PHYSICAL SIMULATIONS USING LATTICE BOLTZMANN ME...
ijdpsjournal
 
Parallel processing coa
Parallel processing coaParallel processing coa
Parallel processing coa
Bala Vignesh
 
Applications of PARALLEL PROCESSING
Applications of PARALLEL PROCESSING Applications of PARALLEL PROCESSING
Applications of PARALLEL PROCESSING
Praveen Kumar
 
Aca2 08 new
Aca2 08 newAca2 08 new
Aca2 08 new
Sumit Mittu
 
Chapter 1 - introduction - parallel computing
Chapter  1 - introduction - parallel computingChapter  1 - introduction - parallel computing
Chapter 1 - introduction - parallel computing
Heman Pathak
 
Ocr using tensor flow
Ocr using tensor flowOcr using tensor flow
Ocr using tensor flow
Naresh Kumar
 
Chapter 4: Parallel Programming Languages
Chapter 4: Parallel Programming LanguagesChapter 4: Parallel Programming Languages
Chapter 4: Parallel Programming Languages
Heman Pathak
 

What's hot (20)

Denoising Unpaired Low Dose CT Images with Self-Ensembled CycleGAN
Denoising Unpaired Low Dose CT Images with Self-Ensembled CycleGANDenoising Unpaired Low Dose CT Images with Self-Ensembled CycleGAN
Denoising Unpaired Low Dose CT Images with Self-Ensembled CycleGAN
 
A PROGRESSIVE MESH METHOD FOR PHYSICAL SIMULATIONS USING LATTICE BOLTZMANN ME...
A PROGRESSIVE MESH METHOD FOR PHYSICAL SIMULATIONS USING LATTICE BOLTZMANN ME...A PROGRESSIVE MESH METHOD FOR PHYSICAL SIMULATIONS USING LATTICE BOLTZMANN ME...
A PROGRESSIVE MESH METHOD FOR PHYSICAL SIMULATIONS USING LATTICE BOLTZMANN ME...
 
V3I8-0460
V3I8-0460V3I8-0460
V3I8-0460
 
High Performance Medical Reconstruction Using Stream Programming Paradigms
High Performance Medical Reconstruction Using Stream Programming ParadigmsHigh Performance Medical Reconstruction Using Stream Programming Paradigms
High Performance Medical Reconstruction Using Stream Programming Paradigms
 
Lecture 3
Lecture 3Lecture 3
Lecture 3
 
Research Scope in Parallel Computing And Parallel Programming
Research Scope in Parallel Computing And Parallel ProgrammingResearch Scope in Parallel Computing And Parallel Programming
Research Scope in Parallel Computing And Parallel Programming
 
Parallel Processing Concepts
Parallel Processing Concepts Parallel Processing Concepts
Parallel Processing Concepts
 
Aca2 09 new
Aca2 09 newAca2 09 new
Aca2 09 new
 
Parallel algorithms
Parallel algorithmsParallel algorithms
Parallel algorithms
 
Feng’s classification
Feng’s classificationFeng’s classification
Feng’s classification
 
Parallel Processing
Parallel ProcessingParallel Processing
Parallel Processing
 
Parallel Algorithms
Parallel AlgorithmsParallel Algorithms
Parallel Algorithms
 
GRAPH MATCHING ALGORITHM FOR TASK ASSIGNMENT PROBLEM
GRAPH MATCHING ALGORITHM FOR TASK ASSIGNMENT PROBLEMGRAPH MATCHING ALGORITHM FOR TASK ASSIGNMENT PROBLEM
GRAPH MATCHING ALGORITHM FOR TASK ASSIGNMENT PROBLEM
 
A PROGRESSIVE MESH METHOD FOR PHYSICAL SIMULATIONS USING LATTICE BOLTZMANN ME...
A PROGRESSIVE MESH METHOD FOR PHYSICAL SIMULATIONS USING LATTICE BOLTZMANN ME...A PROGRESSIVE MESH METHOD FOR PHYSICAL SIMULATIONS USING LATTICE BOLTZMANN ME...
A PROGRESSIVE MESH METHOD FOR PHYSICAL SIMULATIONS USING LATTICE BOLTZMANN ME...
 
Parallel processing coa
Parallel processing coaParallel processing coa
Parallel processing coa
 
Applications of PARALLEL PROCESSING
Applications of PARALLEL PROCESSING Applications of PARALLEL PROCESSING
Applications of PARALLEL PROCESSING
 
Aca2 08 new
Aca2 08 newAca2 08 new
Aca2 08 new
 
Chapter 1 - introduction - parallel computing
Chapter  1 - introduction - parallel computingChapter  1 - introduction - parallel computing
Chapter 1 - introduction - parallel computing
 
Ocr using tensor flow
Ocr using tensor flowOcr using tensor flow
Ocr using tensor flow
 
Chapter 4: Parallel Programming Languages
Chapter 4: Parallel Programming LanguagesChapter 4: Parallel Programming Languages
Chapter 4: Parallel Programming Languages
 

Similar to Hardware Architecture for Calculating LBP-Based Image Region Descriptors

Multi Processor Architecture for image processing
Multi Processor Architecture for image processingMulti Processor Architecture for image processing
Multi Processor Architecture for image processing
ideas2ignite
 
REAL TIME FACE DETECTION ON GPU USING OPENCL
REAL TIME FACE DETECTION ON GPU USING OPENCLREAL TIME FACE DETECTION ON GPU USING OPENCL
REAL TIME FACE DETECTION ON GPU USING OPENCL
NARMADA NAIK
 
Real Time Face Detection on GPU Using OPENCL
Real Time Face Detection on GPU Using OPENCLReal Time Face Detection on GPU Using OPENCL
Real Time Face Detection on GPU Using OPENCL
csandit
 
Parallel Processor for Graphics Acceleration
Parallel Processor for Graphics AccelerationParallel Processor for Graphics Acceleration
Parallel Processor for Graphics Acceleration
Sandip Jassar (sandipjassar@hotmail.com)
 
Design and Implementation of a Programmable Truncated Multiplier
Design and Implementation of a Programmable Truncated MultiplierDesign and Implementation of a Programmable Truncated Multiplier
Design and Implementation of a Programmable Truncated Multiplier
ijsrd.com
 
A Smart Camera Processing Pipeline for Image Applications Utilizing Marching ...
A Smart Camera Processing Pipeline for Image Applications Utilizing Marching ...A Smart Camera Processing Pipeline for Image Applications Utilizing Marching ...
A Smart Camera Processing Pipeline for Image Applications Utilizing Marching ...
sipij
 
A STUDY OF IMAGE COMPRESSION BASED TRANSMISSION ALGORITHM USING SPIHT FOR LOW...
A STUDY OF IMAGE COMPRESSION BASED TRANSMISSION ALGORITHM USING SPIHT FOR LOW...A STUDY OF IMAGE COMPRESSION BASED TRANSMISSION ALGORITHM USING SPIHT FOR LOW...
A STUDY OF IMAGE COMPRESSION BASED TRANSMISSION ALGORITHM USING SPIHT FOR LOW...
acijjournal
 
40120140504012
4012014050401240120140504012
40120140504012
IAEME Publication
 
Fpga based efficient multiplier for image processing applications using recur...
Fpga based efficient multiplier for image processing applications using recur...Fpga based efficient multiplier for image processing applications using recur...
Fpga based efficient multiplier for image processing applications using recur...
VLSICS Design
 
Design and implementation of complex floating point processor using fpga
Design and implementation of complex floating point processor using fpgaDesign and implementation of complex floating point processor using fpga
Design and implementation of complex floating point processor using fpga
VLSICS Design
 
International Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentInternational Journal of Engineering Research and Development
International Journal of Engineering Research and Development
IJERD Editor
 
FPGA based Data Scrambler for Ultra-Wideband Communication Systems
FPGA based Data Scrambler for Ultra-Wideband Communication SystemsFPGA based Data Scrambler for Ultra-Wideband Communication Systems
FPGA based Data Scrambler for Ultra-Wideband Communication Systems
idescitation
 
3D-DRESD AC
3D-DRESD AC3D-DRESD AC
3D-DRESD AC
Marco Santambrogio
 
An OpenCL Method of Parallel Sorting Algorithms for GPU Architecture
An OpenCL Method of Parallel Sorting Algorithms for GPU ArchitectureAn OpenCL Method of Parallel Sorting Algorithms for GPU Architecture
An OpenCL Method of Parallel Sorting Algorithms for GPU Architecture
Waqas Tariq
 
Colloque IMT -04/04/2019- L'IA au cœur des mutations industrielles - L'IA pou...
Colloque IMT -04/04/2019- L'IA au cœur des mutations industrielles - L'IA pou...Colloque IMT -04/04/2019- L'IA au cœur des mutations industrielles - L'IA pou...
Colloque IMT -04/04/2019- L'IA au cœur des mutations industrielles - L'IA pou...
I MT
 
System-on-Chip Design Flow for the Image Signal Processor of a Nonlinear CMOS...
System-on-Chip Design Flow for the Image Signal Processor of a Nonlinear CMOS...System-on-Chip Design Flow for the Image Signal Processor of a Nonlinear CMOS...
System-on-Chip Design Flow for the Image Signal Processor of a Nonlinear CMOS...
Maikon
 
Iaetsd pipelined parallel fft architecture through folding transformation
Iaetsd pipelined parallel fft architecture through folding transformationIaetsd pipelined parallel fft architecture through folding transformation
Iaetsd pipelined parallel fft architecture through folding transformation
Iaetsd Iaetsd
 
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD Editor
 
Low complexity turbo decoder with modified acs
Low complexity turbo decoder with modified acsLow complexity turbo decoder with modified acs
Low complexity turbo decoder with modified acs
IAEME Publication
 
FPGA DESIGN FOR H.264/AVC ENCODER
FPGA DESIGN FOR H.264/AVC ENCODERFPGA DESIGN FOR H.264/AVC ENCODER
FPGA DESIGN FOR H.264/AVC ENCODER
IJCSEA Journal
 

Similar to Hardware Architecture for Calculating LBP-Based Image Region Descriptors (20)

Multi Processor Architecture for image processing
Multi Processor Architecture for image processingMulti Processor Architecture for image processing
Multi Processor Architecture for image processing
 
REAL TIME FACE DETECTION ON GPU USING OPENCL
REAL TIME FACE DETECTION ON GPU USING OPENCLREAL TIME FACE DETECTION ON GPU USING OPENCL
REAL TIME FACE DETECTION ON GPU USING OPENCL
 
Real Time Face Detection on GPU Using OPENCL
Real Time Face Detection on GPU Using OPENCLReal Time Face Detection on GPU Using OPENCL
Real Time Face Detection on GPU Using OPENCL
 
Parallel Processor for Graphics Acceleration
Parallel Processor for Graphics AccelerationParallel Processor for Graphics Acceleration
Parallel Processor for Graphics Acceleration
 
Design and Implementation of a Programmable Truncated Multiplier
Design and Implementation of a Programmable Truncated MultiplierDesign and Implementation of a Programmable Truncated Multiplier
Design and Implementation of a Programmable Truncated Multiplier
 
A Smart Camera Processing Pipeline for Image Applications Utilizing Marching ...
A Smart Camera Processing Pipeline for Image Applications Utilizing Marching ...A Smart Camera Processing Pipeline for Image Applications Utilizing Marching ...
A Smart Camera Processing Pipeline for Image Applications Utilizing Marching ...
 
A STUDY OF IMAGE COMPRESSION BASED TRANSMISSION ALGORITHM USING SPIHT FOR LOW...
A STUDY OF IMAGE COMPRESSION BASED TRANSMISSION ALGORITHM USING SPIHT FOR LOW...A STUDY OF IMAGE COMPRESSION BASED TRANSMISSION ALGORITHM USING SPIHT FOR LOW...
A STUDY OF IMAGE COMPRESSION BASED TRANSMISSION ALGORITHM USING SPIHT FOR LOW...
 
40120140504012
4012014050401240120140504012
40120140504012
 
Fpga based efficient multiplier for image processing applications using recur...
Fpga based efficient multiplier for image processing applications using recur...Fpga based efficient multiplier for image processing applications using recur...
Fpga based efficient multiplier for image processing applications using recur...
 
Design and implementation of complex floating point processor using fpga
Design and implementation of complex floating point processor using fpgaDesign and implementation of complex floating point processor using fpga
Design and implementation of complex floating point processor using fpga
 
International Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentInternational Journal of Engineering Research and Development
International Journal of Engineering Research and Development
 
FPGA based Data Scrambler for Ultra-Wideband Communication Systems
FPGA based Data Scrambler for Ultra-Wideband Communication SystemsFPGA based Data Scrambler for Ultra-Wideband Communication Systems
FPGA based Data Scrambler for Ultra-Wideband Communication Systems
 
3D-DRESD AC
3D-DRESD AC3D-DRESD AC
3D-DRESD AC
 
An OpenCL Method of Parallel Sorting Algorithms for GPU Architecture
An OpenCL Method of Parallel Sorting Algorithms for GPU ArchitectureAn OpenCL Method of Parallel Sorting Algorithms for GPU Architecture
An OpenCL Method of Parallel Sorting Algorithms for GPU Architecture
 
Colloque IMT -04/04/2019- L'IA au cœur des mutations industrielles - L'IA pou...
Colloque IMT -04/04/2019- L'IA au cœur des mutations industrielles - L'IA pou...Colloque IMT -04/04/2019- L'IA au cœur des mutations industrielles - L'IA pou...
Colloque IMT -04/04/2019- L'IA au cœur des mutations industrielles - L'IA pou...
 
System-on-Chip Design Flow for the Image Signal Processor of a Nonlinear CMOS...
System-on-Chip Design Flow for the Image Signal Processor of a Nonlinear CMOS...System-on-Chip Design Flow for the Image Signal Processor of a Nonlinear CMOS...
System-on-Chip Design Flow for the Image Signal Processor of a Nonlinear CMOS...
 
Iaetsd pipelined parallel fft architecture through folding transformation
Iaetsd pipelined parallel fft architecture through folding transformationIaetsd pipelined parallel fft architecture through folding transformation
Iaetsd pipelined parallel fft architecture through folding transformation
 
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
 
Low complexity turbo decoder with modified acs
Low complexity turbo decoder with modified acsLow complexity turbo decoder with modified acs
Low complexity turbo decoder with modified acs
 
FPGA DESIGN FOR H.264/AVC ENCODER
FPGA DESIGN FOR H.264/AVC ENCODERFPGA DESIGN FOR H.264/AVC ENCODER
FPGA DESIGN FOR H.264/AVC ENCODER
 

Recently uploaded

“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
CAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on BlockchainCAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on Blockchain
Claudio Di Ciccio
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Things to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUUThings to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUU
FODUU
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
Zilliz
 
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdfAI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
Techgropse Pvt.Ltd.
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 

Recently uploaded (20)

“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
CAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on BlockchainCAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on Blockchain
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Things to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUUThings to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUU
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
 
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdfAI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 

Hardware Architecture for Calculating LBP-Based Image Region Descriptors

  • 1. Introduction The implemented algorithm The implemented system Results Conclusions Hardware Architecture for Calculating LBP-Based Image Region Descriptors Michał Fularz1 Marek Kraft1 1Poznań University of Technology Institute of Control and Information Engineering May 27, 2015 M. Fularz, M. Kraft A Hardware Architecture for Calculating LBP-Based...
  • 2. Introduction The implemented algorithm The implemented system Results Conclusions Table of contents Goal and motivation 1 Introduction Table of contents Goal and motivation 2 The implemented algorithm Non-redundant uniform local binary patterns (NRULBP) Region descriptor formation 3 The implemented system System architecture NRULBP computation Local histogram computation 4 Results Summary of used resources Processing speed 5 Conclusions M. Fularz, M. Kraft A Hardware Architecture for Calculating LBP-Based...
  • 3. Introduction The implemented algorithm The implemented system Results Conclusions Table of contents Goal and motivation Goal To implement an efficient hardware architecture, enabling the computation of LBP-based image region descriptors with corresponding occurrence histograms Motivation LBP-based descriptors can be used in a wide range of computer vision applications Computation of features as well as their distributions in the form of the local occurrence histograms for the whole image is a compute-intensive task M. Fularz, M. Kraft A Hardware Architecture for Calculating LBP-Based...
  • 4. Introduction The implemented algorithm The implemented system Results Conclusions Table of contents Goal and motivation Sample applications of LBP-based descriptors M. Fularz, M. Kraft A Hardware Architecture for Calculating LBP-Based...
  • 5. Introduction The implemented algorithm The implemented system Results Conclusions Non-redundant uniform local binary patterns (NRULBP) Region descriptor formation Descriptor formation Regular LBP is formed based on gray level value comparison operations in 8-neighborhood, giving rise to 256 different LBP variants Over 90% of LBPs are ones with less than 3 transitions in the binary vector - so called uniform LBPs (ULBP) with 59 different variants Further reduction with non-redundant ULBPs - ULBPs and their binary negation (e.g. 0b00000110 - 0b11111001) considered the same, reducing the number of variants to 30 M. Fularz, M. Kraft A Hardware Architecture for Calculating LBP-Based...
  • 6. Introduction The implemented algorithm The implemented system Results Conclusions Non-redundant uniform local binary patterns (NRULBP) Region descriptor formation Region descriptor formation LBPs or their variants can be used to construct region descriptors: histograms of descriptors are computed within smaller cells the cells form a grid whose dimensions correspond to the expected dimensions of described object individual histograms are concatenated to form the full descriptor M. Fularz, M. Kraft A Hardware Architecture for Calculating LBP-Based...
  • 7. Introduction The implemented algorithm The implemented system Results Conclusions System architecture NRULBP computation Local histogram computation Block diagram of the coprocessor The input data are the image pixels in progressive scan mode M. Fularz, M. Kraft A Hardware Architecture for Calculating LBP-Based...
  • 8. Introduction The implemented algorithm The implemented system Results Conclusions System architecture NRULBP computation Local histogram computation Block diagram of the coprocessor The input pixels are arranged to form a 3 × 3 window M. Fularz, M. Kraft A Hardware Architecture for Calculating LBP-Based...
  • 9. Introduction The implemented algorithm The implemented system Results Conclusions System architecture NRULBP computation Local histogram computation Block diagram of the coprocessor - NRULBP computation the raw LBP value is computed based on the results from a set of comparators the NRULBP is computed from the raw value using a lookup table M. Fularz, M. Kraft A Hardware Architecture for Calculating LBP-Based...
  • 10. Introduction The implemented algorithm The implemented system Results Conclusions System architecture NRULBP computation Local histogram computation Block diagram of the coprocessor - local histogram computation The resulting NRULBP stream is arranged as a 50 × 1 window, enabling parallel computation of local histograms M. Fularz, M. Kraft A Hardware Architecture for Calculating LBP-Based...
  • 11. Introduction The implemented algorithm The implemented system Results Conclusions System architecture NRULBP computation Local histogram computation Block diagram of the coprocessor - local histogram computation local histogram modified based on the entry and exit histogram fully pipelined and systolic approach M. Fularz, M. Kraft A Hardware Architecture for Calculating LBP-Based...
  • 12. Introduction The implemented algorithm The implemented system Results Conclusions System architecture NRULBP computation Local histogram computation Block diagram of the coprocessor - data arrangement Final spatial arrangement ensured by the cell delay blocks M. Fularz, M. Kraft A Hardware Architecture for Calculating LBP-Based...
  • 13. Introduction The implemented algorithm The implemented system Results Conclusions System architecture NRULBP computation Local histogram computation Block diagram of the coprocessor Descriptor type, cell size and arrangement can be easily changed M. Fularz, M. Kraft A Hardware Architecture for Calculating LBP-Based...
  • 14. Introduction The implemented algorithm The implemented system Results Conclusions Summary of used resources Processing speed Summary of programmable logic resources used for implementation The designations are: FF – flipflops, LUT – lookup tables, BRAM – BlockRAM memory blocks. The total amount of resources available in example target devices is given for reference in the bottom row of the table. FF LUT BRAM Resource utilization used % of avail. used % of avail. used % of avail. 10 × 5 13816 12,98 23223 46,63 26 18,57 5 × 5 6966 6,55 12789 24,04 13 9,29 6 × 3 6536 6,14 12163 22,86 16 11,07 XC7Z020 106400 53200 140 XC7Z045 437200 218600 545 M. Fularz, M. Kraft A Hardware Architecture for Calculating LBP-Based...
  • 15. Introduction The implemented algorithm The implemented system Results Conclusions Summary of used resources Processing speed Processing speed Tests were performed using a 10 × 5 grid of 5 × 5 cells on all image pixels. The power consumption is well below 3W. Clock frequency is 75MHz. Number of frames per second that the proposed hardware accelerator can process for different image sizes: resolution processing time [ms] frames per second 640 x 480 3,84 260,4 1280 x 720 11,52 86,8 1920 x 1080 25,92 38,6 PC implementation achieves 1,5 FPS on VGA resolution images. M. Fularz, M. Kraft A Hardware Architecture for Calculating LBP-Based...
  • 16. Introduction The implemented algorithm The implemented system Results Conclusions Conclusions The system offers high performance at low power in a small footprint The architecture can be easily adapted to a range of tasks requiring various cell size or cell grid size. Change of descriptor type (e.g. to HoG) requires more work, but is also possible Future work will be focused on integrating the implemented architecture with a coprocessor performing a classification task M. Fularz, M. Kraft A Hardware Architecture for Calculating LBP-Based...
  • 17. Introduction The implemented algorithm The implemented system Results Conclusions Thank you for your attention The project was financed by the National Science Center under the contract decision number DEC-2011/03/N/ST6/03022, New concept of the network of smart cameras with enhanced autonomy for automatic surveillance systems M. Fularz, M. Kraft A Hardware Architecture for Calculating LBP-Based...