Post Top Ad

Your Ad Spot

الاثنين، 28 يناير 2019

Face Recognition



دلوقتي احنا عايزين نقفل اللابتوب بتاعنا عن طريق برنامج وميفتحش غير عن طريق بصمة الوجه كدا احنا محتاجين حاجة اسمها Face verification اما لو احنا محتاجين نعمل نظام امني لشركة مثلا فا عايزين ناس معينة هي الي تتفتح ليها المكاتب بتاعتها بشكل اوتماتيكي فا احنا هنكون محتاجين Face recognition طيب ايه الفرق بين الأولي والتانية ؟

-Face verification  :

الأولي احنا بنعمل Query بيكون ONE-TO-ONE يعني عندنا صورة واحدة بس وبنقران الFeatures الي في الصورة دي بالحقيقة

-Face Recognition  :

التانية احنا بنعمل Query بيكون ONE-TO-MANY يعني عندنا صور موظفين كتير وحاليا الباب المفروض ان قدامه موظف واحد فا صورة الموظف داه هيتم مقارنتها مع موظفين المكتب داه علشان نقدر نشوف هل فعلا هو مسموح ليه انه يكون موجود هنا او لأ .


ايه طيب الاساليب الي ممكن نستخدمها في حل مشكلة شبه دي ؟ 

- One Shot Learning :

ودا alogrithm بيتم استخدامه في عملية ال Face verification  ونقدر نقول ان ليه محتوي علمي كامل وابحاث ودراسات وارواق بحثية كتير جدا بتتكلم عنه وعن اساليبه ولكن احنا هناخد ابسط مثال خالص بيعبر عنه وعن قدرته في تحديد الاختلاف بين الصورتين الي احنا مدخلنهم ليه بيشتغل علي Trainning Set صغيرة جدا علشان يقدر يطلع Function بتحاول تعرف مدي التشابه والاختلاف بين الصورتين وممكن نسميها The similarity function وبتكون المعادلة بتاعتها كداه :




- Siamese Network:

ودا alogrithm بيكون قايم علي فكرة انه يعمل Encode image للطرفين لل Input و References الي معاه  علشان يقدر يحدد اد ايه هما مختلفين عن بعض




- Triplet loss:

هو باين من اسمه ال Triplet انه بياخد 3 حاجات , تعالا اديك مثال عملي عشان نقيس مدي فهمنا للLoss function دي .. دلوقتي انتا عايز تعمل Face detection ل 1000 شخص , هتحتاج من كل شخص 10 صور مختلفة , وهندخلهم علي ال Model ركز معايا بقي احنا عندنا من كل صورة 3 مسميات 
الصورة الأول : anchor
الصورة التاني : positive
الصورة التالت : Negative
شوف هو بكل بساطة بيقيس المسافة بين ال ANCHOR IMAGE وبين ال positive وبين ال Negative يعني لو عندنا 3 صور , صورتين ليا وصورة واحدة بس ليك ودخلناهم علي ال Triplet loss فأعرف ان الصورة الاولي بتاعتي اسمها ANCHOR والصورة التانية بتاعتك اسمها Negative والصورة التالتة بتاعتي اسمها Positive ولو طبقنا الي بيحصل بداخل ال Function هنلاقي ان ال Loss function هيتم تطبيقها علينا والناتج بتاعها هيكون ان ال ANCHOR-POSITIVE هيكونو في نفس ال Class وطبعا ال Negative هتكون بعيدة عنهم لكونها لا تنتمي اليهم اصلا ومفيش بينها وبينهم اي شبه ودا بيتعبر عليه بالمعادلة الجاية وهسيب ليكم فيديو بيشرح التفاصيل المعقدة عن العملية دي سواء Distinace Function او Loss Function ولكن في النهاية ال Triplet بتقوم بوظيفة ال Loss Function بكفاءة عالية جدا ..


وهسيبكم مع الفيديو داه هيوضح الصورة الرياضية والعمليات الحسابية الي بنعملها علشان كل الكلام داه يحصل :


 ودا كان نهاية شرحنا النهاردة ل Face Recognition وان شاء الله هنرفق مشاريع عملية علشان نعزز التطبيق العملي للشرح داه بشكل مفصل ويكون في متناول الجميع , متنساش ان خيركم من علم العلم وعلمه .. ولو انتا في مأزق كل الي عليك تساعد حد متعرفهوش وساعتها بس هتشوف ربنا هيعمل معاك ايه جزاء علي كل الي انتا قدمته للناس .. بالتوفيق افتكر ان الموضوع بسيط 

ملاحظة : دا يعتبر تلخيص بسيط جدا عن عمق المشروع او ال Paper دي او التقنية دي كعلم كامل فا لا يتم مقارنتها اطلاقا بكمية المعلومات المطروحة ولكنها اقل عدد من المعلومات تقدر تعتمد عليها علشان تقدر تطبق عمليا

هناك 3 تعليقات:

  1. الله يغطعطيك العافية..
    لكن يا حبذا لو كان المحاوى مكتوب اللغة العربية الفصيحة

    ردحذف

Post Top Ad

Your Ad Spot

Datalizer