用于自动驾驶的基于深度学习的图像 3D 物体检测:综述

news2024/11/17 13:45:34

论文地址:https://ieeexplore.ieee.org/abstract/document/10017184/

背景

准确、鲁棒的感知系统是理解自动驾驶和机器人驾驶环境的关键。自动驾驶需要目标的 3D 信息,包括目标的位置和姿态,以清楚地了解驾驶环境。
摄像头传感器因其颜色和纹理丰富且价格低廉而广泛应用于自动驾驶中。摄像头的主要问题是缺乏了解 3D 驾驶环境所必需的 3D 信息。此外,物体的尺度变化和遮挡使得 3D 物体检测更具挑战性。许多基于深度学习的方法(例如深度估计)已经被开发来解决 3D 信息的缺乏。

为了实现完全自动驾驶,感知系统(例如 3D 目标检测)需要能够在恶劣天气下正常工作,准确地提供有关驾驶环境的精确信息,并能够在高速驾驶时实现快速决策。建立一个能够准确给出驾驶环境的精确信息、快速做出高速驾驶决策、并且能够在恶劣天气下工作的感知系统对于实现完全自动驾驶的目标至关重要。

有多种不同的 3D 传感器可用于 3D 物体检测,例如光检测和测距 (LiDAR)、无线电检测和测距(雷达)以及深度传感器(RGB-D 相机)。
LiDAR: 更加能适应恶劣天气,但数据非结构化且稀疏,使得激光雷达处理更具挑战性。此外,激光雷达基于颜色的检测能力较差,而且价格昂贵。
RADAR: 适合在恶劣天气和夜间驾驶时使用。然而,分辨率较低,因此基于雷达的目标检测效果较差。
CAMERA: 价格低廉,并且具有丰富的颜色和纹理信息。但缺乏高精度的深度信息。

单目相机缺乏深度信息的问题可以使用立体相机或运动结构来部分解决。预测立体实例分割是解决 3D 目标检测单目深度问题的另一种技术。此外,一些工作将图像转换为伪激光雷达表示以解决深度信息的缺乏。

目标检测概述

目标检测类别

基于图像的 3D 目标检测模型使用 2D 目标检测作为基础模型,并使用不同的技术(例如回归)扩展到 3D 目标检测。因此,先从 2D 目标检测开始理解。
基于深度学习的通用目标检测方法可以分为两类:两阶段和一阶段。
两阶段目标检测网络具有用于生成候选区域的感兴趣区域(ROI)网络和用于 BBox 回归和分类的后续网络,如下图所示:
在这里插入图片描述

R-CNN [1]、SPPNet [2]、Fast R-CNN [3]、Faster R-CNN [4]、RFCN [5] 和 Mask R-CNN [6] 是两阶段 2-D 的示例目标检测模型。

[1] R. Girshick, J. Donahue, T. Darrell, and J. Malik, “Rich feature hierarchies for accurate object detection and semantic segmentation,” in Proc. IEEE Conf. Comput. Vis. Pattern Recognit. (CVPR), Jun. 2014, pp. 580–587.
[2] K. He, X. Zhang, S. Ren, and J. Sun, “Spatial pyramid pooling in deep convolutional networks for visual recognition,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 37, no. 9, pp. 1904–1916, Sep. 2015.
[3] R. Girshick, “Fast R-CNN,” in Proc. IEEE Int. Conf. Comput. Vis. (ICCV), Dec. 2015, pp. 1440–1448.
[4] S. Ren, K. He, R. Girshick, and J. Sun, “Faster R-CNN: Towards realtime object detection with region proposal networks,” in Proc. Neural Inf. Process. Syst. (NIPS), 2015, pp. 1–9.
[5] J. Dai, Y. Li, K. He, and J. Sun, “R-FCN: Object detection via regionbased fully convolutional networks,” 2016, arXiv:1605.06409.
[6] K. He, G. Gkioxari, P. Dollár, and R. Girshick, “Mask R-CNN,” in Proc. IEEE Int. Conf. Comput. Vis. (ICCV), 2017, pp. 2961–2969.

[1] 提出了R-CNN,一种两级二维目标检测网络,如下图所示。
在这里插入图片描述
R-CNN 目标检测系统:(1) 获取输入图像,(2) 使用选择性搜索算法提取大约 2000 个自下而上的区域提案,(3) 对于每个提案,使用 CNN 计算特征并将其馈送到 SVM 分类器,然后, (4)线性SVM对每个区域进行分类。
R-CNN 的主要缺陷是从每张图像中冗余生成 2000 个 BBox,增加了网络的计算负担。
[2] 提出了空间金字塔池化网络(SPPNets)通过引入空间金字塔池化层来克服这个问题,该层生成 ROI 的固定长度表示。 R-CNN 和 SPPNet 将训练特征提取和 BBox 回归网络分开训练。因此,训练需要很长时间来处理。
Girshick [3] 提出了 Fast R-CNN 检测器,通过同时训练特征提取和 BBox 回归网络来解决多阶段训练问题。 Fast R-CNN 还使用选择性搜索算法来生成提案。由于提案生成的冗余性,选择性搜索算法增加了模型的计算负担。因此,Fast R-CNN 对于实时应用的检测速度较低。
为了解决这个问题,Faster R-CNN [4]使用区域提议网络而不是选择性搜索算法来生成区域提议。
基于 Faster R-CNN 进行了许多改进,例如 RFCN [5]、Mask RCNN [6]、Light head RCNN 和 Feature Pyramid Network。
Mask RCNN [6] 网络将 Faster R-CNN 和全卷积网络 (FCN) 结合在一个架构中,并带有附加的二进制掩码以显示 BBox 中对象的像素。

另一方面,单阶段目标检测网络在一次通过网络的过程中直接学习类概率和 BBox 坐标,而不为每个图像生成区域建议。下图展示了单阶段目标检测的总体架构:
在这里插入图片描述
[7] 开发了 You Only Look Once (YOLO),这是第一个单级深度学习目标检测器。该网络使用单个神经网络将图像划分为区域,并同时预测每个区域的 BBox 和类概率:在这里插入图片描述

[7] J. Redmon, S. Divvala, R. Girshick, and A. Farhadi, “You only look once: Unified, real-time object detection,” in Proc. IEEE Conf. Comput. Vis. Pattern Recognit. (CVPR), Jun. 2016, pp. 779–788.

YOLO 比两级目标检测网络更快,但由于类不平衡问题(一级网络的常见问题),其准确性较低。YOLO 在小目标和目标组检测方面遇到了困难。 YOLO v2 通过在卷积层上添加批量归一化、将图像分辨率从 224×224 提高到448×448、使用锚框而不是全连接层来预测采用多尺度训练的 BBox 等来改进YOLO。YOLO 的下几个版本进一步提高了检测速度并解决了精度瓶颈。

[8] 提出了单次多框检测器(SSD),这是一种单阶段检测网络,通过引入长宽比和多尺度特征图来检测目标,在多个尺度上改善了 YOLO 的精度瓶颈和小目标检测问题。

[8] W. Liu et al., “SSD: Single shot multibox detector,” in Proc. Eur. Conf. Comput. Vis. Amsterdam, The Netherlands: Springer, Oct. 2016, pp. 21–37.

[9] 引入了 RetinaNet,通过引入焦点损失(focal loss)作为分类损失函数来改进单阶段目标检测。该网络的精度与两阶段目标检测相当,同时保持较高的检测速度。

[9] T.-Y. Lin, P. Goyal, R. Girshick, K. He, and P. Dollár, “Focal loss for dense object detection,” in Proc. IEEE Int. Conf. Comput. Vis. (ICCV), Oct. 2017, pp. 2980–2988.

[10] 提出了M2det,一种多级特征金字塔网络,能够构建多尺度、多层次的特征,有助于检测不同尺度的目标。
[11] 引入了 RefineDet 以进一步提高单阶段物体检测的准确性。

[10] Q. Zhao et al., “M2Det: A single-shot object detector based on multilevel feature pyramid network,” in Proc. AAAI Conf. Artif. Intell., 2019, vol. 33, no. 1, pp. 9259–9266.
[11] S. Zhang, L. Wen, X. Bian, Z. Lei, and S. Z. Li, “Single-shot refinement neural network for object detection,” in Proc. IEEE/CVF Conf. Comput. Vis. Pattern Recognit., Jun. 2018, pp. 4203–4212.

一阶段目标检测网络速度很快,但由于类别不平衡问题,其检测精度低于两阶段检测器。另一方面,两级检测器比单级检测器慢;然而,它们具有更好的检测精度。 RPN 减少了两级检测器的冗余检测。然而,one-stage 检测器在没有 RPN 的情况下单次直接检测类概率和 BBox 估计,因此冗余降低了检测精度。

3-D 边界框编码

使用透视投影,可以根据 2-D BBox 估计 3-D BBox。
有四种常用的 3-D BBox 编码技术:八角方法、四角两高度方法、轴对齐 3-D 中心偏移方法和七参数法,如下图所示。
在这里插入图片描述

轴对齐 3-D 中心偏移方法
3D BBox 由其中心 T = [ Δ x , Δ y , Δ z ] T T=[\Delta x, \Delta y, \Delta z]^T T=[Δx,Δy,Δz]T,尺度 D = [ Δ h , Δ w , Δ l ] D = [\Delta h, \Delta w, \Delta l] D=[Δh,Δw,Δl] 以及方向 R ( Δ θ , Δ ϕ , Δ α ) R(\Delta \theta, \Delta \phi, \Delta \alpha) R(Δθ,Δϕ,Δα) 描述。其中 Δ θ , Δ ϕ , Δ α , Δ h , Δ w , Δ l \Delta \theta, \Delta \phi, \Delta \alpha, \Delta h, \Delta w, \Delta l Δθ,Δϕ,Δα,Δh,Δw,Δl 分别表示框的方位角,仰角,滚动角,高度,宽度和长度。滚动角和仰角被视为零,因此,可以将 3D-BBox 表示为 [ Δ x , Δ y , Δ z , Δ h , Δ w , Δ l , Δ θ ] [\Delta x, \Delta y, \Delta z, \Delta h, \Delta w, \Delta l, \Delta \theta] [Δx,Δy,Δz,Δh,Δw,Δl,Δθ]

