详解停车位检测论文:Attentional Graph Neural Network for Parking-slot Detection

2023-10-29

在这里插入图片描述
本文介绍一篇注意力图神经网络用于停车位检测论文,论文已收录于 RA-L2021。在之前的基于卷积神经网络的停车位检测方法中,很少考虑停车位标记点之间的关联信息,从而导致需要复杂的后处理。在本文中,作者将环视图中的标记点看作图结构数据,使用图神经网络聚合相邻的标记点信息,不需要任何后处理,可以端到端训练。在ps2.0PSV 停车位数据集上都取得了最优的检测性能。

论文链接为:https://arxiv.org/pdf/2104.02576.pdf

项目链接为:https://github.com/Jiaolong/gcn-parking-slot


1. Method

1.1 Overview

本文提出的基于注意力图神经网络停车位检测模型结构如下图所示,由三部分组成:Graph feature encoder,Graph feature aggregation,Entrance line discriminator。停车位一般由四个标记点组成 ( P 1 , P 2 , P 3 , P 4 ) (P_1,P_2,P_3,P_4) (P1,P2,P3,P4) (四个顶点按照逆时针排序);因此停车位检测问题可以描述为检测车位进入线上顶点 ( P 1 , P 2 ) (P_1,P_2) (P1,P2) 的问题。本文提出的停车位检测流程为:

  • 给定一张环视图 I ∈ R H × W × 3 \mathbf{I} \in \mathbb{R}^{H\times W\times 3} IRH×W×3,首先使用卷积神经网络进行特征提取。 然后标记点检测器检测标记点,标记点编码网络提取标记点特征。
  • 接着使用注意力图神经网络推理标记点之间的关系,本文设计的图神经网络为全连接网络,其中每一个点表示为标记点。
  • 最后,使用车位进入线判别器决定两个标记点是否可以形成一个有效的车位进入线。

在这里插入图片描述


1.2 Graph Feature Encoder

标价点检测器输出为 S × S × 3 S\times S\times 3 S×S×3 的特征图,其中通道 3 3 3 包含标记点位置 ( x , y ) (x,y) (x,y)置信度 c c c。在使用极大值抑制(NMS)后会得到 N N N 个标记点。

标记点特征编码器包含 4 4 4 个卷积层,输出特征图为 S × S × 64 S\times S \times 64 S×S×64。对于检测到的 N N N 个标记点位置 P = ( x , y ) ∈ R N × 2 P=(x,y) \in \mathbb{R}^{N\times 2} P=(x,y)RN×2,使用双线性插值计算标记点特征。最终得到标记点特征 F ∈ R N × 64 \mathbf{F} \in \mathbb{R}^{N\times 64} FRN×64。这里特征图大小 S = 16 S=16 S=16

为了增强特征表示,将标记点位置和特征进行融合
v i = f i + M L P ( x i , y i ) \mathbf{v}_i=\mathbf{f}_i+\mathbf{MLP}(x_i,y_i) vi=fi+MLP(xi,yi)

其中, f i \mathbf{f}_i fi 为最初的标记点特征。


1.3 Graph Feature Aggregation

融合后的标记点特征集合 V \mathbf{V} V,构造一个全连接的图网络 G = ( V , E ) \mathbf{G}=(\mathbf{V},\mathbf{E}) G=(V,E),其中 V \mathbf{V} V 表示 N N N 个节点 ( x i ) (\mathbf{x}_i) (xi) E \mathbf{E} E 表示 N × N N \times N N×N 条边。

图神经网络每一层标记点特征更新方法为:
x i l + 1 = x i l + M L P ( [ x i l ∥ m E i → i l ] ) \mathbf{x}_{i}^{l+1}=\mathbf{x}_{i}^{l}+\mathbf{M L P}\left(\left[\mathbf{x}_{i}^{l} \| \mathbf{m}_{E_{i} \rightarrow i}^{l}\right]\right) xil+1=xil+MLP([xilmEiil])

其中 m E i → i l \mathbf{m}_{E_{i} \rightarrow i}^{l} mEiil 为第 i i i 个节点一阶邻域 E i {E}_i Ei 聚合的信息,由注意力机制计算得来, [ ⋅ ∥ ⋅ ] [\cdot \| \cdot] [] 为特征结合操作。

