Sfumatura degli oggetti con Ultralytics YOLO11 🚀
Che cos'è la sfocatura degli oggetti?
Sfocatura degli oggetti con Ultralytics YOLO11 consiste nell'applicare un effetto di sfocatura a specifici oggetti rilevati in un'immagine o in un video. Ciò può essere ottenuto utilizzando le funzionalità del modello YOLO11 per identificare e manipolare gli oggetti all'interno di una determinata scena.
Guarda: Sfocatura degli oggetti con Ultralytics YOLO11
Vantaggi della sfocatura degli oggetti
- Protezione della privacy: La sfocatura degli oggetti è uno strumento efficace per salvaguardare la privacy, nascondendo informazioni sensibili o di identificazione personale nelle immagini o nei video.
- Messa a fuoco selettiva: YOLO11 consente una sfocatura selettiva, permettendo agli utenti di mirare a oggetti specifici, garantendo un equilibrio tra privacy e conservazione delle informazioni visive rilevanti.
- Elaborazione in tempo reale: YOLO11 L'efficienza del sistema consente di sfocare gli oggetti in tempo reale, rendendolo adatto alle applicazioni che richiedono miglioramenti della privacy al volo in ambienti dinamici.
- Conformità normativa: Aiuta le organizzazioni a rispettare le normative sulla protezione dei dati, come il GDPR, rendendo anonime le informazioni identificabili nei contenuti visivi.
- Moderazione dei contenuti: Utile per offuscare i contenuti inappropriati o sensibili nelle piattaforme multimediali, preservando il contesto generale.
Sfocatura degli oggetti con Ultralytics YOLO
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"
# Video writer
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
video_writer = cv2.VideoWriter("object_blurring_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
# Initialize object blurrer object
blurrer = solutions.ObjectBlurrer(
show=True, # display the output
model="yolo11n.pt", # model for object blurring i.e. yolo11m.pt
# line_width=2, # width of bounding box.
# classes=[0, 2], # count specific classes i.e, person and car with COCO pretrained model.
# blur_ratio=0.5, # adjust percentage of blur intensity, the value in range 0.1 - 1.0
)
# Process video
while cap.isOpened():
success, im0 = cap.read()
if not success:
print("Video frame is empty or processing is complete.")
break
results = blurrer(im0)
# print(results") # access the output
video_writer.write(results.plot_im) # write the processed frame.
cap.release()
video_writer.release()
cv2.destroyAllWindows() # destroy all opened windows
ObjectBlurrer
Argomenti
Ecco una tabella con i dati ObjectBlurrer
argomenti:
Argomento | Tipo | Predefinito | Descrizione |
---|---|---|---|
model |
str |
None |
Percorso del file del modelloYOLO Ultralytics . |
line_width |
None or int |
None |
Specifica la larghezza della linea delle caselle di delimitazione. Se None La larghezza della linea viene regolata automaticamente in base alle dimensioni dell'immagine. Fornisce una personalizzazione visiva per la chiarezza. |
blur_ratio |
float |
0.5 |
Regola la percentuale dell'intensità della sfocatura, con valori compresi nell'intervallo 0.1 - 1.0 . |
Il ObjectBlurrer
La soluzione supporta anche una serie di track
argomenti:
Argomento | Tipo | Predefinito | Descrizione |
---|---|---|---|
tracker |
str |
'botsort.yaml' |
Specifica l'algoritmo di tracciamento da utilizzare, ad es, bytetrack.yaml o botsort.yaml . |
conf |
float |
0.3 |
Imposta la soglia di confidenza per i rilevamenti; valori più bassi consentono di tracciare un maggior numero di oggetti, ma possono includere falsi positivi. |
iou |
float |
0.5 |
Imposta la soglia Intersection over Union (IoU) per il filtraggio dei rilevamenti sovrapposti. |
classes |
list |
None |
Filtra i risultati per indice di classe. Ad esempio, classes=[0, 2, 3] tiene traccia solo delle classi specificate. |
verbose |
bool |
True |
Controlla la visualizzazione dei risultati del tracciamento, fornendo un output visivo degli oggetti tracciati. |
device |
str |
None |
Specifica il dispositivo per l'inferenza (ad es, cpu , cuda:0 o 0 ). Consente agli utenti di scegliere tra CPU, uno specifico GPU o altri dispositivi di calcolo per l'esecuzione del modello. |
Inoltre, è possibile utilizzare i seguenti argomenti di visualizzazione:
Argomento | Tipo | Predefinito | Descrizione |
---|---|---|---|
show |
bool |
False |
Se True visualizza le immagini o i video annotati in una finestra. Utile per un feedback visivo immediato durante lo sviluppo o il test. |
line_width |
None or int |
None |
Specifica la larghezza della linea delle caselle di delimitazione. Se None La larghezza della linea viene regolata automaticamente in base alle dimensioni dell'immagine. Fornisce una personalizzazione visiva per la chiarezza. |
Applicazioni del mondo reale
Protezione della privacy nella sorveglianza
Le telecamere di sicurezza e i sistemi di sorveglianza possono utilizzare YOLO11 per sfocare automaticamente volti, targhe o altre informazioni identificative, pur continuando a catturare attività importanti. In questo modo si contribuisce a mantenere la sicurezza rispettando il diritto alla privacy negli spazi pubblici.
Anonimizzazione dei dati sanitari
Nelle immagini mediche, le informazioni sui pazienti appaiono spesso nelle scansioni o nelle foto. YOLO11 è in grado di rilevare e sfocare queste informazioni per conformarsi a normative come l'HIPAA quando si condividono dati medici per scopi di ricerca o didattici.
Riduzione dei documenti
Quando si condividono documenti che contengono informazioni sensibili, YOLO11 è in grado di rilevare e offuscare automaticamente elementi specifici come firme, numeri di conto o dettagli personali, semplificando il processo di eliminazione e mantenendo l'integrità del documento.
Creazione di media e contenuti
I creatori di contenuti possono utilizzare YOLO11 per sfocare i loghi dei marchi, il materiale protetto da copyright o i contenuti inappropriati nei video e nelle immagini, evitando problemi legali e preservando la qualità complessiva dei contenuti.
FAQ
Che cos'è la sfocatura degli oggetti con Ultralytics YOLO11 ?
La sfocatura degli oggetti con Ultralytics YOLO11 consiste nel rilevare e applicare automaticamente un effetto di sfocatura a oggetti specifici in immagini o video. Questa tecnica migliora la privacy nascondendo le informazioni sensibili e conservando i dati visivi rilevanti. YOLO11 Le capacità di elaborazione in tempo reale lo rendono adatto alle applicazioni che richiedono una protezione immediata della privacy e la regolazione selettiva della messa a fuoco.
Come posso implementare la sfocatura degli oggetti in tempo reale utilizzando YOLO11?
Per implementare la sfocatura degli oggetti in tempo reale con YOLO11, seguire l'esempio fornito con Python . Questo prevede l'uso di YOLO11 per il rilevamento degli oggetti e di OpenCV per l'applicazione dell'effetto di sfocatura. Ecco una versione semplificata:
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
# Video writer
video_writer = cv2.VideoWriter("object_blurring_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
# Init ObjectBlurrer
blurrer = solutions.ObjectBlurrer(
show=True, # display the output
model="yolo11n.pt", # model="yolo11n-obb.pt" for object blurring using YOLO11 OBB model.
blur_ratio=0.5, # set blur percentage i.e 0.7 for 70% blurred detected objects
# line_width=2, # width of bounding box.
# classes=[0, 2], # count specific classes i.e, person and car with COCO pretrained model.
)
# Process video
while cap.isOpened():
success, im0 = cap.read()
if not success:
print("Video frame is empty or processing is complete.")
break
results = blurrer(im0)
video_writer.write(results.plot_im)
cap.release()
video_writer.release()
cv2.destroyAllWindows()
Quali sono i vantaggi dell'utilizzo di Ultralytics YOLO11 per la sfocatura degli oggetti?
Ultralytics YOLO11 offre diversi vantaggi per la sfocatura degli oggetti:
- Protezione della privacy: Oscurare efficacemente le informazioni sensibili o identificabili.
- Messa a fuoco selettiva: Mirate a oggetti specifici da sfocare, mantenendo i contenuti visivi essenziali.
- Elaborazione in tempo reale: Esecuzione efficiente della sfocatura degli oggetti in ambienti dinamici, adatta per il miglioramento istantaneo della privacy.
- Intensità personalizzabile: Regolate il rapporto di sfocatura per bilanciare le esigenze di privacy con il contesto visivo.
- Sfocatura specifica per classe: Sfumare selettivamente solo alcuni tipi di oggetti lasciando visibili gli altri.
Per applicazioni più dettagliate, consultare la sezione Vantaggi della sfocatura degli oggetti.
Posso utilizzare Ultralytics YOLO11 per sfocare i volti in un video per motivi di privacy?
Sì, Ultralytics YOLO11 può essere configurato per rilevare e sfocare i volti nei video per proteggere la privacy. Addestrando o utilizzando un modello pre-addestrato per riconoscere specificamente i volti, i risultati del rilevamento possono essere elaborati con OpenCV per applicare un effetto di sfocatura. Fare riferimento alla nostra guida sul rilevamento degli oggetti con YOLO11 e modificare il codice per il rilevamento dei volti.
Come si colloca YOLO11 rispetto ad altri modelli di rilevamento degli oggetti, come Faster R-CNN per la sfocatura degli oggetti?
Ultralytics YOLO11 supera in genere modelli come Faster R-CNN in termini di velocità, rendendolo più adatto alle applicazioni in tempo reale. Sebbene entrambi i modelli offrano un rilevamento accurato, l'architettura di YOLO11 è ottimizzata per una rapida inferenza, fondamentale per attività come la sfocatura degli oggetti in tempo reale. Per saperne di più sulle differenze tecniche e sulle metriche delle prestazioni, consultate la documentazione di YOLO11 .