目前计算机视觉主要分类有目标识别、目标检测(识别+定位)、目标分割(检测+分割),而应用层面就多了,文字描述较繁琐,简单地画了一部分,如下:
而算法层面,理论上是无穷种的,同一个需求,根据场景可能会有非常多的差异变化,从而实现路径会有很多,如人脸识别。
人脸识别算法主要包含三个模块:
1.人脸检测(Face Detection):确定人脸在图像中的大小和位置,也就是在图像中预测anchor;
2.人脸对齐(Face Alignment):它的原理是找到人脸的若干个关键点(基准点,如眼角,鼻尖,嘴角等),然后利用这些对应的关键点通过相似变换(Similarity Transform,旋转、缩放和平移)将人脸尽可能变换到标准人脸;
3.人脸特征表征(Feature Representation):它接受的输入是标准化的人脸图像,通过特征建模得到向量化的人脸特征,最后通过分类器判别得到识别的结果。关键点是怎样得到不同人脸的有区分度的特征,比如:鼻子、嘴巴、眼睛等。
MTCNN
MTCNN算法主要由三个框架组成,分别是PNet,RNet,ONet。下面将分别介绍这三个部分。
理论基础: