YOffleNet | YOLO V4 基于嵌入式设备的轻量化改进设计

简介: YOffleNet | YOLO V4 基于嵌入式设备的轻量化改进设计

1简介


最新的基于CNN的目标检测模型相当精确,但需要高性能GPU实时运行。对于内存空间有限的嵌入式系统来说,它们在内存大小和速度方面依旧不是很好。

由于目标检测是在嵌入式处理器上进行的,因此在保证检测精度的同时,最好尽可能地压缩检测网络。有几个流行的轻量级检测模型,但它们的准确性太低。因此,本文提出了一种新的目标检测模型 YOffleNet,该模型在压缩率高的同时,将精度损失降到最小,可用于自动驾驶系统上的实时安全驾驶应用。该模型的Backbone架构是基于YOLOv4实现,但是可以用ShuffleNet的轻量级模块代替CSP的高计算负荷的DenseNet,从而大大压缩网络。

在KITTI数据集上的实验表明,提出的YOffleNet比YOLOv4-s压缩了4.7倍,在嵌入式GPU系统(NVIDIA Jetson AGX Xavier)上可以达到46FPS的速度。与高压缩比相比,精度略有降低,为85.8% mAP,仅比YOLOv4-s低2.6%。因此,提出的网络具有很高的潜力部署在嵌入式系统。


2YOLO V4简述


在YOLOv4的主干网络CSPDarknet-53中,CSP将特征卷积一定次数后复制使用与前一层特征cat起来,然后利用DenseNet模块。

在Neck中,输入特征图有3种大小。SPP最大池化后concat技术提高了各种尺寸输入的准确性。此外,它通过自底向上的路径增强技术平滑特征。

YOLOv4引入PANet以促进信息流和它弥补了权重带来的精度损失问题。

YOLO v4的Head依旧采用YOLOv3的物体检测方法。


3YOLO V4轻量化设计


image.png

YOffleNet

YOLOv4中使用的主要模块是下图中的CSP DenseNet;此外为了防止初始特征图中的信息丢失的问题,作者还设计了PANet结构,其是通过自下而上的路径增强特征表达的。它促进信息的流动的同时也增加了特征图中的通道数、增加参数的数量,这也是YOffleNet模型为它改进了上述YOLOv4模型的缺点。

image.png

                                                          CSP DenseNet

改进点 1

主干层CSP DenseNet是一种随着深度增加而不可避免地增加计算量的结构。在本研究中,主干网络层被配置为ShuffleNet模块。

image.png

                                                     ShuffleNet模块

改进点 2

YOLOv4网络中使用的SPP+PANet结构简化和减轻模型的大小。现有YOLOv4模型的PANet从主干网络分为3层作为输入的。然而,常见对象检测情况与自动驾驶环境不同,有限类别中的物体检测(汽车、行人等,更小的目标也就少了)。

image.png

image.png

基于这个原因,改进PANet可以接收来自backbone网络的只有2层的输入。Upsample, Downsample层的位置和数量变少了。计算量相对也就减少了。


4实验


image.png

没啥好评价的,确实变快了,但是这个改进确实有点。。。。你懂的!!!


5参考


[1].Developing a Compressed Object Detection Model based on YOLOv4 for Deployment on Embedded GPU Platform of Autonomous System

相关文章
|
6月前
|
边缘计算 安全 中间件
软件体系结构 - 嵌入式系统(4)- 嵌入式中间件
软件体系结构 - 嵌入式系统(4)- 嵌入式中间件
233 0
|
6月前
|
机器学习/深度学习 计算机视觉 知识图谱
【YOLOv8改进】MobileViT 更换主干网络: 轻量级、通用且适合移动设备的视觉变压器 (论文笔记+引入代码)
MobileViT是针对移动设备的轻量级视觉Transformer网络,结合CNN的局部特征、Transformer的全局注意力和ViT的表示学习。在ImageNet-1k上,它以600万参数实现78.4%的top-1准确率,超越MobileNetv3和DeiT。MobileViT不仅适用于图像分类,还在目标检测等任务中表现出色,且优化简单,代码已开源。YOLOv8引入了MobileViT块,整合卷积和Transformer结构,提升模型性能。更多详情可参考相关专栏和链接。
|
3月前
|
机器学习/深度学习 边缘计算 PyTorch
PyTorch 与边缘计算:将深度学习模型部署到嵌入式设备
【8月更文第29天】随着物联网技术的发展,越来越多的数据处理任务开始在边缘设备上执行,以减少网络延迟、降低带宽成本并提高隐私保护水平。PyTorch 是一个广泛使用的深度学习框架,它不仅支持高效的模型训练,还提供了多种工具帮助开发者将模型部署到边缘设备。本文将探讨如何将PyTorch模型高效地部署到嵌入式设备上,并通过一个具体的示例来展示整个流程。
579 1
|
3月前
|
人工智能 vr&ar
嵌入式AI控制单元整体设计思路
【8月更文挑战第3天】嵌入式AI控制单元整体设计思路。
57 11
|
4月前
|
机器学习/深度学习 物联网 TensorFlow
使用Python实现深度学习模型:在嵌入式设备上的部署
【7月更文挑战第11天】 使用Python实现深度学习模型:在嵌入式设备上的部署
546 2
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
构建未来:AI驱动的自适应学习系统
【5月更文挑战第22天】 随着人工智能技术的迅猛发展,教育领域正在经历一场由数据驱动的革新。本文将探讨AI技术在构建自适应学习系统中的关键作用,分析其如何通过个性化教学方案提高学习效率,并预测未来发展趋势。我们将深入研究机器学习算法如何识别学习者的需求,实时调整教学内容和难度,以及AI如何帮助教师和学生在教育过程中实现更好的互动和反馈。
200 0
|
6月前
|
Ubuntu Linux 数据安全/隐私保护
针对性架构芯片soc环境傻瓜式教程
本文介绍了初步搭建VNC远程桌面,完成soc环境搭建第一步的方法。
248 2
针对性架构芯片soc环境傻瓜式教程
|
机器学习/深度学习 人工智能 算法
嵌入式端音频开发(Unisound篇)之 7.1 蜂鸟M离线语音芯片简介
嵌入式端音频开发(Unisound篇)之 7.1 蜂鸟M离线语音芯片简介
620 0
嵌入式端音频开发(Unisound篇)之 7.1 蜂鸟M离线语音芯片简介
|
机器学习/深度学习 人工智能 前端开发
英伟达嵌入式计算平台Jetson TX2:让神经网络走进终端设备
在近日于英伟达总部举行的 Jetson TX2 Editor's Day 活动中,英伟达向人们展示了新一代 Jetson 计算平台的强大计算能力。
625 0
英伟达嵌入式计算平台Jetson TX2:让神经网络走进终端设备
|
编解码 并行计算 数据可视化
YoloAll V2发布,集成所有主流Yolo模型于一身
YoloAll是一个将当前主流Yolo版本集成到同一个UI界面下的推理预测工具。可以迅速切换不同的yolo版本,并且可以针对图片,视频,摄像头码流进行实时推理,可以很方便,直观的对比不同版本的yolo的推理效果,耗时等。
YoloAll V2发布,集成所有主流Yolo模型于一身