tensorflow :: ops :: NonMaxSuppressionV5
#include <image_ops.h>
Chciwie wybiera podzbiór obwiedni w malejącej kolejności według punktacji.
streszczenie
przycinanie pól, które mają wysoki współczynnik IOU (intersection-over-union), pokrywają się z poprzednio wybranymi ramkami. Ramki ograniczające z wynikiem mniejszym niż score_threshold
są usuwane. Ramki ograniczające są dostarczane jako [y1, x1, y2, x2], gdzie (y1, x1) i (y2, x2) są współrzędnymi dowolnej pary ukośnych narożników prostokąta, a współrzędne można podać jako znormalizowane (tj. przedział [0, 1]) lub bezwzględny. Zauważ, że ten algorytm jest niezależny od miejsca, w którym początek znajduje się w układzie współrzędnych, a bardziej ogólnie jest niezmienny względem przekształceń ortogonalnych i translacji układu współrzędnych; w ten sposób translacja lub odbicia układu współrzędnych powodują, że algorytm wybiera te same pola. Wynikiem tej operacji jest zestaw liczb całkowitych indeksowanych w wejściowym zbiorze obwiedni reprezentujących wybrane pola. Współrzędne ramki granicznej 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 (box, score, max_output_size, iou_threshold, score_threshold) selected_boxes = tf.gather (box, selected_indices) Ta opcja obsługuje również tryb Soft-NMS (z ważeniem Gaussa) (por. , https://arxiv.org/abs/1704.04503 ), gdzie 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 większy niż 0.
Argumenty:
- zakres: obiekt Scope
- boxy: 2-D float tensor kształtu
[num_boxes, 4]
. - wyniki: 1-D float tensor kształtu
[num_boxes]
reprezentujący pojedynczy wynik odpowiadający każdemu pudełku (każdemu wierszowi pudełek). - max_output_size: Tensor skalarnej liczby całkowitej reprezentujący maksymalną liczbę pól, które mają być wybrane przez pomijanie nie maksymalne.
- iou_threshold: Tensor zmiennoprzecinkowy 0-D reprezentujący próg decydujący o tym, czy pola nakładają się zbytnio 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 typu float 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 prawda, dane wyjściowe
selected_indices
sąmax_output_size
aby miały długośćmax_output_size
. Domyślnie false.
Zwroty:
-
Output
selected_indices: 1-D integer tensor w kształcie[M]
reprezentujący wybrane indeksy z tensorów boxów, gdzieM <= max_output_size
. -
Output
selected_scores: 1-D float tensor w kształcie[M]
reprezentujący odpowiednie wyniki dla każdego zaznaczonego pola, gdzieM <= max_output_size
. Wyniki różnią się tylko od odpowiednich wyników wejściowych, gdy używany jest miękki NMS (tj. Gdysoft_nms_sigma>0
) -
Output
valid_outputs: Tensor całkowity 0-D reprezentujący liczbę prawidłowych elementów wselected_indices
, przy czym prawidłowe elementy pojawiają się jako pierwsze.
Konstruktorzy i niszczyciele | |
---|---|
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 metody ustawiające atrybuty dla NonMaxSuppressionV5 . |
Atrybuty publiczne
operacja
Operation operation
wybrane_indeksy
::tensorflow::Output selected_indices
selected_scores
::tensorflow::Output selected_scores
valid_outputs
::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 )