tensorflow:: عملیات:: SampleDistortedBoundingBox
#include <image_ops.h>یک کادر محصورکنندهی تصادفی و تحریفشده برای یک تصویر ایجاد کنید.
خلاصه
حاشیهنویسیهای کادر محصورکننده اغلب علاوه بر برچسبهای حقیقت پایه در تشخیص تصویر یا وظایف محلیسازی شیء ارائه میشوند. یک تکنیک رایج برای آموزش چنین سیستمی، تحریف تصادفی یک تصویر در عین حفظ محتوای آن است، یعنی تقویت داده . این عملیات، محلیسازی تصادفی تحریفشدهای از یک شیء، یعنی کادر محصورکننده، را با توجه به image_size ، bounding_boxes و مجموعهای از محدودیتها، خروجی میدهد.
خروجی این Op یک کادر محصورکننده است که میتوان از آن برای برش تصویر اصلی استفاده کرد. خروجی به صورت ۳ تانسور برگردانده میشود: 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: سهبعدی با شکل
[batch, N, 4]که N کادر محصورکننده مرتبط با تصویر را توصیف میکند.
ویژگیهای اختیاری (به Attrs مراجعه کنید):
- دانه: اگر هر یک از
seedیاseed2روی غیر صفر تنظیم شوند، مولد اعداد تصادفی توسطseedداده شده دانهگذاری میشود. در غیر این صورت، توسط یک دانه تصادفی دانهگذاری میشود. - seed2: یک دانه دوم برای جلوگیری از برخورد دانهها.
- min_object_covered: ناحیه برش خورده تصویر باید حداقل این بخش از هر کادر محصورکننده ارائه شده را داشته باشد. مقدار این پارامتر باید غیرمنفی باشد. در صورت ۰، ناحیه برش خورده نیازی به همپوشانی با هیچ یک از کادرهای محصورکننده ارائه شده ندارد.
- aspect_ratio_range: ناحیه برش خورده تصویر باید نسبت ابعاد = عرض / ارتفاع را در این محدوده داشته باشد.
- area_range: ناحیه برش خورده تصویر باید شامل کسری از تصویر ارائه شده در این محدوده باشد.
- max_attempts: تعداد تلاشها برای ایجاد یک ناحیه برش داده شده از تصویر با محدودیتهای مشخص شده. پس از شکست
max_attempts، کل تصویر را برمیگرداند. - use_image_if_no_bounding_boxes: در صورت عدم ارائه کادرهای احاطهکننده، رفتار را کنترل میکند. اگر درست باشد، یک کادر احاطهکننده ضمنی را در نظر بگیرید که کل ورودی را پوشش میدهد. اگر نادرست باشد، یک خطا ایجاد میکند.
بازده:
-
Output: 1-D شروع میشود، شامل[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:: عملیات:: SampleDistortedBoundingBox:: جذابیتها | تنظیمکنندههای ویژگی اختیاری برای SampleDistortedBoundingBox . |
ویژگیهای عمومی
ب باکس ها
::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 )
محدوده نسبت ابعاد
Attrs AspectRatioRange( const gtl::ArraySlice< float > & x )
حداکثر تلاشها
Attrs MaxAttempts( int64 x )
پوشش حداقل شیء
Attrs MinObjectCovered( float x )
بذر
Attrs Seed( int64 x )
سید۲
Attrs Seed2( int64 x )
استفاده از تصویراگر هیچ جعبهی محصورکنندهای وجود ندارد
Attrs UseImageIfNoBoundingBoxes( bool x )
جز در مواردی که غیر از این ذکر شده باشد،محتوای این صفحه تحت مجوز Creative Commons Attribution 4.0 License است. نمونه کدها نیز دارای مجوز Apache 2.0 License است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است.
تاریخ آخرین بهروزرسانی 2026-11-05 بهوقت ساعت هماهنگ جهانی.