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

计算机视觉实验:人脸识别系统设计

实验内容

设计计算机视觉目标识别系统,与实际应用有关(建议:最终展示形式为带界面可运行的系统),以下内容选择其中一个做。

1. 人脸识别系统设计

(1) 人脸识别系统设计(必做):根据课堂上学习的理论知识(包括特征提取、分类器设计),设计一个人脸识别系统,该系统具有较好的识别率。可在提供的AR人脸图片数据集(120人)、Feret人脸图片数据集(175人)、人脸视频数据集(10人)、真实采集的人脸视频或其他公开数据集上展开实验。

(2) 人脸识别系统提升(至少选择其中1个问题做):面向实际环境的人脸识别系统会考虑更多环节,包括图像预处理、特征提取、特征选择、分类器设计、训练与测试等。人脸识别算法在真实应用中会遇到以下问题,包括噪声干扰、光照变化、遮挡影响、角度变化。请针对以上至少1个问题(如噪声干扰、光照变化、遮挡影响、角度变化)展开探讨,分析是什么原因导致识别性能下降,提出增强人脸识别系统性能的方法,提高系统对异常情况处理的能力,使整个识别系统的适应性和稳定性达到更好的状态。

提示:

  1. 噪声干扰方面可考虑图像增强算法,包括中值滤波、均值滤波、高斯滤波等;
  2. 光照变化方面可考虑LBP算法及其扩展版本,或图像增强算法,如直方图均衡化、伽马变换等;
  3. 遮挡影响方面可考虑对图像分块投票处理,或线性表示残差最小的方式辨别遮挡区域;
  4. 角度变化方面可考虑增加不同角度的采样图片,或引入仿射变换的考虑;
  5. 特征提取方面可采用Gabor特征,特征脸,深度特征等方法;
  6. 分类器设计可采用贝叶斯分类器,神经网络等方法;
  7. AR人脸数据集和Feret人脸数据集可以用来测试算法在噪声干扰(需要人工添加噪声)、光照变化、遮挡影响、角度变化下的性能。在此基础上可把识别系统应用在真实环境中测试。
  8. 可根据需要选用人脸检测器或引入仿射变换,本实验提供了Haar检测器和基于仿射变换的人脸检测器。
  9. 人脸数据集说明:

AR人脸数据集:包含120人,每人26张图片, 图像分辨率宽80,高100,可测试光照变化、遮挡情况下算法性能。   

Feret人脸数据集:包含175人,每人7张照片,图像分辨率宽80,高80,可测试不同角度、光照变化下算法性能。

人脸视频数据集:包含10人的视频,每个人有训练视频序列和测试视频序列,可测试不同角度、光照变化、遮挡干扰、噪声干扰下算法性能。

真实人脸数据采集:可根据系统实际情况拍摄。

(3)分析在实验室环境与自然环境下识别算法设计上的区别,如何提高算法创新?(可选)

2. 自选目标识别内容,题目自拟

实验步骤与过程

人脸识别系统设计

  人脸识别的关键点在于特征的提取,相比于数据收集与预处理以及分类器的选择,特征提取是最独特的也是各种人脸识别系统的主要区别。常见的人脸特征提取方法有局部二值模式直方图法、Gabor滤波器方法、基于统计的方法(PCALDA)、纹理特征方法等。在本次实验中我选择了LDA线性判别方法进行特征提取。同时在进行特征提取前,我使用了Haar人脸检测器对人脸进行检测与定位,然后对人脸进行了对齐。提取完后,使用了KNN分类器对特征进行分类识别。其整体的思路图如图1所示。

1 人脸识别系统思路图

数据集导入

  题目中提供了三个数据集,其中ARferet数据集是标准的人脸数据集,而视频数据集则是从视频中提取得到的数据集。数据集的信息如下图图2所示。

2 三个数据集的基本信息

使用文件遍历的方法,将所有图片通过opencv来读取,最后传入图像预处理模块进行处理。在代码中数据读取模块归属于Face_reg类中的load_dataset函数。此函数接收四个参数,其中path表示数据集路径,trun表示截取文件名的前几位作为类别,mode表示重置模式还是添加模式 1表示重置 0表示添加,format表示数据集文件结构类型 1表示的是ARferet的结构 0表示视频数据集的结构。