八角方法
八角方法从3-D提案的八个角回归定向3-D框 ( Δ x 0... , Δ x 7 , Δ y 0 , . . . , Δ y 7 , Δ z 0 , . . . , Δ z 7 ) (\Delta x0...,\Delta x7,\Delta y0,...,\Delta y7,\Delta z0,...,\Delta z7) (Δx0...Δx7Δy0...Δy7Δz0...Δz7) ,这是一个 24 维向量表示。

四角两高度方法
四个角和两个高度,代表顶角和底角相对于地平面的偏移。这两个高度由传感器高度确定。因此,3-D BBox 表示为 ( Δ x 1 , . . . , Δ x 4 , Δ y 1 , . . . , Δ y 4 , Δ h 1 , Δ h 2 ) (\Delta x1,...,\Delta x4,\Delta y1,...,\Delta y4,\Delta h1,\Delta h2) (Δx1,...,Δx4,Δy1,...,Δy4,Δh1,Δh2)

七参数法
虽然八角编码方法比轴对齐方法提供更好的结果,但它没有考虑 3-D BBox 的物理约束。因此,它强制 BBox 的顶角与底角对齐。四角和两高度编码技术通过在所提出的 BBox 和 groundtruth 框之间添加相对于地平面的角和高度偏移来解决这个问题。

此外,Voxelnet 和 SECOND 采用了七点 3-D BBox 编码技术。这七个点分别是 ( x , y , z , w , l , h , θ ) (x,y,z,w,l,h,θ) (x,y,z,w,l,h,θ),其中 x , y , z x,y,z x,y,z 是中心坐标; w w w l l l h h h 分别是宽度、长度和高度。 θ θ θ 是绕 z z z 轴的偏航旋转。仰角和横滚角被视为零。
使用七点技术的真实值和锚点之间的回归操作可以定义为:
Δ x = x g t − x a d a , Δ y = y g t − y a d a , Δ z = z g t − z a d a Δ w = log ⁡ w g t w a , Δ h = log ⁡ h g t h a , Δ l = log ⁡ l g t l a Δ θ = sin ⁡ ( w g t − w a ) \Delta x = \frac{x^{gt}-x^{a}}{d^{a}},\Delta y = \frac{y^{gt}-y^a}{d^a}, \Delta z = \frac{z^{gt}-z^{a}}{d^{a}} \\ \Delta w = \log \frac{w^{gt}}{w^{a}}, \Delta h = \log \frac{h^{gt}}{h^{a}}, \Delta l = \log \frac{l^{gt}}{l^{a}} \\ \Delta \theta = \sin(w^{gt}-w^{a}) Δx=daxgtxaΔy=daygtya,Δz=dazgtzaΔw=logwawgt,Δh=loghahgt,Δl=loglalgtΔθ=sin(wgtwa)

其中上标 g t gt gt a a a 分别代表真实值和锚框。 d a = ( ( w a ) 2 + ( l a ) 2 ) 1 / 2 d^a = ((w^a)^2 + (l^a)^2)^{1/2} da=((wa)2+(la)2)1/2 是锚框的对角线。

目标检测的评估指标

目标检测常用的评估指标是平均精度(AP),它是每个目标类别在不同召回率下的平均检测精度。平均 AP(mAP)用作总体目标类别性能比较的最终评估指标。并交交集 (IOU) 阈值(预测和真实 BBox 之间的几何重叠)用于测量目标定位精度。
在这里插入图片描述

IOU 的图形表示如图所示(黄色区域代表预测框与真实 BBox 的交集,而绿色区域代表两者的并集)。代表性阈值可以根据目标的不同而变化。例如,在 KITTI 数据集中,汽车的 3-D BBox 需要 0.7 的 IOU,行人和骑自行车的人需要 0.5 的 IOU。
IOU的数学表达式为:
IOU = bbox pred ∩ bbox gt bbox pred ∪ bbox gt \text{IOU}=\frac{\text{bbox}_{\text{pred}} \cap \text{bbox}_{\text{gt}}}{\text{bbox}_{\text{pred} } \cup\text{bbox}_{\text{gt}}} IOU=bboxpredbboxgtbboxpredbboxgt

其中 bbox pred \text{bbox}_{\text{pred}} bboxpred 是预测的 BBox, bbox gt \text{bbox}_{\text{gt}} bboxgt 是真实的 BBox。此外, F 1 F1 F1 分数和查准率-召回率曲线被用作分类的评价指标。
精确率显示正样本 (TP) 与总数据集实际值的比率,而召回率则显示了 TP 与预测值的比率。精确率与召回率的平衡对于 AP 和 mAP 很重要。 AP 通过平均 R 等间隔召回水平的精度来近似精度/召回曲线形状:
A P ∣ R = 1 ∣ R ∣ ∑ r ∈ R ρ interp ( r ) AP|R=\frac{1}{|R|}\sum_{r\in R} \rho_{\text{interp}}(r) APR=R1rRρinterp(r)

对于 KITTI 数据集,它是针对 11 个等间隔的召回级别进行计算的,即 R 11 = ( 0 , 0.1 , 0.2 , . . . , 1 ) R_{11} = (0, 0.1, 0.2, ..., 1) R11=(0,0.1,0.2,...,1)。当召回间隔为零时,正确匹配的预测在底部 recall bin 处给出 100% 的精度 。插值函数 ρ interp ( r ) \rho_{\text{interp}}(r) ρinterp(r) 定义为:
ρ interp ( r ) = max ⁡ ρ ( r ~ ) , r ~ : r ~ ≥ r \rho_{\text{interp}}(r) = \max \rho (\tilde{r}), \tilde{r}:\tilde{r} \geq r ρinterp(r)=maxρ(r~),r~:r~r

其中 ρ ( r ) ρ(r) ρ(r) 是召回率 r r r 的精度。考虑召回率大于或等于 r r r 时的最大精度值,而不是每个点 r r r 的整个观测精度值的平均值。
mAP 是针对 11 个召回点的整体性能评估而计算的。一些工作,例如 MonoPair 使用 41 个点而不是 11 个召回点来计算 mAP,但平均只有 40 (1/40, 2/40, 3/40, . . . , 1),没有零召回点以消除最低召回 bin 处的毛刺。其他常见的性能评估指标包括 AP3D 指标、平均方向相似度 (AOS) 指标和鸟瞰视图表示的定位指标 (APBV)。

AOS 通过对估计方向和地面真实方向之间的余弦相似度进行加权来测量 3D 方向和检测性能:
AOS = 1 11 ∑ r ∈ { 0 , 0.1 , . . . , 1 } s ( r ~ ) : r ~ ≥ r \text{AOS} = \frac{1}{11}\sum_{r\in\{ 0,0.1,...,1 \}}s(\tilde r ):\tilde{r} \geq r AOS=111r{0,0.1,...,1}s(r~):r~r

其中 r = ( T P / ( T P + F N ) ) r = (TP/(TP + FN)) r=(TP/(TP+FN)) 是基于 PASCAL 数据集的召回率。TP 是正样本,FN 是负样本。召回率 r r r 处的方向相似度 ∈ [ 0 , 1 ] \in [0, 1] [0,1] 通过余弦相似度进行归一化:
s ( r ) = 1 ∣ D ( r ) ∣ ∑ i ∈ D ( r ) 1 + cos ⁡ Δ θ ( i ) 2 δ i s(r) = \frac{1}{|D(r)|}\sum_{i \in D(r)}\frac{1+\cos \Delta_\theta (i)}{2} \delta_i s(r)=D(r)1iD(r)21+cosΔθ(i)δi

其中 D ( r ) D(r) D(r) 表示召回率 r r r 下的所有目标检测的集合, Δ θ ( i ) \Delta_\theta (i) Δθ(i) 是检测 i i i 的估计方向和真实方向之间的角度差, δ ( i ) δ(i) δ(i) 项惩罚多次检测。

另一方面,nuScenes AP 方法通过对地平面上的 2-D 中心距离 d d d(而不是 IOU)进行阈值化来定义匹配。这有助于消除目标大小和方向对检测的影响:
m A P = 1 ∣ C ∣ ∣ D ∣ ∑ c ∈ C ∑ d ∈ D A P c , d mAP = \frac{1}{|C||D|} \sum_{c\in C}\sum_{d\in D}AP_{c,d} mAP=C∣∣D1cCdDAPc,d

其中 D = { 0.5 , 1 , 2 , 4 } m D = \{0.5, 1, 2, 4\} m D={0.5,1,2,4}m C C C 是类的集合。对于 nuScenes 数据集,他们为与真实框匹配的每个预测测量一组 TP。然后,对于每个 TP,计算整个类别的平均 TP (mTP):
m T P = 1 ∣ C ∣ ∑ c ∈ C T P c mTP = \frac{1}{|C|} \sum_{c \in C} TP_c mTP=C1cCTPc

最后,计算 nuScenes 检测分数 (NDS),NDS 是 nuScenes 数据集的评估指标:
N D S = 1 10 [ 5 mAP + ∑ map ∈ T P ( 1 − min ⁡ ( 1 , mTP ) ) ] NDS = \frac{1}{10} [5\text{mAP} + \sum_{\text{map}\in TP}(1- \min (1, \text{mTP}))] NDS=101[5mAP+mapTP(1min(1,mTP))]

