StatelessSampleDistortedBoundingBox

کلاس نهایی عمومی StatelessSampleDistortedBoundingBox

یک جعبه مرزی با تحریف تصادفی برای یک تصویر به طور قطعی ایجاد کنید.

حاشیه‌نویسی‌های جعبه مرزی اغلب علاوه بر برچسب‌های حقیقت پایه در وظایف تشخیص تصویر یا محلی‌سازی شی ارائه می‌شوند. یک تکنیک رایج برای آموزش چنین سیستمی تحریف تصادفی یک تصویر در حالی که محتوای آن حفظ می شود، یعنی افزایش داده ها است. این عملیات، با توجه به همان "seed"، به طور قطعی محلی سازی تصادفی تحریف شده از یک شی را خروجی می دهد.

خروجی این Op یک جعبه محدود است که ممکن است برای برش تصویر اصلی استفاده شود. خروجی به صورت 3 تانسور برگردانده می شود: «begin»، «size» و «bboxes». 2 تانسور اول را می توان مستقیماً به tf.slice وارد کرد تا تصویر را برش دهد. دومی ممکن است به tf.image.draw_bounding_boxes ارائه شود تا بتوانید شکل جعبه مرزی را تجسم کنید.

جعبه‌های مرزبندی به‌عنوان «[y_min، x_min، y_max، x_max]» ارائه و برگردانده می‌شوند. مختصات جعبه مرزی نسبت به عرض و ارتفاع تصویر زیرین در «[0.0، 1.0]» شناور هستند.

