Release notes

2.2.0rc3

  • 2023.01.05

    [버그 수정]

    • resize_dim type 달라서 발생하는 버그 수정
    • save_checkpoint metadata 관련 부분 제거
    • TrainConfigMaker 프레임 폴더 명에 하이픈 여러개 있을 때 발생하던 버그 수정
    • TrainConfigMaker가 프레임 폴더 1개만 학습에 사용하도록 했던 버그 수정. 이제는 frame_dir 모두 사용합니다.

    [기능 제거]

    • VCls trainer 제거. Clustering으로 기능 대체

    [기능 추가]

    • VadInferenceEngine.save_checkpoint API 추가. 모델 weight를 업데이트하여 저장합니다.

    [기타]

    • color complexity roi 사용하도록 수정

  • Previous versions

    2.1.0

    • 2022.12.23

      [버그 수정]

      [기능 추가]

      • Developer 개발을 위한 python API 추가
      • VAD 학습 결과 이용 Clustering 학습 기능 추가
        • AnomalyClusteringTrainer.convert_vad_train_result_to_train_message
          • VadTrainer.process_weight_sampling 의 output을 이용하여 AnomalyCluseteringTrainer.train() 의 input인 train_message_dict를 만들어 주는 기능.백엔드에서 VAD 모델에 metadata 저장할 때 사용.
      • InferenceEngineHandler에 is_roi_calibration setter 메소드 추가
      • VAD pretrained 모델 사용으로 인한 setup.py 수정 (weight download)
      • saigevad model 파일에 “cluster_train_images” 추가. (최초 clustering 학습한 이미지들)
      • 메타데이터 관련 수정사항 반영 및 'common' 키 사용.
        • 'anomaly_cluster_meta' 에 "cluster_info", "initial_cluster_output", "cluster_train_images" 추가
          • “cluster_info” 내부에 “severity_level” 키 추가 및 “ignore” 기본값.
        • 'color_complexity_mask' 추가
      • inference state “slow_motion” 추가 (state_index == 7)

        Index State 설명
        1 no_motion 공정이 정지한 상태입니다.
        2 inspect 기본 상태이며, VAD 모델을 통해 score를 계산합니다.
        3 domain_shift_detection domain shift (장면 변경)이 발생한 상태입니다.
        4 roi_calibration roi calibration이 발생한 상태입니다.
        5 no_roi_match roi template과 비교하였을 때, 허용 범위 내에 해당 template과 동일한 장면이 없는 상태입니다.
        6 error 오류가 발생한 상태입니다.
        7 slow_motion 공정이 정지한 것은 아니나, 느리게 움직이는 상태입니다.
        - [SPRINT] Cluster갯수 줄이기 with Agglomerative Clustering
        - ResultContainer에'cluster_distance', 'cluster_confidence' 필드 추가

      [기능 개선]

      [기능 제거]

      • VCls 학습 관련 내용 제거
        • metadata, config 등에서 vcls 키워드 제거.
        • 검사에서는 기존 VCls 학습 모델 사용 가능.
      • metadata field 제거

      [기타]

      • SaigeToolkit의 SaigeError install 반영

    2.0.3

    • 2022.11.22

      [기능 개선]

      • Anomaly Clustering Trainer에서 cuda 사용 불가시에, CudaNotAvailableError를 띄움.

    2.0.2

    • 2022.11.09

      [버그 수정]

      • Anomaly Clustering Inference 의 Indistribution Detector v1 호환성 관련 Hotfix
        1. v1 indistribution detector 살려냄.
        2. inference 시에, clustering_method 가 'mice'면 v1, 'moco'면 v2 를 호출함.
        3. v1 indistribution detector를 살려냄에 따라, lightning-bolts==0.5.0 이 requirements로 추가됨.

    2.0.1

    • 2022.11.04

      [버그 수정]

      • Anomaly Clustering Inference의 Indistribution Detector가 pretrained 모델로 학습된 indistribution detector의 state_dict를 로드할 때에 해당 클래스가 pretrained_weight으로 init 되지 않을 경우, conv 사이즈 맞지 않는 현상 수정.

    2.0.0

    • 2022.10.28

      [기능 추가] - Anomaly Clustering Moco 알고리즘 추가 - Anomaly Clustering Trainer 테스트 코드 추가. - Indistribution Detector의 pretrained 모델 사용으로 인한 setup.py 수정 및 config.py 수정. (weight download)

      [기능 개선] - Indistribution Detector 성능 개선. - Anomaly Clustering 알고리즘 pl-bolts 의존성 제거

    1.5.4

    • 2022.10.25
    • [FIX] fix moco dataloader issue
    • [FIX] save roi template image when inference (for debugging)
    • [FIX] cycle counter GPU memory 최소화
    • [FIX] seperate out vad model loader and vcls model loader
    • [FEATURE] slow motion detection → is_slow result 필드 추가

    1.5.3

    • 2022.10.17
    • [FIX] type error in model converter

    1.5.2

    • 2022.10.17
    • [FIX] Color_complexity_mask converter에 추가
    • Update latest metadata for leagacy model file

    1.5.1

    • 2022.10.14
    • metadata 변경 및 호환성 관련
      • v1 -> v2 모델 컨버팅 시, metadata에 cluster_info 추가
      • Inference에서 critical로 체크된 cluster가 아닐 때 is_anomaly=False로 덮어쓰는 로직 제거
      • AnomalyClusterTrainer 학습 후 metadata에 cluster_info 추가
      • metadata validation 체크시 'cluster_info' 추가
      • v1 모델 metadata -> common_settings 에서 roi_xyxy 혹은 roi 모두 -> v2 roi_xyxy로 변경.
    • Cycle Counter 관련
      • is_anomaly와 관계없이 cycle count 작동하도록 변경
      • 모델 config에서 inspect_length 불러올 수 있도록 수정

    1.5.0

    • 2022.10.14
    • Cycle counter 추가 [TASK] Cycle counter 구현
      • 128 frame 마다 업데이트되는 누적 cycle 횟수를 result field “cycle_count”로 저장
    • result field에 “cycle_count” 추가

    1.4.7

    • 2022.10.13
      1. add "color_complexity_mask" to metadata["common_settings"]

    1.4.6

    • 2022.10.13
    • VAD 연구팀에서 쓸 metadata 확정 ⇒ 앞으로 API Docs 맨 위에 metadata 테이블 두고 변경 시 백엔드 팀과 논의해서 바꾸기.
    • metadata 체크 test 코드 추가 (필드 이름 정확히 일치하는 지)
    • moco clustering 추가.

    1.4.5

    • 2022.10.11
    • [Fix] v1 변환 모델 infer 시 color complexity 초기화 에러 해결 (config 없는 문제)
    • [Fix] cluster 학습 시 load_checkpoint 를 한번 더해서 에러나는 부분 수정
    • [Fix] legacy meta_data를 encrypt 안하도록 수정

    1.4.4

    • 2022.09.28
    • [Fix] torch.cuda.empty_cache()를 기존 6개에서 1개만 실행되도록 수정. 기타 버그 수정.

    1.4.3

    • 2022.09.26
    • [New] cythonize 할 때 pretrained model weight을 다운 받고, deploy 폴더에 같이 포함 시킴.

    1.4.2

    • 2022.09.26
    • [Fix] selector import 제거
    • [Modify] saigevad 'meta_data' 'metadata' 모두 사용 가능.
    • [Modify] 더이상 사용하지 않을 load_model, set_model api 제거

    1.4.1

    • 2022.09.26
    • [Modify] torch lightning 시드 추가 및 early stopping 제거. 기타 버그 수정.

    1.4.0

    • 2022.09.26
    • [Add]Result Container에 final_score, final_threshold 추가
    • [Modify]모델 파일 내부 "meta_data" -> "metadata"
    • [Modify]inference engine에 n_sigma (=final_threshold) 넣을 수 있도록 수정
    • [Bug fix]Color complexity mask 관련 버그 수정
    • [Bug fix]ROI callibration 쪽 cropper 버그 수정

    1.3.1

    • 2022.09.20
    • 모델 파일 내 version 타입 string으로 변경
    • anomalyclustering 관련 아웃풋들 중 “cluster_name”, “anomaly_cluster”를 모두 “cluster_index”로 변경
    • 기타 버그 수정.

    1.3.0

    1.2.0

    • 2022.09.06
    • New
      • Anomaly Clustering Inference API VAD Inference에 병합됨.
    • Changed
      • Anomaly Clustering Trainer API 학습 input에 기존 saigevad 모델 경로 입력 필요 및 내부 키 변경 사항 반영. (output_model_path → saigevad_weight_path)
      • torch 및 cv2 쓰레드 수 제한.
      • SaigeToolkit submodule 최신버젼으로 업데이트

    1.1.0

    1.0.0

    • 2022.08.19
    • initial release