Floutage d'objet utilisant Ultralytics YOLO11 🚀
Qu'est-ce que le flou d'objet ?
Le floutage d'objet avec Ultralytics YOLO11 implique l'application d'un effet de flou à des objets détectés spécifiques dans une image ou une vidéo. Ceci peut être réalisé en utilisant les capacités du modèle YOLO11 pour identifier et manipuler des objets dans une scène donnée.
Regarder : Floutage d'objet utilisant Ultralytics YOLO11
Avantages du floutage d'objets
- Protection de la vie privée : Le floutage d'objets est un outil efficace pour protéger la vie privée en masquant les informations sensibles ou personnellement identifiables dans les images ou les vidéos.
- Focus sélectif : YOLO11 permet un floutage sélectif, permettant aux utilisateurs de cibler des objets spécifiques, assurant un équilibre entre la confidentialité et la conservation des informations visuelles pertinentes.
- Traitement en temps réel : L'efficacité de YOLO11 permet le floutage d'objets en temps réel, ce qui le rend adapté aux applications nécessitant des améliorations de la confidentialité à la volée dans des environnements dynamiques.
- Conformité réglementaire : Aide les organisations à se conformer aux réglementations sur la protection des données telles que le RGPD en anonymisant les informations d'identification dans le contenu visuel.
- Modération de contenu : Utile pour flouter le contenu inapproprié ou sensible dans les plateformes médiatiques tout en préservant le contexte général.
Floutage d'objets à l'aide d'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
Arguments
Voici un tableau avec les ObjectBlurrer
arguments :
Argument | Type | Par défaut | Description |
---|---|---|---|
model |
str |
None |
Chemin d'accès au fichier de modèle Ultralytics YOLO. |
blur_ratio |
float |
0.5 |
Ajuste le pourcentage d'intensité du flou, avec des valeurs comprises dans la plage 0.1 - 1.0 . |
L'argument ObjectBlurrer
la solution prend également en charge une gamme de track
arguments :
Argument | Type | Par défaut | Description |
---|---|---|---|
tracker |
str |
'botsort.yaml' |
Spécifie l'algorithme de suivi à utiliser, par exemple, bytetrack.yaml ou botsort.yaml . |
conf |
float |
0.3 |
Définit le seuil de confiance pour les détections ; des valeurs plus basses permettent de suivre plus d'objets, mais peuvent inclure de faux positifs. |
iou |
float |
0.5 |
Définit le seuil Intersection sur Union (IoU) pour filtrer les détections qui se chevauchent. |
classes |
list |
None |
Filtre les résultats par index de classe. Par exemple, classes=[0, 2, 3] suit uniquement les classes spécifiées. |
verbose |
bool |
True |
Contrôle l'affichage des résultats de suivi, fournissant une sortie visuelle des objets suivis. |
device |
str |
None |
Spécifie le périphérique pour l'inférence (par exemple, cpu , cuda:0 ou 0 ). Permet aux utilisateurs de choisir entre le CPU, un GPU spécifique ou d'autres périphériques de calcul pour l'exécution du modèle. |
De plus, les arguments de visualisation suivants peuvent être utilisés :
Argument | Type | Par défaut | Description |
---|---|---|---|
show |
bool |
False |
Si True , affiche les images ou vidéos annotées dans une fenêtre. Utile pour un retour visuel immédiat pendant le développement ou les tests. |
line_width |
None or int |
None |
Spécifie la largeur de ligne des boîtes englobantes. Si None , la largeur de ligne est automatiquement ajustée en fonction de la taille de l'image. Fournit une personnalisation visuelle pour plus de clarté. |
show_conf |
bool |
True |
Affiche le score de confiance pour chaque détection à côté de l'étiquette. Donne un aperçu de la certitude du modèle pour chaque détection. |
show_labels |
bool |
True |
Affiche les étiquettes pour chaque détection dans la sortie visuelle. Fournit une compréhension immédiate des objets détectés. |
Applications concrètes
Protection de la vie privée dans la surveillance
Les caméras de sécurité et les systèmes de surveillance peuvent utiliser YOLO11 pour flouter automatiquement les visages, les plaques d'immatriculation ou d'autres informations d'identification tout en capturant les activités importantes. Cela permet de maintenir la sécurité tout en respectant les droits à la vie privée dans les espaces publics.
Anonymisation des données de santé
En imagerie médicale, les informations sur les patients apparaissent souvent dans les scans ou les photos. YOLO11 peut détecter et flouter ces informations pour se conformer aux réglementations telles que HIPAA lors du partage de données médicales à des fins de recherche ou éducatives.
Rédaction de documents
Lors du partage de documents contenant des informations sensibles, YOLO11 peut automatiquement détecter et flouter des éléments spécifiques tels que les signatures, les numéros de compte ou les données personnelles, ce qui rationalise le processus de rédaction tout en préservant l'intégrité du document.
Médias et création de contenu
Les créateurs de contenu peuvent utiliser YOLO11 pour flouter les logos de marques, le matériel protégé par le droit d'auteur ou le contenu inapproprié dans les vidéos et les images, ce qui permet d'éviter les problèmes juridiques tout en préservant la qualité globale du contenu.
FAQ
Qu'est-ce que le floutage d'objet avec Ultralytics YOLO11 ?
Le floutage d'objet avec Ultralytics YOLO11 implique la détection automatique et l'application d'un effet de flou à des objets spécifiques dans des images ou des vidéos. Cette technique améliore la confidentialité en masquant les informations sensibles tout en conservant les données visuelles pertinentes. Les capacités de traitement en temps réel de YOLO11 le rendent approprié pour les applications nécessitant une protection immédiate de la vie privée et des ajustements sélectifs de la mise au point.
Comment puis-je implémenter le floutage d'objets en temps réel en utilisant YOLO11 ?
Pour implémenter le floutage d'objets en temps réel avec YOLO11, suivez l'exemple Python fourni. Cela implique l'utilisation de YOLO11 pour la détection d'objets et d'OpenCV pour appliquer l'effet de flou. Voici une version simplifiée :
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()
Quels sont les avantages de l'utilisation d'Ultralytics YOLO11 pour le floutage d'objets ?
Ultralytics YOLO11 offre plusieurs avantages pour le floutage d'objets :
- Protection de la vie privée : Masquer efficacement les informations sensibles ou identifiables.
- Focus sélectif : Ciblez des objets spécifiques pour le floutage, tout en conservant le contenu visuel essentiel.
- Traitement en temps réel : Exécutez le floutage d'objets efficacement dans des environnements dynamiques, adapté aux améliorations instantanées de la confidentialité.
- Intensité personnalisable : Ajustez le taux de flou pour équilibrer les besoins de confidentialité avec le contexte visuel.
- Floutage spécifique à la classe : Floutez sélectivement uniquement certains types d'objets tout en laissant les autres visibles.
Pour des applications plus détaillées, consultez la section sur les avantages du floutage d'objets.
Puis-je utiliser Ultralytics YOLO11 pour flouter les visages dans une vidéo pour des raisons de confidentialité ?
Oui, Ultralytics YOLO11 peut être configuré pour détecter et flouter les visages dans les vidéos afin de protéger la vie privée. En entraînant ou en utilisant un modèle pré-entraîné pour reconnaître spécifiquement les visages, les résultats de la détection peuvent être traités avec OpenCV pour appliquer un effet de flou. Consultez notre guide sur la détection d'objets avec YOLO11 et modifiez le code pour cibler la détection des visages.
Comment YOLO11 se compare-t-il à d'autres modèles de détection d'objets comme Faster R-CNN pour le floutage d'objets ?
Ultralytics YOLO11 surpasse généralement les modèles tels que Faster R-CNN en termes de vitesse, ce qui le rend plus adapté aux applications en temps réel. Bien que les deux modèles offrent une détection précise, l'architecture de YOLO11 est optimisée pour une inférence rapide, ce qui est essentiel pour les tâches telles que le floutage d'objets en temps réel. Apprenez-en davantage sur les différences techniques et les mesures de performance dans notre documentation YOLO11.