网站与建设实训报告xin主题wordpress

web/2025/9/29 2:47:33/文章来源:
网站与建设实训报告,xin主题wordpress,怎么做创意短视频网站,网站漂浮代码Anchor生成机制 YOLOv1YOLOv2YOLOv4模型输出decode1.维度变换2.读取位置信息3.坐标变换4.构建网格5. 计算实际偏移量6.得到输出 YOLOv1 利用全连接层直接对边界框进行预测 YOLOv2 YOLOv2通过缩减网络#xff0c;使用416x416的输入#xff0c;模型下采样的总步长为32#… Anchor生成机制 YOLOv1YOLOv2YOLOv4模型输出decode1.维度变换2.读取位置信息3.坐标变换4.构建网格5. 计算实际偏移量6.得到输出 YOLOv1 利用全连接层直接对边界框进行预测 YOLOv2 YOLOv2通过缩减网络使用416x416的输入模型下采样的总步长为32最后得到13x13的特征图然后对13x13的特征图的每个cell预测5个anchor boxes对每个anchor box预测边界框的位置信息、置信度和一套分类概率值。使用anchor boxes之后YOLOv2可以预测13x13x5845个边界框 YOLOv4 完成cfg文件的解析模型的创建与权重文件的加载之后现在要做的就是执行检测操作主要调用了utils/utils.py中的do_detect() 函数在demo.py中 boxes do_detect(m, sized, 0.5, 0.4, use_cuda)模型forward后输出结果存在list_boxes中因为有3个yolo输出层所以这个列表list_boxes中又分为3个子列表 其中list_boxes[0]中存放的是第一个yolo层输出其特征图大小对于原图缩放尺寸为8即strides[0], 对于608x608图像来说该层的featuremap尺寸为608/876则该层的yolo输出数据维度为[batch, (classnum41)*num_anchors, feature_h, feature_w] , 对于80类的coco来说测试图像为1每个yolo层每个特征图像点有3个锚点该yolo层输出是[1,255,76,76]对应锚点大小为[1.5,2.0,2.375,4.5,5.0,3.5]; (这6个数分别是3个锚点的w和h,按照 w 1 , h 1 , w 2 , h 2 , w 3 , h 3 w_1,h_1,w_2,h_2,w_3,h_3 w1​,h1​,w2​,h2​,w3​,h3​排列) 第二个yolo层检测结果维度为[1,255,38,38],对应锚点大小为[2.25,4.6875,4.75,3.4375,4.5,9.125], 输出为 [1,255,38,38]第三个yolo层检测维度为[1,255,19,19]对应锚点大小为[4.4375,3.4375,6.0,7.59375,14.34375,12.53125] 输出为 [1,255,19,19] do_detect() 函数中主要是调用了 get_region_boxes1(output, conf_thresh, num_classes, anchors, num_anchors, only_objectness1, validationFalse) 这个函数对forward后的output做解析并做nms操作 每个yolo层输出数据分析对于第一个yolo层输出维度为[1,85*3,76,76 ]; 会将其reshape为[85, 1*3*76*76],即有1*3*76*76个锚点在预测每个锚点预测信息有80个类别的概率和4个位置信息和1个是否包含目标的置信度 yolov4的输出需要包含的信息有物体的位置信息、有物体的概率、物体的分类可以写为 t x , t y , t w , t h , o b j , c l s t_x, t_y, t_w, t_h, obj, cls tx​,ty​,tw​,th​,obj,cls其中前四个是物体的位置信息最后一个cls根据分类的类别数维度不同如果只有1个类别那就只占1个位置如果是2个类别就是2个位置使用one-hot编码。 而在实际的yolov4的最终输出之前是19,19,1024通过蓝色的18个(当只有1个分类类别的时候如果有2个那就是19个卷积核)111024的卷积核得到19,19,18最后reshape成3,19,19,tx, ty, tw, th, obj, cls。后面的是检测的物体信息而前面的3,19,19的理解如下 19*19个特征点等同于把原图分成了19 *19个网格原图的输入是608 *608的那么每一个网格的大小就是608/1932每一个特征点只关注对应的网格判断对应的网格是否有物体。 模型输出decode 模型的输出有三个分别是(B, 255, 19, 19),(B, 255, 38, 38),(B, 255, 76, 76)因此需要对这三个输出分别解码。 1.维度变换 首先需要将输出view成(B, A, n_ch, H, W)的形式其中H和W就是输出的尺寸A是锚框数量n_ch是包含了bx, by, bw, bh, obj, cls的信息维度为418085。之后再进行一个维度变换最终得到(B, 3, 19, 19, 85)的维度以第一个为例。此时最后一个维度85包含了我们解码所需的所有信息也就是说我们需要对前面B319*19这么多的数据都进行同样方式的解码。 2.读取位置信息 接下来我们取出来bx, by, bw, bh, obj, cls。注意此时除了cls之外其他所有的维度都减少了一维变成了(B, 3, 19, 19)因为cls是以切片形式取的所以维度数量不变是(B, 3, 19, 19, 80)。 # 取出来 bx, by, bw, bh bx, by output[..., 0], output[..., 1] bw, bh output[..., 2], output[..., 3] # 取出来obj和cls obj output[..., 4] cls output[..., 5:]3.坐标变换 我们需要先把bx, by取一个sigmoid把bw和bh取一个exp。这里加上了缩放因子据说当图片中的目标既有大又有小的时候会起作用暂时没见到实际起作用的情况不过先加上了当缩放因子为1的时候相当于不起作用。这里我们同时也对物体以及分类的置信度取sigmoid。 # 进行初步转换bx torch.sigmoid(bx)by torch.sigmoid(by)bw torch.exp(bw) * scale_x_y - 0.5 * (scale_x_y - 1)bh torch.exp(bh) * scale_x_y - 0.5 * (scale_x_y - 1)# 对物体置信度分类置信度也取sigmoiddet_confs torch.sigmoid(obj)cls_confs torch.sigmoid(cls)4.构建网格 目标是找到点相对于整张图的偏移的比例但由于我们分了网格因此先找相对于网格的偏移比例。 这里图像被分成了19*19个网格假如中心点在第2行第3列的网格里面。 相对网格的偏移量肯定是小数比如在x轴方向上偏移是0.5在y轴上偏移是0.2也就是在网格中间偏上的位置。 那么以网格为单位相对于所有网格来说中心点的实际偏移量 在x轴方向的0.5加上偏移的网格数也就是2从0开始计数那么得到了2.5就是以网格为单位相对于整张网格图的x轴偏移量。同理y轴方向上相对于y轴的就是1.5。 因此我们需要把x和y方向上的网格数量构建一下并找到以网格为单位的偏移量。 # 构建网格grid_x和grid_ygrid_x torch.arange(W, dtypetorch.float).repeat(1, 3, W, 1).to(device)grid_y torch.arange(W, dtypetorch.float).repeat(1, 3, H, 1).permute(0, 1, 3, 2).to(device)# 求bx和bybx bx grid_xby by grid_y5. 计算实际偏移量 既然找到了相对于网格的偏移量那么偏移的比例就是偏移量除以网格长度这个比例就是相对于网格的偏移比例同时也是相对于整张图的偏移比例。另外根据解码图我们对于w和h还需要乘上先验框的宽、高得到最终的bw和bh。 # 取每个anchor的长和宽求bw和bhfor i in range(num_anchors):bw[:, i, ...] * anchors[i * 2]bh[:, i, ...] * anchors[i * 2 1]# 对数据转换除以网格数量得到相对整张图的偏移的比例并增加一个维度bx (bx / W).unsqueeze(-1)by (by / H).unsqueeze(-1)bw (bw / W).unsqueeze(-1)bh (bh / H).unsqueeze(-1)6.得到输出 现在对于中心点相对于原图的偏移量以及宽高都得到了我们把这四个数据结合起来再把obj和cls的置信度都合在一起就得到了我们最终解码后的输出用于后续的画图等计算。 # 四个数据拼接起来并reshape成[B, -1, 4]的形状boxes torch.cat([bx, by, bw, bh], dim-1).reshape(B,A*W*H, 4)det_confs det_confs.unsqueeze(-1).reshape(B,A*W*H, 1)cls_confs cls_confs.reshape(B,A*W*H, num_classes)outputs torch.cat([boxes, det_confs, cls_confs], dim-1)注网格生成 grid_x torch.linspace(0, input_width - 1, input_width).repeat(input_height, 1).repeat(batch_size * len(self.anchors_mask[i]), 1, 1).view(x.shape).type(FloatTensor) #先生成一行(width),在重复一列(height),再扩充维度最后view成[batchsize, 3, h, w]grid_y torch.linspace(0, input_height - 1, input_height).repeat(input_width, 1).t().repeat(batch_size * len(self.anchors_mask[i]), 1, 1).view(y.shape).type(FloatTensor)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/83652.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

