دليل إنشاء الصور

مهمة إنشاء الصور

تتيح لك مهمة "أداة إنشاء الصور" في MediaPipe إنشاء صور استنادًا إلى طلب نصي. تستخدم هذه المهمة نموذج تحويل النص إلى صورة لإنشاء صور باستخدام تقنيات الانتشار.

تقبل المهمة طلبًا نصيًا كإدخال، بالإضافة إلى صورة شرطية اختيارية يمكن للنموذج تحسينها واستخدامها كمرجع للإنشاء. لمزيد من المعلومات حول تحويل النص إلى صورة مشروط، يمكنك الاطّلاع على مكوّنات إضافية للانتشار على الجهاز فقط لتحويل النص إلى صورة مشروط.

يمكن أن تنشئ أداة Image Generator أيضًا صورًا استنادًا إلى مفاهيم محدّدة يتم تقديمها إلى النموذج أثناء التدريب أو إعادة التدريب. لمزيد من المعلومات، اطّلِع على التخصيص باستخدام LoRA.

البدء

يمكنك البدء باستخدام هذه المهمة باتّباع أحد أدلة التنفيذ هذه للمنصة المستهدفة. ترشدك هذه الأدلة الخاصة بكل منصة إلى خطوات التنفيذ الأساسية لهذه المهمة، مع أمثلة على الرموز البرمجية التي تستخدم نموذجًا تلقائيًا وخيارات الإعدادات المقترَحة:

تفاصيل المهمة

يوضّح هذا القسم إمكانات هذه المهمة ومدخلاتها ومخرجاتها وخيارات الضبط.

الميزات

يمكنك استخدام "أداة إنشاء الصور" لتنفيذ ما يلي:

  1. تحويل النص إلى صورة: يمكنك إنشاء صور باستخدام طلب نصي.
  2. إنشاء الصور باستخدام صور شرطية: يمكنك إنشاء صور باستخدام طلب نصي وصورة مرجعية. تستخدم أداة "إنشاء الصور" صورًا شرطية بطرق مشابهة لـ ControlNet.
  3. إنشاء الصور باستخدام أوزان LoRA: يمكنك إنشاء صور لأشخاص وأشياء وأنماط معيّنة من خلال طلب نصي باستخدام أوزان نماذج مخصّصة.
مدخلات المهام مخرجات المهام
تقبل "أداة إنشاء الصور" المدخلات التالية:
  • طلب نصي
  • المحتوى الأساسي
  • عدد التكرارات التوليدية
  • اختياري: صورة الحالة
تُنتج "أداة إنشاء الصور" النتائج التالية:
  • صورة تم إنشاؤها استنادًا إلى المدخلات
  • اختياري: لقطات متكررة للصورة التي تم إنشاؤها

خيارات الإعدادات

تتضمّن هذه المهمة خيارات الإعداد التالية:

اسم الخيار الوصف نطاق القيم
imageGeneratorModelDirectory دليل نموذج إنشاء الصور الذي يخزّن أوزان النموذج PATH
loraWeightsFilePath تضبط هذه السمة المسار إلى ملف أوزان LoRA. اختياري وينطبق فقط إذا تم تخصيص النموذج باستخدام LoRA. PATH
errorListener تضبط هذه السمة أداة معالجة أخطاء اختيارية. N/A

تتيح المهمة أيضًا استخدام نماذج إضافية، ما يسمح للمستخدمين بتضمين صور شرطية في مدخلات المهمة، ويمكن للنموذج الأساسي تحسينها واستخدامها كمرجع لعملية الإنشاء. يمكن أن تكون صور الحالة هذه عبارة عن معالم الوجه ومخططات الحواف وتقديرات العمق، ويستخدمها النموذج كسياق ومعلومات إضافية لإنشاء الصور.

عند إضافة نموذج إضافة إلى النموذج الأساسي، عليك أيضًا ضبط خيارات الإضافة. يستخدم المكوّن الإضافي "نقاط الوجه" faceConditionOptions، ويستخدم المكوّن الإضافي "حافة كاني" edgeConditionOptions، ويستخدم المكوّن الإضافي "العمق" depthConditionOptions.

