tensorflow-MTCNN icon indicating copy to clipboard operation
tensorflow-MTCNN copied to clipboard

关于人脸框输出的问题

Open orliz opened this issue 5 years ago • 4 comments

含有人脸的图像输出,最后头像上有好几个框,不止一个框,只是为什么

orliz avatar Jun 19 '19 03:06 orliz

NMS算法价格处理重复框的参数,然后在detect_onet中设置filter_overlap=True,问题解决。 if filter_overlap: # 处理重复脸的问题 如果实际面积s<=inter,则说明被包含在大框中 inds = np.where(np.logical_and(ovr <= thresh, areas[order[1:]] > 2 * inter))[0] else: inds = np.where(ovr <= thresh)[0] # [1-d array] idx

DefTruth avatar Aug 02 '19 10:08 DefTruth

NMS算法价格处理重复框的参数,然后在detect_onet中设置filter_overlap=True,问题解决。 if filter_overlap: # 处理重复脸的问题 如果实际面积s<=inter,则说明被包含在大框中 inds = np.where(np.logical_and(ovr <= thresh, areas[order[1:]] > 2 * inter))[0] else: inds = np.where(ovr <= thresh)[0] # [1-d array] idx

请问是加在py_nms()这个函数里嘛?

orliz avatar Aug 19 '19 07:08 orliz

是的。不过这个要看你用的场景,如果只是关注大人脸,不考虑包含的情况可以这样改NMS。要是通用的目标检测就不一定适用,因为大的box包含小的box的情况还是比较常见的。另一种可能就是mtcnn的精度不够,够的话就不会把人脸的一小部分判断成人脸,换一个精度更高的模型吧,SSH/DSFD之类的,不用改原始NMS也基本不会有这个问题。我自己改完跑的MTCNN精度感觉都不够用。

DefTruth avatar Aug 23 '19 03:08 DefTruth

NMS算法价格处理重复框的参数,然后在detect_onet中设置filter_overlap=True,问题解决。 if filter_overlap: # 处理重复脸的问题 如果实际面积s<=inter,则说明被包含在大框中 inds = np.where(np.logical_and(ovr <= thresh, areas[order[1:]] > 2 * inter))[0] else: inds = np.where(ovr <= thresh)[0] # [1-d array] idx

我还是没懂怎么修改, filter_overlap是什么

XUCharles avatar Dec 03 '19 15:12 XUCharles