Previous | Next --- Slide 101 of 114
Back to Lecture Thumbnails
adigrao2012

In step 2, I believe this symbol represents the Kronecker product after doing some googling but got a bit confused- is this just the same as applying the derivative filter to the matrix as usual? What are the dimensions of df/dx and df/dy?

mpotoole

Although this is the symbol used for the Kronecker product, here it should be interpreted as a convolution operation. So we're just taking the derivative filter S_x defined above and convolving it with f. The result, df/dx has the same dimensions as f.

qryy

how do we compute the image gradient for an edge or corner pixel if our derivative filter is a square box?

mpotoole

When working with discretized representation of a signal, computing any type of derivative requires considering the pixel values within a local patch. And as a result, our derivative may only be an approximation of the "true" derivative of the original signal. So it's perhaps no surprise that there are multiple choices for derivative kernels. But this is the best that we can do given a discretized image.

qryy

So if you were using a filter that was a 3x3 box, how would you configure your algorithm for edge and corner pixels

mpotoole

@qryy Hmm, I'm not entirely sure that I understand the underlying question here, but I'll do my best.

Getting edge and corner pixels starts by applying these filters to an image through a simple convolution operation. I think you are hinting at the following problem: convolving an image with a 3x3 filter produces "blobby" edges and "blobby" corners! For example, the edges shown in this slide are clearly several pixels thick.

In programming assignment 1, we will use a procedure known as non-maximum suppression to take these blurry results as input, and output a sharp edge (or corner). This will allow our algorithms to produce more "precise" edges and corners