windows10+yolov3多分类目标检测实现过程中遇到的问题

需要做一个多分类的目标检测,选择了yolo实现。

1. 首先是安装darknet,网上有很多教程,我原来是采用了https://github.com/pjreddie/darknet版本的教程,安装完成后用示例图片检测正确,但是在训练自己的数据时,出现了

但是我的路径是对的,百思不得其解,后来有大佬帮我看,重新换成了https://github.com/AlexeyAB/darknet版本,网上有很多这个版本的教程。

2.在上一步中,我又踩了两个坑:一,由于需要vs2015的工具包140,我的版本是2017,由于本人太笨,竟然先卸掉,然后再在重新安装2017时勾选了140工具,其实直接打开vs installer增加就可以了;二,打开darknet.sln编译时,忘记修改为release x64,导致出错,并且有一个问题https://blog.csdn.net/SpringRolls/article/details/88373051,按照教程基本是没问题的,如果有问题,再看看教程

3. 训练完成后,测试图片时,发现可以出来预测结果,但是没有预测图片,查看了detetcor.c中的test_detector函数、image.c中的draw_detection_v3函数,发现问题出在label上,由于我的类别是中文标签,但是darknet自己的标签只支持英文,因此这一步会出错,所有需要自己制作标签,这一步参考https://blog.csdn.net/qq_35608277/article/details/79954968,https://blog.csdn.net/phinoo/article/details/89501569,我是分别采用前一个博客的生成图片,不需要下载ImageMagick,只完成了step2和step3,注意代码需要一点点修改,因为第二个博客的图片编号方式相反(很简单,在step3中将word,s/12-1对调一下),我看了很多博客的生成中文标签图片,一直有convert: cannot...意思就是找不到字体好像,只有这篇博客有关于ukai.ttc字体的介绍,也有可能我不是在master-darknet项目中运行的原因?不太清楚;制作完中文标签图片后,完全按照第二篇博客的第二步及以下步骤执行,就可以正确显示出带有中文标签的预测图片了

3.或者直接在第二篇博客上,将make_labels.py中的-font /usr/share/fonts/truetype/droid/DroidSansFallbackFull.ttf,将font的路径改为自己的路径,并在该路径下放入对应的文件,可以使用第一篇博客提供的ukai.ttc文件

 

 

你可能感兴趣的:(实践)