作者主页(​​文火冰糖的硅基工坊​​​):​​文火冰糖(王文兵)的博客_文火冰糖的硅基工坊


目录

​第1章 detect.py程序的流程图​

​第2章 流程图对应的plantUML源码​


第1章 detect.py程序的流程图

[YOLO专题-26]:YOLO V5 - ultralytics代码解析-detect.py程序的流程图与对应的plantUML源码_深度学习

第2章 ​​流程图对应的plantUML源码​

@startuml
start
:run();
:输入参数检查;
:输出目录准备;
:模型加载;
:模型半精度配置;
switch(data source?)
case(webcam)
:dataset=LoadStreams;
case(local)
:dataset=LoadImages;
endswitch

while (检查dataset是否为空?) is (not empty)
:batch images fetch;
:batch images 640 resize =ims;
:batch images 归一化normalization;
:batch模型输入(1,3,640,y);
:多模型并行预测pred=model(ims);
:所有检测框预测结果
(1,16380,85 = (x,y,w,h,conf,80));
:最大比抑制pred=non_max_suppression(pred,...);
:所有检测到单批次目标框
(1, N, 6 =(x,y,x,y,conf,class));
:二阶段分类pred=utils.general.
apply_classifier(pred, new_model,ims);
:所有经过二次分类后的单批次目标框
(1, N, 6 =(x,y,x,y,conf,class));
while (检查batch img是否为空?) is (not empty)
:获得单张图片的所有目标框;
:拷贝出batch迭代中的一张原图;
:把检测到的目标框尺寸还原到原图尺寸;
while (检查目标框是否为空?) is (not empty)
:获得单个目标框信息
(6=x,y,x,y,conf,class);
:转换目标框尺寸
(6=x,y,w,h,conf,class);
:目标框标签输出
(6=x,y,w,h,conf,class);
:在原图上绘制目标框
(6=x,y,x,y,conf,class);
:裁剪并存储目标框
(4=x,y,x,y);
endwhile(目标框为空)
:打印单张图片的预测时间;
:可视化单张预测图片;
:存储单张预测图片;
endwhile(batch img为空)
:打印batch image处理结束;
endwhile (dataset为空)
:展现最终的预测结果;
:需要时候更新模型;
stop
@enduml

作者主页(​​文火冰糖的硅基工坊​​​):​​文火冰糖(王文兵)的博客_文火冰糖的硅基工坊