当前位置:   article > 正文

基于yolov7开发构建学生课堂行为检测识别系统_scb学生行为识别yolo代码

scb学生行为识别yolo代码

yolov7也是一款非常出众的目标检测模型,在我之前的文章中也有非常详细的教程系列的文章,感兴趣的话可以自行移步阅读即可。

《基于YOLOV7的桥梁基建裂缝检测》

《YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程》

《基于YOLOv7融合轻量级网络MobileOne的表格检测识别分析系统》

《助力安全作业生产,基于YOLOv7融合Transformer开发构建安全帽检测识别分析系统》

《助力不文明行文识别,基于YOLOv7融合RepVGG的遛狗牵绳行为检测识别分析系统》

学生课堂行为检测是一个比较有实际意义也比较有趣的应用场景,在我之前的一些文章中也有过相关方面的实践如下:

《基于yolov5轻量级的学生上课姿势检测识别分析系统》

《基于轻量级CNN开发构建学生课堂行为识别系统》

《yolov4-tiny目标检测模型实战——学生姿势行为检测》

可以看到:这里模型选用的大都是yolov5及之前的系列模型,对于新款模型的使用则有所欠缺。

这里主要就是基于yolov7来开发构建学生课堂行为检测识别分析系统,首先看下效果图:

 如果对yolov7的使用有问题可以看我超详细的教程:

YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程_Together_CZ的博客-CSDN博客

接下来简单看下数据集情况:

 数据来源于真实场景拍摄录制采集。

标注文件如下:

 实例标注内容如下所示:

  1. 1 0.546875 0.5487132352941176 0.09166666666666666 0.10477941176470588
  2. 0 0.40208333333333335 0.5873161764705882 0.14583333333333334 0.3841911764705882

训练数据配置文件如下:

  1. # txt path
  2. train: ./dataset/images/train
  3. val: ./dataset/images/test
  4. test: ./dataset/images/test
  5. # number of classes
  6. nc: 3
  7. # class names
  8. names: ['study','sleep','phone']

