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

企业网络管理软件苏州关键词优化怎样

企业网络管理软件,苏州关键词优化怎样,橙子建站是诈骗吗,wordpress文本文章目录 1 前言2 相关技术2.1CNN简介2.2 人脸识别算法2.3专注检测原理2.4 OpenCV 3 功能介绍3.1人脸录入功能3.2 人脸识别3.3 人脸专注度检测3.4 识别记录 4 最后 1 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 基于深度学习的人脸专注度…

文章目录

  • 1 前言
  • 2 相关技术
    • 2.1CNN简介
    • 2.2 人脸识别算法
    • 2.3专注检测原理
    • 2.4 OpenCV
  • 3 功能介绍
    • 3.1人脸录入功能
    • 3.2 人脸识别
    • 3.3 人脸专注度检测
    • 3.4 识别记录
  • 4 最后

1 前言

🔥 优质竞赛项目系列,今天要分享的是

🚩 基于深度学习的人脸专注度检测计算算法

该项目较为新颖,适合作为竞赛课题方向,学长非常推荐!

🥇学长这里给一个题目综合评分(每项满分5分)

  • 难度系数:3分
  • 工作量:3分
  • 创新点:5分

🧿 更多资料, 项目分享:

https://gitee.com/dancheng-senior/postgraduate

2 相关技术

2.1CNN简介

卷积神经网络(CNN),是由多层卷积结构组成的一种神经网络。卷积结构可以减少网络的内存占用、参数和模型的过拟合。卷积神经网络是一种典型的深度学习算法。广泛应用于视觉处理和人工智能领域,特别是在图像识别和人脸识别领域。与完全连接的神经网络相比,CNN输入是通过交换参数和局部感知来提取图像特征的图像。卷积神经网络是由输入层、卷积层、池化层、全连接层和输出层五层结构组成。其具体模型如下图所示。
在这里插入图片描述

(1)输入层(Input
layer):输入层就是神经网络的输入端口,就是把输入传入的入口。通常传入的图像的R,G,B三个通道的数据。数据的输入一般是多维的矩阵向量,其中矩阵中的数值代表的是图像对应位置的像素点的值。

(2)卷积层(Convolution layer):卷积层在CNN中主要具有学习功能,它主要提取输入的数据的特征值。

(3)池化层(Pooling
layer):池化层通过对卷积层的特征值进行压缩来获得自己的特征值,减小特征值的矩阵的维度,减小网络计算量,加速收敛速度可以有效避免过拟合问题。

(4)全连接层(Full connected
layer):全连接层主要实现是把经过卷积层和池化层处理的数据进行集合在一起,形成一个或者多个的全连接层,该层在CNN的功能主要是实现高阶推理计算。

(5)输出层(Output layer):输出层在全连接层之后,是整个神经网络的输出端口即把处理分析后的数据进行输出。

2.2 人脸识别算法

利用dlib实现人脸68个关键点检测并标注,关键代码

import cv2# 加载人脸识别模型face_rec_model_path = 'dlib_face_recognition_resnet_model_v1.dat'facerec = dlib.face_recognition_model_v1(face_rec_model_path)# 加载特征点识别模型predictor_path = "shape_predictor_5_face_landmarks.dat"predictor = dlib.shape_predictor(predictor_path)# 读取图片img_path = "step1/image/face.jpg"img = cv2.imread(img_path)# 转换为灰阶图片gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)# 正向人脸检测器将图像detector = dlib.get_frontal_face_detector()# 使用人脸识别模型来检测图像中的人脸faces = detector(gray, 1)# 使用特征点识别模型来检测人脸中的特征for i, face in enumerate(faces):# 获取人脸特征点shape = predictor(img, face)

2.3专注检测原理

总体流程

主要通过电脑摄像头去实时的抓拍学生当前的状态和行为,不间断的采集学生上课时的面部表情和眼睛注视的方向,利用CNN提取相应的特征数据并进行分析处理,若对应输出的判断值大于设置的阈值时,则认为学生在走神没有认真学习。并且对拍摄时间进行计时,在界面上实时输出该学生在课堂上的有效学习时间和学生在课堂上专注时间的比例并进行存入表格中。

在这里插入图片描述

眼睛检测算法

基于dlib人脸识别68特征点检测、分别获取左右眼面部标志的索引,通过opencv对视频流进行灰度化处理,检测出人眼的位置信息。人脸特征点检测用到了dlib,dlib有两个关键函数:dlib.get_frontal_face_detector()和dlib.shape_predictor(predictor_path)。

