CombinedNonMaxSuppression

공개 최종 클래스 CombinedNonMaxSuppression

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

이 작업은 모든 클래스에서 배치당 입력에 대해 non_max_suppression을 수행합니다. 이전에 선택한 상자와 IOU(Intersection-Over-Union)가 많이 겹치는 상자를 제거합니다. 경계 상자는 [y1, x1, y2, x2]로 제공됩니다. 여기서 (y1, x1) 및 (y2, x2)는 상자 모서리의 대각선 쌍의 좌표이고 좌표는 정규화된 대로 제공될 수 있습니다(예: 간격 [0, 1]) 또는 절대값. 이 알고리즘은 좌표계에서 원점이 어디에 있는지에 영향을 받지 않습니다. 또한 이 알고리즘은 좌표계의 직교 변환 및 변환에 변하지 않습니다. 따라서 좌표계를 변환하거나 반영하면 알고리즘에 의해 동일한 상자가 선택됩니다. 이 작업의 출력은 non_max_suppression을 수행한 후 반환된 최종 상자, 점수 및 클래스 텐서입니다.

중첩 클래스

수업 CombinedNonMaxSuppression.Options CombinedNonMaxSuppression 의 선택적 속성

공개 방법

정적 CombinedNonMaxSuppression.Options
클립박스 (부울 클립박스)
정적 CombinedNonMaxSuppression
생성 ( Scope 범위, Operand <Float> 상자, Operand <Float> 점수, Operand <Integer> maxOutputSizePerClass, Operand <Integer> maxTotalSize, Operand <Float> iouThreshold, Operand <Float> ScoreThreshold, 옵션... 옵션)
새로운 CombinedNonMaxSuppression 작업을 래핑하는 클래스를 생성하는 팩토리 메서드입니다.
출력 <플로트>
nmsedBoxes ()
최대값이 아닌 억제된 상자를 포함하는 [batch_size, max_Detections, 4] float32 텐서.
출력 <플로트>
nmsedClasses ()
상자의 클래스를 포함하는 [batch_size, max_Detections] float32 텐서.
출력 <플로트>
nmsed점수 ()
상자의 점수를 포함하는 [batch_size, max_Detections] float32 텐서.
정적 CombinedNonMaxSuppression.Options
padPerClass (부울 padPerClass)
출력 <정수>
유효한 감지 ()
배치 항목당 유효한 감지 수를 나타내는 [batch_size] int32 텐서.

상속된 메서드

공개 방법

공개 정적 CombinedNonMaxSuppression.Options 클립박스 (부울 클립박스)

매개변수
클립박스 true인 경우 상자 좌표가 [0, 1] 사이에 있다고 가정하고 출력 상자가 [0, 1]을 벗어나면 출력 상자를 자릅니다. false인 경우 클리핑을 하지 않고 상자 좌표를 그대로 출력합니다.

public static CombinedNonMaxSuppression create ( Scope 범위, Operand <Float> 상자, Operand <Float> 점수, Operand <Integer> maxOutputSizePerClass, Operand <Integer> maxTotalSize, Operand <Float> iouThreshold, Operand <Float> ScoreThreshold, 옵션... 옵션)

새로운 CombinedNonMaxSuppression 작업을 래핑하는 클래스를 생성하는 팩토리 메서드입니다.

매개변수
범위 현재 범위
상자 `[batch_size, num_boxes, q, 4]` 모양의 4D 부동 텐서. `q`가 1이면 모든 클래스에 동일한 상자가 사용됩니다. 그렇지 않으면 `q`가 클래스 수와 같으면 클래스별 상자가 사용됩니다.
점수 각 상자(상자의 각 행)에 해당하는 단일 점수를 나타내는 `[batch_size, num_boxes, num_classes]` 모양의 3D 부동 텐서입니다.
maxOutputSizePerClass 클래스당 비최대 억제로 선택할 최대 상자 수를 나타내는 스칼라 정수 텐서
최대 총 크기 모든 클래스에 걸쳐 유지되는 최대 상자 수를 나타내는 int32 스칼라입니다. 이 값을 큰 숫자로 설정하면 시스템 작업 부하에 따라 OOM 오류가 발생할 수 있습니다.
iou임계값 IOU와 관련하여 상자가 너무 많이 겹치는지 여부를 결정하기 위한 임계값을 나타내는 0차원 부동 텐서입니다.
점수임계값 점수에 따라 상자를 제거할 시기를 결정하기 위한 임계값을 나타내는 0차원 부동 텐서입니다.
옵션 선택적 속성 값을 전달합니다.
보고
  • CombinedNonMaxSuppression의 새로운 인스턴스

공개 출력 <Float> nmsedBoxes ()

최대값이 아닌 억제된 상자를 포함하는 [batch_size, max_Detections, 4] float32 텐서.

공개 출력 <Float> nmsedClasses ()

상자의 클래스를 포함하는 [batch_size, max_Detections] float32 텐서.

공개 출력 <Float> nmsedScores ()

상자의 점수를 포함하는 [batch_size, max_Detections] float32 텐서.

공개 정적 CombinedNonMaxSuppression.Options padPerClass (부울 padPerClass)

매개변수
padPerClass false인 경우 출력 nmsed 상자, 점수 및 클래스가 'max_total_size'에 맞게 채워지거나 잘립니다. true인 경우 출력 nmsed 상자, 점수 및 클래스는 길이가 `max_size_per_class`*`num_classes`가 되도록 채워집니다. 단, `max_total_size`를 초과하지 않는 한 `max_total_size`로 잘립니다. 기본값은 거짓입니다.

공개 출력 <Integer> validDetections ()

배치 항목당 유효한 감지 수를 나타내는 [batch_size] int32 텐서. nms_boxes[i], nms_scores[i] 및 nms_class[i]의 상위 num_Detections[i] 항목만 유효합니다. 나머지 항목은 0 패딩입니다.