嵌入式人工智能应用- 第七章 人脸识别
嵌入式人工智能应用
`
文章目录
- 嵌入式人工智能应用
- 1 人脸识别
-
- 1.1 dlib 介绍
- 1.2 dlib特点
- 1.3 dlib 的安装与编译
- 2 人脸识别原理
-
- 2.1 ResNet
- 3 代码部署
-
- 3.1 安装 [CUDA Toolkit 12.8](https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=24.04&target_type=deb_network)
- 3.2 安装dlib
- 3.3 运行参考案例
1 人脸识别
1.1 dlib 介绍
Dlib 是一个包含机器学习算法的 C++开源工具包。Dlib 可以帮助我们创建很多复杂的机器学习方面的软件来帮助解决实际问题。目前 Dlib 已经被广泛的用在行业和学术领域,包括机器人,嵌入式设备,移动电话和大型高性能计算环境。Dlib 是开源、免费的,官网:http://dlib.net,地址:https://github.com/davisking/dlib。
1.2 dlib特点
⚫ 文档齐全
不像很多其他的开源库一样,Dlib 为每一个类和函数提供了完整的文档说明。同时,还提供了 debug模式;打开 debug 模式后,用户可以调试代码,查看变量和对象的值,快速定位错误点。另外,Dlib 还提供了大量的实例。
⚫ 高质量的可移植代码
Dlib 不依赖第三方库,无须安装和配置,这部分可参照官网(官网左侧树形目录的 how to compile 的介绍)。Dlib 可用在 window、Mac OS、Linux 系统上。
⚫ 提供大量的机器学习、图像处理算法
包括深度学习、基于 SVM 的分类和递归算法、针对大规模分类和递归的降维方法、聚类、多层感知机、相关向量机(relevance vector machine)。相关向量机是与支持向量机相同的函数形式稀疏概率模型,对未知函数进行预测或分类,其训练是在贝叶斯框架下进行的,与 SVM 相比,不需要估计正则化参数,其核函数也不需要满足 Mercer 条件,需要更少的相关向量,训练时间长,测试时间短。聚类包含 linear or kernel k-means, Chinese Whispers, and Newman clustering. Radial Basis Function Networks。
⚫ 提供一般性工具、数据压缩、完整性算法
一般工具:XML 解析、内存管理、类型安全的 big/little endian 转换、序列化支持和容器类。数据压缩和完整性算法:CRC32、Md5、不同形式的 PPM 算法。
1.3 dlib 的安装与编译
打开 dlib 的官网所示,结构非常简单。例如如何安装、编译,可以点击左边框箭头指示的位置,此时右边框会得到如图所示的说明,可以直接使用 pip install dlib 命令进行安装,安装的时间比较久,需要耐心等待。比如