من الصفر - إنشاء نموذج وتشغيل التطبيق لإجراء الاستدلال على الصور
ينصح بإعداد بيئة افتراضية حتى لا تتعارض مع إصدارات أخرى وربما غير متوافقة من Python (بين 3.8 و 3.11). إصدارات Python محدودة بسبب متطلبات مكتبة Scikit-Learn. يتم التعامل مع هذا الإصدار Scikit-Learn (1.4.0) من قبل المتطلبات. txt. إذا قررت عدم استخدام بيئة افتراضية ، فتأكد من إلغاء تثبيت إصدارات أخرى غير متوافقة مع Python. تحقق أيضًا من الإصدارات الحالية غير المتوافقة من التبعيات المدرجة في ملف المتطلبات. يمكن أن يكون هذا أمرًا مهمًا ، لذلك من الأفضل استخدام بيئة افتراضية بدلاً من ذلك والسماح لـ Python بمعرفة كل الإصدار المقبول لك.
1 - تنزيل/تثبيت إصدار 64bit 64bit python (أي شيء بين 3.8 و 3.11)
2 - من موجه أوامر Windows قم بتثبيت VirtualEnv - مثال: PIP تثبيت VirtualEnv
3 -إنشاء افتراضي في دليل المشروع الخاص بك -مثال: Python -M VirtualEnv -Python Python310 ASL [إذا كنت تستخدم Python 3.10] -لمعرفة أي إصدارات Python مثبتة على نظامك للترتيب: ترتيب التنفيذ الخاص بك. set -executionpolicy -scope currentuser -executionpolicy غير مقيد
4 -قم بتنشيط VirtualEnv الجديد من داخل دليل المشروع الخاص بك -مثال :. Asl Scripts Activate
5 -يجب أن ترى موجه أوامر محدث يعرض ظاهرة منشط -مثال: (ASL) PS C: Projects Capstone ASL
6 -تحقق من إصدار Python المستخدمة من قبل VirtualEnv -مثال: Python -version -Output: Python 3.10.0 [أو أيا كان نسختك]
7 -قرص مضغوط في دليل VirtualEnv -مثال: CD ASL
8-استنساخ github repo إلى الآلة المحلية-مثال: git clone https://github.com/cpetrella-sketch/asl-recognition.git-Output: الاستنساخ في "ASL-Red-cootition" ... عن بُعد: كائنات تعداد: 518 ، تم. عن بُعد: العد الكائنات: 100 ٪ (88/88) ، تم. عن بُعد: ضغط الكائنات: 100 ٪ (54/54) ، تم. عن بُعد: إجمالي 518 (دلتا 35) ، إعادة استخدام 72 (دلتا 27) ، كائنات استلام 430 كائنات: 100 ٪ (518/518) ، 40.60 MIB | 3.62 MIB/S ، تم. حل دلتا: 100 ٪ (270/270) ، تم.
9 -تثبيت تبعيات Python المطلوبة -دليل التغيير: CD.
-التبعيات للتثبيت -مثال: PIP تثبيت -R متطلبات. txt -output: ... تثبيت الحزم المجمعة:
10 - قم بتنزيل كل من مجموعات بيانات التدريب والاختبار من الروابط أدناه –full_training_dataset.zip (2.51 gb) https://drive.google.com/file/d/1ups86xkwbjnrwf7qnhexk4infllgjvtk/view؟usp=sharing - يجب أن يكون المسار إلى dir: ~./asl-recognition/aslml/images/full_training_dataset/-يجب أن يحتوي الدليل على دليل فرعي واحد لكل حرف في الأبجدية (باستثناء j ، z)
–ULLEFL_TESTING_DATASET.ZIP (38.8 MB) {
11 - قم بإنشاء مجموعة بيانات بارزة من صور Full_training_dataset - مثال: من الداخل. يتم تعيين الافتراضي على 100 ٪ من جميع الصور. - Python. create_dataset.py - الإخراج: يعمل حاليًا على الدليل أ ... يعمل حاليًا على الدليل B ... ... يعمل حاليًا على الدليل V ... يعمل حاليًا على الدليل Y ...
حجم عينة مجموعة البيانات: 10 ٪ إجمالي عدد الصور التي تمت معالجتها (10 ٪ من مجموعة البيانات الكاملة): 8033 الاكتشافات الناجحة (79.73359890451886 ٪): 6405 فاشلة الاكتشافات: 1628 الكشف الكامل ... التصدير x/y منسقات وبيانات.
12 - ابحث عن أفضل params عشوائي للغابات وقم بتدريب نموذج على مجموعة البيانات - مثال: من ~./ASL -RECONITION/ASLML - PYTHON.
بدء البحث عن الشبكة ... تركيب 5 أضعاف لكل من 16 مرشحًا ، حيث يبلغ مجموع 80 نوبات [CV] Bootstrap = true ، max_depth = none ، min_samples_leaf = 1 ، min_samples_split = 2 ، n_estimators = 100 ؛ إجمالي الوقت = 5.1S [cv] bootstrap = true ، max_depth = none ، min_samples_leaf = 1 ، min_samples_split = 2 ، n_estimators = 100 ؛ إجمالي الوقت = 5.4s ... [cv] bootstrap = false ، max_depth = 10 ، min_samples_leaf = 2 ، min_samples_split = 2 ، n_estimators = 200 ؛ إجمالي الوقت = 9.6s [cv] bootstrap = false ، max_depth = 10 ، min_samples_leaf = 2 ، min_samples_split = 2 ، n_estimators = 200 ؛ إجمالي الوقت = 9.2s فيما يلي أفضل معاملات موجودة:
{'bootstrap': false ، 'max_depth': none ، 'min_samples_lef': 1 ، 'min_samples_split': 2 ، 'n_estimators': 200} تقرير التصنيف:
precision recall f1-score support
S 0.74 0.95 0.83 58
T 0.94 0.96 0.95 53
U 0.67 0.73 0.70 56
V 0.81 0.75 0.78 59
W 1.00 0.96 0.98 56
X 0.98 0.94 0.96 52
Y 0.97 0.97 0.97 58
accuracy 0.91 1281
Macro AVG 0.92 0.91 0.91 1281 AVG AVG 0.92 0.91 0.92 1281
91.49102263856362 ٪ من العينات تم تصنيفها بشكل صحيح
وقت التنفيذ: 103.08926582336426 ثانية
13 - اختبر دقة النموذج الذي تم إنشاؤه حديثًا على بيانات الاختبار الجديدة - مثال: من ~./ASL -RECONITION/ASLML - PYTHON.
ملف الصورة: a0001_test.jpg تم اكتشاف المعالم بنجاح في صورة المستخدم: a0001_test.jpg
النموذج تنبأ باسم dirname هو: صحيح !!
ملف الصورة: a0024_test.jpg تم اكتشاف المعالم بنجاح في صورة المستخدم: A0024_Test.jpg
النموذج تنبأ باسم dirname هو: صحيح !! ...
ملف الصورة: hand3_y_dif_seg_5_cropped.jpeg تم اكتشاف المعالم بنجاح في صورة المستخدم: hand3_y_dif_seg_5_cropped.jpeg
تنبأ النموذج بأن اسم y هو: ص صحيح !!
باستخدام نموذج RandomForEstClassifer المدربين: النسبة المئوية الكشف عن المعالم الناجحة: 69 ٪ نسبة مئوية تنبؤات الناجحة الكشف عن الحروف: 76 ٪
إجمالي عدد صور الاختبار المتاحة: 2510 26 ٪ أخذ العينات العشوائية. إجمالي عدد الصور المعالجة: 622 إجمالي عدد التنبؤات الصحيحة: 332 إجمالي عدد التنبؤات غير الصحيحة: 103 إجمالي عدد الاكتشافات البارزة الناجحة: 435 إجمالي عدد العدد غير الناجح للاتصالات: 187
استخدم التطبيق
14 - نسخ نموذج تم إنشاؤه حديثًا إلى CGI -Bin - مثال: نسخ "AslModel.job" من " . . ASL -RECONITION asllocal build models '15 -من داخل' ~. ASL -RECONITION asllocal build '، ابدأ خادم الويب -مثال
استخدم التطبيق
1 - افتح متصفح الويب والوصول إلى صفحة الويب - مثال: http: // localhost: 8990 2 - تحميل صورة لفتة .jpg ASL للاستدلال - انقر فوق "تحميل ملف" - حدد صورة من التخزين المحلي الخاص بك - انتظر الحالة المنبثقة - مثال: