tensorflow:: ops:: NonMaxSuppressionV5
#include <image_ops.h>Chciwie wybiera podzbiór pól ograniczających w kolejności malejącej według wyniku.
Streszczenie
Przycinanie pól, które mają wysoki współczynnik przecięcia przez sumę (IOU) nakładający się na poprzednio wybrane pola. Pola ograniczające z wynikiem mniejszym niż score_threshold są usuwane. Pola ograniczające są dostarczane jako [y1, x1, y2, x2], gdzie (y1, x1) i (y2, x2) są współrzędnymi dowolnej pary przekątnej narożników pola, a współrzędne mogą być dostarczane jako znormalizowane (tj. leżące w przedziale [0, 1]) lub bezwzględne. Należy zauważyć, że ten algorytm jest agnostyczny względem położenia początku układu współrzędnych i, bardziej ogólnie, jest niezmienny względem przekształceń ortogonalnych i translacji układu współrzędnych; zatem translacje lub odbicia układu współrzędnych powodują, że te same pola są wybierane przez algorytm. Wynikiem tej operacji jest zbiór liczb całkowitych indeksowanych do zbioru wejściowego pól ograniczających reprezentujących wybrane pola. Współrzędne pola ograniczającego odpowiadające wybranym indeksom można następnie uzyskać za pomocą tf.gather operation . Na przykład: selected_indices = tf.image.non_max_suppression_v2( boxes, scores, max_output_size, iou_threshold, score_threshold) selected_boxes = tf.gather(boxes, selected_indices). Ta operacja obsługuje również tryb Soft-NMS (z ważeniem Gaussa) (por. Bodla i in., https://arxiv.org/abs/1704.04503 ), w którym pola zmniejszają wynik 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 wartość większą niż 0.
Argumenty:
- zakres: obiekt zakresu
- pola: dwuwymiarowy tensor typu float o kształcie
[num_boxes, 4]. - wyniki: jednowymiarowy tensor zmiennoprzecinkowy o kształcie
[num_boxes]reprezentujący pojedynczy wynik odpowiadający każdemu polu (każdemu wierszowi pól). - max_output_size: Skalarny tensor całkowity reprezentujący maksymalną liczbę pól, które mogą zostać wybrane przez pomijanie inne niż maksymalne.
- iou_threshold: Tensor zmiennoprzecinkowy 0-D reprezentujący próg decydujący o tym, czy pola nakładają się zbyt mocno w odniesieniu do IOU.
- score_threshold: Tensor zmiennoprzecinkowy 0-D reprezentujący próg decydujący o tym, kiedy usunąć pola na podstawie wyniku.
- soft_nms_sigma: Tensor zmiennoprzecinkowy 0-D reprezentujący parametr sigma dla Soft NMS; patrz Bodla i in. (por. https://arxiv.org/abs/1704.04503 ). Gdy
soft_nms_sigma=0.0(co jest wartością domyślną), wracamy do standardowego (twardego) NMS.
Atrybuty opcjonalne (patrz Attrs ):
- pad_to_max_output_size: Jeśli wartość true,
selected_indiceswyjściowe są uzupełniane do długościmax_output_size. Domyślnie false.
Zwroty:
-
Outputselected_indices: jednowymiarowy tensor całkowity o kształcie[M]reprezentujący wybrane indeksy z tensora pól, gdzieM <= max_output_size. -
Outputselected_scores: jednowymiarowy tensor zmiennoprzecinkowy o kształcie[M]reprezentujący odpowiednie wyniki dla każdego wybranego pola, gdzieM <= max_output_size. Wyniki różnią się od odpowiednich wyników wejściowych tylko w przypadku użycia Soft NMS (tj. gdysoft_nms_sigma>0). -
Outputvalid_outputs: Tensor całkowity 0-D reprezentujący liczbę prawidłowych elementów wselected_indices, przy czym prawidłowe elementy pojawiają się jako pierwsze.
Konstruktory i destruktory | |
|---|---|
NonMaxSuppressionV5 (const :: tensorflow::Scope & scope, :: tensorflow::Input boxes, :: tensorflow::Input scores, :: tensorflow::Input max_output_size, :: tensorflow::Input iou_threshold, :: tensorflow::Input score_threshold, :: tensorflow::Input soft_nms_sigma) | |
NonMaxSuppressionV5 (const :: tensorflow::Scope & scope, :: tensorflow::Input boxes, :: tensorflow::Input scores, :: tensorflow::Input max_output_size, :: tensorflow::Input iou_threshold, :: tensorflow::Input score_threshold, :: tensorflow::Input soft_nms_sigma, const NonMaxSuppressionV5::Attrs & attrs) |
Atrybuty publiczne | |
|---|---|
operation | |
selected_indices | |
selected_scores | |
valid_outputs | |
Publiczne funkcje statyczne | |
|---|---|
PadToMaxOutputSize (bool x) | |
Struktury | |
|---|---|
| tensorflow:: ops:: NonMaxSuppressionV5:: Attrs | Opcjonalne settery atrybutów dla NonMaxSuppressionV5 . |
Atrybuty publiczne
działanie
Operation operation
wybrane_indeksy
::tensorflow::Output selected_indices
wybrane_wyniki
::tensorflow::Output selected_scores
prawidłowe_wyjścia
::tensorflow::Output valid_outputs
Funkcje publiczne
NonMaxSuppressionV5
NonMaxSuppressionV5( const ::tensorflow::Scope & scope, ::tensorflow::Input boxes, ::tensorflow::Input scores, ::tensorflow::Input max_output_size, ::tensorflow::Input iou_threshold, ::tensorflow::Input score_threshold, ::tensorflow::Input soft_nms_sigma )
NonMaxSuppressionV5
NonMaxSuppressionV5( const ::tensorflow::Scope & scope, ::tensorflow::Input boxes, ::tensorflow::Input scores, ::tensorflow::Input max_output_size, ::tensorflow::Input iou_threshold, ::tensorflow::Input score_threshold, ::tensorflow::Input soft_nms_sigma, const NonMaxSuppressionV5::Attrs & attrs )
Publiczne funkcje statyczne
PadToMaxOutputSize
Attrs PadToMaxOutputSize( bool x )