XingZeng307 / YOLOv5_with_BiFPN

76 stars 15 forks source link

关于代码的一些问题 #2

Open wanghangege opened 3 years ago

wanghangege commented 3 years ago

你好,感谢您分享您的工程。我想咨询一下,您只是修改了yolov5x文件吗?或者更加详细地解释为(您对网络结构的连接进行了调整,对于训练部分没有改动),请问是这样吗?

XingZeng307 commented 3 years ago

你好,对的,我只修改了yolov5x结构相关的文件(yolov5x.yaml, common.py, yolo.py)。

yolov5s, m, l都需要你自己去做相应调整,不过都是一样,修改yolov5*.yaml里concat的(in_channel, out_channel)。

wanghangege commented 3 years ago

你好,对的,我只修改了yolov5x结构相关的文件(yolov5x.yaml, common.py, yolo.py)。 yolov5s, m, l都需要你自己去做相应调整,不过都是一样,修改yolov5*.yaml里concat的(in_channel, out_channel)。

谢谢你的回复,由于我对bifpn了解很少,在此我想咨询您一下我的考虑是否正确:BIFPN是在PANet结构的基础上,增加了由backbone上的对应层到第三支路(自下而上)的特征融合路径吗?

snow-tyan commented 3 years ago

@XingZeng307 感谢分享 @wanghangege 我觉得是在PANet基础上减少入度为1的层,增加了原始相同size特征层的短接,还有和ASFF类似的加权特征融合

SpongeBab commented 3 years ago

你们实现了吗,有提升吗

snow-tyan commented 3 years ago

@SpongeBab 没有提升==

SpongeBab commented 3 years ago

@snow-tyan 按照论文中和我个人的理解,应该肯定有提升的。我觉得这个concat实现的有问题,yaml也要改.


Edited:yolov5官方已经支持了bifpn,https://github.com/ultralytics/yolov5/blob/master/models/hub/yolov5-bifpn.yaml.

Have a try~。修改width和deepth参数就行了。

Rocky1salady-killer commented 3 years ago

init() missing 1 required positional argument: 'c2' 这个把报错怎么解决? 各位老哥!

snow-tyan commented 2 years ago

@SpongeBab 感谢通知

snow-tyan commented 2 years ago

@SpongeBab 我没很理解YOLOv5仓库给出的BiFPN,就多了个Concat P4就算bifpn了吗,没设置concat的系数也没加入训练,反而是这里的实现合理些。我也看过EfficientNet实现的BiFPN,复杂太多了

yezi99587 commented 2 years ago

@snow-tyan 我看了官方yolov5的,确实如你所说的。你有尝试了能用吗?

snow-tyan commented 2 years ago

@snow-tyan 我看了官方yolov5的,确实如你所说的。你有尝试了能用吗?

官方那个应该是@SpongeBab提交的pr,和这里的实现一样。据我用的数据集(BDD100K和KITTI)来说,没有提升,反而略有下降,我觉得可能tricks太多的原因,你可以试试无任何tricks对比看看

yezi99587 commented 2 years ago

无任何tricks? 比如去掉哪些? 你还是用官方的预训练权重训练的?感觉改了模型,要自己重新训练权重比较好

Python-Eric commented 2 years ago

@snow-tyan ,yolov5官方的bi-fpn,属于没有加上每个支路权重的吧,就是将每个输入节点的权重设置为1。

snow-tyan commented 2 years ago

@snow-tyan ,yolov5官方的bi-fpn,属于没有加上每个支路权重的吧,就是将每个输入节点的权重设置为1。

权重是训练参数

lchunleo commented 1 year ago

想知道原始的yolov5,neck (PANet)在哪里实现? 谢谢

yezi99587 commented 1 year ago

原始YOLOv5.yaml文件里面有实现

---原始邮件--- 发件人: @.> 发送时间: 2023年7月30日(周日) 晚上11:33 收件人: @.>; 抄送: @.**@.>; 主题: Re: [XingZeng307/YOLOv5_with_BiFPN] 关于代码的一些问题 (#2)

想知道原始的yolov5,neck (PANet)在哪里实现? 谢谢

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>