在训练小目标检测的时候,yolov5数据常用的增强会导致目标残缺,特别是对文字目标进行检测的时候,增强导致文字目标残缺后,训练出的模型常常会出现误检,将部分笔画检测出文字;所以就对目标中的数据增强后的结果做了合适的处理:
替换代码包括(utils/datasets.pyutils/datasets.py line 755):
#---原始代码--begin
# for x in (labels4[:, 1:], *segments4):
# np.clip(x, 0, 2 * s, out=x) # clip when using random_perspective()
#----end
#---新的代码:fxp begin
width_ = 2*s
img4, labels4 = selected_elements_func_x(img4, labels4, width_)
#---end
def selected_elements_func_x(img4, labels4, width_):
'''
#对有遮挡的目标区域,进行标签去除和相应的目标位置填充
:param labels4:
:return: