AVOD论文和代码解析

article/2025/11/7 9:23:45

1.介绍

AVOD(Aggregate View Object Detection)算法和MV3D算法在思路上非常相似,甚至可以说,AVOD是MV3D的升级版本

总的来说,和MV3D相比,AVOD主要做了以下一些改进:

(1)MV3D中使用VGG16的一部分进行特征提取。在AVOD中,作者使用了引入FPN层的Encoder-Decoder结构进行高分辨率点云和图片特征提取(如下图示);
在这里插入图片描述 图1 AVOD中的特征提取层D
(2)MV3D中使用8个角点(每个角点由一个三维坐标表示)描述3D BBox。在AVOD中,作者使用4个角点(只包含x,y)和2个高度(共4*2+2=10)来描述一个3D BBox。
在这里插入图片描述
(3)还有一些改动我们后面再说

2 AVOD网络结构和流程

AVOD的网络结构如下图所示。
在这里插入图片描述
具体包括:

输入——>特征提取——>1×1卷积——>裁剪和大小缩放——>特征融合——>全连接——>NMS——>裁剪和大小缩放——>特征融合——>全连接——>NMS

2.1 输入

从图中可以看出,网络的输入有两个(并不是三个,3D Anchor grid某种意义上不算输入)。这两个输入分别为(1)图片输入;(2)俯视视角的3D点云数据。

图片数据不多说,就是前视图BEV数据由两部分组成,分别为(1)高度图;(2)密度图。这里和MV3D不同的是,MV3D中还有强度图,AVOD作者觉得强度图的增益并不多,就把这个图给删了,这样还能降低计算量。

(a)高度图的获取方式:

选择点云数据的BEV视角[-40,40] × [0,70]的区域,划分为0.1米大小的一个个小方格(假设方格是个数是 H H H× W W W)。在每个小方格里,将高度区域为 [0,2.5] 划分为M个切片,每个切面范围内找到最大高度点云对应的高度即可。这样总共获得了 H H H× W W W× M M M大小的高度图输入。

(b)密度图的获取方式:

每个单元格的密度计算公式为 m i n min min( 1.0 1.0 1.0, l o g ( N + 1 ) l o g 16 \frac{log(N+1)}{log16} log16log(N+1)),其中N是单元格里点云数量。

2.2 特征提取

Feature Extractor的结构在图1中已经给出了,其实这种结构在图像分割领域非常常见,结构这块就不多说了。

至于作者为什么选择这种Encoder-Decoder的结构(引入FPN层代替VGG16),是因为在MV3D中,像行人这样的小物体的俯视图中本身就很小,然后进行特征提取后,长宽会被进一步地被压缩,以至于在特征图上可能都占不了一个像素点,那么对这类小物体的检测精度就不够了。

2.3 1 1 1 × 1 1 1 卷积

特征提取结束后,作者先利用卷积操作对特征图进行降维。为什么要用卷积进行降维呢?

论文中作者提到:

Attempting to extract feature crops directly from high dimensional feature maps imposes a large memory overhead per input view. As an example, extracting 7 x 7 feature crops for 100K anchors from a 256-dimensional feature map requires around 5 gigabytes1 of memory assuming 32-bit floating point representation

总结来说,也就是不降维的话,模型在提取feature crops的时候内存消耗会非常大。

2.4 裁剪和大小缩放

这一步其实也不难理解,我们现在有很多3D Anchor(输入的3D Anchor grid)。我们要将这些3D Anchor映射到俯视视角前视视角。那么就分别获得了这两个视角各自的2D Anchor(分别记做A和B,A为BEV视角2D Anchor,B为图片视角2D Anchor)。

然后将这些2D Anchor作为待裁剪的区域,分别裁剪由特征网络和 1 1 1 × 1 1 1 卷积输出的BEV特征图(记做C)和RGB特征图(记做D)。裁剪后统一将裁剪的区域缩放到 7 7 7 × 7 7 7大小。

这里贴一下代码实现,具体如下:

  # Do ROI Pooling on BEV# self._proposal_roi_crop_size = [7,7]bev_rois = tf.image.crop_and_resize(bev_feature_maps,bev_proposal_boxes_norm_tf_order,tf_box_indices,self._proposal_roi_crop_size,name='bev_rois')# Do ROI Pooling on imageimg_rois = tf.image.crop_and_resize(img_feature_maps,img_proposal_boxes_norm_tf_order,tf_box_indices,self._proposal_roi_crop_size,name='img_rois')

2.5 特征融合

完成裁剪和大小缩放后,将裁剪的BEV特征图(记做C)和RGB特征图(记做D)按位均值操作,即可完成融合

2.6 全连接和NMS

融合的特征用作两个全连接层的输入,一个全连接层用来进行3D BBox的回归,另一个全连接层用来进行前景/背景置信度的估计。