对于每一个图节点特征 x i l \mathbf{x}_i^l xilquery,key,value 计算为:
q i = W 1 l x i l + b 1 l k j = W 2 l x j l + b 2 l v j = W 3 l x j l + b 3 l \begin{aligned} \mathbf{q}_{i} &=\mathbf{W}_{1}^{l} \mathbf{x}_{i}^{l}+\mathbf{b}_{1}^{l} \\ \mathbf{k}_{j} &=\mathbf{W}_{2}^{l} \mathbf{x}_{j}^{l}+\mathbf{b}_{2}^{l} \\ \mathbf{v}_{j} &=\mathbf{W}_{3}^{l} \mathbf{x}_{j}^{l}+\mathbf{b}_{3}^{l} \end{aligned} qikjvj=W1lxil+b1l=W2lxjl+b2l=W3lxjl+b3l

节点 i , j i,j i,j 之间的注意力计算为: α i , j = S o f t m a x ( q i T k j ) \alpha_{i,j}=Softmax(\mathbf{q}_i^{T} \mathbf{k}_j) αi,j=Softmax(qiTkj),则图节点聚合信息为: m E i → i l = ∑ j ∈ E i α i , j k v j \mathbf{m}_{E_{i} \rightarrow i}^{l}=\sum_{j \in E_{i}} \alpha_{i, j}^{k} \mathbf{v}_{j} mEiil=jEiαi,jkvj。在本文中,使用多个注意力头,则聚合信息为: m E i → i l = W l ( m E i → i l , 1 ∥ m E i → i l , 2 ∥ ⋯ ∥ m E i → i l , h ) \mathbf{m}_{E_{i} \rightarrow i}^{l}=\mathbf{W}^{l}\left(\mathbf{m}_{E_{i} \rightarrow i}^{l, 1}\left\|\mathbf{m}_{E_{i} \rightarrow i}^{l, 2}\right\| \cdots \| \mathbf{m}_{E_{i} \rightarrow i}^{l, h}\right) mEiil=Wl(mEiil,1mEiil,2mEiil,h)


1.4 Entrance Line Discriminator

两个图节点特征结合得到一个 1 × 128 1\times 128 1×128 的输入特征,然后输入到线性判别器。最终输出为 K × 5 K \times 5 K×5 的矩阵,其中 K = N × N K=N \times N K=N×N,表示为标记点对。每一对标记点对包含5个元素: x 1 , y 1 , x 2 , y 2 , t x_1,y_1,x_2,y_2,t x1,y1,x2,y2,t。其中 ( x 1 , x 2 , x 2 , y 2 ) (x_1,x_2,x_2,y_2) (x1,x2,x2,y2)标记点位置 t t t 表示形成车位进入线的概率

整个损失函数为:
l o s s = λ 1 l o s s p o i n t + λ 2 l o s s l i n e loss=\lambda_1 loss_{point} + \lambda_2 loss_{line} loss=λ1losspoint+λ2lossline

其中标记点损失 l o s s p o i n t loss_{point} losspoint 为:
los ⁡ s point  = 1 S 2 ∑ i = 1 S 2 { ( c i − c i ^ ) 2 + 1 i [ ( x i − x i ^ ) 2 + ( y i − y ^ i ) 2 ] } \operatorname{los} s_{\text {point }}=\frac{1}{S^{2}} \sum_{i=1}^{S^{2}}\left\{\left(c_{i}-\hat{c_{i}}\right)^{2}+\mathbb{1}_{i}\left[\left(x_{i}-\hat{x_{i}}\right)^{2}+\left(y_{i}-\hat{y}_{i}\right)^{2}\right]\right\} losspoint =S21i=1S2{(cici^)2+1i[(xixi^)2+(yiy^i)2]}

车位进入线损失 l o s s l i n e loss_{line} lossline 为:
l o s s l i n e = 1 N 2 ( − ∑ i = 1 N ∑ j = 1 N l i j ^ l o g l i j ) loss_{line} = \frac{1}{N^2} (-\sum_{i=1}^{N}\sum_{j=1}^{N} \hat{l_{ij}}logl_{ij}) lossline=N21(i=1Nj=1Nlij^loglij)


