FPGA BASED OBJECT TRACKING SYSTEM PROJECT APPROVAL

Similar documents
FPGA PAINT. Design of Embedded Systems, Advanced Course. Faculty of Engineering (LTH) Lund University, Sweden. November 30 th, 2010

Final project proposal

Hardware Implementation of TRaX Architecture

MOVING OBJECT DETECTION USING BACKGROUND SUBTRACTION ALGORITHM USING SIMULINK

Single Pass Connected Components Analysis

Outline Introduction System development Video capture Image processing Results Application Conclusion Bibliography

3D Camera for a Cellular Phone. Deborah Cohen & Dani Voitsechov Supervisor : Raja Giryes 2010/11

Real-time image processing and object recognition for robotics applications. Adrian Stratulat

Design and Implementation of an AHB SRAM Memory Controller

EITF35 - Introduction to Structured VLSI Design (Fall 2017) Course projects

How to use the IP generator from Xilinx to instantiate IP cores

EMBEDDED SOPC DESIGN WITH NIOS II PROCESSOR AND VHDL EXAMPLES

Designing and Targeting Video Processing Subsystems for Hardware

Embedded Real-Time Video Processing System on FPGA

[7.3, EA], [9.1, CMB]

ST 软件 软件平台 2. TouchGFX

EyeCheck Smart Cameras

Progress Report (July05-Dec05)

A FULL-COLOR SINGLE-CHIP-DLP PROJECTOR WITH AN EMBEDDED 2400-FPS HOMOGRAPHY WARPING ENGINE

Aircraft Combat. A mini game.

8. Hidden Surface Elimination

Connected Component Analysis and Change Detection for Images

Sundance Multiprocessor Technology Limited. Capture Demo For Intech Unit / Module Number: C Hong. EVP6472 Intech Demo. Abstract

Implementation Of Harris Corner Matching Based On FPGA

Intel CoFluent Studio in Digital Imaging

Sundance Multiprocessor Technology Limited. Capture Demo For Intech Unit / Module Number: C Hong. EVP6472 Intech Demo. Abstract

Sundance Multiprocessor Technology Limited. Capture Demo For Intech Unit / Module Number: C Hong. EVP6472 Intech Demo. Abstract

Study Of Spatial Biological Systems Using a Graphical User Interface

Introduction to Computer Graphics (CS602) Lecture No 03 Graphics Systems

RX600. Direct Drive LCD KIT. Product Overview. Renesas Electronics America Inc. Carmelo Sansone. Tuesday, February, 2011 Rev. 1.

Hardware Software Co-Simulation of Canny Edge Detection Algorithm

Project Report for EE7700

An efficient FPGA implementation of the Harris Corner feature detector

Idle Object Detection in Video for Banking ATM Applications

Compute Node Design for DAQ and Trigger Subsystem in Giessen. Justus Liebig University in Giessen

UNIVERSITY OF CALIFORNIA RIVERSIDE MAGIC CAMERA. A project report submitted in partial satisfaction of the requirements of the degree of

Getting to Work with OpenPiton. Princeton University. OpenPit

SURVEY PAPER ON REAL TIME MOTION DETECTION TECHNIQUES

Lightsaber Training. 1 Overview. Landon Carter (lcarter), Rachel Yang (rsyang), Linda Zhang (lolzhang) Final Project Proposal Fall 2016

Figure 1: The logicraft-cc Platform - Free USB firmware

A Paper presentation on REAL TIME IMAGE PROCESSING APPLIED TO TRAFFIC QUEUE DETECTION ALGORITHM

HP Designjets with In-Printer Processing Architecture

Scanline-based rendering of 2D vector graphics

CHAOS Chaos Chaos Iterate

ALMEMO 202 ALMEMO professional measuring instrument, latest V7 generation with data logger function. ALMEMO V7 Measuring Instrument

Scalable and Modularized RTL Compilation of Convolutional Neural Networks onto FPGA

K Means Clustering Using Localized Histogram Analysis and Multiple Assignment. Michael Bryson 4/18/2007

Massive Data Algorithmics. Lecture 12: Cache-Oblivious Model

Pivoting Object Tracking System

Color Tracking Robot

STAR-CCM+: Ventilation SPRING Notes on the software 2. Assigned exercise (submission via Blackboard; deadline: Thursday Week 9, 11 pm)

Median Filter Algorithm Implementation on FPGA for Restoration of Retina Images

