☰
DeepMosaics.exe 图形界面使用指南:马赛克添加/去除与风格转换的 Windows 实操手册
2026/10/4 1:43:40 网站建设 项目流程
  • 人工智能
  • 深度学习
  • 计算机视觉
  • 图像处理
  • 视频处理

【免费下载链接】DeepMosaics

Automatically remove the mosaics in images and videos, or add mosaics to them.

项目地址:https://gitcode.com/gh_mirrors/de/DeepMosaics
点击查看免费下载

导读

本文以 DeepMosaics 项目仓库中 docs/exe_help.md 官方说明文档为主体,系统讲解DeepMosaics.exe(Windows 图形界面版本)的下载安装、界面操作、预训练模型选型与高级参数配置。读完本文,你将能够在 Windows 上完成「图片/视频马赛克添加」「马赛克去除」「风格转换」三类任务,并能通过--option参数对马赛克尺寸、识别阈值、去码算法等细节进行精确控制,同时理解这些参数在 入口脚本 与 参数解析模块 中的底层生效逻辑。

一、DeepMosaics.exe 是什么

DeepMosaics.exe 是 DeepMosaics 项目编译打包的Windows 图形界面(GUI)可执行版本,基于同一套核心代码(见 deepmosaic.py 中的add/clean/style三种模式分发逻辑)封装而成,让不熟悉命令行与 Python 环境的用户也能直接上手。其核心能力包括:

  • 添加马赛克(Add Mosaic):自动识别图片/视频中的人脸等 ROI 区域并打码;
  • 去除马赛克(Clean Mosaic):自动定位马赛克区域并借助深度学习模型还原,或使用传统图像处理方法;
  • 风格转换(Style Transfer):将图片/视频转换为名画风格(莫奈、梵高、浮世绘等)。

需要注意,GUI 版本存在以下使用前提(官方原文注意事项):

  • 需要64 位 Windows操作系统,Windows 10 为最佳运行环境;
  • 不同预训练模型适用于不同效果,应根据任务选择对应模型;
  • 运行耗时取决于电脑性能,处理视频时建议使用 GPU;
  • 若输出视频无法播放,可尝试使用PotPlayer播放器打开;
  • GUI 版本的更新节奏慢于源码版本,追求最新功能请直接运行源码。

二、环境要求与安装步骤

2.1 CPU 版本

CPU 版本仅需安装 Microsoft Visual C++ 运行库(vc_redist.x64.exe,可在微软官网的 VS 16 release 页面获取),安装后即可运行 DeepMosaic.exe。

2.2 GPU 版本

GPU 版本要求NVIDIA 显卡(GTX 1060 及以上),并满足以下三点:

  1. 安装 Microsoft Visual C++ 运行库(同上);
  2. 将显卡驱动升级到460 及以上版本(NVIDIA 官网 GeForce 驱动下载页获取);
  3. 安装CUDA 11.0(注意只能是 11.0 版本,从 CUDA Toolkit 归档页面下载)。

以上所有安装文件(程序本体、预训练模型、VC++ 运行库、驱动、CUDA 等)均可从官方提供的 Google Drive 或百度网盘(提取码1x0a)一次性下载。

版本限制提醒:按官方文档说明,当前 GUI 版本本身不支持 GPU 加速(GUI 中标注 4 已注明“当前版本不支持 GPU”),需要 GPU 请运行源码版本。源码版本的 GPU 使用由 cores/options.py 中的--gpu_id参数控制,其内部会通过os.environ["CUDA_VISIBLE_DEVICES"]指定可见 GPU,并在torch.cuda.is_available()返回 False 时自动回退到-1(CPU)。

2.3 获取程序与模型

运行程序前,请下载 DeepMosaics.exe 本体以及所需的预训练模型(*.pth文件)。模型文件也可在仓库的 pretrained_models 目录下按需放置,源码版本默认从./pretrained_models/下加载。

三、四步快速上手:如何使用

官方给出的 GUI 使用流程极为简洁,共四步:

  1. Step 1:选择需要处理的图片或视频;
  2. Step 2:选择预训练模型(不同模型效果不同,详见下一节选型表);
  3. Step 3:点击运行并等待处理完成;
  4. Step 4:到./result目录查看输出结果。

