Defined the derivative of the gaussian function

Assignment Help Computer Engineering
Reference no: EM131098154

E27: Computer Vision Spring 2016 - HOMEWORK 3

1. Image warping and invertible transformations

Given a digital image, and an invertible transformation H˜ of the form

p˜' ≡ H˜p˜

we would like to compute the warped image whereby each point p˜ in the original image is transformed to its new location p˜'. This type of image warping is exactly what the cv2.warpPerspective function does, for example.

We could envision a somewhat straightforward algorithm for performing this image warp: for each location p˜ in the original image, compute the nearest pixel location of the transformed point p˜' in the warped image, and copy the color found in p˜ to the warped image at location p˜'.

However, the vastly preferable algorithm is to loop over the destination pixels p˜' in the warp image, and use the inverse transformation H˜-1 to identify the nearest pixel p˜ in the source image and copy the color from that source pixel to the destination.

What is the difference between the two approaches? Why is the second one preferable?

2. Convolution vs. Correlation

Given two real-valued functions f and g of one variable, the convolution of f and g is defined as:

(f * g)(x) = -∞ f(x - u) g(u) du

The correlation of f and g is defined similarly:

(f ⊗ g)(x) =  -∞f(x + u) g(u) du

a. How are convolution and correlation related? Given any functions f(x) and g(x), define a function h(x) such that

f * g = f ⊗ h

What is h(x) in terms of g(x)?

b. Filtering confusion. Although we have defined filtering operations in class in terms of convolution, many software packages (including OpenCV) define filtering in terms of correlation instead. As we will see, it doesn't make a huge difference.

Imagine that g(x) is a symmetric (even) function, such as a Gaussian, where

G(x) = g(-x)

Based upon your answer above, can you tell the difference between f * g and f ⊗ g? Why or why not?

Next, imagine that g(x) is antisymmetric (odd), where

G(x) = -g(-x)

Now can you tell the difference? What is the mathematical relationship between f * g and f ⊗ g in this case?

3. Image derivatives and separability

a. The Gaussian blur operation is seperable. Let I(x, y) be a continuous function specifiying image intensity at the point (x, y), and let G(x, y) be a Gaussian function:

G(x, y) = 1/Z2exp(-(x2+y2/2σ2))

where Z2 is a normalizing constant that makes G integrate (or sum, in the discrete domain) to 1. Show that the convolution of I with G can be represented as convolution with two functions gx and gy that depend only on the x and y coordinates respectively.

Remember, the discrete convolution I * G can be expressed as the sum

(I * G)(x, y) = ∑uvI(x - u, y - v)G(u, v)

What are the functions gx(x) and gy(y) such that I * G = I * gx * gy?

b. The partial derivative of a Gaussian is separable. Let G(x, y) be defined as the derivative of the Gaussian function with respect to x:

G(x, y) = (∂/∂x)G(x, y)

show that the convolution (I * G) can also be represented as a convolution with two functions that depend only on x and y.

c. Why do we care about separability? Say we are convolving a w x h image I with an arbitrary square n x n kernel G. How many operations (in terms of big-O notation) does it take to evaluate (I * G) for each pixel in I? How many operations if G is separable and we can evaluate the convolution as ((I * gx) * gy), where gx and gy are both kernels with size n? In short, why do we prefer to use separable convolutions?

4. Non-linear filtering

The erosion, dilation, opening and closing operators that we discussed in class are sometimes considered "non-linear filters". How are they similar to convolutions, and how are they different? What are some other examples of non-linear filters and their uses?

Reference no: EM131098154

Questions Cloud

Explain why these external factors are significant : Identify at least one area of growth in either of these roles you would like to further develop, and explain why - Explain why these external factors are significant and how they might affect your work as a leader or manager.
What would be the orbital period of such a planet : Planet Vulcan Suppose that a planet were discovered between the sun and Mercury, with a circular orbit of radius equal to 2/3 of the average orbit radius of Mercury. What would be the orbital period of such a planet?
Hypothesis or fail to reject the null hypothesis : When testing the executive's (using a 1% level ofsignificance), what can you conclude concerning the null hypothesis? Reject the null hypothesis or Fail to reject the null hypothesis?
Compare guilio roamnos use of the doric order at the pallazo : Compare Guilio Roamno's use of the Doric order at the Pallazo del Te in Mantua with the classical version, using your own drawings to illustrate the differences.
Defined the derivative of the gaussian function : E27: Computer Vision Spring 2016 - HOMEWORK 3. The partial derivative of a Gaussian is separable. Let G→(x, y) be defined as the derivative of the Gaussian function with respect to x: G→(x, y) = (∂/∂x)G(x, y)
Describe the goal as target behaviors : Describe the goal as target behaviors. What specific behaviors do you want to increase or decrease -
Probability that the process is operating correctly : If a defective bulb is found what is the probability that the process is functioning correctly? If a nondefective bulb is found what is the probability that the process is operating correctly?
Find the semi-major axis of this comet''s orbit : The orbital period of this comet is estimated to be about 30,000 years. Find the semi-major axis of this comet's orbit. Compare it to the average sun-Pluto distance and to the distance to Alpha Centauri, the nearest star to the sun, which is 4.3 l..
Researcher draws a sample from a normal distribution : Question 1. As a sample size approaches infinity, how does the student's t distribution compare to the normal z distribution? When a researcher draws a sample from a normal distribution, what can one conclude about the sample distribution? Explai..

Reviews

Write a Review

Computer Engineering Questions & Answers

  Demonstrate demorgan laws using a venn diagram

Demonstrate DeMorgan's Laws using a Venn diagram. Draw a Venn diagram showing the elements of sets A, B, and the universe for all 4 regions. Draw a second diagram showing only the elements of the complement of set A

  Why should assembly language be avoided

Why should assembly language be avoided for general application development? Under what ciscumstances is assembly language preferred ir required?

  Some it department policies are designed to prevent

some it department policies are designed to prevent behaviors by it staff. while some depend upon the employee

  What routers would you recommend for klamath

Research a VoIP solution that would work for Klamath. Write two or three paragraphs about the solution and why you chose it.

  What are two advantages and two challenges which might be

based on the drumheller 2010 article what are three possible ways that streaming media can be used to accomplish the

  Write down a 3-5 page penetration testing proposal by using

write a 3-5 page penetration testing proposal using specific pen-testing tools and based on a dos scenario. guidelines

  Define an example of a one-to-one relationship

Look for an example of a one-to-one relationship, an instance of a one-to-many relationship, and an example of a many-to-many relationship in a newspaper, magazine, book, or everyday situation you encounter.

  Design a function that computes a taxi fare

Write down a function that computes a taxi fare. In some cities, taxi fares are calculated based on start and end zones plus a per-minute charge. In this city, there are three zones (1, 2, and 3) and a graduated scale for time.

  Assume 3 values (x, y, and z) are stored in machine''s memory

Suppose three values (x, y, and z) are stored in a machine's memory. explain the sequence of events (loading registers from memory, saving values in memory, and so on) that lead to the computation of x + y + z. How about (2x) + y?

  Show the mortgage payment amount

Write down a program in Java (without graphical interface) using a loan amount of $200,000 with an interest rate of 5.75% and a 30 year loan. Display the mortgage payment amount and then list the loan balance and interest paid for each payment ove..

  Overwrite the input and the number of local variables

overwrite the input and the number of local variables should not depend on n - Prepare pseudocode converting M to be stored in column major order.

  Write down a program using the vector class

create a program using vector class that allows the user to input the number of days worked in a 7 day workweek and, using a fixed hourly rate, calculates the weeks wages and the average number of hours worked per day.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd