Vai al contenuto

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.

Ecco alcuni dei principali modelli supportati:

  1. 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.
  2. YOLOv4: Un aggiornamento darknet-nativo di YOLOv3, rilasciato da Alexey Bochkovskiy nel 2020.
  3. YOLOv5: Una versione migliorata dell'architettura YOLO di Ultralytics, che offre migliori prestazioni e compromessi di velocità rispetto alle versioni precedenti.
  4. YOLOv6: Rilasciato da Meituan nel 2022 e utilizzato in molti robot di consegna autonomi dell'azienda.
  5. YOLOv7: Modelli aggiornati di YOLO rilasciati nel 2022 dagli autori di YOLOv4.
  6. 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.
  7. YOLOv9: Un modello sperimentale addestrato sulla Ultralytics YOLOv5 codice che implementa la Programmable Gradient Information (PGI).
  8. YOLOv10: La Tsinghua University, con formazione senza NMS e architettura orientata all'efficienza e all'accuratezza, offre prestazioni e latenza all'avanguardia.
  9. Segmento Qualsiasi Modello (SAM): Il modello Segment Anything di Meta (SAM).
  10. Mobile Segment Anything Model (MobileSAM): MobileSAM per le applicazioni mobili, a cura della Kyung Hee University.
  11. Modello di Segmento Veloce Qualsiasi (FastSAM): FastSAM dal Gruppo di Analisi delle Immagini e dei Video, Istituto di Automazione, Accademia Cinese delle Scienze.
  12. YOLO-NAS: YOLO Modelli di ricerca di architetture neurali (NAS).
  13. Trasformatori di rilevamento in tempo reale (RT-DETR): I modelli di Baidu PaddlePaddle Realtime Detection Transformer (RT-DETR).
  14. 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:

# Load a COCO-pretrained YOLOv8n model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640

# Load a COCO-pretrained YOLOv8n model and run inference on the 'bus.jpg' image
yolo predict model=yolov8n.pt source=path/to/bus.jpg

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.

  1. Fai il fork del repository: Inizia a fare il fork del repository GitHub di Ultralytics .

  2. Clona il tuo fork: clona il tuo fork sulla tua macchina locale e crea un nuovo ramo su cui lavorare.

  3. Implementa il tuo modello: Aggiungi il tuo modello seguendo gli standard di codifica e le linee guida fornite nella nostra Guida al contributo.

  4. Esegui test approfonditi: Assicurati di testare rigorosamente il tuo modello, sia isolatamente che come parte della pipeline.

  5. Crea una richiesta di pull: Una volta che sei soddisfatto del tuo modello, crea una richiesta di pull al repository principale per la revisione.

  6. 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.

DOMANDE FREQUENTI

Quali sono i principali vantaggi dell'utilizzo di Ultralytics YOLOv8 per il rilevamento degli oggetti?

Ultralytics YOLOv8 offre funzionalità avanzate come il rilevamento degli oggetti in tempo reale, la segmentazione delle istanze, la stima della posa e la classificazione. La sua architettura ottimizzata garantisce prestazioni ad alta velocità senza sacrificare l'accuratezza, rendendolo ideale per un'ampia gamma di applicazioni. YOLOv8 include anche la compatibilità integrata con i dataset e i modelli più diffusi, come illustrato nella pagina di documentazioneYOLOv8 .

Come posso addestrare un modello YOLOv8 su dati personalizzati?

L'addestramento di un modello YOLOv8 su dati personalizzati può essere facilmente realizzato utilizzando le librerie Ultralytics'. Ecco un rapido esempio:

Esempio

from ultralytics import YOLO

# Load a YOLOv8n model
model = YOLO("yolov8n.pt")

# Train the model on custom dataset
results = model.train(data="custom_data.yaml", epochs=100, imgsz=640)
yolo train model=yolov8n.pt data='custom_data.yaml' epochs=100 imgsz=640

Per istruzioni più dettagliate, visita la pagina di documentazione di Train.

Quali versioni di YOLO sono supportate da Ultralytics?

Ultralytics supporta una gamma completa di versioni di YOLO (You Only Look Once) da YOLOv3 a YOLOv10, oltre a modelli come NAS, SAM e RT-DETR. Ogni versione è ottimizzata per diverse attività come il rilevamento, la segmentazione e la classificazione. Per informazioni dettagliate su ciascun modello, consulta la documentazione sui modelli supportati da Ultralytics.

Perché dovrei usare Ultralytics HUB per i progetti di apprendimento automatico?

Ultralytics HUB è una piattaforma end-to-end senza codice per la formazione, la distribuzione e la gestione dei modelli di YOLO . Semplifica i flussi di lavoro complessi, consentendo agli utenti di concentrarsi sulle prestazioni e sull'applicazione dei modelli. L'HUB offre anche funzionalità di formazione nel cloud, una gestione completa dei set di dati e interfacce di facile utilizzo. Per saperne di più visita la pagina di documentazione di Ultralytics HUB.

Quali tipi di attività può svolgere YOLOv8 e come si colloca rispetto alle altre versioni di YOLO ?

YOLOv8 è un modello versatile in grado di eseguire compiti come il rilevamento di oggetti, la segmentazione di istanze, la classificazione e la stima della posa. Rispetto alle versioni precedenti, come YOLOv3 e YOLOv4, YOLOv8 offre miglioramenti significativi in termini di velocità e precisione grazie alla sua architettura ottimizzata. Per un confronto più approfondito, consulta la documentazione diYOLOv8 e le pagine dei compiti per maggiori dettagli su compiti specifici.



Creato 2023-11-12, Aggiornato 2024-07-04
Autori: glenn-jocher (13), Laughing-q (1)

Commenti