树莓派 人脸识别 方法总结(五个方法) 您所在的位置:网站首页 人脸识别为什么不行 树莓派 人脸识别 方法总结(五个方法)

树莓派 人脸识别 方法总结(五个方法)

2024-07-10 17:02| 来源: 网络整理| 查看: 265

树莓派 人脸识别——从小白到大白 @。@ 初探树莓派系统拷入一些问题 人脸识别yolov3结果 opencvdlib虹软sdkfacenet关于pythonfacenet遇到的坑以及心得加一个小插曲移植树莓派

初探树莓派

这是大鱼的第一篇博客,唉唉,客官留步!!!!

系统拷入 一些问题 人脸识别

作为一个小白,我带着我炽热的心,滚过了刀山,跨越了火海,云淡风轻之后,我只想说:一下内容我用了六种我认为可行的方法(但实际上有些适用于电脑,精确度高,但就是不适用于树莓派;有些树莓派可以用,但是就是精度低 哭了哭了 # ¥ # 各位客官如果不弃,可以继续看看)

yolov3

关于yolov3,我之前做过yolov3的目标识别,想知识迁移一下。 放出官网: 链接: YOLO. 我用了cudnn,cuda做加速,具体怎么做,之后再出一篇

结果

1、yolov3适用于物体识别而不是人脸识别 虽然我的人脸识别可以识别出我,并且置信度为99.9%,但是别人却也有70%多。实在是不合适~不合适呀 2、在树莓派上搭建yolov3的环境也很麻烦 这里推荐一篇教程:(最底下有镜像,别爱我,没结果) 链接: darknet-nnpack.

opencv

上链接 链接: 树莓派 + opencv. opencv实现人脸识别呢~就是和大多数人脸识别的工具一样,他是直接分 装好函数,给你训练好的模型,让你识别。 这样确实很快,但是这些模型大多是已欧美人的面孔来训练的,所以识别亚洲人准确度不近人意

dlib

老样子链接: 链接: dlib. dlib号称能够在户外脸部检测数据库基准(Labeled Faces in the Wild benchmark)上的准确率高达 99.38%。 BUT也是针对于欧美人的面孔的,我是装完之后才发现的(我吐了) 但是可取的是,虽然他分装了函数,模板针对欧美,但是他的人脸识别功能更加全面(相比于opencv,个人建议,小白建议) dlib-python链接: api文档.

虹软sdk

链接: 虹软. 下载sdk,第一次下载的时候要关注一下叫APP ID和SDK KEY的东东,相当于账号密码,在代码运行的过程中会用到。 从这里,一个巨大无比的坑开始了…(顺便提一句,小小白注意要看readme文档) 跑了一下demo 在这里插入图片描述 第一部分:输出sdk信息 第二部分:人脸识别,准确率94%,很高了 第三部分:年龄检测 性别检测 3D角度检测 活体信息检测(这些很全了,已经远远超过了人脸识别的要求) (小插曲:第一次跑demo的时候最后光标一直在闪,我以为是没有跑完,后来试了几次都是这样。最后看了看代码,哎哟,getchar(); 笨笨笨 我本已信心满满的准备晚上代码了,结果放在树莓派上一跑,我又吐了。运行不了。 那夜我查阅了很多的资料,查到了这个: 链接: 交叉编译. 在这里插入图片描述 欣喜之情,溢于言表~~~ 第二天… 唉,尝试过交叉编译之后,发现后面还有一个坑,虹软sdk不支持ram-linux(就是树莓派的cpu架构),我下的是linux版的,当然虹软还有windows,安卓等,就是没有arm-liunx. 在这里插入图片描述做个人脸识别像过山车一样,伤心~

facenet

属于主角的光!!!! 之前的不是运行速度慢就是精度不够。 facenet可以的! 链接: tensorflow-facenet.

这个作者已经讲的很详细了。 我用的是anaconda安装的tensorflow 。 anaconda方便是主要在于可以在不同的框架之间切换,但是有一点不好的就是,安装好anaconda之后,它会将你的python路径改成anaconda的,然后pip xxxx就是安装在anaconda中的python下,但是sudo pip 却不是安装在anaconda里,而是在系统的python(/usr/bin/python)。 有时候一个不小心就安装错了位置,然后打死都找不到原因(明明安装了为啥没有!!!哭晕~) 后来,在栽了几个跟头之后,我决定把python 路径改回来。 再提一句:如果只是修改conda里面的python

conda install python=3.X 关于python // 查看python版本 python --version python3 --version //查看当前python位置 which python //查看 所有 python whereis python //查看pip版本 pip -V pip3 -V

知道了自己的python、pip版本之后呢,我们就可以修改了成自己想要的了

// 修改python ,pip 版本 sudo gedit ~/.bashrc

在最后加入 alias python=python3.5 alias pip3=/usr/local/bin/pip3 最后别忘了

source ~/.bashrc

君不见黄河之水天上来,奔流到海不复回,君知不知pip和sudo pip可能用的是不同的两个pip??? pip路径修改如上;

// sudo pip 路径修改 //打开文件 sudo gedit /etc/profile

最后一行加入(具体路径看你哦) alias pip=/usr/local/bin/pip alias pip3=/usr/local/bin/pip3 (如果是anaconda的话在 anaconda/bin/pip

扯远了@×@

facenet遇到的坑以及心得

在这里插入图片描述 小白提醒:特别要注意作者给出的安装环境。并不是随便哪一个版本就可以运行的。 比如python - tensorflow版本是有对应的。如,你用python2写的代码用python3运行肯定会有一些语法的改变,会有warning!再说tensorflow1.14-----2.0改变很大,比如2.0去掉了contrib… 所以要严格按作者来

//安装制定版本的tensorflow,如果你是一个小白,如果你是想直接跑facenet代码,则不要安装2.0的,这个作者应用了contrib,在2.0中没得了 conda install tensorflow-gpu==1.8 // 作者没提到的opencv的安装 conda install python-opencv

如果遇到不能安装tqdm、h5py,考虑python版本问题 (我安装的是tensorlfow1.13.1,1.8太老了)

差点就忘了 pip升级:

pip install --user --upgrade pip 加一个小插曲

我在python版本中挣扎时,当时还没意识到路径这回事,把python卸了,于是呵呵哈哈哈…

开始后只有背景和鼠标了… 我想了想,我应该是把桌面卸了

// 命令行安装桌面,Crtl + Alt + F1 进入命令行模式,需要输入login和password sudo apt-get install ubuntu-desktop sudo reboot

解决。我的小心脏哟~

移植树莓派

用miniconda,注意版本arm 链接: miniconda. 基本上和pc机上的步骤差不多 我将代码把显示图片的功能去除了,拍照频率也降低了,去掉了一些在图片上作图以及显示的功能,改成直接输出。在ps机上cpu为17%,在3b上勉勉强强,希望在4b上试试。

感谢csdn的同僚们!



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有