هب انم خدا افز اول رپوژه ردس مبانی ربانهمسازی حق دمرس :رطقی یقت رطاح :آرین میرفندرسگی ی موعد تحو ل 31 :آرذ ماه رتم اپییز 59-59 1 کلیت پروژه بدین شکل است که باید برنامهای بنویسید که نام یا آدرس یك فایل تصویری با پسوند مشخص مانند BMPرا از کاربر بپرسد و تعیین کند که آیا در این تصویر ،چهرهای وجود دارد یا خیر .در صورت مثبت بودن جواب ،مکان تقریبی چهرهها را تعیین کند. برای این منظور باید از الگوریتمهای تشخیص چهره استفاده کنید .یك الگوریتم ساده برای این کار در ادامه توضیح داده میشود .البته شما میتوانید از هر الگوریتم دیگری نیز استفاده کنید .اما برای سادگی ،استفاده از این الگوریتم پیشنهاد میشود .کافی است مراحل توضیح داده شده را قدم به قدم انجام دهید تا شما هم بتوانید یك برنامه تشخیص چهره داشته باشید! برای انجام پروژه به نکات زیر دقت کنید: -1پروژه باید در گروههای یك یا دو نفره انجام شود. -2در صورت انجام به شکل گروهی ،هر دو نفر باید بر تمامی برنامه مسلط باشند و هر یك تقریبا نیمی از کار را عهده دار بوده باشند. -3استفاده از کتاب خانههایی که دقیقا مربوط به خواندن فرمت عکسهای مختلف یا خود تشخیص چهره باشند ،ممنوع است. مثال import Detect_Faces_in_this_pic_plz -4استفاده از برنامههای دیگر گروهها به هر شکلی ممنوع است. -5پروژه بسیار آسان است و با گذاشتن وقت الزم میتوانید نمره خوبی از آن کسب کنید! -6تمام فایلهای مربوط به پروژه را zipکرده و تا 13آذر ماه در سایت queraبا عنوان Std1ID_Std2ID_Phase بارگذاری کنید. 2 توضیح فاز اول هر فایل ،BMPیك فایل باینری محسوب میشود که اطالعات مربوط به تصویر ،به صورت تعدادی عدد صحیح در آن قرار دارد .کافی است بدانید که هر عدد در فایل باینری BMPبه چه معناست .الگوی فایلهای BMPرا میتوانید به راحتی با یك جستجو در اینترنت بیابید .1در دنیای کامپیوتر ،برای بیان کردن رنگها از چند سیستم مختلف استفاده میشود .معروفترین آنها سیستم RGBاست .در این سیستم ،رنگ هر نقطه با سه عدد یك بایتی (سه عدد از 0تا )255مشخص میشود .این سه عدد به ترتیب بیان کننده شدت رنگ قرمز ،سبز و آبی در تشکیل رنگ نهایی است .مثال سه تایی ( )150،0،130نشانگر رنگی است که در آن اثری از سبز وجود ندارد و ترکیبی از قرمز و آبی با نسبت مشخص است که احتماال چیزی شبیه به بنفش خواهد بود. تصاویر سمت چپ ،هرکدام به تفکیك ،شدت رنگهای قرمز ،آبی و سبز را که نهایتا تصویر سمت راست را میسازد ،نشان میدهد. 1 میتوانید از لینك https://en.wikipedia.org/wiki/BMP_file_formatاستفاده کنید. 3 استفاده از دو سیستم دیگر بیان رنگها نیز برای انجام پروژه الزامیست .یکی نرماالیز شده RGBاست ( Normalized RGBیا همان )rgکه در این سیستم توجه بیشتر به نسبت ادغام رنگهاست تا شدت هر یك. و دیگری ( HSLبه معنای رنگ ،اشباع و روشنایی .)Hue, Saturation & Light سمت چپ عکسی با سیستم RGBو سمت راست همان عکس در سیستم rgنشان داده شده. چگونگی تبدیل RGBبه rgو به HSLدر اینترنت به راحتی قابل دسترسی است. 2 الگوریتم تشخیص چهره بدین ترتیب است که شما باید تمام نقطههای موجود در تصویر را بررسی کنید و نقطههایی را که میتوانند تصویر چهره باشند را مشخص کنید .این کار در یك فرآیند چند مرحلهای انجام میشود و هر بار بر اساس برخی معیارها ،شما تعدادی از پیکسلهای زائد را کنار میگذارید تا در نهایت فقط نقطههایی باقی بمانند که نشانگر یك چهره هستند. 2 برای آشنایی با سیستم rgمیتوانید از لینك https://en.wikipedia.org/wiki/Rg_chromaticityو برای آشنایی با سیستم HSLو نحوه تبدیل این سیستم به سایر سیستمها میتوانید از https://en.wikipedia.org/wiki/HSL_and_HSVاستفاده کنید. 4 مراحل انجام فاز اول پروژه -1نام/آدرس فایل BMPرا از کاربر بپرسید( .بخش امتیازی :پشتیبانی کردن برنامه از فرمتهای JPEGو ) PNG.3 -2اطالعات مربوطه را از فایل استخراج کنید (با توجه به نحوه ذخیره سازی آنها) تا رنگ تمام نقاط معلوم شود. -3رنگ هر نقطه را به سیستم HSLو rgتبدیل کنید. -4هر نقطه را بر اساس فرمولهای زیربررسی کنید .در صورت نیاز میتوانید فرمولها را دستکاری کنید تا نتیجه مطلوب تری بگیرید. 𝑓1 (𝑟) = −1.376 𝑟 2 + 1.0743 𝑟 + 0.2 𝑓2 (𝑟) = −0.776 𝑟 2 + 0.5601 𝑟 + 0.18 𝑤 = (𝑟 − 0.33)2 + (𝑔 − 0.33)2 در صورت 𝑓1 > 𝑔 > 𝑓2و 𝑥 > 𝑤 (یافتن مقدار مناسب برای 𝑥 که عددی بین 0و 0.01است ،به عهده شما است )4رنگ نقطه مورد نظر میتواند مربوط به رنگ پوست باشد. -5یك تصویر سیاه و سفید رسم کنید که در آن نقطههای نامرتبط همگی به رنگ سیاه باشند و نقطههایی که احتماال نشانگر یك چهره هستند به رنگ سفید نمایش داده شود. تا اینجا فاز اول پروژه تمام شده .در فاز دوم باید از میان نقاطی که به عنوان رنگ پوست تشخیص دادید ،با الگوریتمهای گفته شده ،نقاط مربوط به یك چهره را شناسایی کنید. 3 بدین ترتیب که برنامه ی شما باید توانایی استخراج اطالعات از این دو نوع فرمت را نیز داشته باشد. 4 یعنی با آزمون و خطا بیابید که چه حدی برای wقادر به تفکیك رنگ پوست خواهد بود. 5
© Copyright 2025 Paperzz