مقدمة في تمييز الأنماط ومعالجة الصور
Introduction to Pattern Recognition and Image Processing
وهو فرع من فروع الذكاء الاصطناعي، ومعنى تمييز الأنماط ومعالجة الصور يوضحهما الـرسم التالي Block diagrams:
بمعنى أن أي برنامج لتمييز الأنماط يدخل له صورة فيعطي تصنيف أو تعرف للصورة، وأي برنامج للعمليات على الصور يدخل له صورة فيعطي صورة تمت بعض العمليات عليها.
نحصر حديثنا عن تمييز الأنماط والتعرف عليها ونشرح أشهر الطرق المستخدمة فيها.
لو سألنا سؤال: كيف يتعرف الإنسان أو الطفل على صورة السيارة كمثال بسيط؟! لكان الجواب البديهي هو لأنه يعلم أنها سيارة. من هنا نتفق أن أي طريقة للتعرف على الأنماط أو أي شئ في العالم لابد من أن يسبقها مرحلة تعلم لهذه الأنماط وهذه الأشياء، إذن مراحل التعرف على أي نمط مرحلتين:
-
مرحلة التعلم learning.
-
مرحلة التصنيف classification or recognition.
يوجد أربعة طرق أساسية مستخدمة في عالم تمييز الأنماط Pattern Recognition Approaches or Methods:، ألا وهي:
1. Template-Matching and Correlation Method.
2. Statical Approach.
3. Syntactic and Structural Approach.
4. Neural Networks Approach.
سنشرح كل طريقة مروراً بالمرحلتين:
-
كيف تتم مرحلة التعليم learning فيها.
-
وأخيراً كيف تتم مرحلة تمييز أو تصنيف الأنماط فيها.
بسم الله نبدأ...
-=-=-=-=-=-=-
الطريقة الأولى Template-Matching and Correlation Method
مرحلة التعليم في هذه الطريقة تقوم على تخزين مجموعة من القوالب Templates أوالنماذج Prototypes، قالب من كل صنف في الحاسوب كما يوضح الرسم:
وفي مرحلة التصنيف تقارن الصورة الداخلة Input pattern مع templates كل صنف فإن كانت نتيجة مقارنتها مع الصنف س أكبر من نتيجة مقارنتها مع الصنف ص فإنها تصنف ضمن الصنف س وهكذا. كما يوضح الرسم:
ربما تتساءلون كيف تتم عملية المقارنة، ببساطة تخزن الصورة الداخلة على شكل مصفوفة وتقارن مع القوالب الموجودة في الجهاز pixel by pixel وتعطي قيمة للمقارنة.
كما ترون تعتبر هذه الطريقة طريقة سهلة وبدائية جداً، الصعوبة الوحيدة في هذه الطريقة هي الاختيار الجيد للقوالب من كل صنف بالإضافة إلى تحديد معايير المقارنة وخصوصاً لو كانت الصورة الداخلة تحمل تشوهات!
فمثلاُ لو استخدمنا هذه الطريقة للتعرف على المجرميين، لابد أن نأخذ لكل مجرم عدة لقطات كي تخزن على جهاز الحاسوب: لقطتان جانبيتان واحدة من كل جهة، لقطة أمامية، ولقطتان بزاوية نظر 45 درجة عن الكاميرا. ولكم أن تتخيلوا المساحات التخزينية اللازمة لكل هذه القوالب!
-=-=-=-=-=-=-
الطريقة الثانية Statical Approach
في هذه الطريقة، يوصّف كل pattern بواسطة مجموعة من الخصائص set of features والتي من الممكن أن نعبر عنها بقيم حقيقية. في مرحلة التعلم: يقدّم كل نمط pattern كمتجه من الخصائص feature vector كما توضح الصورة:
أما في مرحلة التعرف او التمييز أو التصنيف، فهذه عادة تتم عن طريق تقسيم مساحة الصورة إلى مناطق مجزأة، كل منطقة تقارن مع صنف كما توضح الصورة:
فمثلاً لو كنّا نريد التعرف على صورة تفاحة، ماهي خصائص التفاحة التي نخزنها في مرحلة التعلم؟! هي على سبيل المثال: اللون، الشكل، الدوران، المنطقة السفى، المنطقة العليا.... ألخ. وكذلك يتم التعرف على التفاحة، تقسم الصورة إلى أجزاء وكل جزأ نقارن الخصائص الموجودة فيه مع خصائص الصنف المخزنة وهكذا.
الصعوبة هنا هي في اختيار مجموعة الخصائص لكل فئة وقواعد القرار في التعرف على النمط
الطريقة الثالثة Syntactic and Structural Approach
في هذه الطريقة لا نكتفي فقط بالقيم الرقمية لخصائص كل صنف، ولكن نضيف عليها العلاقات البينية Interrelationships or Interconnection of Features بين هذه الخصائص في كل صنف والتي تتيح لنا معلومات هيكلية ضرورية في التعرف على الأنماط!
آخر الدراسات في هذا المجال توصلت إلى أن أقوى طريقة للتعرف على الأنماط هي الطريقة التي تجمع بين Statistic pattern recognition approach مع Syntactic pattern recognition كطريقة واحدة تسمى Syntactic-Semantic approach.
في مرحلة التعلم في هذه الطريقة يمثل النمط عادة كشجرة tree أو رسم بياني graph او سلسلة حرفية string من العناصر الأولية primitives والعلاقات بينها relations كما توضح الصورة:
وعملية اتخاذ القرار في مرحلة التعرف أو التصنيف هي عبارة عن عملية تحليل Syntax analysis أو بمعنى آخر برنامج تعريب parsing procedure. وأعلى نسبة مقارنة ناتجة من مقارنة الصورة المدخلة مع كل شجرة tree (أو graph أو string على حسب التمثيل المعتمد في التطبيق) مخزنة تحدد الصنف الذي تنتمي إليه الصورة المدخلة! الشكل التالي يوضح عملية التصنيف في هذه الطريقة:
لنأخذ مثال:
صورة مدخلة يوجد بها دائرتين (خصائص) لو كانت المسافة بينهما ما بين 1 إلى 2 سم فمن الممكن أن تصنف الصورة على أنها صورة نظارة مع الأخذ بالاعتبار الخصائص الأخرى وعلاقتها فيما بينها، اما لو كانت المسافة بينهم متر تقريباً فمن الممكن أن تصنف على أنها إنوار سيارة مع الأخذ بعين الاعتبار الخصائص الأخرى طبعاً... وهكذا
تستخدم هذه الطريقة في التعرف على الأهداف أو الصواريخ target recognition وكذلك في التعرف على الأحرف character recognition وغيرها.
-=-=-=-=-=-=-
الطريقة الرابعة Neural Networks Approach
الشبكات العصبية علم قائم بحد ذاته اهتم به العلماء لسنوات عديدة بهدف الوصول إلى طريقة أشبه ما تكون بطريقة الإنسان في التعرف على الأنماط. ولا يسعنا شرح مفاهيم العلم في هذه الوهلة ولا بسلسلة دروس متكاملة*، ولكن باختصار يقوم على استخدام المعالجة المتوازية للبيانات في وقت واحد، هذه المعالجة تتم في معالجات او وحدات units أو طرفياتnodes -وكلاهم بمعنى واحد- تتصل ببعضها البعض عن طريق وصلات ذات أوزان weights والتي ضبطت أثناء عملية تدريب الشبكة. وفي مجال تمييز الأنماط مجموعة من الصور patterns تدخل إلى الشبكة العصبية فتقوم الشبكة العصبية بضبط أوزانها طبقاً لميكانيزم معين وعمليات طويلة:
بعد ذلك وفي مرحلة التصنيف يقدم للشبكة pattern وبناء على الأوزان فيها تقوم بتصنيف هذا النمط:
-=-=-=-=-=-=-
بهذا نكون انهينا الحديث عن الموضوع الذي خصصناه لحديثنا، أصل هذين الدرسين كان سؤال للنقاش حول كيفية التعرف على بصمة الإصبع في ساحات الموسوعة تجده هنـــــا.
وصلى الله وسلم على سيدنا ونبينا محمد :)
_____________________________


ساحة النقاش