콘텐츠로 이동

SaigeInferenceOption

  • #include <SaigeVisionAPI.h>

추론 옵션이 담긴 구조체입니다.

Public Attributes

Type Name
bool calcTime
(Common) 추론 API 실행에 소요되는 시간을 세분화하여 출력할지 결정합니다.
int batchSize
(Common) 추론을 한 번 수행할 때 추론하는 이미지의 개수입니다. 추론 핸들 생성 시에 SaigeHandleConfig를 통해서만 설정할 수 있습니다.
const char * oversizedImageHandling
(SEG, IEN) SaigeHandleConfig에서 지정한 inspection size보다 큰 이미지를 처리하는 방법입니다. Segmentation 은 SAIGE_DO_NOT_INSPECT, SAIGE_RESIZE_TO_FIT, SAIGE_CROP_INTO_TILES 세 가지 옵션을 사용할 수 있으며, Image Enhancement에서는 SAIGE_DO_NOT_ENHANCE, SAIGE_CROP_INTO_TILES 두 가지 옵션을 사용할 수 있습니다.
float[ ] additionalScores
(CLS) 클래스별 additional score 값입니다. n번째 인덱스에 설정한 값만큼 n번째 클래스에 추가 score가 부여됩니다.
bool calcClassActivationMap
(CLS) true로 설정하면 추론 시 class activation map을 계산합니다.
int[ ] maxNumOfDetectedObjects
(DET, ROD) 검출할 detected object의 최대 개수입니다. 이 값보다 더 많은 개수의 detected object가 검출되면 score가 낮은 순으로 최종 결과에서 제외됩니다. Rotated Object Detection 기능의 경우 0번째 값만 유효합니다.
bool calcScoremap
(SEG) true로 설정하면 추론 시 scoremap을 계산합니다.
bool calcObject
(SEG, IAD) true로 설정하면 추론 시 segmented object를 계산합니다.
bool calcObjectAreaAndApplyThreshold
(SEG, IAD) true로 설정하면 segmented object의 면적을 계산합니다. Segmented object의 면적이 object area threshold 보다 작으면 최종 결과에서 제외됩니다.
bool calcObjectScoreAndApplyThreshold
(SEG, IAD) true로 설정하면 segmented object의 score를 계산합니다. Segmented object의 score가 object score threshold 보다 작으면 최종 결과에서 제외됩니다.
int[ ] objectBoundaryThresholdPerClass
(SEG) 클래스별 object boundary threshold 값입니다. n번째 값이 클수록 n번째 클래스의 mask 및 segmented object의 경계가 좁아집니다.
int[ ] objectAreaThresholdPerClass
(SEG, DET) 클래스별 object area threshold 값입니다. n번째 클래스로 검출된 object의 면적이 n번째 값보다 작으면 최종 결과에서 제외됩니다.
double[ ] objectScoreThresholdPerClass
(SEG, DET, ROD) 클래스별 object score threshold 값입니다. n번째 클래스로 검출된 object의 score가 n번째 값보다 작으면 최종 결과에서 제외됩니다.
bool calcMask
(SEG, IAD) true로 설정하면 추론 시 이미지 원본과 같은 크기의 mask를 계산합니다.
bool calcHeatmap
(IAD) true로 설정하면 추론 시 이미지 원본과 같은 크기의 heatmap을 계산합니다.
double anomalyScoreThreshold
(IAD) 이미지 전체를 대표하는 anomaly score가 이 값보다 크면 비정상 이미지로, 작거나 같으면 정상 이미지로 판정합니다. 학습 시점에 찾은 최적값이 기본값으로 설정됩니다.
double heatmapColorRangeMin
(IAD) Heatmap을 계산할 때 이 값보다 score가 작은 픽셀은 모두 클리핑됩니다. 학습 시점에 찾은 최적값이 기본값으로 설정됩니다.
double heatmapColorRangeMax
(IAD) Heatmap을 계산할 때 이 값보다 score가 큰 픽셀은 모두 클리핑됩니다. 학습 시점에 찾은 최적값이 기본값으로 설정됩니다.
double objectBoundaryThreshold
(IAD) 이 값이 클수록 mask 및 segmented object의 경계가 좁아집니다.
int objectAreaThreshold
(IAD) 검출된 segmented object의 면적이 이 값보다 작으면 최종 결과에서 제외됩니다.
double objectScoreThreshold
(IAD) 검출된 object의 score가 이 값보다 작으면 최종 결과에서 제외됩니다.
double polygonScoreThreshold
(OCR) 검출된 글자영역인 polygon score 값이 이 값보다 작으면 최종 결과에서 제외됩니다.
int textSizeRangeMin
(OCR) 검출된 글자영역 크기의 유효범위 하한값입니다. 이 값보다 작은 글자는 최종 결과에서 제외됩니다.
int textSizeRangeMax
(OCR) 검출된 글자영역 크기의 유효범위 상한값입니다. 이 값보다 큰 글자는 최종 결과에서 제외됩니다.
int maxNumOfTextObjects
(OCR) 한 번에 출력할 수 있는 글자 오브젝트의 최대 검출 개수입니다. 0 이하의 값은 제한 없음을 의미합니다.
double textScoreThreshold
(OCR) 인식된 글자 오브젝트의 text score 값이 이 값보다 작으면 최종 결과에서 제외됩니다.
SaigeTextFormatting textFormatting
(OCR) 인식하고자 하는 글자의 포맷을 지정하는 옵션입니다.

