अमेज़ॅन बेडरॉक और एडब्ल्यूएस स्टेप फ़ंक्शंस का उपयोग करके छवि पृष्ठभूमि बदलने की प्रक्रिया को स्वचालित करें अमेज़न वेब सेवाएँ

अमेज़ॅन बेडरॉक और एडब्ल्यूएस स्टेप फ़ंक्शंस का उपयोग करके छवि पृष्ठभूमि बदलने की प्रक्रिया को स्वचालित करें अमेज़न वेब सेवाएँ

रचनात्मक विज्ञापन, मीडिया और मनोरंजन, ईकॉमर्स और फैशन सहित कई ग्राहकों को अक्सर बड़ी संख्या में छवियों की पृष्ठभूमि बदलने की आवश्यकता होती है। आमतौर पर, इसमें फोटो सॉफ़्टवेयर के साथ प्रत्येक छवि को मैन्युअल रूप से संपादित करना शामिल होता है। इसमें बहुत अधिक प्रयास करना पड़ सकता है, विशेषकर छवियों के बड़े बैचों के लिए। तथापि, अमेज़ॅन बेडरॉक और AWS स्टेप फ़ंक्शंस इस प्रक्रिया को बड़े पैमाने पर स्वचालित करना आसान बनाएं।

अमेज़ॅन बेडरॉक जेनरेटिव एआई फाउंडेशन मॉडल पेश करता है अमेज़ॅन टाइटन इमेज जेनरेटर G1नामक तकनीक का उपयोग करके किसी छवि की पृष्ठभूमि को स्वचालित रूप से बदल सकता है आउटपेंटिंग. स्टेप फ़ंक्शंस आपको एक स्वचालित वर्कफ़्लो बनाने की अनुमति देता है जो अमेज़ॅन बेडरॉक और अन्य एडब्ल्यूएस सेवाओं के साथ सहजता से जुड़ता है। साथ में, अमेज़ॅन बेडरॉक और स्टेप फ़ंक्शंस कई छवियों में पृष्ठभूमि को स्वचालित रूप से बदलने की पूरी प्रक्रिया को सुव्यवस्थित करते हैं।

यह पोस्ट एक समाधान पेश करती है जो कई छवियों में पृष्ठभूमि बदलने की प्रक्रिया को सरल बनाती है। की क्षमताओं का दोहन करके जनरेटिव ए.आई. अमेज़ॅन बेडरॉक और टाइटन इमेज जेनरेटर जी1 मॉडल के साथ, स्टेप फ़ंक्शंस के साथ संयुक्त, यह समाधान कुशलतापूर्वक वांछित पृष्ठभूमि के साथ छवियां उत्पन्न करता है। यह पोस्ट समाधान की आंतरिक कार्यप्रणाली में अंतर्दृष्टि प्रदान करती है और आपको इस स्वयं के कस्टम समाधान को बनाने के लिए डिज़ाइन किए गए विकल्पों को समझने में मदद करती है।

देखना गिटहब भंडार इस समाधान के परिनियोजन पर विस्तृत निर्देशों के लिए।

समाधान अवलोकन

आइए देखें कि विशिष्ट तत्वों और उपयोग की जाने वाली AWS सेवाओं के बारे में गहराई से जानने से पहले समाधान उच्च स्तर पर कैसे काम करता है। निम्नलिखित आरेख समाधान वास्तुकला का एक सरलीकृत दृश्य प्रदान करता है और प्रमुख तत्वों पर प्रकाश डालता है।

समाधान वास्तुकला