Improving the 3D Scan Precision of Laser Triangulation

[Sub Track 1-3] FPGA/ASIC 을타겟으로한알고리즘의효율적인생성방법및신기능소개

AUTOMATED THRESHOLD DETECTION FOR OBJECT SEGMENTATION IN COLOUR IMAGE

Design of a Network Camera with an FPGA

Motion Detection. Final project by. Neta Sokolovsky

Application Note: MatLab data processing for Motion Capture. Zhichao Lu Team 8 Documents Prep. Date: April 5, 2013

09/11/2017. Morphological image processing. Morphological image processing. Morphological image processing. Morphological image processing (binary)

Automatic License Plate Recognition

VT100 { Project Proposal

Create New ISP Program

POWERLINK Slave Xilinx Getting Started User's Manual

On-road obstacle detection system for driver assistance

Edge Detection. Announcements. Edge detection. Origin of Edges. Mailing list: you should have received messages

Canny Edge Detection Algorithm on FPGA

ME COMPUTER AIDED DESIGN COMPUTER AIDED DESIGN 2 MARKS Q&A

Getting to Work with OpenPiton

Reconfigurable Image Processor using an Fpga- Raspberry Pi Interface

Implementation of a FPGA-Based Feature Detection and Networking System for Real-time Traffic Monitoring

RiceNIC. Prototyping Network Interfaces. Jeffrey Shafer Scott Rixner

APPLICATION OF AERIAL VIDEO FOR TRAFFIC FLOW MONITORING AND MANAGEMENT

Mudd Adventure. A 3D Raycasting Game. CSEE 4840 Embedded Systems. Project Design 3/27/2014

Furniture Fabric Detection and Overlay using Augmented reality

The Power and Bandwidth Advantage of an H.264 IP Core with 8-16:1 Compressed Reference Frame Store

Connected components - 1

Moving Object Tracking Optimization for High Speed Implementation on FPGA

An Algorithm For Training Multilayer Perceptron (MLP) For Image Reconstruction Using Neural Network Without Overfitting.

Simplifying the Development and Debug of 8572-Based SMP Embedded Systems. Wind River Workbench Development Tools

An FPGA based Minutiae Extraction System for Fingerprint Recognition

Graphics Hardware and Display Devices

Key Phrase Detection Using Compact CNN Accelerator IP Reference Design

Module 7 VIDEO CODING AND MOTION ESTIMATION

ECE532 Design Project Group Report Disparity Map Generation Using Stereoscopic Camera on the Atlys Board

Advanced Image Processing, TNM034 Optical Music Recognition

Glacier Mapping and Monitoring

RUN-TIME RECONFIGURABLE IMPLEMENTATION OF DSP ALGORITHMS USING DISTRIBUTED ARITHMETIC. Zoltan Baruch

HCR Using K-Means Clustering Algorithm

Texture Image Segmentation using FCM

Bits and Bit Patterns

Intelop. *As new IP blocks become available, please contact the factory for the latest updated info.

Resource Efficient Real-Time Processing of Contrast Limited Adaptive Histogram Equalization

A Review on Plant Disease Detection using Image Processing

CITS 4402 Computer Vision

Image Manipulation in MATLAB Due Monday, July 17 at 5:00 PM

Technical Specifications: Dell OptiPlex GX150 System

Basler IP Fixed Box Cameras

IJIRST International Journal for Innovative Research in Science & Technology Volume 1 Issue 10 March 2015 ISSN (online):

Advanced 3D Animation, Vfx and Compositing Core Course of BMMC VI Semester-CUCBCSS-2014-admn onwards

Introduction.

Transcription:

FPGA BASED OBJECT TRACKING SYSTEM PROJECT APPROVAL Design of Embedded System Advanced Course-EDA385 Department of Computer Science, Lund University Submitted By HARSHAVARDHAN KITTUR aso10hki@student.lu.se CHUANHAI BAI-aso10cba@student.lu.se

Abstract In this project we propose to implement Object Tracking System which uses various video processing algorithms which have to be implemented on Digilent Nexys2 development board using Xilinx EDK. A hardware/software design approach will be used to partition this system blocks into hardware and software domains based on their criticality. Page 2

1. INTRODUCTION Object Tracking is a process of locating the object to associate the target in successive video frame over time and it finds wide scale applications in the field of security and surveillance, video communication, augmented reality, traffic control, medical imaging etc. Object Tracking is a complex process to be implemented in hardware mainly because of the amount of data associated with the video, and hence FPGAs provide a good medium of implementation because of parallelism, low cost and low power. In this project we investigated the best algorithm which can be implemented on FPGA and choose a optimum algorithm which is used to calculate the centre of gravity (COG) of the object to track it across the frame. 2. ALGORITHIMIC BLOCK DIAGRAM The following modules construct the Object Tracking System : 1. Grayscale Conversion 2. Delta Frame Generation 3. Thresholding and 4. Object Identification and Tracking. Images Gray Scale Conversion Delta Frame Generation Thresholding Object Identification and Tracking Output Figure 1: Object Tracking Algorithm Flow 1. Grayscale Conversion The bitmap files are generated from each frame of demo video in Matlab and then background and object frame are selected. These files are present in RGB format at a resolution of 640x480 pixels. These frames are then converted to grayscale within a range of 0-255. This reduces the coherent effect of the environment and allows us to easily separate the object from the background. 2. Delta Frame Generation Once the Gray Scale Conversion has been completed, the respective frames are subtracted from one another. The resulting frame is called the Delta Frame. This method of image subtraction eliminates the background and brings the object into focus, giving us information about its shape and size. The Delta frame also reduces the number of pixels that the system will have to process. Page 3

3. Thresholding In order to further enhance the resolution of the delta frame Gray Scale Thresholding is done. Example Figure 2. The individual pixels in the grayscale image are marked as object pixels if their value is greater than some threshold value (initially set as 40) and as background pixels otherwise. In this case the object pixel is given a value of 1 while a background pixel is given a value of 0. 4. Object Identification and Tracking Figure 2: Gray Level Thresholding In most applications, the center of gravity is used for tracking the target as it is a geometric property of any object. The center of gravity is the average location of the weight of an object. It can be used to describe the motion of the object through space in terms of the translation of the point of the object from one place to another In general, determining the center of gravity is a complicated procedure because the mass may not be uniformly distributed throughout the object. In order to simplify the problem we assume the object is composed of uniform material. An operator scans the entire length of the image frame for the first white pixel. This is a clear indication of the 2D position of the object within that time frame. This is iterative process and it repeated over all the frames. We can get the center of gravity of the project from each iterative scanning. The updated locations of the pixel points are collected to provide the approximate path taken by the object. The iterative program acquires the frames and plots the individual points to display the object path. 3. DESIGN COMPONENTS Video input (640*480) stored in memory Micro-Blaze Processor for implementation of image processing algorithm VGA output to display the trace Hardware Accelerator for COG calculation Figure 3: Components for implementation of Object Tracking Page 4

Figure 3 shows different components for our implementation of Object Tracking. We use SD card or SDRAM to store the grayscale image of each frame of demo video and utilize Micro-Blaze as processor to implement the image processing algorithms such as delta frame generation and thresholding. We put the calculation of center of gravity into hardware since it is a exhaustive process and needs to run from every row and column of every picture to get the value. Finally, we show the tracing of object in VGA. 4. CONSTRAINTS Frame buffering requires large amounts of memory. After gray scaling of each frame of demo video in Matlab, each grayscale image is around 300 KB. We need about 50 frames, which includes effective image elements, to do the subsequent processing. That means we need at least 15 MB memory to store these images. FPGAs have very limited amounts of on-chip RAM. The logic blocks themselves can be configured to act like RAM, but this is usually an inefficient use of the logic blocks. Typically some sort of off-chip memory can be used, such as SDRAM (16 MB) or flash memory can we used, but we cannot download data on it together with the FPGA configuration but in separate way. 5. MATLAB BEHAVIOURAL MODEL A matlab behavioural model was written in order to check the system output at every processing blocks to verify the system functionality. The following screen dumps show the matlab output at various stages. Figure 3: Bitmap of frame captured Figure 4: Gray scale of the Bitmap Page 5

Figure 5: Delta frame to isolate the object Figure 7: Result after thresholding 0-50 -100-150 -200-250 -300-350 -400-450 0 50 100 150 200 250 300 350 400 450 500 Figure 8: Plot of the centre of gravity of the objects for different frames 6. TIMELINE AND WORKBREAK UP Week Harshavardhan Chuanhai Week 1 Matlab model Matlab model Week 2 Design Design Week 3 Software Blocks Software Blocks Week 4 Hardware Blocks Hardware Blocks Week 5 Testing Testing Week 6 Improvements Improvements Week 7 Report Report Page 6