图像处理实战02-yolov5目标检测

这篇具有很好参考价值的文章主要介绍了图像处理实战02-yolov5目标检测。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

yolov5

YOLOv5 是一种目标检测算法,它是 YOLO (You Only Look Once) 系列算法的最新版本。YOLOv5 采用了一种新的架构,它包括一个基于 CSPNet (Cross Stage Partial Network) 的主干网络以及一系列改进的技巧,如多尺度训练、数据增强、网络混合精度训练等,从而实现了更快的检测速度和更好的检测精度。

YOLOv5 支持多种类型的目标检测任务,如物体检测、人脸检测、车辆检测等,可以应用于各种实际场景,如智能安防、自动驾驶、机器人视觉等。同时,YOLOv5 还提供了预训练的模型和开源代码,方便开发者进行模型的训练和应用。

github地址:https://github.com/ultralytics/yolov5/blob/master/README.zh-CN.md
官网:https://ultralytics.com/

发展历程

YOLO(You Only Look Once)是一系列的目标检测模型,由Joseph Redmon等人开发。以下是YOLO系列的发展历程:

  1. YOLOv1:于2015年首次提出,是YOLO系列的第一个版本。YOLOv1通过将目标检测任务转化为回归问题,将图像划分为网格并预测每个网格的边界框和类别概率。然而,YOLOv1存在定位不准确和对小目标敏感的问题。

  2. YOLOv2(YOLO9000):于2016年提出,是YOLO系列的第二个版本。YOLOv2通过引入Darknet-19网络结构、使用anchor boxes和多尺度预测来改进检测性能。同时,YOLOv2还引入了目标类别的语义分割,可以检测更多类别的目标。

  3. YOLOv3:于2018年提出,是YOLO系列的第三个版本。YOLOv3针对YOLOv2存在的问题进行了改进,引入了多尺度预测、使用FPN结构和使用更小的anchor boxes等技术,提高了检测精度和对小目标的检测能力。

  4. YOLOv4:于2020年提出,是YOLO系列的第四个版本。YOLOv4在YOLOv3的基础上引入了一系列改进,包括CSPDarknet53作为主干网络、使用SAM和PANet模块来提取特征、使用YOLOv3和YOLOv4的预训练权重进行初始化等,提高了检测性能和速度。

  5. YOLOv5:于2020年提出,是YOLO系列的第五个版本。YOLOv5采用了轻量化的网络结构,提高了检测的速度,并引入了一些新功能,如YOLOv5-seg分割模型、Paddle Paddle导出功能、YOLOv5 AutoCache自动缓存功能和Comet日志记录和可视化集成功能。

总体而言,YOLO系列模型通过不断的改进和优化,提高了目标检测的性能和速度,并在计算机视觉领域取得了重要的突破。

yolov8

YOLOv8是YOLO系列模型的一个变种,它在YOLOv5的基础上进行了改进和优化。YOLOv8模型包含了检测(Detect)、分割(Segment)和姿态估计(Pose)、跟踪(Track)以及分类(Classify)等功能。下面是对这些功能的简要说明:

  1. 检测(Detect):YOLOv8模型能够对图像或视频中的目标进行实时的物体检测。它通过预测目标的边界框和类别信息来完成检测任务。

  2. 分割(Segment):YOLOv8模型还支持目标分割的功能,即将图像中的每个像素进行分类,将不同的目标区域进行分割。这个功能可以用于识别图像中的不同物体,并进行更精确的定位和分析。

  3. 姿态估计(Pose):YOLOv8模型还可以对检测到的目标进行姿态估计,即推断目标在三维空间中的姿态信息。这对于一些需要了解目标的方向和位置的应用非常有用,比如人体姿态分析、机器人导航等。

  4. 跟踪(Track):YOLOv8模型还具有目标跟踪的功能,即在视频中连续追踪相同目标的位置和轨迹。这对于视频监控、自动驾驶等应用非常重要。

  5. 分类(Classify):除了目标检测和分割功能之外,YOLOv8模型还可以对检测到的目标进行分类,即给出目标的类别信息。这对于了解目标的属性和进行更细粒度的分析非常重要。

总而言之,YOLOv8模型综合了多种功能,包括检测、分割、姿态估计、跟踪和分类等,使其具备了更广泛的应用领域和更强大的功能。
图像处理实战02-yolov5目标检测
github地址:https://github.com/ultralytics/ultralytics