在源码层面,这四步对应 deepmosaic.py 主函数中对opt.mode的分发:add模式加载 BiSeNet ROI 分割网络后调用add.addmosaic_img/addmosaic_video,clean模式加载马赛克定位网络与生成网络后调用clean.cleanmosaic_img/cleanmosaic_video_byframe/cleanmosaic_video_fusion,style模式加载风格迁移网络后调用style.styletransfer_img/styletransfer_video。GUI 只是把下图所示的操作封装成了可视化界面。

四、GUI 界面逐项注释(对应上图标注)

上图出自仓库 imgs/GUI_Instructions.jpg,是官方文档对界面的标准注释,各标注含义如下:

标注控件作用
1文件选择按钮(Step1 右侧...)弹出文件对话框,选择待处理的图片或视频
2模型选择按钮(Step2 右侧...)弹出文件对话框,选择预训练模型文件(*.pth)
3Mode 下拉框选择程序运行模式:auto/add/clean/style;默认auto会根据模型文件名自动推断模式
4GPU 复选框是否使用 GPU 运行深度学习模型;当前 GUI 版本不支持 GPU,需要 GPU 请运行源码
5FPS 输入框限制输出视频的帧率,0表示保持原始帧率
6More Options 复选框开启更多高级选项(对应标注 7 的命令预览区)
7命令预览区将当前 GUI 配置实时转换为命令行,如--mode auto --media_path ... --model_path ... --fps 0 --result_dir ../result,便于核对配置
8Run! 按钮运行程序
9Help 按钮打开帮助文件
10Donate 按钮赞助项目
11About 按钮查看版本信息
12GitHub 图标打开项目 GitHub 页面

关于标注 3 的auto模式,其推断逻辑实现在 cores/options.py 中:根据model_path的文件名判断——文件名含clean或指定了--traditional则切到clean;含add切到add;含style或edges切到style;否则报错提示检查model_path。

五、预训练模型选型指南

官方将预训练模型分为「马赛克(Mosaic)」与「风格转换(Style Transfer)」两大类,选错模型会直接影响处理效果,务必按需选择。

5.1 马赛克类模型

模型名用途
add_face.pth为图片/视频中的全部人脸添加马赛克
clean_face_HD.pth去除图片/视频中全部人脸的马赛克(要求内存 > 8GB,对应 HD 生成器)
add_youknow.pth为图片/视频中的特定内容添加马赛克
clean_youknow_resnet_9blocks.pth去除图片/视频中特定内容的马赛克
clean_youknow_video.pth去除视频中特定内容的马赛克,处理视频马赛克时推荐使用名称带video的模型

从源码看,模型名中的关键信息会被 cores/options.py 解析以决定网络结构:netG为auto且模式为clean时,模型名含unet_128选用 UNet-128,含resnet_9blocks选用 ResNet-9Blocks,含HD且不含video选用 HD(pix2pixHD),含video则选用视频融合模型(models/loadmodel.py 中分别对应pix2pix_G、pix2pixHD_G与video_G)。同时ex_mult(马赛克区域外扩系数)也会自动区分:模型名含face时为1.1,否则为1.5。

5.2 风格转换类模型

模型名用途
style_apple2orange.pth苹果变橙子
style_orange2apple.pth橙子变苹果
style_summer2winter.pth夏天变冬天
style_winter2summer.pth冬天变夏天
style_cezanne.pth转换为保罗·塞尚(Paul Cézanne)绘画风格
style_monet.pth转换为克劳德·莫奈(Claude Monet)绘画风格
style_ukiyoe.pth转换为浮世绘(Ukiyoe)风格
style_vangogh.pth转换为文森特·梵高(Van Gogh)绘画风格

风格转换类模型均基于 ResNet-9Blocks 生成器(models/loadmodel.py 的style()函数),若模型或预处理中包含edges(边缘图)输入,则生成器输入通道自动改为 1 通道。

六、进阶参数详解:用--option精确控制效果