回归的参数为
在这里插入图片描述
前三个为Anchor和Ground-Truth之间中心点的偏移后三个为Anchor和Ground-Truth之间尺度(长宽高)的比例的对数。(与MV3D相同)

文章选用了Smooth L1损失进行回归,选用了交叉熵用于前景背景分类。至此,作者完成了第一轮粗略的RPN操作

2.7 更细粒度的Region Proposal

上面我们进行了一轮完成的RPN过程,粗略地获得了一系列看起来还可以的3D BBox。但是还是不够,因为框还是比较多,位置也不足够准确。

所以作者又进行了一轮RPN。过程是

(1)先在粗略选择的Proposal中选择前K个最好的3D BBox

(2)然后继续将这些3D BBox映射到BEV视角前视视角,分别获得对应视角上的2D BBox

(3)利用BEV视角的2D BBox在BEV特征上进行裁剪和Resize,得到裁剪重塑的BEV特征

(4)利用前视视角的2D BBox在图像特征上进行裁剪和Resize,得到裁剪重塑的图像特征

(5)利用按位平均操作,实现裁剪重塑的BEV特征和裁剪重塑的图像特征融合

(6)全连接层引出三个分支,分别用于处理融合特征,得到三个输出,输出内容为输出框的位置回归朝向估计以及类别分类

(7)完成

上述有关朝向估计,作者在原论文中也做了特别的说明。

作者提到了在MV3D中,朝向估计是依赖于长边估计的,也就是检测出来的3D检测框的哪个边最长,朝向就沿着这个方向。

