Release notes
2.5.4
-
2023.12.08
[기능 수정]- roi coordinates np.array에서 tuple로 data type 수정
- confidence 낮은 matching score 무시
2.5.3
-
2023.12.07
[기능 수정]- developer train config에 fixed_roi coordinates 넣도록 수정
2.5.2
-
2023.12.06
[기능 수정]- domain shift detection과 독립적으로 camera shift detection이 될 수 있도록 수정
2.5.1
-
2023.12.05
[기능 수정]- domain shift detection을 on/off 할 수 있는 inference engine의 is_domain_shift_detection setter 추가.
- inference_engine.is_domain_shift_detection = False로 끌 수 있습니다. 켜는 방법은 True를 assign하면 됩니다.
- domain_shift_detection이 off인 경우, roi_calibration은 동작하지 않습니다.
- 자세한 사용방법은 API Docs를 참고해주세요.
- domain shift detection을 on/off 할 수 있는 inference engine의 is_domain_shift_detection setter 추가.
2.5.0
-
2023.11.28
[기능 추가]- Fixed ROI matching을 통한 카메라 틀어짐 감지 기능이 추가되었습니다.
2.4.6
-
2023.11.27
[버그 수정]- 특수한 환경에서 dataloader가 에러나는 부분을 수정하였습니다.
[기능 추가]- .avi 확장자를 지원합니다.
[기타]- Developer에서 과도한 CPU 메모리 사용 및 학습 시간으로 인해 최대 4시간 분량의 데이터만 학습이 가능하도록 수정하였습니다.
2.4.5
-
2023.08.10
[버그 수정]- 더 이상 no_motion state에서 no_roi_match 체크를 진행하지 않습니다.
2.4.4
-
2023.08.02
[버그 수정]- warmup 단계에서 발생하는
Module error. No roi calibrator error에러 해결
- warmup 단계에서 발생하는
2.4.3
-
2023.07.26
[기능 추가]inference_engine.is_roi_calibration = False(Auto-ROI off)일 경우에도 no_roi_match 체크할 수 있도록 기능 추가.- domain shift detection 이후에 실행. roi_calibration(4) state로 나타납니다.
- Auto-ROI on/off 상관 없이 no_motion state가 300 프레임 이상 지속되는 경우에, 300 프레임 마다 no_roi_match를 체크합니다.
2.4.2
-
2023.06.12
[버그 수정]- Clustering 내부 로직에서 Cluster distance 정렬 로직 추가.
- Previous versions
2.4.1
-
2023.06.12
[버그 수정]- Developer Mode (force_cluster_result=True)에서, Clustering으로 넘어가기 전 Indistribution Dummy Output 생성 누락으로 인한 버그 수정.
2.4.0
-
2023.05.19
[기능 개선][기능 추가][기타]- torch 2.0.0 적용
2.3.2
-
2023.05.17
[기능 개선][기능 추가][기타]- Anomaly Clustering 내부 Feature Extracing 과정 stdout 처리.
-
2023.05.15
[기능 개선]- 검사 중간에 Adaptive score가 0이 되는 문제 개선
- No ROI match 인 경우에 생기는 roi shift 문제에 대한 개선
- Base threshold가 base score 변화에 adaptive 하게 변경.
[기능 추가]- Base threshold의 parameter setting에 따른 detect mode 추가
- "Strict" (Default) : 미검(underkill) 방지용
- "Moderate" : 과검(overkill) 방지용.
[기타]- (임시) torch 1.13.1 사용하도록 유지
2.3.1
-
2023.04.03
[기능 개선]- ROI match threshold 변경
- no_motion state 이후 domain shift detector는 is_slow state가 아닐 때만 작동하도록 변경.
2.3.0
-
2023.03.31
[기능 추가]- SSIM Clustering 추가 및 기존 Indistribution Detectior 대체
- [연구팀용] 검사 결과에서 cluster 정보도 notion database에 업데이트
- [연구팀용] 검사 영상 총 시간, 시간당 과검 수도 notion database에 업데이트
[버그 수정]- Cycle Counter 버그 수정: 특정한 경우 에 한하여 cycle count가 증가하지 않던 버그 수정
- [연구팀용] 감지된 frame이 하나밖에 없을 때 metric results 폴더에 동영상 저장이 안되는 문제 (이로 인해 notion update error까지 발생) 수정
- [연구팀용] "anomalies" 와 "anomalies_mp4" 폴더 안의 영상 name이 match가 안되는 문제 수정.
[기타]- [연구팀용] inference 소요시간 측정 추가
2.2.2
-
2023.03.06
[기능 추가]- Developer용 클러스터링 결과 추가.
- InferenceEngine save_checkpoint API추가, 모델 weight를 업데이트 후 common, metadata와 함께 저장합니다.
- timer 추가 : `VAD 학습, Clustering 학습, 전체 학습 시간 기록하여 csv에 저장하도록 수정 (연구팀용)
[버그 수정]- slow motion에서 domain shift를 trigger 하지 안도록 변경.
- Developer 프로그램에서 reference video name을 클립 리스트 전체로 가져오던 부분 수정
- research mode에서 motion detection 학습시 잘못된 인풋 사용 수정
- demo_inference.py에 csv export 하는 부분 추가 (연구팀 실험용)
- No motion 직후의 slow motion은 무시하도록 수정.
[기타]- torch 1.13.1 및 cuda 11.7을 사용하도록 환경 변경.
- csv 라벨파일에서 class number가 2 이상 부터는 prediction에서 제외합니다.
- 기존 train config files (vad, vcls)가 삭제되고 V2를 위한 새로운 train config files 추가 (shallow & deep)
- 학습 및 검사 클립 정보를 입력하여 코드 실행 한 번으로 학습과 검사가 이루어집니다.
- Config을 이용하여 학습, 검사가 가능하도록 수정
- 검사 결과 노션 데이터베이스에 업로드하는 기능 추가
- SaigeToolkit update
- main_train_vad.py : --use_developer_format을 이용하여 yaml config도 developer와 동일한 파라미터 사용하여 학습 가능
2.2.1
-
2023.01.17
[버그 수정]- resize_dim type 달라서 발생하는 버그 수정
- save_checkpoint metadata 관련 부분 제거
- TrainConfigMaker
- 프레임 폴더 명에 하이픈 여러개 있을 때 발생하던 버그 수정
- 프레임 폴더 1개만 학습에 사용하도록 했던 버그 수정. 이제는 frame_dir 모두 사용합니다.
- VideoMotionDetection 등 기본 파라미터 수정
- Developer에서 학습할 때 sequence_length 기존 4에서 64로 변경.
- Developer에서 대문자 확장자 ".MP4"도 사용할 수 있도록 수정.
[기능 제거]- VCls trainer 제거. Clustering으로 기능 대체
[기능 추가]- VadInferenceEngine.save_checkpoint API 추가. 모델 weight를 업데이트하여 저장합니다.
[기타]- color complexity roi 사용하도록 수정
- 불필요한 print 제거
- 버전에 pre-release postfix 표시
2.1.0
-
2022.12.23
[버그 수정]- slow motion threshold 탐색 예외 처리 적용.
- Motion parameter 계산 버그 수정.
- Window 환경에서 작동 가능하도록 버그 수정.
- GPU 없으면 to_device 에러 반환하도록 수정.
- result container 내부 cluster_index json not serializable 버그 수정.
[기능 추가]- Developer 개발을 위한 python API 추가
- TrainConfigMaker API : 사전에 정의된 input을 받아 VadTrainer를 위한 config 생성하는 기능 추가
- VAD 학습 결과 이용 Clustering 학습 기능 추가
- AnomalyClusteringTrainer.convert_vad_train_result_to_train_message
- VadTrainer.process_weight_sampling 의 output을 이용하여 AnomalyCluseteringTrainer.train() 의 input인 train_message_dict를 만들어 주는 기능.백엔드에서 VAD 모델에 metadata 저장할 때 사용.
- AnomalyClusteringTrainer.convert_vad_train_result_to_train_message
- InferenceEngineHandler에 is_roi_calibration setter 메소드 추가
- build 이후에 roi calibration on/off 할 수 있는 기능.
- 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' 추가
- 'anomaly_cluster_meta' 에 "cluster_info", "initial_cluster_output", "cluster_train_images" 추가
-
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' 필드 추가
[기능 개선]- VadTrainer
- 기본 네트워크 MNAD로 변경 [SPRINT] MNAD
- 학습 속도 개선을 위한 One cycle scheduler 적용 [SPRINT] 학습 속도 개선 Trials
- ResultContainer field name 변경
- cluster → cluster_ae
[기능 제거]- VCls 학습 관련 내용 제거
- metadata, config 등에서 vcls 키워드 제거.
- 검사에서는 기존 VCls 학습 모델 사용 가능.
- metadata field 제거
[기타]- SaigeToolkit의 SaigeError install 반영
- requirements 설치 시, git credential이 필요.
2.0.3
-
2022.11.22
[기능 개선]- Anomaly Clustering Trainer에서 cuda 사용 불가시에, CudaNotAvailableError를 띄움.
2.0.2
-
2022.11.09
[버그 수정]- Anomaly Clustering Inference 의 Indistribution Detector v1 호환성 관련 Hotfix
- v1 indistribution detector 살려냄.
- inference 시에, clustering_method 가 'mice'면 v1, 'moco'면 v2 를 호출함.
- v1 indistribution detector를 살려냄에 따라, lightning-bolts==0.5.0 이 requirements로 추가됨.
- Anomaly Clustering Inference 의 Indistribution Detector v1 호환성 관련 Hotfix
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_slowresult 필드 추가
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 불러올 수 있도록 수정
- metadata 변경 및 호환성 관련
1.5.0
- 2022.10.14
- Cycle counter 추가 [TASK] Cycle counter 구현
- 128 frame 마다 업데이트되는 누적 cycle 횟수를 result field “cycle_count”로 저장
- result field에 “cycle_count” 추가
- Cycle counter 추가 [TASK] Cycle counter 구현
1.4.7
- 2022.10.13
-
- 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개만 실행되도록 수정. 기타 버그 수정.
- [Fix]
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
-
2022.09.16
-
Anomaly clustering trainer를 SaigeVAD 2.0에 맞게 수정
-
inference engine save_heatmap을 original image, heatmap image 분리 저장하도록 수정
-
V1 model converter에 clustering도 포함
-
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 최신버젼으로 업데이트
- New
1.1.0
- 2022.09.05
- MNAD 적용 [TASK] MNAD
- train_config
mem_size: 10추가할 경우 활성화
- train_config
- GPU 메모리 최적화 [TASK] Optimize GPU memory usage of inference api
- anomaly cluster train main code 추가
- SaigeToolkit submodule 잘못 적용 된 것 수정
- MNAD 적용 [TASK] MNAD
1.0.0
- 2022.08.19
- initial release