v5入门示例

安装

克隆 repo,并要求在 Python>=3.7.0 环境中安装 requirements.txt ,且要求 PyTorch>=1.7 。

micromamba create prefix=d:/python380 python=3.8  #创建3.8的虚拟环境
micromamba activate d:/python380
git clone https://github.com/ultralytics/yolov5  # clone
cd yolov5
pip install -r requirements.txt  # install

源代码目录结构

yolov5/
├── data/                  # 数据集配置目录
│   ├── coco.yaml            # COCO数据集配置文件,里面有数据集的下载地址和加载的python脚本
│   ├──ImageNet.yaml           # ImageNet数据集
│   ├── custom.yaml          # 自定义数据集配置文件
│   └── ...                  # 其他数据集配置文件
├── models/                # 模型定义目录
│   ├── common.py            # 通用函数和类定义
│   ├── experimental.py      # 实验性模型定义
│   ├── export.py            # 导出模型为ONNX的脚本
│   ├── models.py            # YOLOv5模型定义
│   ├── yolo.py              # YOLO类定义
│   └── ...                  # 其他模型定义文件
├── utils/                 # 实用工具目录
│   ├── autoanchor.py        # 自动锚框生成工具
│   ├── datasets.py          # 数据集处理工具
│   ├── general.py           # 通用实用函数
│   ├── google_utils.py      # Google云平台工具
│   ├── loss.py              # 损失函数定义
│   ├── metrics.py           # 评估指标定义
│   ├── torch_utils.py       # PyTorch工具
│   ├── wandb_logging.py     # WandB日志记录工具
│   └── ...                  # 其他实用工具文件
├── runs/                 # 训练和预测的结果输出目录
│   ├── detect        # 使用detect.py训练后输出目录,输出的目录是[ex自增数字]
│   ├── train        # 使用detect.py训练后输出目录,输出的目录是[ex自增数字],包含了训练好的模型和测试集效果
├── weights/               # 预训练模型权重目录
├── .gitignore             # Git忽略文件配置
├── Dockerfile             # Docker容器构建文件
├── LICENSE                # 许可证文件
├── README.md              # 项目说明文档
├── requirements.txt       # 项目依赖包列表
├── train.py               # 训练脚本
├── detect.py               # 预测脚本
├── export.py               # 导出YOLOv5 PyTorch model to 其他格式
├── hubconf.py               # hubconf.py文件是用于定义模型和数据集的Python模块
└── ...                    # 其他源代码文件

这里通过yolov5可以下载到很多常用的训练数据集,而且很轻松的找到下载地址,如ImageNet,
coco128等,不用自己辛苦的找了

模型下载

下载地址:https://github.com/ultralytics/yolov5/releases

v6.1

这里的版本是v6.1是yolov5的子版本号

Pretrained Checkpoints

Pretrained Checkpoints 是预训练权重文件的一种称呼。在深度学习中,预训练权重是指在大规模数据集上通过无监督学习或有监督学习得到的模型参数。这些参数通常可以被用来初始化一个新的模型,从而加速模型训练并提高模型的性能。

Pretrained Checkpoints 是指已经训练好的预训练权重文件,可以用来初始化一个新的模型,并继续训练这个模型以适应新的任务或数据集。这种方法被称为迁移学习,可以大大提高模型的训练效率和泛化能力。在计算机视觉领域,常见的预训练网络包括 VGG、ResNet、Inception、MobileNet 等。

模型概述

以下模型列的解释

