MTCNN算法是多任务级联卷积神经网络,用于人脸检测和人脸对齐,它是一种级联结构,类似Adaboost算法,主要包括三个子网络:一个是P-Net网络,主要获得人脸区域的候选窗口和边界框的回归
MTCNN算法是多任务级联卷积神经网络,用于人脸检测和人脸对齐,它是一种级联结构,类似Adaboost算法,主要包括三个子网络:一个是P-Net网络,主要获得人脸区域的候选窗口和边界框的回归向量,并用该回归向量对候选窗口进行校准,然后通过非极大值抑制来合并高度重叠的候选框;第二个子网络是R-Net网络,也是只做检测和边界框回归两个任务;最后一个子网络是O-Net网络,对前面的候选框做进一步的筛选,回归边界框,同时在每个边界框上计算特征点的位置。而且,MTCNN一种多尺度网络结构,在输入图像数据前,先构建图像金字塔,获得不同尺度的图像再送入P-Net网络。
SSD算法是one-stage、端到端的目标检测算法,主要思路是在图片的不同位置进行密集采样,采用不同的尺度比和长宽比,利用卷积神经网络结构提取特征进行分类和回归,其优势是速度快。SSD提取不同尺度的特征图来做检测,前面的大尺度特征图用于检测小目标,后面的小尺度特征图用于检测大目标,采用VGG16作为基础模型。
yolo目标检测算法的基本思想是利用CNN对输入图像提取特征,将输入图像划分成S×S个单元格,如果某个物体的中心位置落入其中一个单元格,那么由该单元格负责检测这个目标。YOLO V3在之前yolo结构的基础上,采用多个尺度融合的方式做预测,加强对小目标检测的精确度。基础分类网络类似ResNet残差网络,分类任务用Logistic取代了softmax,并利用9种尺度的先验框,可以很好的检测大目标和小目标。
MTCNN是专门用于检测人脸的目标检测算法,而yolo和SSD算法是通用的目标检测算法。通用的目标检测算法还有另一种类型,就是two stage的网络模型,先利用一些算法产生候选区域,然后再对候选区域进行分类和回归,这类典型的算法有R-CNN算法、Fast R-CNN算法以及Faster R-CNN算法、FPN算法等。这些算法我也是正在学习,感兴趣的加关注,一起交流讨论!