Release notes
2.0.23
2024/03/19
[기능 개선]
- GPU 메모리 절감을 위해 기본 API batch size를 6 -> 4로 변경.
[Bug Fix]
- Docs 경로를 기존 research/defect_generation 에서 research/generation 으로 변경.
2.0.22
2024/01/26
- SaigeToolkit 버전 업데이트
[기능 추가]
- setup 시
without-pretrained-model 기능 추가
setup.py, setup/all.py 파일에 해당 기능 추가
- resource 를 다운로드 하지 않고, build 폴더로 저장하지 않음.
- ROI 설정시 큰 이미지에서 processing 시간이 과도하게 걸리는 문제 일부 해결
2.0.21
2024/01/09
- SaigeToolkit 버전 업데이트:
7026244
[기능 개선]
- metadata 크기 1MB -> 12MB 변경
2.0.20
2024/01/04
[Bug Fix]
- Cythonize build 시 웨이트를 잘못된 경로에 다운로드 받고 있었던 문제 해결.
2.0.19
2023/12/26
[기능 개선]
- 학습 스테이지 중간에 불필요한 GPU 메모리 cache를 제거하는 코드 추가.
- SaigeToolkit 서브모듈 업데이트
2.0.18
2023/12/12
[Bug Fix]
- Docs 에 default batch_size, num_workers 가 오기입된 부분 수정.
2.0.17
2023/11/27
[기능 개선]
- update 이외의 api에 대해서도 label_id 키를 제공받을 수 있도록 수정. 단, label_id의 value가 전부 None이 아닐 시 종전과 같이 InferenceLabelIdNotRequiredError 에러를 raise 함.
2.0.16
2023/11/22
[기능 개선]
- intermediate 결과가 존재할 때, 특정 라벨만을 재 인퍼런스 할 수 있는
update_label_and_generate API 추가.
- 입력 포맷은
generate와 똑같지만 입력되는 image_info의 labels 딕셔너리에 업데이트 대상을 특정하기 위한 label_id 키가 무조건 제공되어야 함.
- DataLoader 속도 향상을 위한 옵션 수정
- num_worker default 0 -> 4
- pin_memory 추가
2.0.15
2023/11/16
[Bug Fix]
- 근접한 candidate label 사이에 박스 형태의 간섭이 생기는 현상 해결
2.0.14
2023/11/15
[기능 개선]
- Intermediate 파일 용량 대폭 개선.
[Bug Fix]
- 결함의 bbox가 서로 겹치는 경우, 한 결함의 삭제가 다른 결함의 모습에 영향을 미치던 현상 해결.
2.0.13
2023/11/14
[기능 개선]
- Assist intensity시 입력 마스크의 1%와 1px 중 큰 값을 최소 크기로 설정 (패치가 사라지는 현상 대응).
[Bug Fix]
- Assist On일 시 항상 최대 세기로 assist 되던 현상 해결.
2.0.12
2023/11/09
[기능 개선]
- DataLoader 속도 향상을 위해 InfiniteSampler 반영
[Bug Fix]
- 학습 데이터 일부가 random하게 섞이지 않는 버그 수정
- default batch size 가 1로 지정되어 있는 문제 해결
2.0.11
2023/11/08
[Bug Fix]
- add_label_and_generate 호출 시 이전 생성 결과가 사라지는 현상 해결.
- auto mode train 및 auto generate 시 지정하지 않는 GPU 디바이스 (0번) 에서 소량의 메모리 소모하던 문제 해결.
- 에러 레이즈 시 출력되는 메시지 전반적으로 수정
2.0.10
2023/11/07
[Bug Fix]
- add_label_and_generate 호출 시 generation 결과가 검게 변하는 현상 해결.
2.0.9
2023/11/06
[Bug Fix]
- auto_generate 호출 시 생성 실패한 이미지에 대해서도 intermediate 파일이 생성되는 현상 수정.
- auto_generate를 box_expand_ratio > 1.0 옵션으로 호출 시 생성된 라벨끼리 겹칠 수 있던 문제 해결.
2.0.8
2023/11/06
[Bug Fix]
- Texture auto mode 사용 시 학습-테스트 이미지 사이즈가 다를 경우 발생하던 에러 해결.
- box expand ratio 사용 시 특정 상황에서 발생하던 런타임에러 수정.
- Object auto mode 사용 시 특정 상황에서 발생하던 런타임에러 수정.
- Auto mode 사용 시 Gaussian KDE 피팅 함수에서 발생하던 no solution 케이스 해결.
2.0.7
2023/10/30
[기능 추가]
- 공통
- API의 images 인풋의 각 image_info에 save_dir과 함께 save_idx라는 파라미터를 받도록 기능 변경.
- manual의 경우 save_dir/save_idx 경로에 intermediate 생성
- auto의 경우 한 이미지 당 여러 결함 이미지가 만들어질 경우, save_idx를 주어진 값에서 1씩 올려가며 save_dir 하위에 이미지 수만큼 서브디렉토리 생성.
generated_labels의 개별 라벨 딕셔너리에 label_id 파라미터 추가.
- Inferencer API
- Auto mode generation
- auto generate 시 이미지 하나 당 몇 개까지 결함을 생성 가능한지 컨트롤하는
max_count_per_image 옵션 추가.
- Manual mode generation
generate, ..._generate 생성 메서드에 save_intermediate_file 옵션을 추가.
- False일 경우 생성 후 intermediate를 생성하거나 업데이트 하지 않음. 테스트 용도 옵션.
- save_dir에 기존 생성 결과가 존재할 때 사용할 수 있는
add_label_and_generate, delete_label_and_generate 메서드 추가.
- 드로잉 툴에서 라벨을 지웠다 추가했다 하는 상황을 위해 추가된 기능.
- Analyzer API
- 기존 생성 결과에서 일부 라벨을 영구적으로 제거하기 위한
delete_label_and_generate 메서드 추가
- 기존 생성 결과에서 일부 라벨을 일시적으로 비활성화하기 위한
disable_label_and_generate 메서드 추가
- 기존 Analyzer의
update_generated_labels 메서드가 disable_label_and_generate로 변경됨.
- 이제는 disable 하고 싶은 label id를 명시적으로 입력받아 결과 업데이트 및 intermediate 변경을 수행함.
2.0.6
2023/10/19
[기능 추가]
- generate 등 메서드의 generated_labels에 bitmap 이외에 contour 정보도 포함되도록 동작 및 테스트 추가.
2.0.5
2023/10/17
[Bug Fix]
- Inferencer api의 auto_generate 및 generate 메서드에서 contour 형태의 seg 라벨 인풋을 처리할 수 있도록 동작 및 테스트 추가.
2.0.4
2023/09/18
[기능 추가]
- inference_option
- "mask.smooth_mask" (bool), "mask.assist_intensity" (int) 추가
- 이에 따라 trainer.post_train_process() 기능 추가 및 출력 값으로 위 두개의 inference option 출력되도록 설정.
- Generation API 수정
- Manual 및 Auto 모드 generation을 위한 메서드를 분리 (generate / auto_generate)
- 각 메서드의 입력 형식 변경
- Manual: assist, assist_intensity, smooth_mask가 라벨 정보로 추가됨.
- Auto: images와 options를 받아 이미지 여러장을 한번에 생성. 자세한 정보는 docs 참고.
[기능 변경]
2.0.3
2023/09/06
[기능 추가]
- auto mode 에서 (실제 데이터 라벨에 있는 mask / 랜덤 ellipse / 랜덤 box) 마스크 사용하는 기능 추가
[기능 개선]
- auto mode 학습에 사용되는 이미지 패치가 너무 작아, 이후의 이미지 패치 관련 통계 알고리즘에 문제를 일으키는 부분 수정
- XGB Classifier의 augmentation을 변경
- 베이스 네트워크 성능 향상
- init_weight 파일에 "defect_generator", "defect_discriminator" weight 외의 용량이 큰 optimizer 등 제거
- 용량이 1/4 수준으로 압축
- download 속도 향상
- 기존 weight 삭제하고 재 다운로드 필요
[기능 변경]
- manual mode 가 대폭 수정되었습니다.
- "pen"/"box" 를 없애고 "manual" 로 통일
- mask 입력은 bitmap 을 활용한 형식으로 통일
- assist boolean 옵션 추가
- Augmentation 지원 리스트 수정
- Docs 에 random_rotate90, perspective_transform 가 잘못 기입되어 있는 부분 삭제
- allow_tf32 변경 기능 제거
- torch default 값으로 고정되도록 allow_tf32 를 조작하는 기능을 제거
- box_to_seg_ratio_range (List[float], 0.0~1.0) 인퍼런스 옵션을 assist_intensity (int, 0~100) 옵션으로 변경.
[Bug Fix]
- auto mode 알고리즘 버그 수정
- postprocess의 일부 기능 버그 수정
- Windows에서 0번 이외의 GPU 사용 시 속도 저하 및 메모리 이슈 해결
2.0.2
2023/06/30
[기능 추가]
- Box proposer에서 박스 사이즈 확장이 가능하도록 기능 구현.
- Box proposer에서 최소 박스 넓이를 설정할 수 있도록 기능 구현.
- 넓이의 제곱근 임계값을 integer 타입으로 설정
[Bug Fix]
- Box mode 에서 bounding rot box 타입 핸들링 버그 수정
- ((center_x, center_y), (width, height), angle)
- auto mode 학습시 데이터 타입에 따른 버그 수정
- mask generator loss 계산 시 알고리즘 오류로 NaN 이 발생하는 버그 수정
2.0.1
2023/05/15
[기능 추가]
- Analysis API: 모델 빌드 없이 analysis postprocess & generate 수행
[기능 변경]
[기능 개선]
Trainer.to_device() 호출 시 CPU로 보내는 경우 torch.cuda.empty_cache() 호출해 GPU 메모리 일부 해제
2.0.0
2023/04/26
[기능 추가]
- 패치 object 단위로 출력하도록 변경
inferencer의 update_generated_labels 메소드 참고
- 테스트 파이프라인 수정
- windows 에서 테스트 수행하도록 추가
- inferencer 가 cpu 에 대해 테스트 수행하도록 추가
Trainer 설명에 요구 데이터 수에 대한 정보가 추가되었습니다.
Inferencer 에 warmup 기능이 추가되었습니다.
[기능 변경]
- 기존 inference option 제거 (timer 만 남아있음)
- resize factor 제거
- torch 2.0.0 적용
- Analysis API가
InferenceHandler.analyze() & InferenceHandler.summarize_analysis() 로 변경되었습니다.
- 기존 Analysis API들은 제거되었습니다.
- box mode 의 input 이
bounding_rot_box 타입으로 변경되었습니다.
1.0.0
2023/04/##
- initial release