خروجی این عملیات با توجه به همان "seed" یکسان است و مستقل از چند بار فراخوانی تابع و مستقل از تنظیمات جهانی seed است (به عنوان مثال 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]) >>> seed = (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 (تصویر، bbox_begin، bbox_size) >>> # کادر محدود را در خلاصه تصویر رسم کنید. >>> color = 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، color)

توجه داشته باشید که اگر هیچ اطلاعات جعبه مرزی در دسترس نباشد، تنظیم «use_image_if_no_bounding_boxes = true» فرض را بر این می‌گذارد که یک کادر محدود ضمنی وجود دارد که کل تصویر را پوشش می‌دهد. اگر «use_image_if_no_bounding_boxes» نادرست باشد و هیچ کادر محدودکننده‌ای ارائه نشده باشد، خطایی ایجاد می‌شود.

کلاس های تو در تو

کلاس StatelessSampleDistortedBoundingBox.Options ویژگی های اختیاری برای StatelessSampleDistortedBoundingBox

ثابت ها

رشته OP_NAME نام این عملیات، همانطور که توسط موتور هسته TensorFlow شناخته می شود

روش های عمومی

Static StatelessSampleDistortedBoundingBox.Options
areaRange (List<Float> areaRange)
Static StatelessSampleDistortedBoundingBox.Options
AspectRatioRange (List<Float> AspectRatioRange)
خروجی < TFloat32 >
bboxes ()
3-بعدی با شکل «[1، 1، 4]» که حاوی جعبه مرزی تحریف شده است.
خروجی <T>
شروع ()
1-D، حاوی «[offset_height, offset_width, 0]».
استاتیک <T TNumber > StatelessSampleDistortedBoundingBox <T> را گسترش می دهد
ایجاد ( دامنه ، عملوند <T> imageSize، عملوند < TFloat32 > boundingBoxes، عملوند < TFloat32 > minObjectCovered، Operand <? گسترش TNumber > seed، گزینه‌ها... گزینه‌ها)
روش Factory برای ایجاد کلاسی که یک عملیات StatelessSampleDistortedBoundingBox جدید را بسته بندی می کند.
Static StatelessSampleDistortedBoundingBox.Options
maxAttempts (Long maxAttempts)
خروجی <T>
اندازه ()
1-D، حاوی «[ارتفاع_هدف، پهنای_هدف، -1]».
Static StatelessSampleDistortedBoundingBox.Options
useIfNoBoundingBoxes ImageIfNoBoundingBox (استفاده بولی ImageIfNoBoundingBoxes)

روش های ارثی

ثابت ها

رشته نهایی ثابت عمومی OP_NAME

نام این عملیات، همانطور که توسط موتور هسته TensorFlow شناخته می شود

مقدار ثابت: "StatelessSampleDistortedBoundingBox"

روش های عمومی

استاتیک عمومی StatelessSampleDistortedBoundingBox.Options areaRange (List<Float> areaRange)

مولفه های
محدوده محدوده ناحیه برش خورده تصویر باید دارای کسری از تصویر ارائه شده در این محدوده باشد.

استاتیک عمومی StatelessSampleDistortedBoundingBox.Options aspectRatioRange (List<Float> aspectRatioRange)

مولفه های
Aspect Ratio Range ناحیه برش خورده تصویر باید دارای نسبت تصویر = عرض / ارتفاع در این محدوده باشد.

خروجی عمومی < TFloat32 > bboxes ()

3-بعدی با شکل «[1، 1، 4]» که حاوی جعبه مرزی تحریف شده است. به عنوان ورودی tf.image.draw_bounding_boxes ارائه دهید.

خروجی عمومی <T> شروع ()

1-D، حاوی «[offset_height, offset_width, 0]». به عنوان ورودی به tf.slice ارائه دهید.

استاتیک عمومی StatelessSampleDistortedBoundingBox <T> ایجاد ( scope scope، Operand <T> imageSize، Operand < TFloat32 > boundingBoxes، Operand < TFloat32 > minObjectCovered، Operand <? گسترش TNumber > seed، Options... گزینه ها)

روش Factory برای ایجاد کلاسی که یک عملیات StatelessSampleDistortedBoundingBox جدید را بسته بندی می کند.

مولفه های
محدوده محدوده فعلی
اندازه تصویر 1-D، حاوی «[ارتفاع، عرض، کانال‌ها]».
جعبه های مرزی 3-بعدی با شکل «[دسته، N، 4]» که N کادر محدود مرتبط با تصویر را توصیف می‌کند.
minObject Covered ناحیه برش خورده تصویر باید حداقل شامل این کسری از هر جعبه محدود ارائه شده باشد. مقدار این پارامتر باید غیر منفی باشد. در مورد 0، ناحیه برش داده شده نیازی به همپوشانی با هیچ یک از جعبه های محدود کننده ارائه شده ندارد.
دانه 1-D با شکل «[2]». دانه به مولد اعداد تصادفی. باید دارای dtype «int32» یا «int64» باشد. (هنگام استفاده از XLA، فقط «int32» مجاز است.)
گزینه ها مقادیر ویژگی های اختیاری را حمل می کند
برمی گرداند
  • یک نمونه جدید از StatelessSampleDistortedBoundingBox

استاتیک عمومی StatelessSampleDistortedBoundingBox.Options maxAttempts (Long maxAttempts)

مولفه های
حداکثر تلاش تعداد تلاش برای ایجاد یک ناحیه برش خورده از تصویر محدودیت های مشخص شده. پس از شکست «max_ttempts»، کل تصویر را برگردانید.

اندازه خروجی عمومی <T> ()

1-D، حاوی «[ارتفاع_هدف، پهنای_هدف، -1]». به عنوان ورودی به tf.slice ارائه دهید.

عمومی ایستا StatelessSampleDistortedBoundingBox.Options useImageIfNoBoundingBoxs (استفاده بولیImageIfNoBoundingBox)

مولفه های
از جعبه های ImageIfNoBounding استفاده کنید در صورت عدم ارائه جعبه محدود کننده، رفتار را کنترل می کند. اگر درست است، یک جعبه مرزی ضمنی را فرض کنید که کل ورودی را پوشش می دهد. اگر نادرست است، یک خطا را مطرح کنید.