ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

DeepMosaics 命令行参数完全指南:AddMosaic / CleanMosaic / Style Transfer 全模式调优手册

DeepMosaics 命令行参数完全指南:AddMosaic / CleanMosaic / Style Transfer 全模式调优手册 人工智能深度学习计算机视觉图像处理视频处理【免费下载链接】DeepMosaicsAutomatically remove the mosaics in images and videos, or add mosaics to them.项目地址https://gitcode.com/gh_mirrors/de/DeepMosaics点击查看免费下载导读本文以 DeepMosaics 官方参数说明文档 docs/options_introduction.md 为骨架逐项剖析其 Base、AddMosaic、CleanMosaic、Style Transfer 四大类命令行选项的作用、默认值与调优思路并结合仓库源码cores/options.py、deepmosaic.py、models/runmodel.py、util/mosaic.py 等还原每个参数在真实处理管线中的调用位置与底层逻辑。读完本文你将能精确控制马赛克的类型与粒度、去马赛克的质量与速度、风格迁移的输出尺寸并能理解--mode auto的模型自动推断机制。DeepMosaics 的源码运行方式为python deepmosaic.py程序入口位于 deepmosaic.py它会读取cores/options.py中定义的全部参数随后按--mode分派到 add / clean / style 三条处理管线。官方文档 options_introduction.md 声明If you need more effects, use--option your-parametersto enter what you need——即所有高级效果均通过命令行参数注入。一、参数体系的整体结构从 cores/options.py 可以看到参数通过 Python 标准库argparse解析formatter_classargparse.ArgumentDefaultsHelpFormatter意味着运行python deepmosaic.py --help时每个参数都会显示默认值。参数按功能分为四组分组对应模式作用域Base基础参数全部模式媒体路径、GPU、视频截取、输出目录等通用设置AddMosaic--mode add添加马赛克CleanMosaic--mode clean清除马赛克Style Transfer--mode style风格迁移此外解析完成后Options.getparse()还会做一系列后处理cores/options.py包括追加临时目录后缀、设置CUDA_VISIBLE_DEVICES、根据模型文件名推断mode/netG/ex_mult等。这些后处理逻辑是理解参数默认行为的关键后文会逐项说明。二、Base 基础参数详解下表完整继承自官方文档右侧补充了源码中的实际语义与调用位置OptionDescriptionDefault源码要点cores/options.py--gpu_id若为 -1 则使用 CPU0类型为str非 -1 时设置环境变量CUDA_VISIBLE_DEVICES若 torch 检测不到 CUDA 会自动降级为-1L63-L67--media_path视频或图片路径./imgs/ruoruo.jpg支持单文件也支持目录入口处通过util.Traversal遍历目录内全部媒体见 deepmosaic.py--start_time别名-ss视频起始位置默认视频开头00:00:00直接传给 ffmpeg 的video2voice/video2image见 cores/init.py--last_time别名-t视频处理时长默认整个视频00:00:00同上用于限制处理片段长度--mode运行模式 auto / clean / add / styleauto见第三节auto 模式的自动推断--model_path预训练模型路径./pretrained_models/mosaic/add_face.pth根据文件名中的关键词参与模式与生成器推断--result_dir输出媒体保存目录./result图片输出为{原名}_add.jpg/{原名}_clean.jpg视频输出为{原名}_add.mp4/{原名}_clean.mp4见 cores/add.py--temp_dir临时文件目录./tmp实际会被拼接为{temp_dir}/DeepMosaics_tempcores/options.py内部再分子目录video2image、ROI_mask、replace_mosaic等--fps读取与输出帧率0 表示原始帧率0非 0 时覆盖 ffmpeg 读取/写出的帧率见 cores/init.py--no_preview指定后不预览视频处理过程如服务器运行Falseactionstore_true处理视频时会跳过cv2.imshow窗口2.1 视频截取参数--start_time/--last_time的实战含义处理长视频时这两个参数可以只处理指定片段--start_time 00:01:00 --last_time 00:00:30表示从第 1 分钟开始处理 30 秒。源码中它们被传入ffmpeg.video2voice与ffmpeg.video2imagecores/init.py即音频分离与视频抽帧共用同一时间窗口保证音画同步。2.2 视频处理的中断续跑机制--temp_dir不仅是缓存目录还承担断点续跑功能video_init会检测临时目录中的step.jsoncores/init.py若存在未完成视频任务会询问There is an unfinished video. Continue it? [y/n]确认后从保存的帧位置继续无需重新抽帧。整个视频流程分 4 步抽帧 → 定位马赛克/ROI → 逐帧处理 → 合成视频并合并音频如 cores/add.py。2.3 官方文档未列出但值得使用的 Base 参数cores/options.py 中还定义了几个官方参数表格未收录的 Base 选项它们对实际使用同样重要OptionDescriptionDefault--debug指定后进入调试模式跳过入口的 try/except 包装便于看完整堆栈False--tempimage_type临时图片格式png \| jpgpng 质量更好但占用更多磁盘jpg--netG清理马赛克 / 风格迁移所用的生成器auto \| unet_128 \| unet_256 \| resnet_9blocks \| HD \| videoauto--output_size输出媒体尺寸0 表示原始尺寸文档将其归入 Style Transfer但源码中它是 Base 参数且对 add 模式同样生效0其中--netG在--mode clean且为auto时会根据模型文件名自动匹配生成器类型cores/options.pyunet_128匹配 unet_128、resnet_9blocks匹配 resnet、HD且不含 video 匹配 HD、含video匹配视频融合生成器。三、auto 模式--mode auto的自动推断逻辑官方文档指出--mode默认值为auto。其推断规则在 cores/options.py 中实现核心依据是模型文件名模型名包含clean或指定了--traditional→ 自动切换为clean模型名包含add→ 自动切换为add模型名包含style或edges→ 自动切换为style否则报错提示检查model_path。这正是 README.md 中无需显式指定 mode直接python deepmosaic.py --model_path ./pretrained_models/mosaic/add_face.pth即可加马赛克的原理。同理--mosaic_position_model_path在auto时会自动在同级目录查找mosaic_position.pthcores/options.py这也是 README 特别强调该文件必须存在的原因。四、AddMosaic 参数详解--mode add下表继承官方文档的 AddMosaic 分组并补充源码实现细节OptionDescriptionDefault源码要点--mosaic_mod马赛克类型squa_avg / squa_random / squa_avg_circle_edge / rect_avg / randomsqua_avg分发逻辑见 util/mosaic.py各类型具体算法见下--mosaic_size马赛克尺寸0 表示自动00 时调用addmosaic_autosize依据掩码面积自适应--mask_extend扩展马赛克区域10传入mask_threshold作为形态学膨胀量见 models/runmodel.py--mask_threshold识别马赛克位置的阈值 0~25564越小越容易被判定为马赛克区域见 models/runmodel.py4.1--mosaic_mod六种马赛克风格的底层实现util/mosaic.py 的addmosaic_base是核心算法各模式含义如下squa_avg以n×n方块内三通道均值填充L42-L47最常见的平均色块马赛克squa_mid取方块中心像素颜色填充L49-L54未出现在官方表格但被random模式使用squa_random从方块附近随机位置取像素填充L56-L61产生打散的随机噪声感squa_avg_circle_edge平均填充后仅对掩码内部生效、外部保留原图形成圆形边缘的柔和过渡L63-L73rect_avg矩形平均块宽高比为rect_rat默认 1.6L75-L84randomaddmosaic_random会随机组合尺寸、模式、矩形比例、羽化大小模拟真实照片中被人工打码的多样形态util/mosaic.py可用于生成训练数据。另外所有模式默认带羽化feather对掩码做cv2.blur后按权重混合原图与马赛克图避免生硬边界L86-L93。4.2--mosaic_size 0的自动尺寸算法当mosaic_size0时get_autosize依据掩码面积分档计算块大小util/mosaic.py掩码面积越大马赛克块越大分档区间为50000、20000~50000、5000~20000、0~5000。这保证了不同人脸/物体大小下马赛克密度视觉一致。五、CleanMosaic 参数详解--mode clean下表继承官方文档的 CleanMosaic 分组OptionDescriptionDefault源码要点--traditional指定后使用传统图像处理方法清除马赛克False不指定指定后netG置空走traditional_cleaner--tr_blur传统方法的高斯/均值模糊核 ksize影响最终质量10见 models/runmodel.py--tr_down传统方法的下采样倍率影响最终质量10同上--medfilt_num视频中马赛克位置时序中值滤波窗口11见 cores/clean.py5.1 深度学习清除与--traditional的取舍--mode clean默认用语义分割网络定位马赛克netM即mosaic_position.pth对应的 BiSeNet见 models/loadmodel.py再用生成器netGpix2pix / HD / video重建马赛克区域deepmosaic.py。而--traditional模式下netGNone直接调用传统算法traditional_cleanermodels/runmodel.py先cv2.blur模糊、再间隔抽样下采样、最后INTER_LANCZOS4放大回原尺寸。这是一种模糊放大的近似修复速度远快于深度学习但质量有限适合快速预览或弱机器。--tr_blur与--tr_down直接控制上述过程模糊核越大、下采样越狠去马赛克效果越强但细节损失也越严重两者共同影响最终画质。5.2 视频时序稳定--medfilt_num视频逐帧检测到的马赛克位置会抖动get_mosaic_positions会对 x、y、size 三路坐标分别做窗口为--medfilt_num默认 11的中值滤波平滑cores/clean.py保证修复区域在时间轴上稳定不闪烁。帧数较少时建议调小窗口。5.3 CleanMosaic 相关的高级隐藏参数与 add 模式不同clean 模式在 cores/options.py 中还有一批官方表格未列出但高频使用的选项OptionDescriptionDefault--mosaic_position_model_path定位马赛克位置的模型路径auto自动查找同级mosaic_position.pth--no_feather不进行边缘羽化与颜色校正运行更快False--all_mosaic_area查找所有马赛克区域否则只找最大区域False--ex_mult马赛克区域扩展系数auto其中--ex_mult的auto值会依据模型名自动设定模型含face时为1.1否则为1.5cores/options.py它直接传给boundingSquare控制包围框向外扩大的比例models/runmodel.py--all_mosaic_area关闭时只保留概率最大的连通区域find_mostlikely_ROI避免误判背景。另外--mask_threshold在 clean 模式中同样生效阈值越低越容易被判为马赛克区域见 models/runmodel.py。5.4 两张视频修复策略按帧 vs 视频融合当--netG video且非传统模式时视频走cleanmosaic_video_fusioncores/clean.py将连续 5 帧的马赛克区域拼成时间维输入视频生成器BVDNet加载见 models/loadmodel.py利用时序信息获得更稳定的修复否则走cleanmosaic_video_byframe逐帧独立修复cores/clean.py兼容普通 pix2pix 生成器。选择依据即--netG参数。六、Style Transfer 参数详解--mode style官方文档中 Style Transfer 分组仅一个参数OptionDescriptionDefault--output_size输出媒体尺寸0 表示原始尺寸512需要注意options_introduction.md表中写默认512而源码中该参数的 argparse 默认值为0cores/options.py其语义是0 表示保持原始尺寸。当--mode style且未显式指定时后处理会将output_size置为 512cores/options.py这正是文档表格默认值 512 的来源——两者并不矛盾风格迁移模式默认输出 512px显式设 0 则保留原始尺寸。--output_size的实际作用在 models/runmodel.py 的run_styletransfer中先缩放、再裁剪到 4 的整数倍保证后续网络下采样整除。6.1 风格迁移的进阶参数官方表格未列出风格迁移在源码中还支持一组预处理选项cores/options.py与 CycleGAN/pix2pix 生态保持一致OptionDescriptionDefault--preprocess加载时的缩放/裁剪方式resize \| resize_scale_width \| edges \| gray可用逗号组合resize--edges用边缘图生成图片输入单通道False--cannyCanny 边缘检测阈值150--only_edges只输出边缘图不执行风格迁移False指定--edges或模型名含edges时网络输入通道变为 1models/loadmodel.py先cv2.Canny提取边缘再送入生成器--canny用于计算 Canny 的上下阈值如 150 会得到 low100、high200见 models/runmodel.py设置--only_edges时直接返回边缘图可用于快速可视化边缘预处理效果。七、组合实战完整命令行示例将上述参数组合起来可以得到贴合实际需求的命令# 1) 基础给单张图片添加默认方形马赛克自动推断 modeadd python deepmosaic.py --media_path ./imgs/ruoruo.jpg \ --model_path ./pretrained_models/mosaic/add_face.pth --gpu_id 0 # 2) 精确控制马赛克外观随机噪声块 固定尺寸 更大区域 更高检测阈值 python deepmosaic.py --media_path ./imgs/ruoruo.jpg \ --model_path ./pretrained_models/mosaic/add_face.pth \ --mosaic_mod squa_random --mosaic_size 20 \ --mask_extend 20 --mask_threshold 80 # 3) 清理视频中的马赛克从 1 分 0 秒起处理 30 秒HD 生成器帧率 25 python deepmosaic.py --media_path ./video.mp4 \ --model_path ./pretrained_models/mosaic/clean_face_HD.pth \ --start_time 00:01:00 --last_time 00:00:30 --fps 25 --netG HD # 4) 无 GPU 服务器上快速清理传统方法 关闭预览 CPU python deepmosaic.py --media_path ./img.png \ --model_path ./pretrained_models/mosaic/clean_face.pth \ --gpu_id -1 --traditional --no_preview # 5) 风格迁移输出 512px梵高风格 python deepmosaic.py --media_path ./imgs/SZU.jpg \ --model_path ./pretrained_models/style/vangogh.pth --mode style --output_size 512以上命令均需先按 README.md 完成依赖安装pip install -r requirements.txt并将预训练模型放入./pretrained_modelsadd/clean模式下还需确保存在./pretrained_models/mosaic/mosaic_position.pth。输出统一保存到./result临时文件位于./tmp/DeepMosaics_temp。八、参数调试与错误排查指引查看全部参数与默认值运行python deepmosaic.py --help因 cores/options.py 使用了ArgumentDefaultsHelpFormatter所有默认值都会直接打印报错Please check model_path!--mode auto下模型文件名不包含 clean / add / style / edges 关键词无法推断模式需显式指定--mode或检查模型文件cores/options.py报错Please check mosaic_position_model_path!clean 模式下自动查找的同级mosaic_position.pth不存在需要将定位模型放到--model_path同目录cores/options.py报错Type of Generator error!--netG auto且模型名无法匹配 unet_128 / resnet_9blocks / HD / video 时触发需显式指定--netGcores/options.py视频处理中断后续跑保留--temp_dir不删重新执行同参数命令时会询问是否继续cores/init.py服务器无显示环境务必加--no_preview否则cv2.imshow会抛错。结语DeepMosaics 的全部可调能力都收敛在--option参数体系中Base 组控制输入输出与运行环境AddMosaic 组决定马赛克的外观与覆盖范围CleanMosaic 组在速度传统方法与质量深度学习 时序融合之间提供滑块Style Transfer 组配合--preprocess/--edges扩展了风格化输入形式。结合 docs/options_introduction.md 表格与 cores/options.py 源码对照阅读即可精准定位每一个效果背后的算法分支。赞分享人工智能深度学习计算机视觉图像处理视频处理【免费下载链接】DeepMosaicsAutomatically remove the mosaics in images and videos, or add mosaics to them.项目地址https://gitcode.com/gh_mirrors/de/DeepMosaics点击查看免费下载相关推荐coc.nvim命令行参数详解启动优化与调试模式coc.nvim命令行参数详解启动优化与调试模式 coc.nvim作为Vim/Neovim的Node.js扩展宿主其启动参数和调试模式对提升开发效率至关重要开发工具代码编辑器终极HsMod炉石传说插件完整指南提升游戏体验的简单方案终极HsMod炉石传说插件完整指南提升游戏体验的简单方案 你是否厌倦了炉石传说中冗长的动画等待是否想要更个性化的游戏界面和更流畅的操作体验HsMod正是为游戏开发终极指南G-Helper命令行参数完全应用手册终极指南G Helper命令行参数完全应用手册 G Helper是一款轻量级的华硕笔记本控制工具作为Armoury Crate的替代品支持ROG Zeph桌面应用系统编程上一篇Home Assistant 中使用 mealie.get_mealplan 动作读取 Mealie 膳食计划的完整指南下一篇Gutenberg Comment Author Name 块core/comment-author-name完整解析属性、上下文与服务端渲染实现创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表