mirror of
https://github.com/Bing-su/adetailer.git
synced 2026-04-30 11:11:21 +00:00
fix: pr style
This commit is contained in:
@@ -41,6 +41,7 @@ class ADetailerArgs(BaseModel, extra=Extra.forbid):
|
|||||||
ad_prompt: str = ""
|
ad_prompt: str = ""
|
||||||
ad_negative_prompt: str = ""
|
ad_negative_prompt: str = ""
|
||||||
ad_confidence: confloat(ge=0.0, le=1.0) = 0.3
|
ad_confidence: confloat(ge=0.0, le=1.0) = 0.3
|
||||||
|
ad_mask_k_largest: NonNegativeInt = 0
|
||||||
ad_mask_min_ratio: confloat(ge=0.0, le=1.0) = 0.0
|
ad_mask_min_ratio: confloat(ge=0.0, le=1.0) = 0.0
|
||||||
ad_mask_max_ratio: confloat(ge=0.0, le=1.0) = 1.0
|
ad_mask_max_ratio: confloat(ge=0.0, le=1.0) = 1.0
|
||||||
ad_dilate_erode: int = 4
|
ad_dilate_erode: int = 4
|
||||||
@@ -70,7 +71,6 @@ class ADetailerArgs(BaseModel, extra=Extra.forbid):
|
|||||||
ad_controlnet_weight: confloat(ge=0.0, le=1.0) = 1.0
|
ad_controlnet_weight: confloat(ge=0.0, le=1.0) = 1.0
|
||||||
ad_controlnet_guidance_start: confloat(ge=0.0, le=1.0) = 0.0
|
ad_controlnet_guidance_start: confloat(ge=0.0, le=1.0) = 0.0
|
||||||
ad_controlnet_guidance_end: confloat(ge=0.0, le=1.0) = 1.0
|
ad_controlnet_guidance_end: confloat(ge=0.0, le=1.0) = 1.0
|
||||||
ad_mask_k_largest: NonNegativeInt = 0
|
|
||||||
is_api: bool = True
|
is_api: bool = True
|
||||||
|
|
||||||
@root_validator(skip_on_failure=True)
|
@root_validator(skip_on_failure=True)
|
||||||
@@ -113,6 +113,7 @@ class ADetailerArgs(BaseModel, extra=Extra.forbid):
|
|||||||
|
|
||||||
ppop("ADetailer prompt")
|
ppop("ADetailer prompt")
|
||||||
ppop("ADetailer negative prompt")
|
ppop("ADetailer negative prompt")
|
||||||
|
ppop("ADetailer mask only top k largest", cond=0)
|
||||||
ppop("ADetailer mask min ratio", cond=0.0)
|
ppop("ADetailer mask min ratio", cond=0.0)
|
||||||
ppop("ADetailer mask max ratio", cond=1.0)
|
ppop("ADetailer mask max ratio", cond=1.0)
|
||||||
ppop("ADetailer x offset", cond=0)
|
ppop("ADetailer x offset", cond=0)
|
||||||
@@ -189,9 +190,9 @@ _all_args = [
|
|||||||
("ad_prompt", "ADetailer prompt"),
|
("ad_prompt", "ADetailer prompt"),
|
||||||
("ad_negative_prompt", "ADetailer negative prompt"),
|
("ad_negative_prompt", "ADetailer negative prompt"),
|
||||||
("ad_confidence", "ADetailer confidence"),
|
("ad_confidence", "ADetailer confidence"),
|
||||||
|
("ad_mask_k_largest", "ADetailer mask only top k largest"),
|
||||||
("ad_mask_min_ratio", "ADetailer mask min ratio"),
|
("ad_mask_min_ratio", "ADetailer mask min ratio"),
|
||||||
("ad_mask_max_ratio", "ADetailer mask max ratio"),
|
("ad_mask_max_ratio", "ADetailer mask max ratio"),
|
||||||
("ad_mask_k_largest", "ADetailer mask only top k largest"),
|
|
||||||
("ad_x_offset", "ADetailer x offset"),
|
("ad_x_offset", "ADetailer x offset"),
|
||||||
("ad_y_offset", "ADetailer y offset"),
|
("ad_y_offset", "ADetailer y offset"),
|
||||||
("ad_dilate_erode", "ADetailer dilate/erode"),
|
("ad_dilate_erode", "ADetailer dilate/erode"),
|
||||||
|
|||||||
@@ -215,7 +215,7 @@ def filter_by_ratio(pred: PredictOutput, low: float, high: float) -> PredictOutp
|
|||||||
return pred
|
return pred
|
||||||
|
|
||||||
|
|
||||||
def filter_take_largest(pred: PredictOutput, k: int) -> PredictOutput:
|
def filter_k_largest(pred: PredictOutput, k: int = 0) -> PredictOutput:
|
||||||
if not pred.bboxes or k == 0:
|
if not pred.bboxes or k == 0:
|
||||||
return pred
|
return pred
|
||||||
areas = [bbox_area(bbox) for bbox in pred.bboxes]
|
areas = [bbox_area(bbox) for bbox in pred.bboxes]
|
||||||
|
|||||||
@@ -207,7 +207,7 @@ def detection(w: Widgets, n: int, is_img2img: bool):
|
|||||||
w.ad_mask_k_largest = gr.Slider(
|
w.ad_mask_k_largest = gr.Slider(
|
||||||
label="Mask only the top k largest (0 to disable)" + suffix(n),
|
label="Mask only the top k largest (0 to disable)" + suffix(n),
|
||||||
minumum=0,
|
minumum=0,
|
||||||
maximum=5,
|
maximum=10,
|
||||||
step=1,
|
step=1,
|
||||||
value=0,
|
value=0,
|
||||||
visible=True,
|
visible=True,
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ from adetailer.args import ALL_ARGS, BBOX_SORTBY, ADetailerArgs, EnableChecker
|
|||||||
from adetailer.common import PredictOutput
|
from adetailer.common import PredictOutput
|
||||||
from adetailer.mask import (
|
from adetailer.mask import (
|
||||||
filter_by_ratio,
|
filter_by_ratio,
|
||||||
filter_take_largest,
|
filter_k_largest,
|
||||||
mask_preprocess,
|
mask_preprocess,
|
||||||
sort_bboxes,
|
sort_bboxes,
|
||||||
)
|
)
|
||||||
@@ -468,7 +468,7 @@ class AfterDetailerScript(scripts.Script):
|
|||||||
pred = filter_by_ratio(
|
pred = filter_by_ratio(
|
||||||
pred, low=args.ad_mask_min_ratio, high=args.ad_mask_max_ratio
|
pred, low=args.ad_mask_min_ratio, high=args.ad_mask_max_ratio
|
||||||
)
|
)
|
||||||
pred = filter_take_largest(pred, k=args.ad_mask_k_largest)
|
pred = filter_k_largest(pred, k=args.ad_mask_k_largest)
|
||||||
pred = self.sort_bboxes(pred)
|
pred = self.sort_bboxes(pred)
|
||||||
return mask_preprocess(
|
return mask_preprocess(
|
||||||
pred.masks,
|
pred.masks,
|
||||||
|
|||||||
Reference in New Issue
Block a user