przepływ tensorowy:: ops:: NonMaxSuppressionV5

#include <image_ops.h>

Chciwie wybiera podzbiór obwiedni w malejącej kolejności punktów.

Streszczenie

przycinanie skrzynek, 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ści max_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, gdzie M <= max_output_size .
  • Output wybranych_wyników: 1-D 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 korzystania z Soft NMS (tzn. gdy soft_nms_sigma>0 )
  • Output valid_outputs: tensor liczby całkowitej 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:: 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
)