示例#1
0
 def __init__(self, detector: Config, matcher: Config,
              encoders: List[Config], predictor: Config, **kwargs):
     # Allow detector to be None
     detector = build_detector(detector) if detector is not None else None
     matcher = build_matcher(matcher)
     encoders = [build_encoder(encoder_cfg) for encoder_cfg in encoders]
     predictor = build_predictor(predictor)
     if 'detection_filters' in kwargs.keys():
         kwargs['detection_filters'] = [
             build_detection_filter(filter_cfg)
             for filter_cfg in kwargs['detection_filters']
         ]
     super().__init__(detector, encoders, matcher, predictor, **kwargs)
    def __init__(self, detector: Config, encoders: List[Config], matcher: Config, predictor: Config,
                 central_address: str, **kwargs):
        self.detector = build_detector(detector)
        self.encoders = [build_encoder(encoder) for encoder in encoders]
        self.detection_filters = []
        self.identifier = random.randint(0, 1000000)

        self.zmq_context = zmq.Context()
        self.subscribe_socket = self.zmq_context.socket(zmq.SUB)
        self.subscribe_socket.connect('tcp://' + central_address)
        self.subscribe_socket.setsockopt_string(zmq.SUBSCRIBE, np.unicode(''))

        super(SingleThreadTracker, self).__init__(self.detector, self.encoders, matcher, predictor, **kwargs)
示例#3
0
 def __init__(self, detector: Config, matcher: Config, encoders: List[Config], predictor: Config,
              sigma_active: float = 0.5, lambda_active: float = 0.6,
              lambda_new: float = 0.3, secondary_matcher: Config = None, **kwargs):
     detector = build_detector(detector)
     matcher = build_matcher(matcher)
     encoders = [build_encoder(encoder_cfg) for encoder_cfg in encoders]
     predictor = build_predictor(predictor)
     self.sigma_active = sigma_active
     self.lambda_active = lambda_active
     self.lambda_new = lambda_new
     self.tracklets_inactive = []
     if secondary_matcher is not None:
         self.secondary_matcher = build_matcher(secondary_matcher)
     super().__init__(detector, encoders, matcher, predictor, **kwargs)
 def run(self) -> None:
     detector = None
     try:
         if self.config is not None:
             detector = build_detector(self.config)
             while self.running:
                 if self.lock.acquire(timeout=1):
                     self.tracker.latest_detections = detector.detect(
                         self.tracker.frame)
                     self.next_lock.release()
     except Exception as e:
         traceback.print_exc()
         self.running = False
         raise e
     finally:
         if hasattr(detector, 'destroy'):
             detector.destroy()
         logging.getLogger('MOT').info('Detector thread terminated.')
示例#5
0
def test_get_component():
    detector = build_detector(dict(type='MMDetector'))
    encoder = build_encoder(dict(type='DGNetEncoder'))
    metric = build_metric(dict(type='IoUMetric'))
    matcher = build_matcher(dict(type='HungarianMatcher'))
    tracker = build_tracker(dict(type='Tracktor'))