پردازش تصوير ديجيتال – بخش دوم


OnPlay تمامی آموزش های غیر رایگان اساتید سطح اینترنت را به رایگان تماشا کنید

پردازش تصوير ديجيتال – بخش دوم

فصل دوم :

بررسي دقيق تر برخي از روش هاي معرفي شده توسط ساير محققين در زمينه تشخيص صورت

2-1 : تشخيص صورت در تصاوير رنگي با استفاده از فيلتر پوست

در اين روش يك تكنيك براي تشخيص چهره انسان به صورت اتوماتيك در عكس هاي رنگي ديجيتال بيان مي شود.اين سيستم برمبناي يك پروسه دو مرحله اي مي باشد كه در مرحله اول ناحيه احتمالي شامل پوست انسان در تصوير رنگي مشخص مي شود.درقسمت دوم مختصات مكان احتمالي صورت در تصوير را مي دهد. در اين روش تشخيص پوست با استفاده از يك فيلتر كه برپايه اطلاعات بافت , تاروپود و رنگ مي باشد انجام مي گيرد. در مرحله بعد تشخيص صورت روي تصوير در مقياس خاكستري كه فقط شامل نواحي كشف شده پوست مي باشد صورت مي گيرد. با تركيب عمليات مورفولوژيكي و آستانه گيري[1], خصوصيات اجزائي كه حضور صورت را مشخص مي كنند از تصوير استخراج مي شوند. اين پروسه همان طور كه نتايج نشان مي دهند روشي قابل اعتماد مي باشد.

1-1-2: چكيده

در اين روش يك الگوريتم اوليه براي تشخيص صورت انسان در تصاوير ديجيتالي به صورت اتوماتيك بيان شده و مي تواند به عنوان مقدمه اي براي تحقيقات آتي در زمينه تشخيص صورت در تصاوير باشد. سيستم هاي زيادي به منظور تشخيص صورت توسط گروههاي تحقيقاتي زيادي طراحي و پيشنهاد شده اند. تعدادي از اين برنامه ها مانند Rawley , Raluja و Kanade بر مبناي آموزش شبكه هاي عصبي و محاسبه اندازه فاصله بين مجموعه هاي آموزشي براي تشخيص صورت مي باشد. بقيه بسته هاي نرم افزاري كه در اين زمينه وجود دارند، مي توانند ويژگي هاي مربوط به صورت را در تصا ويري تشخيص دهند كه در آن ها وجود چهره انسان در جائي از تصوير محرز شده باشد. اما در روشي كه در ادامه ارائه مي شود تشخيص صورت بر روي عكس هاي رنگي دلخواه متمركز شده و با سيستم هاي نوع اول كه بر مبناي تركيب اطلاعات در مقياس خاكستري و رنگي مي باشند تفاوت دارد.

علاوه بر موارد فوق، اين روش نياز به صرف زمان براي آموزش شبكه هاي عصبي يا محاسبه اندازه هاي فاصله بين هر ناحيه احتمالي پوست در تصوير را ندارد. همچنين اين سيستم با بسته هاي نرم افزاري كه ويژگي هاي مربوط به صورت را تشخيص مي دهند تفاوت دارند زيرا در اين سيستم هدف تشخيص ناحيه احتمالي در هر عكس اختياري و دلخواه در صورت وجود مي باشد، نه آناليز تصاويري كه وجود يك صورت در آن ها از قبل محرز شده اند. اين پروسه برمبناي دو گام مي باشد؛ گام اول: در تصاوير فيلتر شده نواحي احتمالي شامل پوست انسان مشخص و علامت گذاري مي شوند. اين فيلتر با استفاده از توابع رياضي ساده و توابع پردازش تصوير در متلب [2] طراحي شده است و برمبناي فيلتر پوستي كه براي The Berkeley-Iowa Naked People Finder طراحي شده مي باشد. تغييرات اعمال شده در الگوريتم به منظور دست يابي به نتايج بهتر صورت گرفته شده است. در مرحله دوم نواحي پوستي مشخص شده را جدا نموده و تاريكترين و روشن ترين ناحيه ها از نقشه برداشته مي شوند. روي اين نواحي تاريك و روشن تست ها ي عملي و تجربي انجام مي شود تا تطابق آن ها با نواحي مثل چشم و ابرو و سوراخ بيني و دهان معين شود. در نهايت نواحي كه پس از انجام چند مرحله آناليز حاوي سوراخ مي باشند به عنوان نواحي احتمالي براي انجام مراحل فوق از تركيبي از توابع متلب و برنامه Khoros استفاده مي شود. در آخر، سيستم نهائي به صورت اتوماتيك در مي آيد و نيازي به مداخله كاربر ندارد. مرحله سوم اين روش كه در اين پروژه بيان نشده و بايد تكميل شود شامل بررسي تمايز اندازه هاي سوراخ ها و فاصله ي آن ها براي دست يابي به سيستم تشخيص صورت قوي تر مي باشد.

