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
blurrer = solutions.ObjectBlurrer(
    show=True,  # display the output
    model="yolo11n.pt",  # model for object blurring, e.g., yolo11m.pt
    # line_width=2,  # width of bounding box.
    # classes=[0, 2],  # blur specific classes, i.e., person and car with COCO pretrained model.
    # blur_ratio=0.5,  # adjust percentage of blur intensity, 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:

ArgomentoTipoPredefinitoDescrizione
modelstrNonePercorso del file del modelloYOLO Ultralytics .
blur_ratiofloat0.5Regola la percentuale di intensità della sfocatura, con valori nell'intervallo 0.1 - 1.0.

Il ObjectBlurrer solution supporta anche una serie di track argomenti:

ArgomentoTipoPredefinitoDescrizione
trackerstr'botsort.yaml'Specifica l'algoritmo di tracking da utilizzare, ad esempio: bytetrack.yaml oppure botsort.yaml.
conffloat0.3Imposta la soglia di confidenza per i rilevamenti; valori inferiori consentono di tracciare più oggetti, ma potrebbero includere falsi positivi.
ioufloat0.5Imposta la soglia Intersection over UnionIoU) per il filtraggio dei rilevamenti sovrapposti.
classeslistNoneFiltra i risultati per indice di classe. Per esempio, classes=[0, 2, 3] traccia solo le classi specificate.
verboseboolTrueControlla la visualizzazione dei risultati del tracking, fornendo un output visivo degli oggetti tracciati.
devicestrNoneSpecifica 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:

ArgomentoTipoPredefinitoDescrizione
showboolFalseSe True, visualizza le immagini o i video annotati in una finestra. Utile per un feedback visivo immediato durante lo sviluppo o il test.
line_widthNone or intNoneSpecifica 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_confboolTrueVisualizza il punteggio di confidenza per ogni rilevamento accanto all'etichetta, offrendo una panoramica sulla certezza del modello per ogni rilevamento.
show_labelsboolTrueMostra 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

Nelle immagini mediche, le informazioni sui pazienti appaiono spesso nelle scansioni o nelle foto. YOLO11 è in grado di detect e sfocare queste informazioni per conformarsi a normative come l'HIPAA quando si condividono dati medici per scopi di ricerca o didattici.

Redazione di documenti

Quando si condividono documenti che contengono informazioni sensibili, YOLO11 è in grado di detect 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 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 la sfocatura degli oggetti in tempo reale con YOLO11, seguire l'esempio Python fornito. Si tratta di utilizzare YOLO11 per il rilevamento degli oggetti e 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: 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 detect 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. Fate riferimento alla nostra guida sul rilevamento degli oggetti con YOLO11 e modificate il codice per il 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.



📅C reato 1 anno fa ✏️ Aggiornato 2 giorni fa
glenn-jocherMatthewNoyceRizwanMunawarUltralyticsAssistantIvorZhu331AyushExel

Commenti