亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于三維立方體損失的點云目標檢測算法

        2021-07-16 05:36:32葛旭陽黃尚鋒蔡國榕
        集美大學學報(自然科學版) 2021年3期
        關(guān)鍵詞:檢測方法

        葛旭陽,黃尚鋒,蔡國榕

        (1.集美大學理學院,福建 廈門 361021;2.集美大學計算機工程學院,福建 廈門 361021)

        0 引言

        三維目標檢測在自動駕駛[1]、機器人[2]等領(lǐng)域有著廣泛的應(yīng)用。通過估計空間目標的3D位置,自主駕駛的車輛或機器人可以更準確地預(yù)判和規(guī)劃自己的行為和路徑,避免碰撞和違規(guī)。目前,三維目標檢測按照數(shù)據(jù)類型可分為三類:單目圖像、多視圖圖像、點云目標檢測。基于單視圖的方法,如GS3D[3]使用單目攝像頭完成三維目標檢測;基于多視圖的方法,如Chen等[4]從不同視圖的圖像中得到的視差來獲得深度圖完成三維目標檢測;基于點云的方法,如PointRCNN[5]、VoteNet[6]從點云獲取目標信息完成三維目標檢測。

        目前基于點云的目標檢測方法,想獲得更好的檢測性能有三種方法:一是用更好的主干網(wǎng);二是設(shè)計更好的策略提取更好的特征;三是用并集上的交集(Intersection over Union,IoU)計算的度量損失來替代傳統(tǒng)的邊界框回歸損失,如l1范數(shù)、l2范數(shù)等。邊界框回歸是2D/3D視覺任務(wù)中一個最基礎(chǔ)的模塊,不論是實例分割、目標跟蹤,還是目標檢測,都依賴于對邊界框進行回歸,以獲得準確的定位效果。因此,選擇更好的邊界框回歸損失,有利于提高目標檢測網(wǎng)絡(luò)的性能。

        IoU又被稱為Jaccard索引,常用來表示兩個任意形狀目標的相似性,在目標檢測的邊界框回歸中起到重要的作用。在anchor-based[7]的方法中,IoU不僅可以用來確定正樣本和負樣本,還可以用來評價輸出框和真實框的距離,或者說預(yù)測框的準確性。IoU還有一個好的特性,就是尺度不變性。由于這個良好的屬性,所以在語義分割[8]、目標檢測[9]和跟蹤[10]等任務(wù)中的性能測量均采用IoU作為測量指標。

        ln范數(shù)類型損失的一個較好的局部最優(yōu)解可能并非IoU的局部最優(yōu)解;而且與IoU不同的是,ln范數(shù)不具有尺度不變性,相同重疊程度的邊界框的損失值不一定相同。另外,一些邊界框的表示方法,由于沒有對不同類型的表示參數(shù)進行正則處理,當表示參數(shù)變多時,或在問題中添加更多維度時,復(fù)雜性會增加。為了緩解上述問題,目前最先進的對象檢測器引入了錨盒(anchor box)[11]的概念,他們還定義了一個非線性的表示[12-13]來補償尺度的變化。即使進行了這些手工更改,優(yōu)化回歸損失和最大化IoU值之間仍然存在差距。

        Rezatofighi等[14]探索了軸對齊矩形之間的IoU,此時IoU有解析解,并且可反向傳播,意味著,IoU可以直接用作目標函數(shù)進行優(yōu)化。而優(yōu)化IoU目標函數(shù)與優(yōu)化某個損失函數(shù)之間,顯然選擇優(yōu)化IoU目標函數(shù),可以提高IoU指標的強相關(guān)。但是這其中也存在問題:如果兩個框不相交,那么就無法衡量兩個框的距離;同時IoU的值為0,其梯度也將為0,當計算梯度的時候就無法使用優(yōu)化器進行傳播。針對這些問題,提出了泛化版的IoU,稱為GIoU。GIoU的優(yōu)點有:a)沿襲IoU能將被比較的目標形狀屬性編碼進區(qū)域?qū)傩?;b)維持IoU的尺度不變性;c)在目標有重疊情況下與IoU強相關(guān)。

        本文在此基礎(chǔ)上,設(shè)計了一個適用于三維目標檢測邊界框回歸的度量方法(3D_CGIoU),將3D_CGIoU的值納入三維目標檢測邊界框回歸的損失中,并將該方法融入到目前主流的三維目標檢測網(wǎng)絡(luò)中,如PointRCNN、VoteNet和VoxelNet[15]等,評估其對檢測性能的影響。

        1 3D_CGIoU算法

        三維目標檢測中,邊界框回歸的目標是盡可能準確地獲取預(yù)測框。目前絕大部分的目標檢測都會用IoU對候選預(yù)測框進行篩選,多數(shù)的目標檢測通過ln范數(shù)來作為度量標準,這將會存在兩個預(yù)測框ln范數(shù)的絕對值相同,而和真實框的重疊方式卻不相同的情況。另外,ln范數(shù)對物體的尺度變化很敏感,而IoU和GIoU具有尺度不變性可以更好地度量預(yù)測框的精準度。受到GIoU的啟發(fā),本文設(shè)計了一個適用于三維目標檢測邊界框回歸的度量和損失(3D_CGIoU)的計算方法。

        1.1 GIoU的原理

        IoU是用來比較任意形狀(體積)之間的相似性,但是當預(yù)測框與真實框完全不重合時,損失函數(shù)梯度為0。另外,預(yù)測框與真實框可以以不同的方式重疊,得到相同的IoU值,即IoU不能反映兩個框之間如何發(fā)生重疊。

        針對以上存在的問題,Rezatofighi等[14]設(shè)計了適用于二維目標檢測的GIoU。首先,計算預(yù)測框和真實框的最小閉包區(qū)域面積(同時包含了預(yù)測框和真實框的最小長方形的面積),再計算閉包區(qū)域中不屬于兩個框的區(qū)域占閉包區(qū)域的比重,最后用IoU(其值記為I1)減去這個比重得到GIoU(其值記為I2)。

        IoU和GIoU的計算方式如下:

        I1=S紫色/(S紫色+S綠色+S藍色),

        (1)

        I2=I1-S黃色/(S紫色+S藍色+S綠色+S黃色)。

        (2)

        公式(1)和公式(2)中的S指代各顏色區(qū)域面積,各顏色區(qū)域如圖1所示。

        1.2 3D_CGIoU的原理

        借鑒GIoU的方法,本文設(shè)計了一個適用于三維目標檢測邊界框的度量方法,該方法在鳥瞰圖上以最小凸多邊形為外接圖形進行計算,稱為3D_CGIoU,其值記為I3,則

        I3=|A∩B|/|A∪B|-|C/(A∪B)|/|C|。

        (3)

        其中:A代表真實框Bg的體積;B代表預(yù)測框Bp的體積;C表示封閉盒Bc的體積。

        為了更好地理解在3D_CGIoU中最小的封閉盒Bc的形狀與計算,給出了更直觀展示的圖2。

        圖3中預(yù)測框Bp的中心點、長、寬、高、傾角分別是A0(xp,yp,zp)、lp、Wp、Hp、θp;真實框Bg的中心點、長、寬、高、傾角分別是B0(xg,yg,zg)、lg、Wg、Hg、θg。根據(jù)這些參數(shù)可以得到Bp和Bg頂點的坐標為:Ai(xpi,ypi,hp),Bi(xgi,ygi,hg)。當i=1,2,3,4時,hp=zp+Hp/2,hg=zg+Hg/2;當i=5,6,7,8時,hp=zp-Hp/2,hg=zg-Hg/2。

        由于框的底部均平行于水平面,因此只要從鳥瞰圖中找出兩個框的相交截面部分并求出面積S0,就可得到兩個框相交部分的體積V0:V0=S0H,其中H=min(maxhp,maxhg)-max(minhp,minhg)。

        為了計算相交部分的面積S0,首先,判斷每個頂點是否在另一個矩形內(nèi)部(不包含邊緣)。如果沒有頂點在另一個矩形內(nèi)部,則無相交部分存在;如果有,則保存并進行下一步,計算2個矩形各邊的交點(不包含8個頂點)并保存。接著,將保存的所有點連起來組成一個凸多邊形,這個凸多邊形就是相交的部分。將第一個保存的點,與其他與其不相鄰的點依次連接后,凸多邊形被分割成多個三角形。每個點坐標都可以計算得到,顯然三角形的每一條邊長也可求得,根據(jù)海倫公式算出每個三角形面積并求和,最終得到S0(見圖4)。

        通過鳥瞰圖外接框形狀(見圖5)確定算法,得到鳥瞰圖中2個矩形的外接面積最小的凸多邊形,如圖4b所示多邊形A1B2B3A3A4,求其面積S1的方法同S0。將這個凸多邊形作為橫截面所形成的棱柱并當作預(yù)測框和真實框的外接框,計算出其體積V1:V1=S1H1,其中H1=max(maxhp,maxhg)-min(minhp,minhg)。

        將GIoU從二維目標檢測遷移到三維目標檢測中,并對鳥瞰圖的外接框進行優(yōu)化,得到3D_CGIoU的值I3:

        I3=V0/(Vp+Vg-V0)-(V1-(Vp+Vg-V0))/V1。

        (4)

        其中:Vp為預(yù)測框Bp的體積;Vg為真實框Bg的體積。

        1.3 鳥瞰圖外接框的算法原理及流程

        首先,要確定預(yù)測框和真實框的鳥瞰圖外接框的形狀及大小。

        第一步:確定鳥瞰圖中最左下角的點(坐標排序:x最小,如果x相同則取y更小的),記為P0。這一步需要掃描一遍所有的點,時間復(fù)雜度為O(n),n為點的總數(shù)量。在該算法中,n為8,因此時間復(fù)雜度為O(1)。

        第二步:將所有的點按照相對于第一步中得到的點P0的極角大小進行排序。當極角相同時,距離P0比較近的排在前面。如圖5a所示,排序結(jié)果為P1,P2,P3,P4,P5。

        第三步:用一個棧(數(shù)組)來保存當前的凸多邊形的頂點,先將P0和P1依次加入到棧中。按順序掃描每一個點,用叉積判斷當前點和棧頂頭兩個點形成的拐向。若順時針就彈出棧頂元素,接著繼續(xù)判斷;否則壓入新點Pi。

        然后,棧中的點則為外接最小凸多邊形的所有頂點,按照其順序連接起來即可,如圖5b所示。

        鳥瞰圖外接框的算法流程如下:

        輸入 鳥瞰圖的8個頂點坐標,如圖3中A1A2A3A4B1B2B3B4

        輸出 鳥瞰圖中所有點的外接凸多邊形的頂點

        步驟 1)P0← The bottom left point //最左下角的點

        2)P1,P2,…,P7//其他點與最左下角點之間的極角逆時針進行排序

        3)letSbe an empty stack //用來存放最終得到外接凸多邊形的頂點

        4)PUSH(P0,S) // 將前三個點作為初始點,并壓入棧

        5)PUSH(P1,S)

        6)PUSH(P2,S)

        7)fori= 3 to 7

        8)while the angle formed by points NEXT-TO-TOP(S),TOP(S),andPimakes a nonleft turn

        9)POP(S)

        10)PUSH(Pi,S)

        11)returnS

        1.4 3D_CGIoU作為損失的算法流程

        3D_CGIoU作為邊界框回歸損失算法流程如下:

        輸入 預(yù)測框p={xp,yp,zp,lp,Wp,Hp,θp},預(yù)測框?qū)?yīng)的真實框g={xg,yg,zg,lg,Wg,Hg,θg}

        輸出L3D_CGIoU

        步驟 1)SA=lp×Wp//預(yù)測框Bp俯視圖A1A2A3A4的面積

        2)SB=lg×Wg//真實框Bg俯視圖B1B2B3B4的面積

        3)S0//預(yù)測框Bp和真實框Bg俯視圖相交的面積

        4)S1//預(yù)測框Bp和真實框Bg俯視圖外接最小凸多邊形的面積

        5)H//預(yù)測框Bp和真實框Bg交集的高度

        6)H1//預(yù)測框Bp和真實框Bg并集的高度

        7)Vp=SA×Hp//預(yù)測框Bp的體積

        8)Vg=SB×Hg//真實框Bg的體積

        9)V1=S1×H1//預(yù)測框Bp和真實框Bg最小封閉盒的體積

        10)IfS0≤0:

        V0= 0;

        Else:

        IfH≤0:

        V0= 0;

        Else:

        V0=S0×H;

        11)I3=V0/V-(V1-V)/V1,whereV=Vp+Vg-V0

        12)L3D_CGIoU=1-I3

        2 實驗與分析

        2.1實驗設(shè)置

        本算法在Linux系統(tǒng)下,使用Pytorch編程,分別在不同數(shù)據(jù)集和主干網(wǎng)上進行實驗。通過PointRCNN、VoxelNet[15]、PointPillars[16]在KITTI基準數(shù)據(jù)集[17]上的表現(xiàn),以及VoteNet在ScanNet數(shù)據(jù)集[18]上的表現(xiàn),對本文提出的方法進行了評估。KITTI數(shù)據(jù)集包含7481個訓(xùn)練樣本和7518個測試樣本。由于測試數(shù)據(jù)集的真實性是不公開的,因此將訓(xùn)練數(shù)據(jù)集分為訓(xùn)練集(3712)和驗證集(3769)[19]。ScanNet數(shù)據(jù)集一共有1513個采集場景數(shù)據(jù)(每個場景中點云數(shù)量都不一樣,如果用端到端的網(wǎng)絡(luò)框架,需要對原始點云進行采樣,使每一個場景的點云數(shù)量都相同),21個類別的對象,其中1201個場景用于訓(xùn)練,312個場景用于驗證。

        實驗所采用的每種方法中,都使用原作者提供的默認參數(shù)和每個基準上的迭代次數(shù),并嚴格遵循其訓(xùn)練協(xié)議。實驗結(jié)果中每個方法的檢測精度,是網(wǎng)絡(luò)通過訓(xùn)練后,在驗證集上展現(xiàn)的精度。

        2.2 實驗結(jié)果與分析

        通過多種方法在KITTI數(shù)據(jù)集上的表現(xiàn),評估3D_CGIoU算法融入主干網(wǎng)后對檢測性能的影響,結(jié)果如表1所示。本實驗對場景中的汽車進行檢測,IoU閾值為0.7,評估指標為平均精度。所有的檢測結(jié)果都使用官方的KITTI評估檢測指標進行測量,這些指標包括:鳥瞰圖、3D、2D和平均方向相似度。二維檢測是在圖像平面上進行的。KITTI數(shù)據(jù)集被劃分為容易的、中等的和困難的三種難度,而官方的KITTI排行榜則根據(jù)中等的性能進行排序。

        相比于二維目標檢測,三維目標檢測更具挑戰(zhàn)性,因為它對三維包圍盒在空間中的定位精度要求更高。從表1可以看出,將3D_CGIoU算法納入到邊界框回歸損失后的主干網(wǎng)對車輛的檢測性能明顯都要優(yōu)于原始主干網(wǎng)。所采用的方法在各個難度上的檢測性能均有提升,VoxelNet提升了1.89%,VoxelNet提升了1.79%,PointRCNN提升了1.03%。

        表1 在KITTI驗證集的汽車類上進行目標檢測的性能對比

        表2為VoteNet在ScanNet數(shù)據(jù)集上各類目標的平均檢測精度,其中baseline為原始的VoteNet檢測結(jié)果,ours為將L3D_CGIoU納入預(yù)測框回歸損失后的VoteNet檢測結(jié)果。如表2所示,ours的平均精度和平均召回率都要優(yōu)于baseline。在VoteNet主干網(wǎng)中融入3D_CGIoU算法優(yōu)化邊界框的回歸損失,其檢測性能在各類別目標上都有提升,所有類別的平均精度提升了近1.5個百分點。其中,“柜子”和“冰箱”的檢測性能提升差距過大。這兩者形狀都比較規(guī)則,也都是相對較大的物體,且GIoU有尺度不變性,因此排除由于大小或形狀而導(dǎo)致的精度差異,推測是由于basiline在訓(xùn)練過程中由于網(wǎng)絡(luò)初始化的隨機性等問題,導(dǎo)致對“柜子”的表現(xiàn)低于應(yīng)有的水準。但在本文算法中,“柜子”的檢測性能表現(xiàn)較好,而“冰箱”可能與“柜子”的情況恰恰相反,最終使得“柜子”和“冰箱”的精度提升幅度差距過大。

        表2 VoteNet在ScanNet數(shù)據(jù)集上的平均檢測精度

        圖6是PointRCNN和PointRCNN+3D_CGIoU在KITTI上的檢測結(jié)果,可視化其中的三個場景,左側(cè)為原始的PointRCNN檢測結(jié)果可視化,右側(cè)為將L3D_CGIoU納入預(yù)測框回歸損失后的PointRCNN+3D_CGIoU檢測結(jié)果可視化。實物圖下方是對應(yīng)的點云圖。實物圖中藍色的是預(yù)測框,紅色是真實框,綠色是label;點云圖中紅色的是預(yù)測框,綠色是真實框。實物圖中并不是所有的紅色框都作為ground truth(GT),只有有l(wèi)abel的框才會在訓(xùn)練中作GT。

        點云圖的左右對比顯示,3D_CGIoU算法納入邊界框回歸損失后,預(yù)測框與真實框重合度有一定的提升,即得到的預(yù)測框的準確率更高。場景一中,在實物圖中可以很明顯地看出道路的遠處有2輛車,但沒有標簽;在點云圖中,PointRCNN只檢測出了1輛車,而PointRCNN+3D_CGIoU將2輛車都檢測了出來。這進一步說明了3D_CGIoU的有效性和優(yōu)越性。

        3 結(jié)論

        本文設(shè)計了3D_CGIoU作為新的三維點云目標檢測的評估指標,對預(yù)測框與真實框進行相似性比較。3D_CGIoU繼承了IoU的優(yōu)秀特性且完善了其缺點(非重疊情況),因此,在基于IoU作為評估指標的一些三維計算機視覺任務(wù)中, 相比于IoU,3D_CGIoU是更好的選擇。將3D_CGIoU計算損失的方法融入目前主流的三維目標檢測算法中,如PointRCNN、VoxelNet、PointPillars,在KITTI數(shù)據(jù)集和ScanNet數(shù)據(jù)集上其檢測性能均得到有效提升,平均精度提高了近2個百分點。實驗結(jié)果表明,在三維邊界框回歸的應(yīng)用中,可以通過3D_CGIoU方法優(yōu)化回歸損失,從而提高檢測的精確度。

        猜你喜歡
        檢測方法
        “不等式”檢測題
        “一元一次不等式”檢測題
        “一元一次不等式組”檢測題
        “幾何圖形”檢測題
        “角”檢測題
        學習方法
        可能是方法不對
        小波變換在PCB缺陷檢測中的應(yīng)用
        用對方法才能瘦
        Coco薇(2016年2期)2016-03-22 02:42:52
        四大方法 教你不再“坐以待病”!
        Coco薇(2015年1期)2015-08-13 02:47:34
        白白色日韩免费在线观看| 国产精品亚洲日韩欧美色窝窝色欲| 真实国产乱视频国语| 精品丝袜一区二区三区性色| 中文字幕高清不卡视频二区| 国产又大又硬又粗| 亚洲欧洲巨乳清纯| 2020亚洲国产| 日韩精品人妻视频一区二区三区| 风韵丰满熟妇啪啪区老熟熟女| 真人无码作爱免费视频禁hnn| 欧美色色视频| av天堂在线免费播放| 乱码窝窝久久国产无人精品| 国产精品亚洲欧美大片在线看| 久久综合色鬼| 激情乱码一区二区三区| 久久久99精品免费视频| 亚洲精品无码久久久久久| 青草网在线观看| 日本高清成人一区二区三区| 成人片黄网站a毛片免费| 久久久久久久久久久国产| 波多野结衣一区二区三区免费视频| 亚洲精品在线97中文字幕| 亚洲人成网线在线播放va蜜芽| 国产成人综合久久精品免费| 波多野无码AV中文专区| 成人国产精品三上悠亚久久| 国产啪亚洲国产精品无码| 在线一区不卡网址观看| 61精品人妻一区二区三区蜜桃| 丰满精品人妻一区二区| 精品无码久久久久成人漫画| 全部免费国产潢色一级| 亚洲一区二区三区免费的视频| 亚洲国产一二三精品无码| 人妻av一区二区三区精品| 日本高清中文一区二区三区| 久久一本日韩精品中文字幕屁孩| 男女一边摸一边做爽爽的免费阅读|