本文目录一览:
一个给自己颜值打分的开源分析库
00、背景最近想把ML.net集成到项目中,于是在网上看看有没可以参考的资料,偶然发现了这个好玩的项目。
谁颜值很自信的话,可以给我照片来试试打打分。
01、FaceONNX是什么?FaceONNX是一个基于深度神经网络和ONNX 运行时的人脸识别和分析库。
项目地址:https://github.com/FaceONNX/FaceONNX.git
包括很多有趣的可用模型,比如人脸检测,情绪检测,特征点,颜值,年龄,性别等, 使用简单方便。
02、有哪些主要功能?人脸检测
特征点
图相似度
活体检测
人脸眨眼检测
03、最好玩的就是给自己颜值打分04、使用方法static string[] GetEmotionAndBeauty(Bitmap image, Rectangle face){ using var cropped = BitmapTransform.Crop(image, face); var points = _faceLandmarksExtractor.Forward(cropped); var angle = points.GetRotationAngle(); using var aligned = FaceLandmarksExtractor.Align(cropped, angle); var emotion = _faceEmotionClassifier.Forward(aligned); var max = Matrice.Max(emotion, out int argmax); var emotionLabel = FaceEmotionClassifier.Labels[argmax]; var beauty = _faceBeautyClassifier.Forward(aligned); var beautyLabel = $"{Math.Round(2 * beauty.Max(), 1)}/10.0"; Console.WriteLine($"--> classified as [{emotionLabel}] emotion and [{beautyLabel}] beauty"); return new string[] { emotionLabel, beautyLabel };}05、补充介绍下Onnx
Onnx是微软和Facebook提出的一种表示深度学习模型的开放格式,定义了一套独立于环境和平台的标准格式。
使用场景无论使用什么样的训练框架来训练模型(TensorFlow、Pytorch、OneFlow、Paddle),都可以在训练后将这些框架的模型统一转为ONNX存储。
ONNX文件不仅存储了神经网络模型的权重,还存储了模型的结构信息、网络中各层的输入输出等一些信息。
然后将转换后的ONNX模型,转换成我们需要使用不同框架部署的类型,通俗来说ONNX 相当于一个翻译。