APPM 2360 Lab #2: Facial Recognition

Size: px
Start display at page:

Download "APPM 2360 Lab #2: Facial Recognition"

Transcription

1 APPM 2360 Lab #2: Facial Recognition Instructions Labs may be done in groups of 3 or less. You may use any program; but the TAs will only answer coding questions in MATLAB. One report must be turned in for each group and must be in PDF format. Labs must include each student s: Name Student number Section number Recitation number This lab is due on Friday, March 20, 2015 at 5pm. Each lab must be turned in through D2L on the course page. When you submit the lab please include each group members information (name, student number, section number and recitation number) in the comments. This allows us to search for a students report. Once the labs are graded you need to specifically check that your grade was entered. If you are missing a grade please bring the issue up with your TA within a week of grading. 1

2 The report must be typed (including equations). Be sure to label all images and graphs so that, independent of the text, it is clear what is in the graph. Simply answering the lab questions will not earn you a good grade. Take time to write your report as up to 20% of your grade may be based on organization, structure, style, grammar, and spelling. Project office hours will be held in ECCR 143 from Monday, March 16, 2015 to Friday, March 20, (Except that on Tuesday March 17, office hours will be in the Stadium as usual.) 1 Objective In this lab we use the singular value decomposition for matrices. We use it to build a facial recognition system. 2 Matrix and Image Manipulation in Matlab It s easy to read grayscale images into Matlab, using the function imread. Matlab stores the image as a matrix. Each entry is an integer between 0 and 255. An entry of 0 corresponds to one black pixel; an entry of 255 corresponds to one white pixel. Download the images from the folder faces included with the lab. Make sure the images are in your current Matlab folder. Then try these Matlab commands: A = imread('face1.pgm'); imshow(a); Next, we want to try manipulating the matrix and then viewing the image again. First, we need to change the datatype of the Matrix to double. Then we can do matrix operations. Then we change the datatype back to uint8 before we use imshow. For example: A = imread('face1.pgm'); A = double(a); newa = -A+255; newa = uint8(newa); imshow(newa); Problem 1. Try the code above, and include the resulting figure in your report. Describe what has happened to the image. In case you are unfamiliar with matrices in Matlab, here are some things to know: If two matrices A and B are the same shape, you can add them in Matlab by typing A + B. 2

3 If A and B are the right shape to be multiplied, Matlab will multiply them with A B. You can take the transpose of a matrix with an apostrophe: A is the transpose of A. You can get the diagonal elements out of a matrix A using diag(a). Singular Value Decomposition The Singular Value Decomposition breaks a matrix A down into three separate matrices A = USV T where V T denotes the transpose of V. The matrices U and V are both orthogonal, which means that U T U = I and V T V = I, where I is the identity matrix. The matrix S is diagonal; and the diagonal elements of S are called the singular values of A. Intuitively, the matrices U and V describe important features of the matrix, and the matrix S gives us a numerical measure of how important those features are. Don t worry about the technical details for now - we ll get a feel for what this decomposition does as we continue to work with it. Below is a brief MATLAB script that takes the SVD of a random 3 3 matrix. After you run it, take a look at what U, S, and V look like! %% Test Matlab's SVD function % Build a random 3x3 matrix A = rand(3); % Get singular value decomposition [U,S,V] = svd(a); % Multiply to get new matrix B = U*S*V'; %Check that we got the same thing we started with A B Low-Dimensional Approximations What does it mean to create a low-dimensional approximation to a set of data? Take a look at Figure 1. The data points shown on the left lie in two dimensions, but we can easily see that they are almost one-dimensional, i.e. they are all pretty close to some line. If we project each point onto this line (shown in blue), we end up with a one-dimensional approximation of the data. Obviously, we have lost some information, but the hope is that most of the important aspects of the data are preserved in this process. The SVD allows us to do a low-dimensional approximation of a matrix. Suppose we take the SVD of a matrix. The diagonal of S will be the singular values, which MATLAB automatically ranks in descending order, so that we might have something like 3

4 Figure 1: A low-dimension approximation to a set of points. diag(s) = {60.4, 12, 1.07, 0.9, 0.05, 0.001, } In the last section, we said that these singular values can be thought of as weighting how important the corresponding features are. So, it seems like the last three features are relatively unimportant, doesn t it? Supposed we replaced S with S where diag( S) = {60.4, 12, 1.07, 0.9, 0, 0, 0} We have set all but the first 4 singular values to zero. Then we set à = U S V T The dimension of à is 4, down from 7 originally. 1 However à is a good approximation of our A, since the features we are ignoring are relatively unimportant. In the next section, we ll explore removing the less important singular values and observe the effects. Remember, the most important singular values are always the first ones. Making Low-Dimensional Approximations to Images Run this code in Matlab: %% A = imread('face1.pgm'); A = double(a); [U,S,V] = svd(a); 1 Technically, when we say dimension here we really mean rank. 4

