सामग्री पर जाएं

के लिए संदर्भ ultralytics/trackers/basetrack.py

नोट

यह फ़ाइल यहाँ उपलब्ध है https://github.com/ultralytics/ultralytics/बूँद/मुख्य/ultralytics/trackers/basetrack.py का उपयोग करें। यदि आप कोई समस्या देखते हैं तो कृपया पुल अनुरोध का योगदान करके इसे ठीक करने में मदद करें 🛠️। 🙏 धन्यवाद !



ultralytics.trackers.basetrack.TrackState

गणना वर्ग ट्रैक किए जा रहे ऑब्जेक्ट की संभावित अवस्थाओं का प्रतिनिधित्व करता है।

विशेषताएँ:

नाम प्रकार विवरण: __________
New int

जब वस्तु का पता चला है तो बताएं।

Tracked int

राज्य जब ऑब्जेक्ट को बाद के फ़्रेमों में सफलतापूर्वक ट्रैक किया जाता है।

Lost int

बताएं कि ऑब्जेक्ट अब कब ट्रैक नहीं किया जाता है।

Removed int

बताएं कि ऑब्जेक्ट को ट्रैकिंग से कब हटाया जाता है।

में स्रोत कोड ultralytics/trackers/basetrack.py
 9 बांग्लादेश 10 11 12 13 141516171819 20212223
class TrackState:
    """
    Enumeration class representing the possible states of an object being tracked.

    Attributes:
        New (int): State when the object is newly detected.
        Tracked (int): State when the object is successfully tracked in subsequent frames.
        Lost (int): State when the object is no longer tracked.
        Removed (int): State when the object is removed from tracking.
    """

    New = 0
    Tracked = 1
    Lost = 2
    Removed = 3



ultralytics.trackers.basetrack.BaseTrack

ऑब्जेक्ट ट्रैकिंग के लिए बेस क्लास, मूलभूत विशेषताओं और विधियों को प्रदान करना।

विशेषताएँ:

नाम प्रकार विवरण: __________
_count int

अद्वितीय ट्रैक आईडी के लिए वर्ग-स्तरीय काउंटर।

track_id int

ट्रैक के लिए युनीक आइडेंटिफ़ायर.

is_activated bool

ध्वज इंगित करता है कि ट्रैक वर्तमान में सक्रिय है या नहीं।

state TrackState

ट्रैक की वर्तमान स्थिति।

history OrderedDict

ट्रैक के राज्यों का आदेशित इतिहास।

features list

ट्रैकिंग के लिए ऑब्जेक्ट से निकाली गई सुविधाओं की सूची।

curr_feature any

ट्रैक किए जा रहे ऑब्जेक्ट की वर्तमान सुविधा.

score float

ट्रैकिंग का आत्मविश्वास स्कोर।

start_frame int

वह फ़्रेम नंबर जहाँ ट्रैकिंग प्रारंभ हुई.

frame_id int

ट्रैक द्वारा संसाधित सबसे हालिया फ्रेम आईडी।

time_since_update int

पिछले अद्यतन के बाद से फ्रेम्स पारित कर दिया।

location tuple

मल्टी-कैमरा ट्रैकिंग के संदर्भ में ऑब्जेक्ट का स्थान.

विधियाँ:

नाम विवरण: __________
end_frame

अंतिम फ़्रेम की ID लौटाता है जहाँ ऑब्जेक्ट ट्रैक किया गया था.

next_id

वृद्धि करता है और अगली वैश्विक ट्रैक आईडी लौटाता है।

activate

ट्रैक को सक्रिय करने के लिए सार विधि।

predict

ट्रैक की अगली स्थिति की भविष्यवाणी करने के लिए सार विधि।

update

नए डेटा के साथ ट्रैक को अपडेट करने के लिए सार विधि।

mark_lost

ट्रैक को खोया हुआ के रूप में चिह्नित करता है।

mark_removed

ट्रैक को हटाया गया के रूप में चिह्नित करता है।

reset_id

वैश्विक ट्रैक आईडी काउंटर रीसेट करता है।

