tensorflow:: عملیات:: SampleDistortedBoundingBox

#include <image_ops.h>

یک کادر محصورکننده‌ی تصادفی و تحریف‌شده برای یک تصویر ایجاد کنید.

خلاصه

حاشیه‌نویسی‌های کادر محصورکننده اغلب علاوه بر برچسب‌های حقیقت پایه در تشخیص تصویر یا وظایف محلی‌سازی شیء ارائه می‌شوند. یک تکنیک رایج برای آموزش چنین سیستمی، تحریف تصادفی یک تصویر در عین حفظ محتوای آن است، یعنی تقویت داده . این عملیات، محلی‌سازی تصادفی تحریف‌شده‌ای از یک شیء، یعنی کادر محصورکننده، را با توجه به image_size ، bounding_boxes و مجموعه‌ای از محدودیت‌ها، خروجی می‌دهد.

خروجی این Op یک کادر محصورکننده است که می‌توان از آن برای برش تصویر اصلی استفاده کرد. خروجی به صورت ۳ تانسور برگردانده می‌شود: begin ، size و bboxes . دو تانسور اول را می‌توان مستقیماً به 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 با false باشد و هیچ کادر محصورکننده‌ای ارائه نشود، خطایی رخ می‌دهد.

استدلال‌ها:

  • دامنه: یک شیء دامنه
  • اندازه تصویر: یک بعدی، شامل [height, width, channels] .
  • bounding_boxes: سه‌بعدی با شکل [batch, N, 4] که N کادر محصورکننده مرتبط با تصویر را توصیف می‌کند.

ویژگی‌های اختیاری (به Attrs مراجعه کنید):

  • دانه: اگر هر یک از seed یا seed2 روی غیر صفر تنظیم شوند، مولد اعداد تصادفی توسط seed داده شده دانه‌گذاری می‌شود. در غیر این صورت، توسط یک دانه تصادفی دانه‌گذاری می‌شود.
  • seed2: یک دانه دوم برای جلوگیری از برخورد دانه‌ها.
  • min_object_covered: ناحیه برش خورده تصویر باید حداقل این بخش از هر کادر محصورکننده ارائه شده را داشته باشد. مقدار این پارامتر باید غیرمنفی باشد. در صورت ۰، ناحیه برش خورده نیازی به همپوشانی با هیچ یک از کادرهای محصورکننده ارائه شده ندارد.
  • aspect_ratio_range: ناحیه برش خورده تصویر باید نسبت ابعاد = عرض / ارتفاع را در این محدوده داشته باشد.
  • area_range: ناحیه برش خورده تصویر باید شامل کسری از تصویر ارائه شده در این محدوده باشد.
  • max_attempts: تعداد تلاش‌ها برای ایجاد یک ناحیه برش داده شده از تصویر با محدودیت‌های مشخص شده. پس از شکست max_attempts ، کل تصویر را برمی‌گرداند.
  • use_image_if_no_bounding_boxes: در صورت عدم ارائه کادرهای احاطه‌کننده، رفتار را کنترل می‌کند. اگر درست باشد، یک کادر احاطه‌کننده ضمنی را در نظر بگیرید که کل ورودی را پوشش می‌دهد. اگر نادرست باشد، یک خطا ایجاد می‌کند.

بازده:

  • Output : 1-D شروع می‌شود، شامل [offset_height, offset_width, 0] . به عنوان ورودی به tf.slice ارائه می‌شود.
  • اندازه Output : ۱-بعدی، شامل [target_height, target_width, -1] . به عنوان ورودی به tf.slice ارائه می‌شود.
  • جعبه‌های Output : سه‌بعدی با شکل [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:: عملیات:: SampleDistortedBoundingBox:: جذابیت‌ها

تنظیم‌کننده‌های ویژگی اختیاری برای SampleDistortedBoundingBox .

ویژگی‌های عمومی

ب باکس ها

::tensorflow::Output bboxes

شروع

::tensorflow::Output begin

عملیات

Operation operation

اندازه

::tensorflow::Output size

کارکردهای عمومی

SampleDistortedBoundingBox

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

SampleDistortedBoundingBox

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

توابع استاتیک عمومی

محدوده مساحت

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

محدوده نسبت ابعاد

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

حداکثر تلاش‌ها

Attrs MaxAttempts(
  int64 x
)

پوشش حداقل شیء

Attrs MinObjectCovered(
  float x
)

بذر

Attrs Seed(
  int64 x
)

سید۲

Attrs Seed2(
  int64 x
)

استفاده از تصویراگر هیچ جعبه‌ی محصورکننده‌ای وجود ندارد

Attrs UseImageIfNoBoundingBoxes(
  bool x
)