导航:首页 > 编程语言 > python活体检测

python活体检测

发布时间:2023-04-23 03:18:01

python 快速检测ip存活 输出相关信息!

这东西很简单啊。用ARP和PING协议,多线程监控,结果放入消息队列。由消燃庆胡息的皮拦消费者显示,或者是判断,或者是处理结果。

这里都有现成差橘的开源包。比如ping协议。比你调用操作系统自己的ping要快很多。

② 如何线上部署用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

③ 老板让我们技术做人脸识别的开发,用于考勤门禁,python的人脸识别SDK开发包在哪里可以下载

免费的SDK的话 虹软开放平台上的都是免费的

④ Python太好用了!AI初学者快速体验人脸检测

我们使颂宴用python进行AI识别测试,具体方式是是开启本地电脑的摄像头进行实时的识别,或者直接传入一张图片进行行人检测,在分析代码把数据源传入到识别,看到的是source=’0’,但是这个参数是打开本地电脑的摄像头流,再进行行人检测。

但我们需要对此处进行修改,使用rtsp流,进行AI行人识别,下面需要进行分析代码,找到可以修改的地方,或者摸个参数,来进行RTSP流的修改。

已经找到了视频流在哪里传进去的了,下面就是进行分析里面的代码进行改成rtsp流,把rtsp流写进去,汪知来做到实时分析,实现行人检测的效果。

在进行分析的时候,发现source这个参数只有LoadStreams用到过,而且是直接传进去的。

进入source参数里面查看,发现里面有一个默认的值,就是读文件,如果不是文件,就把source=[source],再进行source值遍历。在遍历中还使用到了opencv打开本地电脑的摄像机流,再开一个线程进行实时行人识别。

代码中使用了opencv中cv2.VideoCapture的函数,从网上查找这个函数的用法得知,此函数是可以直接传入rtsp流地址的,所以问题解决就简单多了。cv2.VideoCapture这个函数是可以传入rtsp地址的,所以传入rtsp地址进行尝试,发现传入rtsp地址是没有问题的。困樱消

只要修改source这个参数即可,最终实现了检测:

⑤ Python如何图像识别

首先,先定位好问题是属于图像识别任务中的哪一类,最好上传一张植物叶子的图片。因为目前基于深度学习的卷积神经网络(CNN)确实在图像识别任务中取得很好的效果,深度学习属于机器学习,其研究的范式,或者说处理图像的步骤大体上是一致的。

1、第一步,准备好数据集,这里是指,需要知道输入、输出(视任务而定,针对你这个问题,建议使用有监督模型)是什么。你可以准备一个文件夹,里面存放好植物叶子的图像,而每张图像对应一个标签(有病/没病,或者是多类别标签,可能具体到哪一种病)。
具体实现中,会将数据集分为三个:训练集(计算模型参数)、验证集(调参,这个经常可以不需要实现划分,在python中可以用scikit-learn中的函数解决。测试集用于验证模型的效果,与前面两个的区别是,模型使用训练集和验证集时,是同时使用了输入数据和标签,而在测试阶段,模型是用输入+模型参数,得到的预测与真实标签进行对比,进而评估效果。
2、确定图像识别的任务是什么?

图像识别的任务可以分为四个:图像分类、目标检测、语义分割、实例分割,有时候是几个任务的结合。
图像分类是指以图像为输入,输出对该图像内容分类的描述,可以是多分类问题,比如猫狗识别。通过足够的训练数据(猫和狗的照片-标签,当然现在也有一系列的方法可以做小样本训练,这是细节了,这里并不敞开讲),让计算机/模型输出这张图片是猫或者狗,及其概率。当然,如果你的训练数据还有其它动物,也是可以的,那就是图像多分类问题。
目标检测指将图像或者视频中的目标与不感兴趣的部分区分开,判断是否存在目标,并确定目标的具体位置。比如,想要确定这只狗所佩戴的眼睛的位置,输入一张图片,输出眼睛的位置(可视化后可以讲目标区域框出来)。

看到这里,应该想想植物叶子诊断疾病的问题,只需要输入一整张植物叶子的图片,输出是哪种疾病,还是需要先提取叶子上某些感兴趣区域(可能是病变区域),在用病变区域的特征,对应到具体的疾病?
语义分割是当今计算机视觉领域的关键问题之一,宏观上看,语义分割是一项高层次的任务。其目的是以一些原始图像作为输入,输出具有突出显示的感兴趣的掩膜,其实质上是实现了像素级分类。对于输入图片,输出其舌头区域(注意可以是不规则的,甚至不连续的)。

而实例分割,可以说是在语义分割的基础上,在像素层面给出属于每个实例的像素。

看到这里,可以具体思考下自己的问题是对应其中的哪一类问题,或者是需要几种任务的结合。

3、实际操作
可以先通过一个简单的例子入手,先了解构建这一个框架需要准备什么。手写数字识别可以说是深度学习的入门数据集,其任务也经常作为该领域入门的案例,也可以自己在网上寻找。

⑥ 关于Python中 人脸检测中的问题

打错了,前面是face后面是faces

阅读全文

与python活体检测相关的资料

热点内容
760贴片机编程视频 浏览:333
欧姆龙plc编程第36讲 浏览:915
我的世界如何将一个服务器弄崩 浏览:8
php网站访问量代码 浏览:431
怠速压缩机咔咔响 浏览:176
怎么才能修改APP中的数据 浏览:688
哪里有抢单的app 浏览:462
算法概率题 浏览:465
长方形拉伸的命令 浏览:279
python代码函数编程技术 浏览:194
java正则式 浏览:429
外包程序员好进吗 浏览:384
云服务器服务模型架构 浏览:901
删文件夹什么指令 浏览:509
极速抖音已加密怎么办 浏览:603
matlab拉格朗日算法框图 浏览:430
华为公司计算机视觉算法顾问 浏览:254
夏老师讲的单片机 浏览:298
在编程中如何将图片放大 浏览:163
appstore怎么看是否付费 浏览:603