پروژه تشخيص عدد و حروف و اشكال با شبكه عصبى هاپفيلد در MATLAB
در این پست پروژه تشخيص عدد و حروف و اشكال با شبكه عصبى هاپفيلد با متلب را آماده کرده ایم که یک پروژه مناسب در زمینه هوش مصنوعی و بینایی ماشین است که در محیط گرافیکی GUI کار می کند. در ادامه به شرح نحوه عملکرد این برنامه پرداخته و فیلم و تصاویری از خروجی آن را نشان داده ایم.
در ابتدای کار، پس از اجرای برنامه در محیط متلب، در سمت چپ و بالا، از منوى آبشاری Pattern type می توانیم عملکرد برنامه را برای عدد یا حروف و یا خطوط را انتخاب کنیم. نمونه هایی که از قبل نیز در برنامه ذخیره شده اند را نیز می توان از اینجا مشاهده کرد.
پس از انتخاب نوع عملکرد (عدد ، حروف یا اشكال) دكمه Train را برای آموزش دادن و شناساندن آن کلیک می کنیم. در صورتی که در كادر وسطی، شكل موجود در سمت چپ بکشید و دكمه Run را بزنيد، برنامه در یک پنجره کوچک باز شو پیغام میدهد كه اين شكل در پايگاه وجود دارد يا خير، در صورت موجود بودن، شكل آن را در سمت راست که نتیجه است (Result) نشان میدهد.
توضیحات بیشتر، فیلم و تصاویری از خروجی پروژه تشخيص عدد و حروف و اشكال با شبكه عصبى هاپفيلد با متلب در ادامه مطلب.
در پروژه تشخيص عدد و حروف و اشكال با شبكه عصبى هاپفيلد می توانیم الگوهايى را نیز خودمان تعريف کنیم. بدين گونه كه، گزینه های منوى آبشاری Pattern type را بروى Manual قرار دهیم و سپس در كارد سمت چپ، شكل مورد نظر خود را رسم کنیم و از پايين دكمه Train را بزنيم.
شكل رسم شده به پايگاه داده برنامه اضافه خواهد شد. حال اگر شكل را در ستون وسطی رسم کنیم و دكمه Run را که در پایین ستون وسطی قرار دارد را بزنيم، همان شكل كشيده شده را در قسمت Result (ستون راست) نیز می بینیم.
قسمتی از کدهای پروژه تشخيص عدد و حروف و اشكال با شبكه عصبى هاپفيلد با متلب :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | function varargout = Hopfield_NN_Project1(varargin) gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @Hopfield_NN_Project1_OpeningFcn, ... 'gui_OutputFcn', @Hopfield_NN_Project1_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end function Hopfield_NN_Project1_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject; guidata(hObject, handles); clc; global n; global iteration; global PointLen; global sample_no; global total_samples; global Hopfield_net; global net_trained; global delay; global corruption; global input; global output; global net_outputs; global targets; global popup_target; global input_handle; global output_handle; global targets_handle; |
تصویر خروجی 1:
تصویر خروجی 2:
تصویر خروجی 3:
تصویر خروجی 4:
من یک پروژه مشابه این پروژه دارم میشه واسم انجام بدید ؟ من زیاد واسه این کار فرصت ندارم .
لطفا مقاله رو ارسال کنید تا بررسی کنیم ببینیم می تونیم انجام بدیم یا نه با ایمیل در ارتباط باشید
سلام پروژه جالبیه خط به خط توضیح داده شده ؟