NonMaxSuppression

공개 최종 클래스 NonMaxSuppression

점수의 내림차순으로 경계 상자의 하위 집합을 탐욕스럽게 선택합니다.

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>
생성 ( 범위 범위, 피연산자 <T> 상자, 피연산자 <T> 점수, 피연산자 < TInt32 > maxOutputSize, 피연산자 <T> iouThreshold, 피연산자 <T> ScoreThreshold, 피연산자 <T> SoftNmsSigma, 옵션... 옵션)
새로운 NonMaxSuppression 작업을 래핑하는 클래스를 생성하는 팩토리 메서드입니다.
정적 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 코어 엔진에서 알려진 이 작업의 이름

상수 값: "NonMaxSuppressionV5"

공개 방법

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`인 경우) 해당 입력 점수와만 다릅니다.

공개 출력 <TInt32> validOutputs ()

'selected_indices'의 유효한 요소 수를 나타내는 0차원 정수 텐서. 유효한 요소가 먼저 나타납니다.