Unraid建群晖7.0.1虚拟机并启用Photos人脸识别功能

2021-11-17 16:10:41 47点赞 459收藏 94评论

这是一系列文章,将会把我使用家庭网络的方式都写出来,有兴趣可以参考一下。这里不再列出之前的文章,各位有兴趣可以点击右边看作者的其他文章。这里折腾的动力主要是升级网络到2.5G有线网络和WIFI6无线网络,提升家庭内局域网的无线网速,顺便加些家用服务功能。

之前已经写过硬件,路由器,Unraid系统,目前群晖7.0.1已经可以安装虚拟机了,所以这里写一下如何在Unraid中安装群晖虚拟机。

Unraid自带的市场软件太零散,没有群晖好,且完全没有手机APP应用。例如相片备份,安卓和IOS手机都装群晖的Photos 即可。文件浏览也可以装群晖的手机 DS File ,很方便。个人主要是想用群晖的多个手机APP,比较好用,还免费。 个人也比较喜欢Unraid的硬盘休眠功能,因为大多数时候只有缓存盘在运转,机械盘极少运行。家用主要使用了Unraid硬盘休眠+群晖的手机APP。

当然建议不愿意折腾的,还是直接买群晖的官方机器,升级什么都方便,用起来也轻松,什么功能都能用。就是硬盘休眠比较难弄。

人脸识别分析

关于群晖7.0里面的Photos人脸识别功能,有些朋友能用,有些朋友不能用。据研究,里面的关键原因就是调用显卡内GPU芯片的计算功能,跟洗白没关系。也跟Redpill的引导没关系,是跟CPU,NAS型号还有显卡有关。

群晖的人脸识别是用的OpenCV库的DNN的神经网络,需CPU和GPU芯片的计算能力。

为什么有些朋友能用,有些不能用?

目前Redpill只支持918+和DS3615xs,群晖的软件Photos组件会先查询当前的CPU和NAS型号,例如查到是918+,官方是Appololake的J3455的CPU,就会去调用内置HD500显卡来进行人脸识别。这个都要看cv库能不能兼容,CPU和GPU任何一个不兼容就无法识别了。但是如果是DS3615xs,是一个i3-4130的CPU,2013年的老CPU,显卡是8代显卡,这个显卡太老而不被cv库支持。所以cv库不会去调用GPU代码,直接用CPU来人脸识别,所以成功率比918+高。

免责声明:以下内容都是推测实验,如有雷同,纯属巧合,如有错误,那因为是猜的。建议各位看看就好,如果有文件丢失损坏,与我无关,请做好备份,这里只是实验和猜测。

推测1:Unraid, PVE等建立的918+虚拟机群晖的人脸识别功能,把GPU直通弄好就行。因为用虚拟机建群晖,CPU都会虚拟成J3455,只要管GPU能兼容就行了。

推测2:在物理机上直接装918+,如果CPU跟J3455相差甚远,即使有GPU,也可能代码走的分支和建立的神经网络模型不匹配而无法使用。所以物理机最好用J3455的CPU,跟真实918+一样,那绝对支持。其他的CPU和核显得看朋友们的实验结果。可能主要支持的还是Intel带核显的CPU。

推测3:建立的DS3615xs虚拟机随便就有人脸识别,不管GPU直通不直通。那是因为DS3615xs在虚拟机里面虚拟了i3的老CPU,cv库不会调用GPU,装DS3615xs的虚拟机应该都会有人脸识别。

推测4:在物理机上直接装DS3615xs,大概率也有人脸识别。没有那就是差异太大,代码和驱动没办法兼容了。

综上:用虚拟机建群晖,CPU都不是问题,918+只要看GPU,如果是DS3615xs,那都不是问题。用物理机就可能情况比较复杂,能不能用需要看实际测试结果。

原因分析差不多了,那对症下药,咱们在J4125软路由上建立的918+虚拟机也能有人脸识别功能,只要直通GPU显卡即可。

用DS3615xs更简单,只要虚拟机能装成功,那肯定有人脸识别。

DS918+是定位家用(有硬件解码功能,硬盘组合默认用SHR方式)
DS3615xs的定位是企业用(没有硬解功能只能软解,硬盘组合默认用RAID方式)

建立DS918+虚拟机

1. 准备最新的RedPill的Loader。

