از اینکه با Google I/O تنظیم کردید متشکریم. مشاهده همه جلسات در صورت تقاضا تماشا کنید

tensorflow :: ops :: جعبه SampleDistortedBoundingBox

#include <image_ops.h>

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

خلاصه

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

خروجی این Op یک جعبه محدود است که ممکن است برای برش تصویر اصلی استفاده شود. خروجی به عنوان 3 bboxes begin : begin ، size و bboxes . 2 tf.slice اول را می توان مستقیماً به tf.slice برش داد تا تصویر را برش دهد. مورد دوم ممکن است به tf.image.draw_bounding_boxes ارائه شود تا جعبه محدود به نظر برسد.

جعبه های [y_min, x_min, y_max, x_max] به صورت [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 نادرست باشد و هیچ جعبه محدود کننده ای ارائه نشود ، خطایی ایجاد می شود.

استدلال ها:

  • دامنه: یک شی Sc Scope
  • اندازه_ تصویر: 1-D ، حاوی [height, width, channels] .
  • binding_boxes: 3-D با شکل [batch, N, 4] توصیف جعبه های محدود کننده N مرتبط با تصویر.

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

  • seed: اگر seed یا seed2 روی صفر تنظیم شود ، مولد اعداد تصادفی توسط seed داده شده seed . در غیر این صورت ، توسط یک بذر تصادفی بذر می شود.
  • seed2: دانه دوم برای جلوگیری از برخورد دانه ها.
  • min_object_closed: قسمت برش خورده تصویر باید حداقل شامل این کسری از جعبه محدود ارائه شده باشد. مقدار این پارامتر باید منفی نباشد. در مورد 0 ، منطقه برش خورده نیازی به همپوشانی هیچ یک از جعبه های مرزی ارائه نشده ندارد.
  • 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 : 1-D ، حاوی [target_height, target_width, -1] . به عنوان ورودی tf.slice .
  • جعبه های Output : 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 .

صفات عمومی

جعبه

::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
)

AspectRatioRange

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

حداکثر تلاش

Attrs MaxAttempts(
  int64 x
)

MinObjectClosed

Attrs MinObjectCovered(
  float x
)

بذر

Attrs Seed(
  int64 x
)

دانه 2

Attrs Seed2(
  int64 x
)

از جعبه های UseImageIfNoBoundingBox استفاده کنید

Attrs UseImageIfNoBoundingBoxes(
  bool x
)