추론 결과¶
추론 결과를 받아 옵니다.
Classes¶
| Type | Name |
|---|---|
| struct | SaigeRotatedBox 회전 가능한 직사각형의 정보가 담긴 구조체입니다. |
| struct | SaigeDetectedObject Object detection(DET)을 통해 검출된 영역의 정보가 담긴 구조체입니다. |
| struct | SaigeEllipse 타원 정보가 담긴 구조체입니다. |
| struct | SaigeSegmentedObject Segmentation(SEG) 또는 Anomaly Detection(IAD)을 통해 검출된 영역의 정보가 담긴 구조체입니다. |
| struct | SaigeTextObject 텍스트를 검출하는 OCR 검사의 결과가 담긴 구조체입니다. |
Public Functions¶
| Type | Name |
|---|---|
| int | SaigeGetInferenceResultScore (SaigeInferenceResult result, float * scores, bool includeAddScore) (CLS) 클래스별 score 값이 담긴 배열을 받아 옵니다. |
| int | SaigeGetInferenceResultClass (SaigeInferenceResult result, int * classIndex) (CLS) Additional score 까지 반영된 클래스별 최종 score 값 중 가장 값이 큰 인덱스를 받아 옵니다. |
| int | SaigeGetInferenceResultClassActivationMap (SaigeInferenceResult result, unsigned char ** classActivationMap) (CLS) Class activation map 배열을 받아 옵니다. |
| int | SaigeGetInferenceResultNumOfDetectedObjects (SaigeInferenceResult result, int * numOfObjects) (DET) 검출된 detected object의 개수를 받아 옵니다. |
| int | SaigeGetInferenceResultDetectedObjects (SaigeInferenceResult result, SaigeDetectedObject * detectedObjects) (DET) 검출된 detected object의 배열을 받아 옵니다. |
| int | SaigeGetInferenceResultNumOfSegmentedObjects (SaigeInferenceResult result, int * num) (IAD, SEG) 검출된 segmented object의 개수를 받아 옵니다. |
| int | SaigeGetInferenceResultSegmentedObjects (SaigeInferenceResult result, SaigeSegmentedObject * segObjects) (IAD, SEG) 검출된 segmented object의 배열을 받아 옵니다. |
| int | SaigeGetInferenceResultMask (SaigeInferenceResult result, unsigned char ** mask) (IAD, SEG) Mask 배열을 받아 옵니다. |
| int | SaigeGetInferenceResultScoremapSEG (SaigeInferenceResult result, unsigned char ** scoremap) (SEG) Scoremap 배열을 받아 옵니다. |
| int | SaigeGetInferenceResultIsOversized (SaigeInferenceResult result, bool * isOversized) (SEG) 추론에 입력한 이미지의 크기가 SaigeHandleConfig에서 지정한 inspection size보다 컸는지 여부를 받아 옵니다. |
| int | SaigeGetInferenceResultAnomalyScores (SaigeInferenceResult result, double * anomalyScore, double * minScore, double * maxScore) (IAD) 세 가지 score를 받아 옵니다. |
| int | SaigeGetInferenceResultIsNg (SaigeInferenceResult result, bool * isNg) (IAD) 이미지의 정상/비정상 판별 결과를 받아 옵니다. |
| int | SaigeGetInferenceResultScoremapIAD (SaigeInferenceResult result, float ** scoremap) (IAD) Scoremap 배열을 받아 옵니다. |
| int | SaigeGetInferenceResultHeatmap (SaigeInferenceResult result, float ** heatmap) (IAD) Heatmap 배열을 받아 옵니다. |
| int | SaigeGetInferenceResultNumOfTextObjects (SaigeInferenceResult result, int * num) (OCR) 검사 이미지에서 검출된 텍스트 영역의 개수를 받아 옵니다. |
| int | SaigeGetInferenceResultEnhancedImage (SaigeInferenceResult result, unsigned char ** image) (IEN) 향상된 품질의 이미지를 받아 옵니다. |
| int | SaigeGetInferenceResultTextObjects (SaigeInferenceResult result, SaigeTextObject * textObjects) (OCR) 검출된 텍스트 영역인 SaigeTextObject들을 받아 옵니다. |
| int | SaigeGetInferenceResultInspectionTime (SaigeInferenceResult result, long long * imreadTime, long long * inferenceTime, long long * postProcessingTime) (Common) 추론 API 실행에 소요된 시간을 밀리초 단위로 받아 옵니다. |
| int | SaigeGetInferenceResultProductId (SaigeInferenceResult result, const char ** productId, unsigned int * length) (Common) 추론 API 실행시 지정하거나, 지정하지 않은 경우 자동으로 생성된 Product ID를 받아 옵니다. |
Public Functions Documentation¶
SaigeGetInferenceResultScore¶
(CLS) 클래스별 score 값이 담긴 배열을 받아 옵니다.
int SaigeGetInferenceResultScore (
SaigeInferenceResult result,
float * scores,
bool includeAddScore
)
Parameters:
result추론 결과가 담긴 결과 핸들입니다.scores[out] 클래스별 score 값이 담긴 배열입니다.includeAddScoretrue로 설정 시 additional score가 반영된 score 값을 받아 오며,false일 시 원본 score 값을 받아 옵니다.
Returns:
errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.
SaigeGetInferenceResultClass¶
(CLS) Additional score 까지 반영된 클래스별 최종 score 값 중 가장 값이 큰 인덱스를 받아 옵니다.
int SaigeGetInferenceResultClass (
SaigeInferenceResult result,
int * classIndex
)
Parameters:
result추론 결과가 담긴 결과 핸들입니다.classIndex[out] Score 값이 가장 큰 클래스의 인덱스입니다.
Returns:
errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.
SaigeGetInferenceResultClassActivationMap¶
(CLS) Class activation map 배열을 받아 옵니다.
int SaigeGetInferenceResultClassActivationMap (
SaigeInferenceResult result,
unsigned char ** classActivationMap
)
- Class activation map은 딥러닝 모델이 이미지를 특정 클래스로 분류할 때 이미지의 어떤 영역이 얼마나 영향을 끼쳤는지 나타내는 heatmap입니다.
- 픽셀 값은 0 ~ 255 범위의 정수로 표시되며 값이 큰 픽셀일수록 분류 결과에 큰 영향을 끼쳤다고 볼 수 있습니다.
- 형상은 (원본 이미지 높이
H, 원본 이미지 너비W)입니다. - 코드상에서는 싱글 포인터로 표현되는 1차원 배열이며 행 우선 방식을 따릅니다. 즉
i번째 행,j번째 열의 값은data[W*i + j]입니다.
Parameters:
result추론 결과가 담긴 결과 핸들입니다.classActivationMap[out] Class activation map 배열입니다.
Returns:
errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.
SaigeGetInferenceResultNumOfDetectedObjects¶
(DET) 검출된 detected object의 개수를 받아 옵니다.
int SaigeGetInferenceResultNumOfDetectedObjects (
SaigeInferenceResult result,
int * numOfObjects
)
Parameters:
result추론 결과가 담긴 결과 핸들입니다.numOfObjects[out] 검출된 detected object의 개수입니다.
Returns:
errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.
SaigeGetInferenceResultDetectedObjects¶
(DET) 검출된 detected object의 배열을 받아 옵니다.
int SaigeGetInferenceResultDetectedObjects (
SaigeInferenceResult result,
SaigeDetectedObject * detectedObjects
)
Parameters:
result추론 결과가 담긴 결과 핸들입니다.detectedObjects[out] 검출된 detected object의 배열입니다.
Returns:
errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.
SaigeGetInferenceResultNumOfSegmentedObjects¶
(IAD, SEG) 검출된 segmented object의 개수를 받아 옵니다.
int SaigeGetInferenceResultNumOfSegmentedObjects (
SaigeInferenceResult result,
int * num
)
Parameters:
result추론 결과가 담긴 결과 핸들입니다.num[out] 검출된 segmented object의 개수입니다.
Returns:
errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.
SaigeGetInferenceResultSegmentedObjects¶
(IAD, SEG) 검출된 segmented object의 배열을 받아 옵니다.
int SaigeGetInferenceResultSegmentedObjects (
SaigeInferenceResult result,
SaigeSegmentedObject * segObjects
)
Parameters:
result추론 결과가 담긴 결과 핸들입니다.segObjects[out] 검출된 segmented object의 배열입니다.
Returns:
errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.
SaigeGetInferenceResultMask¶
(IAD, SEG) Mask 배열을 받아 옵니다.
int SaigeGetInferenceResultMask (
SaigeInferenceResult result,
unsigned char ** mask
)
- (IAD) 정상으로 분류된 픽셀은 0, 비정상으로 분류된 픽셀은 1로 표시됩니다.
- (SEG)
OK클래스로 분류된 픽셀은 0, 다른 클래스로 분류된 픽셀은 해당 클래스 인덱스 값으로 표시됩니다. - 형상은 (원본 이미지 높이
H, 원본 이미지 너비W)입니다. - 코드상에서는 싱글 포인터로 표현되는 1차원 배열이며 행 우선 방식을 따릅니다. 즉
i번째 행,j번째 열의 값은data[W*i + j]입니다.
Parameters:
result추론 결과가 담긴 결과 핸들입니다.mask[out] Mask 배열입니다.
Returns:
errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.
SaigeGetInferenceResultScoremapSEG¶
(SEG) Scoremap 배열을 받아 옵니다.
int SaigeGetInferenceResultScoremapSEG (
SaigeInferenceResult result,
unsigned char ** scoremap
)
- SEG의 scoremap으로 IAD의 scoremap과는 다릅니다.
- 형상은 (
OK를 포함하는 클래스 개수, 원본 이미지 높이H, 원본 이미지 너비W)입니다. - 이미지의
i번째 행,j번째 열 픽셀이c번째 클래스로 예측되었다면,(c, i, j)픽셀에 해당 클래스로 예측한 score 값이 0 ~ 255 범위의 정수로 표시됩니다. - 코드상에서는 싱글 포인터로 표현되는 1차원 배열이며 행 우선 방식을 따릅니다. 즉
c번째 클래스,i번째 행,j번째 열의 값은data[W*H*c + W*i + j]로 얻을 수 있습니다.
Parameters:
result추론 결과가 담긴 결과 핸들입니다.scoremap[out] Scoremap 배열입니다.
Returns:
errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.
SaigeGetInferenceResultIsOversized¶
(SEG) 추론에 입력한 이미지의 크기가 SaigeHandleConfig에서 지정한 inspection size보다 컸는지 여부를 받아 옵니다.
int SaigeGetInferenceResultIsOversized (
SaigeInferenceResult result,
bool * isOversized
)
Parameters:
result추론 결과가 담긴 결과 핸들입니다.isOversized[out]true면 입력 이미지 크기가 inspection size보다 컸음을,false면 입력 이미지 크기가 inspection size보다 크지 않았음을 나타냅니다.
Returns:
errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.
See also: SaigeHandleConfig.inspectionSizeWidth, SaigeHandleConfig.inspectionSizeHeight, SaigeInferenceOption.oversizedImageHandling
SaigeGetInferenceResultAnomalyScores¶
(IAD) 세 가지 score를 받아 옵니다.
int SaigeGetInferenceResultAnomalyScores (
SaigeInferenceResult result,
double * anomalyScore,
double * minScore,
double * maxScore
)
Parameters:
result추론 결과가 담긴 결과 핸들입니다.anomalyScore[out] 이미지의 대표 anomaly score입니다.minScore[out] 이미지의 픽셀별 score 중 최솟값입니다.maxScore[out] 이미지의 픽셀별 score 중 최댓값입니다.
Returns:
errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.
SaigeGetInferenceResultIsNg¶
(IAD) 이미지의 정상/비정상 판별 결과를 받아 옵니다.
int SaigeGetInferenceResultIsNg (
SaigeInferenceResult result,
bool * isNg
)
Parameters:
result추론 결과가 담긴 결과 핸들입니다.isNg[out] 정상/비정상 판별 결과입니다.true면 비정상 이미지임을,false면 정상 이미지임을 나타냅니다.
SaigeGetInferenceResultScoremapIAD¶
(IAD) Scoremap 배열을 받아 옵니다.
int SaigeGetInferenceResultScoremapIAD (
SaigeInferenceResult result,
float ** scoremap
)
- IAD의 scoremap으로 SEG의 scoremap과는 다릅니다.
- 픽셀별 score 값이 0 이상의 실수로 표시됩니다.
- 형상은 (원본 이미지 높이
H, 원본 이미지 너비W)입니다. - 코드상에서는 싱글 포인터로 표현되는 1차원 배열이며 행 우선 방식을 따릅니다. 즉
i번째 행,j번째 열의 값은data[W*i + j]입니다.
Parameters:
result추론 결과가 담긴 결과 핸들입니다.scoremap[out] Scoremap 배열입니다.
Returns:
errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.
SaigeGetInferenceResultHeatmap¶
(IAD) Heatmap 배열을 받아 옵니다.
int SaigeGetInferenceResultHeatmap (
SaigeInferenceResult result,
float ** heatmap
)
- Scoremap을
heatmapColorRangeMin과heatmapColorRangeMax사이로 노멀라이징한 배열입니다. 각 픽셀 값은 0 ~ 1 범위의 실수로 표시됩니다. - 형상은 (원본 이미지 높이
H, 원본 이미지 너비W)입니다. - 코드상에서는 싱글 포인터로 표현되는 1차원 배열이며 행 우선 방식을 따릅니다. 즉
i번째 행,j번째 열의 값은data[W*i + j]입니다.
Parameters:
result추론 결과가 담긴 결과 핸들입니다.heatmap[out] Heatmap 배열입니다.
Returns:
errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.
SaigeGetInferenceResultNumOfTextObjects¶
(OCR) 검사 이미지에서 검출된 텍스트 영역의 개수를 받아 옵니다.
int SaigeGetInferenceResultNumOfTextObjects (
SaigeInferenceResult result,
int * num
)
Parameters:
result추론 결과가 담긴 결과 핸들입니다.num[out] 검출된 텍스트 영역의 개수입니다.
Returns:
errorCode 정상 작동시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.
SaigeGetInferenceResultEnhancedImage¶
(IEN) 향상된 품질의 이미지를 받아 옵니다.
int SaigeGetInferenceResultEnhancedImage (
SaigeInferenceResult result,
unsigned char ** image
)
Parameters:
result추론 결과가 담긴 결과 핸들입니다.image[out] 이미지를 저장할 주소입니다.
Returns:
errorCode 정상 작동시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.
SaigeGetInferenceResultTextObjects¶
(OCR) 검출된 텍스트 영역인 SaigeTextObject들을 받아 옵니다.
int SaigeGetInferenceResultTextObjects (
SaigeInferenceResult result,
SaigeTextObject * textObjects
)
Parameters:
result추론 결과가 담긴 결과 핸들입니다.textObjects[out] 결과 SaigeTextObject 배열입니다. SaigeGetInferenceResultNumOfTextObjects 에서 반환된 개수 이상 할당되어있어야 합니다.
Returns:
errorCode 정상 작동시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.
See also: SaigeTextObject
SaigeGetInferenceResultInspectionTime¶
(Common) 추론 API 실행에 소요된 시간을 밀리초 단위로 받아 옵니다.
int SaigeGetInferenceResultInspectionTime (
SaigeInferenceResult result,
long long * imreadTime,
long long * inferenceTime,
long long * postProcessingTime
)
Parameters:
result추론 결과가 담긴 결과 핸들입니다.imreadTime[out] 이미지를 읽는 시간입니다.inferenceTime[out] 이미지 전처리 및 딥러닝 추론에 소요된 시간입니다.postProcessingTime[out] 후처리 시간입니다.
Returns:
errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.
SaigeGetInferenceResultProductId¶
(Common) 추론 API 실행시 지정하거나, 지정하지 않은 경우 자동으로 생성된 Product ID를 받아 옵니다.
int SaigeGetInferenceResultProductId (
SaigeInferenceResult result,
const char ** productId,
unsigned int * length
)
Parameters:
result추론 결과가 담긴 결과 핸들입니다.productId[out] 받아올 Product ID 문자열의 포인터입니다.length[out] 받아올 Product ID 문자열의 길이입니다.
Returns:
errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.