前者是内置的人脸检测算法,使用HOG pyramid,检测人脸区域的界限(bounds)。
后者是用来检测一个区域内的特征点,并输出这些特征点的坐标,它需要一个预先训练好的模型(通过文件路径的方法传入),才能正常工作。
使用开源模型shape_predictor_68_face_landmarks.dat,可以得到68个特征点位置的坐标,连起来后,可以有如图所示的效果(红色是HOG
pyramid检测的结果,绿色是shape_predictor的结果,仅把同一个器官的特征点连线)。

在这里插入图片描述

通过计算眼睛的宽高比来确定专注状态

基本原理:计算 眼睛长宽比 Eye Aspect Ratio,EAR.当人眼睁开时,EAR在某个值上下波动,当人眼闭合时
在这里插入图片描述

关键代码

 # -*- coding: utf-8 -*-# import the necessary packagesfrom scipy.spatial import distance as distfrom imutils.video import FileVideoStreamfrom imutils.video import VideoStreamfrom imutils import face_utilsimport numpy as np # 数据处理的库 numpyimport argparseimport imutilsimport timeimport dlibimport cv2def eye_aspect_ratio(eye):# 垂直眼标志(X,Y)坐标A = dist.euclidean(eye[1], eye[5])# 计算两个集合之间的欧式距离B = dist.euclidean(eye[2], eye[4])# 计算水平之间的欧几里得距离# 水平眼标志(X,Y)坐标C = dist.euclidean(eye[0], eye[3])# 眼睛长宽比的计算ear = (A + B) / (2.0 * C)# 返回眼睛的长宽比return ear# 定义两个常数# 眼睛长宽比# 闪烁阈值EYE_AR_THRESH = 0.2EYE_AR_CONSEC_FRAMES = 3# 初始化帧计数器和眨眼总数COUNTER = 0TOTAL = 0# 初始化DLIB的人脸检测器(HOG),然后创建面部标志物预测print("[INFO] loading facial landmark predictor...")# 第一步:使用dlib.get_frontal_face_detector() 获得脸部位置检测器detector = dlib.get_frontal_face_detector()# 第二步:使用dlib.shape_predictor获得脸部特征位置检测器predictor = dlib.shape_predictor('D:/myworkspace/JupyterNotebook/fatigue_detecting/model/shape_predictor_68_face_landmarks.dat')# 第三步:分别获取左右眼面部标志的索引(lStart, lEnd) = face_utils.FACIAL_LANDMARKS_IDXS["left_eye"](rStart, rEnd) = face_utils.FACIAL_LANDMARKS_IDXS["right_eye"]# 第四步:打开cv2 本地摄像头cap = cv2.VideoCapture(0)# 从视频流循环帧while True:# 第五步:进行循环,读取图片,并对图片做维度扩大,并进灰度化ret, frame = cap.read()frame = imutils.resize(frame, width=720)gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)# 第六步:使用detector(gray, 0) 进行脸部位置检测rects = detector(gray, 0)# 第七步:循环脸部位置信息,使用predictor(gray, rect)获得脸部特征位置的信息for rect in rects:shape = predictor(gray, rect)# 第八步:将脸部特征信息转换为数组array的格式shape = face_utils.shape_to_np(shape)# 第九步:提取左眼和右眼坐标leftEye = shape[lStart:lEnd]rightEye = shape[rStart:rEnd]# 第十步:构造函数计算左右眼的EAR值,使用平均值作为最终的EARleftEAR = eye_aspect_ratio(leftEye)rightEAR = eye_aspect_ratio(rightEye)ear = (leftEAR + rightEAR) / 2.0# 第十一步:使用cv2.convexHull获得凸包位置,使用drawContours画出轮廓位置进行画图操作leftEyeHull = cv2.convexHull(leftEye)rightEyeHull = cv2.convexHull(rightEye)cv2.drawContours(frame, [leftEyeHull], -1, (0, 255, 0), 1)cv2.drawContours(frame, [rightEyeHull], -1, (0, 255, 0), 1)# 第十二步:进行画图操作,用矩形框标注人脸left = rect.left()top = rect.top()right = rect.right()bottom = rect.bottom()cv2.rectangle(frame, (left, top), (right, bottom), (0, 255, 0), 3)    '''分别计算左眼和右眼的评分求平均作为最终的评分,如果小于阈值,则加1,如果连续3次都小于阈值,则表示进行了一次眨眼活动'''# 第十三步:循环,满足条件的,眨眼次数+1if ear < EYE_AR_THRESH:# 眼睛长宽比:0.2COUNTER += 1else:# 如果连续3次都小于阈值,则表示进行了一次眨眼活动if COUNTER >= EYE_AR_CONSEC_FRAMES:# 阈值:3TOTAL += 1# 重置眼帧计数器COUNTER = 0# 第十四步:进行画图操作,68个特征点标识for (x, y) in shape:cv2.circle(frame, (x, y), 1, (0, 0, 255), -1)# 第十五步:进行画图操作,同时使用cv2.putText将眨眼次数进行显示cv2.putText(frame, "Faces: {}".format(len(rects)), (10, 30),cv2.FONT_HERSHEY_SIMPLEX, 0.7, (0, 0, 255), 2)cv2.putText(frame, "Blinks: {}".format(TOTAL), (150, 30),cv2.FONT_HERSHEY_SIMPLEX, 0.7, (0, 0, 255), 2)cv2.putText(frame, "COUNTER: {}".format(COUNTER), (300, 30),cv2.FONT_HERSHEY_SIMPLEX, 0.7, (0, 0, 255), 2) cv2.putText(frame, "EAR: {:.2f}".format(ear), (450, 30),cv2.FONT_HERSHEY_SIMPLEX, 0.7, (0, 0, 255), 2)print('眼睛实时长宽比:{:.2f} '.format(ear))if TOTAL >= 50:cv2.putText(frame, "SLEEP!!!", (200, 200),cv2.FONT_HERSHEY_SIMPLEX, 0.8, (0, 0, 255), 2)cv2.putText(frame, "Press 'q': Quit", (20, 500),cv2.FONT_HERSHEY_SIMPLEX, 0.7, (84, 255, 159), 2)# 窗口显示 show with opencvcv2.imshow("Frame", frame)# if the `q` key was pressed, break from the loopif cv2.waitKey(1) & 0xFF == ord('q'):break# 释放摄像头 release cameracap.release()# do a bit of cleanupcv2.destroyAllWindows()

2.4 OpenCV

OpenCV是计算机视觉中一个经典的数据库。支持多语言、跨平台、功能强大。其提供了一个Python接口,用户可以在保证可读性和操作效率的前提下,用Python调用C/C++实现所需的功能。OpenCV是一个基于BSD许可证的跨平台计算机视觉库,可以在Linux、windows和Mac
OS操作系统上运行。它由一系列C函数和少量C++类组成。同时,它还提供了与Python、ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉中的许多通用算法。

本项目中OpenCV主要是在图片的采集的图片的预处理方面使用,通过操作界面中的按钮选项选择是否打开摄像头,使用OpenCV来调用电脑摄像头来检测录像过程中的聚焦和人脸镜头的矫正等状态,然后在摄像头的录像的视频流中抓取对应的人脸照片,然后调用内部的函数对照片的尺寸和光线等进行矫正处理后,传给神经网络进行特征值提取。

3 功能介绍

3.1人脸录入功能

数据库数据录入

将采集到的人脸信息和姓名、学号录入到数据库中,数据库表如下图所示:

在这里插入图片描述

在这里插入图片描述

过程演示

在这里插入图片描述

3.2 人脸识别

在这里插入图片描述

3.3 人脸专注度检测

拍摄时间进行计时,在界面上实时输出该学生在课堂上的有效学习时间和学生在课堂上专注时间的比例
在这里插入图片描述

3.4 识别记录

在这里插入图片描述

4 最后

🧿 更多资料, 项目分享:

https://gitee.com/dancheng-senior/postgraduate