Waymo 开放数据集通过将航向信息合并到常见的评估指标(例如 AP)中,使用 3D 目标检测评估指标 APH:
A P = 100 ∫ 0 1 max ⁡ { p ( r ′ ) ∣ r ′ ≥ r } d r A P H = 100 ∫ 0 1 max ⁡ { h ( r ′ ) ∣ r ′ ≥ r } d r AP = 100 \int _0^1 \max\{ p(r^{'})|r^{'} \geq r\} dr \\ APH = 100 \int_0^1 \max \{ h(r^{'})|r^{'} \geq r\} dr AP=10001max{p(r)rr}drAPH=10001max{h(r)rr}dr

其中 p ( r ) p(r) p(r) 是精度/召回率曲线。此外, h ( r ) h(r) h(r) 的计算方式与 p ( r ) p(r) p(r) 类似,但每个 TP 都通过航向精度进行加权,航向精度可以定义为 min ⁡ ( ∣ θ ~ − θ ∣ , 2 π ∣ θ ~ − θ ∣ ) / π \min (| \tildeθ −θ|, 2π| \tilde θ −θ|)/ \pi min(θ~θ,2πθ~θ)/π,其中 θ ~ \tildeθ θ~ θ θ θ 分别是预测航向和真实航向,以弧度为单位,在 [ − π , π ] [−π, π] [π,π] 范围内。大多数自治数据集遵循 KITTI 或 nuScenes 评估指标。

图像 3-D 目标检测方法以及各种方法的比较

自动驾驶汽车(AV)必须清楚地了解驾驶环境才能可靠驾驶。由于缺乏准确的深度信息,3D 目标检测对于基于图像的方法来说更具挑战性。已经提出了不同的方法来估计 2D 图像的深度,以使用估计的深度来检测 3D 中的目标。其中一些方法使用两阶段对象检测方法,首先生成目标建议并执行回归以进行 3-D BBox 检测和分类。
经典的目标检测方法使用 handcrafted methods 生成二维框 proposals。其他人利用深度神经网络的能力从图像中学习复杂的特征来生成二维框 proposals。类似地,框 proposals 可以从几何约束、PseudoLiDAR 或立体深度估计生成。

由于缺乏深度信息,基于图像的 3D 目标检测更具挑战性。大多数深度估计技术可以分为伪激光雷达、立体图像,技术可以分为伪激光雷达、立体图像或基于几何约束,例如目标的形状和关键点来估计深度。
Pseudo LiDAR 方法从图像生成点云数据,并使用基于 3-D LiDAR 的方法进行检测。尽管这些方法优于仅图像方法,但由于图像到激光雷达的生成误差,它们的精度仍然低于基于激光雷达的方法。基于立体图像的方法使用左右图像视差来估计深度估计。与单图像方法相比,这些方法还提高了 3D 目标检测性能。有些作品还通过生成虚拟图像从单个图像生成立体图像,其性能优于单图像方法。其他工作使用几何约束来估计单个图像的深度信息。

伪激光雷达方法

有些作品将单目或立体图像转换为称为伪 LiDAR 的 LiDAR 表示,以解决深度信息的缺乏[12] [13] [14] [15] [16] [17]。
伪激光雷达是通过预测每个图像像素的深度来表示图像的激光雷达,称为深度图。

[12] Y. You et al., “Pseudo-LiDAR++: Accurate depth for 3D object detection in autonomous driving,” 2019, arXiv:1906.06310.
[13] X. Weng and K. Kitani, “Monocular 3D object detection with pseudoLiDAR point cloud,” in Proc. IEEE/CVF Int. Conf. Comput. Vis. Workshop (ICCVW), Oct. 2019, pp. 857–866.
[14] Y. Wang, W.-L. Chao, D. Garg, B. Hariharan, M. Campbell, and K. Q. Weinberger, “Pseudo-LiDAR from visual depth estimation: Bridging the gap in 3D object detection for autonomous driving,” in Proc. IEEE/CVF Conf. Comput. Vis. Pattern Recognit. (CVPR), Jun. 2019, pp. 8445–8453.
[15] X. Ma, Z. Wang, H. Li, P. Zhang, W. Ouyang, and X. Fan, “Accurate monocular 3D object detection via color-embedded 3D reconstruction for autonomous driving,” in Proc. IEEE/CVF Int. Conf. Comput. Vis. (ICCV), Oct. 2019, pp. 6851–6860.
[16] R. Qian et al., “End-to-end pseudo-LiDAR for image-based 3D object detection,” in Proc. IEEE/CVF Conf. Comput. Vis. Pattern Recognit. (CVPR), Jun. 2020, pp. 5881–5890.
[17] J. M. U. Vianney, S. Aich, and B. Liu, “RefinedMPL: Refined monocular PseudoLiDAR for 3D object detection in autonomous driving,” 2019, arXiv:1911.09712.

[14] 表明,通过将单目图像转换为 LiDAR 表示(伪 LiDAR),在 3D 目标检测中,数据的表示比数据的质量起着重要作用。
立体深度估计是通过使用金字塔立体匹配网络(PSMNet)、DISPNET 和 SPSSTEREO 完成的,但他们使用 DORN 作为单目深度估计器。然后,将深度图投影到 3D 点云中,通过模仿 LiDAR 信号来生成伪 LiDAR,如图所示:

在这里插入图片描述

基于激光雷达的检测器可以直接处理伪激光雷达数据。实验使用基于 LiDAR 的 AVOD 和 Frustum PointNet 模型。KITTI 数据集上的实验结果表明,伪 LiDAR 表示比仅图像实现更适合 3D 对象检测。

[15] 将 RGB 图像转换为 PseudoLiDAR,并使用 pointNet 作为骨干网络来获取每个 ROI 的对象的 3D 位置、尺寸和方向。所提出的模型由 3D 数据生成和框估计阶段组成,如图所示:
在这里插入图片描述

在第一阶段,使用两个深度 CNN 主干生成二维检测和点云表示。
第二阶段设计了两个模块,用于背景点分割和RGB信息聚合,以提高检测效果。
然后,使用 PointNet 作为主干来预测每个 ROI 的 3D 位置、尺寸和方向。所提出的多模态特征融合模块还用于融合互补的 RGB 图像线索和生成的点云以提高性能。

[18] 通过基于单个单目图像估计目标类别、2D 位置、方向、尺寸和 3D 位置,开发了一种基于融合的 3D 目标检测模型。

[18] B. Xu and Z. Chen, “Multi-level fusion based 3D object detection from monocular images,” in Proc. IEEE/CVF Conf. Comput. Vis. Pattern Recognit., Jun. 2018, pp. 2345–2353.

他们使用 MultiBin[19] 架构来获取 3D 对象的姿态,然后计算点云表示。估计的深度被编码为前视图特征并与 RGB 图像融合以改进输入。最后,将从原始输入中提取的特征与点云相结合以提高检测性能。尽管将图像转换为伪激光雷达需要额外的处理,但伪激光雷达方法比仅图像方法显着提高了性能。

[19] A. Mousavian, D. Anguelov, J. Flynn, and J. Kosecka, “3D bounding box estimation using deep learning and geometry,” in Proc. IEEE Conf. Comput. Vis. Pattern Recognit. (CVPR), Jul. 2017, pp. 7074–7082.

Weng 和 Kitani [20] 通过使用 DORN 作为单目深度估计器,提出了一种基于伪 LiDAR 表示的两级检测网络。他们使用 instance mask 2D proposals 而不是 BBoxs 来减少点云中不属于该目标的点的数量。使用扩展的两级 3-D LiDAR 检测算法 Frustum PointNets 来训练网络。提出了 2-D–3-D BBox 一致性约束来减少伪 LiDAR 表示中的噪声并处理局部未对准。噪声 instance mask 2D proposals 表示和 2-D–3-D BBox 一致性约束将性能提高了不少。

[20] X. Weng and K. Kitani, “Monocular 3D object detection with pseudoLiDAR point cloud,” in Proc. IEEE/CVF Int. Conf. Comput. Vis. Workshop (ICCVW), Oct. 2019, pp. 857–866.

类似地,OCM3D [21] 是一种以目标为中心的单目 3D 目标检测模型,旨在通过为每个目标提案构建体素来降低伪 LiDAR 数据的噪声水平。 3-D 空间点的分布自适应地确定体素大小,并允许点云噪声在体素网格中有效组织。该模型优于以前的模型,例如 KITTI 数据集上的 RTM3D。

[21] L. Peng, F. Liu, S. Yan, X. He, and D. Cai, “OCM3D: Object-centric monocular 3D object detection,” 2021, arXiv:2104.06041.

[22] 提出了 Monodistill,一种单目 3D 目标检测模型。 LIDAR 数据被投影到图像平面,然后在 LiDAR Net 3-D 探测器上进行训练。最后,LIDAR Net 作为教师网络,对基线单目模型进行知识蒸馏。KITTI 数据集上的实验结果表明该方法提高了基础模型的性能。

[22] Z. Chong et al., “MonoDistill: Learning spatial features for monocular 3D object detection,” 2022, arXiv:2201.10830.

[23] 提出了一种用于单目 3D 物体检测的分类深度分布网络(CDDN)。frustum 体特征网络将图像信息投影到 3D 空间并构建 frustum 特征网格。然后,pointpillars 检测头执行 3D 目标检测。该模型使用 KITTI 和 Waymo 数据集进行了实验。

C. Reading, A. Harakeh, J. Chae, and S. L. Waslander, “Categorical depth distribution network for monocular 3D object detection,” in Proc. IEEE/CVF Conf. Comput. Vis. Pattern Recognit. (CVPR), Jun. 2021, pp. 8555–8564.

[24] 提出了一种有监督和无监督的预处理方案,用于在输入 3D 目标检测网络之前从深度图生成精炼的伪 LiDAR 数据。
[25] 提出了一种基于可微分变化表示(CoR)网络的端到端框架来训练深度估计和 3D 目标检测。

[24] J. M. U. Vianney, S. Aich, and B. Liu, “RefinedMPL: Refined monocular PseudoLiDAR for 3D object detection in autonomous driving,” 2019, arXiv:1911.09712.
[25] R. Qian et al., “End-to-end pseudo-LiDAR for image-based 3D object detection,” in Proc. IEEE/CVF Conf. Comput. Vis. Pattern Recognit. (CVPR), Jun. 2020, pp. 5881–5890.

一些方法将立体图像转换为伪激光雷达表示以提高检测性能。

[26] 提出了利用立体表示来提高单目 3D 目标检测性能的 SGM3D 模型。作者使用预训练的立体匹配模型 PSMNet 进行深度学习。根据估计的深度和相机 instincts 将像素转换为 3D 伪点云。提出了多粒度特征对齐(MG-FA)模块,以获得基于立体和单目方法的输出之间一致的中间特征表示和每个锚点的预测。还引入了基于 IOU 匹配的对齐(IOU-MA)模块来减少立体和单目预测之间的不匹配。

[26] Z. Zhou et al., “SGM3D: Stereo guided monocular 3D object detection,” IEEE Robot. Autom. Lett., vol. 7, no. 4, pp. 10478–10485, Oct. 2022.

Pseudo-LiDAR++ 是一种使用立体深度估计网络而不是视差估计的端到端深度学习方法。基于图的深度校正算法将学习到的密集立体深度和稀疏 LiDAR 信号连接起来,以进一步细化深度。结果改进了 3D 物体检测,尤其是远处目标检测。

[27] 提出了立体图像的 Disp R-CNN 3D 目标检测模型,该模型分为三个阶段。在第一阶段,Mask R-CNN 检测图像的 2-D BBoxs 和实例分割。实例视差估计网络(iDispNet)在第二阶段估计实例视差图。最后,根据实例视差图生成实例点云,并将其输入到检测器头进行 3-D BBox 回归。

[27] L. Chen et al., “Shape prior guided instance disparity estimation for 3D object detection,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 44, no. 9, pp. 5529–5540, Sep. 2021.

将单目或立体图像转换为伪 LIDAR 可以比仅图像方法改进 3D 目标检测;然而,由于图像到激光雷达转换存在误差,其性能低于基于激光雷达的方法。因此,尽管将图像数据转换为伪激光雷达表示需要额外的处理,但当激光雷达数据不易获得时,这是一个不错的选择。

立体图像方法

Mono3D [27] 使用立体图像来估计深度,并通过对目标尺寸先验、地平面、各种深度信息特征、点云密度和到地面的距离进行编码来生成 3-D BBox 目标建议。该问题被表述为能量最小化函数,马尔可夫随机场 (MRF) 用于对 3-D BBox 进行评分以生成建议。Fast R-CNN 用于预测类别提议,并使用顶级候选目标来估计目标的方向。

[27] X. Chen et al., “3D object proposals for accurate object class detection,” in Proc. Adv. Neural Inf. Process. Syst. Princeton, NJ, USA: Citeseer, 2015, pp. 424–432.
[28] A. Bochkovskiy, C.-Y. Wang, and H.-Y. M. Liao, “YOLOv4: Optimal speed and accuracy of object detection,” 2020, arXiv:2004.10934.

[28] 扩展了之前的工作 [27],通过假设目标应该位于地平面上并仅使用单个单眼图像,生成特定于类的 3D 目标建议(3DOP),对各种 IOU 阈值具有非常高的召回率。他们使用语义和目标实例分割、上下文、形状特征和位置先验来对 3-D BBox 进行评分,如图所示:
在这里插入图片描述
3DOP 的局限性在于它应该针对每个目标类单独运行以实现高召回率。由于生成了许多目标建议,此操作会增加处理时间。

为了克服这个问题,Pham 和 Jeon [29] 引入了一种提案重排序算法 DeepStereoOP,对生成的 3DOP 进行重排序。该算法仅使用少数候选提案即可帮助实现高召回率和良好的定位。双流 CNN 算法使用 RGB 特征、深度特征、视差图和到地面的距离对排名靠前的候选者进行重新排名。结果表明,DeepStereoOP 算法优于 Mono3D 算法,可以用更少的建议获得高召回率。

[29] C. C. Pham and J. W. Jeon, “Robust object proposals re-ranking for object detection in autonomous driving using convolutional neural networks,” Signal Process., Image Commun., vol. 53, pp. 110–122, Apr. 2017.
[30 ]X. Z. Chen, K. Kundu, Y. Zhu, S. Fidle, R. Urtasun, and H. Ma, “3D object proposals using stereo imagery for accurate object class detection,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 40, no. 5, pp. 1259–1272, May 2018.

[30] 提出了一种使用立体图像和上下文信息的提案生成算法。 3DOP 是使用能量最小化函数生成的,该函数对目标尺寸先验、地平面信息和深度信息特征(例如自由空间、点云密度和到地面的距离)进行编码。CNN 评分网络使用外观、深度和上下文信息来同时预测 3DOP 和姿势。

[31] 提出了使用立体图像和语义信息的 3D 目标检测方法。语义图和可选的 BBox 建议是使用 ResNet-38 [32] 从左侧图像生成的。该模型在 KITTI 数据集上进行了训练和测试。

[31] H. Königshof, N. O. Salscheider, and C. Stiller, “Realtime 3D object detection for automated driving using stereo vision and semantic information,” in Proc. IEEE Intell. Transp. Syst. Conf. (ITSC), Oct. 2019, pp. 1405–1410.
[32] Z. Wu, C. Shen, and A. Van Den Hengel, “Wider or deeper: Revisiting the ResNet model for visual recognition,” Pattern Recognit., vol. 90, pp. 119–133, Jun. 2019.

Li 和 Chen [33] 提出了 S3D-RCNN,这是一种来自一对立体 RGB 图像的两级联合立体 3D 目标检测和形状估计模型。作者提出了一个全局-局部框架,将物体姿态估计与物体形状分离。该模型在 KITTI 数据集上显示出显着的性能改进。
[34] 开发了一种基于 Faster R-CNN 的扩展 3-D 目标检测方法 Stereo R-CNN,利用立体图像中的稀疏、密集、语义和几何信息同时检测和关联左右图像中的目标。生成左右 ROI 建议后,目标类的左右 ROI 特征被连接起来并回归 2D 立体框、视点和 3D 维度。他们仅使用左侧特征结合 2-D 立体框进行 3-D 框估计来预测关键点。

[33] S. Li and K.-T. Cheng, “Joint stereo 3D object detection and implicit surface reconstruction,” 2021, arXiv:2111.12924.
[34] P. Li, X. Chen, and S. Shen, “Stereo R-CNN based 3D object detection for autonomous driving,” in Proc. IEEE/CVF Conf. Comput. Vis. Pattern Recognit. (CVPR), Jun. 2019, pp. 7644–7652.
[35] W. Peng, H. Pan, H. Liu, and Y. Sun, “IDA-3D: Instance-depthaware 3D object detection from stereo vision for autonomous driving,” in Proc. IEEE/CVF Conf. Comput. Vis. Pattern Recognit. (CVPR), Jun. 2020, pp. 13015–13024.
[36] Y. Chen, S. Liu, X. Shen, and J. Jia, “DSGN: Deep stereo geometry network for 3D object detection,” in Proc. IEEE/CVF Conf. Comput. Vis. Pattern Recognit. (CVPR), Jun. 2020, pp. 12536–12545.

[35] 提出了一个实例深度感知模块 Ida-3-D,作为 3-D BBox 中心的深度估计方法,使用实例深度感知、视差适应和匹配成本重新加权。通道和成本重新加权方法对于使用左右相干性增强特征和削弱噪声信号至关重要。

DSGN [36] 是一种单阶段端到端基于立体的 3D 目标检测模型,可联合估计深度并检测 3D 目标。特征提取器组件从左右图像中学习像素和高级特征,如图所示:
在这里插入图片描述
然后,生成平面扫描体积 (PSV) 和 3D 几何体积 (3DGV)。网络的深度估计组件估计 PSV 深度。最后,3D 目标检测组件预测目标和 BBox 信息。
[37] 提出了 DSGN++,DSGN 的扩展版本,以改进深度估计技术。DSGN++模型的三个主要方面改进了DSGN模型。首先,所提出的深度平面扫描(DPS)模块提取深度引导的立体特征。其次,双视图立体体积 (DSV) 模块允许功能的多个视图连接以及顶视图和前视图。最后,所提出的跨模态数据编辑-复制粘贴策略确保了多模态对齐,增加了前景区域在 3D 中的主导地位,并提高了数据效率。该模型在 KITTI 数据集上进行了训练和测试。

[37] Y. Chen, S. Huang, S. Liu, B. Yu, and J. Jia, “DSGN++: Exploiting visual-spatial relation for stereo-based 3D detectors,” IEEE Trans. Pattern Anal. Mach. Intell., early access, Aug. 8, 2022, doi: 10.1109/TPAMI.2022.3197236.

[38] 提出了置信引导立体(CG-Stereo)3-D 对象检测模型来提高深度估计精度。该模型在深度估计步骤中对前景和背景像素使用不同的解码器。它还使用深度估计网络输出的置信度分数来提高深度估计精度。该模型优于以前的模型,例如 KITTI 数据集上的 DSGN。

[38] C. Li, J. Ku, and S. L. Waslander, “Confidence guided stereo 3D object detection with split depth estimation,” in Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst. (IROS), Oct. 2020, pp. 5776–5783.

大多数现有的基于立体图像的深度估计技术提供预定义值。当实际深度与预定义值不匹配时,这种估计会导致错误的预测。

[86] 提出了一种可以估计任意深度值而不是预定义离散值的模型。所提出的连续视差网络(CDN)还输出一组具有概率和偏移的离散值,将离散分布转变为连续分布,以进行准确的视差估计。该模型在 KITTI 数据集上使用 Wasserstein 目标函数进行训练。 CDN-SDN 被应用于 Pseudo-LiDAR 和 DSGN 模型。 SDN 主干网估计伪 LiDAR 网络中的深度,而 DSGN 主干网、PSMNET 则被 CDN 主干网取代。

[39] D. Garg, Y. Wang, B. Hariharan, M. Campbell, K. Q. Weinberger, and W.-L. Chao, “Wasserstein distances for stereo disparity estimation,” in Proc. Adv. Neural Inf. Process. Syst., vol. 33, 2020, pp. 22517–22529.

三角测量学习网络(TLNet)[40] 使用3D锚点来构建立体图像之间的目标级几何相关性。然后,神经网络学习立体图像之间的对应关系,以对锚点附近的目标对象进行三角测量。还提出了通道重新加权方法,通过测量左右相干性来增强信息特征并削弱噪声信号,这克服了在 Mono3D 网络中生成视差图的高计算负担。

[40] Z. Qin, J. Wang, and Y. Lu, “Triangulation learning network: From monocular to stereo 3D object detection,” in Proc. IEEE/CVF Conf. Comput. Vis. Pattern Recognit. (CVPR), Jun. 2019, pp. 7615–7623.

Stereo CenterNet [41] 使用立体图像中的语义和几何信息来实现 3D 目标检测。他们使用无锚二维框关联方法,仅检测左侧图像中的对象,并通过预测它们之间的距离来计算左右关联。

[41] Y. Shi, Y. Guo, Z. Mi, and X. Li, “Stereo CenterNet based 3D object detection for autonomous driving,” 2021, arXiv:2103.11071.
[42] A. Gao et al., “ESGN: Efficient stereo geometry network for fast 3D object detection,” IEEE Trans. Circuits Syst. Video Technol., early access, Aug. 29, 2022, doi: 10.1109/TCSVT.2022.3202810.
[43] K. He, X. Zhang, S. Ren, and J. Sun, “Deep residual learning for image recognition,” in Proc. IEEE Conf. Comput. Vis. Pattern Recognit. (CVPR), Jun. 2016, pp. 770–778.
[44] Y. Liu, L. Wang, and M. Liu, “YOLOStereo3D: A step back to 2D for efficient stereo 3D detection,” 2021, arXiv:2103.09422.

[42] 提出了一种用于 3D 目标检测的高效立体几何网络(ESGN)。 ResNet-34 [43]主干用于提取多尺度特征图。使用立体相关和重投影模块,所提出的 3D 高效几何感知特征生成 (EGFG) 模块在相机视锥体空间中构建多尺度立体体积。然后,使用深度多尺度信息融合(多尺度 BEV 投影和融合)模块生成多个 3D 几何感知特征。提出了一种深度几何感知特征蒸馏方案,以帮助基于 LiDAR 的探测器进行立体特征学习。 KITTI数据集上的实验结果表明 ESGN 模型优于 YOLOStsereo3D [44]模型。YOLOStereo3D [44]比 ESGN 模型更快,但 ESGN 通过生成 3-D 几何感知特征来避免相机空间中的对象失真。

[90] 提出了一种基于立体的 3D 目标检测模型,LiDAR 几何感知立体(LIGA-Stereo)检测器。基于 LiDAR 的模型功能用于指导立体模型的学习。带有附加辅助二维检测头的直接二维语义监督提高了学习效率。 KITTI 数据集上的实验结果表明该模型优于以前的基于立体的模型,例如 DSGN。

[45] X. Guo, S. Shi, X. Wang, and H. Li, “LIGA-stereo: Learning LiDAR geometry aware representations for stereo-based 3D detector,” in Proc. IEEE/CVF Int. Conf. Comput. Vis. (ICCV), Oct. 2021, pp. 3153–3163.

[44] 提出了使用立体相机图像的 YOLOStereo3D 3D 对象检测模型。通过 12 12 12 个回归参数描述每个锚点,对于 2-D BBox 为 [ x 2 d , y 2 d , w 2 d , h 2 d ] [x_{2d}, y_{2d}, w_{2d}, h_{2d}] [x2d,y2d,w2d,h2d],对于左图像上对象的 3-D 中心为 [ c x , c y , z ] [c_x, c_y, z] [cx,cy,z] [ w 3 d , h 3 d , l 3 d ] [w_{3d}, h_{3d}, l_{3d}] [w3d,h3d,l3d] 分别对应于 3-D BBox 的宽度、高度和长度。他们在训练期间同时对双目图像应用光度畸变增强和随机翻转。从双目图像中提取多尺度特征后,特征通过多尺度立体匹配和融合模块。

伪激光雷达特征体积网络(PLUMENet)[46] 是一种基于立体图像的 3D 目标检测模型。使用二维卷积网络从立体图像中提取多尺度特征。然后,在 3D 空间中构建伪 LiDAR 特征体。在混合 3-D BEV 网络进行 3-D 推理后,通过多任务标头(占用和检测标头)来预测 3-D 占用网格和对象 BBox。KITTI 数据集上的实验结果表明该模型优于之前的模型,例如 ZoomNet。

[46] Y. Wang, B. Yang, R. Hu, M. Liang, and R. Urtasun, “PLUMENet: Efficient 3D object detection from stereo images,” in Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst. (IROS), Sep. 2021, pp. 3383–3390.

张等人。 [47] 将 CenterNet 扩展为单目 3D 目标检测的灵活框架,可显式解耦截断的对象。作者将对象深度估计表述为多种方法的不确定性引导集成,并自适应地组合不同的关键点来估计深度。KITTI数据集上的实验结果表明该模型优于 RTM3D 和 MoVi3D 等模型。

[47] Y. Zhang, J. Lu, and J. Zhou, “Objects are different: Flexible monocular 3D object detection,” in Proc. IEEE/CVF Conf. Comput. Vis. Pattern Recognit. (CVPR), Jun. 2021, pp. 3289–3298.

[48] 提出了一种用于 3D 目标检测的伪立体 3D 检测方法。虚拟视图是从每个单个图像生成的,以用作输入图像的立体图像。提出了三种虚拟视图生成方法:图像级生成、特征级生成和用于从单个图像中检测 3D 目标的特征克隆。提出了视差动态卷积来自适应地从单个图像中过滤特征以生成虚拟图像特征。该模型在 KITTI 数据集上进行训练和测试。

[48] Y.-N. Chen, H. Dai, and Y. Ding, “Pseudo-stereo for monocular 3D object detection in autonomous driving,” in Proc. IEEE/CVF Conf. Comput. Vis. Pattern Recognit. (CVPR), Jun. 2022, pp. 887–897.

基于立体图像的方法使用 2D 左框和右框来预测 3D 空间中目标的 BBox。光度对准通常用于进一步优化 3-D BBox 位置。左图像和右图像之间的目标级几何相关性可以使用不同的技术(例如 3D 锚点)来构建。能量最小化函数对于生成 3DOP 也至关重要。一些基于立体图像的方法使用立体匹配和立体实例分割来匹配 ROI 上左右图像之间的检测,并仅估计包含感兴趣对象的区域的实例级视差。
以下方法使用立体匹配或立体实例分割来匹配检测或估计 ROI 的视差。

ZoomNet [49] 应用自适应缩放来调整 BBox 大小并同时调整内部相机参数,以实现实例级视差估计,并从每个目标实例而不是完整图像构建点云和伪激光雷达。基于伪激光雷达的目标检测对远处目标的性能较差,因为远处目标由于点数量少、难以区分立体图像之间的相对位置以及遮挡而导致分辨率较低。这种自适应缩放有助于以更大的分辨率分析远处的目标,估计更好的视差,并获得更均匀的密度点云。他们还提供像素部分位置来帮助解决遮挡检测问题。同样,Pon 等人。

[49] Z. Xu et al., “ZoomNet: Part-aware adaptive zooming neural network for 3D object detection,” in Proc. AAAI Conf. Artif. Intell., 2020, vol. 34, no. 7, pp. 12557–12564.

[50] 提出了一种以目标为中心的立体(OC Stereo)匹配网络,解决了与深度立体匹配方法相关的问题。他们开发了一种以目标为中心的深度表示,以帮助解决拖尾伪影、目标或背景像素之间的模糊性以及近处和远处对象之间的像素不平衡问题。作者提出了一种快速 2-D 框关联算法,通过 ROI 上的立体匹配并仅考虑属于目标的像素来精确匹配左右图像之间的检测。

[50] A. D. Pon, J. Ku, C. Li, and S. L. Waslander, “Object-centric stereo matching for 3D object detection,” in Proc. IEEE Int. Conf. Robot. Autom. (ICRA), May 2020, pp. 8383–8389.

Disp r-CNN [51] 是一种 iDispNet,它仅估计包含感兴趣目标的区域而不是整个图像的视差,并先学习特定于类别的形状。此操作有助于捕获对象边界的平滑形状和锐利边缘,以实现更准确的 3D 目标检测。

[51] J. Sun et al., “Disp R-CNN: Stereo 3D object detection via shape prior guided instance disparity estimation,” in Proc. IEEE/CVF Conf. Comput. Vis. Pattern Recognit. (CVPR), Jun. 2020, pp. 10548–10557.

基于图像的方法缺乏深度的问题可以使用立体图像来部分解决。 3DOP 是使用不同技术从立体图像生成的。一些方法,例如 TLNET,使用成本和通道重新加权来增强特征并削弱噪声。其他方法将目标提议表述为能量最小化问题。 DeepStereoOP 等作品提出了一种重新排序算法来减少冗余提案并仅使用少量提案。此外,上下文信息可以与立体图像一起用于提案生成。

几何约束法

[52] 提出了 Deep3DBox,一种结合几何约束的 3D 目标检测方法。使用混合离散连续损失来估计 3-D 目标方向,然后结合估计的几何约束对 2-D BBox 应用回归,以生成目标 3-D BBox。

[52] A. Mousavian, D. Anguelov, J. Flynn, and J. Kosecka, “3D bounding box estimation using deep learning and geometry,” in Proc. IEEE Conf. Comput. Vis. Pattern Recognit. (CVPR), Jul. 2017, pp. 7074–7082.

M3D-RPN [53] 是一个使用 2D 尺度和 3D 深度之间的相关性进行 3D 目标检测的单个端到端区域提议网络。所提出的深度感知卷积层改进了 3D 参数估计,增强了 3D 场景理解。

[53] G. Brazil and X. Liu, “M3D-RPN: Monocular 3D region proposal network for object detection,” in Proc. IEEE/CVF Int. Conf. Comput. Vis. (ICCV), Oct. 2019, pp. 9287–9296.

同样,Mono3d++ [54] 使用联合方法,使用 3-D BBox 和来自单个 RGB 图像的可变形线框模型来预测车辆的形状和姿态。无监督的单目深度、地平面约束和车辆形状先验优化了损失函数。整体能量函数整合了损失和车辆的形状,并进一步改善了车辆的检测。由于车辆之间的形状差异,将损失函数与车辆形状相结合可能会限制模型的性能。

[54] T. He and S. Soatto, “Mono3D++: Monocular 3D vehicle detection with two-scale 3D hypotheses and task priors,” in Proc. AAAI Conf. Artif. Intell., 2019, vol. 33, no. 1, pp. 8409–8416.

一些方法使用几何推理的实例级深度估计。其他人使用关键点和几何信息的组合来进行深度估计。例如,MonoGRNet [55] 是一个使用几何推理和实例级深度估计从单目 RGB 图像中进行 3D 目标检测的统一网络。该模型由 2-D 检测、实例深度估计、3-D 位置和位置角点估计子网络组成,如图所示:

[55] Z. Qin, J. Wang, and Y. Lu, “MonoGRNet: A geometric reasoning network for monocular 3D object localization,” in Proc. AAAI Conf. Artif. Intell., 2019, vol. 33, no. 1, pp. 8851–8858.

在这里插入图片描述

[56] 还开发了基于关键点和几何推理方法的组合,用于单目图像的 3D 目标检测。

[56] I. Barabanau, A. Artemov, E. Burnaev, and V. Murashkin, “Monocular 3D object detection via geometric reasoning on keypoints,” 2019, arXiv:1905.05618.

类似地,[57] 提出了 AutoShape,一种单阶段实时形状感知单目 3D 目标检测模型。该模型对 3D 关键点及其在图像上的 2D 投影采用几何约束,以增强检测性能。所提出的自动注释管道可以自动生成每个对象的形状感知 2-D/3-D 关键点对应关系。

[57] Z. Liu, D. Zhou, F. Lu, J. Fang, and L. Zhang, “AutoShape: Real-time shape-aware monocular 3D object detection,” in Proc. IEEE/CVF Int. Conf. Comput. Vis. (ICCV), Oct. 2021, pp. 15641–15650.

[58] 将 3D 目标检测任务建模为结构化多边形预测任务和深度估计任务的组合。深度估计网络使用目标的高度来估计深度,然后将其与结构化多边形相结合以获得 3D 框。最后,BEV 中提出了细粒度 3-D 框细化,以提高 3-D BBox 的准确性。

[58] Y. Cai, B. Li, Z. Jiao, H. Li, X. Zeng, and X. Wang, “Monocular 3D object detection with decoupled structured polygon estimation and height-guided depth estimation,” in Proc. AAAI Conf. Artif. Intell., 2020, vol. 34, no. 7, pp. 10478–10485.

[59] 通过几何约束估计区域提议网络,并进一步应用回归进行 3D 目标检测。

[59] J. Ku, A. D. Pon, and S. L. Waslander, “Monocular 3D object detection leveraging accurate proposals and shape reconstruction,” in Proc. IEEE/CVF Conf. Comput. Vis. Pattern Recognit. (CVPR), Jun. 2019, pp. 11867–11876.

SMOKE [60] 将单个关键点估计与回归 3-D 变量相结合,以预测单独检测到的目标的 3-D BBox,而不是生成 2-D 区域建议。

[60] Z. Liu, Z. Wu, and R. Tóth, “SMOKE: Single-stage monocular 3D object detection via keypoint estimation,” in Proc. IEEE/CVF Conf. Comput. Vis. Pattern Recognit. Workshops (CVPRW), Jun. 2020, pp. 996–997.

[61] 提出了一种通过将基于图像的特征映射到正交 3D 空间中的 3D 目标检测模块。正交特征将 RGB 图像转换为正交鸟瞰特征图。

[61] T. Roddick, A. Kendall, and R. Cipolla, “Orthographic feature transform for monocular 3D object detection,” 2018, arXiv:1811.08188.

RTM3D [62] 预测了3-D BBox 的九视角关键点,并对 3-D 和 2-D 点的几何关系进行建模,以从单目图像中检测3-D目标。类似地,MoVi-3D [33] 是一种单级深度架构,它利用几何信息来生成虚拟视图,使用先验几何知识来控制目标因深度而产生的尺度变化。

[62] P. Li, H. Zhao, P. Liu, and F. Cao, “RTM3D: Real-time monocular 3D detection from object keypoints for autonomous driving,” 2020, arXiv:2001.03343.

GS3D [63] 是一种有效的模型,用于为每个预测的 2-D 框获取粗长方体,以通过细化确定 3-D BBox。该方法改进了 3D 目标检测,并且比基于回归的 BBox 预测表现更好。 ROI-10D [64] 是一个用于 3D 目标检测的端到端网络,通过将 2D 提升为 3D 来预测六个自由度姿态信息(旋转和平移)。损失函数测量框的度量偏差,并通过将其与真实 3-D 框进行比较来最小化误差。

[63] B. Li, W. Ouyang, L. Sheng, X. Zeng, and X. Wang, “GS3D: An efficient 3D object detection framework for autonomous driving,” in Proc. IEEE/CVF Conf. Comput. Vis. Pattern Recognit. (CVPR), Jun. 2019, pp. 1019–1028.
[64] F. Manhardt, W. Kehl, and A. Gaidon, “ROI-10D: Monocular lifting of 2D detection to 6D pose and metric shape,” in Proc. IEEE/CVF Conf. Comput. Vis. Pattern Recognit. (CVPR), Jun. 2019, pp. 2069–2078.

[65] 提出了一种深度引导的动态深度扩张局部卷积(D4LCN)网络,其中局部滤波器使用局部应用于每个图像的每个像素和通道的深度图从每个 RGB 图像中学习特定的几何形状。一些模型,例如[66],避免多次处理图像,从而通过使用非极大值抑制(NMS)和非线性列表平方优化器生成每个目标规范的 3-D BBox 参数来减少深度神经网络的计算瓶颈。斯里瓦斯塔瓦等人。 [67]开发了一种用于 AV 3-D 目标检测的 2-D 到 3-D 提升方法。他们使用生成对抗网络(GAN)从单个 RGB 图像生成 BEV 图像以进行图像到图像的转换 [68],然后使用生成的 BEV 图像进行 3D 目标检测。

[65] M. Ding et al., “Learning depth-guided convolutions for monocular 3D object detection,” in Proc. IEEE/CVF Conf. Comput. Vis. Pattern Recognit. (CVPR), Jun. 2020, pp. 1000–1001.
[66] E. Jörgensen, C. Zach, and F. Kahl, “Monocular 3D object detection and box fitting trained end-to-end using intersection-over-union loss,” 2019, arXiv:1906.08070.
[67] S. Srivastava, F. Jurie, and G. Sharma, “Learning 2D to 3D lifting for object detection in 3D for autonomous vehicles,” 2019, arXiv:1904.08494.
[68] P. Isola, J.-Y. Zhu, T. Zhou, and A. A. Efros, “Image-to-image translation with conditional adversarial networks,” in Proc. IEEE Conf. Comput. Vis. Pattern Recognit. (CVPR), Jul. 2017, pp. 1125–1134.

德拉加兰德里等人。 [69]利用 360 度全景图像提出了 AV 的 3D 目标检测模型。这种方法对于避免驾驶盲点很重要。该模型使用 CARLA 城市驾驶模拟器和 KITTI 数据集进行测试。

[69] G. P. de La Garanderie, A. A. Abarghouei, and T. P. Breckon, “Eliminating the blind spot: Adapting 3D object detection and monocular depth estimation to 360 panoramic imagery,” in Proc. Eur. Conf. Comput. Vis. (ECCV), 2018, pp. 789–807.

[70] 开发了一种用于单目 3D 目标检测的深度拟合评分网络。该网络使用对象基于锚点的尺寸和方向回归生成 3D 建议。然后,他们使用拟合质量网络 (FQNet) 来理解 3D 提案和仅使用 2D 图像的目标之间的空间关系。

[70] L. Liu, J. Lu, C. Xu, Q. Tian, and J. Zhou, “Deep fitting degree scoring network for monocular 3D object detection,” in Proc. IEEE/CVF Conf. Comput. Vis. Pattern Recognit. (CVPR), Jun. 2019, pp. 1057–1066.

[71] 提出了一种基于成对空间关系的3D目标检测方法。使用不确定性感知预测和相邻对的 3-D 距离来计算对象位置。最后,非线性最小二乘联合优化系统。

[71] Y. Chen, L. Tai, K. Sun, and M. Li, “MonoPair: Monocular 3D object detection using pairwise spatial relationships,” in Proc. IEEE/CVF Conf. Comput. Vis. Pattern Recognit. (CVPR), Jun. 2020, pp. 12093–12102.

出于同样的原因,提出了 MonoFENet [72] 网络,通过估计单目图像的视差来进行 3D 目标检测。如下图所示,使用基于单眼的视差估计器生成的视差图像。然后,估计的视差被转换为 3-D 密集点云,以馈入点特征增强 (PointFE) 网络,并与图像特征融合以实现最终的 3-D BBox 回归。

[72] W. Bao, B. Xu, and Z. Chen, “MonoFENet: Monocular 3D object detection with feature enhancement networks,” IEEE Trans. Image Process., vol. 29, pp. 2753–2765, 2019.

在这里插入图片描述

[73] 提出了一种两阶段对象感知 3D 目标检测模型,该模型使用区域外观注意力和几何投影分布来对 3D 质心提案进行投票。使用 Faster R-CNN 中的 RPN 生成 2-D 区域提案,然后根据生成的 ROI 网格坐标估计 3-D 质心提案。基于所提出的目标感知投票模块(包括区域外观注意力和几何投影分布),对 3D 质心提案进行 3D 定位投票。最后,在不学习密集深度的情况下,基于所提出的 ROI 来检测目标的3-D BBOX。

[73] W. Bao, Q. Yu, and Y. Kong, “Object-aware centroid voting for monocular 3D object detection,” in Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst. (IROS), Oct. 2020, pp. 2197–2204.

[74] 提出了 IAFA,一种用于从单个图像检测 3D 目标的实例感知特征聚合模型。该模型收集属于同一目标的像素以有助于中心分类,并生成注意图以聚合每个目标的有用信息。作者使用来自其他网络的粗略实例注释作为监督信号来生成特征聚合注意力图。

[74] D. Zhou et al., “IAFA: Instance-aware feature aggregation for 3D object detection from a single image,” in Proc. Asian Conf. Comput. Vis., 2020, pp. 1–18.

[75] 提出了一种用于单目 3D 目标检测的几何不确定性投影网络(GUP Net)。输入图像由基于 CenterNet 构建的 2-D 检测主干进行处理,以获得 2-D BBox(ROI)和 3-D BBox 信息,即每个框的角度、尺寸和 3-D 投影中心。然后,GPU Net通过结合数学先验和不确定性建模来预测深度​​信息及其相应的不确定性。提出了一种有效的分层任务学习(HTL)策略,以减少基于几何的方法中任务依赖性引起的不稳定性(误差放大)。误差放大导致估计深度的放大。 HTL 策略通过让每个任务闲置直到其前置任务得到良好训练来控制整个训练过程。

[75] Y. Lu et al., “Geometry uncertainty projection network for monocular 3D object detection,” in Proc. IEEE/CVF Int. Conf. Comput. Vis. (ICCV), Oct. 2021, pp. 3111–3121.

[76] 提出了一种基于图的深度条件动态消息传播(DDMP)模型,用于单目 3D 目标检测。该模型包括两个分支:回归分支和深度提取分支。回归分支接收 RGB 图像进行特征提取,深度提取分支估计相应的深度图并提取深度感知特征。提出了中心感知深度编码(CDE)方法来减少深度先验不准确的问题。上下文感知和深度感知功能通过 DDMP 模块与图形消息传播模式集成。最后,使用 3D 检测头获得 3D 目标框。 KITTI数据集上的实验结果表明该模型优于之前的模型,例如D4LCN。

[76] L. Wang et al., “Depth-conditioned dynamic message propagation for monocular 3D object detection,” in Proc. IEEE/CVF Conf. Comput. Vis. Pattern Recognit. (CVPR), Jun. 2021, pp. 454–463.

有些工作采用了与上面提到的不同的方法来解决 2D 图像输入的 3D 目标问题。
[77] 提出了 RAR-Net,一种增强型轴向细化网络单目 3D 目标检测模型。所提出的模型从初始预测开始,并逐渐将其细化至真实情况,并且每一步仅更改一个 3-D 参数。 ε-贪婪策略通过在每个动作被采取后选择具有最高估计奖励的动作来最大化奖励,以细化单目 3D 检测网络的 3D 框。在每一步中,来自图像和 3D 空间的信息都会被融合;然后,将当前检测投影到图像空间中以保留信息。这种基于强化学习的学习可以用作后处理阶段,并集成到现有的单目 3D 检测模型中,以通过一些额外的计算成本来提高性能。该模型使用 KITTI 数据集进行训练,并显示出良好的性能。

[77] L. Liu, C. Wu, J. Lu, L. Xie, J. Zhou, and Q. Tian, “Reinforced axial refinement network for monocular 3D object detection,” in Proc. Eur. Conf. Comput. Vis.Glasgow, U.K.: Springer, Aug. 2020, pp. 540–556.

[78] 提出了一种使用 LiDAR 和摄像头传感器的 3D 车辆检测模型。 AV 的 3-D BBox 的大小和方向是根据 RGB 图像估计的,而 LiDAR 点云用于距离估计。作为图像特征提取器,作者使用 MobileNetV2 [79]。该模型在 KITTI 和 Waymo 数据集上进行了训练和测试。

[78] S. Mehtab, W. Q. Yan, and A. Narayanan, “3D vehicle detection using cheap LiDAR and camera sensors,” in Proc. 36th Int. Conf. Image Vis. Comput. New Zealand (IVCNZ), Dec. 2021, pp. 1–6.
[79] M. Sandler, A. Howard, M. Zhu, A. Zhmoginov, and L.-C. Chen, “MobileNetV2: Inverted residuals and linear bottlenecks,” in Proc. IEEE/CVF Conf. Comput. Vis. Pattern Recognit., Jun. 2018, pp. 4510–4520.

[80] 提出了用于单目 3D目标检测的自监督损失解缠变换。损失将参数贡献组从原始损失中分离成单独的项。作者还将损失函数 IOU 用于 2-D 检测和 3-D BBox 预测以及检测置信度。该模型在 KITTI 数据集上进行训练。

[80] A. Simonelli, S. R. Bulo, L. Porzi, M. López-Antequera, and P. Kontschieder, “Disentangling monocular 3D object detection,” in Proc. IEEE/CVF Int. Conf. Comput. Vis. (ICCV), Oct. 2019, pp. 1991–1999.

这三种深度估计技术执行不同的操作以从 2-D 图像估计深度。伪激光雷达方法将图像转换为激光雷达表示,并使用基于激光雷达的模型来利用激光雷达表示的 3D 信息。另一方面,基于立体的模型不将图像变换到另一个域中;相反,从左右立体图像生成深度。几何约束方法使用附加的几何约束,包括物体形状、地平面和关键点来估计二维图像的深度信息。

表 I 中列出了 3-D BBox 编码技术、3-D 目标检测评估方法、实验使用的数据集以及每种方法的发表年份。

在这里插入图片描述

表 II 显示了基于图像的 3-D 目标检测方法在 KITTI 验证和测试数据基准上的 BEV 和 3-D 性能比较。

在这里插入图片描述

挑战和未来方向

相机图像,尤其是单目图像,富含纹理和颜色信息,这对于与颜色相关的任务(例如对象分类和车道检测)至关重要。然而,它们不能提供高度准确的深度信息来全面了解周围环境。自动驾驶需要足够强大,才能在不同的天气条件下行驶,但摄像头会受到恶劣天气的影响。此外,在与训练不同的领域进行评估的深度学习模型表现不佳。

论文提出了自动驾驶汽车基于图像的 3D 目标检测面临的挑战和未来的研究方向。
1.半监督学习: 监督学习的挑战之一是注释和标记数据,这需要时间和金钱。数据注释和标记问题可以使用无监督学习来解决。然而,无监督模型的检测和分类精度低于监督模型。这些问题的潜在解决方案是应用半监督模型,使用少量标记数据和许多未标记数据,以利用针对不同应用程序的丰富的免费图像。一些师生模型,例如Zhang等人。 [119],属于自动驾驶的半监督 3D 目标检测网络。教师模型在师生模型中生成伪标签,学生模型训练伪标签和标记数据集。然后,教师模型可以从学生模型接收更新以获得更好的伪标签预测。该模型主要用于 2-D 目标检测,但 3-D 等效模型有限。
2.多任务学习: 深度学习网络的特征提取器部分可以为多个应用程序所共用。因此,构建具有通用特征提取器/具有多个决策层的模型较低架构的模型来执行多个任务可以节省时间、内存和计算能力。
3.领域自适应模型: 深度学习模型在使用与训练时不同的领域进行测试时应该执行相同/等效的操作。然而,当训练领域发生变化时,大多数深度学习模型的表现都很差。领域自适应模型对于自动驾驶至关重要,可以避免特定国家/地区的变化,例如交通标志变化和拐角问题。因此,需要领域自适应模型来学习驾驶环境的变化并快速响应变化。
4.轻量级模型: AV 中的深度学习模型应满足以下三个标准 [1]。 a) 准确到精确的周围环境信息。 b) 能够在不同的天气下工作。 c) 实时进行高速行驶。为了达到上述标准,深度学习模型应该足够强大,能够在不同的天气下工作,并且足够轻,可以部署在低功耗和低内存的嵌入式硬件设备中。大多数现有的 3D 目标检测模型并不像其 2D 模型那样轻量。与 3-D 目标检测模型相比,有相对轻量级的 2-D 目标检测模型,例如 YOLO 和 SSD。
5.多传感器融合: 相机适合与颜色相关的检测,并且也具有丰富的纹理。尽管已经开发了不同的方法来解决 3D 信息缺乏的问题,但使用相机进行 3D 物体检测仍具有挑战性。此外,摄像头对恶劣天气的鲁棒性较差,这使得在不同环境天气下的稳健驾驶具有挑战性。其他传感器可以提供更好的 3D 信息,例如 LiDAR,并且对恶劣天气更稳健,例如雷达。因此,将相机图像与 LiDAR 和/或雷达融合可以通过利用不同传感器的最佳性能来改进 3D 目标检测。
6.将时间线索添加到空间信息: 在现有的 3D 目标检测模型中,使用包含有限信息的单帧(空间)数据。在空间信息中包括时间信息可以提高检测性能。 BEVDet4D 在使用时间信息和空间信息方面已经显示出有希望的结果。
7.平衡数据集: 大多数现有数据集都存在类别不平衡问题,其中某些类别的样本较多,而另一些类别的样本较少。由于数据的高代表性,大多数类别都会在决策过程中影响模型。通过花时间为那些代表性较少的类别收集更多数据或提出其他解决方案,例如提出损失函数,我们可以最小化或避免类别不平衡问题的影响。此外,从模拟器生成合成数据并使用真实数据进行训练可能有助于解决类别不平衡问题。

