QualityScaler:3 步在本地完成图像视频 AI 画质增强
【免费下载链接】QualityScalerQualityScaler - image/video AI upscaler app项目地址: https://gitcode.com/GitHub_Trending/qu/QualityScaler
抽屉里翻出一张 2003 年的合影,人脸已经糊成一团。QualityScaler 是一款本地 AI 画质增强工具,它在你自己的电脑上把图像和视频做超分辨率重建和降噪,全程不经过网络。
能力速览:它吃什么、不做什么
它支持的输入类型比较宽,界面是 Windows 桌面 GUI:
- 图像:jpg、jpeg、png、webp、bmp、tif、tiff、heic
- 视频:mp4、webm、mkv、flv、gif、m4v、avi、mov、qt、3gp、mpg、vob
- 输出:图像可选 .png / .jpg / .bmp / .tiff,视频可选 .mp4 / .mkv / .avi / .mov
- 不做的事:不做音频重采样(音轨原样搬运),不做直播实时推流增强,也不是跨平台应用——它是 Windows 程序
AI 模型分两组。放大类:LVAx2、RealESR_Gx4、RealESR_Ax4、BSRGANx2、BSRGANx4、RealESRGANx4、MSharpx4;降噪类:IRCNN_Mx1、IRCNN_Lx1(1 倍输出,只做去噪)。每个模型在代码里都标了显存占用,从 0.75GB 到 4GB 不等。
跑起来:三个命令
环境要求一行说清:Windows 10/11,8GB 内存以上,4GB 显存的 DirectX 12 显卡。
git clone https://gitcode.com/GitHub_Trending/qu/QualityScaler装依赖:
pip install -r requirements.txt启动(完整部署步骤见 README):
python QualityScaler.py启动前有两件事必须做:把 AI 模型文件解到 AI-onnx/ 目录(仓库里目前只有一个占位说明文件,模型本身要自行下载,链接在 README 里);把 ffmpeg.exe 放进 Assets/,视频抽帧和合成就靠它。exiftool.exe 仓库里已自带,负责把原文件的 EXIF 元数据搬到成品上。
老照片修复:选文件、点 UPSCALE
你要解决什么:一张 480p 的扫描老照片,人脸模糊、有色斑。
你点哪里:主界面左侧点 SELECT FILES,把照片拖进来。右侧选项里挑模型——照片这种要"脑补细节"的场景,RealESRGANx4 或 BSRGANx4 更合适;输入分辨率留 100%,让 AI 吃到最多信息。然后点 UPSCALE。
你会看到什么:程序把图切块、逐块推理、再拼回整图,成品落在与源文件相同的目录下,文件名里带上模型名和后缀。放大看人脸区域,皱纹和发丝这类细部比原片清晰,色斑被压下去了。如果结果看起来"过塑化",把 AI blending 从 OFF 调到 Low 或 Medium,它会把原图和增强图按比例混合,细节和真实感之间找平衡。
视频提清晰度:模型、编码、断点续跑
你要解决什么:一段 720p 的手机录像,想提到 4K 归档。
你调什么参数:模型选 LVAx2 或 RealESR_Gx4 这类偏视频的权重;输出分辨率留 100% 就是 AI 原生输出,想控制体积就调低;编码按需选,有 NVIDIA 卡就挑 h264_nvenc / hevc_nvenc,硬件编码比 x264 快不少。显存富裕的话,把 AI multithreading 从 OFF 提到 4 threads,同时推多帧。
你会看到什么:进度条上显示剩余时间,成品 .mp4 保留原音轨,元数据从源文件复制过来。长视频跑到一半有事要关机?界面上有 STOP 和 RESUME,任务可以暂停再续,不必从头再来。
显存不够:切片机制和输入缩放
你要解决什么:4GB 显存的核显本,要处理一张 5000 万像素的照片,直接推理会爆显存。
你调什么:输入分辨率填 50% 甚至 25%,AI 在低分辨率上工作后再放大回去,速度成倍提升;GPU 选 Auto 让它自己找 DirectML 可用设备。
你会看到什么:代码会自动按显存大小算出 tile 边长,把图切成小块逐块过模型再拼回。配合 AI blending 用,低输入分辨率下的拼接痕迹会被原图"兜住",观感比硬切干净得多。这也是为什么界面把 blending 说明和 tiling 绑在一起讲。
它凭什么快:ONNX 直连显卡
把整个流程想成裱画:AI 模型不是逐个像素硬算,而是看你在 AI-onnx/ 目录里放好的"裱框样板"(fp16 的 .onnx 文件),照着整块整块地"裱"出高清版;onnxruntime-directml 则像一台贴着显卡的裱画台,推理结果直接落在显存里,不走 CPU 绕路。这也是它只认 DirectX 12 显卡的原因——AMD、Intel、NVIDIA 的核显独显都能接这台裱画台,多显卡机器里还能手动指认 GPU 1 到 GPU 4。
技术栈就这几样(按 requirements.txt 列的):
- onnxruntime-directml:模型推理,DirectX 12 加速
- OpenCV(opencv-python-headless):图像视频读写、缩放、tile 拼接
- Pillow:图像编解码
- customtkinter:整个图形界面
- natsort / psutil:文件排序、进程降优先级(FFMPEG 抽帧时压到 idle,避免卡系统)
整个后端前端就是一个 QualityScaler.py,三千多行 Python,没有隐藏的编译依赖。
踩坑与排错
症状:视频处理失败或报错,抽帧一步就挂。 最可能原因:Assets/ 里没有 ffmpeg.exe,程序按固定路径找它。 解法:拿一个 release 版 ffmpeg,把 ffmpeg.exe 放进 Assets/ 目录,路径就是Assets/ffmpeg.exe,别放子目录。
症状:启动即报模型加载错误。 最可能原因:AI-onnx/ 目录是空的,仓库只放了个下载说明,模型要自己下。 解法:按 README 里的模型链接下载 fp16 版 .onnx 文件,解到 AI-onnx/,文件名要像RealESRGANx4_fp16.onnx这样带后缀,程序按模型名拼路径。
症状:大图处理极慢,或中途卡死。 最可能原因:模型和图都大,单块推理超过显存余量。 解法:输入分辨率降到 50% 以下,或换显存占用小的 BSRGANx4(约 0.75GB);程序会自动按显存调 tile 大小,不用手动切图。
症状:增强结果"假",皮肤发蜡、纹理发糊。 最可能原因:blending 处于 OFF,成品 100% 来自模型输出。 解法:AI blending 调 Low 或 Medium,和原图混合;低输入分辨率(<50%)时这个选项收益最大。
去哪找更多
- README.md:部署步骤、模型下载、版本路线图
- AI-onnx/:模型文件放置目录
- Assets/:ffmpeg.exe 与 exiftool.exe 所在目录
- QualityScaler.py:全部源码,GUI、推理、视频流水线都在这一个文件里
- LICENSE:开源许可
【免费下载链接】QualityScalerQualityScaler - image/video AI upscaler app项目地址: https://gitcode.com/GitHub_Trending/qu/QualityScaler
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考