هذا المشروع عبارة عن برنامج مدرب باستخدام الشبكة العصبونية التلاففية (CNN) على التنبؤ بأمراض القلب بالإعتماد على صور نبضات القلب (ECG).
بالطبع عينة من النبضة لا تكفي لتحديد المرض، و لكن النظام يتنبأ تنبؤ فقط بالحالة من خلال الصورة التي نمررها له.
مميزاته
يتميز هذا النموذج المدرّب بالتعرف على النبضات الطبيعية و 5 أنواع من الأمراض:
- إحتشاء عضلة القلب (Myocardial Infarction).
- نبضات قلب مدمجة (Fusion Beats).
- نبضات فوق البطينية الهاجرة (Supraventricular Ectopic Beats).
- تخطيط قلب طبيعي (Normal ECG).
- نبضات بطينية هاجرة (Ventricular Ectopic Beats).
ما لا يتعرف عليه يصنف كنبضات غير معروفة (Unknown Beats).
التقنيات المستخدمة
تم بناء هذا المشروع باستخدام لغة بايثون و بالإعتماد على المكتبات التالية:
- opencv-pythonلمعالجة الصور، مثل التعرف على ما فيها و تحسين الصور.
- kerasلبناء نموذج الذكاء الإصطناعي و التعلم العميق بسهولة، حيث توفر واجهة بسيطة للعمل مع الشبكات العصبية.
- tensorflowللحصول على مشغل لنموذج الذكاء الاصطناعي.
- customtkinterلتصميم الواجهة الرسومية باستخدام Tkinter بسهولة.
- pillowلفتح، تعديل و حفظ الصور بمختلف الصيغ.
متطلبات المشروع
تشغيل المشروع يتطلب وجود لغة بايثون الإصدار 3.12.6 أو أي إصدار أحدث. كما يجب تثبيت المكتبات التي ذكرناها و التي يمكن تحميلها دفعة واحدة باستعمال مدير الحزم pip من خلال تنفيذ الأمر التالي.
pip install opencv-python keras tensorflow customtkinter pillow
ملاحظة: حجم هذه المكتبات كبير بعض الشيء لذا فإن تثبيتها قد يتطلب بضع دقائق.
تشغيل المشروع
في النهاية يجب تشغيل الملف ui_system.py حتى تعمل اللعبة، و يمكن تشغيله بواسطة موجه الأوامر من خلال التوجه لمجلد المشروع و كتابة الأمر التالي.
python ui_system.py
طريقة استخدامه
- عند تحميل الصورة تظهر عبارة أنه يتم تحميلها مع عرضها في النهاية.
- عند الضغط على زر التنبؤ يظهر شريط أسفل الصورة يوضح أن التنبؤ قد بدأ مع الإشارة إلى أن الشريط موضوعة فقط من أجل جمالية الواجهة و بالتالي يمكن تسريعه أو إزالته و التنبوء بنفس اللحظة.
- بعد الإنتهاء من التنبؤ يتم عرض النتيجة النهائية باللغتين العربية و الإنكليزية.
- يمكن حفظ النتيجة في مستند نصي من خلال النقر على زر حفظ النتيجة.
- زر إعادة الضبط يمسح كل شيء في الواجهة لتعودة لحالتها البدائية.

 
                