aliran tensor:: operasi:: NonMaxSuppressionV5
#include <image_ops.h>
Dengan rakus memilih subset kotak pembatas dalam urutan skor yang menurun.
Ringkasan
memangkas kotak-kotak yang memiliki interseksi-over-union (IOU) tinggi yang tumpang tindih dengan kotak-kotak yang dipilih sebelumnya. Kotak pembatas dengan skor kurang dari score_threshold
akan dihapus. Kotak pembatas diberikan sebagai [y1, x1, y2, x2], di mana (y1, x1) dan (y2, x2) adalah koordinat dari setiap pasangan sudut kotak diagonal dan koordinat dapat diberikan sebagai dinormalisasi (yaitu, terletak di interval [0, 1]) atau absolut. Perhatikan bahwa algoritme ini agnostik terhadap titik asal dalam sistem koordinat dan lebih umum lagi invarian terhadap transformasi ortogonal dan terjemahan sistem koordinat; sehingga penerjemahan atau refleksi dari sistem koordinat menghasilkan kotak yang sama yang dipilih oleh algoritma. Output dari operasi ini adalah sekumpulan bilangan bulat yang diindeks ke dalam kumpulan input kotak pembatas yang mewakili kotak yang dipilih. Koordinat kotak pembatas yang sesuai dengan indeks yang dipilih kemudian dapat diperoleh dengan menggunakan tf.gather operation
. Misalnya: indeks_yang dipilih = tf.image.non_max_suppression_v2( kotak, skor, max_output_size, iou_threshold, skor_threshold) kotak_pilihan = tf.gather(kotak, indeks_yang dipilih) Operasi ini juga mendukung mode Soft-NMS (dengan pembobotan Gaussian) (lih. Bodla dkk. , https://arxiv.org/abs/1704.04503 ) di mana kotak-kotak tersebut mengurangi skor kotak-kotak lain yang tumpang tindih alih-alih secara langsung menyebabkan kotak-kotak tersebut dipangkas. Untuk mengaktifkan mode Soft-NMS ini, atur parameter soft_nms_sigma
menjadi lebih besar dari 0.
Argumen:
- ruang lingkup: Objek Lingkup
- kotak: Tensor float 2-D dengan bentuk
[num_boxes, 4]
. - skor: Tensor float 1-D berbentuk
[num_boxes]
yang mewakili satu skor yang sesuai dengan setiap kotak (setiap baris kotak). - max_output_size: Tensor bilangan bulat skalar yang mewakili jumlah maksimum kotak yang akan dipilih dengan penekanan non-maks.
- iou_threshold: Tensor float 0-D yang mewakili ambang batas untuk memutuskan apakah kotak terlalu banyak tumpang tindih sehubungan dengan IOU.
- score_threshold: Tensor float 0-D yang mewakili ambang batas untuk memutuskan kapan harus menghapus kotak berdasarkan skor.
- soft_nms_sigma: Tensor float 0-D yang mewakili parameter sigma untuk Soft NMS; lihat Bodla dkk (lih https://arxiv.org/abs/1704.04503 ). Ketika
soft_nms_sigma=0.0
(yang merupakan default), kita kembali ke NMS standar (keras).
Atribut opsional (lihat Attrs
):
- pad_to_max_output_size: Jika benar, output
selected_indices
diisi dengan panjangmax_output_size
. Defaultnya salah.
Pengembalian:
-
Output
indeks_yang dipilih: Tensor bilangan bulat 1-D berbentuk[M]
yang mewakili indeks yang dipilih dari tensor kotak, denganM <= max_output_size
. -
Output
: Tensor float 1-D berbentuk[M]
yang mewakili skor terkait untuk setiap kotak yang dipilih, denganM <= max_output_size
. Skor hanya berbeda dari skor masukan terkait saat menggunakan Soft NMS (yaitu ketikasoft_nms_sigma>0
) -
Output
valid_outputs: Tensor bilangan bulat 0-D yang mewakili jumlah elemen valid dalamselected_indices
, dengan elemen valid muncul terlebih dahulu.
Konstruktor dan Destruktor | |
---|---|
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) |
Atribut publik | |
---|---|
operation | |
selected_indices | |
selected_scores | |
valid_outputs |
Fungsi statis publik | |
---|---|
PadToMaxOutputSize (bool x) |
Struktur | |
---|---|
tensorflow:: ops:: NonMaxSuppressionV5:: Attrs | Penyetel atribut opsional untuk NonMaxSuppressionV5 . |
Atribut publik
operasi
Operation operation
indeks_yang dipilih
::tensorflow::Output selected_indices
skor_dipilih
::tensorflow::Output selected_scores
valid_output
::tensorflow::Output valid_outputs
Fungsi publik
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 )
Fungsi statis publik
Ukuran Output PadToMax
Attrs PadToMaxOutputSize( bool x )