列名 解释
Model 模型的名称
size(pixels) 输入图像的大小(以像素为单位)
mAPval0.5:0.95 在验证集上的平均精确度(mean Average Precision),考虑所有IOU阈值从0.5到0.95的情况,准确率是%
mAPval0.5 在验证集上的平均精确度,只考虑IOU阈值为0.5的情况
Speed CPU b1(ms) 在CPU上使用batch size为1时的推理速度(以毫秒为单位)
Speed V100 b1(ms) 在NVIDIA V100 GPU上使用batch size为1时的推理速度(以毫秒为单位)
Speed V100 b32(ms) 在NVIDIA V100 GPU上使用batch size为32时的推理速度(以毫秒为单位)
params (M) 模型的参数量(以百万为单位)
FLOPs @640 (B) 在输入图像大小为640时,模型的浮点运算次数(以十亿为单位)
Model size(pixels) mAPval0.5:0.95 mAPval0.5 Speed CPU b1(ms) Speed V100 b1(ms) Speed V100 b32(ms) params (M) FLOPs @640 (B)
YOLOv5n 640 28.0 45.7 45 6.3 0.6 1.9 4.5
YOLOv5s 640 37.4 56.8 98 6.4 0.9 7.2 16.5
YOLOv5m 640 45.4 64.1 224 8.2 1.7 21.2 49.0
YOLOv5l 640 49.0 67.3 430 10.1 2.7 46.5 109.1
YOLOv5x 640 50.7 68.9 766 12.1 4.8 86.7 205.7
YOLOv5n6 1280 36.0 54.4 153 8.1 2.1 3.2 4.6
YOLOv5s6 1280 44.8 63.7 385 8.2 3.6 12.6 16.8
YOLOv5m6 1280 51.3 69.3 887 11.1 6.8 35.7 50.0
YOLOv5l6 1280 53.7 71.3 1784 15.8 10.5 76.8 111.4
v7.0

