本文介绍一篇注意力图神经网络用于停车位检测论文,论文已收录于 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。停车位一般由四个标记点组成 (P1,P2,P3,P4)(P_1,P_2,P_3,P_4)(P1​,P2​,P3​,P4​) (四个顶点按照逆时针排序);因此停车位检测问题可以描述为检测车位进入线上顶点 (P1,P2)(P_1,P_2)(P1​,P2​) 的问题。本文提出的停车位检测流程为:

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


1.2 Graph Feature Encoder

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

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

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

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


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 表示 NNN 个节点 (xi)(\mathbf{x}_i)(xi​),E\mathbf{E}E 表示 N×NN \times NN×N 条边。

图神经网络每一层标记点特征更新方法为:
xil+1=xil+MLP([xil∥mEi→il])\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([xil​∥mEi​→il​])

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

对于每一个图节点特征 xil\mathbf{x}_i^lxil​,query,key,value 计算为:
qi=W1lxil+b1lkj=W2lxjl+b2lvj=W3lxjl+b3l\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} qi​kj​vj​​=W1l​xil​+b1l​=W2l​xjl​+b2l​=W3l​xjl​+b3l​​

节点 i,ji,ji,j 之间的注意力计算为:αi,j=Softmax(qiTkj)\alpha_{i,j}=Softmax(\mathbf{q}_i^{T} \mathbf{k}_j)αi,j​=Softmax(qiT​kj​),则图节点聚合信息为: mEi→il=∑j∈Eiαi,jkvj\mathbf{m}_{E_{i} \rightarrow i}^{l}=\sum_{j \in E_{i}} \alpha_{i, j}^{k} \mathbf{v}_{j}mEi​→il​=∑j∈Ei​​αi,jk​vj​。在本文中,使用多个注意力头,则聚合信息为:mEi→il=Wl(mEi→il,1∥mEi→il,2∥⋯∥mEi→il,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)mEi​→il​=Wl(mEi​→il,1​∥∥∥​mEi​→il,2​∥∥∥​⋯∥mEi​→il,h​)。


1.4 Entrance Line Discriminator

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

整个损失函数为:
loss=λ1losspoint+λ2losslineloss=\lambda_1 loss_{point} + \lambda_2 loss_{line} loss=λ1​losspoint​+λ2​lossline​

