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

تقيس المنصة أثناء بدء الاستخدام زمن الاستجابة إلى مناطق البيانات الثلاث، وتوصي بالأقرب. ويصبح اختيارك dataRegion الخاص بالحساب:
| منطقة البيانات | الموقع | الاختيار المعتاد لـ |
|---|---|---|
US (us) | آيوا، الولايات المتحدة الأمريكية (us-central1) | الأمريكتان |
EU (eu) | سان غيسلان، بلجيكا (europe-west1) | أوروبا والشرق الأوسط وأفريقيا؛ وإقامة البيانات بدافع اللائحة العامة لحماية البيانات (GDPR) |
AP (ap) | تشانغهوا، تايوان (asia-east1) | آسيا والمحيط الهادئ |
تحدد منطقة البيانات موضع تخزين المنصة لمجموعات البيانات والنماذج وبيانات التدريب المُدارة، وكذلك موضع تشغيل الاستدلال المشترك. وثمة ثلاثة أمور تقع خارج نطاقها:
- تُشغَّل نقاط النهاية المخصصة في أي منطقة من مناطق النشر الـ42 التي تختارها؛ لذا يمكن لمساحة عمل في EU تقديم الخدمة من طوكيو، وتُرسل صورة كل طلب إلى هناك.
- تُعالَج البيانات على مستوى الحساب، مثل الملف الشخصي والفوترة والنشاط، على مستوى العالم، كما يوضح إشعار الخصوصية.
- موقع الحوسبة. تضمن منطقة البيانات موقع التخزين. إذا كان العقد يقيّد مكان إجراء المعالجة، فتحقق من مواقع GPU ونقاط النهاية مع Ultralytics قبل التدريب، أو استخدم On Premise.

لا يمكنك تغيير منطقة البيانات بنفسك؛ إذ يتطلب ذلك طلب دعم. وترث مساحات عمل الفريق منطقة البيانات الخاصة بالشخص الذي ينشئها. اتخذ القرار استنادًا إلى العقد، لا إلى زمن الاستجابة:
عندما تتعارض متطلبات زمن الاستجابة وإقامة البيانات لدى المستخدمين متعددي الجنسيات، اختر عن قصد: نقطة نهاية واحدة في منطقة البيانات (أبسط من ناحية الامتثال، لكنها أبطأ للمستخدمين البعيدين)، أو نقاط نهاية في مناطق متعددة (أسرع، لكن كل منطقة تستقبل صور الطلبات، لذا تحقق من توافق كل منطقة مع العقد)، أو مساحات عمل منفصلة لكل ولاية قضائية (أقوى فصلًا، لكنها تتطلب إدارة أكبر).
إمكانية الاطلاع والوصول#
تكون مجموعات البيانات والمشاريع الجديدة عامة افتراضيًا في باقتي Free وPro، وخاصة في باقة Enterprise. ويمكن لأي شخص الاطلاع على الموارد العامة، بمن فيهم الزوار غير المسجلين، واستنساخها من Explore؛ ولا يؤدي جعل المورد خاصًا لاحقًا إلى إزالة النسخ التي سبق للآخرين استنساخها. تستخدم مساحات عمل الفريق (Pro وEnterprise) أربعة أدوار:
| الدور | الصلاحيات |
|---|---|
| المالك | كل شيء، بما في ذلك الأعضاء والفوترة وحذف الفريق ونقل الملكية |
| المسؤول | تحرير كل شيء؛ وإدارة الفوترة والإعدادات والأعضاء ذوي الصلاحيات الأدنى من المسؤول |
| المحرر | إنشاء الموارد وتحريرها وحذفها؛ والتحميل والتدريب والتصدير والنشر |
| المشاهد | الاطلاع على موارد الفريق وأعضائه |
ترتبط كل نقطة نهاية مخصصة بمفتاح API واحد، ولا يمكن الاطلاع على قيم المفاتيح إلا لمالك مساحة العمل. ولا يؤدي حذف هذا المفتاح إلى إيقاف نقطة النهاية؛ بل يتطلب ذلك إيقاف عملية النشر أو حذفها.
مثال عملي: إخفاء الهوية قبل التحميل#
تطمس المنصة الوجوه: انقر بزر الفأرة الأيمن على صورة واختر طمس الوجوه (مجانًا)، أو نفّذ ذلك على مجموعة بيانات كاملة من مزيد من الإجراءات (1.00 دولار لكل 1,000 صورة)، أو فعّل طمس الصور في مربع حوار مجموعة البيانات الجديدة لطمس الصور أثناء المعالجة عند تحميلها دون أي تكلفة. ولا تطمس هذه الميزة لوحات السيارات أو الشاشات أو أجسام المارة بالكامل، كما أنها غير متاحة لمجموعات البيانات المتصلة.