与网站开发相关的书籍网站主题旁边的图标怎么做的

根据教育部考试中心《关于做好2017年全国计算机等级考试工作的通知》(教试中心函〔2016〕237号)和《关于做好2017年9月全国计算机等级考试报名工作的通知》(鲁招考[2017]67号)要求,现将2017年9月我省全国计算机等级考试报名有关事项公告如下:一、 考试科…

网站建设 可行性wordpress主题 表白

Redis vs. Memcached: 持久化支持: Redis支持两种持久化方式(RDB和AOF),而Memcached不支持持久化。这意味着Redis可以在服务器重启后恢复数据,而Memcached在重启后数据会丢失。 数据结构: Redis的数据结构…

公司网站建设请示报告企业网站建设开题报告

第4章 TCP/IP 通信案例:访问 Internet 上的Web 服务器 4.1 实例总图 4.2 部署代理服务器 客户端和目标服务器之间可能存在多个代理服务器。 正向代理:要求客户端自己设置代理服务器的地址。 反向代理:设置在服务器端。 透明代理&#xff1…

深圳网站制作公司 讯神马seo教程

1.6 Spark作业提交原理 Spark作业(任务)提交就是使用spark中spark-sumbit命令将已经封装好成jar包的程序提交到spark集群中执行运行从而得到计算结果的过程,在提交过程中我们对提交的作业(任务)进行参数设置操作 spa…

