【Python&目标识别】Yolo v5-7.0版本中文标签显示方法(附字体链接)

        Yolo的程序之前已经定制化输出过了,但是最近业主突然想要中文的标签,所以赶紧去修改了一下源代码,从网上发现很多资料都改这改那,搞四五个文件结果还没成功。所以自己研究了一下,现在已经完美解决了。今天就和大家分享一下Yolo v5-7.0版本的目标识别如何添加中文的标签。

1 前提条件

        1)我这里是Yolo v5-7.0版本可能不适用其他版本,可以自己尝试一下。

        2)其次,我是训练的时候用的英文,只是在标记层面将英文用中文显示,这点需要注意一下!如果你是用中文训练的就可以不继续往下看了。

2 查看标记源码

        yolo程序中的标记源代码在utils文件夹中的plots.py文件中。我们打开这个py文件后找到class Annotator这个类函数。将其中的字体改为中文字体(绝对路径),再将pil=False改为Ture即可。我这里准备了几个字体文件大家可以自行下载,当然也可以去“C:\Windows\Fonts”中找。

3 detect代码修改

        因为我们是基于标记层面去用中文标记,所以在源代码中我们还需要将训练时的英文标签和中文对应起来。最简单的办法就是创建一个字典:

dict_label = {"Dog": "狗", "Cat": "猫"}

        然后我们在程序写入标签的地方将标签替换掉就可以了。

        1)这里绿色框就是原始的label,它返回的数据是“Dog 0.55”,即类别+可信度。

        2)所以我们用红线画的地方去替换这个英文,lable[:-5]就是读取Dog这个值,然后用这个值作为键去字典里找到它对应的中文名,即dict_label[label[:-5]]。

        3)而后面的label[-5:]就是后面的置信度0.55。到这里label就代替完成了。

        4)然后我们将下面一行的annotator.box_label函数中的label改成我们替换后的lable即可,我这里是用label1代替,因为这样不会影响后面的程序。

注:其他的就不要动了,我的annotator.box_label函数可能和你的不一样,如后面的color参数,这是因为我的程序已经定制化过了,都是按照我的需求改的,你们只需要改label即可。

### YOLOv5s V7.0 版本相关信息 YOLOv5 是一个开源的目标检测框架,基于 PyTorch 实现。对于 YOLOv5s V7.0 版本的具体信息如下: #### 下载链接 YOLOv5 官方仓库托管在 GitHub 上,可以通过以下链接访问并获取最新版本的源码以及预训练权重文件: - **GitHub 项目地址**: [https://github.com/ultralytics/yolov5](https://github.com/ultralytics/yolov5)[^1] 用户可以直接克隆该项目到本地环境,并通过官方文档找到对应的预训练模型下载路径。 #### 配置文件 YOLOv5s 使用的配置文件定义了网络结构和其他超参数设置。V7.0 版本中的 `yolov5s.yaml` 文件位于项目的 `models` 目录下,具体路径为 `yolov5/models/yolov5s.yaml`[^3]。此 YAML 文件描述了神经网络层的设计细节,例如卷积层数量、anchors 参数等。 #### 更新日志 关于更新日志的信息通常记录在项目的 CHANGELOG.md 或 README.md 中。以下是部分可能涉及的内容摘要(需查阅实际变更记录确认): - 改进了性能优化策略。 - 增加了新的功能模块支持分割任务 (Segmentation),如 `yolov5s-seg.pt` 权重文件用于实例分割场景[^2]。 - 调整默认 anchors 设置以适应更多数据集需求。 - 提供更灵活的推理接口选项以便适配不同硬件平台。 如果需要了解完整的修改列表,则建议查看官方发布的详细说明文档或者提交 issue 请求帮助。 ```bash git clone https://github.com/ultralytics/yolov5.git cd yolov5 pip install -r requirements.txt wget https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5s.pt ``` 以上命令展示了如何从远程服务器拉取代码库并安装必要依赖项的过程;最后一步演示的是获取指定版本号下的轻量化模型 yolov5s.pt 的方法之一。 ### 示例代码片段展示加载模型过程 下面是 Python 程序里读入已训练好的 yolo v5 s 模型的一个简单例子: ```python import torch from models.experimental import attempt_load device = 'cuda' if torch.cuda.is_available() else 'cpu' model = attempt_load('yolov5s.pt', map_location=device) # 加载模型至 GPU/CPU 设备上 print(model) ```
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

RS迷途小书童

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

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

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

打赏作者

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

抵扣说明:

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

余额充值