Offuscamento degli oggetti tramite Ultralytics YOLO11 🚀
Cos'è l'offuscamento degli oggetti?
L'offuscamento degli oggetti con Ultralytics YOLO11 comporta l'applicazione di un effetto di sfocatura a specifici oggetti rilevati in un'immagine o in un video. Ciò può essere ottenuto utilizzando le capacità del modello YOLO11 per identificare e manipolare gli oggetti all'interno di una determinata scena.
Guarda: Offuscamento degli oggetti tramite Ultralytics YOLO11
Vantaggi dell'Offuscamento degli Oggetti
- Protezione della privacy: La sfocatura degli oggetti è uno strumento efficace per salvaguardare la privacy, nascondendo informazioni sensibili o identificabili personalmente in immagini o video.
- Messa a fuoco selettiva: YOLO11 consente la sfocatura selettiva, consentendo agli utenti di selezionare oggetti specifici, garantendo un equilibrio tra privacy e conservazione di informazioni visive rilevanti.
- Elaborazione in tempo reale: L'efficienza di YOLO11 consente di sfocare gli oggetti in tempo reale, rendendolo adatto per 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, anonimizzando le informazioni identificabili nei contenuti visivi.
- Moderazione dei contenuti: Utile per sfocare contenuti inappropriati o sensibili nelle piattaforme multimediali preservando il contesto generale.
Offuscamento degli oggetti usando Ultralytics YOLO
# Blur the objects
yolo solutions blur show=True
# Pass a source video
yolo solutions blur source="path/to/video.mp4"
# Blur the specific classes
yolo solutions blur classes="[0, 5]"
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 ObjectBlurrer
argomenti:
Argomento | Tipo | Predefinito | Descrizione |
---|---|---|---|
model |
str |
None |
Percorso del file del modello Ultralytics YOLO. |
blur_ratio |
float |
0.5 |
Regola la percentuale di intensità della sfocatura, con valori nell'intervallo 0.1 - 1.0 . |
Il ObjectBlurrer
solution supporta anche una serie di track
argomenti:
Argomento | Tipo | Predefinito | Descrizione |
---|---|---|---|
tracker |
str |
'botsort.yaml' |
Specifica l'algoritmo di tracking da utilizzare, ad esempio: bytetrack.yaml oppure botsort.yaml . |
conf |
float |
0.3 |
Imposta la soglia di confidenza per i rilevamenti; valori inferiori consentono di tracciare più oggetti, ma potrebbero includere falsi positivi. |
iou |
float |
0.5 |
Imposta la soglia Intersection over Union (IoU) per filtrare i rilevamenti sovrapposti. |
classes |
list |
None |
Filtra i risultati per indice di classe. Per esempio, classes=[0, 2, 3] traccia solo le classi specificate. |
verbose |
bool |
True |
Controlla la visualizzazione dei risultati del tracking, fornendo un output visivo degli oggetti tracciati. |
device |
str |
None |
Specifica il dispositivo per l'inferenza (ad esempio, cpu , cuda:0 oppure 0 ). Consente agli utenti di scegliere tra CPU, una GPU specifica 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 lo spessore della linea dei riquadri di delimitazione. Se None , lo spessore della linea viene regolato automaticamente in base alle dimensioni dell'immagine, fornendo una personalizzazione visiva per una maggiore chiarezza. |
show_conf |
bool |
True |
Visualizza il punteggio di confidenza per ogni rilevamento accanto all'etichetta, offrendo una panoramica sulla certezza del modello per ogni rilevamento. |
show_labels |
bool |
True |
Mostra le etichette per ogni rilevamento nell'output visivo, fornendo una comprensione immediata degli oggetti rilevati. |
Applicazioni nel 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. Ciò contribuisce a mantenere la sicurezza nel rispetto dei diritti alla privacy negli spazi pubblici.
Anonimizzazione dei dati sanitari
In imaging medicale, le informazioni sui pazienti spesso compaiono in scansioni o foto. YOLO11 può rilevare e sfocare queste informazioni per conformarsi alle normative come HIPAA quando si condividono dati medici per scopi di ricerca o educativi.
Redazione di documenti
Quando si condividono documenti contenenti informazioni sensibili, YOLO11 può rilevare e sfocare automaticamente elementi specifici come firme, numeri di conto o dettagli personali, semplificando il processo di redazione e mantenendo l'integrità del documento.
Creazione di media e contenuti
I creatori di contenuti possono utilizzare YOLO11 per sfocare loghi di marchi, materiale protetto da copyright o contenuti inappropriati in video e immagini, contribuendo a evitare problemi legali preservando al contempo la qualità complessiva dei contenuti.
FAQ
Cos'è l'offuscamento degli oggetti con Ultralytics YOLO11?
L'offuscamento degli oggetti con Ultralytics YOLO11 comporta il rilevamento e l'applicazione automatica di un effetto di sfocatura a oggetti specifici in immagini o video. Questa tecnica migliora la privacy nascondendo informazioni sensibili pur conservando dati visivi rilevanti. Le capacità di elaborazione in tempo reale di YOLO11 lo rendono adatto per applicazioni che richiedono protezione immediata della privacy e regolazioni selettive della messa a fuoco.
Come posso implementare l'offuscamento di oggetti in tempo reale utilizzando YOLO11?
Per implementare l'offuscamento di oggetti in tempo reale con YOLO11, segui l'esempio Python fornito. Questo implica l'utilizzo di YOLO11 per il rilevamento di oggetti e OpenCV per applicare l'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: Offusca efficacemente le informazioni sensibili o identificabili.
- Messa a fuoco selettiva: Seleziona oggetti specifici da sfocare, mantenendo i contenuti visivi essenziali.
- Elaborazione in tempo reale: Esegui l'offuscamento degli oggetti in modo efficiente in ambienti dinamici, adatto per miglioramenti istantanei della privacy.
- Intensità Personalizzabile: Regola il rapporto di sfocatura per bilanciare le esigenze di privacy con il contesto visivo.
- Offuscamento specifico per classe: Offusca selettivamente solo determinati tipi di oggetti lasciando gli altri visibili.
Per applicazioni più dettagliate, consulta la sezione sui vantaggi dell'offuscamento 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 sfocatura. Consulta la nostra guida sul rilevamento di oggetti con YOLO11 e modifica il codice per mirare al rilevamento dei volti.
Come si confronta YOLO11 con altri modelli di object detection come Faster R-CNN per l'offuscamento degli oggetti?
Ultralytics YOLO11 in genere supera modelli come Faster R-CNN in termini di velocità, rendendolo più adatto per applicazioni in tempo reale. Sebbene entrambi i modelli offrano un rilevamento accurato, l'architettura di YOLO11 è ottimizzata per un'inferenza rapida, fondamentale per attività come la sfocatura di oggetti in tempo reale. Scopri di più sulle differenze tecniche e sulle metriche di performance nella nostra documentazione di YOLO11.