【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即可。我这里准备了几个
3 detect代码修改
因为我们是基于标记层面去用中文标记,所以在源代码中我们还需要将训练时的英文标签和中文对应起来。最简单的办法就是创建一个字典:
然后我们在程序写入标签的地方将标签替换掉就可以了。
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即可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了