This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
cs401r_w2016:lab7 [2016/02/18 05:20] admin |
cs401r_w2016:lab7 [2018/02/26 21:07] sadler [Hints:] |
||
---|---|---|---|
Line 6: | Line 6: | ||
====Pre-requisite:==== | ====Pre-requisite:==== | ||
- | You must install the python ''skimage'' package. This can be installed via ''conda install skimage''. | + | You must install the python ''skimage'' package. This can be installed via ''conda install scikit-image''. |
---- | ---- | ||
Line 45: | Line 45: | ||
For the first dataset, you will perform simple target tracking using the random accelerations model. You should use the equations given in Lecture 17. The data can be found here: | For the first dataset, you will perform simple target tracking using the random accelerations model. You should use the equations given in Lecture 17. The data can be found here: | ||
- | [[http://hatch.cs.byu.edu/courses/stat_ml/kfdata.mat|Simple target tracking data]] | + | [[https://www.dropbox.com/s/11fgx6e5atfv3zy/kfdata.mat?dl=0|Simple target tracking data]] |
There are two arrays in this .mat file: ''data'' contains the actual (noisy) observations at each timestep, while ''true_data'' contains the true x,y coordinates at each timestep. Note that your kalman filter should only use the noisy observations; the true x,y coordinates are only given for visualization purposes. | There are two arrays in this .mat file: ''data'' contains the actual (noisy) observations at each timestep, while ''true_data'' contains the true x,y coordinates at each timestep. Note that your kalman filter should only use the noisy observations; the true x,y coordinates are only given for visualization purposes. | ||
Line 92: | Line 92: | ||
The dataset is derived from a sequence of images, which can be downloaded here: | The dataset is derived from a sequence of images, which can be downloaded here: | ||
- | [[http://hatch.cs.byu.edu/courses/stat_ml/ball_data.mat|Ball data]] | + | [[https://www.dropbox.com/s/1x7jtg162upc3o9/ball_data.mat?dl=0|Ball data]] |
The data is a sequence of images of a ball rolling across a camera's field of view. We'd like to implement a tracker for the ball, but there's no way we can cope with images in the framework of the Kalman filter. Instead, we'll do a brief pre-processing step: we'll use template matching to search for the ball in each frame of video, and record the best ''(x,y)'' position of the template match. | The data is a sequence of images of a ball rolling across a camera's field of view. We'd like to implement a tracker for the ball, but there's no way we can cope with images in the framework of the Kalman filter. Instead, we'll do a brief pre-processing step: we'll use template matching to search for the ball in each frame of video, and record the best ''(x,y)'' position of the template match. | ||
Line 138: | Line 138: | ||
# assumes that "mus" contains a list of Gaussian means, and that "covs" is a list of Gaussian covariances | # assumes that "mus" contains a list of Gaussian means, and that "covs" is a list of Gaussian covariances | ||
+ | # also assumes you are running in Jupyter Notebook | ||
+ | |||
+ | from IPython.display import clear_output | ||
+ | |||
for t in range(0, data.shape[0]): | for t in range(0, data.shape[0]): | ||
Line 154: | Line 158: | ||
plt.xlim([1, 360]) | plt.xlim([1, 360]) | ||
plt.ylim([243,1]) | plt.ylim([243,1]) | ||
- | | + | clear_output(wait=True) |
plt.pause(0.01) | plt.pause(0.01) | ||
</code> | </code> |