2. 准备最新的群晖918+安装镜像pat文件。

3. Unraid的缓存盘建议够大,我已经换成1T的固态硬盘了。

注意下面的步骤都要用我这编译出来的redpill镜像img文件,如果是别处生成的,不一定是一样的步骤。我的Github Action库在 这个地址, 有能力可以自己fork一个,自己生成,不要用网上下载的文件,指不定有黑客加了料在里面。如果自己实在搞不定,可以到如下的百度云下载生成好的文件。

下载地址 百度云链接 提取码: xczw

买了个金士顿的A2000的1T固态硬盘,价格也不高,温度不太高,寿命有600TBW,速度也还行。

金士顿(Kingston)1TBSSD固态硬盘M.2接口(NVMe协议)A2000系列589.9元京东去购买

下面介绍的是推荐做法,建议洗白后支持VideoStudio等转码功能,直通GPU后支持人脸识别功能。

关于洗白用的序列号SN和网卡MAC地址,可以先建立一个群晖的虚拟机,再在群晖里面的VMM再建一个同型号的虚拟机。有一个免费的VirtualDSM可以用。可以生成虚拟的,可以洗白的SN和MAC出来。拿来用即可。

省事的话可以到淘宝上买一个序列号也行,几十块钱。

准备好了,开始建虚拟机。将redpill-DS918+_7.0.1-42218.img文件上传到Unraid的isos共享目录下,然后按下图建Linux虚拟机,用isos内的img驱动文件安装:

Unraid建群晖7.0.1虚拟机并启用Photos人脸识别功能

上面关键的选择是选i440fx-5.1, Bios选SeaBIOS,USB控制器选3.0 (qemu XHCI). 主要虚拟网盘选redpill驱动文件,USB类型。 第二虚拟盘建一个SATA的虚拟硬盘或直通硬盘。

Unraid建群晖7.0.1虚拟机并启用Photos人脸识别功能

这里先选用VNC虚拟显卡建立运行虚拟机,装好系统后再直通显卡,以免出未知问题,当然如果熟练后,可以直接直通显卡装虚拟机。网卡选virtio-net或virtio都行。建议virtio-net,比较稳定。

设置好后,运行虚拟机安装即可。等IP连上路由器后,用网页安装7.0.1版本的pat文件即可。

安装成功之后,进行一些硬盘初始配置后,可以先装好Synology Photos套件,然后关闭虚拟机。准备直通显卡。先将显卡驱动vbios_gvt_uefi.rom上传到Unraid的共享isos目录。

Unraid建群晖7.0.1虚拟机并启用Photos人脸识别功能

修改虚拟机配置,将VNC显卡改成物理显卡,并且BIOS选择上传的rom,这个rom很关键,否则有可能改成物理显卡后,人脸识别就会使群晖系统崩溃。

再次启动虚拟机。这时可以用Photos上传一些图片试试人脸识别功能了。 这个人脸识别很慢的,传几张图片后可能要等几分钟才能识别出来。

无工具洗白

下面记录一些洗白步骤,不用下载一些工具软件,纯手动输入命令即可:

我的群晖虚拟机IP是192.168.0.140, 用户是jinlife

1. 在群晖控制面板里面打开SSH功能。

2. Windows 10内打开命令行,输入 ssh jinlife@192.168.0.140

3. 第一次连接,需要输入yes,同意ssh连接。然后输入密码登录群晖ssh,输入命令 sudo -i ,再次输入密码进入管理员模式。

4. 一条条输入如下命令,或者拷贝粘贴到Windows命令行里面一条条运行。

sudo -i

cd ..

mkdir -p /tmp/boot

cd /dev

mount -t vfat synoboot1 /tmp/boot/

cd /tmp/boot

ls

cd boot

cd grub

vi grub.cfg

Unraid建群晖7.0.1虚拟机并启用Photos人脸识别功能

5. 这时会打开配置文件。按向下方向键找到 sn和mac, 到了linux /zImage那里按向右方向键移动修改,这一句很长,主要靠向左向右方向键移动。 这里用的DS3615xs的图片,一样的。注意这里修改的是USB Verbose启动项,除非用SATA启动, 那就修改下面的SATA项。

Unraid建群晖7.0.1虚拟机并启用Photos人脸识别功能

6. 输入 i 进入修改模式。 修改mac1后为洗白的mac地址,sn后面为序列号。

