Spaces:
Sleeping
Sleeping
yusef commited on
Commit ·
415860e
1
Parent(s): 4fb174e
Add session report 27/2/2026
Browse files
README.md
CHANGED
|
@@ -37,3 +37,49 @@ curl -X POST https://your-space.hf.space/detect \
|
|
| 37 |
| `MODEL_VERSION` | `v5` | Model version folder |
|
| 38 |
| `MODEL_FILENAME` | `model_final.pth` | Model file name |
|
| 39 |
| `SCORE_THRESHOLD` | `0.3` | Default detection threshold |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 37 |
| `MODEL_VERSION` | `v5` | Model version folder |
|
| 38 |
| `MODEL_FILENAME` | `model_final.pth` | Model file name |
|
| 39 |
| `SCORE_THRESHOLD` | `0.3` | Default detection threshold |
|
| 40 |
+
|
| 41 |
+
---
|
| 42 |
+
|
| 43 |
+
## 📋 تقرير جلسة العمل — 27/2/2026 الساعة 1:00 AM
|
| 44 |
+
|
| 45 |
+
### 1. 🛡️ Live Tile Counter — حدود الرسم الذكية
|
| 46 |
+
- أضفنا عداد tiles يعمل **أثناء الرسم** في الخريطة مباشرة
|
| 47 |
+
- يتغير لونه تلقائياً: 🟢 (آمن) → 🟡 (اقترب من الحد) → 🔴 (تجاوز الحد)
|
| 48 |
+
- لو المستخدم رسم منطقة > **12 tile** → المضلع بيتمسح تلقائياً مع رسالة خطأ واضحة
|
| 49 |
+
- الحد الأقصى = 12 tile لضمان استقرار pipeline V5.1
|
| 50 |
+
|
| 51 |
+
### 2. 🔧 إصلاح SigLIP
|
| 52 |
+
- **المشكلة:** `AutoProcessor` + `AutoModel` كانوا يرجعوا `None` مع SigLIP على بعض إصدارات transformers
|
| 53 |
+
- **الحل:** استبدلناهم بـ `SiglipProcessor` + `SiglipModel` المخصصين لـ SigLIP مباشرة
|
| 54 |
+
- **الملف المعدّل:** `post_processor.py` — دالة `load_siglip()`
|
| 55 |
+
|
| 56 |
+
### 3. 🚀 تحسين Parallel Processing
|
| 57 |
+
- **المشكلة:** `Promise.all` كان يوقف كل العمليات لو chunk واحد فشل
|
| 58 |
+
- **الحل:** استبدلناه بـ `Promise.allSettled` مع `catch` منفصل لكل chunk
|
| 59 |
+
- النتيجة: فشل chunk واحد لا يوقف باقي الـ chunks
|
| 60 |
+
|
| 61 |
+
### 4. 🌐 4 HF Spaces بالتوازي (Horizontal Scaling)
|
| 62 |
+
- أنشأنا 3 Spaces جديدة على نفس الحساب `yusef75`:
|
| 63 |
+
- `yusef75/building-detection-2`
|
| 64 |
+
- `yusef75/building-detection-3`
|
| 65 |
+
- `yusef75/building-detection-4`
|
| 66 |
+
- كل Space بياخد CPU مستقل من HF = معالجة متوازية حقيقية
|
| 67 |
+
- عدّلنا `app.js` ليوزّع الـ chunks بـ **Round-Robin** على الـ 4 endpoints
|
| 68 |
+
|
| 69 |
+
### 5. 📦 GitHub + Vercel Deploy
|
| 70 |
+
- أنشأنا GitHub repo للـ Backend: `yusef47/building-detection-api`
|
| 71 |
+
- أنشأنا GitHub repo للـ Frontend: `yusef47/building-detection-website`
|
| 72 |
+
- ربطنا الـ Frontend repo بـ **Vercel** للنشر التلقائي
|
| 73 |
+
- كل `git push` على الـ backend يحدّث الـ 4 HF Spaces تلقائياً
|
| 74 |
+
|
| 75 |
+
### 📊 مقارنة الأداء
|
| 76 |
+
| السيناريو | الوقت |
|
| 77 |
+
|-----------|-------|
|
| 78 |
+
| قبل (1 Space × 12 tiles) | ~800 ثانية ❌ |
|
| 79 |
+
| بعد (4 Spaces × 3 tiles) | ~200 ثانية ✅ |
|
| 80 |
+
|
| 81 |
+
### 🗺️ V6 Roadmap (مناقشة)
|
| 82 |
+
- قرّرنا تطوير V6 باستخدام **RemoteCLIP ViT-L** كـ backbone بدل ResNet-50
|
| 83 |
+
- Two-Stage Fine-tuning: عالمي (SpaceNet/INRIA) ← ثم مصر (1.2M مبنى)
|
| 84 |
+
- إضافة **Qwen2-VL-2B** كـ reviewer يراجع الـ masks ويكتشف المفقود
|
| 85 |
+
- التفاصيل الكاملة في ملف `V6_ROADMAP.md`
|