赞
踩
本项目基于PicoDet实现对无人机视角的VisDrone数据集进行目标检测并实现在ncnn中的推理。
PicoDet是百度新推出的轻量级目标检测网络,对anchor-free策略在轻量型目标检测模型中的应用进行了探索,通过对backbone、neck、标签分配策略以及训练方法等诸多优化,在精度-效率上取得了更好的均衡。
PicoDet-S仅需0.99M参数即可取得30.6%mAP,比YOLOX-Nano高4.8%同时推理延迟降低55%,比NanoDet指标高7.1%;
当输入尺寸为320时,在移动端ARM CPU上可以达到123FPS处理速度,推理框架为PaddleLite时,推理速度可达150FPS。
PicoDet-M仅需2.15M参数即可取得34.3%mAP指标;
PicoDet-L仅需3.3M参数即可取得40.9%mAP,比YOLOv5s高3.7%mAP,推理速度快44%。
与其他轻量级检测网络对比如下:
论文:https://arxiv.org/abs/2111.00902
代码:https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.3/configs/picodet
配备摄像机的无人机或通用无人机具有广泛的应用,包括农业,航空摄影,快速交付和监视等。
VisDrone数据集是由天津大学等团队开源的一个大型无人机视角的数据集,官方提供的数据中训练集是6471、验证集是548,一共提供了以下11个类,分别是:'pedestrian', 'people', 'bicycle', 'car', 'van','truck', 'tricycle', 'awning-tricycle', 'bus', 'motor', 'others',其中others是非有效目标区域,本项目中予以忽略;
数据集主页:http://aiskyeye.com/challenge/object-detection/
数据集标注展示:
官方的讲解非常详细,PPT参考如下;
PaddleDetection默认的是coco格式,而VisDrone有自己的标注格式,因此需要转换;
In [1]
- !mkdir work/data
- !unzip -oq data/data115729/VisDrone2019-DET-train.zip -d work/data
- !unzip -oq data/data115729/VisDrone2019-DET-val.zip -d work/data
In [2]
- import json
- import os
- import cv2
- import numpy as np
- from PIL import Image
- import shutil
-
- class Vis2COCO:
- def __init__(self, save_path, train_ratio, category_list, is_mode="train"):
- self.category_list = category_list
- self.images = []
- self.annotations = []
- self.categories = []
- self.img_id = 0
- self.ann_id = 0
- self.is_mode = is_mode
- self.train_ratio = train_ratio
- self.save_path = save_path
- if not os.path.exists(self.save_path):
- os.makedirs(self.save_path)
-
- def to_coco(self, anno_dir, img_dir):
- self._init_categories()
- img_list = os.listdir(img_dir)
- for img_name in img_list:
- anno_path = os.path.join(anno_dir, img_name.replace(os.path.splitext(img_name)[-1], '.txt'))
- if not os.path.isfile(anno_path):
- print('File is not exist!', a

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。