若默认效果不满足需求,可在 GUI 标注 7 的命令预览区(或源码命令行)中按--option your-parameters的格式追加参数。以下参数均定义于 cores/options.py,并附带源码中的默认值与取值范围。

6.1 基本参数(Base)

选项说明默认值
--gpu_idGPU 设备编号,-1表示不使用 GPU0
--media_path待处理的图片或视频路径(可指向目录批量处理)./imgs/ruoruo.jpg
--start_time视频处理起点,格式HH:MM:SS00:00:00
--last_time视频处理时长,默认处理整个视频00:00:00
--mode运行模式:auto/clean/add/styleauto
--model_path预训练模型路径./pretrained_models/mosaic/add_face.pth
--result_dir输出媒体保存目录./result
--temp_dir中间临时文件目录(视频处理会拆帧为图片)./tmp
--tempimage_type临时图片格式png/jpg,png画质更好但更占空间jpg
--netG生成网络选择:auto/unet_128/unet_256/resnet_9blocks/HD/videoauto
--fps输出视频帧率,0表示保持原始帧率0
--no_preview指定后处理视频时不弹出预览窗口(适合服务器场景)未指定(False)

说明:--media_path支持指向目录。入口脚本 deepmosaic.py 会先os.path.isdir()判断,目录则通过util.Traversal()遍历其中全部媒体文件逐个处理。

6.2 添加马赛克参数(AddMosaic)

选项说明默认值
--mosaic_mod马赛克类型:squa_avg/squa_random/squa_avg_circle_edge/rect_avg/randomsqua_avg
--mosaic_size马赛克方块尺寸,0表示自动计算0
--mask_extend马赛克区域向外扩展的像素数10
--mask_threshold马赛克区域识别阈值(0~255),越小越容易被判定为马赛克区域64

这些参数在 util/mosaic.py 中有完整实现细节:

  • squa_avg:对掩码覆盖的每个n×n块取像素均值填充(经典马赛克);
  • squa_random:每个块随机采样块内像素填充;
  • squa_avg_circle_edge:全图均值块化后再用圆形掩码与原始图像混合,形成圆润边缘;
  • rect_avg:以rect_rat≈1.6的宽高比生成矩形马赛克块;
  • random:自动随机组合马赛克类型、尺寸与羽化参数,模拟真实马赛克分布;
  • mosaic_size=0时调用get_autosize(),根据掩码面积与图像分辨率(以 512 为基准)按分段函数自动推算块尺寸;
  • 羽化(feather)默认自动以块尺寸n作为模糊核,将马赛克区域与原图平滑过渡。

6.3 去除马赛克参数(CleanMosaic)

选项说明默认值
--traditional指定后改用传统图像处理方法去码(不加载生成网络)未指定(False)
--tr_blur传统方法中高斯模糊核尺寸ksize,直接影响最终画质10
--tr_down传统方法的下采样倍数,同样影响最终画质10
--medfilt_num视频中马赛克位置时序平滑的中值滤波窗口大小11

另有一些未列入 GUI 文档但源码支持的进阶去码参数:

选项说明默认值
--mosaic_position_model_path用于定位马赛克位置的模型路径auto(自动在同目录找mosaic_position.pth)
--no_feather指定后不做边缘羽化与颜色校正(速度更快)未指定(False)
--all_mosaic_area指定后查找全部马赛克区域,否则只找最大区域未指定(False)
--ex_mult马赛克区域外扩倍率auto(face 模型 1.1,其余 1.5)

从 models/runmodel.py 可以看到传统方法traditional_cleaner()的实现:先cv2.blur模糊(--tr_blur),再按--tr_down步长下采样,最后INTER_LANCZOS4放大回原尺寸——通过"模糊+降采样+放大"来抹平马赛克块状纹理。而深度学习路径则先由 BiSeNet 定位马赛克位置(get_mosaic_position),裁剪马赛克区域交给生成网络重建,再用replace_mosaic做边缘融合。视频去码时,cores/clean.py 还会用--medfilt_num对连续帧的马赛克中心坐标做中值滤波,抑制抖动。若模型名含video,则走cleanmosaic_video_fusion帧融合路线,把前后帧的上下文一起送入网络(N=2、T=5、S=3 的时空采样结构),画面更稳定。

