@@ -170,22 +170,14 @@ <h1>Source code for motrackers.kalman_tracker</h1><div class="highlight"><pre>
170170 < span class ="sd "> """</ span >
171171< span class ="sd "> Kalman Filter Implementation.</ span >
172172
173- < span class ="sd "> Parameters</ span >
174- < span class ="sd "> ----------</ span >
175- < span class ="sd "> transition_matrix: numpy.ndarray</ span >
176- < span class ="sd "> Transition matrix of shape (n, n).</ span >
177- < span class ="sd "> measurement_matrix: numpy.ndarray</ span >
178- < span class ="sd "> Measurement matrix of shape (m, n).</ span >
179- < span class ="sd "> control_matrix: numpy.ndarray</ span >
180- < span class ="sd "> Control matrix of shape (m, n).</ span >
181- < span class ="sd "> process_noise_covariance: numpy.ndarray</ span >
182- < span class ="sd "> Covariance matrix of shape (n, n).</ span >
183- < span class ="sd "> measurement_noise_covariance: numpy.ndarray</ span >
184- < span class ="sd "> Covariance matrix of shape (m, m).</ span >
185- < span class ="sd "> prediction_covariance: numpy.ndarray</ span >
186- < span class ="sd "> Predicted (a priori) estimate covariance of shape (n, n).</ span >
187- < span class ="sd "> initial_state: numpy.ndarray</ span >
188- < span class ="sd "> Initial state of shape (n,).</ span >
173+ < span class ="sd "> Args:</ span >
174+ < span class ="sd "> transition_matrix (numpy.ndarray): Transition matrix of shape ``(n, n)``.</ span >
175+ < span class ="sd "> measurement_matrix (numpy.ndarray): Measurement matrix of shape ``(m, n)``.</ span >
176+ < span class ="sd "> control_matrix (numpy.ndarray): Control matrix of shape ``(m, n)``.</ span >
177+ < span class ="sd "> process_noise_covariance (numpy.ndarray): Covariance matrix of shape ``(n, n)``.</ span >
178+ < span class ="sd "> measurement_noise_covariance (numpy.ndarray): Covariance matrix of shape ``(m, m)``.</ span >
179+ < span class ="sd "> prediction_covariance (numpy.ndarray): Predicted (a priori) estimate covariance of shape ``(n, n)``.</ span >
180+ < span class ="sd "> initial_state (numpy.ndarray): Initial state of shape ``(n,)``.</ span >
189181
190182< span class ="sd "> """</ span >
191183
@@ -225,7 +217,7 @@ <h1>Source code for motrackers.kalman_tracker</h1><div class="highlight"><pre>
225217< span class ="sd "> u (float or int or numpy.ndarray): Control input. Default is `0`.</ span >
226218
227219< span class ="sd "> Returns:</ span >
228- < span class ="sd "> numpy.ndarray : State vector of shape (n,).</ span >
220+ < span class ="sd "> numpy.ndarray : State vector of shape ` (n,)` .</ span >
229221
230222< span class ="sd "> """</ span >
231223 < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> x</ span > < span class ="o "> =</ span > < span class ="n "> np</ span > < span class ="o "> .</ span > < span class ="n "> dot</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> transition_matrix</ span > < span class ="p "> ,</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> x</ span > < span class ="p "> )</ span > < span class ="o "> +</ span > < span class ="n "> np</ span > < span class ="o "> .</ span > < span class ="n "> dot</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> control_matrix</ span > < span class ="p "> ,</ span > < span class ="n "> u</ span > < span class ="p "> )</ span >
@@ -241,10 +233,7 @@ <h1>Source code for motrackers.kalman_tracker</h1><div class="highlight"><pre>
241233< span class ="sd "> Measurement update of Kalman Filter.</ span >
242234
243235< span class ="sd "> Args:</ span >
244- < span class ="sd "> z (numpy.ndarray): Measurement vector of the system with shape (m,).</ span >
245-
246- < span class ="sd "> Returns:</ span >
247-
236+ < span class ="sd "> z (numpy.ndarray): Measurement vector of the system with shape ``(m,)``.</ span >
248237< span class ="sd "> """</ span >
249238 < span class ="n "> y</ span > < span class ="o "> =</ span > < span class ="n "> z</ span > < span class ="o "> -</ span > < span class ="n "> np</ span > < span class ="o "> .</ span > < span class ="n "> dot</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> measurement_matrix</ span > < span class ="p "> ,</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> x</ span > < span class ="p "> )</ span >
250239
@@ -266,6 +255,15 @@ <h1>Source code for motrackers.kalman_tracker</h1><div class="highlight"><pre>
266255
267256
268257< span class ="k "> def</ span > < span class ="nf "> get_process_covariance_matrix</ span > < span class ="p "> (</ span > < span class ="n "> dt</ span > < span class ="p "> ):</ span >
258+ < span class ="sd "> """</ span >
259+ < span class ="sd "> Generates a process noise covariance matrix for constant acceleration motion.</ span >
260+
261+ < span class ="sd "> Args:</ span >
262+ < span class ="sd "> dt (float): Timestep.</ span >
263+
264+ < span class ="sd "> Returns:</ span >
265+ < span class ="sd "> numpy.ndarray: Process covariance matrix of shape `(3, 3)`.</ span >
266+ < span class ="sd "> """</ span >
269267 < span class ="c1 "> # a = np.array([</ span >
270268 < span class ="c1 "> # [0.25 * dt ** 4, 0.5 * dt ** 3, 0.5 * dt ** 2],</ span >
271269 < span class ="c1 "> # [0.5 * dt ** 3, dt ** 2, dt],</ span >
@@ -281,8 +279,17 @@ <h1>Source code for motrackers.kalman_tracker</h1><div class="highlight"><pre>
281279
282280
283281< span class ="k "> def</ span > < span class ="nf "> get_transition_matrix</ span > < span class ="p "> (</ span > < span class ="n "> dt</ span > < span class ="p "> ):</ span >
284- < span class ="n "> a</ span > < span class ="o "> =</ span > < span class ="n "> np</ span > < span class ="o "> .</ span > < span class ="n "> array</ span > < span class ="p "> ([[</ span > < span class ="mf "> 1.</ span > < span class ="p "> ,</ span > < span class ="n "> dt</ span > < span class ="p "> ,</ span > < span class ="n "> dt</ span > < span class ="o "> *</ span > < span class ="n "> dt</ span > < span class ="o "> *</ span > < span class ="mf "> 0.5</ span > < span class ="p "> ],</ span > < span class ="p "> [</ span > < span class ="mf "> 0.</ span > < span class ="p "> ,</ span > < span class ="mf "> 1.</ span > < span class ="p "> ,</ span > < span class ="n "> dt</ span > < span class ="p "> ],</ span > < span class ="p "> [</ span > < span class ="mf "> 0.</ span > < span class ="p "> ,</ span > < span class ="mf "> 0.</ span > < span class ="p "> ,</ span > < span class ="mf "> 1.</ span > < span class ="p "> ]])</ span >
285- < span class ="k "> return</ span > < span class ="n "> a</ span >
282+ < span class ="sd "> """</ span >
283+ < span class ="sd "> Generate the transition matrix for constant acceleration motion.</ span >
284+
285+ < span class ="sd "> Args:</ span >
286+ < span class ="sd "> dt (float): Timestep.</ span >
287+
288+ < span class ="sd "> Returns:</ span >
289+ < span class ="sd "> numpy.ndarray: Transition matrix of shape ``(3, 3)``.</ span >
290+
291+ < span class ="sd "> """</ span >
292+ < span class ="k "> return</ span > < span class ="n "> np</ span > < span class ="o "> .</ span > < span class ="n "> array</ span > < span class ="p "> ([[</ span > < span class ="mf "> 1.</ span > < span class ="p "> ,</ span > < span class ="n "> dt</ span > < span class ="p "> ,</ span > < span class ="n "> dt</ span > < span class ="o "> *</ span > < span class ="n "> dt</ span > < span class ="o "> *</ span > < span class ="mf "> 0.5</ span > < span class ="p "> ],</ span > < span class ="p "> [</ span > < span class ="mf "> 0.</ span > < span class ="p "> ,</ span > < span class ="mf "> 1.</ span > < span class ="p "> ,</ span > < span class ="n "> dt</ span > < span class ="p "> ],</ span > < span class ="p "> [</ span > < span class ="mf "> 0.</ span > < span class ="p "> ,</ span > < span class ="mf "> 0.</ span > < span class ="p "> ,</ span > < span class ="mf "> 1.</ span > < span class ="p "> ]])</ span >
286293
287294
288295< div class ="viewcode-block " id ="KFTrackerConstantAcceleration "> < a class ="viewcode-back " href ="../../includeme/apidocuments.html#motrackers.kalman_tracker.KFTrackerConstantAcceleration "> [docs]</ a > < span class ="k "> class</ span > < span class ="nc "> KFTrackerConstantAcceleration</ span > < span class ="p "> (</ span > < span class ="n "> KalmanFilter</ span > < span class ="p "> ):</ span >
@@ -359,12 +366,13 @@ <h1>Source code for motrackers.kalman_tracker</h1><div class="highlight"><pre>
359366
360367< div class ="viewcode-block " id ="KFTrackerSORT "> < a class ="viewcode-back " href ="../../includeme/apidocuments.html#motrackers.kalman_tracker.KFTrackerSORT "> [docs]</ a > < span class ="k "> class</ span > < span class ="nc "> KFTrackerSORT</ span > < span class ="p "> (</ span > < span class ="n "> KalmanFilter</ span > < span class ="p "> ):</ span >
361368 < span class ="sd "> """</ span >
369+ < span class ="sd "> Kalman filter for ``SORT``.</ span >
362370
363371< span class ="sd "> Args:</ span >
364- < span class ="sd "> bbox (numpy.ndarray): Bounding box coordinates as (xmid, ymid, area, aspect_ratio).</ span >
372+ < span class ="sd "> bbox (numpy.ndarray): Bounding box coordinates as `` (xmid, ymid, area, aspect_ratio)`` .</ span >
365373< span class ="sd "> time_step (float or int): Time step.</ span >
366374< span class ="sd "> process_noise_scale (float): Scale (a.k.a covariance) of the process noise.</ span >
367- < span class ="sd "> measurement_noise_scale (float): Scale (a.k.a covariance) of the measurement noise.</ span >
375+ < span class ="sd "> measurement_noise_scale (float): Scale (a.k.a. covariance) of the measurement noise.</ span >
368376< span class ="sd "> """</ span >
369377 < span class ="k "> def</ span > < span class ="fm "> __init__</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="p "> ,</ span > < span class ="n "> bbox</ span > < span class ="p "> ,</ span > < span class ="n "> process_noise_scale</ span > < span class ="o "> =</ span > < span class ="mf "> 1.0</ span > < span class ="p "> ,</ span > < span class ="n "> measurement_noise_scale</ span > < span class ="o "> =</ span > < span class ="mf "> 1.0</ span > < span class ="p "> ,</ span > < span class ="n "> time_step</ span > < span class ="o "> =</ span > < span class ="mi "> 1</ span > < span class ="p "> ):</ span >
370378 < span class ="k "> assert</ span > < span class ="n "> bbox</ span > < span class ="o "> .</ span > < span class ="n "> shape</ span > < span class ="p "> [</ span > < span class ="mi "> 0</ span > < span class ="p "> ]</ span > < span class ="o "> ==</ span > < span class ="mi "> 4</ span > < span class ="p "> ,</ span > < span class ="n "> bbox</ span > < span class ="o "> .</ span > < span class ="n "> shape</ span >
0 commit comments