此代码在源代码darknet.py的基础上进行修改,将得到的输出结果写入xml文件中形成预标注文件,再使用lab
elImg在此基础上进行标注就会快速很多(主要是人工检查)。
以下是使用效果:
进度条显示总处理的图片数和预计剩余时间以及传输速度,最后输出平均每张图片预测的速度。(单位:s)
使用labelImg打开,查看效果:
官方的yolov4.weights模型检测效果看是挺准确的。
------------------------分割线7.29-------------------------------
后更新的代码解决遇到没有目标而引起的批量检测异常中断问题,以及可以自定义标签,只预标注感兴趣的类别标签,屏蔽模型其他的类别标注
------------------------分割线11.25-------------------------------
一直忘记更新这部分内容,目前代码的bug已经解决,对于读取不了的图片以及没有目标的图片可以自动跳过,不会再中断,此代码也支持darknet-yolov3,只需替换成yolov3的模型文件和配置即可。
对下部分代码进行说明:
batchDir目录中包含模型和模型相关文件:
.data文件、.names文件(可以不放在一起,但需要通过.data文件正确指定路径)、.cfg文件、.weights文件
imgsPath路径为待预测图片集合
xmlPath为保存xml文件的路径
Labels列表里面填写想要检测出感兴趣的类别,屏蔽掉其他类别,如果为空则自动标注所有类别。
另外说明一点是,运行此脚本的前提是darknet能够正常执行检测。此外因为此脚本依赖libdarknet.so动态链接库(windows上名称可能不一样),所以要放在darknet根目录下,否则可能会报找不到darknet动态链接库的错误。
------------------------分割线21.03.23-------------------------------
由于官方darknet-yolov4代码更新,若使用新版的darkent,旧版的预标注脚本将不能使用。此处更新了预标注代码darknet_label.py
,复制到darknet根目录下,调整个人配置即可运行。