Vai al contenuto

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.



📅 Creato 1 anno fa ✏️ Aggiornato 4 mesi fa

Commenti