PET(Point-Query Quadtree for Crowd Counting, Localization, and More)

PET(Point-Query Quadtree for Crowd Counting, Localization, and More)

  • 介绍
  • 实验记录
    • 训练阶段
    • 推断阶段

介绍

论文:Point-Query Quadtree for Crowd Counting, Localization, and More

实验记录

训练阶段

TODO

推断阶段

下面是以一张输入图像作为网络输入的实验过程记录:

1.特征提取:对于一张768×1024的图像,记为input。对input做位置编码得到768*1024的位置编码特征,记为input_pos_embed。input经过vgg19输出两个特征分别为f1(96×128)和f2(192×256),对应sparse特征dense特征。f1和f2经过encoder网络之后得到enc_src1enc_src2,尺寸相同。

2.生成分割图:enc_src1和enc_src2经过avg_pool+conv得到一个分割图split_map(12×8),将split_map插值得到分割图split_map_sparse(96×128)split_map_dense(192×256)。(从代码中上可以看出,split_map_sparse是1减去插值结果得到的,所以split_map_sparse和split_map_dense是互斥的,也就是说,在split_map_sparse中的dense区域在split_map_dense中对应的区域是稀疏的。
在这里插入图片描述

3.网格点获取:原始图像为768×1024,使用stride为8和4获取网格点,分别得到92×128和192×256个网格点索引,根据从input_pos_embed中拿到每个点的位置编码,形状为96×128和192×256,记为query_pos_embed1,query_pos_embed2。对应的点特征是从f1和f2中抽取出来,记为query_points_feature1和query_points_feature2。
在这里插入图片描述

4.网格点筛选:这个步骤有点复杂。以split_map_sparse为例,split_map_sparse形状为96×128,将从split_map_sparse分成8×12=96个rectangle,每一个rectangle包含8*16=128个像素,记为div_win(128×96×1),然后筛选大于0.5的像素并在第0维进行累加,对应代码“valid_div = (div_win > 0.5).sum(dim=0)[: , 0] 和v_idx = valid_div > 0 ”,v_idx是一个mask(96,)的(其中17个为false, 79个为true),也就是说在96个rectangle中,但只选择了79个rectangle。query_pos_embed1和query_points_feature1也同样分成96个rectangle,经过筛选后得到query_embed(128×79×256)query_feats(128×79×256)。enc_src1也被分为96个rectangle,经过筛选后得到memory_win(128×79×256)
在这里插入图片描述

5.Decoding:将上面的query_embed, query_feats,memory_win输入到decoder网络,获得10112(128×79)个输出点,预测10112个偏置,因为train阶段输入图像大小都是256*256,inference阶段输入图像大小各不相同,所以需要对10112个偏置进行rescale(根据256的倍数调整)。同样的操作,对于192×256(dense)特征图,生成4608个输出点

6.合并预测结果:根据预测的分类标签值,分别从10112个输出点选出56个点,从4608个输出点中选择118个点,合并成174个点, 也就是最终的所有预测点。gt为172,计算mae=(174-172)=2, 计算mse=(174-172)^2=4。

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

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

相关文章

4.8 构建onnx结构模型-Less

前言 构建onnx方式通常有两种: 1、通过代码转换成onnx结构,比如pytorch —> onnx 2、通过onnx 自定义结点,图,生成onnx结构 本文主要是简单学习和使用两种不同onnx结构, 下面以 Less 结点进行分析 方式 方法一&a…

Openfire CVE-2023-32315(metasploit版)

step1:用docker搭建环境 Step2:docker查看映射端口 Step3:打开mysql和apache2,访问特定端口,然后靶标应用。 Step4:用metasploit进行攻击: 首先,打开metasploit,然…

Python-条件判断(if语句详解)

条件判断 python代码执行从上到下,默认没有main函数 如果 否则 写法一:if if expression: do_something1 do_something2 ... next_something#一定会执行,和判断条件无关 if a > b:#执行语句1#执行语句2#执行语句3#... #执行语…

java第三十课

电商项目(前台): 登录接口 注册接口后台: 注册审核:建一个线程类 注意程序中的一个问题。 这里是 5 条记录,2 条记录显示应该是 3 页,实际操作过程 有审核机制,出现了数据记录动态变…

【从删库到跑路 | MySQL数据库总结篇】JDBC编程

个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【MySQL学习专栏】🎈 本专栏旨在分享学习MySQL的一点学习心得,欢迎大家在评论区讨论💌 目录 一、前言…

共建共创 | 紫光展锐-中国电信“终端测试与创新联合实验室”正式成立

近日,紫光展锐携手中国电信正式成立“终端测试与创新联合实验室”,这标志着紫光展锐在功能、协议、互操作性等测试方面的创新能力和持续发展能力获得认可,为进一步提升通信技术,助推终端厂商产品加速上市奠定了坚实的基础。 2023年…

网络之路26:STP生成树协议

正文共:2222 字 19 图,预估阅读时间:3 分钟 目录 网络之路第一章:Windows系统中的网络 0、序言 1、Windows系统中的网络1.1、桌面中的网卡1.2、命令行中的网卡1.3、路由表1.4、家用路由器 网络之路第二章:认识企业设备…

农产品加工行业分析:我国产业总产值共计7.17万亿元

农产品加工是用物理、化学和生物学的方法,将农业的主、副产品制成各种食品或其他用品的一种生产活动。是农产品由生产领域进入消费领域的一个重要环节。主要包括粮食加工、饲料加工、榨油、酿造、制糖、制茶、烤烟、纤维加工以及果品、蔬菜、畜产品、水产品等的加工…

Windows创建服务(.NET8)

windows服务 Windows服务是一种在Windows操作系统中运行的后台程序,用于在系统启动时启动并在系统关闭时关闭。这些服务可以是Microsoft自己的服务,也可以是第三方软件的服务。它们在后台运行,通常不需要交互式用户界面。 Windows服务通常用…

Windows(Microsoft)win电脑装Xcode方法

你想在你的Windows电脑上体验和使用苹果的Xcode进行应用打包。遗憾的是,Xcode官方只支持macOS操作系统,但别担心,我们有替代方案可以让你在Windows环境下进行iOS应用的开发和打包。接下来我将指导你如何实现这一目标。 图片来源:W…

Linux中的网络配置

本章主要介绍网络配置的方法 网络基础知识查看网络信息图形化界面修改通过配置文件修改 1.1 网络基础知识 一台主机需要配置必要的网络信息,才可以连接到互联网。需要的配置网络信息包括IP、 子网掩码、网关和 DNS 1.1.1 IP地址 在计算机中对IP的标记使用的是3…

协议栈的内部结构

上层会向下层逐层委派工作。 最上面的部分是网络应用程序,它们会将收发数据等工作委派给下层的部分来完成。尽管不同的应用程序收发的数据内容不同,但收发数据的操作是共通的。 应用程序的下面是Socket库,其中包括解析器,解析器…

Java画爱心

Java画爱心代码,每个人都可以被需要 效果图 源代码 package com.example.test; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Image; import java.awt.Toolkit; import javax.swing.JFrame; class Cardioid extend…

使用cross-env兼容windows和linux环境的nodejs变量

文章目录 前言一、windows使用二、linux环境三、区别相同点不同点 四、使用cross-env兼容项目安装cross-env使用 总结如有启发,可点赞收藏哟~ 前言 由于办公和家里的开发环境不同(windows和linux) 在处理nodejs项目的时候,脚本设…

关注!6岁娃眼外伤后头晕、呕吐,竟是这里骨折了……

孩子们天性活泼好动,总是爱跑爱跳打打闹闹,加上他们机体协调控制能力差,磕磕碰碰情况时有发生,可能导致外伤发生。 前不久,6岁的萱萱(化名)在学校上体育课时,不慎与同学相撞,导致右眼被撞伤。老…

Linux 正则表达式

内容概述 1 文本编辑工具之神 VIM 1.1 vi 和 vim 简介 在 Linux 中我们经常编辑修改文本文件,即由 ASCII Unicode 或者其他编码的纯文字的文件。之前介绍过的 nano,实际工具中我们使用更为专业,功能强大的工具 文本编辑种类: vi…

神经网络模型流程与卷积神经网络实现

神经网络模型流程 神经网络模型的搭建流程,整理下自己的思路,这个过程不会细分出来,而是主流程。 在这里我主要是把整个流程分为两个主流程,即预训练与推理。预训练过程主要是生成超参数文件与搭设神经网络结构;而推理…

基于OpenCV+CNN+IOT+微信小程序智能果实采摘指导系统——深度学习算法应用(含pytho、JS工程源码)+数据集+模型(一)

目录 前言总体设计系统整体结构图系统流程图 运行环境Python环境TensorFlow 环境Jupyter Notebook环境Pycharm 环境 相关其它博客工程源代码下载其它资料下载 前言 本项目基于Keras框架,引入CNN进行模型训练,采用Dropout梯度下降算法,按比例…

【Vue】vue整合element

上一篇: vue项目的创建 https://blog.csdn.net/m0_67930426/article/details/134816155 目录 整合过程 使用: 整合过程 项目创建完之后,使用编译器打开项目 在控制器里输入如下命令 npm install element-ui 如图表示安装完毕 然后在…

报错解决:Fatal error: ‘THC/THC.h‘: No such file or directory

报错解决:Fatal error: THC/THC.h: No such file or directory 报错原因解决方法总结参考文献 报错 博主的软硬件环境(供参考): LinuxNVIDIA GeForce RTX 3090CUDA 11.6gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0Pytorch&#…