خيارات Canny edge

اضبط الخيارات التالية في edgeConditionOptions.

اسم الخيار الوصف نطاق القيم القيمة التلقائية
threshold1 الحدّ الأول لإجراء التباطؤ Float 100
threshold2 الحدّ الثاني لإجراء التباطؤ. Float 200
apertureSize حجم فتحة عدسة عامل تشغيل Sobel. يتراوح النطاق النموذجي بين 3 و7. Integer 3
l2Gradient تحدّد هذه السمة ما إذا كان سيتم استخدام معيار L2 لحساب مقدار تدرّج الصورة بدلاً من معيار L1 التلقائي. BOOLEAN False
EdgePluginModelBaseOptions عنصر BaseOptions الذي يضبط المسار لنموذج الإضافة. BaseOptions عنصر N/A

لمزيد من المعلومات حول طريقة عمل خيارات الإعداد هذه، يُرجى الاطّلاع على أداة رصد الحواف Canny.

خيارات نقاط الوجه

اضبط الخيارات التالية في faceConditionOptions.

اسم الخيار الوصف نطاق القيم القيمة التلقائية
minFaceDetectionConfidence الحد الأدنى لنتيجة الثقة التي يجب تحقيقها لكي يتم اعتبار عملية رصد الوجه ناجحة. Float [0.0,1.0] 0.5
minFacePresenceConfidence الحد الأدنى لنتيجة الثقة في رصد الوجه في عملية رصد معالم الوجه. Float [0.0,1.0] 0.5
faceModelBaseOptions عنصر BaseOptions الذي يضبط المسار للنموذج الذي ينشئ صورة الحالة. BaseOptions عنصر N/A
FacePluginModelBaseOptions عنصر BaseOptions الذي يضبط المسار لنموذج الإضافة. BaseOptions عنصر N/A

لمزيد من المعلومات حول طريقة عمل خيارات الإعداد هذه، يُرجى الاطّلاع على مهمة "تحديد موضع الوجه".

خيارات العمق

اضبط الخيارات التالية في depthConditionOptions.

اسم الخيار الوصف نطاق القيم القيمة التلقائية
depthModelBaseOptions عنصر BaseOptions الذي يضبط المسار للنموذج الذي ينشئ صورة الحالة. BaseOptions عنصر N/A
depthPluginModelBaseOptions عنصر BaseOptions الذي يضبط المسار لنموذج الإضافة. BaseOptions عنصر N/A

النماذج

تتطلّب "أداة إنشاء الصور" نموذجًا أساسيًا، وهو نموذج ذكاء اصطناعي لتحويل النص إلى صورة يستخدم تقنيات الانتشار لإنشاء صور جديدة. النماذج الأساسية المدرَجة في هذا القسم هي نماذج خفيفة الوزن تم تحسينها للعمل على الهواتف الذكية المتطورة.

نماذج الإضافات اختيارية وتكمّل النماذج الأساسية، ما يتيح للمستخدمين تقديم صورة شرط إضافية مع طلب نصي لإنشاء صور أكثر تحديدًا. تتيح لك خيارات تخصيص النماذج الأساسية باستخدام أوزان LoRA تعليم النموذج الأساسي مفهومًا معيّنًا، مثل كائن أو شخص أو نمط، وإدراجه في الصور التي يتم إنشاؤها.

النماذج الأساسية

نماذج الأساس هي نماذج انتشار كامنة لتحويل النص إلى صورة، وتنشئ صورًا من طلب نصي. يتطلّب "منشئ الصور" أن يتطابق النموذج الأساسي مع تنسيق النموذج stable-diffusion-v1-5/stable-diffusion-v1-5 EMA-only، استنادًا إلى النموذج التالي:

تتوافق النماذج الأساسية التالية أيضًا مع "مولّد الصور":

بعد تنزيل نموذج أساسي، استخدِم image_generator_converter لتحويل النموذج إلى التنسيق المناسب على الجهاز فقط لأداة "إنشاء الصور".

ثبِّت العناصر التابعة اللازمة:

$ pip install torch typing_extensions numpy Pillow requests pytorch_lightning absl-py

