人脸检测之MTCNN(二)——模型的训练尝试

前言

这一篇主要记录模型的训练尝试过程,之所以称为“尝试”,是因为受限于个人能力,这里只做了简单粗浅的训练,无法提供详细的调参/效果提升的相关建议。训练代码包括训练集数据主要参考自链接,原文中代码存在一些错误在这里做了一些修改。另外这里只训练模型输出人脸得分与人脸框位置,并未输出人脸5个关键点信息。

数据准备

训练中需要ground truth数据,这里从人脸数据集(密码:ctvw)下载相关数据。下载后的数据中包括图像数据与包含人脸框的标注xml文件,需要从xml文件中解析得到人脸框数据,并与图像文件对应起来保存到一个文本中,具体见我的工程中的parse_xml.py。
之后我们需要生成训练集,原始版本算法中需要生成4类数据集pos、part、neg、landmark,这里由于没有人脸关键点的数据,不会生成第四项数据集。通过在人脸照片中随机裁剪部分图像数据,并计算该区域与参考人脸框的IOU值。若IOU值大于0.65,将其归为part,若IOU小于0.4,将其归为neg;否则归为part。训练中会使用pos+neg训练网络的人脸得分部分,使用pos+part训练网络中的人脸框位置部分。将裁剪的图像宽高缩放为12X12,这里生成的数据都是为了训练PNET网络。

模型训练

训练PNET:其输入图宽高为12X12࿰


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部