تعقب الصور والبحث عن أصحابها عبر الإنترنت أصبح من الأمور السهلة التي يمكن لأي شخص القيام بها باستخدام أداة أو موقع للبحث عن الصور والوصول إلى معلومات هامّة عن أصحابها حتى حساباتهم على مواقع التواصل، وبالرغم من أن هذا الأمر قد يكونُ مفيدًا في بعض الأحيان؛ مثلًا إذا كنت تسأل كيف أعرف أن صورتي منتشرة أو مستخدمة من قِبل شخص آخر؟ ولكن ذلك قد يصبح مضرًا لأنه كما تستطيع البحث عن صورك وتعقبها، يمكن للآخرين تحميل صورك وتعقبك على مواقع التواصل، أو حتى استخدامها في تدريب أدوات آلية يمكن باستخدامها بعد ذلك لتتبعك في الحياة الواقعية !
ما هو التعرف على الوجه؟
- التعرف على الوجه Facial Recognition System هي عبارة عن تقنية يمكن من خلالها معرفة ملامح فريدة في وجه شخصٍ ما، بحيث يمكن للنظام بعد ذلك البحث عن صورة أو مجموعة صور لنفس الشخص من بين قاعدة بيانات تضم آلاف وربما مئات الآلاف من الصور واستخراج فقط الصور التي تنتمي لهذا الشخص.
- تعتمد أنظمة التعرف على الوجه في الغالب على تقنيات الذكاء الاصطناعي والتعلم العميق، بحيث يمكن لأي شخص بخبرة متوسطة في المجال أن يقوم بتدريب نموذج للتعرف على الوجه باستخدام خوارزميات التعلم العميق المتاحة بشكل مفتوح المصدر على الإنترنت، وفي خلال فترة بسيطة سيمتلك أداة تستطيع التعرف على الوجوه، بحيث إذا تم تقديم صورة شخص معين ستقوم الأداة بتوفير جميع صور نفس الشخص من قاعدة البيانات التي تم توفيرها.
ما أهمية أنظمة التعرف على الوجه؟
- أدوات التعرف على الوجه من الأدوات التي قد تكون مفيدة في كثيرٍ من الأحيان، على سبيل المثال يمكن من خلالها معرفة اسم صاحب الصورة إذا كنا نريد البحث عن شخص معين ولا نمتلك إلا صورة له؛ وأبرز مثال على ذلك أجهزة الشرطة التي تقوم باستخدام هذه البرامج من أجل البحث عن صور ملتقطة من كاميرات المراقبة للمجرمين.
- يمكن أيضًا أن تكون هذه البرامج مفيدة في حالة كنا نريد معرفة من يستخدم الصور الخاصة بنا على الإنترنت. فيمكن لأي شخص استخدام الصور الخاصّة بنا لإنشاء حسابات مزيفة على أي مواقع تواصل اجتماعي على الويب، ولهذا وفرت بعض المواقع أدوات لتمكن الأفراد من تعقب من يستخدم صورهم كما هو الحال في برنامج درع حماية الصورة الشخصية على فيسبوك.
ما هي خطورة نظام التعرف على الوجه؟
- مثل أي شيء في هذا العالم؛ فإن أنظمة التعرف على الوجه لها عدة سلبيات أبرزها هو انتهاك خصوصية أصحاب الصور واستخدام صورهم لتدريب نماذج آلية بدون إذن صاحب الصور. أشهر مثال على ذلك شركة ClearView التي قامت بجمع أكثر من 3 مليار صورة لأشخاص حقيقيين من الإنترنت بدون إذنٍ منهم، فقط من خلال استخدام تقنيات الزحف على مواقع التواصل الاجتماعي وتحميل صور المستخدمين الذين قاموا برفعها بمحض إرادتهم.
- بعد ذلك قامت هذه الشركة بتدريب نماذج باستخدام الصور التي قامت بجمعها، ثم قامت ببناء محرك بحث يسمح لبعض الجهات بالبحث بصورة شخص معين والحصول على كل المعلومات المتاحة عن هذا الشخص، في انتهاك صارخ لخصوصية المستخدمين. ومن خطورة هذه الأنظمة أيضًا أنها قد تعرضك للمطاردة والمضايقة عبر الإنترنت أو ما يُعرف بـCyberstalking.
ما هو مشروع الخصوصية Fawkes؟
- مشروع Fawkes هو عبارة عن مشروع يهدف إلى حماية خصوصية المستخدمين من أنظمة التعرف على الوجه التي قد تسيء استخدام الصور الخاصة بهم لأهداف لم يُسمح لهم بها كما ذكرنا في الفقرة السابقة. هذا المشروع قام به مجموعة من الباحثين في قسم The SAND Lab من جامعة شيكاغو الأمريكية.
- يهدف هذا المشروع إلى التلاعب بالصور من أجل خداع أنظمة التعرف على الوجه، بحيث إذا قُدّمت صورتين لشخصٍ واحد إحداهما تم التلاعب بها عبر برنامج Fawkes والأخرى لم يتم التلاعب بها لن تتمكن أداة التعرف على الوجه من مطابقة الصورتين، أي ستتعرف الأداة عليهما على أن كل صورة لشخص مختلف !
كيف يمكن إخفاء الهوية من الصور؟
- أداة Fawkes هي عبارة عن خوارزمية متطورة تعمل على تسميم النماذج التي تحاول استخراج الخصائص الفريدة من صورك لكي تستطيع التعرف على الصور الخاصّة بك، وذلك عبر تعديل مجموعة من النقاط أو البكسلز [Pixels] في صورتك في عملية تسمى Image Cloaking. هذه التعديلات لا يمكن إدراكها بالعين البشرية المجردة ولا حتى للآلات التي يتم تدريبها للتعرف على صورك.
- هذه التعديلات التي يتم دمجها في الصورة تستخدم كأحصنة طروادة من أجل السماح لخوارزميات Fawkes بتسميم نموذج التعلم العميق حين يحاول التدرب على صورك من خلال منحه نسخة محرفة أو مشوهة عن خصائص الوجه التي تمتلكها أو الموجودة في الصورة. في هذه الحالة إذا تم تدريب نموذج على صورة لك تم التلاعب بها عبر خوارزمية Fawkes؛ ثم تم التقاط صورة لك في مكان عام بدون علمك وتم تقديمها للنموذج فإنه لن يتمكن من مطابقة الصورتين بنسبة 100% في أغلب الحالات [حسب ما ذكر الباحثون].
- هذه الخوارزمية أثبتت نجاح وفاعلية كبيرة تجاه مجموعة من أشهر نماذج التعرف على الوجه مثل نموذج شركة مايكروسوفت Microsoft Azure Face API، نموذج شركة أمازون Amazon Recognition، ونموذج ⁺⁺Face.
كيفية استخدام برنامج Fawkes لحماية خصوصيتك
- برنامج Fawkes متاح بشكل مجاني للتحميل على الحاسوب بنظام ويندوز 10 أو ماك، يمكنك تحميله إلى الحاسوب الخاص بك ثم تطبيق الخطوات التالية كما سنرى معًا.
1- قم بتحميل برنامج Fawkes لحاسوبك بنظام ويندوز 10 من هذا الرابط، أو لنظام ماك 10.13 أو أعلى من هذا الرابط.
* يمكن أيضًا تحميل نسخة Binary لنظام لينكس من هذا الرابط.
2- بعد الانتهاء من تحميل البرنامج سنقوم بالضغط عليه لتشغيله.
3- سيظهر البرنامج بهذا الشكل، سنقوم بالضغط على زر Select Image ونقوم بإضافة الصورة التي نريد عمل تلاعب أو إخفاء أو Cloaking لها.
كيفية التحقق من فعاليّة الأداة؟
- يمكنك تجربة الصورة المعدلة باستخدام هذا الكود البسيط المكتوب باستخدام لغة بايثون مع تغيير بسيط. ستقوم بتغيير 01.jpg باسم وامتداد صورة خاصك بك، ثم تغيير 02.jpg بصورة مع مجموعة أشخاص تظهر فيها. يمكنكم تجربة الكود مرتين، مرة بصورة أصلية بدون تعديل، ومرة استخدم الصورة المعدلة باستخدام برنامج Fawkes.
- من المفترض أن يفشل البرنامج في التعرف على الصورة المعدلة باستخدام البرنامج.
# Identify and draw box on David # https://github.com/ageitgey/face_recognition/blob/master/examples/identify_and_draw_boxes_on_faces.py import face_recognition import numpy as np from PIL import Image, ImageDraw # Load a sample picture and learn how to recognize it. known_image = face_recognition.load_image_file("01.jpg") encoding = face_recognition.face_encodings(known_image)[0] # Load an image with unknown faces unknown_image = face_recognition.load_image_file("02.jpg") # Find all the faces and face encodings in the unknown image face_locations = face_recognition.face_locations(unknown_image) face_encodings = face_recognition.face_encodings(unknown_image, face_locations) # Convert the image to a PIL-format image so that we can draw on top of it with the Pillow library # See http://pillow.readthedocs.io/ for more about PIL/Pillow pil_image = Image.fromarray(unknown_image) # Create a Pillow ImageDraw Draw instance to draw with draw = ImageDraw.Draw(pil_image) # Loop through each face found in the unknown image for (top, right, bottom, left), face_encoding in zip(face_locations, face_encodings): # See if the face is a match for the known face(s) matches = face_recognition.compare_faces([encoding], face_encoding) # Use the known face with the smallest distance to the new face face_distances = face_recognition.face_distance([encoding], face_encoding) best_match_index = np.argmin(face_distances) if matches[best_match_index]: # Draw a box around the face using the Pillow module draw.rectangle(((left - 20, top - 20), (right + 20, bottom + 20)), outline=(0, 255, 0), width=20) # Remove the drawing library from memory as per the Pillow docs del draw # Display the resulting image pil_image.show()
**** ملاحظات هامّة ****
* يمكنك بعد ذلك نشر هذه الصورة على مواقع التواصل واستخدامها وانت مطمئن أنها لن تستخدم في تدريب نماذج التعرف على الوجه باستخدام الذكاء الاصطناعي والتعلم العميق.
* يمكن التعرف أكثر على كيفية استخدام نسخة الباينري من البرنامج لمزيد من التحكم في إعداداته والنتائج التي نحصل عليها من خلال هذه الصفحة على Github.
* خوارزمية Fawkes تعمل بشكل ممتاز لخداع نماذج التعلم الحالية، لكنها ربما لا تكون كذلك مع بعض النماذج المتطورة التي قد تظهر في المستقبل.
* لا يمكن لأداة Fawkes تعديل صورك الموجودة بالفعل على الإنترنت، لكن كلما كان لك صور أكثر تم تعديلها باستخدام البرنامج، كلما أصبحت فرصتك أفضل في منع إمكانية التعرف على وجهك، مع زيادة حجم الصور المعدل عليها باستخدام البرنامج لدى الشركة المعروفة في مجال بناء نماذج التعرف على الوجه.