???YOLOC: Combined, Unified paradigm for YOLO object detection framework.Including YOLOv5、YOLOv6、YOLOv7、YOLOX、YOLOv3、YOLOv4、Scaled_YOLOv4、YOLOR、YOLOv5-Lite、transformer、PPYOLO、TPH、PicoDet...
YOLOC算法库 是一个基于 PyTorch 的一系列 YOLO 检测算法集成工具箱。用来组合不同模块构建不同网络。
内置YOLOv5、YOLOv6、YOLOv7、YOLOX、YOLOR、Transformer、YOLOv5-Lite、YOLOv3、YOLOv4、Scaled_YOLOv4、PP-YOLO、TPH-YOLOv5、PicoDet等算法模型...
模块组件化:帮助用户自定义快速组合Backbone、Neck、Head,使得网络模型多样化,助力科研改进检测算法、工程算法部署落地更便捷。构建更强大的网络模型。
统一模型代码框架、统一任务形式、统一应用方式、统一部署、统一调参、易于模块组合、构建更强大的网络模型。
它基于 YOLOv5 代码框架,并同步适配 YOLOv5(v6.0/v6.1更新) 部署生态。使用这个项目之前, 您可以先了解YOLOv5库。
简体中文 | English
项目地址: https://github.com/Him-wen/YOLOC
?支持更多的YOLO系列算法模型(持续更新...)
YOLOC 算法库汇总了多种主流YOLO系列检测模型,一套代码集成多种模型:
以上多种检测算法使用统一模型代码框架,集成在 YOLOC 库中,统一任务形式、统一应用方式。?便于科研者用于论文算法模型改进,模型对比,实现网络组合多样化。?工程算法部署落地更便捷,包含轻量化模型和精度更高的模型,根据场景合理选择,在精度和速度俩个方面取得平衡。同时该库支持解耦不同的结构和模块组件,让模块组件化,通过组合不同的模块组件,用户可以根据不同数据集或不同业务场景自行定制化构建不同检测模型。
?模型支持导出ONNX进行TensorRT推理,落地部署。
?支持加载YOLOv3、YOLOv4、YOLOv5、YOLOv7、YOLOR等网络的官方预训练权重进行迁移学习
?支持 Anchor-base 检测器 和 Anchor-Free 检测器
?支持更多Backbone
?支持更多Neck
?支持更多检测头Head
?支持更多即插即用的注意力机制
?支持更多损失函数
?支持更多NMS
?支持更多数据增强
?支持更多Loss
?支持加权框融合(WBF)
? 内置多种网络模型模块化组件
Conv, GhostConv, Bottleneck, GhostBottleneck, SPP, SPPF, DWConv, MixConv2d, Focus, CrossConv, BottleneckCSP, CBAM, ResBlock_CBAM, CoordAtt, CrossConv, C3, CTR3, Involution, C3SPP, C3Ghost, CARAFE, nn.ConvTranspose2d, DWConvTranspose2d, C3x, SPPCSPC, GhostSPPCSPC, BottleneckCSPA, BottleneckCSPB, ConvSig, BottleneckCSPC, RepConv, RepConv_OREPA, RepBottleneck, RepBottleneckCSPA, RepBottleneckCSPB, RepBottleneckCSPC, Res, ResCSPA, ResCSPB, ResCSPC, RepRes, RepResCSPA, RepResCSPB, RepResCSPC, ResX, ResXCSPA, ResXCSPB, ResXCSPC, RepResX, RepResXCSPA, RepResXCSPB, RepResXCSPC, Ghost, GhostCSPA, GhostCSPB, GhostCSPC, SwinTransformerBlock, STCSPA, STCSPB, STCSPC, SwinTransformer2Block, ST2CSPA, ST2CSPB, ST2CSPC, conv_bn_relu_maxpool, Shuffle_Block, RepVGGBlock, CBH, LC_Block, Dense, DWConvblock, BottleneckCSP2, DWT, BottleneckCSP2SAM, VoVCSP等 详细代码 ./models/common.py文件 内搜索??对应模块链接
以上组件模块使用统一模型代码框架、统一任务形式、统一应用方式,模块组件化? 可以帮助用户自定义快速组合Backbone、Neck、Head,使得网络模型多样化,助力科研改进检测算法,构建更强大的网络模型。
?包括YOLOv3、YOLOv4、Scaled_YOLOv4、YOLOv5、YOLOv6、YOLOv7、YOLOX、YOLOR、Transformer、PicoDet、YOLOv5-Lite、PPYOLO、TPH-YOLOv5、其他多种改进网络结构等算法模型的yaml配置文件汇总
?用户可自行改进网络
About the code. Follow the design principle of YOLOv5.
使用方式基本和YOLOv5框架对齐。
在Python>=3.7.0 的环境中克隆版本仓并安装 requirements.txt,包括PyTorch>=1.7。
$ git clone https://github.com/Him-wen/YOLOC.git # 克隆
$ cd YOLOC
$ pip install -r requirements.txt # 安装
$ python train.py --data coco128.yaml --cfg configs/yolov5/yolov5s.yaml #默认为yolo
通过参数命令--mode
即可切换不同模型的训练和推理。
$ python train.py --mode yolo # yolov3、yolov4、yolor、scaled_yolov4、PicoDet、ppyolo模型及相关改进模型
$ python train.py --mode yolox # YOLOX模型及相关改进模型
$ python train.py --mode yolov6 # YOLOv6模型及相关改进模型
$ python train.py --mode yolov7 # YOLOv7模型及相关改进模型
detect.py
在各种数据源上运行推理, 并将检测结果保存到 runs/detect
目录。
$ python detect.py --source 0 # 网络摄像头
img.jpg # 图像
vid.mp4 # 视频
path/ # 文件夹
path/*.jpg # glob
如果您使用不同模型来推理数据集,则可以使用 wbf.py 通过加权框融合来集成结果。 您只需要在 wbf.py 中设置 img 路径和 txt 路径。
$ python wbf.py
Updating...
与YOLOv5框架同步
后续会持续建设和完善 YOLOC 生态
完善集成更多 YOLO 系列模型,持续结合不同模块,构建更多不同网络模型
横向拓展和引入关联技术,如半监督、自监督学习等等
跟进:YOLO-mask & YOLO-pose
Thanks to their great works.
darknet 、yolov3 、yolov4 、scaled_yolov4 、yolov5 、yolov6 、yolov7 、yolor 、yolox 、yolou 、attention 、yolov5_research 、yolov5-lite 、yolov5-mc、tph-yolov5
The content of this site is only for sharing notes. If some content is infringing, please sending email.
If you have any question, please discuss with me by sending email to [email protected].