tensorflow::ops::SampleDistortedBoundingBox
#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 المرتبطة بالصورة.
السمات الاختيارية (انظر Attrs ):
- البذرة: إذا تم ضبط قيمة
seedأوseed2على قيمة غير صفرية، فسيتم تهيئة مولد الأرقام العشوائية باستخدامseedالمعطاة. وإلا، فسيتم تهيئته باستخدام بذرة عشوائية. - seed2: بذرة ثانية لتجنب تصادم البذور.
- min_object_covered: يجب أن تحتوي المنطقة المقتطعة من الصورة على هذا الجزء على الأقل من أي مربع محيط مُحدد. يجب أن تكون قيمة هذا المعامل غير سالبة. في حالة القيمة 0، لا يلزم أن تتداخل المنطقة المقتطعة مع أي من المربعات المحيطة المُحددة.
- نطاق نسبة العرض إلى الارتفاع: يجب أن تكون نسبة العرض إلى الارتفاع للمنطقة المقطوعة من الصورة = العرض / الارتفاع ضمن هذا النطاق.
- 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.
البناة والمدمرون | |
|---|---|
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 . |
السمات العامة
صناديق البريد
::tensorflow::Output bboxes
يبدأ
::tensorflow::Output begin
عملية
Operation operation
مقاس
::tensorflow::Output size
الوظائف العامة
نموذج مربع حدود مشوه
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 )
الدوال الثابتة العامة
نطاق المنطقة
Attrs AreaRange( const gtl::ArraySlice< float > & x )
نطاق نسبة العرض إلى الارتفاع
Attrs AspectRatioRange( const gtl::ArraySlice< float > & x )
الحد الأقصى للمحاولات
Attrs MaxAttempts( int64 x )
الحد الأدنى للكائن المغطى
Attrs MinObjectCovered( float x )
بذور
Attrs Seed( int64 x )
البذرة 2
Attrs Seed2( int64 x )
استخدم الصورة إذا لم تكن هناك مربعات محيطة
Attrs UseImageIfNoBoundingBoxes( bool x )
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2026-11-05 (حسب التوقيت العالمي المتفَّق عليه)