‘壹’ python人脸识别代码怎么写
检查cv2是否存在(看报错)。如果不存在,用pip install cv2安装。如果存在,请核对代码是否存在语法错误。
‘贰’ openmv怎么将人脸识别信号传给主控stm32
首先,openmv应该主要是stm32的主控。
1,人脸识别之后会有一些原始数据,你可以通过串口把它传回主控单片机。
2,若是简单的追踪应用,把识别的人脸方框,眼睛的两个方框的中心坐标点和长宽数据通过串口发回。
3,若是想只将识别的人脸发回,那么我建议你用SPI的方式将人脸发回
‘叁’ 人脸识别为什么用python开发
可以使用OpenCV,OpenCV的人脸检测功能在一般场合还是不错的。而ubuntu正好提供了python-opencv这个包,用它可以方便地实现人脸检测的代码。
写代码之前应该先安装python-opencv:
#!/usr/bin/python
#-*-coding:UTF-8-*-
#face_detect.py
#FaceDetectionusingOpenCV.Basedonsamplecodefrom:
#http://python.pastebin.com/m76db1d6b
#Usage:pythonface_detect.py<image_file>
importsys,os
fromopencv.cvimport*
fromopencv.highguiimport*
fromPILimportImage,ImageDraw
frommathimportsqrt
defdetectObjects(image):
""""""
grayscale=cvCreateImage(cvSize(image.width,image.height),8,1)
cvCvtColor(image,grayscale,CV_BGR2GRAY)
storage=cvCreateMemStorage(0)
cvClearMemStorage(storage)
cvEqualizeHist(grayscale,grayscale)
cascade=cvLoadHaarClassifierCascade(
'/usr/share/opencv/haarcascades/haarcascade_frontalface_default.xml',
cvSize(1,1))
faces=cvHaarDetectObjects(grayscale,cascade,storage,1.1,2,
CV_HAAR_DO_CANNY_PRUNING,cvSize(20,20))
result=[]
forfinfaces:
result.append((f.x,f.y,f.x+f.width,f.y+f.height))
returnresult
defgrayscale(r,g,b):
returnint(r*.3+g*.59+b*.11)
defprocess(infile,outfile):
image=cvLoadImage(infile);
ifimage:
faces=detectObjects(image)
im=Image.open(infile)
iffaces:
draw=ImageDraw.Draw(im)
forfinfaces:
draw.rectangle(f,outline=(255,0,255))
im.save(outfile,"JPEG",quality=100)
else:
print"Error:cannotdetectfaceson%s"%infile
if__name__=="__main__":
process('input.jpg','output.jpg')
‘肆’ 关于python人脸识别的问题
应该是没有找到分类器编码文件,把 haarcascade_frontalface_default.xml, haarcascade_eye.xml文件放到项目根目录下,再用cv.CascadeClassifier(path1), cv.CascadeClassifier(path2)两个API导入,另python下windows的文件路径要用 \\ 或者 /
‘伍’ 如何用pca做人脸识别 python实现
基于特征脸(PCA)的人脸识别方法
特征脸方法是基于KL变换的人脸识别方法,KL变换是图像压缩的一种最优正交变换。高败神维的图像空间经过KL变换后得到一组新的正交基,保留其中重要的正交基,由这些基可以张成低维线性空间。如果假设人脸在这些低维线性空间的投影具有可分性,就可以将这些投影用作识别的特征矢量,这就是特征脸方法喊枯陆的基本思想。这些方法需要较多的训练样本,而且完全是基于图像灰度的统计特性的。目前有一些改进型的特征脸方法。
比如人脸灰度照片40x40=1600个像素点,用每个像素的灰度值组成的矩阵代表这个人的人脸。那么这个人人脸就要1600 个特征。拿一堆这样的样本过来做pca,抽取得到的只是在统计意义下能代表某个样本的几个特征。
人脸识别可以采用神经网 络深度学习的思路,国内的ColorReco在这边有比较多的郑顷案例。
‘陆’ python3.x实现人脸识别运行时出现的错误,请问是怎么回事
host里面引号的问题,一句里面亩虚只胡耐春能头尾裤耐用',不能头尾中间都有',实在要用引号,可以使用'和"组合
‘柒’ 如何实现人脸识别及其原理
只要开人脸识别功能就行了 人脸识别其实很简单,相机处理器对拍到的物体进行长宽比例的分析,分析出的数值接近人脸的比例就会自动锁定,其实就是数学上的计算和比例,也许大家认为人脸差别很大,其实都是遵循着固定的比率的,只要不是畸形,不管胖瘦脸部的比例都是人脸特伍行有的那个值,所以即使是素描画,相机一样认为他是人脸,只要他的比例是对的
=IF(OR(P9=""),"",Q9&"."&R9&""&LEFT(S9,2)&"")
意思是当P9为空,就显示空,否则显示Q9为整数部份,&"."为加上一个小数点,小数部份为R9和S9的前两位阵列成.这个公式里的OR和后&""是多余的,写成这样就行=IF(P9="","",Q9&"."&R9&""&LEFT(S9,2))
Q9=30 R9=32 S9=1.3255在后面的单元格显示30.3201,如果是当S9整数小于2位,就在前面添0,大于2位就显示几位整,那么输入
=Q9&"."&R9&IF(LEN(ROUNDDOWN(S9,0))<2,0&ROUNDDOWN(S9,0),ROUNDDOWN(S9,0))
适合啊,我同学做的就跟你一点差别,她是人脸识别,没有表情。
据说,苹果新品手机可以“在一百万张脸中识别出你的肥脸”,还可以通过人脸识别解锁手机,以及订制动态3D Animojis 表情。
苹果iPhoneX人脸识别是怎么实现的呢?
这是一个复杂的技术问题......人脸识别主要包括人脸检测、特征提取、人脸分类三个过程。
简单地说,就是通过人脸检测,对五官进行一些关键点的定位,然后提取计算机能够识别的人脸特征,最后进行一个相似度的比对,从而得到一个人脸识别的结果,也就是判断“刷脸”的是不是你本人。
让人最为激动还是苹果在取消home键后,替代Touch ID的Face ID功能。有了人脸识别技术加持,抬手秒解锁iPhone的过程真的是更简单也更迅速。
不仅如此,苹果人脸识别解锁的安全性、可靠性也非常高。运用3D结构光技术,iPhone X 能够快速对“人脸3D建模”。即使使用者改变发型,戴上眼镜帽子,或者在晚上,iPhone X都能成功解锁。
人脸识别技术这么牛,那它是万此橘芦能的吗?只要是人脸都可以识别、辨认出来么?其实,在进行人脸识别的时候,也存在一些难题,比如人的姿态、光照、遮挡等都会对人脸识别造成影响。
首先是面部捕捉。它根据人的头部的部位进行判定,首先确定头部,然后判断眼睛和嘴巴等头部特征,通过特征库的比对,确认是面部,完成面部捕捉,ai可以这样做。 不过个人以为这个技术并不好用,特别是在有不止一个人的场景上,比如大合照,对焦点经常乱跑,所以偶的相机基本还是放在中央对焦上,毕竟cpu再聪明,还是人脑更靠谱。。。
Mate9 Pro会支援人脸解锁/识别功能,正在努力适配中。版本具体的更新资讯,请您关注花粉论坛官方通知。感谢您对华为产品的一贯支援。
你可以使用opencv库提供的人脸识别模组,这样子会比较快
具体操作方法:
1、首先你需要一个连线Windows10电脑和Kinect的接口卡;
2、然后还需要给系统做一个小手术以获取Kinect Beta驱动更新:
- 按Win+R开森带启执行,输入regedit回车开启登录档编辑器;
- 导航至HKLMSofareMicrosoft
- 建立子键DriverFlightingPartner
3、在Partner子键中新建名为“TargetRing”的专案,将其值设定为“Drivers”。
不需要重启电脑,之后你就可以在Windows Update或装置管理器中更新Kinect Beta驱动了。
以上就是Windows10用Kinect实现人脸识别功能的方法了,这样一来只要给连线一个Kinect就可以使用Windows10人脸识别功能,而不用更换电脑了。
是的,比如云脉人脸识别中的人脸检测技术就是采用三维定向,对人脸三维朝向,做精准到“度”的判断,以及对人脸特征点进行“画素级”定位,轻松判断眼睛开合状态,还可通过技术对现有人脸识别做技术上的补充和完善,进而达到识别的创新性和严谨性。
操作方法:
1、首先你需要一个连线Windows10电脑和Kinect的接口卡;
2、然后还需要给系统做一个小手术以获取Kinect Beta驱动更新:
- 按Win+R开启执行,输入regedit回车开启登录档编辑器;
- 导航至HKLMSofareMicrosoft
- 建立子键DriverFlightingPartner
3、在Partner子键中新建名为“TargetRing”的专案,将其值设定为“Drivers”。
不需要重启电脑,之后你就可以在Windows Update或装置管理器中更新Kinect Beta驱动了。
以上就是Windows10用Kinect实现人脸识别功能的方法了,这样一来只要给连线一个Kinect就可以使用Windows10人脸识别功能,而不用更换电脑了。
‘捌’ 如何线上部署用python基于dlib写的人脸识别算法
python使用dlib进行人脸检测与人脸关键点标记
Dlib简介:
首先给大家介绍一下Dlib
我使用的版本是dlib-18.17,大家也可以在我这里下载:
之后进入python_examples下使用bat文件进行编译,编译需要先安装libboost-python-dev和cmake
cd to dlib-18.17/python_examples
./compile_dlib_python_mole.bat 123
之后会得到一个dlib.so,复制到dist-packages目录下即可使用
这里大家也可以直接用我编译好的.so库,但是也必须安装libboost才可以,不然python是不能调用so库的,下载地址:
将.so复制到dist-packages目录下
sudo cp dlib.so /usr/local/lib/python2.7/dist-packages/1
最新的dlib18.18好像就没有这个bat文件了,取而代之的是一个setup文件,那么安装起来应该就没有这么麻烦了,大家可以去直接安装18.18,也可以直接下载复制我的.so库,这两种方法应该都不麻烦~
有时候还会需要下面这两个库,建议大家一并安装一下
9.安装skimage
sudo apt-get install python-skimage1
10.安装imtools
sudo easy_install imtools1
Dlib face landmarks Demo
环境配置结束之后,我们首先看一下dlib提供的示例程序
1.人脸检测
dlib-18.17/python_examples/face_detector.py 源程序:
#!/usr/bin/python# The contents of this file are in the public domain. See LICENSE_FOR_EXAMPLE_PROGRAMS.txt## This example program shows how to find frontal human faces in an image. In# particular, it shows how you can take a list of images from the command# line and display each on the screen with red boxes overlaid on each human# face.## The examples/faces folder contains some jpg images of people. You can run# this program on them and see the detections by executing the# following command:# ./face_detector.py ../examples/faces/*.jpg## This face detector is made using the now classic Histogram of Oriented# Gradients (HOG) feature combined with a linear classifier, an image# pyramid, and sliding window detection scheme. This type of object detector# is fairly general and capable of detecting many types of semi-rigid objects# in addition to human faces. Therefore, if you are interested in making# your own object detectors then read the train_object_detector.py example# program. ### COMPILING THE DLIB PYTHON INTERFACE# Dlib comes with a compiled python interface for python 2.7 on MS Windows. If# you are using another python version or operating system then you need to# compile the dlib python interface before you can use this file. To do this,# run compile_dlib_python_mole.bat. This should work on any operating# system so long as you have CMake and boost-python installed.# On Ubuntu, this can be done easily by running the command:# sudo apt-get install libboost-python-dev cmake## Also note that this example requires scikit-image which can be installed# via the command:# pip install -U scikit-image# Or downloaded from . import sys
import dlib
from skimage import io
detector = dlib.get_frontal_face_detector()
win = dlib.image_window()
print("a");for f in sys.argv[1:]:
print("a");
print("Processing file: {}".format(f))
img = io.imread(f)
# The 1 in the second argument indicates that we should upsample the image
# 1 time. This will make everything bigger and allow us to detect more
# faces.
dets = detector(img, 1)
print("Number of faces detected: {}".format(len(dets))) for i, d in enumerate(dets):
print("Detection {}: Left: {} Top: {} Right: {} Bottom: {}".format(
i, d.left(), d.top(), d.right(), d.bottom()))
win.clear_overlay()
win.set_image(img)
win.add_overlay(dets)
dlib.hit_enter_to_continue()# Finally, if you really want to you can ask the detector to tell you the score# for each detection. The score is bigger for more confident detections.# Also, the idx tells you which of the face sub-detectors matched. This can be# used to broadly identify faces in different orientations.if (len(sys.argv[1:]) > 0):
img = io.imread(sys.argv[1])
dets, scores, idx = detector.run(img, 1) for i, d in enumerate(dets):
print("Detection {}, score: {}, face_type:{}".format(
d, scores[i], idx[i]))5767778798081
我把源代码精简了一下,加了一下注释: face_detector0.1.py
# -*- coding: utf-8 -*-import sys
import dlib
from skimage import io#使用dlib自带的frontal_face_detector作为我们的特征提取器detector = dlib.get_frontal_face_detector()#使用dlib提供的图片窗口win = dlib.image_window()#sys.argv[]是用来获取命令行参数的,sys.argv[0]表示代码本身文件路径,所以参数从1开始向后依次获取图片路径for f in sys.argv[1:]: #输出目前处理的图片地址
print("Processing file: {}".format(f)) #使用skimage的io读取图片
img = io.imread(f) #使用detector进行人脸检测 dets为返回的结果
dets = detector(img, 1) #dets的元素个数即为脸的个数
print("Number of faces detected: {}".format(len(dets))) #使用enumerate 函数遍历序列中的元素以及它们的下标
#下标i即为人脸序号
#left:人脸左边距离图片左边界的距离 ;right:人脸右边距离图片左边界的距离
#top:人脸上边距离图片上边界的距离 ;bottom:人脸下边距离图片上边界的距离
for i, d in enumerate(dets):
print("dets{}".format(d))
print("Detection {}: Left: {} Top: {} Right: {} Bottom: {}"
.format( i, d.left(), d.top(), d.right(), d.bottom())) #也可以获取比较全面的信息,如获取人脸与detector的匹配程度
dets, scores, idx = detector.run(img, 1)
for i, d in enumerate(dets):
print("Detection {}, dets{},score: {}, face_type:{}".format( i, d, scores[i], idx[i]))
#绘制图片(dlib的ui库可以直接绘制dets)
win.set_image(img)
win.add_overlay(dets) #等待点击
dlib.hit_enter_to_continue()041424344454647484950
分别测试了一个人脸的和多个人脸的,以下是运行结果:
运行的时候把图片文件路径加到后面就好了
python face_detector0.1.py ./data/3.jpg12
一张脸的:
两张脸的:
这里可以看出侧脸与detector的匹配度要比正脸小的很多
2.人脸关键点提取
人脸检测我们使用了dlib自带的人脸检测器(detector),关键点提取需要一个特征提取器(predictor),为了构建特征提取器,预训练模型必不可少。
除了自行进行训练外,还可以使用官方提供的一个模型。该模型可从dlib sourceforge库下载:
arks.dat.bz2
也可以从我的连接下载:
这个库支持68个关键点的提取,一般来说也够用了,如果需要更多的特征点就要自己去训练了。
dlib-18.17/python_examples/face_landmark_detection.py 源程序:
#!/usr/bin/python# The contents of this file are in the public domain. See LICENSE_FOR_EXAMPLE_PROGRAMS.txt## This example program shows how to find frontal human faces in an image and# estimate their pose. The pose takes the form of 68 landmarks. These are# points on the face such as the corners of the mouth, along the eyebrows, on# the eyes, and so forth.## This face detector is made using the classic Histogram of Oriented# Gradients (HOG) feature combined with a linear
‘玖’ tinymaix怎么进行人脸识别
以下尘陪是在TinyMaix上进行人脸识别的步骤:
1.准备好摄像头模块并通过USB连接到TinyMaix上。
2.通过下载OpenMV IDE进行人脸识别的编程和开发。OpenMV IDE是一款适用于嵌入式设备的Python开发环境,方便编写和调试代码,支持人脸识别和人脸检测等AI功能的开发。
3.在OpenMV IDE中使用haarcascade_frontalface_default.xml人脸识别模型。该模型是一种基于Haar特征的级联分类器,可以对人脸进行检卜兄辩测和识型缺别。这个模型可以轻松地在OpenCV或其他人工智能库中找到和使用。
4.为检测到的人脸标识出面部特征,例如嘴巴、鼻子和眼睛等,通过这些特征来进一步识别人脸。
5.解析和输出识别结果。将结果通过串口或其他方式实时显示,以便使用者查看识别效果。