Google I/O-তে টিউন করার জন্য ধন্যবাদ। চাহিদা অনুযায়ী সব সেশন দেখুন চাহিদা অনুযায়ী দেখুন

StatelessSampleDistortedBoundingBox

পাবলিক চূড়ান্ত বর্গ StatelessSampleDistortedBoundingBox

নির্ধারকভাবে একটি চিত্রের জন্য এলোমেলোভাবে বিকৃত বাউন্ডিং বাক্স তৈরি করুন।

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

এই অপের আউটপুট হল একটি একক বাউন্ডিং বাক্স যা মূল ছবি ক্রপ করতে ব্যবহার করা যেতে পারে। আউটপুটটি 3টি টেনসর হিসাবে ফেরত দেওয়া হয়: `শুরু`, `আকার` এবং `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) >>> # একটি চিত্র সারাংশে বাউন্ডিং বক্সটি আঁকুন। >>> রং = np.array([[1.0, 0.0, 0.0], [0.0, 0.0, 1.0]]) >>> tf.image.draw_bounding_boxes( ... tf.expand_dims(tf.cast(image, tf) .float32),0), bbox_draw, রঙ)

মনে রাখবেন যদি কোনো বাউন্ডিং বক্সের তথ্য উপলভ্য না থাকে, তাহলে `use_image_if_no_bounding_boxes = true` সেট করলে অনুমান করা হবে যে পুরো ছবিটিকে কভার করে একটি একক অন্তর্নিহিত বাউন্ডিং বক্স আছে। যদি `ব্যবহার_ছবি_ইফ_নো_বাউন্ডিং_বক্স' মিথ্যা হয় এবং কোনো বাউন্ডিং বাক্স সরবরাহ করা না হয়, তাহলে একটি ত্রুটি উত্থাপিত হয়।

নেস্টেড ক্লাস

ক্লাস StatelessSampleDistortedBoundingBox.Options জন্য ঐচ্ছিক বৈশিষ্ট্য StatelessSampleDistortedBoundingBox

পাবলিক পদ্ধতি

স্ট্যাটিক StatelessSampleDistortedBoundingBox.Options
areaRange (তালিকা <ফ্লোট> areaRange)
স্ট্যাটিক StatelessSampleDistortedBoundingBox.Options
aspectRatioRange (তালিকা <ফ্লোট> aspectRatioRange)
আউটপুট <ফ্লোট>
bboxes ()
3-D আকৃতির সাথে `[1, 1, 4]` বিকৃত বাউন্ডিং বক্স রয়েছে।
আউটপুট <টি>
শুরু ()
1-D, `[offset_height, offset_width, 0]` ধারণ করে।
স্ট্যাটিক <টি প্রসারিত নম্বর, ইউ প্রসারিত number> StatelessSampleDistortedBoundingBox <টি>
তৈরি ( ব্যাপ্তি সুযোগ প্রতীক <টি> imageSize, প্রতীক <ফ্লোট> boundingBoxes, প্রতীক <ফ্লোট> minObjectCovered, প্রতীক <u> বীজ, বিকল্পসমূহ ... অপশন)
একটি নতুন StatelessSampleDistortedBoundingBox অপারেশন মোড়ানো একটি ক্লাস তৈরি করার কারখানা পদ্ধতি।
স্ট্যাটিক StatelessSampleDistortedBoundingBox.Options
maxAttempts (দীর্ঘ maxAttempts)
আউটপুট <টি>
আকার ()
1-D, `[লক্ষ্য_উচ্চতা, লক্ষ্য_প্রস্থ, -1]` রয়েছে।
স্ট্যাটিক StatelessSampleDistortedBoundingBox.Options
useImageIfNoBoundingBoxes (বুলিয়ান useImageIfNoBoundingBoxes)

উত্তরাধিকারসূত্রে প্রাপ্ত পদ্ধতি

পাবলিক পদ্ধতি

পাবলিক স্ট্যাটিক StatelessSampleDistortedBoundingBox.Options areaRange (তালিকা <ফ্লোট> areaRange)

পরামিতি
এলাকা পরিসীমা ছবির ক্রপ করা এলাকায় অবশ্যই এই সীমার মধ্যে সরবরাহ করা ছবির একটি ভগ্নাংশ থাকতে হবে।

পাবলিক স্ট্যাটিক StatelessSampleDistortedBoundingBox.Options aspectRatioRange (তালিকা <ফ্লোট> aspectRatioRange)

পরামিতি
aspectRatioRange চিত্রের ক্রপ করা এলাকায় অবশ্যই একটি আকৃতির অনুপাত = প্রস্থ/উচ্চতা থাকতে হবে।

পাবলিক আউটপুট <ফ্লোট> bboxes ()

3-D আকৃতির সাথে `[1, 1, 4]` বিকৃত বাউন্ডিং বক্স রয়েছে। `tf.image.draw_bounding_boxes`-এ ইনপুট হিসেবে প্রদান করুন।

পাবলিক আউটপুট <টি> শুরু ()

1-D, `[offset_height, offset_width, 0]` ধারণ করে। `tf.slice`-এ ইনপুট হিসেবে প্রদান করুন।

পাবলিক স্ট্যাটিক StatelessSampleDistortedBoundingBox <টি> তৈরি করুন ( ব্যাপ্তি সুযোগ প্রতীক <টি> imageSize, প্রতীক <ফ্লোট> boundingBoxes, প্রতীক <ফ্লোট> minObjectCovered, প্রতীক <u> বীজ, বিকল্পসমূহ ... অপশন)

একটি নতুন StatelessSampleDistortedBoundingBox অপারেশন মোড়ানো একটি ক্লাস তৈরি করার কারখানা পদ্ধতি।

পরামিতি
সুযোগ বর্তমান সুযোগ
ছবির আকার 1-D, `[উচ্চতা, প্রস্থ, চ্যানেল]` সমন্বিত।
বাউন্ডিং বক্স 3-D আকৃতির সাথে `[batch, N, 4]` চিত্রের সাথে যুক্ত N বাউন্ডিং বাক্সের বর্ণনা।
minObject covered ইমেজের ক্রপ করা এলাকায় অবশ্যই সরবরাহ করা যেকোনো বাউন্ডিং বাক্সের অন্তত এই ভগ্নাংশ থাকতে হবে। এই প্যারামিটারের মান অ-নেতিবাচক হওয়া উচিত। 0-এর ক্ষেত্রে, ক্রপ করা এলাকাকে সরবরাহ করা বাউন্ডিং বাক্সগুলির কোনোটি ওভারল্যাপ করার প্রয়োজন নেই।
বীজ 1-D আকৃতির সাথে `[2]`। র্যান্ডম নম্বর জেনারেটর থেকে বীজ. dtype `int32` বা `int64` থাকতে হবে। (XLA ব্যবহার করার সময়, শুধুমাত্র `int32` অনুমোদিত।)
বিকল্প ঐচ্ছিক বৈশিষ্ট্য মান বহন করে
রিটার্নস
  • StatelessSampleDistortedBoundingBox-এর একটি নতুন উদাহরণ

পাবলিক স্ট্যাটিক StatelessSampleDistortedBoundingBox.Options maxAttempts (দীর্ঘ maxAttempts)

পরামিতি
সর্বোচ্চ প্রচেষ্টা নির্দিষ্ট সীমাবদ্ধতার চিত্রের একটি ক্রপ করা অঞ্চল তৈরি করার প্রচেষ্টার সংখ্যা৷ 'সর্বোচ্চ_প্রয়াস' ব্যর্থ হওয়ার পরে, সম্পূর্ণ চিত্রটি ফিরিয়ে দিন।

পাবলিক আউটপুট <টি> আকার ()

1-D, `[লক্ষ্য_উচ্চতা, লক্ষ্য_প্রস্থ, -1]` রয়েছে। `tf.slice`-এ ইনপুট হিসেবে প্রদান করুন।

পাবলিক স্ট্যাটিক StatelessSampleDistortedBoundingBox.Options useImageIfNoBoundingBoxes (বুলিয়ান useImageIfNoBoundingBoxes)

পরামিতি
ImageIfNoBoundingBoxes ব্যবহার করুন কোনো আবদ্ধ বাক্স সরবরাহ না হলে আচরণ নিয়ন্ত্রণ করে। সত্য হলে, পুরো ইনপুটকে কভার করে একটি অন্তর্নিহিত বাউন্ডিং বাক্স অনুমান করুন। মিথ্যা হলে, একটি ত্রুটি বাড়ান।