结论

这篇综述提出了基于深度学习的单目和立体相机图像的自动驾驶 3D 目标检测。总结了3-D BBox编码方法和相应的评估指标。还回顾了一般对象检测类别(如一级和两级)以及 3D 目标检测的深度估计方法。
深度估计方法根据伪激光雷达、立体图像和几何约束方法等技术进行分组。尽管由于深度学习的快速发展,使用相机图像的 3D 物体检测已经显示出显着的性能改进,但可靠和鲁棒的驾驶仍然存在需要解决的问题,例如在恶劣天气或夜间驾驶。

相机传感器颜色和纹理丰富且价格便宜,但它无法远距离测量距离,无法承受恶劣天气,并且不能提供直接的 3D 信息。3D 传感器(例如 LiDAR 和雷达)提供有关驾驶环境和目标的 3D 信息。激光雷达在恶劣天气下比相机更耐用,是长距离测量和速度估计的不错选择。然而,它的颜色和纹理并不丰富。同样,雷达是一种适用于恶劣天气的强大传感器,也是距离测量和速度估计的最佳选择,但它的分辨率较低,使得基于雷达的检测变得困难。此外,自动驾驶过程中还存在传感器故障的可能性。因此,使用多个传感器进行自动驾驶对于使用来自不同传感器的冗余数据在恶劣天气或传感器故障条件下实现可靠​​和鲁棒的驾驶至关重要。轻量且准确的 3D 目标检测模型对于提高实时处理的速度和准确性是必要的。最后,提出了挑战和可能的研究方向。

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

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

