Tham lam chọn một tập hợp con các hộp giới hạn theo thứ tự điểm giảm dần,
cắt bỏ các hộp có sự chồng chéo cao (IOU) với các hộp đã chọn trước đó. Các hộp giới hạn có số điểm nhỏ hơn `score_threshold` sẽ bị xóa. Các hộp giới hạn được cung cấp dưới dạng [y1, x1, y2, x2], trong đó (y1, x1) và (y2, x2) là tọa độ của bất kỳ cặp góc chéo nào của hộp và tọa độ có thể được cung cấp dưới dạng chuẩn hóa (nghĩa là nằm trong khoảng [0, 1]) hoặc tuyệt đối. Lưu ý rằng thuật toán này không xác định được gốc tọa độ ở đâu và nói chung là bất biến đối với các phép biến đổi trực giao và tịnh tiến của hệ tọa độ; do đó việc dịch hoặc phản ánh của hệ tọa độ dẫn đến các hộp giống nhau được thuật toán chọn. Đầu ra của thao tác này là một tập hợp các số nguyên được lập chỉ mục vào tập hợp đầu vào của các hộp giới hạn đại diện cho các hộp đã chọn. Sau đó, tọa độ hộp giới hạn tương ứng với các chỉ mục đã chọn có thể được lấy bằng cách sử dụng `tf.gather Operation`. Ví dụ: selected_indices = tf.image.non_max_suppression_v2( hộp, điểm, max_output_size, iou_threshold, Score_threshold) selected_boxes = tf.gather(boxes, selected_indices) Op này cũng hỗ trợ chế độ Soft-NMS (với trọng số Gaussian) (cf Bodla et al , https://arxiv.org/abs/1704.04503) trong đó các hộp làm giảm điểm của các hộp chồng chéo khác thay vì trực tiếp khiến chúng bị cắt bớt. Để bật chế độ Soft-NMS này, hãy đặt tham số `soft_nms_sigma` lớn hơn 0.
Các lớp lồng nhau
lớp học | NonMaxSuppression.Options | Thuộc tính tùy chọn cho NonMaxSuppression |
Hằng số
Sợi dây | OP_NAME | Tên của op này, được biết đến bởi công cụ lõi TensorFlow |
Phương pháp công cộng
tĩnh <T mở rộng TNumber > NonMaxSuppression <T> | |
tĩnh NonMaxSuppression.Options | padToMaxOutputSize (Boolean padToMaxOutputSize) |
Đầu ra < TInt32 > | chỉ số đã chọn () Một tenxơ số nguyên 1-D có hình dạng `[M]` đại diện cho các chỉ số đã chọn từ tenxơ của hộp, trong đó `M <= max_output_size`. |
Đầu ra <T> | đã chọnScores () Một tenxơ nổi 1-D có hình dạng `[M]` đại diện cho điểm số tương ứng cho mỗi hộp đã chọn, trong đó `M <= max_output_size`. |
Đầu ra < TInt32 > | kết quả đầu ra hợp lệ () Một tenxơ số nguyên 0-D biểu thị số phần tử hợp lệ trong `chỉ_số đã chọn`, với các phần tử hợp lệ xuất hiện đầu tiên. |
Phương pháp kế thừa
Hằng số
Chuỗi cuối cùng tĩnh công khai OP_NAME
Tên của op này, được biết đến bởi công cụ lõi TensorFlow
Phương pháp công cộng
public static NonMaxSuppression <T> tạo ( Phạm vi phạm vi , hộp Toán hạng <T>, Điểm toán hạng <T>, Toán hạng < TInt32 > maxOutputSize, Toán hạng <T> iouThreshold, Toán hạng <T> ScoreThreshold, Toán hạng <T> softNmsSigma, Tùy chọn.. . tùy chọn)
Phương thức xuất xưởng để tạo một lớp bao bọc một thao tác NonMaxSuppression mới.
Thông số
phạm vi | phạm vi hiện tại |
---|---|
hộp | Một tensor nổi 2-D có hình dạng `[num_boxes, 4]`. |
điểm số | Một tenxơ nổi 1-D có hình dạng `[num_boxes]` đại diện cho một điểm duy nhất tương ứng với mỗi hộp (mỗi hàng hộp). |
kích thước đầu ra tối đa | Một tenxơ số nguyên vô hướng biểu thị số lượng hộp tối đa được chọn bằng cách loại trừ không tối đa. |
iouNgưỡng | Một tenxơ float 0-D biểu thị ngưỡng để quyết định xem các hộp có chồng chéo quá nhiều so với IOU hay không. |
ngưỡng điểm | Một tenxơ float 0-D biểu thị ngưỡng quyết định thời điểm loại bỏ các hộp dựa trên điểm số. |
mềmNmsSigma | Một tenxơ float 0-D biểu thị tham số sigma cho Soft NMS; xem Bodla và cộng sự (xem https://arxiv.org/abs/1704.04503). Khi `soft_nms_sigma=0.0` (là mặc định), chúng tôi quay lại NMS tiêu chuẩn (cứng). |
tùy chọn | mang các giá trị thuộc tính tùy chọn |
Trả lại
- một phiên bản mới của NonMaxSuppression
tĩnh công khai NonMaxSuppression.Options padToMaxOutputSize (Boolean padToMaxOutputSize)
Thông số
padToMaxOutputSize | Nếu đúng, đầu ra `selected_indices` sẽ được đệm để có độ dài `max_output_size`. Mặc định là sai. |
---|
Đầu ra công khai < TInt32 > chỉ số đã chọn ()
Một tenxơ số nguyên 1-D có hình dạng `[M]` đại diện cho các chỉ số đã chọn từ tenxơ của hộp, trong đó `M <= max_output_size`.
đầu ra công khai <T> đã chọnScores ()
Một tenxơ nổi 1-D có hình dạng `[M]` đại diện cho điểm số tương ứng cho mỗi hộp đã chọn, trong đó `M <= max_output_size`. Điểm chỉ khác với điểm đầu vào tương ứng khi sử dụng Soft NMS (tức là khi `soft_nms_sigma>0`)