之前在win环境下成功实现了人脸识别系统,但是在树莓派上将这个程序实现起来就没有这么轻松了。

首先,树莓派属于arm架构的Linux,没有对应的pytorch安装,需要用到推理运行,此时就需要安装ncnn框架,调用ncnn的接口推理,在Tencent官方教程下,这个步骤并不难实现,虽然它的比重占99%,但是在100m运存的树莓派3b+编译只花了1-2个小时。
此外需要安装C++版的opencv来读取图片和保存图片,在这一步时,我先前安装了python版opencv,不过作者对于树莓派上运行的移植代码用的是C++来完成,就需要安装C++版的opencv。

由于树莓派提供的opencv版本太老,需要在github下载源码自行编译,加上编译过程涉及cmake编排make任务和使用g++编译c++源文件并生成可执行文件,目前我的功力还不够,于是作者亲自操刀,我陪着作者,两个人爆肝了两个晚上,将这个比重1%的部分完成了。

安装本身不是特别难,下载opencv,编译opencv,修改Cmakelists,cmake,make,运行可执行文件即可。但是由于依赖包的问题已经树莓派本身运存100m限制,才使得最后1%的内容花了两个晚上,编译时间长达4-5个小时才搭建成功。
最后的运行结果,识别单张图片,如果需要实现多张一起识别,写个循环即可。

总结:仰之弥高,程序在此时已经成功在win和树莓派环境下运行成功。树莓派下还需再进行改进。之后将会借助该程序进行python学习,g++以及cmake语法学习。