第一模块:深度学习轻量级模型nanodet

该文详细介绍了NanoDet的环境配置,包括CUDA11.0的安装、Python环境搭建以及PyTorch等依赖的安装。接着讲解了如何获取NanoDet代码并准备数据集,包括数据收集、标注、整理和转换为COCO格式的过程。文章适合深度学习初学者和对NanoDet感兴趣的开发者参考。
摘要由CSDN通过智能技术生成

第一部分:nanodet环境部署与数据集的准备

在这里插入图片描述
超快轻量级对象检测模型。能在移动设备上进行实时显示。
⚡超轻量级:标准型号文件只有 1.8 MB。
⚡超级快: 在ARM CPU运行速度可以达到97fps (10.23ms) 。
😎训练友好:GPU内存成本比其他型号低得多。
😎易于部署:根据 ncnn 推理框架提供C++实施和Android 演示。

nanodet简介

NanoDet是一种Fcos风格的一级无锚目标检测模型,使用ATSS进行目标采样,使用广义焦损失进行分类和盒回归。
详情请参阅这些论文:
Fcos: Fully convolutional one-stage object detection
ATSS:Bridging the Gap Between Anchor-based and Anchor-free Detection via Adaptive Training Sample Selection
Generalized Focal Loss: Learning Qualified and Distributed Bounding Boxes for Dense Object Detection
在这里插入图片描述

1.1 配置信息

在本文中使用的服务器为联想服务器,单张显卡N卡2080Ti,cuda11.0,python3.8.0,pytorch1.7.1,cudatoolkit11.0,mkl-2020.2-256,torchvision-0.8.2-py38_cu110等等,这其中列举了一些在国内下载较慢的一些配置,这些资源我会专门进行搜集,然后建立一个服务站,以便大家更加快速方便的下载使用。当然我这边的配置包(linux下ubuntu18.04)会以百度云盘链接的形式给大家进行分享。

1.2 环境配置

1.2.1 首先配置cuda11.0

wget http://developer.download.nvidia.com/compute/cuda/11.0.2/local_installers/cuda_11.0.2_450.51.05_linux.run
apt-get update
apt-get install sudo
sudo sh cuda_11.0.2_450.51.05_linux.run
sudo apt-get install gedit
sudo gedit ~/.bashrc

在打开的文件最后一行加入路径:

export PATH="/usr/local/cuda-11.0/bin:$PATH"export LD_LIBRARY_PATH="/usr/local/cuda-11.0/lib64:$LD_LIBRARY_PATH"

然后save,退出
在命令行输入

source ~/.bashrc

查询cuda版本进行检验

nvcc -V

以下是检验的结果图在这里插入图片描述

1.2.2 创建nanodet工作环境

conda create -n nanodet python=3.8 -y
source activate
conda activate nanodet

1.2.3 安装pytorch与所需依赖

conda install pytorch torchvision cudatoolkit=11.0 -c pytorch
pip install Cython termcolor numpy tensorboard pycocotools matplotlib pyaml opencv-python tqdm

当然这里会下载非常慢,我这边提供百度云盘链接

cuda_11.0.2_450.51.05_linux 提取码:6xpu

pytorch-1.7.1-py3.8_cuda11.0.221_cudnn8.0.5_0.tar 提取码:4x63
cudatoolkit-11.0.221-h6bb024c_0.tar 提取码:h369
mkl-2020.2-256.tar 提取码:9y8g
torchvision-0.8.2-py38_cu110.tar 提取码:3rke

1.3下载nanodet工作文件

git clone https://github.com/RangiLyu/nanodet.git
cd nanodet
python setup.py develop

1.4 准备数据集

我在收集数据这方面一直是一个取巧者,但是一般来说都比较适用。但是无论是做深度学习的调研还是商业化功能,一个必不可少的部分就是数据。开源的框架和神经网络固然重要,开放的数据集也同样不能忽视。
我们一般做深度学习都是比较单一化,都是单个数据。这次就以“T”标为例来制作数据集。

1.4.1 收集数据

用无人机去拍摄几段不同角度的“T”子标的视频,然后对视频进行截取,取出其中有用的片段,去除没有拍到目标的片段。这样第一步的数据流就准备完毕了。
但是咱们制作的是一个基于图片识别的软件,那么需要的就是大量的图片数据,接下来的步骤就是讲视频流转换为图片数据集。
以下就是分割视频为图片的Python小程序

import cv2
 
def video2frame(videos_path,frames_save_path,time_interval):
 
  '''
  :param videos_path: 视频的存放路径
  :param frames_save_path: 视频切分成帧之后图片的保存路径
  :param time_interval: 保存间隔
  :return:
  '''
  vidcap = cv2.VideoCapture(videos_path)
  success, image = vidcap.read()
  count = 0
  while success:
    success, image = vidcap.read()
    count += 1
    fenge=count/400
    if count % (time_interval) == 0:
        cv2.imencode('.jpg', image)[1].tofile(frames_save_path + "/%d.jpg" % count)
     
    # if count == 20:
    #   break
  print(count)
 
if __name__ == '__main__':
   videos_path ='C:/Users/rexmatken/Desktop/xx/xx.mp4'#修改视频路径
   frames_save_path = 'C:/Users/rexmatken/Desktop/xx'#修改图片保存路径
   time_interval = 
  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

matken

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

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

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

打赏作者

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

抵扣说明:

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

余额充值