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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

道路检测 | SNE-RoadSeg论文阅读

發布時間:2025/4/5 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 道路检测 | SNE-RoadSeg论文阅读 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

道路檢測 | SNE-RoadSeg: Incorporating Surface Normal Information into Semantic Segmentation for Accurate Freespace Detection論文閱讀

論文地址:https://arxiv.org/abs/2008.11351

開源代碼:https://github.com/hlwang1124/SNE-RoadSeg

論文作者及研究團隊概述:

Rui (Ranger) Fan:Postdoc Fellow at UC San Diego

Hengli Wang:Ph.D. candidate at HKUST

Peide Cai:Ph.D. candidate at HKUST

Ming Liu:Associate Professor at HKUST

文章目錄

  • 道路檢測 | SNE-RoadSeg: Incorporating Surface Normal Information into Semantic Segmentation for Accurate Freespace Detection論文閱讀
      • 1.整體框架概述
      • 2.SNE模塊
      • 3.實驗
        • 3.1評估SNE
        • 3.2評估SNE-RoadSeg
      • 4.消融實驗
      • 5.總結

1.整體框架概述

?在這篇論文中,首先介紹了一個名為表面法線估計器( surface normal estimator ,SNE)的新型模塊,該模塊可以從密集的深度/視差圖像中高精度和高效率地推斷出表面法線信息。這個思想基于將所檢測的空間假設為一個地面平面,在這個平面上,各點具有相似的表面法線。 此外,提出了一種稱為RoadSeg的數據融合CNN架構,該架構可以從RGB圖像和推斷出的表面法線信息中提取并融合特征,以進行準確的自由空間檢測。同時,出于研究目的,作者發布了在不同光照和天氣條件下收集的大規模合成自由空間檢測數據集,名為Ready-to-Drive(R2D)道路數據集。

?本文提出的SNE-RoadSeg整體框架如下圖所示,它由SNE模塊,一個RGB編碼器,一個表面法線編碼器和一個具有緊密連接的跳躍連接的解碼器組成。 首先采用RGB編碼器和表面法線編碼器分別從RGB圖像和推斷的表面法線信息中提取特征圖,提取的RGB和表面法線特征圖通過逐元素求和進行分層融合。然后通過密集連接的跳躍連接在融合器中再次融合特征圖,以恢復特征圖的分辨率。在RoadSeg的末尾,使用一個Sigmoid層來生成用于語義駕駛場景分割的概率圖。


本文使用ResNet作為RGB和表面法線編碼器的主干網絡,它們的結構彼此相同。具體來說,初始塊由卷積層,批處理歸一化層和ReLU激活函數層組成。然后,依次采用最大池化層和四個殘差層,以逐漸降低分辨率并增加特征圖通道的數量。ResNet具有五種體系結構:ResNet-18,ResNet-34,ResNet-50,ResNet-101和ResNet-152。RoadSeg對于ResNet-18和ResNet-34,c0-c4的通道數分別為64、64、128、256和512,對于ResNet-50,ResNet-101和ResNet-152,c0-c4的通道數分別為64、256、512、1024和2048。

?解碼器由兩類不同的模塊組成:特征提取器和上采樣層,這兩類模塊密集連接,實現靈活的特征融合。采用特征提取器從融合后的特征圖中提取特征,并保證特征圖分辨率不變。

2.SNE模塊


這部分是這篇論文的核心部分,提出了一種利用深度圖估計表面法線信息的方法。整體思路是對于有一幅深度圖,可以聯系CCS坐標獲得每個pixel的三維信息,在此基礎上利用Sobel算子或者其他梯度算子計算水平和垂直梯度以此獲得法線信息的x,y方向分量。既然是是深度圖,那就可以用一個鄰域來估計z方向的法向量分量,這里采用K-D tree選出8個近鄰點來求鄰域中像素的深度差得到法向量。

下面具體分析這一部分:

?對于一幅深度圖像來說,其包含的信息就是空間中每個點的深度信息,在CCS坐標中可以用照相機內矩陣將二維的點的坐標與三維點的坐標相關聯。即:

其中K為照相機內矩陣,x0、y0為圖像中心點,fx和fy為水平焦距和垂直焦距。

?求解法向量最簡單的方法是通過三維點的坐標去擬合一個空間平面方程,即:

這樣X,Y,Z的系數就是法向量的三個分量。結合上邊的兩個式子可以求出1/Z即逆深度圖:

用上述的逆深度圖式子分別對x,y求微分,即通過卷積求逆深度圖的水平和垂直分量,這樣就可以得到想要的點的法線信息的x,y分量。

?用選出的所求點的k個近鄰點的坐標值的偏移量代入到逆深度圖的式子中可以得到k個z方向的法線分量,那么此時對于某一個點來說,估計出的法線信息就有如下k個,即:

?此時對上述的法線信息做一個歸一化,得到k個單位向量,這些單位向量的起點是一致的,那么就可以認為這些向量的終點落在一個以起點為圓心半徑為1的球體上,而我們要求解的最優法向量一定是坐在這些k個向量分布最密集的地方,如下圖所示:

