يختار بجشع مجموعة فرعية من المربعات المحيطة بترتيب تنازلي للنتيجة،
تشذيب المربعات التي تحتوي على تقاطع عالي فوق الاتحاد (IOU) يتداخل مع المربعات المحددة مسبقًا. تتم إزالة المربعات المحيطة ذات النقاط الأقل من `score_threshold`. يتم توفير المربعات المحيطة بالشكل [y1، x1، y2، x2]، حيث (y1، x1) و (y2، x2) هي إحداثيات أي زوج قطري من زوايا الصندوق ويمكن تقديم الإحداثيات بشكل طبيعي (على سبيل المثال، الكذب في الفاصل الزمني [0، 1]) أو المطلق. لاحظ أن هذه الخوارزمية لا تعرف مكان الأصل في نظام الإحداثيات وهي بشكل عام ثابتة بالنسبة للتحويلات المتعامدة وترجمات نظام الإحداثيات؛ وبالتالي فإن ترجمة أو انعكاسات نظام الإحداثيات تؤدي إلى تحديد نفس المربعات بواسطة الخوارزمية. مخرجات هذه العملية عبارة عن مجموعة من الأعداد الصحيحة المفهرسة في مجموعة الإدخال للمربعات المحيطة التي تمثل المربعات المحددة. ويمكن بعد ذلك الحصول على إحداثيات المربع المحيط المطابقة للمؤشرات المحددة باستخدام عملية tf.gather. على سبيل المثال: Selected_indices = tf.image.non_max_suppression_v2(boxes, Scores, max_output_size, iou_threshold, Score_threshold) Selected_boxes = tf.gather(boxes, Selected_indices) تدعم هذه العملية أيضًا وضع Soft-NMS (مع ترجيح غاوسي) (راجع Bodla et al ، https://arxiv.org/abs/1704.04503) حيث تقلل المربعات درجة المربعات المتداخلة الأخرى بدلاً من التسبب في تقليمها بشكل مباشر. لتمكين وضع Soft-NMS هذا، قم بتعيين المعلمة `soft_nms_sigma` لتكون أكبر من 0.
فئات متداخلة
فصل | NonMaxSuppression.Options | السمات الاختيارية لـ NonMaxSuppression |
الثوابت
خيط | OP_NAME | اسم هذه العملية كما هو معروف بواسطة محرك TensorFlow الأساسي |
الأساليب العامة
ثابت <T يمتد TNumber > NonMaxSuppression <T> | |
ثابت NonMaxSuppression.Options | PadToMaxOutputSize (منطقي PadToMaxOutputSize) |
الإخراج <TInt32> | المؤشرات المحددة () موتر عدد صحيح أحادي الأبعاد على شكل `[M]` يمثل المؤشرات المحددة من موتر المربعات، حيث `M <= max_output_size`. |
الإخراج <T> | النتائج المختارة () موتر عائم أحادي الأبعاد على شكل `[M]` يمثل الدرجات المقابلة لكل مربع محدد، حيث `M <= max_output_size`. |
الإخراج <TInt32> | مخرجات صالحة () موتر عدد صحيح 0-D يمثل عدد العناصر الصالحة في "المؤشرات_المحددة"، مع ظهور العناصر الصالحة أولاً. |
الطرق الموروثة
الثوابت
السلسلة النهائية الثابتة العامة OP_NAME
اسم هذه العملية كما هو معروف بواسطة محرك TensorFlow الأساسي
الأساليب العامة
إنشاء NonMaxSuppression العام الثابت <T> (نطاق النطاق ، مربعات المعامل <T>، نقاط المعامل <T>، المعامل < TInt32 > maxOutputSize، المعامل <T> iouThreshold، المعامل <T> ScoreThreshold، المعامل <T> softNmsSigma، الخيارات.. . خيارات)
طريقة المصنع لإنشاء فئة تغلف عملية NonMaxSuppression جديدة.
حدود
نِطَاق | النطاق الحالي |
---|---|
مربعات | موتر عائم ثنائي الأبعاد ذو شكل `[num_boxes, 4]`. |
درجات | موتر عائم أحادي الأبعاد ذو شكل `[num_boxes]` يمثل درجة واحدة تتوافق مع كل مربع (كل صف من المربعات). |
maxOutputSize | موتر عددي صحيح يمثل الحد الأقصى لعدد المربعات التي سيتم تحديدها عن طريق القمع غير الأقصى. |
ioThreshold | موتر عائم ذو 0-D يمثل العتبة لتحديد ما إذا كانت الصناديق تتداخل أكثر من اللازم فيما يتعلق بوحدة IOU. |
ScoreThreshold | موتر عائم ذو 0-D يمثل الحد الأدنى لتحديد وقت إزالة المربعات بناءً على النتيجة. |
softNmsSigma | موتر عائم 0-D يمثل معلمة سيجما لـ Soft NMS؛ انظر بودلا وآخرون (راجع https://arxiv.org/abs/1704.04503). عندما يكون `soft_nms_sigma=0.0` (وهو الإعداد الافتراضي)، فإننا نعود إلى NMS القياسي (الصلب). |
خيارات | يحمل قيم السمات الاختيارية |
عائدات
- مثيل جديد لـ NonMaxSuppression
NonMaxSuppression.Options العام الثابت PadToMaxOutputSize (منطقي PadToMaxOutputSize)
حدود
PadToMaxOutputSize | إذا كان صحيحًا، فسيتم تعبئة الإخراج "selected_indices" ليكون بطول "max_output_size". الافتراضيات كاذبة. |
---|
الإخراج العام <TInt32> المؤشرات المحددة ()
موتر عدد صحيح أحادي الأبعاد على شكل `[M]` يمثل المؤشرات المحددة من موتر المربعات، حيث `M <= max_output_size`.
الإخراج العام <T> الدرجات المحددة ()
موتر عائم أحادي الأبعاد على شكل `[M]` يمثل الدرجات المقابلة لكل مربع محدد، حيث `M <= max_output_size`. تختلف النتائج فقط عن درجات الإدخال المقابلة عند استخدام Soft NMS (أي عند `soft_nms_sigma>0`)