2-1-2 : فيلتر پوست

فيلتر پوست مورد استفاده بر مبناي الگوريتم Fleck & Fosyth مي باشد كه تغييراتي در آن اعمال شده و در [2] مورد مقايسه قرار گرفته اند. در اين روش فيلتر در متلب ساخته شده است. با وجود اين كه چندين تابع پردازش تصوير سطح پايين در مطلب وجود دارد اما اين روش احتياج به زمان داشت تا يك الگوريتم براي فيلتر كاربردي را بسازد، نه اين كه كدهاي تابع سطح پايين را بنويسد. در ادامه توضيح مختصري در مورد نحوه كار فيلتر داده مي شود. فرمت توابع فيلتر در متلب در سايت مربوطه قابل دسترسي مي باشد[3]. لازم به ذكر است كه عكس رنگي ورودي بايد به فرمت RGB با شدت رنگ در رنج تا باشد. به دليل محدوديت هاي موجود در زمينه اجراي برنامه و سرعت آن در اين روش از عكس هاي با سايز كوچكتر از استفاده شده است. به منظور جلوگيري از بروز اشباع حين تبديل تصوير از فرمت RGB به IRgBy، پاسخ صفر ماتريس RGB محاسبه شده و از سه مولفه فضاي رنگي RGB كم مي شود.

E:\Personal Files\Profiles\Sarah\po\internet\Original RGB image.gif

شكل2-1: تصوير اصلي RGB

عكس RGB به IRgBy تبديل شده وساختار و بافت، رنگمايه [3] و اشباع[4] محاسبه مي گردد. تبديل RGB به IRgBy بر طبق فرمول Fleck & Fosyth محاسبه مي شوند كه به شرح زير مي باشند :

عملوند به صورت زير تعريف شده است :

سپس ماتريس هاي , به وسيله فيلتر پنجره متوسط [5] با اضلا عي با طول فيلتر مي شوند. نزديكترين مقدار صحيح به مي باشد.

يك نقشه بافت و ساختار[6] براي پيدا كردن نواحي با اطلاعات كم در مورد بافت به كار مي رود. پوست در تصاوير داراي بافت صاف و هموار مي باشد، بنابراين يكي از روش هاي كشف نواحي پوست در عكس انتخاب نواحي با بافت هموار مي باشد. نقشه بافت به روش زير از ماتريس ساخته مي شوند :

