Thanks a lot. This is just a recording of a class room lecture. A much more polished version of this content can be found at robotacademy.net.au/masterclass/the-geometry-of-image-formation. You can also find individual short (5-10 minute) lessons on these topics and more at the Robot Academy.
Thank you a lot Prof. Peter.... I really need these courses for accomplishing my thesis. Thanks for your kindness and sharing your knowledge without any expectation.
Amazing lectures. It's awesome that the instructor has shared these very lucid lectures to allow the whole world to learn; gift to the world IMO. Love that the instructor mentions quick points often in the lecture that clarify subtle assumptions or reasons why things are why they are (other instructors often assume that student knows those which make it harder for the student to learn). I could follow the lecture in a single sitting without listening to it more than once. Beautifully done.
Congratulations for your amazing teaching skills and for your generosity. I understood everything and it was not even slightly boring, 35 mins felt like 5 mins! Thank you so much.
Very good lecture. Still struggling to find someone explaining the details of how this was all derived, but practically this is amazing. And moves along nicely.
Thanks. This is just a recording of a class room lecture. A much more polished version of this content can be found at robotacademy.net.au/masterclass/the-geometry-of-image-formation. You can also find individual short (5-10 minute) lessons on these topics and more at the Robot Academy.
One of the best lectures about CV I've encountered so far! Or also clarifies a few things which are more often used in computer graphics (the "w" co-ordinate in 3D rendering) which is a bit tricky to understand! Thanks a lot!!
You're welcome. Check out robotacademy.net.au for more lectures on CV topics. The video you watched is an incomplete set of classroom lecture recordings.
Thanks for the kind feedback. I'm hoping to get a larger suite of material out this year, organized as lots of shorter segments. Will spread the word on this channel once that happens.
Thank you. A more polished version can be found at A much more polished version of this content can be found at robotacademy.net.au/masterclass/the-geometry-of-image-formation/ and lessons on many related topics can be found at robotacademy.net.au by topic or by searching keywords
Wonderful lecture - it clarifies a lot. Where is the homography() function (at 24:31) in the MatLab toolbox? Is it a custom function? I cannot find any reference to it.
Dear Peter, Thank you for such a wonderful teaching method. I have a project which basically computes the coordinate 3D point of an object in an image, I have Xi and Yi ( image pixel values for the center of the object I am tracking) and teta the degree angle of the image plane with respect to the center x-axis line. (consider teta as the value for the angle between the camera and the x-axis in 3D world when the camera is perpendicular to the y-axis and rotates around the z-axis) Is there a way to compute the ordinance in the world respecting the image pixel coordinance just by having these values?
How are the equations when using turntable and fixed camera? Is there a resource that explains the equations for the fixed camera and the rotating object?
In the change of coordinates section, what are rho_u and rho_v? Are these the the horizontal/vertical sizes of the pixels in the sensor grid? Or the number of pixels in the horizontal/vertical direction?
Thanks for this video. Indeed, it simplifies complicated terms. I do have a question though... In your example (16:20), you show camera matrix which 3x4. In my camera though I have 3x3, hence I cannot multiply the P(4,0,0,1) with my C = [3x3] matrix to get the point in the picture. How to change my C = [3x3] into C = [3x4]???? It would be appreciated if you would could help me with my issue. Many thanks in advance!!
Hello Sir, Very nice and clear explanation .. Can you please upload video which based on Image sensor 2D to world coordinated 3D. It will be great if you can help students like us. Thank You
What are the requirements for a matrix H to be a homography? I guess it would would have to be invertible (unless the planes are orthogonal), are there any more?
sir, if left hand side in the equation shown at 21:53 is the co-ordinates of the points in the image plane, then shouldn't the homographic matrix be inverse of the matrix shown on the RHS?
Thanks. This is just a recording of a class room lecture. A much more polished version of this content can be found at robotacademy.net.au/masterclass/the-geometry-of-image-formation. You can also find individual short (5-10 minute) lessons on these topics and more at the Robot Academy.
Hi Peter, The lecture is absolutely stunning. A lot of scattered information is found all over the internet but your lecture has it all. Just 2 doubts: 1. When you write the Camera matrix you write the inverse of the extrinsic parameter matrix. Is this a convention? 2. Isn't the matrix in 25:55 the inverse homography matrix?
Thanks, Peter. It clarifies my first question. But at 24:12 you mention that from plane 1p which is yellow we can go to 2p which is red using H. Where as at 25:55 you are going from the warped image which corresponds to 2p to 1p. Is the H different?
Nikhil, you are correct, I should use the inverse homography at 25:55. A better and correct version of this discussion can be found on the Robot Academy robotacademy.net.au/lesson/planar-homography at time 5:12. Thanks for pointing this out. The Robot Academy is the more polished version of the rough classroom lecture you were watching. Thanks again for your interest.
Thanks, Peter. I will go through the link. I work on Computational photography for which I have calibrated the camera too. Can we connect on LinkedIn so that we could discuss relevant topics if needed?
One thing confuses me. The Cathedral image.The trapezoid's bottom has more pixels than its top. Trapezoid is transformed into a rectangle. Therefore some pixels from its bottom has been thrown away. Or extra pixels have been added to the top. How did you do this? And if extra pixels were added to the top, which values have they been given?
It's not a matter of throwing away or adding. For every pixel in the output image we interpolate a value from the input image. So all output pixels are some mixture of pixels from the input image. This is covered in detail in the section on Image Warping, Sec 12.7.4 of the second edition
Hi, Peter, thank you for your reply. Given the age of this video I did not expect any reply, leave alone that quick one! It's impressive that you keep supporting your old works. Yes, I am aware about warping. Yet warping is not mentioned in this lecture, nevertheless the picture looks like warping was there. Do you mean that warping was not mentioned on order not to obscure the main point of the lecture which is Homography? Do you have similar lecture on Image Warping? I have an image of a plane rectangular surface distorted by perspective. I am interested in one point only. I know how to detect this point and get its coordinates within the distorted image. I need to calculate coordinates of this point in the un-destorted image. So I need to un-distort just one point. I guess that for this I do not need the whole power of Warping (including interpolation). But I need to know how Warp works to make my own warp to work with a singer point. Unless such one-point-warp function already exists
When invoke Homography function : H=homography(P1,P2) Why error message Undefined function or variable 'vgg_H_from_x_lin'. Error in homography (line 46) H = vgg_H_from_x_lin(p1, p2); is coming? Here P1 and P2 are 2by4 matrices
Thank you very much Peter, I am using your toolbox a lot! There is an error in the homography function though: Undefined function or variable 'vgg_H_from_x_lin'. Error in homography (line 46) H = vgg_H_from_x_lin(p1, p2); I looked everywhere but could not find the function in the toolbox, is there a fix?
You're welcome. Check out robotacademy.net.au for more lectures on CV topics. The video you watched is an incomplete set of classroom lecture recordings.
That was the most excellence courses I have experienced till now. Thank You Prof. Peter.
Thanks a lot. This is just a recording of a class room lecture. A much more polished version of this content can be found at robotacademy.net.au/masterclass/the-geometry-of-image-formation. You can also find individual short (5-10 minute) lessons on these topics and more at the Robot Academy.
Thank you a lot Prof. Peter.... I really need these courses for accomplishing my thesis. Thanks for your kindness and sharing your knowledge without any expectation.
Amazing lectures. It's awesome that the instructor has shared these very lucid lectures to allow the whole world to learn; gift to the world IMO. Love that the instructor mentions quick points often in the lecture that clarify subtle assumptions or reasons why things are why they are (other instructors often assume that student knows those which make it harder for the student to learn). I could follow the lecture in a single sitting without listening to it more than once. Beautifully done.
Congratulations for your amazing teaching skills and for your generosity. I understood everything and it was not even slightly boring, 35 mins felt like 5 mins! Thank you so much.
Very good lecture. Still struggling to find someone explaining the details of how this was all derived, but practically this is amazing. And moves along nicely.
Best lecture on vision ever heard. Thanks for sharing
Nice and dense bit rate without being overwhelming. You, sir, are a GOOD teacher.
This is exactly how someone should teach.. Excellent
Thanks. This is just a recording of a class room lecture. A much more polished version of this content can be found at robotacademy.net.au/masterclass/the-geometry-of-image-formation. You can also find individual short (5-10 minute) lessons on these topics and more at the Robot Academy.
One of the best lectures about CV I've encountered so far! Or also clarifies a few things which are more often used in computer graphics (the "w" co-ordinate in 3D rendering) which is a bit tricky to understand!
Thanks a lot!!
You're welcome. Check out robotacademy.net.au for more lectures on CV topics. The video you watched is an incomplete set of classroom lecture recordings.
Thank you so much for the response! I'm definitely heading towards the entire series! :)
Thank you so much for this lecture! You've made this difficult topic understandable.
Great, very helpful lecture with real-life examples. Thank you very much, best greetings from Poland!
May all presentations strive to be as good as this one.
Joey, glad you liked it. A much more polished version of this content can be found at robotacademy.net.au/masterclass/the-geometry-of-image-formation/
Nice stuff, easy to understand what the image geometry and homography matrix is.
Amazingly well taught lesson! Thank you very much for making this somewhat harsh topic so easily understandable.
Thanks for the kind feedback. I'm hoping to get a larger suite of material out this year, organized as lots of shorter segments. Will spread the word on this channel once that happens.
Will be looking forward to it; I have worked with your material in the three universities I've studied so far and it always proved very useful!
Very clear and easy to follow. Thank you for an excellent lecture!
Thank you. A more polished version can be found at A much more polished version of this content can be found at robotacademy.net.au/masterclass/the-geometry-of-image-formation/ and lessons on many related topics can be found at robotacademy.net.au by topic or by searching keywords
i am greatful i stumbled upon this tutorial....
Thanks. This is just a recording of a class room lecture. A much more polished version of this content can be found at @t
Thanks for sharing! Best Image Geometry lecture I have seen!
Thanks for this video! Your lecture is really great and finally I understand some of those concepts!
very clear explanation. Thanks for uploading this lecture material. Love it !
Thank you for this amazing lecture. Can't explain it better than this.
Thank you for sharing this, really helped me to understand homography! Greeting from Croatia!
Good quality but fast delivery. Information per sec rate is bit high. If you are facing this issue set playback speed to 0.75
Wonderful lecture - it clarifies a lot. Where is the homography() function (at 24:31) in the MatLab toolbox? Is it a custom function? I cannot find any reference to it.
The Matlab function is part of the Machine Vision ToolBox: petercorke.com/wordpress/toolboxes/machine-vision-toolbox
wow You really know how to explain things!
Brilliant! Thank you :)
i really loved this lecture.
excellent work, It helped me a lot
This is excellent
Very good , thanks for sharing.
perspective rectification 24:00 nice!
Extremely helpful, thank you!
Dear Peter,
Thank you for such a wonderful teaching method. I have a project which basically computes the coordinate 3D point of an object in an image, I have Xi and Yi ( image pixel values for the center of the object I am tracking) and teta the degree angle of the image plane with respect to the center x-axis line. (consider teta as the value for the angle between the camera and the x-axis in 3D world when the camera is perpendicular to the y-axis and rotates around the z-axis)
Is there a way to compute the ordinance in the world respecting the image pixel coordinance just by having these values?
No. Image coordinates correspond to a line in 3D space, so you need additional information. For instance if the object is on the ground.
How are the equations when using turntable and fixed camera? Is there a resource that explains the equations for the fixed camera and the rotating object?
In the change of coordinates section, what are rho_u and rho_v? Are these the the horizontal/vertical sizes of the pixels in the sensor grid? Or the number of pixels in the horizontal/vertical direction?
Exactly!
So clear!
Write the matrices in symbolic form and multiply them together. Then you can see under what set of parameters that term will be zero.
Thanks for this video. Indeed, it simplifies complicated terms. I do have a question though... In your example (16:20), you show camera matrix which 3x4. In my camera though I have 3x3, hence I cannot multiply the P(4,0,0,1) with my C = [3x3] matrix to get the point in the picture. How to change my C = [3x3] into C = [3x4]????
It would be appreciated if you would could help me with my issue. Many thanks in advance!!
Wow, super clean explanation for homography. Are slides from the lessons available?
Hello Sir, Very nice and clear explanation ..
Can you please upload video which based on Image sensor 2D to world coordinated 3D. It will be great if you can help students like us.
Thank You
great lecture
Thank you. It's very useful
Amazing explanation! is it possible to calculate the coordinate of each point on object using the image taken by CCD camera by this method?
Only if the object is a plane. For a general 3D shape, sadly not.
Thanks for the help.
Thank you Peter. 13.48, does rho mean the pixel size in x and y direction?
yes, I assume the pixels are square which they generally are
@@PeterCorke Thank you Peter. I was looking for this conversion for a while now. Got it from your lectures.
What are the requirements for a matrix H to be a homography? I guess it would would have to be invertible (unless the planes are orthogonal), are there any more?
Smooth lecture
Thanks it's really helpful
thanks for the video.
Hello at 28.05 how did you obtain that relationship Homogrphy matrix as a function of R,t,d,n
You'll find it in a number of books: mine, Robotics, Vision & Control; Hartley & Zisserman; Intro to 3D, etc.
Thank you very much!!
sir, if left hand side in the equation shown at 21:53 is the co-ordinates of the points in the image plane, then shouldn't the homographic matrix be inverse of the matrix shown on the RHS?
A much more polished version of this content can be found at robotacademy.net.au/masterclass/the-geometry-of-image-formation/
Very nice :)
great lecture, very interesting, thanks for uploading this!
although it ended a bit su
Thanks. This is just a recording of a class room lecture. A much more polished version of this content can be found at robotacademy.net.au/masterclass/the-geometry-of-image-formation. You can also find individual short (5-10 minute) lessons on these topics and more at the Robot Academy.
Hi Peter, The lecture is absolutely stunning. A lot of scattered information is found all over the internet but your lecture has it all. Just 2 doubts:
1. When you write the Camera matrix you write the inverse of the extrinsic parameter matrix. Is this a convention?
2. Isn't the matrix in 25:55 the inverse homography matrix?
Thanks, Peter. It clarifies my first question. But at 24:12 you mention that from plane 1p which is yellow we can go to 2p which is red using H. Where as at 25:55 you are going from the warped image which corresponds to 2p to 1p. Is the H different?
Nikhil, you are correct, I should use the inverse homography at 25:55. A better and correct version of this discussion can be found on the Robot Academy robotacademy.net.au/lesson/planar-homography at time 5:12. Thanks for pointing this out. The Robot Academy is the more polished version of the rough classroom lecture you were watching. Thanks again for your interest.
Thanks, Peter. I will go through the link. I work on Computational photography for which I have calibrated the camera too. Can we connect on LinkedIn so that we could discuss relevant topics if needed?
Sure thing.
awesome!
One thing confuses me. The Cathedral image.The trapezoid's bottom has more pixels than its top. Trapezoid is transformed into a rectangle. Therefore some pixels from its bottom has been thrown away. Or extra pixels have been added to the top. How did you do this? And if extra pixels were added to the top, which values have they been given?
It's not a matter of throwing away or adding. For every pixel in the output image we interpolate a value from the input image. So all output pixels are some mixture of pixels from the input image. This is covered in detail in the section on Image Warping, Sec 12.7.4 of the second edition
Hi, Peter, thank you for your reply. Given the age of this video I did not expect any reply, leave alone that quick one! It's impressive that you keep supporting your old works.
Yes, I am aware about warping. Yet warping is not mentioned in this lecture, nevertheless the picture looks like warping was there. Do you mean that warping was not mentioned on order not to obscure the main point of the lecture which is Homography?
Do you have similar lecture on Image Warping?
I have an image of a plane rectangular surface distorted by perspective.
I am interested in one point only. I know how to detect this point and get its coordinates within the distorted image.
I need to calculate coordinates of this point in the un-destorted image. So I need to un-distort just one point.
I guess that for this I do not need the whole power of Warping (including interpolation). But I need to know how Warp works to make my own warp to work with a singer point. Unless such one-point-warp function already exists
Can anyone tell me how to find the camera orientation(angles) respect to the perspective image
in 27 mins compare with 24:25s I think the matrix in 27mins should be Inverse.. Can anyone explain?
It's included in my Machine Vision Toolbox, downloadable for free from petercorke.com. You'll also need to grab the file called contrib. zip as well
When invoke Homography function : H=homography(P1,P2)
Why error message
Undefined function or variable 'vgg_H_from_x_lin'.
Error in homography (line 46)
H = vgg_H_from_x_lin(p1, p2);
is coming?
Here P1 and P2 are 2by4 matrices
What if C(3, 4) is equal to 0 when you rescale ?
I'm not sure it can be zero for any realisable perspective camera.
@@PeterCorke yeah but why ?
sir i really need advice for one of my projects...anyway i can get an email to clear my doubts
How can we find the camera matrix?
Generally 2 ways: either by knowing in advance all the camera parameters, or by calibration. Details in my book, chapter 11
svd decomposition ?
where can i watch previous lectures
In the basement or in the bathroom, feel free.
Ode to the Kathedrale Notre-Dame
Yes, I was fortunate to visit long before the fire.
Thank you very much Peter, I am using your toolbox a lot! There is an error in the homography function though:
Undefined function or variable 'vgg_H_from_x_lin'.
Error in homography (line 46)
H = vgg_H_from_x_lin(p1, p2);
I looked everywhere but could not find the function in the toolbox, is there a fix?
QUT mechatronics FTW!
3:40
You sound like Skip in 'undisputed'
Omg too much information to my brain without no explanation, awful
Thank you very much!
You're welcome. Check out robotacademy.net.au for more lectures on CV topics. The video you watched is an incomplete set of classroom lecture recordings.