请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于人脸识别方面的一些问题

因为想做一些人脸识别的项目,接触了机器学习,有一些人脸识别相关问题的疑惑

人脸检测方面,我之前看了深度学习SSD模型的相关视频,在该模型用一些数据集训练完后,直接拿自己的照片,自己的照片没有参与训练,模型就能检测出人脸所在的位置,这是为什么呢(小白,不太懂)? 用我们这个课程学的算法能进行人脸检测吗?

人脸匹配方面,比如我要匹配我自己的人脸,训练模型的数据集中是不是一定要有自己的人脸数据?
如果一定要有本人的人脸数据,那需要匹配的一些新人脸是不是要在匹配之前加入原先的训练数据集再训练一次模型?如果需要再训练模型岂不是很浪费时间?加一个新人脸就要训练一次模型,甚至用KNN算法耗时更巨大
一个人脸识别项目是不是要把人脸检测和人脸匹配结合起来?其相关的模型又怎么训练,我脑子混乱了

正在回答

1回答

liuyubobobo 2020-02-08 14:18:28

检测出人脸的位置和检测出人脸是谁完全不是一个问题。具体的算法和这个课程没有关系了,这个课程中的算法主要处理分类问题和回归问题。如果对这个问题感兴趣,可以参考这个综述:https://zhuanlan.zhihu.com/p/42968117


如果要识别你的脸,是的,训练数据中必须有你的脸。这就是为什么,你做任何人脸识别之前,都要多次按照程序要求把你的脸展现给程序。可以回忆一下,你第一次设定 FaceID(iOS 下),或者第一次设置支付宝的刷脸支付的时候,步骤是怎样的?程序不可能在你不做任何初始化操作的情况下,就认识你。


但是,这个过程不一定需要重新训练模型。这就是在线学习的意义。可以再回顾一下课程第二章,我给大家介绍的在线学习的概念。 


kNN 无法做到这种在线学习。实际上,kNN 由于是一个太过简单的算法,在实际应用中的用武之地甚少。在这个课程中,只是因为它非常简单,便于理解,我们以 kNN 为基础,可以很快延伸很多机器学习领域的其他概念,比如归一化;比如学习效果的度量;比如训练-测试数据集的划分。


这个课程整体不涉及在线学习。但是,课程中介绍的一些算法,是可以进行在线学习的。最典型的例子是可以使用随机梯度下降法处理的问题,可以参考这个问答:http://coding.imooc.com/learn/questiondetail/36691.html


一个人脸识别的项目中,人脸的位置检测和人脸的识别匹配,通常是分开的两个步骤。在这一节的实验你也看到了,我们的数据集的人脸,都是非常规整的摆在图片中心。但实际上,一个摄像头采集的数据,人脸可以在任何位置,所以首先需要检测人脸位置,之后,对检测的位置再做人脸匹配。你在电影中可能会经常看到,首先在一个监控中划出感兴趣的那个区域(某一个人脸),之后,对这个人脸进行具体匹配。


如果对人脸识别感兴趣,其实图像识别是人工智能或者说机器学习中很专门的一个领域。在答题掌握机器学习的基本算法和思想以后,可以更深入的去学习图像识别。印象中慕课网中就有专门的图像相关课程。同时,各大学府基本都有专门的实验室研究图像识别问题。因为应用面太广了。除了你说的人脸识别以外,无人车,OCR,医学图像检测,等等等等,都需要图像识别。


继续加油!:)

0 回复 有任何疑惑可以回复我~
  • 提问者 生途南北 #1
    一些运用深度学习的模型算法如 SSD和facenet 是不是能解决一些基本的人脸识别问题了?
    回复 有任何疑惑可以回复我~ 2020-02-08 14:27:28
  • liuyubobobo 回复 提问者 生途南北 #2
    如果你说的是人脸匹配的话,是的,能,其实这个课程的算法也可以。只不过深度学习算法能解决的更好。
    回复 有任何疑惑可以回复我~ 2020-02-08 14:30:17
  • 提问者 生途南北 回复 liuyubobobo #3
    谢谢老师!
    回复 有任何疑惑可以回复我~ 2020-02-08 14:33:32
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信