Public Attributes Documentation

calcTime

(Common) 추론 API 실행에 소요되는 시간을 세분화하여 출력할지 결정합니다.

bool calcTime;

  • true로 설정하면 이미지를 읽는 시간, 순수 딥러닝 추론 시간, 후처리 시간을 각각 확인할 수 있습니다.
  • false로 설정하면 추론 API 실행에 소요된 총 시간만을 확인할 수 있습니다.
  • Image Enhancement 기능에서는 후처리 시간이 따로 측정되지 않습니다.

Warning

true로 설정하면 전체 추론 시간이 느려질 수 있습니다. 실제 검사 시에는 false로 설정하는 것을 권장합니다.

See also: SaigeGetInferenceResultInspectionTime, SAIGE_SET_CALC_TIME

batchSize

(Common) 추론을 한 번 수행할 때 추론하는 이미지의 개수입니다. 추론 핸들 생성 시에 SaigeHandleConfig를 통해서만 설정할 수 있습니다.

int batchSize;

See also: SaigeHandleConfig.batchSize

oversizedImageHandling

(SEG, IEN) SaigeHandleConfig에서 지정한 inspection size보다 큰 이미지를 처리하는 방법입니다. Segmentation 은 SAIGE_DO_NOT_INSPECT, SAIGE_RESIZE_TO_FIT, SAIGE_CROP_INTO_TILES 세 가지 옵션을 사용할 수 있으며, Image Enhancement에서는 SAIGE_DO_NOT_ENHANCE, SAIGE_CROP_INTO_TILES 두 가지 옵션을 사용할 수 있습니다.

const char * oversizedImageHandling;

옵션 동작
SAIGE_DO_NOT_INSPECT 추론을 수행하지 않고 에러를 일으킵니다.
SAIGE_DO_NOT_ENHANCE 추론을 수행하지 않고 에러를 일으킵니다.
SAIGE_RESIZE_TO_FIT 이미지의 가로-세로 비율을 유지하면서 inspection size 보다는 크지
않게 이미지를 리사이즈하여 추론을 수행합니다. SAIGE_CROP_INTO_TILES Inspection size로

이미지를 크롭하여 패치마다 추론을 수행한 뒤 각 결과를 합쳐 내보냅니다.

See also: SaigeHandleConfig.inspectionSizeWidth, SaigeHandleConfig.inspectionSizeHeight

additionalScores

(CLS) 클래스별 additional score 값입니다. n번째 인덱스에 설정한 값만큼 n번째 클래스에 추가 score가 부여됩니다.

float[] additionalScores;

각 additional score 값은 0 이상 100 이하의 실수로만 설정 가능합니다.

See also: SaigeGetInferenceResultScore

calcClassActivationMap

(CLS) true로 설정하면 추론 시 class activation map을 계산합니다.

bool calcClassActivationMap;

Warning

