Dengan rakus memilih subset kotak pembatas dalam urutan skor yang menurun,
memangkas kotak yang memiliki interseksi-over-union (IOU) yang tinggi tumpang tindih dengan 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 diagonal sudut kotak dan koordinat dapat diberikan sebagai ternormalisasi (yaitu, terletak di interval [0, 1]) atau absolut. Perhatikan bahwa algoritme ini agnostik ke tempat asal berada dalam sistem koordinat dan lebih umum lagi invarian terhadap transformasi ortogonal dan terjemahan sistem koordinat; sehingga menerjemahkan atau refleksi dari hasil sistem koordinat dalam kotak yang sama yang dipilih oleh algoritma. Keluaran dari operasi ini adalah sekumpulan bilangan bulat yang mengindeks ke dalam koleksi masukan kotak pembatas yang mewakili kotak yang dipilih. Koordinat kotak pembatas yang sesuai dengan indeks yang dipilih kemudian dapat diperoleh dengan menggunakan `operasi tf.gather`. Sebagai contoh: selected_indices = tf.image.non_max_suppression_v2( kotak, skor, max_output_size, iou_threshold, score_threshold) selected_boxes = tf.gather(boxes, selected_indices) Operasi ini juga mendukung mode Soft-NMS (dengan pembobotan Gaussian) (lih Bodla et al) , https://arxiv.org/abs/1704.04503) di mana kotak mengurangi skor kotak tumpang tindih lainnya alih-alih secara langsung menyebabkannya dipangkas. Untuk mengaktifkan mode Soft-NMS ini, setel 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]` mewakili indeks yang dipilih dari tensor kotak, di mana `M <= max_output_size`. |
Keluaran <T> | Skor yang dipilih () Tensor float 1-D berbentuk `[M]` mewakili skor yang sesuai untuk setiap kotak yang dipilih, di mana `M <= max_output_size`. |
Keluaran <Bilangan Bulat> | keluaran yang valid () Tensor bilangan bulat 0-D yang mewakili jumlah elemen yang valid dalam `selected_indices`, dengan elemen yang valid muncul terlebih dahulu. |
Metode yang Diwarisi
Metode Publik
public static NonMaxSuppressionV5 <T> create ( Scope scope, Operand <T> box, Operand <T> skor, Operand <Integer> maxOutputSize, Operand <T> iouThreshold, Operand <T> scoreThreshold, Operand <T> softNmsSigma, Opsi.. . pilihan)
Metode pabrik untuk membuat kelas yang membungkus operasi NonMaxSuppressionV5 baru.
Parameter
cakupan | lingkup saat ini |
---|---|
kotak | Tensor float 2-D berbentuk `[num_boxes, 4]`. |
skor | Tensor float 1-D berbentuk `[num_boxes]` mewakili satu skor yang sesuai dengan setiap kotak (setiap baris kotak). |
maxOutputSize | Tensor bilangan bulat skalar yang mewakili jumlah kotak maksimum yang akan dipilih dengan penekanan non-maks. |
iouThreshold | Tensor float 0-D yang mewakili ambang batas untuk memutuskan apakah kotak terlalu tumpang tindih sehubungan dengan IOU. |
skorAmbang | Tensor float 0-D yang mewakili ambang batas untuk memutuskan kapan harus menghapus kotak berdasarkan skor. |
softNmsSigma | 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 NonMaxSuppressionV5
NonMaxSuppressionV5.Options publik statis padToMaxOutputSize ( Boolean padToMaxOutputSize)
Parameter
padToMaxOutputSize | Jika benar, output `selected_indices` diisi dengan panjang `max_output_size`. Default ke salah. |
---|
Output publik <Integer> indeks yang dipilih ()
Tensor bilangan bulat 1-D berbentuk `[M]` mewakili indeks yang dipilih dari tensor kotak, di mana `M <= max_output_size`.
Output publik <T> Skor yang dipilih ()
Tensor float 1-D berbentuk `[M]` mewakili skor yang sesuai untuk setiap kotak yang dipilih, di mana `M <= max_output_size`. Skor hanya berbeda dari skor input yang sesuai saat menggunakan Soft NMS (yaitu saat `soft_nms_sigma>0`)
Output publik <Integer> validOutputs ()
Tensor bilangan bulat 0-D yang mewakili jumlah elemen yang valid dalam `selected_indices`, dengan elemen yang valid muncul terlebih dahulu.