tensorflow:: ops:: SampleDistortedBoundingBoxV2

#include <image_ops.h>

قم بإنشاء مربع إحاطة واحد مشوه عشوائياً لصورة ما.

ملخص

غالبًا ما تُضاف بيانات المربعات المحيطة إلى بيانات التصنيف الأساسية في مهام التعرف على الصور أو تحديد مواقع الكائنات. ومن التقنيات الشائعة لتدريب مثل هذا النظام تشويه الصورة عشوائيًا مع الحفاظ على محتواها، أي زيادة البيانات . تُخرج هذه العملية تحديدًا عشوائيًا لموقع الكائن، أي المربع المحيط، بناءً على image_size bounding_boxes وسلسلة من القيود.

تُنتج هذه العملية مربعًا محيطًا واحدًا يُمكن استخدامه لاقتصاص الصورة الأصلية. تُعاد المخرجات على شكل ثلاثة موترات: 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: 3-D مع شكل [batch, N, 4] يصف مربعات الإحاطة N المرتبطة بالصورة.
  • min_object_covered: يجب أن تحتوي المنطقة المقتطعة من الصورة على هذا الجزء على الأقل من أي مربع محيط مُحدد. يجب أن تكون قيمة هذا المعامل غير سالبة. في حالة القيمة 0، لا يلزم أن تتداخل المنطقة المقتطعة مع أي من المربعات المحيطة المُحددة.

السمات الاختيارية (انظر Attrs ):

  • البذرة: إذا تم ضبط قيمة seed أو seed2 على قيمة غير صفرية، فسيتم تهيئة مولد الأرقام العشوائية باستخدام seed المعطاة. وإلا، فسيتم تهيئته باستخدام بذرة عشوائية.
  • seed2: بذرة ثانية لتجنب تصادم البذور.
  • نطاق نسبة العرض إلى الارتفاع: يجب أن تكون نسبة العرض إلى الارتفاع للمنطقة المقطوعة من الصورة = العرض / الارتفاع ضمن هذا النطاق.
  • area_range: يجب أن تحتوي المنطقة المقتطعة من الصورة على جزء من الصورة المقدمة ضمن هذا النطاق.
  • max_attempts: عدد المحاولات لإنشاء منطقة مُقتطعة من الصورة وفقًا للقيود المُحددة. بعد max_attempts من حالات الفشل، يتم إرجاع الصورة كاملةً.
  • استخدام الصورة في حال عدم وجود مربعات إحاطة: يتحكم هذا الخيار في السلوك في حال عدم توفير مربعات إحاطة. إذا كانت القيمة صحيحة، فسيتم افتراض وجود مربع إحاطة ضمني يغطي كامل المدخلات. أما إذا كانت القيمة خاطئة، فسيتم إظهار خطأ.

المرتجعات:

  • بداية Output : أحادي البعد، يحتوي على [offset_height, offset_width, 0] . يتم توفيره كمدخل لـ tf.slice .
  • حجم Output : أحادي البعد، يحتوي على [target_height, target_width, -1] . يتم توفيره كمدخل لـ tf.slice .
  • Output مربعات الإحاطة: ثلاثية الأبعاد ذات شكل [1, 1, 4] تحتوي على مربع الإحاطة المشوه. يتم توفيرها كمدخل لـ tf.image.draw_bounding_boxes .

البناة والمدمرون

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

السمات العامة

bboxes
begin
operation
size

الدوال الثابتة العامة

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

الهياكل

tensorflow:: ops:: SampleDistortedBoundingBoxV2:: Attrs

أدوات تعيين السمات الاختيارية لـ SampleDistortedBoundingBoxV2 .

السمات العامة

صناديق البريد

::tensorflow::Output bboxes

يبدأ

::tensorflow::Output begin

عملية

Operation operation

مقاس

::tensorflow::Output size

الوظائف العامة

نموذج مربع محيط مشوه الإصدار الثاني

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

نموذج مربع محيط مشوه الإصدار الثاني

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

الدوال الثابتة العامة

نطاق المنطقة

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

نطاق نسبة العرض إلى الارتفاع

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

الحد الأقصى للمحاولات

Attrs MaxAttempts(
  int64 x
)

بذرة

Attrs Seed(
  int64 x
)

البذرة 2

Attrs Seed2(
  int64 x
)

استخدم الصورة إذا لم تكن هناك مربعات محيطة

Attrs UseImageIfNoBoundingBoxes(
  bool x
)