feat: Implement upscale functionality with ONNX models
- Added upscale operator to handle image upscaling by 4x using AI models. - Introduced new jobs for upscale processing in the server, including debug and standard upscale jobs. - Created a new ONNX model handler for upscale operations, supporting tiled inference and resource management. - Updated tests to cover new upscale functionality, including input validation and output verification. - Added documentation for the upscale feature, detailing usage and model options.
This commit is contained in:
@@ -3,9 +3,9 @@ import bpy
|
||||
from .runtime import runtime
|
||||
from .properties import (
|
||||
BEN2_MODEL_KEY,
|
||||
REALESRGAN_MODEL_KEY,
|
||||
model_ready,
|
||||
)
|
||||
from .server.model_catalog import UPSCALE_MODELS
|
||||
|
||||
class ServerPanel(bpy.types.Panel):
|
||||
bl_label = "Job Server"
|
||||
@@ -227,9 +227,9 @@ class Ben2RemovalDebugPanel(bpy.types.Panel):
|
||||
)
|
||||
|
||||
|
||||
class RealesrganGeneralX4v3DebugPanel(bpy.types.Panel):
|
||||
bl_label = "Real-ESRGAN General x4v3"
|
||||
bl_idname = "ANYIMAGE_PT_debug_realesrgan_general_x4v3"
|
||||
class UpscaleDebugPanel(bpy.types.Panel):
|
||||
bl_label = "Upscale"
|
||||
bl_idname = "ANYIMAGE_PT_debug_upscale"
|
||||
bl_parent_id = DebugPanel.bl_idname
|
||||
bl_space_type = "VIEW_3D"
|
||||
bl_region_type = "UI"
|
||||
@@ -243,27 +243,15 @@ class RealesrganGeneralX4v3DebugPanel(bpy.types.Panel):
|
||||
layout.prop(settings, "input_path")
|
||||
input_path = bpy.path.abspath(settings.input_path)
|
||||
if input_path.lower().endswith(
|
||||
(
|
||||
".mp4",
|
||||
".mov",
|
||||
".avi",
|
||||
".mkv",
|
||||
".webm",
|
||||
".m4v",
|
||||
".mts",
|
||||
".mpg",
|
||||
".mpeg",
|
||||
)
|
||||
(".mp4", ".mov", ".avi", ".mkv", ".webm", ".m4v", ".mts", ".mpg", ".mpeg")
|
||||
):
|
||||
layout.prop(settings, "video_frames")
|
||||
run_row = layout.row()
|
||||
run_row.enabled = (
|
||||
not runtime.server_busy()
|
||||
and model_ready(REALESRGAN_MODEL_KEY)
|
||||
)
|
||||
run_row.operator(
|
||||
"anyimage.debug_realesrgan_general_x4v3",
|
||||
text="Run General x4v3 API",
|
||||
icon="EXPORT",
|
||||
)
|
||||
|
||||
for model in UPSCALE_MODELS.values():
|
||||
row = layout.row()
|
||||
row.enabled = not runtime.server_busy() and model_ready(model.key)
|
||||
operator = row.operator(
|
||||
"anyimage.debug_upscale",
|
||||
text=f"Run {model.label} API",
|
||||
icon="EXPORT",
|
||||
)
|
||||
operator.model = model.key
|
||||
|
||||
Reference in New Issue
Block a user