Skip to content

Release notes

1.0.0

  • 2026/10/07
  • 3D Inspection의 최초 릴리스입니다. CAD 부품 온보딩, 이미지 식별, 3D 스캔 검사를 Python API로 제공합니다.
  • [모델 추가]
    • 검출, 분할, feature 추출 모델의 weight 번들을 추가하였습니다. 다운로드 방법은 Getting started의 리소스 다운로드 절에 있습니다.
      • 1_2_0.3didet, 1_2_0.3diseg, 1_2_0.3difeat
  • [기능 추가]
    • CAD 부품을 하나씩 온보딩하는 OnboardHandler를 추가하였습니다.
      • OnboardHandler.build는 device와 enable_timer config로 handler를 생성합니다.
      • OnboardHandler.onboard는 CAD 파일 경로 하나를 받아 식별 template, 기하 캐시, 썸네일을 PartRecord로 반환합니다. 입력 형식은 .ply, .stl, .obj, .stp, .step입니다.
      • OnboardHandler.validate는 부품을 등록하지 않고 온보딩 가능한 형상인지 판정해 규칙별 실패 사유를 반환합니다.
      • OnboardHandler.get_time은 직전 onboard의 단계별 누적 소요 시간을 ms 단위로 반환합니다.
    • 이미지 식별과 스캔 검사를 하나의 handler로 제공하는 InferenceHandler를 추가하였습니다.
      • InferenceHandler.build는 inference_option, device, enable_timer config로 handler를 생성합니다.
      • InferenceHandler.warmup은 더미 입력으로 식별 파이프라인과 검사 편차 단계를 1회 실행해 초회 호출 지연을 제거합니다. set_catalog 뒤에 호출합니다.
    • 카탈로그 설정을 추가하였습니다. 호출 순서는 Call Order에, 활성 카탈로그가 필요한 메서드는 Active Catalog에 있습니다.
      • 호출자가 온보딩 산출물 PartRecord에 int part_id를 부여해 CatalogData를 조립하고, InferenceHandler.set_catalog로 활성 카탈로그를 설정합니다.
      • 카탈로그 교체도 같은 호출이며 모델을 다시 로드하지 않습니다.
      • 부품의 config_digest가 추론 쪽 온보딩 구성과 다르면 CatalogConfigMismatchError의 code를 반환하고 이전 활성 카탈로그를 유지합니다. 이 경우 해당 부품은 다시 온보딩해야 합니다.
    • 이미지 식별을 추가하였습니다.
      • InferenceHandler.identify_images는 부품 하나를 촬영한 RGB 이미지 목록을 받아 top-M candidate와 이미지별 detection을 반환합니다.
      • boxes로 bbox를 지정한 이미지는 그 bbox로 mask를 산출합니다.
    • 스캔 검사를 추가하였습니다. 검사 한 건은 세 호출로 구성됩니다.
      • InferenceHandler.prepare_scan은 스캔 파일을 읽어 배경을 제거한 ScanSurface를 반환합니다. 스캔 하나에 부품 하나가 전제입니다.
      • InferenceHandler.identify_scan은 그 ScanSurface의 부품 후보 순위를 활성 카탈로그에서 반환합니다.
      • InferenceHandler.inspect_scan은 ScanSurface를 호출자가 전달한 PartGeometry와 대조해 부품 → 스캔 pose와 스캔 삼각형별 부호 있는 표면 편차를 반환합니다.
    • inference option을 추가하였습니다. 설명은 Inference Option에 있습니다.
    • 반환 규약과 오류 code를 정의하였습니다. 설명은 API Return Value와 Error Code에 있습니다.
      • 모든 public 메서드는 (code, message, value)의 tuple을 반환합니다. code는 성공 시 0, 실패 시 음수 6자리 정수입니다.
      • 메서드별 Raises의 오류는 예외로 전파되지 않고 code로 반환되며, 절댓값의 끝 세 자리가 오류 종류입니다.
  • [기타 사항]
    • Python 버전은 3.11.9입니다.
    • 허용하는 SaigeToolkit 버전 범위는 requirements/common.txt에 있습니다.