هذا المشروع عبارة عن برنامج مدرب باستخدام الشبكة العصبونية التلاففية (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
ملاحظة: حجم هذه المكتبات كبير بعض الشيء لذا فإن تثبيتها قد يتطلب بضع دقائق.
طريقة استخدامه
- عند تحميل الصورة تظهر عبارة أنه يتم تحميلها مع عرضها في النهاية.
- عند الضغط على زر التنبؤ يظهر شريط أسفل الصورة يوضح أن التنبؤ قد بدأ مع الإشارة إلى أن الشريط موضوعة فقط من أجل جمالية الواجهة و بالتالي يمكن تسريعه أو إزالته و التنبوء بنفس اللحظة.
- بعد الإنتهاء من التنبؤ يتم عرض النتيجة النهائية باللغتين العربية و الإنكليزية.
- يمكن حفظ النتيجة في مستند نصي من خلال النقر على زر حفظ النتيجة.
- زر إعادة الضبط يمسح كل شيء في الواجهة لتعودة لحالتها البدائية.