|
- 论文地址:https://arxiv.org/abs/2107.08430
- 项目地址:https://github.com/Megvii-BaseDetection/YOLOX
窗口程序集名 | 保 留 | 保 留 | 备 注 | yolox, , 公开 | | | | 变量名 | 类 型 | 数组 | 备 注 | stride | 整数型 | 3 | 输入_尺寸 | 整数型 | 2 | 平均 | 小数型 | 3 | 标准 | 小数型 | 3 | 置信阈值 | 小数型 | | 抑制阈值 | 小数型 | | 类数 | 整数型 | | DNN网络 | 网络类 | | 类名数组 | 字节集 | 0 |
stride = { 8, 16, 32 }输入_尺寸 = { 640, 640 } 平均 = { 0.485, 0.456, 0.406 }标准 = { 0.229, 0.224, 0.225 }类名数组 = 分割字节集 (读入文件 (“C:\Users\hanyo\Desktop\yolox-opencv-dnn-main\coco.names”), { 10 }, )类数 = 取数组成员数 (类名数组 )|
初始化 | | | |
模型路径 | 文本型 | | | | 配置阈值 | 小数型 | | | | NMS制阈值 | 小数型 | | | |
置信阈值 = 配置阈值 抑制阈值 = NMS制阈值 DNN网络 = 视觉_读取网络 (模型路径, , “”)变量名 | 类 型 | 静态 | 数组 | 备 注 | 尺度 | 小数型 | | | 输出图 | 多维矩阵类 | | | 前景目标 | 多维矩阵类 | | | 输出s | 多维矩阵类 | | 0 | 提取数量 | 整数型 | | | 高比率 | 小数型 | | | 宽比率 | 小数型 | | | n | 整数型 | | | i | 整数型 | | | j | 整数型 | | | 数t | 整数型 | | | row_ind | 整数型 | | | 指针 | 小数型指针类 | | | 网格_x数 | 整数型 | | | 网格_y数 | 整数型 | | | 预测_分数 | 小数型 | | | 分数 | 多维矩阵类 | | | 类ID坐标 | 点2i类 | | | 最大类分数 | 双精度小数型 | | | 类_idx | 整数型 | | | 类_分数 | 小数型 | | | 预测_概率 | 小数型 | | | 中心X | 小数型 | | | 中心Y | 小数型 | | | w | 小数型 | | | h | 小数型 | | | x0 | 小数型 | | | y0 | 小数型 | | | 类ID集 | 整数型 | | 0 | 置信度集 | 小数型 | | 0 | 预测框集 | 矩形2i类 | | 0 | 抑制索引 | 整数型 | | 0 | 索引 | 整数型 | | | 预测框 | 矩形2i类 | | | 左上角X | 小数型 | | | 左上角Y | 小数型 | | | 有下角X | 小数型 | | | 有下角Y | 小数型 | | | 标签 | 文本型 | | | 标签尺寸 | 尺寸2i类 | | | 基线坐标 | 整数型 | | |
尺度 = 1 输出图 = 调整大小图像 (输入图, 尺度 )归一化 (输出图 )前景目标 = 视觉_图像前景目标 (输出图, 1, , , 假, 假, 5 )DNN网络. 设置输入 (前景目标, “”, 1, )DNN网络. 前向计算V (输出s, DNN网络. 获取未连接的输出层名称 ()) 如果真 (输出s [1 ]. 维度 () = 3 )提取数量 = 输出s [1 ]. 维度元素数 (1 )输出s [1 ] = 输出s [1 ]. 重塑 (0, 提取数量 )高比率 = 输入图.行数 () ÷ 输入_尺寸 [1]宽比率 = 输入图. 列数 () ÷ 输入_尺寸 [2 ]数t = 取数组成员数 (类名数组 ) + 5 指针.指针 = 输出s [1 ]. 数据指针 ()计次循环首 (3, n )网格_x数 = 输入_尺寸 [2 ] ÷ stride [n ]网格_y数 = 输入_尺寸 [1 ] ÷ stride [n ]计次循环首 (网格_y数, i )计次循环首 (网格_x数, j )预测_分数 = 指针. 读 (4 )分数 = 输出s [1 ]. 行 (row_ind ). 列范围 (5, 输出s [1 ]. 列数 ()) 视觉_最小最大位置 (分数, , 最大类分数, , 类ID坐标, )类_idx = 类ID坐标.左边 类_分数 = 指针. 读 (5 + 类_idx )预测_概率 = 预测_分数 × 类_分数 如果真 (预测_概率 > 置信阈值 ) 中心X = (指针. 读 (0 ) + j - 1 ) × stride [n ]中心Y = (指针. 读 (1 ) + i - 1 ) × stride [n ]w = 求反对数 (指针. 读 (2 )) × stride [n ]h = 求反对数 (指针. 读 (3 )) × stride [n ]x0 = 中心X - w × 0.5 y0 = 中心Y - h × 0.5 加入成员 (类ID集, 类_idx )加入成员 (置信度集, 预测_概率 )加入成员 (预测框集, 矩形2i (x0, y0, w, h )) 指针.偏移 (数t)row_ind = row_ind + 1 计次循环尾 ()计次循环尾 ()计次循环尾 () 视觉_非最大抑制 (预测框集, 置信度集, 置信阈值, 抑制阈值, 抑制索引, 1, 0 )计次循环首 (取数组成员数 (抑制索引 ), i )索引 = 抑制索引 [i ] 预测框 = 预测框集 [索引 + 1 ] 左上角X = 预测框.左边 ÷ 尺度 左上角Y = 预测框.顶边 ÷ 尺度 有下角X = (预测框.左边 + 预测框.宽度 ) ÷ 尺度 有下角Y = (预测框.顶边 + 预测框.高度 ) ÷ 尺度 左上角X = 视觉_取最大值 (视觉_取最小值 (左上角X, 输入图. 列数 () - 1 ), 0 )左上角Y = 视觉_取最大值 (视觉_取最小值 (左上角Y, 输入图. 行数 () - 1 ), 0 )有下角X = 视觉_取最大值 (视觉_取最小值 (有下角X, 输入图. 列数 () - 1 ), 0 )有下角Y = 视觉_取最大值 (视觉_取最小值 (有下角Y, 输入图. 行数 () - 1 ), 0 )视觉_矩形1 (输入图, 点2i (左上角X, 左上角Y ), 点2i (有下角X, 有下角Y ), 标量 (0, 0, 255 ), 2, 0, 0 ) 标签 = 到文本 (类名数组 [类ID集 [索引 + 1 ] + 1 ]) + “:” + 到文本 (置信度集 [索引 + 1 ])标签尺寸 = 视觉_获取文本尺寸 (标签, #字体_衬线_简单, 0.5, 1, 基线坐标 )左上角Y = 视觉_取最大值 (左上角Y, 标签尺寸.高 )视觉_放置文本 (输入图, 标签, 点2i (左上角X, 左上角Y ), #字体_衬线_简单, 0.75, 标量 (0, 255, 0 ), 1, 8, 假)计次循环尾 ()|
调整大小图像 | 多维矩阵类 | | |
输入图 | 多维矩阵类 | | | | 规模 | 小数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | r | 小数型 | | | 填充_w | 整数型 | | | 填充_h | 整数型 | | | 零时 | 多维矩阵类 | | | 输出 | 多维矩阵类 | | |
r = 视觉_取最小值 (输入_尺寸 [2 ] ÷ 输入图. 列数 (), 输入_尺寸 [1 ] ÷ 输入图. 行数 ()) 规模 = r 填充_w = r × 输入图. 列数 ()填充_h = r × 输入图. 行数 ()零时. 初始化 (填充_h, 填充_w, #Cv无符号字节型_三通道, )视觉_调整尺寸 (输入图, 零时, 零时. 尺寸2i (), 0, 0, 1 )输出. 初始化 (输入_尺寸 [2 ], 输入_尺寸 [1 ], #Cv无符号字节型_三通道, 标量 (114, 114, 114 )) 零时. 复制 (输出. 感兴区域 (矩形2i (0, 0, 零时. 列数 (), 零时. 行数 ()) ), )返回 (输出 )变量名 | 类 型 | 静态 | 数组 | 备 注 | i | 整数型 | | | j | 整数型 | | | 指针 | 小数型指针类 | | | 视觉_颜色空间转换 (图, 图, #颜色_BGR转RGB, 0 )图. 转换到 (图, #Cv小数型, 1, 0 )变量循环首 (0, 图. 行数 () - 1, 1, i )指针.指针 = 图. 数据指针 () + i × 图. 维度元素尺寸 (0 )变量循环首 (0, 图. 列数 () - 1, 1, j )指针. 写 (0, (指针. 读 (0 ) ÷ 255 - 平均 [1 ]) ÷ 标准 [1 ])指针. 写 (1, (指针. 读 (1 ) ÷ 255 - 平均 [2 ]) ÷ 标准 [2 ])指针. 写 (2, (指针. 读 (2 ) ÷ 255 - 平均 [3 ]) ÷ 标准 [3 ])指针. 偏移 (3 )变量循环尾 ()变量循环尾 () 变量名 | 类 型 | 静态 | 数组 | 备 注 | net | yolox | | | 预测图 | 多维矩阵类 | | |
net. 初始化 (“C:\Users\hanyo\Desktop\yolox_s.onnx”, 0.6, 0.6 )预测图 = 视觉_图像解码 ( #预测图, #读图_彩色 )net. 识别 (预测图 )视觉_创建窗口 (“小白鼠 YOLOX Demo”, #窗口_标准 )视觉_显示图像 (“小白鼠 YOLOX Demo”, 预测图 )视觉_等待按键 (0 )视觉_销毁所有窗口 ()调试输出 (“完成”)返回 (0 )
|
|