目标检测算法——YOLOv5/YOLOv7如何改变bbox检测框的粗细大小
深度学习Tricks,第一时间送达
目标检测 YOLOv5 常见的边框(bounding box )坐标表示方法
边框是在图像上标记目标的矩形。边框的标注有多种格式。每种格式都使用其特定的边框坐标表示。常见的包括Pascal VOC、COCO、YOLO。
pascal_voc
边框坐标编码是[x_min, y_min, x_max, y_max]
x_min和y_min表示边框左上角坐标,x_max和y_max表示边框的右下脚坐标。
例:[98, 345, 420, 462]
coco
边框坐标编码是[x_min, y_min, width, height]
表示左上角的坐标以及边框的宽度和高度。
例:[98, 345, 322, 117]
yolo
边框坐标编码[x_center, y_center, width, height],这4个值是经过数据规范化(normalized )的。
x_center, y_center表示边框的中心位置, width, height分别表示边框的宽度和高度
边框的宽度是322,高度是117
不规范化是
[(98 + (322 / 2)), (345 + (117 / 2)), 322, 117]=[259, 403.5, 322, 117]
规范化方法是
[259 / 640, 403.5 / 480, 322 / 640, 117 / 480]
最终结果是
[0.4046875, 0.840625, 0.503125, 0.24375].
问题1:
由于不同数据集中图片分辨率存在一定的差异性,比如自身数据集图片大小为1920×1080,发现在预测过程中bbox检测框太细,最终甚至无法看清楚实际预测值。
问题2:
部分小伙伴的检测框太粗而导致检测目标被遮挡,尤其是当目标较小并且很密集时,目标很容易就被框挡住,不容易观察整体检测效果如何。
解决方法:
在detect.py文件中找到下面这行:
# Process detectionsfor i, det in enumerate(pred): # detections per imageif webcam: # batch_size >= 1p, s, im0, frame = path[i], '%g: ' % i, im0s[i].copy(), dataset.countelse:p, s, im0, frame = path, '', im0s, getattr(dataset, 'frame', 0)p = Path(p) # to Pathsave_path = str(save_dir / p.name) # img.jpgtxt_path = str(save_dir / 'labels' / p.stem) + ('' if dataset.mode == 'image' else f'_{frame}') # img.txts += '%gx%g ' % img.shape[2:] # print stringgn = torch.tensor(im0.shape)[[1, 0, 1, 0]] # normalization gain whwhif len(det):# Rescale boxes from img_size to im0 sizedet[:, :4] = scale_coords(img.shape[2:], det[:, :4], im0.shape).round()# Print resultsfor c in det[:, -1].unique():n = (det[:, -1] == c).sum() # detections per classs += f"{n} {names[int(c)]}{'s' * (n > 1)}, " # add to string# Write resultsfor *xyxy, conf, cls in reversed(det):if save_txt: # Write to filexywh = (xyxy2xywh(torch.tensor(xyxy).view(1, 4)) / gn).view(-1).tolist() # normalized xywhline = (cls, *xywh, conf) if opt.save_conf else (cls, *xywh) # label formatwith open(txt_path + '.txt', 'a') as f:f.write(('%g ' * len(line)).rstrip() % line + '\n')if save_img or view_img: # Add bbox to imagelabel = f'{names[int(cls)]} {conf:.3f}'############################
plot_one_box(xyxy, im0, label=label,
color=colors[int(cls)], line_thickness=6)
各位小伙伴可自行调整line_thickness值大小,就可以改变预测框的粗细啦~
目标检测算法——YOLOv5/YOLOv7如何改变bbox检测框的粗细大小相关推荐
- 目标检测算法——YOLOv5/YOLOv7改进之结合GAMAttention
>>>深度学习Tricks,第一时间送达<<< 目录 超越CBAM,全新注意力GAM:不计成本提高精度! (一)前沿介绍 1.GAM结构图 2.相关实验结果 (二) ...
- 目标检测算法——YOLOv5/YOLOv7改进之结合RepVGG(速度飙升)
>>>深度学习Tricks,第一时间送达<<< 目录 RepVGG--极简架构,SOTA性能!!! (一)前沿介绍 1.RepVGGBlock模块 2.相关实验结果 ...
- 目标检测算法——YOLOv5/YOLOv7改进之结合PP-LCNet(轻量级CPU网络)
>>>深度学习Tricks,第一时间送达<<< 目录 PP-LCNet--轻量级且超强悍的CPU级骨干网络!! (一)前沿介绍 1.PP-LCNet主要模块 2. ...
- 目标检测算法——YOLOv5/YOLOv7改进之结合SOCA(单幅图像超分辨率)
>>>深度学习Tricks,第一时间送达<<< 目录 CVPR19 单幅图像超分辨率来了!!! (一)前沿介绍 论文题目:Second-order Attentio ...
- 目标检测算法——YOLOv5/YOLOv7改进之结合BiFPN
>>>深度学习Tricks,第一时间送达<<< 论文题目:<EfficientDet: Scalable and Efficient Object Detec ...
- 目标检测算法——YOLOv5/YOLOv7改进|将IOU Loss替换为EIOU Loss
>>>深度学习Tricks,第一时间送达<<< 论文题目:<Focal and Efficient IOU Loss for Accurate Boundin ...
- 目标检测算法——YOLOv5/YOLOv7改进结合轻量型Ghost模块
>>>深度学习Tricks,第一时间送达<<< 论文题目:<GhostNet:More Features from Cheap Operations> ...
- 目标检测算法——YOLOv5/YOLOv7改进之结合无参注意力SimAM(涨点神器)
>>>深度学习Tricks,第一时间送达<<< 目录 (一)前言介绍 1.摘要 2.不同注意力步骤比较 (二)相关实验 (三)YOLOv5结合无参注意力SimAM ...
- 目标检测算法——YOLOv5/YOLOv7改进之结合CBAM注意力机制
深度学习Tricks,第一时间送达 论文题目:<CBAM: Convolutional Block Attention Module> 论文地址: https://arxiv.org/p ...
最新文章
- 边缘计算 — 边缘网络
- 哈希表(散列查找)(c/c++)
- Handler 系列二:如何通信
- 2019天梯赛(总结-无题解)
- python安装成功第三方库但import出问题_解析pip安装第三方库但PyCharm中却无法识别的问题及PyCharm安装第三方库的方法教程...
- Struts1.x系列教程(1):用MyEclipse开发第一个Struts程序(二)
- ppt手动放映怎么设置_一键解决PPT的动画播放和动画排序问题!
- idea编辑区光标问题
- Linux 命令(70)—— size 命令
- python基础教程-Python基础
- c语言炒股软件公式,股票软件怎么使用指标选股公式
- python音乐播放器以及美观化_Python3.4的标准库
- July 16th 模拟赛C T2 奶牛晒衣服 Solution
- nacos实现服务注册与两种消费方式
- 在运行局域网中另一台电脑上的程序时,总是弹出“无法验证发行者,确定要运行此软件吗”
- # 电脑端的应用无法上传附件,点击没有反应怎么办?
- bat脚本删除目录下的文件
- 【物联网学习笔记——人人学IoT系列】二、IoT平台,能力开放
- 10行Python代码批量实现pdf转txt,word,提取表格到excel
- 被裁了,39 岁阿里 P9,攒下 1.5 亿....
热门文章
- MDX Step by Step 读书笔记 - 个人专题(一) 如何理解 MDX 查询中WHERE 条件如何对应Cube 中的切片轴 Slicer Axis...
- Eigen 库常用基本用法 备忘
- 基于tensorflow深度学习的猫狗分类识别
- Fuzzing test
- php全单词是什么意思,是php单词
- 【Spark】Could not locate executable null\bin\winutils.exe in the Hadoop binaries
- linux下的shell脚本,linux下的shell脚本的使用
- 一文详解 Android multidex 使用方式及实现原理
- 什么软件可以测试鬼,PP助手新奇App推荐 《鬼魂探测器》能抓鬼?
- python绘制生日快乐图片_python如何实现生日快乐代码
>>>深度学习Tricks,第一时间送达<<< 目录 超越CBAM,全新注意力GAM:不计成本提高精度! (一)前沿介绍 1.GAM结构图 2.相关实验结果 (二) ...
>>>深度学习Tricks,第一时间送达<<< 目录 RepVGG--极简架构,SOTA性能!!! (一)前沿介绍 1.RepVGGBlock模块 2.相关实验结果 ...
>>>深度学习Tricks,第一时间送达<<< 目录 PP-LCNet--轻量级且超强悍的CPU级骨干网络!! (一)前沿介绍 1.PP-LCNet主要模块 2. ...
>>>深度学习Tricks,第一时间送达<<< 目录 CVPR19 单幅图像超分辨率来了!!! (一)前沿介绍 论文题目:Second-order Attentio ...
>>>深度学习Tricks,第一时间送达<<< 论文题目:<EfficientDet: Scalable and Efficient Object Detec ...
>>>深度学习Tricks,第一时间送达<<< 论文题目:<Focal and Efficient IOU Loss for Accurate Boundin ...
>>>深度学习Tricks,第一时间送达<<< 论文题目:<GhostNet:More Features from Cheap Operations> ...
>>>深度学习Tricks,第一时间送达<<< 目录 (一)前言介绍 1.摘要 2.不同注意力步骤比较 (二)相关实验 (三)YOLOv5结合无参注意力SimAM ...
深度学习Tricks,第一时间送达 论文题目:<CBAM: Convolutional Block Attention Module> 论文地址: https://arxiv.org/p ...