NonMaxSuppression

publiczna klasa końcowa NonMaxSuppression

Chciwie wybiera podzbiór obwiedni w malejącej kolejności punktów,

przycinanie skrzynek, które mają wysoki współczynnik przecięcia nad związkiem (IOU), nakładają się na wcześniej wybrane pola. Ramki ograniczające z wynikiem mniejszym niż „próg_wyniku” są usuwane. Ramki ograniczające są dostarczane jako [y1, x1, y2, x2], gdzie (y1, x1) i (y2, x2) są współrzędnymi dowolnej pary przekątnych narożników prostokątów, a współrzędne mogą być podane jako znormalizowane (tzn. leżące w przedział [0, 1]) lub bezwzględny. Należy zauważyć, że ten algorytm jest niezależny od tego, gdzie początek znajduje się w układzie współrzędnych i, bardziej ogólnie, jest niezmienny w stosunku do transformacji ortogonalnych i translacji układu współrzędnych; w ten sposób tłumaczenie lub odbicia układu współrzędnych powodują, że algorytm wybiera te same pola. Wynikiem tej operacji jest zbiór liczb całkowitych indeksowanych w zbiorze wejściowym ramek ograniczających reprezentujących wybrane ramki. Współrzędne ramki ograniczającej odpowiadające wybranym indeksom można następnie uzyskać za pomocą operacji `tf.gather`. Na przykład: wybrane_indices = tf.image.non_max_suppression_v2(boxs, scores, max_output_size, iou_threshold, score_threshold) wybrane_boxes = tf.gather(boxes, wybrane_indices) Ta opcja obsługuje również tryb Soft-NMS (z ważeniem Gaussa) (por. Bodla i in. , https://arxiv.org/abs/1704.04503), gdzie pola zmniejszają punktację innych nakładających się pól, zamiast bezpośrednio powodować ich przycinanie. Aby włączyć ten tryb Soft-NMS, ustaw parametr `soft_nms_sigma` na większy niż 0.

Klasy zagnieżdżone

klasa Opcje NonMaxSuppression Opcjonalne atrybuty dla NonMaxSuppression

Stałe

Strunowy OP_NAME Nazwa tej operacji znana silnikowi rdzenia TensorFlow

Metody publiczne

statyczny <T rozszerza TNumber > NonMaxSuppression <T>
utwórz (zakres zakresu , pola argumentów <T>, wyniki argumentów <T>, argumenty < TInt32 > maxOutputSize, argumenty <T> iouThreshold, argumenty <T> scoreThreshold, argumenty <T> softNmsSigma, opcje... )
Metoda fabryczna służąca do tworzenia klasy opakowującej nową operację NonMaxSuppression.
statyczne NonMaxSuppression.Options
padToMaxOutputSize (boolowski padToMaxOutputSize)
Dane wyjściowe <TInt32>
wybraneIndeksy ()
Jednowymiarowy tensor całkowity o kształcie „[M]” reprezentujący wybrane indeksy z tensora pudełek, gdzie „M <= maksymalny_rozmiar_wyjściowy”.
Wyjście <T>
wybraneWyniki ()
Jednowymiarowy tensor zmiennoprzecinkowy o kształcie „[M]” reprezentujący odpowiednie wyniki dla każdego wybranego pola, gdzie „M <= maksymalny_rozmiar_wyjściowy”.
Dane wyjściowe <TInt32>
ważne wyniki ()
Tensor liczby całkowitej 0-D reprezentujący liczbę prawidłowych elementów w „wybranych_indices”, przy czym prawidłowe elementy pojawiają się jako pierwsze.

Metody dziedziczone

Stałe

publiczny statyczny końcowy ciąg znaków OP_NAME

Nazwa tej operacji znana silnikowi rdzenia TensorFlow

Wartość stała: „NonMaxSuppressionV5”

Metody publiczne

public static NonMaxSuppression <T> utwórz (zakres zakresu , pola argumentu <T>, wyniki argumentu <T>, argument < TInt32 > maxOutputSize, argument <T> iouThreshold, argument <T> scoreThreshold, argument <T> softNmsSigma, opcje.. .opcje )

Metoda fabryczna służąca do tworzenia klasy opakowującej nową operację NonMaxSuppression.

Parametry
zakres aktualny zakres
pudła Dwuwymiarowy tensor zmiennoprzecinkowy o kształcie „[num_boxes, 4]”.
wyniki Jednowymiarowy tensor zmiennoprzecinkowy o kształcie „[num_boxes]” reprezentujący pojedynczy wynik odpowiadający każdemu prostokątowi (każdemu wierszowi kwadratów).
maksymalny rozmiar wyjściowy Skalarny tensor będący liczbą całkowitą reprezentujący maksymalną liczbę pól do wybrania w wyniku tłumienia innego niż maksymalne.
iuPróg Tensor zmiennoprzecinkowy 0-D reprezentujący próg decydujący o tym, czy pola nakładają się zbytnio na IOU.
Próg wyniku Tensor zmiennoprzecinkowy 0-D reprezentujący próg decydujący o tym, kiedy usunąć pola na podstawie wyniku.
softNmsSigma Tensor zmiennoprzecinkowy 0-D reprezentujący parametr sigma dla miękkiego NMS; patrz Bodla i in. (por. https://arxiv.org/abs/1704.04503). Gdy `soft_nms_sigma=0.0` (co jest ustawieniem domyślnym), wracamy do standardowego (twardego) NMS.
opcje przenosi opcjonalne wartości atrybutów
Zwroty
  • nowa instancja NonMaxSuppression

public static NonMaxSuppression.Options padToMaxOutputSize (Boolean padToMaxOutputSize)

Parametry
padToMaxOutputSize Jeśli ma wartość true, dane wyjściowe „wybrane_indices” są dopełniane do długości „max_output_size”. Domyślnie jest to fałsz.

publiczne wyjście < TInt32 > wybraneIndeksy ()

Jednowymiarowy tensor całkowity o kształcie „[M]” reprezentujący wybrane indeksy z tensora pudełek, gdzie „M <= maksymalny_rozmiar_wyjściowy”.

publiczne wyjście <T> wybraneWyniki ()

Jednowymiarowy tensor zmiennoprzecinkowy o kształcie „[M]” reprezentujący odpowiednie wyniki dla każdego wybranego pola, gdzie „M <= maksymalny_rozmiar_wyjściowy”. Wyniki różnią się od odpowiadających im wyników wejściowych tylko przy użyciu Soft NMS (tzn. gdy `soft_nms_sigma>0`)

publiczne wyjście < TInt32 > validOutputs ()

Tensor liczby całkowitej 0-D reprezentujący liczbę prawidłowych elementów w „wybranych_indices”, przy czym prawidłowe elementy pojawiają się jako pierwsze.