में स्रोत कोड ultralytics/trackers/basetrack.py
26 27 28 29 30 31 32 33 34 35 36 37 38  39 40 41 42 43 44 45 46 47 48 49 50  51 52   53   54 55   56 57     58            59   60   61 62 63 64 65 66 67 68  69 70 71 72 73 74 75  76 77 78  79 80 81  82  83 84   85 86 87   88           89 90 91 92  93 94 95  96 97 98 99  100 101 102  103 104 105 
class BaseTrack:
    """
    Base class for object tracking, providing foundational attributes and methods.

    Attributes:
        _count (int): Class-level counter for unique track IDs.
        track_id (int): Unique identifier for the track.
        is_activated (bool): Flag indicating whether the track is currently active.
        state (TrackState): Current state of the track.
        history (OrderedDict): Ordered history of the track's states.
        features (list): List of features extracted from the object for tracking.
        curr_feature (any): The current feature of the object being tracked.
        score (float): The confidence score of the tracking.
        start_frame (int): The frame number where tracking started.
        frame_id (int): The most recent frame ID processed by the track.
        time_since_update (int): Frames passed since the last update.
        location (tuple): The location of the object in the context of multi-camera tracking.

    Methods:
        end_frame: Returns the ID of the last frame where the object was tracked.
        next_id: Increments and returns the next global track ID.
        activate: Abstract method to activate the track.
        predict: Abstract method to predict the next state of the track.
        update: Abstract method to update the track with new data.
        mark_lost: Marks the track as lost.
        mark_removed: Marks the track as removed.
        reset_id: Resets the global track ID counter.
    """

    _count = 0

    def __init__(self):
        """Initializes a new track with unique ID and foundational tracking attributes."""
        self.track_id = 0
        self.is_activated = False
        self.state = TrackState.New
        self.history = OrderedDict()
        self.features = []
        self.curr_feature = None
        self.score = 0
        self.start_frame = 0
        self.frame_id = 0
        self.time_since_update = 0
        self.location = (np.inf, np.inf)

    @property
    def end_frame(self):
        """Return the last frame ID of the track."""
        return self.frame_id

    @staticmethod
    def next_id():
        """Increment and return the global track ID counter."""
        BaseTrack._count += 1
        return BaseTrack._count

    def activate(self, *args):
        """Abstract method to activate the track with provided arguments."""
        raise NotImplementedError

    def predict(self):
        """Abstract method to predict the next state of the track."""
        raise NotImplementedError

    def update(self, *args, **kwargs):
        """Abstract method to update the track with new observations."""
        raise NotImplementedError

    def mark_lost(self):
        """Mark the track as lost."""
        self.state = TrackState.Lost

    def mark_removed(self):
        """Mark the track as removed."""
        self.state = TrackState.Removed

    @staticmethod
    def reset_id():
        """Reset the global track ID counter."""
        BaseTrack._count = 0

end_frame property

ट्रैक की अंतिम फ्रेम आईडी लौटाएं।

__init__()

अद्वितीय आईडी और मूलभूत ट्रैकिंग विशेषताओं के साथ एक नया ट्रैक शुरू करता है।

में स्रोत कोड ultralytics/trackers/basetrack.py
def __init__(self):
    """Initializes a new track with unique ID and foundational tracking attributes."""
    self.track_id = 0
    self.is_activated = False
    self.state = TrackState.New
    self.history = OrderedDict()
    self.features = []
    self.curr_feature = None
    self.score = 0
    self.start_frame = 0
    self.frame_id = 0
    self.time_since_update = 0
    self.location = (np.inf, np.inf)

activate(*args)

प्रदान किए गए तर्कों के साथ ट्रैक को सक्रिय करने के लिए सार विधि।

में स्रोत कोड ultralytics/trackers/basetrack.py
def activate(self, *args):
    """Abstract method to activate the track with provided arguments."""
    raise NotImplementedError

mark_lost()

ट्रैक को खोया हुआ के रूप में चिह्नित करें।

में स्रोत कोड ultralytics/trackers/basetrack.py
def mark_lost(self):
    """Mark the track as lost."""
    self.state = TrackState.Lost

mark_removed()

ट्रैक को हटाए गए के रूप में चिह्नित करें।

में स्रोत कोड ultralytics/trackers/basetrack.py
def mark_removed(self):
    """Mark the track as removed."""
    self.state = TrackState.Removed

next_id() staticmethod

वृद्धि करें और वैश्विक ट्रैक आईडी काउंटर लौटाएं।

में स्रोत कोड ultralytics/trackers/basetrack.py
@staticmethod
def next_id():
    """Increment and return the global track ID counter."""
    BaseTrack._count += 1
    return BaseTrack._count

predict()

ट्रैक की अगली स्थिति की भविष्यवाणी करने के लिए सार विधि।

में स्रोत कोड ultralytics/trackers/basetrack.py
def predict(self):
    """Abstract method to predict the next state of the track."""
    raise NotImplementedError

reset_id() staticmethod

ग्लोबल ट्रैक आईडी काउंटर रीसेट करें.

में स्रोत कोड ultralytics/trackers/basetrack.py
102 103 104 105
@staticmethod
def reset_id():
    """Reset the global track ID counter."""
    BaseTrack._count = 0

update(*args, **kwargs)

नई टिप्पणियों के साथ ट्रैक को अपडेट करने के लिए सार विधि।

में स्रोत कोड ultralytics/trackers/basetrack.py
def update(self, *args, **kwargs):
    """Abstract method to update the track with new observations."""
    raise NotImplementedError





2023-11-12 बनाया गया, अपडेट किया गया 2023-11-25
लेखक: ग्लेन-जोचर (3)