점수의 내림차순으로 경계 상자의 하위 집합을 탐욕스럽게 선택합니다.
IOU(Intersection-Over-Union)가 높은 상자가 이전에 선택한 상자와 겹치는 부분을 제거합니다. 점수가 `score_threshold`보다 작은 경계 상자가 제거됩니다. 경계 상자는 [y1, x1, y2, x2]로 제공됩니다. 여기서 (y1, x1) 및 (y2, x2)는 상자 모서리의 대각선 쌍의 좌표이며 좌표는 정규화된 대로 제공될 수 있습니다(예: 간격 [0, 1]) 또는 절대값. 이 알고리즘은 좌표계의 원점이 어디에 있는지에 영향을 받지 않으며 더 일반적으로는 좌표계의 직교 변환 및 변환에 불변합니다. 따라서 좌표계를 변환하거나 반영하면 알고리즘에 의해 동일한 상자가 선택됩니다. 이 작업의 출력은 선택한 상자를 나타내는 경계 상자의 입력 컬렉션을 인덱싱하는 정수 집합입니다. 선택한 인덱스에 해당하는 경계 상자 좌표는 'tf.gather 작업'을 사용하여 얻을 수 있습니다. 예: selected_indices = tf.image.non_max_suppression_v2(boxs, Score, max_output_size, iou_threshold, Score_threshold) selected_boxes = tf.gather(boxes, selected_indices) 이 작업은 Soft-NMS(가우시안 가중치 사용) 모드도 지원합니다(Bodla 외 참조) , https://arxiv.org/abs/1704.04503) 여기서 상자는 직접 잘라내는 대신 다른 겹치는 상자의 점수를 줄입니다. 이 Soft-NMS 모드를 활성화하려면 'soft_nms_sigma' 매개변수를 0보다 크게 설정하세요.
중첩 클래스
수업 | NonMaxSuppression.Options | NonMaxSuppression 의 선택적 속성 |
상수
끈 | OP_NAME | TensorFlow 코어 엔진에서 알려진 이 작업의 이름 |
공개 방법
static <T는 TNumber를 확장합니다. > NonMaxSuppression <T> | |
정적 NonMaxSuppression.Options | padToMaxOutputSize (부울 padToMaxOutputSize) |
출력 < TInt32 > | 선택된 인덱스 () 박스 텐서에서 선택된 인덱스를 나타내는 `[M]` 형태의 1차원 정수 텐서(여기서 `M <= max_output_size`). |
출력 <T> | 선택된 점수 () 선택된 각 상자에 해당하는 점수를 나타내는 `[M]` 모양의 1차원 부동 소수점 텐서(여기서 `M <= max_output_size`). |
출력 < TInt32 > | 유효한 출력 () 'selected_indices'의 유효한 요소 수를 나타내는 0차원 정수 텐서. 유효한 요소가 먼저 나타납니다. |
상속된 메서드
상수
공개 정적 최종 문자열 OP_NAME
TensorFlow 코어 엔진에서 알려진 이 작업의 이름
공개 방법
public static NonMaxSuppression <T> create ( 범위 범위, 피연산자 <T> 상자, 피연산자 <T> 점수, 피연산자 < TInt32 > maxOutputSize, 피연산자 <T> iouThreshold, 피연산자 <T> ScoreThreshold, 피연산자 <T> SoftNmsSigma, 옵션.. . 옵션)
새로운 NonMaxSuppression 작업을 래핑하는 클래스를 생성하는 팩토리 메서드입니다.
매개변수
범위 | 현재 범위 |
---|---|
상자 | `[num_boxes, 4]` 모양의 2D 부동 텐서. |
점수 | 각 상자(상자의 각 행)에 해당하는 단일 점수를 나타내는 `[num_boxes]` 모양의 1D 부동 텐서입니다. |
최대 출력 크기 | 최대값이 아닌 억제에 의해 선택될 최대 상자 수를 나타내는 스칼라 정수 텐서입니다. |
iou임계값 | IOU와 관련하여 상자가 너무 많이 겹치는지 여부를 결정하기 위한 임계값을 나타내는 0차원 부동 텐서입니다. |
점수임계값 | 점수에 따라 상자를 제거할 시기를 결정하기 위한 임계값을 나타내는 0차원 부동 텐서입니다. |
소프트Nms시그마 | Soft NMS의 시그마 매개변수를 나타내는 0-D 부동 텐서. Bodla 등(참조: https://arxiv.org/abs/1704.04503). `soft_nms_sigma=0.0`(기본값)인 경우 표준(하드) NMS로 대체됩니다. |
옵션 | 선택적 속성 값을 전달합니다. |
보고
- NonMaxSuppression의 새로운 인스턴스
공개 정적 NonMaxSuppression.Options padToMaxOutputSize (부울 padToMaxOutputSize)
매개변수
padToMaxOutputSize | true인 경우 출력 `selected_indices`는 `max_output_size` 길이가 되도록 채워집니다. 기본값은 거짓입니다. |
---|
공개 출력 < TInt32 > selectedIndices ()
박스 텐서에서 선택된 인덱스를 나타내는 `[M]` 형태의 1차원 정수 텐서(여기서 `M <= max_output_size`).
공개 출력 <T> selectedScores ()
선택된 각 상자에 해당하는 점수를 나타내는 `[M]` 모양의 1차원 부동 소수점 텐서(여기서 `M <= max_output_size`). 점수는 Soft NMS를 사용할 때(즉 `soft_nms_sigma>0`인 경우) 해당 입력 점수와만 다릅니다.