【问题标题】:Image processing and neural networks approach图像处理和神经网络方法
【发布时间】:2015-07-16 06:37:57
【问题描述】:

我目前正在开展一个用于识别一个人的情绪/情绪的项目。 作为第一步,我们正在研究图像识别、检测和跟踪 python 代码。 我经历了各种不同的方法来解决这个问题并发现了。

1)Haar 级联方法(快速但没有识别和阅读表达式的范围)。

2)神经网络(擅长图像识别,例如微笑/愤怒等细节.....)。

我对神经网络,即方法感到困惑。

我们可以先使用 haar cascade 轻松(非常快)检测人脸,然后使用 canny 边缘检测或 Cropping 来裁剪人脸的一部分。 完成后,我不知道如何进行。

这是我的想法。 继续使用 haar 级联方法检测面部特征,如眼睛、鼻子、脸颊、嘴唇...... 然后找出它们之间的距离,找出我们可以进一步用来形成神经网络的比率。 不同的内部层将用于检测不同的特征。 我们可以使用微分法通过改变突触的权重来优化成本。

这种方法有多好,有没有更好的方法。

就像说我们可以使用 canny edge 来检测边缘,然后从边缘中创建一个新矩阵,然后使用它来训练数据。 我不知道,我真的很困惑。

无论如何,提前感谢所有答案

【问题讨论】:

  • 现在您不需要(也不应该)使用这种基于工程的方法。你可以直接在你的脸上训练卷积神经网络。
  • 你能简单介绍一下卷积神经网络吗

标签: python image-processing machine-learning computer-vision neural-network


【解决方案1】:

scikit-imageOpenCV 等图像处理库是一个很好的起点。例如,here 是 OpenCV 中 canny 边缘检测的示例。

关于神经网络,正如lejlot 指出的那样,你必须问问自己你想从头开始构建多少。

一个基于某些参数(您必须为您的面部特征定义)构建您自己的神经网络的示例,我建议您通读A Neural Network in 11 lines of Python,它说明了您可能面临的一些问题(尤其是第 2 部分这也是关于图像处理的)。

【讨论】:

    【解决方案2】:

    您似乎需要的是卷积神经网络(查看此http://cs231n.github.io/convolutional-networks/ 以了解它们)。

    卷积神经网络(简称 CNN)是一种学习从图像中提取视觉特征以及如何将这些特征关联起来以识别图像上的内容的神经网络,因此您无需检测所有特征,只需给 CNN 一堆带标签的人脸图片,它就会学会识别 eprson 的情绪。

    您可以做的是检测每张图片中的人脸(openCV 在检测人脸方面已经足够好),然后裁剪并对齐每个人脸,使所有人脸的大小相同。然后把所有的脸都喂给 CNN,它会逐渐学会识别一个人的情绪。

    【讨论】:

      猜你喜欢
      • 2016-11-29
      • 2017-04-27
      • 2018-10-19
      • 2017-11-22
      • 2017-12-21
      • 1970-01-01
      • 2018-10-10
      相关资源
      最近更新 更多