Amazon Bedrock اور AWS Step Functions کا استعمال کرتے ہوئے تصویری پس منظر کو تبدیل کرنے کے عمل کو خودکار بنائیں ایمیزون ویب سروسز

Amazon Bedrock اور AWS Step Functions کا استعمال کرتے ہوئے تصویری پس منظر کو تبدیل کرنے کے عمل کو خودکار بنائیں ایمیزون ویب سروسز

بہت سے صارفین، بشمول تخلیقی اشتہارات، میڈیا اور تفریح، ای کامرس، اور فیشن، کو اکثر تصاویر کی ایک بڑی تعداد میں پس منظر کو تبدیل کرنے کی ضرورت ہوتی ہے۔ عام طور پر، اس میں فوٹو سافٹ ویئر کے ساتھ ہر تصویر کو دستی طور پر ترمیم کرنا شامل ہے۔ اس میں کافی محنت لگ سکتی ہے، خاص طور پر تصاویر کے بڑے بیچوں کے لیے۔ البتہ، ایمیزون بیڈرک اور AWS اسٹیپ فنکشنز پیمانے پر اس عمل کو خودکار بنانے کے لیے اسے سیدھا بنائیں۔

ایمیزون بیڈرک تخلیقی AI فاؤنڈیشن ماڈل پیش کرتا ہے۔ ایمیزون ٹائٹن امیج جنریٹر G1، جو کہ نامی تکنیک کا استعمال کرتے ہوئے خود بخود کسی تصویر کا پس منظر تبدیل کر سکتا ہے۔ آؤٹ پینٹنگ. Step Functions آپ کو ایک خودکار ورک فلو بنانے کی اجازت دیتا ہے جو بغیر کسی رکاوٹ کے Amazon Bedrock اور دیگر AWS سروسز کے ساتھ جڑتا ہے۔ ایک ساتھ، Amazon Bedrock اور Step Functions ایک سے زیادہ تصاویر کے پس منظر کو خود بخود تبدیل کرنے کے پورے عمل کو ہموار کرتے ہیں۔

اس پوسٹ میں ایک ایسا حل پیش کیا گیا ہے جو متعدد تصاویر میں پس منظر کو تبدیل کرنے کے عمل کو آسان بناتا ہے۔ کی صلاحیتوں کو بروئے کار لا کر پیدا کرنے والا AI ایمیزون بیڈروک اور ٹائٹن امیج جنریٹر جی 1 ماڈل کے ساتھ، سٹیپ فنکشنز کے ساتھ مل کر، یہ حل مطلوبہ پس منظر کے ساتھ موثر انداز میں تصاویر تیار کرتا ہے۔ یہ پوسٹ حل کے اندرونی کاموں کے بارے میں بصیرت فراہم کرتی ہے اور اس اپنی مرضی کے حل کو بنانے کے لیے کیے گئے ڈیزائن کے انتخاب کو سمجھنے میں آپ کی مدد کرتی ہے۔

دیکھو GitHub ذخیرہ اس حل کو تعینات کرنے کے بارے میں تفصیلی ہدایات کے لیے۔

حل جائزہ

آئیے دیکھتے ہیں کہ مخصوص عناصر اور استعمال شدہ AWS خدمات میں گہرائی میں جانے سے پہلے حل اعلی سطح پر کیسے کام کرتا ہے۔ درج ذیل خاکہ حل کے فن تعمیر کا ایک آسان منظر پیش کرتا ہے اور کلیدی عناصر کو نمایاں کرتا ہے۔

حل فن تعمیر

