AI学习者 · 2021年08月06日

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

image.png

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%。因此,提出的网络具有很高的潜力部署在嵌入式系统。

2 YOLO V4简述

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

image.png

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

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

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

3 YOLO 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
image.png

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

5参考

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

原文:集智书童
作者:ChaucerG

关注我不迷路,目前只是一些入门级的小文章,后面会有AI系列文章推送。

[[https://github.com/yazone/ai\\\_learning\\\_path\](https://github.com/yazone/ai\_learning\_path)](https://github.com/yazone/ai\_learning\_path](https://github.com/yazone/ai_learning_path))
更多嵌入式AI技术相关内容请关注嵌入式AI专栏。
推荐阅读
关注数
18790
内容数
1342
嵌入式端AI,包括AI算法在推理框架Tengine,MNN,NCNN,PaddlePaddle及相关芯片上的实现。欢迎加入微信交流群,微信号:aijishu20(备注:嵌入式)
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息