Due: Late, Monday, April 21, 2008
Credit (Ugrads): Approximately 6 points (Relative, and very rough absolute
Credit (Grads): Approximately 6 points (Relative, and very rough absolute
weighting)
Note: Grads will be responsible for an extra assignment, to be released soon. After that, there will be one more assignment for both grads and undergrads.
Information for those working in C/C++ who want to use my libraries.
This assignment has three parts, the first two being required for undergrads and grads.
To simplify things, you should hard code the file names in the version of your program that you give to the TA. Please attempt to give the TA a self contained set of files. You should provide a README explaining, at a minimum, how to run any programs that you have provided. When the TA runs your program(s), the images requested below should appear. You are asked to hand them in as well, to simplify grading.
Implement K-means clustering. You should make K easy to set. At every iteration you must print out the value of the objective function (which should go down). Recall that the objective function is the sum of the squared errors from the mean of the assigned cluster. Use your implementation to segment the following three images based on color taken as a 3D vector, using k=5 and k=10.
     
/cs/www/classes/cs477/spring06/ua_cs_only/assignments/sunset.tiff
.
     
/cs/www/classes/cs477/spring06/ua_cs_only/assignments/tiger-1.tiff
.
     
/cs/www/classes/cs477/spring06/ua_cs_only/assignments/tiger-2.tiff
.
Hand in any code, and some segmented images. For simplicity, you can simply set each segment to its mean color. You could spice it up adding region borders. One way to do so is to make any pixel that is not surrounded by pixels from the same cluster a distinctive color.
Hand in a brief report of what you did, any code, and some segmented images.
Using your ability to find horizontal and vertical edges at various blurring sigmas, consider a window size, W, centered on each image pixel in turn. Compute the mean squared response of some filters over the pixels of W, for some sigmas. This will result in a feature vector that captures some notion of texture for the location of W. Explore using this feature vector both with full color (RGB), and using only brightness instead (R+G+B), and with and without the spatial location feature in the previous question, for some choices for W. You do not need to try everything with everything. However, it is a good exercise to organize your experimentation so you can efficiently study the effects of various choices.
Don't forget about the possibility of scale effects!
Hand in a brief report of what you did, any code, and some segmented images.
To hand in the above, use the turnin program available on lectura (turnin key is cs477_hw7). Hand in your code, some representative images, and explanation of what you are handing in and what you did in the README, including your comments regarding the effect of adding (x,y) with increasing weight.