其中标记点损失 losspointloss_{point}losspoint​ 为:
los⁡spoint =1S2∑i=1S2{(ci−ci^)2+1i[(xi−xi^)2+(yi−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 ​=S21​i=1∑S2​{(ci​−ci​^​)2+1i​[(xi​−xi​^​)2+(yi​−y^​i​)2]}

车位进入线损失 losslineloss_{line}lossline​ 为:
lossline=1N2(−∑i=1N∑j=1Nlij^loglij)loss_{line} = \frac{1}{N^2} (-\sum_{i=1}^{N}\sum_{j=1}^{N} \hat{l_{ij}}logl_{ij}) lossline​=N21​(−i=1∑N​j=1∑N​lij​^​loglij​)


2.Experimental Results and Discussion

2.1 Datastes & Setting

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

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

∥(p1g−p1d,p2g−p2d)∥2<10\left\|\left(\mathbf{p}_{1}^{g}-\mathbf{p}_{1}^{d}, \mathbf{p}_{2}^{g}-\mathbf{p}_{2}^{d}\right)\right\|_{2}<10 ∥∥​(p1g​−p1d​,p2g​−p2d​)∥∥​2​<10


2.2 Results and Discussions

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


2.3 Ablation study

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

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

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

  1. 【论文分享】异构图神经网络域名检测方法GAMD:Attributed Heterogeneous Graph Neural Network for Malicious Domain Detection

    题目:Attributed Heterogeneous Graph Neural Network for Malicious Domain Detection 链接:https://ieeexplor ...

  2. 论文阅读 - Social Bot-Aware Graph Neural Network for Early Rumor Detection - CCF B

    目录 摘要: 1 绪论 2 问题定义 3 SBAG模型 3.1社交机器人检测 3.2 机器人感知图神经网络 3.2.1基于GCN的用户发布 3.2.2 基于GAT的用户交互 3.2.3文本编码器 3. ...

  3. 【论文阅读】Point-GNN: Graph Neural Network for 3D Object Detection in a Point Cloud

    最近在看3d目标检测的文章,感觉看完东西还是要记一下自己的想法,尤其是有思考的文章. 论文题目:Point-GNN: Graph Neural Network for 3D Object Detect ...

  4. 详解停车位检测算法 Vision-Based Parking-Slot Detection: A DCNN-Based Approach and a Large-Scale Benchmark

    本文介绍一篇基于深度学习的停车位检测论文:DeepPS,作者同时公开了数据集ps2.0,工作很扎实,对于入门停车位检测很有帮助,论文发表在 IEEE T-IP 2018. 项目链接为:https:// ...

  5. 【论文解读 CIKM 2018 | GEM】Heterogeneous Graph Neural Networks for Malicious Account Detection

    论文链接:Heterogeneous Graph Neural Networks for Malicious Account Detection 来源:CIKM 2018(CCF-B 数据库,数据挖掘 ...

  6. 【论文解读 ASONAM 2019】Semi-Supervised Learning and Graph Neural Networks for Fake News Detection

    论文题目:Semi-Supervised Learning and Graph Neural Networks for Fake News Detection 论文链接:https://ieeexpl ...

  7. 【论文阅读】MAGNN: Metapath Aggregated Graph Neural Network for Heterogeneous Graph Embedding

    用于异质图嵌入的元路径聚合图神经网络 摘要 1 引言 2 准备工作 3 相关工作 3.1 GNN 3.2 异质图嵌入 4 方法 4.1 节点内容转换 4.2 元路径内部聚合 4.3 元路径间的聚合 4 ...

  8. 论文《Bilinear Graph Neural Network with Neighbor Interactions》阅读

    论文<Bilinear Graph Neural Network with Neighbor Interactions>阅读 论文概况 Introduction Bilinear Grap ...

  9. 论文笔记:Person Re-identification with Deep Similarity-Guided Graph Neural Network

    Person Re-identification with Deep Similarity-Guided Graph Neural Network 2018-07-27 17:41:45 Paper: ...

最新文章

  1. Apache URL重定向避免网址结尾斜线问题
  2. 【Qt】QtCreator中配置clang-format
  3. MySQL时间慢了八个小时
  4. ORACLE11G RAC增加节点操作
  5. C++入门经典-例8.1-类的继承
  6. 一个职场小白想当程序员,该从哪学起?做好三大准备,完全不是问题!
  7. MOM SMS SharePoint
  8. python是什么 自学-这是大多数新手入门之后强烈推荐的python自学入门指南秘笈...
  9. DHCP技术原理详解
  10. arduino 读取当前时间_Arduino使用DS1302读取时间
  11. C#正则表达式提取txt小说目录
  12. Beyond Compare设置默认编码、每行字符个数、自动换行
  13. 读取和修改JPEG图片文件的头信息EXIF和JFIF
  14. 中考计算机上机考试如何操作,全国2021年初中信息技术中招考试上机考试提分技巧...
  15. 树莓派cm3+的i2c使用总结
  16. 计算机网络p2p应用,【计算机网络】2.6 P2P应用(示例代码)
  17. python 数据处理时去除emoji表情
  18. SIO_KEEPALIVE_VALS 用户异常掉线检测
  19. windows c++编程入门
  20. 黑鹰的学习网站--感兴趣的可以去看看

热门文章

  1. [Leedcode][JAVA][面试题 01.07][找规律][旋转数组]
  2. java list 从0开始_Java从零开始学二十一(集合List接口)
  3. fragment在activity中的静态和动态用法_使用Matlab修改压缩Gif动态图片制作微信表情...
  4. java 4个系统,JSP系统的四个组成部分
  5. ublox Android 定位超时,[RK3288] [Android 7.1] u-blox GPS调试
  6. hill密码源代码c语言,古典密码(Hill加密算法)(示例代码)
  7. python随机数模块_python 随机数模块 -- random
  8. 蓝桥杯c语言a组2015,2015第七届蓝桥杯决赛C语言A组--穿越雷区(DFS)
  9. NSIS 查找文件是否存在,并设置安装路径
  10. Cubieboard安装Debian在Nand中