ورک فلو مندرجہ ذیل مراحل پر مشتمل ہے:

  1. ایک صارف ایک میں متعدد تصاویر اپ لوڈ کرتا ہے۔ ایمیزون سادہ اسٹوریج سروس ایک Streamlit ویب ایپلیکیشن کے ذریعے (Amazon S3) بالٹی۔
  2. Streamlit ویب ایپلیکیشن کال کرتی ہے۔ ایمیزون API گیٹ وے REST API اینڈ پوائنٹ کے ساتھ مربوط ہے۔ ایمیزون پہچان۔ ڈیٹیکٹ لیبلز API، جو ہر تصویر کے لیبلز کا پتہ لگاتا ہے۔
  3. جمع کرانے پر، Streamlit ویب ایپلیکیشن اپ ڈیٹ کرتی ہے۔ ایمیزون ڈائنومو ڈی بی تصویر کی تفصیلات کے ساتھ میز.
  4. DynamoDB اپ ڈیٹ ایک کو متحرک کرتا ہے۔ او ڈبلیو ایس لامبڈا۔ فنکشن، جو ایک سٹیپ فنکشنز ورک فلو شروع کرتا ہے۔
  5. سٹیپ فنکشنز ورک فلو ہر تصویر کے لیے درج ذیل مراحل چلاتا ہے:
    5.1 ایمیزون بیڈرک کے لیے درخواست کا پے لوڈ بناتا ہے۔ InvokeModel API.
    5.2 ایمیزون بیڈرک کو دعوت دیتا ہے۔ InvokeModel API کارروائی۔
    5.3 جواب سے ایک تصویر کو پارس کرتا ہے اور اسے S3 مقام پر محفوظ کرتا ہے۔
    5.4 DynamoDB ٹیبل میں تصویر کی حیثیت کو اپ ڈیٹ کرتا ہے۔
  6. سٹیٹس کی رپورٹ تیار کرنے کے لیے سٹیپ فنکشنز ورک فلو لیمبڈا فنکشن کو طلب کرتا ہے۔
  7. ورک فلو استعمال کرتے ہوئے ایک ای میل بھیجتا ہے۔ ایمیزون سادہ نوٹیفکیشن سروس (ایمیزون ایس این ایس)۔

جیسا کہ مندرجہ ذیل اسکرین شاٹ میں دکھایا گیا ہے، Streamlit ویب ایپلیکیشن آپ کو تصاویر اپ لوڈ کرنے اور تصویر بنانے کے لیے مطلوبہ پس منظر، منفی اشارے، اور آؤٹ پینٹنگ موڈ کی وضاحت کرنے کے لیے متن کے اشارے داخل کرنے کی اجازت دیتی ہے۔ آپ ہر اپ لوڈ کردہ تصویر کے ساتھ منسلک ناپسندیدہ لیبلز کو بھی دیکھ اور ہٹا سکتے ہیں جنہیں آپ حتمی طور پر تیار کردہ تصاویر میں نہیں رکھنا چاہتے ہیں۔

Streamlit ویب ایپلیکیشن

اس مثال میں، پس منظر کا اشارہ "لندن شہر کا پس منظر" ہے۔ آٹومیشن کا عمل اصل اپ لوڈ کردہ تصاویر کی بنیاد پر لندن کے پس منظر کے طور پر نئی تصاویر تیار کرتا ہے۔

تیار کردہ تصاویر

اسٹریم لائٹ ویب ایپلیکیشن اور امیجز اپ لوڈز

ایک Streamlit ویب ایپلیکیشن اس حل کے فرنٹ اینڈ کے طور پر کام کرتی ہے۔ ایپلیکیشن کو غیر مجاز رسائی سے بچانے کے لیے، یہ ایک کے ساتھ ضم ہوتا ہے۔ ایمیزون کاگنیٹو صارف پول. API گیٹ وے ایک استعمال کرتا ہے۔ ایمیزون کوگنیٹو مصنف درخواستوں کی تصدیق کرنے کے لیے۔ ویب ایپلیکیشن درج ذیل مراحل کو مکمل کرتی ہے۔

  1. ہر منتخب تصویر کے لیے، یہ API گیٹ وے REST API اینڈ پوائنٹ کا استعمال کرتے ہوئے Amazon Recognition کے ذریعے لیبلز کو بازیافت کرتا ہے۔
  2. جمع کرانے پر، ایپلیکیشن S3 بالٹی میں تصاویر اپ لوڈ کرتی ہے۔
  3. ایپلیکیشن ایک اور API گیٹ وے REST API اینڈ پوائنٹ کا استعمال کرتے ہوئے ہر تصویر کے لیے متعلقہ پیرامیٹرز، تصویری ناموں اور متعلقہ لیبلز کے ساتھ DynamoDB ٹیبل کو اپ ڈیٹ کرتی ہے۔

امیج پروسیسنگ ورک فلو

جب 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. ایمیزون ایس این ایس کے ذریعے ای میل بھیجیں۔

درج ذیل اسکرین شاٹ اسٹیپ فنکشنز ورک فلو کو واضح کرتا ہے۔

AWS سٹیپ فنکشنز ورک فلو

آئیے ہر قدم کو مزید تفصیل سے دیکھیں۔

تمام تصاویر کے پس منظر کو تبدیل کریں۔

