详解停车位检测论文:Attentional Graph Neural Network for Parking-slot Detection
本文介紹一篇注意力圖神經網絡用于停車位檢測論文,論文已收錄于 RA-L2021。在之前的基于卷積神經網絡的停車位檢測方法中,很少考慮停車位標記點之間的關聯信息,從而導致需要復雜的后處理。在本文中,作者將環視圖中的標記點看作圖結構數據,使用圖神經網絡聚合相鄰的標記點信息,不需要任何后處理,可以端到端訓練。在ps2.0 和 PSV 停車位數據集上都取得了最優的檢測性能。
論文鏈接為: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}^ze8trgl8bvbq, \mathbf{p}_{2}^{g}-\mathbf{p}_{2}^ze8trgl8bvbq\right)\right\|_{2}<10 ∥∥?(p1g??p1d?,p2g??p2d?)∥∥?2?<10
2.2 Results and Discussions
在 ps2.0 和 PSV 數據集上的測試結果如下,同時作者還使用了FCN網絡代替圖網絡,比較了標記點的相似性得分。
2.3 Ablation study
下面是一些對照實驗結果,比較了使用不同特征網絡的檢測性能和時間消耗,位置編碼器、圖神經網絡層數和注意力頭個數影響,以及損失函數權重影響。
從中可以看到,標記點損失權重對最終影響是比較大的;不過在ps2.0數據集上各種特征提取網絡的檢測性能都已經很高了,后續還需要在更大的數據集上進行測試。
總結
以上是生活随笔為你收集整理的详解停车位检测论文:Attentional Graph Neural Network for Parking-slot Detection的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 又一类存款被央行点名,部分银行紧急下架!
- 下一篇: 人民币国际支付份额升至2.4%,创5年新