Hiba Tariq School of Engineering

Slides:



Advertisements
Similar presentations
1 A HIGH THROUGHPUT PIPELINED ARCHITECTURE FOR H.264/AVC DEBLOCKING FILTER Kefalas Nikolaos, Theodoridis George VLSI Design Lab. Electrical & Computer.
Advertisements

Sumitha Ajith Saicharan Bandarupalli Mahesh Borgaonkar.
Khaled A. Al-Utaibi  Computers are Every Where  What is Computer Engineering?  Design Levels  Computer Engineering Fields  What.
 Understanding the Sources of Inefficiency in General-Purpose Chips.
Characterization Presentation Neural Network Implementation On FPGA Supervisor: Chen Koren Maria Nemets Maxim Zavodchik
Real-time Embedded Face Recognition for Smart Home Fei Zuo, Student Member, IEEE, Peter H. N. de With, Senior Member, IEEE.
MSU CSE 803 Stockman Linear Operations Using Masks Masks are patterns used to define the weights used in averaging the neighbors of a pixel to compute.
Vector Multiplication & Color Convolution Team Members Vinay Chinta Sreenivas Patil EECC VLSI Design Projects Dr. Ken Hsu.
FPGA Based Fuzzy Logic Controller for Semi- Active Suspensions Aws Abu-Khudhair.
Neighborhood Operations
Real time DSP Professors: Eng. Julian Bruno Eng. Mariano Llamedo Soria.
1 Miodrag Bolic ARCHITECTURES FOR EFFICIENT IMPLEMENTATION OF PARTICLE FILTERS Department of Electrical and Computer Engineering Stony Brook University.
H.264 Deblocking Filter Irfan Ullah Department of Information and Communication Engineering Myongji university, Yongin, South Korea Copyright © solarlits.com.
1 Electronics Lab, Physics Dept., Aristotle Univ. of Thessaloniki, Greece 2 Micro2Gen Ltd., NCSR Demokritos, Greece 17th IEEE International Conference.
A RISC ARCHITECTURE EXTENDED BY AN EFFICIENT TIGHTLY COUPLED RECONFIGURABLE UNIT Nikolaos Vassiliadis N. Kavvadias, G. Theodoridis, S. Nikolaidis Section.
Scheduling Many-Body Short Range MD Simulations on a Cluster of Workstations and Custom VLSI Hardware Sumanth J.V, David R. Swanson and Hong Jiang University.
Research on Reconfigurable Computing Using Impulse C Carmen Li Shen Mentor: Dr. Russell Duren February 1, 2008.
RISC By Ryan Aldana. Agenda Brief Overview of RISC and CISC Features of RISC Instruction Pipeline Register Windowing and renaming Data Conflicts Branch.
Lecture 03 Area Based Image Processing Lecture 03 Area Based Image Processing Mata kuliah: T Computer Vision Tahun: 2010.
Lecture 16: Reconfigurable Computing Applications November 3, 2004 ECE 697F Reconfigurable Computing Lecture 16 Reconfigurable Computing Applications.
ISSS 2001, Montréal1 ISSS’01 S.Derrien, S.Rajopadhye, S.Sur-Kolay* IRISA France *ISI calcutta Combined Instruction and Loop Level Parallelism for Regular.
A Configurable High-Throughput Linear Sorter System Jorge Ortiz Information and Telecommunication Technology Center 2335 Irving Hill Road Lawrence, KS.
1 Implementation in Hardware of Video Processing Algorithm Performed by: Yony Dekell & Tsion Bublil Supervisor : Mike Sumszyk SPRING 2008 High Speed Digital.
23 November Md. Tanvir Al Amin (Presenter) Anupam Bhattacharjee Department of Computer Science and Engineering,
StrideBV: Single chip 400G+ packet classification Author: Thilan Ganegedara, Viktor K. Prasanna Publisher: HPSR 2012 Presenter: Chun-Sheng Hsueh Date:
Rinoy Pazhekattu. Introduction  Most IPs today are designed using component-based design  Each component is its own IP that can be switched out for.
Jason Li Jeremy Fowers 1. Speedups and Energy Reductions From Mapping DSP Applications on an Embedded Reconfigurable System Michalis D. Galanis, Gregory.
ECEG-3202 Computer Architecture and Organization Chapter 7 Reduced Instruction Set Computers.
Spatiotemporal Saliency Map of a Video Sequence in FPGA hardware David Boland Acknowledgements: Professor Peter Cheung Mr Yang Liu.
Acceleration of the Retinal Vascular Tracing Algorithm using FPGAs Direction Filter Design FPGA FIREBIRD BOARD Framegrabber PCI Bus Host Data Packing Design.
1 Machine Vision. 2 VISION the most powerful sense.
WELCOME TO ALL. DIGITAL IMAGE PROCESSING Processing of images which are Digital in nature by a Digital Computer.
A Memory-hierarchy Conscious and Self-tunable Sorting Library To appear in 2004 International Symposium on Code Generation and Optimization (CGO ’ 04)
3/12/2013Computer Engg, IIT(BHU)1 INTRODUCTION-1.
Image enhancement Last update Heejune Ahn, SeoulTech.
Fast VLSI Implementation of Sorting Algorithm for Standard Median Filters Hyeong-Seok Yu SungKyunKwan Univ. Dept. of ECE, Vada Lab.
CSE 185 Introduction to Computer Vision Image Filtering: Spatial Domain.
Non-linear filtering Example: Median filter Replaces pixel value by median value over neighborhood Generates no new gray levels.
Calliope-Louisa Sotiropoulou C OGNITIVE I MAGING U SING FTK H ARDWARE M EETING ON M EDICAL I MAGING.
Motivations Paper: Directional Weighted Median Filter Paper: Fast Median Filters Proposed Strategy Simulation Results Conclusion References.
What’s going on here? Can you think of a generic way to describe both of these?
IMAGE PROCESSING is the use of computer algorithms to perform image process on digital images   It is used for filtering the image and editing the digital.
Optimizing Interconnection Complexity for Realizing Fixed Permutation in Data and Signal Processing Algorithms Ren Chen, Viktor K. Prasanna Ming Hsieh.
SUBJECT : DIGITAL ELECTRONICS CLASS : SEM 3(B) TOPIC : INTRODUCTION OF VHDL.
Programmable Logic Devices
Program Studi S-1 Teknik Informatika FMIPA Universitas Padjadjaran
Backprojection Project Update January 2002
Computer Organization and Machine Language Programming CPTG 245
Adaptive Median Filter
Dynamo: A Runtime Codesign Environment
School of Engineering University of Guelph
Lattice Struture.
IMAGE PROCESSING INTENSITY TRANSFORMATION AND SPATIAL FILTERING
Reconfigurable Computing University of Arkansas
Introduction to Reconfigurable Computing
Maintaining Data Integrity in Programmable Logic in Atmospheric Environments through Error Detection Joel Seely Technical Marketing Manager Military &
SoC and FPGA Oriented High-quality Stereo Vision System
Superscalar Processors & VLIW Processors
Hardware Multithreading
Sridhar Rajagopal and Joseph R. Cavallaro Rice University
Static Image Filtering on Commodity Graphics Processors
Sridhar Rajagopal and Joseph R. Cavallaro Rice University
CSC 381/481 Quarter: Fall 03/04 Daniela Stan Raicu
1.1 The Characteristics of Contemporary Processors, Input, Output and Storage Devices Types of Processors.
Esam Ali Khan M.S. Thesis Defense
Final Project presentation
Digital Image Processing Week IV
Linear Operations Using Masks
COMS 361 Computer Organization
Real time signal processing
Presentation transcript:

