حریصانه زیرمجموعه ای از جعبه های مرزی را به ترتیب امتیاز نزولی انتخاب می کند،
این عملیات non_max_suppression را روی ورودیهای هر دسته، در همه کلاسها انجام میدهد. جعبههایی را که دارای تقاطع بیش از حد (IOU) بالا هستند با جعبههای انتخاب شده قبلی همپوشانی دارند. جعبه های مرزی به صورت [y1، x1، y2، x2] عرضه می شوند، که در آن (y1، x1) و (y2، x2) مختصات هر جفت مورب گوشه های جعبه هستند و مختصات را می توان به صورت نرمال ارائه کرد (یعنی خوابیده در فاصله [0، 1]) یا مطلق. توجه داشته باشید که این الگوریتم نسبت به جایی که مبدأ در سیستم مختصات است آگنوستیک است. همچنین توجه داشته باشید که این الگوریتم نسبت به تبدیلهای متعامد و ترجمههای سیستم مختصات ثابت است. بنابراین ترجمه یا بازتاب سیستم مختصات منجر به انتخاب کادرهای مشابه توسط الگوریتم می شود. خروجی این عملیات، کادرهای نهایی، امتیازها و تانسور کلاسهایی است که پس از انجام non_max_suppression برگردانده میشوند.
کلاس های تو در تو
کلاس | CombinedNonMaxSuppression.Options | ویژگی های اختیاری برای CombinedNonMaxSuppression |
روش های عمومی
استاتیک CombinedNonMaxSuppression.Options | باکس های کلیپ (کلیپ باکس های بولی) |
استاتیک CombinedNonMaxSuppression | ایجاد ( دامنه دامنه ، کادرهای عملوند <Float>، امتیازهای عملوند <Float>، عملوند <Integer> maxOutputSizePerClass، عملوند <Integer> maxTotalSize، عملوند <Float> iouThreshold، عملوند <Float> scoreThreshold، گزینههای ... روش کارخانه برای ایجاد کلاسی که یک عملیات CombinedNonMaxSuppression جدید را بسته بندی می کند. |
خروجی <Float> | nmsedBoxes () یک تانسور [batch_size, max_detections, 4] float32 که حاوی جعبههای غیرحداکثر سرکوبشده است. |
خروجی <Float> | nmsedClasses () یک تانسور [batch_size, max_detections] float32 که شامل کلاسهای جعبهها است. |
خروجی <Float> | nmsedScores () یک تانسور [batch_size, max_detections] float32 که حاوی امتیازات جعبهها است. |
استاتیک CombinedNonMaxSuppression.Options | padPerClass (Boolean padPerClass) |
خروجی <عدد صحیح> | تشخیص های معتبر () یک تانسور [batch_size] int32 که تعداد شناساییهای معتبر در هر مورد دستهای را نشان میدهد. |
روش های ارثی
روش های عمومی
عمومی استاتیک CombinedNonMaxSuppression.ClipBox های گزینه (ClipBoxهای بولی)
مولفه های
clipboxes | اگر درست است، مختصات جعبه را بین [0، 1] فرض کنید و اگر از [0، 1] خارج شدند، جعبههای خروجی را قطع کنید. اگر نادرست است، برش را انجام ندهید و مختصات جعبه را همانطور که هست خارج کنید. |
---|
استاتیک عمومی CombinedNonMaxSuppression ایجاد ( محدوده دامنه ، کادرهای عملوند <Float>، امتیازهای عملوند <Float>، عملوند <Integer> maxOutputSizePerClass، عملوند <Integer> maxTotalSize، عملوند <Float> iouThreshold، Operand Option <Float>، گزینههای scoreT
روش کارخانه برای ایجاد کلاسی که یک عملیات CombinedNonMaxSuppression جدید را بسته بندی می کند.
مولفه های
محدوده | محدوده فعلی |
---|---|
جعبه ها | یک تانسور شناور 4 بعدی به شکل «[بچ_اندازه، تعداد_جعبهها، q، 4]». اگر 'q' 1 باشد، جعبه های یکسان برای همه کلاس ها استفاده می شود، در غیر این صورت، اگر 'q' برابر با تعداد کلاس ها باشد، از کادرهای مخصوص کلاس استفاده می شود. |
امتیازات | یک تانسور شناور سه بعدی به شکل «[بچ_اندازه، تعداد_جعبهها، تعداد_کلاسها]» که نشاندهنده یک امتیاز واحد مربوط به هر جعبه (هر ردیف از جعبهها) است. |
maxOutputSizePerClass | یک تانسور عدد صحیح اسکالر که نشان دهنده حداکثر تعداد کادرهایی است که باید با سرکوب غیر حداکثر در هر کلاس انتخاب شوند. |
maxTotalSize | یک اسکالر int32 که نشاندهنده حداکثر تعداد جعبههایی است که در تمام کلاسها حفظ میشوند. توجه داشته باشید که تنظیم این مقدار روی یک عدد بزرگ ممکن است بسته به حجم کاری سیستم منجر به خطای OOM شود. |
iouThreshold | یک تانسور شناور 0-D که آستانه ای را برای تصمیم گیری در مورد همپوشانی بیش از حد جعبه ها نسبت به IOU نشان می دهد. |
آستانه امتیاز | یک تانسور شناور 0-D که آستانه تصمیم گیری برای حذف جعبه ها بر اساس امتیاز را نشان می دهد. |
گزینه ها | مقادیر ویژگی های اختیاری را حمل می کند |
برمی گرداند
- یک نمونه جدید از CombinedNonMaxSuppression
خروجی عمومی <Float> nmsedBoxes ()
یک تانسور [batch_size, max_detections, 4] float32 که حاوی جعبههای غیرحداکثر سرکوبشده است.
خروجی عمومی <Float> nmsedClasses ()
یک تانسور [batch_size, max_detections] float32 که شامل کلاسهای جعبهها است.
خروجی عمومی <Float> nmsedScores ()
یک تانسور [batch_size, max_detections] float32 که حاوی امتیازات جعبهها است.
عمومی استاتیک CombinedNonMaxSuppression.Options padPerClass (Boolean padPerClass)
مولفه های
padPerClass | اگر نادرست باشد، جعبههای nmsed خروجی، امتیازها و کلاسها به «max_total_size» اضافه میشوند/بریده میشوند. اگر درست باشد، جعبههای nmsed خروجی، امتیازها و کلاسها به طول «max_size_per_class»*`num_classes» اضافه میشوند، مگر اینکه از «max_total_size» بیشتر شود، در این صورت به «max_total_size» بریده میشود. پیش فرض به نادرست. |
---|
خروجی عمومی <Integer> validDetections ()
یک تانسور [batch_size] int32 که تعداد شناساییهای معتبر در هر مورد دستهای را نشان میدهد. فقط ورودیهای num_detections[i] برتر در nms_boxes[i]، nms_scores[i] و nms_class[i] معتبر هستند. بقیه ورودیها بدون بالشتک هستند.