سٹیپ فنکشنز a کا استعمال کرتا ہے۔ تقسیم شدہ نقشہ ہر تصویر کو متوازی چائلڈ ورک فلو میں پروسیس کرنے کے لیے۔ تقسیم شدہ نقشہ اعلی ہم آہنگی پروسیسنگ کی اجازت دیتا ہے۔ ہر بچے کے ورک فلو کی پیرنٹ ورک فلو سے اپنی الگ رن ہسٹری ہوتی ہے۔

سٹیپ فنکشنز ایک استعمال کرتا ہے۔ Amazon Bedrock کے لیے InvokeModel آپٹمائزڈ API ایکشن. API 25 MB تک کی درخواستوں اور جوابات کو قبول کرتا ہے۔ تاہم، سٹیٹ پے لوڈ ان پٹ اور آؤٹ پٹ پر سٹیپ فنکشنز کی 256 KB کی حد ہے۔ بڑی تصاویر کو سپورٹ کرنے کے لیے، حل ایک S3 بالٹی کا استعمال کرتا ہے جہاں InvokeModel API سے ڈیٹا پڑھتا ہے اور نتیجہ لکھتا ہے۔ مندرجہ ذیل کے لئے ترتیب ہے InvokeModel ایمیزون بیڈرک انضمام کے لیے API:

{
    "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”
    } 
}

۔ Input S3Uri پیرامیٹر ان پٹ ڈیٹا کو بازیافت کرنے کے لیے ماخذ کی جگہ کی وضاحت کرتا ہے۔ دی Output S3Uri پیرامیٹر API کا جواب لکھنے کی منزل کی وضاحت کرتا ہے۔

لیمبڈا فنکشن درخواست کے پے لوڈ کو JSON فائل کے بطور مخصوص میں محفوظ کرتا ہے۔ Input S3Uri مقام دی InvokeModel API اس ان پٹ پے لوڈ کو مخصوص پس منظر کے ساتھ تصاویر بنانے کے لیے استعمال کرتا ہے:

{
    "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 ماڈل تصویر بنانے کے لیے درج ذیل پیرامیٹرز کو سپورٹ کرتا ہے:

  • کام کی قسم - تصویر کے پس منظر کو تبدیل کرنے کے لیے آؤٹ پینٹنگ کا طریقہ بتاتا ہے۔
  • متن - پس منظر کی وضاحت کرنے کے لیے ایک ٹیکسٹ پرامپٹ۔
  • منفی متن - تصویر میں کیا شامل نہیں کرنا ہے اس کی وضاحت کرنے کے لیے ایک ٹیکسٹ پرامپٹ۔
  • maskPrompt - ایک ٹیکسٹ پرامپٹ جو ماسک کی وضاحت کرتا ہے۔ یہ ان لیبلز سے مماثل ہے جنہیں آپ حتمی تیار کردہ تصاویر میں برقرار رکھنا چاہتے ہیں۔
  • ماسک امیج - JPEG یا PNG امیج کو بیس64 میں انکوڈ کیا گیا ہے۔
  • آؤٹ پینٹنگ موڈ - یہ بتاتا ہے کہ آیا ماسک کے اندر پکسلز میں ترمیم کی اجازت دی جائے یا نہیں۔ ڈیفالٹ ماسک کے اندر تصویر میں ترمیم کرنے کی اجازت دیتا ہے تاکہ اسے دوبارہ تعمیر شدہ پس منظر کے مطابق رکھا جا سکے۔ PRECISE ماسک کے اندر تصویر میں ترمیم کو روکتا ہے۔
  • نمبر آف امیجز - تخلیق کرنے کے لیے تصاویر کی تعداد۔
  • معیار - تیار کردہ تصاویر کا معیار: standard or premium.
  • cfgScale - یہ بتاتا ہے کہ تیار کردہ تصویر کو پرامپٹ پر کتنی مضبوطی سے عمل کرنا چاہیے۔
  • اونچائی - پکسلز میں تصویر کی اونچائی۔
  • چوڑائی - تصویر کی چوڑائی پکسلز میں۔

ایمیزون بیڈرک InvokeModel API میں ایک انکوڈ شدہ تصویر کے ساتھ جواب تیار کرتا ہے۔ Output S3Uri مقام لیمبڈا کا ایک اور فنکشن ردعمل سے امیج کو پارس کرتا ہے، اسے بیس 64 سے ڈی کوڈ کرتا ہے، اور امیج فائل کو درج ذیل جگہ پر محفوظ کرتا ہے۔ s3://<Image Bucket>/generated-image-file/<year>/<month>/<day>/<timestamp>/.

آخر میں، ایک چائلڈ ورک فلو ایک DynamoDB ٹیبل کو امیج جنریشن اسٹیٹس کے ساتھ اپ ڈیٹ کرتا ہے، اسے یا تو کے طور پر نشان زد کرتا ہے۔ کامیابی ہوئی or ناکام، اور بشمول تفصیلات جیسے ImageName, Cause, Error، اور Status.

اسٹیٹس رپورٹ بنائیں

تصویر بنانے کے عمل کے بعد، ایک لیمبڈا فنکشن DynamoDB سے اسٹیٹس کی تفصیلات حاصل کرتا ہے۔ یہ ان تفصیلات کو متحرک طور پر JSON فارمیٹ میں ایک جامع اسٹیٹس رپورٹ میں مرتب کرتا ہے۔ اس کے بعد یہ مندرجہ ذیل مقام پر تیار کردہ اسٹیٹس رپورٹ کی JSON فائل کو محفوظ کرتا ہے۔ s3://<Image Bucket>/status-report-files/<year>/<month>/<day>/<timestamp>/. ITOps ٹیم اس رپورٹ کو اپنے موجودہ نوٹیفکیشن سسٹم کے ساتھ مربوط کر سکتی ہے تاکہ یہ معلوم کیا جا سکے کہ آیا امیج پروسیسنگ کامیابی سے مکمل ہو گئی ہے۔ کاروباری صارفین کے لیے، آپ CSV فارمیٹ میں رپورٹ بنانے کے لیے اسے مزید بڑھا سکتے ہیں۔

ایمیزون ایس این ایس کے ذریعے ای میل بھیجیں۔

اسٹیپ فنکشنز ای میل بھیجنے کے لیے ایمیزون ایس این ایس API ایکشن کی درخواست کرتا ہے۔ ای میل میں اسٹیٹس رپورٹ اور حتمی امیجز فائلز کے لیے S3 لوکیشن سمیت تفصیلات شامل ہیں۔ درج ذیل نمونہ نوٹیفکیشن ای میل ہے۔

اطلاع ای میل

نتیجہ

اس پوسٹ میں، ہم نے Amazon Bedrock اور Step Functions کا استعمال کرتے ہوئے پیمانے پر تصویری پس منظر کو تبدیل کرنے کے آٹومیشن کو ظاہر کرنے والے نمونے کے حل کا ایک جائزہ فراہم کیا ہے۔ ہم نے حل کے ہر عنصر کو بھی تفصیل سے بیان کیا۔ Amazon Bedrock، Distributed Map، اور Titan Image Generator G1 ماڈل کے ساتھ Step Functions کے آپٹمائزڈ انضمام کا استعمال کرتے ہوئے، حل مؤثر طریقے سے تصاویر کے پس منظر کو متوازی طور پر تبدیل کرتا ہے، جس سے پیداواریت اور اسکیل ایبلٹی میں اضافہ ہوتا ہے۔

حل کو تعینات کرنے کے لیے، میں دی گئی ہدایات کو دیکھیں GitHub ذخیرہ.

وسائل

Amazon Bedrock کے بارے میں مزید جاننے کے لیے، درج ذیل وسائل دیکھیں:

Titan Image Generator G1 ماڈل کے بارے میں مزید جاننے کے لیے، درج ذیل وسائل دیکھیں:

Amazon Bedrock with Step Functions کے استعمال کے بارے میں مزید جاننے کے لیے، درج ذیل وسائل دیکھیں:


مصنف کے بارے میں

Automate the process to change image backgrounds using Amazon Bedrock and AWS Step Functions | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.چیتن مکوانہ ایمیزون ویب سروسز کے ساتھ ایک سینئر حل آرکیٹیکٹ ہے۔ وہ AWS شراکت داروں اور صارفین کے ساتھ کام کرتا ہے تاکہ انہیں توسیع پذیر فن تعمیر کی تعمیر اور AWS خدمات کو اپنانے کے لیے حکمت عملیوں کو نافذ کرنے کے لیے تعمیراتی رہنمائی فراہم کی جا سکے۔ وہ ٹیکنالوجی کے شوقین اور ایک بلڈر ہیں جن کی تخلیقی AI، سرور لیس، اور DevOps پر دلچسپی کا بنیادی شعبہ ہے۔ کام سے باہر، وہ شوز، سفر اور موسیقی دیکھنے سے لطف اندوز ہوتا ہے۔ 

ٹائم اسٹیمپ:

سے زیادہ AWS مشین لرننگ