Жадно выбирает подмножество ограничивающих рамок в порядке убывания количества очков,
обрезка блоков с высокой степенью пересечения-объединения (IOU) перекрывается с ранее выбранными блоками. Ограничительные рамки со счетом меньше, чем «score_threshold», удаляются. Ограничительные рамки предоставляются в виде [y1, x1, y2, x2], где (y1, x1) и (y2, x2) — координаты любой диагональной пары углов прямоугольника, а координаты могут быть предоставлены как нормализованные (т. е. лежащие в интервал [0, 1]) или абсолютный. Обратите внимание, что этот алгоритм не зависит от того, где находится начало координат в системе координат, и, в более общем смысле, инвариантен к ортогональным преобразованиям и переводам системы координат; таким образом, перевод или отражение системы координат приводит к тому, что алгоритм выбирает одни и те же поля. Результатом этой операции является набор целых чисел, индексируемых во входную коллекцию ограничивающих рамок, представляющих выбранные рамки. Затем координаты ограничивающего прямоугольника, соответствующие выбранным индексам, можно получить с помощью операции tf.gather. Например: selected_indices = tf.image.non_max_suppression_v2( box, 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`. |
Выход <Т> | выбранные баллы () Одномерный тензор с плавающей точкой формы `[M]`, представляющий соответствующие оценки для каждого выбранного поля, где `M <= max_output_size`. |
Вывод < TInt32 > | действительныевыходы () Целочисленный тензор 0-D, представляющий количество допустимых элементов в «selected_indices», причем допустимые элементы появляются первыми. |
Унаследованные методы
Константы
общедоступная статическая финальная строка OP_NAME
Название этой операции, известное основному движку TensorFlow.
Публичные методы
public static NonMaxSuppression <T> create ( Область действия , поля операнда <T>, оценки операнда <T>, операнд < TInt32 > maxOutputSize, операнд <T> ioThreshold, операнд <T> ScoreThreshold, операнд <T> softNmsSigma, параметры.. . параметры)
Фабричный метод для создания класса, обертывающего новую операцию NonMaxSuppression.
Параметры
объем | текущий объем |
---|---|
коробки | Двумерный тензор с плавающей запятой формы `[num_boxes, 4]`. |
баллы | Одномерный тензор с плавающей запятой формы `[num_boxes]`, представляющий одну оценку, соответствующую каждому блоку (каждой строке блоков). |
МаксВыходСизе | Скалярный целочисленный тензор, представляющий максимальное количество блоков, которые будут выбраны при немаксимальном подавлении. |
IouThreshold | Тензор с плавающей запятой 0-D, представляющий порог для принятия решения о том, не слишком ли сильно перекрываются блоки по отношению к IOU. |
ОценкаПорог | Тензор с плавающей запятой 0D, представляющий порог для принятия решения об удалении блоков на основе оценки. |
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> selectedIndices ()
Одномерный целочисленный тензор формы `[M]`, представляющий выбранные индексы из тензора блоков, где `M <= max_output_size`.
публичный вывод <T> selectedScores ()
Одномерный тензор с плавающей точкой формы `[M]`, представляющий соответствующие оценки для каждого выбранного поля, где `M <= max_output_size`. Оценки отличаются от соответствующих входных оценок только при использовании Soft NMS (т. е. когда `soft_nms_sigma>0`)