導航:首頁 > 網路問題 > 目標檢測如何換主幹網路

目標檢測如何換主幹網路

發布時間:2022-09-22 13:11:33

㈠ 【目標檢測演算法解讀】yolo系列演算法二

https://blog.csdn.net/Gentleman_Qin/article/details/84349144

|聲明:遵循CC 4.0 BY-SA版權協議

    建立在YOLOv1的基礎上,經過Joseph Redmon等的改進,YOLOv2和YOLO9000演算法在2017年CVPR上被提出,並獲得最佳論文提名,重點解決YOLOv1召回率和定位精度方面的誤差。在提出時,YOLOv2在多種監測數據集中都要快過其他檢測系統,並可以在速度與精確度上進行權衡。

    YOLOv2採用Darknet-19作為特徵提取網路,增加了批量標准化(Batch Normalization)的預處理,並使用224×224和448×448兩階段訓練ImageNet,得到預訓練模型後fine-tuning。

    相比於YOLOv1是利用FC層直接預測Bounding Box的坐標,YOLOv2借鑒了FSR-CNN的思想,引入Anchor機制,利用K-Means聚類的方式在訓練集中聚類計算出更好的Anchor模板,在卷積層使用Anchor Boxes操作,增加Region Proposal的預測,同時採用較強約束的定位方法,大大提高演算法召回率。同時結合圖像細粒度特徵,將淺層特徵與深層特徵相連,有助於對小尺寸目標的檢測。 

    下圖所示是YOLOv2採取的各項改進帶了的檢測性能上的提升:

    YOLO9000 的主要檢測網路也是YOLO v2,同時使用WordTree來混合來自不同的資源的訓練數據,並使用聯合優化技術同時在ImageNet和COCO數據集上進行訓練,目的是利用數量較大的分類數據集來幫助訓練檢測模型,因此,YOLO 9000的網路結構允許實時地檢測超過9000種物體分類,進一步縮小了檢測數據集與分類數據集之間的大小代溝。

    下面將具體分析YOLOv2的各個創新點:

BN概述:

    對數據進行預處理(統一格式、均衡化、去噪等)能夠大大提高訓練速度,提升訓練效果。BN正是基於這個假設的實踐,對每一層輸入的數據進行加工。

    BN是2015年Google研究員在論文《Batch Normalization: Accelerating Deep Network Training by Recing Internal Covariate Shift》一文中提出的,同時也將BN應用到了2014年的GoogLeNet上,也就是Inception-v2。

    BN層簡單講就是對網路的每一層的輸入都做了歸一化,這樣網路就不需要每層都去學數據的分布,收斂會更快。YOLOv1演算法(採用的是GoogleNet網路提取特徵)是沒有BN層的,而在YOLOv2中作者為每個卷積層都添加了BN層。

    使用BN對網路進行優化,讓網路提高了收斂性,同時還消除了對其他形式的正則化(regularization)的依賴,因此使用BN後可以從模型中去掉Dropout,而不會產生過擬合。

BN優點:

神經網路每層輸入的分布總是發生變化,加入BN,通過標准化上層輸出,均衡輸入數據分布,加快訓練速度,因此可以設置較大的學習率(Learning Rate)和衰減(Decay);

通過標准化輸入,降低激活函數(Activation Function)在特定輸入區間達到飽和狀態的概率,避免梯度彌散(Gradient Vanishing)問題;

輸入標准化對應樣本正則化,BN在一定程度上可以替代 Dropout解決過擬合問題。

BN演算法:

    在卷積或池化之後,激活函數之前,對每個數據輸出進行標准化,方式如下圖所示:

    公式很簡單,前三行是 Batch內數據歸一化(假設一個Batch中有每個數據),同一Batch內數據近似代表了整體訓練數據。第四行引入了附加參數 γ 和 β,此二者的取值演算法可以參考BN論文,在此不再贅述。

    fine-tuning:用已經訓練好的模型,加上自己的數據集,來訓練新的模型。即使用別人的模型的前幾層,來提取淺層特徵,而非完全重新訓練模型,從而提高效率。一般新訓練模型准確率都會從很低的值開始慢慢上升,但是fine-tuning能夠讓我們在比較少的迭代次數之後得到一個比較好的效果。

    YOLO模型分為兩部分,分類模型和檢測模型,前者使用在ImageNet上預訓練好的模型,後者在檢測數據集上fine-tuning。

    YOLOv1在預訓練時採用的是224*224的輸入(在ImageNet數據集上進行),然後在檢測的時候採用448*448的輸入,這會導致從分類模型切換到檢測模型的時候,模型還要適應圖像解析度的改變。

    YOLOv2則將預訓練分成兩步:先用224*224的輸入在ImageNet數據集訓練分類網路,大概160個epoch(將所有訓練數據循環跑160次)後將輸入調整到448*448,再訓練10個epoch(這兩步都是在ImageNet數據集上操作)。然後利用預訓練得到的模型在檢測數據集上fine-tuning。這樣訓練得到的模型,在檢測時用448*448的圖像作為輸入可以順利檢測。

    YOLOv1將輸入圖像分成7*7的網格,每個網格預測2個Bounding Box,因此一共有98個Box,同時YOLOv1包含有全連接層,從而能直接預測Bounding Boxes的坐標值,但也導致丟失較多的空間信息,定位不準。

    YOLOv2首先將YOLOv1網路的FC層和最後一個Pooling層去掉,使得最後的卷積層可以有更高解析度的特徵,然後縮減網路,用416*416大小的輸入代替原來的448*448,使得網路輸出的特徵圖有奇數大小的寬和高,進而使得每個特徵圖在劃分單元格(Cell)的時候只有一個中心單元格(Center Cell)。

    為什麼希望只有一個中心單元格呢?由於圖片中的物體都傾向於出現在圖片的中心位置,特別是比較大的物體,所以有一個單元格單獨位於物體中心的位置用於預測這些物體。

    YOLOv2通過引入Anchor Boxes,通過預測Anchor Box的偏移值與置信度,而不是直接預測坐標值。YOLOv2的卷積層採用32這個值來下采樣圖片,所以通過選擇416*416用作輸入尺寸最終能輸出一個13*13的特徵圖。若採用FSRCNN中的方式,每個Cell可預測出9個Anchor Box,共13*13*9=1521個(YOLOv2確定Anchor Boxes的方法見是維度聚類,每個Cell選擇5個Anchor Box)。

    在FSRCNN中,以一個51*39大小的特徵圖為例,其可以看做一個尺度為51*39的圖像,對於該圖像的每一個位置,考慮9個可能的候選窗口:3種面積3種比例。這些候選窗口稱為Anchor Boxes。下圖示出的是51*39個Anchor Box中心,以及9種Anchor Box示例。

YOLOv1和YOLOv2特徵圖數據結構:

YOLOv1:S*S* (B*5 + C) => 7*7(2*5+20)

    其中B對應Box數量,5對應邊界框的定位信息(w,y,w,h)和邊界框置信度(Confidience)。解析度是7*7,每個Cell預測2個Box,這2個Box共用1套條件類別概率(1*20)。

YOLOv2:S*S*K* (5 + C) => 13*13*9(5+20)

    解析度提升至13*13,對小目標適應性更好,借鑒了FSRCNN的思想,每個Cell對應K個Anchor box(YOLOv2中K=5),每個Anchor box對應1組條件類別概率(1*20)。

    聚類:聚類是指事先沒有「標簽」而通過某種成團分析找出事物之間存在聚集性原因的過程。即在沒有劃分類別的情況下,根據數據相似度進行樣本分組。

    在FSR-CNN中Anchor Box的大小和比例是按經驗設定的,然後網路會在訓練過程中調整Anchor Box的尺寸,最終得到准確的Anchor Boxes。若一開始就選擇了更好的、更有代表性的先驗Anchor Boxes,那麼網路就更容易學到准確的預測位置。

    YOLOv2使用K-means聚類方法類訓練Bounding Boxes,可以自動找到更好的寬高維度的值用於一開始的初始化。傳統的K-means聚類方法使用的是歐氏距離函數,意味著較大的Anchor Boxes會比較小的Anchor Boxes產生更多的錯誤,聚類結果可能會偏離。由於聚類目的是確定更精準的初始Anchor Box參數,即提高IOU值,這應與Box大小無關,因此YOLOv2採用IOU值為評判標准,即K-means 採用的距離函數(度量標准) 為:

d(box,centroid) = 1 - IOU(box,centroid)

    如下圖,左邊是聚類的簇個數和IOU的關系,兩條曲線分別代表兩個不同的數據集。分析聚類結果並權衡模型復雜度與IOU值後,YOLOv2選擇K=5,即選擇了5種大小的Box 維度來進行定位預測。

    其中紫色和灰色也是分別表示兩個不同的數據集,可以看出其基本形狀是類似的。更重要的是,可以看出聚類的結果和手動設置的Anchor Box位置和大小差別顯著——結果中扁長的框較少,而瘦高的框更多(更符合行人的特徵)。

    YOLOv2採用的5種Anchor的Avg IOU是61,而採用9種Anchor Boxes的Faster RCNN的Avg IOU是60.9,也就是說本文僅選取5種box就能達到Faster RCNN的9中box的效果。選擇值為9的時候,AVG IOU更有顯著提高。說明K-means方法的生成的boxes更具有代表性。

    直接對Bounding Boxes求回歸會導致模型不穩定,其中心點可能會出現在圖像任何位置,有可能導致回歸過程震盪,甚至無法收斂,尤其是在最開始的幾次迭代的時候。大多數不穩定因素產生自預測Bounding Box的中心坐標(x,y)位置的時候。

    YOLOv2的網路在特徵圖(13*13)的每一個單元格中預測出5個Bounding Boxes(對應5個Anchor Boxes),每個Bounding Box預測出5個值(tx,ty,tw,th,t0),其中前4個是坐標偏移值,t0是置信度結果(類似YOLOv1中的邊界框置信度Confidence)。YOLOv2借鑒了如下的預測方式,即當Anchor Box的中心坐標和寬高分別是(xa,ya)和(wa,wh)時,Bounding Box坐標的預測偏移值(tx,ty,tw,th)與其坐標寬高(x,y,w,h)的關系如下:                         

