Professional Documents
Culture Documents
المنطق الضبابي
في معالجة الصور
معامالت االستدالل الضبابً المقادة بالقواعد If Else actionهً معامالت غٌر خطٌة بحٌث تتبنى قواعد ضبابٌة fuzzy ruleلمعالجة معطٌات الصور .
ٌوجد العدٌد من المعامالت operatorsالضبابٌة المتوفرة لحل العدٌد من مشاكل معالجة الصور بما فً ذلك تنعٌم الصورة , somoothingاستخراج
الحواف ,شحذ الصور . Sharpeningالخ .....
ٌوجد صنف جدٌد من معامالت االستدالل الضبابً التً تتعامل مع ازالة وحذف الضجٌج من الصور ٌدعى الفلتر PWL-Fireهذا الفلتر مبنً على
piecewise linear fuzzyبحٌث ٌتغٌر شكل هذا الفلتر بشكل دٌنامٌكً بحٌث ٌعتمد على خصائص الصورة المحلٌة باالعتماد على هذا التصمٌم ٌمكن
تقدٌم طرٌقة فعالة إلزالة الضجٌج بحٌث ال تؤثر سلبا على دقة وجودة الصورة .
الفلتر الذي سنتعامل معه ٌعتمد بشكل اساسً على معالجة نافذة جوارات البكسل Window-Basedبحٌث نجد اننا ال نعالج فقط كل بكسل لوحدة وانما
نعالج اٌضا ً مجموعة البكسالت المجاورة الثمانٌة حسب حجم النافذة التً نتعامل معها وعندما ٌختلف حجم النافذة تختلف القواعد التً سنتعامل معها ولكن
الحجم 3*3هو الحجم المثالً للعمل وهو ما سنعتمد علٌه فً الطرٌقة المطروحة .
تقوم عملٌة المعالجة على تطبٌق قواعد ضبابٌة لتقدٌر معدل التصحٌح الالزم اجراؤه وفق قواعد من الشكل if then else
وفً حال تحققت احدى القواعد نقوم بعملٌة تصحٌح قٌمة البكسل اللونٌة الرمادٌة Luminanceبٌنما ال نقوم باي تعدٌل فً حال عدم تحقق اي من القواعد .
لنفرض على سبٌل المثال اننا امام صورة Xوٌكون ) X(nهو قٌمة البكسل اللونٌة الرمادٌة فً المكان nفً الصورة الممٌزة بالضجٌج لٌكن لدٌنا )W(n
الذي ٌمثل مجموعة من بكسالت الجوار للبكسل المعالج بحٌث نجد ان البكسالت المجاورة هً البكسالت التً تقع ضمن النافذة 3*3حول البكسل المعالج
). X(n
ٌمكن تعرٌف متحوالت الدخل للمعامل بانها الفروق بٌن تدرجات الرمادي . luminance differences
ان متحول الخرج )ٌ y(nمثل التعدٌل الالزم القٌام به واضافة هذه القٌمة الى قٌمة لون البكسل االصلٌة ) , X(nاالمر الذي ٌؤدي الى قٌمة تدرج رمادي
جدٌدة ممثلة بالمعادلة :
باستعمال القواعد الضبابٌة ٌقوم المعامل الالخطً بالمطابقة mapingبٌن مجموعة متحوالت الدخل ومتحول الخرج ,بحٌث ٌنتج بالنهاٌة معامل التعدٌل
الذي ٌقوم بحذف اشارة الضجٌج .
كً نقوم بزٌادة فعالٌة هذه الطرٌقة نقوم بتطبٌق الفلتر بشكل عودي على معطٌات الصورة بحٌث تعطً قٌمة ) y(nالجدٌدة قٌمة التدرج الرمادي للبكسل
المعالج ) X(nفً نهاٌة المعالجة .
بالنسبة للمجموعات الضبابٌة التً تمثل دخل للعملٌة فإننا نقوم بتعرٌف مجموعتٌن ضبابٌتٌن . LP,LN
. large positive , large Negativeان قٌمة تابع االنتماء mLNللمجموعة الضبابٌة ٌ LNمثل بكل بساطة بالشكل التالً :
)mLN(u) = mLP(-u
ٌجدر الذكر بان هذه القواعد السابقة هً مصممة لمعالجة موجات الضجٌج السالبة والموجبة ,
ان آلٌة حفظ التفاصٌل للفلتر تعتمد بشكل رئٌسً على اختٌار برامٌترات المجموعة الضبابٌة . a,bبالتاكٌد فإن تحدٌد شكل المجموعات الضبابٌة LP,LN
ٌهدف فً النهاٌة الى اداء تصحٌح كامل للضجٌج فً حال كان كمٌة مطال الضجٌج عالٌا ً .فً حال وجود مطال صغٌر من الضجٌج فإنه على العكس عملٌة
التحسٌن smoothingتقلل كً تقدم حفظ افضل للصورة واالكساء .ان الضجٌج المعالج ٌدعى ضجٌج من النوع Salt and pepper noiseوهو شكل
من اشكال الضجيج الذي يحدث للصورة بحيث نالحظ ظهور بكسالت عشوائية بيضاء وسوداء .يوجد العديد من المنهجيات والتقنيات الكالسيكية كفلتر
ميديان , medianاو فالتر التشكيلي الثنائية ... morphologicalالخ تحدث هذه الظاهرة في حاالت عندما يكون التقاط سريع للصورة
ٌمكن تعرٌف الحافة بانها االختالف ما بٌن المستوٌات اللونٌة المختلفة او بمعنى آخر هً التباٌن المتفاوت والكبٌر بٌن بكسل وآخر لونٌا ً .تتضمن الحواف
معلومات هامة فً الصور الرقمٌة بحٌث تقدم لنا معلومات عن مكان الغرض بحٌث ٌفٌد هذا االمر الحقا ً فً تحدٌد االغراض المختلفة فً الصورة
ومالحقتها كما فً الصور المتتالٌة الفٌدٌو .وكشف الحواف هو امر حٌوي وهام فً الرؤٌة الحاسبة ومعالجة الصور ألنها تستعمل فً كشف خصائص
االغراض ومالحقتها ونجد اهم تطبٌقات الكشف عن الحواف فً الصور الطبٌة ,تحدٌد االغراض فً الفٌدٌو والصور الثابتة ,استخراج الخلفٌة الخ .
بداٌة تعرف الصورة الرقمٌة على انها اشارة رقمٌة تحمل بكل بكسل قٌمة لونٌة محددة ٌ .مكن كشف الحواف من هذه االشارة الرقمٌة التً تمثل الصورة
عن طرٌق تعرٌف الحافة والتً هً التغٌرات المفاجئة بالقٌم اللونٌة بٌن بكسل واخر هذا التغٌر ٌتم التعبٌر عنه عند المرور الصفري بالمشتق الثانً zero
crossing
ماهي الطرق المختلفة للكشف عن الحواف ؟
ٌوجد العدٌد من طرق الكشف عن الحواف واشهر الفالتر المطبقة على الصور الرقمٌة هً
طرق خطٌة :كمعامل سوبل , Sobelمعامل برٌوٌت , Prewittمعامل روبرت Robert
طرق غٌر خطٌة :كما فً الطرق التً تعتمد المنطق الضبابً FIS
معامل سوبل
معامل برٌوٌت
معامل روبرت
ٌمكن تمثٌل الصورة الرقمٌة بمصفوفة ثنائٌة Matrixبحٌث ٌكون كل عنصر من هذه المصفوفة ٌملك قٌمة محددة او خاصٌة لكل بكسل .وخوارزمٌتنا
تعتمد بشكل اساسً على 3مراحل فً العمل
ٌتم بداٌة العمل على تحوٌل الصورة من قٌم اللونٌة rgbالى قٌم التدرج الرمادي . Gray scaleبحٌث نجد عندها ان لكل بكسل قٌمة لونٌة تتراوح ما بٌن
ال 0الى 255
-3فً المرحلة االخٌرة ٌ defuzzificationتم تحوٌل الصورة بطرٌقة معاكسة للمرحلة 1بحٌث ٌتم التحوٌل من مصفوفة قٌم ضبابٌة الى مصفوفة تدرج
بالرمادي .
ٌتم ادخال الصورة لٌتم تحوٌلها الى صورة ذات تدرج رمادي بحٌث ٌأخذ كل بكسل قٌمة ما بٌن 0و 255لتكون دخل للنظام الضبابً ٌتم تحوٌل الصورة
من شكلها التقلٌدي الى الشكل الضبابً بحٌث تملك البكسالت قٌم ضبابٌة وذلك تبعا ً لقٌم تابع االنتماء المخصص للمجموعة الضبابٌة حافة بحٌث نجد ان
البكسل ذو درجة االنتماء 1لكونه حافة سٌتم مقابلته فً المرحلة االخٌرة باللون االسود الغامق وٌقل تدرج االلوان كلما قلت درجة انتماء البكسل الى
المجموعة الضبابٌة حافة .
الطرٌقة المقترحة للمعالجة الضبابٌة تفترض تقسٌم الصورة الى مقاطع باستعمال مصفوفة 3*3ثنائٌة .
بكسالت الحواف ٌتم مقابلتها بدرجة انتماءها الى المجموعة حافة .بٌنما تأخذ بقٌة البكسالت اللون االبٌض .
قمنا بالعمل على تمثٌل مجموعتٌن ضبابٌتٌن اخرٌٌن وهما االبٌض واالسود الموضحان بالشكل :كما ٌبٌن الشكل bعملٌة ال defuzzyfication
بحٌث نقوم بالمقارنة بحالة الفلتر فان وافق احدى االشكال التالٌة فان البكسل المعالج هو بكسل حافة وٌتم حساب درجة انتماء هذا البكسل لٌكون حافة فٌما
بعد .
شرح آلية العمل
تسريع عمل الخوارزمية :
العدٌد من تطبٌقات معالجة الصور تعتمد بشكل كبٌر على المعالجة التفرعٌة فً العمل وذلك بسب ان الخوارزمٌة المطبقة تطبق على كل بكسل بنفس
الخطوات ,وجاءت المعالجات الحدٌثة ذات االنوٌة المتعددة multicoreبتدعٌم طرق جدٌدة بالبرمجة بحٌث اصبح باالمكان استغالل القدرة الخارقة
للمعالج بالشكل االفضل .
بما ان الخوارزمٌة نفسها مطبقة على كل بكسل فقت قمنا بتقسم العمل الى قسمٌن بحٌث ٌأخذ كل معالج قسم من الصورة وٌعالجها ولقد استعملنا مكتبة TPL
لما وجدنا فٌها سهولة بالتعامل وقوة فً االداء .
ان مكتبة المهام المتوازٌة ) Task Parallel Library (TPLهً جزء من مكتبة امتداد التوازي فً الدوت نت ,وكما هو ظاهر من خالل االسم فهً مبنٌة
على مفهوم المهام .ان مصطلح توازي المهام ٌشٌر الى مهمة او اكثر مستقلة اي الٌوجد ارتباط معطٌات او الى ما ذلك ,بحٌث ٌتم تنفٌذ هذه المهام بشكل
متوازي .ان المهمة تمثل عملٌة متزامنة وفً بعض الحاالت هً تشبه انشاء نٌسب جدٌد او عنصر من ساحة نٌاسب , ThreadPoolولكن على مستوى
اعلى من التجرٌد .توفر المكتبة بنى تفرعٌة كما فً تعلٌمة parallel Forو , ForEachباستعمال توابع معتادة و .delegatesكما ٌمكن استعمال تلك
البنى والتعلٌمات من خالل اي لغة برمجة تدعم الدوت نت .ان مهمة انشاء مهمات ابناء وانهاء المهام والنٌاسب كما اٌضا مهمة اضافة عدد مهام اضافٌة
بحسب عدد المعالجات المتوفرة كل ذلك ٌتم من خالل المكتبة نفسها .
ان مكتبة TPLاٌضا تضم بنى اخرى كما فً . Task,Futureان البنٌة Taskتمثل حدث ٌمكن تنفٌذه بشكل مستقل عن باقً اجزاء البرنامج .وٌمكن القول
بانه ٌكافً النٌسب ماعدا انه اقل خفة من النٌسب وٌحول دون انشاء نظام التشغٌل لنٌسب مما ٌؤدي الى سرعة الحركة والعمل .المهام ٌتم وضعها فً
غرض من النمط مدٌر المهام ضمن رتل وٌتم جدولة تلك المهام لتعمل على عدة نٌاسب فً حوض الٌانسب عندما ٌحٌن دورها فً التنفٌذ.
البنٌة Futureهً taskالتً تعٌد نتٌجة .النتٌجة ٌتم حسابها فً نٌاسب الخلفٌة مكبسلة بغرض من النمط , futureوالنتٌجة ٌتم وضعها فً خازن مؤقت
bufferلرٌثما ٌتم اعادة نتٌجتها .اذا تم محاولة استرجاع النتٌجة قبل ان ٌتم حسابها عندها فان النٌسب الطالب سٌتم حجبه مؤقتا رٌثما تعاد النتٌجة .البنٌة
االخرى فً مكتبة TPLهً الصف Parallelتوفر المكتبة TPLصٌغة اساسٌة لبنٌة التفرع من خالل 3توابع ستاتٌكٌة فً الصف .Parallel
Parallel.Invokeالذي ٌنفذ مصفوفة من Action delegatesفً التوازي ,من ثم ٌنتظرهم لٌنهً نفسه
ان المفهوم العام فً مكتبة االمتداد التفرعٌة فً الدوت نت هً المهمة ,والتً هً قسم صغٌر من الرماز المصدري ,عادة ماٌتم تمثٌله كتابع المبدا} ,{1الذي
ٌمكن تنفٌذه بشكل مستقل .كال من PLINQو TPLتقدم منهجٌات وتوابع النشاء المهام – PLINQتقسم الطلب queryالى عدة مهام اصغر,كما ان توابع
ٌ Parallel.Invoke Parallel.For, Parallel.ForEachقسمون الحلقة الى مهام .
تتضمن المكتبة االمتدادٌة التفرعٌة PFXغرض من نمط مدٌر مهام الذي ٌقوم بجدولة المهام للتنفٌذ .ان مدٌر المهام ٌحتوي على رتل من المهام عام لكل
البرنامج بحٌث ٌتم وضع المهام ضمن هذا الرتل ومن ثم ٌتم التنفٌذ .باالضافة الى انه ٌقوم بكبسلة مجموعة من النٌاسٌب الى ماتنفذه المهام .بشكل افتراضً
ٌتم تشكٌل عدد من النٌاسب بعدد المعالجات المتوفرة او النوى فً النظام على الرغم من ان هذا الرقم ٌمكن تعدٌله بشكل ٌدوي .كل نٌسب ٌرتبط برتل
خاص للنٌاسب والمهام .كل نٌسب عندما ٌصبح فً حالة الخمول ٌقوم باخذ مجموعة من المهام وٌضعها فً الرتل المحلً الخاص بها,من ثم ٌنفذها الواحدة
تلو االخرى .اذا كان الرتل العام فارغا ً فان النٌسب سٌبحث عن المهام التً فً االرتال وسٌاخذ المهام التً كانت فً الرتل الطول فترة .عند التنفٌذ فان
المهام سٌتم تنفٌذها بشكل مستقل مع تغٌٌر فً الحالة لكل مهمة .كنتٌجة لذلك اذا كانت المهام تستعمل مصدر مشترك فٌجب ان ٌتم مزامنة فٌما بٌن المهام
بشكل ٌدوي باستعمال االقفال او السٌمافورات .
تحوي مكتبة TPLعلى مجموعة غنٌة من التوابع والمنهجٌات الداعمة لعمل المهام والنٌاسب كتوابع الغاء المهام او االنتظار او االستمرار او معالجة اخطاء
المهام ,جدولة محددة والعدٌد من امور التحكم .
من اجل هذٌن السببٌن فقد تم تضمٌن مكتبة للتعامل مع توازي المهام وادارة عملٌة البرمجة التفرعٌة فً بٌئة دوت نت . 4بحٌث تم توفٌر APIلكتابة كود
متعدد النٌاسب ,متزامن وٌعمل على التفرع مستغال تعدد االنوٌة والمعالجات فً االجهزة الحدٌثة .
النتائج :