নির্ধারকভাবে একটি চিত্রের জন্য একটি এলোমেলোভাবে বিকৃত বাউন্ডিং বাক্স তৈরি করুন।
বাউন্ডিং বক্স টীকাগুলি প্রায়শই ইমেজ স্বীকৃতি বা বস্তু স্থানীয়করণের কাজগুলিতে গ্রাউন্ড-ট্রুথ লেবেল ছাড়াও সরবরাহ করা হয়। এই ধরনের একটি সিস্টেমকে প্রশিক্ষণের জন্য একটি সাধারণ কৌশল হল একটি চিত্রকে এর বিষয়বস্তু সংরক্ষণ করার সময় এলোমেলোভাবে বিকৃত করা, যেমন ডেটা বৃদ্ধি । এই Op, একই `বীজ` দেওয়া, একটি বস্তুর এলোমেলোভাবে বিকৃত স্থানীয়করণ, অর্থাৎ বাউন্ডিং বক্স, একটি `চিত্র_আকার`, `বাউন্ডিং_বক্স` এবং সীমাবদ্ধতার একটি সিরিজ প্রদত্ত নির্ধারকভাবে আউটপুট করে।
এই অপের আউটপুট হল একটি একক বাউন্ডিং বাক্স যা মূল ছবি ক্রপ করতে ব্যবহার করা যেতে পারে। আউটপুটটি 3 টি টেনসর হিসাবে ফেরত দেওয়া হয়: `begin`, `size` এবং `bboxes`। প্রথম 2 টি টেনসর ছবি ক্রপ করার জন্য সরাসরি `tf.slice` এ দেওয়া যেতে পারে। বাউন্ডিং বক্সটি দেখতে কেমন তা কল্পনা করতে পরেরটি `tf.image.draw_bounding_boxes`-এ সরবরাহ করা হতে পারে।
বাউন্ডিং বাক্স সরবরাহ করা হয় এবং `[y_min, x_min, y_max, x_max]` হিসাবে ফেরত দেওয়া হয়। বাউন্ডিং বক্স স্থানাঙ্কগুলি অন্তর্নিহিত চিত্রের প্রস্থ এবং উচ্চতার সাপেক্ষে `[0.0, 1.0]` তে ভাসছে।
এই Op-এর আউটপুট একই `বীজ` দেওয়া নিশ্চিত করা হয়েছে এবং ফাংশনটি কতবার কল করা হয়েছে তার থেকে স্বাধীন এবং বৈশ্বিক বীজ সেটিংস থেকে স্বাধীন (যেমন `tf.random.set_seed`)।
উদাহরণ ব্যবহার:
>>> চিত্র = np.array([[[1], [2], [3]], [[4], [5], [6]], [[7], [8], [9] ]]) >>> bbox = tf.constant( ... [0.0, 0.0, 1.0, 1.0], dtype=tf.float32, shape=[1, 1, 4]) >>> বীজ = (1, 2) ) >>> # একটি একক বিকৃত বাউন্ডিং বক্স তৈরি করুন। >>> bbox_begin, bbox_size, bbox_draw = ( ... tf.image.stateless_sample_distorted_bounding_box( ... tf.shape(image), bounding_boxes=bbox, seed=seed)) >>> # ছবি বিকৃত করতে বাউন্ডিং বক্স ব্যবহার করুন . >>> tf.slice(ছবি, bbox_begin, bbox_size) মনে রাখবেন যদি কোনো বাউন্ডিং বক্সের তথ্য উপলভ্য না থাকে, তাহলে `use_image_if_no_bounding_boxes = true` সেট করলে অনুমান করা হবে যে পুরো ইমেজটি কভার করে একটি একক অন্তর্নিহিত বাউন্ডিং বক্স আছে। যদি `ব্যবহার_ছবি_ইফ_নো_বাউন্ডিং_বক্স' মিথ্যা হয় এবং কোনো বাউন্ডিং বাক্স সরবরাহ করা না হয়, তাহলে একটি ত্রুটি উত্থাপিত হয়।
নেস্টেড ক্লাস
ক্লাস | StatelessSampleDistortedBoundingBox.Options | StatelessSampleDistortedBoundingBox এর জন্য ঐচ্ছিক বৈশিষ্ট্য |
পাবলিক পদ্ধতি
স্ট্যাটিক StatelessSampleDistortedBoundingBox.Options | এলাকা পরিসর (তালিকা<ফ্লোট> এলাকা পরিসর) |
স্ট্যাটিক StatelessSampleDistortedBoundingBox.Options | aspectRatioRange (List<Float> aspectRatioRange) |
আউটপুট <ফ্লোট> | bboxes () 3-D আকৃতির সাথে `[1, 1, 4]` বিকৃত বাউন্ডিং বক্স রয়েছে। |
আউটপুট <T> | শুরু () 1-D, `[offset_height, offset_width, 0]` ধারণ করে। |
স্ট্যাটিক <T সংখ্যা প্রসারিত করে, U সংখ্যা প্রসারিত করে> StatelessSampleDistortedBoundingBox <T> | |
স্ট্যাটিক StatelessSampleDistortedBoundingBox.Options | সর্বোচ্চ চেষ্টা (দীর্ঘ সর্বোচ্চ প্রচেষ্টা) |
আউটপুট <T> | আকার () 1-D, `[লক্ষ্য_উচ্চতা, লক্ষ্য_প্রস্থ, -1]` রয়েছে। |
স্ট্যাটিক StatelessSampleDistortedBoundingBox.Options | useImageIfNoBoundingBoxes (বুলিয়ান useImageIfNoBoundingBoxes) |
উত্তরাধিকারসূত্রে প্রাপ্ত পদ্ধতি
পাবলিক পদ্ধতি
সর্বজনীন স্ট্যাটিক স্টেটলেস নমুনা বিকৃত বাউন্ডিংবক্স । বিকল্প এলাকা পরিসর (লিস্ট<ফ্লোট> এলাকা পরিসর)
পরামিতি
এলাকা পরিসীমা | ছবির ক্রপ করা এলাকায় অবশ্যই এই সীমার মধ্যে সরবরাহ করা ছবির একটি ভগ্নাংশ থাকতে হবে। |
---|
পাবলিক স্ট্যাটিক স্টেটলেস নমুনা ডিস্টর্টেডবাউন্ডিংবক্স । অপশন অ্যাসপেক্ট রেজিওরেঞ্জ (লিস্ট<ফ্লোট> অ্যাস্পেক্ট রেজিওরেঞ্জ)
পরামিতি
aspectRatioRange | চিত্রের ক্রপ করা এলাকায় অবশ্যই একটি আকৃতির অনুপাত = প্রস্থ/উচ্চতা থাকতে হবে। |
---|
সর্বজনীন আউটপুট <ফ্লোট> bboxes ()
3-D আকৃতির সাথে `[1, 1, 4]` বিকৃত বাউন্ডিং বক্স রয়েছে। `tf.image.draw_bounding_boxes`-এ ইনপুট হিসেবে প্রদান করুন।
সর্বজনীন আউটপুট <T> শুরু ()
1-D, `[offset_height, offset_width, 0]` ধারণ করে। `tf.slice`-এ ইনপুট হিসেবে প্রদান করুন।
পাবলিক স্ট্যাটিক স্টেটলেস স্যাম্পল ডিস্টর্টেডবাউন্ডিংবক্স <T> তৈরি করুন ( স্কোপ স্কোপ, অপারেন্ড <T> ইমেজ সাইজ, অপারেন্ড <ফ্লোট> বাউন্ডিংবক্স, অপারেন্ড <ফ্লোট> মিনঅবজেক্ট কভারড, অপারেন্ড <U> বীজ, বিকল্প... বিকল্প)
একটি নতুন StatelessSampleDistortedBoundingBox অপারেশন মোড়ানো একটি ক্লাস তৈরি করার কারখানা পদ্ধতি।
পরামিতি
সুযোগ | বর্তমান সুযোগ |
---|---|
ছবির আকার | 1-D, যার মধ্যে `[উচ্চতা, প্রস্থ, চ্যানেল]` আছে। |
বাউন্ডিং বক্স | 3-D আকৃতির সাথে `[batch, N, 4]` চিত্রের সাথে যুক্ত N বাউন্ডিং বাক্সের বর্ণনা। |
minObject covered | ইমেজের ক্রপ করা এলাকায় অবশ্যই সরবরাহ করা যেকোনো বাউন্ডিং বাক্সের অন্তত এই ভগ্নাংশ থাকতে হবে। এই প্যারামিটারের মান অ-নেতিবাচক হওয়া উচিত। 0-এর ক্ষেত্রে, ক্রপ করা এলাকাকে সরবরাহ করা বাউন্ডিং বাক্সগুলির কোনোটি ওভারল্যাপ করার প্রয়োজন নেই। |
বীজ | 1-D আকৃতির সাথে `[2]`। র্যান্ডম নম্বর জেনারেটর থেকে বীজ. dtype `int32` বা `int64` থাকতে হবে। (XLA ব্যবহার করার সময়, শুধুমাত্র `int32` অনুমোদিত।) |
বিকল্প | ঐচ্ছিক বৈশিষ্ট্য মান বহন করে |
রিটার্নস
- StatelessSampleDistortedBoundingBox-এর একটি নতুন উদাহরণ
পাবলিক স্ট্যাটিক স্টেটলেস নমুনা ডিস্টর্টেডবাউন্ডিংবক্স । অপশন maxAttempts (দীর্ঘ সর্বোচ্চ চেষ্টা)
পরামিতি
সর্বোচ্চ প্রচেষ্টা | নির্দিষ্ট সীমাবদ্ধতার চিত্রের একটি ক্রপ করা অঞ্চল তৈরি করার প্রচেষ্টার সংখ্যা৷ 'সর্বোচ্চ_প্রয়াস' ব্যর্থ হওয়ার পরে, সম্পূর্ণ চিত্রটি ফিরিয়ে দিন। |
---|
সর্বজনীন আউটপুট <T> আকার ()
1-D, `[লক্ষ্য_উচ্চতা, লক্ষ্য_প্রস্থ, -1]` রয়েছে। `tf.slice`-এ ইনপুট হিসেবে প্রদান করুন।
পাবলিক স্ট্যাটিক স্টেটলেস নমুনা বিকৃত বাউন্ডিংবক্স । বিকল্পগুলি ইমেজআইফনাওবাউন্ডিংবক্স ব্যবহার করে (বুলিয়ান ইউজ ইমেজআইফনাওবাউন্ডিংবক্স)
পরামিতি
ImageIfNoBoundingBoxes ব্যবহার করুন | কোনো বাউন্ডিং বাক্স সরবরাহ না হলে আচরণ নিয়ন্ত্রণ করে। যদি সত্য হয়, অনুমান করুন একটি অন্তর্নিহিত বাউন্ডিং বক্স পুরো ইনপুটকে কভার করে। মিথ্যা হলে, একটি ত্রুটি বাড়ান। |
---|