tx = (x-xa)/wa

ty= (y-ya)/ha

tw = log(w/wa)

th = log(h/ha)

    基於這種思想,YOLOv2在預測Bounding Box的位置參數時採用了如下強約束方法:

    上圖中,黑色虛線框是Anchor Box,藍色矩形框就是預測的Bounding Box結果,預測出的Bounding Box的坐標和寬高為(bx,by)和(bw,bh),計算方式如圖中所示,其中:對每個Bounding Box預測出5個值(tx,ty,tw,th,t0),Cell與圖像左上角的橫縱坐標距離為(cx,cy),σ定義為sigmoid激活函數(將函數值約束到[0,1]),該Cell對應的Anchor Box對應的寬高為(pw,ph)。

    簡而言之,(bx,by)就是(cx,cy)這個Cell附近的Anchor Box針對預測值(tx,ty)得到的Bounding Box的坐標預測結果,同時可以發現這種方式對於較遠距離的Bounding Box預測值(tx,ty)能夠得到很大的限制。

    YOLOv2通過添加一個轉移層,把高解析度的淺層特徵連接到低解析度的深層特徵(把特徵堆積在不同Channel中)而後進行融合和檢測。具體操作是先獲取前層的26*26的特徵圖,將其同最後輸出的13*13的特徵圖進行連接,而後輸入檢測器進行檢測(檢測器的FC層起到了全局特徵融合的作用),以此來提高對小目標的檢測能力。    

    為了適應不同尺度下的檢測任務,YOLOv2在訓練網路時,其在檢測數據集上fine-tuning時候採用的輸入圖像的size是動態變化的。具體來講,每訓練10個Batch,網路就會隨機選擇另一種size的輸入圖像。因為YOLOv2用到了參數是32的下采樣,因此也採用32的倍數作為輸入的size,即採用{320,352,…,608}的輸入尺寸(網路會自動改變尺寸,並繼續訓練的過程)。

這一策略讓網路在不同的輸入尺寸上都能達到較好的預測效果,使同一網路能在不同解析度上進行檢測。輸入圖片較大時,檢測速度較慢,輸入圖片較小時,檢測速度較快,總體上提高了准確率,因此多尺度訓練算是在准確率和速度上達到一個平衡。

    上表反映的是在檢測時,不同大小的輸入圖片情況下的YOLOv2和其他目標檢測演算法的對比。可以看出通過多尺度訓練的檢測模型,在測試的時候,輸入圖像在尺寸變化范圍較大的情況下也能取得mAP和FPS的平衡。

    YOLOv1採用的訓練網路是GoogleNet,YOLOv2採用了新的分類網路Darknet-19作為基礎網路,它使用了較多的3*3卷積核,並把1*1的卷積核置於3*3的卷積核之間,用來壓縮特徵,同時在每一次池化操作後把通道(Channels)數翻倍(借鑒VGG網路)。

    YOLOv1採用的GooleNet包含24個卷積層和2個全連接層,而Darknet-19包含19個卷積層和5個最大池化層(Max Pooling Layers),後面添加Average Pooling層(代替v1中FC層),而Softmax分類器作為激活被用在網路最後一層,用來進行分類和歸一化。

    在ImageNet數據集上進行預訓練,主要分兩步(採用隨機梯度下降法):

輸入圖像大小是224*224,初始學習率(Learning Rate)為0.1,訓練160個epoch,權值衰減(Weight Decay)為0.0005,動量(Momentum)為0.9,同時在訓練時採用標準的數據增強(Data Augmentation)方式如隨機裁剪、旋轉以及色度、亮度的調整。

fine-tuning:第1步結束後,改用448*448輸入(高解析度模型),學習率改為0.001,訓練10個epoch,其他參數不變。結果表明:fine-tuning後的top-1准確率為76.5%,top-5准確率為93.3%,若按照原來的訓練方式,Darknet-19的top-1准確率是72.9%,top-5准確率為91.2%。可以看出,兩步分別從網路結構和訓練方式方面入手提高了網路分類准確率。

    預訓練之後,開始基於檢測的數據集再進行fine-tuning。    

    首先,先把最後一個卷積層去掉,然後添加3個3*3的卷積層,每個卷積層有1024個卷積核,並且後面都連接一個1*1的卷積層,卷積核個數(特徵維度)根據需要檢測的類數量決定。(比如對VOC數據,每個Cell需要預測5個Boungding Box,每個Bounding Box有4個坐標值、1個置信度值和20個條件類別概率值,所以每個單元格對應125個數據,此時卷積核個數應該取125。)

    然後,將最後一個3*3*512的卷積層和倒數第2個卷積層相連(提取細粒度特徵),最後在檢測數據集上fine-tuning預訓練模型160個epoch,學習率採用0.001,並且在第60和90個epoch的時候將學習率除以10,權值衰減、動量和數據增強方法與預訓練相同。

    YOLO9000通過結合分類和檢測數據集,使得訓練得到的模型可以檢測約9000類物體,利用帶標注的分類數據集量比較大的特點,解決了帶標注的檢測數據集量比較少的問題。具體方法是:一方面採用WordTree融合數據集,另一方面聯合訓練分類數據集和檢測數據集。

    分類數據集和檢測數據集存在較大差別:檢測數據集只有粗粒度的標記信息,如「貓」、「狗」,而分類數據集的標簽信息則更細粒度,更豐富。比如「狗」就包括「哈士奇」、「金毛狗」等等。所以如果想同時在檢測數據集與分類數據集上進行訓練,那麼就要用一種一致性的方法融合這些標簽信息。

    用於分類的方法,常用Softmax(比如v2),Softmax意味著分類的類別之間要互相獨立的,而ImageNet和COCO這兩種數據集之間的分類信息不相互獨立(ImageNet對應分類有9000種,而COCO僅提供80種目標檢測),所以使用一種多標簽模型來混合數據集,即假定一張圖片可以有多個標簽,並且不要求標簽之間獨立,而後進行Softmax分類。

    由於ImageNet的類別是從WordNet選取的,作者採用以下策略重建了一個樹形結構(稱為WordTree):

遍歷ImageNet的標簽,然後在WordNet中尋找該標簽到根節點(所有的根節點為實體對象)的路徑;

如果路徑只有一條,將該路徑直接加入到WordTree結構中;

否則,從可選路徑中選擇一條最短路徑,加入到WordTree結構中。

WordTree的作用就在於將兩種數據集按照層級進行結合。

    如此,在WordTree的某個節點上就可以計算該節點的一些條件概率值,比如在terrier這個節點,可以得到如下條件概率值:

    進而,如果要預測此節點的概率(即圖片中目標是Norfolk terrier的概率),可以根據WordTree將該節點到根節點的條件概率依次相乘得到,如下式:

其中:        

    YOLO9000在WordTree1k(用有1000類別的ImageNet1k創建)上訓練了Darknet-19模型。為了創建WordTree1k作者添加了很多中間節點(中間詞彙),把標簽由1000擴展到1369。

    訓練過程中GroundTruth標簽要順著向根節點的路徑傳播:為了計算條件概率,模型預測了一個包含1369個元素的向量,而且基於所有「同義詞集」計算Softmax,其中「同義詞集」是同一概念下的所屬詞。

    現在一張圖片是多標記的,標記之間不需要相互獨立。在訓練過程中,如果有一個圖片的標簽是「Norfolk terrier」,那麼這個圖片還會獲得「狗」以及「哺乳動物」等標簽。

    如上圖所示,之前的ImageNet分類是使用一個大Softmax進行分類,而現在WordTree只需要對同一概念下的同義詞進行Softmax分類。然後作者分別兩個數據集上用相同訓練方法訓練Darknet-19模型,最後在ImageNet數據集上的top-1准確率為72.9%,top-5准確率為91.2%;在WordTree數據集上的top-1准確率為71.9%,top-5准確率為90.4%。

    這種方法的好處是有「退而求其次」的餘地:在對未知或者新的物體進行分類時,性能損失更低,比如看到一個狗的照片,但不知道是哪種種類的狗,那麼就預測其為「狗」。

    以上是構造WordTree的原理,下圖是融合COCO數據集和ImageNet數據集以及生成它們的WordTree的示意圖(用顏色區分了COCO數據集和ImageNet數據集的標簽節點), 混合後的數據集對應的WordTree有9418個類。另一方面,由於ImageNet數據集太大,YOLO9000為了平衡兩個數據集之間的數據量,通過過采樣(Oversampling)COCO數據集中的數據,使COCO數據集與ImageNet數據集之間的數據量比例達到1:4。

    對YOLO9000進行評估,發現其mAP比DPM高,而且YOLO有更多先進的特徵,YOLO9000是用部分監督的方式在不同訓練集上進行訓練,同時還能檢測9000個物體類別,並保證實時運行。雖然YOLO9000對動物的識別性能很好,但是對衣服或者裝備的識別性能不是很好(這跟數據集的數據組成有關)。

    YOLO9000的網路結構和YOLOv2類似,區別是每個單元格只採用3個Anchor Boxes。

    YOLO9000提出了一種在分類數據集和檢測數據集上聯合訓練的機制,即使用檢測數據集(COCO)的圖片去學習檢測相關的信息即查找對象(例如預測邊界框坐標、邊界框是否包含目標及目標屬於各個類別的概率),使用僅有類別標簽的分類數據集(ImageNet)中的圖片去擴展檢測到的對象的可識別種類。

    具體方法是:當網路遇到一個來自檢測數據集的圖片與標記信息,就把這些數據用完整的損失函數(v2和9000均沿用了v1網路的損失函數)反向傳播,而當網路遇到一個來自分類數據集的圖片和分類標記信息,只用代表分類誤差部分的損失函數反向傳播這個圖片。

    YOLO v2 在大尺寸圖片上能夠實現高精度,在小尺寸圖片上運行更快,可以說在速度和精度上達到了平衡,具體性能表現如下所示。