true로 설정하면 전체 추론 시간이 느려지며 추론 최적화를 적용하는 것도 불가능합니다. 실제 검사 시에는 false로 설정하는 것을 권장합니다.

See also: SaigeGetInferenceResultClassActivationMap

maxNumOfDetectedObjects

(DET, ROD) 검출할 detected object의 최대 개수입니다. 이 값보다 더 많은 개수의 detected object가 검출되면 score가 낮은 순으로 최종 결과에서 제외됩니다. Rotated Object Detection 기능의 경우 0번째 값만 유효합니다.

int[] maxNumOfDetectedObjects;

See also: SAIGE_SET_MAX_NUM_OF_DETECTED_OBJECTS

calcScoremap

(SEG) true로 설정하면 추론 시 scoremap을 계산합니다.

bool calcScoremap;

See also: SaigeGetInferenceResultScoremapSEG, SAIGE_SET_CALC_SCOREMAP

calcObject

(SEG, IAD) true로 설정하면 추론 시 segmented object를 계산합니다.

bool calcObject;

See also: SaigeSegmentedObject, SAIGE_SET_CALC_OBJECT

calcObjectAreaAndApplyThreshold

(SEG, IAD) true로 설정하면 segmented object의 면적을 계산합니다. Segmented object의 면적이 object area threshold 보다 작으면 최종 결과에서 제외됩니다.

bool calcObjectAreaAndApplyThreshold;

See also: SaigeSegmentedObject::area, SAIGE_SET_CALC_OBJECT_AREA_AND_APPLY_THRESHOLD

calcObjectScoreAndApplyThreshold

(SEG, IAD) true로 설정하면 segmented object의 score를 계산합니다. Segmented object의 score가 object score threshold 보다 작으면 최종 결과에서 제외됩니다.

bool calcObjectScoreAndApplyThreshold;

See also: SaigeSegmentedObject::score, SAIGE_SET_CALC_OBJECT_SCORE_AND_APPLY_THRESHOLD

objectBoundaryThresholdPerClass

(SEG) 클래스별 object boundary threshold 값입니다. n번째 값이 클수록 n번째 클래스의 mask 및 segmented object의 경계가 좁아집니다.

int[] objectBoundaryThresholdPerClass;

  • 0번 인덱스 값은 OK 클래스에 대응하는 값으로 의미가 없으며 설정도 불가능합니다.
  • calcObject가 true일 때 유효합니다.

See also: SaigeSegmentedObject, SaigeDrawSegmentedObjects, SAIGE_SET_OBJECT_BOUNDARY_THRESHOLD

objectAreaThresholdPerClass

(SEG, DET) 클래스별 object area threshold 값입니다. n번째 클래스로 검출된 object의 면적이 n번째 값보다 작으면 최종 결과에서 제외됩니다.

int[] objectAreaThresholdPerClass;

  • SEG에서는 segmented object, DET에서는 detected object에 적용됩니다.
  • 0번 인덱스 값은 OK 클래스에 대응하는 값으로 의미가 없으며 설정도 불가능합니다.
  • SEG에서는 calcObject가 true일 때 유효합니다.

See also: SAIGE_SET_OBJECT_AREA_THRESHOLD

objectScoreThresholdPerClass

(SEG, DET, ROD) 클래스별 object score threshold 값입니다. n번째 클래스로 검출된 object의 score가 n번째 값보다 작으면 최종 결과에서 제외됩니다.

double[] objectScoreThresholdPerClass;

  • SEG에서는 segmented object, DET에서는 detected object에 적용됩니다.
  • Segmented object의 score 범위는 0 ~ 255이며 detected object의 score 범위는 0 ~ 100입니다.
  • 0번 인덱스 값은 OK 클래스에 대응하는 값으로 의미가 없으며 설정도 불가능합니다.
  • SEG에서는 calcObject가 true일 때 유효합니다.

See also: SAIGE_SET_OBJECT_SCORE_THRESHOLD

calcMask

(SEG, IAD) true로 설정하면 추론 시 이미지 원본과 같은 크기의 mask를 계산합니다.

bool calcMask;

See also: SaigeGetInferenceResultMask, SAIGE_SET_CALC_MASK

