تخطي إلى المحتوى

تمويه الكائنات باستخدام Ultralytics YOLO11 🚀

ما هو تمويه الأجسام؟

يتضمن تمويه الكائنات باستخدام Ultralytics YOLO11 تطبيق تأثير التمويه على كائنات محددة يتم الكشف عنها في صورة أو مقطع فيديو. يمكن تحقيق ذلك باستخدام قدرات نموذج YOLO11 لتحديد ومعالجة الكائنات داخل مشهد معين.



شاهد: تمويه الكائنات باستخدام Ultralytics YOLO11

مزايا تمويه الكائنات

  • حماية الخصوصية: يعتبر تمويه الكائنات أداة فعالة لحماية الخصوصية عن طريق إخفاء المعلومات الحساسة أو التي تحدد الهوية الشخصية في الصور أو مقاطع الفيديو.
  • التركيز الانتقائي: يسمح YOLO11 بالتمويه الانتقائي، مما يتيح للمستخدمين استهداف كائنات معينة، مما يضمن التوازن بين الخصوصية والاحتفاظ بالمعلومات المرئية ذات الصلة.
  • المعالجة في الوقت الفعلي: تمكن كفاءة YOLO11 من تمويه الكائنات في الوقت الفعلي، مما يجعله مناسبًا للتطبيقات التي تتطلب تحسينات الخصوصية الفورية في البيئات الديناميكية.
  • الامتثال التنظيمي: يساعد المؤسسات على الامتثال لأنظمة حماية البيانات مثل GDPR عن طريق إخفاء هوية المعلومات التعريفية في المحتوى المرئي.
  • الإشراف على المحتوى: مفيد لتعتيم المحتوى غير اللائق أو الحساس في المنصات الإعلامية مع الحفاظ على السياق العام.

تمويه الكائنات باستخدام 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 الوسائط

إليك جدول مع ObjectBlurrer arguments:

الوسيطة النوع افتراضي الوصف
model str None مسار إلى ملف نموذج Ultralytics YOLO.
blur_ratio float 0.5 يضبط النسبة المئوية لشدة التمويه، بقيم في النطاق 0.1 - 1.0.

في ObjectBlurrer يدعم الحل أيضًا مجموعة من track arguments:

الوسيطة النوع افتراضي الوصف
tracker str 'botsort.yaml' يحدد خوارزمية التتبع المراد استخدامها، على سبيل المثال، bytetrack.yaml أو botsort.yaml.
conf float 0.3 يحدد عتبة الثقة للكشف؛ القيم الأقل تسمح بتتبع المزيد من الكائنات ولكن قد تتضمن نتائج إيجابية كاذبة.
iou float 0.5 يحدد عتبة التقاطع على الاتحاد (IoU) لتصفية الاكتشافات المتداخلة.
classes list None يقوم بتصفية النتائج حسب فهرس الفئة. على سبيل المثال، classes=[0, 2, 3] يتتبع الفئات المحددة فقط.
verbose bool True يتحكم في عرض نتائج التتبع، مما يوفر مخرجًا مرئيًا للكائنات التي يتم تتبعها.
device str None يحدد الجهاز الخاص بالاستدلال (على سبيل المثال، cpu, cuda:0 أو 0). يسمح للمستخدمين بالاختيار بين CPU أو GPU معين أو أجهزة حساب أخرى لتنفيذ النموذج.

علاوة على ذلك، يمكن استخدام وسائط التصور التالية:

الوسيطة النوع افتراضي الوصف
show bool False إذا True، يعرض الصور أو مقاطع الفيديو المشروحة في نافذة. مفيد للحصول على تعليقات مرئية فورية أثناء التطوير أو الاختبار.
line_width None or int None يحدد عرض خطوط مربعات الإحاطة. إذا None، يتم تعديل عرض الخط تلقائيًا بناءً على حجم الصورة. يوفر تخصيصًا مرئيًا للوضوح.
show_conf bool True يعرض قيمة الثقة لكل كائن يتم الكشف عنه بجانب التسمية. يعطي نظرة ثاقبة حول يقين النموذج لكل كائن تم الكشف عنه.
show_labels bool True يعرض تسميات لكل كائن يتم الكشف عنه في الناتج المرئي. يوفر فهمًا فوريًا للكائنات التي تم الكشف عنها.

تطبيقات عملية في أرض الواقع

حماية الخصوصية في المراقبة

يمكن لكاميرات المراقبة وأنظمة المراقبة استخدام YOLO11 لتغبيش الوجوه أو لوحات الترخيص أو غيرها من المعلومات التعريفية تلقائيًا مع الاستمرار في التقاط النشاط المهم. يساعد هذا في الحفاظ على الأمن مع احترام حقوق الخصوصية في الأماكن العامة.

إخفاء هوية بيانات الرعاية الصحية

