텐서플로우:: ops:: 결합된 비최대 억제

#include <image_ops.h>

점수가 높은 순서대로 경계 상자의 부분 집합을 탐욕적으로 선택합니다.

요약

이 연산은 모든 클래스에 걸쳐 배치별 입력에 대해 non_max_suppression을 수행합니다. 이전에 선택된 박스와 IOU(Intersection-over-Union) 값이 크게 겹치는 박스를 제거합니다. 바운딩 박스는 [y1, x1, y2, x2] 형식으로 제공되며, (y1, x1)과 (y2, x2)는 박스 모서리의 대각선 쌍의 좌표입니다. 좌표는 정규화된 값(즉, [0, 1] 범위) 또는 절대값으로 제공될 수 있습니다. 이 알고리즘은 좌표계의 원점 위치에 관계없이 작동합니다. 또한, 좌표계의 직교 변환 및 평행 이동에 대해 불변입니다. 따라서 좌표계를 평행 이동하거나 대칭 이동하더라도 알고리즘은 동일한 박스를 선택합니다. 이 연산의 출력은 non_max_suppression을 수행한 후 반환되는 최종 박스, 점수 및 클래스 텐서입니다.

논거:

  • 범위: Scope 객체
  • boxes: [batch_size, num_boxes, q, 4] 형태의 4차원 float 텐서입니다. q 가 1이면 모든 클래스에 동일한 박스가 사용되고, q 클래스 수와 같으면 클래스별 박스가 사용됩니다.
  • scores: 각 박스(각 박스 행)에 해당하는 단일 점수를 나타내는 [batch_size, num_boxes, num_classes] 형태의 3차원 float 텐서입니다.
  • max_output_size_per_class: 클래스별로 최대 억제(max suppression)를 사용하지 않고 선택할 수 있는 최대 박스 수를 나타내는 스칼라 정수 텐서입니다.
  • max_total_size: 모든 클래스에 걸쳐 유지되는 최대 박스 수를 나타내는 스칼라 값입니다.
  • iou_threshold: IOU를 기준으로 박스가 너무 많이 겹치는지 여부를 판단하는 임계값을 나타내는 0차원 부동 소수점 텐서입니다.
  • score_threshold: 점수를 기준으로 박스를 제거할 시점을 결정하는 임계값을 나타내는 0차원 부동 소수점 텐서입니다.

선택적 속성( Attrs 참조):

  • pad_per_class: false로 설정하면 출력되는 nmsed 박스, 점수 및 클래스는 max_total_size 까지 패딩/클리핑됩니다. true로 설정하면 출력되는 nmsed 박스, 점수 및 클래스는 max_size_per_class * num_classes 길이로 패딩됩니다. 단, max_total_size 초과하는 경우에는 max_total_size 까지 클리핑됩니다. 기본값은 false입니다.
  • clip_boxes: true인 경우, 박스 좌표가 [0, 1] 사이에 있다고 가정하고, [0, 1] 범위를 벗어나는 경우 출력 박스를 잘라냅니다. false인 경우, 잘라내지 않고 박스 좌표를 그대로 출력합니다.

보고:

  • Output nmsed_boxes: 최대값 억제가 적용되지 않은 박스를 포함하는 [batch_size, max_detections, 4] 크기의 float32 텐서입니다.
  • Output nmsed_scores: 박스에 대한 점수를 포함하는 [batch_size, max_detections] 크기의 float32 텐서입니다.
  • Output nmsed_classes: 박스에 대한 클래스를 포함하는 [batch_size, max_detections] 크기의 float32 텐서입니다.
  • Output valid_detections: 배치 항목당 유효한 감지 개수를 나타내는 [batch_size] 크기의 int32 텐서입니다. nms_boxes[i], nms_scores[i], nms_class[i]에서 상위 num_detections[i]개 항목만 유효합니다. 나머지 항목은 0으로 채워진 값입니다.

생성자와 소멸자

CombinedNonMaxSuppression (const :: tensorflow::Scope & scope, :: tensorflow::Input boxes, :: tensorflow::Input scores, :: tensorflow::Input max_output_size_per_class, :: tensorflow::Input max_total_size, :: tensorflow::Input iou_threshold, :: tensorflow::Input score_threshold)
CombinedNonMaxSuppression (const :: tensorflow::Scope & scope, :: tensorflow::Input boxes, :: tensorflow::Input scores, :: tensorflow::Input max_output_size_per_class, :: tensorflow::Input max_total_size, :: tensorflow::Input iou_threshold, :: tensorflow::Input score_threshold, const CombinedNonMaxSuppression::Attrs & attrs)

공개 속성

nmsed_boxes
nmsed_classes
nmsed_scores
operation
valid_detections

공개 정적 함수

ClipBoxes (bool x)
PadPerClass (bool x)

구조

텐서플로우:: ops:: CombinedNonMaxSuppression:: Attrs

CombinedNonMaxSuppression 에 대한 선택적 속성 설정기입니다.

공개 속성

nmsed_boxes

::tensorflow::Output nmsed_boxes

nmsed_클래스

::tensorflow::Output nmsed_classes

nmsed_scores

::tensorflow::Output nmsed_scores

작업

Operation operation

유효한 감지

::tensorflow::Output valid_detections

공공 기능

결합된 비최대 억제

 CombinedNonMaxSuppression(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input boxes,
  ::tensorflow::Input scores,
  ::tensorflow::Input max_output_size_per_class,
  ::tensorflow::Input max_total_size,
  ::tensorflow::Input iou_threshold,
  ::tensorflow::Input score_threshold
)

결합된 비최대 억제

 CombinedNonMaxSuppression(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input boxes,
  ::tensorflow::Input scores,
  ::tensorflow::Input max_output_size_per_class,
  ::tensorflow::Input max_total_size,
  ::tensorflow::Input iou_threshold,
  ::tensorflow::Input score_threshold,
  const CombinedNonMaxSuppression::Attrs & attrs
)

공개 정적 함수

클립박스

Attrs ClipBoxes(
  bool x
)

PadPerClass

Attrs PadPerClass(
  bool x
)