You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

31 KiB

comments description keywords
true िम म आवक टक करनिए Ultralytics YOLO क उपयग क कर। टकरस क उपयग करन और टकर किगरशन क अनित करनिए गइड। Ultralytics, YOLO, आवक टिग, विम, BoT-SORT, ByteTrack, पयथन गइड, CLI गइड

Ultralytics YOLO कथ मल-ऑबट टि

Multi-object tracking examples

ि एनििस कर म, ऑबट टिग एक महतवपण कय हवल फम म वसन और वरग क पहचन करन अलिरगतिथ-सथ परतक ख गई वसिए एक अदिय आईड बनए रखत। इसक अनरयग ह असित—निगर और सरककर रियल-टइम सस एनििस तक।

ऑबट टिग किए Ultralytics YOLO क?

Ultralytics टकर उतपनन परिम मनक ऑबट डिशन कथ मल ख, लिन विम म ऑबक करन और उपय गणन करन आसन ह। यह आपक Ultralytics YOLO क उपयग अपन ऑबट टिग क जररतिए करन सलह द रह:

  • रदरशनशलत: सटकतमल समय-सतय हथ विम करकि कर
  • लचपन:ििन टिग ऍलिदम और विस पर समरथन कर
  • उपयग करन आस: झटपट एककरण और डिय करनिए सरल पयथन API और CLI विकलप।
  • कसटमइजिि: कसटम टन किए गए YOLO मडल कथ उपयग म आसन, जिससन-वििट एपिशन म समश करनभव ह



: Ultralytics YOLOv8 कथ ऑबट डिशन और टिग।

तविक दि अनरय

परिवहन दर जलजजनित उतदन
![वहन टिग][vehicle track] ![लग टिग][people track] ![मछलिग][fish track]
हन टि ग टि मछलि

िषत एक झलक म

Ultralytics YOLO अपन ऑबट डिशन विषत बढकर मजत और बह ऑबट टिग परदन करत:

  • यल-टइम टिग: उचच फम दर वि समयबदध रप स ऑबस कक कर
  • एकिक टकर समरथन: इसित टिग ऍलिदम एक च
  • कसटमइजबल टकर किगरशन:ििन पटरस क समित करकिष आवशयकत करनिए टिग ऍलिदम क अनित कर

उपलबध टकर

Ultralytics YOLO निनलिित टिग ऍलिदम समरथन करत। आप इनय YAML किगरशन फइल (tracker=tracker_type.yaml) पित करक सकषम कर सकत:

  • BoT-SORT - इस टकर क सकषम करनिbotsort.yaml उपयग कर
  • ByteTrack - इस टकर क सकषम करनिbytetrack.yaml उपयग कर

िट टकर BoT-SORT ह

ि

िस पर टकर चलिए, YOLOv8n, YOLOv8n-seg और YOLOv8n-pose जरशिित Detect, Segment य Pose मडल क उपयग कर

!!! Example "उदहरण"

=== "पयथन"

    ```python
    from ultralytics import YOLO

    # एक आधििक य कसटम मडल लड कर
    model = YOLO('yolov8n.pt')  # एक आधििक Detect मडल लड कर
    model = YOLO('yolov8n-seg.pt')  # एक आधििक Segment मडल लड कर
    model = YOLO('yolov8n-pose.pt')  # एक आधििक Pose मडल लड कर
    model = YOLO('path/to/best.pt')  # एक कसटम परशिित मडल लड कर

    # मडल कथ टिग कर
    results = model.track(source="https://youtu.be/LNwODJXcvt4", show=True)  # डिट टकर कथ टिग कर
    results = model.track(source="https://youtu.be/LNwODJXcvt4", show=True, tracker="bytetrack.yaml")  # ByteTrack टकर कथ टिग कर
    ```

=== "CLI"

    ```बश
    # CLI कथ वििन मडल कथ टिग करक मडल=yolov8n.pt सत="https://youtu.be/LNwODJXcvt4"  # आधििक डिट मडल
    यक मडल=yolov8n-seg.pt सत="https://youtu.be/LNwODJXcvt4"  # आधििक सगमट मडल
    यक मडल=yolov8n-pose.pt सत="https://youtu.be/LNwODJXcvt4"  # आधििक पज मडल
    यक मडल=path/to/best.pt सत="https://youtu.be/LNwODJXcvt4"  # कसटम परशिित मडल

    # ByteTrack टकर क उपयग करक मडल=path/to/best.pt टकर="bytetrack.yaml"
    ```

ऊपर क उपयग मगलििचलििग उपलबध ह सभिट, सगमट और पज मडलस किए जििग सत पर चल सकत

िगरशन

िग आर

िग किगरशन, जि conf, iou और show, निशन मड कथ ग करत। और विस करनिए, कपय िशनडल पठ पर सदरभ कर

!!! Example "उदहरण"

=== "पयथन"

    ```python
    from ultralytics import YOLO

    # टिग पटर आवटन कर और टकर चल
    model = YOLO('yolov8n.pt')
    results = model.track(source="https://youtu.be/LNwODJXcvt4", conf=0.3, iou=0.5, show=True)
    ```

