التعرف على الأسماء المكتوبة بخط اليد
معيار OCR على 66K صورة. TrOCR (ViT+GPT-2، 334M) الأفضل: CER=0.0481، 80% تطابق تام. CRNN-ResNet34: CER=0.0502. تحسينات AMP + torch.compile + تراكم التدرجات.
66K صورة خط يد، 64×256 بكسل، مفردات من 44 حرفاً
متغيرات CRNN (CNN+BiLSTM+CTC) مقابل TrOCR (ViT+GPT2) مع AMP + torch.compile
مقارنة متعددة النماذج للتعرف الضوئي على الأسماء المكتوبة بخط اليد غير المقيّد.
مجموعة البيانات
- ◂66K تدريب / 8.2K تحقق / 41K اختبار (رمادي 64×256)
- ◂مفردات 44 حرفاً (أبجدي رقمي + رموز خاصة)
- ◂20% من البيانات مستخدمة في التجارب
مقارنة البنى
| النموذج | CER ↓ | تطابق تام | السرعة |
|---|---|---|---|
| CRNN-EfficientNet | 0.1235 | — | الأسرع |
| CRNN-ResNet18 | — | — | ~105ث/حقبة |
| CRNN-ResNet34 | 0.0502 | — | ~251ث/حقبة |
| TrOCR | 0.0481 | 80% | 34.9 دقيقة |
CRNN (CNN + BiLSTM + CTC) نواة ResNet34 → BiLSTM(2×256) → خسارة CTC → فك تشفير جشع / Beam search (4 حزم)
TrOCR (ViT + GPT-2، 334M معامل) ضبط دقيق عبر HuggingFace Trainer، 10 حقب، 20% من البيانات.
تحسينات التدريب AMP: تسريع 2×، -50% ذاكرة | torch.compile: +30% | تراكم التدرجات: -75% ذاكرة | تخزين الصور مؤقتاً: 3× سرعة تحميل
CER مقابل التطابق التام CER=0.0481 يُترجم إلى 80% دقة تطابق تام — الاسم الكامل يجب أن يتطابق حرفاً بحرف. حتى حرف خاطئ واحد يُعدّ فشلاً.