تدفق التوتر:: العمليات:: SampleDistortedBoundingBox
#include <image_ops.h>
قم بإنشاء مربع محيط واحد مشوه بشكل عشوائي للصورة.
ملخص
غالبًا ما يتم توفير التعليقات التوضيحية للمربع المحيط بالإضافة إلى تسميات الحقيقة الأرضية في مهام التعرف على الصور أو تعريب الكائنات. أحد الأساليب الشائعة لتدريب مثل هذا النظام هو تشويه الصورة بشكل عشوائي مع الحفاظ على محتواها، أي زيادة البيانات . تُخرج هذه العملية توطينًا مشوهًا عشوائيًا لكائن ما، أي المربع المحيط، مع إعطاء image_size
و bounding_boxes
وسلسلة من القيود.
إخراج هذا Op هو مربع محيط واحد يمكن استخدامه لاقتصاص الصورة الأصلية. يتم إرجاع الإخراج على هيئة 3 موترات: 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
خاطئة ولم يتم توفير أي مربعات محيطة، فسيظهر خطأ.
الحجج:
- النطاق: كائن النطاق
- image_size: 1-D، تحتوي على
[height, width, channels]
. - bounding_boxes: ثلاثي الأبعاد بالشكل
[batch, N, 4]
يصف المربعات المحيطة N المرتبطة بالصورة.
السمات الاختيارية (انظر Attrs
):
- البذرة: إذا تم ضبط
seed
أوseed2
على قيمة غير صفرية، فسيتم تصنيف مولد الأرقام العشوائية بواسطةseed
المعطاة. خلاف ذلك، يتم زرعها بواسطة بذرة عشوائية. - بذرة 2: بذرة ثانية لتجنب اصطدام البذور.
- min_object_covered: يجب أن تحتوي المساحة المقصوصة من الصورة على هذا الجزء على الأقل من أي مربع محيط متوفر. يجب أن تكون قيمة هذه المعلمة غير سلبية. في حالة 0، لا تحتاج المنطقة المقصوصة إلى تداخل أي من المربعات المحيطة المتوفرة.
- نسبة العرض إلى الارتفاع: يجب أن تحتوي المساحة المقصوصة من الصورة على نسبة عرض إلى ارتفاع = العرض / الارتفاع ضمن هذا النطاق.
- 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
: ثلاثية الأبعاد بالشكل[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 . |
الصفات العامة
bboxes
::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 )
MinObjectCovered
Attrs MinObjectCovered( float x )
بذرة
Attrs Seed( int64 x )
البذور2
Attrs Seed2( int64 x )
استخدمImageIfNoBoundingBoxes
Attrs UseImageIfNoBoundingBoxes( bool x )
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2024-11-21 (حسب التوقيت العالمي المتفَّق عليه)