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_indicessą dopełniane do długościmax_output_size. Domyślnie jest to fałsz.
Zwroty:
-
Outputwybranych_indices: 1-D tensor całkowity o kształcie[M]reprezentujący wybrane indeksy z tensora pudełek, gdzieM <= max_output_size. -
Outputwybranych_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) -
Outputvalid_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 )