add StrongSORT Tacker

This commit is contained in:
Pongsatorn Kanjanasantisak 2025-08-10 01:23:09 +07:00
parent ffc2e99678
commit b7d8b3266f
93 changed files with 20230 additions and 6 deletions

View file

21
feeder/sender/base.py Normal file
View file

@ -0,0 +1,21 @@
import numpy as np
import json
class NumpyArrayEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, np.integer):
return int(obj)
elif isinstance(obj, np.floating):
return float(obj)
elif isinstance(obj, np.ndarray):
return obj.tolist()
else:
return super(NumpyArrayEncoder, self).default(obj)
class BasSender:
def __init__(self) -> None:
pass
def send(self, messages):
raise NotImplementedError()

View file

@ -0,0 +1,13 @@
from .base import BasSender
from loguru import logger
import json
from .base import NumpyArrayEncoder
class JsonLogger(BasSender):
def __init__(self, log_filename:str = "tracking.log") -> None:
super().__init__()
self.logger = logger
self.logger.add(log_filename, format="{message}", level="INFO")
def send(self, messages):
self.logger.info(json.dumps(messages, cls=NumpyArrayEncoder))

14
feeder/sender/szmq.py Normal file
View file

@ -0,0 +1,14 @@
from .base import BasSender, NumpyArrayEncoder
import zmq
import json
class ZmqLogger(BasSender):
def __init__(self, ip_addr:str = "localhost", port:int = 5555) -> None:
super().__init__()
self.context = zmq.Context()
self.producer = self.context.socket(zmq.PUB)
self.producer.connect(f"tcp://{ip_addr}:{port}")
def send(self, messages):
self.producer.send_string(json.dumps(messages, cls = NumpyArrayEncoder))