您的位置:首页 > 配对

颜值打分器

颜值打分器

一个给自己颜值打分的开源分析库

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 相当于一个翻译。