Hybridnets

July 11, 2023 · View on GitHub

Hybridnets Hybridnets是一个用于多任务的末端感知网络。我们的工作重点是交通目标检测、可行驶区域分割和车道检测。网络由backbone,neck与两个子检测head组成。

安装

  • 安装paddle。
  • 安装paddleseg,输入pip install paddleseg
  • 进入工程文件根目录,输入pip install -r requirements.txt

测试

运行hybridnets_test.py。默认图片路径为demo\image。默认输出路径为demo_result。配置文件路径projects\bdd100k.yml

训练

设置train.py中is_train参数为False。运行train.py。如果想要重新开始训练或者接上一次的参数文件训练,应设置load_weights参数为None或checkpoints\bdd100k\参数文件名。训练集地址在配置文件中修改(路径project\bdd100k.yml)。 训练过程:通过设置freeze_seg,freeze_det,freeze_backbone参数冻结网络中各结构,训练时先冻结分割头训练一定回合,再冻结主干网络和检测头训练一定回合,最后全部解冻进行训练。

评估

设置train.py中is_train参数为True。

权重文件

权重文件可以从百度云中下载:https://pan.baidu.com/s/1VfsQ-XzXNHcDuAouyPBqog ,提取码zo6w。测试图片与评估指标时分别将相应权重文件放在weights与checkpoints\bdd100k下,并修改测试代码中的load_weights参数使工程可以正确调用权重文件。(HybridNets-d3未采用预训练权重进行训练)。

参考:

本项目代码参考自:https://github.com/datvuthanh/HybridNets paperwithcode:https://paperswithcode.com/paper/hybridnets-end-to-end-perception-network-1