模型文件如下:

  1. # parameters
  2. nc: 80 # number of classes
  3. depth_multiple: 1.0 # model depth multiple
  4. width_multiple: 1.0 # layer channel multiple
  5. # anchors
  6. anchors:
  7. - [10,13, 16,30, 33,23] # P3/8
  8. - [30,61, 62,45, 59,119] # P4/16
  9. - [116,90, 156,198, 373,326] # P5/32
  10. # backbone
  11. backbone:
  12. # [from, number, module, args] c2, k=1, s=1, p=None, g=1, act=True
  13. [[-1, 1, Conv, [32, 3, 2, None, 1, nn.LeakyReLU(0.1)]], # 0-P1/2
  14. [-1, 1, Conv, [64, 3, 2, None, 1, nn.LeakyReLU(0.1)]], # 1-P2/4
  15. [-1, 1, Conv, [32, 1, 1, None, 1, nn.LeakyReLU(0.1)]],
  16. [-2, 1, Conv, [32, 1, 1, None, 1, nn.LeakyReLU(0.1)]],
  17. [-1, 1, Conv, [32, 3, 1, None, 1, nn.LeakyReLU(0.1)]],
  18. [-1, 1, Conv, [32, 3, 1, None, 1, nn.LeakyReLU(0.1)]],
  19. [[-1, -2, -3, -4], 1, Concat, [1]],
  20. [-1, 1, Conv, [64, 1, 1, None, 1, nn.LeakyReLU(0.1)]], # 7
  21. [-1, 1, MP, []], # 8-P3/8
  22. [-1, 1, Conv, [64, 1, 1, None, 1, nn.LeakyReLU(0.1)]],
  23. [-2, 1, Conv, [64, 1, 1, None, 1, nn.LeakyReLU(0.1)]],
  24. [-1, 1, Conv, [64, 3, 1, None, 1, nn.LeakyReLU(0.1)]],
  25. [-1, 1, Conv, [64, 3, 1, None, 1, nn.LeakyReLU(0.1)]],
  26. [[-1, -2, -3, -4], 1, Concat, [1]],
  27. [-1, 1, Conv, [128, 1, 1, None, 1, nn.LeakyReLU(0.1)]], # 14
  28. [-1, 1, MP, []], # 15-P4/16
  29. [-1, 1, Conv, [128, 1, 1, None, 1, nn.LeakyReLU(0.1)]],
  30. [-2, 1, Conv, [128, 1, 1, None, 1, nn.LeakyReLU(0.1)]],
  31. [-1, 1, Conv, [128, 3, 1, None, 1, nn.LeakyReLU(0.1)]],
  32. [-1, 1, Conv, [128, 3, 1, None, 1, nn.LeakyReLU(0.1)]],
  33. [[-1, -2, -3, -4], 1, Concat, [1]],
  34. [-1, 1, Conv, [256, 1, 1, None, 1, nn.LeakyReLU(0.1)]], # 21
  35. [-1, 1, MP, []], # 22-P5/32
  36. [-1, 1, Conv, [256, 1, 1, None, 1, nn.LeakyReLU(0.1)]],
  37. [-2, 1, Conv, [256, 1, 1, None, 1, nn.LeakyReLU(0.1)]],
  38. [-1, 1, Conv, [256, 3, 1, None, 1, nn.LeakyReLU(0.1)]],
  39. [-1, 1, Conv, [256, 3, 1, None, 1, nn.LeakyReLU(0.1)]],
  40. [[-1, -2, -3, -4], 1, Concat, [1]],
  41. [-1, 1, Conv, [512, 1, 1, None, 1, nn.LeakyReLU(0.1)]], # 28
  42. ]
  43. # head
  44. head:
  45. [[-1, 1, Conv, [256, 1, 1, None, 1, nn.LeakyReLU(0.1)]],
  46. [-2, 1, Conv, [256, 1, 1, None, 1, nn.LeakyReLU(0.1)]],
  47. [-1, 1, SP, [5]],
  48. [-2, 1, SP, [9]],
  49. [-3, 1, SP, [13]],
  50. [[-1, -2, -3, -4], 1, Concat, [1]],
  51. [-1, 1, Conv, [256, 1, 1, None, 1, nn.LeakyReLU(0.1)]],
  52. [[-1, -7], 1, Concat, [1]],
  53. [-1, 1, Conv, [256, 1, 1, None, 1, nn.LeakyReLU(0.1)]], # 37
  54. [-1, 1, Conv, [128, 1, 1, None, 1, nn.LeakyReLU(0.1)]],
  55. [-1, 1, nn.Upsample, [None, 2, 'nearest']],
  56. [21, 1, Conv, [128, 1, 1, None, 1, nn.LeakyReLU(0.1)]], # route backbone P4
  57. [[-1, -2], 1, Concat, [1]],
  58. [-1, 1, Conv, [64, 1, 1, None, 1, nn.LeakyReLU(0.1)]],
  59. [-2, 1, Conv, [64, 1, 1, None, 1, nn.LeakyReLU(0.1)]],
  60. [-1, 1, Conv, [64, 3, 1, None, 1, nn.LeakyReLU(0.1)]],
  61. [-1, 1, Conv, [64, 3, 1, None, 1, nn.LeakyReLU(0.1)]],
  62. [[-1, -2, -3, -4], 1, Concat, [1]],
  63. [-1, 1, Conv, [128, 1, 1, None, 1, nn.LeakyReLU(0.1)]], # 47
  64. [-1, 1, Conv, [64, 1, 1, None, 1, nn.LeakyReLU(0.1)]],
  65. [-1, 1, nn.Upsample, [None, 2, 'nearest']],
  66. [14, 1, Conv, [64, 1, 1, None, 1, nn.LeakyReLU(0.1)]], # route backbone P3
  67. [[-1, -2], 1, Concat, [1]],
  68. [-1, 1, Conv, [32, 1, 1, None, 1, nn.LeakyReLU(0.1)]],
  69. [-2, 1, Conv, [32, 1, 1, None, 1, nn.LeakyReLU(0.1)]],
  70. [-1, 1, Conv, [32, 3, 1, None, 1, nn.LeakyReLU(0.1)]],
  71. [-1, 1, Conv, [32, 3, 1, None, 1, nn.LeakyReLU(0.1)]],
  72. [[-1, -2, -3, -4], 1, Concat, [1]],
  73. [-1, 1, Conv, [64, 1, 1, None, 1, nn.LeakyReLU(0.1)]], # 57
  74. [-1, 1, Conv, [128, 3, 2, None, 1, nn.LeakyReLU(0.1)]],
  75. [[-1, 47], 1, Concat, [1]],
  76. [-1, 1, Conv, [64, 1, 1, None, 1, nn.LeakyReLU(0.1)]],
  77. [-2, 1, Conv, [64, 1, 1, None, 1, nn.LeakyReLU(0.1)]],
  78. [-1, 1, Conv, [64, 3, 1, None, 1, nn.LeakyReLU(0.1)]],
  79. [-1, 1, Conv, [64, 3, 1, None, 1, nn.LeakyReLU(0.1)]],
  80. [[-1, -2, -3, -4], 1, Concat, [1]],
  81. [-1, 1, Conv, [128, 1, 1, None, 1, nn.LeakyReLU(0.1)]], # 65
  82. [-1, 1, Conv, [256, 3, 2, None, 1, nn.LeakyReLU(0.1)]],
  83. [[-1, 37], 1, Concat, [1]],
  84. [-1, 1, Conv, [128, 1, 1, None, 1, nn.LeakyReLU(0.1)]],
  85. [-2, 1, Conv, [128, 1, 1, None, 1, nn.LeakyReLU(0.1)]],
  86. [-1, 1, Conv, [128, 3, 1, None, 1, nn.LeakyReLU(0.1)]],
  87. [-1, 1, Conv, [128, 3, 1, None, 1, nn.LeakyReLU(0.1)]],
  88. [[-1, -2, -3, -4], 1, Concat, [1]],
  89. [-1, 1, Conv, [256, 1, 1, None, 1, nn.LeakyReLU(0.1)]], # 73
  90. [57, 1, Conv, [128, 3, 1, None, 1, nn.LeakyReLU(0.1)]],
  91. [65, 1, Conv, [256, 3, 1, None, 1, nn.LeakyReLU(0.1)]],
  92. [73, 1, Conv, [512, 3, 1, None, 1, nn.LeakyReLU(0.1)]],
  93. [[74,75,76], 1, IDetect, [nc, anchors]], # Detect(P3, P4, P5)
  94. ]

默认是100次epochde迭代计算,结果详情如下:

【混淆矩阵】

 【F1值曲线】

 【精确率曲线】

 【召回率曲线】

 【训练可视化】

最后将整体模型的推理计算集成到可视化界面中,同时实现图像推理检测和视频推理检测,效果实例如下所示:

【图像推理】

 【视频推理】

 

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

闽ICP备14008679号