টেনসরফ্লো :: অপস:: নমুনা বিকৃত বাউন্ডিংবক্স

#include <image_ops.h>

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

সারাংশ

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

এই অপের আউটপুট হল একটি একক বাউন্ডিং বাক্স যা মূল ছবি ক্রপ করতে ব্যবহার করা যেতে পারে। আউটপুটটি 3 টি টেনসর হিসাবে ফেরত দেওয়া হয়: begin , size এবং bboxes । প্রথম 2 টি টেনসর সরাসরি tf.slice এ ইমেজ ক্রপ করা যেতে পারে। পরেরটি tf.image.draw_bounding_boxes এ সরবরাহ করা হতে পারে বাউন্ডিং বক্সটি কেমন তা কল্পনা করতে।

বাউন্ডিং বাক্সগুলি [y_min, x_min, y_max, x_max] হিসাবে সরবরাহ করা হয় এবং ফেরত দেওয়া হয়। বাউন্ডিং বক্স স্থানাঙ্কগুলি অন্তর্নিহিত চিত্রের প্রস্থ এবং উচ্চতার সাথে তুলনা করে [0.0, 1.0] এ ভাসছে।

যেমন,

    # Generate a single distorted bounding box.
    begin, size, bbox_for_draw = tf.image.sample_distorted_bounding_box(
        tf.shape(image),
        bounding_boxes=bounding_boxes)

    # Draw the bounding box in an image summary.
    image_with_box = tf.image.draw_bounding_boxes(tf.expand_dims(image, 0),
                                                  bbox_for_draw)
    tf.summary.image('images_with_box', image_with_box)

    # Employ the bounding box to distort the image.
    distorted_image = tf.slice(image, begin, size)

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

যুক্তি:

  • স্কোপ: একটি স্কোপ অবজেক্ট
  • image_size: 1-D, [height, width, channels] ধারণকারী।
  • bounding_boxes: 3-D আকৃতি সহ [batch, N, 4] চিত্রের সাথে যুক্ত N বাউন্ডিং বক্সগুলি বর্ণনা করে।

ঐচ্ছিক বৈশিষ্ট্য (দেখুন Attrs ):

  • বীজ: যদি seed বা seed2 অ-শূন্য সেট করা হয়, তাহলে প্রদত্ত seed দ্বারা এলোমেলো সংখ্যা জেনারেটর বীজ হয়। অন্যথায়, এটি একটি এলোমেলো বীজ দ্বারা বীজ হয়।
  • বীজ 2: বীজ সংঘর্ষ এড়াতে একটি দ্বিতীয় বীজ।
  • min_object_covered: চিত্রের ক্রপ করা অংশে অবশ্যই সরবরাহ করা যেকোনো বাউন্ডিং বক্সের অন্তত এই ভগ্নাংশ থাকতে হবে। এই প্যারামিটারের মান অ-নেতিবাচক হওয়া উচিত। 0-এর ক্ষেত্রে, ক্রপ করা এলাকাকে সরবরাহ করা বাউন্ডিং বাক্সগুলির কোনোটি ওভারল্যাপ করার প্রয়োজন নেই।
  • aspect_ratio_range: চিত্রের ক্রপ করা এলাকায় অবশ্যই একটি আকৃতির অনুপাত = প্রস্থ/উচ্চতা থাকতে হবে।
  • এলাকা_পরিসীমা: চিত্রের ক্রপ করা এলাকায় অবশ্যই এই সীমার মধ্যে সরবরাহ করা চিত্রের একটি ভগ্নাংশ থাকতে হবে।
  • max_attempts: নির্দিষ্ট সীমাবদ্ধতার চিত্রের একটি ক্রপ করা অঞ্চল তৈরি করার প্রচেষ্টার সংখ্যা। max_attempts ব্যর্থ হওয়ার পরে, সম্পূর্ণ চিত্রটি ফিরিয়ে দিন।
  • use_image_if_no_bounding_boxes: কোনো বাউন্ডিং বক্স সরবরাহ না করলে আচরণ নিয়ন্ত্রণ করে। যদি সত্য হয়, অনুমান করুন একটি অন্তর্নিহিত বাউন্ডিং বক্স পুরো ইনপুটকে কভার করে। মিথ্যা হলে, একটি ত্রুটি বাড়ান।

রিটার্ন:

  • Output শুরু: 1-D, [offset_height, offset_width, 0] ধারণকারী। tf.slice এ ইনপুট হিসাবে প্রদান করুন।
  • Output আকার: 1-D, [target_height, target_width, -1] ধারণকারী। tf.slice এ ইনপুট হিসাবে প্রদান করুন।
  • Output bboxes: 3-D আকৃতি [1, 1, 4] বিকৃত বাউন্ডিং বক্স ধারণকারী। tf.image.draw_bounding_boxes এ ইনপুট হিসাবে প্রদান করুন।

কনস্ট্রাক্টর এবং ডেস্ট্রাক্টর

SampleDistortedBoundingBox (const :: tensorflow::Scope & scope, :: tensorflow::Input image_size, :: tensorflow::Input bounding_boxes)
SampleDistortedBoundingBox (const :: tensorflow::Scope & scope, :: tensorflow::Input image_size, :: tensorflow::Input bounding_boxes, const SampleDistortedBoundingBox::Attrs & attrs)

পাবলিক বৈশিষ্ট্য

bboxes
begin
operation
size

পাবলিক স্ট্যাটিক ফাংশন

AreaRange (const gtl::ArraySlice< float > & x)
AspectRatioRange (const gtl::ArraySlice< float > & x)
MaxAttempts (int64 x)
MinObjectCovered (float x)
Seed (int64 x)
Seed2 (int64 x)
UseImageIfNoBoundingBoxes (bool x)

কাঠামো

tensorflow:: ops:: SampleDistortedBoundingBox:: Attrs

SampleDistortedBoundingBox- এর জন্য ঐচ্ছিক অ্যাট্রিবিউট সেটার।

পাবলিক বৈশিষ্ট্য

bboxes

::tensorflow::Output bboxes

শুরু

::tensorflow::Output begin

অপারেশন

Operation operation

আকার

::tensorflow::Output size

পাবলিক ফাংশন

নমুনা বিকৃত বাউন্ডিংবক্স

 SampleDistortedBoundingBox(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input image_size,
  ::tensorflow::Input bounding_boxes
)

নমুনা বিকৃত বাউন্ডিংবক্স

 SampleDistortedBoundingBox(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input image_size,
  ::tensorflow::Input bounding_boxes,
  const SampleDistortedBoundingBox::Attrs & attrs
)

পাবলিক স্ট্যাটিক ফাংশন

এলাকা রেঞ্জ

Attrs AreaRange(
  const gtl::ArraySlice< float > & x
)

Aspect RatioRange

Attrs AspectRatioRange(
  const gtl::ArraySlice< float > & x
)

সর্বোচ্চ প্রচেষ্টা

Attrs MaxAttempts(
  int64 x
)

MinObject Covered

Attrs MinObjectCovered(
  float x
)

বীজ

Attrs Seed(
  int64 x
)

বীজ ২

Attrs Seed2(
  int64 x
)

ImageIfNoBoundingBoxes ব্যবহার করুন

Attrs UseImageIfNoBoundingBoxes(
  bool x
)