شغِّل النص البرمجي convert.py:

$ python3 convert.py --ckpt_path <ckpt_path> --output_path <output_path>

نماذج المكوّنات الإضافية

إنّ نماذج المكوّنات الإضافية في هذا القسم من تطوير Google ويجب استخدامها مع نموذج أساسي. تتيح نماذج المكوّنات الإضافية لأداة &quot;إنشاء الصور&quot; قبول صورة شرطية مع طلب نصي كمدخل، ما يتيح لك التحكّم في بنية الصور التي يتم إنشاؤها. توفّر نماذج المكوّنات الإضافية إمكانات مشابهة لتلك التي يوفّرها ControlNet، مع بنية جديدة مصمّمة خصيصًا لانتشار النماذج على الجهاز فقط.

يجب تحديد نماذج المكوّن الإضافي في الخيارات الأساسية، وقد يتطلّب ذلك تنزيل ملفات نماذج إضافية. يفرض كل مكوّن إضافي متطلبات فريدة لصورة الحالة، ويمكن إنشاء هذه الصورة باستخدام "أداة إنشاء الصور".

المكوّن الإضافي Canny Edge

مثال على ناتج صورتَين تم إنشاؤهما باستخدام صورة شرطية ذات مخطط تفصيلي قوي للطوب والطلب

تقبل إضافة Canny Edge صورة شرطية تحدد الحواف المقصودة للصورة التي يتم إنشاؤها. يستخدم النموذج الأساسي الحواف التي تشير إليها الصورة الشرطية، وينشئ صورة جديدة استنادًا إلى الطلب النصي. يحتوي تطبيق Image Generator على إمكانات مدمجة لإنشاء صور شرطية، ولا يتطلّب سوى تنزيل نموذج المكوّن الإضافي.

تنزيل المكوّن الإضافي Canny Edge

يحتوي مكوّن Canny Edge الإضافي على خيارات الإعداد التالية:

اسم الخيار الوصف نطاق القيم القيمة التلقائية
threshold1 الحدّ الأول لإجراء التباطؤ Float 100
threshold2 الحدّ الثاني لإجراء التباطؤ. Float 200
apertureSize حجم فتحة عدسة عامل تشغيل Sobel. يتراوح النطاق النموذجي بين 3 و7. Integer 3
l2Gradient تحدّد هذه السمة ما إذا كان سيتم استخدام معيار L2 لحساب مقدار تدرّج الصورة بدلاً من معيار L1 التلقائي. BOOLEAN False
EdgePluginModelBaseOptions عنصر BaseOptions الذي يضبط المسار لنموذج الإضافة. BaseOptions عنصر N/A

لمزيد من المعلومات حول طريقة عمل خيارات الإعداد هذه، يُرجى الاطّلاع على أداة رصد الحواف Canny.

المكوّن الإضافي "نقاط الوجه"

مثال على ناتج صورتَين تم إنشاؤهما باستخدام صورة شرطية لوجه مرسوم وطلبَين مختلفَين لإظهار أنّه يمكن استخدام صورة الشرط نفسها لإنشاء صور مختلفة المظهر

يقبل المكوّن الإضافي Face Landmark الناتج من Face Landmarker في MediaPipe كصورة شرطية. توفّر أداة Face Landmarker شبكة وجه مفصّلة لوجه واحد، وتحدّد موقع الملامح وتفاصيلها. يستخدم النموذج الأساسي عملية ربط الوجه التي تشير إليها صورة الحالة، وينشئ وجهًا جديدًا فوق الشبكة.

تنزيل مكوّن Face landmark الإضافي

يتطلّب المكوّن الإضافي Face landmark أيضًا حزمة النموذج Face Landmarker لإنشاء صورة الحالة. حزمة النموذج هذه هي الحزمة نفسها التي تستخدمها مهمة تحديد معالم الوجه.

تنزيل حزمة نموذج "نقاط بارزة في الوجه"

يحتوي مكوّن Face Landmark الإضافي على خيارات الإعداد التالية:

اسم الخيار الوصف نطاق القيم القيمة التلقائية
minFaceDetectionConfidence الحد الأدنى لنتيجة الثقة التي يجب تحقيقها لكي يتم اعتبار عملية رصد الوجه ناجحة. Float [0.0,1.0] 0.5
minFacePresenceConfidence الحد الأدنى لنتيجة الثقة في رصد الوجه في عملية رصد معالم الوجه. Float [0.0,1.0] 0.5
faceModelBaseOptions عنصر BaseOptions الذي يضبط المسار للنموذج الذي ينشئ صورة الحالة. BaseOptions عنصر N/A
FacePluginModelBaseOptions عنصر BaseOptions الذي يضبط المسار لنموذج الإضافة. BaseOptions عنصر N/A

لمزيد من المعلومات حول طريقة عمل خيارات الإعداد هذه، يُرجى الاطّلاع على مهمة "تحديد موضع الوجه".

المكوّن الإضافي "العمق"

مثال على ناتج صورتَين تم إنشاؤهما باستخدام صورة شرطية مقدَّمة تعرض شكلاً عامًا لسيارة، وذلك لإظهار أنّ المكوّن الإضافي &quot;العمق&quot; يمكنه إنشاء صور تضيف عمقًا إلى صورة مسطّحة

يقبل المكوّن الإضافي "العمق" صورة شرط تحدّد العمق الأحادي لجسم معيّن. يستخدم النموذج الأساسي صورة الشرط لاستنتاج حجم وعمق الكائن المطلوب إنشاؤه، وينشئ صورة جديدة استنادًا إلى طلب النص.

تنزيل مكوّن Depth الإضافي

يتطلّب مكوّن Depth الإضافي أيضًا نموذجًا لتقدير العمق من أجل إنشاء صورة الشرط.

تنزيل نموذج تقدير العمق

يتضمّن مكوّن Depth الإضافي خيارات الإعداد التالية:

اسم الخيار الوصف نطاق القيم القيمة التلقائية
depthModelBaseOptions عنصر BaseOptions الذي يضبط المسار للنموذج الذي ينشئ صورة الحالة. BaseOptions عنصر N/A
depthPluginModelBaseOptions عنصر BaseOptions الذي يضبط المسار لنموذج الإضافة. BaseOptions عنصر N/A

التخصيص باستخدام LoRA

يمكن أن يتيح تخصيص نموذج باستخدام LoRA لـ &quot;مولّد الصور&quot; إنشاء صور استنادًا إلى مفاهيم معيّنة يتم تحديدها من خلال رموز مميزة أثناء التدريب. باستخدام أوزان LoRA الجديدة بعد التدريب، يصبح النموذج قادرًا على إنشاء صور للمفهوم الجديد عند تحديد الرمز المميّز في الطلب النصي.

يتطلّب إنشاء أوزان LoRA تدريب نموذج أساسي على صور لكائن أو شخص أو نمط معيّن، ما يتيح للنموذج التعرّف على المفهوم الجديد وتطبيقه عند إنشاء الصور. إذا كنت تنشئ أوزان LoRa لإنشاء صور لأشخاص ووجوه محدّدة، لا تستخدم هذا الحلّ إلا على وجهك أو وجوه الأشخاص الذين منحوك الإذن بذلك.

في ما يلي ناتج نموذج مخصّص تم تدريبه على صور أباريق شاي من مجموعة بيانات DreamBooth، باستخدام الرمز المميّز "monadikos teapot":

صورة واقعية من إنشاء الذكاء الاصطناعي لإبريق شاي موضوع على طاولة بجانب مرآة مثبّتة على الحائط

الطلب: إبريق شاي "موناديكوس" بجانب مرآة

تلقّى النموذج المخصّص الرمز المميّز في الطلب وأضاف إبريق شاي تعلّم كيفية تصويره من خلال أوزان LoRA، ووضعه في الصورة بجانب مرآة كما هو مطلوب في الطلب.

LoRA مع Vertex AI

لمزيد من المعلومات، يُرجى الاطّلاع على دليل التخصيص الذي يستخدم Model Garden على Vertex AI لتخصيص نموذج من خلال تطبيق أوزان LoRA على نموذج أساسي.