- v23.8.1
- xyz grid에서 model을
None
으로 설정한 이후에 adetailer가 비활성화 되는 문제 수정 - skip을 눌렀을 때 진행을 멈춤
--medvram-sdxl
을 설정했을 때에도 cpu를 사용하게 함
- v23.8.0
[PROMPT]
키워드 추가.ad_prompt
또는ad_negative_prompt
에 사용하면 입력 프롬프트로 대체됨 (PR #243)- Only top k largest 옵션 추가 (PR #264)
- ultralytics 버전 업데이트
- v23.7.11
- separate clip skip 옵션 추가
- install requirements 정리 (ultralytics 새 버전, mediapipe~=3.20)
- v23.7.10
- ultralytics, mediapipe import문 정리
- traceback에서 컬러를 없앰 (api 때문), 라이브러리 버전도 보여주게 설정.
- huggingface_hub, pydantic을 install.py에서 없앰
- 안쓰는 컨트롤넷 관련 코드 삭제
- v23.7.9
ultralytics.utils
ModuleNotFoundError 해결 (ultralytics/ultralytics#3856)pydantic
2.0 이상 버전 설치안되도록 함controlnet_dir
cmd args 문제 수정 (PR #107)
- v23.7.8
paste_field_names
추가했던 것을 되돌림
- v23.7.7
- 인페인팅 단계에서 별도의 샘플러를 선택할 수 있게 옵션을 추가함 (xyz그리드에도 추가)
- webui 1.0.0-pre 이하 버전에서 batch index 문제 수정
- 스크립트에
paste_field_names
을 추가함. 사용되는지는 모르겠음
- v23.7.6
ultralytics 8.0.135
에 추가된 cpuinfo 기능을 위해py-cpuinfo
를 미리 설치하게 함. (미리 설치 안하면 cpu나 mps사용할 때 재시작해야함)- init_image가 RGB 모드가 아닐 때 RGB로 변경.
-
v23.7.4
-
batch count > 1일때 프롬프트의 인덱스 문제 수정
-
v23.7.5
-
i2i의
cached_uc
와cached_c
가 p의cached_uc
와cached_c
가 다른 인스턴스가 되도록 수정
- v23.7.3
- 버그 수정
object()
가 json 직렬화 안되는 문제process
를 호출함에 따라 배치 카운트가 2이상일 때, all_prompts가 고정되는 문제ad-before
와ad-preview
이미지 파일명이 실제 파일명과 다른 문제- pydantic 2.0 호환성 문제
- v23.7.2
mediapipe_face_mesh_eyes_only
모델 추가:mediapipe_face_mesh
로 감지한 뒤 눈만 사용함.- 매 배치 시작 전에
scripts.postprocess
를, 후에scripts.process
를 호출함.- 컨트롤넷을 사용하면 소요 시간이 조금 늘어나지만 몇몇 문제 해결에 도움이 됨.
lora_block_weight
를 스크립트 화이트리스트에 추가함.- 한번이라도 ADetailer를 사용한 사람은 수동으로 추가해야함.
- v23.7.1
process_images
를 진행한 뒤StableDiffusionProcessing
오브젝트의 close를 호출함- api 호출로 사용했는지 확인하는 속성 추가
NansException
이 발생했을 때 중지하지 않고 남은 과정 계속 진행함
- v23.7.0
NansException
이 발생하면 로그에 표시하고 원본 이미지를 반환하게 설정rich
를 사용한 에러 트레이싱- install.py에
rich
추가
- install.py에
- 생성 중에 컴포넌트의 값을 변경하면 args의 값도 함께 변경되는 문제 수정 (issue #180)
- 터미널 로그로 ad_prompt와 ad_negative_prompt에 적용된 실제 프롬프트 확인할 수 있음 (입력과 다를 경우에만)
- v23.6.4
- 최대 모델 수 5 -> 10개
- ad_prompt와 ad_negative_prompt에 빈칸으로 놔두면 입력 프롬프트가 사용된다는 문구 추가
- huggingface 모델 다운로드 실패시 로깅
- 1st 모델이
None
일 경우 나머지 입력을 무시하던 문제 수정 --use-cpu
에adetailer
입력 시 cpu로 yolo모델을 사용함
- v23.6.3
- 컨트롤넷 inpaint 모델에 대해, 3가지 모듈을 사용할 수 있도록 함
- Noise Multiplier 옵션 추가 (PR #149)
- pydantic 최소 버전 1.10.8로 설정 (Issue #146)
- v23.6.2
- xyz_grid에서 ADetailer를 사용할 수 있게함.
- 8가지 옵션만 1st 탭에 적용되도록 함.
- v23.6.1
inpaint, scribble, lineart, openpose, tile
5가지 컨트롤넷 모델 지원 (PR #107)- controlnet guidance start, end 인자 추가 (PR #107)
modules.extensions
를 사용하여 컨트롤넷 확장을 불러오고 경로를 알아내로록 변경- ui에서 컨트롤넷을 별도 함수로 분리
-
v23.6.0
-
스크립트의 이름을
After Detailer
에서ADetailer
로 변경- API 사용자는 변경 필요함
-
몇몇 설정 변경
ad_conf
→ad_confidence
. 0100 사이의 int → 0.01.0 사이의 floatad_inpaint_full_res
→ad_inpaint_only_masked
ad_inpaint_full_res_padding
→ad_inpaint_only_masked_padding
-
mediapipe face mesh 모델 추가
- mediapipe 최소 버전
0.10.0
- mediapipe 최소 버전
-
rich traceback 제거함
-
huggingface 다운로드 실패할 때 에러가 나지 않게 하고 해당 모델을 제거함
- v23.5.19
- 1번째 탭에도
None
옵션을 추가함 - api로 ad controlnet model에 inpaint가 아닌 다른 컨트롤넷 모델을 사용하지 못하도록 막음
- adetailer 진행중에 total tqdm 진행바 업데이트를 멈춤
- state.inturrupted 상태에서 adetailer 과정을 중지함
- 컨트롤넷 process를 각 batch가 끝난 순간에만 호출하도록 변경
- v23.5.18
- 컨트롤넷 관련 수정
- unit의
input_mode
를SIMPLE
로 모두 변경 - 컨트롤넷 유넷 훅과 하이잭 함수들을 adetailer를 실행할 때에만 되돌리는 기능 추가
- adetailer 처리가 끝난 뒤 컨트롤넷 스크립트의 process를 다시 진행함. (batch count 2 이상일때의 문제 해결)
- unit의
- 기본 활성 스크립트 목록에서 컨트롤넷을 뺌
- v23.5.17
- 컨트롤넷 확장이 있으면 컨트롤넷 스크립트를 활성화함. (컨트롤넷 관련 문제 해결)
- 모든 컴포넌트에 elem_id 설정
- ui에 버전을 표시함
- v23.5.16
- 추가한 옵션
- Mask min/max ratio
- Mask merge mode
- Restore faces after ADetailer
- 옵션들을 Accordion으로 묶음
- v23.5.15
- 필요한 것만 임포트하도록 변경 (vae 로딩 오류 없어짐. 로딩 속도 빨라짐)
- v23.5.14
[SKIP]
으로 ad prompt 일부를 건너뛰는 기능 추가- bbox 정렬 옵션 추가
- sd_webui 타입힌트를 만들어냄
- enable checker와 관련된 api 오류 수정?
- v23.5.13
[SEP]
으로 ad prompt를 분리하여 적용하는 기능 추가- enable checker를 다시 pydantic으로 변경함
- ui 관련 함수를 adetailer.ui 폴더로 분리함
- controlnet을 사용할 때 모든 controlnet unit 비활성화
- adetailer 폴더가 없으면 만들게 함
- v23.5.12
ad_enable
을 제외한 입력이 dict타입으로 들어오도록 변경- web api로 사용할 때에 특히 사용하기 쉬움
- web api breaking change
mask_preprocess
인자를 넣지 않았던 오류 수정 (PR #47)- huggingface에서 모델을 다운로드하지 않는 옵션 추가
--ad-no-huggingface
- v23.5.11
ultralytics
알람 제거- 필요없는 exif 인자 더 제거함
use separate steps
옵션 추가- ui 배치를 조정함
- v23.5.10
- 선택한 스크립트만 ADetailer에 적용하는 옵션 추가, 기본값
True
. 설정 탭에서 지정가능.- 기본값:
dynamic_prompting,dynamic_thresholding,wildcards,wildcard_recursive
- 기본값:
person_yolov8s-seg.pt
모델 추가ultralytics
의 최소 버전을8.0.97
로 설정 (C:\ 문제 해결된 버전)
- v23.5.9
- 2가지 이상의 모델을 사용할 수 있음. 기본값: 2, 최대: 5
- segment 모델을 사용할 수 있게 함.
person_yolov8n-seg.pt
추가
- v23.5.8
- 프롬프트와 네거티브 프롬프트에 방향키 지원 (PR #24)
mask_preprocess
를 추가함. 이전 버전과 시드값이 달라질 가능성 있음!- 이미지 처리가 일어났을 때에만 before이미지를 저장함
- 설정창의 레이블을 ADetailer 대신 더 적절하게 수정함
-
v23.5.7
-
ad_use_cfg_scale
옵션 추가. cfg 스케일을 따로 사용할지 말지 결정함. -
ad_enable
기본값을True
에서False
로 변경 -
ad_model
의 기본값을None
에서 첫번째 모델로 변경 -
최소 2개의 입력(ad_enable, ad_model)만 들어오면 작동하게 변경.
-
v23.5.7.post0
-
init_controlnet_ext
을 controlnet_exists == True일때에만 실행 -
webui를 C드라이브 바로 밑에 설치한 사람들에게
ultralytics
경고 표시
-
v23.5.5
-
Save images before ADetailer
옵션 추가 -
입력으로 들어온 인자와 ALL_ARGS의 길이가 다르면 에러메세지
-
README.md에 설치방법 추가
-
v23.5.6
-
get_args에서 IndexError가 발생하면 자세한 에러메세지를 볼 수 있음
-
AdetailerArgs에 extra_params 내장
-
scripts_args를 딥카피함
-
postprocess_image를 약간 분리함
-
v23.5.6.post0
-
init_controlnet_ext
에서 에러메세지를 자세히 볼 수 있음
- v23.5.4
- use pydantic for arguments validation
- revert: ad_model to
None
as default - revert:
__future__
imports - lazily import yolo and mediapipe
-
v23.5.3.post0
-
remove
__future__
imports -
change to copy scripts and scripts args
-
v23.5.3.post1
-
change default ad_model from
None
- v23.5.3
- Remove
None
from model list and addEnable ADetailer
checkbox. - install.py
skip_install
fix.