(该文转自:JINLIFE – BLOG 原文地址:https://blog.jinlife.com/index.php/archives/49/)
写在最前:网上转悠发现这篇文章,其实7.0刚出来的时候有网友反映无法人脸识别,我也曾想过通过替换原文件的方法来实现不洗白就人脸识别,因为当时6.x时代就是这样解决的,但是当时没有替换的补丁文件所以也没有成功,当时也没有想过通过破解文件的方式来自己修改补丁文件,今天看到这位大神的操作着实得竖个大拇指了,这位大神大部分篇幅介绍了如何破解,如果想学习可以好好看看,如果是拿来主义可以直接下载大神破解好的文件进行替换就行了,下了就是大神的具体操作:
群晖6.x系统中主要是用Moments来管理相册,之前有个用老版本的Moments来做补丁,可以让群晖支持人脸识别。其实这个有点风险,如果Moments升级多了,可能这个补丁就不好用了而导致程序调用出错。
群晖7.0以上系统新出现的Synology Photos出来后,这个补丁就不起作用了。一方面用的老Moments的so库文件,本来就是碰运气能用。另外一方面,Synology Photos是另外一种软件了,代码和库都有些不一样了。
经过研究,Synology Photos应该使用了OpenCv的DNN神经网络来识别人脸。这个OpenCv库可根据群晖的型号调用不同的神经网络模型,并调用显卡的GPU来加速计算。如果硬件和库代码不匹配,那就无法人脸识别了。所以人脸识别主要是显卡的GPU调用的问题,跟洗白没关系。技术上可以打个补丁解决。
这里的补丁主要是针对黑群晖的,白群晖厂家已经做好了适配,对应的CPU和GPU运行都没问题。如果无法人脸识别,那是Photos套件自身有Bug,等着Photos出新版本修复即可。黑裙由于建于虚拟机或者直接硬件运行群晖,使用的CPU和GPU都不一定是官方群晖用过的,比较容易出问题。 其实神经网络对CPU的兼容性比较高,不容易兼容的是显卡的GPU。
工具
1、IDA Pro 破解工具 http://www.ddooo.com/softdown/185022.htm
nraid虚拟机教程
2、Unraid上如何建虚拟机并启用人脸识别 https://post.smzdm.com/p/a9grrekp/
建议
以下是说明的打补丁的技术过程,如果没兴趣可以直接去文章最下面的下载地址下载。
个人建议没特殊需要的话,可以装DS3615xs的群晖,对GPU没要求,不用打如下补丁,可以直接人脸识别。
除非特别想用DS918+的系统,那显卡能支持,已经有人脸识别的话,也不用打补丁。
此补丁主要是为了用了DS918+的系统,显卡又不支持,而没有人脸识别的用户。
如果Synlology Photos升级,版本更新了,补丁可能会失效,需要重新破解。 所以为了省事,最好用DS3615xs,或者能够让显卡支持人脸识别。
提示:
用虚拟机装群晖,最少分4个CPU核心给群晖,在群晖里面要能看到4个核心。如果CPU核心没分够,这个人脸识别的代码库也容易出问题。
获取需修改破解的文件
- 装好群晖7.0以上系统。
- 装好Synology Photos套件
- 在群晖控制面版开启SSH访问。
- 使用如下步骤将文件拷贝出来。
- 拷贝出来的文件出现在群晖的Homes目录的home目录下,群晖文件浏览器可以直接看到,看到后下载到本地用IDA分析。
a. Win10电脑,打开命令行,输入 ssh jinlife@192.168.0.188
其中 jinlife是群晖的管理员,后面的ip是群晖的地址。输入密码登录群晖SSH。 第一次登录需要输入一个yes。
b. 登陆后继续输入 sudo -i 并再次输入密码进入管理员权限。
c. 输入如下命令将 libsynophoto-plugin-model.so 拷贝到homes的jinlife目录下。