图像处理和神经网络方法

时间:2015-07-16 06:37:57

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

我目前正致力于一个识别一个人情绪/情绪的项目。 作为第一步,我们正在开发图像识别,检测和跟踪python代码。 我对这个问题进行了各种不同的处理,并找到了。

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

2)神经网络(非常适合图像识别,例如微笑/愤怒.....)。

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

我们可以先使用haar级联来轻松检测面部(非常快),然后使用canny边缘检测或裁剪来裁剪出部分面部。 在那之后,我不知道如何继续。

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

方法有多好,是否有更好的方法。

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

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

2 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:1)

您似乎需要的是Convolutional Neurl Networks(请查看此http://cs231n.github.io/convolutional-networks/以了解它们)。

卷云神经网络(简称CNN)是一种神经网络,它学习从图像中提取视觉特征,以及如何将这些特征联系起来识别图像上的内容,所以你不要需要检测所有功能,只需给CNN一堆标记的脸部图片,它就会学会识别eprson的情绪。

您可以做的是检测每张照片中的脸部(openCV足以检测脸部),然后裁剪并对齐每张脸部,使所有脸部的大小相同。然后用所有面孔喂CNN,它将逐渐学会识别一个人的情绪。