coco數據集

voc2012數據集

㈡ 目標檢測演算法經典論文回顧(一)

論文名稱:Rich feature hierarchies for accurate object detection and semantic segmentation

提出時間:2014年

論文地址:https://openaccess.thecvf.com/content_cvpr_2014/papers/Girshick_Rich_Feature_Hierarchies_2014_CVPR_paper.pdf

針對問題:

從Alexnet提出後,作者等人思考如何利用卷積網路來完成檢測任務,即輸入一張圖,實現圖上目標的定位(目標在哪)和分類(目標是什麼)兩個目標,並最終完成了RCNN網路模型。

創新點:

RCNN提出時,檢測網路的執行思路還是脫胎於分類網路。也就是深度學習部分僅完成輸入圖像塊的分類工作。那麼對檢測任務來說如何完成目標的定位呢,作者採用的是Selective Search候選區域提取演算法,來獲得當前輸入圖上可能包含目標的不同圖像塊,再將圖像塊裁剪到固定的尺寸輸入CNN網路來進行當前圖像塊類別的判斷。

參考博客: https://blog.csdn.net/briblue/article/details/82012575。

論文題目:OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks

提出時間:2014年

論文地址:https://arxiv.org/pdf/1312.6229.pdf

針對問題:

該論文討論了,CNN提取到的特徵能夠同時用於定位和分類兩個任務。也就是在CNN提取到特徵以後,在網路後端組織兩組卷積或全連接層,一組用於實現定位,輸出當前圖像上目標的最小外接矩形框坐標,一組用於分類,輸出當前圖像上目標的類別信息。也是以此為起點,檢測網路出現基礎主幹網路(backbone)+分類頭或回歸頭(定位頭)的網路設計模式雛形。

創新點:

在這篇論文中還有兩個比較有意思的點,一是作者認為全連接層其實質實現的操作和1x1的卷積是類似的,而且用1x1的卷積核還可以避免FC對輸入特徵尺寸的限制,那用1x1卷積來替換FC層,是否可行呢?作者在測試時通過將全連接層替換為1x1卷積核證明是可行的;二是提出了offset max-pooling,也就是對池化層輸入特徵不能整除的情況,通過進行滑動池化並將不同的池化層傳遞給後續網路層來提高效果。另外作者在論文里提到他的用法是先基於主幹網路+分類頭訓練,然後切換分類頭為回歸頭,再訓練回歸頭的參數,最終完成整個網路的訓練。圖像的輸入作者採用的是直接在輸入圖上利用卷積核劃窗。然後在指定的每個網路層上回歸目標的尺度和空間位置。

參考博客: https://blog.csdn.net/qq_35732097/article/details/79027095

論文題目:Scalable Object Detection using Deep Neural Networks

提出時間:2014年

論文地址:https://openaccess.thecvf.com/content_cvpr_2014/papers/Erhan_Scalable_Object_Detection_2014_CVPR_paper.pdf

針對問題:

既然CNN網路提取的特徵可以直接用於檢測任務(定位+分類),作者就嘗試將目標框(可能包含目標的最小外包矩形框)提取任務放到CNN中進行。也就是直接通過網路完成輸入圖像上目標的定位工作。

創新點:

本文作者通過將物體檢測問題定義為輸出多個bounding box的回歸問題. 同時每個bounding box會輸出關於是否包含目標物體的置信度, 使得模型更加緊湊和高效。先通過聚類獲得圖像中可能有目標的位置聚類中心,(800個anchor box)然後學習預測不考慮目標類別的二分類網路,背景or前景。用到了多尺度下的檢測。

參考博客: https://blog.csdn.net/m0_45962052/article/details/104845125

論文題目:DeepBox: Learning Objectness with Convolutional Networks

提出時間:2015年ICCV

論文地址:https://openaccess.thecvf.com/content_iccv_2015/papers/Kuo_DeepBox_Learning_Objectness_ICCV_2015_paper.pdf

主要針對的問題:

本文完成的工作與第三篇類似,都是對目標框提取演算法的優化方案,區別是本文首先採用自底而上的方案來提取圖像上的疑似目標框,然後再利用CNN網路提取特徵對目標框進行是否為前景區域的排序;而第三篇為直接利用CNN網路來回歸圖像上可能的目標位置。

創新點:

本文作者想通過CNN學習輸入圖像的特徵,從而實現對輸入網路目標框是否為真實目標的情況進行計算,量化每個輸入框的包含目標的可能性值。

參考博客: https://www.cnblogs.com/zjutzz/p/8232740.html

論文題目:AttentionNet: AggregatingWeak Directions for Accurate Object Detection

提出時間:2015年ICCV

論文地址:https://www.cv-foundation.org/openaccess/content_iccv_2015/papers/Yoo_AttentionNet_Aggregating_Weak_ICCV_2015_paper.pdf

主要針對的問題:

對檢測網路的實現方案進行思考,之前的執行策略是,先確定輸入圖像中可能包含目標位置的矩形框,再對每個矩形框進行分類和回歸從而確定目標的准確位置,參考RCNN。那麼能否直接利用回歸的思路從圖像的四個角點,逐漸得到目標的最小外接矩形框和類別呢?

創新點:

通過從圖像的四個角點,逐步迭代的方式,每次計算一個縮小的方向,並縮小指定的距離來使得逐漸逼近目標。作者還提出了針對多目標情況的處理方式。

參考博客: https://blog.csdn.net/m0_45962052/article/details/104945913

論文題目:Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition

提出時間:2014年

論文地址:https://link.springer.com/content/pdf/10.1007/978-3-319-10578-9_23.pdf

針對問題:

如RCNN會將輸入的目標圖像塊處理到同一尺寸再輸入進CNN網路,在處理過程中就造成了圖像塊信息的損失。在實際的場景中,輸入網路的目標尺寸很難統一,而網路最後的全連接層又要求輸入的特徵信息為統一維度的向量。作者就嘗試進行不同尺寸CNN網路提取到的特徵維度進行統一。

創新點:

作者提出的SPPnet中,通過使用特徵金字塔池化來使得最後的卷積層輸出結果可以統一到全連接層需要的尺寸,在訓練的時候,池化的操作還是通過滑動窗口完成的,池化的核寬高及步長通過當前層的特徵圖的寬高計算得到。原論文中的特徵金字塔池化操作圖示如下。

參考博客 :https://blog.csdn.net/weixin_43624538/article/details/87966601

論文題目:Object detection via a multi-region & semantic segmentation-aware CNN model

提出時間:2015年

論文地址:https://openaccess.thecvf.com/content_iccv_2015/papers/Gidaris_Object_Detection_via_ICCV_2015_paper.pdf

針對問題:

既然第三篇論文multibox演算法提出了可以用CNN來實現輸入圖像中待檢測目標的定位,本文作者就嘗試增加一些訓練時的方法技巧來提高CNN網路最終的定位精度。

創新點:

作者通過對輸入網路的region進行一定的處理(通過數據增強,使得網路利用目標周圍的上下文信息得到更精準的目標框)來增加網路對目標回歸框的精度。具體的處理方式包括:擴大輸入目標的標簽包圍框、取輸入目標的標簽中包圍框的一部分等並對不同區域分別回歸位置,使得網路對目標的邊界更加敏感。這種操作豐富了輸入目標的多樣性,從而提高了回歸框的精度。

參考博客 :https://blog.csdn.net/alfred_torres/article/details/83022967

論文題目:Fast-RCNN

提出時間:2015年

論文地址:https://openaccess.thecvf.com/content_iccv_2015/papers/Girshick_Fast_R-CNN_ICCV_2015_paper.pdf

針對問題:

RCNN中的CNN每輸入一個圖像塊就要執行一次前向計算,這顯然是非常耗時的,那麼如何優化這部分呢?

創新點:

作者參考了SPPNet(第六篇論文),在網路中實現了ROIpooling來使得輸入的圖像塊不用裁剪到統一尺寸,從而避免了輸入的信息丟失。其次是將整張圖輸入網路得到特徵圖,再將原圖上用Selective Search演算法得到的目標框映射到特徵圖上,避免了特徵的重復提取。

參考博客 :https://blog.csdn.net/u014380165/article/details/72851319

論文題目:DeepProposal: Hunting Objects by Cascading Deep Convolutional Layers

提出時間:2015年

論文地址:https://openaccess.thecvf.com/content_iccv_2015/papers/Ghodrati_DeepProposal_Hunting_Objects_ICCV_2015_paper.pdf

主要針對的問題:

本文的作者觀察到CNN可以提取到很棒的對輸入圖像進行表徵的論文,作者嘗試通過實驗來對CNN網路不同層所產生的特徵的作用和情況進行討論和解析。

創新點:

作者在不同的激活層上以滑動窗口的方式生成了假設,並表明最終的卷積層可以以較高的查全率找到感興趣的對象,但是由於特徵圖的粗糙性,定位性很差。相反,網路的第一層可以更好地定位感興趣的對象,但召回率降低。