图像预处理

在图像预处理模块中,对图像进行了灰度变换、仿射变换修真角度、人脸定位裁剪、直方图均衡化、图像尺寸调整等操作。其思路如下图图3所示。

3 图像预处理示意图

1. 灰度变换

将彩色图变成灰度图减少计算复杂性并提高识别性能,转后的结果如下图所示,左图为原图,右图为灰度变换后的结果。

4 灰度变换图

2. 仿射变换修正角度

进行灰度变换后使用仿射变换对人脸进行角度修正。这里的角度修正原理在于根据眼睛的相对坐标调整图像角度,使得主要特征点位置相对固定便于特征提取和匹配。特征点的检测主要使用的是dlib的‘shape_predictor_68_face_landmarks’模型。仿射变换的结果如下图5所示。

5 仿射变换结果图

3. 人脸定位裁剪

  对于人脸的检测与定位我使用了已经训练好的Haar人脸检测器。Haar人脸检测器也称为Viola-Jones 检测器,它与2001年时被提出。此检测器通过滑动窗口并通过提取Haar特征来对人脸进行检测与定位。下图图6为检测并提取后的结果图。

6 人脸定位裁剪结果图

4. 直方图均衡化

在一些图像中,往往由于光照变化的原因,使得图像过亮或郭安,使得某些细节无法突出。因此可以对图像进行直方图均衡化处理,让亮度值变得均匀以使得亮度均匀降低亮度变化的影响。下图图7为直方图均衡化后的结果。

7 直方图均衡化

5. 图像尺寸调整

在利用LDA降维时,模型要求特征的数量是一致的,而此处是直接使用图像的一维亮度值作为特征。因此此处需要对图像进行调整,使得输入的图像尺寸是一致的。

特征提取

  在特征提取方面,使用了LDA对图像的一维灰度序列进行了降维,最后降至25个特征。除此之外还有考虑过使用LBP特征与Garbor特征,但是最后效果均不佳。下图为整体的思路图。

 

8 特征提取

1. 特征提取

  • 扁平化灰度值:图像预处理得到的数据是一个80*80的二维矩阵,而为了更好地提取特征需要将二维矩阵扁平化为一维列表。然后再进行降维操作。
  • LBP特征提取:计算LBP特征图后进行扁平化后输入LDA进行降维训练。
  • Garbor特征提取:对图像进行Garbor滤波后计算均值以作为特征输入。

2. LDA降维

  在上面的特征提取中,由于后两者效果不佳,因此仅选用第一种作为特征进行降维。使用的降维方法是LDA线性判别。其原理在于到一个线性投影,将高维数据映射到低维空间,使得不同类别的样本在投影后的空间中有较大的类间距离(即不同类别之间的距离较大),同时保持同类样本之间的类内距离较小。这样做可以提高分类的准确性。此处在经过不多地调整后最后选择25作为降维的维数,25以下准确率会降低,而25以上则无明显地提升。

分类器设计和训练

1. 分类器设计

  在分类器的选择方面,我选择了原理简单的K近邻算法。它具有简单直观、高度灵活的特点,且能拥有较好的效果。它主要通过各个样本点离周围点的距离而确定这个样本的类别。

2. 参数寻优

在人脸识别中,选择适当的K值对分类性能至关重要。如果选择一个过小的K值,分类结果可能会对噪声敏感,导致过拟合。如果选择一个过大的K值,可能会使得分类边界过于模糊,导致欠拟合。因此此处我使用了网格搜索,通过尝试不同的K值(1-10),寻找最佳的K值。最终它可以帮助我们选择一个在训练数据上表现良好且具有较好泛化能力的K值,从而提高人脸识别的分类性能。

人脸识别系统提升

未优化前的结果

  在一开始的系统设计中,并未考虑太多的图像预处理。同时也没有对LDAKNN的参数选择进行考虑。将80%的数据用于训练20%的数据用于评估。其评估结果如下所示。

 

9 未优化前的准确率