5 % Make a copy of S Sreduced = S; % Turn all but the first 10 singular values to 0 Sreduced(10:end,10:end) = 0; % remultiply to get lower-dimensional version of A Areduced = U*Sreduced*V'; imshow(uint8(a)); imshow(uint8(areduced)); (a) All the singular values (b) Only 10 singular values Pretty cool! We reduced the dimension all the way down to 10, and we can still see the important features of the face. Problem 2. Follow the above Matlab procedure to project images to lower dimensions. Work with face1.pgm, and try a variety of values of r, where r is the number of singular value you keep. Try keeping most of the singular values, or half, or only a few. Include these figures in your report (try at least 3, and make sure they look different). Problem 3. Follow the above Matlab procedure for 3 of the other faces. How low can you make r while still being able to recognize the face? Include some figures to demonstrate. Problem 4. Find all the singular values for face1.pgm,. Produce a plot of these values. How many of the singular values are larger than 0.01? Facial Recognition Suppose the FBI is searching for a criminal on the run. The identity of the criminal is unknown. However, the FBI suspects that the criminal will try to obtain a new driver s license under a fake name. 5

6 The criminal will enter a DMV (Department of Motor Vehicles, in charge of licensing drivers) and take a photo for a new license. The FBI hopes to catch the criminal by comparing the new photo to a database containing all the other driver s license photos in the US. When they see that the same face is already in the database under a different name, they ll be able to identify the criminal. The process of searching through the database for a match needs to go very quickly, because the database is huge. The FBI wants to find the match before the criminal leaves the DMV, so they can rush in and make an arrest. The FBI hires you to design an algorithm that can identify matching faces very quickly. When a new photo is taken at the DMV, you must compare it to all the existing photos and look for a matching face. If you compare the photos pixel by pixel, you won t be nearly fast enough. It turns out that you can use the SVD to very quickly compare photos. For each photo, simply use the vector of the first r singular values, where r is some suitably chosen integer. This comparatively short vector of numbers captures the most important information about each face. This is called the signature vector for each face. Your strategy is to first make a signature vector for each face in the database. When a new photo is taken at a DMV somewhere in the country, you ll make a new signature vector for it. You ll compare the new signature vector to the old ones in the database. If the new signature vector is close to any of the old ones, you ll alert the FBI. This algorithm is much faster than comparing all the pixels in the photograph. This method works best if the photographs in your database are all taken under similar conditions (similar lighting, similar zoom, face centered). This is true for driver s license photos, so we re in luck. If photo conditions were more variable, we would have to adjust for those variations first.. Problem 5. Set r = 15. Make a signature vector for each of the 6 images face1.pgm through face6.pgm Include the signature vectors for images 5 and 6 in your lab report. Also make a signature vector for the image newface.pgm. In the next problem you will use the signature vectors to test whether newface matches any of the other faces. We want to know whether the signature vector for newface is close to any of the other signature vectors. What does it mean for vectors to be close? You already know how to calculate the distance between points in 3 dimensions: that is, distance = (x 1 x 2 ) 2 + (y 1 y 2 ) 2 + (z 1 z 2 ) 2. There s a similar distance function for our signature vectors, except in 15 dimensions instead of 3. The Matlab function norm calculates the length of a vector. To find the distance between two vectors, we calculate the length of their difference. In Matlab that will look like norm(vector1-vector2). Problem 6. Find the distance between the signature vector for newface and each of the other signature vectors. In your report, include a plot or graph that shows each of these 6 distances. Which image is newface closest to? 6

7 Problem 7. Given this signature vector: ( ) Which of the 6 faces is this closest to? Problem 8. Suppose your job is to build a facial recognition system using SVD, for a database with 100,000 faces. Describe how you would choose the best value of r. What would happen if it was too small? What would happen if it was too large? 7

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

Image Manipulation in MATLAB Due Monday, July 17 at 5:00 PM Image Manipulation in MATLAB Due Monday, July 17 at 5:00 PM 1 Instructions Labs may be done in groups of 2 or 3 (i.e., not alone). You may use any programming language you wish but MATLAB is highly suggested.

More information

APPM 2360 Project 2 Due Nov. 3 at 5:00 PM in D2L

APPM 2360 Project 2 Due Nov. 3 at 5:00 PM in D2L APPM 2360 Project 2 Due Nov. 3 at 5:00 PM in D2L 1 Introduction Digital images are stored as matrices of pixels. For color images, the matrix contains an ordered triple giving the RGB color values at each

More information

Lab # 2 - ACS I Part I - DATA COMPRESSION in IMAGE PROCESSING using SVD

Lab # 2 - ACS I Part I - DATA COMPRESSION in IMAGE PROCESSING using SVD Lab # 2 - ACS I Part I - DATA COMPRESSION in IMAGE PROCESSING using SVD Goals. The goal of the first part of this lab is to demonstrate how the SVD can be used to remove redundancies in data; in this example

More information

The Singular Value Decomposition: Let A be any m n matrix. orthogonal matrices U, V and a diagonal matrix Σ such that A = UΣV T.

The Singular Value Decomposition: Let A be any m n matrix. orthogonal matrices U, V and a diagonal matrix Σ such that A = UΣV T. Section 7.4 Notes (The SVD) The Singular Value Decomposition: Let A be any m n matrix. orthogonal matrices U, V and a diagonal matrix Σ such that Then there are A = UΣV T Specifically: The ordering of

More information

Recognition, SVD, and PCA

