日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

avod论文理解与代码解读

發布時間:2024/8/1 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 avod论文理解与代码解读 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

AVOD 論文理解與代碼解讀

  • 論文簡析
    • 概述
    • 網絡結構
      • BEV map
      • 特征提取
      • rpn 網絡
      • 特征融合
    • 第二階段檢測網絡
      • box 編碼
      • 方向確定
    • 代碼解讀
      • anchor 的產生
      • mini batch的產生與作用
      • rpn model
      • avod model
      • loss
      • 不足

論文簡析

參考文章:
csdn

代碼:
代碼
文獻:
論文

概述

這篇論文的特點是多數據融合。自動駕駛領域對安全性的要求更加嚴格,這對檢測的準確性要求很高。多數據的融合提供了更多的信息,相對的檢測能力更好一些。avod網絡以雷達點云數據生成BEV map和image作為輸入,經過特征提取成兩個相應的feature map,通過anchor的映射融合兩個特征圖,經過rpn網絡產生non-oriented region proposals,(事實上rpn網絡只對class和bounding box進行回歸)
將這些proposals送入子網絡second stage detector network產生精確的有方向的3D bounding boxs,完成3D物體的檢測。網絡結構如下:

網絡結構

BEV map

將點云數據處理成6channel BEV map.在水平面上分辨率為0.1,選取[-40, 40]x[0, 70]范圍的點處理成700x800的BEV map.在豎直方向上選取[0, 2.5]平分為五段,這樣就將點云數據劃分成700x800x5的體素。然后在每個體素中提取高度信息,在整體的700x800的圖上提取整體密度信息。最終構成700x800x6的BEV map.但是感覺所提特征不明顯,對結果有很大的影響。
如圖:

特征提取

avod 為了提高小目標物體的檢測準確率,采用FPN的想法,得到全分辨的feature map送入rpn網絡。如圖:

rpn 網絡

1.anchors以6參數形式表示。(tx, ty, tz)表示中心點,(dx, dy, dz)表示三個軸的尺寸。在BEV上以0.5米的間距采樣(tx, ty), tz由傳感器與地面間的距離等因素決定。anchors的大小由訓練樣本數據而得(怎么確定暫時沒看,應該類似最近鄰的方式統計出來的吧,也可以自己設定一個固定預設值,類似faster rcnn)?! ?br /> 2.rpn的loss計算分為兩部分:
類別loss: 采用交叉熵loss.
box regression loss: 采用smooth L1 loss.
3.在BEV上通過判定anchors與ground truth的IoU分辨object/background,在BEV上采用2D NMS將top k proposals 送入第二階段檢測網絡。

特征融合

每個3D anchor投影到BEV以及image獲得兩個roi,每個roi進行resized to 3x3然后進行像素級別的特征融合。

第二階段檢測網絡

全連接層得到類別,bounding box,方向的回歸。

box 編碼

本文采用4corner + 2 height offset方式編碼,利用3D舉行框頂點對齊的幾何限制減少參數并利用物體與ground plane的偏移,得到更精確的定位?;貧w形式是( ?x1…?x4,?y1…?y4, ?h1, ?h2)。實現中的ground plane參數為4個系數,ax+by+cz+d=0確定的平面。box表示形式如圖:

方向確定

avod采用regressed orientation vector以及計算(cos(ry),sin(ry)),可以由BEV平面的唯一單位向量表示。每個bounding box有四個可能的朝向,選取離regressed orientation vector最近的朝向。

代碼解讀

anchor 的產生

根據得到的cluster的每個尺寸產生兩個方向的anchor。最終的anchor數量計算為70x80/0.5/0.5x(num_cluster)*2.源碼中num_cluster為2,這樣anchor的總數量為89600個。即每幅圖產生89600個anchor。

mini batch的產生與作用

gen_mini_batches.py 會利用生成的anchors與gt來生成最終輸入網絡的信息。開始生成的anchors總共有89600,去除掉空的anchors,大約在8k到15k之間。然后用剩下的這些anchors與gt計算iou,最終iou大于0的大約150(只有一個gt的大致結果)。這個結果與論文不符,不知道自己哪理解的有問題。附上論文介紹:

最終產生的文件在文件夾mini_batches中。具體信息為:
shape:(N, 9)
index: anchors的序號
iou: anchors 與gt的iou.
offset(6個): anchor與gt的共同結果,計算公式如下:
t_x_gt = (x_gt - x_anch)/dim_x_anch
t_y_gt = (y_gt - y_anch)/dim_y_anch
t_z_gt = (z_gt - z_anch)/dim_z_anch
t_dx_gt = log(dim_x_gt/dim_x_anch)
t_dy_gt = log(dim_y_gt/dim_y_anch)
t_dz_gt = log(dim_z_gt/dim_z_anch)
class_index:每種object類別對應的數值,例如 car:1
另外:這個過程中可以設置類別,難度等的設置。這樣數據的好壞有個分類,這樣比較更加細致一些。

rpn model

這個網絡主要是利用數據預處理的anchors與label進行粗預測,檢測出rois.這些rois很可能是需要檢測的區域。這一塊利用了anchor來進行點云與圖像數據的融合。生成的rois用于下一階段的融合與檢測。

avod model

利用rpn_model生成的rois來進行數據融合與檢測。

loss

包括定位,類別,方向預測。

不足

1.我覺得這篇論文對點云的處理不夠細致,提取的特征不足。
2.整體的網絡也很平常,沒有對與小物體的優化處理,網絡結構可以更加豐富一些。
3.loss可以更優化一些。

總結

以上是生活随笔為你收集整理的avod论文理解与代码解读的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。