新的YOLOv5 v7.0实例分割模型是世界上最快、最准确的,超过了所有当前的SOTA基准。我们使它们非常简单易用,可以轻松进行训练、验证和部署。
这个版本中的主要目标是引入与我们现有的目标检测模型类似的超级简单的YOLOv5分割工作流程。
重要更新

  • 分割模型 ⭐ 新增:第一次提供了SOTA YOLOv5-seg COCO预训练的分割模型(由@glenn-jocher、@AyushExel和@Laughing-q开发的#9052)
  • Paddle Paddle导出:使用python export.py --include paddle 可以将任何YOLOv5模型(cls、seg、det)导出为Paddle格式(由@glenn-jocher开发的#9459)
  • YOLOv5 AutoCache:使用python train.py --cache ram 现在会扫描可用内存并与预测的数据集RAM使用量进行比较。这降低了缓存风险,并应该有助于提高数据集缓存功能的使用率,从而显著加快训练速度。(由@glenn-jocher开发的#10027)
  • Comet日志记录和可视化集成:永久免费,Comet可以保存YOLOv5模型,恢复训练,并进行交互式可视化和调试预测。(由@DN6开发的#9232)
Model size (pixels) mAPbox
50-95
mAPmask
50-95
Train time 300 epochs
A100 (hours)
Speed ONNX CPU
(ms)
Speed TRT A100
(ms)
params (M) FLOPs @640(B)
YOLOv5n-seg 640 27.6 23.4 80:17 62.7 1.2 2.0 7.1
YOLOv5s-seg 640 37.6 31.7 88:16 173.3 1.4 7.6 26.4
YOLOv5m-seg 640 45.0 37.1 108:36 427.0 2.2 22.0 70.8
YOLOv5l-seg 640 49.0 39.9 66:43 (2x) 857.4 2.9 47.9 147.7
YOLOv5x-seg 640 50.7 41.4 62:56 (3x) 1579.2 4.5 88.8 265.7

我这里选择一个V6.1模型yolov5n6.pt
将模型丢到yolov5项目根目录即可
图像处理实战02-yolov5目标检测

预测

因为预训练模型,已经有检测某些类别能力,我们可以看下data/coco.yml中names可以看到总共有80个类别
图像处理实战02-yolov5目标检测
在yolov5中可以使用./detect.py脚本来进行目标物品检测。
以下是对"./detect.py"脚本中常见参数的详细解释:

  1. --source:指定输入源,可以是图像路径、视频文件路径或摄像头索引(默认为当前目录data/images,里面就两张图片)。

  2. --weights:指定模型权重文件的路径。可以是本地路径或PaddleHub模型中心的模型名称,默认是当前目录的yolov5s.pt。

  3. --data:指定要使用的数据集的配置文件。数据集的配置文件包含了数据集的路径、类别标签、训练集、验证集和测试集的划分等信息,默认data/coco128.yaml,选填。

  4. --img-size:指定输入图像的尺寸,格式为",“,例如"640,480”。默认为640x640。

  5. --conf-thres:目标置信度阈值,范围为0到1。超过该阈值的目标将被保留,默认为0.25。

  6. --iou-thres:NMS(非极大值抑制)的IoU(交并比)阈值,范围为0到1。重叠度大于该阈值的目标将被合并,默认为0.45。

  7. --max-det:每个图像中最多检测的目标数,默认为100。

  8. --device:指定使用的设备,可以是"cpu"或"cuda"。默认为"cpu"。

  9. --view-img:在检测过程中显示图像窗口。

  10. --save-txt:保存检测结果的txt文件。

  11. --save-conf:保存检测结果的置信度。

  12. --save-crop:保存检测结果的裁剪图像。

  13. --half:使用半精度浮点数进行推理。

这些参数可以根据您的需求进行调整,以获得最佳的检测结果。您可以在运行脚本时使用--help参数查看更多参数选项和说明。

执行命令预测

python ./detect.py --source ./data/images --weight ./yolov5n6.pt

执行结果

(D:\condaenv\yolov5) D:\code1\yolov5-master\yolov5-master>python ./detect.py --source ./data/images --weight ./yolov5n6.pt
detect: weights=['./yolov5n6.pt'], source=./data/images, data=data\coco128.yaml, imgsz=[640, 640], conf_thres=0.25, iou_thres=0.45, max_det=1000, device=, view_img=False, save_txt=False, save_conf=False, save_crop=False, nosave=False, classes=None, agnostic_nms=Fal
se, augment=False, visualize=False, update=False, project=runs\detect, name=exp, exist_ok=False, line_thickness=3, hide_labels=False, hide_conf=False, half=False, dnn=False, vid_stride=1
YOLOv5  2023-5-30 Python-3.8.16 torch-2.0.1+cpu CPU

Fusing layers...
YOLOv5n6 summary: 280 layers, 3239884 parameters, 0 gradients
image 1/2 D:\code1\yolov5-master\yolov5-master\data\images\bus.jpg: 640x512 4 persons, 1 bus, 211.9ms
image 2/2 D:\code1\yolov5-master\yolov5-master\data\images\zidane.jpg: 384x640 3 persons, 1 tie, 152.9ms
Speed: 1.0ms pre-process, 182.4ms inference, 3.0ms NMS per image at shape (1, 3, 640, 640)
Results saved to runs\detect\exp8

找到runs\detect\exp8 打开目录查看分类图片
图像处理实战02-yolov5目标检测
图像处理实战02-yolov5目标检测

训练模型

参考自官网:https://docs.ultralytics.com/yolov5/tutorials/train_custom_data/#before-you-start

准备数据集

创建数据集yaml

COCO128是一个小型教程数据集的例子,由COCO train2017中的前128张图像组成。这128张图像同时用于训练和验证,以验证我们的训练流程能够过拟合。data/coco128.yaml是数据集配置文件,定义了以下内容:
1)数据集根目录路径以及训练/验证/测试图像目录的相对路径(或包含图像路径的*.txt文件);
2)类别名称字典。

# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: ../datasets/coco128  # dataset root dir
train: images/train2017  # train images (relative to 'path') 128 images
val: images/train2017  # val images (relative to 'path') 128 images
test:  # test images (optional)

# Classes (80 COCO classes)
names:
  0: person
  1: bicycle
  2: car
  ...
  77: teddy bear
  78: hair drier
  79: toothbrush
  # Download script/URL (optional)
download: https://ultralytics.com/assets/coco128.zip

https://ultralytics.com/assets/coco128.zip下载后,目录结构如下
图像处理实战02-yolov5目标检测
我这里用来训练判断一个身份证的正反面,我在项目根目录新建一个idcard目录,下面在建一个mul目录,这个目录只是用来训练不同的身份证信息用来区分的,我们的所有数据集都在mul目录

# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: ./idcard/mul  # dataset root dir
train: images  # train images 
val: images  # val images
test: images   # test images 

# Classes
names:
  0: idcard_z  #表示身份证正面
  1: idcard_f   #表示身份证反面

注意这里yolov5回自动找path下的train目录在加上你的images作为图片的目录
比如真正的训练目录是:./idcard/mul/train/images,images的同级目录下会有个labels目录是标注
验证集的目录是:./idcard/mul/val/images
测试集的目录是:./idcard/test/val/images
图像处理实战02-yolov5目标检测

一般来说,常见的做法是将数据集划分为训练集、验证集和测试集,比如将数据划分为70%的训练集、15%的验证集和15%的测试集。这种比例通常适用于较小的数据集。对于较大的数据集,可以考虑增加验证集和测试集的比例。

创建labels

在使用注释工具(labelme,lableimg)为图像标注后,将标签导出为YOLO格式,每个图像对应一个*.txt文件(如果图像中没有对象,则不需要*.txt文件)。*.txt文件的规范如下:

  • 每个对象占据一行
  • 每行的格式为:类别 x中心点 y中心点 宽度 高度。
    框的坐标必须使用归一化的xywh格式(范围在0-1之间)。如果您的框的坐标是以像素为单位的,则需要将x中心点和宽度除以图像宽度,并将y中心点和高度除以图像高度。
  • 类别编号从零开始(索引为0),和数据集yaml的names索引对应。

这里建议使用labelimg标注

pip install labelimg -i https://pypi.tuna.tsinghua.edu.cn/simple

切换到当前环境输入labelimg ,输入labelimage命令打开
图像处理实战02-yolov5目标检测

选择open dir选择你的需要标记的图片目录(idcard/mul/train/images目录),Change Save Dir选择你的idcard/mul/train/labels目录,选择YOLO格式
打开了图片后,需要一张一张图片的标记,常用的操作步骤是:

  1. 按w唤起一个矩形框,选择你要选择的目标,选择后,弹出label,注意要先标注一个data.yaml中索引为0的,然后是1的,后面在弹出是可以选择的。
  2. 标准完成后ctrl+s保存。
  3. 按键盘d键切换到下一张图片,继续按w矩形框标注,知道所有图片完成。

在你的labels目录下会有个classes.txt,看下他的顺序是否和data.yaml一致,如果不一致,不要调整classes.txt,调整data.yaml保持一致就行。

训练

我这里准备了差不多350个标注好的图片,训练后识别率98%。
使用train.py执行

#  --weight是指定初始的权重,可以用它来fine tuning调整训练你自己的模型。
python train.py --batch-size 4 --epochs 10 --data .\idcard\mul\idcard.yaml --weight .\yolov5n6.pt

执行完成后,runs\trains\expn\weights\best.pt就是训练好的模型,可以使用之前的detect.py指定这个模型来预测下

python ./detect.py --source .\idcard\mul\test\images --weight .\runs\train\exp3\weights\best.pt

查看runs\detect\expn\下的预测图片


图像处理实战02-yolov5目标检测

模型应用

我们需要在我们的应用使用生成好的best.pt模型可以使用torch.hub

#使用我们本地之前用于训练的yolov5-master,我有把best.pt拷贝到当前目录
model = torch.hub.load('D:\\code1\\yolov5-master\\yolov5-master', 'custom', path='./best.pt', source='local')  # local repo
#print(model)
# 读取图像
img = cv2.imread('../images/zm.jpg')
# 进行预测
results = model(img)
resultLabel=[]
# 解析预测结果
for result in results.xyxy[0]:
    x1, y1, x2, y2, conf, cls = result.tolist()
    if conf > 0.5:
        # 绘制边框和标签
        cv2.rectangle(img, (int(x1), int(y1)), (int(x2), int(y2)), (0, 255, 0), 2)
        cv2.putText(img, f"{model.names[int(cls)]} {conf:.2f}", (int(x1), int(y1 - 10)), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)
        resultLabel.append(model.names[int(cls)])
# 显示图像
print("预测的结果是",resultLabel)
plt.imshow(img)
plt.show()

图像处理实战02-yolov5目标检测

这是官方提供在线的版本调用,但是程序会自动去下载ultralytics/yolov5包和yolov5s模型,速度很慢文章来源地址https://www.toymoban.com/news/detail-485994.html

import torch
# Model
model = torch.hub.load("ultralytics/yolov5", "yolov5s")  # or yolov5n - yolov5x6, custom
# Images
img = "https://ultralytics.com/images/zidane.jpg"  # or file, Path, PIL, OpenCV, numpy, list
# Inference
results = model(img)
# Results
results.print()  # or .show(), .save(), .crop(), .pandas(), etc.

到了这里,关于图像处理实战02-yolov5目标检测的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • YOLOv5图像分割中的NMS处理

    在上一篇文章YOLOv5图像分割--SegmentationModel类代码详解有讲到图像经过YOLOv5网络后得到的输出形式,主要是调用了BaseModel类下的forward得到的输出,输出的shape为【batch,25200,117】,这里的25200相当于总的anchors数量【以640*640的输入为例,共有anchors=80*80*3+40*40*3+20*20*3】,117为5[x,y,

    2024年02月06日
    浏览(31)
  • 【目标检测】yolov5代码实战

    YOLO 是 “You only look once” 缩写 , 是将图像划分为网格系统的对象检测算法,网格中的每个单元负责检测自身内的对象。 由于其速度和准确性,YOLO是最著名的目标检测算法之一。yolov5作为YOLO系列第五个迭代版本,它的一个特点就是权重文件非常之小,可以搭载在配置更低的移

    2024年02月07日
    浏览(31)
  • yolov5旋转目标检测遥感图像检测-无人机旋转目标检测(代码和原理)

    YOLOv5(You Only Look Once version 5)是一个流行且高效的实时目标检测深度学习模型,最初设计用于处理图像中的水平矩形边界框目标。然而,对于旋转目标检测,通常需要对原始YOLOv5架构进行扩展或修改,以便能够检测具有任意角度的对象,比如倾斜的车牌、风力发电机叶片或者

    2024年04月14日
    浏览(26)
  • 传统图像处理之目标检测——人脸识别

    代码实战:人脸识别 xml文件是已经训练好的脸部特征和参数 杨幂的这个效果不错  詹姆斯怎么手环也被识别了?  

    2024年02月13日
    浏览(27)
  • 目标检测论文解读复现之十:基于YOLOv5的遥感图像目标检测(代码已复现)

    前言        此前出了目标改进算法专栏,但是对于应用于什么场景,需要什么改进方法对应与自己的应用场景有效果,并且多少改进点能发什么水平的文章,为解决大家的困惑,此系列文章旨在给大家解读最新目标检测算法论文,帮助大家解答疑惑。解读的系列文章,本人

    2024年02月06日
    浏览(30)
  • 目标检测 图像处理 计算机视觉 工业视觉

    从事ai视觉算法有几年了,本帖是对以往做过的计算机视觉项目的一些总结,硬件部署的大多是基于nvidia的开发板和GPU服务器上,如jetson nano,还有地平线J3J5和瑞芯微以及星辰的开发板,另外就是对实时性要求不高的部署在cpu上。有相关项目需求可以一起交流和学习。(+v 3

    2024年02月06日
    浏览(34)
  • 基于yolov5的遥感图像目标检测(NWPU VHR-10)

    最近在做毕设,感觉网上信息不是很全,把自己的训练过程写下来供做这个方向的友友学习。 只有简单的复现,其余的还没探索到。 首先就是数据集:我用的数据集是西工大发布的数据集,NWPU VHR-10 链接:https://pan.baidu.com/s/1vfhDU2ORWUpL-aGM1PllGw  提取码:d5au 西工大数据集有十

    2023年04月25日
    浏览(28)
  • 目标检测 YOLOv5的loss权重,以及与图像大小的关系

    YOLOv5中有三个损失分别是 box, obj, cls 在超参数配置文件hyp.*.yaml中可以设置基础值,例如 训练使用时,在train.py进行更新 可以看到损失与nl(number of detection layers,检测层的层数,这里是3)和图像尺寸相关,与layers相关这个好理解,是因为损失多个layers的加和。与图像尺寸相关

    2024年02月09日
    浏览(29)
  • 模式识别与图像处理课程实验二:基于UNet的目标检测网络

    实验采用Unet目标检测网络实现对目标的检测。例如检测舰船、车辆、人脸、道路等。其中的Unet网络结构如下所示 U-Net 是一个 encoder-decoder 结构,左边一半的 encoder 包括若干卷积,池化,把图像进行下采样,右边的 decoder 进行上采样,恢复到原图的形状,给出每个像素的预测

    2023年04月08日
    浏览(34)
  • ​目标检测算法——YOLOv5/YOLOv7改进之结合​SOCA(单幅图像超分辨率)

    (一)前沿介绍 论文题目:Second-order Attention Network for Single Image Super-Resolution 论文地址:CVPR19 超分辨率 代码地址:https://github.com/daitao/SAN 1.SOCA moudle结构图 2.相关实验结果 (二)YOLOv5/YOLOv7改进之结合​SOCA 1.配置common.py文件 2.配置yolo.py文件 3.配置yolov5/yolov7_SOCA moudle.yaml文件

    2024年02月07日
    浏览(262)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包