Hiba Tariq School of Engineering An FPGA-based implementation for Median Filter meeting the real-time requirements of Automated Visual Inspection Systems Miguel A. Vega-Rodríguez, Juan M. Sánchez-Pérez, Juan A. Gómez-Pulido Hiba Tariq School of Engineering

Outline Motivation/Background What is image processing? Classification Parallelism Reconfigurable computing Experimental results Advantages and Disadvantages Contributions

Motivation Remove high frequency or impulse noise from images while preserving quality Producing real-time results for time-critical applications is desirable Improving the efficiency of the algorithms is needed Industrial automation for product classification

Real-time Applications Health monitoring applications Medical Image Processing Factory automation Facial recognition Machine Vision

What is Image Processing? Image processing is any form of signal processing for which the input is an image, such as a photograph or video frame and the output could be an image or a set of characteristics related to the image The processing is usually done by computer The data used in image processing could be in the form of pixels, features or objects

Types of Image Processing Downton and Crookes classification, 1998 Low-level Image Processing (Pixels) contrast adjustment, edge detection, filtering Intermediate-level Image Processing (Features) segmentation, feature extraction High-level Image Processing (Objects) object classification, object recognition

Image Processing Pyramid High level (objects) Intermediate level (features) Low level (pixels)

Low-level Image Processing Focus on low-level image processing, median filtering in particular Most low-level image processing operations are computationally intensive Data is in the form of pixels

