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" یکسان است و مستقل از چند بار فراخوانی تابع، و مستقل از تنظیمات دانه جهانی (مثلا "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

روش های عمومی

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

روش های ارثی

روش های عمومی

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

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

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

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

خروجی عمومی <Float> 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 <Float> boundingBox, Operand <Float> minObjectCovered, Operand <U> 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 استفاده کنید در صورت عدم ارائه جعبه محدود کننده، رفتار را کنترل می کند. اگر درست است، یک جعبه مرزی ضمنی را فرض کنید که کل ورودی را پوشش می دهد. اگر نادرست است، یک خطا را مطرح کنید.