przepływ tensorowy:: ops:: NonMaxSuppressionV5
#include <image_ops.h>
Chciwie wybiera podzbiór obwiedni w malejącej kolejności punktów.
Streszczenie
przycinanie pudełek, 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ż 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 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ą tf.gather operation
. 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ą 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: Dwuwymiarowy tensor zmiennoprzecinkowy kształtu
[num_boxes, 4]
. - wyniki: 1-D tensor zmiennoprzecinkowy o kształcie
[num_boxes]
reprezentujący pojedynczy wynik odpowiadający każdemu prostokątowi (każdemu rzędowi pól). - max_output_size: Skalarny tensor będący liczbą całkowitą reprezentujący maksymalną liczbę pól do wybrania w wyniku tłumienia innego niż maksymalne.
- iou_threshold: Tensor zmiennoprzecinkowy 0-D reprezentujący próg decydujący o tym, czy pola nakładają się zbytnio na 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 ustawieniem domyślnym), wracamy do standardowego (twardego) NMS.
Opcjonalne atrybuty (patrz Attrs
):
- pad_to_max_output_size: Jeśli ma wartość true, dane wyjściowe
selected_indices
są dopełniane do długościmax_output_size
. Domyślnie jest to fałsz.
Zwroty:
-
Output
wybranych_indices: 1-D tensor całkowity o kształcie[M]
reprezentujący wybrane indeksy z tensora pudełek, gdzieM <= max_output_size
. -
Output
wybranych_wyników: 1-D tensor zmiennoprzecinkowy o kształcie[M]
reprezentujący odpowiednie wyniki dla każdego wybranego pola, gdzieM <= max_output_size
. Wyniki różnią się od odpowiadających im wyników wejściowych tylko w przypadku korzystania z Soft NMS (tzn. gdysoft_nms_sigma>0
) -
Output
valid_outputs: tensor liczby całkowitej 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:: Atrybuty | Opcjonalne moduły ustawiające atrybuty dla NonMaxSuppressionV5 . |
Atrybuty publiczne
działanie
Operation operation
wybrane_indeksy
::tensorflow::Output selected_indices
wybrane_wyniki
::tensorflow::Output selected_scores
ważne_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 )