NonMaxSuppression

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

حریصانه زیرمجموعه ای از جعبه های مرزی را به ترتیب امتیاز نزولی انتخاب می کند،

هرس کردن جعبه هایی که دارای تقاطع بالای اتحاد (IOU) هستند با جعبه های انتخاب شده قبلی همپوشانی دارند. کادرهای محدودکننده با امتیاز کمتر از «امتیاز_آستانه» حذف می‌شوند. جعبه های مرزی به صورت [y1، x1، y2، x2] عرضه می شوند، که در آن (y1، x1) و (y2، x2) مختصات هر جفت مورب گوشه های جعبه هستند و مختصات را می توان به صورت نرمال ارائه کرد (یعنی خوابیده در فاصله [0، 1]) یا مطلق. توجه داشته باشید که این الگوریتم نسبت به جایی که مبدأ در سیستم مختصات است آگنوستیک است و به طور کلی نسبت به تبدیل‌های متعامد و ترجمه‌های سیستم مختصات تغییر نمی‌کند. بنابراین ترجمه یا بازتاب سیستم مختصات منجر به انتخاب کادرهای مشابه توسط الگوریتم می شود. خروجی این عملیات مجموعه ای از اعداد صحیح است که در مجموعه ورودی جعبه های مرزی نمایانگر جعبه های انتخاب شده اند. سپس مختصات جعبه مرزی مربوط به شاخص های انتخاب شده را می توان با استفاده از «عملیات tf.gather» به دست آورد. به عنوان مثال: selected_indices = tf.image.non_max_suppression_v2 ( کادرها، امتیازات، حداکثر_اندازه_output_size، iou_threshold، score_threshold) selected_boxes = tf.gather(boxes, selected_indices) این عملیات همچنین از یک Soft-NMS (با حالت Bossianfed) پشتیبانی می کند. ، https://arxiv.org/abs/1704.04503) که در آن جعبه ها به جای اینکه مستقیماً باعث هرس شدن جعبه های دیگر شوند، امتیاز سایر جعبه های همپوشانی را کاهش می دهند. برای فعال کردن این حالت Soft-NMS، پارامتر "soft_nms_sigma" را بزرگتر از 0 تنظیم کنید.

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

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

ثابت ها

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

روش های عمومی

static <T TNumber > NonMaxSuppression <T> را گسترش می دهد
ایجاد ( محدوده دامنه ، کادرهای عملوند <T>، امتیازهای عملوند <T>، عملوند < TINT32 > maxOutputSize، عملوند <T> iouThreshold، عملوند <T> scoreThreshold، عملوند <T> softNmsSigma، گزینه‌ها... گزینه‌ها)
روش کارخانه برای ایجاد کلاسی که یک عملیات NonMaxSuppression جدید را بسته بندی می کند.
استاتیک NonMaxSuppression.Options
padToMaxOutputSize (بولی padToMaxOutputSize)
خروجی < TINT32 >
شاخص های انتخاب شده ()
یک تانسور عدد صحیح یک بعدی از شکل «[M]» که نمایانگر شاخص‌های انتخاب شده از تانسور جعبه‌ها است، جایی که «M <= max_output_size».
خروجی <T>
امتیازات انتخاب شده ()
یک تانسور شناور 1 بعدی به شکل «[M]» که نمرات مربوطه را برای هر کادر انتخابی نشان می‌دهد، جایی که «M <= max_output_size».
خروجی < TINT32 >
خروجی های معتبر ()
یک تانسور عدد صحیح 0-D که تعداد عناصر معتبر را در «شاخص های_انتخابی» نشان می دهد و عناصر معتبر ابتدا ظاهر می شوند.

روش های ارثی

ثابت ها

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

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

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

روش های عمومی

عمومی استاتیک NonMaxSuppression <T> ایجاد ( محدوده دامنه ، کادرهای عملوند <T>، امتیازهای عملوند <T>، عملوند < TINT32 > maxOutputSize، عملوند <T> iouThreshold، عملوند <T> scoreThreshold، عملوند <T> softNmsSigma، گزینه ها. . گزینه ها)

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

مولفه های
محدوده محدوده فعلی
جعبه ها یک تانسور شناور دو بعدی به شکل «[تعداد_جعبه‌ها، 4]».
امتیازات یک تانسور شناور 1 بعدی به شکل «[تعداد_جعبه]» که نشان دهنده یک امتیاز منفرد مربوط به هر کادر (هر ردیف از کادرها) است.
maxOutputSize یک تانسور عدد صحیح اسکالر که نشان دهنده حداکثر تعداد کادرهایی است که باید با سرکوب غیر حداکثر انتخاب شوند.
iouThreshold یک تانسور شناور 0-D که آستانه ای را برای تصمیم گیری در مورد همپوشانی بیش از حد جعبه ها نسبت به IOU نشان می دهد.
آستانه امتیاز یک تانسور شناور 0-D که آستانه تصمیم گیری برای حذف جعبه ها بر اساس امتیاز را نشان می دهد.
softNmsSigma یک تانسور شناور 0-D که پارامتر سیگما را برای NMS نرم نشان می دهد. به Bodla و همکاران (رجوع کنید به https://arxiv.org/abs/1704.04503) مراجعه کنید. وقتی «soft_nms_sigma=0.0» (که پیش‌فرض است)، به NMS استاندارد (سخت) برمی‌گردیم.
گزینه ها مقادیر ویژگی های اختیاری را حمل می کند
برمی گرداند
  • یک نمونه جدید از NonMaxSuppression

عمومی استاتیک NonMaxSuppression. Options padToMaxOutputSize (بولی padToMaxOutputSize)

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

خروجی عمومی < TINT32 > فهرست های انتخاب شده ()

یک تانسور عدد صحیح یک بعدی از شکل «[M]» که نمایانگر شاخص‌های انتخاب شده از تانسور جعبه‌ها است، جایی که «M <= max_output_size».

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

یک تانسور شناور 1 بعدی به شکل «[M]» که نمرات مربوطه را برای هر کادر انتخابی نشان می‌دهد، جایی که «M <= max_output_size». امتیازها فقط با نمرات ورودی متناظر هنگام استفاده از Soft NMS متفاوت است (یعنی زمانی که "soft_nms_sigma>0")

خروجی عمومی < TINT32 > validOutputs ()

یک تانسور عدد صحیح 0-D که تعداد عناصر معتبر را در «شاخص های_انتخابی» نشان می دهد و عناصر معتبر ابتدا ظاهر می شوند.