Camera Centric Parameterization

advertisement
Camera Centric Parameterization
1. Camera and image plane coordinate
pi = (ρi, ฯ•i,θi)
(ox,oy)
u
v
θi
ฯ•i
X
i
ρi=1/d
Camera
Center
Y
Z
2. System Coordinate
Camera Current
Location
(0,0,0)
Camera Predicted
Location
(Cx,Cy,Cz)
ck, rk
hc
(xi,yi,zi)k
(xi,yi,zi)k-1
pi =
(ox,oy)
u
v
θi
X
m
Feature
Acquired
Y
Z
ฯ•i
ρi=1/d
i
(Xi,Yi,Zi)
or
(ρi, ฯ•i,θi)
2.1.
State Vector
๐‘ป
State vector is composed of the world reference point ๐‘ถ๐‘ช camera motion parameters[๐’„๐‘ช , ๐’“๐‘ช ] , and
feature location parameters ๐’‘๐‘ช๐’Š in camera centered frame.
๐‘ถ๐‘ฟ๐ถ๐‘พ
๐’„๐‘ช
๐‘ช
๐’™ = ๐’“๐‘ช
๐’‘๐Ÿ
๐’‘๐‘ช๐Ÿ
[ โ‹ฎ ]
๐‘ช
where O contains the world origin coordinate and orientation in camera frame. ๐‘‚๐‘‹๐‘Š
=
[๐‘ถ๐‘ช๐’™
๐‘ถ๐‘ช๐’š
๐‘ถ๐‘ช๐’› ๐‘พ๐‘ช๐’™
๐‘พ๐‘ช๐’š
๐‘ป
๐‘พ๐‘ช๐’› ] . The parameter ๐‘๐‘–๐ถ contains the feature coordinate in camera frame
๐‘ป
represented in inverse parameterization: ๐‘๐‘–๐ถ = [๐’™๐‘ช๐’Š ๐’š๐‘ช๐’Š ๐’›๐‘ช๐’Š ๐†๐’Š ๐“๐‘ช๐’Š ๐œฝ๐‘ช๐’Š ] . The first three parameters
[๐’™๐‘ช๐’Š , ๐’š๐‘ช๐’Š , ๐’›๐‘ช๐’Š ] memorize the camera’s coordinate when the feature is first observed. The elevationazimuth pair [๐“๐‘ช๐’Š , ๐œฝ๐‘ช๐’Š ] encodes a unit vector pointing from initialization point [๐’™๐‘ช๐’Š , ๐’š๐‘ช๐’Š , ๐’›๐‘ช๐’Š ] to the feature,
and ๐†๐’Š is the inverse distance along this vector.
2.2.
Prediction
2.2.1. Method 1
No change is made to the state vector except the camera translation and rotation. If INS unit is available,
the INS measurement is assigned to ๐’„๐‘ช and ๐’“๐‘ช . Otherwise, ๐’„๐‘ช and ๐’“๐‘ช will be assigned new value based
on the estimation model used. For now, only the constant velocity is implemented to compare with the
INS measurement.
๐‘ถ๐‘ฟ๐ถ๐‘พ
๐‘ถ๐‘ฟ๐ถ๐‘พ
๐’„๐‘ช๐‘š๐‘’๐‘Ž๐‘ ๐‘ข๐‘Ÿ๐‘’๐‘‘
๐’„๐‘ช
๐‘ช
๐’“๐‘ช
= ๐’“๐‘š๐‘’๐‘Ž๐‘ ๐‘ข๐‘Ÿ๐‘’๐‘‘
๐‘ช
๐’‘๐Ÿ
๐’‘๐‘ช๐Ÿ
๐‘ช
๐’‘๐Ÿ
๐’‘๐‘ช๐Ÿ
[ โ‹ฎ ]๐‘˜+1 [
]
โ‹ฎ
or
๐‘ถ๐‘ฟ๐ถ๐‘พ
๐‘ถ๐‘ฟ๐ถ๐‘พ
๐’„๐‘ช
๐’„๐‘ช
๐‘ช
๐‘ช
๐’“
= ๐’“๐‘ช
๐‘ช
๐’‘๐Ÿ
๐’‘๐Ÿ
๐‘ช
๐’‘๐Ÿ
๐’‘๐‘ช๐Ÿ
[ โ‹ฎ ]๐‘˜+1 [ โ‹ฎ ]๐‘˜
Writing the above in the form of ๐’™๐’Œ = ๐…๐’Œ−๐Ÿ ๐’™๐’Œ−๐Ÿ + ๐‘ฉ๐’Œ ๐’–๐’Œ + ๐’˜๐’Œ−๐Ÿ , without INS measurement, ๐…๐’Œ is
simply ๐‘ฐ. With INS,
๐‘ฐ๐Ÿ”×๐Ÿ”
๐ŸŽ๐Ÿ‘×๐Ÿ‘
๐ŸŽ
๐ŸŽ๐Ÿ‘×๐Ÿ‘
๐’™๐’Œ =
๐‘ฐ๐Ÿ”×๐Ÿ”
๐ŸŽ
[
โ‹ฑ
๐ŸŽ๐Ÿ”×๐Ÿ—
๐‘ถ๐‘ฟ๐ถ๐‘พ
1 0 0 1 0 0
๐’„๐‘ช
0 1 0 0 1 0
๐’“๐‘ช
+ 0 0 1 0 0 1
๐‘ช
๐’‘๐Ÿ
๐ŸŽ๐Ÿ‘×๐Ÿ‘
๐ŸŽ๐Ÿ‘×๐Ÿ‘
โ‹ฎ
๐‘ช
๐‘ฐ๐Ÿ”×๐Ÿ” ] [ ๐’‘๐’ ]๐‘˜−1
๐ŸŽ๐Ÿ”๐’×๐Ÿ—
[
๐‘ฃ๐‘ฅ๐ถ โˆ†๐‘ก
๐‘ฃ๐‘ฆ๐ถ โˆ†๐‘ก
๐‘ฃ๐‘ง๐ถ โˆ†๐‘ก
1 ๐ถ 2
๐‘Ž โˆ†๐‘ก
๐ŸŽ๐Ÿ‘×๐Ÿ‘
2 ๐‘ฅ
1 ๐ถ 2
1 0 0 2 ๐‘Ž๐‘ฆ โˆ†๐‘ก
0 1 0 1
๐ถ
2
0 0 1 2 ๐‘Ž๐‘ง โˆ†๐‘ก
]
๐ถ
๐‘ค๐‘ฅ
๐‘ค๐ถ๐‘ฆ
[
๐‘ค๐ถ๐‘ง
]
+ ๐’˜๐’Œ−๐Ÿ
2.2.2.
Method 2
๐‘ป
For every prediction step, camera motion can be described by its translation and rotation [๐’„๐‘ช , ๐’“๐‘ช ] .
These parameters can either be estimated by including them into the state vector, or acquired from an
INS measurement unit.
World reference point coordinate and orientation from k-1 to k is related by
๐‘‚๐‘ฅ๐ถ
๐‘‚๐‘ฅ๐ถ
๐‘๐‘ฅ๐ถ
− [๐‘๐‘ฆ๐ถ ] )
[๐‘‚๐‘ฆ๐ถ ] = ๐‘… −1 (๐’“๐‘ช ) ([๐‘‚๐‘ฆ๐ถ ]
๐‘‚๐‘ง๐ถ ๐‘˜
๐‘‚๐‘ง๐ถ ๐‘˜−1
๐‘๐‘ง๐ถ ๐‘˜
๐‘Š๐‘ฅ๐ถ
๐‘Š๐‘ฅ๐ถ
= [ ๐‘Š๐‘ฆ๐ถ ] − ๐’“๐‘ช
[ ๐‘Š๐‘ฆ๐ถ ]
๐‘Š๐‘ง๐ถ ๐‘˜−1
๐‘Š๐‘ง๐ถ ๐‘˜
Feature parameters are related from one step to the next by
๐‘ฅ๐‘–๐ถ
๐‘ฅ๐‘–๐ถ
๐‘๐‘ฅ๐ถ
− [๐‘๐‘ฆ๐ถ ] )
[๐‘ฆ๐‘–๐ถ ] = ๐‘… −1 (๐’“๐‘ช ) ([๐‘ฆ๐‘–๐ถ ]
๐‘๐‘ง๐ถ ๐‘˜
๐‘ง๐‘–๐ถ ๐‘˜
๐‘ง๐‘–๐ถ ๐‘˜−1
๐œ™๐‘–๐ถ
๐ถ
๐ถ
๐’Ž−๐Ÿ (๐‘…−1 (๐’“๐‘ช ) ๐’Ž(๐œ™๐‘–,๐‘˜−1
, ๐œƒ๐‘–,๐‘˜−1
)
)
[ ๐œƒ๐‘–๐ถ ] = (
๐œŒ๐‘–,๐‘˜−1
๐œŒ๐‘– ๐‘˜
๐ถ
๐ถ
where ๐’Ž(๐œ™๐‘–,๐‘˜−1
, ๐œƒ๐‘–,๐‘˜−1
) is the unit vector pointing from the initialization point to the feature seen by
the camera at step k-1
๐ถ
๐ถ
๐‘๐‘œ๐‘ ๐œ™๐‘–,๐‘˜−1
๐‘๐‘œ๐‘ ๐œƒ๐‘–,๐‘˜−1
๐ถ
๐ถ
๐ถ
๐ถ
๐‘ ๐‘–๐‘›๐œƒ๐‘–,๐‘˜−1
๐’Ž(๐œ™๐‘–,๐‘˜−1
, ๐œƒ๐‘–,๐‘˜−1
) = [ ๐‘๐‘œ๐‘ ๐œ™๐‘–,๐‘˜−1
]
๐ถ
sin๐œ™๐‘–,๐‘˜−1
Let ๐’‰๐‘น
๐’Œ be the predicted vector pointing from camera location to feature at step k, then
๐ถ
๐ถ
๐‘๐‘œ๐‘ ๐œ™๐‘–,๐‘˜−1
๐‘๐‘œ๐‘ ๐œƒ๐‘–,๐‘˜−1
๐ถ
๐ถ
−1 ๐‘ช
๐’‰๐‘น
๐’Œ = ๐‘… (๐’“ ) [ ๐‘๐‘œ๐‘ ๐œ™๐‘–,๐‘˜−1 ๐‘ ๐‘–๐‘›๐œƒ๐‘–,๐‘˜−1 ]
๐ถ
sin๐œ™๐‘–,๐‘˜−1
and
๐œ™๐ถ
[ ๐ถ๐‘– ] = ๐’Ž−๐Ÿ (๐’‰๐‘น
๐’Œ) =
๐œƒ๐‘– ๐‘˜
2
(
๐‘…
๐‘…
√โ„Ž๐‘ฅ,๐‘˜−1
+ โ„Ž๐‘ฆ,๐‘˜−1
2
)
๐‘…
โ„Ž๐‘ฆ,๐‘˜−1
arctan ( ๐‘…
)
โ„Ž๐‘ฅ,๐‘˜−1
[
2.3.
๐‘…
โ„Ž๐‘ง,๐‘˜−1
arctan
]
Prediction Matrix Linearization
2.3.1. Method 1
The matrices are linear. No linearization is needed.
2.3.2. Method 2
๐œ•๐’™๐’Œ
๐œ•๐’™๐’Œ
๐œ•๐’™๐’Œ
=[
๐ถ
๐œ•๐’™๐’Œ−๐Ÿ
๐œ•๐‘ถ๐‘ฟ๐‘พ,๐’Œ−๐Ÿ ๐œ•๐’„๐’Œ−๐Ÿ
๐œ•๐’™๐’Œ
๐œ•๐’™๐’Œ
๐œ•๐’™๐’Œ
โ‹ฏ]
๐‘ช
๐œ•๐’“๐’Œ−๐Ÿ ๐œ•๐’‘๐Ÿ,๐’Œ−๐Ÿ ๐œ•๐’‘๐‘ช๐Ÿ,๐’Œ−๐Ÿ
With respect to ๐‘ถ๐‘ฟ๐ถ๐‘พ :
๐œ•๐‘ถ๐‘ช๐‘พ,๐’Œ
๐œ•๐‘ถ๐‘ช๐‘พ,๐’Œ
๐œ•๐‘ถ๐‘ช๐‘พ,๐’Œ−๐Ÿ
๐œ•๐‘พ๐‘ช๐‘พ,๐’Œ
๐œ•๐‘ถ๐‘ช๐‘พ,๐’Œ−๐Ÿ
๐œ•๐‘พ๐‘ช๐‘พ,๐’Œ−๐Ÿ
๐œ•๐‘พ๐‘ช๐‘พ,๐’Œ
๐œ•๐‘พ๐‘ช๐‘พ,๐’Œ−๐Ÿ
๐œ•๐’™๐’Œ
๐œ•๐’„๐’Œ
=
๐ถ
๐œ•๐‘ถ๐‘ฟ๐‘พ,๐’Œ−๐Ÿ
๐œ•๐‘ถ๐‘ช๐‘พ,๐’Œ−๐Ÿ
๐œ•๐’“๐’Œ
๐œ•๐‘พ๐‘ช๐‘พ,๐’Œ−๐Ÿ
๐œ•๐’“๐’Œ
๐œ•๐‘ถ๐‘ช๐‘พ,๐’Œ−๐Ÿ
๐œ•๐‘พ๐‘ช๐‘พ,๐’Œ−๐Ÿ
๐œ•๐’‘๐‘ช๐’Š
๐‘ช
[๐œ•๐‘ถ๐‘พ,๐’Œ−๐Ÿ
๐œ•๐’‘๐‘ช๐’Š
๐œ•๐‘พ๐‘ช๐‘พ,๐’Œ−๐Ÿ ]
๐œ•๐’„๐’Œ
๐œ•๐‘ถ๐‘ช๐‘พ,๐’Œ
๐œ•๐‘ถ๐‘ช๐‘พ,๐’Œ−๐Ÿ
๐œ•๐‘ถ๐‘ช๐‘พ,๐’Œ
๐œ•๐‘ถ๐‘ช๐‘พ,๐’Œ−๐Ÿ
0
=
[
= ๐‘… −1 (๐’“๐‘ช )
0
๐œ•๐‘พ๐‘ช๐‘พ,๐’Œ
๐œ•๐‘พ๐‘ช๐‘พ,๐’Œ−๐Ÿ
0
0
0
0
0
0
]
๐œ•๐‘พ๐‘ช๐‘พ,๐’Œ
๐œ•๐‘พ๐‘ช๐‘พ,๐’Œ−๐Ÿ
=๐Ÿ
With respect to ๐’„ and ๐’‘
Since ๐’„ and ๐’“ doesn’t change, their derivative is an identity matrix.
๐œ•๐‘ถ๐‘ช๐‘พ,๐’Œ
๐œ•๐’„๐’Œ−๐Ÿ
๐œ•๐‘พ๐‘ช๐‘พ,๐’Œ
๐œ•๐’„๐’Œ−๐Ÿ
๐œ•๐’„๐’Œ
๐œ•๐’„๐’Œ−๐Ÿ
๐œ•๐’“๐’Œ
๐œ•๐’„๐’Œ−๐Ÿ
๐œ•๐’‘(0: 2)๐‘ช๐’Š
๐œ•๐’„๐’Œ−๐Ÿ
๐œ•๐’‘(3: 5)๐‘ช๐’Š
[ ๐œ•๐’„๐’Œ−๐Ÿ
๐‘ช
๐œ•๐‘ถ๐‘ช๐‘พ,๐’Œ
๐œ•๐‘… −1 (๐’“๐’Œ๐’Œ−๐Ÿ )
−1 ๐‘ช๐’Œ−๐Ÿ
−๐‘… (๐’“๐’Œ )
๐œ•๐’“๐’Œ−๐Ÿ
๐œ•๐’“๐’Œ−๐Ÿ
๐œ•๐‘พ๐‘ช๐‘พ,๐’Œ
0
−๐‘ฐ
๐œ•๐’“๐’Œ−๐Ÿ
๐œ•๐’„๐’Œ
๐ผ
0
๐œ•๐’“๐’Œ−๐Ÿ
=
๐œ•๐’“๐’Œ
๐œ•๐’“๐’Œ−๐Ÿ
0
๐ผ
๐‘ช
๐œ•๐’‘(0: 2)๐’Š
๐‘ช
๐œ•๐‘… −1 (๐’“๐’Œ๐’Œ−๐Ÿ )
๐‘ช๐’Œ−๐Ÿ
−1
๐œ•๐’“๐’Œ−๐Ÿ
−๐‘… (๐’“๐’Œ )
๐œ•๐’“๐’Œ−๐Ÿ
๐‘ช
๐œ•๐’‘(3: 5)๐’Š
]
๐œ•๐’“๐’Œ−๐Ÿ ] [
0
?
1
0 0
๐ถ
๐œ•๐œ™๐‘–,๐‘˜
? = ๐œ•๐‘Ÿ๐‘˜−1
๐ถ
๐œ•๐œƒ๐‘–,๐‘˜
[ ๐œ•๐‘Ÿ๐‘˜−1 ]
๐ถ
๐œ•๐œ™๐‘–,๐‘˜
๐ถ
๐ถ
๐œ•๐’Ž−๐Ÿ (๐‘… −1 (๐’“๐‘ช๐’Œ−๐Ÿ )๐’Ž(๐œ™๐‘–,๐‘˜๐‘˜−1 , ๐œƒ๐‘–,๐‘˜๐‘˜−1 ))
๐œ•๐’“๐’Œ−๐Ÿ
=
๐ถ
๐œ•๐’“๐’Œ−๐Ÿ
๐œ•๐œƒ๐‘–,๐‘˜
[๐œ•๐’“๐’Œ−๐Ÿ ]
๐ถ
๐ถ
Let ๐‘€(๐’“๐’Œ−๐Ÿ ) = ๐‘… −1 (๐’“๐‘ช๐’Œ−๐Ÿ )๐’Ž(๐œ™๐‘–,๐‘˜๐‘˜−1 , ๐œƒ๐‘–,๐‘˜๐‘˜−1 )
๐œ•๐‘š−1 ๐œ•๐‘š−1 ๐œ•๐‘€
=
โˆ™
๐œ•๐‘Ÿ๐‘˜−1
๐œ•๐‘€ ๐œ•๐‘Ÿ๐‘˜−1
๐‘ช
๐œ•๐‘… −1 (๐’“๐’Œ๐’Œ−๐Ÿ )
๐œ•๐‘€
๐ถ
๐ถ
=
โˆ™ ๐’Ž(๐œ™๐‘–,๐‘˜๐‘˜−1 , ๐œƒ๐‘–,๐‘˜๐‘˜−1 )
๐œ•๐‘Ÿ๐‘˜−1
๐œ•๐’“๐’Œ−๐Ÿ
๐œ•๐‘š−1
๐œ•๐‘€
With respect to ๐’‘๐‘ช๐’Š
๐œ•๐œ™๐ถ
๐œ•๐œƒ๐ถ
๐’Œ
๐’Œ
is ๐œ•๐’‰๐‘น๐‘˜ and ๐œ•๐’‰๐‘˜๐‘น
๐œ•๐‘ถ๐‘ช๐‘พ,๐’Œ
0
๐œ•๐’‘๐‘ช๐’Š,๐’Œ−๐Ÿ
๐œ•๐‘พ๐‘ช๐‘พ,๐’Œ
๐œ•๐’™๐’Œ
๐œ•๐’‘๐‘ช๐’Š,๐’Œ−๐Ÿ
0
๐œ•๐’‘๐‘ช๐’Š,๐’Œ−๐Ÿ
๐œ•๐‘๐‘˜
=
0
=
๐œ•๐’‘๐‘ช๐’Š,๐’Œ−๐Ÿ
๐œ•๐‘Ÿ๐‘˜
0
๐œ•๐’‘๐‘ช๐’Š,๐’Œ−๐Ÿ
๐œ•๐’‘๐‘ช๐’Š,๐’Œ
๐œ•๐’‘๐‘ช๐’Š,๐’Œ
๐‘ช
[๐œ•๐’‘๐’Š,๐’Œ−๐Ÿ ]
๐‘ช
[๐œ•๐’‘๐’Š,๐’Œ−๐Ÿ ]
๐ถ
๐œ•๐‘ฅ๐‘–,๐‘˜
๐œ•๐’‘๐‘ช๐’Š,๐’Œ−๐Ÿ
๐ถ
๐œ•๐‘ฆ๐‘–,๐‘˜
๐‘… −1 (๐’“๐‘ช )
๐œ•๐’‘๐‘ช๐’Š,๐’Œ−๐Ÿ
๐œ•๐’‘๐‘ช๐’Š,๐’Œ
๐œ•๐’‘๐‘ช๐’Š,๐’Œ−๐Ÿ
๐œ•๐’‘๐‘ช๐’Š,๐’Œ
๐œ•๐’‘๐‘ช๐’Š,๐’Œ−๐Ÿ
0
๐ถ
๐œ•๐œ™๐‘–,๐‘˜
๐‘ช
= ๐œ•๐’‘๐’Š,๐’Œ−๐Ÿ =
๐ถ
๐œ•๐œƒ๐‘–,๐‘˜
๐‘ช
[๐œ•๐’‘๐’Š,๐’Œ−๐Ÿ ]
For the ith feature point,
0
0
=
๐ถ
๐œ•๐‘ง๐‘–,๐‘˜
๐œ•๐’‘๐‘ช๐’Š,๐’Œ−๐Ÿ
๐ถ
๐œ•๐œŒ๐‘–,๐‘˜
๐œ•๐’‘๐‘ช๐’Š,๐’Œ−๐Ÿ
๐ถ
๐œ•๐œ™๐‘–,๐‘˜
๐œ•๐’‘๐‘ช๐’Š,๐’Œ−๐Ÿ
๐ถ
๐œ•๐œƒ๐‘–,๐‘˜
๐‘ช
[๐œ•๐’‘๐’Š,๐’Œ−๐Ÿ ]
0
๐ถ
๐œ•๐œ™๐‘–,๐‘˜
๐ถ
๐œ•๐œ™๐‘–,๐‘˜−1
๐ถ
๐œ•๐œƒ๐‘–,๐‘˜
0
๐ถ
๐œ•๐œ™๐‘–,๐‘˜−1
[
๐ถ
๐œ•๐œŒ๐‘–,๐‘˜
0
=
๐œ•๐’‘(๐Ÿ‘: ๐Ÿ“)๐‘ช๐’Š,๐’Œ−๐Ÿ
๐ถ
๐œ•๐œ™๐‘–,๐‘˜
0
[
๐œ•๐’‘(๐Ÿ‘: ๐Ÿ“)๐‘ช๐’Š,๐’Œ−๐Ÿ
๐ถ
๐œ•๐œƒ๐‘–,๐‘˜
0
0
๐ถ
๐œ•๐œ™๐‘–,๐‘˜
๐ถ
๐œ•๐œƒ๐‘–,๐‘˜−1
=
๐ถ
๐œ•๐œƒ๐‘–,๐‘˜
๐ถ
๐œ•๐œƒ๐‘–,๐‘˜−1
]
0
๐œ•๐’‘(๐Ÿ‘: ๐Ÿ“)๐‘ช๐’Š,๐’Œ−๐Ÿ ]
0
0
0
[
0
๐ถ
๐œ•๐œ™๐‘–,๐‘˜
๐œ•๐’‰๐‘น
๐’Š,๐’Œ
0
๐ถ
๐œ•๐œ™๐‘–,๐‘˜
๐œ•๐’‰๐‘น
๐’Š,๐’Œ
๐ถ
๐œ•๐’‰๐‘น
๐’Š,๐’Œ ๐œ•๐œ™๐‘–,๐‘˜−1
๐ถ
๐œ•๐’‰๐‘น
๐’Š,๐’Œ ๐œ•๐œƒ๐‘–,๐‘˜−1
๐ถ
๐œ•๐œƒ๐‘–,๐‘˜
๐ถ
๐œ•๐œƒ๐‘–,๐‘˜
๐œ•๐’‰๐‘น
๐’Š,๐’Œ
๐œ•๐’‰๐‘น
๐’Š,๐’Œ
๐œ•๐’‰๐‘น
๐’Œ
๐ถ
๐œ•๐œ™๐‘–,๐‘˜−1
๐ถ
๐œ•๐’‰๐‘น
๐’Š,๐’Œ ๐œ•๐œƒ๐‘–,๐‘˜−1 ]
๐‘‡
๐‘…
๐‘…
−โ„Ž๐‘ฅ,๐‘˜
โˆ™ โ„Ž๐‘ง,๐‘˜
2
2
2
2
2
2
2
๐‘…
๐‘…
๐‘…
๐‘…
๐‘…
(โ„Ž๐‘ฅ,๐‘˜
+ โ„Ž๐‘ฆ,๐‘˜
+ โ„Ž๐‘ง,๐‘˜
) √โ„Ž๐‘ฅ,๐‘˜
+ โ„Ž๐‘ฆ,๐‘˜
๐œ•๐œ™๐‘˜๐ถ
๐œ•๐’‰๐‘น
๐’Œ
=
๐œ•๐œ™๐‘˜๐ถ
[ ๐‘…
๐œ•โ„Ž๐‘ฅ,๐‘˜
๐œ•๐œ™ ๐ถ๐‘˜
๐‘…
๐œ•โ„Ž๐‘ฆ,๐‘˜
๐œ•๐œ™ ๐ถ๐‘˜
๐‘… ]
๐œ•โ„Ž๐‘ง,๐‘˜
๐‘…
๐ถ
−โ„Ž๐‘ฆ,๐‘˜
โˆ™ โ„Ž๐‘ง,๐‘˜
=
2
2
2
๐‘…
๐‘…
๐‘…
๐‘…
๐‘…
(โ„Ž๐‘ฅ,๐‘˜
+ โ„Ž๐‘ฆ,๐‘˜
+ โ„Ž๐‘ง,๐‘˜
) √โ„Ž๐‘ฅ,๐‘˜
+ โ„Ž๐‘ฆ,๐‘˜
2
๐‘…
๐‘…
√โ„Ž๐‘ฅ,๐‘˜
+ โ„Ž๐‘ฆ,๐‘˜
2
๐œ•๐’‰๐‘น
๐’Œ
= [−
๐‘…
โ„Ž๐‘ฆ,๐‘˜
2
๐‘…
๐‘…
โ„Ž๐‘ฅ,๐‘˜
+ โ„Ž๐‘ฆ,๐‘˜
2
2
๐‘…
๐‘…
๐‘…
(โ„Ž๐‘ฅ,๐‘˜
+ โ„Ž๐‘ฆ,๐‘˜
+ โ„Ž๐‘ง,๐‘˜
)
[
๐œ•๐œƒ๐‘˜๐ถ
2
๐‘…
โ„Ž๐‘ฅ,๐‘˜
2
2
๐‘…
๐‘…
โ„Ž๐‘ฅ,๐‘˜
+ โ„Ž๐‘ฆ,๐‘˜
2
0]
๐ถ
๐ถ
− cos(๐œƒ๐‘˜−1
) sin(๐œ™๐‘˜−1
)
๐œ•๐’‰๐‘น
๐’Œ
๐ถ
๐ถ
−1 ๐‘ช
= ๐‘… (๐’“ ) [ − sin(๐œ™๐‘˜−1 ) sin(๐œƒ๐‘˜−1 ) ]
๐ถ
๐œ•๐œ™๐‘˜−1
๐ถ
cos(๐œ™๐‘˜−1
)
๐ถ
๐ถ
− cos(๐œ™๐‘˜−1
) sin(๐œƒ๐‘˜−1
)
๐œ•๐’‰๐‘น
๐’Œ
−1 ๐‘ช
๐ถ
๐ถ
=
๐‘…
(๐’“
)
[
cos(๐œ™๐‘˜−1 ) cos(๐œƒ๐‘˜−1 ) ]
๐ถ
๐œ•๐œƒ๐‘˜−1
0
2.4.
Measurement Model
2.4.1. Method 1
Measurement are the image pixel location of the feature ๐‘ผ = [๐‘ข ๐‘ฃ]๐‘‡
๐‘ฅ๐‘˜๐ถ
๐‘๐‘ฅ๐ถ
๐’‰๐‘ช๐’Œ = ๐‘… −1 (๐’“๐‘ช๐’Œ ) ๐œŒ๐‘˜ ([๐‘ฆ ๐ถ๐‘˜ ] − [๐‘๐‘ฆ๐ถ ]) + ๐’Ž(๐œ™ ๐ถ๐‘˜ , ๐œƒ๐‘˜๐ถ )
๐‘ง ๐ถ๐‘˜
๐‘๐‘ง๐ถ
(
)
๐ถ
๐‘ ๐‘ฅ โ„Ž๐‘ฆ,๐‘˜
๐’‰๐‘ผ
๐’Œ
๐ถ
โ„Ž๐‘ฅ,๐‘˜
๐‘ข๐‘˜
= [๐‘ฃ ] =
๐ถ
๐‘˜
๐‘ ๐‘ฆ โ„Ž๐‘ง,๐‘˜
๐ถ
[ โ„Ž๐‘ฅ,๐‘˜ ]
2.4.2. Method 2
The measurement model for the ith feature point is given by simple vector summation:
๐‘ฅ๐‘˜๐ถ
๐’‰๐‘ช๐’Œ = ๐œŒ๐‘˜ [๐‘ฆ ๐ถ๐‘˜ ] + ๐’Ž(๐œ™ ๐ถ๐‘˜ , ๐œƒ๐‘˜๐ถ )
๐‘ง ๐ถ๐‘˜
]
๐ถ
๐‘ ๐‘ฅ โ„Ž๐‘ฆ,๐‘˜
๐ถ
โ„Ž๐‘ฅ,๐‘˜
๐‘ข๐‘˜
๐’‰๐‘ผ
๐’Œ = [๐‘ฃ ] =
๐ถ
๐‘˜
๐‘ ๐‘ฆ โ„Ž๐‘ง,๐‘˜
๐ถ
[ โ„Ž๐‘ฅ,๐‘˜ ]
2.5.
Measurement Matrix Linearization
2.5.1. Method 1
๐œ•๐’‰(๐’™)
๐œ•๐’‰(๐’™)
๐œ•๐’‰(๐’™) ๐œ•๐’‰(๐’™) ๐œ•๐’‰(๐’™)
= [๐ŸŽ๐Ÿ๐’×๐Ÿ”
]
…
๐‘ช
๐‘ช
๐œ•๐’™
๐œ•๐’‘๐Ÿ
๐œ•๐’‘๐’
๐œ•๐’„
๐œ•๐’“
๐œ•๐’‰๐‘ผ ๐œ•๐’‰๐‘ช
๐œ•๐’‰๐‘ผ ๐œ•๐’‰๐‘ช
๐œ•๐’‰๐‘ผ ๐œ•๐’‰๐‘ช
= [๐ŸŽ๐Ÿ๐’×๐Ÿ”
โˆ™
โˆ™
โˆ™
๐œ•๐’‰๐‘ช ๐œ•๐’‘๐Ÿ
๐œ•๐’‰๐‘ช ๐œ•๐’„๐‘ช
๐œ•๐’‰๐‘ช ๐œ•๐’“๐‘ช
๐œ•๐’‰๐‘ผ
๐’Œ
๐œ•๐’‰๐‘ช๐’Œ
−
=
[
−
๐ถ
๐‘ ๐‘ฅ โ„Ž๐‘ฆ,๐‘˜
๐ถ 2
โ„Ž๐‘ฅ,๐‘˜
๐ถ
๐‘ ๐‘ฆ โ„Ž๐‘ง,๐‘˜
๐ถ 2
โ„Ž๐‘ฅ,๐‘˜
๐‘ ๐‘ฅ
๐ถ
โ„Ž๐‘ฅ,๐‘˜
0
…
๐œ•๐’‰๐‘ผ ๐œ•๐’‰๐‘ช
]
โˆ™
๐œ•๐’‰๐‘ช ๐œ•๐’‘๐’
0
๐‘ ๐‘ฆ
, (in code, fx is Sx, fy is Sy)
๐ถ
โ„Ž๐‘ฅ,๐‘˜
]
๐œ•๐’‰๐‘ช
= −๐‘…−1 (๐’“๐‘ช๐’Œ )๐œŒ๐‘˜
๐œ•๐’„๐‘ช
๐œ•๐’‰(๐’™)
๐œ•๐’‰๐‘ช ๐œ• ๐’‰๐‘ช ๐œ• ๐’‰๐‘ช
=
[
]
๐œ•๐’“๐‘ช
๐œ•๐‘Ÿ๐‘ฅ๐ถ ๐œ•๐‘Ÿ๐‘ฆ๐ถ ๐œ•๐‘Ÿ๐‘ง๐ถ
๐œ•๐’‰๐‘ช
๐œ•๐‘Ÿ๐‘ฅ
0
๐‘ค
๐‘ค
๐‘ค
= [โ„Ž๐‘ฅ (๐‘ ๐‘–๐‘›(๐‘Ÿ๐‘ฅ )๐‘ ๐‘–๐‘›(๐‘Ÿ๐‘ง ) + ๐‘๐‘œ๐‘ (๐‘Ÿ๐‘ฅ )๐‘๐‘œ๐‘ (๐‘Ÿ๐‘ง )๐‘ ๐‘–๐‘›(๐‘Ÿ๐‘ฆ )) + โ„Ž๐‘ฆ (−๐‘๐‘œ๐‘ (๐‘Ÿ๐‘ง )๐‘ ๐‘–๐‘›(๐‘Ÿ๐‘ฅ ) + ๐‘๐‘œ๐‘ (๐‘Ÿ๐‘ฅ )๐‘ ๐‘–๐‘›(๐‘Ÿ๐‘ฆ )๐‘ ๐‘–๐‘›(๐‘Ÿ๐‘ง )) + โ„Ž๐‘ง ๐‘๐‘œ๐‘ (๐‘Ÿ๐‘ฅ )๐‘๐‘œ๐‘ (๐‘Ÿ๐‘ฆ )]
๐‘ค
๐‘ค
โ„Ž๐‘ฅ (๐‘๐‘œ๐‘ (๐‘Ÿ๐‘ฅ )๐‘ ๐‘–๐‘›(๐‘Ÿ๐‘ง ) − ๐‘๐‘œ๐‘ (๐‘Ÿ๐‘ง )๐‘ ๐‘–๐‘›(๐‘Ÿ๐‘ฅ )๐‘ ๐‘–๐‘›(๐‘Ÿ๐‘ฆ )) + โ„Ž๐‘ฆ (−๐‘๐‘œ๐‘ (๐‘Ÿ๐‘ฅ )๐‘๐‘œ๐‘ (๐‘Ÿ๐‘ง ) − ๐‘ ๐‘–๐‘›(๐‘Ÿ๐‘ฅ )๐‘ ๐‘–๐‘›(๐‘Ÿ๐‘ฆ )๐‘ ๐‘–๐‘›(๐‘Ÿ๐‘ง )) − โ„Ž๐‘ง๐‘ค ๐‘๐‘œ๐‘ (๐‘Ÿ๐‘ฆ )๐‘ ๐‘–๐‘›(๐‘Ÿ๐‘ฅ )
−โ„Ž๐‘ง๐‘ค ๐‘๐‘œ๐‘ (๐‘Ÿ๐‘ฆ ) − โ„Ž๐‘ฅ๐‘ค ๐‘๐‘œ๐‘ (๐‘Ÿ๐‘ง ) ∗ ๐‘ ๐‘–๐‘›(๐‘Ÿ๐‘ฆ ) − โ„Ž๐‘ฆ๐‘ค ๐‘ ๐‘–๐‘›(๐‘Ÿ๐‘ฆ )๐‘ ๐‘–๐‘›(๐‘Ÿ๐‘ง )
๐œ•๐’‰๐‘ช
= [ −โ„Ž๐‘ง๐‘ค ๐‘ ๐‘–๐‘›(๐‘Ÿ๐‘ฅ )๐‘ ๐‘–๐‘›(๐‘Ÿ๐‘ฆ ) + โ„Ž๐‘ฅ๐‘ค ๐‘๐‘œ๐‘ (๐‘Ÿ๐‘ฆ )๐‘๐‘œ๐‘ (๐‘Ÿ๐‘ง )๐‘ ๐‘–๐‘›(๐‘Ÿ๐‘ฅ ) + โ„Ž๐‘ฆ๐‘ค ๐‘๐‘œ๐‘ (๐‘Ÿ๐‘ฆ )๐‘ ๐‘–๐‘›(๐‘Ÿ๐‘ฅ )๐‘ ๐‘–๐‘›(๐‘Ÿ๐‘ง ) ]
๐œ•๐‘Ÿ๐‘ฆ
−โ„Ž๐‘ง๐‘ค ๐‘๐‘œ๐‘ (๐‘Ÿ๐‘ฅ )๐‘ ๐‘–๐‘›(๐‘Ÿ๐‘ฆ ) + โ„Ž๐‘ฅ๐‘ค ๐‘๐‘œ๐‘ (๐‘Ÿ๐‘ฅ )๐‘๐‘œ๐‘ (๐‘Ÿ๐‘ฆ )๐‘๐‘œ๐‘ (๐‘Ÿ๐‘ง ) + โ„Ž๐‘ฆ๐‘ค ๐‘๐‘œ๐‘ (๐‘Ÿ๐‘ฅ )๐‘๐‘œ๐‘ (๐‘Ÿ๐‘ฆ )๐‘ ๐‘–๐‘›(๐‘Ÿ๐‘ง )
โ„Ž๐‘ฆ๐‘ค ๐‘๐‘œ๐‘ (๐‘Ÿ๐‘ฆ )๐‘๐‘œ๐‘ (๐‘Ÿ๐‘ง ) − โ„Ž๐‘ฅ๐‘ค ๐‘๐‘œ๐‘ (๐‘Ÿ๐‘ฆ )๐‘ ๐‘–๐‘›(๐‘Ÿ๐‘ง )
๐‘ช
๐œ•๐’‰
= [โ„Ž๐‘ฅ๐‘ค (−๐‘๐‘œ๐‘ (๐‘Ÿ๐‘ฅ )๐‘๐‘œ๐‘ (๐‘Ÿ๐‘ง ) − ๐‘ ๐‘–๐‘›(๐‘Ÿ๐‘ฅ )๐‘ ๐‘–๐‘›(๐‘Ÿ๐‘ฆ )๐‘ ๐‘–๐‘›(๐‘Ÿ๐‘ง )) + โ„Ž๐‘ฆ๐‘ค (−๐‘๐‘œ๐‘ (๐‘Ÿ๐‘ฅ )๐‘ ๐‘–๐‘›(๐‘Ÿ๐‘ง ) + ๐‘๐‘œ๐‘ (๐‘Ÿ๐‘ง )๐‘ ๐‘–๐‘›(๐‘Ÿ๐‘ฅ )๐‘ ๐‘–๐‘›(๐‘Ÿ๐‘ฆ ))]
๐œ•๐‘Ÿ๐‘ง
โ„Ž๐‘ฅ๐‘ค (๐‘๐‘œ๐‘ (๐‘Ÿ๐‘ง )๐‘ ๐‘–๐‘›(๐‘Ÿ๐‘ฅ ) − ๐‘๐‘œ๐‘ (๐‘Ÿ๐‘ฅ )๐‘ ๐‘–๐‘›(๐‘Ÿ๐‘ฆ )๐‘ ๐‘–๐‘›(๐‘Ÿ๐‘ง )) + โ„Ž๐‘ฆ๐‘ค (๐‘ ๐‘–๐‘›(๐‘Ÿ๐‘ฅ )๐‘ ๐‘–๐‘›(๐‘Ÿ๐‘ง ) + ๐‘๐‘œ๐‘ (๐‘Ÿ๐‘ฅ )๐‘๐‘œ๐‘ (๐‘Ÿ๐‘ง )๐‘ ๐‘–๐‘›(๐‘Ÿ๐‘ฆ ))
๐œ•๐’‰๐‘ช
๐œ•๐’‘๐’Š
๐œ•๐’‰๐‘ช
= [๐œ•๐‘ฅ ๐ถ
๐‘–
๐œ•๐’‰๐‘ช
๐œ•๐’‰๐‘ช
๐œ•๐‘ฆ๐‘–๐ถ
๐œ•๐‘ง๐‘–๐ถ
๐œ•๐’‰๐‘ช
๐œ•๐œŒ๐‘–
๐œ•๐’‰๐‘ช
๐œ•๐œƒ๐‘–
๐œ•๐’‰๐‘ช
],
๐œ•๐œ™๐‘–
๐‘น๐‘พ๐Ÿ๐‘ช = ๐‘… −1 (๐’“๐‘ช๐’Œ )
๐œ•๐’‰๐‘ช
[ ๐ถ
๐œ•๐‘ฅ๐‘–
๐œ•๐’‰๐‘ช
๐œ•๐‘ฆ๐‘–๐ถ
๐œ•๐’‰๐‘ช
] = ๐‘น๐‘พ๐Ÿ๐‘ช ๐œŒ๐‘˜
๐œ•๐‘ง๐‘–๐ถ
3x6
๐œ•๐’‰๐‘ช
= −๐‘น๐‘พ๐Ÿ๐‘ช โˆ™ ๐’„๐’Œ
๐œ•๐œŒ๐‘–
−cos(๐œ™๐‘– ) sin(๐œƒ๐‘– )
๐œ•๐’‰๐‘ช
= ๐‘น๐‘พ๐Ÿ๐‘ช [ cos(๐œ™๐‘– ) cos(๐œƒ๐‘– ) ]
๐œ•๐œƒ๐‘–
0
−cos(๐œ™๐‘– ) sin(๐œƒ๐‘– )
๐œ•๐’‰๐‘ช
= ๐‘น๐‘พ๐Ÿ๐‘ช [ −sin(๐œ™๐‘– )sin(๐œƒ๐‘– ) ]
๐œ•๐œ™๐‘–
cos(๐œ™๐‘– )
2.5.2. Method 2
๐œ•๐’‰๐‘ผ
๐’Œ
๐œ•๐’‰๐‘ช๐’Œ
−
=
๐ถ
๐‘ ๐‘ฅ โ„Ž๐‘ฆ,๐‘˜
๐ถ 2
โ„Ž๐‘ฅ,๐‘˜
๐ถ
๐‘ ๐‘ฆ โ„Ž๐‘ง,๐‘˜
−
๐ถ 2
[ โ„Ž๐‘ฅ,๐‘˜
๐‘ ๐‘ฅ
๐ถ
โ„Ž๐‘ฅ,๐‘˜
0
0
๐‘ ๐‘ฆ
๐ถ
โ„Ž๐‘ฅ,๐‘˜
]
๐œ•๐’‰๐‘ช๐’Œ
= ๐œŒ๐‘˜
๐‘ฅ๐‘˜๐ถ
๐œ• [๐‘ฆ ๐ถ๐‘˜ ]
๐‘ง ๐ถ๐‘˜
๐œ•๐’‰๐‘ช๐’Œ
๐œ•๐’‰๐‘ช๐’Œ ๐œ•๐’‰๐‘ช๐’Œ
=[ ๐ถ
]
๐œ•[๐œ™ ๐ถ๐‘˜ , ๐œƒ๐‘˜๐ถ ]๐‘‡
๐œ•๐œ™ ๐‘˜ ๐œ•๐œƒ ๐ถ๐‘˜
๐ถ
๐ถ
− cos(๐œƒ๐‘˜−1
) sin(๐œ™๐‘˜−1
)
๐œ•๐’‰๐‘ช๐’Œ
๐ถ
๐ถ
= [ − sin(๐œ™๐‘˜−1 ) sin(๐œƒ๐‘˜−1 ) ]
๐œ•๐œ™ ๐ถ๐‘˜
๐ถ
cos(๐œ™๐‘˜−1
)
๐ถ
๐ถ
− cos(๐œ™๐‘˜−1
) sin(๐œƒ๐‘˜−1
)
๐œ•๐’‰๐‘ช๐’Œ
๐ถ
๐ถ
= [ cos(๐œ™๐‘˜−1 ) cos(๐œƒ๐‘˜−1 ) ]
๐œ•๐œƒ ๐ถ๐‘˜
0
2.6.
Additional Step for Method 1
Update step corrects the camera motion and feature location in camera frame k-1. To continue to the
next cycle of tracking, all parameter must be transform to camera frame k. World reference point
coordinate and orientation from k-1 to k is related by
๐ถ
๐ถ
๐ถ
๐‘‚๐‘ฅ ๐‘˜−1
๐‘๐‘ฅ ๐‘˜−1
๐‘‚๐‘ฅ ๐‘˜
๐‘ช
๐ถ
๐ถ
[ ๐‘‚๐‘ฆ๐ถ ] = ๐‘… −1 (๐’“๐’Œ๐’Œ−๐Ÿ ) [๐‘‚๐‘ฆ ๐‘˜−1 ] − [๐‘๐‘ฆ ๐‘˜−1 ]
๐ถ๐‘˜−1
๐ถ
๐‘‚๐‘ง๐ถ ๐‘˜
๐‘๐‘ง ๐‘˜−1 ๐‘˜ )
( ๐‘‚๐‘ง
๐‘˜
๐ถ
๐ถ
๐‘Š๐‘ฅ ๐‘˜
๐‘Š๐‘ฅ ๐‘˜−1
๐ถ
๐ถ
= [ ๐‘Š๐‘ฆ ๐‘˜−1 ] − ๐’“๐‘ช๐’Œ−๐Ÿ
[ ๐‘Š๐‘ฆ ๐‘˜ ]
๐ถ๐‘˜
๐‘Š๐‘ง
๐ถ๐‘˜−1
๐‘˜−1
๐‘Š๐‘ง
๐‘˜
Feature parameters are related from one step to the next by
๐ถ
๐ถ
๐‘ฅ๐‘– ๐‘˜
๐ถ
๐‘ฅ๐‘– ๐‘˜−1
๐‘๐‘ฅ ๐‘˜−1
๐ถ
[๐‘ฆ๐‘–๐ถ๐‘˜ ] = ๐‘… −1 (๐’“๐‘ช๐’Œ−๐Ÿ ) [๐‘ฆ๐‘–๐ถ๐‘˜−1 ] − [๐‘๐‘ฆ ๐‘˜−1 ]
๐ถ
๐‘ง๐‘– ๐‘˜
๐ถ
๐‘˜−1
( ๐‘ง๐‘–
๐‘˜
๐ถ
๐‘๐‘ง ๐‘˜−1 ๐‘˜ )
๐‘˜
๐ถ
๐œ™๐‘– ๐‘˜
๐ถ
๐ถ
๐’Ž−๐Ÿ (๐‘…−1 (๐’“๐‘ช๐’Œ−๐Ÿ ) ๐’Ž(๐œ™๐‘–,๐‘˜๐‘˜−1 , ๐œƒ๐‘–,๐‘˜๐‘˜−1 )
[ ๐œƒ ๐ถ๐‘˜ ] = (
)
๐‘–
๐œŒ๐‘–,๐‘˜
๐œŒ๐‘– ๐‘˜
๐ถ
๐ถ
where ๐’Ž(๐œ™๐‘–,๐‘˜๐‘˜−1 , ๐œƒ๐‘–,๐‘˜๐‘˜−1 ) is the unit vector pointing from the initialization point to the feature seen by
the camera at step k-1
The covariance matrix is also affected by this transform. Therefore must be updated. The new
covariance matrix is related to the old one by
๐ถ
๐ถ
๐‘ƒ๐‘˜ ๐‘˜ = ๐ฝ๐ถ๐‘˜−1 →๐ถ๐‘˜ ๐‘ƒ๐‘˜ ๐‘˜−1 ๐ฝ๐ถ๐‘‡๐‘˜−1 →๐ถ๐‘˜
The calculation of ๐ฝ๐ถ๐‘˜−1 →๐ถ๐‘˜ is the same as the linearization of prediction matrix in section 2.3 Method 2.
2.7.
State Vector Initialization and Derivatives
The initialization function extracts the feature’s parameters from feature coordinates in image plane.
First, a vector pointing from camera optical center to feature can be defined by
1
โ„Ž๐ถ = [๐‘ข โˆ™ ๐‘ ๐‘ฅ ]
๐‘ฃ โˆ™ ๐‘ ๐‘ฆ
Then because the feature is referenced to camera origin at initialization, the parameters [๐‘ฅ๐‘–๐ถ ๐‘ฆ๐‘–๐ถ ๐‘ง๐‘–๐ถ ] is
the optical center [0 0 0], and the elevation-azimuth pair [๐œ™๐‘–๐ถ , ๐œƒ๐‘–๐ถ ] can be directly calculated from โ„Ž๐ถ
โ„Ž๐‘ง๐ถ
๐œ™ = arctan
2
2
๐ถ
√ ๐ถ
( โ„Ž๐‘ฅ + โ„Ž๐‘ฆ )
๐œƒ = arctan (
โ„Ž๐‘ฆ๐ถ
โ„Ž๐‘ฅ๐ถ
)
๐œŒ is initialized to be 0.1 because we are dealing with long distance objects, with variance of 1.
For every new feature added, the new covariance matrix becomes
๐‘ท
๐‘ท๐’๐’†๐’˜ = ๐‘ฑ [ ๐’๐’๐’…
๐ŸŽ
๐ŸŽ ๐‘ป
]๐‘ฑ
๐‘น
where ๐‘ท๐’๐’๐’… is the covariance matrix of the existing state vector, and
๐œŽ๐‘ฅ ๐ถ
๐‘–
๐œŽ๐‘ฆ ๐ถ
๐ŸŽ
๐‘–
๐œŽ๐‘ง ๐ถ
๐‘น=
๐‘–
๐œŽ๐œŒ0
๐œŽ๐‘–๐‘š๐‘Ž๐‘”๐‘’
๐ŸŽ
๐œŽ๐‘–๐‘š๐‘Ž๐‘”๐‘’ ]
[
๐œŽ๐‘ฅ ๐ถ , ๐œŽ๐‘ฆ๐ถ , ๐œŽ๐‘ง๐ถ is the uncertainty of the camera optical center position. ๐œŽ๐‘–๐‘š๐‘Ž๐‘”๐‘’ is the pixel variance,
๐‘–
๐‘–
๐‘–
๐œŽ๐‘–๐‘š๐‘Ž๐‘”๐‘’ = 1, and ๐œŽ๐œŒ0 is the initial uncertainty of the inverse distance, initialized to 1 to cover any
distance from 0 to infinity. ๐‘ฑ is the jacobian matrix for the initialization formula.
๐‘ฐ
๐‘ฑ=
๐๐’‘๐’Š
[๐๐‘ถ๐‘ฟ๐‘ช๐‘พ
๐๐’‘๐’Š
๐๐’„๐‘ช
๐๐’‘๐’Š
๐๐’“๐‘ช
๐ŸŽ
โ‹ฎ
๐ŸŽ
๐๐’‘๐’Š
๐ŸŽ … ๐ŸŽ
๐๐’ˆ๐’Š ]
Since ๐’‘๐’Š is not a function of ๐‘ถ๐‘ฟ๐‘ช๐‘พ , ๐’„๐‘ช , ๐’“๐‘ช .Then it follows
๐๐’‘๐’Š
๐๐‘ถ๐‘ฟ๐‘ช๐‘พ
๐๐’‘๐’Š
= ๐ŸŽ๐Ÿ”×๐Ÿ‘
๐๐’„๐‘ช
= ๐ŸŽ๐Ÿ”×๐Ÿ”
๐๐’‘๐’Š
= ๐ŸŽ๐Ÿ”×๐Ÿ‘
๐๐’“๐‘ช
๐‘ฑ can be simplified as
๐‘ฐ
๐ŸŽ
๐๐’‘
๐’Š]
๐‘ฑ = [๐ŸŽ
๐๐’ˆ๐’Š
where ๐’ˆ๐’Š = [๐‘ฅ๐‘–
๐‘ฆ๐‘–
๐‘ง๐‘–
๐œŒ๐‘–
๐‘ข๐‘–
๐‘ฃ๐‘– ]. Then
๐‘ฐ๐Ÿ‘×๐Ÿ‘
๐๐’‘๐’Š
=
๐๐’ˆ๐’Š
๐ŸŽ
[
๐œ•๐œŒ
๐œ•๐œŒ
๐œ•๐œ‘
๐œ•๐œŒ
๐œ•๐œƒ
๐œ•๐œŒ
๐ŸŽ
๐œ•๐œŒ
๐œ•๐‘ข
๐œ•๐œ‘
๐œ•๐‘ข
๐œ•๐œƒ
๐œ•๐‘ข
๐‘ฐ๐Ÿ‘×๐Ÿ‘
๐œ•๐œŒ
๐œ•๐‘ฃ
๐œ•๐œ‘ =
๐ŸŽ
๐œ•๐‘ฃ
๐œ•๐œƒ
[
๐œ•๐‘ฃ]
๐ŸŽ
0
0
๐œ•๐œ‘ ๐œ•๐œ‘
0
๐œ•๐‘ข ๐œ•๐‘ฃ
๐œ•๐œƒ ๐œ•๐œƒ
0
๐œ•๐‘ข ๐œ•๐‘ฃ ]
1
where
๐œ•๐œ‘
๐œ•๐œ‘ ๐œ•๐’‰๐‘ช
= ๐‘ช
๐œ•๐‘ข ๐œ•๐’‰ ๐œ•๐‘ข
๐œ•๐œƒ
๐œ•๐œƒ ๐œ•๐’‰๐‘ช
= ๐‘ช
๐œ•๐‘ข ๐œ•๐’‰ ๐œ•๐‘ข
๐œ•๐œ‘
๐œ•๐œ‘ ๐œ•๐’‰๐‘ช
= ๐‘ช
๐œ•๐‘ฃ ๐œ•๐’‰ ๐œ•๐‘ฃ
๐œ•๐œƒ
๐œ•๐œƒ ๐œ•๐’‰๐‘ช
= ๐‘ช
๐œ•๐‘ฃ ๐œ•๐’‰ ๐œ•๐‘ฃ
and
๐‘‡
−โ„Ž๐‘ฅ๐ถ โˆ™ โ„Ž๐‘ง๐ถ
2
2
2
2
(โ„Ž๐‘ฅ๐ถ + โ„Ž๐‘ฆ๐ถ + โ„Ž๐‘ง๐ถ )√โ„Ž๐‘ฅ๐ถ + โ„Ž๐‘ฆ๐ถ
2
−โ„Ž๐‘ฆ๐‘Š โˆ™ โ„Ž๐‘ง๐‘Š
๐œ•๐œ‘
=
2
2
2
2
2
๐œ•๐’‰๐‘ช
(โ„Ž๐‘ฅ๐ถ + โ„Ž๐‘ฆ๐ถ + โ„Ž๐‘ง๐ถ )√โ„Ž๐‘ฅ๐ถ + โ„Ž๐‘ฆ๐ถ
√โ„Ž๐‘ฅ๐ถ 2 + โ„Ž๐‘ฆ๐ถ 2
[
2
2
2
(โ„Ž๐‘ฅ๐ถ + โ„Ž๐‘ฆ๐ถ + โ„Ž๐‘ง๐ถ )
โ„Ž๐‘ฆ๐ถ
๐œ•๐œƒ
−
= [ ๐ถ2
2
๐œ•๐’‰๐‘ช
โ„Ž๐‘ฅ + โ„Ž๐‘ฆ๐ถ
๐œ•๐’‰๐‘ช
๐œ•๐’‰๐‘ช
=[
๐œ•[๐‘ข ๐‘ฃ]
๐œ•๐‘ข
]
โ„Ž๐‘ฅ๐ถ
2
โ„Ž๐‘ฅ๐ถ + โ„Ž๐‘ฆ๐ถ
0
๐œ•๐’‰๐‘ช
] = [๐‘ ๐‘ฅ
๐œ•๐‘ฃ
0
2
0]
0
0]
๐‘ ๐‘ฆ
Download