텐서플로우:: 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인 경우, 잘라내지 않고 박스 좌표를 그대로 출력합니다.
보고:
-
Outputnmsed_boxes: 최대값 억제가 적용되지 않은 박스를 포함하는 [batch_size, max_detections, 4] 크기의 float32 텐서입니다. -
Outputnmsed_scores: 박스에 대한 점수를 포함하는 [batch_size, max_detections] 크기의 float32 텐서입니다. -
Outputnmsed_classes: 박스에 대한 클래스를 포함하는 [batch_size, max_detections] 크기의 float32 텐서입니다. -
Outputvalid_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 )