01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101111111111101010101010101010101010101010101010101010101010101010101010101010101010101010.

Slides:



Advertisements
Similar presentations
Summer Computing Workshop. Introduction to Variables Variables are used in every aspect of programming. They are used to store data the programmer needs.
Advertisements

AS Level – Week 11 Theory Module 1 Learning and Performance.
BTEC 149. Windows Desktop Click on the Start Button.
C# CARTOON APPLICATION
Basics of Inheritance CS 5010 Program Design Paradigms "Bootcamp" Lesson 12.1 © Mitchell Wand, This work is licensed under a Creative Commons.
Chapter 3 Loaders and Linkers
Lesson 2 – Connector With your partner define the components of ___ ____.
Problem Solving Agents A problem solving agent is one which decides what actions and states to consider in completing a goal Examples: Finding the shortest.
CSE 380 – Computer Game Programming Pathfinding AI
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
MICROCONTROLLED HOME Keith Jones EKU Deparment of Technology CEN.
By Jeremy Baumruk
CS 206 Introduction to Computer Science II 11 / 11 / Veterans Day Instructor: Michael Eckmann.
API Design CPSC 315 – Programming Studio Fall 2008 Follows Kernighan and Pike, The Practice of Programming and Joshua Bloch’s Library-Centric Software.
CPSC 231 Organizing Files for Performance (D.H.) 1 LEARNING OBJECTIVES Data compression. Reclaiming space in files. Compaction. Searching. Sorting, Keysorting.
Online Magazine Bryan Ng. Goal of the Project Product Dynamic Content Easy Administration Development Layered Architecture Object Oriented Adaptive to.
CSE 160 – Lecture 10 Programs 1 and 2. Program 1 Write a “launcher” program to specify exactly where programs are to be spawned, gather output, clean.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
Optimizing picture file size. Three things you can do to lower file size  Lower the resolution  Crop the picture  Save with a file format that uses.
Optimizing the Placement of Chemical and Biological Agent Sensors Daniel L. Schafer Thomas Jefferson High School for Science and Technology Defense Threat.
Image processing Lecture 4.
A digital lesson about Futurism and visual movement in art  2005 Pearson Publishing.
Tal Mor  Create an automatic system that given an image of a room and a color, will color the room walls  Maintaining the original texture.
2012 National BDPA Technology Conference Creating Rich Data Visualizations using the Google API Yolanda M. Davis Senior Software Engineer AdvancED August.
KNOWLEDGE DATABASE Topics inside  Document sharing  Event marketing  Web content.
Object Matching With Faces CS460 Project Presentation By Sam Buyarski.
Web Design. How to set up the robot How to link to robot How not to break my robot Sec Getting Started How to make it move How to control speed.
Chocolate Bar! luqili. Milestone 3 Speed 11% of final mark 7%: path quality and speed –Some cleverness required for full marks –Implement some A* techniques.
1 Shawlands Academy Higher Computing Software Development Unit.
By Meidika Wardana Kristi, NRP  Digital cameras used to take picture of an object requires three sensors to store the red, blue and green color.
A Tooling Environment for Quality-Driven Domain- Specific Modelling Janne Merilinna.
Final Year Project Interim Presentation Software Visualisation and Comparison Tool Presented By : Shane Lillis, , 4th Year Computer Engineering.
Graphics – Part1. Why use graphics u Different learning styles u Many things are hard to explain in text u Provides interest u Relationships are visual.
Motoring a Web Cam By Kevin Papreck. Definition & Requirements I had to develop a two-axis web cam that can be controlled over the internet. Along with.
1 The Software Development Process  Systems analysis  Systems design  Implementation  Testing  Documentation  Evaluation  Maintenance.
Addison Wesley is an imprint of © 2010 Pearson Addison-Wesley. All rights reserved. Chapter 5 Working with Images Starting Out with Games & Graphics in.
CIS250 OPERATING SYSTEMS Memory Management Since we share memory, we need to manage it Memory manager only sees the address A program counter value indicates.
Department of Computer Science and Engineering, CUHK 1 Final Year Project 2003/2004 LYU0302 PVCAIS – Personal VideoConference Archives Indexing System.
Scott Robinson Aaron Sikorski Peter Phelps.  Introduction  FIR Filter Design  Optimization  Application  Edge Detection  Sobel Filter  Communications.
Computational Biology, Part 23 Biological Imaging III G. Steven Vanni Robert F. Murphy Copyright  1998, All rights reserved.
© Creative Learning Systems © Creative Learning Systems Computer Graphics Selective Color.
: Chapter 8: Edge Detection 1 Montri Karnjanadecha ac.th/~montri Image Processing.
CSC 221: Recursion. Recursion: Definition Function that solves a problem by relying on itself to compute the correct solution for a smaller version of.
Lab 14 Department of Computer Science and Information Engineering National Taiwan University Lab14 – Camera 2014/12/30 1 /14.
10 Aug 2010 ECE/BENG-492 SENIOR ADVANCED DESIGN PROJECT Meeting #7.
1 Ch. 1: Software Development (Read) 5 Phases of Software Life Cycle: Problem Analysis and Specification Design Implementation (Coding) Testing, Execution.
March 23 & 28, Csci 2111: Data and File Structures Week 10, Lectures 1 & 2 Hashing.
The Software Development Process
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
On the data side of the application… In the beginning, we needed to translate the ideas for the game’s dialogue progression and how the player would interact.
Joe Cohen Presentation Overview  Project definition and requirements  Solution process and explanation  Methodology.
Computer Graphics Unit 23 Computer Graphics. Computer Graphics Computer generated imagery can be categorized into several different types: Vector or Bitmap.
Pipeline Basics Jared Crossley NRAO NRAO. What is a data pipeline?  One or more programs that perform a task with reduced user interaction.  May be.
Introduction to Image Processing Our first look at image processing will be through the use of Paint Shop Pro, a bitmap editing program available as shareware.
Modularity Computer Science 3. What is Modularity? Computer systems are organized into components called modules. The extent to which this is done is.
Finding Optimal Solutions to Cooperative Pathfinding Problems Trevor Standley Computer Science Department University of California, Los Angeles
Machine Vision Edge Detection Techniques ENT 273 Lecture 6 Hema C.R.
Creating and Using Modules Sec 9-6 Web Design. Objectives The student will: Know how to create and save a module in Python Know how to include your modules.
University of Pennsylvania Arc and line extraction Model creation Manufacturing Algorithm for model extraction We utilize a six step method for creating.
OCR A Level F453: Data structures and data manipulation Data structures and data manipulation a. explain how static data structures may be.
Web Design. How to link the robot How to turn on the robot Sec Getting Started What is python Programming in python How to move the robot How to.
Human Computer Interaction Lecture 21 User Support
CPSC 231 Organizing Files for Performance (D.H.)
Design and Programming
Machine Independent Features
Memory Management (1).
The Image The pixels in the image The mask The resulting image 255 X
Video Notes Organizer What did I learn today?.
Presentation transcript:

