theAIGuysCode / yolov3_deepsort

Object tracking implemented with YOLOv3, Deep Sort and Tensorflow.
GNU General Public License v3.0
337 stars 186 forks source link

Error: anable to solve the linear assignment of a cost_matrix with nan values #58

Closed LoSpino87 closed 2 years ago

LoSpino87 commented 2 years ago

As reported below, if the following cost_matrix contains nan values, the linear_sum_assignment function crashes.

[[0.70001    0.70001    0.70001    0.70001   ]
 [0.03333333 0.70001    0.70001    0.70001   ]
 [       nan        nan        nan        nan]]

Traceback (most recent call last):
  File "object_tracker.py", line 166, in <module>
    app.run(main)
  File "/usr/local/lib/python3.7/dist-packages/absl/app.py", line 303, in run
    _run_main(main, args)
  File "/usr/local/lib/python3.7/dist-packages/absl/app.py", line 251, in _run_main
    sys.exit(main(argv))
  File "object_tracker.py", line 119, in main
    tracker.update(detections)
  File "/content/yolov3_deepsort/deep_sort/tracker.py", line 69, in update
    self._match(detections)
  File "/content/yolov3_deepsort/deep_sort/tracker.py", line 127, in _match
    detections, iou_track_candidates, unmatched_detections)
  File "/content/yolov3_deepsort/deep_sort/linear_assignment.py", line 59, in min_cost_matching
    indices = linear_sum_assignment(cost_matrix)
  File "/usr/local/lib/python3.7/dist-packages/scipy/optimize/_lsap.py", line 100, in linear_sum_assignment
    return _lsap_module.calculate_assignment(cost_matrix)
ValueError: matrix contains invalid numeric entries