yolov5-7.0实现中文标签训练,检测框实现中文标签显示

yolov5在进行目标检测时,如何用中文标签进行训练以及如何在检测框上显示中文标签,下面一步一步分享给大家实现步骤

1.该方法是以中文标签进行训练,然后并以中文标签进行检测。确保yaml文件的标签是中文

2.在utils文件夹中的plots.py文件,在文件前面添加如下代码:

plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

3.继续在utils文件夹中的plots.py文件中找到class Annotator这个类函数,将其中的字体改为中文字体(绝对路径),再将pil=False改为Ture建议将字体文件直接放在主目录下

 4.在utils/metrics.py文件前面添加如下代码

plt.rcParams['font.sans-serif'] = ['simhei']
plt.rcParams['axes.unicode_minus'] = False

5. 在utils/general.py文件修改def yaml_load

with open(file, errors='ignore', encoding='gbk',) as f:

 

6.修改train.by文件,具体如图:

7.上述步骤修改完成以后,就可以进行运行train.by文件进行训练了。此时完成了用中文标签进行训练的过程

8.当权重文件训练出来以后,用detect.by文件进行检测时会发现程序报如下错误

‘FreeTypeFont‘ object has no attribute ‘getsize‘

此时一定不要听网上的解决办法,去降低pillow的版本,这样会导致train.by文件无法执行。

一定要按照如下方法去替代getsize。

打开utils文件夹中的plots.py文件,更改前程序如图所示

更改后程序如图所示:

9.最后修改 detect.by文件,将def run 函数的权重文件和def parse_opt函数的权重文件,全部换成自己的训练出来的权重文件。

10.以上就完成了中文标签检测程序的设置,最后的检测效果如下所示:

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值