Does multitracker.add() function support only X,Y coordinates?

multiTracker.add(…) function seems to be insufficient to track spheres in a frame.

In the very first frames, trackers seem to work fine, but then, after the spheres start to move around, the markers get totally lost in the screen

How detection/tracking could be improved in this case?

Would it be possible to track not only [x,y] (i.e. boxes) but also, the color of the pixel in that respective area (i.e. boxes coordinates [x,y])?

if not the color of the pixel, what feature could be used then?

How could we create a unique object signature and track it through the entire sequence of frames?

p.s. the objects (i.e. spheres) are in motion in a sequence of 3k frames

The chunk of the code is below

    # Specify the tracker type
    trackerType = "CSRT"
    # createTrackerByName(trackerType)

    # Create MultiTracker object
    multiTracker = cv2.legacy.MultiTracker_create()


    # Initialize MultiTracker 
    for bbox in bboxes:
         multiTracker.add(createTrackerByName(trackerType), frame, bbox)
...