我正在尝试创建一个可以检测来自视频帧的流量标记的应用。我正在使用yolo-tensor,按照https://github.com/thtrieu/darkflow中的步骤进行操作。
我需要知道如何使用我的交通标志图像数据集来训练这个模型?
答案 0 :(得分:0)
如果你在Windows上使用Darkflow,那么你需要对如何使用Darkflow进行一些小的调整。如果克隆代码并直接从存储库中使用,那么您需要将python
放在给定的命令前面,因为它是一个python文件。
e.g。 python flow --imgdir sample_img/ --model cfg/yolo-tiny.cfg --load bin/yolo-tiny.weights --json
如果您使用pip进行全局安装(这不是一个坏主意),并且您仍想使用任何目录中的flow
实用程序,请确保随身携带流文件。
要训练,请使用github页面上列出的命令:https://github.com/thtrieu/darkflow
如果您需要对自己的数据进行培训,则需要采取此处概述的一些额外步骤:https://github.com/thtrieu/darkflow#training-on-your-own-dataset
您的注释需要采用流行的PASCAL VOC格式,这是一组包含文件信息和边界框数据的xml文件。
将您的流量命令指向新数据集和注释以进行训练。
答案 1 :(得分:0)
您要练习的最佳数据是PASCAL VOC数据集。您需要为培训准备2个文件夹。 1个带有图像的文件夹和1个带有xml文件的文件夹(注释文件夹),1个图像将需要1个xml文件(具有相同名称)的内容所有基本信息(对象名称,对象位置,...)。之后,您只需在cfg文件夹中选择1个预定义的.cfg文件,然后运行命令:
flow --model cfg/yolo-new.cfg --train --dataset "path/to/images/folder" --annotation "path/to/annotation/folder"
了解darkflow支持的更多选项,以优化更多培训流程。
答案 2 :(得分:0)
在花费太多时间训练对象检测的自定义数据集之后
先决条件: 1:培训环境:具有至少4GB GPU的系统,或者您可以在安装了cuda 9的情况下使用AWS / GCP预配置的云机 2:Ubuntu 16.04操作系统 3:要检测的物体的图像。图像大小不应太大,否则会在数据集训练中造成内存不足的问题 4:标签工具很多,比如我使用的LabelImg / BBox-Label-Tool也是不错的一种 我也尝试了python项目数据集生成器,但在实时场景中使用数据集生成器进行标记的结果效率不高
我对培训环境的建议是使用AWS机器,而不是花时间在本地安装cuda和cudnn,即使您能够在本地安装cuda,但是如果您没有GPU> = 4 gb,您将无法训练很多次,它将因内存不足问题而中断
训练数据集的解决方案:
1:使用tensorflow对象检测api训练ssd_mobilenet_v2数据集 此培训输出可同时在android和ios平台上使用
2:使用darknet训练需要标签的Pascal VOC数据格式的数据集,因为labelIMG可以很好地完成标签工作 3:使用darkflow
重新训练作为Darknet输出的数据权重