Recognition, SVD, and PCA Recognition, SVD, and PCA Recognition Suppose you want to find a face in an image One possibility: look for something that looks sort of like a face (oval, dark band near top, dark band near bottom) Another

More information

Computational Foundations of Cognitive Science. Inverse. Inverse. Inverse Determinant

Computational Foundations of Cognitive Science. Inverse. Inverse. Inverse Determinant Computational Foundations of Cognitive Science Lecture 14: s and in Matlab; Plotting and Graphics Frank Keller School of Informatics University of Edinburgh keller@inf.ed.ac.uk February 23, 21 1 2 3 Reading:

More information

Assignment 6: Ray Tracing

Assignment 6: Ray Tracing Assignment 6: Ray Tracing Programming Lab Due: Monday, April 20 (midnight) 1 Introduction Throughout this semester you have written code that manipulated shapes and cameras to prepare a scene for rendering.

More information

Vector: A series of scalars contained in a column or row. Dimensions: How many rows and columns a vector or matrix has.

Vector: A series of scalars contained in a column or row. Dimensions: How many rows and columns a vector or matrix has. ASSIGNMENT 0 Introduction to Linear Algebra (Basics of vectors and matrices) Due 3:30 PM, Tuesday, October 10 th. Assignments should be submitted via e-mail to: matlabfun.ucsd@gmail.com You can also submit

More information

CS1114 Assignment 5, Part 1

CS1114 Assignment 5, Part 1 CS4 Assignment 5, Part out: Friday, March 27, 2009. due: Friday, April 3, 2009, 5PM. This assignment covers three topics in two parts: interpolation and image transformations (Part ), and feature-based

More information

CSE 547: Machine Learning for Big Data Spring Problem Set 2. Please read the homework submission policies.

CSE 547: Machine Learning for Big Data Spring Problem Set 2. Please read the homework submission policies. CSE 547: Machine Learning for Big Data Spring 2019 Problem Set 2 Please read the homework submission policies. 1 Principal Component Analysis and Reconstruction (25 points) Let s do PCA and reconstruct

More information

Facial Recognition Using Eigenfaces

Facial Recognition Using Eigenfaces Lab 11 Facial Recognition Using Eigenfaces Load the Data Lab Objective: Use the singular value decomposition to implement a simple facial recognition system. Suppose we have a large database containing

More information

Clustering Images. John Burkardt (ARC/ICAM) Virginia Tech... Math/CS 4414:

Clustering Images. John Burkardt (ARC/ICAM) Virginia Tech... Math/CS 4414: John (ARC/ICAM) Virginia Tech... Math/CS 4414: http://people.sc.fsu.edu/ jburkardt/presentations/ clustering images.pdf... ARC: Advanced Research Computing ICAM: Interdisciplinary Center for Applied Mathematics

More information

CS1114 Section: SIFT April 3, 2013

CS1114 Section: SIFT April 3, 2013 CS1114 Section: SIFT April 3, 2013 Object recognition has three basic parts: feature extraction, feature matching, and fitting a transformation. In this lab, you ll learn about SIFT feature extraction

More information

MATH 2221A Mathematics Laboratory II

MATH 2221A Mathematics Laboratory II MATH 2221A Mathematics Laboratory II Lab Assignment 1 Name: Class: Student ID.: In this assignment, you are asked to run MATLAB demos to see MATLAB at work. The color version of this assignment can be

More information

Programming Exercise 7: K-means Clustering and Principal Component Analysis

Programming Exercise 7: K-means Clustering and Principal Component Analysis Programming Exercise 7: K-means Clustering and Principal Component Analysis Machine Learning May 13, 2012 Introduction In this exercise, you will implement the K-means clustering algorithm and apply it

More information

Homework #2: Introduction to Images Due 4 th Week of Spring 2018 at the start of lab CSE 7, Spring 2018

Homework #2: Introduction to Images Due 4 th Week of Spring 2018 at the start of lab CSE 7, Spring 2018 Homework #2: Introduction to Images Due 4 th Week of Spring 2018 at the start of lab CSE 7, Spring 2018 Before beginning this homework, create a new Notepad++ file in your cs7sxx home directory on ieng6

More information

Hands on Assignment 1

Hands on Assignment 1 Hands on Assignment 1 CSci 2021-10, Fall 2018. Released Sept 10, 2018. Due Sept 24, 2018 at 11:55 PM Introduction Your task for this assignment is to build a command-line spell-checking program. You may

More information

Linear Algebra Review

Linear Algebra Review CS 1674: Intro to Computer Vision Linear Algebra Review Prof. Adriana Kovashka University of Pittsburgh January 11, 2018 What are images? (in Matlab) Matlab treats images as matrices of numbers To proceed,

More information

Image Compression with Singular Value Decomposition & Correlation: a Graphical Analysis

Image Compression with Singular Value Decomposition & Correlation: a Graphical Analysis ISSN -7X Volume, Issue June 7 Image Compression with Singular Value Decomposition & Correlation: a Graphical Analysis Tamojay Deb, Anjan K Ghosh, Anjan Mukherjee Tripura University (A Central University),

More information

General Instructions. Questions

