The Warmup Assignment

See the FAQ for common questions about the warmup.

Overview

    The goal of the warm-up assignment is to localize a simulated air vehicle flying at fixed speed, relative to a map 'map.png' of the ground:


    You notice that this aerial image is of quite high quality. For simplicity, we assume that the air vehicle points its camera straight down at a fixed altitude, and it also uses a compass so that the images are suitable rotated and scaled. Also for simplicity, we assume the air vehicle moves at a fixed speed.

    The air vehicle senses small ground image patches, like the ones shown here:

         
    So the central problem in this assignment is to estimate the x,y-location of these ground image patches relative to the map map.png.

    Remark: These patches were generated from a different aerial image 'sensor_all.png' so there is some natural variation, which you can treat as noise. (Please use map.png for all your localization work; sensors_all.png is only used for generating sequences of image patches.)

Your task

    You need to implement probabilistic software that localizes each sequence of images to the aerial image 'map.png'.

Hand-in

    You need to hand in multiple things:

    1. A written report describing (a) the basic ideas of your solution; (b) where in the code these basic ideas can be found; (c) your results.

    2. The results comprise a best guess of the vehicle path, and also the time it takes to compute this. The more detail you give (e.g., how many particles in the particle filter), the better.


    3. Your documented software.

    The hand-in must be submitted via a single PDF file. Please attach the PDF to an email with the subject line "[CS226] Warmup" and send to:


Data

    All data and software can be found in http://cs226.stanford.edu/warmup/

    data.tgz Tar archive of all data in the directory data/..
    warmup/data/100 Data files with patch side 100 by 100 pixels. There are five separate sequences here, called ALL, BLDG, PARK, ROAD, TREES. Each sequence is comprised of 10 sensor images. The naming should be pretty obvious. For example, patch_BLDG_7_100.png is the 7th image of the BLDG sequence, at resolution 100x100 pixels.
    warmup/data/50 Same as above, but with patch side 50 by 50 pixels. Because these patches are smaller, the task of localization is more difficult.
    main.m and makesens.m Matlab files that we used to create the data from the aerial image sensors_all.png.
    map.png and sensors_all.png Aerial images: you should only use map.png for localization. sensors_all.png is only provided in case you want to generate more sensor data
    test.m and match.m An interesting matlab program to study: It uses image convolution to compute the match of a small image patch (from sensors_all.png) in the arial image map.png. Some of this code may come in handy for this assignment. If execution speed bothers you, you can implement the convolution using FFTs.























































































Course overview
Announcements
Time and location
Course materials
Schedule
Instructors
Assignments
Projects
Policies
Data
FAQ