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) 검출할 detected object의 최대 개수입니다. 이 값보다 더 많은 개수의 detected object가 검출되면 score가 낮은 순으로 최종 결과에서 제외됩니다. |
| 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) 클래스별 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) 검출된 segmented 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) 검출할 detected object의 최대 개수입니다. 이 값보다 더 많은 개수의 detected object가 검출되면 score가 낮은 순으로 최종 결과에서 제외됩니다.
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) 클래스별 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) 검출된 segmented 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