Liyw

  • 15

    获得赞
  • 0

    发布的文章
  • 1

    答辩的项目

如何霸榜口罩佩戴检测竞赛,看这篇就够了!

Batch大小为1,循环次数为5次,损失函数优化完,最终完成评分为97.95。

口罩佩戴检测
PyTorch Faster-RCNN
最后更新 2020/04/01 21:55 阅读 1795

口罩佩戴检测

最后更新 2020/04/01 21:55

阅读 1795

PyTorch Faster-RCNN

图片的Size 

  • size一般越大越好,因为越大的图片检测中的漏检应该越少,而且p40有24g显存,显存不是问题 
  • 但是图片太大又会导致训练速度太慢耗费太多积分 
  • 所以经过权衡,我选择把图片的min_size和max_size设置到了1000和1500 
  • 直接在fasterrcnn_resnet50_fpn这个函数中指定这两个值就可以 

Anchor Size的选择

  • 模版中使用的是默认的anchor设置,即15种,比例分别为0.5、1、2大小分别为32、64、128、256、512
  • 由于之前把图片放得很大,anchor的size也需要重新调整来适应放大了的annotation,调整后的gt框变大,默认的anchorbox也需要同时进行放大,但是放大的倍数也不能靠感觉,在这里,我参考了YOLOv2、v3中使用K-means聚类方法,计算anchor的5个size和对应的3个ratio
  • 聚类是指把集合分组成多个类,每个类中的对象都是彼此相似的,K-means是聚类中最常用的方法之一它是基于点与点距离的相似度来计算最佳类别归宿
  • 最终聚类得到的size和ratio分别为134、256、386、519、770和1.03、1.29、1.90,使用聚类找出比较接近ground truth的先验anchor可以加速模型的收敛

Focal Loss

  • Focal loss主要是为了解决one-stage目标检测中正负样本比例严重失衡和难易样本的问题.这个损失函数降低了大量简单负样本在训练中所占的权重,可以理解为一种困难样本挖掘
  • 虽然对于fasterrcnn来说正负样本不存在严重失衡的问题,但是Fasterrcnn还是存在hard example 和easy example的问题,为了应对这个问题,我使用了focal loss替换了cross entropy loss,根据我的观察,使用focal loss大约可以带来两分的提升

选择优质的模型

主要通过大量上传同一个模型,求出得分的均值和标准差,再根据均值和标准差计算模型得高分的概率,通过这个概率来判断模型的好坏,最终选择最好的模型继续大量上传。

本文为作者在FlyAI平台发布的原创内容,采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,转载请附上原文出处链接和本声明。
本文链接地址:https://www.flyai.com/n/121454
立即参加 口罩佩戴检测
代码展示

PyTorch Faster-RCNN

选择查看文件
$vue{codeKeys}
  • $vue{ix}
赞赏贡献者还可以查看和下载优质代码内容哦!
赞赏 ¥70.00元
©以上内容仅用于在FlyAI平台交流学习,禁止转载、商用;违者将依法追究法律责任。
讨论
500字
表情
每日优质讨论奖励 20FAI
发送
每日优质讨论奖励 20FAI
删除确认
是否删除该条评论?
取消 删除
感谢您的关注
该篇内容公开后我们将会给你推送公开通知
好的
发布成功!
您的公开申请已发送至后台审核,
通过后将公开展示本详情页!
知道了
向贡献者赞赏
¥70.00
微信支付
支付宝

请先绑定您的微信账号 点击立即绑定

立即支付
温馨提示:
支付成功后不支持申请退款,请理性消费;
支付成功将自动解锁当前页面代码内容,付款前请确认账号信息。
微信扫码支付
请前往Web网页进行支付

敬请谅解,如有疑问请联系FlyAI客服

知道了
举报
请选择举报理由
确定
提示
确定要删除?
取消删除