ENB339 lecture 9: Image geometry and planar homography

Newer version of this, visit robotacademy.net.au
In this lecture we discuss in more detail the equation of image formation, particularly their expression in matrix form using homogeneous coordinates. We then introduce the planar homography, a mapping from points in a world plane to the image plane, and show some examples of how this can be used for real problems.
Note there is an error at 25:55, I should use the inverse tomography H^-1. A much better discussion of homography can be found at Robot Academy.

Пікірлер: 102

  • @yunusaalisaid6400
    @yunusaalisaid640010 жыл бұрын

    Best lecture on vision ever heard. Thanks for sharing

  • @zezecefet
    @zezecefet9 жыл бұрын

    Thanks for this video! Your lecture is really great and finally I understand some of those concepts!

  • @g4rczi
    @g4rczi11 жыл бұрын

    Great, very helpful lecture with real-life examples. Thank you very much, best greetings from Poland!

  • @doctorkkk
    @doctorkkk9 жыл бұрын

    I simply love the fluency and great capability of information transfer in this video, and would like to thank the professor so much.

  • @PeterCorke

    @PeterCorke

    9 жыл бұрын

    Ahmad Ghafouri you might like to take a look at my Robotic Vision MOOC, it runs again in October, see moocs.qut.edu.au

  • @ashishjain871
    @ashishjain8712 жыл бұрын

    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.

  • @hndr91
    @hndr917 жыл бұрын

    very clear explanation. Thanks for uploading this lecture material. Love it !

  • @dancasas4485
    @dancasas44859 жыл бұрын

    Thanks for sharing! Best Image Geometry lecture I have seen!

  • @manxyz80
    @manxyz807 жыл бұрын

    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.

  • @FusungWang
    @FusungWang8 жыл бұрын

    Nice stuff, easy to understand what the image geometry and homography matrix is.

  • @smartassj
    @smartassj10 жыл бұрын

    Thank you for this amazing lecture. Can't explain it better than this.

  • @icosahedronman
    @icosahedronman8 жыл бұрын

    Nice and dense bit rate without being overwhelming. You, sir, are a GOOD teacher.

  • @MarijanSvalina
    @MarijanSvalina10 жыл бұрын

    Thank you for sharing this, really helped me to understand homography! Greeting from Croatia!

  • @cosmiclightning4723
    @cosmiclightning47232 ай бұрын

    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.

  • @Avitus1234
    @Avitus12346 жыл бұрын

    Very clear and easy to follow. Thank you for an excellent lecture!

  • @PeterCorke

    @PeterCorke

    6 жыл бұрын

    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

  • @TheSwaroopB
    @TheSwaroopB6 жыл бұрын

    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!!

  • @PeterCorke

    @PeterCorke

    6 жыл бұрын

    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.

  • @TheSwaroopB

    @TheSwaroopB

    6 жыл бұрын

    Thank you so much for the response! I'm definitely heading towards the entire series! :)

  • @hamidmajidi117
    @hamidmajidi1175 жыл бұрын

    That was the most excellence courses I have experienced till now. Thank You Prof. Peter.

  • @PeterCorke

    @PeterCorke

    5 жыл бұрын

    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.

  • @hamidmajidi117

    @hamidmajidi117

    5 жыл бұрын

    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.

  • @mrquesito
    @mrquesito7 жыл бұрын

    Amazingly well taught lesson! Thank you very much for making this somewhat harsh topic so easily understandable.

  • @PeterCorke

    @PeterCorke

    7 жыл бұрын

    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.

  • @mrquesito

    @mrquesito

    7 жыл бұрын

    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!

  • @homtom2
    @homtom27 жыл бұрын

    Extremely helpful, thank you!

  • @wdabrilvi
    @wdabrilvi7 жыл бұрын

    i really loved this lecture.

  • @arghadeepmazumder2133
    @arghadeepmazumder21336 жыл бұрын

    This is exactly how someone should teach.. Excellent

  • @PeterCorke

    @PeterCorke

    6 жыл бұрын

    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.

  • @iskalasrinivas1904
    @iskalasrinivas19045 жыл бұрын

    excellent work, It helped me a lot

  • @kindoblue
    @kindoblue7 жыл бұрын

    Wow, super clean explanation for homography. Are slides from the lessons available?

  • @dixmixdix
    @dixmixdix6 жыл бұрын

    wow You really know how to explain things!

  • @djbanizza
    @djbanizza9 жыл бұрын

    Very good , thanks for sharing.

  • @lamine41ba
    @lamine41ba9 жыл бұрын

    Thank you. It's very useful

  • @Pilouface95
    @Pilouface95 Жыл бұрын

    Brilliant! Thank you :)

  • @KevinMillerVirtually
    @KevinMillerVirtually9 жыл бұрын

    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.

  • @AndreaDeCarolisADC

    @AndreaDeCarolisADC

    5 жыл бұрын

    The Matlab function is part of the Machine Vision ToolBox: petercorke.com/wordpress/toolboxes/machine-vision-toolbox

  • @TopGunMan
    @TopGunMan6 жыл бұрын

    May all presentations strive to be as good as this one.

  • @PeterCorke

    @PeterCorke

    6 жыл бұрын

    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/

  • @JerryChenish
    @JerryChenish9 жыл бұрын

    Thanks it's really helpful

  • @doncollins6795
    @doncollins67954 жыл бұрын

    i am greatful i stumbled upon this tutorial....

  • @PeterCorke

    @PeterCorke

    4 жыл бұрын

    Thanks. This is just a recording of a class room lecture. A much more polished version of this content can be found at @t

  • @amullyakale2403
    @amullyakale24037 жыл бұрын

    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?

  • @owen7185
    @owen71852 жыл бұрын

    This is excellent

  • @1045geo
    @1045geo7 жыл бұрын

    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!!

  • @jiangsanzhao8199
    @jiangsanzhao81993 жыл бұрын

    So clear!

  • @dc33333
    @dc333337 жыл бұрын

    great lecture

  • @lw2451
    @lw24518 жыл бұрын

    Thank you very much!!

  • @Amritharaja
    @Amritharaja6 жыл бұрын

    thanks for the video.

  • @NaderKarimi93
    @NaderKarimi935 жыл бұрын

    Smooth lecture

  • @kiges
    @kiges Жыл бұрын

    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?

  • @chriswalsh5925
    @chriswalsh59258 жыл бұрын

    great lecture, very interesting, thanks for uploading this! although it ended a bit su

  • @chilla44465
    @chilla444655 жыл бұрын

    awesome!

  • @nahbruhwhat
    @nahbruhwhat6 жыл бұрын

    Thank you very much!

  • @PeterCorke

    @PeterCorke

    6 жыл бұрын

    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.

  • @himannamdari7375
    @himannamdari73753 жыл бұрын

    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?

  • @PeterCorke

    @PeterCorke

    3 жыл бұрын

    No. Image coordinates correspond to a line in 3D space, so you need additional information. For instance if the object is on the ground.

  • @robmarks6800
    @robmarks68002 жыл бұрын

    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?

  • @victorcosenza254
    @victorcosenza2544 жыл бұрын

    Very nice :)

  • @troooooper100
    @troooooper10011 жыл бұрын

    where can i watch previous lectures

  • @kramesh2637
    @kramesh26378 жыл бұрын

    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

  • @mkeppitipola
    @mkeppitipola5 жыл бұрын

    sir i really need advice for one of my projects...anyway i can get an email to clear my doubts

  • @blakef.8566
    @blakef.85662 жыл бұрын

    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?

  • @PeterCorke

    @PeterCorke

    2 жыл бұрын

    Exactly!

  • @ajit_edu
    @ajit_edu4 жыл бұрын

    Thank you Peter. 13.48, does rho mean the pixel size in x and y direction?

  • @PeterCorke

    @PeterCorke

    4 жыл бұрын

    yes, I assume the pixels are square which they generally are

  • @ajit_edu

    @ajit_edu

    4 жыл бұрын

    @@PeterCorke Thank you Peter. I was looking for this conversion for a while now. Got it from your lectures.

  • @sahartabrizi6155
    @sahartabrizi61556 жыл бұрын

    Amazing explanation! is it possible to calculate the coordinate of each point on object using the image taken by CCD camera by this method?

  • @PeterCorke

    @PeterCorke

    6 жыл бұрын

    Only if the object is a plane. For a general 3D shape, sadly not.

  • @sahartabrizi6155

    @sahartabrizi6155

    6 жыл бұрын

    Thanks for the help.

  • @connokuyt6409
    @connokuyt64097 жыл бұрын

    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?

  • @varaddiwakar7081
    @varaddiwakar70814 жыл бұрын

    Hello at 28.05 how did you obtain that relationship Homogrphy matrix as a function of R,t,d,n

  • @PeterCorke

    @PeterCorke

    4 жыл бұрын

    You'll find it in a number of books: mine, Robotics, Vision & Control; Hartley & Zisserman; Intro to 3D, etc.

  • @PeterCorke
    @PeterCorke4 жыл бұрын

    Write the matrices in symbolic form and multiply them together. Then you can see under what set of parameters that term will be zero.

  • @PeterCorke
    @PeterCorke7 жыл бұрын

    A much more polished version of this content can be found at robotacademy.net.au/masterclass/the-geometry-of-image-formation/

  • @preethychowdary
    @preethychowdary8 жыл бұрын

    Can anyone tell me how to find the camera orientation(angles) respect to the perspective image

  • @vabgat1
    @vabgat12 жыл бұрын

    Good quality but fast delivery. Information per sec rate is bit high. If you are facing this issue set playback speed to 0.75

  • @neoneo1503
    @neoneo15032 жыл бұрын

    perspective rectification 24:00 nice!

  • @PeterCorke
    @PeterCorke9 жыл бұрын

    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

  • @senakawijayakoon

    @senakawijayakoon

    8 жыл бұрын

    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

  • @Duychienvt
    @Duychienvt7 жыл бұрын

    in 27 mins compare with 24:25s I think the matrix in 27mins should be Inverse.. Can anyone explain?

  • @user-vd6wb5ef8v
    @user-vd6wb5ef8v4 жыл бұрын

    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?

  • @PeterCorke

    @PeterCorke

    4 жыл бұрын

    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

  • @user-vd6wb5ef8v

    @user-vd6wb5ef8v

    4 жыл бұрын

    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

  • @PeterCorke
    @PeterCorke6 жыл бұрын

    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.

  • @NikhilNakhate

    @NikhilNakhate

    6 жыл бұрын

    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?

  • @NikhilNakhate

    @NikhilNakhate

    6 жыл бұрын

    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?

  • @PeterCorke

    @PeterCorke

    6 жыл бұрын

    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.

  • @NikhilNakhate

    @NikhilNakhate

    6 жыл бұрын

    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?

  • @PeterCorke

    @PeterCorke

    6 жыл бұрын

    Sure thing.

  • @DulajPerera
    @DulajPerera6 жыл бұрын

    How can we find the camera matrix?

  • @PeterCorke

    @PeterCorke

    6 жыл бұрын

    Generally 2 ways: either by knowing in advance all the camera parameters, or by calibration. Details in my book, chapter 11

  • @bharath.garigipati

    @bharath.garigipati

    6 жыл бұрын

    svd decomposition ?

  • @shizzler131
    @shizzler13110 жыл бұрын

    QUT mechatronics FTW!

  • @abbaa8284
    @abbaa82844 жыл бұрын

    What if C(3, 4) is equal to 0 when you rescale ?

  • @PeterCorke

    @PeterCorke

    4 жыл бұрын

    I'm not sure it can be zero for any realisable perspective camera.

  • @abbaa8284

    @abbaa8284

    4 жыл бұрын

    @@PeterCorke yeah but why ?

  • @missewe
    @missewe3 жыл бұрын

    3:40

  • @anonymousted7302
    @anonymousted73025 жыл бұрын

    You sound like Skip in 'undisputed'

  • @Gruemoth
    @Gruemoth3 жыл бұрын

    Ode to the Kathedrale Notre-Dame

  • @PeterCorke

    @PeterCorke

    3 жыл бұрын

    Yes, I was fortunate to visit long before the fire.

  • @Jetelametbienprofond
    @Jetelametbienprofond8 жыл бұрын

    Omg too much information to my brain without no explanation, awful