Robot Vision CAP 4453
Coding Standard and General Requirements
Code for all programming assignments should be well documented. A working program with no comments
will receive only partial credit. Documentation entails writing a description of each function/method,
class/structure, as well as comments throughout the code to explain the program flow. Programming
language for the assignment is Python. You can use standard python built-in IDLE, or other IDLEs such
as CANOPY, PyCharm Community Edition, PyScripter, CodeSculptor, Eric Python, Eclipse plus PyDev, etc.
Following libraries can be used when necessary:
• PIL (The Python Imaging Library), Matplotlib, NumPy, SciPy, LibSVM, OpenCV, VLFeat, pythongraph.
Submit by 17th March 2021, 11.59pm. PA2 is 10% of your total grade.
Question 1: Histogram of Oriented Gradients (HOG) [10 pt]
0 pt Use two different images of your choice to perform the following steps for getting HOG features of the input
0 pt Compute the x and y gradients for the image and then compute the orientation and magnitude as well. (You
can use your code from first assignment here.)
3 pt Implement the code for computing histogram for each cell. Use 9 bins for histogram (for 0 – 180 degrees) and
use voting scheme as discussed during the class. Refer to slide 67 from lecture 10.
3 pt Implement the code for computing HOG features with the following parameters; cell size 8×8 pixels, block size
2×2 cells. Normalize your features for each block using euclidean norm.
2 pt Visualize the computed HOG features. Use the bin with highest magnitude for each cell and use a color coding
for each orientation in the cells for visualizing your HOG features. Show the result as an image. Instead you
can also draw a line corresponding to the orientation for each cell. Either way of visualization will be fine.
2 pt Repeat the above steps (computing HOG features and visualization) with 18 bins, cell size of 16×16, block
size of 4×4 cells. Compare the results with previous set of parameters and discuss the differences if any (what
What to submit:
• Code: You code should be well commented.
• A short write-up about your implementation with results and your observations from each results.