@@ -183,15 +183,15 @@ def calculate_score(self, bboxes) -> None:
183183 if self .params .track_men :
184184 men_center = [self .get_center (item ) for item in bboxes ['Men' ][tracker_number ]]
185185
186- score ['x' ][tracker_number ] = np .array ([w [0 ] - m [0 ] for w , m in zip (bboxes [ 'Woman' ][ tracker_number ], bboxes [ 'Men' ][ tracker_number ] )])
187- score ['y' ][tracker_number ] = np .array ([m [1 ] - w [1 ] for w , m in zip (bboxes [ 'Woman' ][ tracker_number ], bboxes [ 'Men' ][ tracker_number ] )])
186+ score ['x' ][tracker_number ] = np .array ([w [0 ] - m [0 ] for w , m in zip (woman_center , men_center )])
187+ score ['y' ][tracker_number ] = np .array ([m [1 ] - w [1 ] for w , m in zip (woman_center , men_center )])
188188
189189 score ['distance' ][tracker_number ] = np .array ([np .sqrt (np .sum ((np .array (m ) - np .array (w )) ** 2 , axis = 0 )) \
190190 for w , m in zip (woman_center , men_center )])
191191
192192 for i in range ( min (( len (men_center ), len (woman_center ) )) ):
193- x = bboxes [ 'Woman' ][ tracker_number ][ i ][0 ] - bboxes [ 'Men' ][ tracker_number ] [i ][0 ]
194- y = bboxes [ 'Men' ][ tracker_number ][ i ][1 ] - bboxes [ 'Woman' ][ tracker_number ] [i ][1 ]
193+ x = woman_center [ i ][0 ] - men_center [i ][0 ]
194+ y = men_center [ i ][1 ] - woman_center [i ][1 ]
195195 if x >= 0 and y >= 0 :
196196 score ['roll' ][tracker_number ].append (np .arctan (np .array (y / max ((10e-3 , x )))))
197197 elif x >= 0 and y < 0 :
@@ -210,8 +210,10 @@ def calculate_score(self, bboxes) -> None:
210210
211211
212212 else :
213- score ['x' ][tracker_number ] = np .array ([w [0 ] - min ([x [0 ] for x in bboxes ['Woman' ][tracker_number ]]) for w in bboxes ['Woman' ][tracker_number ]])
214- score ['y' ][tracker_number ] = np .array ([max ([x [1 ] for x in bboxes ['Woman' ][tracker_number ]]) - w [1 ] for w in bboxes ['Woman' ][tracker_number ]])
213+ min_woman_x = min ([x [0 ] for x in woman_center ])
214+ max_woman_y = max ([x [1 ] for x in woman_center ])
215+ score ['x' ][tracker_number ] = np .array ([w [0 ] - min_woman_x for w in woman_center ])
216+ score ['y' ][tracker_number ] = np .array ([max_woman_y - w [1 ] for w in woman_center ])
215217
216218 self .logger .info ("Merge Scores" )
217219
0 commit comments