2.Experimental Results and Discussion

2.1 Datastes & Setting

ps2.0 停车位数据集包含9827张训练图片(9476个停车位),2338张测试图片(2168个停车位);每一张图片大小为 600 × 600 600 \times 600 600×600,对应物理空间大小为 10 m × 10 m 10\mathbb{m} \times 10\mathbb{m} 10m×10m

S g \mathbf{S}_g Sg 表示为停车位真值集合, S d \mathbf{S}_d Sd 为检测结果集合,如果满足下列条件,则检测结果为真阳性。

∥ ( p 1 g − p 1 d , p 2 g − p 2 d ) ∥ 2 < 10 \left\|\left(\mathbf{p}_{1}^{g}-\mathbf{p}_{1}^{d}, \mathbf{p}_{2}^{g}-\mathbf{p}_{2}^{d}\right)\right\|_{2}<10 (p1gp1d,p2gp2d)2<10


2.2 Results and Discussions

ps2.0PSV 数据集上的测试结果如下,同时作者还使用了FCN网络代替图网络,比较了标记点的相似性得分。

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

2.3 Ablation study

下面是一些对照实验结果,比较了使用不同特征网络的检测性能和时间消耗,位置编码器、图神经网络层数和注意力头个数影响,以及损失函数权重影响。

从中可以看到,标记点损失权重对最终影响是比较大的;不过在ps2.0数据集上各种特征提取网络的检测性能都已经很高了,后续还需要在更大的数据集上进行测试。

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

详解停车位检测论文:Attentional Graph Neural Network for Parking-slot Detection 的相关文章

