텐서플로우:: ops:: NonMaxSuppressionV2

#include <image_ops.h>

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

요약

이 알고리즘은 이전에 선택된 경계 상자들과 IOU(Intersection-over-Union) 값이 크게 겹치는 상자들을 제거합니다. 경계 상자는 [y1, x1, y2, x2] 형식으로 제공되며, (y1, x1)과 (y2, x2)는 상자 모서리의 대각선 쌍의 좌표입니다. 이 좌표는 정규화된 값(즉, [0, 1] 범위) 또는 절대값으로 제공될 수 있습니다. 이 알고리즘은 좌표계의 원점 위치에 관계없이 작동하며, 직교 변환이나 좌표계 평행 이동에도 영향을 받지 않습니다. 따라서 좌표계를 평행 이동하거나 대칭 이동하더라도 알고리즘은 동일한 경계 상자를 선택합니다.

이 연산의 출력은 선택된 박스를 나타내는 입력 바운딩 박스 컬렉션의 인덱스를 갖는 정수 집합입니다. 선택된 인덱스에 해당하는 바운딩 박스 좌표는 tf.gather operation 사용하여 얻을 수 있습니다. 예를 들면 다음과 같습니다.

selected_indices = tf.image.non_max_suppression_v2( boxes, scores, max_output_size, iou_threshold) selected_boxes = tf.gather(boxes, selected_indices)

논거:

  • 범위: Scope 객체
  • boxes: [num_boxes, 4] 형태의 2차원 float 텐서입니다.
  • scores: 각 박스(각 박스 행)에 해당하는 단일 점수를 나타내는 [num_boxes] 형태의 1차원 float 텐서입니다.
  • max_output_size: 비최대 억제(non max suppression)에서 선택될 최대 박스 수를 나타내는 스칼라 정수 텐서입니다.
  • iou_threshold: IOU를 기준으로 박스가 너무 많이 겹치는지 여부를 판단하는 임계값을 나타내는 0차원 부동 소수점 텐서입니다.

보고:

  • Output : 박스 텐서에서 선택된 인덱스를 나타내는 [M] 형태의 1차원 정수 텐서입니다. 여기서 M <= max_output_size .

생성자와 소멸자

NonMaxSuppressionV2 (const :: tensorflow::Scope & scope, :: tensorflow::Input boxes, :: tensorflow::Input scores, :: tensorflow::Input max_output_size, :: tensorflow::Input iou_threshold)

공개 속성

operation
selected_indices

공공 기능

node () const
::tensorflow::Node *
operator::tensorflow::Input () const
operator::tensorflow::Output () const

공개 속성

작업

Operation operation

선택된 인덱스

::tensorflow::Output selected_indices

공공 기능

NonMaxSuppressionV2

 NonMaxSuppressionV2(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input boxes,
  ::tensorflow::Input scores,
  ::tensorflow::Input max_output_size,
  ::tensorflow::Input iou_threshold
)

마디

::tensorflow::Node * node() const 

연산자::텐서플로우::입력

 operator::tensorflow::Input() const 

연산자::텐서플로우::출력

 operator::tensorflow::Output() const