Scoprite la potenza della segmentazione semantica: classify ogni pixel delle immagini per una comprensione precisa della scena. Esplora subito applicazioni e strumenti!
La segmentazione semantica è una tecnica fondamentale nella computer vision (CV) che prevede l'assegnazione di una un'etichetta di classe specifica a ogni singolo pixel di un'immagine. A differenza di compiti più semplici che potrebbero categorizzare un'intera immagine o posizionare un riquadro di delimitazione intorno a un oggetto, la segmentazione semantica fornisce una mappa perfetta della scena. Questo livello di dettaglio granulare consente alle macchine di comprendere i confini precisi e le forme degli oggetti, classificando regioni distinte come "strada", "strada" e "strada". regioni distinte come "strada", "persona", "cielo" o "tumore". Trattando un'immagine un'immagine come un insieme di pixel classificati, piuttosto che come una semplice somma di oggetti, questo metodo offre una comprensione completa del contesto visivo, che è essenziale per la comprensione del contesto visivo, essenziale per i sistemi avanzati di intelligenza sistemi di intelligenza artificiale (AI) avanzati che interagiscono con ambienti complessi.
Il processo di segmentazione semantica si basa in larga misura su modelli di modelli di apprendimento profondo (DL), in particolare architetture basate su reti neurali convoluzionali (CNN). Questi modelli sono addestrati su grandi dataset annotati in cui esperti annotatori umani hanno etichettato ogni pixel. Durante l'addestramento, la rete impara ad associare caratteristiche di basso livello, come texture e bordi, a concetti semantici di alto livello. a concetti semantici di alto livello.
Un modello architettonico comune prevede una struttura di codifica-decodifica:
Le architetture pionieristiche come le reti completamente convoluzionali (FCN) hanno gettato le basi le basi, sostituendo gli strati completamente connessi con quelli convoluzionali per produrre mappe spaziali. Progetti più specializzati, come più specializzate, come la U-Net, utilizzano connessioni saltate per conservare dettagli a grana fine, rendendole molto efficaci per compiti che richiedono un'elevata precisione.
Per selezionare lo strumento giusto per un progetto, è fondamentale distinguere la segmentazione semantica da altri compiti di compiti di computer vision:
La capacità di analizzare le scene a livello di pixel ha favorito l'innovazione in diversi settori:
Quadri moderni come PyTorch e TensorFlow forniscono gli strumenti per costruire modelli di segmentazione. Tuttavia, librerie di alto livello semplificano notevolmente il processo. Il Ultralytics YOLO11 modelli supportano di segmentazione, offrendo un equilibrio tra velocità e accuratezza, adatto a velocità e precisione, adatto per inferenza in tempo reale.
L'esempio seguente mostra come caricare un modello di segmentazione YOLO11 pre-addestrato ed eseguire l'inferenza su un'immagine utilizzando il modello YOLO11 .
immagine utilizzando il modello ultralytics pacchetto python .
from ultralytics import YOLO
# Load a pre-trained YOLO11 segmentation model
model = YOLO("yolo11n-seg.pt")
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Visualize the segmentation mask results
results[0].show()
Per gli sviluppatori che desiderano creare soluzioni personalizzate, strumenti di annotazione come LabelMe o CVAT sono essenziali per preparare i dati di addestramento. Una volta addestrati, questi modelli possono essere distribuiti sui dispositivi edge utilizzando OpenCV o formati ottimizzati formati ottimizzati come ONNX per ottenere prestazioni efficienti negli ambienti di produzione.