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

Posted 文火冰糖的硅基工坊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[YOLO专题-26]:YOLO V5 - ultralytics代码解析-detect.py程序的流程图与对应的plantUML源码相关的知识,希望对你有一定的参考价值。

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

本文网址:https://blog.csdn.net/HiWangWenBing/article/details/122443972


目录

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

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


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

第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

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

本文网址:https://blog.csdn.net/HiWangWenBing/article/details/122443972

以上是关于[YOLO专题-26]:YOLO V5 - ultralytics代码解析-detect.py程序的流程图与对应的plantUML源码的主要内容,如果未能解决你的问题,请参考以下文章

[YOLO专题-18]:YOLO V5 - ultralytics代码解析-总体架构

[YOLO专题-22]:YOLO V5 - ultralytics代码解析-超参数详解

[YOLO专题-21]:YOLO V5 - ultralytics代码解析-网络配置文件与总体结构

[YOLO专题-19]:YOLO V5 - ultralytics代码解析-dataloader数据加载机制

[YOLO专题-16]:YOLO V5 - 如何把labelme json训练数据集批量转换成yolo数据集

[YOLO专题-17]:YOLO V5 - 如何把YOLO训练数据集批量转换成带矩形框的图片