如何训练神经网络进行模式识别?例如,图片中的面部识别如何定义输出神经元? (例如,如何准确地检测到脸部的哪个部位,而不仅仅是说相机中有脸部)。另外,如何检测多个面孔和不同尺寸的面孔?
如果有人能给我一个指针,那将非常棒
干杯!
答案 0 :(得分:4)
一般来说,我会将问题分成多个阶段,例如
1 - 图片中有脸吗?
2 - 图片中的面孔在哪里?
3 - 图片中的面部是NN(神经网络)识别出来的吗?
在每种情况下,我建议你建立一个单独的NN并训练它来回答提出的问题。
至于NN的结构,这有点难以回答,因为它取决于您的输入数据和所需的输出。例如,如果你有一个100x100像素的图像,那么我认为它有可能有10,000个输入。您可能需要考虑事先进行一些预处理,以便以可预测的方式检测椭圆形,并查看是否有可预测轮廓中的多个椭圆形(面部为1个,眼睛为2个,嘴部可能为一个) 。如果您正在预处理数据,那么您可能有每个椭圆的输入。
现在输出...对于问题1,您可以只有一个输出来说明NN是否确定输入数据中有一个面,即估值值为0.0(绝对没有面) - > 1.0(蔑视一张脸)。这样你就可以进入第2和第3阶段。
我可能会在这一点上说这是一个非常重要的问题,你可能最好看看一些可用的框架,例如: OpenCV
现在,对于训练部分,你需要有一堆图像来训练NN。您可以通过多种方式 训练NN。一种可能的解决方案是使用称为反向传播1,2的技术。一般而言,您在图像上使用NN并将其与预定输出进行比较。如果错误调整NN以产生所需的输出并重复。
如果你想要一本关于AI的好书,那么我强烈推荐Russell和Norvig的Artificial Intelligence: A Modern Approach。我确信有更合适的计算机视觉教科书,但罗素& amp; Norvig的书是一个很好的首发。
答案 1 :(得分:0)
亲爱的GantengX,你应该准备好自己的答案是如此庞大,复杂和难以理解的事实。模式和面部识别的方法很多。实现真实的人脸识别系统是一个人无法处理的大量工作。在数学和人工智能的书籍背后为自己准备至少10年的生活,我不是在谈论雇佣5位高薪开发人员,他们最终会理解你希望他们做什么。也许你最终会拥有自己的人脸识别系统。还有十几个其他问题会在此过程中突然出现。所以要为充满压力和问题的生活做好准备。
答案 2 :(得分:0)
我很抱歉告诉了一些显而易见的事情,但你的问题并不具体,完整的答案会触及许多不同的科学领域,并且会产生超过1k页的书。 关于你的问题(简答)。
每个面部识别应用程序包含以下几个主要部分:
项目1.和2.是每个系统的核心部分,它们完成实际工作。任何其他预处理只会使输入数据不那么复杂,从而可以更轻松地为您的AI做出决策。不要开始3.和4.直到你获得第一批结果。
P.S。 使用现有的解决方案更具成本效益,但如果你正在研究事物,那就不要像我那样浪费时间,立即开始你的论文。