در این قسمت تیم کدگیت سورس تشخیص ارقام انگلیسی با ANN را تهیه کرده است. دنیای پردازش تصویر و بینایی ماشین بسیار دگرگون گردیده است. شما یک اپلیکیشن در تلفن همراه را مشاهده میکنید که از طریق تصویر نوع بیماری را شناسایی می کند. اپلیکیشن دیگری از طریق تصویر یک حیوان، نژاد آن را به شما میگوید! سوالی که پیش میآید، این فرآیند چگونه انجام میگیرد؟ یا از چه طریقی شناسایی یک بیماری از روی تصویر امکان پذیر میشود؟ همه این موارد توسط شبکه عصبی قابل انجام است. ما در این قسمت سورس تشخیص ارقام انگلیسی که از شبکههای عصبی مصنوعی(ANN) استفاده میکند را تهیه کردهایم. با ما همراه باشید تا این سورس جذاب را معرفی کنیم.
سورس تشخیص ارقام انگلیسی با ANN
تکنولوژی امروزه به سرعت در حال پیشرفت است. تشخیص عینک، تشخیص خودرو، تشخیص چشم و … تنها بخشی از پیشرفت تکنولوژی است که با کمک پردازش تصویر، بینایی ماشین و هوش مصنوعی قابل انجام است. در این قسمت سورس تشخیص ارقام انگلیسی با ANN در پایتون را تهیه کردهایم. برای این کار ما از ماژول tensorflow و matplotlib کمک میگیریم. در صورتی که با ماژول Matplotlib آشنایی ندارید پیشنهاد میکنیم دوره آموزش ماژول matplotlib را مطالعه نمایید. همچنین دیتاست استفاده گردیده در این پروژه mnist میباشد.
ساختار شبکه عصبی
در سورس پیاده سازی گردیده جهت شناسایی ارقام انگلیسی از ساختار زیر برای شبکه عصبی استفاده گردیده است:

در ساختار بالا همانطور که میبینید لایه ورودی پیکسل های تصویر میباشد. سپس این اطلاعات وارد لایه دوم (Fully Connected Layer) میشود. لایه سوم Dropout است. در پایان نیز لایه Fully Connected Layer برای پیشبینی ارقام انگلیسی قرار دادهایم.
دیتاست Mnist
همانطور که گفتیم ما در این پروژه از دیتاست mnist استفاده میکنیم. این دیتاست شامل تصاویر اعداد دستنویس می باشد. بسیاری از کسانی که میخواهند شبکه عصبی کانولوشنی را یاد بگیرند، از این دیتاست برای پیاده سازی شبکه عصبی خود استفاده میکنند. تصویر زیر برخی از تصاویر این دیتاست را نمایش میدهد:

نحوه اجرا سورس تشخیص ارقام انگلیسی
زبان برنامه نویسی سورس تشخیص ارقام انگلیسی، پایتون بوده و فرمت فایل .py است. بعد از تهیه سورس از سایت کدگیت فایلی با فرمت zip در اختیار شما قرار میگیرد. فایل را از حالت zip خارج کرده تا بتوانید سورس کد را ببینید. فایل اصلی برنامه با نام ANN mnist.py میباشد. این فایل را اجرا کنید تا برنامه اجرا شود. پس از اجرا خروجی زیر را مشاهده خواهید کرد:

نمایش میزان خطای مدل بعد از training

نمایش میزان دقت مدل بعد از training
علاوه بر تصاویر بالا در کنسول خروجی زیر را خواهید دید:
Epoch 1/10
1875/1875 [==============================] - 2s 1ms/step - loss: 2.3672 - accuracy: 0.7753 - val_loss: 0.4857 - val_accuracy: 0.8866
Epoch 2/10
1875/1875 [==============================] - 2s 1ms/step - loss: 0.5465 - accuracy: 0.8603 - val_loss: 0.3057 - val_accuracy: 0.9229
Epoch 3/10
1875/1875 [==============================] - 2s 1ms/step - loss: 0.4608 - accuracy: 0.8827 - val_loss: 0.3231 - val_accuracy: 0.9278
Epoch 4/10
1875/1875 [==============================] - 2s 1ms/step - loss: 0.4179 - accuracy: 0.8953 - val_loss: 0.3183 - val_accuracy: 0.9247
Epoch 5/10
1875/1875 [==============================] - 2s 1ms/step - loss: 0.3896 - accuracy: 0.9031 - val_loss: 0.2623 - val_accuracy: 0.9392
Epoch 6/10
1875/1875 [==============================] - 2s 1ms/step - loss: 0.3672 - accuracy: 0.9099 - val_loss: 0.3444 - val_accuracy: 0.9323
Epoch 7/10
1875/1875 [==============================] - 2s 1ms/step - loss: 0.3469 - accuracy: 0.9143 - val_loss: 0.2557 - val_accuracy: 0.9429
Epoch 8/10
1875/1875 [==============================] - 2s 991us/step - loss: 0.3399 - accuracy: 0.9156 - val_loss: 0.2883 - val_accuracy: 0.9402
Epoch 9/10
1875/1875 [==============================] - 2s 998us/step - loss: 0.3305 - accuracy: 0.9177 - val_loss: 0.3027 - val_accuracy: 0.9411
Epoch 10/10
1875/1875 [==============================] - 2s 1ms/step - loss: 0.3198 - accuracy: 0.9219 - val_loss: 0.2950 - val_accuracy: 0.9416
Evaluate test data:
313/313 [==============================] - 0s 526us/step - loss: 0.2950 - accuracy: 0.9416
[0.2949695289134979, 0.9416000247001648]
در خروجی بالا تعداد 10 epoch شبکه عصبی train گردیده است. همچنین میزان دقت را در هر دور epoch میتوانید مشاهده کنید. در epoch پایانی میزان دقت 94 درصد مشخص شده است که عدد مناسبی برای مدل پیاده سازی شده میباشد.
فایلها و ماژولها سورس کد
در سورس فوق از فایلها و ماژولهای زیر استفاده گردیده است:
- tensorflow: جهت نصب وارد cmd شوید و دستور pip install tensorflow را وارد کنید.
- matplotlib: دستور pip install matplotlib را در cmd بزنید.
برای نصب پایتون به طوری که در CMD بتوانید کدهای پایتون را اجرا و ماژولها را نصب نمایید ویدئو زیر را حتماً مشاهده کنید:
نقد و بررسیها
هنوز بررسیای ثبت نشده است.