初识Yolov5是看到一个视频可以检测街道上所有的行人,并实时框选出来。之后学习了CNN卷积神经网络,在完成一个项目需求时,发现卷积神经网络在切割图像方面仍然不太好用。于是我想到了之前看到的Yolov5,实战后不禁感慨一句:真的太强大了!它比“R-CNN”快1000倍,比“Fast R-CNN”快100倍!You Only Look Once,这个被称为“暗网”的国外的开源项目,目标就是让计算机识得世间万物。接下来,跟随我的脚步,一起来看看这篇《基于Yolov5的口罩检测》文章吧!

目录

一、Yolov5简介

二、项目背景

三、检测效果

四、数据集处理

五、结果分析

六、总结

七、模型代码(部分)


一、Yolov5简介

2020年6月25日,Ultralytics发布了YOLOV5 的第一个正式版本,其性能与YOLO V4不相伯仲,同样也是现今最先进的对象检测技术,并在推理速度上是目前最强,yolov5按大小分为四个模型yolov5s、yolov5m、yolov5l、yolov5x。其中的复杂的网络结构、数学基础在这里就不一一介绍(太复杂,笔者也只能看个大概,很难说清楚),在这里,引用另一个博主的Yolov5的网络结构图:Yolov5网络结构图,以及一篇流程图:Yolov5操作流程图

YOLOv5是YOLO系列的一个延申,您也可以看作是基于YOLOv3、YOLOv4的改进作品。YOLOv5没有相应的论文说明,但是作者在Github上积极地开放源代码,通过对源码分析,我们也能很快地了解YOLOv5的网络架构和工作原理。


二、项目背景

当前新冠疫情仍然严重,在公众场合需要佩戴口罩已经成为常识。新型冠状病毒的主要传播途径就是飞沫传播,戴上口罩就可以有效的阻隔病毒的传播。口罩是预防呼吸道传染病的重要防线,可以降低新型冠状病毒感染风险。口罩不仅可以防止病人喷射飞沫,降低飞沫量和喷射速度,还可以阻挡含病毒的飞沫核,防止佩戴者吸入。有研究显示,只要双方都佩戴口罩且间隔1.8米以上,造成感染的几率几乎为0。

但是,在我们周围总有人不喜欢戴口罩,无论是进出商场、教室、街道、地下停车场等公共场所,还是在人员密集的会议室里,他们都不喜欢口罩的“束缚”。运用Yolov5训练出来的口罩检测模型进行检测,就能准确实时的找到哪些人带了口罩、哪些人没带。可以做的定点提醒,或者是阻止他出入公共场所。节省了人力,大幅提高效率。

三、检测效果

因为我是拿CPU运行的,速度很慢,epoch取了5次,即每张图片学习了5次,一共有1200组训练数据,训练了三个半小时,之后在项目的实际应用的时候会考虑修改为GPU运行,这样速度可以提高很多。我们直接看模型的检测效果及视频的检测效果:

通过上述例子可以看到,仅经过五次学习,识别的精度已经很高了,再一次感叹Yolov5的强大!

四、数据集处理 添加标签

训练的数据集总共有1200张戴口罩的和没戴口罩的照片,验证集有400张照片,对应的标签也已经存在相应的文件夹下。这里重点讲解下数据集标签的标注,我觉得这是Yolov5特别亲民的一个地方,也是他的强大之处——你可以标记你任何想标记的地方!

可以在你的虚拟环境中进入labelImg,这是他的界面。左侧open Dir可以打开数据集的文件夹,Change Save Dir是你的保存路径,Next和Prev Image分别是上一张和下一张图片。重点来了:Create RectBox绘制一个矩形框将你需要框选的对象框选出来,并添加标签。我这里框选了红色衣服的女士,并给她添加标签mask,说明她带了口罩。接着标记第二个人,直到所有的人都标记完之后,可以得到一个该图片的txt文件:

我们一行一行看,每一行代表着图片里面的一个人,第一个数字 0说明是第一类,在这里就是带了口罩,后两个数字是矩形框的的中心点坐标,最后两个数字是矩形框的长宽。在训练模型时要将原图片和对应的标签一起传入进去作为一组训练集,这样机器才能够慢慢认识一个人有没有戴口罩。

五、结果分析

 

 

从图中可以看出,仅训练了5次(即每张图片机器学习了5遍), 对mask的识别精度可以达到0.564,对face的识别精度可以达到0.904,实在是恐怖!

六、总结

Yolov5真的是一个利器,确实要比CNN强大很多,里面复杂的神经网络函数复杂交错。这个开源项目让我再一次感受到了机器学习的强大,你可以让计算机认出他任何想要认出的东西,且识别的精度很高。比如说

  • 火灾检测,一片森林或楼道只要一有火焰的模样,计算机就能分辨出并报警,这样可以有效地减少经济损失甚至挽救生命。
  • 安检检测,现在的地铁飞机安检,都是人观察扫描仪扫描出来的图像,看有没有可疑物体,如果用Yolov5训练出识别危险物品的模型,就能减少大量人力,且准确率可能比人还要高。
  • 无人驾驶。通过yolov5检测车道和行人车辆,控制整个车子运转,只要有足够多的数据集,这个领域还是很值得探索的。

这次实战让我深深明白了:人工智能 = 人工+智能,先有人工才有智能,人工筛选标注数据集甚至会比搭建整个机器学习框架所用的时间更长,数据集的宝贵一不言而喻。每天我们看似习以为常的图片验证码(选出图片中的红绿灯)其实都在把我们当成他们免费的劳动力,在帮他们给图片添加标签,哈哈。未来的世界很广阔,人工智能的世界依旧很精彩,继续加油!如果你对本篇文章感兴趣也欢迎私信或者评论区交流哦!