論文題目:Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks

提出時間:2015年NIPS

論文地址:https://proceedings.neurips.cc/paper/2015/file/-Paper.pdf

主要針對的問題:

由multibox(第三篇)和DeepBox(第四篇)等論文,我們知道,用CNN可以生成目標待檢測框,並判定當前框為目標的概率,那能否將該模型整合到目標檢測的模型中,從而實現真正輸入端為圖像,輸出為最終檢測結果的,全部依賴CNN完成的檢測系統呢?

創新點:

將當前輸入圖目標框提取整合到了檢測網路中,依賴一個小的目標框提取網路RPN來替代Selective Search演算法,從而實現真正的端到端檢測演算法。

參考博客 :https://zhuanlan.hu.com/p/31426458

㈢ 目標檢測 如何提高網路的特徵提取能力

1,通過對輸入數據的手動查驗或自動化統計,確定較好的canny閾值
2,利用閾值對訓練樣本中10-20個batch的數據進行canny邊緣增強
3,增強方式為:原圖轉灰度提取到的canny邊緣所對應的原圖像素位置進行對比度增強或直接塗黑。加深程度可以由自定義的超參數alpha來指定。
4,用這10-20個batch的數據進行幾個epoch的訓練後再換成普通數據進行訓練。

㈣ 如何規劃校園網的主幹網路

不論是主幹網、部門網還是工作組網, 網路拓撲、結構形式、傳輸速率、負載分擔等等,可供選擇的方案不斷地在更新、進步。 本文主要論述校園網中主幹網的規劃和設計,討論各種形式的主幹結構,以及路由和交換技術的選擇和安排。 一、建立校園網主幹所涉及的技術主幹網路用於連接各工作組網路和全局的共享資源,其傳輸速度,工作效率及可靠性必須達到一個很高的水平。 主幹網路的互連結構是主幹網路設計的一個核心問題,路由(Routing)和交換(Switching)技術在互連結構中扮演著重要角色。 (1)交換技術交換技術工作於OSI參考模型的第二層。現在流行的交換機產品可以看作是一種簡單、 低成本、高性能、高埠密度的橋接設備。交換機和網橋相同的是,交換機根據每個數據包中的目標MAC地址作簡單的轉發, 轉發決策方案不需要判斷數據包深層的其他信息。交換機不同於網橋的地方在於交換機能以非常低的延遲轉發數據包, 能比橋接的網路提供更接近於單一區域網網段的性能。交換技術可以用來調整共享和分離的區域網網段帶寬, 從而消除區域網之間的傳輸瓶頸。交換技術主要包括幀交換和信元交換兩類。 目前市場上可以提供的乙太網、快速乙太網、千兆乙太網、FDDI、ATM、以及令牌環交換機。 其中千兆乙太網交換機在主幹設計中這兩年來備受青睞,一方面是因為速度快, 另一方面是因為它的技術繼承了傳統的乙太網,比較易於接受,而且可靠。 A.交換機是一種更快的橋交換機提供了很多和傳統網橋相同的用於網路互連的優點。交換機用非常簡潔、 經濟的方法把網路分段成更小的沖突域(CollisionDomain),為每個終端站點提供了更高的平均帶寬。 交換機是協議透明的,當工作於多協議的網路環境時,不需要或只需要很少的軟體配置。 交換機可以使用現有的電纜系統、集線器、工作站網卡、不需要昂貴的硬體升級。最後, 對終端站點的透明特性使得管理開銷非常低,增加、移動、改變站點非常簡單。 交換機通常使用ASIC技術,這使得它以極小的延遲提供很高的數據包吞吐量,在這一點上, 它的性能比傳統的網橋有了很大的增長。 B.轉發模式交換機的轉發模式基本有兩種:(1)即時轉發;(2)存儲一轉發即時轉發交換機在接收到整個數據幀時就開始進行轉發,只分析數據包開頭的目標MAC地址。 因此,在即時轉發模式下,無論數據包的長短,其處理速度和延遲總是相同的。 單純的即時轉發交換的主要缺點是把錯誤幀也進行了轉發。原因是交換機開始轉發時,並沒有判斷數據包是否完整、 數據校驗是否正確。即時轉發交換應用於兩個相同速度的埠時,它能工作得很好, 但如果數據包從一個100Mbps埠向一個10Mbps傳送時,就需要一級緩沖。 存儲一轉發交換機在接收了完整的數據包並校驗正確之後,才開始進行轉發處理。這種方式可以避免轉發錯誤包, 並使得管理者可以定義包過濾器的控制流量和交通。存儲一轉發方式的缺點是,轉發延遲隨數據包長度的增加而增加。 (2)路由技術路由技術工作在OSI參考模型的第三層,與交換機相比,它的工作更多地依賴於路由軟體。 由於可以得到更多的協議信息,路由器可以作出更加智能的轉發決策。和交換機相同的地方是, 路由器為用戶提供了不同區域網網段的無縫連接。和交換機不同的地方在於路由器決定了網段分組的邏輯邊界。 路由器提供了防火牆的服務,它僅僅轉發特定地址的數據包,從而可以防止廣播風暴、 未支持協議數據包的傳送和未知目標網路數據包的傳送。 為了完成路由工作,路由器需要具備兩項基本功能。 首先是路由器需要為各種網路層協議創建並維護路由表,這些表可以通過手工配置,靜態創建;也可通過路由協議動態創建。 建立了路由表之後,路由器根據每個數據包中的協議標志,提取網路層目標地址,並根據路由表作出轉發決策。 路由器可以根據很多因素選擇最好的傳送路徑,而不僅僅只根據目標MAC地址。這些因素包括轉發次數、線路速度、 傳送費用、延遲和交通狀況。這些智能特性還可用來增加數據安全、改善帶寬利用、對網路操作實施更多的控制。 路由器的缺點是,復雜的數據包處理增加了延遲,與簡單的交換體系結構相比,性能較低。 路由器與交換機的另一個區別是,由交換機連接的網段仍屬於同一個廣播域,廣播數據包會在交換機連接的所有網段上傳播, 在某些情況下會導致通信擁擠和安全漏洞。連接到路由器上的網段會被分配成不同的廣播域,廣播數據不會穿過路由器。 二、校園網拓撲一般來說有兩種拓撲結構可供選擇:集中式和分布式。網路拓撲的選擇是根據網路中關鍵性應用的應用模型來進行, 但同時要看到應用模型會隨時間的推移而改變,要注意設計的靈活性。 (1)集中模式集中模式的拓撲中,業務集中在較少的幾台伺服器上,這些伺服器被集中放置在網路中心。 採取這種結構有兩個主要原因,第一,它們是從主機系統中繼承的傳統應用結構。 第二,單一(或較少)的主機減少了資料庫一致性問題的發生,同時,這種模式簡化了管理工作。 這種結構的問題在於由於所有的用戶終端都需要訪問中央的伺服器,網路流量會匯集到網路主幹上, 這將導致傳統的共享網路主幹上交通擁擠,從而導致系統應用性能下降。幸運的是, 由交換技術提供的高速鏈路為這一問題的解決提供了辦法。由於具有高速度、低延遲的特性,交換機構造更好的響應速度。 低延遲意味著從客戶機到伺服器之間的網路連接所跨越的交換機數量對實際響應時間影響較小。 這種結構的主幹可以看作是多級的、連接不同"星"的"星"。像小溪流進大河一樣,數據通信被匯聚到主幹中, 所以中心交換機需要採用高速網路技術,如快速乙太網、千兆乙太網、FDDI、ATM等。這種結構中, 中央設備將成為一個集中失效點,一旦該設備失效就會導致應用癱瘓,所以一定要選用高可靠、容錯性好的設備。 (2)分布模式分布模式的拓撲中,往往把應用伺服器設置在靠近用戶的最大集中點,支持分布模式拓樸的網路, 要求把網路用戶分配到不同的應用領域,每個應用域需要為所有域用戶訪問的主要應用提供訪問。 在分布模式的網路中,我們可以由交換機伺服器群的分布形狀看出應用域的物理表現形式。 用戶及其相關的伺服器被連接到同一個交換機上,這種把客戶機和伺服器都作為網路葉節點的形式,使整個網路的結構變得平坦。 可以採用這么一個簡單的設計原則:當一台伺服器需要被許多用戶共享且響應時間很重要時,就在那裡放置一台交換機。 把整個企業應用分配到很多的交換機/伺服器群中,每個伺服器中裝載了該域用戶經常訪問的數據和應用。這樣一來, 客戶機/伺服器的事務就基本在本地進行,而網路主幹僅用於伺服器間的數據同步。 這種結構的設計要點是,把伺服器放置在最佳位置利用,分布式資料庫技術和交換機的能力使數據通信盡量發生在本地。 它的主要優點是,可以得到優秀的應用性能和響應時間。這種結構的主幹可以看作連接不同"星"的"網"。 其流量情況比較復雜,需要根據具體情況核定,以選擇足夠帶寬的鏈路。這種結構的"網"特性使得主幹的容錯性能較好, 一個點的失效不會導致整個企業應用的癱瘓。但這種結構的管理比較復雜。 三、校園網的互連結構(1)在數據中心設置低密度高速數據鏈路工作組交換機分別配置於各樓層,它們為終端用戶提供獨立的或共享的10Mbps連接, 為工作組伺服器提供獨立的高速連接,並用一根高速鏈路連接到數據中心的路由器上。 數據中心的伺服器組連接到路由器的一個高速介面上,共享可用帶寬。通過調整每台伺服器運用獨立的或共享的高速連接, 來調節每台伺服器的網路性能。中央的折疊主幹路由器提供了各樓層交換機、伺服器組以及廣域網間的連接。 由於路由器是工作在網路層,它把整個網路分解成不同的廣播域,並提供各個分離子網間的保密功能。在這種配置狀況中, 路由器是整個網路的中心,交換機為邊界用戶提供了附加帶寬。 (2)在數據中心設置高密度高速數據鏈路在這里,增加了一台交換機為各樓層交換機、中心伺服器組提供獨立的高速連接。路由器處於較邊緣的位置, 用於連接廣域網和其他需要互連的網路。建築物間的連接可以通過路由器,也可通過交換機進行高速連接, 由更大的范圍內的拓撲和安全方面的考慮來決定。這種結構需考慮的另一個問題是,高速交換機代替了路由器的中心地位之後, 可能會帶來網路邏輯拓樸結構方面的改變。另外,這種互連結構在整個環境中採取單一的廣播域。 如果不能接受在同一個建築中採取單一的廣播域,那麼就需要配置多個高速的路由介面, 用來連接屬於不同廣播域的中央交換機。由於在中央伺服器組和各個交換工作組之間不再存在直接的連接。 (3)具有冗餘結構的主幹路由器有一個重要性能---支持冗餘路徑,為我們建立可靠的網路主幹提供了方案。 四、結論現在的網路設計,越來越趨向於以交換為中心的結構,千兆乙太網交換機、大型ATM交換機、 FDDI交換機的出現更為大規模交換主幹的設計提供了有力的幫助。 穿越ATM建立

