我用yolov7 model 检测两类目标人脸和抽烟,通过train训练完成得到best.pt模型权重文件,通过detect.py检测图片,只出现一个标记框,另外一个没有标记或者两个标记成一样的,这种问题如何解决?
回答不易,求求您采纳点赞哦
这种情况通常是因为模型训练不够充分或训练数据不够完整,也有可能是检测算法的参数需要调整,你可以尝试以下几个解决方案:
看你贴出来的第一张图,应该是将人脸区域都算为吸烟了,这就会导致nms的时候这两个区域重叠大的话认为是同一个区域了。
先调整下nms阈值,改成1和0看下啥效果。
1.数据集问题,你数据集标注是否正确,保证标注正确的情况下才行。标注正确是指你的人脸和吸烟是两个不同标签的检测框。
2.训练参数的问题。你看下你是不是设置为单类别训练了,导致yolov7将你的数据集里面的目标都当做一个类别来训练了,而且你刚好是吸烟是第0类,人脸是第1类这种。
3.你的数据集里面数据有没有像你贴出来的这样,一个是远距离小目标(检测图大),还有一个是近距离的图像,这个也会影响一部分检测效果。