تينسورفلو :: العمليات :: SampleDistortedBoundingBoxV2

#include <image_ops.h>

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

ملخص

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

ناتج هذا المرجع هو مربع إحاطة واحد يمكن استخدامه لاقتصاص الصورة الأصلية. يتم إرجاع الناتج عن 3 التنسورات: begin ، size و bboxes . يمكن إدخال 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 خاطئة ولم يتم توفير مربعات إحاطة ، use_image_if_no_bounding_boxes خطأ.

الحجج:

  • النطاق: كائن النطاق
  • image_size: 1-D ، تحتوي على [height, width, channels] .
  • bounding_boxes: 3-D بالشكل [batch, N, 4] يصف مربعات الإحاطة N المرتبطة بالصورة.
  • min_object_covered: يجب أن تحتوي المنطقة التي تم اقتصاصها من الصورة على هذا الجزء على الأقل من أي مربع محيط تم توفيره. يجب أن تكون قيمة هذه المعلمة غير سالبة. في حالة 0 ، لا تحتاج المنطقة التي تم اقتصاصها إلى تداخل أي من المربعات المحيطة المتوفرة.

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

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

البنائين والمدمرين

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

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

SampleDistortedBoundingBoxV2

 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
)

AspectRatioRange

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

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

Attrs MaxAttempts(
  int64 x
)

بذرة

Attrs Seed(
  int64 x
)

البذور 2

Attrs Seed2(
  int64 x
)

UseImageIfNoBoundingBoxes

Attrs UseImageIfNoBoundingBoxes(
  bool x
)