发布日期:2023-06-22 23:49:51

d人脸技术探索D人脸技术的未来:权威专家分享最新进展

本文目录

  1. 面部晒太阳的好处?
  2. 3D北斗街景真的可以看见人吗?
  3. D表示什么?
  4. 华为d16面部识别怎么设置?
  5. 人脸识别中mysql数据库起什么作用?

面部晒太阳的好处?

面部晒太阳有好处。原因是太阳可以提供给我们身体所需的维生素D,有利于钙的吸收和骨骼健康。此外,晒太阳还可以促进血液循环和新陈代谢,改善皮肤状态,使我们看起来更加健康和有活力。另外,需要注意的是在太阳最强烈的时候(大约10:00到16:00)应该避免长时间暴露在阳光下,这样会对皮肤造成损伤。在晒太阳的时候应该适度,并且对于皮肤较敏感的人,需要使用防晒霜来保护皮肤。

3D北斗街景真的可以看见人吗?

1.

可以看到人的卫星地图目前只有谷歌可以,使用者可以通过街道上的视角查看街景(例如公交车站,商铺等)。因为街景视图的照片是由Google的甲虫车在街上随机拍到的,街边路人的动作,停泊点上的车牌号都是一清二楚。

2.

但是该服务却有侵犯个人隐私的嫌疑,已经被谷歌方面禁止了外用。所以现在看到的街景、车辆、人等都是处理过的,比较模糊。但毫无疑问得是目前为止谷歌认识最清楚的地图软件。

D表示什么?

D是一个大笑的表情符号,两点是眼睛,短横线是鼻子,D是嘴,表示开心的意思。

网络改变的不仅仅是人类信息传播的速度和质量,还极大地丰富了人类表情传意的方式,形成了独特的网络语言,其中又以大量的非言语的表情符号为其特征。表情符号用来生动呈现和描摹日常面对面交际中的非言语信息,使双方如闻其声,如见其人。

1982年9月19日,美国卡耐基-梅隆大学的斯科特·法尔曼(匹兹堡计算机科学教授)教授在电子公告板,第一次输入了这样一串ASCII字符:“:-)”(微笑,顺时针旋转90度可得)。人类历史上第一张电脑笑脸就此诞生。从此,网络表情符号在互联网世界风行,为社会广泛接受。

传统的最初原型只有一个“:)”,后来使用者不断增加,创造出各种不同形式的表情符号。

横看形式

:-) 微笑。 :-( 不悦。 ;-) 使眼色。

:-D 开心。 :-P 吐舌头。 :-C 很悲伤。

:-O 惊讶, 张大口。 :-/ 怀疑。 8-) 戴眼镜者的微笑。

xc== 呕。 --<-<-<@ 送你一朵玫瑰花。 <※ 花束。