General Instructions. Questions CS246: Mining Massive Data Sets Winter 2018 Problem Set 2 Due 11:59pm February 8, 2018 Only one late period is allowed for this homework (11:59pm 2/13). General Instructions Submission instructions: These

More information

1 Lab: Digit recognition

1 Lab: Digit recognition 1 Lab: Digit recognition For this lab, some of the computations take a lot of time. For the most time-intensive computations, you are instructed to omit the code from your stencil so submitting doesn t

More information

CPSC 217 Assignment 3

CPSC 217 Assignment 3 CPSC 217 Assignment 3 Due: Monday November 26, 2018 at 12:00 noon Weight: 7% Sample Solution Length: Approximately 120 lines, including blank lines, lots of comments and the provided code Individual Work:

More information

Unsupervised learning in Vision

Unsupervised learning in Vision Chapter 7 Unsupervised learning in Vision The fields of Computer Vision and Machine Learning complement each other in a very natural way: the aim of the former is to extract useful information from visual

More information

CS 051 Homework Laboratory #2

CS 051 Homework Laboratory #2 CS 051 Homework Laboratory #2 Dirty Laundry Objective: To gain experience using conditionals. The Scenario. One thing many students have to figure out for the first time when they come to college is how

More information

Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 14

Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 14 Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 14 Scan Converting Lines, Circles and Ellipses Hello everybody, welcome again

More information

Due: March 8, 11:59pm. Project 1

Due: March 8, 11:59pm. Project 1 COS 433: Cryptography (Spring 2018) Project 1 Princeton University Due: March 8, 11:59pm Project 1 Introduction You are interning at the super secretive SLA (Three Letter Agency). The SLA has intercepted

More information

APPLICATIONS OF THE SINGULAR VALUE DECOMPOSITION

APPLICATIONS OF THE SINGULAR VALUE DECOMPOSITION APPLICATIONS OF THE SINGULAR VALUE DECOMPOSITION Image Compression Let s take an image of a leader that we all know and respect: This image can be downloaded from the IAA website, after clicking on the

More information

CS 134 Programming Exercise 3:

CS 134 Programming Exercise 3: CS 134 Programming Exercise 3: Repulsive Behavior Objective: To gain experience implementing classes and methods. Note that you must bring a program design to lab this week! The Scenario. For this lab,

More information

MATH (CRN 13695) Lab 1: Basics for Linear Algebra and Matlab

MATH (CRN 13695) Lab 1: Basics for Linear Algebra and Matlab MATH 495.3 (CRN 13695) Lab 1: Basics for Linear Algebra and Matlab Below is a screen similar to what you should see when you open Matlab. The command window is the large box to the right containing the

More information

Interlude: Solving systems of Equations

Interlude: Solving systems of Equations Interlude: Solving systems of Equations Solving Ax = b What happens to x under Ax? The singular value decomposition Rotation matrices Singular matrices Condition number Null space Solving Ax = 0 under

More information

Assignment: Backgrounding and Optical Flow.

Assignment: Backgrounding and Optical Flow. Assignment: Backgrounding and Optical Flow. April 6, 00 Backgrounding In this part of the assignment, you will develop a simple background subtraction program.. In this assignment, you are given two videos.

More information

Dimension Reduction CS534

Dimension Reduction CS534 Dimension Reduction CS534 Why dimension reduction? High dimensionality large number of features E.g., documents represented by thousands of words, millions of bigrams Images represented by thousands of

More information

CS1114 Assignment 5 Part 1

CS1114 Assignment 5 Part 1 CS1114 Assignment 5 Part 1 out: Friday, March 30, 2012. due: Friday, April 6, 2012, 9PM. This assignment covers two topics: upscaling pixel art and steganography. This document is organized into those

More information

Project 1 Balanced binary

Project 1 Balanced binary CMSC262 DS/Alg Applied Blaheta Project 1 Balanced binary Due: 7 September 2017 You saw basic binary search trees in 162, and may remember that their weakness is that in the worst case they behave like

More information

Excel Basics Rice Digital Media Commons Guide Written for Microsoft Excel 2010 Windows Edition by Eric Miller

Excel Basics Rice Digital Media Commons Guide Written for Microsoft Excel 2010 Windows Edition by Eric Miller Excel Basics Rice Digital Media Commons Guide Written for Microsoft Excel 2010 Windows Edition by Eric Miller Table of Contents Introduction!... 1 Part 1: Entering Data!... 2 1.a: Typing!... 2 1.b: Editing

More information

Singular Value Decomposition, and Application to Recommender Systems

Singular Value Decomposition, and Application to Recommender Systems Singular Value Decomposition, and Application to Recommender Systems CSE 6363 Machine Learning Vassilis Athitsos Computer Science and Engineering Department University of Texas at Arlington 1 Recommendation

More information

NENS 230 Assignment 4: Data Visualization

NENS 230 Assignment 4: Data Visualization NENS 230 Assignment 4: Data Visualization Due date: Tuesday, October 20, 2015 Goals Get comfortable manipulating figures Familiarize yourself with common 2D and 3D plots Understand how color and colormaps

More information

Computer Vision CSCI-GA Assignment 1.

