تتيح لك مهمة MediaPipe Image Generator إنشاء صور استنادًا إلى طلب نصي. تستخدم هذه المهمة نموذج تحويل النص إلى صورة لإنشاء صور باستخدام تقنيات الانتشار.
تقبل المهمة طلبًا نصيًا كإدخال، بالإضافة إلى صورة شرطية اختيارية يمكن للنموذج تحسينها واستخدامها كمرجع للإنشاء. لمزيد من المعلومات حول إنشاء صور من نصوص مشروطة، يمكنك الاطّلاع على مكوّنات إضافية لنموذج الانتشار على الجهاز لإنشاء صور من نصوص مشروطة.
يمكن أن ينشئ تطبيق Image Generator أيضًا صورًا استنادًا إلى مفاهيم محدّدة يتم تقديمها إلى النموذج أثناء التدريب أو إعادة التدريب. لمزيد من المعلومات، يُرجى الاطّلاع على التخصيص باستخدام LoRA.
البدء
يمكنك البدء باستخدام هذه المهمة باتّباع أحد أدلة التنفيذ هذه للنظام الأساسي المستهدَف. تقدّم هذه الأدلة الخاصة بكل منصة خطوات التنفيذ الأساسية لهذه المهمة، مع أمثلة على الرموز البرمجية التي تستخدم نموذجًا تلقائيًا وخيارات الإعدادات المقترَحة:
- Android - مثال على الرمز - دليل
- التخصيص باستخدام LoRA - مثال على الرمز - Colab
تفاصيل المهمة
يوضّح هذا القسم إمكانات هذه المهمة ومدخلاتها ومخرجاتها وخيارات الضبط.
الميزات
يمكنك استخدام "أداة إنشاء الصور" لتنفيذ ما يلي:
- إنشاء صور من نصوص: يمكنك إنشاء صور باستخدام طلب نصي.
- إنشاء الصور باستخدام صور شرطية: يمكنك إنشاء صور باستخدام طلب نصي وصورة مرجعية. تستخدم أداة "إنشاء الصور" صورًا شرطية بطرق مشابهة ControlNet.
- إنشاء الصور باستخدام أوزان 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 |
لمزيد من المعلومات حول طريقة عمل خيارات الإعداد هذه، يُرجى الاطّلاع على أداة رصد الحواف الحادة.
خيارات نقاط الوجه
اضبط الخيارات التالية في 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 ويجب استخدامها مع نموذج أساسي. تتيح نماذج الإضافات لأداة "إنشاء الصور" قبول صورة شرطية مع طلب نصي كمدخل، ما يتيح لك التحكّم في بنية الصور التي يتم إنشاؤها. توفّر نماذج المكوّنات الإضافية إمكانات مشابهة 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 |
لمزيد من المعلومات حول طريقة عمل خيارات الإعداد هذه، يُرجى الاطّلاع على أداة رصد الحواف الحادة.
المكوّن الإضافي "معالم الوجه"
يقبل المكوّن الإضافي 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 الإضافي أيضًا نموذجًا لتقدير العمق من أجل إنشاء صورة الحالة.
يحتوي مكوّن Depth الإضافي على خيارات الإعداد التالية:
| اسم الخيار | الوصف | نطاق القيمة | القيمة التلقائية |
|---|---|---|---|
depthModelBaseOptions |
عنصر BaseOptions الذي يضبط المسار
للنموذج الذي ينشئ صورة الحالة. |
BaseOptions عنصر |
N/A |
depthPluginModelBaseOptions |
عنصر BaseOptions الذي يضبط المسار لنموذج المكوّن الإضافي. |
BaseOptions عنصر |
N/A |
التخصيص باستخدام LoRA
يمكن أن يتيح تخصيص نموذج باستخدام LoRA لـ "مولّد الصور" إنشاء صور استنادًا إلى مفاهيم معيّنة يتم تحديدها من خلال رموز مميزة أثناء التدريب. باستخدام أوزان LoRA الجديدة بعد التدريب، يصبح النموذج قادرًا على إنشاء صور للمفهوم الجديد عند تحديد الرمز المميّز في الطلب النصي.
يتطلّب إنشاء أوزان LoRA تدريب نموذج أساسي على صور لكائن أو شخص أو نمط معيّن، ما يتيح للنموذج التعرّف على المفهوم الجديد وتطبيقه عند إنشاء الصور. إذا كنت تنشئ أوزان LoRA لإنشاء صور لأشخاص ووجوه محدّدة، لا تستخدم هذا الحلّ إلا على وجهك أو وجوه الأشخاص الذين منحوك الإذن بذلك.
في ما يلي ناتج نموذج مخصّص تم تدريبه على صور أباريق شاي من مجموعة بيانات DreamBooth، باستخدام الرمز المميّز "monadikos teapot":
الطلب: إبريق شاي من نوع Monadikos بجانب مرآة
تلقّى النموذج المخصّص الرمز المميّز في الطلب وأضاف إبريق شاي تعلّم كيفية تصويره من خلال أوزان LoRA، ووضعه في الصورة بجانب مرآة كما هو مطلوب في الطلب.
لمزيد من المعلومات، يُرجى الاطّلاع على دليل التخصيص الذي يستخدم Model Garden على Vertex AI لتخصيص نموذج من خلال تطبيق أوزان LoRA على نموذج أساسي.