=== "CLI"

    ```बश
    # कमड लइन इटरफस क उपयग करिग पटर किगर कर और टकर चलक मडल=yolov8n.pt सत="https://youtu.be/LNwODJXcvt4" conf=0.3, iou=0.5 show
    ```

कर चयन

Ultralytics आपक एक सित टकर किगरशन फइल क उपयग करन अनमति। ऐस करनिए, बस ultralytics/cfg/trackers एक टकर किगरशन फइल (ज custom_tracker.yaml) क एक परतििि बन और कििस कित कर ( tracker_typeकर) अपन जररत अनर।

!!! Example "उदहरण"

=== "पयथन"

    ```python
    from ultralytics import YOLO

    # मडल लड कर और एक कसटम किगरशन फइल कथ टकर चल
    model = YOLO('yolov8n.pt')
    results = model.track(source="https://youtu.be/LNwODJXcvt4", tracker='custom_tracker.yaml')
    ```

=== "CLI"

    ```बश
    # टकर कथ एक कसटम किगरशन फइल क उपयग करकडल लड कर और टकर चलक मडल=yolov8n.pt सत="https://youtu.be/LNwODJXcvt4" tracker='custom_tracker.yaml'
    ```

िग आरस क एक वपक सिए, ultralytics/cfg/trackersज पर सदरभ कर

यथन उदहरण

क परिट करन

यह एक Python सिट ह OpenCV (cv2) और YOLOv8 क उपयग करकिम पर ऑबट टिग चलिए ह। इस सिट म यह मन लि गयि आपन पहल आवशयक पज (opencv-python और ultralytics) इल कर लिए हpersist=True आरट यकर क बति इमज यम उन अनसरण तथिए हिछल इमज म बनए गए ह

!!! Example "टिग किए सिग फर-लप"

```python
import cv2
from ultralytics import YOLO

# YOLOv8 मडल लड कर
model = YOLO('yolov8n.pt')

# विइल ख
video_path = "path/to/video.mp4"
cap = cv2.VideoCapture(video_path)

# विस पर लप चल
while cap.isOpened():
    # वि एक फम पढ
    success, frame = cap.read()

    if success:
        # फम पर YOLOv8 टिग चल, फम कच टक परिट करत
        results = model.track(frame, persist=True)

        # परिम पर दि
        annotated_frame = results[0].plot()

        # टक करम करदरित कर
        cv2.imshow("YOLOv8 टिग", annotated_frame)

        # 'q' दबम सहर निकल
        if cv2.waitKey(1) & 0xFF == ord("q"):
            break
    else:
        # वित तक पहचन पर भम सहर निकल
        break

# विचर ऑबट छ और परदरशन विद कर
cap.release()
cv2.destroyAllWindows()
```

म सिग किए 'model(frame)' स 'model.track(frame)' म बदलव कि, जरण डिशन क बजय ऑबट टिग क सकषम करत। यह सित सिट परतिम वि पर टकर चलएग, परििएग और एक वििएग। 'q' दब पर फम सहर निकल सकत

समय कथ टक चिित करन

ित विम पर ऑबट टस कट करक समतर सय मरदरित करन हमिित पथ कयम स पहलतर और पत आपियवन परणिल सकत। Ultralytics YOLOv8 कथ समय कथ टस कट करन एक चत और कशल परकि

िन उदहरण म, हम दिए गए विस पर YOLO मडल क उपयग करकििन ऑबट क गतििित करनिए क कर। यह सिट एक विइल कलत, फम दर फम यह पढ, और YOLO मडल क उपयग करकििन ऑबट क पहचन और टक करत। पहचन वस कय पि करक उन, हम टक किए गए वसलत जगहिरहित करनिए लइनच सकत

!!! Example "कई विस पर पथ चिित करन"

```python
from collections import defaultdict

import cv2
import numpy as np

from ultralytics import YOLO

# YOLOv8 मडल लड कर
model = YOLO('yolov8n.pt')

# विइल ख
video_path = "path/to/video.mp4"
cap = cv2.VideoCapture(video_path)

# टक इतिस करहत कर
track_history = defaultdict(lambda: [])

# विस पर लप चल
while cap.isOpened():
    # वि एक फम पढ
    success, frame = cap.read()

    if success:
        # फम पर YOLOv8 टिग चल, फम कच टक परिट करत
        results = model.track(frame, persist=True)

        # बस और टक आईडत कर
        boxes = results[0].boxes.xywh.cpu()
        track_ids = results[0].boxes.id.int().cpu().tolist()

        # रिट पर विअलइज कर
        annotated_frame = results[0].plot()

        # पथ चिित कर
        for box, track_id in zip(boxes, track_ids):
            x, y, w, h = box
            track = track_history[track_id]
            track.append((float(x), float(y)))  # x, y centre point
            if len(track) > 30:  # 90 फस किए 90 टस क जम कर
                track.pop(0)

            # टिग लइन
            points = np.hstack(track).astype(np.int32).reshape((-1, 1, 2))
            cv2.polylines(annotated_frame, [points], isClosed=False, color=(230, 230, 230), thickness=10)

        # पथ करदरित कर
        cv2.imshow("YOLOv8 टिग", annotated_frame)

        # 'q' दबम सहर निकल
        if cv2.waitKey(1) & 0xFF == ord("q"):
            break
    else:
        # वित तक पहचन पर भम सहर निकल
        break

# विचर ऑबट छ और परदरशन विद कर
cap.release()
cv2.destroyAllWindows()
```

मलड टि

मलड टिग एक सथ कई वि पर ऑबट टिग चलषमतरदन करत। यह खसकर उपय जब हम कई निगरमरि वहद वि इनपट कलनिए परसपर पिग करनषमत बढ सकत

रदन किए गए पयथन सिट म हम Python क threadingल क उपयग करक यह सभव करति कई इज क एक सथ टकर चल सक। यह हर थड किए एक टकर चलि, और सभड सघ थड बकगड म एक सथ चलत

हर थड क सहटरस (विइल, उपयग करनिए मडल और फइल इस) पत करनिए, हम run_tracker_in_threadमक एक फशन क परिित करत इन पटरस कर करत और मय टिग लप कित करत। यह फशन विस कम द पढकर, टकर चल और परिरदरित कर रह

इस उदहरण म अलग मडल इसल ह: yolov8n.pt और yolov8n-seg.pt, ज हर एक अलग विइल म ऑबट कक करत। विइल video_file1 और video_file2ििट किए गए हthreading.Thread daemon=Trueििमति उपयग सत करति यह सिित करति जब परमख कयकरम समत हए, त सभड बद ह। हम start() उपयग करक करत और join() उपयग करकय थड करत करनिए बन जब तक किकर थड खतम नह

ि सभ अपनय प कर लि, इसलिcv2.destroyAllWindows() उपयग करक परिििद करत

!!! Example "टिग किए सिग फर-लप"

```python
import threading
import cv2
from ultralytics import YOLO


def run_tracker_in_thread(filename, model, file_index):
    """
    थिग कथ YOLOv8 मडल कथ एक विइल य webcam सत सगतरप पर टकर चल।

    यह फशन एक वदनय विइल यमरत सि पकड और ऑबट टिग किए YOLOv8 मडल क उपयग करत। यह फशन अपनड म चलतय परसकरण कप म एक सथ चलत।

    Args:
        filename (str): विइल क पथ यमर / बहरमरत क पहचनकर।
        model (obj): YOLOv8 मडल ऑबट।
        file_index (int): फइल क पहचननिए ऐिक कड।

    धन द:
    विििद करनिए 'q' दब।
    """
    वि = cv2.VideoCapture(filename)  # विइल पढ

    while True:
        सफलत, फम = वि.read()  # विम पढ

        # कई भम न बच, तप सहर निकल
        if not सफलत:
            त

        # ऑबस कक कर यदि उपलबध ह
        results = model.track(फम, persist=True)
        res_plotted = results[0].plot()
        cv2.imshow(f"सत_{file_index} पर टिग", res_plotted)

        क = cv2.waitKey(1)
        if क == ord('q'):
            त

    # विि.रि()


# मडल लड कर
model1 = YOLO('yolov8n.pt')
model2 = YOLO('yolov8n-seg.pt')

# टकर किए विइल परिित कर
video_file1 = "path/to/video1.mp4"  # विइल क पथ, वबकम किए 0
video_file2 = 0  # विइल क पथ, वबकम किए 0, बहरमरिए 1

# टकर थड सबस ऊपर बन
tracker_thread1 = threading.Thread(target=run_tracker_in_thread, args=(video_file1, model1, 1), daemon=True)
tracker_thread2 = threading.Thread(target=run_tracker_in_thread, args=(video_file2, model2, 2), daemon=True)

# टकर थड पभ कर
tracker_thread1.start()
tracker_thread2.start()

# टकर थड करत कर
tracker_thread1.join()
tracker_thread2.join()

# सभकर थिपटए जद, परिरदरशन विज बद कर
cv2.destroyAllWindows()
```

यह उदहरण सिट जकर और इसगदरशन क उपयग करक और अधिक विइल और मडल किए बहरड बन कर इसित करनिए आसिित कि सकत

नए टकर सहयग द

आप बह-ऑबट टिग मिर ह और उलििस YOLO कथ एक टिग ऍलिदम क सफलतवक अमल म? हम आपक ultralytics/cfg/trackers हमकर खड किए यगदन दिए आमित करत! आपकतविक दि अनरयग और समन आपक समय किए अमय ह सकत

इस खड मगदन दकर, आप उलििस YOLO फमवरक कतर उपलबध टिग समिरव बढ सकत, ज उलििस YOLO मयम सम कर रह उपयगकरिए अतयधिक समरपणशलत और उपय

अपनगदन कआत करनिए, कपय हम गदन गइडदरभ ल जह परमरिरसत करन सचत निश दिए गए ह। हम इतजर कर रह आप क!

थ म, चलिए Ultralytics YOLO पििि गतिलत मजबत कर 🙏!