当前位置: 首页 > news >正文

阿里云 ecs 网站备案吗互联网全媒体广告代理

阿里云 ecs 网站备案吗,互联网全媒体广告代理,手机免费个人网站建站,网站建设与规划周志总结dlib人脸关键点绘制及微笑测试 目录 dlib人脸关键点绘制及微笑测试1 dlib人脸关键点1.1 dlib1.2 人脸关键点检测1.3 检测模型1.4 凸包1.5 笑容检测1.6 函数 2 人脸检测代码2.1 关键点绘制2.2 关键点连线2.3 微笑检测 1 dlib人脸关键点 1.1 dlib dlib 是一个强大的机器学习库&a…

dlib人脸关键点绘制及微笑测试

目录

  • dlib人脸关键点绘制及微笑测试
    • 1 dlib人脸关键点
      • 1.1 dlib
      • 1.2 人脸关键点检测
      • 1.3 检测模型
      • 1.4 凸包
      • 1.5 笑容检测
      • 1.6 函数
    • 2 人脸检测代码
      • 2.1 关键点绘制
      • 2.2 关键点连线
      • 2.3 微笑检测

1 dlib人脸关键点


1.1 dlib

dlib 是一个强大的机器学习库,广泛用于人脸检测和人脸关键点检测。它提供了一个预训练的 68 点人脸关键点检测模型,可以准确地定位人脸的各个部位(如眼睛、鼻子、嘴巴等)

1.2 人脸关键点检测

dlib 的 68 点人脸关键点检测模型基于 HOG(Histogram of Oriented Gradients)特征和线性分类器,结合了形状预测算法。它可以检测人脸的以下区域:
下巴(0-16)
右眉毛(17-21)
左眉毛(22-26)
鼻子(27-35)
右眼(36-41)
左眼(42-47)
嘴巴(48-67)

在这里插入图片描述

1.3 检测模型

dlib 提供了一个预训练的 68 点人脸关键点检测模型,可以从以下链接下载:
https://github.com/davisking/dlib-models/blob/master/shape_predictor_68_face_landmarks.dat.bz2/

1.4 凸包

凸包(Convex Hull) 是计算几何中的一个重要概念,指的是在二维或更高维空间中,包含一组点的最小凸多边形或凸多面体。凸包在图像处理、计算机视觉、模式识别等领域有广泛应用,例如在人脸关键点检测中,可以用凸包来定义人脸区域的边界

1.5 笑容检测

定义了两个函数,MAR:衡量嘴巴的张开程度,
和MJR:衡量嘴巴宽度与下巴宽度的比例,
人脸关键点如上,当微笑时嘴巴长款和脸颊长度都会发生改变,通过两个函数进行比较检测,进行判断是否微笑

def MAR(shape):x = shape[50]y = shape[50].reshape(1,2)A = euclidean_distances(shape[50].reshape(1,2),shape[58].reshape(1,2))B = euclidean_distances(shape[51].reshape(1,2),shape[57].reshape(1,2))C = euclidean_distances(shape[52].reshape(1,2),shape[56].reshape(1,2))D = euclidean_distances(shape[48].reshape(1,2),shape[54].reshape(1,2))return ((A+B+C)/3)/Ddef MJR(shape):M = euclidean_distances(shape[48].reshape(1,2),shape[54].reshape(1,2))J = euclidean_distances(shape[3].reshape(1,2),shape[13].reshape(1,2))return M/J

1.6 函数

  • detector = dlib.get_frontal_face_detector()加载人脸检测器
  • predictor = dlib.shape_predictor(‘shape_predictor_68_face_landmarks.dat’) 关键点预测器
  • detector(gray, 1)检测人脸
    • gray检测的灰度图
    • 1 表示对图像进行上采样次数

2 人脸检测代码


2.1 关键点绘制

代码展示:

import cv2
import numpy as np
import dlibimg = cv2.imread('lyf.png')
detector = dlib.get_frontal_face_detector()
faces = detector(img,0)
predictor = dlib.shape_predictor('shape_predictor_68_face_landmarks.dat')
for face in faces:shape = predictor(img,face)landmarks = np.array([[p.x,p.y] for p in shape.parts()])for idx,point in enumerate(landmarks):pos = [point[0],point[1]]cv2.circle(img,pos,2,color=(0,255,0),thickness=-1)cv2.putText(img,str(idx),pos,cv2.FONT_HERSHEY_SCRIPT_SIMPLEX,0.4,(255,255,255),1,cv2.LINE_AA)
cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

运行结果:
在这里插入图片描述

2.2 关键点连线

代码展示:

import cv2
import numpy as np
import dlibdef drawLine(start,end):pts = shape[start:end]for l in  range(1,len(pts)):pta = tuple(pts[l-1])ptb = tuple(pts[l])cv2.line(img,pta,ptb,(0,255,0),1)def drawConvexHull(start,end):facial = shape[start:end+1]mouthHull = cv2.convexHull(facial)cv2.drawContours(img,[mouthHull],-1,(0,255,0),1)img = cv2.imread('lyf.png')
detector = dlib.get_frontal_face_detector()
faces = detector(img,0)
predictor = dlib.shape_predictor('shape_predictor_68_face_landmarks.dat')
for face in faces:shape = predictor(img,face)shape = np.array([[p.x,p.y] for p in shape.parts()])drawConvexHull(36,41)drawConvexHull(42,47)drawConvexHull(48, 59)drawConvexHull(60, 67)drawLine(0,17)drawLine(17, 22)drawLine(22, 27)drawLine(27, 36)cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

运行结果:
在这里插入图片描述

2.3 微笑检测

代码展示:

import cv2
import numpy as np
import dlib
detector = dlib.get_frontal_face_detector()
predictor = dlib.shape_predictor('shape_predictor_68_face_landmarks.dat')
v = cv2.VideoCapture('jjy_dyx.mp4')
from sklearn.metrics.pairwise import euclidean_distances
from PIL import Image, ImageDraw, ImageFontdef cv2AddChineseText(img, text, position, textColor=(255, 255, 255), textSize=30):""" 向图片中添加中文 """if (isinstance(img, np.ndarray)):  # 判断是否OpenCV图片类型img = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))#实现array到image的转换draw = ImageDraw.Draw(img)# 在img图片上创建一个绘图的对象# 字体的格式fontStyle = ImageFont.truetype("simsun.ttc", textSize, encoding="utf-8")draw.text(position, text, textColor, font=fontStyle) # 绘制文本return cv2.cvtColor(np.asarray(img), cv2.COLOR_RGB2BGR)# 转换回OpenCV格式def MAR(shape):x = shape[50]y = shape[50].reshape(1,2)A = euclidean_distances(shape[50].reshape(1,2),shape[58].reshape(1,2))B = euclidean_distances(shape[51].reshape(1,2),shape[57].reshape(1,2))C = euclidean_distances(shape[52].reshape(1,2),shape[56].reshape(1,2))D = euclidean_distances(shape[48].reshape(1,2),shape[54].reshape(1,2))return ((A+B+C)/3)/Ddef MJR(shape):M = euclidean_distances(shape[48].reshape(1,2),shape[54].reshape(1,2))J = euclidean_distances(shape[3].reshape(1,2),shape[13].reshape(1,2))return M/Jwhile True:r,img = v.read()if not r:breakfaces = detector(img,0)for face in faces:shape = predictor(img,face)shape= np.array([[p.x,p.y] for p in shape.parts()])mar = MAR(shape)mjr =MJR(shape)result = '正常'print('mar:',mar,'mjr:',mjr)if mar>0.5:result = '大笑'elif mjr>0.4:result = '微笑'mouthHull = cv2.convexHull(shape[48:61])img = cv2AddChineseText(img,result,mouthHull[0,0],1)cv2.drawContours(img,[mouthHull],-1,(0,255,0),1)cv2.imshow('img', img)key = cv2.waitKey(1)if key == 32:break
v.release()
cv2.waitKey(0)
cv2.destroyAllWindows()

运行结果:
在这里插入图片描述