当然,这会有两个问题。其一就是车辆可能符合这样的规律,但行人不一定符合这个设定。其二就是,假设长边确定了,可能有两个相差180度的方向都沿着这个长边。如下图4所示,假设知道了BEV视角的检测框(绿色),可能有两个相差180的朝向都沿着长边。
在这里插入图片描述
为了避免这样的歧义,作者引入了两个角度 ( x θ x_{θ} xθ y θ y_{θ} yθ = = = ( c o s θ , s i n θ ) (cosθ,sinθ) cosθsinθ 约束朝向。


http://chatgpt.dhexx.cn/article/1G2xQKmu.shtml

相关文章

论文阅读笔记 | 三维目标检测——AVOD算法

如有错误,恳请指出。 文章目录 1. 背景2. 网络结构3. 实验结果 paper:《Joint 3D Proposal Generation and Object Detection from View Aggregation》 1. 背景 AVOD同样是一个two-stage(使用了RPN提取候选框)、anchor-based网络结构。获得较高的召回率…

IC授权卡和复制卡的区别_信用卡小知识【芯片卡磁条卡的区别】

各位老板,企业家大家好,我是小胡,您身边的金融专家。 今天呢跟大家说一下信用卡芯片卡和磁条卡的区别? 信用卡呢,现在普及率非常高的。几乎是人手一张或者是多张。那么大家知道芯片卡和磁条卡的区别到底在哪里&#xf…

IC卡清卡软件的使用

IC卡清卡软件,可以在知道卡片密码的情况下,把卡片恢复出厂密码,清除卡片数据和密码。 如下图 然后读取卡片文件,即卡片dump文件, 然后把卡片放读写器上,点清卡按钮,开始清卡,将清除…

门禁 IC卡 和 ID卡初步了解

目录 一、常用卡介绍 二、复制加密IC卡 1. 工具 2. 方法 3. 最简单的办法 三、IC卡种类介绍 1、接触型IC卡 2、非接触型IC卡 3、串行传输型IC卡 4、并行传输型IC卡 5、存储型IC卡(Memory Card) 6、加密存储型IC卡(Memory Card With Security Logic) 7、智能…

@芯片IC卡也能被复制?冒名卡/克隆卡分分钟复制完成【威 要器妖酒寺起舞酒久吧尔救】

去年底,广西贺州法院审理了一起未成年人盗刷校园IC卡案。被告廖某将已充值的校园IC卡信息复制到另一张空白卡上,在校园内的食堂、超市等进行刷卡消费。并将此方式传给另外4名同乡伙伴,5人共计非法盗刷2万多元。 网购工具 操作简单 据被告廖某…

ID卡复制教程(使用T5577卡复制4100卡)

1 ID卡的常见类型与区别 国内常见的普通ID卡多为EM 4100 或 EM 4102卡,其特点是不可修改ID号。为了复制普通ID卡,通常采用T5577 或 EM4305卡(俗称ID白卡),其特点是内部EEPROM可读可写,修改卡内EEPROM的内容…

教程:利用艾斯PM3GUI软件助手,帮你查IC卡漏洞

测试目的:检查身边的IC卡是否有技术漏洞(门禁卡,会员卡) 测试软件:艾斯PM3GUI软件助手2022版(IC卡信息安全专家)测试设备:PM3easy 优化增强版测试环境:Windows10 我们先拿…

华为手机NFC功能,教你一键复制各种卡

日常生活中,我们经常会携带各种卡,比如:公交卡、门禁卡、银行卡等,但是有时候忘记带了怎么办?或者带了却丢失了。 很多人都知道NFC功能支持充值公交卡,但是它的其他作用你还知道多少个,这期小编…

IC授权卡和复制卡的区别_北京居住证跟居住卡的区别

北京市居住证是小伙伴们在北京居住、作为常住人口享受基本公共服务和便利、通过积分申请登记常住户口的证明。持有居住证就是在京享受基本公共服务和便利的基础,居住登记卡是申领居住证的基础。按照北京市相关规定,在到达北京3日内,小伙伴应主动申报暂住登记,领取居住登记卡…

蓝牙卡复制html,车库蓝牙卡能复制吗

现在小区为了业主小车的安全会在车库上安装门禁系统。那么车库蓝牙卡能复制吗?车库蓝牙卡怎么复制呢?下面就跟着小编一起来看看吧! 车库蓝牙卡能复制吗: 车库蓝牙卡能复制,价格一般在30-60元左右,复制的蓝牙卡与原版外…

普通门禁卡及各类复制卡相关知识

转自: https://nfctool.cn/42 本文带你了解M1卡的数据结构,为以后的破解提供理论基础。同时带你了解各种IC卡,让你对破解和复制有更清晰的目标。请注意,ID卡没有密码,一读一写即可复制,手机手环不能模拟ID卡…

IC卡与ID卡

IC卡与ID卡定义 IC卡全称集成电路卡(Integrated Circuit Card),又称智能卡(Smart Card)它是将一个微电子芯片嵌入符合ISO 7816标准的卡基中,做成卡片形式,芯片含的存储器(ROM、EEPR…

IC授权卡和复制卡的区别_一起来了解苹果礼品卡的区别,解决你购买时的困惑...

要说到现在过节送什么,除了日常的烟、酒之外。Apple礼品卡也是不少年轻人的选择。但是,如果您去购买Apple礼品卡,您会很快发现事情变得有些混乱。因为有多种Apple礼品卡可供选择,它们的名称各不相同,作用也是不同,为了解决你的困惑,我们一起来了解一下Apple礼品卡的区别…

Python 读写IC卡、复制IC卡

本示例使用的发卡器:https://item.taobao.com/item.htm?spma1z10.5-c.w4002-17663462238.11.3614789e318TMs&id615391857885https://item.taobao.com/item.htm?spma1z10.5-c.w4002-17663462238.11.3614789e318TMs&id615391857885 #python通过缩进来表示代…

IC卡防批量复制破解 Mifare卡一卡一密方案说明 门禁卡校园卡水卡会员卡防破解方案

目前市面上大部分的IC卡(如门禁卡,门锁卡,水卡,校园卡,会员卡等)均属于Mifare1S50卡。该类卡片虽然在采购价格上较有优势,但同时也存在被批量破解、复制等安全性风险。如果更换为CPU卡&#xff…

php ic卡,IC卡的数据结构认识

讲解一下滚动码: 滚动码是一种防复制的技术,判断滚动码的方法非常的简单。 拿到物业发的原卡先解密,解密后数据保存。保存完成之后,拿着你的物业卡原卡去刷一下电梯或者门禁。然后再回来对比一下数据。看下刷电梯前的数据和刷电梯…

IC卡分类

M1 普通IC卡,0扇区不可以修改,其他扇区可反复擦写。我们日常碰到的单位食堂卡,小区门禁卡,单元的电梯卡都使用的是M1卡。 UID卡 所有区块可被重复读写 卡片ID可改写且使用后门指令更改ID 卡片ID可重复修改 相应后门指令&#xff…

使用ACR122U和Proxmark3复制IC卡

常见IC卡片介绍及使用ACR122U和Proxmark3复制卡方法 一、常见IC卡片介绍 1.1 ID卡和IC卡 ID卡:全称身份识别卡(Identification Card),多为低频(125Khz),是一种不可写入的感应卡,含固定的编号,主要有台湾SYRIS的EM格…

Delphi 复制IC卡写UID卡0区0块

本示例使用的发卡器:https://item.taobao.com/item.htm?spma1z10.5-c.w4002-17663462238.11.7154789eKODONP&id615391857885https://item.taobao.com/item.htm?spma1z10.5-c.w4002-17663462238.11.7154789eKODONP&id615391857885 unit declaredll;interf…

PN532模块复制IC加密卡

PN532模块复制IC加密卡 忍受够了每天都需要带着各种各样的卡片,如果可以将卡复制进手机里,那我就可以只带着手机,每天出门都是轻装上阵。 只要你的手机拥有nfc功能,那你可以直接将卡模拟进手机里,当然这样并没有完全…