مشروع IOPaint: وصف تفصيلي
نظرة عامة على المشروع
IOPaint هو أداة مجانية ومفتوحة المصدر لترميم الصور (inpainting) وتوسيع الصور (outpainting)، تعتمد على أحدث تقنيات نماذج الذكاء الاصطناعي. تم تطوير هذا المشروع وصيانته بواسطة Sanster، ويهدف إلى تزويد المستخدمين بوظائف تحرير صور قوية ومريحة.
عنوان المشروع: https://github.com/Sanster/IOPaint
الموقع الرسمي: https://www.iopaint.com/
الوظائف الأساسية
1. ترميم الصور (Inpainting)
- إزالة الكائنات: إزالة الكائنات غير المرغوب فيها والعيوب والعلامات المائية والشخصيات وما إلى ذلك من الصور.
- استبدال المحتوى: استخدام تقنية الانتشار المستقر (Stable Diffusion) لاستبدال أي محتوى في الصور.
- التعبئة الذكية: التعرف تلقائيًا على المناطق التي تمت إزالتها وملؤها، مع الحفاظ على طبيعة الصورة.
2. توسيع الصور (Outpainting)
- توسيع المشهد: توسيع حدود الصورة لإنشاء صور أكبر حجمًا.
- إنشاء الخلفية: إنشاء محتوى خلفية ذكي يتوافق مع نمط الصورة الأصلية.
3. رسم النصوص
- إضافة نص: إضافة نصوص بأنماط مختلفة إلى الصور.
- تخصيص الخط: دعم مجموعة متنوعة من الخطوط وأنماط الاختيار.
نماذج الذكاء الاصطناعي المدعومة
نماذج المسح (Erase Models)
تُستخدم هذه النماذج خصيصًا لإزالة الكائنات غير المرغوب فيها والعيوب والعلامات المائية والشخصيات من الصور، بما في ذلك:
- LAMA: نموذج ترميم صور خفيف الوزن وفعال.
- LDM: تقنية ترميم تعتمد على نماذج الانتشار الكامنة.
- ZITS: خوارزمية ترميم صور احترافية.
- MAT: نموذج محول إدراك القناع.
نماذج الانتشار (Diffusion Models)
تُستخدم هذه النماذج لاستبدال الكائنات ومهام توسيع الصور، بما في ذلك:
- PowerPaint: نموذج انتشار مستقر مُحسَّن خصيصًا للترميم/التوسيع.
- Stable Diffusion: نموذج كلاسيكي لتوليد الصور.
- SDXL: إصدار موسع بجودة أعلى.
- Kandinsky 2.2: نموذج روسي لتوليد صور عالية الجودة.
نظام المكونات الإضافية
يوفر IOPaint نظامًا بيئيًا غنيًا بالمكونات الإضافية:
مكونات إضافية لتقسيم الصور
- Segment Anything (SAM): تقسيم تفاعلي دقيق وسريع للكائنات.
- MobileSAM: نسخة خفيفة الوزن، أسرع وتستهلك موارد أقل.
- Anime Segmentation: نموذج تقسيم مُحسَّن خصيصًا لصور الرسوم المتحركة.
مكونات إضافية لمعالجة الخلفية
- RemoveBG: إزالة خلفية الصورة أو إنشاء قناع للكائنات الأمامية.
مكونات إضافية لتحسين الصور
- RealESRGAN: تقنية فائقة الدقة، تحسين وضوح الصورة.
- GFPGAN: ترميم وتحسين الوجوه.
- RestoreFormer: حل آخر لترميم الوجوه.
مكونات إضافية لإدارة الملفات
- FileManager: أداة سهلة لتصفح الصور وإدارتها.
الميزات التقنية
دعم عبر الأنظمة الأساسية
- مجاني ومفتوح المصدر بالكامل: يتبع اتفاقية المصدر المفتوح، يمكن للمستخدمين استخدامه وتعديله بحرية.
- الاستضافة الذاتية: نشر محلي بالكامل، يحمي خصوصية المستخدم.
- دعم أجهزة متعددة:
- CPU: مناسب لأجهزة الكمبيوتر العادية.
- GPU: يدعم تسريع CUDA.
- Apple Silicon: دعم أصلي لرقائق سلسلة M.
واجهة ويب
- واجهة مستخدم حديثة: يوفر واجهة ويب سهلة الاستخدام وبديهية.
- معاينة في الوقت الفعلي: يدعم عرض تأثيرات التحرير في الوقت الفعلي.
- معالجة الدفعات: يدعم معالجة دفعات من الصور المتعددة.
التثبيت والاستخدام
التثبيت السريع
# تثبيت IOPaint
pip3 install iopaint
# بدء الخدمة (باستخدام نموذج LAMA، وضع CPU)
iopaint start --model=lama --device=cpu --port=8080
تثبيت تسريع GPU
# أولاً، قم بتثبيت PyTorch إصدار CUDA
pip3 install torch==2.1.2 torchvision==0.16.2 --index-url https://download.pytorch.org/whl/cu118
# ثم قم بتثبيت IOPaint
pip3 install iopaint
دعم AMD GPU
# مستخدمو AMD GPU (Linux فقط)
pip3 install torch==2.1.2 torchvision==0.16.2 --index-url https://download.pytorch.org/whl/rocm5.6
بدء الخدمة
بعد التثبيت، قم بزيارة http://localhost:8080 للبدء في الاستخدام.
معالجة الدفعات عبر سطر الأوامر
iopaint run --model=lama --device=cpu \
--image=/path/to/image_folder \
--mask=/path/to/mask_folder \
--output=output_dir
تفعيل المكونات الإضافية
# تفعيل المكون الإضافي للتقسيم التفاعلي
iopaint start --enable-interactive-seg --interactive-seg-device=cuda
إعداد بيئة التطوير
تطوير الواجهة الأمامية
# استنساخ المشروع
git clone https://github.com/Sanster/IOPaint.git
cd IOPaint/web_app
# تثبيت التبعيات
npm install
# بناء الواجهة الأمامية
npm run build
cp -r dist/ ../iopaint/web_app
# وضع التطوير
npm run dev
تطوير الواجهة الخلفية
# تثبيت تبعيات الواجهة الخلفية
pip install -r requirements.txt
# بدء خدمة الواجهة الخلفية
python3 main.py start --model lama --port 8080
في بيئة التطوير، قم بزيارة http://localhost:5173/ لتطوير الواجهة الأمامية.
تطبيق الهاتف المحمول
أطلقت IOPaint أيضًا تطبيقًا للهاتف المحمول:
- OptiClean: تطبيق لمسح الكائنات لنظامي التشغيل macOS و iOS، متاح للتنزيل من App Store.
سيناريوهات التطبيق
- معالجة الصور اللاحقة: إزالة المارة أو الأشياء أو العلامات المائية غير المرغوب فيها.
- تحسين صور المنتج: تنظيف العيوب في صور المنتج.
- الإبداع الفني: إجراء تحرير إبداعي للصور واستبدال المحتوى.
- ترميم الصور: ترميم الصور القديمة أو التالفة.
- معالجة الخلفية: استبدال أو إزالة خلفية الصورة.
- توسيع الصور: توسيع نطاق مشهد الصورة.
مزايا المشروع
- مفتوح المصدر ومجاني: مفتوح المصدر بالكامل، بدون قيود على الاستخدام.
- حماية الخصوصية: نشر محلي، لا يتم تحميل البيانات إلى السحابة.
- نماذج غنية: يدعم مجموعة متنوعة من أحدث نماذج الذكاء الاصطناعي.
- سهل الاستخدام: يوفر واجهة ويب بديهية.
- قابل للتخصيص بدرجة كبيرة: يدعم توسيع المكونات الإضافية واختيار النموذج.
- عبر الأنظمة الأساسية: يدعم أنظمة تشغيل وهياكل أجهزة متعددة.
- تحديث مستمر: مجتمع تطوير نشط وتحديثات منتظمة.
IOPaint هي واحدة من أفضل أدوات ترميم الصور مفتوحة المصدر المتاحة حاليًا، سواء للمستخدمين الأفراد أو المطورين المحترفين، يمكنهم الحصول على قدرات تحرير صور قوية منها.