6.4 风格转换参数(Style Transfer)

选项说明默认值
--output_size输出媒体尺寸,0表示保持原始尺寸512

注意:源码中该参数默认值为0,但在 GUI 说明文档中写作512——这是因为 cores/options.py 在test_flag模式下检测到output_size == 0且模式为style时,会自动将output_size设为512(ResNet-9Blocks 风格迁移网络惯用的处理分辨率),所以 GUI/测试场景实际等效默认 512。

风格转换还支持以下扩展参数(源码定义):

  • --preprocess:加载时的预处理方式,可选resize/resize_scale_width/edges/gray,可用逗号组合;
  • --edges:以 Canny 边缘图作为输入生成图片(输入通道变为 1);
  • --canny:Canny 阈值(默认150,源码会按该值自动生成上下阈值区间);
  • --only_edges:直接输出边缘图而不做风格迁移。

七、从源码理解整体处理流水线

为了让读者更清楚地把握 GUI 背后的执行脉络,这里结合仓库源码给出各模式的核心调用链:

  • 添加马赛克:cores/add.py 的addmosaic_img依次执行「BiSeNet 分割 ROI 掩码(runmodel.get_ROI_position)→util/mosaic.py的addmosaic()打码 → 输出到result_dir下*_add.jpg」;视频版则先拆帧、逐帧定位并打码,最后用 ffmpeg 以--fps指定的帧率合成为*_add.mp4。
  • 去除马赛克:cores/clean.py 先由马赛克定位网络(mosaic_position.pth)逐帧找出马赛克位置与掩码,再对每个马赛克区域执行run_pix2pix()重建(或traditional_cleaner()传统处理),最后replace_mosaic无缝贴回原图,输出*_clean.jpg/*_clean.mp4。
  • 风格转换:cores/style.py 将每帧送入run_styletransfer()(含--output_size缩放、Canny 边缘预处理等),输出文件名自动带模型名后缀,如*_vangogh.jpg/*_monet.mp4。

三种模式的视频处理都会在temp_dir中暂存拆帧图片与音频,结束后由 deepmosaic.py 调用util.clean_tempfiles()自动清理临时文件;处理中途如果程序异常,main()外层还会打印 DeepMosaics 版本(0.5.1)、Python / PyTorch / OpenCV 版本与平台信息,方便排查环境问题。

八、常见问题速查

  • 输出视频无法播放:换用 PotPlayer 等播放器尝试(视频编码兼容性问题);
  • 想用 GPU 加速:GUI 版本暂不支持 GPU,请改用源码版本运行,并通过--gpu_id指定显卡;GPU 环境需满足驱动 ≥ 460 且安装 CUDA 11.0;
  • 处理效果不理想:优先核对是否选对模型——去码请用clean_*系列、打码请用add_*系列、视频去码优先clean_youknow_video.pth,人脸任务注意clean_face_HD.pth需要大于 8GB 内存;
  • 马赛克识别过松/过紧:调整--mask_threshold(0~255,越小越容易判为马赛克区域)与--mask_extend(扩展马赛克覆盖范围);
  • 找不到马赛克位置模型:源码要求--mosaic_position_model_path指向的mosaic_position.pth必须与去码模型存放在同一目录,否则程序会提示检查该路径并退出。

以上全部参数、默认值与调用逻辑均可在仓库的 参数定义文件、入口脚本 及 官方参数说明文档 中进一步核对,实操时建议先在单张图片上测试参数组合,再批量处理视频,以兼顾效果与运行时间。

  • 人工智能
  • 深度学习
  • 计算机视觉
  • 图像处理
  • 视频处理

【免费下载链接】DeepMosaics

Automatically remove the mosaics in images and videos, or add mosaics to them.

项目地址:https://gitcode.com/gh_mirrors/de/DeepMosaics
点击查看免费下载

相关推荐

上一篇:PromptFill 0.9.2版本深度评测:10大新特性全面体验报告
下一篇:Sprite.js多人游戏开发终极指南:使用Node.js构建实时对战游戏

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询