后台风格网站湛江网站建设皆选小罗24专业

golangvue微服务电商系统 文章目录 golangvue微服务电商系统一、项目前置准备二、项目简介三、代码GItee地址 golang、vue redis、mysql、gin、nacos、es、kibana、jwt 一、项目前置准备 环境的搭建 官方go开发工程师参考地址:https://blog.csdn.net/qq23001186/cat…

网站建设价格差异多少wordpress月亮花园

文 | 水哥源 | 知乎Saying1. 小的性能差异在容易实现面前一文不值,这一点是XGBoost和LightGBM的最大优势2. 没能与embedding很好地结合无疑是树模型的灾难,吃不下巨量的新数据,也打不过DNN,除了一些规模比较小的公司,树…

织梦做中英文网站织梦通用seo网站模板

解锁Python装饰器的魔力:提升代码魅力的秘密武器 Python的装饰器(Decorators)是一种特殊的语法构造,它允许我们在不修改被装饰函数源代码的情况下,通过在其周围添加额外功能或行为。 装饰器本质上是一个函数&#xf…

茂名企业自助建站如何查网站关键词

静态类 继承(多态)、静态本身就是相反的。另外需要知道属性、事件其实是些特殊的方法。 使用 static 修饰符声明属于类型本身而不是属于特定对象的静态成员。 static 修饰符可用于类、字段、方法、属性、运算符、事件和构造函数,但不能用于索…

做单页网站需要做什么的公众号内容制作步骤

文章目录 Pickle模块简介Pickle模块的使用 最近从Github上下载了一个预训练好的Faster-RCNN模型用于科研任务,突然对该文件的格式,.pkl文件产生了一丝疑惑,便去特意了解了一下该格式的文件的含义,下面与大家共享。 Pickle模块简介…