随机推荐

  • ChatGPT帮忙写一篇Font Awesome的文章,效率有多高?(附加Font Awesome 图标无法正确显示解决方法)

    目录 一 ChatGPT撰写文章 二 图标无法正确显示以及解决方法 一 ChatGPT撰写文章 Font Awesome是一种流行的图标字体和CSS工具包 它允许开发人员轻松地将可伸缩向量图标和社交徽标添加到他们的网站 它由Dave Gan
  • Windows10蓝屏触发及分析

    一 重现环境 1 windows10版本 2 idapro7 5499 3 vs2008运行库 vcredist2008sp1 zip 二 触发蓝屏 1 触发poc include
  • 企业微信php 通讯录管理系统,微信企业号管理通讯录

    微信企业号管理通讯录 2018 09 16 还没吃饭呢 刚写了下企业号通讯录接口 企业号通讯录具备完全开放的接口 你的应用可以调用这些接口管理部门 成员和标签 你的应用也可以使用部门 成员 标签发消息 或更改应用的可见范围 在通讯录管理下
  • Qt 线程基础(QThread、QtConcurrent等)

    昨晚看Qt的Manual 突然发现下一个版本的Qt中 Qt4 7 4 Qt4 8等 增加了一个特赞的介绍多线程的文章 Thread Basics 注意 该链接以后会失效 但是 到时候你直接看Qt自带Manual就行了 本文不是严格的翻译 d
  • 第十章 Vue-CLI 3.x 脚手架构建项目

    10 1 什么是 Vue CLI Vue CLI 是 Vue 官方提供的 用来搭建项目脚手架的工具 它是 Vue js 开发的标准工具 它已经集成了webpack 内置好了很多常用配置 使得我们在使用 Vue 开发项目时更加的标准化 作用
  • UnityVR-初识Unity-第五步-修改被抓物体属性(拓展)

    1 对被抓取的物体添加Rigidbody和OVRGrabbable属性 默认属性即可 2 总之 被抓取物体需要有三个组件 OVRGrabbable Rigidbody组件 另外还必须要有一个碰撞器 Sphere Collider Box C
  • 软件测试2023年行情怎么样?会变好吗?

    春天到了又是金三银四的黄金招聘季了 很多同学都开始想跳槽了 大家非常想知道2023年软件测试行情有没有变好呢 如果想跳槽合不合适 笔者作为这个行业的老师傅 分享一下自己的看法 希望对大家有所帮助 首先今年行情肯定比去年好太多 但是大家不要过
  • PAT C入门题目-7-93 藏尾诗 (20 分)

    7 93 藏尾诗 20 分 本题要求编写一个解密藏尾诗的程序 输入格式 输入为一首中文藏尾诗 一共四句 每句一行 但句子不一定是等长的 最短一个汉字 最长九个汉字 注意 一个汉字占两个字节 输出格式 取出每句的最后一个汉字并连接在一起形成一
  • R语言 给一组数,算 极大似然估计值

    极大似然估计通常用于估计概率分布的参数 因此 具体的极大似然估计方法会依赖于你所假设的概率分布类型 下面我将为你提供一个通用的示例 用于估计一个简单的参数 假设数据服从正态分布 假设你有一组数据 想要估计这些数据的均值和标准差的极大似然估计
  • 手把手教你Windows下使用Anaconda安装TonsorFlow(超详细)

    TonsorFlow TonsorFlow安装步骤 一 安装anaconda 二 TensorFlow安装 三 一些可能的错误及解决办法 TonsorFlow安装步骤 TensorFlow 是一个采用计算图的形式表述数值计算的编程系统 本身
  • multisim仿真 74LS148D级联芯片

    multisim仿真 74LS148D级联芯片
  • 随机密码生成(Python编程)

    一 问题描述 编写程序 在26个字母大小写和9个数字组成的列表中随机生成10个8位密码 二 问题分析 因为要在列表中随机生成密码 故需要将26个大 小写字母和9个数字存放在同一个列表中 首先使用string模块中的ascii letters
  • win10+rtx2070+tensorflow-gpu-1.9.0环境搭建

    最近实验室新到一台工作站 配备了两块rtx2070 但为方便使用其他科研软件 只能使用win10 为学习深度有趣 人工智能实战项目合集 需安装TensorFlow 1 9 0环境 win10下搭建深度学习环境首推基于Anaconda的办法
  • Doxygen安装和使用

    1 简介 Doxygen是一个文本生成工具 用于为源码生成说明文档 我们可以在代码中按照 Doxygen 要求的语法编写代码注释 然后使用 Doxygen 将程序中的注释提取出来生成一个文档 我们一般都把注释写在代码中 所以使用 Doxyg
  • 华为手机怎样才算激活了_华为手机还是“副业”?占总营收近半,手机销售才是主力军...

    只要提起华为 很多人的第一想法绝对是手机 不可否认近年来华为在手机业务上取得的成绩 从过去的籍籍无名到如今无论是国内还是国外 都已经声名远扬 华为手机业务的发展可谓是非常的迅速 值得一提的是 2019年华为手机的市场份额已经跃居成为了全球第
  • 无线数据采集器

    背景介绍 近年来 软硬件技术的革新带动了物联网行业的发展 趋使其应用场景不断深化 从工业设备故障诊断到共享经济 再到新能源汽车 调研发现 物联网的核心框架为 通过传感器感知物理世界的状态 后续利用数据采集装置对信息进行量化并上传到云平台 最
  • ld.so分析5 _dl_start

    ld so分析5 dl start 2010 05 06 08 53 24 分类 LINUX ld so分析5 dl start 对于不关心的地方 我们都 或 注释掉 1 dl start中的变量声明 static Elf32 Addr 我
  • SpringBoot中如何整合Swagger2呢?

    转自 SpringBoot中如何整合Swagger2呢 下文笔者讲述SpringBoot中整合Swagger2的方法分享 如下所示 Swagger简介 Swagger用于自动生成Restful接口说明文档工具 在前后端分离时 后端可直接使用
  • Java字符串的字符进行排序

    要求 对 abc fcc egfd asd rtgh deghk fcc 字段进行排序 要求满足其为升序排列同时每个字符串里也是升序排列 思路 方法1 冒泡排序 思路 先获取字符串数组里的每个字符串 然后使用toCharArray 方法得到
  • 详解停车位检测论文:Attentional Graph Neural Network for Parking-slot Detection

    本文介绍一篇注意力图神经网络用于停车位检测论文 论文已收录于 RA L2021 在之前的基于卷积神经网络的停车位检测方法中 很少考虑停车位标记点之间的关联信息 从而导致需要复杂的后处理 在本文中 作者将环视图中的标记点看作图结构数据 使用图