现在yolov5的neck用的是PANet,在EfficientDet论文中提出了BiFPN结构,还有更加不错的性能。所以就尝试将yolov5中的PANet层改为BiFPN。
需要修改的地方
- 主要是修改yaml配置文件
我修改的是yolov5x.yaml,将concat层连接不同的layer。有三层BiFPN,最后输出为了和yolov5对应,我没有用在论文里写的p3-p7五个节点,我只用了三个。(这里应该要用relu使w>0,我训练报错就没有用relu) - 修改common.py
class Concat(nn.Module):
# Concatenate a list of tensors along dimension
def __init__(self, c1, c2):
super(Concat, self).__init__()
# self.relu = nn.ReLU()
self.w1 = nn.Parameter(torch.ones(2, dtype=torch.float32), requires_grad=

本文介绍了将EfficientDet中的BiFPN结构应用于YOLOv5,以替换原有的PANet层,从而提高目标检测的性能。作者修改了yolov5x.yaml配置文件,调整了concat层的连接方式,并在yolo.py中实现了pairwise add操作。目前是一个初步的结合,模型仍在训练中,后续会分享训练结果。
最低0.47元/天 解锁文章
913

被折叠的 条评论
为什么被折叠?



