最新年龄估计综述(Deep learning approach for facial age classification: a survey of the state of the art)

2023-11-20

目录

@[TOC](文章目录)

#一、常用数据集

#二、常用的年龄识别方法

#1.多分类(MC)

#2.度量回归(metric regression,MR)

#3.排序(ranking)

#4.深度标签分布学习(deep label distribution learning,DLDL)

#5.混合(结合两种或者更多的技术)

#三、年龄识别的评价指标

#1.MAE

#2.CS(Cumulative Score)

#3.Exact accuracy

#4.Normal Score (ε-error)

#四、参考文献

论文名:Deep learning approach for facial age classification: a survey of the state of the art

链接:https://pan.baidu.com/s/1_psq6iUu77KTwJQW0eEh5A 
提取码:8gdm

主要是对论文的一个翻译,分为数据集、常用方法和评价指标三部分

一、常用数据集

本人最近在使用AFAD数据集做实验,该数据集来自人人网(https://github.com/afad-dataset/tarball-lite)。

IMDB-WIKI数据集(很多人脸提取不出来,因此后续就没有在此数据集上进行实验):链接:https://pan.baidu.com/s/1cn3UHM67WIMiaaN581ubxQ 提取码:mqo6

MORPH数据集(没找到标签):链接:https://pan.baidu.com/s/1RCoTww5eE27gpMEvaMXetw 提取码:zcic

CACD数据集论文中介绍说是更适合用来做对抗年龄变化的人脸识别,因此后续也没有继续在上面进行实验。

近年来在在这些数据集上发表的论文情况如下:

由此可见,MORPH-II最受欢迎,可是这个数据集的标签我实在找不到啊,官网申请数据集没有动静。

#二、常用的年龄识别方法

年龄识别算法可以分为多分类方法(multi-class,MC)、度量回归(metric regression,MR),排序(ranking),深度标签分布学习(deep  label distribution learning,DLDL)和混合(结合两种或者更多的技术,hyrid)

汇总表格如下:

具体如下,对于我比较感兴趣的论文会附上一些网络框架截图:

#1.多分类(MC)

多分类的方法将年龄值或者年龄组视为一个独立的label。MC算法不考虑其他类别使ground truth类别标签的概率最大化。有限的训练样本和大多数面部数据集类别不平衡导致过拟合问题。

(1)Levi和Hassncer(2015年)[1]用了一个包含三层卷积层和两层全连接层的浅层CNN结构来学习特征表征。简单的结构减缓过拟合,同时也使用了dropout正则化和数据增强来限制过拟合的风险。尽管结构简单,在Adience数据集上得到的结果比现存方法好。

(2)Rothe(2015)[2]应用DEX(Deep EXpection of apparent age)来估计外观年龄。网络框架为在ImageNet上预训练的VGG16.他们从IMDb和Wikipedia网站上收集了500000照片,是最大的公开面部年龄数据集。DEX将回归问题定义为softmax期望值refine的分类问题,这种方法比直接进行回归训练有一个提升。DEX在裁剪后的人脸上集成了20个网络,获得了2015 ChaLearn LAP第一名。

(3)Malli(2016)[3]集成深度学习网络来实现外观年龄预测,使用在IMDb-WIKI数据集上预训练的VGG16进行微调。他们发现个体的外观年龄和实际年龄不同。实际年龄与单个年龄标签相关联,而表观年龄具有与面部图像相关联的多个年龄标签。 为了解决该问题,他们将限定年龄范围内的面部图像分类在一起。 他们使用这些年龄段及其年龄分组对一组深度学习模型进行了训练,然后将这些模型的输出进行组合以获得最终估计值。 他们通过使用“自适应数据扩充”解决了与数据集相关的年龄分布不平衡的问题。

(4)Agustsson(2017)[4]提出Residual DEX来提高原始DEX回归器的性能。原始的DEX从输入图片中提取鲁棒特征来粗略估计年龄,提出的Residual DEX通过一个特定模型来处理粗略DEX估计和ground truth labels之间的残差。新的“回归”模型可以进行校正,并且还改善了“原始DEX”的性能,显示了年龄估算任务的改进。 作为解决方案的一部分,他们开发了一个大型的人脸图像数据集“ APPA-REAL”,其中包含真实年龄和外观年龄的注释。

(5)Anand(2017)[5]应用后处理的方法来提高预训练深度网络的性能。该方法在最终预测年龄前使用特征融合来减少特征空间的维度。

(6)Aydogdu和Demirci(2017)[6]提出优化的深度CNN来进行年龄预测任务。提出的CNN结构中包含四个卷积层和两个全连接层。

(7)Qawaqneh(2017)[7]使用VGG-Face网络进行微调并预测年龄。

(8)Zhang(2017)[8]提出Residual Networks of Residual Networks (RoR)进行自然状况下的年龄分组和性别估计。RoR模型在IMDb-WIKI-101和adience数据集上微调之前,在ImageNet数据集上进行预训练。

(9)Shara和Shemitha(2018) [9]提出了一种基于VGG脸部网络的多深度CNN用于面部年龄估计。 年龄估算方法涉及三个不同阶段:“训练”阶段,“特征提取”阶段和“测试”阶段。 他们还收集了10,000多个带有年龄标签的面部图像。 他们通过基于CNN的深度模型从年龄差异的面部图像中提取年龄信息。 该方法利用模型顶层的“对称Kullback-Leibler发散损失函数”,并使用“标签分布”作为损失函数。

(10)Rothe(2018)[10]是Rothe(2015)工作的期刊版

(11)Nam(2020)[11]解决低像素图片年龄估计问题。通过一个cGAN模型将低像素人脸重构为高像素人脸。

(12)Agbo-Ajala和Viriri(2020)[12]用基于CNN的模型对未受限制的真实场景下的图片进行年龄和性别的分类。

#2.度量回归(metric regression,MR)

基于度量回归的算法将年龄类别视为线性渐进关系,并且不显示age方法的多样性。 它使用适当的正则化方法从特征空间中学习最适合年龄值空间映射的特征。 虽然,将年龄估计任务作为MR问题来处理是很正常的,这确实使平均绝对误差(MAE)结果最小化,并提高了估计准确性。 但是,MR会生成不稳定的训练模式,从而导致较大的误差项,从而影响准确性。

(1)Ranjan(2015)[13]采用四个步骤完成任务,包括人脸检测、人脸对齐、深度特征提取和三层的神经网络回归。该方法从预先训练的DCNN模型库中获得了所需的特征,并且还采用了“高斯损失函数”和“三层神经网络回归”模型来进行年龄估计任务,然后采用“分层学习”方法进行了改进 。 结果表明,“高斯损失函数”和提出的“三层神经网络回归”模型在进行年龄估计时优于传统的“线性”模型。

(2)Niu(2016)[14]提出了一种“端到端学习”方法来解决与“常规回归问题”相关的难题; 通过CNN解决“常规回归”问题的第一项工作。 该方法采用了深度CNN,可以同时进行“特征学习”和“回归”建模。 所提出的方法是一种多输出CNN学习算法,可共同解决一系列“有序回归”子问题。同时提出了AFAD数据集。

(3)Li(2019)[15]提出BridgeNet来进行年龄估计。提出的模型包括两个部分; 可以以端到端的方式共同学习的本地回归器和门控网络。 第一个组件(本地回归器)通过划分数据空间来处理异构数据。第二个(门控网络)采用了一种桥树结构,该结构学习了本地回归器使用的连续性加权。

#3.排序(ranking)

基于排序的算法使用年龄轴策略进行年龄分类预测,并利用年龄的相对顺序。 它使用相对年龄等级代替实际年龄标签,并使用它们与呈现的面部图像的相关性以降序对年龄类别标签进行排名,以防止针对每个可以简化问题的年龄标签做出决定。 但是,排序算法可能会产生次优的结果,尤其是在训练目标和评估指标不一致的情况下。

排序算法通过使用各个年龄的序数信息将其转换为各种二进制分类问题,从而解决了分类算法特有的问题。

(1)Chen(2017)[16]提出基于CNN的ranking-CNN进行年龄预测。该架构具有一系列经过“常规年龄标签”训练的基本CNN。 收集这些CNN的二进制输出以进行最终年龄估算。 通过广泛的经验实验,他们证明,与“多类”分类技术相比,他们提出的方法导致较小的估计误差。

(2)Liu(2018,2019) [17]提出了一种用于面部年龄估计的“常规深度特征学习”(ODFL)方法。 ODFL开发了深层的CNN,与CNN一起研究“自适应年龄”的面部描述符,以利用“拓扑感知序数关系”进行面部描述。 为此,他们确保了面部图像的“拓扑感知序关系”在学习的特征位置中得以维持,并且还确保了嵌入式特征表示的年龄区分信息以“排名保留”的方式使用。

(3)Liu(2018) [18]开发了基于“多类别focal loss”的CNN架构,以提高年龄估计的效果。他们设计了通过重塑标准的“交叉熵损失”来解决类不平等问题的方法,从而降低了对分类良好的样本的损失; 他们研究了不同年龄段之间类别过度失衡的问题。

(4)Liu(2019)是Liu(2018)[19]工作的扩展,该工作是一个端到端的序数深度学习(ODL)框架,包括两个序数回归损失函数; 平方损失和交叉熵损失。 提出的基于排序的顺序深度特征学习(ODFL)方法直接从原始图像像素中学习人脸表示所需的特征,然后独立学习特征提取和年龄估计的过程。

#4.深度标签分布学习(deep label distribution learning,DLDL)

DLDL方法将实际值年龄转换为离散的年龄分布,以适合整个年龄分布。 它是一种端到端的学习模型,解决了大多数年龄估计任务中训练图像不足的问题。 通过将实际年龄值转换为离散年龄分布以适合整个年龄,它可以缓解对大量训练图像和数据不均匀分布的需求。 与每个班级标签相关的训练实例将增加而训练样本的数量不会增加。 但是,通常会观察到,所采用的评估指标与训练目标之间缺乏一致性,因此产生的结果并不令人满意。

(1)Huo(2016)[20]提出结合深度CNN和基于分布(KL散度)的损失函数。结构包含两个不同的深度CNN来学习两个stream:VGG16和一个新颖的结构。VGG16在三个不同的数据集上微调,新颖的CNN结构使用不同数据增强的输入来训练。融合两个模型的结果来得到最终预测的年龄值。得到了2015ChaLearn 2015的第四名,用了额外的119539张图片和其他公开面部数据集做训练。

(2)Gao(2018)[21]等人提出基于标签分布的方法。他们设计了一种“轻量级”的网络架构,该架构没有大量的网络参数,从而降低了计算成本和存储开销。 模型参数为0.9M。 所提出的方法是一个“统一”的结构,可以共同学习年龄分布和回归年龄。 该模型是通过将两种现有的当前最先进的年龄估计方法统一到一个DLDL框架中而设计的。 他们还提出了一个“ DLDL-v2”框架,该框架通过集体学习年龄分布并通过浅层和深层网络结构回归单年龄,缓解了训练和评估阶段之间的差异。

(3)Zhang(2019)[22]提出recurrent age estimation(RAE). RAE使用了一种结合了CNN和长短期存储网络(LSTM)的体系结构; CNN经过训练可以从面部图像中提取出具有区别性的外观特征,而LSTM网络则可以从面部特征序列中学习个性化的age模式。 此外,为了利用真实年龄和邻近年龄的歧义性,作者采用了标签分布式学习(LDL),从而克服了由小数据集引起的过拟合问题,从而改善了实验结果。

#5.混合(结合两种或者更多的技术)

可以通过以并行或分层方式组合两个或多个算法来构建混合算法,以产生更好的性能。 该算法充分利用了每种算法的优势,以获得更强大的系统。 但将两个或多个算法结合使用会导致大量的存储开销和计算成本,因此,会影响其在资源受限的计算机中的适用性。

(1)Liu(2015b)[23]提出AgNet,一种端到端学习外观年龄的方法。这个网络通过融合基于高斯标签分布的label分布分类模型和基于真实值的回归模型来解决外观年龄估计问题。对于这两个模型,一个大规模的深度CNN被用来学习年龄特征。同时应用了深度迁移学习机制来克服过拟合可能带来的问题,在2015年ChaLearn中获得第二名。

(2)Gurpinar(2016)[24]将样本分为不同的有重叠的年龄组。在最终融合所有年龄组以进行最终估计之前,使用“本地回归”方法对这些年龄组进行了估计。 他们利用“内核极限学习”机器进行分类。获得了2015ChaLearn LAP的第七名,表明在几乎所有组中,local回归比全局回归性能好。

(3)Antipov(2016)[25]用VGG16在IMDb-WIKI数据集上进行预训练。他们发现准确预测children的年龄是比赛的关键,因此他们为0-12岁之间的chirdren单独训练了一个chirdren网络,结果获得了2016ChaLearn的第一名。

(4)Liu(2015a)[26]提出了一种“多区域卷积神经网络”(MRCNN)用于面部年龄估计。 所提出的方法利用了“多个子区域”,其中包含有关年龄的丰富信息。 通过将“多个面部子区域”结合在一起以进行年龄估。 该方法利用8个网络,然后构造“ 8子网”结构,然后在特征级别上对其进行融合。 提出的模型有两个好处:“ 8个子网络”了解相应子区域的独特年龄特征,“ 8个子网络”打包在一起以补充与年龄有关的信息。当在MORPH-II数据库上进行评估时,实验结果达到了最先进的性能。

(5)Liu(2017)[27]提出组感知的深度特征学习(Group-Aware Deep Feature Learning,GA-DFL)进行年龄预测。“ GA-DFL”方法通过直接从原始像素中学习“区分特征描述符”来提取面部描述所需的特征。 为了使相邻年龄段更平滑,他们引入了一种重叠耦合学习方法。 他们还采用了“多路径”深度CNN架构,将多尺度信息集成到学习的面部表情中,从而进一步改善了该方法的性能。

(6)Duan(2018a)[28]以“分层”风格介绍了CNN的“混合结构”和“极限学习机”(ELM),用于估算年龄。“混合体系结构”利用CNN从输入图像中提取特征,而ELM将“中间结果”分类。

(7)Duan(2018b)[29]提出一个集成结构命名为CNN2ELM。它由三级模型组成,包括“特征提取”和融合,通过“ ELM分类器”进行年龄分组以及通过“ ELM回归器”进行年龄估算。 他们训练了三个网络,以在测试和验证阶段从同一个人的形象中提取类似于年龄,性别和种族的特征。通过融合种族和性别特征,改善了与年龄属性相关的特征。 然后,为了获得较窄的年龄范围,ELM将融合结果分类为一个年龄组。 随后,使用“ ELM回归器”执行年龄确定。 他们在“ ImageNet”数据库上对网络进行了预训练,然后在“ IMDb-WIKI”数据库上进行了微调。

(8)Liao(2018) [30]提出了一种“AgeNet”和“分而治之”的架构来估算年龄。“AgeNet”是基于CNN的网络。该网络被用来提取面部年龄描述符,而划分规则则被用于面部年龄估计“AgeNet”模型使用了一种基于回归和分类的方法来构建年龄估计的深度CNN。该网络是具有出色图像表示能力的坚固的面部年龄特征提取器模型。提出的“分而治之”学习模型是为了解决与年龄估算任务相关的“常规回归”问题。

(9)Liu(2020)[31]基于混合注意力机制使用轻量级CNN网络ShuffleNetV2,命名为MA-SFV2.该模型将年龄估计视为分类问题(将年龄分类为单独的标签),回归问题(对具有特定顺序的人脸的年龄进行排名)和分布学习(考虑相邻年龄之间的年龄相关性)。MA-SFV2结合了分类、回归和分布学习问题。

对于数据规模较大而且分布均匀的数据集,每一个方法都适用。对于数据类别不均衡或没有足够训练样本的情况,ranking和DLDL可能更适用。

文献汇总表如下:

#三、年龄识别的评价指标

#1.MAE

MAE越小,年龄估计性能越好。

#2.CS(Cumulative Score)

当基本在每个年龄都有训练样本时,CS指标更合适。CS越大,年龄估计性能越好。

其中j表示error level,N是测试样本的总数目。 表示测试样本的估计值误差不超过j的数目。

#3.Exact accuracy

被准确分类的样本占所有的百分比

#4.Normal Score (ε-error)

计算不准确预测的样本占所有样本的比例。ε-error越小,年龄估计分类器的性能越好。

其中x为年龄预测值,σ为提供的label,μ为年龄预测值的标准差。

#四、参考文献

[1]Levi G, Hassncer T (2015) Age and gender classification using convolutional neural networks. In: IEEE
Computer Society Conference on Computer Vision and Pattern Recognition Workshops, vol
2015-October, pp 34–42

[2]Rothe R, Timofte R, Van Gool L (2015) DEX: deep expectation of apparent age from a single image.
In: Proceedings of the IEEE International Conference on Computer Vision, vol 2015-February, pp
252–257

[3]Malli RC, Aygun M, Ekenel HK (2016) Apparent age estimation using ensemble of deep learning models.
In: IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops, pp
714–721

[4]Agustsson E, Timofte R, Escalera S, Baro X, Guyon I, Rothe R (2017) Apparent and real age estimation in
still images with deep residual regressors on appa-real database. In: Proceedings—12th IEEE international
conference on automatic face and gesture recognition, FG 2017—1st international workshop on
adaptive shot learning for gesture understanding and production, ASL4GUP 2017, Biometrics in the
Wild, Bwild 2017, Heteroge, pp 87–94

[5]Anand A, Labati RD, Genovese A, Munoz E, Piuri V, Scotti F (2017) Age estimation based on face images
and pre-trained convolutional neural networks. In: 2017 IEEE Symposium Series on Computational
Intelligence, SSCI 2017—Proceedings 2017, pp 1–7

[6]Aydogdu MF, Demirci MF (2017) Age classification using an optimized CNN architecture. In: Proceedings
of the International Conference on Compute and Data Analysis—ICCDA ’17, September, pp 233–239

[7]Qawaqneh Z, Mallouh AA, Barkana BD (2017) Deep convolutional neural network for age estimation based
on VGG-face model

[8]Zhang K, Gao C, Guo L, Sun M, Yuan X, Han TX, Zhao Z, Li B (2017) Age group and gender estimation in
the wild with deep RoR architecture. IEEE Access 5(X):22492–22503

[9]Shara MS, Shemitha PA (2018) Facial age estimation based on multiple CNN. Ijirt 4(11):593–599

[10]Rothe R, Timofte R, Van Gool L (2018) Deep expectation of real and apparent age from a single image
without facial landmarks. Int J Comput Vis 126(2–4):144–157

[11]Nam SH, Kim YH, Truong NQ, Choi J, Park KR (2020) Age estimation by super-resolution reconstruction
based on adversarial networks. IEEE Access 8:17103–17120

[12]Agbo-Ajala O, Viriri S (2020) Face-based age and gender classification using deep learning model. In: Dabrowski
JJ, Rahman A, Paul M (eds) Image and video technology. Springer, Cham, pp 125–137

[13]Ranjan R, Zhou S, Chen JC, Kumar A, Alavi A, Patel VM, Chellappa R (2015) Unconstrained age estimation
with deep convolutional neural networks. In: Proceedings of the IEEE International Conference on
Computer Vision, pp 351–359

[14]Niu Z, Zhou M, Wang L, Gao X, Hua G (2016) Ordinal regression with multiple output CNN for age estimation.
In: Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern
Recognition, 2016 December, pp 4920–4928

[15]Li W, Lu J, Feng J, Xu C, Zhou J, Tian Q (2019) Bridgenet: a continuity-aware probabilistic network for age
estimation. In: Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern
Recognition 2019-June, pp 1145–1154

[16]Chen S, Zhang C, Dong M, Le J, Rao M (2017) Using ranking-CNN for age estimation. In: Proceedings—
30th IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2017, vol
2017-January, pp 742–751

[17]Liu H, Lu J, Feng J, Zhou J (2017b) Ordinal deep feature learning for facial age estimation. In: Proceedings—
12th IEEE international conference on automatic face and gesture recognition, FG 2017—1st
international workshop on adaptive shot learning for gesture understanding and production, ASL4GUP
2017, Biometrics in the Wild, Bwild 2017, Heteroge, May 2017, pp 157–164

[18]Liu W, Chen L, Chen Y (2018) Age classification using convolutional neural networks with the multi-class
focal loss. In: IOP Conference Series: Materials Science and Engineering, vol 428, no 1

[19]Liu H, Lu J, Feng J, Zhou J (2019) Ordinal deep learning for facial age estimation. IEEE Trans Circuits Syst
Video Technol 29(2):486–501

[20]Huo Z, Yang X, Xing C, Zhou Y, Hou P, Lv J, Geng X (2016) Deep age distribution learning for apparent
age estimation. In: IEEE Computer Society Conference on Computer Vision and Pattern Recognition
Workshops, pp 722–729

[21]Gao BB, Zhou HY, Wu J, Geng X (2018) Age estimation using expectation of label distribution learning.
In: IJCAI International Joint Conference on Artificial Intelligence, vol 2018-July, pp 712–718

[22]Zhang K, Liu N, Yuan X, Member S, Guo X, Gao C (2019) Fine-grained age estimation in the wild with
attention LSTM networks. IEEE Trans Circuits Syst Video Technol PP(c):1

[23]Liu X, Li S, Kan M, Zhang J, Wu S, Liu W, Han H, Shan S, Chen X (2015b) AgeNet: deeply learned regressor
and classifier for robust apparent age estimation. In: Proceedings of the IEEE International Conference
on Computer Vision 2015, pp 258–266

[24]Gurpinar F, Kaya H, Dibeklioglu H, Salah AA (2016) Kernel ELM and CNN based facial age estimation.
In: IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops,
pp 785–791

[25]Antipov G, Baccouche M, Berrani SA, Dugelay JL (2016) Apparent age estimation from face images combining
general and children-specialized deep learning models. In: IEEE Computer Society Conference
on Computer Vision and Pattern Recognition Workshops, pp 801–809

[26]Liu KH, Yan S, Kuo CC (2015a) Age estimation via grouping and decision fusion

[27]Liu W, Wang Z, Liu X, Zeng N, Liu Y, Alsaadi FE (2017a) A survey of deep neural network architectures
and their applications. Neurocomputing 234:11–26

[28]Duan M, Li K, Yang C, Li K (2018a) A hybrid deep learning CNNELM for age and gender classification.
Neurocomputing 275:448–461
[29]Duan M, Li K, Li K (2018b) An ensemble CNN2ELM for age estimation. IEEE Trans Inf Forensics
Secur 13(3):758–772

[30]Liao H, Yan Y, Dai W, Fan P (2018) Age estimation of face images based on CNN and divide-and-rule strategy.
Math Probl Eng 2018:1–8

[31]Liu X, Zou Y, Kuang H, Ma X (2020) Face image age estimation based on data augmentation and lightweight
convolutional neural network. Symmetry 12(1):146

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

最新年龄估计综述(Deep learning approach for facial age classification: a survey of the state of the art) 的相关文章

随机推荐

  • CString字符串查找和截取

    1 Find 该函数从左侧0索引开始 查找第一个出现的字符位置 CString str abc int postion str Find a 如果查到 返回以0索引起始的位置 未查到 返回 1 如果查到 返回以0索引起始的位置 未查到 返回
  • 卷积神经网络CNN小结(简单实现代码mnist数据集)

    由于全连接神经网络处理图像中的需要训练参数过多的问题 而卷积神经网络中 卷积层的神经元只与前一层的部分 神经元节点相连 既它的神经元的连接是非全连接的 且同一层某些神经元之间的连接的权重w和偏移b是共享的 这样大量减少了训练参数的数量 图1
  • 多线程事务怎么回滚?说用 @Transactional 可以回去等通知了!

    背景介绍 1 最近有一个大数据量插入的操作入库的业务场景 需要先做一些其他修改操作 然后在执行插入操作 由于插入数据可能会很多 用到多线程去拆分数据并行处理来提高响应时间 如果有一个线程执行失败 则全部回滚 2 在spring中可以使用 T
  • C++day4(关系运算符的重载)

    关系运算符重载的作用 可以让两个自定义类型对象进行对比操作 代码实现关系运算符的重载 include
  • unity工程崩溃资源找回

    1 Unity死机未保存场景 当你在Unity中编辑场景 突然死机时 可以在项目文件目录中找到Temp文件夹 双击文件夹 找到 Backupscenes文件夹 把后缀为 backup的文件后缀改为 unity 然后拖进Unity的Proje
  • 2021-05-03

    一 R中安装 phyloseq 的方法 很多网上的教程使用的都是 source https bioconductor org biocLite R biocLite phyloseq 但是我尝试了很多次 最后还是没有成功 下面能成功安装 p
  • 连接Mysql出现Connection unexpectedly closed

    Mysql 版本 5 7 问题 本地服务可以正常连接MySQL 在服务器部署后连接出错 服务器日志 dev miku r2dbc mysql client MySqlConnectionClosedException Connection
  • IDEA2021从零开始搭建SSM框架手把手详细教程 (一)

    开发环境 macos IDEA 2021 mysql8 0 toma9 0 源码 https download csdn net download a2267542848 19730797 1 基本环境搭建 1 新建工程 新建后整个目录如下
  • nodejs的安装与配置

    NodeJs安装与配置 之前一直在网上自己找教程装 但是经常出问题 索性自己总结一个 1 安装nodejs 去网址 https nodejs org zh cn download msi和 zip msi是Windows installer
  • 物联锁项目失败原因分析

    一 背景 2022年3月份接手IM024物联锁项目救火 此项目主要用于医院共享轮椅 共享病床 此项目是从2021年初开始立项开发 投入了大量的人力物力 但是在2022年3月份时产品工作仍然不稳定 此项目基本上可以判定为一个失败的典型 为了吸
  • 在linux下jdk安装和建立Hadoop集群的过程实验报告(搭建Hadoop集群)。

    1 模板虚拟机环境准备 相关视频 半小时快速搭建Hadoop集群 哔哩哔哩 bilibilihttps www bilibili com video BV1x5411177Y spm id from 333 880 my history p
  • (pinia-plugin-persistedstate)pinia 持久化存储

    背景 我们使用pinia的时候 会遇到页面刷新的时候数据丢失 我们自己解决的话 就是在页面刷新之前将数据存储到本地 然后在页面打开的时候将数据从本地读出来 实现数据持久化 所以我们可以通过插件来直接帮我们完成这个操作来实现自动化存储 学习p
  • Qt QTextEdit 自动滚动内容/移动光标到最后一行

    QTextEdit往文本后添加内容超出视图 并不会自动滚动到最后 需要添加以下代码 ui gt StatustextEdit gt insertPlainText text 光标后添加文本 ui gt StatustextEdit gt m
  • STM32项目--基于STM32的办公室安保(智能家居)系统设计

    基于嵌入式系统的办公室安保系统设计 简介 设计一套基于STM32的办公室安防系统 系统内部包括门禁系统 灾害报警系统 人脸识别系统和交互中心四个子系统 门禁系统 主要实现对门禁卡的存储和读取并识别已存储卡片的信息并控制开门 如读取卡片为未存
  • px_em_rem

    px em rem px px是固定的像素 一旦设置了就无法因为适应页面大小而改变 em和rem em和rem相对于px更具有灵活性 他们是相对长度单位 意思是长度不是定死了的 更适用于响应式布局 就是说当父元素大小发生变化 相应的字体大小
  • (2021)Top5 免费视频编辑软件,视频剪辑必备工具

    全球排名前5的免费视频剪辑软件 Top5 VideoPad https www nchsoftware com videopad 免费版 和 付费版 Top4 VSDC http www videosoftdev com 免费版 和 付费版
  • 集群环境下Redis分布式锁

    一 前言 在上一篇文章中 已经介绍了基于Redis实现分布式锁的正确姿势 但是上篇文章存在一定的缺陷 它加锁只作用在一个Redis节点上 如果通过sentinel保证高可用 如果master节点由于某些原因发生了主从切换 那么就会出现锁丢失
  • 【IMGUI】 各种辅助类 EditorGUIUtility、EditorUtility、GUIUtility、GUILayoutUtility

    EditorGUIUtility class in Editor 继承自 GUIUtility EditorGUI 的各种辅助程序 EditorGUIUtility currentViewWidth 我尝试打印了下这个值和position
  • 网页验证码破解、使用cookie登录

    十二周内容笔记 day34 01 芝麻代理作业 主要是练习了一下显式等待 写起来还是比较麻烦 但是还挺好用 from selenium import webdriver from selenium webdriver chrome serv
  • 最新年龄估计综述(Deep learning approach for facial age classification: a survey of the state of the art)

    目录 TOC 文章目录 一 常用数据集 二 常用的年龄识别方法 1 多分类 MC 2 度量回归 metric regression MR 3 排序 ranking 4 深度标签分布学习 deep label distribution lea