ইমেজ জেনারেশন গাইড

ইমেজ জেনারেটর টাস্ক

MediaPipe Image Generator টাস্কটি আপনাকে একটি টেক্সট প্রম্পটের উপর ভিত্তি করে ছবি তৈরি করতে দেয়। এই টাস্কটি ডিফিউশন কৌশল ব্যবহার করে ছবি তৈরি করার জন্য একটি টেক্সট-টু-ইমেজ মডেল ব্যবহার করে।

এই টাস্কটি ইনপুট হিসেবে একটি টেক্সট প্রম্পট গ্রহণ করে, সাথে একটি ঐচ্ছিক কন্ডিশন ইমেজও থাকে যা মডেলটি অগমেন্ট করতে পারে এবং জেনারেশনের জন্য রেফারেন্স হিসেবে ব্যবহার করতে পারে। কন্ডিশনড টেক্সট-টু-ইমেজ জেনারেশন সম্পর্কে আরও জানতে, “On-device diffusion plugins for conditioned text-to-image generation” দেখুন।

ইমেজ জেনারেটর প্রশিক্ষণ বা পুনঃপ্রশিক্ষণের সময় মডেলকে প্রদত্ত নির্দিষ্ট ধারণার উপর ভিত্তি করেও ছবি তৈরি করতে পারে। আরও তথ্যের জন্য, LoRA দিয়ে কাস্টমাইজ করুন দেখুন।

শুরু করুন

আপনার টার্গেট প্ল্যাটফর্মের জন্য এই ইমপ্লিমেন্টেশন গাইডগুলোর মধ্যে একটি অনুসরণ করে এই টাস্কটি ব্যবহার করা শুরু করুন। এই প্ল্যাটফর্ম-নির্দিষ্ট গাইডগুলো আপনাকে এই টাস্কটির একটি বেসিক ইমপ্লিমেন্টেশনের মধ্য দিয়ে ধাপে ধাপে নিয়ে যাবে, যেখানে একটি ডিফল্ট মডেল এবং প্রস্তাবিত কনফিগারেশন অপশনগুলো ব্যবহার করে কোডের উদাহরণ দেওয়া হয়েছে:

কাজের বিবরণ

এই অংশে এই টাস্কটির সক্ষমতা, ইনপুট, আউটপুট এবং কনফিগারেশন বিকল্পগুলো বর্ণনা করা হয়েছে।

বৈশিষ্ট্য

আপনি ইমেজ জেনারেটর ব্যবহার করে নিম্নলিখিত বিষয়গুলো বাস্তবায়ন করতে পারেন:

  1. টেক্সট থেকে ছবি তৈরি - টেক্সট প্রম্পটের মাধ্যমে ছবি তৈরি করুন।
  2. কন্ডিশন ইমেজ ব্যবহার করে ইমেজ তৈরি - একটি টেক্সট প্রম্পট এবং একটি রেফারেন্স ইমেজ ব্যবহার করে ছবি তৈরি করুন। ইমেজ জেনারেটর, কন্ট্রোলনেট (ControlNet) -এর অনুরূপ পদ্ধতিতে কন্ডিশন ইমেজ ব্যবহার করে।
  3. LoRA ওয়েট ব্যবহার করে ছবি তৈরি - কাস্টমাইজড মডেল ওয়েট ব্যবহার করে টেক্সট প্রম্পটের মাধ্যমে নির্দিষ্ট ব্যক্তি, বস্তু এবং স্টাইলের ছবি তৈরি করুন।
টাস্ক ইনপুট টাস্ক আউটপুট
ইমেজ জেনারেটরটি নিম্নলিখিত ইনপুটগুলো গ্রহণ করে:
  • টেক্সট প্রম্পট
  • বীজ
  • জেনারেটিভ পুনরাবৃত্তির সংখ্যা
  • ঐচ্ছিক: অবস্থার ছবি
ইমেজ জেনারেটরটি নিম্নলিখিত ফলাফল প্রদান করে:
  • ইনপুটগুলোর উপর ভিত্তি করে ছবিটি তৈরি করা হয়েছে।
  • ঐচ্ছিক: তৈরি হওয়া ছবিটির পুনরাবৃত্তিমূলক স্ন্যাপশট।

কনফিগারেশন বিকল্পগুলি

এই টাস্কটির নিম্নলিখিত কনফিগারেশন অপশনগুলো রয়েছে:

