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