㈤ 如何切換TD網路

TD-SCDMA(以下簡稱TD)系統在繼承2G系統硬切換的同時提出了接力切換的概念,它與傳統意義上的硬切換和軟切換不同,其設計思想是利用TD系統特點和上行同步技術,在切換測量期間,利用開環技術進行並保持上行預同步,在切換期間,可以不中斷業務數據的傳輸,從而達到減少切換時間、提高切換成功率、降低切換掉話率的目的。以下是常見的TD切換異常情況及優化方法。

硬體故障導致切換異常

優化方法:查看基站設備告警記錄,對故障的天線、基站硬體設備進行更換。

同頻同擾碼小區越區覆蓋導致切換異常

優化方法:從規劃以及優化方面來避免同頻同擾碼小區越區覆蓋現象。主要是調整頻點、擾碼或工程參數(天線方位角、俯仰角、天線高度、小區最大發射功率等)。

越區孤島切換問題

優化方法:對發生越區覆蓋的小區的天線方位角、俯仰角、小區最大發射功率進行調整,必要時要降低天線高度;如果上述方法均不可行,可添加鄰區關系,使切換正常。

目標鄰小區負荷過高(或部分傳輸通道故障),導致切換失敗

優化方法:如果目標小區負荷高導致切換失敗,在目標小區質量允許的情況下,可以調整目標小區的切換允許下行功率門限、切換允許上行干擾最大門限、下行極限用戶數等參數。必要時可通過擴容來提高目標小區容量。針對目標小區傳輸通道故障可通過相關故障修復來解決。

目標小區上行同步失敗導致切換失敗

優化方法:可增加目標小區的UPPTS期望接收到的功率、調整功率步長及增加UPPCH信道的發射試探數和進行UP偏移等。但這些參數的調整要十分小心,如果參數調整不適當會加劇上行同步信道干擾,從而引起更高的信道ISCP值提升。

源小區下行干擾嚴重導致切換失敗

優化方法:查找干擾源,對常見的系統外干擾,如PHS系統通過調整扇區天線方位角或增加屏蔽網來規避干擾;對系統內同頻干擾可通過修改干擾小區頻率或調整方位角及俯仰角來降低干擾。

無線參數設置不合理導致切換不及時

優化方法:修改切換參數門限,包括調整切換遲滯量、修改小區個性偏移、減少切換時間延遲等參數。

乒乓切換造成切換失敗

優化方法:調整無線切換參數的優化。調整無線切換參數雖然可以降低乒乓切換的程度,但是也會帶來切換不及時等其他問題,故要綜合考慮,且在修改參數後,要及時測試和統計跟蹤。

調整天饋參數(調整扇區天線下傾角、方位角或者天線掛高),必要時也可更換扇區天線主波束的賦形波束寬度,避免覆蓋范圍過大,但是必須注意不要出現服務盲區等新問題。

拐彎效應切換失敗

優化方法:如果信號允許,可通過調整工程參數(加大鄰小區的下傾角)或者無線參數(如調整小區臨時偏置),改變切換帶,使UE在拐彎前進行提前切換。

㈥ Sparse R-CNN: 稀疏的目標檢測,武裝Fast RCNN | 新文分析

論文: Sparse R-CNN: End-to-End Object Detection with Learnable Proposals

  論文認為,目前的目標檢測演算法可以按預設框的多少分為兩種:

  上述兩種方法都會預測大量的結果,需要進行NMS後處理,而在訓練的時候會存在many-to-one的問題,並且anchor的設置對性能的影響很大。
  於是,很多研究開始探討稀疏(sparse)檢測,比如近期的DETR演算法。該演算法不需要預設anchor,並且預測的結果可直接輸出,不需要後處理。但論文認為DETR並不是真正的稀疏檢測,因為DETR在各位置提取特徵時,需要與全圖的上下文進行交互,而真正的稀疏檢測應該滿足sparse boxes和sparse features,即較少的初始框設定以及框之間不需要過多的特徵互動。
  為此,論文提出了Sparse R-CNN,如圖1c所示,僅需設定少量anchor即可進行檢測,而且能夠進行set prediction,免去NMS等後處理,其核心主要包含以下幾點:

  Sparse R-CNN的推理流程如圖3所示,輸入圖片、可學習的proposal boxes以及可學習的proposal features,根據proposal boxes提取對應的RoIAlign特徵,dynamic head將proposal features轉換為卷積核參數,對RoIAlign特徵進一步提取特徵,再進行後續的分類和回歸。整體的思想和Fast RCNN很像,將selective search替換為proposal boxes,再增加其它更強的模塊。

  論文採用FPN-ResNet作為主幹網路,輸出多層特徵,每層特徵的維度都是256。採用更復雜的主幹網路可以獲得更好的性能,但論文與Faster R-CNN對齊,採用標準的實現。

  Sparse R-CNN的核心是採用數目固定的小批量可學習proposal boxes( )作為region proposal,而非RPN。每個box為4-d參數,在0~1范圍內,值為歸一化的中心點坐標、寬度和高度。這些參數在訓練過程中通過反向傳播進行更新,包含了訓練集目標位置的統計信息,可用於推理時的初步目標位置猜測。

  盡管4維的proposal box能夠直觀地表示目標的定位,但缺少了目標的信息,比如目標的姿態和形狀,所以論文引入proposal feature( )進行補充。proposal features是高維的可學習向量,與proposal boxes一一對應,用於豐富目標的RoIAlign特徵。

  Dynamic instance interactive head的結構如圖4所示,每個proposal box都有一個專屬的預測head。給定 個proposal boxes和 個proposal features,先通過RoIAlign提取每個box的 維特徵,Dynamic instance interactive head將其對應的 維proposal feature轉換為卷積參數,使用這個卷積參數對RoIAlign特徵進行提取,得到目標的 維特徵,最後經過簡單的3層感知機進行分類與回歸。
  Dynamic instance interactive head也可以使用類似Cascade R-CNN那樣的級聯模式進一步的提升性能,將輸出的新回歸框和 維特徵作為下一次迭代的proposal box和proposal feature即可。

  Sparse R-CNN的訓練採用set prediction的形式,將固定數量的預測結果與GT之間進行二分圖最優的匹配,然後計算損失值,完整的損失函數為:

  各模塊對比實驗。

  性能與收斂性。

  在COCO上進行對比。

  Sparse R-CNN貫徹了稀疏的思想,只提供少量初始框,可進行Set prediction,顛覆了當前密集預測的檢測思路,整體框架十分簡潔,跟Fast RCNN有點像,十分值得大家閱讀。



㈦ CNN和Transformer相結合的模型

©作者 | 小欣

CNN廣泛應用於計算機視覺的各種任務中,比如分類,檢測,分割,CNN通過共享卷積核提取特徵,減少網路參數數量,提高模型效率,另一方面CNN具有平移不變性,即無論特徵被移動到圖像的哪個位置,網路都能檢測到這些特徵。

盡管CNN存在很多優勢,但是其感受野通常很小,不利於捕獲全局特徵。

視覺Transformer由於能夠捕獲一張圖片的全局信息,因此在許多視覺任務中超越許多CNN結構。

ViT是第一個替代CNN,使用純Transformer的結構,輸入一張224×224×3的圖片,ViT將其分成14×14=196個非重疊的patches,每個patch的大小是16×16×3,然後將這些patch輸入到堆疊的多個transformer編碼器中。

CNN的成功依賴於其兩個固有的歸納偏置,即平移不變性和局部相關性,而視覺Transformer結構通常缺少這種特性,導致通常需要大量數據才能超越CNN的表現,CNN在小數據集上的表現通常比純Transformer結構要好。

CNN感受野有限導致很難捕獲全局信息,而Transformer可以捕獲長距離依賴關系,因此ViT出現之後有許多工作嘗試將CNN和Transformer結合,使得網路結構能夠繼承CNN和Transformer的優點,並且最大程度保留全局和局部特徵。

Transformer是一種基於注意力的編碼器-解碼器結構,最初應用於自然語言處理領域,一些研究最近嘗試將Transformer應用到計算機視覺領域。

在Transformer應用到視覺之前,卷積神經網路是主要研究內容。受到自注意力在NLP領域的影響,一些基於CNN的結構嘗試通過加入自注意力層捕獲長距離依賴關系,也有另外一些工作直接嘗試用自注意力模塊替代卷積,但是純注意力模塊結構仍然沒有最先進的CNN結構表現好。

