c++ - 使用反向传播神经网络进行人脸识别?

标签 c++ machine-learning neural-network backpropagation

我是图像处理方面的新手,我的第一个任务是制作一个可以识别人脸和名字的工作程序。 到现在为止,我成功地制作了一个项目来检测、裁剪检测到的图像,使其成为 sobel 并将其转换为 float 组。 但是,我很困惑如何实现反向传播 MLP 来学习图像,以便它可以识别检测到的人脸的正确名称。

非常荣幸stackoverflow的各位专家能给我一些例子,说明如何实现要用反向传播学习的Image数组。

最佳答案

这是标准的机器学习算法。您有许多 float 数组(ML 中的实例或统计术语中的观察值)和相应的名称(标签、类标签),每个数组一个。这足以用于大多数 ML 算法。特别是在 ANN 中,数组的元素(即特征)是网络的输入,标签(名称)是其输出。

如果您正在寻找反向传播的理论描述,请查看 Stanford's ml-class lectures (ANN 部分)。如果您需要现成的实现,请阅读 this question .

您还没有指定数组的元素是什么。如果您只使用原始图像的像素,这应该可行,但不是很好。如果您需要生产级别的系统(尽管仍然使用 ANN),请尝试提取更多高级功能(例如 Haar-like features,OpenCV 自己使用)。

关于c++ - 使用反向传播神经网络进行人脸识别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8670045/

相关文章:

python - tensorflow 中实现的 sigmoid 函数和从头实现的有什么区别

c++ - insert_or_assign 允许迭代器

c++ - 声明一个模板函数,它接收两个通用迭代器作为参数

c++ - 尝试交换可变参数模板类时如何正确重载 operator=?

python-3.x - 有没有一种方法可以使用 scikit learn 的无监督方法将某些列表分类为不同的组?

python - 为什么我的简单 pytorch 网络不能在 GPU 设备上运行?

machine-learning - Caffe:使用 Scale 层添加 Softmax 温度

machine-learning - 使用 prototxt 在 caffe 中进行标签平滑,无需数据重新生成

machine-learning - 神经网络学习悬停。时间延误?

c++ - 编写构造函数/析构函数是好的做法吗?