You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+14-7
Original file line number
Diff line number
Diff line change
@@ -3,6 +3,10 @@ A MATLAB implementation of the Five-Point Algorithm by David Nistér
3
3
4
4
Given five points matches between two images, and the intrinsic parameters of each camera. Estimate the essential matrix `E`, the rotation matrix `R` and translation vector `t`, between both images. This algorithm is based on the method described by David Nistér in ["An Efficient Solution to the Five-Point Relative Pose Problem"](http://dx.doi.org/10.1109/TPAMI.2004.17)
5
5
6
+
`E_all = FIVE_POINT_ALGORITHM(pts1, pts2, K1, K2)` returns in `E` all the valid essential matrix solutions for the five point correspondence. If you don't need `R` and `t`, use this version as it avoids computing unnecessary results.
7
+
8
+
`[E_all, R_all, t_all, Eo_all] = FIVE_POINT_ALGORITHM(pts1, pts2, K1, K2)` also returns in `R_all` and `t_all` all the rotation matrices and translation vectors of camera 2 for the different essential matrices, such that a 3D point in camera 1 reference frame can be transformed into the camera 2 reference frame through `p_2 = R{n}*p_1 + t{n}`. `Eo_all` is the essential matrix before the imposing the structure `U*diag([1 1 0])*V'`. It should help get a better feeling on the accuracy of the solution. All these return values a nx1 cell arrays.
9
+
6
10
#### Arguments:
7
11
8
12
`pts1`, `pts2` - assumed to have dimension 2x5 and of equal size.
@@ -11,17 +15,20 @@ Given five points matches between two images, and the intrinsic parameters of ea
11
15
12
16
#### Known Issues:
13
17
14
-
The algorithm is still incomplete. I'm releasing it at this early stage because it already provides proper estimates of the essential matrix. Although there is more than one solution, I'm currently only returning the first. I still need to figure out how to select the "best" if such exists.
18
+
- R and t computation is done assuming perfect point correspondence.
15
19
16
20
#### TODO:
17
-
-[ ] Extract `R` and `t` from `E`
18
-
-[ ] Provide example cases.
19
-
-[ ] Implement the variant with 5 points over 3 images
20
-
-[ ] Handle more than 5 points
21
+
-[x] Extract `R` and `t` from `E`
22
+
-[x] Provide example cases.
23
+
-[ ] Extract `R` and `t` without perfect point correspondence
24
+
-[ ] Augment example cases.
25
+
-[ ] Implement the variant with 5 points over 3 images
0 commit comments