前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SSD人脸检测以及FDDB检测结果分析

SSD人脸检测以及FDDB检测结果分析

作者头像
bear_fish
发布2018-09-14 09:46:36
2.1K0
发布2018-09-14 09:46:36
举报
文章被收录于专栏:用户2442861的专栏

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://cloud.tencent.com/developer/article/1338332

前段时间使用caffe版本的SSD训练人脸检测,效果还不错,在FDDB上测试了下结果最终只有89%的准确率,但是误判率很低,结果如下:

为了分析训练的SSD在FDDB上对于哪些类型的人脸检测结果较差,结果如下:蓝色的椭圆为FDDB的原始标注,红色的矩形为现有的SSD检测结果。

可以看到:

  1. 很模糊的脸没有检测到
  2. 还有些基本上算不上脸
  3. 极少数是人脸的确实没有检测到

发现FDDB中不少人脸基本可以不算是人脸,因此对FDDB的检测结果的意义有点怀疑了。

最终还是自己建立了专门的评价数据集(共1000多张样本):

  1. 少数较为正常的人脸
  2. 遮挡较多
  3. 不同光照条件下的人脸
  4. 角度多变的人脸

检测结果如下(蓝线为检测的人脸框),效果还是不错的:

SSD做检测训练的时候注意:

  1. 自己没有必要做简单的数据增强(例如翻转啥的),SSD训练过程中会做数据集增强
  2. 训练的数据集,不要用很模糊的人脸,或者很小的人脸,这样会导致训练发散los=Nan如下图(可能),因为SSD训练会根据IOU选取一定比率的样本作为positive样本。

最后给大家推荐一个好用的开源图片标注工具 labelImg https://github.com/tzutalin/labelImg

用的时候注意:

  1. 在图片的后缀一定要和图片的真实格式一样,例如jpg格式的图片就不要命名为png后缀,否则标注的时候会报错。
  2. 这个工具标注坐标的时候仅支持VOC,YOLO格式的,我用的是SSD因此在标注完要将YOLO格式转化为SSD格式。代码如下:
代码语言:javascript
复制
def yolo_format_2_ssd(lst, w, h):
    """yolo format annotation([x1_ratio, y1_ratio, x_box_ratio, y_box_ratio])
    to [x1, y1, x2, y2]

    lst: yolo format
    w, h: image width, height
    """
    b_w, b_h = int(lst[2] * w), int(lst[3] * h)
    center_x1, center_y1 = int(lst[0] * w), int(lst[1] * h)

    x1, y1 = center_x1 - (b_w / 2), center_y1 - (b_h / 2)
    x2, y2 = center_x1 + (b_w / 2), center_y1 + (b_h / 2)

    return [x1, y1, x2, y2]

def check_show_img():
    path = '/home/xy/face_tools/annotate_sample/face_de_sample/0a4b4e98aea6923a2bf8cd0462227af0.jpg'

    lst_ratio = [0.419792, 0.494792, 0.352083, 0.452083]
    img = cv2.imread(path)
    h, w, _ = img.shape
    print 'img, w, h: %s %s' % (h, w)

    x1, y1, x2, y2 = yolo_format_2_ssd(lst_ratio, w, h)
    p1, p2 = (x1, y1), (x2, y2)
    cv2.rectangle(img, p1, p2, (0, 0, 255), 2)

    cv2.imshow('img', img)
    cv2.waitKey(0)

标注截图如下

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018年08月26日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
人脸识别
腾讯云神图·人脸识别(Face Recognition)基于腾讯优图强大的面部分析技术,提供包括人脸检测与分析、比对、搜索、验证、五官定位、活体检测等多种功能,为开发者和企业提供高性能高可用的人脸识别服务。 可应用于在线娱乐、在线身份认证等多种应用场景,充分满足各行业客户的人脸属性识别及用户身份确认等需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档