Κοινή χρήση τεχνολογίας

Το YOLOv10 εκπαιδεύει το δικό του σύνολο δεδομένων (ανίχνευση σημάτων κυκλοφορίας)

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Εισαγάγετε την περιγραφή της εικόνας εδώ
Εισαγάγετε την περιγραφή της εικόνας εδώ
Εισαγάγετε την περιγραφή της εικόνας εδώ

Πρόλογος

Σχετική εισαγωγή

  • Το YOLOv10 κατασκευάστηκε από ερευνητές από το Πανεπιστήμιο Tsinghua με βάση το πακέτο Ultralytics Python Εισήγαγε μια νέα μέθοδο ανίχνευσης στόχων σε πραγματικό χρόνο και έλυσε τις ελλείψεις της μετα-επεξεργασίας και της αρχιτεκτονικής μοντέλων σε προηγούμενες εκδόσεις του YOLO. Με την εξάλειψη της μη μέγιστης καταστολής (NMS) και τη βελτιστοποίηση διαφόρων στοιχείων του μοντέλου, το YOLOv10 επιτυγχάνει επιδόσεις αιχμής, ενώ μειώνει σημαντικά τα υπολογιστικά έξοδα. Εκτεταμένα πειράματα καταδεικνύουν την ανώτερη ακρίβεια και την αντιστάθμιση του λανθάνοντος χρόνου σε πολλαπλές κλίμακες μοντέλων.
  • [1] Διεύθυνση πηγαίου κώδικα YOLOv10:https://github.com/THU-MIG/yolov10.git
  • [2] Χάρτινη διεύθυνση YOLOv10:https://arxiv.org/abs/2405.14458
    Εισαγάγετε την περιγραφή της εικόνας εδώ
  • ΣΦΑΙΡΙΚΗ ΕΙΚΟΝΑ
    Ο σκοπός της ανίχνευσης αντικειμένων σε πραγματικό χρόνο είναι να προβλέψει με ακρίβεια την κατηγορία και τη θέση των αντικειμένων σε εικόνες με χαμηλή καθυστέρηση. Η σειρά YOLO ήταν στην πρώτη γραμμή αυτής της έρευνας λόγω της ισορροπίας μεταξύ απόδοσης και αποδοτικότητας. Ωστόσο, η εξάρτηση από το NMS και οι αρχιτεκτονικές ανεπάρκειες εμποδίζουν τη βέλτιστη απόδοση. Το YOLOv10 αντιμετωπίζει αυτά τα ζητήματα εισάγοντας συνεπή dual-tasking για εκπαίδευση χωρίς nms και μια συνολική στρατηγική σχεδίασης μοντέλων με γνώμονα την απόδοση και την ακρίβεια.
  • Αρχιτεκτονική
    Η αρχιτεκτονική του YOLOv10 βασίζεται στα δυνατά σημεία των προηγούμενων μοντέλων YOLO, ενώ εισάγει πολλές βασικές καινοτομίες. Η αρχιτεκτονική του μοντέλου αποτελείται από τα ακόλουθα στοιχεία:
    • Backbone: Η ραχοκοκαλιά στο YOLOv10 είναι υπεύθυνη για την εξαγωγή χαρακτηριστικών, χρησιμοποιώντας μια βελτιωμένη έκδοση του CSPNet (Cross Stage Partial Network) για τη βελτίωση της ροής κλίσης και τη μείωση του υπολογιστικού πλεονασμού.
    • Λαιμός: Ο λαιμός έχει σχεδιαστεί για να συνδυάζει χαρακτηριστικά διαφορετικών κλιμάκων και να τα μεταφέρει στο κεφάλι. Περιλαμβάνει ένα επίπεδο PAN (Δίκτυο Συνάθροισης Διαδρομών) για αποτελεσματική συγχώνευση χαρακτηριστικών πολλαπλής κλίμακας.
    • One-to-Many Head: Δημιουργεί πολλαπλές προβλέψεις για κάθε αντικείμενο κατά τη διάρκεια της εκπαιδευτικής διαδικασίας, παρέχοντας πλούσια σήματα εποπτείας και βελτιώνοντας την ακρίβεια εκμάθησης.
    • Ένα προς ένα Κεφάλι: Δημιουργεί μια καλύτερη πρόβλεψη για κάθε αντικείμενο κατά τη διάρκεια της εξαγωγής συμπερασμάτων για την εξάλειψη της ανάγκης για NMS, μειώνοντας έτσι την καθυστέρηση και αυξάνοντας την απόδοση.
  • Βασικά χαρακτηριστικά
    • Εκπαίδευση χωρίς NMS: Αξιοποιήστε τη συνεπή διπλή κατανομή για να εξαλείψετε την ανάγκη για NMS και να μειώσετε την καθυστέρηση συμπερασμάτων.
    • Ολιστικός σχεδιασμός μοντέλου: Κάθε στοιχείο είναι πλήρως βελτιστοποιημένο από την άποψη της απόδοσης και της ακρίβειας, συμπεριλαμβανομένης της ελαφριάς κεφαλής ταξινόμησης, της αποσύνδεσης χωρικών καναλιών και του σχεδιασμού του μπλοκ οδηγού κατάταξης.
    • Βελτιωμένες δυνατότητες μοντέλου: Συνδυάζει μονάδες συνέλιξης μεγάλου πυρήνα και μερικής αυτοπροσοχής για βελτίωση της απόδοσης χωρίς σημαντικό υπολογιστικό κόστος.
  • Παραλλαγές μοντέλου: Το YOLOv10 διατίθεται σε μια ποικιλία μοντέλων για να καλύψει διαφορετικές ανάγκες εφαρμογών:
    • YOLOv10-N: Έκδοση Nano για περιβάλλοντα με εξαιρετικά περιορισμένους πόρους.
    • YOLOv10-S: Η μικρή έκδοση εξισορροπεί την ταχύτητα και την ακρίβεια.
    • YOLOv10-M: Μεσαία έκδοση για γενική χρήση (κατάλληλη για πολλούς διαφορετικούς σκοπούς ή χρήσεις).
    • YOLOv10-B: Ισορροπημένη έκδοση με αυξημένο πλάτος για μεγαλύτερη ακρίβεια.
    • YOLOv10-L: Μεγάλη έκδοση για μεγαλύτερη ακρίβεια με κόστος αυξημένων υπολογιστικών πόρων.
    • YOLOv10-X: Εξαιρετικά μεγάλη έκδοση για μέγιστη ακρίβεια και απόδοση.
      Εισαγάγετε την περιγραφή της εικόνας εδώ

