Dengan rakus memilih subset kotak pembatas dalam urutan skor yang menurun,
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 menggunakan `operasi tf.gather`. 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, bukan secara langsung menyebabkan kotak-kotak tersebut dipangkas. Untuk mengaktifkan mode Soft-NMS ini, atur parameter `soft_nms_sigma` menjadi lebih besar dari 0.
Kelas Bersarang
kelas | NonMaxSuppression.Options | Atribut opsional untuk NonMaxSuppression |
Konstanta
Rangkaian | OP_NAME | Nama operasi ini dikenal dengan mesin inti TensorFlow |
Metode Publik
statis <T memperluas TNumber > NonMaxSuppression <T> | |
NonMaxSuppression.Options statis | padToMaxOutputSize (Boolean padToMaxOutputSize) |
Keluaran < TInt32 > | Indeks yang dipilih () Tensor bilangan bulat 1-D berbentuk `[M]` yang mewakili indeks yang dipilih dari tensor kotak, dengan `M <= max_output_size`. |
Keluaran <T> | Skor yang dipilih () Tensor float 1-D berbentuk `[M]` yang mewakili skor yang sesuai untuk setiap kotak yang dipilih, dengan `M <= max_output_size`. |
Keluaran < TInt32 > | keluaran yang valid () Tensor bilangan bulat 0-D yang mewakili jumlah elemen valid di `indeks_terpilih`, dengan elemen valid muncul terlebih dahulu. |
Metode Warisan
Konstanta
String akhir statis publik OP_NAME
Nama operasi ini dikenal dengan mesin inti TensorFlow
Metode Publik
public static NonMaxSuppression <T> buat ( Scope scope, Operand <T> box, Operand <T> score, Operand < TInt32 > maxOutputSize, Operand <T> iouThreshold, Operand <T> scoreThreshold, Operand <T> softNmsSigma, Options.. . pilihan)
Metode pabrik untuk membuat kelas yang membungkus operasi NonMaxSuppression baru.
Parameter
cakupan | ruang lingkup saat ini |
---|---|
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). |
maxOutputSize | Tensor bilangan bulat skalar yang mewakili jumlah maksimum kotak yang akan dipilih dengan penekanan non-maks. |
iouAmbang batas | Tensor float 0-D mewakili ambang batas untuk memutuskan apakah kotak terlalu banyak tumpang tindih sehubungan dengan IOU. |
skorambang batas | Tensor float 0-D yang mewakili ambang batas untuk memutuskan kapan harus menghapus kotak berdasarkan skor. |
lembutNmsSigma | 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). |
pilihan | membawa nilai atribut opsional |
Kembali
- contoh baru NonMaxSuppression
NonMaxSuppression.Options statis publik padToMaxOutputSize (Boolean padToMaxOutputSize)
Parameter
padToMaxOutputSize | Jika benar, output `selected_indices` akan diisi dengan panjang `max_output_size`. Defaultnya salah. |
---|
Output publik < TInt32 > Indeks yang dipilih ()
Tensor bilangan bulat 1-D berbentuk `[M]` yang mewakili indeks yang dipilih dari tensor kotak, dengan `M <= max_output_size`.
Output publik <T> Skor yang dipilih ()
Tensor float 1-D berbentuk `[M]` yang mewakili skor yang sesuai untuk setiap kotak yang dipilih, dengan `M <= max_output_size`. Skor hanya berbeda dari skor masukan terkait saat menggunakan Soft NMS (yaitu ketika `soft_nms_sigma>0`)