Transformer中有兩個主要部分,多頭自注意力層和全連接層,最近,Cordonnier et al.在研究中表明卷積可以通過使用多頭自注意力層達到同樣的效果。

Transformer 理論上比CNN能得到更好的模型表現,但是因為計算全局注意力導致巨大的計算損失,特別是在淺層網路中,特徵圖越大,計算復雜度越高,因此一些方法提出將Transformer插入到CNN主幹網路中,或者使用一個Transformer模塊替代某一個卷積模塊。

BoTNet.[1] 通過使用Multi-Head Self-Attention(MHSA)替代ResNet Bottleneck中的3×3卷積,其他沒有任何改變,形成新的網路結構,稱為Bottleneck Transformer,相比於ResNet等網路提高了在分類,目標檢測等任務中的表現,在ImageNet分類任務中達到84.7%的准確率,並且比EfficientNet快1.64倍。

BoTNet中使用的MHSA和Transformer中的MHSA有一定的區別,首先,BoTNet中使用Batch Normalization,而Transformer中使用Layer Normalization,其次,Transformer中使用一個在全連接層中使用一個非線性激活,BoT(Bottleneck Transformer)模塊中使用三個非線性激活,最後Transformer中的MHSA模塊包含一個輸出映射,而BoT中的MHSA沒有。

CNN有局部性和平移不變性,局部性關注特徵圖中相鄰的點,平移不變性就是對於不同區域使用相同的匹配規則,雖然CNN的歸納偏差使得網路在少量數據上表現較好,但是這也限制了在充分數據上的表現,因此有一些工作嘗試將CNN的歸納偏差引入Transformer加速網路收斂。

DeiT.[2] 為了減小ViT對於大量數據的依賴,Touvron et al.提出了Data-efficient image Transformer(Deit),提高網路在小量數據上的表現,通過使用數據增強和正則化技術,與此同時還引入了蒸餾策略,即使用一個教師網路去指導學生網路,通常來說使用CNN要比Transformer作為教師模型效果要好,CNN模型可以將其歸納偏置引入到Transformer。

作者使用兩種蒸餾方式,一種是硬蒸餾,一種是軟蒸餾 ,軟蒸餾通過計算學生模型和教師模型分別經過softmax之後的KL散度,硬蒸餾通過使用教師模型的預測作為真實標簽。

DeiT中引入了一個新的distillation token,和class token的作用類似,和其他token之間通過自注意力交互,作者發現class token和distillation token會收斂於不同的向量,餘弦距離為0.06,說明這兩個token希望得到相似但不相同的目標,為了證明distillation token的有效性是由於知識蒸餾的作用,通過對比實驗將distillation token換成class token,就是使用兩個class token,最終效果不如加入distillation token。

對比卷積神經網路和Transformer在Imagenet上的分類表現:

ConViT.[3] 通過引入gated positional self-attention(GPSA)層模仿卷積層帶來的局部性,將GPSA替代一部分 self-attention層,然後每一個注意力頭通過調整可學習的門控參數來調整對於位置信息和上下文信息的關注程度。GPSA層的輸出可以表示為:

其中,

是一個可學習的向量去模仿卷積,

是一個固定的相對位置編碼,

是一個可學習門控參數去調整對上下文和位置信息的關注程度。

Cordonnier et al.[4] 在論文中證明多頭自注意機制可通過調整頭的數量和可學習的位置編碼來近似達到卷積層的效果。

對比ConViT和DeiT在Imagenet-1k上的表現,以及不同大小訓練集對結果的影響

CeiT.[5] 改變了patch到token的方式,先將圖片通過卷積和最大池化再切分成patch,最開始對圖片使用卷積操作可以捕獲圖片的低級特徵,即I2

並且使用了Layer-wise class token Attention(LCA)去結合多層特徵,提出了Locally-Enhanced Feed-Forward Netword(LeFF),將最開始的全連接層(Feed-forward network)替換成了LeFF層,MSA(Multi-head self-attention)層保持不變,用於捕獲全局信息,LeFF層用於捕獲局部信息,最終的效果要比DeiT好。

Early Conv.[6] Xiao et al.通過使用多個步長為2的3×3卷積核替代ViT中最初的stem(步長為16的16×16卷積),使得網路在ImageNet-1k上取得1-2%的提高,並且穩定性和泛化能力在下游任務中都有所提高,對於學習率的選擇和優化器的選擇沒有那麼敏感,並且收斂速度也更快。

這篇文章表面在ViT模型中使用一個小的卷積核相比於最初的ViT使得模型有更好的泛化能力。

CoAtNet.[7] Dai et al. 提出a Convolution and Attention NetWord(CoAtNet),通過引入深度卷積到注意力模塊中,深度卷積中一個卷積核負責一個通道,一個通道只被一個卷積核計算,相比於正常卷積,其參數和運算成本相對比較低,在淺層網路中堆疊卷積層,比較了不同的堆疊方式,比如C-C-C-T,C-T-T-T,C-C-C-T,其中C代表卷積模塊,T代表Transformer模塊。

通過綜合考慮模型泛化能力,遷移能力,模型在訓練集上的表現,最後使用C-C-T-T 這種堆疊方式。在沒有額外訓練數據的情況下,CoAtNet達到了86%的准確率,在ImageNet-21K上預訓練時,達到了88.56%的准確率。

參考文獻

[1] A. Srinivas, T.-Y. Lin, N. Parmar, J. Shlens, P. Abbeel, and A. Vaswani, 「Bottleneck transformers for visual recognition.」 in Proc. CVPR, 2021.

[2] H. Touvron, M. Cord, D. Matthijs, F. Massa, A. Sablayrolles, and H. Jegou, 「Training data-effificient image transformers & distillation through attention,」 in Proc. ICLR, 2021.

[3] S. d』Ascoli, H. Touvron, M. Leavitt, A. Morcos, G. Biroli, and L. Sa gun, 「Convit: Improving vision transformers with soft convolutional inctive biases,」 in Proc. ICLR, 2021.

[4] Cordonnier, J.-B., Loukas, A., and Jaggi, M. On the relationship between self-attention and convolutional layers. arXiv preprint arXiv:1911.03584, 2019.

[5] K. Yuan, S. Guo, Z. Liu, A. Zhou, F. Yu, and W. Wu, 「Incorporating convolution designs into visual transformers,」 in Proc. ICCV, 2021.

[6] T. Xiao, M. Singh, E. Mintun, T. Darrell, P. Dollar, and R. B. Girshick, 「Early convolutions help transformers see better,」 ArXiv, vol. abs/2106.14881, 2021.

[7] Z. Dai, H. Liu, Q. V. Le, and M. Tan, 「Coatnet: Marrying convolution and attention for all data sizes,」 arXiv preprint arXiv:2106.04803, 2021.

私信我領取 目標檢測與R-CNN/數據分析的應用/電商數據分析/數據分析在醫療領域的應用/NLP學員項目展示/中文NLP的介紹與實際應用/NLP系列直播課/NLP前沿模型訓練營等 干貨學習資源。

㈧ sar目標檢測用什麼網路合適

主從網路。
相控陣每次發射和接收都可以對目標進行檢測,如在想干時間內,還可以對目標進行多普勒處理。SAR需要採集很長時間的數據,最後合成圖像。

㈨ Faster R-CNN:使用RPN實時目標檢測

論文: Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks

目標檢測網路大多依靠 區域生成 (region proposal)演算法來假設目標的位置。 R-CNN 是採用 Selective Search 演算法來提取(propose)可能的 RoIs(regions of interest) 區域,然後對每個提取區域採用標准 CNN 進行分類。選擇性搜索(Selective Search )方法就是在目標對象周圍設定2000個形狀大小位置不一的候選區域,目標物體在候選區域的可能性還是比較大的。然後對這些區域卷積,找到目標物體,雖然大多數區域都是無用的。與尋找幾乎個區域比起來,這種方法要高效的多。

Fast R-CNN ,不在原始圖像生成備選區域,而是先整張圖片通過卷積網路得到特徵圖,然後在特徵圖上使用備選區域演算法得到感興趣的區域在特徵圖的映射,之後使用 Rol Pool將所有區域變成同樣尺寸,大大減少了這些目標檢測網路的運行時間,但是區域生成的計算成為整個檢測網路的瓶頸。

Faster R-CNN 引入了一個 區域生成網路(Region Proposal Network,RPN) ,該網路與檢測網路共享輸入圖像的卷積特徵,從而使接近零時間成本的區域生成成為可能。 RPN是一個全卷積網路,可以同時在每個位置預測目標邊界和目標分數。RPN經過端到端的訓練,可以生成高質量的區域候選框,然後提供給Fast R-CNN用於檢測。

Faster R-CNN 由兩個模塊組成:第一個模塊是區域生成的深度全卷積網路,第二個模塊是使用備選區域的Fast R-CNN檢測器。整個系統是一個單個的,統一的目標檢測網路。使用最近流行的「注意力」機制的神經網路術語,RPN模塊告訴Fast R-CNN模塊在哪裡尋找目標。

針對一張圖片,需要獲得的輸出有:

Faster R-CNN 第一步是採用基於分類任務(如ImageNet)的 CNN 模型作為特徵提取器。輸入圖片表示為 H × W × D 的形式,經過預訓練 CNN 模型的處理,得到卷積特徵圖(conv feature map)。

Faster R-CNN 最早是採用在 ImageNet 訓練的 ZF 和 VGG ,其後出現了很多其它權重不同的網路.。如 MobileNet 是一種小型效率高的網路結構,僅有 3.3M 參數;而ResNet-152 的參數量達到了 60M;新網路結構,如 DenseNet 在提高了結果的同時,降低了參數數量。

