Dengan rakus memilih subset kotak pembatas dalam urutan skor yang menurun,
Operasi ini melakukan non_max_suppression pada input per batch, di semua kelas. Memangkas kotak yang memiliki interseksi-over-union (IOU) tinggi yang tumpang tindih dengan kotak yang dipilih sebelumnya. 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 algoritma ini tidak tergantung pada titik asal dalam sistem koordinat. Perhatikan juga bahwa algoritma ini tidak berubah 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 kotak terakhir, skor, dan tensor kelas yang dikembalikan setelah melakukan non_max_suppression.
Kelas Bersarang
kelas | GabunganNonMaxSuppression.Options | Atribut opsional untuk CombinedNonMaxSuppression |
Metode Publik
GabunganNonMaxSuppression.Options statis | clipBox (Kotak klip Boolean) |
GabunganNonMaxSuppression statis | buat ( Scope scope , kotak Operand <Float>, skor Operand <Float>, Operand <Integer> maxOutputSizePerClass, Operand <Integer> maxTotalSize, Operand <Float> iouThreshold, Operand <Float> scoreThreshold, Options... options) Metode pabrik untuk membuat kelas yang membungkus operasi CombinedNonMaxSuppression baru. |
Keluaran <Mengambang> | nmsedBoxes () Tensor [batch_size, max_detections, 4] float32 yang berisi kotak non-maks yang ditekan. |
Keluaran <Mengambang> | Kelas nmsed () Tensor float32 [batch_size, max_detections] yang berisi kelas untuk kotak. |
Keluaran <Mengambang> | Skor nmsed () Tensor [batch_size, max_detections] float32 yang berisi skor untuk kotak. |
GabunganNonMaxSuppression.Options statis | padPerClass (Boolean padPerClass) |
Keluaran <Bilangan Bulat> | Deteksi valid () Tensor int32 [batch_size] yang menunjukkan jumlah deteksi valid per item batch. |
Metode Warisan
Metode Publik
Kotak klip GabunganNonMaxSuppression.Options statis publik (Kotak klip Boolean)
Parameter
klipKotak | Jika benar, asumsikan koordinat kotak berada di antara [0, 1] dan potong kotak keluaran jika berada di luar [0, 1]. Jika salah, jangan lakukan kliping dan tampilkan koordinat kotak apa adanya. |
---|
public static CombinedNonMaxSuppression membuat ( Lingkup cakupan, kotak Operand <Float>, skor Operand <Float>, Operand <Integer> maxOutputSizePerClass, Operand <Integer> maxTotalSize, Operand <Float> iouThreshold, Operand <Float> scoreThreshold, Opsi... pilihan)
Metode pabrik untuk membuat kelas yang membungkus operasi CombinedNonMaxSuppression baru.
Parameter
cakupan | ruang lingkup saat ini |
---|---|
kotak | Tensor float 4-D dengan bentuk `[batch_size, num_boxes, q, 4]`. Jika `q` adalah 1 maka kotak yang sama digunakan untuk semua kelas, sebaliknya jika `q` sama dengan jumlah kelas, kotak khusus kelas akan digunakan. |
skor | Tensor float 3-D dengan bentuk `[batch_size, num_boxes, num_classes]` yang mewakili satu skor yang sesuai dengan setiap kotak (setiap baris kotak). |
maxOutputSizePerClass | Tensor bilangan bulat skalar yang mewakili jumlah maksimum kotak yang akan dipilih dengan penekanan non-maks per kelas |
maxTotalUkuran | Skalar int32 mewakili jumlah maksimum kotak yang dipertahankan di semua kelas. Perhatikan bahwa mengatur nilai ini ke angka yang besar dapat mengakibatkan kesalahan OOM tergantung pada beban kerja sistem. |
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. |
pilihan | membawa nilai atribut opsional |
Kembali
- contoh baru dari CombinedNonMaxSuppression
Keluaran publik <Float> nmsedBoxes ()
Tensor [batch_size, max_detections, 4] float32 yang berisi kotak non-maks yang ditekan.
Keluaran publik <Float> nmsedClasses ()
Tensor float32 [batch_size, max_detections] yang berisi kelas untuk kotak.
Keluaran publik <Float> nmsedScores ()
Tensor [batch_size, max_detections] float32 yang berisi skor untuk kotak.
public static CombinedNonMaxSuppression.Options padPerClass (Boolean padPerClass)
Parameter
padPerClass | Jika salah, kotak keluaran nms, skor dan kelas akan diisi/dipotong ke `max_total_size`. Jika benar, kotak keluaran nms, skor, dan kelas akan diisi dengan panjang `max_size_per_class`*`num_classes`, kecuali jika melebihi `max_total_size` dalam hal ini akan dipotong menjadi `max_total_size`. Defaultnya salah. |
---|
Output publik <Integer> validDetections ()
Tensor int32 [batch_size] yang menunjukkan jumlah deteksi valid per item batch. Hanya entri num_detections[i] teratas di nms_boxes[i], nms_scores[i] dan nms_class[i] yang valid. Entri lainnya adalah nol bantalan.