StatelessSampleDistortedBoundingBox

الفئة النهائية العامة StatelessSampleDistortedBoundingBox

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

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

إخراج هذا Op هو مربع محيط واحد يمكن استخدامه لاقتصاص الصورة الأصلية. يتم إرجاع الإخراج على هيئة 3 موترات: `begin` و`size` و`bboxes`. يمكن تغذية الموترين الأولين مباشرةً في tf.slice لاقتصاص الصورة. قد يتم توفير الأخير إلى tf.image.draw_bounding_boxes لتصور شكل المربع المحيط.

يتم توفير المربعات المحيطة وإرجاعها بالشكل `[y_min, x_min, y_max, x_max]`. إحداثيات المربع المحيط هي عوامات في `[0.0, 1.0]` بالنسبة لعرض الصورة الأساسية وارتفاعها.

يتم ضمان أن يكون مخرجات هذه العملية هو نفسه بالنظر إلى نفس "البذرة" ومستقلة عن عدد مرات استدعاء الوظيفة، ومستقلة عن إعدادات البذور العامة (على سبيل المثال tf.random.set_seed ).

مثال على الاستخدام:

>>> الصورة = np.array([[[1], [2], [3]], [[4], [5], [6]], [[7], [8], [9] ]]) >>> bbox = tf.constant( ... [0.0, 0.0, 1.0, 1.0], dtype=tf.float32, Shape=[1, 1, 4]) >>> البذور = (1, 2) ) >>> # قم بإنشاء مربع محيط واحد مشوه. >>> bbox_begin, bbox_size, bbox_draw = ( ... tf.image.stateless_sample_distorted_bounding_box( ... tf.shape(image),bounding_boxes=bbox,seed=seed)) >>> # استخدم المربع المحيط لتشويه الصورة . >>> tf.slice(image, bbox_begin, bbox_size) >>> # ارسم المربع المحيط في ملخص الصورة. >>> الألوان = np.array([[1.0, 0.0, 0.0], [0.0, 0.0, 1.0]]) >>> tf.image.draw_bounding_boxes( ... tf.expand_dims(tf.cast(image, tf .float32)،0)، bbox_draw، الألوان)

لاحظ أنه في حالة عدم توفر معلومات حول المربع المحيط، فإن الإعداد `use_image_if_no_bounding_boxes = true` سيفترض وجود مربع محيط ضمني واحد يغطي الصورة بأكملها. إذا كانت قيمة `use_image_if_no_bounding_boxes` خاطئة ولم يتم توفير أي مربعات محيطة، فسيظهر خطأ.

فئات متداخلة

فصل StatelessSampleDistortedBoundingBox.Options السمات الاختيارية لـ StatelessSampleDistortedBoundingBox

الأساليب العامة

static StatelessSampleDistortedBoundingBox.Options
نطاق المنطقة (قائمة<تعويم> نطاق المنطقة)
static StatelessSampleDistortedBoundingBox.Options
نسبة العرض إلى الارتفاع (قائمة<تعويم> نسبة العرض إلى الارتفاع)
الإخراج <تعويم>
صناديق بي بوكس ​​()
ثلاثي الأبعاد بالشكل `[1، 1، 4]` يحتوي على المربع المحيط المشوه.
الإخراج <T>
يبدأ ()
1-D، يحتوي على `[ارتفاع_الإزاحة، عرض_الإزاحة، 0]`.
ثابت <T يمتد الرقم، U يمتد الرقم> StatelessSampleDistortedBoundingBox <T>
إنشاء (نطاق النطاق ، المعامل <T> imageSize، المعامل <Float> borderBoxes، المعامل <Float> minObjectCovered، المعامل <U> الأساسي، خيارات... خيارات)
طريقة المصنع لإنشاء فئة تغلف عملية StatelessSampleDistortedBoundingBox جديدة.
static StatelessSampleDistortedBoundingBox.Options
المحاولات القصوى (المحاولات القصوى الطويلة)
الإخراج <T>
مقاس ()
1-D، يحتوي على `[target_height, target_width, -1]`.
static StatelessSampleDistortedBoundingBox.Options
useImageIfNoBoundingBoxes (useImageIfNoBoundingBoxes المنطقية)

الطرق الموروثة

الأساليب العامة

ثابت عام StatelessSampleDistortedBoundingBox.Options منطقة النطاق (قائمة<Float> منطقة النطاق)

حدود
منطقةنطاق يجب أن تحتوي المنطقة التي تم اقتصاصها من الصورة على جزء من الصورة المتوفرة ضمن هذا النطاق.

ثابت عام StatelessSampleDistortedBoundingBox.Options facesRatioRange (قائمة<Float> AspectRatioRange)

حدود
AspectRatioRange يجب أن يكون للمساحة التي تم اقتصاصها من الصورة نسبة عرض إلى ارتفاع = العرض / الارتفاع ضمن هذا النطاق.

صناديق الإخراج العامة <Float> ()

ثلاثي الأبعاد بالشكل `[1، 1، 4]` يحتوي على المربع المحيط المشوه. قم بتوفيره كمدخل إلى tf.image.draw_bounding_boxes .

يبدأ الإخراج العام <T> ()

1-D، يحتوي على `[ارتفاع_الإزاحة، عرض_الإزاحة، 0]`. توفير كمدخل ل tf.slice .

إنشاء StatelessSampleDistortedBoundingBox الثابت العام <T> ( نطاق النطاق ، المعامل <T> imageSize، المعامل <Float> borderBoxes، المعامل <Float> minObjectCovered، المعامل <U> الأساسي، الخيارات... خيارات)

طريقة المصنع لإنشاء فئة تغلف عملية StatelessSampleDistortedBoundingBox جديدة.

حدود
نِطَاق النطاق الحالي
حجم الصورة 1-د، يحتوي على `[الارتفاع، العرض، القنوات]`.
boundingBoxes ثلاثي الأبعاد بالشكل `[batch, N, 4]` الذي يصف المربعات المحيطة N المرتبطة بالصورة.
minObjectCovered يجب أن تحتوي المساحة المقصوصة من الصورة على هذا الجزء على الأقل من أي مربع محيط متوفر. يجب أن تكون قيمة هذه المعلمة غير سلبية. في حالة 0، لا تحتاج المنطقة المقصوصة إلى تداخل أي من المربعات المحيطة المتوفرة.
بذرة 1-D بالشكل `[2]`. البذرة إلى مولد الأرقام العشوائية. يجب أن يحتوي على dtype `int32` أو `int64`. (عند استخدام XLA، يُسمح فقط بـ `int32`.)
خيارات يحمل قيم السمات الاختيارية
عائدات
  • مثيل جديد لـ StatelessSampleDistortedBoundingBox

ثابت عام StatelessSampleDistortedBoundingBox.Options maxAttempts (طويل maxAttempts)

حدود
maxAttempts عدد المحاولات لإنشاء منطقة مقصوصة من صورة القيود المحددة. بعد فشل `max_attempts`، قم بإرجاع الصورة بأكملها.

حجم الإخراج العام <T> ()

1-D، يحتوي على `[target_height, target_width, -1]`. توفير كمدخل ل tf.slice .

ثابت عام StatelessSampleDistortedBoundingBox.Options useImageIfNoBoundingBoxes (useImageIfNoBoundingBoxes منطقي)

حدود
useImageIfNoBoundingBoxes يتحكم في السلوك في حالة عدم توفير مربعات محيطة. إذا كان هذا صحيحًا، فافترض وجود مربع محيط ضمني يغطي الإدخال بالكامل. إذا كاذبة، رفع خطأ.