বিকল্পের নাম বর্ণনা মান পরিসীমা
imageGeneratorModelDirectory ইমেজ জেনারেটর মডেল ডিরেক্টরি, যেখানে মডেলের ওয়েটগুলো সংরক্ষিত থাকে। PATH
loraWeightsFilePath LoRA ওয়েটস ফাইলের পাথ নির্ধারণ করে। এটি ঐচ্ছিক এবং শুধুমাত্র তখনই প্রযোজ্য যখন মডেলটি LoRA দিয়ে কাস্টমাইজ করা হয়েছে। PATH
errorListener একটি ঐচ্ছিক ত্রুটি লিসেনার সেট করে। N/A

এই টাস্কটি প্লাগইন মডেলও সমর্থন করে, যা ব্যবহারকারীদের টাস্ক ইনপুটে কন্ডিশন ইমেজ অন্তর্ভুক্ত করার সুযোগ দেয়। ফাউন্ডেশন মডেলটি এই ইমেজগুলোকে অগমেন্ট করে এবং জেনারেশনের জন্য রেফারেন্স হিসেবে ব্যবহার করতে পারে। এই কন্ডিশন ইমেজগুলো হতে পারে ফেস ল্যান্ডমার্ক, এজ আউটলাইন এবং ডেপথ এস্টিমেট, যা মডেলটি ইমেজ জেনারেট করার জন্য অতিরিক্ত কনটেক্সট ও তথ্য হিসেবে ব্যবহার করে।

ফাউন্ডেশন মডেলে একটি প্লাগইন মডেল যোগ করার সময়, প্লাগইন অপশনগুলোও কনফিগার করুন। ফেস ল্যান্ডমার্ক প্লাগইন faceConditionOptions , ক্যানি এজ প্লাগইন edgeConditionOptions এবং ডেপথ প্লাগইন depthConditionOptions ব্যবহার করে।

চতুর প্রান্তের বিকল্পগুলি

edgeConditionOptions এ নিম্নলিখিত বিকল্পগুলি কনফিগার করুন।

বিকল্পের নাম বর্ণনা মান পরিসীমা ডিফল্ট মান
threshold1 হিস্টেরেসিস পদ্ধতির জন্য প্রথম থ্রেশহোল্ড। Float 100
threshold2 হিস্টেরেসিস পদ্ধতির জন্য দ্বিতীয় থ্রেশহোল্ড। Float 200
apertureSize সোবেল অপারেটরের জন্য অ্যাপারচারের আকার। সাধারণ পরিসর হলো ৩ থেকে ৭-এর মধ্যে। Integer 3
l2Gradient ডিফল্ট L1 নর্মের পরিবর্তে, ছবির গ্রেডিয়েন্ট ম্যাগনিটিউড গণনা করতে L2 নর্ম ব্যবহার করা হবে কি না। 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>

প্লাগইন মডেল

এই বিভাগের প্লাগইন মডেলগুলো গুগল দ্বারা তৈরি এবং এগুলো অবশ্যই একটি ফাউন্ডেশন মডেলের সাথে একত্রে ব্যবহার করতে হবে। প্লাগইন মডেলগুলো ইমেজ জেনারেটরকে ইনপুট হিসেবে একটি কন্ডিশন ইমেজ এবং একটি টেক্সট প্রম্পট গ্রহণ করতে সক্ষম করে, যা আপনাকে তৈরি হওয়া ইমেজগুলোর কাঠামো নিয়ন্ত্রণ করতে দেয়। প্লাগইন মডেলগুলো কন্ট্রোলনেট- এর মতো সক্ষমতা প্রদান করে, তবে এতে বিশেষভাবে ডিভাইসে প্রচারের জন্য একটি অভিনব আর্কিটেকচার রয়েছে।

প্লাগইন মডেলগুলো অবশ্যই বেস অপশনে নির্দিষ্ট করতে হবে এবং এর জন্য আপনাকে অতিরিক্ত মডেল ফাইল ডাউনলোড করতে হতে পারে। প্রতিটি প্লাগইনের কন্ডিশন ইমেজের জন্য নিজস্ব প্রয়োজনীয়তা রয়েছে, যা ইমেজ জেনারেটরের মাধ্যমে তৈরি করা যায়।

ক্যানি এজ প্লাগইন

ইটের স্পষ্ট রূপরেখা সহ একটি প্রদত্ত কন্ডিশন ইমেজ এবং প্রম্পট ব্যবহার করে তৈরি করা দুটি ছবির উদাহরণ আউটপুট।

