本文简述如何在黑群晖 DSM 7.x 系统中通过补丁实现对 Synology Photos 的在 CPU 上人脸识别支持,仅适用于X86_64的黑群晖7.0-7.2机型,目前测试识别正常,索引期间CPU占用率也不高。
原理修改为不调用 GPU 显卡,只用CPU,所以不算完美!仅测试了DS918+、DS920+,其它机型自行研究!
1、先停用Synology Photos套件

2、SSH连接群晖执行补丁脚本
自动补丁操作步骤(建议)
Synology Photos 1.6.x版本手动打补丁
wget http://code.imnks.com/face/PatchELFSharp
chmod +x PatchELFSharp
# support face and concept
./PatchELFSharp "/var/packages/SynologyPhotos/target/usr/lib/libsynophoto-plugin-platform.so.1.0" "_ZN9synophoto6plugin8platform20IsSupportedIENetworkEv" "B8 00 00 00 00 C3"
# force to support concept
./PatchELFSharp "/var/packages/SynologyPhotos/target/usr/lib/libsynophoto-plugin-platform.so.1.0" "_ZN9synophoto6plugin8platform18IsSupportedConceptEv" "B8 01 00 00 00 C3"
# force no Gpu
./PatchELFSharp "/var/packages/SynologyPhotos/target/usr/lib/libsynophoto-plugin-platform.so.1.0" "_ZN9synophoto6plugin8platform23IsSupportedIENetworkGpuEv" "B8 00 00 00 00 C3"
Synology Photos 1.3.3及之前的旧版本手动打补丁
wget http://code.imnks.com/face/PatchELFSharp
chmod +x PatchELFSharp
./PatchELFSharp "/var/packages/SynologyPhotos/target/usr/lib/libsynophoto-plugin-model.so.1.0" "_ZN9synophoto6plugin7network9IeNetwork11IsSupportedEv" "B8 00 00 00 00 C3"
已打好的补丁,一键替换(也行)
Synology Photos 1.6.2-0710
wget http://code.imnks.com/face/1.6.2-0710/libsynophoto-plugin-platform.so.1.0 -O /var/packages/SynologyPhotos/target/usr/lib/libsynophoto-plugin-platform.so.1.0 && synopkgctl stop SynologyPhotos && synopkgctl start SynologyPhotos
Synology Photos 1.6.1-0641
wget http://code.imnks.com/face/1.6.1-0641/libsynophoto-plugin-platform.so.1.0 -O /var/packages/SynologyPhotos/target/usr/lib/libsynophoto-plugin-platform.so.1.0 && synopkgctl stop SynologyPhotos && synopkgctl start SynologyPhotos
Synology Photos 1.6.0-0629
wget http://code.imnks.com/face/1.6.0-0629/libsynophoto-plugin-platform.so.1.0 -O /var/packages/SynologyPhotos/target/usr/lib/libsynophoto-plugin-platform.so.1.0 && synopkgctl stop SynologyPhotos && synopkgctl start SynologyPhotos
Synology Photos 1.3.3-0330
wget http://code.imnks.com/face/1.3.3-0330/libsynophoto-plugin-model.so.1.0 -O /var/packages/SynologyPhotos/target/usr/lib/libsynophoto-plugin-model.so.1.0 && synopkgctl stop SynologyPhotos && synopkgctl start SynologyPhotos
注:一键替换脚本也提供了原版备份文件 修改上面脚本文件名为…so.1.0.bak 再执行即可一键恢复官方。
3. 启动 Synology Photos

4. 在 Synology Photos 设置中勾选:“在个人空间启用人脸识别” 和 “在个人空间中启用主题识别”

5. 人脸识别成功
Synology Photos 开始人脸识别。由于是使用 CPU 资源进行人脸识别,可以看到识别过程中 CPU 占比明显升高。

识别完成后的效果:

文章评论