calcHeatmap

(IAD) true로 설정하면 추론 시 이미지 원본과 같은 크기의 heatmap을 계산합니다.

bool calcHeatmap;

See also: SaigeGetInferenceResultHeatmap, SAIGE_SET_CALC_HEATMAP

anomalyScoreThreshold

(IAD) 이미지 전체를 대표하는 anomaly score가 이 값보다 크면 비정상 이미지로, 작거나 같으면 정상 이미지로 판정합니다. 학습 시점에 찾은 최적값이 기본값으로 설정됩니다.

double anomalyScoreThreshold;

See also: SaigeGetInferenceResultAnomalyScores, SAIGE_SET_ANOMALY_SCORE_THRESHOLD

heatmapColorRangeMin

(IAD) Heatmap을 계산할 때 이 값보다 score가 작은 픽셀은 모두 클리핑됩니다. 학습 시점에 찾은 최적값이 기본값으로 설정됩니다.

double heatmapColorRangeMin;

See also: SaigeGetInferenceResultHeatmap, SaigeDrawHeatmap, SAIGE_SET_HEATMAP_COLOR_RANGE

heatmapColorRangeMax

(IAD) Heatmap을 계산할 때 이 값보다 score가 큰 픽셀은 모두 클리핑됩니다. 학습 시점에 찾은 최적값이 기본값으로 설정됩니다.

double heatmapColorRangeMax;

See also: SaigeGetInferenceResultHeatmap, SaigeDrawHeatmap, SAIGE_SET_HEATMAP_COLOR_RANGE

objectBoundaryThreshold

(IAD) 이 값이 클수록 mask 및 segmented object의 경계가 좁아집니다.

double objectBoundaryThreshold;

  • Mask를 계산할 때 이 값보다 score가 더 큰 픽셀은 1로, 더 작은 픽셀은 0으로 계산합니다.
  • calcObject가 true일 때 유효합니다.

See also: SaigeSegmentedObject, SaigeDrawSegmentedObjects, SAIGE_SET_OBJECT_BOUNDARY_THRESHOLD

objectAreaThreshold

(IAD) 검출된 segmented object의 면적이 이 값보다 작으면 최종 결과에서 제외됩니다.

int objectAreaThreshold;

  • calcObject가 true일 때 유효합니다.

See also: SaigeSegmentedObject::area, SaigeGetInferenceResultSegmentedObjects, SAIGE_SET_OBJECT_AREA_THRESHOLD

objectScoreThreshold

(IAD) 검출된 object의 score가 이 값보다 작으면 최종 결과에서 제외됩니다.

double objectScoreThreshold;

  • calcObject가 true일 때 유효합니다.

See also: SaigeSegmentedObject::score, SaigeGetInferenceResultSegmentedObjects, SAIGE_SET_OBJECT_SCORE_THRESHOLD

polygonScoreThreshold

(OCR) 검출된 글자영역인 polygon score 값이 이 값보다 작으면 최종 결과에서 제외됩니다.

double polygonScoreThreshold;

See also: SaigeTextObject

textSizeRangeMin

(OCR) 검출된 글자영역 크기의 유효범위 하한값입니다. 이 값보다 작은 글자는 최종 결과에서 제외됩니다.

int textSizeRangeMin;

See also: SaigeTextObject

textSizeRangeMax

(OCR) 검출된 글자영역 크기의 유효범위 상한값입니다. 이 값보다 큰 글자는 최종 결과에서 제외됩니다.

int textSizeRangeMax;

See also: SaigeTextObject

maxNumOfTextObjects

(OCR) 한 번에 출력할 수 있는 글자 오브젝트의 최대 검출 개수입니다. 0 이하의 값은 제한 없음을 의미합니다.

int maxNumOfTextObjects;

See also: SaigeTextObject

textScoreThreshold

(OCR) 인식된 글자 오브젝트의 text score 값이 이 값보다 작으면 최종 결과에서 제외됩니다.

double textScoreThreshold;

See also: SaigeTextObject

textFormatting

(OCR) 인식하고자 하는 글자의 포맷을 지정하는 옵션입니다.

SaigeTextFormatting textFormatting;

See also: SaigeTextFormatting