텐서플로우:: 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