Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b2f382776f |
+2
-2
@@ -306,8 +306,8 @@ NODE_DISPLAY_NAME_MAPPINGS = {
|
|||||||
"ImpactSimpleDetectorSEGS_for_AD": "Simple Detector for AnimateDiff (SEGS)",
|
"ImpactSimpleDetectorSEGS_for_AD": "Simple Detector for AnimateDiff (SEGS)",
|
||||||
"ImpactSimpleDetectorSEGS": "Simple Detector (SEGS)",
|
"ImpactSimpleDetectorSEGS": "Simple Detector (SEGS)",
|
||||||
"ImpactSimpleDetectorSEGSPipe": "Simple Detector (SEGS/pipe)",
|
"ImpactSimpleDetectorSEGSPipe": "Simple Detector (SEGS/pipe)",
|
||||||
"ImpactControlNetApplySEGS": "ControlNetApply (SEGS)",
|
"ImpactControlNetApplySEGS": "ControlNetApply (SEGS) - DEPRECATED",
|
||||||
"ImpactControlNetApplyAdvancedSEGS": "ControlNetApplyAdvanced (SEGS)",
|
"ImpactControlNetApplyAdvancedSEGS": "ControlNetApply (SEGS)",
|
||||||
"ImpactIPAdapterApplySEGS": "IPAdapterApply (SEGS)",
|
"ImpactIPAdapterApplySEGS": "IPAdapterApply (SEGS)",
|
||||||
|
|
||||||
"BboxDetectorCombined_v2": "BBOX Detector (combined)",
|
"BboxDetectorCombined_v2": "BBOX Detector (combined)",
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import configparser
|
import configparser
|
||||||
import os
|
import os
|
||||||
|
|
||||||
version_code = [7, 8]
|
version_code = [7, 9]
|
||||||
version = f"V{version_code[0]}.{version_code[1]}" + (f'.{version_code[2]}' if len(version_code) > 2 else '')
|
version = f"V{version_code[0]}.{version_code[1]}" + (f'.{version_code[2]}' if len(version_code) > 2 else '')
|
||||||
|
|
||||||
dependency_version = 23
|
dependency_version = 23
|
||||||
|
|||||||
+15
-2
@@ -24,6 +24,8 @@ from comfy import model_management
|
|||||||
from impact import utils
|
from impact import utils
|
||||||
from impact import impact_sampling
|
from impact import impact_sampling
|
||||||
from concurrent.futures import ThreadPoolExecutor
|
from concurrent.futures import ThreadPoolExecutor
|
||||||
|
import inspect
|
||||||
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from comfy_extras import nodes_differential_diffusion
|
from comfy_extras import nodes_differential_diffusion
|
||||||
@@ -1825,13 +1827,14 @@ class ControlNetWrapper:
|
|||||||
|
|
||||||
class ControlNetAdvancedWrapper:
|
class ControlNetAdvancedWrapper:
|
||||||
def __init__(self, control_net, strength, start_percent, end_percent, preprocessor, prev_control_net=None,
|
def __init__(self, control_net, strength, start_percent, end_percent, preprocessor, prev_control_net=None,
|
||||||
original_size=None, crop_region=None, control_image=None):
|
original_size=None, crop_region=None, control_image=None, vae=None):
|
||||||
self.control_net = control_net
|
self.control_net = control_net
|
||||||
self.strength = strength
|
self.strength = strength
|
||||||
self.preprocessor = preprocessor
|
self.preprocessor = preprocessor
|
||||||
self.prev_control_net = prev_control_net
|
self.prev_control_net = prev_control_net
|
||||||
self.start_percent = start_percent
|
self.start_percent = start_percent
|
||||||
self.end_percent = end_percent
|
self.end_percent = end_percent
|
||||||
|
self.vae = vae
|
||||||
|
|
||||||
if original_size is not None and crop_region is not None and control_image is not None:
|
if original_size is not None and crop_region is not None and control_image is not None:
|
||||||
self.control_image = utils.tensor_resize(control_image, original_size[1], original_size[0])
|
self.control_image = utils.tensor_resize(control_image, original_size[1], original_size[0])
|
||||||
@@ -1872,7 +1875,17 @@ class ControlNetAdvancedWrapper:
|
|||||||
"To use 'ControlNetAdvancedWrapper' for AnimateDiff, 'ComfyUI-Advanced-ControlNet' extension is required.")
|
"To use 'ControlNetAdvancedWrapper' for AnimateDiff, 'ComfyUI-Advanced-ControlNet' extension is required.")
|
||||||
raise Exception("'ACN_AdvancedControlNetApply' node isn't installed.")
|
raise Exception("'ACN_AdvancedControlNetApply' node isn't installed.")
|
||||||
else:
|
else:
|
||||||
positive, negative = nodes.ControlNetApplyAdvanced().apply_controlnet(positive, negative, self.control_net, cnet_image, self.strength, self.start_percent, self.end_percent)
|
if self.vae is not None:
|
||||||
|
apply_controlnet = nodes.ControlNetApplyAdvanced().apply_controlnet
|
||||||
|
signature = inspect.signature(apply_controlnet)
|
||||||
|
|
||||||
|
if 'vae' in signature.parameters:
|
||||||
|
positive, negative = nodes.ControlNetApplyAdvanced().apply_controlnet(positive, negative, self.control_net, cnet_image, self.strength, self.start_percent, self.end_percent, vae=self.vae)
|
||||||
|
else:
|
||||||
|
print(f"[Impact Pack] ERROR: The ComfyUI version is outdated. VAE cannot be used in ApplyControlNet.")
|
||||||
|
raise Exception("[Impact Pack] ERROR: The ComfyUI version is outdated. VAE cannot be used in ApplyControlNet.")
|
||||||
|
else:
|
||||||
|
positive, negative = nodes.ControlNetApplyAdvanced().apply_controlnet(positive, negative, self.control_net, cnet_image, self.strength, self.start_percent, self.end_percent)
|
||||||
|
|
||||||
return positive, negative, cnet_image_list
|
return positive, negative, cnet_image_list
|
||||||
|
|
||||||
|
|||||||
@@ -1362,6 +1362,8 @@ class ControlNetApplySEGS:
|
|||||||
RETURN_TYPES = ("SEGS",)
|
RETURN_TYPES = ("SEGS",)
|
||||||
FUNCTION = "doit"
|
FUNCTION = "doit"
|
||||||
|
|
||||||
|
DEPRECATED = True
|
||||||
|
|
||||||
CATEGORY = "ImpactPack/Util"
|
CATEGORY = "ImpactPack/Util"
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
@@ -1389,7 +1391,8 @@ class ControlNetApplyAdvancedSEGS:
|
|||||||
},
|
},
|
||||||
"optional": {
|
"optional": {
|
||||||
"segs_preprocessor": ("SEGS_PREPROCESSOR",),
|
"segs_preprocessor": ("SEGS_PREPROCESSOR",),
|
||||||
"control_image": ("IMAGE",)
|
"control_image": ("IMAGE",),
|
||||||
|
"vae": ("VAE",)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1399,13 +1402,13 @@ class ControlNetApplyAdvancedSEGS:
|
|||||||
CATEGORY = "ImpactPack/Util"
|
CATEGORY = "ImpactPack/Util"
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def doit(segs, control_net, strength, start_percent, end_percent, segs_preprocessor=None, control_image=None):
|
def doit(segs, control_net, strength, start_percent, end_percent, segs_preprocessor=None, control_image=None, vae=None):
|
||||||
new_segs = []
|
new_segs = []
|
||||||
|
|
||||||
for seg in segs[1]:
|
for seg in segs[1]:
|
||||||
control_net_wrapper = core.ControlNetAdvancedWrapper(control_net, strength, start_percent, end_percent, segs_preprocessor,
|
control_net_wrapper = core.ControlNetAdvancedWrapper(control_net, strength, start_percent, end_percent, segs_preprocessor,
|
||||||
seg.control_net_wrapper, original_size=segs[0], crop_region=seg.crop_region,
|
seg.control_net_wrapper, original_size=segs[0], crop_region=seg.crop_region,
|
||||||
control_image=control_image)
|
control_image=control_image, vae=vae)
|
||||||
new_seg = SEG(seg.cropped_image, seg.cropped_mask, seg.confidence, seg.crop_region, seg.bbox, seg.label, control_net_wrapper)
|
new_seg = SEG(seg.cropped_image, seg.cropped_mask, seg.confidence, seg.crop_region, seg.bbox, seg.label, control_net_wrapper)
|
||||||
new_segs.append(new_seg)
|
new_segs.append(new_seg)
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
[project]
|
[project]
|
||||||
name = "comfyui-impact-pack"
|
name = "comfyui-impact-pack"
|
||||||
description = "This extension offers various detector nodes and detailer nodes that allow you to configure a workflow that automatically enhances facial details. And provide iterative upscaler."
|
description = "This extension offers various detector nodes and detailer nodes that allow you to configure a workflow that automatically enhances facial details. And provide iterative upscaler."
|
||||||
version = "7.8"
|
version = "7.9"
|
||||||
license = { file = "LICENSE.txt" }
|
license = { file = "LICENSE.txt" }
|
||||||
dependencies = ["segment-anything", "scikit-image", "piexif", "transformers", "opencv-python-headless", "GitPython", "scipy>=1.11.4"]
|
dependencies = ["segment-anything", "scikit-image", "piexif", "transformers", "opencv-python-headless", "GitPython", "scipy>=1.11.4"]
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user