Link to this sectionRilevamento oggetti#
Il rilevamento oggetti è un'attività che consiste nell'identificare la posizione e la classe degli oggetti in un'immagine o in un flusso video.
L'output di un rilevatore di oggetti è un insieme di riquadri di delimitazione (bounding box) che racchiudono gli oggetti nell'immagine, insieme alle etichette di classe e ai punteggi di confidenza per ogni riquadro. Il rilevamento oggetti è un'ottima scelta quando devi identificare oggetti di interesse in una scena, ma non hai bisogno di sapere esattamente dove si trovi l'oggetto o la sua forma esatta.
Watch: Object Detection with Pretrained Ultralytics YOLO Model.
I modelli YOLO26 Detect sono i modelli YOLO26 predefiniti, ovvero yolo26n.pt, e sono preaddestrati su COCO.
Link to this sectionModelli#
Qui sono mostrati i modelli Detect preaddestrati di YOLO26. I modelli Detect, Segment e Pose sono preaddestrati sul dataset COCO, i modelli Semantic sono preaddestrati su Cityscapes, e i modelli Classify sono preaddestrati sul dataset ImageNet.
I modelli vengono scaricati automaticamente dall'ultima release di Ultralytics al primo utilizzo.
| Modello | dimensione (pixel) | mAPval 50-95 | mAPval 50-95(e2e) | Velocità CPU ONNX (ms) | Velocità T4 TensorRT10 (ms) | parametri (M) | FLOPs (B) |
|---|---|---|---|---|---|---|---|
| YOLO26n | 640 | 40.9 | 40.1 | 38.9 ± 0.7 | 1.7 ± 0.0 | 2.4 | 5.4 |
| YOLO26s | 640 | 48.6 | 47.8 | 87.2 ± 0.9 | 2.5 ± 0.0 | 9.5 | 20.7 |
| YOLO26m | 640 | 53.1 | 52.5 | 220.0 ± 1.4 | 4.7 ± 0.1 | 20.4 | 68.2 |
| YOLO26l | 640 | 55.0 | 54.4 | 286.2 ± 2.0 | 6.2 ± 0.2 | 24.8 | 86.4 |
| YOLO26x | 640 | 57.5 | 56.9 | 525.8 ± 4.0 | 11.8 ± 0.2 | 55.7 | 193.9 |
- I valori di mAPval si riferiscono al modello singolo su scala singola sul dataset COCO val2017.
Riproducibile conyolo val detect data=coco.yaml device=0 - La Velocità è calcolata come media sulle immagini di validazione COCO utilizzando un'istanza Amazon EC2 P4d.
Riproducibile conyolo val detect data=coco.yaml batch=1 device=0|cpu - I valori di Params e FLOPs si riferiscono al modello fuso dopo
model.fuse(), che unisce i livelli Conv e BatchNorm e, per i modelli end2end, rimuove l'head di rilevamento ausiliario one-to-many. I checkpoint preaddestrati conservano l'intera architettura di addestramento e potrebbero mostrare conteggi più elevati.
Link to this sectionAddestramento#
Addestra YOLO26n sul dataset COCO8 per 100 epoche a una dimensione immagine di 640. Per un elenco completo degli argomenti disponibili, consulta la pagina Configurazione.
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n.yaml") # build a new model from YAML
model = YOLO("yolo26n.pt") # load a pretrained model (recommended for training)
model = YOLO("yolo26n.yaml").load("yolo26n.pt") # build from YAML and transfer weights
# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)Vedi tutti i dettagli della modalità train nella pagina Train. I modelli di rilevamento possono anche essere addestrati su GPU in cloud tramite Ultralytics Platform.
Link to this sectionFormato dataset#
Il formato del dataset di rilevamento YOLO può essere trovato in dettaglio nella Guida ai Dataset. Per convertire il tuo dataset esistente da altri formati (come COCO, ecc.) al formato YOLO, utilizza lo strumento JSON2YOLO di Ultralytics. Puoi anche annotare e gestire i dataset di rilevamento direttamente su Ultralytics Platform con strumenti di etichettatura assistiti dall'IA.
Link to this sectionValidazione#
Valida l'accuratezza del modello YOLO26n addestrato sul dataset COCO8. Non sono necessari argomenti poiché il model mantiene i propri data di addestramento e gli argomenti come attributi del modello.
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n.pt") # load an official model
model = YOLO("path/to/best.pt") # load a custom model
# Validate the model
metrics = model.val() # no arguments needed, dataset and settings remembered
metrics.box.map # map50-95
metrics.box.map50 # map50
metrics.box.map75 # map75
metrics.box.maps # a list containing mAP50-95 for each category
metrics.box.image_metrics # per-image metrics dictionary with precision, recall, F1, TP, FP, and FNLink to this sectionPredizione#
Usa un modello YOLO26n addestrato per eseguire previsioni sulle immagini.
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n.pt") # load an official model
model = YOLO("path/to/best.pt") # load a custom model
# Predict with the model
results = model("https://ultralytics.com/images/bus.jpg") # predict on an image
# Access the results
for result in results:
xywh = result.boxes.xywh # center-x, center-y, width, height
xywhn = result.boxes.xywhn # normalized
xyxy = result.boxes.xyxy # top-left-x, top-left-y, bottom-right-x, bottom-right-y
xyxyn = result.boxes.xyxyn # normalized
names = [result.names[cls.item()] for cls in result.boxes.cls.int()] # class name of each box
confs = result.boxes.conf # confidence score of each boxVedi tutti i dettagli della modalità predict nella pagina Predict.
Link to this sectionOutput dei risultati#
Il rilevamento oggetti restituisce un oggetto Results per ogni immagine. Il campo di previsione principale è result.boxes, che contiene le coordinate del riquadro, gli ID di classe e i punteggi di confidenza per ogni oggetto rilevato.
| Attributo | Tipo | Forma | Descrizione |
|---|---|---|---|
result.boxes | Boxes | (N) | Riquadri di rilevamento. |
result.boxes.data | torch.float32 | (N,6/7) | Dati grezzi [x1,y1,x2,y2,conf,cls], più l'ID di tracciamento opzionale. |
result.boxes.xyxy | torch.float32 | (N,4) | Riquadri in pixel xyxy. |
result.boxes.conf | torch.float32 | (N,) | Punteggi di confidenza. |
result.boxes.cls | torch.float32 | (N,) | ID di classe; converti in int per i nomi. |
Per i campi Results specifici dell'attività per ogni operazione, consulta la sezione Previsioni Risultati per Attività.
Link to this sectionEsportazione#
Esporta un modello YOLO26n in un formato diverso come ONNX, CoreML, ecc.
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n.pt") # load an official model
model = YOLO("path/to/best.pt") # load a custom-trained model
# Export the model
model.export(format="onnx")I formati di esportazione YOLO26 disponibili sono nella tabella sottostante. Puoi esportare in qualsiasi formato utilizzando l'argomento format, ad esempio format='onnx' o format='engine'. Puoi prevedere o validare direttamente sui modelli esportati, ad esempio yolo predict model=yolo26n.onnx. Esempi di utilizzo vengono mostrati per il tuo modello al termine dell'esportazione.
| Formato | Argomento format | Modello | Metadati | Argomenti |
|---|---|---|---|---|
| PyTorch | - | yolo26n.pt | ✅ | - |
| TorchScript | torchscript | yolo26n.torchscript | ✅ | imgsz, half, dynamic, optimize, nms, batch, device |
| ONNX | onnx | yolo26n.onnx | ✅ | imgsz, half, int8, dynamic, simplify, opset, nms, batch, data, fraction, device |
| OpenVINO | openvino | yolo26n_openvino_model/ | ✅ | imgsz, half, dynamic, int8, nms, batch, data, fraction, device |
| TensorRT | engine | yolo26n.engine | ✅ | imgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device |
| CoreML | coreml | yolo26n.mlpackage | ✅ | imgsz, dynamic, half, int8, nms, batch, device |
| TF SavedModel | saved_model | yolo26n_saved_model/ | ✅ | imgsz, keras, int8, nms, batch, data, fraction, device |
| TF GraphDef | pb | yolo26n.pb | ❌ | imgsz, batch, device |
| TF Lite | tflite | yolo26n.tflite | ✅ | imgsz, half, int8, nms, batch, data, fraction, device |
| TF Edge TPU | edgetpu | yolo26n_edgetpu.tflite | ✅ | imgsz, int8, data, fraction, device |
| TF.js | tfjs | yolo26n_web_model/ | ✅ | imgsz, half, int8, nms, batch, data, fraction, device |
| PaddlePaddle | paddle | yolo26n_paddle_model/ | ✅ | imgsz, batch, device |
| MNN | mnn | yolo26n.mnn | ✅ | imgsz, batch, int8, half, device |
| NCNN | ncnn | yolo26n_ncnn_model/ | ✅ | imgsz, half, batch, device |
| IMX500 | imx | yolo26n_imx_model/ | ✅ | imgsz, int8, data, fraction, nms, device |
| RKNN | rknn | yolo26n_rknn_model/ | ✅ | imgsz, batch, name, int8, data, fraction, device |
| ExecuTorch | executorch | yolo26n_executorch_model/ | ✅ | imgsz, batch, device |
| Axelera | axelera | yolo26n_axelera_model/ | ✅ | imgsz, batch, int8, data, fraction, device |
| DEEPX | deepx | yolo26n_deepx_model/ | ✅ | imgsz, int8, data, optimize, device |
| Qualcomm QNN | qnn | yolo26n_qnn_model/ | ✅ | imgsz, batch, name, int8, data, fraction, device |
Consulta tutti i dettagli di export nella pagina Export.
Link to this sectionFAQ#
Link to this sectionPosso addestrare e distribuire modelli di rilevamento senza programmare?#
Sì. Ultralytics Platform fornisce un flusso di lavoro basato su browser per annotare dataset, addestrare modelli di rilevamento su GPU cloud e distribuirli su endpoint di inferenza. Consulta la guida rapida alla piattaforma per iniziare.
Link to this sectionCome posso addestrare un modello YOLO26 sul mio dataset personalizzato?#
L'addestramento di un modello YOLO26 su un dataset personalizzato comporta alcuni passaggi:
- Prepara il dataset: Assicurati che il tuo dataset sia nel formato YOLO. Per una guida, consulta la nostra Guida ai dataset.
- Carica il modello: Usa la libreria Ultralytics YOLO per caricare un modello preaddestrato o crearne uno nuovo da un file YAML.
- Addestra il modello: Esegui il metodo
trainin Python o il comandoyolo detect trainnella CLI.
from ultralytics import YOLO
# Load a pretrained model
model = YOLO("yolo26n.pt")
# Train the model on your custom dataset
model.train(data="my_custom_dataset.yaml", epochs=100, imgsz=640)Per opzioni di configurazione dettagliate, visita la pagina Configurazione.
Link to this sectionQuali modelli preaddestrati sono disponibili in YOLO26?#
Ultralytics YOLO26 offre vari modelli preaddestrati per rilevamento oggetti, segmentazione di istanze, segmentazione semantica e stima della posa. Questi modelli sono preaddestrati sul dataset COCO, Cityscapes per la segmentazione semantica o ImageNet per i compiti di classificazione. Ecco alcuni dei modelli disponibili:
Per un elenco dettagliato e le metriche di prestazione, consulta la sezione Modelli.
Link to this sectionCome posso convalidare l'accuratezza del mio modello YOLO addestrato?#
Per convalidare l'accuratezza del tuo modello YOLO26 addestrato, puoi usare il metodo .val() in Python o il comando yolo detect val nella CLI. Questo fornirà metriche come mAP50-95, mAP50 e altro ancora.
from ultralytics import YOLO
# Load the model
model = YOLO("path/to/best.pt")
# Validate the model
metrics = model.val()
print(metrics.box.map) # mAP50-95Per ulteriori dettagli sulla convalida, visita la pagina Val.
Link to this sectionIn quali formati posso esportare un modello YOLO26?#
Ultralytics YOLO26 consente di esportare modelli in vari formati come ONNX, TensorRT, CoreML e altri per garantire la compatibilità tra diverse piattaforme e dispositivi.
from ultralytics import YOLO
# Load the model
model = YOLO("yolo26n.pt")
# Export the model to ONNX format
model.export(format="onnx")Controlla l'elenco completo dei formati supportati e le istruzioni sulla pagina Export.
Link to this sectionPerché dovrei usare Ultralytics YOLO26 per il rilevamento oggetti?#
Ultralytics YOLO26 è progettato per offrire prestazioni all'avanguardia per rilevamento oggetti, segmentazione di istanze, segmentazione semantica e stima della posa. Ecco alcuni vantaggi chiave:
- Modelli preaddestrati: Utilizza modelli preaddestrati su dataset popolari come COCO e ImageNet per uno sviluppo più rapido.
- Alta accuratezza: Raggiunge punteggi mAP impressionanti, garantendo un rilevamento oggetti affidabile.
- Velocità: Ottimizzato per l'inferenza in tempo reale, rendendolo ideale per applicazioni che richiedono un'elaborazione rapida.
- Flessibilità: Esporta i modelli in vari formati come ONNX e TensorRT per la distribuzione su più piattaforme.
Esplora il nostro Blog per casi d'uso e storie di successo che mostrano YOLO26 in azione.