वर्कफ़्लो में निम्नलिखित चरण होते हैं:

  1. एक उपयोगकर्ता एकाधिक छवियाँ अपलोड करता है अमेज़न सरल भंडारण सेवा (अमेज़ॅन S3) स्ट्रीमलिट वेब एप्लिकेशन के माध्यम से बकेट।
  2. स्ट्रीमलिट वेब एप्लिकेशन कॉल करता है अमेज़ॅन एपीआई गेटवे REST API एंडपॉइंट के साथ एकीकृत अमेज़ॅन रेकग्निशन डिटेक्टलेबल्स एपीआई, जो प्रत्येक छवि के लिए लेबल का पता लगाता है।
  3. सबमिट करने पर, स्ट्रीमलिट वेब एप्लिकेशन अपडेट हो जाता है अमेज़ॅन डायनेमोडीबी छवि विवरण के साथ तालिका.
  4. DynamoDB अद्यतन ट्रिगर करता है AWS लाम्बा फ़ंक्शन, जो स्टेप फ़ंक्शंस वर्कफ़्लो प्रारंभ करता है।
  5. स्टेप फ़ंक्शंस वर्कफ़्लो प्रत्येक छवि के लिए निम्नलिखित चरण चलाता है:
    5.1 अमेज़ॅन बेडरॉक के लिए एक अनुरोध पेलोड का निर्माण करता है InvokeModel एपीआई।
    5.2 अमेज़ॅन बेडरॉक का आह्वान करता है InvokeModel एपीआई कार्रवाई.
    5.3 प्रतिक्रिया से एक छवि को पार्स करता है और इसे S3 स्थान पर सहेजता है।
    5.4 DynamoDB तालिका में छवि स्थिति को अद्यतन करता है।
  6. स्टेप फ़ंक्शंस वर्कफ़्लो स्थिति रिपोर्ट तैयार करने के लिए लैम्ब्डा फ़ंक्शन को आमंत्रित करता है।
  7. वर्कफ़्लो का उपयोग करके एक ईमेल भेजता है अमेज़न सरल अधिसूचना सेवा (अमेज़ॅन एसएनएस)।

जैसा कि निम्नलिखित स्क्रीनशॉट में दिखाया गया है, स्ट्रीमलिट वेब एप्लिकेशन आपको छवियां अपलोड करने और छवि निर्माण के लिए वांछित पृष्ठभूमि, नकारात्मक संकेत और आउटपेंटिंग मोड निर्दिष्ट करने के लिए टेक्स्ट संकेत दर्ज करने की अनुमति देता है। आप प्रत्येक अपलोड की गई छवि से जुड़े अवांछित लेबल भी देख और हटा सकते हैं जिन्हें आप अंतिम जेनरेट की गई छवियों में नहीं रखना चाहते हैं।

स्ट्रीमलिट वेब एप्लिकेशन

इस उदाहरण में, पृष्ठभूमि के लिए संकेत "लंदन शहर की पृष्ठभूमि" है। स्वचालन प्रक्रिया पृष्ठभूमि के रूप में लंदन के साथ मूल अपलोड की गई छवियों के आधार पर नई छवियां उत्पन्न करती है।

उत्पन्न छवियाँ

स्ट्रीमलिट वेब एप्लिकेशन और छवियाँ अपलोड

एक स्ट्रीमलिट वेब एप्लिकेशन इस समाधान के लिए फ्रंटएंड के रूप में कार्य करता है। एप्लिकेशन को अनधिकृत पहुंच से बचाने के लिए, यह एक के साथ एकीकृत होता है अमेज़ॅन कॉग्निटो उपयोगकर्ता पूल. एपीआई गेटवे एक का उपयोग करता है अमेज़ॅन कॉग्निटो ऑथराइज़र अनुरोधों को प्रमाणित करने के लिए. वेब एप्लिकेशन निम्नलिखित चरणों को पूरा करता है:

  1. प्रत्येक चयनित छवि के लिए, यह एपीआई गेटवे रेस्ट एपीआई एंडपॉइंट का उपयोग करके अमेज़ॅन रिकॉग्निशन के माध्यम से लेबल पुनर्प्राप्त करता है।
  2. सबमिट करने पर, एप्लिकेशन छवियों को S3 बकेट में अपलोड करता है।
  3. एप्लिकेशन किसी अन्य API गेटवे REST API एंडपॉइंट का उपयोग करके प्रत्येक छवि के लिए प्रासंगिक पैरामीटर, छवि नाम और संबंधित लेबल के साथ एक DynamoDB तालिका अपडेट करता है।

छवि प्रसंस्करण वर्कफ़्लो

जब DynamoDB तालिका अद्यतन की जाती है, डायनेमोडीबी स्ट्रीम एक नया स्टेप फ़ंक्शंस वर्कफ़्लो शुरू करने के लिए लैम्ब्डा फ़ंक्शन ट्रिगर करता है। वर्कफ़्लो के लिए एक नमूना अनुरोध निम्नलिखित है:

{
  "Id": "621fa85a-38bb-4d98-a656-93bbbcf5477f",
  "S3Bucket": "<Image Bucket>",
  "InputS3Prefix": "image-files/<year>/<month>/<day>/<timestamp>",
  "OutputS3Prefix": "generated-image-files/<year>/<month>/<day>/<timestamp>",
  "StatusS3Prefix": "status-report-files/<year>/<month>/<day>/<timestamp>",
  "Prompt": "london city background",
  "NegativePrompt": "low quality, low resolution",
  "Mode": "PRECISE",
  "Images": [
    {
      "ImageName": "bus.png",
      "Labels": "Bus, Person"
    },
    {
      "ImageName": "cop.png",
      "Labels": "Person, Adult, Male, Man, Helmet, Jacket"
    },
    {
      "ImageName": "iguana-2.png",
      "Labels": "Lizard”
    },
    {
      "ImageName": "dog.png",
      "Labels": "Dog"
    }
  ]
}

स्टेप फ़ंक्शंस वर्कफ़्लो बाद में निम्नलिखित तीन चरण निष्पादित करता है:

  1. सभी छवियों की पृष्ठभूमि बदलें.
  2. एक स्थिति रिपोर्ट तैयार करें.
  3. अमेज़ॅन एसएनएस के माध्यम से एक ईमेल भेजें।

निम्नलिखित स्क्रीनशॉट स्टेप फ़ंक्शंस वर्कफ़्लो को दिखाता है।

एडब्ल्यूएस चरण कार्य कार्यप्रवाह

आइए प्रत्येक चरण को अधिक विस्तार से देखें।

सभी छवियों के लिए पृष्ठभूमि बदलें

स्टेप फ़ंक्शंस का उपयोग करता है वितरित मानचित्र प्रत्येक छवि को समानांतर चाइल्ड वर्कफ़्लो में संसाधित करने के लिए। वितरित मानचित्र उच्च-समवर्ती प्रसंस्करण की अनुमति देता है। प्रत्येक चाइल्ड वर्कफ़्लो का मूल वर्कफ़्लो से अपना अलग रन इतिहास होता है।

स्टेप फ़ंक्शंस का उपयोग करता है अमेज़ॅन बेडरॉक के लिए InvokeModel अनुकूलित एपीआई कार्रवाई. एपीआई 25 एमबी तक के अनुरोधों और प्रतिक्रियाओं को स्वीकार करता है। हालाँकि, स्टेप फ़ंक्शंस में राज्य पेलोड इनपुट और आउटपुट पर 256 KB की सीमा है। बड़ी छवियों का समर्थन करने के लिए, समाधान एक S3 बाल्टी का उपयोग करता है जहां InvokeModel एपीआई डेटा पढ़ता है और परिणाम लिखता है। निम्नलिखित के लिए कॉन्फ़िगरेशन है InvokeModel अमेज़ॅन बेडरॉक एकीकरण के लिए एपीआई:

{
    "ModelId": "arn:aws:bedrock:us-east-1::foundation-model/amazon.titan-image-generator-v1",
    "ContentType": "application/json",
    "Input": {  
        "S3Uri": “s3://<Image Bucket>/image-files/<year>/<month>/<day>/<timestamp>/<Image name>.json",
    },  
    "Output": {  
        "S3Uri": “s3://<Image Bucket>/generated-image-files/<year>/<month>/<day>/<timestamp>/<Image name>.json”
    } 
}

RSI Input S3Uri पैरामीटर इनपुट डेटा पुनर्प्राप्त करने के लिए स्रोत स्थान निर्दिष्ट करता है। Output S3Uri पैरामीटर एपीआई प्रतिक्रिया लिखने के लिए गंतव्य निर्दिष्ट करता है।

लैम्ब्डा फ़ंक्शन निर्दिष्ट में JSON फ़ाइल के रूप में अनुरोध पेलोड को सहेजता है Input S3Uri स्थान। NS InvokeModel एपीआई निर्दिष्ट पृष्ठभूमि के साथ छवियां उत्पन्न करने के लिए इस इनपुट पेलोड का उपयोग करता है:

{
    "taskType": "OUTPAINTING",
    "outPaintingParams": {
        "text": "london city background",
        "negativeText": "low quality, low resolution",        
        "image": "<base64-encoded string>",                         
        "maskPrompt": "Bus",                      
        "maskImage": "base64-encoded string",                             
        "outPaintingMode": "DEFAULT | PRECISE"                 
    },                                                 
    "imageGenerationConfig": {
        "numberOfImages": 1,
        "quality": "premium",
        "height": 1024,
        "width": 1024,
        "cfgScale": 8.0
    }
}

टाइटन इमेज जेनरेटर G1 मॉडल छवि निर्माण के लिए निम्नलिखित मापदंडों का समर्थन करता है:

  • कार्य प्रकार - छवि की पृष्ठभूमि को बदलने के लिए आउटपेंटिंग विधि निर्दिष्ट करता है।
  • टेक्स्ट - पृष्ठभूमि को परिभाषित करने के लिए एक टेक्स्ट प्रॉम्प्ट।
  • नकारात्मकपाठ - छवि में क्या शामिल नहीं करना है, इसे परिभाषित करने के लिए एक टेक्स्ट प्रॉम्प्ट।
  • मास्कप्रॉम्प्ट - एक टेक्स्ट प्रॉम्प्ट जो मास्क को परिभाषित करता है। यह उन लेबलों से मेल खाता है जिन्हें आप अंतिम जेनरेट की गई छवियों में बनाए रखना चाहते हैं।
  • मुखौटाछवि - JPEG या PNG छवि बेस64 में एन्कोड की गई है।
  • आउटपेंटिंगमोड - निर्दिष्ट करता है कि मास्क के अंदर पिक्सेल के संशोधन की अनुमति दी जाए या नहीं। डिफ़ॉल्ट, पुनर्निर्मित पृष्ठभूमि के अनुरूप बनाए रखने के लिए मास्क के अंदर छवि में संशोधन की अनुमति देता है। PRECISE मास्क के अंदर छवि के संशोधन को रोकता है।
  • छवियों की संख्या - उत्पन्न की जाने वाली छवियों की संख्या।
  • गुणवत्ता - उत्पन्न छवियों की गुणवत्ता: standard or premium.
  • सीएफजीस्केल - निर्दिष्ट करता है कि उत्पन्न छवि को प्रॉम्प्ट का कितनी मजबूती से पालन करना चाहिए।
  • ऊंचाई – छवि की ऊंचाई पिक्सेल में.
  • चौडाई – छवि की चौड़ाई पिक्सेल में.

अमेज़ॅन बेडरॉक InvokeModel एपीआई एक एन्कोडेड छवि के साथ एक प्रतिक्रिया उत्पन्न करता है Output S3Uri जगह। एक अन्य लैम्ब्डा फ़ंक्शन प्रतिक्रिया से छवि को पार्स करता है, इसे बेस 64 से डीकोड करता है, और छवि फ़ाइल को निम्नलिखित स्थान पर सहेजता है: s3://<Image Bucket>/generated-image-file/<year>/<month>/<day>/<timestamp>/.

अंत में, एक चाइल्ड वर्कफ़्लो डायनेमोडीबी तालिका को छवि निर्माण स्थिति के साथ अद्यतन करता है, इसे या तो चिह्नित करता है सफल हुए or विफल रहे, और जैसे विवरण शामिल हैं ImageName, Cause, Error, तथा Status.

एक स्थिति रिपोर्ट तैयार करें

छवि निर्माण प्रक्रिया के बाद, एक लैम्ब्डा फ़ंक्शन DynamoDB से स्थिति विवरण पुनर्प्राप्त करता है। यह इन विवरणों को गतिशील रूप से JSON प्रारूप में एक व्यापक स्थिति रिपोर्ट में संकलित करता है। इसके बाद यह उत्पन्न स्थिति रिपोर्ट को JSON फ़ाइल में निम्नलिखित स्थान पर सहेजता है: s3://<Image Bucket>/status-report-files/<year>/<month>/<day>/<timestamp>/. ITOps टीम इस रिपोर्ट को अपने मौजूदा अधिसूचना सिस्टम के साथ एकीकृत कर सकती है ताकि यह पता लगाया जा सके कि छवि प्रसंस्करण सफलतापूर्वक पूरा हुआ या नहीं। व्यावसायिक उपयोगकर्ताओं के लिए, आप सीएसवी प्रारूप में एक रिपोर्ट तैयार करने के लिए इसे और विस्तारित कर सकते हैं।

