【论文源码实战】EdgeYOLO: 边缘设备友好的无锚框检测器

前言

这篇文章介绍了一种名为EdgeYOLO的高效、低复杂度且无锚点(anchor-free)的实时目标检测器,它基于最先进的YOLO框架,并能在边缘计算平台上实时运行。主要贡献包括:

  1. 设计了一个无锚点的目标检测器,能在边缘设备上实时运行,并在MS COCO2017数据集上达到50.6%的AP精度。

  2. 提出了一种更强大的数据增强方法,确保了训练数据的数量和有效性。

  3. 使用可重新参数化的结构来减少推理时间。

  4. 设计了一种损失函数,提高了对小目标的检测精度。

文章还详细介绍了EdgeYOLO的关键技术,包括增强的数据增强方法、轻量级解耦头(Lite-Decoupled Head)、分阶段损失函数(Staged Loss Function)以及针对小目标检测的优化。

总的来说,这篇文章提出了一种适用于边缘计算设备的高效实时目标检测器EdgeYOLO,通过一系列创新技术提高了小目标的检测精度,并在保持实时性的同时减少了模型的复杂度。未来的工作将进一步提高小目标的检测精度,并探索更高效的优化方法。

一、项目下载

git clone https://github.com/LSH9832/edgeyolo.git cd edgeyolo

二、环境配置

创建专属环境

conda create -n EdgeYOLO python=3.9

激活环境

conda activate EdgeYOLO

安装 Pytorch 环境

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple "torch-1.13.0+cu116-cp39-cp39-win_amd64.whl"

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple "torchvision-0.14.0+cu116-cp39-cp39-win_amd64.whl"

安装相关库

pip install -r requirements.txt

三、代码测试

python detect.py --weights ./weights/edgeyolo_coco.pth --source ./TestVideo/test.avi --fp16

四、使用自己的数据集进行训练

目前支持COCO、YOLO、VOC、VisDrone、DOTA五种格式的数据集

在这里我使用VOC格式的数据集。

数据库来源:gazebo中标准锥桶路障,纯手工标记,VOC格式,适用于需要在gazebo仿真环境中检验自动驾驶算法。

数据集划分

按照比例进行划分训练集、验证集、测试集。

# -*- coding:utf-8 -*-
# @author: 牧锦程
# @微信公众号: AI算法与电子竞赛
# @Email: m21z50c71@163.com
# @VX:fylaicai

import os
import random
from tqdm import tqdm

train_val_percent = 0.9  # 训练集和验证集的总比例
train_percent = 0.8  # 训练集占总比例的比例
Annotations_file_path = 'JPEGImages'
txt_save_path = 'ImageSets/Main'
total_xml = os.listdir(Annotations_file_path)

if not os.path.exists(txt_save_path):
    os.makedirs(txt_save_path, exist_ok=True)

num = len(total_xml)
list = range(num)
tv = int(num * train_val_percent)
tr = int(tv * train_percent)
train_val = random.sample(list, tv)
train = random.sample(train_val, tr)

f_train_val = open(f'./{txt_save_path}/trainval.txt', 'w')
f_test = open(f'./{txt_save_path}/test.txt', 'w')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

牧锦程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值