前情提要
某“网友”提出只见过照片,线下见面定能一次认出来。我实为“进士”,还不戴眼镜,而且脸盲。所以想到能不能有一双“慧眼”帮我识朋友。手头没有其它便携设备。笔记本电脑还要外接摄像头(得花银子,还是暂时算了)。刚好手机上装了“超级终端”Termux。运行环境算是Linux,也有python,所以想尝试一下基于python的人脸识别。
基于移动设备部署的python人脸识别工具
环境准备
手机安装python环境3.9.0,pip版本20.3.1,都是目前的最新版。计划使用人脸识别模块:Face Recognition(Github地址)目前在网络上找到的比较多的(靠前的,有教程,不想找别的了);需要安装的支持库:dlibC++的工具箱,提供算法支持、CMake好像是编译器(核心?),反正得有;
开始安装
中间问题很多,忙着找各种解决办法,没有留下相关报错信息。下面就简单写一下能够完整的安装方式。按照这个步骤安装就应该没有什么问题。
首先确认安装环境
安装环境尽量为最新版,不要差太多的版本。
pip更新命令:
python -m pip install --upgrade pip
安装CMake:
pip install cmake
执行这一步可能会出现PEP 517
错误,报安装失败。
仅有的报错,保存在翻译面板中
ERROR: Command errored out with exit status 1:
command: /data/data/com.termux/files/usr/bin/python /data/data/com.termux/files/usr/lib/python3.9/site-packages/pip/_vendor/pep517/_in_process.py build_wheel /data/data/com.termux/files/usr/tmp/tmpvynmo1d_
cwd: /data/data/com.termux/files/usr/tmp/pip-install-z1ymwwiw/cmake_240b1b6398a048d5b685f305bdf5b4c6
Complete output (9 lines):
File "/data/data/com.termux/files/usr/tmp/pip-build-env-4a6tpevl/overlay/lib/python3.9/site-packages/skbuild/setuptools_wrap.py", line 560, in setup cmkr = cmaker.CMaker(cmake_executable)
File "/data/data/com.termux/files/usr/tmp/pip-build-env-4a6tpevl/overlay/lib/python3.9/site-packages/skbuild/cmaker.py", line 95, in __init__
self.cmake_version = get_cmake_version(self.cmake_executable)
File "/data/data/com.termux/files/usr/tmp/pip-build-env-4a6tpevl/overlay/lib/python3.9/site-packages/skbuild/cmaker.py", line 81, in get_cmake_version
raise SKBuildError( Traceback (most recent call last):
Problem with the CMake installation, aborting build. CMake executable is cmake
----------------------------------------
ERROR: Failed building wheel for cmake
Failed to build cmake
ERROR: Could not build wheels for cmake which use PEP 517 and cannot be installed directly
如果出现这一情况,可以到CMake官网下载安装文件,手机下载linux-X86_64
版本,(我下载了tar.gz后缀的文件并直接进行了解压,同时还下载了.sh后缀的文件,不清楚具体哪个起效果了)然后执行pip install cmake
。这时就可以正常安装CMake。
安装dlib:
直接执行pip install dlib
即可,可能下载有些慢,挂上梯子可能会好些。最后一个步骤要等一会,大约十分钟?会有一个斜杠在那里转来转去。反正看几篇公众号文章就装好了。
安装Face Recognition:
pip install Face_Recognition
,这个过程更慢,要下载的文件较多(大概15M),挂梯子比较快。最后一个步骤比较慢。需要等一会。也会显示PEP 517
之类的,不要担心,这个是一个什么安装的资源钩子,反正就是在编译安装就是了。也会有一个斜杠转呀转。等一会就装好了。
结尾
后面有点不是很严肃的口吻,因为这是两个时间写的。中间踩了不少坑,总结下来就是这些简单步骤。因为时间原因,暂时没有进行检测是否可用。仅仅为没有报错。后续开发有什么新的收获再跟大家分享。