7. 修改完毕后, 按 ESC 键退出修改模式, 输入 :wq 保存修改即可。

8. 输入reboot重启群晖。重启后因为用了新的mac地址,IP可能会变成新IP。需要重新查看并登录。

验证洗白

继续用SSH命令行登录群晖。

输入如下命令

sudo -i

cat /usr/syno/etc/codec/activation.conf

如果没有这个文件,那需要安装VideoStation, 并且运行

synocodectool --activate_codec h264_enc --pkgname videostation

或者不用装VideoStation,直接用photos验证。

synocodectool --activate_codec h264_dec --pkgname photos

再次运行cat /usr/syno/etc/codec/activation.conf 命令。如果出现类似如下内容, success后面是true,即表示洗白成功。VideoStation就有转码功能了。

Unraid建群晖7.0.1虚拟机并启用Photos人脸识别功能

建立DS3615xs虚拟机

1. 准备最新的RedPill的Loader。

2. 准备最新的群晖DS3615xs安装镜像pat

上面DS918+的百度云共享里面都有下载。

Unraid建群晖7.0.1虚拟机并启用Photos人脸识别功能

这里说下2nd虚拟磁盘的类型,选的qcow2,这个类型表示虚拟硬盘占的空间是动态逐渐增加的,刚开始可能只有几G。如果选raw,则是一次性占用500G硬盘。

其他的配置都跟918+差不多一样的。直通的那个USB网卡可以无视。DS3615xs不用显卡直通,一直用VNC虚拟显卡即可。

Unraid建群晖7.0.1虚拟机并启用Photos人脸识别功能

装好群晖后,洗白的方式一样。

如果没有使用VideoStation的需求,只有用Synology Photos照片备份的需求,建议装DS3615xs就好了。918+要多占一个显卡。如果显卡无法驱动,还需要使用下面的魔改文件。魔改的文件在Photos升级版本后还得再次修改,比较麻烦。

我这里用的Unraid 6.9.1版本,如果是6.9.2版本,有个intel-GVT-g的插件,可以将物理显卡共享虚拟给多个虚拟机用。我这里没测试,有兴趣的朋友可以玩玩。 我觉得6.9.1比6.9.2版本稳定,所以就降级了。

魔改人脸识别

如果我就是想用人脸识别,你别管我是虚拟机还是物理机,有核显还是没有,是Intel还是AMD,是918+还是DS3615xs。 有可能吗?

理论有,不过需要魔改,不放心的朋友还是用上面的方式,想折腾的就用下面的魔改文件。不保证能用,只是个实验。

咱们分析了那么多也不是白分析的,既然知道是GPU的问题,那让所有想调用GPU的地方全部跳转去调用CPU就行了。CPU支持深度学习没那么多型号的区别,比GPU通用一些。

改动的方式还有下载的文件都在 这个 文章 里面

总结

愉快的使用群晖吧,人脸识别功能还是很赞的,有资金的朋友建议买群晖的机器,省事省心。据说Photoprism的人脸识别也差不多能用了,各位可以用用,也不一定要用群晖的。喜欢用群晖的手机APP的,还是继续用群晖吧。


