Logic/Philosophy OCR Router
يدعم المشروع الآن اختيارا منفصلا لنموذج القص ونموذج التفريغ:
default: نماذج المخطوطات العامة.logic: نماذج مخطوطات المنطق/الفلسفة المتخصصة.auto: اختيار تلقائي محافظ، يرجع إلى العام عند الشك.
النماذج
النماذج العامة لم تتغير:
- القص العام:
نماذج/seg_best.mlmodel - التفريغ العام:
نماذج/exp6_best.mlmodel
النماذج المتخصصة الجديدة نُسخت من C:\Users\aiden\Desktop\مسابقة وطنية\نماذج جديده إلى:
- القص المتخصص:
نماذج/logic_philosophy_v2_seg.mlmodel - التفريغ المتخصص:
نماذج/logic_philosophy_v2_rec.mlmodel
النماذج القديمة لم تُحذف ولم تُستبدل.
طريقة الاختيار
في auto:
- يبحث الراوتر عن متن داخل إطار مستطيل واضح.
- إن لم يجد إطارا، يستخدم فحصا محافظا للصفحات الكثيفة ذات الحبر الأحمر/الأسود.
- إذا لم تكن الإشارة قوية، يستخدم المسار العام.
يمكن مثلا اختيار:
- القص:
logic - التفريغ:
default
وهذا يعني استخدام نموذج القص المتخصص لمخطوطات المنطق/الفلسفة مع نموذج التفريغ العام.
في logic:
- إذا كان اختيار القص
logic، يستخدمlogic_philosophy_v2_seg.mlmodel. - إذا كان اختيار التفريغ
logic، يستخدمlogic_philosophy_v2_rec.mlmodel.
في default:
- يستخدم
seg_best.mlmodelوexp6_best.mlmodelفقط.
التحكم من الواجهة
في شريط رفع المخطوطة توجد قائمتان:
تلقائيمخطوط عاممنطق/فلسفة
القائمة الأولى تتحكم في segmentation_profile، والثانية تتحكم في recognition_profile.
التحكم عبر env
يمكن إجبار المسار من Docker أو التشغيل المحلي:
$env:SEGMENTATION_PROFILE="logic"
$env:RECOGNITION_PROFILE="logic"
python run.py
للرجوع إلى العام:
$env:SEGMENTATION_PROFILE="default"
$env:RECOGNITION_PROFILE="default"
python run.py
للوضع التلقائي:
$env:SEGMENTATION_PROFILE="auto"
$env:RECOGNITION_PROFILE="auto"
python run.py
اختبار العينات
ضع الصور الأربع هنا:
samples/logic_router/sample_01_framed_margin.jpg
samples/logic_router/sample_02_handwritten_logic.jpg
samples/logic_router/sample_03_handwritten_logic.jpg
samples/logic_router/sample_04_handwritten_logic.jpg
ثم شغل داخل Docker أو البيئة التي فيها Kraken:
python scripts/test_logic_router.py --profile auto
python scripts/test_logic_router.py --profile logic
python scripts/test_logic_router.py --profile default --no-ocr
python scripts/test_logic_router.py --segmentation-profile logic --recognition-profile default --no-ocr
المخرجات تكتب في:
output/logic_router_tests/
output/logic_router_tests/report.md
الملفات المعدلة
backend/app/core/config.pybackend/app/services/ocr/kraken_service.pybackend/app/api/endpoints/ocr.pybackend/app/services/task_manager.pybackend/app/services/ocr/base.pyfrontend/index.htmlfrontend/js/api.jsfrontend/js/app.jsfrontend/css/style.cssfrontend/sw.jsscripts/test_logic_router.pysamples/logic_router/README_PUT_IMAGES_HERE.md