أما في الحالات الأخرى، فأخفِ الهوية قبل مغادرة وحدات البكسل لجهازك. ففي مشروع للرافعات الشوكية، مثلًا، يكون الأشخاص من المارة لا من الفئات التي تكتشفها، لذا اطمس كل شخص بالكامل:
from pathlib import Path
import cv2
from ultralytics import YOLO
model = YOLO("yolo26n.pt") # swap in a plate or face detector for those objects
out = Path("anonymized")
out.mkdir(exist_ok=True)
for result in model.predict("https://ultralytics.com/images/bus.jpg", classes=[0], conf=0.25, verbose=False):
img = result.orig_img
for x1, y1, x2, y2 in result.boxes.xyxy.int().tolist():
img[y1:y2, x1:x2] = cv2.GaussianBlur(img[y1:y2, x1:x2], (51, 51), 0) # irreversible once saved
cv2.imwrite(str(out / Path(result.path).name), img)
print(f"{Path(result.path).name}: blurred {len(result.boxes)} people")bus.jpg: blurred 4 people- يقيّد
classes=[0]الكشف بالأشخاص؛ ووجّهpredictإلى مجلد الإطارات لمعالجة دفعة كاملة. - قيمة
conf=0.25منخفضة عمدًا: فمن منظور الخصوصية، تكون رقعة إضافية مطموسة أقل كلفة من عدم اكتشاف شخص. ومع ذلك، تحقق من المخرجات عشوائيًا، لأن الكواشف قد تفوّت الأشخاص الصغار أو المحجوبين. - حمّل مجلد
anonymized/فقط، واحتفظ بالأصول وفقًا لما تنص عليه سياسة الاحتفاظ لديك.
قواعد اتخاذ القرار: اطمس الوجوه فقط (باستخدام أداة المنصة) عندما تكون الأشخاص فئةً تكتشفها، لأن طمس الأجسام بالكامل سيزيل الإشارة التي يتعلم منها النموذج. واطمس المارة بالكامل عندما لا تكون الأشخاص فئةً. واحجب اللوحات عندما تعتبرها قواعدك بيانات شخصية، كما يحدث غالبًا في EU وكاليفورنيا. وعندما لا يُسمح بمغادرة الموقع إلا للأعداد أو التنبيهات، شغّل الاستدلال عند الحافة وأرسل البيانات الوصفية بدلًا من الإطارات.
الاحتفاظ والحذف#
| العنصر | إجراء الحذف |
|---|---|
| مجموعات البيانات والمشاريع والنماذج | تُنقل إلى سلة المهملات لمدة 30 يومًا (وتظل محسوبة ضمن مساحة التخزين)، ثم تُحذف نهائيًا |
| عمليات النشر | تُحذف فورًا وبشكل نهائي، بما في ذلك سجل المقاييس والسجلات |
| أمثلة المراقبة وإحصاءاتها | توجد في ذاكرة نقطة النهاية؛ وتختفي عند الإيقاف أو إعادة التشغيل ما لم تُحفظ في مجموعة بيانات |
| حسابك | الإعدادات > الملف الشخصي > حذف حسابي؛ وعلى مالكي الفرق حذف الفرق أو نقل ملكيتها أولًا |
للاستجابة لطلبات الوصول، ينشئ خيار تصدير كل البيانات ضمن الإعدادات > الملف الشخصي ملف JSON ببياناتك الوصفية (الملف الشخصي ومجموعات البيانات والمشاريع والنماذج والنشاط)، وليس الصور أو الأوزان.
قائمة تحقق الامتثال قبل الإطلاق#
- ما الذي يغادر بيئة العميل؟ الإطارات أم التنبؤات أم البيانات المجمّعة فقط؟
- ما منطقة البيانات ومناطق النشر؟ هل تستوفي كل منها متطلبات العقد؟
- هل كل مجموعة بيانات ومشروع حساس خاص؟ تحقق مما إذا كانت قد أُنشئت نسخ عامة منها سابقًا.
- هل تُطمس الوجوه وتُحجب اللوحات عند اللزوم؟ ومن يتحقق عشوائيًا مما فاته الطمس؟
- هل يُسمح لك بالتدريب على بيانات هذا العميل أصلًا؟ إن لم يكن، فاحتفظ بها في مساحة عمل منفصلة.
- كيف تحذف صور عميل بعينه عند الطلب؟ حدّد مجموعات البيانات وخطوة سلة المهملات.
- من لديه أي دور، ومن يحتفظ بمفاتيح API الخاصة بعمليات النشر؟
تنشر Ultralytics معلومات وضعها الأمني، بما في ذلك الامتثال لمعياري ISO/IEC 27001:2022 وSOC 2 Type I، على صفحة الأمان. اطلب اعتماد مراجع امتثال لأي عملية نشر خاضعة للتنظيم.
مواطن الخلل#
العَرَض: يكشف تدقيق إقامة البيانات أن صور الطلبات عولجت في ولاية آيوا. الحل: لا يقيّد إقليم البيانات مواقع الأطراف النهائية. انشر في إقليم يفي بمتطلبات العقد، وأدرج كل إقليم تُستضاف فيه نقطة نهاية في قائمة التحقق.
العَرَض: بعد إخفاء الهوية، ينخفض استدعاء كاشف الأشخاص بشدة. الحل: يؤدي طمس الأشخاص بالكامل إلى إزالة السمات التي يتعلمها النموذج. اطمس الوجوه فقط عندما يكون الأشخاص فئة مستهدفة، واطمس الأجسام بالكامل فقط عندما يكونون من المارة.
العَرَض: جعلت مجموعة بيانات خاصة، لكن نسخًا منها لا تزال تظهر في Explore. الحل: النسخ المستنسخة التي أُنشئت عندما كانت المجموعة عامة تظل ملكًا لأصحابها. تعامل مع جعل البيانات عامة على أنه إجراء لا رجعة فيه للبيانات الحساسة، واضبط مستوى الظهور عند الإنشاء.
عرض الحل
الإجابة العملية لخط إنتاج الأقراص الألماني: (1) لا تغادر الإطارات المصنع إلا لأغراض الوسم؛ وتُرسل التنبؤات إلى MES. (2) منطقة البيانات EU؛ ونقطة النهاية europe-west1. (3) كلتا مجموعتي البيانات والمشروع خاصان؛ ولا توجد نسخ مستنسخة. (4) تظهر أيدي العاملين ووجوههم أحيانًا: خيار طمس الوجوه عند التحميل مفعّل، ويتحقق مسؤول ضمان الجودة عشوائيًا من 20 صورة أسبوعيًا. (5) يسمح العقد بالتدريب على بيانات المصنع. (6) توجد صور كل عميل في مجموعة البيانات الخاصة به، لذا يعني طلب الحذف حذف تلك المجموعة ثم استخدام إفراغ سلة المهملات بدلًا من انتظار الحذف التلقائي بعد 30 يومًا. (7) رافي هو المالك ويحمل مفتاح نقطة النهاية؛ وآنا محررة؛ وفريق ضمان الجودة مشاهد. طمس anonymize.py 23 شخصًا في 20 إطارًا؛ وقد فات الكشف عن عامل محجوب جزئيًا فحُجب يدويًا، لذا خُفّض الحد إلى 0.15.