Releases: zhang-dut/yolov5-parts
v3.1.0 - YOLOv5 in PyTorch
The main body of this project comes from v7.0 - YOLOv5 SOTA Realtime Instance Segmentation of ultralytics/yolov5
This version uses GhostNet as the backbone network, and adds CBAM(Coordinate attention) attention mechanism in v3.0.0.
Important Updates
- Replacing the backbone network: CSPDarknet53 -> GhostNet, to make it lightweight🎉NEW
- Add CBAM attention mechanisms🎉NEW
- After three Concats near the Head, 17/21/25Layer.
- Using VOC2007 dataset for training.
Specific Changes
- Add "models/parts_yolov5s-ghostnet_cbam.yaml"🎉NEW
- After three Concats near the Head, 17/21/25Layer in "models/parts_yolov5s-ghostnet_cbam.yaml".
- Modify "train.py"
- line 441: initial weights path -> weights/yolov5s.pt
- line 442: model.yaml path -> models/parts_yolov5s-ghostnet_cbam🎉NEW
- line 443: dataset.yaml path -> data/parts_voc2007.yaml
Notes
The modification of ECA and CA attention mechanisms is the same as CBAM.
v3.0.0 - YOLOv5 in PyTorch
The main body of this project comes from v7.0 - YOLOv5 SOTA Realtime Instance Segmentation of ultralytics/yolov5
This version uses GhostNet as the backbone network, and adds CA(Coordinate attention) attention mechanism in v2.0.0, placing it in 4 different positions.
Important Updates
- Replacing the backbone network: CSPDarknet53 -> GhostNet, to make it lightweight🎉NEW
- Add CA attention mechanisms and place them in 4 different positions🎉NEW
- After three Concats near the Head, 17/21/25Layer.
- After the first Concat, 13Layer.
- Before SPPF, 9Layer.
- Head last, 24Layer.
- Using VOC2007 dataset for training.
Specific Changes
- Modify "models/parts_yolov5s-ghostnet_ca(or ca2, ca3, ca4).yaml"🎉NEW
- After three Concats near the Head, 17/21/25Layer in "models/parts_yolov5s-ghostnet_ca.yaml".
- After the first Concat, 13Layer in "models/parts_yolov5s-ghostnet_ca2.yaml".
- Before SPPF, 9Layer in "models/parts_yolov5s-ghostnet_ca3.yaml".
- Head last, 24Layer in "models/parts_yolov5s-ghostnet_ca4.yaml".
- Modify "train.py"
- line 441: initial weights path -> weights/yolov5s.pt
- line 442: model.yaml path -> models/parts_yolov5s-ghostnet_ca(or ca2, ca3, ca4)🎉NEW
- line 443: dataset.yaml path -> data/parts_voc2007.yaml
v2.3.0 - YOLOv5 in PyTorch
The main body of this project comes from v7.0 - YOLOv5 SOTA Realtime Instance Segmentation of ultralytics/yolov5.
This version adds SE attention mechanism in v2.0.0.
Important Updates
- Add SE attention mechanism to this network.🎉NEW
- Using VOC2007 dataset for training.
Specific Changes
- Modify "models/common_se.py"🎉NEW
- Add Class: SEAttention.
- Modify "models/yolo.py"🎉NEW
- Find parse_model function(line 303), adding SEAttention(line 322).
- Modify "train.py"
- line 441: initial weights path -> weights/yolov5s.pt
- line 442: model.yaml path -> models/parts_yolov5s_se.yaml🎉NEW
- line 443: dataset.yaml path -> data/parts_voc2007.yaml
v2.2.0 - YOLOv5 in PyTorch
The main body of this project comes from v7.0 - YOLOv5 SOTA Realtime Instance Segmentation of ultralytics/yolov5.
This version adds ECA attention mechanism in v2.0.0.
Important Updates
- Add ECA attention mechanism to this network.🎉NEW
- Using VOC2007 dataset for training.
Specific Changes
- Modify "models/common_eca.py"🎉NEW
- Add Class: ECAAttention.
- Modify "models/yolo.py"🎉NEW
- Find parse_model function(line 303), adding ECAAttention(line 322).
- Modify "train.py"
- line 441: initial weights path -> weights/yolov5s.pt
- line 442: model.yaml path -> models/parts_yolov5s_eca.yaml🎉NEW
- line 443: dataset.yaml path -> data/parts_voc2007.yaml
Notes
There are errors in "models/parts_yolov5s_eca.yaml", which will be modified in subsequent versions.
- layer 17: CoordAttention -> ECAAttention
- layer 21: CoordAttention -> ECAAttention
- layer 25: CoordAttention -> ECAAttention
v2.1.0 - YOLOv5 in PyTorch
The main body of this project comes from v7.0 - YOLOv5 SOTA Realtime Instance Segmentation of ultralytics/yolov5.
This version adds CBAM attention mechanism in v2.0.0.
Important Updates
- Add CBAM attention mechanism to this network.🎉NEW
- Using VOC2007 dataset for training.
Specific Changes
- Modify "models/common_cbam.py"🎉NEW
- Add Class: ChannelAttention, SpatialAttention, CBAMBlock.
- Modify "models/yolo.py"🎉NEW
- Find parse_model function(line 303), adding CBAMBlock(line 322).
- Modify "train.py"
- line 441: initial weights path -> weights/yolov5s.pt
- line 442: model.yaml path -> models/parts_yolov5s_cbam.yaml🎉NEW
- line 443: dataset.yaml path -> data/parts_voc2007.yaml
v2.0.0 - YOLOv5 in PyTorch
The main body of this project comes from v7.0 - YOLOv5 SOTA Realtime Instance Segmentation of ultralytics/yolov5
This version adds CA(Coordinate attention) attention mechanism in v1.0.0, placing it in 4 different positions.
Important Updates
- Add CA attention mechanisms and place them in 4 different positions🎉NEW
- After three Concats near the Head, 17/21/25Layer.
- After the first Concat, 13Layer.
- Before SPPF, 9Layer.
- Head last, 24Layer.
- Using VOC2007 dataset for training.
Specific Changes
- Modify "models/parts_yolov5s_ca(or ca2, ca3, ca4).yaml"🎉NEW
- After three Concats near the Head, 17/21/25Layer in "models/parts_yolov5s_ca.yaml".
- After the first Concat, 13Layer in "models/parts_yolov5s_ca2.yaml".
- Before SPPF, 9Layer in "models/parts_yolov5s_ca3.yaml".
- Head last, 24Layer in "models/parts_yolov5s_ca4.yaml".
- Modify "train.py"
- line 441: initial weights path -> weights/yolov5s.pt
- line 442: model.yaml path -> models/parts_yolov5s_ca(or ca2, ca3, ca4)🎉NEW
- line 443: dataset.yaml path -> data/parts_voc2007.yaml
v1.3.0 - YOLOv5 in PyTorch
The main body of this project comes from v7.0 - YOLOv5 SOTA Realtime Instance Segmentation of ultralytics/yolov5
This version adds the GhostNet on top of v1.0.0.
For GhostNet network structure, please refer to GhostNet: More Features from Cheap Operations.
Important Updates
- Replacing the backbone network: CSPDarknet53 -> GhostNet, to make it lightweight.🎉NEW
- Using VOC2007 dataset for training.
Specific Changes
- Due to the inclusion of GhostConv and C3Ghost modules required for GhostNet in YOLOv5/v7.0, there is no need to modify "models/common.py".🎉NEW
- Modify "train.py"
- line 441: initial weights path -> weights/yolov5s.pt
- line 442: model.yaml path -> models/parts_yolov5s-ghost.yaml🎉NEW
- line 443: dataset.yaml path -> data/parts_voc2007.yaml
v1.2.0- YOLOv5 in PyTorch
The main body of this project comes from v7.0 - YOLOv5 SOTA Realtime Instance Segmentation of ultralytics/yolov5
This version adds the ShuffleNetV2 on top of v1.0.0.
Important Updates
- Replacing the backbone network: CSPDarknet53 -> ShuffleNetV2, to make it lightweight.🎉NEW
- Using VOC2007 dataset for training.
Specific Changes
- Modify "models/common.py"🎉NEW
- Add modules required for ShuffleNetV2.
- Add Class: ConvBNReLuMaxpool, ShuffleBlock.
- Modify "models/yolo.py"🎉NEW
- Find parse_model function(line 303), adding ConvBNReLuMaxpool, ShuffleBlock(line 322).
- Modify "train.py"
- line 441: initial weights path -> weights/yolov5s.pt
- line 442: model.yaml path -> models/parts_yolov5s_shufflenetv2.yaml🎉NEW
- line 443: dataset.yaml path -> data/parts_voc2007.yaml
v1.1.2 - YOLOv5 in PyTorch
The main body of this project comes from v7.0 - YOLOv5 SOTA Realtime Instance Segmentation of ultralytics/yolov5
This version adds the MobileNetV3 on top of v1.1.1.
Important Updates
- Replacing the backbone network: CSPDarknet53 -> MobileNetV3-Large, to make it lightweight.🎉NEW
- Using VOC2007 dataset for training.
Specific Changes
- Modify "models/common.py"
- Add modules required for MobileNetV3-Large.
- Add Class: h_sigmoid, h_swish, SELayer, conv_bn_hswish, InvertedResidual3(Different from InvertedResidual in MobileNetV2, so renamed InvertedResidual3).
- Modify "models/yolo.py"
- Find parse_model function(line 303), adding h_sigmoid, h_swish, SELayer, conv_bn_hswish, InvertedResidual3(line 322).
- Modify "train.py"
- line 441: initial weights path -> weights/yolov5s.pt
- line 442: model.yaml path -> models/parts_yolov5s_mobilenetv3l.yaml🎉NEW
- line 443: dataset.yaml path -> data/parts_voc2007.yaml
v1.1.1- YOLOv5 in PyTorch
The main body of this project comes from v7.0 - YOLOv5 SOTA Realtime Instance Segmentation of ultralytics/yolov5
This version adds the MobileNetV3 on top of v1.0.0.
Important Updates
- Replacing the backbone network: CSPDarknet53 -> MobileNetV3-Small, to make it lightweight.🎉NEW
- Using VOC2007 dataset for training.
Specific Changes
- Modify "models/common.py"🎉NEW
- Add modules required for MobileNetV3-Small.
- Add Class: h_sigmoid, h_swish, SELayer, conv_bn_hswish, InvertedResidual3(Different from InvertedResidual in MobileNetV2, so renamed InvertedResidual3).
- Modify "models/yolo.py"🎉NEW
- Find parse_model function(line 303), adding h_sigmoid, h_swish, SELayer, conv_bn_hswish, InvertedResidual3(line 322).
- Modify "train.py"
- line 441: initial weights path -> weights/yolov5s.pt
- line 442: model.yaml path -> models/parts_yolov5s_mobilenetv3s.yaml🎉NEW
- line 443: dataset.yaml path -> data/parts_voc2007.yaml