展开 收起
94评论

  • 精彩
  • 最新
  • 提醒一下后来者。
    进入到web页面,上传pat文件之前一定要断网,机器在身边的直接把网线,不在的就进路由器后台禁止改ip联网,或者进光猫后台,安全里面开启mac过滤,过滤群晖ip断网,然后再上传,不然上传成功以后重新连接时,群晖会自动更新获取最新的pat,这时候你的引导就不能用的,然后提示已还原,还原以后又提示还原,一直死循环,断网能解决,作者置顶一下,谢谢

    校验提示文案

    提交
  • 根据站内某大佬的文章(忘记了是哪位,暂且引用下之前记录的),918+的人脸识别是否正常和核显在系统中的位置有关,只有调整让核显处在 PCI 总线 0-设备 2-功能 0 的位置,人脸识别才可以正常使用。如果是使用虚拟机,需要修改虚拟机的配置文件。如果是物理机,就只能看主板设计了,如果物理机无法支持,建议还是装3615xs。

    校验提示文案

    提交
    这个估计PXE才要,Unraid好像不需要,总归是要让群晖虚拟机找到能用的GPU吧。

    校验提示文案

    提交
    收起所有回复
  • 启动过后提示booting the kernel后不动了,路由器后台没有新ip出现

    校验提示文案

    提交
    Unraid? 是virtio的虚拟网卡吗?这个看起来貌似是网卡没驱动。

    校验提示文案

    提交
    同样的问题

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 感谢大佬分享!因6.92的docker不支持ipv6,只能用6.91,目前群晖7.01就缺人脸了,大佬真是及时雨。话说,6.91这样直通显卡给群晖的话,jellyfin的docker就没法硬解了吧?另外,vmm的群晖洗白的mac用哪个呢?我是直通的网卡给群晖,vmm里好像mac与直通的网卡mac不一样,填到引导文件的grub里后,在安装助手里貌似会出现两个群晖,序列号一样,mac不一样….感谢大佬

    校验提示文案

    提交
    请问大佬有ds918物理机直装的引导吗

    校验提示文案

    提交
    这个引导不分虚拟机和硬件的。把引导拷贝到真的USB3.0盘也能装。不过引导方式得差不多,主板需兼容老的SeaBIOS引导方式。

    校验提示文案

    提交
    还有4条回复
    收起所有回复
  • 核显直通给群晖,那unraid没法调用了吧

    校验提示文案

    提交
    是的,所以这个比较麻烦,还不如用DS3615xs。或者一定要用DS918+的话可以用Unraid 6.9.2版本配intel-GVT-g,可以虚拟共享显卡。好像也能用。可以试试。

    校验提示文案

    提交
    我就是用6.92版本配虚拟GPU给群晖,可以人脸识别。

    校验提示文案

    提交
    收起所有回复
  • 阵列是用uraid的,然后群晖用共享?

    校验提示文案

    提交
    是的,阵列是Unraid管理,群晖用了虚拟盘,qcow2的方式也就占几十G,照片不多。怕出问题,我也用NFS的方式同步照片到Unraid阵列里面去,也会同步百度云。

    校验提示文案

    提交
    我是直通2个硬盘给群晖用,组raid0

    校验提示文案

    提交
    还有5条回复
    收起所有回复
  • Intel-gvt-g可以吗?这个不用替换vnc了吧?软件直接可以把显卡打到虚拟机里

    校验提示文案

    提交
    咱文章里面也写了,没试过,有兴趣可以试试。应该问题不大。

    校验提示文案

    提交
    收起所有回复
  • 视频预览还不行,手机上传的可以,从电脑直接拷贝过去就不能生成预览,主编有解吗?

    校验提示文案

    提交
    这个可能至少要半洗白吧。GPU只是解决人脸识别。

    校验提示文案

    提交
    没看清楚,直接拷贝的不行的。群晖需要索引这些文件。用Photos的手机或者网页上传都是自动索引了。直接拷贝缺索引,你得想办法让它重新全部索引,有个命令的。 `synofoto-bin-index-tool -t reindex -i /var/services/homes/admin/Photos/`

    校验提示文案

    提交
    还有9条回复
    收起所有回复
  • heic和hevc没有预览图怎么破?7.0.1,918+

    校验提示文案

    提交
    这个好像至少要半洗白才有。然后试一下重建所有索引。 `synofoto-bin-index-tool -t reindex -i /var/services/homes/admin/Photos/`

    校验提示文案

    提交

    Jinlife

    作者

    Jinlife

    作者
    另外如果是小米拍的照片,HEIC格式有问题,没exif信息。这个是个坑。好像没什么好办法解决。最好不要买小米的手机了。哈哈。

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 感谢大佬,我装了3615半洗白之后相册里面怎么还是没有人脸识别?视频预览图都能加载出来了。

    校验提示文案

    提交
    按我的这个教程装的? Unraid和我这个引导装虚拟机应该没问题的。 如果是纯物理机安装,那可能是兼容性问题了。

    校验提示文案

    提交
    收起所有回复
  • ds918+可以用Q35, 不要用i440fx; GPU 直通用 intel GVT-g插件

    校验提示文案

    提交
    为什么呢?我用i440fx好像没碰到什么问题。

    校验提示文案

    提交
    收起所有回复
  • 需要洗白吗?不洗白有没有人脸识别

    校验提示文案

    提交
    人脸识别不需要洗白, 不过不洗白貌似有其他的功能缺失。 所以想用全功能,最好半洗白。

    校验提示文案

    提交
    收起所有回复
  • 昨天把unraid里的918改成了3615xs,也使用了synofoto-bin-index-tool重新index,发现人脸还是不识别。问一下作者,是否一定要用您的引导呢?

    校验提示文案

    提交
    貌似跟引导没关系。话说Unraid里面分了几个CPU核心给3615xs? 最好分个4个核心。之前的i3老CPU也是多核的。分少了可能CPU调用会出错。当然也可以试试我的引导,用完全一样的Unraid虚拟机配置试试。另外,照片最好用Photos自带的Web或App上传,不要用不受管理的路径,排除权限和索引的问题,这样那个tool也不是必须用的。

    校验提示文案

    提交
    收起所有回复
  • 回来感谢作者。unraid使用3615xs打开人脸识别成功

    校验提示文案

    提交
    赞,客气了~

    校验提示文案

    提交
    收起所有回复
  • @Jinlife 大佬,我是6.9.1装的918,用unraid装的emby,我看了你的文章,用了你的引导换成了ds3615,人脸识别没问题了,但是,我有两个sata口不工作了。换回918又可以,不知道大佬知道啥情况嘛

    校验提示文案

    提交
    猜测是硬盘组合的方式不一样。 DS918+是定位家用(有硬件解码功能,硬盘组合默认用SHR方式)
    DS3615xs的定位是企业用(没有硬解功能只能软解,硬盘组合默认用RAID方式。 可以上网找找让DS3615xs支持SHR的方法。你这个918的显卡估计给emby用了。 如果搞不定DS3615xs,那人脸识别只能用918的补丁了。

    校验提示文案

    提交
    收起所有回复
  • 3615软解和918硬解识别准确率一样吗

    校验提示文案

    提交
    识别准确率跟神经网络算法有关,跟CPU和GPU没关系。用起来都一样。再说现在的神经网络也不是百分百能识别的,总归有点误差。白群都有不能识别的图片。

    校验提示文案

    提交
    感谢回复(❁´ω`❁)

    校验提示文案

    提交
    收起所有回复
  • 你好,unraid黑裙升级7.0.1,photos没办法预览视频(网页和手机都不行),验证洗白success后面是true。请问这个有解吗

    校验提示文案

    提交
    可以试试更新下 ffmpeg, 如果是升级上来的,最好清理下Moments的残留文件。

    校验提示文案

    提交
    收起所有回复
  • 显卡驱动vbios_gvt_uefi.rom 在哪下载,没写啊

    校验提示文案

    提交
    中间的百度盘链接里面有。918才需要。3615没显卡不需要。

    校验提示文案

    提交
    收起所有回复
  • 3615,usb网卡直通,群晖的系统信息能看到usb设备,驱动也装好了,但是网口没增加是啥情况

    校验提示文案

    提交
    两种情况,1个是Loader里面network interface的数目没填对,默认只支持一个网口,可以重新生成Loader或者找找文章改系统设置让其支持两个以上网口。 2可能就是驱动不起作用。那个pocopicod的驱动库里面的r8152不好用,能看到,不能用,不知道怎么回事。可以再用bb-qq的r8152套件驱动下看看,排除驱动的影响。

    校验提示文案

    提交
    收起所有回复
  • 首先感谢作者;
    我cpu为9700t,unraid692,下载了你的引导文件,918+无法引导,修改网卡或者直通万兆都不行,用了RSG的引导才行,但是核显直通也无法使用人脸识别,虚拟核显也不行估计也就是你说的cv库;
    更换3615,能引导,mac有点奇怪,不是虚拟机分配的mac,没影响,所以不管,不作其他改动photo无法使用人脸识别,然后直通核显是果断不行的,再然后分配虚拟核显过去,photo终于能看到人脸了;

    由于新硬盘未到,暂时没法完全能对比两个套件的识别准确度,但最近的同一张照片,moments能识别,photo则不能,不能是一张脸都没识别出来......另外,速度方面,moments完胜。

    最后,还是6.2的3617稳定,就是新系统界面完美,是我的菜,所以,两个虚拟黑群我都保留了!!新系统的用作给老父母看孙子的照片,旧系统的用来保存小姐姐啊那些~~

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
459
扫一下,分享更方便,购买更轻松