Modelli supportati da Ultralytics
Benvenuto nella documentazione sui modelli di Ultralytics'! Offriamo il supporto per un'ampia gamma di modelli, ognuno dei quali è adatto a compiti specifici come il rilevamento di oggetti, la segmentazione di istanze, la classificazione di immagini, la stima della posa e il tracciamento di più oggetti. Se sei interessato a contribuire con la tua architettura di modello a Ultralytics, consulta la nostra Guida alla contribuzione.
Modelli in evidenza
Ecco alcuni dei principali modelli supportati:
- YOLOv3: La terza iterazione della famiglia di modelli YOLO , originaria di Joseph Redmon, nota per le sue efficienti capacità di rilevamento degli oggetti in tempo reale.
- YOLOv4: Un aggiornamento darknet-nativo di YOLOv3, rilasciato da Alexey Bochkovskiy nel 2020.
- YOLOv5: Una versione migliorata dell'architettura YOLO di Ultralytics, che offre migliori prestazioni e compromessi di velocità rispetto alle versioni precedenti.
- YOLOv6: Rilasciato da Meituan nel 2022 e utilizzato in molti robot di consegna autonomi dell'azienda.
- YOLOv7: Modelli aggiornati di YOLO rilasciati nel 2022 dagli autori di YOLOv4.
- YOLOv8 NUOVO 🚀: L'ultima versione della famiglia YOLO , con funzionalità migliorate come la segmentazione delle istanze, la stima di pose e punti chiave e la classificazione.
- YOLOv9: Un modello sperimentale addestrato sulla Ultralytics YOLOv5 codice che implementa la Programmable Gradient Information (PGI).
- Segmento Qualsiasi Modello (SAM): Il modello Segment Anything di Meta (SAM).
- Mobile Segment Anything Model (MobileSAM): MobileSAM per le applicazioni mobili, a cura della Kyung Hee University.
- Modello di Segmento Veloce Qualsiasi (FastSAM): FastSAM dal Gruppo di Analisi delle Immagini e dei Video, Istituto di Automazione, Accademia Cinese delle Scienze.
- YOLO-NAS: YOLO Modelli di ricerca di architetture neurali (NAS).
- Trasformatori di rilevamento in tempo reale (RT-DETR): I modelli di Baidu PaddlePaddle Realtime Detection Transformer (RT-DETR).
- YOLO-Mondo: Modelli in tempo reale di Open Vocabulary Object Detection del Tencent AI Lab.
Guarda: Esegui i modelli di Ultralytics YOLO con poche righe di codice.
Per iniziare: Esempi di utilizzo
Questo esempio fornisce dei semplici esempi di addestramento e inferenza su YOLO . Per una documentazione completa su queste e altre modalità , consulta le pagine dei documenti Predict, Train, Val ed Export.
Nota: l'esempio seguente riguarda i modelli di YOLOv8 Detect per il rilevamento degli oggetti. Per altre attività supportate, consulta i documenti Segment, Classify e Pose.
Esempio
PyTorch preaddestrato *.pt
modelli e configurazione *.yaml
possono essere passati ai file YOLO()
, SAM()
, NAS()
e RTDETR()
per creare un'istanza del modello in Python:
from ultralytics import YOLO
# Load a COCO-pretrained YOLOv8n model
model = YOLO('yolov8n.pt')
# Display model information (optional)
model.info()
# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data='coco8.yaml', epochs=100, imgsz=640)
# Run inference with the YOLOv8n model on the 'bus.jpg' image
results = model('path/to/bus.jpg')
CLI sono disponibili comandi per eseguire direttamente i modelli:
Contribuire con nuovi modelli
Sei interessato a contribuire con il tuo modello a Ultralytics? Ottimo! Siamo sempre aperti ad ampliare il nostro portfolio di modelli.
-
Fai il fork del repository: Inizia a fare il fork del repository GitHub di Ultralytics .
-
Clona il tuo fork: clona il tuo fork sulla tua macchina locale e crea un nuovo ramo su cui lavorare.
-
Implementa il tuo modello: Aggiungi il tuo modello seguendo gli standard di codifica e le linee guida fornite nella nostra Guida al contributo.
-
Esegui test approfonditi: Assicurati di testare rigorosamente il tuo modello, sia isolatamente che come parte della pipeline.
-
Crea una richiesta di pull: Una volta che sei soddisfatto del tuo modello, crea una richiesta di pull al repository principale per la revisione.
-
Revisione e fusione del codice: Dopo la revisione, se il tuo modello soddisfa i nostri criteri, verrà unito al repository principale.
Per i passi dettagliati, consulta la nostra Guida alla contribuzione.