以 VGG16 為例:

VGG16 圖片分類時,輸入為 224×224×3 的張量(即,一張 224×224 像素的 RGB 圖片)。網路結構最後採用 FC 層(而不是 Conv 層)得到固定長度的向量,以進行圖片分類.。對最後一個卷積層的輸出拉伸為1維的向量,然後送入 FC 層。官方實現中是採用的卷積層 conv5/conv5_1 的輸出。

在深度上,卷積特徵圖對圖片的所有信息進行了編碼,同時保持相對於原始圖片所編碼 「things」 的位置。例如,如果在圖片的左上角存在一個紅色正方形,而且卷積層有激活響應,那麼該紅色正方形的信息被卷積層編碼後,仍在卷積特徵圖的左上角。因此利用特徵圖檢測目標所在的位置是可行的。

ResNet 結構逐漸取代 VGG 作為基礎網路,用於提取特徵。ResNet 相對於 VGG 的明顯優勢是,網路更大,因此具有更強的學習能力.。這對於分類任務是重要的,在目標檢測中也應該如此。另外,ResNet 採用殘差連接(resial connection) 和 BN (batch normalization) 使得深度模型的訓練比較容易。

然後,RPN(Region Propose Network) 對提取的卷積特徵圖進行處理,尋找可能包含 目標的 預定義數量的區域(regions,邊界框) 。為了生成候選區域,在最後的共享卷積層輸出的卷積特徵圖上做 3x3 卷積,卷積核共有512個(VGG),後面是ReLU,這樣每個 3x3 區域會得到一個512維的特徵向量。然後這個特徵向量被輸入到兩個全連接層——一個邊界框回歸層(reg)和一個邊界框分類層(cls)。

下面解釋 k, 2k, 4k 的含義。

基於深度學習的目標檢測中,可能最難的問題就是生成長度不定(variable-length)的邊界框列表(bounding-boxes),邊界框是具有不同尺寸(sizes)和長寬比(aspect ratios )的矩形。在構建深度神經網路時,最後的網路輸出一般是固定尺寸的張量輸出(採用RNN的除外)。例如,在圖片分類中,網路輸出是 (C, ) 的張量,C是類別標簽數,張量的每個位置的標量值表示圖片是類別的概率值。

在 RPN 中,通過採用 anchors(錨) 來解決邊界框列表長度不定的問題,即在原始圖像中統一放置固定大小的參考邊界框。上面說到RPN對特徵圖做3x3的卷積,假設每一次卷積需要預測 k 個候選區域,因此,reg層具有 4k 個輸出,編碼 k 個邊界框的坐標,cls層輸出 2k 個分數,估計每個區域是目標或是背景的概率。這 k 個區域就是 被 k 個參考邊界框初始化, k 個參考框就是 k 個錨點,作為第一次預測目標位置的參考 boxes。錨點的中心位於卷積核滑動窗口的中心。默認情況下每個滑動位置使用3個不同尺度(128 2 , 256 2 , 512 2 )3個不同長寬比(1:2, 1:1, 2:1)的錨點,k=9。對於大小為W×H(通常約為2400)的卷積特徵圖,總共有 W×H×k 個錨點。對於RPN的最後兩個全連接層,參數的個數為 512×(4+2)×k.

不同於直接檢測目標的位置,這里將問題轉化為兩部分。對每一個 anchor 而言:

有一種簡單的方法來預測目標的邊界框,即學習相對於參考邊界框的偏移量。假設參考 box:( ),待預測量:( ),一般都是很小的值,以調整參考 box 更好的擬合所需要的。

雖然 anchors 是基於卷積特徵圖定義的,但最終的 anchos 是相對於原始圖片的.

由於只有卷積層和 pooling 層,特徵圖的維度是與原始圖片的尺寸成比例關系的. 即,數學地表述,如果圖片尺寸 w×h,特徵圖的尺寸則是w/r×h/r. 其中,r 是下采樣率(subsampling ratio). 如果在卷積特徵圖空間位置定義 anchor,則最終的圖片會是由 r 像素劃分的 anchors 集。在 VGG 中, r=16。

RPN 利用所有的參考邊界框(anchors),輸出一系列目標的良好的 proposals。針對每個 anchor,都有兩個不同的輸出:

RPN是全卷積網路。

對於分類層,每個 anchor 輸出兩個預測值:anchor 是背景(background,非object)的 score 和 anchor 是前景(foreground,object) 的 score.

對於回歸層,也可以叫邊界框調整層,每個 anchor 輸出 4 個預測值:
(Δxcenter,Δycenter,Δwidth,Δheight),用於 anchors 來得到最終的 proposals。根據最終的 proposal 坐標和其對應的 objectness score,即可得到良好的 objects proposals.

RPN 有兩種類型的預測值輸出:二值分類和邊界框回歸調整。

為了訓練RPN,我們為每個錨點分配一個二值類別標簽(是目標或不是目標)。我們給兩種錨點分配一個正標簽:(i)具有與實際邊界框的重疊最高交並比(IoU)的錨點,或者(ii)具有與實際邊界框的重疊超過0.7 IoU的錨點。注意,單個真實邊界框可以為多個錨點分配正標簽。通常第二個條件足以確定正樣本;但我們仍然採用第一個條件,因為在一些極少數情況下,第二個條件可能找不到正樣本。對於所有的真實邊界框,如果一個錨點的IoU比率低於0.3,我們給非正面的錨點分配一個負標簽。既不正面也不負面的錨點不會有助於訓練目標函數。

然後,隨機采樣 anchors 來生成batchsize=256 的 mini-batch,盡可能的保持 foreground 和 background anchors 的比例平衡。

RPN 對 mini-batch 內的所有 anchors 採用二分類交叉熵來計算分類 loss。然後,只對 mini-batch 內標記為 foreground 的 anchros 計算回歸 loss。為了計算回歸的目標targets,根據 foreground anchor 和其最接近的 groundtruth object,計算將 anchor 變換到 object groundtruth 的偏移值 Δ。

Faster R-CNN沒有採用簡單的 L1 或 L2 loss 用於回歸誤差,而是採用 Smooth L1 loss. Smooth L1 和 L1 基本相同,但是,當 L1 誤差值非常小時,表示為一個確定值即認為是接近正確的,loss 就會以更快的速度消失.

由於 Anchors 一般是有重疊,因此,相同目標的候選區域也存在重疊。

為了解決重疊 proposals 問題,採用 NMS 演算法處理,丟棄與一個 score 更高的 proposal 間 IoU 大於預設閾值的 proposals.

雖然 NMS 看起來比較簡單,但 IoU 閾值的預設需要謹慎處理. 如果 IoU 值太小,可能丟失 objetcs 的一些 proposals;如果 IoU 值過大,可能會導致 objects 出現很多 proposals。IoU 典型值為 0.7。

NMS 處理後,根據 sore 對topN 個 proposals 排序. 在 Faster R-CNN 論文中 N=2000,其值也可以小一點,如 50,仍然能的高好的結果.

當獲得了可能的相關目標和其在原始圖像中的對應位置之後,問題就更加直接了,採用 CNN 提取的特徵和包含相關目標的邊界框,採用 RoI Pooling 處理,並提取相關目標的特徵,得到一個新的向量。

RPN 處理後,可以得到一堆沒有分類得分的目標 proposals。待處理問題為,如何利用這些邊界框並分類。

一種最簡單的方法是,對每個 porposal,裁剪,並送入pre-trained base 網路,提取特徵;然後,將提取特徵來訓練分類器. 但這就需要對所有的 2000 個 proposals 進行計算,效率低,速度慢。Faster R-CNN通過重用卷積特徵圖來加快計算效率,即採用 RoI(region of interest) Pooling 對每個 proposal 提取固定尺寸的特徵圖。然後 R-CNN 對固定尺寸的特徵圖分類。

目標檢測中,包括 Faster R-CNN,常用一種更簡單的方法,即:採用每個 proposal 來對卷積特徵圖裁剪crop,然後利用插值演算法(一般為雙線性插值 bilinear)將每個 crop resize 到固定尺寸14×14×ConvDepth. 裁剪後,利用 2×2 kernel 的 Max Pooling 得到每個 proposal 的最終7×7×ConvDepth 特徵圖.

之所以選擇該精確形狀,與其在下面的模塊(R-CNN)中的應用有關。

R-CNN利用RoI Pooling提取的特徵進行分類,採用全連接層來輸出每個可能的 目標類別的分類得分,是Faster R-CNN框架中的最後一個步驟。

R-CNN 有兩個不同的輸出:

R-CNN 對每個 proposal 的特徵圖,拉平後採用 ReLU 和兩個大小為 4096 維的全連接層進行處理。然後,對每個不同目標採用兩個不同的全連接層處理:一個全連接層有 N+1 個神經單元,其中 N 是類別 class 的總數,包括 background class;一個全連接層有 4N 個神經單元,是回歸預測輸出,得到 N 個可能的類別分別預測 Δcenterx,Δcentery,Δwidth,Δheight。

R-CNN 的目標基本上是與 RPN 目標的計算是一致的,但需要考慮不同的可能的 object 類別 classes.

根據 proposals 和 ground-truth boxes,計算其 IoU。與任何一個 ground-truth box 的 IoU 大於 0.5 的 proposals 被設為正確的 boxes。IoU 在 0.1 到 0.5 之間時設為 background。這里忽略沒有任何交叉的 proposals。這是因為,在此階段,假設已經獲得良好的 proposals。當然,所有的這些超參數都是可以用於調整以更好的擬合 objects。

