-
Notifications
You must be signed in to change notification settings - Fork 103
Description
Hi, In multi-object-tracker, inappropriate dependency versioning constraints can cause risks.
Below are the dependencies and version constraints that the project is using
numpy
scipy
matplotlib
opencv-contrib-python
pandas
motmetrics
setuptools
ipyfilechooser
The version constraint == will introduce the risk of dependency conflicts because the scope of dependencies is too strict.
The version constraint No Upper Bound and * will introduce the risk of the missing API Error because the latest version of the dependencies may remove some APIs.
After further analysis, in this project,
The version constraint of dependency numpy can be changed to >=1.8.0,<=1.23.0rc3.
The version constraint of dependency scipy can be changed to >=0.12.0,<=1.8.1.
The above modification suggestions can reduce the dependency conflicts as much as possible,
and introduce the latest version as much as possible without calling Error in the projects.
The invocation of the current project includes all the following methods.
The calling methods from the numpy
numpy.linalg.inv
The calling methods from the scipy
scipy.spatial.distance.cdist
The calling methods from the all methods
numpy.sqrt motrackers.detectors.Caffe_SSDMobileNet.detect numpy.arange numpy.minimum iou format motrackers.utils.misc.get_centroid scipy.spatial.distance.cdist matplotlib.pyplot.plot motrackers.track.KFTrackCentroid class_ids.np.array.astype.append numpy.random.randint.tolist x.flatten.flatten self.update cv2.dnn.NMSBoxes numpy.random.random_integers assign_tracks2detection_centroid_distances unmatched_tracks.append json.load.items motrackers.CentroidKF_Tracker os.path.join motrackers.detectors.TF_SSDMobileNetV2.detect scores.astype.astype track.output KFTracker1D sys.path.insert cv2.imshow print select_caffemodel_prototxt motrackers.utils.misc.load_labelsjson motrackers.detectors.YOLOv3.detect int numpy.random.randint image.self.forward.squeeze.squeeze bboxes.np.array.xyxy2xywh.tolist motrackers.tracker.Tracker.preprocess_input ValueError self.kf.update self.net.forward numpy.amin test_KFTracker2D argparse.ArgumentParser ord motrackers.IOUTracker max metrics_motchallenge_files centroid_distances.np.amin.argsort vars confidences.append motmetrics.metrics.create.compute_many select_pbtxt dict2jsonfile motrackers.kalman_tracker.KFTracker4D updated_detections.append Tracker.preprocess_input motrackers.track.Track dict KFTracker2D.predict numpy.ones_like cv2.destroyAllWindows self.kf.predict motmetrics.utils.compare_to_groundtruth numpy.empty.append numpy.hstack select_yolo_weights kwargs.items motrackers.detectors.YOLOv3.draw_bboxes assign_tracks2detection_iou min super.update test_KFTracker1D numpy.random.randn numpy.dot vars.OPENCV_OBJECT_TRACKERS cv2.MultiTracker_create.update cv2.putText y.x.xywh.np.concatenate.astype wh.xymin.np.concatenate.astype yb.xr.y.x.np.array.astype cv2.dnn.readNetFromCaffe height.width.top.left.np.array.astype enumerate self.IOUTracker.super.__init__ range self.forward open argparse.ArgumentParser.add_argument track_id.self.tracks.update matplotlib.pyplot.xlim cv2.dnn.readNetFromDarknet setattr create_filechooser setuptools.setup numpy.random.random_integers.reshape numpy.concatenate numpy.asarray motrackers.kalman_tracker.KFTracker2D create_data len float motrackers.kalman_tracker.KFTrackerSORT numpy.array.append cv2.circle cv2.resize scipy.optimize.linear_sum_assignment indices.bboxes.np.array.astype motrackers.IOUTracker.update motmetrics.io.loadtxt numpy.ones json.dump self.nms_threshold.self.confidence_threshold.confidences.bboxes.cv.dnn.NMSBoxes.flatten cv2.selectROI h.w.h.ymid.w.xmid.np.array.astype motmetrics.io.render_summary self._update_track self.net.setPreferableTarget self.object_names.keys image.self.forward.squeeze numpy.array.astype self.net.setInput numpy.where updated_tracks.append list matplotlib.pyplot.grid matplotlib.pyplot.show zip numpy.random.seed main numpy.sin cv2.getTextSize cv2.rectangle cv2.VideoCapture self._remove_track track_id.self.tracks.predict self.net.getUnconnectedOutLayers self.tracks.keys KFTracker2D.update cv2.VideoCapture.read os.path.abspath motrackers.track.KFTrack4DSORT motrackers.SORT unmatched_detections.append select_caffemodel_weights collections.OrderedDict cv2.MultiTracker_create bboxes.np.array.xyxy2xywh.tolist.append KFTracker2D motrackers.utils.misc.xyxy2xywh self.net.getLayerNames super.__init__ numpy.eye super motrackers.detectors.TF_SSDMobileNetV2 cv2.dnn.readNetFromTensorflow numpy.maximum matplotlib.pyplot.legend numpy.argmax get_transition_matrix numpy.array pick.append numpy.empty motrackers.detectors.Caffe_SSDMobileNet.draw_bboxes self.net.setPreferableBackend get_centroid motrackers.utils.misc.iou_xywh get_process_covariance_matrix boxes.astype.astype motrackers.detectors.TF_SSDMobileNetV2.draw_bboxes motrackers.utils.draw_tracks cv2.dnn.blobFromImage compute_motchallenge self._get_tracks.append select_yolo_config cv2.MultiTracker_create.add select_coco_labels numpy.argsort self._add_track self._get_tracks numpy.linalg.inv cv2.waitKey motrackers.detectors.Caffe_SSDMobileNet bboxes.append class_ids.np.array.astype time.sleep h.w.h.ymid.w.xmid.np.array.astype.astype json.load cv2.VideoCapture.release setuptools.find_packages argparse.ArgumentParser.parse_args cv2.resize.copy motrackers.detectors.YOLOv3 numpy.zeros motmetrics.metrics.create bbox.copy motrackers.CentroidTracker select_tfmobilenet_weights ipyfilechooser.FileChooser numpy.delete tracks.items h.w.ymin.xmin.np.array.astype
@developer
Could please help me check this issue?
May I pull a request to fix it?
Thank you very much.