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 | NonMaxSuppressionV5.Options | Atribut opsional untuk NonMaxSuppressionV5 |
Metode Publik
statis <T memperluas Angka> NonMaxSuppressionV5 <T> | |
NonMaxSuppressionV5.Options statis | padToMaxOutputSize (Boolean padToMaxOutputSize) |
Keluaran <Bilangan Bulat> | 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 <Bilangan Bulat> | keluaran yang valid () Tensor bilangan bulat 0-D yang mewakili jumlah elemen valid di `indeks_terpilih`, dengan elemen valid muncul terlebih dahulu. |
Metode Warisan
Metode Publik
public static NonMaxSuppressionV5 <T> buat ( Lingkup lingkup, kotak Operand <T>, skor Operand <T>, Operand <Integer> maxOutputSize, Operand <T> iouThreshold, Operand <T> scoreThreshold, Operand <T> softNmsSigma, Options.. . pilihan)
Metode pabrik untuk membuat kelas yang membungkus operasi NonMaxSuppressionV5 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 dari NonMaxSuppressionV5
NonMaxSuppressionV5.Options statis publik padToMaxOutputSize (Boolean padToMaxOutputSize)
Parameter
padToMaxOutputSize | Jika benar, output `selected_indices` akan diisi dengan panjang `max_output_size`. Defaultnya salah. |
---|
Output publik <Bilangan Bulat> 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`)
Keluaran publik <Bilangan Bulat> keluaran valid ()
Tensor bilangan bulat 0-D yang mewakili jumlah elemen valid di `indeks_terpilih`, dengan elemen valid muncul terlebih dahulu.