ক্যানি এজ প্লাগইনটি একটি কন্ডিশন ইমেজ গ্রহণ করে, যা তৈরি হওয়া ইমেজের উদ্দিষ্ট প্রান্তগুলো চিহ্নিত করে। ফাউন্ডেশন মডেলটি কন্ডিশন ইমেজ দ্বারা নির্দেশিত প্রান্তগুলো ব্যবহার করে এবং টেক্সট প্রম্পটের উপর ভিত্তি করে একটি নতুন ইমেজ তৈরি করে। ইমেজ জেনারেটরে কন্ডিশন ইমেজ তৈরি করার অন্তর্নির্মিত ক্ষমতা রয়েছে এবং এর জন্য শুধুমাত্র প্লাগইন মডেলটি ডাউনলোড করার প্রয়োজন হয়।

ক্যানি এজ প্লাগইন ডাউনলোড করুন

ক্যানি এজ প্লাগইনটিতে নিম্নলিখিত কনফিগারেশন অপশনগুলো রয়েছে:

বিকল্পের নাম বর্ণনা মান পরিসীমা ডিফল্ট মান
threshold1 হিস্টেরেসিস পদ্ধতির জন্য প্রথম থ্রেশহোল্ড। Float 100
threshold2 হিস্টেরেসিস পদ্ধতির জন্য দ্বিতীয় থ্রেশহোল্ড। Float 200
apertureSize সোবেল অপারেটরের জন্য অ্যাপারচারের আকার। সাধারণ পরিসর হলো ৩ থেকে ৭-এর মধ্যে। Integer 3
l2Gradient ডিফল্ট L1 নর্মের পরিবর্তে, ছবির গ্রেডিয়েন্ট ম্যাগনিটিউড গণনা করতে L2 নর্ম ব্যবহার করা হবে কি না। BOOLEAN False
EdgePluginModelBaseOptions BaseOptions অবজেক্টটি প্লাগইন মডেলের পাথ নির্ধারণ করে। BaseOptions অবজেক্ট N/A

এই কনফিগারেশন বিকল্পগুলি কীভাবে কাজ করে সে সম্পর্কে আরও তথ্যের জন্য, ক্যানি এজ ডিটেক্টর দেখুন।

ফেস ল্যান্ডমার্ক প্লাগইন

একটি স্কেচ করা মুখের প্রদত্ত কন্ডিশন ইমেজ এবং দুটি ভিন্ন প্রম্পট ব্যবহার করে তৈরি করা দুটি ছবির উদাহরণ আউটপুট এখানে দেওয়া হলো, যা দেখায় যে একই কন্ডিশন ইমেজ ব্যবহার করে সম্পূর্ণ ভিন্ন দেখতে ছবি তৈরি করা যায়।

ফেস ল্যান্ডমার্ক প্লাগইনটি কন্ডিশন ইমেজ হিসেবে মিডিয়াপাইপ ফেস ল্যান্ডমার্কার থেকে প্রাপ্ত আউটপুট গ্রহণ করে। ফেস ল্যান্ডমার্কার একটি একক মুখের বিস্তারিত ফেস মেশ প্রদান করে, যা মুখের বিভিন্ন বৈশিষ্ট্যের উপস্থিতি ও অবস্থান ম্যাপ করে। ফাউন্ডেশন মডেলটি কন্ডিশন ইমেজ দ্বারা নির্দেশিত ফেসিয়াল ম্যাপিং ব্যবহার করে এবং সেই মেশের উপর একটি নতুন মুখ তৈরি করে।

ফেস ল্যান্ডমার্ক প্লাগইন ডাউনলোড করুন

কন্ডিশন ইমেজ তৈরি করার জন্য ফেস ল্যান্ডমার্ক প্লাগইনটির ফেস ল্যান্ডমার্কার মডেল বান্ডেলটিও প্রয়োজন হয়। এই মডেল বান্ডেলটি ফেস ল্যান্ডমার্কার টাস্ক দ্বারা ব্যবহৃত বান্ডেলটির মতোই।

ফেস ল্যান্ডমার্ক মডেল বান্ডেল ডাউনলোড করুন

ফেস ল্যান্ডমার্ক প্লাগইনটিতে নিম্নলিখিত কনফিগারেশন অপশনগুলো রয়েছে:

বিকল্পের নাম বর্ণনা মান পরিসীমা ডিফল্ট মান
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

এই কনফিগারেশন অপশনগুলো কীভাবে কাজ করে সে সম্পর্কে আরও তথ্যের জন্য, ফেস ল্যান্ডমার্কার টাস্কটি দেখুন।

গভীরতা প্লাগইন

একটি গাড়ির সাধারণ আকৃতি দেখানো প্রদত্ত কন্ডিশন ইমেজ ব্যবহার করে তৈরি করা দুটি ছবির উদাহরণ আউটপুট থেকে দেখানো হয়েছে যে, ডেপথ প্লাগইন একটি সমতল ছবিতে গভীরতা যোগ করে ছবি তৈরি করতে পারে।