Median Filter A median filter is a spatial non-linear filter It is known to be very robust in terms of removing high-frequency or impulse noise It preserves the sharpness of the edges It produces better results compared to other linear filtering techniques The median filter operation is not reversible.

Median Filter Example

How a median filter works? It works on a set of pixels within an area also referred to as a ‘window’ or kernel Typically 3X3 or 5X5 kernel size is used Pixels are first sorted within a window Each pixel value is replaced with its median

Numerical Example

Parallelism in Image Processing Median filtering algorithm can be made to run in parallel because of neighborhood parallelism It is very desirable to exploit this parallelism when implementing a VLSI architecture for the filter to achieve performance gains

Computational Complexity Sorting is the biggest challenge specially when the image size gets big A general purpose processor is not enough to produce real-time results Traditionally ASIC’s are used but they are expensive and inflexible Reconfigurable architectures are an attractive solution

Proposed Architecture Proposed a reconfigurable architecture for image processing for a visual inspection system Compared the performance for a SW design on a GPP vs. a pure HW Implementation Used instruction level parallelism by calculating four pixels in the same clock cycle using a 2-stage pipeline Perform sorting in hardware using a partial sorting network

Sorting Network Originally proposed by John. L. Smith of Univision Technologies Inc., Billerica, MA The minimum exchange network required to calculate the median for nine pixels consists of 19 comparison nodes The idea is to calculate the median for each pixel based on nine (3X3 kernel) surrounding pixels

Finding Median of nine pixels… J.L Smith

Example: 8,7,5,2,3,1,6,4,9

Proposed Architecture Presented in this paper based on J.L Smith

Median filter implementation Whats happening in the registers. What kind of resource sharing is happening here?

Pipeline Architecture

Pipeline Architecture contd… They used a Harvard architecture with 32bit buses so they were able to clock in four pixels at the same time A two-stage pipeline was used to compute write back four pixels in one clock cycle Pixels P1, P2 and P3 are calculated in the first stage of the pipeline and P4 in the second stage

Equipment Used The software application was tested on a 350MHz Intel Pentium II Processor with 64MB RAM The Hardware implementation consisted of: PCI interface HOT2-XL containing XC4062XLA FPGA 2304 CLBs 16 MHz Filtered 30 images of size 640X480 pixels producing a throughput of 30 images per second

Experimental Results SW(general purpose 350MHz Pentium 2 processor with 64MB of RAM) versus HW performance (Designed in VHDL). Execution time for operation on 30 images of 640X480 pixels with 256 gray levels.

Experimental Results …

Advantages Parallel processing is exploited using ILP replicating filter functional units and increasing performance by four times Speed up of 85% for performing the operation for the hardware implementation Achieved performance by processing 30 images per second meeting real-time requirements

Disadvantages Replicated four filter circuits which increased resource use by four on the FPGA The pipelining of the architecture is not explained so well There is no VHDL or pseudo-code provided in the paper so it will not be easy to reproduce They didn’t mention what sorting algorithm they used in their software application They also didn’t include any simulations of the design

Critiques Two-pass median filter, weighted median filter and adaptive median filter were around in 2002. Pixel replacement should only be performed for high probability impulse noise data to avoid image degradation

Contributions Smart VLSI architecture for median filtering to produce four medians in once clock cycle It is possible to meet real-time median filtering requirements using their approach

Questions?