毕业设计:嵌入式平台的目标检测-2
目标检测综述
A survey of modern deep learning based object detection models
https://www.sciencedirect.com/science/article/pii/S1051200422001312
YOLO
YOLO系列目标检测算法网上教程很多,当然也需要看原论文
目前进展
已完成在Nvidia Xavier AGX上搭建miniforge和pytorch的环境,成功运行YOLOv4源码。但帧率较低
Nvidia Jetson系列嵌入式开发套件信息参考 https://www.nvidia.cn/autonomous-machines/embedded-systems/
关于miniforge、miniconda、anaconda等的区别可参考 https://zhuanlan.zhihu.com/p/518926990
嵌入式平台
nvidia嵌入式平台:Jetson Orin:Jetson AGX Orin、Jetson Orin NX、Jetson Orin Nano;
Jetson Xavier:Jetson AGX Xavier、Jetson Xavier NX;
Jetson TX2;
Jetson Nano;
系统烧写
官方教程:https://docs.nvidia.com/jetson/archives/r34.1/DeveloperGuide/index.html
系统烧写有两种方式:① micro usb连接ubuntu虚拟机和设备,通过命令为设备在线安装ubuntu系统;② 通过TF/SD卡烧写镜像,使用win32DiskImg/balenaEtcher将ubuntu镜像写入TF/SD,然后插入设备中,接通电源安装系统
系统烧写完成后,为系统安装JetPack SDK
环境配置
① 安装miniforge(miniforge是miniconda的社区版本)
② 用conda创建虚拟环境
③ 首先安装pytorch 1.6.0版本,whl文件安装方式,aarch64架构(arm),pip install …
④ 因为xavier agx的pip无法下载高版本torchvision且没有较好的whl文件支持,因此需要去github下载源码,然后运行setup.py编译,编译好后即安装成功
⑤ 安装其他包
⑥ 将工程文件拷贝到Jetson上,activate虚拟环境,在虚拟环境中运行程序python predict.py
代码使用流程
1.收集数据集
2.运行preprocess处理图片,reshape和rename
3.打标签labelimg,设置xml文件存储路径和源图片路径
4.制作my_class.txt,运行voc_annotation.py制作训练集、验证集和测试集
5.训练模型train.py
6.使用模型,先改yolo.py中参数,然后运行predict.py
文件移植
每次只需要拷贝.pth权重文件和classes.txt类别文件即可