1( فيلتر كردن با استفاده از فيلتر متوسط به وسيله يك پنجره با طول

2( كم كردن عكس فيلتر شده از ماتريس اصلي

E:\Personal Files\Profiles\Sarah\po\internet\Texture Amplitude Map.gif

شكل2-2: نقشه بافت

3( بدست آوردن قدر مطلق تفاضل و فيلتر كردن نتيجه به وسيله پنجره اي به طول

تصاوير رنگمايه و اشباع براي انتخاب نواحي كه رنگ آن ها با رنگ پوست تطابق دارد استفاده مي شوند. تبديل IRgBy به رنگمايه و IRgBy به اشباع به وسيله روابط زير صورت مي گيرد كه مفدار رنگمايه با درحه بيان مي شود :

Hue = (atan^2 (Rg,By))

Saturation = sqrt(Rg^2 + By^2)

با به كاربردن تصاوير نقشه بافت و ساختار، رنگمايه و اشباع نواحي شامل پوست مشخص مي شود.

E:\Personal Files\Profiles\Sarah\po\internet\Hue Image.gif

شكل2-3: تصوير رنگمايه

E:\Personal Files\Profiles\Sarah\po\internet\Saturation Image.gif

شكل2-4: تصوير اشباع

در نقشه بافت و ساختار اگر هرمقدار پيكسل شرايط زير را بر آورده سازد به عنوان پوست در نظر گرفته مي شود و در تصوير باينري پوست[7] عدد 1 به آن نسبت داده مي شود در غير اين صورت صفر :

1) texture < 4.5 ,120

2) texture<4.5 , 150

تصوير باينري يك تصوير سياه و سفيد مي باشد كه قسمت هاي سفيد مربوط به نواحي شامل پوست است.

نواحي نقشه باينري پوست با استفاده از عامل گسترش [8] و عنصر با ساختار گرد[9] توسعه مي يابد.

اين كار باعث مي شود تا نواحي نقشه پوست بزرگ تر شوند تا پيكسل هاي مرزي بين پوست و زمينه، نواحي نزديك مو و ديگر اجزا و… را نيز در برگيرند. گسترش پيكسل هاي 8 متصله را به لبه اشيا اضافه مي كند. بدين منظور، عمليات گسترش به صورت بازگشتي پنج مرتبه براي دست يابي به نتايج بهتر اعمال مي شود. در مرحله بعد به منظور جداسازي از بازه هاي زير استفاده مي شود. اگر نواحي احتمالي پوست در تصوير باينري در محدوده هاي زير قرار بگيرند به عنوان پوست در نظر گرفته مي شوند :

0<= saturation <= 130 , 110 <= hue <= 180

E:\Personal Files\Profiles\Sarah\po\internet\Skin Map.gif

شكل2-5: نقشه پوست

لازم به ذكر است كه فيلتر پوست هنوز كامل نمي باشد زيرا به دليل خطا هاي برنامه نويسي يا اعمال حدود نامناسب، نقاط زرد و قرمز به عنوان پوست شناخته مي شوند. اغلب اين مشكلات در تشخيص صورت هنگامي اتفاق مي افتد كه يك شي قرمز يا زرد بزرگ در تصوير وجود داشته باشد.

2-1-3 : تشخيص صورت در نواحي پوست

در اين مرحله تصوير باينري و عكس اصلي براي تشخيص صورت به كار مي روند. تكنيك بر مبناي آستانه گيري ناحيه پوست مي باشد. بدين ترتيب سوراخ ها ئي در ناحيه صورت از ابرو و چشم و دهان و بيني ظاهر مي شود. بر مبناي فرضيه هاي علمي، ديگر قسمت هاي پوست، به غير از موارد ذكر شده فاقد سوراخ مي شوند، يعني بعد از آستانه گيري فقط در موارد ذكر شده سوراخ ظاهر مي شود. اين متد به نظر ساده مي رسد، ولي با اضافه كردن بعضي محدوديت ها مي تواند نسبت به پروسه شبكه هاي عصبي قوي تر، سريعتر و راحتتر باشد. تشخيص ناحيه صورت به دو مرحله تقسيم مي شود.

قسمت اول استفاده از برنامه Khoros و قسمت دوم استفاده از توابع متلب مي باشد. در گام اول بايد مطمئن شويم كه نقشه پوست از نواحي جسم ساخته شده است (يعني بدون سوراخ باشد) . بستن سوراخ ها[10] به وسيله يك عنصر با ساختار گرد 3*3 روي نقشه پوست انجام مي گيرد. سپس اين عكس در تصوير مقياس خاكستري ورودي ادغام مي شود. نتيجه حاصل يك تصوير فشرده در مقياس خاكستري مي باشد كه فقط قسمت هاي شامل پوست را نشان مي دهد. نتيجه در شكل 2-6 نشان داده شده است.

E:\Personal Files\Profiles\Sarah\po\internet\Skin Map Multiplied by Grayscale Image.gif

شكل2-6: ادغام نقشه پوست با تصوير خاكستري

 

براي بهبود بخشيدن كنتراست ، يك هيستوگرام روي عكس خاكستري حاصله از مرحله قبل انجام مي گيرد. اين كار كمك مي كند تا ناحيه هاي تاريك و روشن در رنج هاي قابل پيش بيني بيشتري قرار گيرند و تا حدي تاثير روشنائي در تصوير جبران شود. حالا مي توان تصوير را براي جدا كردن تيره ترين و روشن ترين نقاط آستانه گيري نمود. تجربه نشان مي دهد كه مرز آستانه قابل قبول به گونه اي است كه به تمام پيكسل هاي داراي مقدار بين 95 تا 240 مقدار 1 نسبت دهد و بقيه پيكسل هاي كمتر يا بيشتر مقدار 0 مي گيرند. براي بيشتر عكس هاي آزمايش شده، اين روش قابل قبول بوده است. سپس اين تصوير باينري توليد شده برچسب گذاري مي شود و حاصل يك تصوير مثبت[11] است كه نواحي پوست را به طور مجزا نشان مي دهد.

E:\Personal Files\Profiles\Sarah\po\internet\Positive Labeled Image.gif

شكل 2-7: تصوير مثبت برچسب گذاري شده

 

سپس يك تصوير منفي[12] توليد مي شود كه فقط سوراخ ها را به عنوان يك شي نشان مي دهد. بستن سوراخ هاي تصوير باينري توليد شده در مرحله قبل به وسيله يك عنصر گرد 4*4 انجام مي شود. نتيجه از عكس باينري اصلي كم مي شود و حاصل فقط سوراخ ها را نشان مي دهد.

 

E:\Personal Files\Profiles\Sarah\po\internet\Negative ‘Hole’ Image.gif

شكل2-8: تصوير منفي

 

عكس منفي و مثبت با هم به كار برده مي شوند تا اجزائي كه احتمال دارند صورت باشند پيدا شوند. در ابتدا سوراخ هاي عكس منفي با سايز 1 پيكسل برداشته مي شوند. زيرا اين سوراخ ها غير عادي و بي ربط مي باشند. يك تكنيك نسبتا بهتر اين است كه تمام سوراخ ها به جز سه سوراخ بزرگتر را از تصوير بر مي دارد. سپس سوراخ ها گسترش داده مي شوند و حاصل در تصوير مثبت ادغام مي شود. حاصل تصويري است كه در آن پيكسل هاي اطراف يك سوراخ نمايش داده مي شوند و به دليل اين كه عكس مثبت برچسب گذاري شده است، برنامه به راحتي مي تواند معين كند كه كدام نواحي سوراخ دارند و كدام ندارند. يك تابع ساده ارقام ظاهر شده در مجاورت سوراخ ها را محاسبه مي كند. تصوير نهائي حاصله شامل اجزا برچسب گذاري با اين مقادير مي باشد.

E:\Personal Files\Profiles\Sarah\po\internet\Face Objects.gif

شكل 2-9: نتيجه نهايي

به دليل اين كه اين پروسه فقط بر مبناي پيدا كردن سوراخ ها مي باشد. شانس بيشتري در پيدا كردن صورت ها عليرغم وجود پرسپكتيو دارد. يكي از بزرگترين معايب اين روش اين است كه احتمال زيادي براي تشخيص اشيا (به جز صورت ) به عنوان صورت هم وجود دارد. نتايج نشان مي دهد كه عمليات هنگامي به خوبي انجام مي شود كه صورت فضاي بيشتري از تصوير را اشغال كرده باشد. مشكل ديگر اين روش اين است كه اگر افراد داخل تصوير كاملا لباس نپوشيده باشند، قسمت هاي زيادي به عنوان پوست در نظر گرفته مي شوند و در تصوير حاصله تمام سر، دست ها و نيمتنه بالا به عنوان يك جز در نظر گرفته مي شوند.

  1. Threshholding
  2. MATLAB
  3. Hue
  4. saturation
  5. Median Filter
  6. Texture Amplititute Map
  7. Binary skin map
  8. dilation
  9. disk structuring element
  10. hole closing
  11. positive
  12. negative

 


OnPlay در یوتوب، آموزش های روانشناسی و معماری و کامپیوتر و سایر آموزشهای پولی را به رایگان تماشا کنید


سعیدسان تابع قوانین جاری کشور جمهوری اسلامی ایران در زمینه حقوق مولفین و ناشرین است، چنانچه نسبت به محتوای این صفحه صاحب حق نشر هستید و درخواست حذف آن را دارد، خواهشمند است از طریق این لینک به ما اطلاع دهید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

نوزده − پانزده =