콘텐츠로 이동

Inference

calibration.ImageCalibrator

Image Calibration을 위한 ImageCalibrator 클래스입니다. Usage: demo/demo_calibration.py 참고


build(config) classmethod

ImageCalibrator 인스턴스를 생성합니다.

Parameters:

Name Type Description Default
config dict

ImageCalibrator build 하기 위한 config가 담긴 dictionary 입니다.

{
    "model": str, "fast", "standard"  하나입니다.
    "reference_frame": np.ndarray, # 기준이 되는 프레임입니다.
    "ltrb_ratio": Union[list[float], tuple[float, float, float, float], # Ratio로 표현된 ROI 좌표입니다. IAD/SEG Metadata에 존재하는 ltrb_ratio를 사용할 수 있습니다.
    "device": DeviceType,  # "cpu" or "cuda:0"
}

required

Returns:

Name Type Description
ImageCalibrator ImageCalibrator

ImageCalibrator 인스턴스


calibrate(frame)

ImageCalibrator를 사용하여 주어진 프레임을 calibrate합니다.

Parameters:

Name Type Description Default
frame ndarray

calibration에 사용할 프레임입니다.

required

Returns:

Name Type Description
result CalibrationOutput

calibration된 이미지와 변환 정보가 담긴 dictionary입니다.

{
    "calibrated_image": np.ndarray, # 보정된 이미지
    "calibration_info": {
        # 변환 정보 수치가 담긴 dictionary입니다.
        "translation": (float, float), # translation (x, y) 변환 정보. (단위: 픽셀)
        "rotation": float, # rotation 변환 정보. (단위: 각도)
        "scale": (float, float), # scale (x, y) 변환 정보. (단위: 비율)
        "perspective": (float, float), # perspective (x, y) 변환 정보. (단위: 비율).
    },
    "time": {
        # 각 처리 단계의 시간 측정 결과를 담고 있는 dictionary입니다.(단위: ms)
        "preprocess_time": float, # 이미지 전처리 시간.
        "calibration_trigger_time": float, # calibration trigger 시간.
        "inference_time": float, # 모델 추론 시간.
        "find_homography_time": float, # 모델 추론 결과를 바탕으로 homography matrix를 찾는 시간.
        "apply_homography_time": float, # homography matrix를 바탕으로 이미지를 보정하는 시간.
    },
}