轻量级人脸检测模型—Slim-320

1. 模型介绍

Github:https://github.com/Linzaer/Ultra-Light-Fast-Generic-Face-Detector-1MB

一个轻量级人脸检测模型,提供了Slim-320(速度更快)和RFB-320(精度更高)两个版本,并提供Caffe推理脚本。在产品上部署Slim-320做人脸检测,腾讯TNN提供的人脸检测Demo同样使用的该模型。

运行效果:
在这里插入图片描述

2. 生成预选框

模型采用4个分支做预测,每个分支的基础anchor分别为3,2,2,3个:

min_boxes = [[10, 16, 24], [32, 48], [64, 96], [128, 192, 256]]

输入图片的size为240x320,通过设置步长[ 8.0, 16.0, 32.0, 64.0]

产生四种尺寸的特征图:40 x 30, 20 x 15, 10 x 8, 5 x 4

通过步长和基础anchor,产生了30x40x3 + 20x15x2 + 10x8x2 + 5x4x3 = 4420组预选框,产生的方式为:

void CreateAnchors(int image_w, int image_h)
{
    auto w_h_list = {image_w, image_h};

    for (auto size : w_h_list)
    {
        std::vector<float> item;
        for (auto stride : strides)
        {
            item.push_back(ceil(size / stride));
        }
        featuremap_size.push_back(item);
    }

    for (auto size : w_h_list)
    {
        shrinkage_size.push_back(strides);
    }

    for(int index = 0; index < FeatureMap; index++)
    {
        float scale_w = image_w / featuremap_size[0][index];
        float scale_h = image_h / featuremap_size[1][index];
        for(int i = 0; i < featuremap_size[1][index]; ++i)
        {
            for (int j = 0; j < featuremap_size[0][index]; ++j)
            {
                float x_center = (i + 0.5) / scale_w;
                float y_center = (j + 0.5) / scale_h;

                for (float k : min_boxes[index])
                {
                    float w = k / image_w;
                    float h = k / image_h;
                    priors.push_back({clip(x_center, 1), clip(y_center, 1), clip(w, 1), clip(h, 1)});
                }
            }
        }
    }
}

3. 推理结果

模型推理完成后,shape为(4420, 4)的Boxes输出包含所有预选框的坐标,shape为(4420, 2)的Scores输出包含每个预选框的置信度。通过NMS筛选后,得到正确结果。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值