في التصوير الطبي، غالبًا ما تظهر معلومات المريض في عمليات المسح أو الصور. يمكن لـ YOLO11 اكتشاف هذه المعلومات وتمويهها للامتثال للوائح مثل HIPAA عند مشاركة البيانات الطبية لأغراض البحث أو التعليم.

تنقيح المستندات

عند مشاركة المستندات التي تحتوي على معلومات حساسة، يمكن لـ YOLO11 اكتشاف العناصر المحددة تلقائيًا وتمويهها مثل التوقيعات أو أرقام الحسابات أو التفاصيل الشخصية، مما يبسط عملية التنقيح مع الحفاظ على سلامة المستند.

وسائل الإعلام وإنشاء المحتوى

يمكن لمنشئي المحتوى استخدام YOLO11 لتمويه شعارات العلامات التجارية أو المواد المحمية بحقوق الطبع والنشر أو المحتوى غير اللائق في مقاطع الفيديو والصور، مما يساعد على تجنب المشكلات القانونية مع الحفاظ على الجودة الشاملة للمحتوى.

الأسئلة الشائعة

ما هو تمويه الكائنات باستخدام Ultralytics YOLO11؟

يتضمن تمويه الكائنات باستخدام Ultralytics YOLO11 الاكتشاف التلقائي وتطبيق تأثير التمويه على كائنات معينة في الصور أو مقاطع الفيديو. تعمل هذه التقنية على تحسين الخصوصية عن طريق إخفاء المعلومات الحساسة مع الاحتفاظ بالبيانات المرئية ذات الصلة. إن إمكانات المعالجة في الوقت الفعلي لـ YOLO11 تجعلها مناسبة للتطبيقات التي تتطلب حماية فورية للخصوصية وتعديلات انتقائية للتركيز.

كيف يمكنني تطبيق تمويه الكائنات في الوقت الفعلي باستخدام YOLO11؟

لتنفيذ تمويه الكائنات في الوقت الفعلي باستخدام YOLO11، اتبع مثال python المقدم. يتضمن ذلك استخدام YOLO11 لـ اكتشاف الكائنات و OpenCV لتطبيق تأثير التمويه. إليك نسخة مبسطة:

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()

ما هي فوائد استخدام Ultralytics YOLO11 لتمويه الكائنات؟

يوفر Ultralytics YOLO11 العديد من المزايا لتمويه الكائنات:

  • حماية الخصوصية: إخفاء المعلومات الحساسة أو التي يمكن التعرف عليها بشكل فعال.
  • تركيز انتقائي: استهداف عناصر معينة للتغبيش، مع الحفاظ على المحتوى المرئي الأساسي.
  • معالجة في الوقت الفعلي: تنفيذ تغبيش العناصر بكفاءة في البيئات الديناميكية، وهو مناسب لتحسين الخصوصية الفورية.
  • كثافة قابلة للتخصيص: اضبط نسبة التمويه لتحقيق التوازن بين احتياجات الخصوصية والسياق المرئي.
  • التمويه الخاص بالفئة: قم بتمويه أنواع معينة فقط من الكائنات بشكل انتقائي مع ترك الأنواع الأخرى مرئية.

لمزيد من التطبيقات التفصيلية، تحقق من مزايا قسم تغبيش العناصر.

هل يمكنني استخدام Ultralytics YOLO11 لتمويه الوجوه في مقطع فيديو لأسباب تتعلق بالخصوصية؟

نعم، يمكن تهيئة Ultralytics YOLO11 لاكتشاف الوجوه وتغبيشها في مقاطع الفيديو لحماية الخصوصية. من خلال تدريب نموذج مُدرَّب مسبقًا أو استخدام نموذج لاكتشاف الوجوه تحديدًا، يمكن معالجة نتائج الاكتشاف باستخدام OpenCV لتطبيق تأثير التغبيش. راجع دليلنا حول اكتشاف العناصر باستخدام YOLO11 وقم بتعديل التعليمات البرمجية لاستهداف اكتشاف الوجه.

كيف تتم مقارنة YOLO11 بنماذج الكشف عن الكائنات الأخرى مثل Faster R-CNN لتمويه الكائنات؟

يتفوق Ultralytics YOLO11 عادةً على نماذج مثل Faster R-CNN من حيث السرعة، مما يجعله أكثر ملاءمة للتطبيقات في الوقت الفعلي. في حين أن كلا النموذجين يوفران اكتشافًا دقيقًا، إلا أن بنية YOLO11 مُحسَّنة للاستدلال السريع، وهو أمر بالغ الأهمية لمهام مثل تغبيش العناصر في الوقت الفعلي. تعرف على المزيد حول الاختلافات التقنية ومقاييس الأداء في وثائق YOLO11 الخاصة بنا.



📅 تم الإنشاء منذ سنة واحدة ✏️ تم التحديث منذ شهرين

تعليقات