تينسورفلو :: العمليات :: 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 )
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2020-04-20 (حسب التوقيت العالمي المتفَّق عليه)