52 行
5.2 KiB
Markdown
52 行
5.2 KiB
Markdown
# 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`。
|
||
- 证据包:[插件](rea-plugin.json)、[外层 APP](rea-host.json)。参考 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:` 及函数检索见插件证据包|部分回答;运动遮挡、切镜与完整身份逻辑未等价验证|
|
||
|像素一致性|未获得原版相同输入/参数的可信渲染对照|未验证,不能声称逐像素一致|
|
||
|
||
## 已实现的功能
|
||
|
||
- 中频磨皮、强度、半径、高频细节平滑、锐化、五官保护及各大功能分组开关。
|
||
- 肤色提亮、色相、饱和度、均匀肤色;原色及自然白、冷白、暖白、红润白、小麦、古铜六个程序化风格。
|
||
- 牙齿美白和眼睛提亮,基于 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`。
|