想要继续深入研究的小伙伴可以看这几个文章:

手把手教你使用YOLOV5训练自己的目标检测模型-口罩检测-视频教程

手把手教你使用YOLOV5训练自己的目标检测模型

电脑是如何学会瞬间识别物体的

七、模型代码(部分)

源于博主肆十二:手把手教你使用YOLOV5训练自己的目标检测模型,链接如上

训练模型:

# YOLOv5 												

Yolov5:强大到你难以想象──新冠疫情下的口罩检测相关推荐

  1. 冯扬文:新冠疫情下国际航运市场趋势分析

    冯扬文:新冠疫情下国际航运市场趋势分析 一.目前国际海运市场表现 (一)国际集装箱运价持续上涨,运力需求旺盛 2020年下半年以来,市场一直处于缺舱.缺箱.运价上涨的状态.仔2021年下半年曾出现持续 ...

  2. 新冠疫情下的化工企业数字化转型

    埃森哲商业研究院对于Capital IQ所提供的化工行业指数的分析. 新冠疫情使得化工行业遭受重创 化工行业对于颠覆并不陌生:SARS,贸易政策冲突,金融危机--化工行业一路走来历经重重考验.然而,新 ...

  3. 智芯传感:新冠疫情下MEMS压力传感器助推医疗数字化进程

    医学的产生是伴随着"传感器"的运用应运而生,中医起源的望闻问切疗法,就是人类自身传感触觉.听觉.视觉的运用,而西方医学中各类科学仪器,很多也是利用各种传感器延伸了医生的感官.从传统 ...

  4. 新冠疫情下免疫的重要性以及肠道菌群在其中的作用

    今年是新冠病毒影响的第三年了,在病毒的影响下,我们的生活方式发生了很大的变化.近日,多地政府颁布了疫情防控的新政策,除了一些特殊场所,出入其他场所不用扫场所码了. 从一方面说,这样的情况方便了我们日常 ...

  5. 新冠疫情下的AI顶会,ACL、ICLR、ICML等均改为线上会议!

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! ACL ACL 年会是计算语言学和自然语言处理领域最重要的顶级国际会议,被CCF ...

  6. 新冠疫情下的巨大压力,越来越多的人患上了心碎综合症……

    全文共2883字,预计学习时长8分钟 图源:unsplash 应激性心肌病通常发作于配偶或子女去世后,其感觉就像是心脏病发作,因此有了"心碎综合症"的俗称.<美国医学会杂志网 ...

  7. 新冠疫情下的物联网行业的机遇

    2020 庚子年春节的钟声还没有敲响,由武汉为中心的一场瘟疫便不期而至,不仅迅速在整个湖北蔓延,并且也向全国其他省份快速扩散,整个中国都笼罩在"瘟疫"的阴影下. 由此让人不由自主的 ...

  8. 赛迪视点 | 新冠疫情下的中国集成电路产业发展

    2019年全球半导体市场发展回顾 一.需求不振,价格下跌,中国市场首次下滑 2019年,由于智能手机.汽车等热点市场持续疲软,5G以及数据中心建设不及预期,全球半导体市场在经历了连续三年的增长后首次下 ...

  9. 新冠疫情下的智能建筑

    9.2-9.4 刚好是一年一度的国际智能建筑展(SIBT)在浦东举行.作为第四届参加的老鸟,当然得去捧场,同时了解下当前同行的进展和动态. 年初爆发的COVID-19无疑对本次展会带来了重大影响.从进 ...

最新文章

  1. TensorFlow 运行官方文档中文版 简单例子出现:IndentationError:unexpected indent
  2. NYOJ 1053 Alice and Bob (N)
  3. 行为型模式:中介者模式
  4. java设计模式之单例模式(七种方法)
  5. PHP和Mysql处理IP地址
  6. BZOJ 1567: [JSOI2008]Blue Mary的战役地图
  7. Oracle11g数据库安装
  8. js中的forEach
  9. 忘记root密码后怎么解决?克隆虚拟机后如何实现两台linux相互登录?
  10. Linux快速查找库文件位置
  11. 数控技术 - 直线插补 - 逐点比较法
  12. 为什么最多只有正20面体证明过程
  13. 一分二网线连接器正确使用方法
  14. 自建家居 Wiki 系统(BookStack 服务)
  15. 算法之狄克斯特拉算法 --《图解算法》
  16. Excel 中如何去掉数值中出现的 E +,网上的方法都试过了不管用,改变单元格格式等都无效
  17. UIswitch 的用法
  18. HTML5期末大作业:个人介绍/个人主页/网页设计——个人博客 (11页) HTML+CSS+JavaScript
  19. antd Table设置固定高度
  20. java Android创建容器,Java-在具有(没有)DI容器的Android中正确进行依赖项注入(匕首1)...

热门文章

  1. [51nod1074]约瑟夫环V2
  2. 计算机主机光驱弹不出来怎么办,台式机光驱弹不出来怎么办
  3. linux系统管理技术学习
  4. JS逆向加密-Cryptojs库AES/DES/RSA等代码
  5. 伯乐识英才,我们招聘啦!
  6. (附源码)ssm体育课堂管理系统 毕业设计181626
  7. 大学生个人主题网站HTML,DW静态网页|大学生html网页|个人网页设计|黄昏树下个人主页...
  8. 滴滴数据仓库指标体系建设实践
  9. 复光检查什么_散瞳后复光是干什么的
  10. 业内人士对20家N卡品牌的经典点评