?基于這個理論,將歐式坐標下的法線信息轉化為球坐標,即:

?式子中的θ表示傾角,φ表示方位,求解最優的法向量通過最小化動量的方式得到最終的法線信息結果。

?整個SNE模塊的代碼如下所示:

import torch import torch.nn as nn import torch.nn.functional as Fclass SNE(nn.Module):"""Our SNE takes depth and camera intrinsic parameters as input,and outputs normal estimations."""def __init__(self):super(SNE, self).__init__()def forward(self, depth, camParam):h,w = depth.size()v_map, u_map = torch.meshgrid(torch.arange(h), torch.arange(w))v_map = v_map.type(torch.float32)u_map = u_map.type(torch.float32)Z = depth # h, wY = Z.mul((v_map - camParam[1,2])) / camParam[0,0] # h, wX = Z.mul((u_map - camParam[0,2])) / camParam[0,0] # h, wZ[Y <= 0] = 0Y[Y <= 0] = 0Z[torch.isnan(Z)] = 0D = torch.div(torch.ones(h, w), Z) # h, wGx = torch.tensor([[0,0,0],[-1,0,1],[0,0,0]], dtype=torch.float32)Gy = torch.tensor([[0,-1,0],[0,0,0],[0,1,0]], dtype=torch.float32)Gu = F.conv2d(D.view(1,1,h,w), Gx.view(1,1,3,3), padding=1)Gv = F.conv2d(D.view(1,1,h,w), Gy.view(1,1,3,3), padding=1)nx_t = Gu * camParam[0,0] # 1, 1, h, wny_t = Gv * camParam[1,1] # 1, 1, h, wphi = torch.atan(torch.div(ny_t, nx_t)) + torch.ones([1,1,h,w])*3.141592657a = torch.cos(phi)b = torch.sin(phi)diffKernelArray = torch.tensor([[-1, 0, 0, 0, 1, 0, 0, 0, 0],[ 0,-1, 0, 0, 1, 0, 0, 0, 0],[ 0, 0,-1, 0, 1, 0, 0, 0, 0],[ 0, 0, 0,-1, 1, 0, 0, 0, 0],[ 0, 0, 0, 0, 1,-1, 0, 0, 0],[ 0, 0, 0, 0, 1, 0,-1, 0, 0],[ 0, 0, 0, 0, 1, 0, 0,-1, 0],[ 0, 0, 0, 0, 1, 0, 0, 0,-1]], dtype=torch.float32)sum_nx = torch.zeros((1,1,h,w), dtype=torch.float32)sum_ny = torch.zeros((1,1,h,w), dtype=torch.float32)sum_nz = torch.zeros((1,1,h,w), dtype=torch.float32)for i in range(8):diffKernel = diffKernelArray[i].view(1,1,3,3)X_d = F.conv2d(X.view(1,1,h,w), diffKernel, padding=1)Y_d = F.conv2d(Y.view(1,1,h,w), diffKernel, padding=1)Z_d = F.conv2d(Z.view(1,1,h,w), diffKernel, padding=1)nz_i = torch.div((torch.mul(nx_t, X_d) + torch.mul(ny_t, Y_d)), Z_d)norm = torch.sqrt(torch.mul(nx_t, nx_t) + torch.mul(ny_t, ny_t) + torch.mul(nz_i, nz_i))nx_t_i = torch.div(nx_t, norm)ny_t_i = torch.div(ny_t, norm)nz_t_i = torch.div(nz_i, norm)nx_t_i[torch.isnan(nx_t_i)] = 0ny_t_i[torch.isnan(ny_t_i)] = 0nz_t_i[torch.isnan(nz_t_i)] = 0sum_nx = sum_nx + nx_t_isum_ny = sum_ny + ny_t_isum_nz = sum_nz + nz_t_itheta = -torch.atan(torch.div((torch.mul(sum_nx, a) + torch.mul(sum_ny, b)), sum_nz))nx = torch.mul(torch.sin(theta), torch.cos(phi))ny = torch.mul(torch.sin(theta), torch.sin(phi))nz = torch.cos(theta)nx[torch.isnan(nz)] = 0ny[torch.isnan(nz)] = 0nz[torch.isnan(nz)] = -1sign = torch.ones((1,1,h,w), dtype=torch.float32)sign[ny > 0] = -1nx = torch.mul(nx, sign).squeeze(dim=0)ny = torch.mul(ny, sign).squeeze(dim=0)nz = torch.mul(nz, sign).squeeze(dim=0)return torch.cat([nx, ny, nz], dim=0)

3.實驗

3.1評估SNE

?用平均角度誤差(average angular error)來量化SNE模塊的準確性,通過與已有的法線信息估計方法SRI和LINE-MOD對比發現SNE的準確性在室內和室外場景下均優于這兩種已有方法。定性和定量的分析如下圖所示:

3.2評估SNE-RoadSeg

?上面的兩幅圖像是對比了SYNTHIA道路數據集和R2D數據集后得到的結果示例。其中(i)RGB,(ii)Depth,(iii)SNE-Depth,(iv)RGBD,(v)SNE-RGBD;(1)Deep Labv3+,(2)U-Net,(3)SegNet,(4)GSCNN,(5)DUpsampling,(6)DenseASPP,(7)FuseNet,(8)RTFNet,(9)Depth-aware CNN,(10)MFNet和(11)RoadSeg。通過實驗發現,CNN架構以RGB圖像作為輸入很大程度上受到光照條件的制約,并且對于嵌入SNE模塊和不嵌入SNE模塊最終的效果也有明顯的差別。

?從上邊幾幅圖可以看出,嵌入SNE的方法對于單模態CNN在IoU上提升2-12%,F-score提升1-7%;對于數據融合的CNN架構在IoU上提升1-7%,在F-score提升1-4%。確確實實證明了SNE模塊使得道路區域高度可分。而且也可以看到,SNE-RoadSeg架構也優于上述其他CNN架構,在IoU上提升1.4-14.7%,F-score提升0.7-8.8%,證明了使用密集連接的跳躍連接可以幫助實現靈活的特征融合并且平滑梯度流可以產生道路檢測的精確結果。

?由上圖和表格可以看出,SNE-RoadSeg在MaxF,AP,PRE上都達到了最高的精度,總體在KITTI上排名第二。

4.消融實驗

5.總結

?這篇論文的主要貢獻包括:1、提出了SNE一種表面法線估計方法,可以從深度/視差圖中高精度、高效率的推斷表面法線信息;2、提出了一個名為SNE-RoadSeg的數據融合CNN架構,通過融合從RGB以及法線圖像提取的特征中高精度的實現道路檢測;3、發布了一個用于自動駕駛道路檢測的合成數據集R2D。為了證明SNE模塊的靈活性與有效性將其嵌入到十個最先進的CNN架構中評估了它們在道路檢測中的性能,證明了其可以提高這些CNN的性能同時也證明了SNE-RoadSeg在道路檢測上的性能更優。

總結

以上是生活随笔為你收集整理的道路检测 | SNE-RoadSeg论文阅读的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 日韩欧美一级大片 | 中文字幕一区二区三区av | 成人欧美一级特黄 | 伊人avav | 天堂在线视频观看 | 日韩成人av一区 | 日韩 欧美 精品 | 欧美日韩亚洲精品内裤 | 日本中文在线 | 国产精品爽爽久久 | 午夜爽爽爽视频 | 天天色av| 精品国产aⅴ一区二区三区四川人 | 泽村玲子av | 久热免费| 久久久久99精品成人片我成大片 | 免费毛片网站在线观看 | 在线一区二区视频 | 人妻无码中文字幕免费视频蜜桃 | 特级西西人体wwwww | 成人精品影视 | 亲子乱一区二区三区 | 亚洲欧美电影 | 最好看的2019年中文在线观看 | 亚洲综人网 | 中国在线观看视频高清免费 | 亚洲精品在线一区二区 | 岛国福利视频 | 久久久精品国产sm调教网站 | 自拍偷拍福利视频 | 在线中出| 1024手机看片国产 | 亚洲精品中字 | 欧美一区二区三区视频 | 国产在线视频导航 | 91老师片黄在线观看 | 久久丫精品国产亚洲av不卡 | 久久精品国产亚洲AV熟女 | 99国产精品久久久久久久久久久 | 国产午夜视频在线 | 亚洲欧洲一区二区在线观看 | 青青av在线| 91亚洲国产成人久久精品网站 | 中文字幕日韩精品亚洲一区小树林 | 91免费成人 | 91视频xxx | 善良的女邻居在线观看 | 69网站在线观看 | 翔田千里一区二区三区av | 992av| 中文字幕 自拍 | 亚洲欧美国产一区二区三区 | 骚虎视频在线观看 | www天天干| 久久深夜视频 | 探花视频在线版播放免费观看 | 国产热视频 | 国产乱码精品一区二区三区亚洲人 | 午夜久 | 伊人网伊人影院 | 中文字幕视频二区 | 亚洲永久免费精品 | 福利视频免费观看 | 日本精品黄色 | 成人一级视频在线观看 | 成人污网站 | 亚洲卡一卡二 | 蜜桃传媒一区二区亚洲av | 玖玖国产精品视频 | 韩国三级在线 | 国产午夜福利精品 | 午夜一区二区三区免费观看 | 国产一级理论片 | 欧美人喂奶吃大乳 | 男人私人影院 | 日韩中文字幕观看 | 欧美猛交免费 | 四虎视频在线 | 欧美视频一二三区 | 亚洲天堂资源在线 | 91精品国产高清一区二区三区蜜臀 | 我要看一级黄色片 | 在线免费a视频 | 日韩av.com | 国产精品久久久久久久久绿色 | 嫩草影院永久入口 | 亚洲精品v天堂中文字幕 | 男人操女人免费网站 | 伊人久久五月天 | 艳妇臀荡乳欲伦交换在线看 | 猫咪av在线 | 韩国三级视频在线 | 精品韩国一区二区三区 | 动漫女被黄漫免费视频 | 久艹在线观看 | 国产视频黄色 | 国产精品久久久久影院老司 | 免费在线网站 | 欧美日韩久久精品 |