如何训练神经网络进行模式识别?例如,图片中的人脸识别您将如何定义输出神经元? (例如,如何准确检测人脸在哪里,而不仅仅是说相机中有一张脸)。另外,检测多个面部和不同大小的面部怎么样?
如果有人能给我指点,那就太好了
干杯!
最佳答案
一般来说,我会将问题分为多个阶段,例如
1 - 照片中有脸吗?
2 - 照片中的脸在哪里?
3 - 图片中的人脸是 NN(神经网络)识别的人脸吗?
在每种情况下,我建议您构建一个单独的神经网络并训练它来回答提出的问题。
至于神经网络的结构,回答起来有点棘手,因为它取决于您的输入数据和所需的输出。例如,如果您有一个 100x100 像素的图像,那么我认为有 10,000 个输入是可行的。您可能需要考虑事先进行一些预处理,以便检测椭圆形,这样您就可以查看并查看可预测的轮廓中是否有多个椭圆形(1 个代表脸部,2 个代表眼睛,可能还有一个代表嘴巴) 。如果您正在预处理数据,那么您可能有每个椭圆的输入。
现在对于输出...对于问题一,您可以只用一个输出来说明神经网络对输入数据中是否存在人脸的确定程度,即评估器为 0.0(绝对没有人脸)--> 1.0(挑衅的脸)。这样您就可以进入第 2 阶段和第 3 阶段。
此时我可能会说这是一个不平凡的问题,您可能最好看看一些可用的框架,例如OpenCV
现在,对于训练部分,您需要有一组可用于训练神经网络的图像。您可以通过多种方式训练神经网络。一个潜在的解决方案是使用一种称为反向传播的技术 1 , 2 。一般来说,您在图像上使用神经网络并将其与预定输出进行比较。如果错误,则调整神经网络以产生所需的输出并重复。
如果你想要一本关于人工智能的好书,那么我强烈推荐 Artificial Intelligence: A Modern Approach作者:拉塞尔和诺维格。我确信有更合适的计算机视觉教科书,但 Russell & Norvig 的书是一个很好的入门书。
关于neural-network - 模式识别训练(神经网络),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4574571/