文件
paintfcp-fxplug/docs/analysis/REA-分析与复刻说明.md
T

5.9 KiB
原始文件 Blame 文件历史

MSE18V2 分析与 beatygril 复刻

分析日期:2026-10-21。目标为用户指定的 /Applications/MSE18V2.app,原件保持只读。实现基于 PaintFCP 内原始 FxPlug4 工程,产品路径和插件 UUID 独立于原版。

证据与方法

REA 直接打开内嵌插件。原包为 arm64/x86_64 通用 Mach-O,Ghidra 无法保证通用包的分析切片,故用 lipo -thin arm64 创建临时分析副本,再用 REA/Ghidra 12.1.4 分析。所有反编译文本均为机器生成伪代码,属于静态观察与实现推断,不代表原始源码或运行记录。

  • 原始插件 SHA-256:6c5d74bc844a5c5f745718b48ea10ec6635d08aa08a5b6dc6e62653980849f8a。
  • arm64 插件切片:f01e8c0b7e2676b2961950b0e48efdd2589af218e4b36de7d39f5d1c76852bfb。
  • 外层 APP arm64 切片:958d2ae106a023febe244397402cdc3f1977cbc529811335fca15b93ed569a10。
  • 证据包:插件、外层 APP。参考 APP、metallib 和 LUT 保留在原位置,没有打包到本项目。
问题 静态结果与证据 结论状态
APP 与插件职责 外层 AppDelegate::applicationDidFinishLaunching: 调用启动图窗口;主要功能在内嵌 MSSuperSkinSmoothingPlugIn。ev_e57649ee7791e0ee7f491c2659e8aece223aca06c5a95f45406c5e27e5b0974b 已回答
参数与范围 addParametersWithError: 的常规参数含磨皮、肤色、细节、牙齿、九项脸型、选脸、跟踪和蒙版;多数原生参数隐藏,交由自定义面板。ev_4ab9fb8e1643d141ad84355f7fde14e9269f94adadf9348b1175bf308cbcb7c1 已回答主要参数,动态面板全部交互未运行覆盖
处理顺序 YUCIHighPassSkinSmoothing::outputImage 与插件 applySkinSmoothingToImage: 提供局部细节、调色、锐化、预设、高频细节与牙齿处理入口。ev_65936f315a3978bebcafd04e028acc5609c1c092282c05e0ca08cf2b279bc9ad 已回答主链
磨皮算法 局部/全局细节 helper 使用双 Gaussian 与亮度频带压缩;备用蒙版存在 G/B overlay、高通和三次 hard-light。ev_0ea0cc3a7596fe3d6f4023cc4ab539bb81f65c6fdb3f28074712847e9dd048b8 已回答主链,部分 mask 公式采用独立实现
人脸与跟踪 Vision landmarks、原版 Metal 位移网格、OpenCV 动态库、历史脸框/关键点、选择及分析数据均有证据。renderDestinationImage: 及函数检索见插件证据包 部分回答;运动遮挡、切镜与完整身份逻辑未等价验证
像素一致性 未获得原版相同输入/参数的可信渲染对照 未验证,不能声称逐像素一致

原版 FCP 模板的实际发布范围

补充检查用户指定的 ~/Movies/Motion Templates.localized/Effects.localized/💙MS超级美颜/MS超级美颜V2/MS超级美颜V2.moef:共15个发布入口,包括空名自定义面板入口、脸型、脸框预览、白牙、亮眼和混合,没有跟踪目标、跟踪开关或前向/后向分析按钮。清单和模板摘要见 发布参数记录。二进制内部的分析/跟踪代码不能据此解释成当前FCP模板已开放的功能;本项目的三目标分析与跟踪是独立扩展,没有完成原版同类功能的用户界面或运动等价验证。

已实现的功能

  • 中频磨皮、强度、半径、高频细节平滑、锐化、五官保护及各大功能分组开关。
  • 肤色提亮、色相、饱和度、均匀肤色;原色及自然白、冷白、暖白、红润白、小麦、古铜六个程序化风格。
  • 牙齿美白和眼睛提亮,基于 Vision 面部区域构建软蒙版。
  • 瘦脸、大眼、短脸、窄脸、下巴、V 脸、下颌、颧骨、小头和小头范围。
  • 全脸/选中脸、画面点击选脸、多人高速检测、防跳脸范围、脸框和跟踪框。
  • 作为扩展提供三个独立跟踪目标,向前/向后分析,清除当前目标;精确 CMTime 数据持久化到宿主工程,可逆序和任意顺序读取。
  • 蒙版阈值/柔度/边缘保护、皮肤/牙齿/眼睛通道预览与反转、包含几何变形的整体混合。
  • 保留透明度、完整输入范围、非零图像原点与宿主上下原点;原生 FxPlug 参数可由宿主保存和制作关键帧。

复刻边界

本交付为功能相近的独立实现,算法结果存在以下差异:

  1. 原版六个肤色 LUT 由独立颜色变换替代,风格名称接近,颜色值不相同。
  2. 原版人脸网格/曲线位移采用本项目的平滑椭圆采样位移替代。各脸型权重和曲线、眼嘴软蒙版由本项目编写。
  3. 皮肤支持区域使用 Vision 面部区域及独立的肤色/高通备用蒙版;原版完整皮肤分割、时间稳定和细部 mask 尚未等价恢复。
  4. 本版最多保存三个独立目标、每次最多处理十六张脸。原版存在动态目标列表与旧版三目标字段,本次未完整恢复动态列表上限及全部分页操作。
  5. 本版逐帧 Vision 分析并保存几何数据,渲染仅读取记录;原版 OpenCV 光流与时间稳定策略没有照搬。真实运动、多人交叉、遮挡、快速切镜的身份保持尚需专项对照。
  6. 界面使用宿主的分组滑块与开关;原版卡片面板的布局没有照搬。眼睛提亮在本版可用,所分析原版主链实际将该项输入设为零。

跟踪数据每目标保存上限为 64 MB;超过上限时保留此前已保存的数据并报告错误。长素材应分段分析。仅实际验证通过的内容计入完成;本说明中的未知项不因编译或离屏测试通过而自动消除。

验证

./scripts/test.sh 运行实际 Metal/Core Image 像素测试及 Vision 人脸测试。测试素材是 scikit-image 发布的 NASA 公共领域人像,出处见 tests/fixtures/ATTRIBUTION.txt。测试包含实际人脸 landmarks、真实几何变化、五官蒙版、单次混合、透明度和跟踪存储恢复。

正式签名、公证、安装、宿主发现/加载以及最终远程恢复结果记录在 docs/验证记录.md。