अमेज़ॅन एसएनएस के माध्यम से एक ईमेल भेजें

स्टेप फ़ंक्शंस एक ईमेल भेजने के लिए अमेज़ॅन एसएनएस एपीआई कार्रवाई को आमंत्रित करता है। ईमेल में स्थिति रिपोर्ट और अंतिम छवि फ़ाइलों के लिए S3 स्थान सहित विवरण शामिल हैं। निम्नलिखित नमूना अधिसूचना ईमेल है.

अधिसूचना ईमेल

निष्कर्ष

इस पोस्ट में, हमने अमेज़ॅन बेडरॉक और स्टेप फ़ंक्शंस का उपयोग करके बड़े पैमाने पर छवि पृष्ठभूमि को बदलने के स्वचालन को प्रदर्शित करने वाले एक नमूना समाधान का अवलोकन प्रदान किया। हमने समाधान के प्रत्येक तत्व के बारे में भी विस्तार से बताया। अमेज़ॅन बेडरॉक, डिस्ट्रीब्यूटेड मैप और टाइटन इमेज जेनरेटर जी1 मॉडल के साथ स्टेप फ़ंक्शंस अनुकूलित एकीकरण का उपयोग करके, समाधान कुशलतापूर्वक समानांतर में छवियों की पृष्ठभूमि को बदल देता है, उत्पादकता और स्केलेबिलिटी को बढ़ाता है।

समाधान को तैनात करने के लिए, इसमें दिए गए निर्देश देखें गिटहब भंडार.

उपयुक्त संसाधन चुनें

अमेज़ॅन बेडरॉक के बारे में अधिक जानने के लिए, निम्नलिखित संसाधन देखें:

टाइटन इमेज जेनरेटर G1 मॉडल के बारे में अधिक जानने के लिए, निम्नलिखित संसाधन देखें:

स्टेप फ़ंक्शंस के साथ अमेज़ॅन बेडरॉक का उपयोग करने के बारे में अधिक जानने के लिए, निम्नलिखित संसाधन देखें:


लेखक के बारे में

अमेज़ॅन बेडरॉक और एडब्ल्यूएस स्टेप फ़ंक्शंस का उपयोग करके छवि पृष्ठभूमि बदलने की प्रक्रिया को स्वचालित करें अमेज़ॅन वेब सेवाएँ प्लेटोब्लॉकचेन डेटा इंटेलिजेंस। लंबवत खोज. ऐ.चेतन मकवाणा अमेज़ॅन वेब सर्विसेज के साथ एक वरिष्ठ समाधान वास्तुकार हैं। वह AWS भागीदारों और ग्राहकों के साथ काम करता है ताकि उन्हें स्केलेबल आर्किटेक्चर के निर्माण और AWS सेवाओं को अपनाने के लिए रणनीतियों को लागू करने के लिए वास्तुशिल्प मार्गदर्शन प्रदान किया जा सके। वह एक प्रौद्योगिकी उत्साही और बिल्डर हैं, जिनकी मुख्य रुचि जेनेरिक एआई, सर्वरलेस और डेवऑप्स पर है। काम के अलावा, उन्हें शो देखना, यात्रा करना और संगीत पसंद है। 

समय टिकट:

से अधिक AWS मशीन लर्निंग

सारणीबद्ध डेटा मॉडलिंग के लिए नया अंतर्निहित अमेज़ॅन सेजमेकर एल्गोरिदम: लाइटजीबीएम, कैटबॉस्ट, ऑटोग्लुऑन-टैबुलर और टैबट्रांसफॉर्मर

स्रोत नोड: 1541386
समय टिकट: जून 28, 2022

अमेज़ॅन सेजमेकर कैनवस के साथ नो-कोड मशीन लर्निंग का उपयोग करके विनिर्माण गुणवत्ता के लिए कंप्यूटर दृष्टि दोष का पता लगाने का डेमोक्रेटाइज़ करें अमेज़न वेब सेवाएँ

स्रोत नोड: 1854343
समय टिकट: जून 30, 2023