0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

平安校园视频监控方案 YOLOv5

燧机科技 ? 2024-07-03 22:51 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

平安校园视频监控方案部署一台SuiJi-AI100视频分析服务器,平安校园视频监控方案使用校园视频监控智方案能分析仪进行视频取流和视频告警事件的处理,生成告警事件和记录,并进行系统的数据展示和应用,并可联动IP音箱进行告警事件语音广播和实时广播喊话。

wKgaomaFZQ-ADG5jAADgocOuobQ207.png

YOLOv5算法具有4个版本,具体包括:YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x四种,本文重点讲解YOLOv5s,其它的版本都在该版本的基础上对网络进行加深与加宽。输入端-输入端表示输入的图片。该网络的输入图像大小为608*608,该阶段通常包含一个图像预处理阶段,即将输入图像缩放到网络的输入大小,并进行归一化等操作。在网络训练阶段,YOLOv5使用Mosaic数据增强操作提升模型的训练速度和网络的精度;并提出了一种自适应锚框计算与自适应图片缩放方法。基准网络-基准网络通常是一些性能优异的分类器种的网络,该模块用来提取一些通用的特征表示。YOLOv5中不仅使用了CSPDarknet53结构,而且使用了Focus结构作为基准网络。


Neck网络-Neck网络通常位于基准网络和头网络的中间位置,利用它可以进一步提升特征的多样性及鲁棒性。虽然YOLOv5同样用到了SPP模块、FPN+PAN模块,但是实现的细节有些不同。
Head输出端-Head用来完成目标检测结果的输出。针对不同的检测算法,输出端的分支个数不尽相同,通常包含一个分类分支和一个回归分支。YOLOv4利用GIOU_Loss来代替Smooth L1 Loss函数,从而进一步提升算法的检测精度。

wKgaomaEm2WActzVAAFKMhgvUZM849.png

平安校园视频监控方案可以做到监测到有人员在异常时间进入校园或出学校时,系统主动触发告警。当视频监控智能分析系统检测监控区域是否有剧烈活动事件。如有该类事件主动触发告警。系统还可以对学校重点区域进行烟雾监测,当发现现场有烟雾、浓烟时高清摄像头自动监测,出现异常自动锁定,主动触发告警,及时通知管理人员及时处理应对。

