当前位置:   article > 正文

YOLO-V4 实现口罩识别(附加数据、数据批量处理程序)_yolov4 识别

yolov4 识别

图1、网络结构图

yolov1网络结构图是由24个卷积层、2个全连接层构成,其作者也说过灵感来自用于图像分类的GoogLeNet模型,但是与GoogLeNet模型不同的是简单的使用了1×1简化层和3×3卷积层(类似M. Lin, Q. Chen, and S. Y an. Network in network. CoRR,abs/1312.4400, 2013. 2),可以在上图看到。

输入的图像为448448,经过以上的结构,输出的为77*1024的张量,是第7个图样。在激活函数上,最后一层输出时用了线性激活函数,其余层都使用的是Leaky Relu激活函数。

图2、Leaky Relu激活函数

YOLO相对于其他的(例如rcnn、fast-rcnn、faster-rcnn等)来说,它的优势就是YOLO设计实现了端到端的培训和实时速度,同时保持了较高的平均精度。具体的话就是将目标检测的各个部分统一为一个单一的神经网络,网络使用整个图像的特征来预测每个边界框。它还可以同时预测图像中所有类的所有边框。这意味着我们的网络对完整的图像和图像中的所有对象进行全局推理。

2、yolo-v1损失函数

图3、损失函数

3、yolo-v1和yolo-v4对比

yolo-v4说简单点就是对yolo-v3的改进,它的改进方法就是总结了几乎所有的检测技巧,又提出一点儿技巧,然后经过筛选,排列组合,挨个实验(ablation study)哪些方法有效。YOLOv4对深度学习中一些常用Tricks进行了大量的测试,最终选择了这些有用的Tricks:WRC、CSP、CmBN、SAT、 Mish activation、Mosaic data augmentation、CmBN、DropBlock regularization 和 CIoU loss。

YOLOv4在传统的YOLO基础上,加入了这些实用的技巧,实现了检测速度和精度的最佳权衡。实验表明,在Tesla V100上,对MS COCO数据集的实时检测速度达到65 FPS,精度达到43.5%AP。

回到顶部

二、yolo-v4源码

这个是从网络收集而来,自己已经跑通了,里面也有一些使用的方法,也就不啰嗦了,可以自己研究一下,跑一下口罩识别。

链接地址: https://pan.baidu.com/s/1ziNPRznNcfdGMCKWtB4xYQ 提取码: e939

回到顶部

三、口罩数据

我这里整理了一些数据集,一共有三个、我跑的是yolov4的第二个数据集。我会标注,可以先用我跑的这个,因为我跑通了。

链接地址:https://pan.baidu.com/s/1G1XLjK8Y3WNbRSf-1dwVgA 提取码: vvhv

回到顶部

四、处理数据

1、批量移动(删除)某格式的文件【父目录下所有文件】

 1 import os
 2 import shutil
 3 
 4 for parent, dirnames, filenames in os.walk('原目录'):
 5     for fn in filenames:
 6 
 7         if fn.lower().endswith('.xml'):
 8             # os.remove(os.path.join(parent, fn))  ##这是删除文件的语句
 9              shutil.copy(os.path.join(parent, fn),'目标目录')  #这是移动的语句
10 
11             #目录例子 D:\\学习文件\\YOLO\\数据\\xml (注意:双斜杠)

2、批量更改目录下某格式文件的名字【父目录下所有文件】

 1 import os
 2 
 3 
 4 class BatchRenamePics(object):
 5     """
 6     批量命名目录下的所有图名[.jpg,.png]
 7     命名格式:1-1,1-2...2-1,2-2...10-1,10-2...eg
 8     """
 9     def __init__(self, path):
10         # 设置起始路径path
11         self.path = path
12 
13     def rename(self):
14         allfile = os.walk(self.path)
15         # j用于计数,统计有多少张照片被重命名
16         j = 0
17         # 遍历每一层目录,从上到下的顺序
18         for dirpath, dirnames, filenames, in allfile:
19             # 得到当前文件夹的名字tail
20             tail = os.path.split(dirpath)[1]
21             # i用于命名
22             i = 0
23             # 遍历filenames中的每一个文件
24             for each in filenames:
25                 # 如果文件名是以.jpg或者.png结尾则认为是图片,可以自己添加其他格式的照片
26                 if each.endswith('.jpg') or each.endswith('.png')or each.endswith('.xml'):
27                     i += 1
28                     j += 1
29                     # 拼接完整的包含路径的文件名
30                     scr = os.path.join(dirpath, each)
31                     # 拼接新的完整的包含路径的文件名, tail是文件夹的名字
32                     # dst = os.path.join(dirpath, tail + '-' + str(i) + '.jpg')  ##这个是文件改格式
33                     dst = os.path.join(dirpath, str(j) + '.jpg')
34                     try:
35                         # 重命名图片文件
36                         os.rename(scr, dst)
37                         print(scr + '--->' + dst)
38                     except:
39                         continue
40                 else:
41                     continue
42         print('累计重命名{}张图片'.format(j))
43 
44 if __name__ == '__main__':
45     # 设置起始路径path
46     path = r'原目录'
47     # 创建实例对象
48     pics = BatchRenamePics(path)
49     # 调用实例方法
50     pics.rename()

https://www.cnblogs.com/scrm/p/15074069.html
https://www.meipian.cn/3q9ljkp1?share_depth=1
https://www.cnblogs.com/scrm/p/15075261.html
https://blog.51cto.com/weixincrm/3224189
https://www.im286.net/thread-24271879-1.html
https://blog.csdn.net/yunkeyi/article/details/119212091
https://xueqiu.com/4824316523/192526922
https://zhuanlan.zhihu.com/p/394315346
https://www.acfun.cn/a/ac30432766
https://zhuanlan.zhihu.com/p/394315346

https://www.cnblogs.com/scrm/p/15079994.html

https://www.meipian.cn/3q4ggu3d?share_depth=1
https://blog.51cto.com/weixincrm/3190833
https://www.meipian.cn/3q7q67zd?share_depth=1
https://www.acfun.cn/a/ac30419661
https://itbbs.pconline.com.cn/soft/54651509.html
https://zhuanlan.zhihu.com/p/393956118
https://blog.51cto.com/weixincrm/3211030
https://xueqiu.com/4824316523/192398602
https://tieba.baidu.com/p/7468257539
https://blog.csdn.net/lesive_1421/article/details/119186075
https://blog.csdn.net/lesive_1421/article/details/119186117
https://blog.csdn.net/lesive_1421/article/details/119186172
https://blog.csdn.net/lesive_1421/article/details/119186257
https://blog.csdn.net/lesive_1421/article/details/119186329
https://blog.csdn.net/lesive_1421/article/details/119186386
https://blog.csdn.net/lesive_1421/article/details/119186481
 

最后,感谢大家对本文章的阅读,如果有什么问题,欢迎在下方留言,一起讨论,共同进步。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/128650
推荐阅读
相关标签
  

闽ICP备14008679号