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_indices wyjściowe są uzupełniane do długości max_output_size . Domyślnie false.

Zwroty:

  • Output selected_indices: jednowymiarowy tensor całkowity o kształcie [M] reprezentujący wybrane indeksy z tensora pól, gdzie M <= max_output_size .
  • Output selected_scores: jednowymiarowy tensor zmiennoprzecinkowy o kształcie [M] reprezentujący odpowiednie wyniki dla każdego wybranego pola, gdzie M <= max_output_size . Wyniki różnią się od odpowiednich wyników wejściowych tylko w przypadku użycia Soft NMS (tj. gdy soft_nms_sigma>0 ).
  • Output valid_outputs: Tensor całkowity 0-D reprezentujący liczbę prawidłowych elementów w selected_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
)