Computer Vision CSCI-GA Assignment 1. Computer Vision CSCI-GA.2272-001 Assignment 1. September 22, 2017 Introduction This assignment explores various methods for aligning images and feature extraction. There are four parts to the assignment:

More information

CSC 101 Spring 2010 Lab #8 Report Gradesheet

CSC 101 Spring 2010 Lab #8 Report Gradesheet CSC 101 Spring 2010 Lab #8 Report Gradesheet Name WFU Username Lab Section: A B C D Partner s Name (if you had one): Topic Points Notes Pre-lab questions 20 total - 5 at 4 points each Lab report questions

More information

Matlab for FMRI Module 1: the basics Instructor: Luis Hernandez-Garcia

Matlab for FMRI Module 1: the basics Instructor: Luis Hernandez-Garcia Matlab for FMRI Module 1: the basics Instructor: Luis Hernandez-Garcia The goal for this tutorial is to make sure that you understand a few key concepts related to programming, and that you know the basics

More information

Introduction to MATLAB

Introduction to MATLAB Introduction to MATLAB Introduction MATLAB is an interactive package for numerical analysis, matrix computation, control system design, and linear system analysis and design available on most CAEN platforms

More information

CS1114 Section 8: The Fourier Transform March 13th, 2013

CS1114 Section 8: The Fourier Transform March 13th, 2013 CS1114 Section 8: The Fourier Transform March 13th, 2013 http://xkcd.com/26 Today you will learn about an extremely useful tool in image processing called the Fourier transform, and along the way get more

More information

Homework 1 Description CmpE 362 Spring Instructor : Fatih Alagoz Teaching Assistant : Yekta Said Can Due: 3 March, 23:59, sharp

Homework 1 Description CmpE 362 Spring Instructor : Fatih Alagoz Teaching Assistant : Yekta Said Can Due: 3 March, 23:59, sharp Homework 1 Description CmpE 362 Spring 2016 Instructor : Fatih Alagoz Teaching Assistant : Yekta Said Can Due: 3 March, 23:59, sharp Homework 1 This homework is designed to teach you to think in terms

More information

Image Compression With Haar Discrete Wavelet Transform

Image Compression With Haar Discrete Wavelet Transform Image Compression With Haar Discrete Wavelet Transform Cory Cox ME 535: Computational Techniques in Mech. Eng. Figure 1 : An example of the 2D discrete wavelet transform that is used in JPEG2000. Source:

More information

Lecture 5 2D Transformation

Lecture 5 2D Transformation Lecture 5 2D Transformation What is a transformation? In computer graphics an object can be transformed according to position, orientation and size. Exactly what it says - an operation that transforms

More information

CMSC 201 Spring 2017 Lab 05 Lists

CMSC 201 Spring 2017 Lab 05 Lists CMSC 201 Spring 2017 Lab 05 Lists Assignment: Lab 05 Lists Due Date: During discussion, February 27th through March 2nd Value: 10 points (8 points during lab, 2 points for Pre Lab quiz) This week s lab

More information

Name: Math 310 Fall 2012 Toews EXAM 1. The material we have covered so far has been designed to support the following learning goals:

Name: Math 310 Fall 2012 Toews EXAM 1. The material we have covered so far has been designed to support the following learning goals: Name: Math 310 Fall 2012 Toews EXAM 1 The material we have covered so far has been designed to support the following learning goals: understand sources of error in scientific computing (modeling, measurement,

More information

APPM 2460 Matlab Basics

APPM 2460 Matlab Basics APPM 2460 Matlab Basics 1 Introduction In this lab we ll get acquainted with the basics of Matlab. This will be review if you ve done any sort of programming before; the goal here is to get everyone on

More information

Basic matrix math in R

Basic matrix math in R 1 Basic matrix math in R This chapter reviews the basic matrix math operations that you will need to understand the course material and how to do these operations in R. 1.1 Creating matrices in R Create

More information

Linear transformations Affine transformations Transformations in 3D. Graphics 2009/2010, period 1. Lecture 5: linear and affine transformations

Linear transformations Affine transformations Transformations in 3D. Graphics 2009/2010, period 1. Lecture 5: linear and affine transformations Graphics 2009/2010, period 1 Lecture 5 Linear and affine transformations Vector transformation: basic idea Definition Examples Finding matrices Compositions of transformations Transposing normal vectors

More information

Identity Matrix: >> eye(3) ans = Matrix of Ones: >> ones(2,3) ans =

Identity Matrix: >> eye(3) ans = Matrix of Ones: >> ones(2,3) ans = Very Basic MATLAB Peter J. Olver January, 2009 Matrices: Type your matrix as follows: Use space or, to separate entries, and ; or return after each row. >> [;5 0-3 6;; - 5 ] or >> [,5,6,-9;5,0,-3,6;7,8,5,0;-,,5,]

More information

A Brief Introduction to Matlab for Econometrics Simulations. Greg Fischer MIT February 2006

A Brief Introduction to Matlab for Econometrics Simulations. Greg Fischer MIT February 2006 A Brief Introduction to Matlab for Econometrics Simulations Greg Fischer MIT February 2006 Introduction First, Don t Panic! As the problem set assured you, the point of the programming exercises is to

More information

Teaching Manual Math 2131

Teaching Manual Math 2131 Math 2131 Linear Algebra Labs with MATLAB Math 2131 Linear algebra with Matlab Teaching Manual Math 2131 Contents Week 1 3 1 MATLAB Course Introduction 5 1.1 The MATLAB user interface...........................

More information

Image Compression using Singular Value Decomposition (SVD)

Image Compression using Singular Value Decomposition (SVD) Image Compression using Singular Value Decomposition (SVD) by Brady Mathews 2 December 204 The University of Utah () What is the Singular Value Decomposition? Linear Algebra is a study that works mostly

More information

Introduction to MATLAB

Introduction to MATLAB Introduction to MATLAB Introduction: MATLAB is a powerful high level scripting language that is optimized for mathematical analysis, simulation, and visualization. You can interactively solve problems

More information

Matlab Tutorial and Exercises for COMP61021

Matlab Tutorial and Exercises for COMP61021 Matlab Tutorial and Exercises for COMP61021 1 Introduction This is a brief Matlab tutorial for students who have not used Matlab in their programming. Matlab programming is essential in COMP61021 as a

More information

1 Introduction to Matlab

1 Introduction to Matlab 1 Introduction to Matlab 1. What is Matlab? Matlab is a computer program designed to do mathematics. You might think of it as a super-calculator. That is, once Matlab has been started, you can enter computations,

More information

MATLAB TUTORIAL WORKSHEET

MATLAB TUTORIAL WORKSHEET MATLAB TUTORIAL WORKSHEET What is MATLAB? Software package used for computation High-level programming language with easy to use interactive environment Access MATLAB at Tufts here: https://it.tufts.edu/sw-matlabstudent

More information

Austin Community College Google Apps Calendars Step-by-Step Guide

Austin Community College Google Apps Calendars Step-by-Step Guide The topics that will be covered in this workshop: Access (p.2) Calendar Settings (p.2) o General Tab (p.2) o Calendar Tab (p.3) Change Calendar Color (p.3) Calendar Notifications (p.4) Sharing (p.4) o

More information

Fundamental Matrix & Structure from Motion

Fundamental Matrix & Structure from Motion Fundamental Matrix & Structure from Motion Instructor - Simon Lucey 16-423 - Designing Computer Vision Apps Today Transformations between images Structure from Motion The Essential Matrix The Fundamental

More information

Staff Directory & Online Classroom: A Picture Book

Staff Directory & Online Classroom: A Picture Book Staff Directory & Online Classroom: A Picture Book eleventh in a series By Dennis Sulfsted Technology Coordinator Reading Community City Schools Holly Approved 2007 HRF Publications All current Picture

More information

Perspective Projection [2 pts]

Perspective Projection [2 pts] Instructions: CSE252a Computer Vision Assignment 1 Instructor: Ben Ochoa Due: Thursday, October 23, 11:59 PM Submit your assignment electronically by email to iskwak+252a@cs.ucsd.edu with the subject line

More information

Math 308 Autumn 2016 MIDTERM /18/2016

Math 308 Autumn 2016 MIDTERM /18/2016 Name: Math 38 Autumn 26 MIDTERM - 2 /8/26 Instructions: The exam is 9 pages long, including this title page. The number of points each problem is worth is listed after the problem number. The exam totals

More information

Table of Laplace Transforms

Table of Laplace Transforms Table of Laplace Transforms 1 1 2 3 4, p > -1 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 Heaviside Function 27 28. Dirac Delta Function 29 30. 31 32. 1 33 34. 35 36. 37 Laplace Transforms

More information

CpSc 1111 Lab 9 2-D Arrays

CpSc 1111 Lab 9 2-D Arrays CpSc 1111 Lab 9 2-D Arrays Overview This week, you will gain some experience with 2-dimensional arrays, using loops to do the following: initialize a 2-D array with data from an input file print out the

More information

MITOCW ocw f99-lec07_300k

MITOCW ocw f99-lec07_300k MITOCW ocw-18.06-f99-lec07_300k OK, here's linear algebra lecture seven. I've been talking about vector spaces and specially the null space of a matrix and the column space of a matrix. What's in those

More information

In this lesson, you ll learn how to:

In this lesson, you ll learn how to: LESSON 5: ADVANCED DRAWING TECHNIQUES OBJECTIVES In this lesson, you ll learn how to: apply gradient fills modify graphics by smoothing, straightening, and optimizing understand the difference between

More information

CS 231A Computer Vision (Autumn 2012) Problem Set 1

CS 231A Computer Vision (Autumn 2012) Problem Set 1 CS 231A Computer Vision (Autumn 2012) Problem Set 1 Due: Oct. 9 th, 2012 (2:15 pm) 1 Finding an Approximate Image asis EigenFaces (25 points) In this problem you will implement a solution to a facial recognition

More information

CMSC 201 Spring 2019 Lab 06 Lists

CMSC 201 Spring 2019 Lab 06 Lists CMSC 201 Spring 2019 Lab 06 Lists Assignment: Lab 06 Lists Due Date: Thursday, March 7th by 11:59:59 PM Value: 10 points This week s lab will put into practice the concepts you learned about lists: indexing,

More information

UNIVERSITY OF CALIFORNIA, SANTA CRUZ BOARD OF STUDIES IN COMPUTER ENGINEERING

UNIVERSITY OF CALIFORNIA, SANTA CRUZ BOARD OF STUDIES IN COMPUTER ENGINEERING UNIVERSITY OF CALIFORNIA, SANTA CRUZ BOARD OF STUDIES IN COMPUTER ENGINEERING CMPE13/L: INTRODUCTION TO PROGRAMMING IN C SPRING 2012 Lab 3 Matrix Math Introduction Reading In this lab you will write a

More information

CS 134 Programming Exercise 2:

CS 134 Programming Exercise 2: CS 134 Programming Exercise 2: Dirty Laundry Objective: To gain experience using conditionals. The Scenario. One thing some students have to figure out for the first time when they come to college is how

More information

CS 135 Lab Assignments Week 12

CS 135 Lab Assignments Week 12 CS 135 Lab Assignments Week 12 Professor: Matt B. Pedersen This handout is the assignment that you must finish for the lab portion of the course in week 12. You must finish the assignments yourself; if

More information

Assignment #1: /Survey and Karel the Robot Karel problems due: 1:30pm on Friday, October 7th

Assignment #1:  /Survey and Karel the Robot Karel problems due: 1:30pm on Friday, October 7th Mehran Sahami Handout #7 CS 06A September 8, 06 Assignment #: Email/Survey and Karel the Robot Karel problems due: :0pm on Friday, October 7th Email and online survey due: :9pm on Sunday, October 9th Part

More information

Chapter 14. Landsat 7 image of the retreating Malaspina Glacier, Alaska

Chapter 14. Landsat 7 image of the retreating Malaspina Glacier, Alaska Chapter 14 Landsat 7 image of the retreating Malaspina Glacier, Alaska Earth science is a very visual discipline Graphs Maps Field Photos Satellite images Because of this, all Earth scientists should have:

More information

ENGR 40M Project 3c: Switch debouncing

ENGR 40M Project 3c: Switch debouncing ENGR 40M Project 3c: Switch debouncing For due dates, see the overview handout 1 Introduction This week, you will build on the previous two labs and program the Arduino to respond to an input from the

More information

Lecture 38: Applications of Wavelets

Lecture 38: Applications of Wavelets WAVELETS AND MULTIRATE DIGITAL SIGNAL PROCESSING Lecture 38: Applications of Wavelets Prof.V. M. Gadre, EE, IIT Bombay 1 Introduction In this lecture, we shall see two applications of wavelets and time

More information

CISC 110 Week 1. An Introduction to Computer Graphics and Scripting

CISC 110 Week 1. An Introduction to Computer Graphics and Scripting CISC 110 Week 1 An Introduction to Computer Graphics and Scripting Emese Somogyvari Office: Goodwin 235 E-mail: somogyva@cs.queensu.ca Please use proper email etiquette! Office hours: TBD Course website:

More information

Mehran Sahami Handout #7 CS 106A September 24, 2014

Mehran Sahami Handout #7 CS 106A September 24, 2014 Mehran Sahami Handout #7 CS 06A September, 0 Assignment #: Email/Survey and Karel the Robot Karel problems due: :pm on Friday, October rd Email and online survey due: :9pm on Sunday, October th Part I

More information

Late Penalty: Late assignments will not be accepted.

Late Penalty: Late assignments will not be accepted. CPSC 449 Assignment 1 Due: Monday, October 16, 2017 Sample Solution Length: Less than 100 lines to reach the A- level, including some comments Approximately 130 lines with the fill color being influenced

More information

Start Fred Functions. Quadratic&Absolute Value Transformations. Graphing Piecewise Functions Intro. Graphing Piecewise Practice & Review

Start Fred Functions. Quadratic&Absolute Value Transformations. Graphing Piecewise Functions Intro. Graphing Piecewise Practice & Review Honors CCM2 Unit 6 Name: Graphing Advanced Functions This unit will get into the graphs of simple rational (inverse variation), radical (square and cube root), piecewise, step, and absolute value functions.

More information

Homework #1. Displays, Image Processing, Affine Transformations, Hierarchical Modeling

Homework #1. Displays, Image Processing, Affine Transformations, Hierarchical Modeling Computer Graphics Instructor: Brian Curless CSE 457 Spring 217 Homework #1 Displays, Image Processing, Affine Transformations, Hierarchical Modeling Assigned: Friday, April 7 th Due: Thursday, April 2

More information

CSC 101: Lab #5 Prelab Boolean Logic Practice Due Date: 5:00pm, day after lab session

CSC 101: Lab #5 Prelab Boolean Logic Practice Due Date: 5:00pm, day after lab session Name: Email Username: Lab Date and Time: CSC 101: Lab #5 Prelab Boolean Logic Practice Due Date: 5:00pm, day after lab session Purpose: The purpose of this pre-lab is to provide you with hands-on experience

More information

LDPC Simulation With CUDA GPU

LDPC Simulation With CUDA GPU LDPC Simulation With CUDA GPU EE179 Final Project Kangping Hu June 3 rd 2014 1 1. Introduction This project is about simulating the performance of binary Low-Density-Parity-Check-Matrix (LDPC) Code with

More information

Scanning Real World Objects without Worries 3D Reconstruction

Scanning Real World Objects without Worries 3D Reconstruction Scanning Real World Objects without Worries 3D Reconstruction 1. Overview Feng Li 308262 Kuan Tian 308263 This document is written for the 3D reconstruction part in the course Scanning real world objects

More information

Lecture 2: Variables, Vectors and Matrices in MATLAB

Lecture 2: Variables, Vectors and Matrices in MATLAB Lecture 2: Variables, Vectors and Matrices in MATLAB Dr. Mohammed Hawa Electrical Engineering Department University of Jordan EE201: Computer Applications. See Textbook Chapter 1 and Chapter 2. Variables

More information

Physics 2660: Fundamentals of Scientific Computing. Lecture 7 Instructor: Prof. Chris Neu

Physics 2660: Fundamentals of Scientific Computing. Lecture 7 Instructor: Prof. Chris Neu Physics 2660: Fundamentals of Scientific Computing Lecture 7 Instructor: Prof. Chris Neu (chris.neu@virginia.edu) Reminder HW06 due Thursday 15 March electronically by noon HW grades are starting to appear!

More information

CS1114: Matlab Introduction

CS1114: Matlab Introduction CS1114: Matlab Introduction 1 Introduction The purpose of this introduction is to provide you a brief introduction to the features of Matlab that will be most relevant to your work in this course. Even

More information

Basic MATLAB Intro III

Basic MATLAB Intro III Basic MATLAB Intro III Plotting Here is a short example to carry out: >x=[0:.1:pi] >y1=sin(x); y2=sqrt(x); y3 = sin(x).*sqrt(x) >plot(x,y1); At this point, you should see a graph of sine. (If not, go to

More information

CS1114 Assignment 5, Part 2

CS1114 Assignment 5, Part 2 CS1114 Assignment 5, Part 2 out: Wednesday, April 10, 2013. due: Friday, April 19, 2013, 5PM. This assignment covers two topics in two parts: interpolation (Part 1), and featurebased image recognition

More information

Introduction to Matlab

Introduction to Matlab Introduction to Matlab Andreas C. Kapourani (Credit: Steve Renals & Iain Murray) 9 January 08 Introduction MATLAB is a programming language that grew out of the need to process matrices. It is used extensively

More information

Animating Transformations

Animating Transformations Animating Transformations Connelly Barnes CS445: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser, Adam Finkelstein and David Dobkin Overview Rotations and

More information

Performing Matrix Operations on the TI-83/84

Performing Matrix Operations on the TI-83/84 Page1 Performing Matrix Operations on the TI-83/84 While the layout of most TI-83/84 models are basically the same, of the things that can be different, one of those is the location of the Matrix key.

More information

An idea which can be used once is a trick. If it can be used more than once it becomes a method

An idea which can be used once is a trick. If it can be used more than once it becomes a method An idea which can be used once is a trick. If it can be used more than once it becomes a method - George Polya and Gabor Szego University of Texas at Arlington Rigid Body Transformations & Generalized

More information

Assignment 0. Nothing here to hand in

Assignment 0. Nothing here to hand in Assignment 0 Nothing here to hand in The questions here have solutions attached. Follow the solutions to see what to do, if you cannot otherwise guess. Though there is nothing here to hand in, it is very

More information

Introduction and MATLAB Basics

Introduction and MATLAB Basics Introduction and MATLAB Basics Lecture Computer Room MATLAB MATLAB: Matrix Laboratory, designed for matrix manipulation Pro: Con: Syntax similar to C/C++/Java Automated memory management Dynamic data types

More information

COS 116 The Computational Universe Laboratory 10: Computer Graphics

COS 116 The Computational Universe Laboratory 10: Computer Graphics COS 116 The Computational Universe Laboratory 10: Computer Graphics As mentioned in lecture, computer graphics has four major parts: imaging, rendering, modeling, and animation. In this lab you will learn

More information

APPM 2460 PLOTTING IN MATLAB

APPM 2460 PLOTTING IN MATLAB APPM 2460 PLOTTING IN MATLAB. Introduction Matlab is great at crunching numbers, and one of the fundamental ways that we understand the output of this number-crunching is through visualization, or plots.

More information

Latent Semantic Indexing

Latent Semantic Indexing Latent Semantic Indexing Thanks to Ian Soboroff Information Retrieval 1 Issues: Vector Space Model Assumes terms are independent Some terms are likely to appear together synonyms, related words spelling

More information

1. MS EXCEL. a. Charts/Graphs

1. MS EXCEL. a. Charts/Graphs 1. MS EXCEL 3 tips to make your week easier! (MS Excel) In this guide we will be focusing on some of the unknown and well known features of Microsoft Excel. There are very few people, if any at all, on

More information

Project 2: Genetic Programming for Symbolic Regression

Project 2: Genetic Programming for Symbolic Regression Project 2: Genetic Programming for Symbolic Regression Assigned: Tuesday, Oct. 2 Multiple Due Dates (all submissions must be submitted via BlackBoard): Undergrads: Generally complete, compilable code:

More information