# Tracking metrics low

**URL:** <https://community.ultralytics.com/t/tracking-metrics-low/553>\
**Category:** YOLO\
**Created:** [November 29, 2024, 1:31pm UTC](https://community.ultralytics.com/t/tracking-metrics-low/553 "2024-11-29T13:31:08Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![ramafahad](https://sea1.discourse-cdn.com/flex001/user_avatar/community.ultralytics.com/ramafahad/32/361_2.png) [@ramafahad](https://community.ultralytics.com/u/ramafahad)\
**Post date:** [November 29, 2024, 1:31pm UTC](https://community.ultralytics.com/t/tracking-metrics-low/553/1 "2024-11-29T13:31:08Z")

</div>

I am running my yolo11 people detection model on the personpath22 dataset then evaluating the results using trackeval, im using the following code to save the tracking results for comparison:

```python
from ultralytics import YOLO
import os

# Load trained model
model = YOLO("yolo11s.pt") (also tried w model trained on roboflow crowd dataset)

path = "/content/drive/MyDrive/tracking-dataset/dataset/personpath22/raw_data"
dir = os.listdir(path)

from os import path
with open('/content/drive/MyDrive/TrackEval/data/gt/person_path_22/seqmaps/person_path_22-test.txt','r') as f:
    file_names = [l.strip() for l in f.readlines()]

for file in dir:
  if file in file_names:
    # Perform tracking on your video or image sequence
    results = model.track(source='/content/drive/MyDrive/tracking-dataset/dataset/personpath22/raw_data/'+file, classes=0, persist=True,stream=True)

    # Save results in MOTChallenge format (frame, id, bbox, conf)
    with open(f"/content/drive/MyDrive/TrackEval/data/trackers/person_path_22-test/yolo_bot/data/{file}.txt", 'w') as f:
        for frame_id, result in enumerate(results):
            for box in result.boxes:
                # Check if box.id is not None before accessing its attributes
                if box.id is not None:
                    bbox = box.xyxy[0].tolist() # Convert from tensor to list
                    track_id = box.id.item() # Get track id
                    conf = box.conf.item() # Get confidence score
                    f.write(f'{frame_id+1},{track_id},{bbox[0]},{bbox[1]},{bbox[2]-bbox[0]},{bbox[3]-bbox[1]},{conf},-1,-1,-1\n')

```

I got a result of HOTA=36.31, MOTA= 38.25, IDF1=39.15. The results are very low compared to benchmarks of around 80. the model did very good on detection. how can I improve these results?

---

<div class="post-metadata">

**Author:** ![BurhanQ](https://sea1.discourse-cdn.com/flex001/user_avatar/community.ultralytics.com/burhanq/32/7_2.png) [@BurhanQ](https://community.ultralytics.com/u/BurhanQ)\
**Post date:** [November 29, 2024, 1:46pm UTC](https://community.ultralytics.com/t/tracking-metrics-low/553/2 "2024-11-29T13:46:46Z")

</div>

There are lots of things to try. You can try adjust the parameters for `conf` or `iou`. Additionally you could try other trackers and try adjusting the tracking parameters. Training a model with data more similar to your application would also help. Definitely read up on the [track mode in the docs](https://docs.ultralytics.com/modes/track/) too.
