In rasterization there are matrix operations: 1. Model Transform - move an object's geometry to worldspace. 2. View Transform - move the world relative to the viewer. Known as eyespace or viewspace. 3. Projection Transform - prepare scene geometry for a perspective divide (perspective projection) or otherwise (orthographic projection). This also does some skewing according to a screen's aspect ratio. This transform moves geometry to what is called "clip space." 4. Viewport transform. Moves geometry from clips space to screen pixel coordinates. I can understand why the model transform isn't in your Fundamental matrix summary ~12:00 but why is there no projection matrix calculated? I see you have a view matrix and the viewport transform (intrinsic matrix?). Can you help me out with this?
How are the collinearity or SfM equations when using turntable and fixed camera? Is there a resource that explains the equations for the fixed camera and the rotating object?
@@Foo-i1v Thanks for the response. As far as I can tell, K is the intrinsic camera matrix and is 3x3. K = [fx skew x_origin 0 fy y_origin 0 0 1] Is this not what K is?
Thanks for the clear video! One question, are you missing a transpose symbol for the first K^-1 on the second to last line of the Fundamental matrix derivation?
At 15:38 you are using inverse of K matrix. I though K matrix is not square. Because it is reducing one dimension. K is 3x4. Inverse of non-square matrix does not exist. Where am I wrong?
You can write any dot product in a matrix form, the reason we do that is that we want to put everything in a big matrix, mathinsight.org/dot_product_matrix_notation
at 20.00 why do we divide all the values by f33? why is that considered for scaling other values? And also while finding the new F (F hat) from the F with rank 2 why do we set the t value in the diagonal matrix (D) of F to 0? Is it just to impose a constraint to change the values to a minimal extent in order to get 3 independent column vectors to make the new F a matrix of rank 3?
Good Explanation Thank you. Notice that at 7:00 the direction of the normal should be turned by pi (or 180 degrees). x=1, y=-1
Your video really helped me out with my computer vision course. Thanks a lot!
I'm really glad to hear that, I'm recording new high quality video series, make sure to subscribe ;)
Great video. Easy to understand
In rasterization there are matrix operations:
1. Model Transform - move an object's geometry to worldspace.
2. View Transform - move the world relative to the viewer. Known as eyespace or viewspace.
3. Projection Transform - prepare scene geometry for a perspective divide (perspective projection) or otherwise (orthographic projection). This also does some skewing according to a screen's aspect ratio. This transform moves geometry to what is called "clip space."
4. Viewport transform. Moves geometry from clips space to screen pixel coordinates.
I can understand why the model transform isn't in your Fundamental matrix summary ~12:00 but why is there no projection matrix calculated? I see you have a view matrix and the viewport transform (intrinsic matrix?). Can you help me out with this?
Hi Dane, please watch my other vidoes, maybe you can get your answer: ua-cam.com/video/oFZQykvEw14/v-deo.html
ua-cam.com/video/hxbQ-F8u08U/v-deo.html&
How are the collinearity or SfM equations when using turntable and fixed camera? Is there a resource that explains the equations for the fixed camera and the rotating object?
great work , I like your videos very much. thanks again
16:22 in P_img = K * P_c there is a dimensionality mismatch. K is 3x3 and P_c is 4x1
k is the projection matrix and it is 3x4
@@Foo-i1v Thanks for the response. As far as I can tell, K is the intrinsic camera matrix and is 3x3.
K = [fx skew x_origin
0 fy y_origin
0 0 1]
Is this not what K is?
@@panayiotispanayiotou1469 To convert K to (3x4), K is post-multiplied by [I(3x3) 0(3x1)]
Thanks for the clear video! One question, are you missing a transpose symbol for the first K^-1 on the second to last line of the Fundamental matrix derivation?
you are right, at 17:22 it should be (K_left^-1)T
At 15:38 you are using inverse of K matrix. I though K matrix is not square. Because it is reducing one dimension. K is 3x4. Inverse of non-square matrix does not exist. Where am I wrong?
HI, this is my code, it might help ros-developer.com/2019/01/01/computing-essential-and-fundamental-matrix-using-opencv-8-points-algorithm-with-c/
@@Foo-i1v Thanks, I will have a look.
@@yousofebneddin7430 haven't worked on this topic for a while, honestly I have forgotten the details, needs to review it again to refresh my memory,
XL and XR are vectors? how do you rotate and translate a vector? 10:08
R (Rotation Matrix) is 3x3, so R*XL is 3x1 and you can just simply add T to that,
Thanksss and why did you change XL on the right at side to XL^T at 11:38 ?
You can write any dot product in a matrix form, the reason we do that is that we want to put everything in a big matrix, mathinsight.org/dot_product_matrix_notation
at 20.00 why do we divide all the values by f33? why is that considered for scaling other values? And also while finding the new F (F hat) from the F with rank 2 why do we set the t value in the diagonal matrix (D) of F to 0? Is it just to impose a constraint to change the values to a minimal extent in order to get 3 independent column vectors to make the new F a matrix of rank 3?