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

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

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

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

يمكن أن تنشئ أداة 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 لتحويل النموذج إلى التنسيق المناسب على الجهاز من أجل Image Generator.

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

$ 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 plugin

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

يقبل المكوّن الإضافي 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 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

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

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

مثال على ناتج صورتَين تم إنشاؤهما باستخدام صورة شرطية مقدَّمة تعرض شكلاً عامًا لسيارة، وذلك لإظهار أنّ المكوّن الإضافي &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 على نموذج أساسي.