ENB339 lecture 9: Image geometry and planar homography

แชร์
ฝัง
  • เผยแพร่เมื่อ 6 มิ.ย. 2024
  • 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
    @yunusaalisaid6400 10 ปีที่แล้ว +10

    Best lecture on vision ever heard. Thanks for sharing

  • @zezecefet
    @zezecefet 9 ปีที่แล้ว +4

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

  • @g4rczi
    @g4rczi 11 ปีที่แล้ว +2

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

  • @doctorkkk
    @doctorkkk 9 ปีที่แล้ว +2

    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 ปีที่แล้ว +1

      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
    @ashishjain871 2 ปีที่แล้ว +2

    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
    @hndr91 7 ปีที่แล้ว

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

  • @dancasas4485
    @dancasas4485 9 ปีที่แล้ว

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

  • @manxyz80
    @manxyz80 7 ปีที่แล้ว +11

    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
    @FusungWang 8 ปีที่แล้ว +2

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

  • @smartassj
    @smartassj 10 ปีที่แล้ว

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

  • @icosahedronman
    @icosahedronman 8 ปีที่แล้ว +1

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

  • @MarijanSvalina
    @MarijanSvalina 10 ปีที่แล้ว +1

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

  • @cosmiclightning4723
    @cosmiclightning4723 2 หลายเดือนก่อน

    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
    @Avitus1234 6 ปีที่แล้ว

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

    • @PeterCorke
      @PeterCorke  6 ปีที่แล้ว +1

      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
    @TheSwaroopB 6 ปีที่แล้ว

    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 ปีที่แล้ว +2

      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
    @hamidmajidi117 5 ปีที่แล้ว +1

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

    • @PeterCorke
      @PeterCorke  5 ปีที่แล้ว +1

      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
    @mrquesito 7 ปีที่แล้ว

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

    • @PeterCorke
      @PeterCorke  7 ปีที่แล้ว +1

      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
    @homtom2 7 ปีที่แล้ว

    Extremely helpful, thank you!

  • @wdabrilvi
    @wdabrilvi 7 ปีที่แล้ว

    i really loved this lecture.

  • @arghadeepmazumder2133
    @arghadeepmazumder2133 6 ปีที่แล้ว

    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
    @iskalasrinivas1904 5 ปีที่แล้ว

    excellent work, It helped me a lot

  • @kindoblue
    @kindoblue 7 ปีที่แล้ว

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

  • @dixmixdix
    @dixmixdix 6 ปีที่แล้ว

    wow You really know how to explain things!

  • @djbanizza
    @djbanizza 9 ปีที่แล้ว

    Very good , thanks for sharing.

  • @lamine41ba
    @lamine41ba 9 ปีที่แล้ว

    Thank you. It's very useful

  • @Pilouface95
    @Pilouface95 ปีที่แล้ว

    Brilliant! Thank you :)

  • @KevinMillerVirtually
    @KevinMillerVirtually 9 ปีที่แล้ว +6

    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
    @TopGunMan 6 ปีที่แล้ว

    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
    @JerryChenish 9 ปีที่แล้ว

    Thanks it's really helpful

  • @doncollins6795
    @doncollins6795 4 ปีที่แล้ว

    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
    @amullyakale2403 7 ปีที่แล้ว

    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
    @owen7185 2 ปีที่แล้ว

    This is excellent

  • @1045geo
    @1045geo 7 ปีที่แล้ว

    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
    @jiangsanzhao8199 3 ปีที่แล้ว

    So clear!

  • @dc33333
    @dc33333 7 ปีที่แล้ว

    great lecture

  • @lw2451
    @lw2451 8 ปีที่แล้ว

    Thank you very much!!

  • @Amritharaja
    @Amritharaja 6 ปีที่แล้ว

    thanks for the video.

  • @NaderKarimi93
    @NaderKarimi93 5 ปีที่แล้ว

    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
    @chriswalsh5925 8 ปีที่แล้ว

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

  • @chilla44465
    @chilla44465 5 ปีที่แล้ว

    awesome!

  • @nahbruhwhat
    @nahbruhwhat 6 ปีที่แล้ว

    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
    @himannamdari7375 3 ปีที่แล้ว

    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
    @robmarks6800 2 ปีที่แล้ว

    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
    @victorcosenza254 4 ปีที่แล้ว

    Very nice :)

  • @troooooper100
    @troooooper100 11 ปีที่แล้ว

    where can i watch previous lectures

  • @kramesh2637
    @kramesh2637 8 ปีที่แล้ว

    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
    @mkeppitipola 5 ปีที่แล้ว

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

  • @blakef.8566
    @blakef.8566 2 ปีที่แล้ว

    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?

  • @ajit_edu
    @ajit_edu 4 ปีที่แล้ว

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

    • @PeterCorke
      @PeterCorke  4 ปีที่แล้ว +1

      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
    @sahartabrizi6155 6 ปีที่แล้ว

    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
    @connokuyt6409 7 ปีที่แล้ว

    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
    @varaddiwakar7081 4 ปีที่แล้ว

    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
    @PeterCorke  4 ปีที่แล้ว

    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
    @PeterCorke  7 ปีที่แล้ว

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

  • @preethychowdary
    @preethychowdary 8 ปีที่แล้ว

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

  • @vabgat1
    @vabgat1 2 ปีที่แล้ว

    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
    @neoneo1503 2 ปีที่แล้ว

    perspective rectification 24:00 nice!

  • @PeterCorke
    @PeterCorke  9 ปีที่แล้ว +1

    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
    @Duychienvt 7 ปีที่แล้ว

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

  • @user-vd6wb5ef8v
    @user-vd6wb5ef8v 4 ปีที่แล้ว

    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
    @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.

    • @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
    @DulajPerera 6 ปีที่แล้ว

    How can we find the camera matrix?

    • @PeterCorke
      @PeterCorke  6 ปีที่แล้ว +2

      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
    @shizzler131 10 ปีที่แล้ว

    QUT mechatronics FTW!

  • @abbaa8284
    @abbaa8284 4 ปีที่แล้ว

    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
    @missewe 3 ปีที่แล้ว

    3:40

  • @anonymousted7302
    @anonymousted7302 5 ปีที่แล้ว

    You sound like Skip in 'undisputed'

  • @Gruemoth
    @Gruemoth 3 ปีที่แล้ว

    Ode to the Kathedrale Notre-Dame

    • @PeterCorke
      @PeterCorke  3 ปีที่แล้ว +1

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

  • @Jetelametbienprofond
    @Jetelametbienprofond 8 ปีที่แล้ว

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