<*)>>>=< 鱼骨头。 <□:≡ 乌贼。 (:≡ 水母。

0.0 无语 -。- 开心-3-嘟嘴

西方式的传统表情符号要将脸向右横转九十度才看得明白,所以当表情符号传开后,发明了另外一种横式的表情符号(最初在日本出现):用“*”、“^”、“-”等符号作眼睛,“_”、“.”、“o”等符号放在中间成为口部。

做出“^_^”、“*_*”、“^o^”、“^_~”之类的笑脸,也有在笑脸旁边加上别的符号作为修饰物,表现更为丰富的表情,如“-_-|||”表示类似日本漫画中尴尬的面部,“-_-b”表示人物脸

华为d16面部识别怎么设置?

.

在华为手机桌面上点击【设置】图标进入系统设置菜单,在菜单中下拉并找到【生物识别和密码】选项。

2.

进入生物识别和密码设置界面后点击进入【人脸识别】选项,输入手机锁屏密码。

3.

进入人脸识别设置界面后点击【开始录入】按钮,将面部对准识别区域录入面部数据即可。

4.

完成面部数据录入后返回到人脸识别设置界

人脸识别中mysql数据库起什么作用?

人脸识别mysql数据库起数据提供参照作用,实现多项参照,精准解析:

需求描述

1.将人脸特征信息保存进MySQL数据库。

2.调用摄像头识别人脸,将待识别的人物进行识别,并实时地与数据库中的人脸特征信息进行比对,同时判断出被识别者的身份。

需求分析

1、准备

利用opencv、face_recognition、numpy、pymysql等Python第三方类库,官方说法是face_recognition的人脸识别准确率高达99.6%。

2、识别

利用face_recognition,可以很轻易地得到人脸128维的人脸编码,并且通过比对函数,就可以得出想要的结果。

3、编码

由于face_recognition的128维的人脸编码是一个numpy ndarray类型,即矩阵,并不能存进数据库,要想存进数据库,必须进行类型转换

思路:先将矩阵转为列表,再将列表里的每个元素转为字符串,再用字符串拼接的方式拼成一个字符串,这时就可以把特征值存进数据库了。

4.译码

既然是特征值的比对,那么从数据库取完数据之后,就需要把字符串重新转为矩阵格式。

思路:先通过字符串切割,转为列表,再对列表里每个元素转为浮点型(float),最后再转为矩阵。

5.输出

常规做法通过人脸识别后想要在图像上输出被识别者姓名,但是opencv有自己的一套编码规范,无法输出中文,如果保存的是中文,那么就会出现乱码的情况。

中文文字图像显示解决思路:通过调用本地已存在的字体,利用PIL进行格式转换。

解决方案

数据库设计?

FaceSQL.py:MySQL数据库处理相关

import pymysql

class FaceSQL:

def __init__(self):

self.conn = pymysql.connect(

# 数据库的IP地址

host="xxx.xxx.xxx.xxx",

# 数据库用户名称

user="******",

# 数据库用户密码

password="******",

# 数据库名称

db="xxx",

# 数据库端口名称

port=3306,

# 数据库的编码方式 注意是utf8

charset="utf8"

)

def processFaceData(self, sqlstr, args=()):

print(sqlstr)

# 使用 cursor() 方法创建一个游标对象 cursor

cursor = self.conn.cursor()

try:

# 执行sql语句

cursor.execute(sqlstr, args)

# 提交到数据库执行

self.conn.commit()

except Exception as e:

# 如果发生错误则回滚并打印错误信息

self.conn.rollback()

print(e)

finally:

# 关闭游标

cursor.close()

def saveFaceData(self,id,encoding_str):

self.processFaceData("insert into face(学号,encoding) values(%s,%s)", (id, encoding_str))

def updateFaceData(self, id, encoding_str):

self.processFaceData("update face set encoding = %s where 学号 = %s", (encoding_str, id))

def execute_float_sqlstr(self, sqlstr):

# 使用 cursor() 方法创建一个游标对象 cursor

cursor = self.conn.cursor()

# SQL插入语句

results = []

try:

# 执行sql语句

cursor.execute(sqlstr)

# 获取所有记录列表

results = cursor.fetchall()

except Exception as e:

# 如果发生错误则回滚并打印错误信息

self.conn.rollback()

print(e)

finally:

# 关闭游标

cursor.close()

return results

def sreachFaceData(self, id):

return self.execute_float_sqlstr( "select * from face where 学号="+id)

def allFaceData(self):

return self.execute_float_sqlstr( "select * from face ")

def sreach_Info(self,id):

return self.execute_float_sqlstr( "select * from zstustu where 学号='" + id + "'")

FaceTools.py:?人脸特征信息处理相关

import face_recognition

import numpy

from os import listdir,path

from FaceSQL import FaceSQL

class FaceTools:

def __init__(self):

try:

self.facesql=FaceSQL()

except :

print("数据库连接错误")

def encoding_FaceStr(self, image_face_encoding):

# 将numpy array类型转化为列表

encoding__array_list = image_face_encoding.tolist()

# 将列表里的元素转化为字符串

encoding_str_list = [str(i) for i in encoding__array_list]

# 拼接列表里的字符串

encoding_str = ','.join(encoding_str_list)

return encoding_str

def decoding_FaceStr(self, encoding_str):

# print("name=%s,encoding=%s" % (name, encoding))

# 将字符串转为numpy ndarray类型,即矩阵

# 转换成一个list

dlist = encoding_str.strip(' ').split(',')

# 将list中str转换为float

dfloat = list(map(float, dlist))

face_encoding = numpy.array(dfloat)

return face_encoding

def add_Face(self,image_name, id):

# 加载本地图像文件到一个numpy ndarray类型的对象上

image = face_recognition.load_image_file("./photo/"+image_name)

# 返回图像中每个面的128维人脸编码

# 图像中可能存在多张人脸,取下标为0的人脸编码,表示识别出来的最清晰的人脸

image_face_encoding = face_recognition.face_encodings(image)[0]

encoding_str =self.encoding_FaceStr(image_face_encoding)

# 将人脸特征编码存进数据库

self.facesql.saveFaceData(id,encoding_str)

def updata_Face(self, image_name, id):

# 加载本地图像文件到一个numpy ndarray类型的对象上

image = face_recognition.load_image_file("./photo/"+image_name)

# 返回图像中每个面的128维人脸编码

# 图像中可能存在多张人脸,取下标为0的人脸编码,表示识别出来的最清晰的人脸

image_face_encoding = face_recognition.face_encodings(image)[0]

encoding_str = self.encoding_FaceStr(image_face_encoding)

# 将人脸特征编码更新数据库

self.facesql.updateFaceData(id, encoding_str)

def sreach_Face(self, id):

face_encoding_strs = self.facesql.sreachFaceData(id)

# 人脸特征编码集合

face_encodings = []

# 人脸特征姓名集合

face_names = []

for row in face_encoding_strs:

name = row[0]

face_encoding_str = row[1]

# 将从数据库获取出来的信息追加到集合中

face_encodings.append(self.decoding_FaceStr(face_encoding_str))

face_names.append(name)

return face_names,face_encodings

def load_faceoffile(self):

filepath = 'photo'

filename_list = listdir(filepath)

# 人脸特征编码集合

face_encodings = []

# 人脸特征姓名集合

face_names = []

a = 0

for filename in filename_list: # 依次读入列表中的内容

a += 1

if filename.endswith('jpg'): # 后缀名'jpg'匹对

face_names.append(filename[:-4]) # 把文件名字的后四位.jpg去掉获取人名

file_str = 'photo' + '/' + filename

a_images = face_recognition.load_image_file(file_str)

print(file_str)

a_face_encoding = face_recognition.face_encodings(a_images)[0]

face_encodings.append(a_face_encoding)

print(face_names, a)

return face_names,face_encodings

def load_faceofdatabase(self):

try:

face_encoding_strs = self.facesql.allFaceData()

except:

print("数据库连接错误")

# 人脸特征编码集合

face_encodings = []

# 人脸特征姓名集合

face_names = []

for row in face_encoding_strs:

name = row[0]

face_encoding_str = row[1]

# 将从数据库获取出来的信息追加到集合中

face_encodings.append(self.decoding_FaceStr(face_encoding_str))

face_names.append(name)

return face_names, face_encodings

def load_images_face(self,filepath):

filename_list = listdir(filepath)

for filename in filename_list: # 依次读入列表中的内容

if path.isdir(filepath+filename):

self.load_images_face(filepath+filename+"\\")

if filename.endswith('jpg'): # 后缀名'jpg'匹对

file_str = filepath + filename

a_images = face_recognition.load_image_file(file_str)

print(file_str)

face_encoding = face_recognition.face_encodings(a_images)

if face_encoding != []:

a_face_encoding = face_encoding[0]

encoding_str = self.encoding_FaceStr(a_face_encoding)

self.facesql.saveFaceData(filename[:-4], encoding_str)

def load_images_faces(self, filepath):

filename_list = listdir(filepath)

a=0

for filename in filename_list: # 依次读入列表中的内容

if filename.endswith('jpg'): # 后缀名'jpg'匹对

file_str = filepath + filename

a_images = face_recognition.load_image_file(file_str)

print(file_str)

face_encoding = face_recognition.face_encodings(a_images)

for a_face_encoding in face_encoding:

a += 1

encoding_str = self.encoding_FaceStr(a_face_encoding)

self.facesql.saveFaceData(filename[:-4] + "-" + str(a), encoding_str)

运行结果

  • d人脸技术探索D人脸技术的未来:权威专家分享最新进展已关闭评论
  • A+
所属分类:办事服务