在这篇博客中,我将解释我们如何创建一个程序,通过识别某个人的脸来执行某些任务–™。为此,我们将训练模型,将识别两人-欧元™的脸,然后它将发送电子邮件和WhatsApp消息时,它将识别第一人称-欧元™的脸,并将创建EC2实例和EBS卷,当它将识别第二人脸。
对于人脸识别,我们将使用LBPH算法。我们将用两个不同的人来训练两个不同的模型–Euro™的脸。因此,让我们首先了解一下LBPH算法。
局部二值模式直方图(LBPH)
局部二值模式(LBP)是一种简单但非常有效的纹理算子,它通过对每个像素的邻域进行阈值来标记图像的像素,并将结果视为二进制数。
它在1994年首次被描述(LBP),此后被发现是用于纹理分类的一个强大的特征。进一步研究表明,当LBP与方向梯度直方图(HOG)描述符相结合时,在某些数据集上的检测性能有了很大的提高。
现在让-euro™创建代码来收集数据集、训练模型并最终识别人脸以执行某些任务。
第一步:采集双人数据集,保存在文件夹中。
在这一步中,我们将创建代码,收集100个人的裁剪图像,然后将它们保存在一个文件夹中。
import cv2
import numpy as np
类似地,我们可以编写代码来收集第二个人的裁剪图像,并将其保存在文件中。
第二步:用图像训练模型。
在此步骤中,我们将使用存储在文件夹中的收集数据集训练模型。我们将把这些图像传递给模型进行训练。在这里,完整的文件夹充当数据集,因此我们需要将该文件夹视为数据集。
import cv2
import numpy as np
from os import listdir
from os.path import isfile, join
此模型适用于个人1,其面部将用于发送电子邮件和WhatsApp消息。类似地,我们可以为第二个人脸训练另一个模型,我们将使用该模型来创建EC2实例和EBS Volume。
步骤3:创建发送邮件和WhatsApp消息的函数。
在这里,我们将使用smtplib模块发送电子邮件,使用pyWhatkit模块发送WhatsApp消息。
# Send Email
import smtplib as s
def mail():
server = s.SMTP('smtp.gmail.com', 587)
server.starttls()
sender_mail = 'sender@gmail.com'
sender_passwd = '**********'
server.login(sender_mail, sender_passwd )
receiver_mail = 'receiver@gmail.com'
body_msg = "Hello Aditya, this is your face...!!"
server.sendmail(sender_mail,
receiver_mail, body_msg)
print("Sending Mail Please wait......")
print("Email has been sent to receiver_mail id")
步骤4:识别人脸以发送邮件和WhatsApp消息。
在本步骤中,我们将编写代码来识别Person 1的脸以发送邮件和WhatsApp消息。如果准确率将超过90%,那么只有它才会执行这些任务。
import cv2
import numpy as np
import os
让?euro™s查看发送的邮件的输出。
步骤5:编写创建EC2实例和EBS Volume的函数。
为此,我使用Terraform创建EC2实例和EBS Volume,然后附加它们。以下是创建EC2实例、创建EBS卷,然后将卷附加到实例的Terraform代码。
# Provider
provider "aws" {
region = "ap-south-1"
profile="aditya"
}
现在,我将在python中创建一个函数,该函数将使用OS模块运行Terraform代码。
import os
def AWS_launch():
print("Instance and EVS Volume creating...")
os.system('terraform init')
os.system('terraform apply --auto-approve')
print("Instance and EBS Volume are launched")
此函数将运行Terraform命令以应用代码。
步骤6:识别人脸启动EC2实例和EBS卷。
与前面的任务类似,我们将编写识别发送人脸的代码,然后它将创建EC2实例和EBS Volume。
import cv2
import numpy as np
import os
让-Euroec2检查是否已经创建了™实例和EBS Volume。
我用我朋友的形象训练了这个模型,当我认识到我使用了他的形象时,我们可以看到它完成了我们想要的任务。
您可以参考我的GitHub上的完整代码。
GitHub链接:https://github.com/adyraj/FaceRecognizer.githttps://github.com/adyraj/FaceRecognizer.git
感谢您的阅读!FINGŸ˜‡FINGŸ˜‡
原创文章,作者:fendouai,如若转载,请注明出处:https://panchuang.net/2021/06/25/%e8%af%86%e5%88%ab%e5%99%a8%e6%89%a7%e8%a1%8c%e6%9f%90%e4%ba%9b%e4%bb%bb%e5%8a%a1%e7%9a%84%e7%a8%8b%e5%ba%8f/