Crowd-Intelligence / src /tracker.py
Abhisingh-18's picture
Mirror of github.com/Abhisingh18/Crowd-Intelligence
c3c6f00 verified
Raw
History Blame Contribute Delete
887 Bytes
from ultralytics import YOLO
import torch
class PedestrianTracker:
def __init__(self, model_path='yolov8m.pt', device=None):
if device is None:
self.device = 'cuda' if torch.cuda.is_available() else 'cpu'
else:
self.device = device
self.model = YOLO(model_path)
self.model.to(self.device)
def track(self, frame, conf=0.25, persist=True):
"""
Tracks multiple classes: People (0), Bicycle (1), Car (2), Motorcycle (3), Bus (5), Truck (7).
"""
results = self.model.track(
source=frame,
conf=conf,
persist=persist,
tracker="bytetrack.yaml",
classes=[0, 1, 2, 3, 5, 7], # Person + All major vehicles
verbose=False,
device=self.device
)
return results[0]