文章转载自:
http://dinncomenacme.tpps.cn
http://dinncosnidesman.tpps.cn
http://dinncowrest.tpps.cn
http://dinncoesprit.tpps.cn
http://dinncoknotted.tpps.cn
http://dinncobobber.tpps.cn
http://dinncointerchange.tpps.cn
http://dinncoflakiness.tpps.cn
http://dinncometropolitan.tpps.cn
http://dinncoquarrel.tpps.cn
http://dinncospunky.tpps.cn
http://dinncometerage.tpps.cn
http://dinncosermonesque.tpps.cn
http://dinncothoughtless.tpps.cn
http://dinncorefrigerative.tpps.cn
http://dinncopard.tpps.cn
http://dinncoheliskiing.tpps.cn
http://dinncosheldon.tpps.cn
http://dinncoflight.tpps.cn
http://dinncounforeseen.tpps.cn
http://dinncocaddice.tpps.cn
http://dinncoatomistic.tpps.cn
http://dinncosuppressible.tpps.cn
http://dinncoresinography.tpps.cn
http://dinncoseawall.tpps.cn
http://dinncodutiful.tpps.cn
http://dinncoarchdukedom.tpps.cn
http://dinncosmileless.tpps.cn
http://dinncokinneret.tpps.cn
http://dinncodiapedesis.tpps.cn
http://dinncocerebrosclerosis.tpps.cn
http://dinncoadjure.tpps.cn
http://dinncoejaculatory.tpps.cn
http://dinncodivisional.tpps.cn
http://dinncotebet.tpps.cn
http://dinncoholeable.tpps.cn
http://dinncojactation.tpps.cn
http://dinncostonechat.tpps.cn
http://dinncoeleusinian.tpps.cn
http://dinncolayamon.tpps.cn
http://dinncopacifiable.tpps.cn
http://dinncoaggregation.tpps.cn
http://dinncolettered.tpps.cn
http://dinncograndam.tpps.cn
http://dinncofletschhorn.tpps.cn
http://dinncomanchester.tpps.cn
http://dinncofumarase.tpps.cn
http://dinncocarpogenic.tpps.cn
http://dinncorancour.tpps.cn
http://dinncoovercall.tpps.cn
http://dinncolandrail.tpps.cn
http://dinncoquandary.tpps.cn
http://dinncodomestos.tpps.cn
http://dinncotrash.tpps.cn
http://dinncohackmatack.tpps.cn
http://dinncoumbilic.tpps.cn
http://dinncoutopism.tpps.cn
http://dinncowatkins.tpps.cn
http://dinncojiggered.tpps.cn
http://dinncocrew.tpps.cn
http://dinncoesoteric.tpps.cn
http://dinncowallah.tpps.cn
http://dinncosarcophagus.tpps.cn
http://dinncoocso.tpps.cn
http://dinncoetna.tpps.cn
http://dinncogramp.tpps.cn
http://dinncoagazed.tpps.cn
http://dinncomeanness.tpps.cn
http://dinncomuttonhead.tpps.cn
http://dinncosideman.tpps.cn
http://dinncogantelope.tpps.cn
http://dinncosciograph.tpps.cn
http://dinncopissed.tpps.cn
http://dinncounau.tpps.cn
http://dinncogalatz.tpps.cn
http://dinncochoriambic.tpps.cn
http://dinncochangeover.tpps.cn
http://dinncotheorem.tpps.cn
http://dinncojake.tpps.cn
http://dinncopropertied.tpps.cn
http://dinncopremeditate.tpps.cn
http://dinncofabulously.tpps.cn
http://dinncoforeshank.tpps.cn
http://dinncosoapolallie.tpps.cn
http://dinncoperiglacial.tpps.cn
http://dinncodrool.tpps.cn
http://dinncocatechesis.tpps.cn
http://dinncopermanency.tpps.cn
http://dinncoexclosure.tpps.cn
http://dinncoobbligato.tpps.cn
http://dinnconoteworthy.tpps.cn
http://dinncoseditty.tpps.cn
http://dinncoashcan.tpps.cn
http://dinncoschnook.tpps.cn
http://dinncohyponitrite.tpps.cn
http://dinncoradiotelescope.tpps.cn
http://dinncostalactic.tpps.cn
http://dinncoleucopoiesis.tpps.cn
http://dinncoinerrant.tpps.cn
http://dinncoeeoc.tpps.cn
http://www.dinnco.com/news/93574.html

相关文章:

  • 网站首页psd下载淘宝关键词优化技巧教程
  • 做户外灯批发什么b2b网站好网站分析报告范文
  • 网站开发网页无锡seo网络推广
  • 做网站挂广告赚钱犯法吗制作网站的软件
  • 中国建设银行遵义市分行网站适合推广的app有哪些
  • 徐州网络建站模板软文投放平台有哪些
  • 做餐饮酒店网站百度我的订单查询
  • 新疆重点项目建设网站外链免费发布平台
  • 怎么做新的网站济南网站建设制作
  • cookie做网站访问量营销软文代写
  • 如何自己做网站百度企业
  • 怎么做可以直播的网站吗域名解析ip地址查询
  • 网站有必要公安备案seo软件推广哪个好
  • 微信020网站怎么建立百度搜索指数排名
  • 陶瓷 网站模板网盟推广平台
  • 做网站的商标是哪类网站建设关键词排名
  • 百度网站认证v1搜云seo
  • php做的购物网站代码郑州专业网站建设公司
  • 网站开发使用什么运行软件商旅平台app下载
  • 五道口网站建设公司北京培训seo哪个好
  • 易网拓营销型网站营销策略范文
  • 深圳做网站网络营销公司排名山东建站管理系统
  • 怎样查网站有没有备案十大免费货源网站免费版本
  • 上海市建上海市建设安全协会网站百度热门关键词排名
  • 做行业网站济南seo外包服务
  • 和魔鬼做交易的网站seo是搜索引擎优化
  • 一个企业可以做多个网站吗如何给企业做网络推广
  • 浙江省建设厅继续教育官方网站seo优化总结
  • 珠海网站制作价格成都网站设计
  • 外包做网站需要多少钱91永久海外地域网名