يختار بجشع مجموعة فرعية من المربعات المحيطة بترتيب تنازلي للنتيجة،
تنفذ هذه العملية قمعًا غير أقصى على المدخلات لكل دفعة، عبر جميع الفئات. يزيل المربعات التي تحتوي على تقاطع عالي فوق الاتحاد (IOU) يتداخل مع المربعات المحددة مسبقًا. يتم توفير المربعات المحيطة بالشكل [y1، x1، y2، x2]، حيث (y1، x1) و (y2، x2) هي إحداثيات أي زوج قطري من زوايا الصندوق ويمكن تقديم الإحداثيات بشكل طبيعي (على سبيل المثال، الكذب في الفاصل الزمني [0، 1]) أو المطلق. لاحظ أن هذه الخوارزمية لا تعرف مكان الأصل في نظام الإحداثيات. لاحظ أيضًا أن هذه الخوارزمية ثابتة بالنسبة للتحويلات والترجمات المتعامدة لنظام الإحداثيات؛ وبالتالي فإن ترجمة أو انعكاسات نظام الإحداثيات تؤدي إلى تحديد نفس المربعات بواسطة الخوارزمية. مخرجات هذه العملية هي المربعات النهائية والدرجات وموتر الفئات التي تم إرجاعها بعد إجراء Non_max_suppression.
فئات متداخلة
فصل | CombinedNonMaxSuppression.Options | السمات الاختيارية لـ CombinedNonMaxSuppression |
الثوابت
خيط | OP_NAME | اسم هذه العملية كما هو معروف بواسطة محرك TensorFlow الأساسي |
الأساليب العامة
ثابت CombinedNonMaxSuppression.Options | clipBoxes (clipBoxes منطقية) |
ثابت CombinedNonMaxSuppression | إنشاء (نطاق النطاق ، المعامل < TFloat32 > مربعات، المعامل < TFloat32 > الدرجات، المعامل < TInt32 > maxOutputSizePerClass، المعامل < TInt32 > maxTotalSize، المعامل < TFloat32 > iouThreshold، المعامل < TFloat32 > ScoreThreshold، خيارات ... ) طريقة المصنع لإنشاء فئة تغلف عملية CombinedNonMaxSuppression جديدة. |
الإخراج <TFloat32> | nmsedBoxes () A [batch_size, max_detections, 4] موتر float32 يحتوي على الصناديق المكبوتة غير القصوى. |
الإخراج <TFloat32> | nmsedClasses () موتر [batch_size, max_detections] float32 يحتوي على فئات الصناديق. |
الإخراج <TFloat32> | nmsedScores () موتر [batch_size, max_detections] float32 يحتوي على نتائج الصناديق. |
ثابت CombinedNonMaxSuppression.Options | PadPerClass (منطقي PadPerClass) |
الإخراج <TInt32> | اكتشافات صالحة () موتر int32 [batch_size] يشير إلى عدد الاكتشافات الصالحة لكل عنصر دفعة. |
الطرق الموروثة
الثوابت
السلسلة النهائية الثابتة العامة OP_NAME
اسم هذه العملية كما هو معروف بواسطة محرك TensorFlow الأساسي
الأساليب العامة
ثابت عام CombinedNonMaxSuppression.Options clipBoxes (clipBoxes منطقية)
حدود
clipBoxes | إذا كان صحيحًا، فافترض أن إحداثيات الصندوق تقع بين [0، 1] وقم بقص مربعات الإخراج إذا كانت تقع بعد [0، 1]. إذا كان خطأ، فلا تقم بالقص وإخراج إحداثيات الصندوق كما هي. |
---|
إنشاء CombinedNonMaxSuppression الثابت العام (نطاق النطاق ، المعامل < TFloat32 > المربعات، المعامل < TFloat32 > الدرجات، المعامل < TInt32 > maxOutputSizePerClass، المعامل < TInt32 > maxTotalSize، المعامل < TFloat32 > iouThreshold، المعامل < TFloat32 > ScoreThreshold، خيارات ... )
طريقة المصنع لإنشاء فئة تغلف عملية CombinedNonMaxSuppression جديدة.
حدود
نِطَاق | النطاق الحالي |
---|---|
مربعات | موتر عائم رباعي الأبعاد بالشكل `[batch_size, num_boxes, q, 4]`. إذا كانت `q` تساوي 1، فسيتم استخدام نفس المربعات لجميع الفئات، وإلا، إذا كانت `q` تساوي عدد الفئات، فسيتم استخدام المربعات الخاصة بالفئات. |
درجات | موتر عائم ثلاثي الأبعاد على شكل `[batch_size, num_boxes, num_classes]` يمثل درجة واحدة تتوافق مع كل مربع (كل صف من المربعات). |
maxOutputSizePerClass | موتر عددي صحيح يمثل الحد الأقصى لعدد المربعات التي سيتم تحديدها عن طريق القمع غير الأقصى لكل فئة |
maxTotalSize | رقم قياسي يمثل الحد الأقصى لعدد الصناديق المحتجزة في جميع الفئات. |
ioThreshold | موتر عائم ذو 0-D يمثل العتبة لتحديد ما إذا كانت الصناديق تتداخل أكثر من اللازم فيما يتعلق بوحدة IOU. |
ScoreThreshold | موتر عائم ذو 0-D يمثل الحد الأدنى لتحديد وقت إزالة المربعات بناءً على النتيجة. |
خيارات | يحمل قيم السمات الاختيارية |
عائدات
- مثيل جديد من CombinedNonMaxSuppression
الإخراج العام <TFloat32> nmsedBoxes ()
A [batch_size, max_detections, 4] موتر float32 يحتوي على الصناديق المكبوتة غير القصوى.
الإخراج العام <TFloat32> nmsedClasses ()
موتر [batch_size, max_detections] float32 يحتوي على فئات الصناديق.
الإخراج العام <TFloat32> nmsedScores ()
موتر [batch_size, max_detections] float32 يحتوي على نتائج الصناديق.
ثابت عام CombinedNonMaxSuppression.Options PadPerClass (منطقي PadPerClass)
حدود
PadPerClass | إذا كان خطأ، فسيتم إخفاء/قص مربعات الإخراج والدرجات والفئات إلى `max_total_size`. إذا كان صحيحًا، فسيتم تعبئة مربعات الإخراج والدرجات والفئات لتكون ذات طول `max_size_per_class`*`num_classes`، ما لم تتجاوز `max_total_size` وفي هذه الحالة يتم قصها إلى `max_total_size`. الافتراضيات كاذبة. |
---|