no-img
انجام پروژه متلب |پروژه متلب | پروژه آماده متلب | شبیه سازی با متلب

تشخیص اعداد فارسی با کمک شبکه عصبی پروژه کارشناسی ارشد درس بینایی ماشین همراه گزارش فارسی : شبیه سازی متلب برق | انجام پروژه متلب |پروژه متلب | پروژه آماده متلب | شبیه سازی با متلب


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

ادامه مطلب

ZIP
تشخیص اعداد فارسی با کمک شبکه عصبی همراه گزارش فارسی
zip
سپتامبر 27, 2019
5 mb
۲۹,۵۰۰ تومان
2 فروش
۲۹,۵۰۰ تومان – خرید

تشخیص اعداد فارسی با کمک شبکه عصبی همراه گزارش فارسی


 

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

شبیه سازی متلب برق : تشخیص اعداد فارسی OCR با کمک شبکه عصبی با استفاده از شبکه عصبی و آموزش دادن شبکه عدد مورد نظر recognizپروژه ارزان متلب  شده و می توان دیتابیس را نیز عوض نمود.پروژه تشخیص اعداد با شبکه های عصبی در متلب رو براتون آماده کردم که طبق خواسته شما در محیط gui هم هست.  یه پروژه مناسب در زمینه بینایی ماشین، پردازش تصویر و هوش مصنوعی می باشد.

مقدمه :

در ابتدا لازم می دانم که یاد آور شوم، به دلیل وجود تفاوت بین رسم الخط فارسی و لاتین وجود الگوریتم های مشابه بین OCR های لاتین و OCR  های فارسی منتقی است. زیرا که حروف انگلیسی در نوع استاندارد و چاپی آن با حروف فارسی که بصورت سرهم نوشته می شوند تفاوت بارزی دارد و این سرهم نوشتن حروف به خودی خودکار را بسیار مشکل میکند. و از آنجایی که اکثر کشورهای پیشرو در صنعت کامپیوتر نیز تاحدی این مشکل را ندارند (کشورهایی مثل چین و ژاپن و …) اکثر مقالاتی که من بدست آوردم کمک زیادی نمیکرد.

همانطوری که درفصل قبل بیان شد، اکثر الگوریتم ها و روش های مورد استفاده در تشخیص الگو برای بیشتر زمینه های Pattern Recognition ماهیتاً یکسان است، به این معنی که این روشها را با تغییرات کوچکی که در بعضی قسمت های الگوریتم آن اعمال میکنند در مورد یک زمینه ی دیگر بکار می برند.بعنوان مثال (hidden Marcov Model)HMM یا مدل مخفی مارکف یکی از روشهایی است که برای تشخیص صدا بکار میرود و از همین مدل ولی بصورت دو بعدی آن در تشخیص چهره استفاده می کنند. یا استفاده از شبکه های عصبی که در اغلب زمینه های موجود در سیستم های Pattern Recognition کاربرد فزاینده داشته و دارد. بطوری که شبکه هی عصبی تک لایه و چند لایه فقط بخاطر محدودیت هایی که شبکه های قبلی داشته اند و نیز برای بهبود کارایی و دقت بیشتر در تشخیص بوجود آمده اند.

شبیه سازی متلب برق :استفاده از شبکه های عصبی (منظور مدلهای مختلفی است که به نوعی همگی از شبکه های عصبی استفاده نموده و بهبودیافته یاتکمیل کننده آنند و می توان گفت که سرچشمه همگی آنها همان شبکه های عصبی است)، که یکی از محبوبترین و پرکارترین روشهاست، در چند سال اخیر بطور گسترده در سیستم های مختلف Pattern Recognition استفاده شده است در سیستم های اولیه برای تشخیص الگو فقط از یک روش استفاده می شد. به این ترتیب که به صورت غیر اتوماتیک یه نیمه اتوماتیک ویژگیهای یک الگو  را بدست آورده(بردار ویژگیها که بعداً توضیح داده خواهد شد) و آنرا بعنوان ورودی به یک شبکه عصبی می دادند و در نهایت بقیه کارها از جمله تعیین وزن و همچنین تعیین تعداد لایه ها و نیز تعیین تعداد نودها در هر لایه بصورت غیر اتوماتیک انجام میشد. البته باوجود تمام این مسائل یکی از دقیق ترین الگوریتم هایی بود که با دقت نسبتاً بالایی (حدود ۹۰ %) می توانست الگوی خود را تشخیص بدهد. همانطور که ملاحظه می شود این روش با وجود دقت نسبتاً بالا الگوریتم مورد نظر نبود زیرا در آن بیش از نیمی از کارها بصورت غیراتوماتیک انجام میشد و از آنجاییکه هدف اصلی از بوجود آوردن سیستم های تشخیص آن بود که بتوانند اینگونه سیستمها، بدون دخالت انسان و بصورت اتوماتیک تمام کارهای تشخیص آن بود که بتوانند اینگونه سیستمها، بدون دخالت انسان و بصورت اتوماتیک تمام کارهای تشخیص را یکجا خودشان انجام دهند، کاربر روی تشخیص الگوها در همین روش متوقف نشد و الگوریتم های جدیدی بوجودآمد. بیشتر این الگوریتم بصورت تکمیلی و عنصری مکمل برای همین شبکه های عصبی بود تا هم دقت و سرعت آن را بالاتر ببرد و هم اینکه هر چه بیشتر آنها را بصورت یک سیستم تمام اتوماتیک درآورند.

شبیه سازی متلب برق :به جرأت می توان گفت که با وجود تمام این تلاشها که برای یافتن روشهای بکری انجام گرفت تا بتوانند سیستم هایی طراحی کنند که حداکثر دقت و سرعت را داشته باشد نه تنها شبکه های عصبی کنارگذاشته نشده، بکله همواره این الگوریتم کارا یک سر این پیشرفت بشمار رفته است به گونه ای که شبکه های عصبی موجود با آنکه تفاوت های خیلی فاحشی با نمونه های اولیه ی شبکه های عصبی دارا می باشد، پایه و Base همگی آنها یک است.

همانطور که گفتم برای بهبود کارایی شبکه های عصبی از روشهای تکمیلی استفاده میشود. یکی از روشها آموزش شبکه های عصبی بوسیله الگوریتم های ژنتیک (GH) و منطق فازی است. بدین ترتیب که برای آموزش شبکه های عصبی در روش اتوماتیک دو روش وجود دارد: سری و موازی. در روش(( سری )) آموزش شبکه عصبی بر اساس الگوریتم های ژنتیک انجام می دهند و در روش ((موازی)) حداقل دو روش بطور موازی شبکه عصبی را آموزش غالب بوسیله یک کنترل کننده فازی انجام میشود، در روش موازی شبکه عصبی در هر دوره زمانی بطور جداگانه و بصورت بی درنگ و موازی باحداقل دو روش متفاوت (روش بهینه تطبیق وزنها و روش الگوریتم های ژنتیک) تغییر میکند و انتخاب روش غالب بر اساس کاهش خطای آموزش شبکه انجام می شود، روش موازی مستقل از نوع و ساختار شبکه ی عصبی است.

شبکه های عصبی نمونه ای از روشها و الگوریتم هوش مصنوعی، (Artifical Intelligence)AI می باشد اینگونه روشها با وجود آنکه دقت نسبتاً بالایی را دارا هستند اما دارای روحی خشک می باشد و این بخاطر وجود محاسبات زیاد ریاضی است که در بطن اینگونه الگوریتم ها موجود است و بخاطر همین ویژگی آنهاست که اینگونه الگوریتم ها با تمام مزیت هایی که دارند زیاد مانند انسان عمل نمیکنند(با وجود اینکه شبکه های عصبی برگرفته از فیزیک مغز انسان است). از اینرو شبکه های عصبی جدیدی بوجود آمدند که دریچه با تمام مزیت هایی که دارند زیاد مانند انسان عمل نمی کنند (با وجود اینکه شبکه های عصبی برگرفته از فیزیک مغز انسان است). از اینرو شبکه های عصبی بوجود آمدند که دریچه نوینی از اینگونه شبکه ها را به روی ما باز میکنند. اینگونه از شبکه های عصبی با اینکه تضادی با شبکه های پیشین خود بوجود نمی آورد ولی رفتار شبکه های عصبی را بیشتر به رفتار انسان ها نزدیک می کند و این خود باعث بوجود آمدن دقت و کارایی بیشتر در اینگونه از روشهای تشخیص میشود. اینگونه جدید از شبکه های عصبی به ((شبکه های عصبی فازی)) معروف است که با استفاده از مولفه های فازی و شبکه های عصبی ترکیبی جدید ایجاد کرده و گونه ای جدید در شبکه های عصبی پی ریزی میکند. شبکه های عصبی چند لایه، شبکه های پرسپترون و شبکه های عصبی فازی و … نمونه ای از تلاش هایی است که برای بهبود کارایی شبکه های عصبی بوجود آمدهاند.

شبیه سازی متلب برق : با پیشرفت سیستم های خبره (expert Systems) انتظار می رفت که دامنه کاربرد این سیستم ها به زمینه های تشخیص که یکی از آرزوهای بشر در بحث هوشمند کردن ماشین هاست نیز برسد. هم اکنون سیستم های OCR ی برای تشخیص حروف لاتین و همچنین Editor  های هوشمند موجود است که از الگوریتم های موجود در سیستم های خبره برای تشخیص استفاده میکنند و از آنجاییکه در طبقه بندی هایی که انجام گرفته است الگوریتم های ژنتیک را زیر مجموعه روشهای هوش مصنوعی و منطق فازی را زیر مجموعه سیستم های خبره قلمداد کرده اند، با توجه به روشی که در بالا بیان شد(آموزش شبکه های عصبی با استفاده از الگوریتم های ژنتیک و منطق فازی) می توان گفت که الگوریتم جدیدی که در زمینه های مختلف تشخیص از جمله OCR بکار گرفته شده و خواهند شد، برای بوجود آوردن حداکثر سرعت و کارایی لاز، سعی بر آن دارند تا با تلفیقی از روشهای هوش مصنوعی و سیستم های خبره، هوشمندی خاصی به اینگونه سیستمها بدهند. البته سیستم های OCR جدید که از روش های نوینی که در بالا ذکر شد استفاده می کنند و نسل جدیدی از سیستم های OCR بشمار می روند برای زبانهای لاتین موجود است. از آنجائیکه در کشور، با هما ن روش شبکه های عصبی کار میکنند و یافتن روشهای جدیدی که در OCR که چه بعنوان پایان نامه است و چه بعنوان مقاله تحقیقاتی، بیشتر در همان اواسط دهه هفتاد انجام گرفته است در سال های اخیر کمتر روی اینگونه سیستم ها کار شده است.

البته اینها الگوریتم هایی است که در اکثر زمینه های تشخیص مخصوصاً OCR بکار میرود و روشهای دیگری نیز موجود است که در یک زمینه ی خاص، کاربرد دارد که ما زا بیان آنها خودداری میکنیم مانند شبکه کوهانن که در تشخیص صدا کاربرد زیادی دارد.

پردازش تصاویر Image processing :

بطور کلی در پردازش تصاویر OCR نیز یکی از جلوه های آن بشمار میرود، از دو روش کلی برای تشخیص یک الگو (یا حرف) استفاده میکنند و آن دو روش عبارتند از:

۱- تطبیق ویژگیهای مکانی                ۲- تطبیق قالب.

۱– تطبیق ویژگیهای مکانی:

این روش یکی از روشهای قدیمی و الگوریتم های موجود در این قسمت تقریباً بصورت نیمه اتوماتیک کار را انجام می دهند، به این صورت که اجزاء مهم الگو را مشخص کرده و فاصله این اجزاء را بعنوان فاکتورهایی برای شناسائی الگو بکار می بردند. این روش در زمان حال کاربرد چندانی ندارد و جزء روشهای منسوخ بشمار می رود.

۲- تطبیق قالب:

این روش که دو نمونه پر کاربرد از الگوریتم های آن، آنالیز اجزاء اصلی و شبکه های عصبی است بیشتر به طبقه بندی الگوها که باعث سرعت می شود، توجه دارد.

۲-۱- آنالیز اجزاء اصلی : در این روش اصلاً به جزئیات یک حرف کار ندارند. به این صورت که یک حرف بصورت واحد در نظر گرفته می شود. در بانک الگو(کلاس الفبا در پروژه ما) ما از تطبیق همه الگوها باهم چند الگو جدید بنام الگوهای ویژه بدست آوریم، که این الگوهای جدید نسبت به تعداد کل الگوهای موجود در بانک خیلی کمتر است و در واقع ما در اینکار کل الگوهای بانک را به چند زیر گروه تقسیم کرده ایم. بعد از بدست آوردن الگوهای ویژه، ما کار مقایسه را بین الگوهای قابل آزمایش (متن bmp)  و الگوهای ویژه که تعدادشان نسبت به نمونه های داخل بانک خیلی کمتر است، انجام می دهیم که این باعث افزایش سرعت است.

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

۲-۲- شبکه های عصی مصنوعی Artificail Neural Network :

بعد از ارسطو اولین کسانی که شبکه های عصبی رامطرح کردند، در ۱۹۴۲ مک کلاک و پیتس بودند. در دهه ی ۱۹۶۰ روز مبلات و همکاران شبکه پرسپترون تک لایه را مطرح کردند و در ۱۹۶۹ مینسکی و پاپرت اینکار را انجام دادند. و در سال ۱۹۸۰ رومل هارت شبکه ی پرسپترون چند لایه را ابداع کرد.

دندریت ورودی به سیستم و آکسون خروجی می باشد.

شبیه سازی متلب برق :هر سلول یک پتانسیل الکتریکی را از دندریت دریافت میکند، آنرا نگه میدارد، اگر این پتانسیل به یک مقدار آستانه برسد اصطلاحاً آتش میکند و یک خروجی روی آکسون می ریزد در غیر اینصورت کاری انجام نمی دهد. یکسری پروسه های شیمیایی روی دندریت ها انجام می شود تا پتانسیل الکتریکی روی سلولها رد و بدل شود. به یک سلول عصبی نرون گفته می شود. در مغز انسان ۱۰ نرون موجود است. که مجموع این نرونها شبکه ی عصبی مغز را تشکیل می دهد. نقطه اتصال آکسون و دندریت را سیناپس و آن فضا را فضای سیناپسی گویند که هر چه بیشتر باشد ولتاژ کمتری را دریافت میکند و برعکس.

مدل مک کلاک و پیکس برای نرون:

اگر مجموع ورودی ها از عددi μ  بیشتر باشد خروجی ۱ می شود (آتش می کند) و در غیر اینصورت خروجی صفر باقی می ماند.(شکل ۲)

که w وزن سلول می باشد و هر ورودی در w مخصوص به خودش ضرب شده سپس باهم جمع می شوند. W  (وزن) شبیه سازی قدرت سیناپس می باشد.

 

ساختمان ذکر شده یک المان پایه برای ساخت شبکه های عصبی مصنوعی است. معمولاً چندین المان از این نوع با یکدیگر جمع شده و تشکیل یک شبکه عصبی مصنوعی می دهند.

نحوه اتصال المانها به یکدیگر (توپولوژی شبکه) و نحوه تعیین وزنهای بین سلولها تعیین کننده نوع شبکه خواهد بود.

در این شبکه ارتباط یک طرفه است.

 

شبکه کوهانن دارای ورودی یک بعدی و خروجی دو بعدی می باشد.

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

  • آموزش ( Training) : در این مرحله شبکه را با یکسری الگوهای ورودی که به همین منظور تهیه شده اند (الگو های آموزشی) تغذیه می کنیم و شبکه با توجه به قوانین یادگیری خود مقادیر مناسب برای وزن را تعیین مکند بعبارت دیگر در این مرحله شبکه برای انجام کار مورد نظر آموزش می بیند.
  • استفاده از شبکه (recall) : در این مرحله یک الگوی جدید (که جزو الگوهای آموزشی نیست) به شبکه اعمال می گردد و شبکه نزدیکترین خروجی به آنرا بعنوان خروجی خود اعلام میکند.

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

  • آموزش تحت سرپرستی (supervised learning) : در این روش برای هر الگوی آموزش ورودی خروجی دلخواه مشخص شده است. بنابراین پس از اعمال الگوی آموزش به شبکه، خروجی واقعی با خروجی دلخواه مقایسه شده و چنانچه یکسان نباشد وزنها بگونه ای تصحیح شده که به خروجی واقعی به خروجی دلخواه نزدیک شود. پرسپترون نمونه ای از این نوع است.
  • آموزش بدون سرپرستی یا خود سازنده (unsupervised learning self-Organized):

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

شبکه پروسپترون:

  • شبکه پروسترون تک لایه

اگر فرض کنیم الگوی ورودی I به شبکه اعمال شود:

آنگاه خروجی O رامی توان بصورت زیر محاسبه کرد:

که G عموماً تابع علامت یا Sgn می باشد.

