پیاده سازی شبکه عصبی برای طبقه بندی تصاویر


هدف از این تمرین پیاده سازی شبکه عصبی برای طبقه بندی تصاویر است. کلیه کدها با جاوا پیاده سازی شده است.

موارد موجود در این پروژه  :

  1. پیاده سازی شبکه عصبی برای طبقه بندی تصاویر  . مجموعه دادهای تصاویر را از لینک زیر دریافت کنید

    http://archive.ics.uci.edu/ml/datasets/cmu+face+images

  2. مشخصات مجموعه دادهای  در یک جدول لیست شده. در این جدول، مشخصات ویژگیها و کلاسها   ذکر شده است. همچنین تعداد نمونههای کل مجموعه دادهای و تعداد نمونههای هر کلاس  مشخص شده است.

  3. برای این مجموعه دادهای تعداد ورودی و خروجی های شبکه عصبی  مشخص شده است. سپس برای هر مجموعه دادهای دو شبکه عصبی سه لایه(لایه ورودی لایه پنهان لایه خروجی) طراحی شده. در شبکه اول از 5 نرون در لایه پنهان و در شبکه دوم از 20 نرون در لایه پنهان استفاده کنید. وزنها و بایاسهای شبکه عصبی را به صورت تصادفی تعیین کنید. سپس برای هر مجموعه داده ای ابتدا 66 درصد داده ها را به صورت تصادفی انتخاب کرده و به عنوان مجموعه آموزشی در نظر گرفته شده و سپس داده های باقیمانده را به عنوان مجموعه تست جدا میکنیم. سپس وزنهای شبکه عصبی را با استفاده از آن آموزش می دهیم. سپس این درخت را با استفاده از مجموعه دادهای تست، آزمایش کرده و مقدار Percision ، Recall و F-measure به دست آمده را برای هر مجموعهدادهای به دست میاریم .و نتایج را در یک جدول مینویسیم

  4. وزنهای شبکه عصبی را با استفاده از الگوریتم ژنتیک به دست آورده و سپس آزمایشات بخش 2 را دوباره

    تکرار کرده و نتایج را با روش تصادفی مقداردهی وزنها مقایسه میکند.و توضیح داده میشود کدامیک از این

    الگوریتمها عملکرد بهتری داشته اند.

  5. داکیومنت کامل هر بخش به صورت مجزا قرار داده شده است.

  6. نحوه اجرای کدهای برنامه نیز توضیح داده شده است.


شبکه عصبی -neural network :

از شبکه عصبی به دلیل قابلیت یادگیری بالا، عدم ارتباط یك به یك،قابلیت تعمیم، پردازش موازی و مقاوم بودن استفاده می شود و ازکاربردهای آن در ClassiFiction, Segmentaition الگو است.شبکه های عصبی مجازی مدل های پایه ورودی و خروجی هستند، بااعصاب دسته بندی شده در چند لایه. پرسپترون های ساده شامل یك لایه عصبی ورودی، جفت شده با یك لایه عصب خروجی، یك لایه ساده ازوزن بین دو لایه می باشد. فرآیند یادگیری شامل یافتن مقادیر صحیحبرای اوزان بین لایه های ورودی و خروجی می باشد.

تعریف مساله :

 مساله یادگیری شامل دسته بندی تصاویر در زوایای مختلف و از افراد مختلف است.که شامل تصاویر 20نفر و از هر نفر حدود 30تصویر در زوایا و حالت های مختلف گرداوری شده است.از جمله افرادی با حالات مختلف چهره .نوع وضعیت قرارگیری و وضعیت چشم ها و…..

که ما برای طبقه بندی تصاویر با شبکه عصبی کلاس ها را به صورت زیر تعریف کردیم :

  • کلاس اول : فرد مورد نظر چشم های او باز است.(open=1)

  • کلاس دوم : فرد مورد نظر چشم های بسته دارد یا عینک افتابی دارد.( sunglasses=0)

اخذ تصاویر :

برای گرفتن تصویر باید انرا به صورت یک بردار مناسب برای شبکه عصبی تبدیل کرد تا این بردارهای مربوط به هر تصویر را یاد بگیرد .و بتواند پیش بینی هم بکند. استخراج ویژگی ایجاد مجموعه ای از توصیف معنی دار از یك تصویر

است که برای پیدا کردن یك مجموعه از ویژگی های بافت را مشخص میکند. در بسیاری موارد مقدار شاخص ها دارای محدوده دینامیکی متفاوتی هستند. به منظور غلبه بر این مسأله همه مقادیر شاخص ها نرمال سازی می گردند بطور یکه همگی در محدوده دینامیکی مشابهی قرار می گیرند.

برای گرفتن تصویر در این مساله چون تصاویر فرمتPGMدارند.لذا برای راحتی کار ابتدا با نرم افزار UltraConverter  فرمت تصاویر ورودی را به jpg تغییر داده ایم.

کد گذاری ورودی :

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

کد گذاری خروجی  :

برای کد گذاری خروجی باید شبکه عصبی یک بردارتکی را به عنوان خروجی تولید کند که مربوط به وضعیت چشم های تصویر شخص مورد نظر است .که  :

  • اگر مقدار true یا 1 را برگرداند.یعنی شخص مورد نظر چشم های باز دارد .و فاقد عینک افتابی است.

  • اگر مقدار false یا 0 را برگرداند یعنی شخص مورد نظر عینک افتابی دارد.

فرمت و ویژگی های داده :

این داده های صورت شامل تصاویر چهره افراد در زوایا و. حالت های مختلف است که مربوط به 20 نفر هستن.

که این 20 نفر هر کدام 32 حالت مختلف از تصاویر چهره انها وجود دارد.

*

10000 تومان – خرید

مراحل خرید فایل دانلودی
اگر محصول را می پسندید لطفا آنرا به اشتراک بگذارید.

محصولات مرتبط

مجوز ارسال دیدگاه داده نشده است!

0