phoenix-arabic-manuscript-htr / LOGIC_ROUTER_README.md
factlogic's picture
Update publication links for Phoenix model name
af3342d verified
|
Raw
History Blame
3.89 kB

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:

  1. يبحث الراوتر عن متن داخل إطار مستطيل واضح.
  2. إن لم يجد إطارا، يستخدم فحصا محافظا للصفحات الكثيفة ذات الحبر الأحمر/الأسود.
  3. إذا لم تكن الإشارة قوية، يستخدم المسار العام.

يمكن مثلا اختيار:

  • القص: 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.py
  • backend/app/services/ocr/kraken_service.py
  • backend/app/api/endpoints/ocr.py
  • backend/app/services/task_manager.py
  • backend/app/services/ocr/base.py
  • frontend/index.html
  • frontend/js/api.js
  • frontend/js/app.js
  • frontend/css/style.css
  • frontend/sw.js
  • scripts/test_logic_router.py
  • samples/logic_router/README_PUT_IMAGES_HERE.md