从中可以看到三种数据集的准确率均高于0.8说明具有一定的准确性。而人脸视频数据集整体的准确程度高于另外两个数据集的。观察数据集可以发现其实人脸视频数据集的人脸较为稳定且类别较少,而另外两个数据集的人脸存在更多的变化如表情、遮挡与方向等。因此人脸视频数据集相对而言会有更好地效果。

模型存在的问题

  为了找到问题所在,对预测错误的图片进行分析,如下所示。

 

10 预测错误的人脸

根据以上的问题,可以整理成如下表。并提出相应的解决方案。

 存在问题

解决方案

解决效果

表情变化影响识别

同特征表征不全的方案

同特征表征不全的效果

拍摄方向影响识别

1.添加LBP特征

2.仿射变换修正角度

LBP特征效果不佳, 使准确率降低,故抛弃.

特征表征不全

1. 提高LDA输出的维数

2.提取Garbor特征(均值)

1.维数从9提升至25准确率变为90%以上,25以上维数效果一样.

2.添加Garbor特征后效果不明显

光线变化影响识别

对图像进行直方图均衡化处理以使得亮度均匀

对光线问题而误判的人脸有效,但是造成其他图像误判

墨镜遮挡影响识别

同特征表征不全的方案

同特征表征不全的效果

模型存在的问题

最后系统改进后的结果如下所示。可以看到优化后前两个数据集的效果增加到0.9以上,其准确率大大提高。而对于视频数据集却没有提升,因为优化过程中有一个关键点在于降维所剩下的特征维度。由于LDA要求维度要小于等于类别数量,而人脸视频数据集中只有10个类别,因此维数只能保持在10因此准确率无提示。而其他两种数据集均有提升。

 

10 优化后的指标

基于深度学习的人脸识别系统

  在过去的十几年中传统的机器学习算法一直都是人脸识别系统的主流方法,然而随着计算机算力的提升,深度学习方法已成为目前最主流的方法。下面将介绍目前常见的人脸识别模型,同时复现其中的FaceNet模型。

常见的人脸识别模型

1. DeepFace

DeepFace模型发布于2014年,它是一种基于深度学习的人脸识别模型。DeepFace首先使用传统的人脸检测算法定位图像中的人脸位置,然后对检测到的人脸进行对齐,以确保在特征提取过程中具有一致的姿态。对齐后的人脸图像被输入到深度卷积神经网络中进行特征提取。通过卷积层和全连接层,DeepFace学习到了128维的特征向量,用于表示每张人脸图像。在人脸识别阶段,它使用学习到的特征向量进行比较。它计算待识别人脸与已知人脸之间特征向量的相似度,通常使用余弦相似度作为相似度度量。如果待识别人脸的特征向量与某个已知人脸的特征向量之间的相似度超过一定阈值,就可以判定它们属于同一个人。

11  DeepFace结构图

2. FaceNet

FaceNetGoogle2015年发布的基于深度学习的人脸识别模型。它使用深度卷积神经网络提取人脸的高维特征向量,并通过三元组损失函数进行训练来优化特征表示。通过最大化同一个人脸的特征向量之间的相似度,最小化不同人脸的特征向量之间的相似度,FaceNet学习到的特征向量具有辨别不同人脸的能力。在人脸识别阶段,可以通过计算待识别人脸特征向量与已知人脸特征向量之间的距离来进行识别,距离越小表示匹配度越高。

图12 FaceNet模型结构

3. ArcFace

ArcFace是一种用于人脸识别的深度学习模型,发布于2019年。它通过角度余弦距离来优化特征向量的表示。与传统模型不同,ArcFace考虑了特征向量的角度信息,使得同一个人脸的特征向量更接近,不同人脸的特征向量更远离。这种设计使得ArcFace在人脸识别任务中表现出色,并取得了较高的准确率和鲁棒性。

图13 ArcFace模型结构

模型复现

  在此处我选择了FaceNet进行复现,其代码主要参考于:GitHub - timesler/facenet-pytorch: Pretrained Pytorch face detection (MTCNN) and facial recognition (InceptionResnet) models

以下为复现的步骤:

1. 环境安装

(1)安装facenet-pytorch

FaceNet提供了对应的python包,可以直接使用pip安装,其安装命令如下:

pip install facenet-pytorch

需要注意,由于FaceNet依赖于pytorch环境,所以需要实现安装pytorch的环境。

(2)导入库文件

完成后可以用下面的语句导入模型,若能导入成功即安装完成。

# 加载人脸检测器和特征提取器
mtcnn = MTCNN()
resnet = InceptionResnetV1(
pretrained='vggface2').eval()

2. 人脸录入

FaceNet有提供预训练的模型,由于此处仅作为实验的拓展部分,因此直接加载预训练模型。在加载完成后,我们目前的人脸库为空,因此需要先进行人脸的录入。此处人脸的录入主要为提取一张标准人脸的特征。它首先会对图像进行一些预处理然后检测并裁剪出人脸,并对人脸进行对齐。然后调用模型的函数直接得到其特征,最后存储到一列表中。

3. 人脸识别

当对人脸进行录入后,下一步则是对未知人脸进行识别。其识别的思路与人脸录入类似,首先会对图像进行预处理,然后定位人脸并裁剪对其,最后提取特征进行分类。具体代码见’FaceNet.py’

可视化平台搭建

  对于一个人脸识别系统即使有再好的准确率与效率,若没有相应的应用与可视化平台,那也就无法成为一个较好的系统。因此此处利用vue与flask框架搭建相应的web人脸识别在线网页平台。

可视化系统设计

  系统的核心为封装好的face_reg对象,通过api接口的方式使用pythonFlask作为后端框架,vue作为前端框架。当用户上传图像后,而将图像传回给后端并调用分类函数对人脸类别进行分类。最后再将结果传回网页页面中。下图为可视化系统的思路。

 

图14 可视化系统设计思路

后端实现

  后端主要用于接收前端传回来的图像并对图像的人脸定位裁剪与预测。同时前端传回来的图片将存储在服务器中,最后后端返回图像的链接与预测的标签至前端中显示。下图为后端设计的思路图。

 

15 后端思路图

​​​​​​​前端实现

  前端使用了vue3框架,并且使用到了element-plus组件、axios等工具。前端主要设计了可视化的页面,同时完成了图像上传与接收的逻辑。下图为实现的效果图。

16 前端可视化效果图

参考文献:

[1] Zhao, W., Chellappa, R., Phillips, P. J., & Rosenfeld, A. (2003). Face recognition: A literature survey. ACM Computing Surveys (CSUR), 35(4), 399-458.

[2] Taigman Y, Yang M, Ranzato M A, et al. Deepface: Closing the gap to human-level performance in face verification[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2014: 1701-1708.

[3] Schroff F, Kalenichenko D, Philbin J. Facenet: A unified embedding for face recognition and clustering[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2015: 815-823.

[4] Deng J, Guo J, Xue N, et al. Arcface: Additive angular margin loss for deep face recognition[C]//Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. 2019: 4690-4699.

[5] Jain, A. K., Ross, A., & Prabhakar, S. (2004). An introduction to biometric recognition. IEEE Transactions on Circuits and Systems for Video Technology, 14(1), 4-20.

[6]Zhang, D., & Zhou, Z. H. (2011). Face recognition: A literature survey. ACM Computing Surveys (CSUR), 43(3), 1-52.

[7] Ma, L., Tan, T., Wang, Y., & Zhang, D. (2003). Personal identification based on iris texture analysis. IEEE Transactions on Pattern Analysis and Machine Intelligence, 25(12), 1519-1533.

[8] Turk, M., & Pentland, A. (1991). Face recognition using eigenfaces. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 586-591.

[9] Belhumeur, P. N., Hespanha, J. P., & Kriegman, D. J. (1997). Eigenfaces vs. Fisherfaces: Recognition using class specific linear projection. IEEE Transactions on Pattern Analysis and Machine Intelligence, 19(7), 711-720.

[10] Viola, P., & Jones, M. (2001). Rapid object detection using a boosted cascade of simple features. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 1, I-511.

[11] Dalal, N., & Triggs, B. (2005). Histograms of oriented gradients for human detection. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 1, 886-893.

[12] LDA算法在人脸识别中的研究与应用丨【百变AI秀】-云社区-华为云

[13] 基于LDA的人脸识别算法研究_51CTO博客_人脸识别算法原理

[14] https://blog.csdn.net/weixin_42163563/article/details/127957504

实验结论或体会

本次实验取得了较好的成果,成功地设计了人脸识别系统并在AR、feret和视频数据集上获得了较高的准确率。通过增加特征维度以及考虑光照变化和角度变化等因素,系统的准确率从0.8提高到了0.9。此外,还设计了人脸识别系统的可视化模块,取得了可观的效果。

然而,系统仍然存在一些需要改进的方面。首先,需要加强系统的泛化性能。当前系统在数据集内的数据上表现出较高的准确率,但当将两个不同的数据集合并时,准确率仅为60%。为了提高系统的泛化性,需要进一步研究和优化算法,以便更好地适应不同数据集的特点和变化。

其次,需要完善系统的功能,使其支持人脸的录入和识别。目前系统主要关注于人脸识别过程,但在实际应用中,人脸的录入是必不可少的一步。因此,需要设计和实现人脸录入的功能,以便用户可以方便地将新的人脸数据添加到系统中,并进行准确的识别。

最后,我们还需要提高人脸检测器的泛化性能。人脸检测是人脸识别系统的前置步骤,它的准确性和鲁棒性对整个系统的性能至关重要。当前系统在不同场景、角度和光照条件下的人脸检测方面仍有一定的改进空间。我们将继续研究和改进人脸检测器,以提高其泛化性能和准确度。

总之,本次实验在人脸识别系统的设计和优化方面取得了积极的进展,但仍面临着一些挑战和改进的空间。通过加强系统的泛化性、完善功能以及提高人脸检测器的性能,有信心进一步提升系统的准确率和稳定性,以满足实际应用的需求。

相关文章:

计算机视觉实验:人脸识别系统设计

实验内容 设计计算机视觉目标识别系统,与实际应用有关(建议:最终展示形式为带界面可运行的系统),以下内容选择其中一个做。 1. 人脸识别系统设计 (1) 人脸识别系统设计(必做):根据…...

振弦采集仪完整链条的岩土工程隧道安全监测

振弦采集仪完整链条的岩土工程隧道安全监测 隧道工程是一种特殊的地下工程,其建设过程及运行期间,都受到各种内外力的作用,如水压、地震、地质变形、交通荷载等,这些因素都会对隧道的安全性产生影响。因此,对隧道的安…...

NLP实战9:Transformer实战-单词预测

目录 一、定义模型 二、加载数据集 三、初始化实例 四、训练模型 五、评估模型 🍨 本文为[🔗365天深度学习训练营]内部限免文章(版权归 *K同学啊* 所有) 🍖 作者:[K同学啊] 模型结构图: &a…...

使用Vue.js和Rust构建高性能的物联网应用

物联网(IoT)应用是现代技术的重要组成部分,它们可以在各种场景中(例如智能家居,工业自动化等)提供无缝的自动化解决方案。在这篇文章中,我们将探讨如何使用Vue.js和Rust构建高性能的物联网应用。 1. 为什么选择Vue.js…...

idea调节文字大小、日志颜色、git改动信息

idea调节菜单栏文字大小: 调节代码文字大小: 按住ctrl滚动滑轮可以调节代码文字大小: 单击文件即可在主窗口上打开显示: idea在控制台对不同级别的日志打印不同颜色 : “grep console”插件 点击某一行的时候&#x…...

避免大龄程序员边缘化:如何在技术行业中保持竞争力

目录 导语持续学习和进修维护专业形象寻找适合自己的领域构建个人品牌和网络拥抱变化和创新实例结语: 导语 导语:随着科技的不断发展,技术行业的竞争日益激烈。对于那些年龄稍长的程序员来说,如何保持竞争力并避免边缘化成为了一…...

Jenkins工具系列 —— 启动 Jenkins 服务报错

错误显示 apt-get 安装 Jenkins 后,自动启动 Jenkins 服务报错。 排查原因 直接运行jenkins命令 发现具体报错log:Failed to start Jetty或Failed to bind to 0.0.0.0/0.0.0.0:8080或Address already in use 说明:这里提示的是8080端口号…...

华为数通HCIA-实验环境ensp简介

ensp 路由器:AR系列、NE系列; 模拟器中使用AR2220; 交换机:S系列、CE系列; 模拟器中使用S5700; 线缆:copper——以太网链路; serial——串行链路,在模拟器中用于模…...

SK5代理与IP代理:网络安全中的爬虫利器

一、什么是IP代理与SK5代理? IP代理: IP代理是一种允许用户通过代理服务器进行网络连接的技术。用户请求经由代理服务器中转,从而实现隐藏真实IP地址,保护用户隐私,并在一定程度上突破IP访问限制。常见的IP代理有HTTP…...

实战:Prometheus+Grafana监控Linux服务器及Springboot项目

文章目录 前言知识积累什么是Prometheus什么是Grafana怎样完成数据采集和监控 环境搭建docker与docker-compose安装docker-compose编写 监控配置grafana配置prometheus数据源grafana配置dashboardLinux Host Metrics监控Spring Boot 监控 写在最后 前言 相信大家都知道一个项目…...

[用go实现解释器]笔记1-词法分析

本文是《用go实现解释器》的读书笔记 ​ https://malred-blog​malred.github.io/2023/06/03/ji-suan-ji-li-lun-ji-shu-ji/shi-ti/go-compile/yong-go-yu-yan-shi-xian-jie-shi-qi/go-compiler-1/#toc-heading-6http://个人博客该笔记地址 ​github.com/malred/malanghttp:/…...

在 spark-sql / spark-shell / hive / beeline 中粘贴 sql、程序脚本时的常见错误

一个很小的问题,简单记录一下。有时候我们会粘贴一段已经成功运行过的SQL或程序脚本,但是在spark-sql / spark-shell / hive / beeline 中执行时可能会报这样的错误: hive> CREATE EXTERNAL TABLE IF NOT EXISTS ORDERS(> Display all…...

关于视频汇聚融合EasyCVR平台多视频播放协议的概述

视频监控综合管理平台EasyCVR具备视频融合能力,平台基于云边端一体化架构,具有强大的数据接入、处理及分发能力,平台既具备传统安防视频监控的能力与服务,也支持AI智能检测技术的接入,可应用在多行业领域的智能化监管场…...

三星书画联展:三位艺术家开启国风艺术之旅

7月22日,由广州白云区文联、白云区工商联主办的“三星书画联展”,在源美术馆正式开展。本次书画展展出的艺术种类丰富,油画、国画、彩墨画、书法等作品异彩纷呈。广东省政协原副主席、农工党省委书画院名誉院长马光瑜,意大利艺术研…...

在腾讯云服务器OpenCLoudOS系统中安装nginx(有图详解)

1. 创建安装目录 2. 下载、安装、编译 进入安装目录: cd /app/soft/nginx/ 下载: wget https://nginx.org/download/nginx-1.21.6.tar.gz 解压: tar -zxvf nginx-1.21.6.tar.gz 安装插件: yum -y install pcre-devel 安装…...

大数据课程E5——Flume的Selector

文章作者邮箱:yugongshiye@sina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 了解Selector的概念和配置属性; ⚪ 掌握Selector的使用方法; 一、简介 1. 概述 1. Selector本身是Source的子组件,决定了将数据分发给哪个Channel。 2. Selector中提供了两种模式: …...

在线查看浏览器

随着网络的兴起,电影和电视剧已经成为我们生活中必不可少的乐趣。然而,像爱奇艺、优酷、腾讯、芒果等等这些平台,我们想要看好视频,需要开通VIP,虽然价格不是很高,但是我们能省则省啊,今天我就给…...

谷粒商城第七天-商品服务之分类管理下的分类的拖拽功能的实现

目录 一、总述 1.1 前端思路 1.2 后端思路 二、前端实现 2.1 判断是否能进行拖拽 2.2 收集受影响的节点,提交给服务器 三、后端实现 四、总结 一、总述 这个拖拽功能对于这种树形的列表,整体的搬迁是很方便的。但是其实现却并不是那么的简单。 …...

解决单节点es索引yellow

现象 单节点的es,自动创建索引后,默认副本个数为1,索引状态为yellow 临时解决 修改副本个数为0 永久解决 方法1、修改elasticsearch.yml文件,添加配置并重启es number_of_replicas:副本分片数,默认…...

Java虚拟机在类加载阶段都做了些什么,才使得我们可以运行Java程序

前言: 今天和大家探讨一道Java中经典的面试题,这道面试题经常出现在各个公司的面试中,结合周志明,老师的《深入理解Java虚拟机》书籍,本篇文章主要讲解Java类加载机制的知识。该专栏比较适合刚入坑Java的小白以及准备秋…...

华为认证 | 学HCIE,想培训需要注意啥?

HCIE(华为认证网络专家)是华为技术认证体系中的最高级别认证,对于网络工程师来说考试难度也比较高,一般来说,需要进行培训。 那么HCIE考试培训需要注意啥? 01 充分了解认证要求 在开始准备HCIE认证之前&a…...

这所211考数一英二,学硕降分33分,十分罕见!

一、学校及专业介绍 合肥工业大学(Hefei University of Technology),简称“合工大”,校本部位于安徽省合肥市,是中华人民共和国教育部直属的全国重点大学,是国家“双一流”建设高校, 国家“211工…...

关于BQ27427的配置问题

EVM是TI家做的BQ27427的开发板,这款芯片还挺新的。 大概是这样,一块开发板要一千多块钱,使用的时候还出现了一些奇怪的问题。 配置使用的是买的盗版的EV2400,就是黑色的那个东西,使用的通信方式IIC。 TI手册上写的软件…...

试卷还原成空白卷怎么做?分享个简单的方法

在进行考试时,可能会填错答案或想要重新测试,此时需要正确擦除填写的试卷答案。下面介绍一些需要注意的事项以及正确的擦除方法。 使用橡皮擦或橡皮 正确的擦除方法是使用橡皮擦或橡皮对填写的答案进行擦除。首先,将橡皮擦或橡皮放置在试卷上…...

查看学校名称中含北京的用户

查看学校名称中含北京的用户_牛客题霸_牛客网 1.like select device_id,age,university from user_profile where university like %北京%; 注意虽然按实际需求,北京一般是排在最前面,即北京%,但是严格意义上来说,搜索含有北京…...

快速开发人脸识别系统Java版本

简介: 先说下什么是人脸识别系统:举个例子,公司门口有个人脸识别系统,员工站到门口,看着摄像头,大屏幕上会抓拍到你的人脸,然后和公司的员工照片库里的照片比对,比对成功就提示&…...

Reinforcement Learning with Code 【Code 1. Tabular Q-learning】

Reinforcement Learning with Code 【Code 1. Tabular Q-learning】 This note records how the author begin to learn RL. Both theoretical understanding and code practice are presented. Many material are referenced such as ZhaoShiyu’s Mathematical Foundation o…...

解决:Uncaught (in promise) SyntaxError: “[object Object]“ is not valid JSON 问题的过程

1、问题描述: 其一、报错为: Uncaught (in promise) SyntaxError: "[object Object]" is not valid JSON 中文为: 未捕获(承诺中)语法错误:“[object Object]”不是有效的 JSON 其二、问题描…...

机器学习-New Optimization

机器学习(New Optimization) 前言: 学习资料 videopptblog 下面的PPT里面有一些符号错误,但是我还是按照PPT的内容编写公式,自己直到符号表示什么含义就好了 Notation 符号解释 θ t \theta_t θt​第 t 步时,模型的参数 Δ L …...

3d虚拟vr汽车实景展厅吸引更多潜在消费者

随着人们对生活品质的追求,越来越多的消费者开始关注汽车的外观设计、内饰配置等方面。传统的展示方式已经不能满足消费者的需求,车辆VR虚拟漫游展示应运而生。借助VR虚拟现实和web3d开发建模技术,对汽车的外观、造型及信息数据进行数字化处理…...