شبکه شکل ۷ عمل AND را انجام می دهد و آنرا به شکل ۸ نشان می دهند. در این شکل پایه سومی همیشه به ۱- وصل است و تغییر نمی کند و اینکار بخاطر حذف حد آستانه می باشد. مقدار این وزن ها را توسط جدول درستی AND در مرحله آموزش طراحی کرده ایم.

الگوریتم پروسپتون تک لایه :

  • در ابتدا تعدادی الگوی آموزش (P عدد) بهمراه خروجی دلخواه تهیه کنید:

 

۲- در ابتدا مقادیر کلیه وزنهای   را بصورت اتفاقی میکنید(مقادیر وزنها بسیار کوچک باشد بین (۰ و ۰۰۱/۰ بعنوان مثال)

۳- تا زمانیکه الگوی آموزشی باقی مانده است عملیات زیر را تکرار کنید:

۴- یک الگوی I و خروجی دلخواه D را انتخاب کنید. و خروجی ها رابرای انجام این ورودی محاسبه نمایند

 

۵- وزن ها را طبق الگوی زیر تصحیح کنید.

 

۶- به مرحله ۳ باز گردید.

۷- عملیات ۲ تا ۶ رامجدداً تکرار کنید تا زمانیکه خروجی های واقعی به خروجی های دلخواه کاملاً نزدیک شود.   بین ۱/۰ تا ۹/۰ می باشد.

معمولاً در شبکه های عصبی بجای ۰ و ۱ از ۱- و ۱ استفاده میگردد. مینکسی و پاپرت طی مقاله ای ثابت کردند که هیچ شبکه ی تکه لایه ای نمی توان طراحی کرد که عمل XOR را انجام دهد.

 

پرسپترون چند لایه:

شبکه چند لایه بالا عمل XOR را انجام می دهد پس از اینکه این شبکه ابداع شد. مشکل این بود که نمی توانستند آنرا آموزش بدهند تا اینک آقای رومل هارت در سال ۱۹۸۰ الگوریتم پس انتشار خطا را بیان کرد.

الگورییم انتشار خطا به عقب Error Backpropagation :

  • تعداد P عدد الگوی آموزشی به همراه خروجی های دلخواه آن تهیه کنید.

 

۲- در ابتدا مقادیر کلیه وزن ها را بطور اتفاقی و با مقادیر بسیار کوچک انتخاب می کنیم.

۳- تا زمانیکه الگوی آموزشی باقیمانده است عملیات زیر را تکرار کنید:

۱-۳-یک الگوی ورودی I  و خروجی دلخواه آن D را انتخاب و پس از اعمال آن به شبکه خروجی را طبق فرمول های زیر محاسبه کنید.

کاهش گرادیان: اگر می خواهید مقدار تابع کم شود در جهت عکس مشتق حرکت کنید

 

۲-۳- مقادیر وزن ها را بصورت زیر تصحیح کنید:

 

۳-۳- به ابتدا حلقه برگردید.

۴- عملیات فوق را مجدداً تکرار کنید تا زمانیکه خروجی های واقعی به خروجی های دلخواه نزدیک شوند.

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

از آنجا که بیان کامل چند روش جدید در زمینه تشخیص می تواند مفید باشد در زیر چند روش تشخیص در OCR که می تواند در سیستم های دیگر P.R نیز بکار رود، بصورت تفصیلی بیان می شود یکی از این روشها که بصورت تئوریک است، روش نسبتاً جدیدی را برای دسته بندی (classification) الگوها بیان میکند. دیگری یک روش جدید و نسبتاً کارا برای تشخیص حروف دست نویس است.

پروژه کارشناسی ارشد درس بینایی ماشین

خروجی متلب :

شبیه سازی متلب برقشبیه سازی متلب برقشبیه سازی متلب برق

پروژه متلب ارزان:

http://www.porojeamadematlab.ir

تنها وبسایت پروژه متلب ارزان

شبکه عصبی،کارشناسی ارشد،بینایی ماشین،تشخیص اعداد فارسی،پایان نامه آماده،matlab,matlab project،شبیه سازی،پروژه ارزان متلب

 



برچسب‌ها :
ads

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

mrk kiani 250 نوشته در انجام پروژه متلب |پروژه متلب | پروژه آماده متلب | شبیه سازی با متلب دارد . مشاهده تمام نوشته های

دیدگاه ها


پاسخی بگذارید

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