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

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

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

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

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

البدء

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

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

يصف هذا القسم ميزات هذه المهمة ومدخلاتها ومخرجاتها وخيارات الضبط.

الميزات

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

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

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

تتضمّن هذه المهمة خيارات الضبط التالية:

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

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

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

خيارات الحواف الحادة

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

نماذج الأساس

النماذج الأساسية هي نماذج انتشار النص إلى الصورة الكامنة التي تُنشئ صورًا من طلب نصي. يتطلّب "أداة إنشاء الصور" أن يتطابق النموذج الأساسي مع تنسيق نموذج runwayml/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 ويجب استخدامها مع نموذج أساسي. تتيح نماذج المكوّنات الإضافية لأداة "إنشاء الصور" قبول صورة شرطية مع طلب نصي كإدخال، ما يتيح لك التحكّم في بنية الصور التي يتم إنشاؤها. توفّر نماذج المكونات الإضافية إمكانات مشابهة ControlNet، مع بنية جديدة مخصّصة خصيصًا ل النشر على الجهاز.

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

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

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

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

تنزيل مكوّن 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.

المكوّن الإضافي "مَعلمات الوجه"

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

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

تنزيل المكوّن الإضافي لميزة "معالم الوجه"

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

تنزيل حِزمة نماذج معالم الوجه

يحتوي المكوّن الإضافي "معالم الوجه" على خيارات الضبط التالية:

اسم الخيار الوصف نطاق القيمة القيمة التلقائية
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 إلى تفعيل أداة "إنشاء الصور" لإنشاء صور استنادًا إلى مفاهيم محدّدة يتم تحديدها باستخدام الرموز المميزة الفريدة أثناء التدريب. باستخدام أوزان LoRA الجديدة بعد التدريب، يتمكّن النموذج من إنشاء صور للمفهوم الجديد عند تحديد الرمز المميّز في الطلب النصي.

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

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

صورة واقعية تم إنشاؤها لغلاية قهوة على طاولة بجانب مرآة مثبتة على الحائط

الطلب: إبريق شاي monadikos بجانب مرآة

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

LoRA مع Vertex AI

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