# 解析模型 def parse_model(d, ch): # model_dict, input_channels(3) logger.info('\n%3s%18s%3s%10s %-40s%-30s' % ('', 'from', 'n', 'params', 'module', 'arguments')) anchors, nc, gd, gw = d['anchors'], d['nc'], d['depth_multiple'], d['width_multiple'] na = (len(anchors[0]) // 2) if isinstance(anchors, list) else anchors # number of anchors no = na * (nc + 5) # number of outputs = anchors * (classes + 5) layers, save, c2 = [], [], ch[-1] # layers, savelist, ch out for i, (f, n, m, args) in enumerate(d['backbone'] + d['head']): # from, number, module, args m = eval(m) if isinstance(m, str) else m # eval strings for j, a in enumerate(args): try: args[j] = eval(a) if isinstance(a, str) else a # eval strings except: pass n = max(round(n * gd), 1) if n > 1 else n # depth gain if m in [Conv, GhostConv, Bottleneck, GhostBottleneck, SPP, DWConv, MixConv2d, Focus, CrossConv, BottleneckCSP, C3]: c1, c2 = ch[f], args[0] # Normal # if i > 0 and args[0] != no: # channel expansion factor # ex = 1.75 # exponential (default 2.0) # e = math.log(c2 / ch[1]) / math.log(2) # c2 = int(ch[1] * ex ** e) # if m != Focus: c2 = make_divisible(c2 * gw, 8) if c2 != no else c2 # Experimental # if i > 0 and args[0] != no: # channel expansion factor # ex = 1 + gw # exponential (default 2.0) # ch1 = 32 # ch[1] # e = math.log(c2 / ch1) / math.log(2) # level 1-n # c2 = int(ch1 * ex ** e) # if m != Focus: # c2 = make_divisible(c2, 8) if c2 != no else c2 args = [c1, c2, *args[1:]] if m in [BottleneckCSP, C3]: args.insert(2, n) n = 1 elif m is nn.BatchNorm2d: args = [ch[f]] elif m is Concat: c2 = sum([ch[x if x < 0 else x + 1] for x in f]) elif m is Detect: args.append([ch[x + 1] for x in f]) if isinstance(args[1], int): # number of anchors args[1] = [list(range(args[1] * 2))] * len(f) elif m is Contract: c2 = ch[f if f < 0 else f + 1] * args[0] ** 2 elif m is Expand: c2 = ch[f if f < 0 else f + 1] // args[0] ** 2 else: c2 = ch[f if f < 0 else f + 1] m_ = nn.Sequential(*[m(*args) for _ in range(n)]) if n > 1 else m(*args) # module t = str(m)[8:-2].replace('__main__.', '') # module type np = sum([x.numel() for x in m_.parameters()]) # number params m_.i, m_.f, m_.type, m_.np = i, f, t, np # attach index, 'from' index, type, number params logger.info('%3s%18s%3s%10.0f %-40s%-30s' % (i, f, n, np, t, args)) # print save.extend(x % i for x in ([f] if isinstance(f, int) else f) if x != -1) # append to savelist layers.append(m_) ch.append(c2) return nn.Sequential(*layers), sorted(save)

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    在k230上使用yolov5检测图像卡死,怎么解决?

    0.99以上 模型转换指令 再将该模型放到k230设备上使用yolo大作战中yolov5检测示例,检测就会卡死,打印出的检测结果会超过1。 目前无从下手,大佬们求救!
    发表于 08-11 07:41

    yolov5训练部署全链路教程

    1.Yolov5简介YOLOv5模型是Ultralytics公司于2020年6月9日公开发布的。YOLOv5模型是基于YOLOv3模型基础上改进而来的,有
    的头像 发表于 07-25 15:22 ?297次阅读
    <b class='flag-5'>yolov5</b>训练部署全链路教程

    使用yolov5转为kmodel之后,运行MicroPython报错误:IndexError: index is out of bounds怎么解决?

    ] img,img_ori=read_img(img_path) rgb888p_size=[img.shape[2],img.shape[1]] # 初始化YOLOv5实例 yolo=YOLOv5
    发表于 06-06 06:23

    在K230上部署yolov5时 出现the array is too big的原因?

    重现步骤 1将yolov5的kmodel放入k230的data数据 2使用yolo大作战里的视频流推理代码 3运行 期待结果和实际结果 期待的结果 将目标检测的框圈起来 实际看到的结果
    发表于 05-28 07:47

    RV1126 yolov8训练部署教程

    YOLOv8 是 ultralytics 公司在 2023 年 1月 10 号开源的基于YOLOV5进行更新的 下一个重大更新版本,目前支持图像分类、物体检测和实例分割任务,鉴于Yolov5的良好表现,
    的头像 发表于 04-16 14:53 ?609次阅读
    RV1126 <b class='flag-5'>yolov</b>8训练部署教程

    请问如何在imx8mplus上部署和运行YOLOv5训练的模型?

    我正在从事 imx8mplus yocto 项目。我已经在自定义数据集上的 YOLOv5 上训练了对象检测模型。它在 ubuntu 电脑上运行良好。现在我想在我的 imx8mplus 板上运行该模型
    发表于 03-25 07:23

    YOLOv5类中rgb888p_size这个参数要与模型推理和训练的尺寸一致吗?一致会达到更好的效果?

    YOLOv5类中rgb888p_size这个参数要与模型推理和训练的尺寸一致吗,一致会达到更好的效果
    发表于 03-11 08:12

    yolov5转onnx在cubeAI进行部署,部署失败的原因?

    第一个我是转onnx时 想把权重文件变小点 就用了半精度 --half,则说17版本不支持半精度 后面则是没有缩小的单精度 但是显示哪里溢出了···· 也不说是哪里、、。。。 到底能不能部署yolov5这种东西啊?? 也没看见几个部署在这上面......................
    发表于 03-07 11:38

    【米尔RK3576开发板评测】+项目名称YOLOV5目标检测

    /examples/yolov5/model ./download_model.sh 下载的是一个ONNX格式的神经网络模型,但发现它无法在瑞芯微系统中直接运行。为了解决这个问题,您计划使用特定
    发表于 02-15 13:24

    什么是YOLO?RK3568+YOLOv5是如何实现物体识别的?一起来了解一下!

    一、产品简介TL3568-PlusTEB人工智能实验箱国产高性能处理器64位4核低功耗2.0GHz超高主频1T超高算力NPU兼容鸿蒙等国产操作系统二、实验目的1、了解YOLOv5模型的用途及流程;2
    的头像 发表于 12-19 19:04 ?1105次阅读
    什么是YOLO?RK3568+<b class='flag-5'>YOLOv5</b>是如何实现物体识别的?一起来了解一下!

    在RK3568教学实验箱上实现基于YOLOV5的算法物体识别案例详解

    一、实验目的 本节视频的目的是了解YOLOv5模型的用途及流程,并掌握基于YOLOV5算法实现物体识别的方法。 二、实验原理 YOLO(You Only Look Once!) YOLOv5
    发表于 12-03 14:56

    在树莓派上部署YOLOv5进行动物目标检测的完整流程

    目标检测在计算机视觉领域中具有重要意义。YOLOv5(You Only Look One-level)是目标检测算法中的一种代表性方法,以其高效性和准确性备受关注,并且在各种目标检测任务中都表现出
    的头像 发表于 11-11 10:38 ?3929次阅读
    在树莓派上部署<b class='flag-5'>YOLOv5</b>进行动物目标检测的完整流程

    RK3588 技术分享 | 在Android系统中使用NPU实现Yolov5分类检测

    : NPU帮助机器完成更高效的翻译、文本分类和情感分析,推动了自然语言处理技术的发展。 实例分享:Yolov5分类检测 在RK3588处理器上,不仅可以基于Linux系统使用NPU,也可以
    发表于 10-24 10:13

    RK3588 技术分享 | 在Android系统中使用NPU实现Yolov5分类检测-迅为电子

    RK3588 技术分享 | 在Android系统中使用NPU实现Yolov5分类检测-迅为电子
    的头像 发表于 08-23 14:58 ?1464次阅读
    RK3588 技术分享 | 在Android系统中使用NPU实现<b class='flag-5'>Yolov5</b>分类检测-迅为电子

    RK3588 技术分享 | 在Android系统中使用NPU实现Yolov5分类检测

    : NPU帮助机器完成更高效的翻译、文本分类和情感分析,推动了自然语言处理技术的发展。 实例分享:Yolov5分类检测 在RK3588处理器上,不仅可以基于Linux系统使用NPU,也可以
    发表于 08-20 11:13