Dengan rakus memilih subset kotak pembatas dalam urutan skor yang menurun,
Operasi ini melakukan non_max_supression pada input per batch, di semua kelas. Pangkas kotak yang memiliki interseksi-over-union (IOU) tinggi yang tumpang tindih dengan kotak yang dipilih sebelumnya. Kotak pembatas disediakan 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 terhadap tempat asal dalam sistem koordinat. Perhatikan juga bahwa algoritme ini invarian terhadap transformasi ortogonal dan translasi sistem koordinat; sehingga menerjemahkan atau refleksi dari hasil sistem koordinat dalam kotak yang sama yang dipilih oleh algoritma. Keluaran dari operasi ini adalah kotak akhir, skor dan tensor kelas yang dikembalikan setelah melakukan non_max_supresi.
Kelas Bersarang
kelas | GabunganNonMaxSuppression.Options | Atribut opsional untuk CombinedNonMaxSuppression |
Metode Publik
statis CombinedNonMaxSuppression.Options | clipBoxes (Boolean clipBoxes) |
statis CombinedNonMaxSuppression | membuat ( Lingkup lingkup, Operan <Lampung> kotak, Operan <Lampung> skor, Operan <Integer> maxOutputSizePerClass, Operan <Integer> maxTotalSize, Operan <Lampung> iouThreshold, Operan <Lampung> scoreThreshold, Options ... pilihan) Metode pabrik untuk membuat kelas yang membungkus operasi CombinedNonMaxSuppression baru. |
Output <Lampung> | nmsedBoxes () Tensor float32 [batch_size, max_detections, 4] berisi kotak non-max yang ditekan. |
Output <Lampung> | nmsedClasses () Tensor float32 [batch_size, max_detections] berisi kelas-kelas untuk kotak. |
Output <Lampung> | nmsedScores () Tensor float32 [batch_size, max_detections] yang berisi skor untuk kotak. |
statis CombinedNonMaxSuppression.Options | padPerClass (Boolean padPerClass) |
Output <Integer> | validDetections () Tensor int32 [batch_size] yang menunjukkan jumlah deteksi yang valid per item batch. |
Metode yang Diwarisi
Metode Publik
public static CombinedNonMaxSuppression.Options clipBoxes (Boolean clipBoxes)
Parameter
kotak klip | Jika benar, asumsikan koordinat kotak berada di antara [0, 1] dan klip kotak keluaran jika berada di luar [0, 1]. Jika salah, jangan lakukan kliping dan keluarkan koordinat kotak apa adanya. |
---|
public static CombinedNonMaxSuppression membuat ( Scope lingkup, Operan <Lampung> kotak, Operan <Lampung> skor, Operan <Integer> maxOutputSizePerClass, Operan <Integer> maxTotalSize, Operan <Lampung> iouThreshold, Operan <Lampung> scoreThreshold, Options ... pilihan)
Metode pabrik untuk membuat kelas yang membungkus operasi CombinedNonMaxSuppression baru.
Parameter
cakupan | lingkup saat ini |
---|---|
kotak | Tensor float 4-D berbentuk `[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 digunakan. |
skor | Tensor float 3-D berbentuk `[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 kotak maksimum yang akan dipilih dengan penekanan non-maks per kelas |
maxTotalSize | Skalar int32 mewakili jumlah maksimum kotak yang dipertahankan di semua kelas. Perhatikan bahwa menyetel nilai ini ke jumlah besar dapat mengakibatkan kesalahan OOM tergantung pada beban kerja sistem. |
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. |
pilihan | membawa nilai atribut opsional |
Kembali
- contoh baru CombinedNonMaxSuppression
publik Keluaran <Lampung> nmsedBoxes ()
Tensor float32 [batch_size, max_detections, 4] berisi kotak non-max yang ditekan.
publik Keluaran <Lampung> nmsedClasses ()
Tensor float32 [batch_size, max_detections] berisi kelas-kelas untuk kotak.
publik Keluaran <Lampung> nmsedScores ()
Tensor float32 [batch_size, max_detections] yang berisi skor untuk kotak.
public static CombinedNonMaxSuppression.Options padPerClass (Boolean padPerClass)
Parameter
padPerClass | Jika salah, kotak, skor, dan kelas dengan kode keluaran akan diisi/dipotong ke `max_total_size`. Jika benar, kotak, skor, dan kelas nmsed keluaran akan diisi dengan panjang `max_size_per_class`*`num_classes`, kecuali melebihi `max_total_size` dalam hal ini dipotong menjadi `max_total_size`. Default ke salah. |
---|
publik Keluaran <Integer> validDetections ()
Tensor int32 [batch_size] yang menunjukkan jumlah deteksi yang valid per item batch. Hanya entri num_detections[i] teratas di nms_boxes[i], nms_scores[i] dan nms_class[i] yang valid. Sisa entri adalah bantalan nol.