इस पेज पर, आउटपेंटिंग का इस्तेमाल करके, Imagen की मदद से, किसी इमेज के कॉन्टेंट को उसकी ओरिजनल सीमाओं से आगे बढ़ाने का तरीका बताया गया है. इसके लिए, Firebase AI Logic SDK टूल का इस्तेमाल किया जाता है.
आउटपेंटिंग, मास्क पर आधारित एडिटिंग का एक टाइप है. मास्क, एक डिजिटल ओवरले होता है. इससे, उस खास हिस्से के बारे में पता चलता है जिसमें आपको बदलाव करना है.
यह कैसे काम करता है: इसमें आपको एक ओरिजनल इमेज और उससे जुड़ी मास्क की गई इमेज देनी होती है. यह इमेज, अपने-आप जनरेट हो सकती है या आपके पास मौजूद हो सकती है. इससे, नए और बढ़ाए गए हिस्से का मास्क तय होता है. इसके अलावा, आपके पास यह बताने के लिए एक टेक्स्ट प्रॉम्प्ट देने का विकल्प होता है कि आपको बढ़ाए गए हिस्से में क्या चाहिए. हालांकि, मॉडल यह भी तय कर सकता है कि मौजूदा सीन को लॉजिक के हिसाब से कैसे आगे बढ़ाया जाए. मॉडल, नया कॉन्टेंट जनरेट करता है और मास्क किए गए हिस्से को भरता है.
उदाहरण के लिए, किसी इमेज का आसपेक्ट रेशियो बदला जा सकता है या बैकग्राउंड के बारे में ज़्यादा जानकारी जोड़ी जा सकती है.
शुरू करने से पहले
| यह सुविधा, सिर्फ़ तब उपलब्ध होती है, जब Vertex AI Gemini API को अपने एपीआई सेवा देने वाली कंपनी के तौर पर इस्तेमाल किया जा रहा हो. |
अगर आपने अब तक, शुरू करने के लिए
गाइड में दिए गए निर्देशों का पालन नहीं किया है, तो उन्हें पूरा करें. इसमें, Firebase प्रोजेक्ट सेट अप करने, अपने ऐप्लिकेशन को Firebase से कनेक्ट करने,
एसडीके जोड़ने, चुनी गई एपीआई सेवा देने वाली कंपनी के लिए बैकएंड सेवा को शुरू करने, और
ImagenModel इंस्टेंस बनाने का तरीका बताया गया है.
इस सुविधा के साथ काम करने वाले मॉडल
Imagen अपने capability
मॉडल के ज़रिए इमेज में बदलाव करने की सुविधा देता है:
imagen-3.0-capability-001
ध्यान दें कि Imagen मॉडल के लिए, global जगह की जानकारी
नहीं दी जा सकती.
किसी इमेज के कॉन्टेंट को बढ़ाना
| इस सैंपल को आज़माने से पहले, अपने प्रोजेक्ट और ऐप्लिकेशन को सेट अप करने के लिए, इस गाइड का शुरू करने से पहले सेक्शन पूरा करें. |
यहां दिए गए सैंपल में, किसी इमेज के कॉन्टेंट को उसकी ओरिजनल सीमाओं से आगे बढ़ाने का तरीका बताया गया है . इसके लिए, आपकी दी गई इमेज में तय किए गए मास्क का इस्तेमाल किया जाता है. आपको ओरिजनल इमेज, एक टेक्स्ट प्रॉम्प्ट, और मास्क की गई इमेज देनी होगी. ओरिजनल और मास्क की गई इमेज के बारे में यहां दी गई बातें ध्यान में रखें:
मास्क की गई इमेज के पिक्सल डाइमेंशन, आउटपेंट की गई फ़ाइनल इमेज के टारगेट साइज़ के डाइमेंशन के बराबर होने चाहिए.
ओरिजनल इमेज में, मास्क की गई इमेज के पिक्सल डाइमेंशन के हिसाब से, अतिरिक्त पैडिंग शामिल होनी चाहिए.
अगर आपको मॉडल से यह तय करवाना है कि मौजूदा सीन को लॉजिक के हिसाब से कैसे आगे बढ़ाया जाए, तो टेक्स्ट प्रॉम्प्ट देना ज़रूरी नहीं है. अगर आपको बढ़ाए गए हिस्से में कोई खास कॉन्टेंट चाहिए, तो आपको टेक्स्ट प्रॉम्प्ट में इसकी जानकारी देनी होगी.
Swift
Swift के लिए, Imagen मॉडल की मदद से इमेज में बदलाव करने की सुविधा उपलब्ध नहीं है. इस साल के आखिर में वापस आकर देखें!
Kotlin
किसी इमेज के कॉन्टेंट को बढ़ाने के लिए, editImage()
का इस्तेमाल करें और एडिटिंग कॉन्फ़िगरेशन को ImagenEditMode.OUTPAINT पर सेट करें.
ध्यान दें कि
outpaintImage()
के बजाय, इसका इस्तेमाल किया जा सकता है. इसके लिए, एडिटिंग मोड तय करने की ज़रूरत नहीं होती.editImage()
आउटपेंटिंग के लिए सैंपल कोड देखने के लिए, क्विकस्टार्ट देखें.
Java
किसी इमेज के कॉन्टेंट को बढ़ाने के लिए, editImage()
का इस्तेमाल करें और एडिटिंग कॉन्फ़िगरेशन को ImagenEditMode.OUTPAINT पर सेट करें.
ध्यान दें कि
outpaintImage()
के बजाय, इसका इस्तेमाल किया जा सकता है. इसके लिए, एडिटिंग मोड तय करने की ज़रूरत नहीं होती.editImage()
आउटपेंटिंग के लिए सैंपल कोड देखने के लिए, क्विकस्टार्ट देखें.
Web
वेब ऐप्लिकेशन के लिए, Imagen मॉडल की मदद से इमेज में बदलाव करने की सुविधा उपलब्ध नहीं है. इस साल के आखिर में वापस आकर देखें!
Dart
किसी इमेज के कॉन्टेंट को बढ़ाने के लिए, editImage()
का इस्तेमाल करें और एडिटिंग कॉन्फ़िगरेशन को ImagenEditMode.OUTPAINT पर सेट करें.
आउटपेंटिंग के लिए सैंपल कोड देखने के लिए, क्विकस्टार्ट देखें.
Unity
Unity के लिए, Imagen मॉडल की मदद से इमेज में बदलाव करने की सुविधा उपलब्ध नहीं है. इस साल के आखिर में वापस आकर देखें!
सबसे सही तरीके और सीमाएं
हमारा सुझाव है कि किसी इमेज में बदलाव करते समय, मास्क को डाइलट करें. इससे, बदलाव की सीमाओं को स्मूद किया जा सकता है और यह ज़्यादा बेहतर दिख सकता है. आम तौर पर, डाइलटेशन
की वैल्यू 1% या 2% रखने का सुझाव दिया जाता है (0.01 या 0.02).
सुझाव/राय देना या शिकायत करना के बारे में अपने अनुभव के साथ Firebase AI Logic