wordpress开启子站上海哪家网站建设好

技术方案建议 使用RESTful API:采用RESTful API架构,实现与OpenAI服务的交互和数据传输。数据安全:确保用户数据的安全性和隐私保护,采用加密传输和安全认证机制。用户界面设计:设计直观友好的用户界面,提…

网站模版网 下载传统媒体网站建设

一、概述 1.1介绍 Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。 Hutool中的工具方法来自于每个用户的精雕细…

青岛网站设计建立公司中国建行官方网站

1 为什么向AMSAT社区提及VPX / VNX 1.1VPX是包括卫星在内的最新一代军用车辆增长最快的标准 VITA 65 – 面向地面车辆的 OpenVPX文献检索将揭示在许多商业和军事坚固型系统应用中的广泛应用VITA 78 – AFRL和工业界正在开发用于卫星的“SpaceVPX”和“Space VPX Lite” 1.2 …

做网站需要的知识做网站公司哪个比较好

前段时间做一个小项目,为了同时存储多条数据,其中有一个功能是解析Excel并把其中的数据存入对应数据库中。花了两天时间,不过一天多是因为用了"upload"关键字作为URL从而导致总报同一个错,最后在同学的帮助下顺利解决&a…

长沙网站建设价中学生做的网站有哪些方面

awk的脚本套路是: awk的脚步部分最好用一对单引号将 ‘BEGIN{} /pattern1/{}…/patternN/{} END{}’ 套起来, 因为常用到$号, $号在单引号中不会被转义, 在双引号中有取值的含义 awk -F 自定义分隔符 BEGIN{开始块} /pattern1/{操作pattern1过滤的行的块} /pattern2/{操作patt…

番禺建设工程交易中心网站免费网站制作多少钱

目录 1 redo log(重做日志)2 undo log(回滚日志)3 Binlog(二进制日志)4 两阶段提交4.1 执行过程4.2 系统崩溃后重启如何刷新数据4.3 redo log 和 bin log区别 MySQL是一个关系型数据库管理系统,…

玩具网站规划说明书购物网站微信小程序注册方式

5 月 8 日,上海交通大学电子信息与电气工程学院(简称电院)与阿里巴巴集团宣布共同成立人工智能与系统联合实验室(后称“联合实验室”),并在上海交大闵行校区举行了揭牌仪式。 上海交大电院副院长王贺升教授…

个人公司网站建设千年之恋网页制作代码

3 存储 3.1 存储引擎 3、InnoDB 的四大特性? InnoDB 是 MySQL 数据库中最常用的存储引擎之一,它的四大特性通常指的是: ACID 兼容性: 原子性 (Atomicity): 保证事务内的操作要么全部成功,要么全部失败,不会出现中间状态。例如,银行转账操作,从一个账户向另一个账户转…

网站 什么语言开发网站 怎么做百度才能搜索出来

ipython开发环境搭建以及pandas快速入门0.开发环境搭建技巧网页版ipython:ipython notebooknumpy1.pandas 快速入门一导入创建对象2. pandas 快速入门二空数据处理apply的用法count和mode函数数据合并3. pandas 快速入门三数据整形数据透视时间序列数据可视化数据载…

用户体验较好的网站移动互联网开发课程设计选题

😆😆😆感谢大家的观看😆😆 🌹 reshape 函数 transpose 和 permute 函数 view 和 contigous 函数 squeeze 和 unsqueeze 函数 在搭建网络模型时,掌握对张量形状的操作是非常重要的&#xff…

wordpress博客网站描述在哪里贵州企业网站建设公司

从源码解析Kruise原地升级原理 本文从源码的角度分析 Kruise 原地升级相关功能的实现。 本篇Kruise版本为v1.5.2。 Kruise项目地址: https://github.com/openkruise/kruise 更多云原生、K8S相关文章请点击【专栏】查看! 原地升级的概念 当我们使用deployment等Wor…