LCDet:Low-Complexity Fully-Convolutional Neural Networks for Object Detectionin Embedded Systems

本文提出了一种改进的YOLO网络,通过用两层卷积替代全连接层,并进行8-bit量化,实现了精度损失最小化的同时大幅提升了帧率。实验表明,量化后的检测率仅比未量化版本低1~2%,但帧率提高了20倍。

全文概括

  本文的基本网络框架是YOLO,但用两层 conv 代替 两层 fc 。然后用 8-bit 量化了训练好的网络权重。


Introduction

   8-bit 量化回归任务,会比量化分类任务更容易造成精度下降。
  经过试验显示,本文方法(量化后)的最高检测率比量化前的只低不到 1 2%1~2\%1 2%,但在帧率上达到了 202020x 倍的提升。

  YOLO使用的基础框架是 GoogleNet,即使将框架系统变成 AlexNet,其在嵌入设备上最多也只能每秒跑555帧。


Methods

Network Architecture

   和YOLO相比,YOLO在除了最后一层,激活函数都选择 LeakyReLU ,而本文选择 ReLU。YOLO在最后一层不使用激活函数,而本文对不同的任务选择不同激活函数,分类(softmax),置信度(sigmoid),定位(不使用激活函数)。

  训练过程和YOLO一样,损失函数也一直,除了 λnoobj=1\lambda_{noobj}=1λnoobj=1,而YOLO的该参数为0.50.50.5

Quantized Network

作者认为量化回归任务比分类任务难的原因:
   The justification for the high accuracy in low-precision modes comes from the fact that the final activation is a probability i.e. in [0,1] intervals, can be represented with an unsigned number without any concern on scaling.

### YOLOv10 SE Version Implementation and Usage Guide YOLO (You Only Look Once) is a popular real-time object detection system that has undergone several iterations since its inception. The mention of **YOLOv10** suggests an advanced iteration beyond the officially published versions such as YOLOv3, YOLOv4, or YOLOv5 by Ultralytics[^1]. However, there are no official publications specifically labeled as "YOLOv10." This could refer to custom implementations or community-driven enhancements. #### Integration with Squeeze-and-Excitation (SE) Mechanism Squeeze-and-Excitation Networks introduce attention mechanisms into Convolutional Neural Networks (CNNs), allowing them to focus on more relevant features during inference. Combining this mechanism with YOLO enhances model accuracy without significantly increasing computational cost[^2]. To implement YOLOv10 with SE: 1. **Model Architecture Modification**: Incorporate SE blocks within convolution layers of your backbone network. ```python import torch.nn as nn class SELayer(nn.Module): def __init__(self, channel, reduction=16): super(SELayer, self).__init__() self.avg_pool = nn.AdaptiveAvgPool2d(1) self.fc = nn.Sequential( nn.Linear(channel, channel // reduction, bias=False), nn.ReLU(inplace=True), nn.Linear(channel // reduction, channel, bias=False), nn.Sigmoid() ) def forward(self, x): b, c, _, _ = x.size() y = self.avg_pool(x).view(b, c) y = self.fc(y).view(b, c, 1, 1) return x * y.expand_as(x) ``` 2. **Backbone Customization**: Integrate `SELayer` modules at strategic points in architectures like CSPDarknet used in modern YOLO variants[^3]. 3. **Training Adjustments**: Fine-tune hyperparameters while ensuring sufficient GPU memory allocation due to added complexity from SE operations. For practical guidance tailored towards deploying these models efficiently across hardware platforms including embedded systems like DragonBoard™ 410c mentioned earlier , consider leveraging profiling tools recommended previously alongside optimizing kernel drivers compatible with newer Linux kernels supporting Camera Subsystem Software Stack (CAMSS). ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值