ডেপথ প্লাগইনটি একটি কন্ডিশন ইমেজ গ্রহণ করে, যা কোনো বস্তুর মনোকুলার ডেপথ নির্দিষ্ট করে। ফাউন্ডেশন মডেলটি তৈরি হতে যাওয়া বস্তুর আকার ও গভীরতা অনুমান করার জন্য কন্ডিশন ইমেজটি ব্যবহার করে এবং টেক্সট প্রম্পটের উপর ভিত্তি করে একটি নতুন ইমেজ তৈরি করে।

ডেপথ প্লাগইন ডাউনলোড করুন

কন্ডিশন ইমেজ তৈরি করার জন্য ডেপথ প্লাগইনটির একটি ডেপথ এস্টিমেশন মডেলও প্রয়োজন হয়।

গভীরতা অনুমান মডেল ডাউনলোড করুন

ডেপথ প্লাগইনটিতে নিম্নলিখিত কনফিগারেশন অপশনগুলো রয়েছে:

বিকল্পের নাম বর্ণনা মান পরিসীমা ডিফল্ট মান
depthModelBaseOptions BaseOptions অবজেক্টটি সেই মডেলের পাথ নির্ধারণ করে, যা কন্ডিশন ইমেজ তৈরি করে। BaseOptions অবজেক্ট N/A
depthPluginModelBaseOptions BaseOptions অবজেক্টটি প্লাগইন মডেলের পাথ নির্ধারণ করে। BaseOptions অবজেক্ট N/A

LoRA দিয়ে কাস্টমাইজেশন

LoRA ব্যবহার করে একটি মডেল কাস্টমাইজ করার মাধ্যমে ইমেজ জেনারেটরকে নির্দিষ্ট ধারণার উপর ভিত্তি করে ছবি তৈরি করতে সক্ষম করা যায়, যা প্রশিক্ষণের সময় অনন্য টোকেন দ্বারা চিহ্নিত করা হয়। প্রশিক্ষণের পরে নতুন LoRA ওয়েটগুলোর সাহায্যে, টেক্সট প্রম্পটে টোকেনটি নির্দিষ্ট করে দিলে মডেলটি সেই নতুন ধারণার ছবি তৈরি করতে পারে।

LoRA ওয়েট তৈরি করার জন্য একটি নির্দিষ্ট বস্তু, ব্যক্তি বা শৈলীর ছবির উপর একটি ভিত্তি মডেলকে প্রশিক্ষণ দিতে হয়, যা মডেলটিকে নতুন ধারণাটি চিনতে এবং ছবি তৈরির সময় তা প্রয়োগ করতে সক্ষম করে। আপনি যদি নির্দিষ্ট ব্যক্তি ও মুখের ছবি তৈরি করার জন্য LoRA ওয়েট তৈরি করেন, তবে এই সমাধানটি শুধুমাত্র আপনার নিজের মুখ অথবা এমন ব্যক্তিদের মুখের উপর ব্যবহার করুন, যারা আপনাকে এর জন্য অনুমতি দিয়েছেন।

নিচে ড্রিমবুথ ডেটাসেট থেকে নেওয়া চায়ের কেটলির ছবির উপর 'monadikos teapot' টোকেনটি ব্যবহার করে প্রশিক্ষিত একটি কাস্টমাইজড মডেলের আউটপুট দেওয়া হলো:

দেয়ালে লাগানো আয়নার পাশে টেবিলের উপর রাখা একটি চায়ের কেটলির তৈরি করা ফটোরিয়ালিস্টিক ছবি।

প্রম্পট : একটি আয়নার পাশে একটি মোনাডিকোস চায়ের কেটলি

কাস্টমাইজড মডেলটি প্রম্পটে টোকেনটি গ্রহণ করে এবং LoRA ওয়েট থেকে চিত্রিত করতে শেখা একটি চায়ের কেটলি ইনজেক্ট করে, এবং প্রম্পটে অনুরোধ অনুযায়ী ছবিটি একটি আয়নার পাশে স্থাপন করে।

ভার্টেক্স এআই সহ লোরা

আরও তথ্যের জন্য, কাস্টমাইজেশন গাইডটি দেখুন, যেখানে একটি ফাউন্ডেশন মডেলে LoRA ওয়েট প্রয়োগ করে মডেল কাস্টমাইজ করার জন্য Vertex AI-এর Model Garden ব্যবহার করা হয়েছে।