“Sidewalk Surfin’” Damian Wegner

Project Definition Develop modules that can be decoupled from the application The modules will consist of image processing techniques that produce quantitative results Design a visual application that can locate the center of the sidewalk and follow it Processing should be done in “quick time”

Solution Take pictures of sidewalk Implement Sobel Edge Detection Algorithm Implement method to find center of an object Test on still pictures Test on streaming video from web cam Implement methods to forecast direction  Simple forecast  Best fit line Optimize code

Exceptions Use more advanced historical data to:  Provide better forecast of movement  Minimize impact of losing an edge Create a library (either dynamic or static)

Methodology Use still images to create a controlled environment in which to develop and test algorithms for edge detection and to find the center of an object Once tested in control environment, test in a “live environment” via the web cam Optimize code to speed up execution

Methodology Explained Controlled Environment --First picture created in MS Paint --Other later pictures taken with the web cam

Methodology Explained Sobel Algorithm --Use two masks to emphasize the difference between quasi- adjacent pixels xmaskymask

Methodology Explained Find-Center Algorithm --Find first black pixel in each direction --Repeat x number of times to get average values for the left and right edges --Set new center as middle of the edges

Live Demonstration Time to watch a video!! Plus a little audience involvement…

Development Process Began with code from Mr. Blahnik, which allowed me to bring in streaming video from a web cam Searched online for how to bring in a bitmap file and store it in an array Got Sobel Edge Detection Algorithm from Drexel Grad Student

Knowledge Used All CS courses—array use —functions / subroutines CS220—files, especially bitmaps CS321—algorithm analysis for code optimization CS350—event programming

Extensions Implement other edge detection algorithms and use a combination to more accurately and more consistently find edges Implement more advanced method of history and compare the results Combine with “I’ll be watching you” to center on a moving object, etc.

Advice Start early Grow your project  helps keep you motivated Save often and maintain a version history of code The CS professors aren’t just there for looks…they know a thing or two. Keep in touch with them; they can be a great asset. Documentation begins on Day 1! Don’t wait until the end to try to generate documentation.

Questions? ?