YOLOV3对象检测未检测到对象,并且边界框未对对象进行边界

时间:2020-10-25 05:43:25

标签: python-3.x gpu yolo darknet

我正在实现YOLOv3,并且已经在我的自定义课程(番茄)上训练了该模型。根据许多站点提供的有关使用YOLOv3进行训练和物体检测的说明,我已经使用darknet模型53权重(https://pjreddie.com/media/files/darknet53.conv.74来开始训练。我认为没有必要列出步骤。

下面显示了我用于训练的目标图像之一(带有使用LabelImg的边界框): enter image description here

上图的边框的txt文件包含以下坐标,该坐标是使用labellmg创建的:

List<Office> offices= new List<Office>();
List<dynamic> json = json.decode(response.body);
offices= json.map((i)=>Office.fromJson(i)).toList();

现在,当我使用同一张图像进行测试以确定检测的准确性时,它无法检测到所有的西红柿,而且边框与对象之间的距离也很远,如下所示: enter image description here

我不确定发生了什么。

我已经克隆了git https://github.com/AlexeyAB/darknet,然后进行本地制作并在自定义对象上训练了模型。没有什么花哨。 上面的照片是从我的手机上拍摄的。我已经结合使用从手机拍摄的下载图像和自定义番茄图片来训练了Darknet。我有290张要训练的图像。

1 个答案:

答案 0 :(得分:0)

也许您的模型不能很好地推广。也许您训练得太多,这可能会导致拟合过度,甚至您的数据集也很小。

您可以尝试测试从未见过的数据(一张新的番茄图片),看看效果是否良好。

仔细检查您的配置文件,如果那里不正确,例如您在yolov3模型中使用yolov4 cfg。

我建议您阅读这篇文章,以帮助您更好地了解神经网络的工作原理: https://towardsdatascience.com/understand-neural-networks-model-generalization-7baddf1c48ca