Προαπαιτούμενα

εργαστηριακό περιβάλλον

torch==2.0.1
torchvision==0.15.2
onnx==1.14.0
onnxruntime==1.15.1
pycocotools==2.0.7
PyYAML==6.0.1
scipy==1.13.0
onnxsim==0.4.36
onnxruntime-gpu==1.18.0
gradio==4.31.5
opencv-python==4.9.0.80
psutil==5.9.8
py-cpuinfo==9.0.0
huggingface-hub==0.23.2
safetensors==0.4.3
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

Περιβάλλον Εγκατάστασης

pip install ultralytics
# 或者
pip install ultralytics -i https://pypi.tuna.tsinghua.edu.cn/simple # 国内清华源,下载速度更快
  • 1
  • 2
  • 3

Εισαγάγετε την περιγραφή της εικόνας εδώ

Εισαγάγετε την περιγραφή της εικόνας εδώ

διεύθυνση του έργου

Linux

git clone https://github.com/THU-MIG/yolov10.git

cd yolov10
# conda create -n yolov10 python=3.9
# conda activate yolov10
pip install -r requirements.txt
pip install -e .
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
Cloning into 'yolov10'...
remote: Enumerating objects: 4583, done.
remote: Counting objects: 100% (4583/4583), done.
remote: Compressing objects: 100% (1270/1270), done.
remote: Total 4583 (delta 2981), reused 4576 (delta 2979), pack-reused 0
Receiving objects: 100% (4583/4583), 23.95 MiB | 1.55 MiB/s, done.
Resolving deltas: 100% (2981/2981), done.
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

Windows

Παρακαλώ έλαhttps://github.com/THU-MIG/yolov10.gitΚατεβάστε το πακέτο ταχυδρομικού κώδικα πηγαίου κώδικα από τον ιστότοπο.

cd yolov10
# conda create -n yolov10 python=3.9
# conda activate yolov10
pip install -r requirements.txt
pip install -e .
  • 1
  • 2
  • 3
  • 4
  • 5

Χρησιμοποιήστε το YOLOv10 για να εκπαιδεύσετε το δικό σας σύνολο δεδομένων για τον εντοπισμό σημάτων κυκλοφορίας

Προετοιμάστε δεδομένα

Το σύνολο δεδομένων που χρησιμοποιείται σε αυτό το άρθρο είναι δωρεάνσύνδεσμος λήψης:https://download.csdn.net/download/FriendshipTang/88045378

Εισαγάγετε την περιγραφή της εικόνας εδώ

διεξάγουν εκπαίδευση

yolo detect train data=../datasets/Road_Sign_VOC_and_YOLO_datasets/road_sign.yaml model=yolov10n.yaml epochs=100 batch=4 imgsz=640 device=0
  • 1

Εισαγάγετε την περιγραφή της εικόνας εδώ
Εισαγάγετε την περιγραφή της εικόνας εδώ
Εισαγάγετε την περιγραφή της εικόνας εδώ
Εισαγάγετε την περιγραφή της εικόνας εδώ

κανω προβλεψεις

yolo predict model=runsdetecttrain4weightsbest.pt source=E:/mytest/datasets/Road_Sign_VOC_and_YOLO_datasets/testset/images
  • 1

Εισαγάγετε την περιγραφή της εικόνας εδώ

Εισαγάγετε την περιγραφή της εικόνας εδώ
Εισαγάγετε την περιγραφή της εικόνας εδώ

έλεγχος ταυτότητας

yolo detect val data=../datasets/Road_Sign_VOC_and_YOLO_datasets/road_sign.yaml model=runsdetecttrain4weightsbest.pt batch=4 imgsz=640 device=0
  • 1

Εισαγάγετε την περιγραφή της εικόνας εδώ

βιβλιογραφικές αναφορές

[1] Διεύθυνση πηγαίου κώδικα YOLOv10:https://github.com/THU-MIG/yolov10.git
[2] Χάρτινη διεύθυνση YOLOv10:https://arxiv.org/abs/2405.14458