个人网站创建平台要多少钱,wordpress ux theme,深圳物流公司哪家便宜又好,wordpress 满屏主题文章目录 一、目标检测介绍二、YOLOX介绍三、源码获取四、环境搭建4.1 环境检测 五、数据集准备六、模型训练七、模型验证八、模型测试 一、目标检测介绍
目标检测#xff08;Object Detection#xff09;是计算机视觉领域的一项重要技术#xff0c;旨在识别图像或视频中的… 文章目录 一、目标检测介绍二、YOLOX介绍三、源码获取四、环境搭建4.1 环境检测 五、数据集准备六、模型训练七、模型验证八、模型测试 一、目标检测介绍
目标检测Object Detection是计算机视觉领域的一项重要技术旨在识别图像或视频中的特定目标并确定其位置。通过训练深度学习模型如卷积神经网络CNN可以实现对各种目标的精确检测。常见的目标检测任务包括人脸检测、行人检测、车辆检测等。目标检测在安防监控、自动驾驶、智能零售等领域具有广泛应用前景。
二、YOLOX介绍
论文链接YOLOX: Exceeding YOLO Series in 2021
背景随着物体检测的发展YOLO系列始终追求实时应用的最佳速度和精度权衡。而且在过去两年中目标检测学术界的主要进展都集中在无锚检测器 、高级标签分配策略 和端到端无 NMS检测器。而YOLOV4和YOLOV5仍然是基于锚的检测器。由于计算资源的限制导致这些优秀的检测器并不能广泛运用。
创新与贡献
Backbone。使用的依旧是CSP的思想不过YOLOv5中的C3模块被替换成了C2f模块实现了进一步的轻量化同时YOLOv8依旧使用了YOLOv5等架构中使用的SPPF模块PAN-FPN。毫无疑问YOLOv8依旧使用了PAN的思想不过通过对比YOLOv5与YOLOv8的结构图可以看到YOLOv8将YOLOv5中PAN-FPN上采样阶段中的卷积结构删除了同时也将C3模块替换为了C2f模块Decoupled-Head。是不是嗅到了不一样的味道是的YOLOv8走向了Decoupled-HeadAnchor-Free。YOLOv8抛弃了以往的Anchor-Base使用了Anchor-Free的思想损失函数。YOLOv8使用VFL Loss作为分类损失使用DFL LossCIOU Loss作为分类损失样本匹配。YOLOv8抛弃了以往的IOU匹配或者单边比例的分配方式而是使用了Task-Aligned Assigner匹配方式
三、源码获取
源码点击bubbliiiing的代码点击
四、环境搭建
我这里的环境安装的方式是根据源码安装的但是我的代码是下载的bubbliiiing的。 第一步Install YOLOX from source cd YOLOX pip install -v -e . # or python setup.py develop
第二步安装cuda、torch、torchvision重要的环境。参考这个博客
环境版本python3.7.11cuda10.1torch1.8.0cu101torchvision0.9.0cu101
第三步安装之后进入到此环境下的代码主目录在终端运行
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/4.1 环境检测
下载YOLOX-S点击 下载之后将模型放在下图位置并修改predict.py路径 然后运行predict.py即可输入图片路径将得到下面的结果。
五、数据集准备
通过labelImg标注图片得到xml和原图分别放置在这两个文件夹下labelImg的使用可查看这个博客 这时候就需要将此数据集转换成VOC格式的数据集方可训练。
通过voc_annotation.py来将数据集进行划分注意几个地方
annotation_mode为0/1/2的时候的区别代码里面有备注classes_path数据集的类别情况要改为自己的类别其他地方就是修改路径的问题改成自己数据集对应的路径
运行后发现
六、模型训练
这时候你会发现在主目录下会得到两个txt文件一个用于训练一个用于验证。 然后你运行train.pymodel_path修改为自己的类别文件路径。然后就可以运行。
python train.py训练的同时我们也可以通过tensorboard来查看训练损失和其他指标的图
七、模型验证
通过get_map.py来验证模型的准确率、召回率、F1和mAP。若想要测试集多点需通过voc_annotation.py来划分数据集的测试集
python get_map.py修改的地方
map_mode第一次使用需要设置为0classes_path为自己的类别文件路径VOCdevkit_path为自己的数据集路径还有其他的相关路径的修改 第一次必须使用map_mode 0才能运行。因为后面有些模式需要结合检测的结果来进行绘制
由于训练时间问题我只是简单测试了一下训练效果没有进行大量的epoch训练所以效果并不是很好。 八、模型测试
通过predict.py来对模型测试。
修改的地方
mode可选择图片、视频、fps、热力图、转换成onnx模型等还有model_path和classes_path也需要改为自己的和训练情况一样model_path为训练好的模型文件 单张图片 热力图