1 Pupil Detection and Tracking System Lior Zimet Sean Kao EE 249 Project Mentors: Dr. Arnon Amir Yoshi Watanabe.

Slides:



Advertisements
Similar presentations
Multiprocessor Architecture for Image processing Mayank Kumar – 2006EE10331 Pushpendre Rastogi – 2006EE50412 Under the guidance of Dr.Anshul Kumar.
Advertisements

SOC Design: From System to Transistor
Verilog Fundamentals Shubham Singh Junior Undergrad. Electrical Engineering.
ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
Sumitha Ajith Saicharan Bandarupalli Mahesh Borgaonkar.
Developing Video Applications on Xilinx FPGAs
Design Methodology for High-Level Model Based on an Eight Bit Entertainment System Alejandro Lizaola, Ricardo D. Castro, Gilberto Beltran. Manuel Salim.
Implementation of an Android Phone Based Video Streamer 2010 IEEE/ACM International Conference on Green Computing and Communications 2010 IEEE/ACM International.
1 HW/SW Partitioning Embedded Systems Design. 2 Hardware/Software Codesign “Exploration of the system design space formed by combinations of hardware.
Aug. 24, 2007ELEC 5200/6200 Project1 Computer Design Project ELEC 5200/6200-Computer Architecture and Design Fall 2007 Vishwani D. Agrawal James J.Danaher.
Presenter : Shih-Tung Huang Tsung-Cheng Lin Kuan-Fu Kuo 2015/6/15 EICE team Model-Level Debugging of Embedded Real-Time Systems Wolfgang Haberl, Markus.
Department of Electrical and Computer Engineering Texas A&M University College Station, TX Abstract 4-Level Elevator Controller Lessons Learned.
Mahapatra-Texas A&M-Fall'001 cosynthesis Introduction to cosynthesis Rabi Mahapatra CPSC498.
Define Embedded Systems Small (?) Application Specific Computer Systems.
Configurable System-on-Chip: Xilinx EDK
Polarization Processing for Low Light Imaging Abstract: An important property of still picture cameras and video cameras is their ability to present an.
FPGA BASED IMAGE PROCESSING Texas A&M University / Prairie View A&M University Over the past few decades, the improvements from machine language to objected.
Models of Computation for Embedded System Design Alvise Bonivento.
1 EE249 Discussion A Method for Architecture Exploration for Heterogeneous Signal Processing Systems Sam Williams EE249 Discussion Section October 15,
November 18, 2004 Embedded System Design Flow Arkadeb Ghosal Alessandro Pinto Daniele Gasperini Alberto Sangiovanni-Vincentelli
HW/SW Co-Design of an MPEG-2 Decoder Pradeep Dhananjay Kiran Divakar Leela Kishore Kothamasu Anthony Weerasinghe.
(1) Introduction © Sudhakar Yalamanchili, Georgia Institute of Technology, 2006.
© 2011 Xilinx, Inc. All Rights Reserved Intro to System Generator This material exempt per Department of Commerce license exception TSU.
Sana Naghipour, Saba Naghipour Mentor: Phani Chavali Advisers: Ed Richter, Prof. Arye Nehorai.
Image Processing for Remote Sensing Matthew E. Nelson Joseph Coleman.
Lab 2: Capturing and Displaying Digital Image
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
Diffuse Optical Tomography Optimization and Miniaturization ECE 4902-Spring 2014 Thomas Capuano (EE&BME), Donald McMenemy (EE), David Miller (EE), Dhinakaran.
1 VERILOG Fundamentals Workshop סמסטר א ' תשע " ה מרצה : משה דורון הפקולטה להנדסה Workshop Objectives: Gain basic understanding of the essential concepts.
Trigger design engineering tools. Data flow analysis Data flow analysis through the entire Trigger Processor allow us to refine the optimal architecture.
1 3-General Purpose Processors: Altera Nios II 2 Altera Nios II processor A 32-bit soft core processor from Altera Comes in three cores: Fast, Standard,
Elad Hadar Omer Norkin Supervisor: Mike Sumszyk Winter 2010/11, Single semester project. Date:22/4/12 Technion – Israel Institute of Technology Faculty.
Models of Computation: FSM Model Reading: L. Lavagno, A.S. Vincentelli and E. Sentovich, “Models of computation for Embedded System Design”
Intro to Architecture – Page 1 of 22CSCI 4717 – Computer Architecture CSCI 4717/5717 Computer Architecture Topic: Introduction Reading: Chapter 1.
Software Pipelining for Stream Programs on Resource Constrained Multi-core Architectures IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEM 2012 Authors:
Extreme Makeover for EDA Industry
© 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Xilinx Design Flow FPGA Design Flow Workshop.
Research on Reconfigurable Computing Using Impulse C Carmen Li Shen Mentor: Dr. Russell Duren February 1, 2008.
J. Christiansen, CERN - EP/MIC
IEEE ICECS 2010 SysPy: Using Python for processor-centric SoC design Evangelos Logaras Elias S. Manolakos {evlog, Department of Informatics.
Towards the Design of Heterogeneous Real-Time Multicore System m Yumiko Kimezawa February 1, 20131MT2012.
A Methodology for Architecture Exploration of heterogeneous Signal Processing Systems Paul Lieverse, Pieter van der Wolf, Ed Deprettere, Kees Vissers.
CprE / ComS 583 Reconfigurable Computing Prof. Joseph Zambreno Department of Electrical and Computer Engineering Iowa State University Lecture #21 – HW/SW.
Towards the Design of Heterogeneous Real-Time Multicore System Adaptive Systems Laboratory, Master of Computer Science and Engineering in the Graduate.
May 16-18, Skeletons and Asynchronous RPC for Embedded Data- and Task Parallel Image Processing IAPR Conference on Machine Vision Applications Wouter.
Design of a Novel Bridge to Interface High Speed Image Sensors In Embedded Systems Tareq Hasan Khan ID: ECE, U of S Term Project (EE 800)
BridgePoint Integration John Wolfe / Robert Day Accelerated Technology.
Sub-Nyquist Sampling Algorithm Implementation on Flex Rio
PROJECT - ZYNQ Yakir Peretz Idan Homri Semester - winter 2014 Duration - one semester.
The Software Development Process
SOC Virtual Prototyping: An Approach towards fast System- On-Chip Solution Date – 09 th April 2012 Mamta CHALANA Tech Leader ST Microelectronics Pvt. Ltd,
Gedae, Inc. Gedae: Auto Coding to a Virtual Machine Authors: William I. Lundgren, Kerry B. Barnes, James W. Steed HPEC 2004.
Spatiotemporal Saliency Map of a Video Sequence in FPGA hardware David Boland Acknowledgements: Professor Peter Cheung Mr Yang Liu.
Proposal for an Open Source Flash Failure Analysis Platform (FLAP) By Michael Tomer, Cory Shirts, SzeHsiang Harper, Jake Johns
1 ® ® Agenda 8:30 a.m.Introduction to The MathWorks, Xilinx, and Avnet 9:00 a.m.Video System Design with Simulink 9:45 a.m.Break 10:00 a.m.FPGA Implementation.
Formal Verification. Background Information Formal verification methods based on theorem proving techniques and model­checking –To prove the absence of.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
DDRIII BASED GENERAL PURPOSE FIFO ON VIRTEX-6 FPGA ML605 BOARD PART B PRESENTATION STUDENTS: OLEG KORENEV EUGENE REZNIK SUPERVISOR: ROLF HILGENDORF 1 Semester:
Teaching Digital Logic courses with Altera Technology
Chapter 1 An Overview of Computers and Programming Languages.
CoDeveloper Overview Updated February 19, Introducing CoDeveloper™  Targeting hardware/software programmable platforms  Target platforms feature.
1 The user’s view  A user is a person employing the computer to do useful work  Examples of useful work include spreadsheets word processing developing.
SUBJECT : DIGITAL ELECTRONICS CLASS : SEM 3(B) TOPIC : INTRODUCTION OF VHDL.
Dynamo: A Runtime Codesign Environment
Introduction to cosynthesis Rabi Mahapatra CSCE617
High Level Synthesis Overview
Xilinx/Model Technology Powerful FPGA Verification Solution
THE ECE 554 XILINX DESIGN PROCESS
Digital Designs – What does it take
THE ECE 554 XILINX DESIGN PROCESS
Presentation transcript:

1 Pupil Detection and Tracking System Lior Zimet Sean Kao EE 249 Project Mentors: Dr. Arnon Amir Yoshi Watanabe

December 5, 2002 EE 249 Project Presentation Lior Zimet and Sean Kao 2 Outline Introduction and Goals Design Methodology Model of Computation Mapping and Implementation Verification Conclusions

December 5, 2002 EE 249 Project Presentation Lior Zimet and Sean Kao 3 Motivation Human-computer interfaces are becoming more important New interfaces may benefit from knowledge of the location of the user ’ s eyes –Auto-stereoscopic displays –Virtual Reality interfaces –Facial recognition systems –Eye gaze tracking

December 5, 2002 EE 249 Project Presentation Lior Zimet and Sean Kao 4 Goals Exercise design process from functional specification to implementation and verification Develop an embedded system that will find the two-dimensional location of a user ’ s pupils Apply various methodologies we have learned Use a heterogeneous collection of various components in a real-time environment

December 5, 2002 EE 249 Project Presentation Lior Zimet and Sean Kao 5 Background Human pupils may be found using two infrared light sources An on-axis light source will give the “ red- eye ” effect.

December 5, 2002 EE 249 Project Presentation Lior Zimet and Sean Kao 6 Background An off-axis light source will give a dark- pupil effect We can synchronize the two light sources with the capturing device

December 5, 2002 EE 249 Project Presentation Lior Zimet and Sean Kao 7 Difference of the two Images

December 5, 2002 EE 249 Project Presentation Lior Zimet and Sean Kao 8 Design Methodology Begin with a definition of the system with illustrations Make a formal specification using the Unified Modeling Language Describe the system using a behavioral model Explore architectural space Map functionality into chosen architecture Verify implementation

December 5, 2002 EE 249 Project Presentation Lior Zimet and Sean Kao 9 System Definition Take in an image illuminated with two different light sources Find the pupils in the image Calculate the position of the pupils Output the coordinates

December 5, 2002 EE 249 Project Presentation Lior Zimet and Sean Kao 10 UML Diagrams UML is used for formally describing a system Use-case diagram shows functions of the system without implying how it is done Class diagram shows what functional blocks are used Sequence diagrams show how the use- cases are executed

December 5, 2002 EE 249 Project Presentation Lior Zimet and Sean Kao 11 Use Case Diagram

December 5, 2002 EE 249 Project Presentation Lior Zimet and Sean Kao 12 Class Diagram

December 5, 2002 EE 249 Project Presentation Lior Zimet and Sean Kao 13 Y-Chart of the Project System Behavior System Architecture Mapping Refine Implementation of System First, we’ll describe the system behavior with an appropriate model of computation

December 5, 2002 EE 249 Project Presentation Lior Zimet and Sean Kao 14 Model of Computation Processes large amounts of data in a similar way Dataflow model is the most appropriate Our system is not control-centric But some parts of the system are easier to describe using sequential algorithms Mixed models of computation

December 5, 2002 EE 249 Project Presentation Lior Zimet and Sean Kao 15 Simulink versus Ptolemy (Virgil) Ptolemy has the ability to mix models of computation and has support for synchronous dataflow But Virgil does not have a simple way to integrate sequential algorithms Simulink has extensive support for sequential algorithms (Matlab) But lacks clearly defined semantics, combination of dataflow and discrete-event

December 5, 2002 EE 249 Project Presentation Lior Zimet and Sean Kao 16 Simulink Model of Computation Use one clock to synchronize the system No implicit definitions how many tokens are generated or used We use counters and synchronous signals to determine how many “ tokens ” are on edges

December 5, 2002 EE 249 Project Presentation Lior Zimet and Sean Kao 17 Simulink Model Properties of objects on a line Connect objects in different lines Update properties of known objects in a frame Calculate (X,Y) coordinates from those properties Display the coordinates Image capture model (source) FIFO Subtraction and threshold

December 5, 2002 EE 249 Project Presentation Lior Zimet and Sean Kao 18 Verifying the Functionality Obtained images from IBM Almaden Research Center Run Simulink model on half-scale images and verify the behavioral model

December 5, 2002 EE 249 Project Presentation Lior Zimet and Sean Kao 19 System Architecture on Y-Chart System Behavior System Architecture Mapping Refine Implementation of System Next, we’ll define the system architecture

December 5, 2002 EE 249 Project Presentation Lior Zimet and Sean Kao 20 System Architecture Image capture device Programmable hardware Frame buffer FIFO Interface controller PC Architecture Space Programmable hardware PC Image capture device Frame buffer FIFO Interface controller

December 5, 2002 EE 249 Project Presentation Lior Zimet and Sean Kao 21 Mapping on Y-Chart System Behavior System Architecture Mapping Refine Implementation of System Map the behavior onto the architecture

December 5, 2002 EE 249 Project Presentation Lior Zimet and Sean Kao 22 Mapping and HW/SW Partition Frame buffer –RAM vs FIFO Subtraction and thresholding of data –Hardware offers a fast, simple way –Software requires high memory bandwidth Extracting objects from the video data –Algorithm is non-trivial to implement in hardware, a fully parallel implementation is costly –Software implementation is straightforward for sequential algorithms, but requires fast data transfers to processor

December 5, 2002 EE 249 Project Presentation Lior Zimet and Sean Kao 23 Mapping and HW/SW Partition Calculating coordinates –Requires a hardware divider (expensive) –Needs lots of data to be passed, calculation is cheap in software Displaying the XY coordinates –Hardware requires complicated interface to some type of display –Easy to display on monitor, only requires small amounts of data to transfer

December 5, 2002 EE 249 Project Presentation Lior Zimet and Sean Kao 24 Communication Deal with heterogeneous blocks Different types of blocks require different types of communication FPGA Block Image capture device FPGA Block PC Image capture device PC Register Arrays Parallel data stream USB I2C

December 5, 2002 EE 249 Project Presentation Lior Zimet and Sean Kao 25 Design Choices Zoran CMOS Sensor Zoran Video IP Evaluation Board IBM Almaden BlueEyes LED Board Altera APEX20K FPGA Averlogic Frame Buffer FIFO Cypress USB Controller

December 5, 2002 EE 249 Project Presentation Lior Zimet and Sean Kao 26 Design Choices Properties of objects on a line Connect objects in different lines Update properties of known objects in a frame Calculate (X,Y) coordinates from those properties Display the coordinates Image capture model (source) FIFO Subtraction and threshold CMOS Sensor Frame buffer Altera FPGA and Zoran Evaluation board PC USB controller

December 5, 2002 EE 249 Project Presentation Lior Zimet and Sean Kao 27 Implementation from Behavioral Model No available tool that can effectively apply model of computation to various architectural implementations yet Xilinx SysGen tool cannot handle data stream Real-Time Workshop for Simulink –Does not necessarily generate efficient code Various programs that generate Verilog from C –May not be synthesizable

December 5, 2002 EE 249 Project Presentation Lior Zimet and Sean Kao 28 LeonardoSpectrum and Quartus ModelSim Simulink Implementation Verilog (synthesized manually) is used for hardware blocks C/C++ (synthesized manually) used for software blocks System Behavior System Architecture Mapping Refine Implementation of System

December 5, 2002 EE 249 Project Presentation Lior Zimet and Sean Kao 29 Verification ModelSim used to simulate Verilog LeonardoSpectrum used to synthesize Verilog into FPGA netlist Quartus used to map and place & route Visual C++ used to compile and simulate software components

December 5, 2002 EE 249 Project Presentation Lior Zimet and Sean Kao 30 System Demo

December 5, 2002 EE 249 Project Presentation Lior Zimet and Sean Kao 31 Conclusions Good design methodology allowed us to exercise the complete design process in a short time span (time-to-market) Separating functionality from implementation can solve many errors early in the design process Communication and interface-based design is vital for system integration No available programs to automatically synthesize the process all the way down Tried to apply EE 249 design methodologies, but implemented with traditional techniques

December 5, 2002 EE 249 Project Presentation Lior Zimet and Sean Kao 32 Acknowledgements Dr. Arnon Amir (IBM Almaden Research Center) Zoran Video IP team Zoran CMOS Sensor team Yoshi Watanabe Prof. Sangiovanni-Vincentelli Rong Chen