相关文章

力扣每日一题:2415. 反转二叉树的奇数层(2023-12-15)

力扣每日一题 题目:2415. 反转二叉树的奇数层 日期:2023-12-15 用时:6 m 51 s 时间:0 ms 内存:46.97 MB 代码: /*** Definition for a binary tree node.* public class TreeNode {* int val;* T…

Cockpit upload文件上传漏洞(CVE-2023-1313)

0x01 产品简介 Cockpit 是一个自托管、灵活且用户友好的无头内容平台,用于创建自定义数字体验。 0x02 漏洞概述 Cockpit assetsmanager/upload接口处存在文件上传漏洞,攻击者可通过该漏洞在服务器端任意上传代码,写入后门,获取服务器权限,进而控制整个web服务器。 0x0…

如何使用ArcGIS Pro拼接影像

为了方便数据的存储和传输,我们在网上获取到的影像一般都是分块的,正式使用之前需要对这些影像进行拼接,这里为大家介绍一下ArcGIS Pro中拼接影像的方法,希望能对你有所帮助。 数据来源 本教程所使用的数据是从水经微图中下载的…

【1.6计算机组成与体系结构】存储系统

目录 1.层次化存储结构2.Cache2.1 Cache的介绍2.2 局部性原理2.3 Cache应用 1.层次化存储结构 由 ⬆ CPU:寄存器。 快 ⬆ Cache:按内容存取(相联存储器)。 到 ⬆内存(主存):DRAM。 慢 ⬆ 外存(辅存&#…

蓝牙物联网智慧工厂解决方案

蓝牙物联网智慧工厂解决方案是一种针对工厂管理的智能化解决方案,通过蓝牙、物联网、大数据、人工智能等技术,实现工厂人员的定位、物资的定位管理、车间的智慧巡检、智慧安防以及数据的可视化等功能。 蓝牙物联网智慧工厂解决方案构成: 人员…

CSS盒子的浮动与网页布局(重点,有电影页面案例)

浮动适用于那种盒子的并列布局 CSS 提供了三种传统布局方式(简单说,就是盒子如何进行排列顺序):  普通流(标准流)  浮动  定位 标准流(普通流/文档流) 所谓的标准流: 就是标签按照规定好默认方式排列. 1. 块级…

算法基础概念之数据结构

邻接表 每个点作为头节点接一条链表 链表中元素均为该头节点指向的点 优先队列 参数: ①储存元素类型 ②底层使用的存储结构(一般为vector) ③比较方式(默认小于)

华为数通——网络参考模型

OSI参考模型 七层 应用层:最靠近用户的一层,为应用程序提供网络服务。 六层 表示层:数据格式转换编码格式UTF-8。 五层 会话层:双方之间建立、管理和终止会话。 四层 传输层:建立、维护和取消端到端的数据传输过…

锁--07_1----插入意向锁-Insert加锁过程

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 插入意向锁MySQL执行插入Insert时的加锁过程MySQL官方文档MySQL insert加锁流程1.加插入意向锁2.判断插入记录是否有唯一键3. 插入记录并对记录加X锁插入意向锁----…

使用opencv的Sobel算子实现图像边缘检测

1 边缘检测介绍 图像边缘检测技术是图像处理和计算机视觉等领域最基本的问题,也是经典的技术难题之一。如何快速、精确地提取图像边缘信息,一直是国内外的研究热点,同时边缘的检测也是图像处理中的一个难题。早期的经典算法包括边缘算子方法…

瑞芯微rv1126边缘计算盒子高性价比2.0TOPS INT8/INT16

边缘计算盒子 瑞芯微rv1126 | 2.0TOPS INT8/INT16 ● 集成了NPU,算力高达2.0TOPsINT8/INT16。 ● 支持H.264/H.265/MJPEG视频编解码;支持多级别视频质量配置及编码复杂度设置。 ● 编解码性能 3840 x 216030 fps 1080p30 fps encoding 3840 x 21603…

力扣题目学习笔记(OC + Swift) 12. 整数转罗马数字

12. 整数转罗马数字 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XI…

eclipse连接mysql数据库(下载eclipse,下载安装mysql,下载mysql驱动)

前言: 使用版本:eclipse2017,mysql5.7.0,MySQL的jar建议使用最新的,可以避免警告! 1:下载安装:eclipse,mysql在我之前博客中有 http://t.csdnimg.cn/UW5fshttp://t.csdn…

使用 Matplotlib 和 mplcursors 创建交互式数据可视化,鼠标悬停动态显示数据

在本博客中,我们将探讨如何使用 Matplotlib(Python 中流行的绘图库)和 mplcursors(一个为 Matplotlib 图表添加交互式数据光标的库)创建交互式数据可视化。 效果图: 环境设置 首先,请确保已…

stable-diffusion-webui(AI绘画)项目实现,即遇到的问题

实现步骤: 为了使环境中的库版本不会乱,导致自己电脑原来一些项目无法运行最好使用虚拟环境 下载miniconda 在搜索中搜所miniconda找到 建立虚拟环境 conda create --name sdwebui python3.10.6 每次运行激活这个虚拟环境 conda activate sdwebui …

算法通关村第十二关—字符串转换(青铜)

一、转换成小写字母 LeetCode709.给你一个字符串s,将该字符串中的大写字母转换成相同的小写字母,返回新的字符串。 示例1: 输入:s"Hello" 输出:"hello" 示例2: 输入:s&qu…

万户 OA OfficeServer.jsp 任意文件上传漏洞复现

0x01 产品简介 万户OA是面向政府组织及企事业单位的FlexOffice自主安全协同办公平台。 0x02 漏洞概述 万户OA OfficeServer.jsp接口存在任意文件上传漏洞,攻击者可通过该漏洞上传任意文件从而控制整个服务器。 0x03 复现环境 FOFA: (banner="OASESSIONID" &a…

Vmware Windows10安装Apache php

文章目录 一、下载必要的软件二、安装Apache三、安装php四、php连接Apache五、测试 一、下载必要的软件 Apache:https://www.apachelounge.com/download/ PHP:http://windows.php.net/download/ 二、安装Apache 将下载的压缩包解压,移动里…

0基础学习VR全景平台篇第128篇:720VR全景拍摄设备推荐

上课!全体起立~ 大家好,欢迎观看蛙色官方系列全景摄影课程! 本篇教程,小编为大家推荐720VR全景拍摄所需要的设备器材。上节我们提到,理论上任意相机和镜头都能够拍摄全景,但为了标准化制作流程&#xff0…

Golang在 Docker 中交叉编译 Windows

前言: 前端时间把本地的 Golang 开发环境卸载了,如果编写代码的话就是启动一个 Golang 的 Docker 容器。这样做对于服务端开发本来也是没有问题的,但是有时候想要把程序放到 Windows 上面来执行,那就遇到麻烦了。因为 Docker 容器…