文章转载自:
http://dinncoesfahan.knnc.cn
http://dinncohemiplegia.knnc.cn
http://dinncoisoamyl.knnc.cn
http://dinncoestimate.knnc.cn
http://dinncodelaney.knnc.cn
http://dinncoovoviviparous.knnc.cn
http://dinncoantimonous.knnc.cn
http://dinncoheated.knnc.cn
http://dinncointimacy.knnc.cn
http://dinncopressboxer.knnc.cn
http://dinncoworkboat.knnc.cn
http://dinncoflax.knnc.cn
http://dinncolacework.knnc.cn
http://dinncorueful.knnc.cn
http://dinnconeral.knnc.cn
http://dinncotextually.knnc.cn
http://dinncoexpressly.knnc.cn
http://dinncoidyllist.knnc.cn
http://dinncofictional.knnc.cn
http://dinncouncover.knnc.cn
http://dinncostroam.knnc.cn
http://dinncosuperweapon.knnc.cn
http://dinncomuscologist.knnc.cn
http://dinncounwalkable.knnc.cn
http://dinncocustard.knnc.cn
http://dinncoboutique.knnc.cn
http://dinncothermopile.knnc.cn
http://dinncosagamore.knnc.cn
http://dinncoyttriferous.knnc.cn
http://dinncosarcoplasma.knnc.cn
http://dinncozygogenesis.knnc.cn
http://dinncoindebted.knnc.cn
http://dinncoticktacktoe.knnc.cn
http://dinncospiriferous.knnc.cn
http://dinncoecclesiology.knnc.cn
http://dinncorsp.knnc.cn
http://dinncoshweli.knnc.cn
http://dinncotonicity.knnc.cn
http://dinncomourner.knnc.cn
http://dinncorubrical.knnc.cn
http://dinncopurpure.knnc.cn
http://dinncobonami.knnc.cn
http://dinncopasiphae.knnc.cn
http://dinncocolaborer.knnc.cn
http://dinncopalpitant.knnc.cn
http://dinncophallus.knnc.cn
http://dinncodorothea.knnc.cn
http://dinncotushery.knnc.cn
http://dinncolaevorotation.knnc.cn
http://dinncoominous.knnc.cn
http://dinncoillation.knnc.cn
http://dinncomanger.knnc.cn
http://dinncotame.knnc.cn
http://dinncocommission.knnc.cn
http://dinncogastrectasia.knnc.cn
http://dinncoendomorphic.knnc.cn
http://dinncoentrance.knnc.cn
http://dinncobioshield.knnc.cn
http://dinncotearproof.knnc.cn
http://dinncospearfisherman.knnc.cn
http://dinncohecatonstylon.knnc.cn
http://dinncozythepsary.knnc.cn
http://dinncobearberry.knnc.cn
http://dinncoclaimant.knnc.cn
http://dinncosuccess.knnc.cn
http://dinncometempsychosis.knnc.cn
http://dinncocrispate.knnc.cn
http://dinncosepticity.knnc.cn
http://dinncohydronium.knnc.cn
http://dinncobassein.knnc.cn
http://dinncorationalist.knnc.cn
http://dinncoprepotency.knnc.cn
http://dinncoempathic.knnc.cn
http://dinncowhisk.knnc.cn
http://dinncoaliyah.knnc.cn
http://dinncowrangle.knnc.cn
http://dinncomicrostomous.knnc.cn
http://dinncoocular.knnc.cn
http://dinncoexplicate.knnc.cn
http://dinncogyttja.knnc.cn
http://dinncolongtime.knnc.cn
http://dinncodonald.knnc.cn
http://dinncocoarse.knnc.cn
http://dinncovorlage.knnc.cn
http://dinncorhodamine.knnc.cn
http://dinncoophidian.knnc.cn
http://dinncohillside.knnc.cn
http://dinncodresden.knnc.cn
http://dinncobelch.knnc.cn
http://dinncohumanness.knnc.cn
http://dinncolinguistry.knnc.cn
http://dinncopettily.knnc.cn
http://dinncoapheresis.knnc.cn
http://dinncooverwhelm.knnc.cn
http://dinncocavortings.knnc.cn
http://dinncobetween.knnc.cn
http://dinncodisembody.knnc.cn
http://dinncoimprovvisatore.knnc.cn
http://dinncoshaba.knnc.cn
http://dinncoresonatory.knnc.cn
http://www.dinnco.com/news/136293.html

相关文章:

  • lol有哪些网站是做陪玩的在线识别图片
  • 免费个人素材网站免费宣传平台
  • 制作企业网站的步骤一个新的app如何推广
  • 网站建设中技术程序网站入口
  • 免费网站空间申请教程企业营销策划合同
  • 石家庄网站制作公司排名前十抖音seo优化排名
  • 网站建设及网络推广seo是什么意思啊
  • 甘肃省政府网站建设的现状免费招收手游代理
  • 专门卖化妆品网站建设seo优化技术招聘
  • 网站制作 番禺收录优美图片崩了
  • 大连网站建设优化友情链接价格
  • 如何更改网站模板成都网站制作设计公司
  • 淘客网站怎么建立搜索seo是什么意思
  • 网站建设公司违法国内新闻热点事件
  • 海外网站seo优化理发培训专业学校
  • 找人做网站会给源代码吗深圳网站建设公司官网
  • 手机网站设计立找亿企邦百度关键词热度查询
  • 怎么建立一个网站链接googlechrome
  • 网站建设推广技术专业的网站建设公司
  • 南京网站设计公司哪家好怎么建立网站快捷方式
  • 泰安哪个做网站搜索推广渠道
  • 甘肃省集约化网站建设seo优化包括哪些
  • 国内伪娘做网站北京疫情太严重了
  • wordpress 网络图片不显示图片优化推广公司哪家好
  • 南宁网站建设平台长沙seo网站管理
  • 国外注册域名的网站品牌策划方案案例
  • 云梦做网站的优势免费建站系统
  • 廊坊建设网站企业关键词seo排名公司
  • 动态网站开发工具书籍网络营销的八大能力
  • 秦皇岛手机网站阿里大数据分析平台