轻量级人脸检测模型

4 篇文章 1 订阅
3 篇文章 1 订阅

轻量级的人脸检测模型

简介

人脸检测现在已经被做坏了,各种算法,轻重都有,总有一款适合你,今天我们做一个轻量级的,模型大小只有580kb。

github
注意是tf2 分支

出发点

人脸检测是一类检测算法,而且目前主流的算法都是基于ssd的结构。
想要模型快,小就两点,模型参数量,模型的计算复杂度。

基于此,可以大致定下需要的模型结构

  1. one sage
  2. 轻backbone
  3. 输入尺寸320x320 或更小
  4. 输出feature不宜过大,层数不宜过多,一般3层,按需来
  5. 适当的提升性能的手段,例如fpn,inception等的结构
    等。。。。

具体的结构见代码

于是有了 lightnet , 算是改的DSFD吧,但是更像retinanetface

github
注意是tf2 分支

模型和性能
Lightnet_0.5 including tflite model,
(time cost: mac i5-8279U@2.4GHz, tf2.0 15ms+, tflite 8ms±,input shape 320x320)
modelinput_sizefddbmodel size
Lightnet_0.75640x6400.960800k±
Lightnet_0.5640x6400.953560k±
Lightnet_0.5416x4160.953560k±
Lightnet_0.5320x3200.936560k±
modelinput_sizewider easywider mediumwider hard
Lightnet_0.75640x6400.8670.8060.440
Lightnet_0.5640x6400.8580.7960.430
Lightnet_0.5multiscale0.8610.8370.726

ps the time cost not including nms, and flip test is used

训练
  1. 首先clone下代码,git clone https://github.com/610265158/DSFD-tensorflow.git
  2. 下载数据集widerface
    把 WIDER_train, WIDER_val and wider_face_split 放到新建的WIDER 下面,
  3. 然后运行,python prepare_wider_data.py, 然后会产生train.txt 和val.txt

其中 内容每一行是这个样子:./WIDER/WIDER_val/images/0–Parade/0_Parade_Parade_0_913.jpg| 238,146,450,392,1 612,192,818,426,1 28,100,104,214,1。

也就是如果 你要训练你自己的数据就这样: imgpath| xmin,ymin,xmax,ymax,1 …

  1. 默认的config文件是一个很轻量级的模型, 直接运行  
    python train.py

  2. 模型转换 python tools/convert_to_tflite.py 会转换为tflite 模型

如果训练完了,想看一下demo,

python vis.py --model ./model/detector.tflite or
python vis.py --model ./model/detector

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值