邊界框回歸的目標計算的是 proposal 與其對應的 ground-truth間的偏移量,只對基於 IoU 閾值設定類別後的 proposals 進行計算。隨機採用一個平衡化的 mini-batch=64,其中,25% 的 foreground proposals(具有類別class) 和 75% 的background proposals.

類似於 RPNs 的 losses,對於選定的 proposals,分類 loss 採用 multiclass entropy loss;對於 25% 的 foreground proposals 採用 SmoothL1 loss 計算其與 groundtruth box 的匹配。

由於 R-CNN全連接網路對每個類別僅輸出一個預測值,當計算邊框回歸loss 時需謹慎,只需考慮正確的類別。

類似於 RPN,R-CNN 最終輸出一堆帶有類別分類的objects,在返回結果前,再進一步進行處理。

為了調整邊界框,需要考慮概率最大的類別的 proposals. 忽略概率最大值為 background class 的proposals.

當得到最終的 objects 時,並忽略被預測為 background 的結果,採用 class-based NMS. 主要是通過對 objects 根據類別class 分組,然後根據概率排序,並對每個獨立的分組採用 NMS 處理,最後再放在一起.

最終得到的 objects 列表,仍可繼續通過設定概率閾值的方式,來限制每個類的 objects 數量.

Faster R-CNN在論文中是採用分步方法,對每個模塊分別訓練再合並訓練的權重. 自此,End-to-end 的聯合訓練被發現能夠得到更好的結果.

當將完整的模型合並後,得到 4 個不同的 losses,2 個用於 RPN,2 個用於 R-CNN。4 種不同的 losses 以加權和的形式組織. 可以根據需要對分類 loss 和回歸 loss 設置權重,或者對 R-CNN 和 RPNs 設置不同權重.

採用 SGD 訓練,momentum=0.9. 學習率初始值為 0.001,50K 次迭代後衰減為 0.0001. 這是一組常用參數設置。

㈩ YOLOV4簡介

其他基礎操作:

便於分析,將Yolov4 的整體結構拆分四大板塊:

(1)輸入端:訓練時對輸入端的改進,主要包括Mosaic數據增強,cmBN,SAT自對抗訓練。
(2)BackBone主幹網路:將各種新的方式結合起來,包括:CSPDarknet53,Mish激活函數,Dropblock。
(3)Neck:目標檢測網路在BackBone和最後的輸出層之間往往會插入一些層,比如Yolov4的SPP模塊,FPN+PAN結構。
(4)Prediction:輸出層的錨框機制和Yolov3相同,主要改進的是訓練時的損失函數CIOU_Loss,以及預測框篩選的nms變為DIOU_nms。

(1)Mosaic數據增強。
Yolov4中使用的Mosaic是參考2019年提出的CutMix數據增強的方式,但CutMix只使用了兩張圖片進行拼接,而Mosaic數據增強則採用了4張圖片,隨機縮放,隨機裁剪,隨機排布的方式進行拼接。

(1)CSPDarknet53
CSPDarknet53是在Yolov3主幹網路Darknet53的基礎上,借鑒2019年的CSPNet的經驗,產生的Backbone結構,其中包含了5個CSP模塊。

Backbone中卷積層的數量:

每個CSP模塊前面的卷積核大小都是3x3,步長為2,因此可以起到下采樣的作用。
因為Backbone有5個CSP模塊,輸入圖像是608 x 608,所以特徵圖的變化規律是:608->304->152->76->38->19
經過5次CSP模塊後得到19*19大小的特徵圖。
而且作者只在Backbone中採用Mish激活函數,網路後面任然採用Leaky_relu激活函數。

CSPNet的作者認為推理計算過高的問題是由於網路優化中的 梯度信息重復 導致的。
因此採用CSP模塊先將基礎層的特徵映射劃分為兩部分,然後通過跨階段層次結構將他們合並,在減少計算量的同時可以保證准確率。
因此Yolov4在主幹網路Backbone採用 CSPDarknet53網路結構 ,主要是有三個方面的優點:

Yolov4中使用的Dropblock,其實和常見網路中的Dropout功能類似,也是一種緩解過擬合的一種正則化方式。
傳統的Dropout很簡單: 隨機刪除減少神經元的數量,使網路變得更簡單。

這種方式其實是借鑒2017年的Cutout數據增強的方式,cutout是將輸入圖像的部分區域清零,而Dropblock則是將Cutout應用到每一個特徵圖。而且並不是用固定的歸零比率,而是在訓練時以一個小的比率開始,隨著訓練過程線性的增加這個比率。

Dropblock Cutout數據增強 對訓練效果進行對比驗證時,發現幾個優點:

在目標檢測領域,為了更好的提取融合特徵,通常在Backbone和輸出層,會插入一些層,這個部分稱為Neck。
Yolov4的Neck結構主要採用了SPP模塊,FPN+PAN的方式。
(1)SPP模塊
SPP模塊 在Backbone的主幹網路之後:

(2)FPN+PAN
PAN結構是借鑒 2018年圖像分割領域PANet的創新點
看下Yolov3和Yolov4中是如何設計的。

前面CSPDarknet53中講到,每個CSP模塊前面的卷積核都是3x3大小,想當於下采樣操作。
因此可以看到三個紫色箭頭處的特徵圖是76x76,38x38,19x19。
以及最後Prediction中用於預測的三個特徵圖:①76×76×255,②38×38×255,③19×19×255。
我們也看下Neck部分的立體圖像,看下兩部分是如何通過FPN+PAN結構進行融合的。

原本的PANet網路的PAN結構中,兩個特徵圖結合是採用shortcut操作,而Yolov4中則採用concat 操作,特徵圖融合後的尺寸發生了變化。

(1)CIOU_loss
目標檢測任務的損失函數一般由Classificition Loss(分類損失函數)和Bounding Box Regeression Loss(回歸損失函數)兩部分構成。
Bounding Box Regeression的Loss近些年的發展過程是: Smooth L1 Loss-> IoU Loss(2016)-> GIoU Loss(2019)-> DIoU Loss(2020)->CIoU Loss(2020)
從最常用的 IOU_Loss 開始,進行對比拆解分析,看下Yolov4為啥要選擇 CIOU_Loss

-------------------------------------------------------IOU_loss------------------------------

問題一 :即狀態1的情況,當預測框和目標框不相交時,IOU=0,無法反應兩個框距離的遠近,此時損失函數不可導,IOU_Loss無法優化兩個框不相交的情況。
問題二 :即狀態2和狀態3的情況,當兩個預測框大小相同,兩個IOU也相同,IOU_Loss無法區分兩者相交情況的不同。
因此2019年出現了GIOU_Loss來進行改進。

-------------------------------------------------------GIOU-------------------------------------

看到上圖的GIOU_loss中,增加了相交尺度的衡量方式,緩解了 單純IOU_Loss 時的尷尬。
但為什麼僅僅說緩解呢?因為還存在一種不足:

基於這個問題, 2020年的AAAI又提出了DIOU_Loss

------------------------------------------------DIOU_Loss------------------------------------------------------------

好的目標框回歸函數應該考慮三個重要的幾何因素: 重疊面積,中心點距離,長寬比。
針對IOU和GIOU存在的問題,作者從兩個方面進行考慮
一:如何最小化預測框和目標框之間的歸一化距離?
二:如何在預測框和目標框重疊時,回歸的更准確?
針對第一個問題,作者提出了DIOU_Loss

-----------------------------------------------------------CIOU_Loss-----------------------------------------------------

CIOU_Loss DIOU_Loss 前面的公式都是一樣的,不過在此基礎上還增加了一個 影響因子 ,將預測框和目標框的長寬比都考慮了進去。

這樣CIOU_Loss就將目標框回歸函數應該考慮三個重要幾何因素:重疊面積、中心點距離,長寬比全都考慮進去了。
再來綜合的看下各個Loss函數的不同點:

nms主要用於預測框的篩選,YOLOV4將其中計算IOU的部分替換成DIOU的方式

在上圖重疊的摩托車檢測中,中間的摩托車因為考慮邊界框中心點的位置信息,也可以回歸出來。
因此在重疊目標的檢測中,DIOU_nms的效果優於傳統的nms。

注意 :為什麼不用CIOU_nms,而用DIOU_nms?
因為前面講到的CIOU_loss,實在DIOU_loss的基礎上,添加的影響因子,包含groundtruth標注框的信息,在訓練時用於回歸。
但在測試過程中,並沒有groundtruth的信息,不用考慮影響因子,因此直接用DIOU_nms即可。

閱讀全文

與目標檢測如何換主幹網路相關的資料

熱點內容
網路共享中心沒有網卡 瀏覽:521
電腦無法檢測到網路代理 瀏覽:1374
筆記本電腦一天會用多少流量 瀏覽:578
蘋果電腦整機轉移新機 瀏覽:1376
突然無法連接工作網路 瀏覽:1061
聯通網路怎麼設置才好 瀏覽:1224
小區網路電腦怎麼連接路由器 瀏覽:1037
p1108列印機網路共享 瀏覽:1212
怎麼調節台式電腦護眼 瀏覽:698
深圳天虹蘋果電腦 瀏覽:935
網路總是異常斷開 瀏覽:612
中級配置台式電腦 瀏覽:995
中國網路安全的戰士 瀏覽:630
同志網站在哪裡 瀏覽:1413
版觀看完整完結免費手機在線 瀏覽:1459
怎樣切換默認數據網路設置 瀏覽:1110
肯德基無線網無法訪問網路 瀏覽:1286
光纖貓怎麼連接不上網路 瀏覽:1477
神武3手游網路連接 瀏覽:965
局網列印機網路共享 瀏覽:1000