首页 > 手相面相

測試轉算法屬兔屬馬生肖(面相真的存在嗎)

推算 手相面相 08-22

經典目標檢測算法介紹

mb3乾坎艮震好运网

姓名:牛曉銀;學號:20二十四1213993;學院:計算機科學與技術

轉自:https://zhuanlan。zhihu。com/p/34142321

【嵌牛引讀】:目標檢測,亦稱目標提取,是一種基於目標幾何和統計特征的圖像分割。隨著計算機技術的發展和計算機視覺原理的普遍應用,利用計算機圖像處理技術對目標進行實時跟蹤研究愈來愈熱門,對目標進行動態實時跟蹤定位在智能化交通系統、軍事目標檢測及醫學導航手術中手術器械定位等方面具有寬廣的應用價值。

【嵌牛鼻子】:目標檢測、檢測模型、計算機視覺

【嵌牛提問】:你曉得或者用過哪些目標檢測算法?

【嵌牛正文】:

(1)目標檢測經典工作回顧

本文結構

兩階段模型因其對圖片的兩階段處理得名,也稱為基於區域(Region-based)的方式方法,我們選取R-CNN系列工作作為這一類型的代表。

R-CNN: R-CNN系列的開山之作

論文鏈接:  Rich feature hierarchies for accurate object detection and semantic segmentation

本文的兩大貢獻:1)CNN可用於基於區域的定位和分割物體;2)監督訓練樣本數緊缺時,在額外的數據上預訓練的模型經過fine-tuning可以取得非常好的效果。第1個貢獻作用與影響瞭之後幾乎所有2-stage方法,而第2個貢獻中用分類任務(Imagenet)中訓練好的模型作為基互聯網,在檢測問題上fine-tuning的做法也在後來的打工時一直沿用。

守舊的計算機視覺方法常用精心設計的手工特征(如SIFT, HOG)描述圖像,而深度學習的方式方法則倡導習得特征,從圖像分類任務的經驗來看,CNN互聯網自動習得的特點取得的作用已經超出瞭手工設計的特點。本篇在局部區域應用卷積互聯網,以發揮卷積互聯網學習高質量特征的能力。

R-CNN將檢測抽象為兩個過程,一是基於圖片提出若幹可能蘊含物體的區域(即圖片的局部裁剪,被叫作Region Proposal),文中使用的是Selective Search算法;二是在提出來的這幾個區域上運行那個時候表現最有利的分類互聯網(AlexNet),得到每個區域內物體的類別。

另外,文章中的兩個做法值得註意和提防。

一是數據的準備。輸入CNN前,大傢需要依據Ground Truth對提出來的Region Proposal進行標記,這裡使用的指標是IoU(Intersection over Union,交並比)。IoU計算瞭兩個區域之交的面積跟它們之並的比,描述瞭兩個區域的重合程度。

文章別提到,IoU閾值的抉擇對結果作用與影響顯著,這裡要談兩個threshold,一個用以識別正樣本(如跟ground truth的IoU大於0。5),另一個用以標記負樣本(即背景類,如IoU小於0。1),而介於兩者之間的則為難例(Hard Negatives),若標為正類,則蘊含瞭過多的背景信息,反之又蘊含瞭要檢測物體的特點,因而這幾個Proposal便被忽視掉。

另一點是位置坐標的回歸(Bounding-Box Regression),這一過程是Region Proposal向Ground Truth調整,實現時加入瞭log/exp變換來使損失保持在合理的量級上,可以看做一種標準化(非也rmalization)操作。

小結

R-CNN的念頭直接明瞭,即將檢測任務轉化為區域上的分類任務,是深度學習方法在檢測任務上的試水。模型本身存在的問題也許多,如需要訓練三個不同的模型(proposal, classification, regression)、重復計算過多致使的性能問題等。盡管如此,這篇論文的許多做法仍然廣泛地作用與影響著檢測任務上的深度模型剪掉鞭子,後續的許多工作也都是針對改進這一工作而展開,此篇可以稱得上"The First Paper"。

Fast R-CNN: 分享卷積運算

論文鏈接: Fast R-CNN

文章指出R-CNN耗時的緣故是CNN是在每一個Proposal上獨立進行的,沒有分享計算,便提出將基礎互聯網在圖片整體上運行完畢後,再傳入R-CNN子互聯網,分享瞭多數計算,所以有Fast之名。

上圖是Fast R-CNN的架構。圖片經過feature extractor得到feature map, 同時在原圖上運行Selective Search算法並且將RoI(Region of Interset,實為坐標組,可與Region Proposal混用)映射到到feature map上,再對每個RoI進行RoI Pooling操作便得到等長的feature vector,將這幾個得到的feature vector進行正負樣本的整理(保持一定的正負樣本比例),分batch傳入並行的R-CNN子互聯網,同時進行分類和回歸,並且將兩者的損失統一起來。

RoI Pooling 是對輸入R-CNN子互聯網的數據進行準備的關鍵操作。我們得到的區域往往有不同的大小,在映射到feature map上之後,會獲得不同大小的特點張量。RoI Pooling先將RoI等分成目標個數的網格,再在每個網格上進行max pooling,就得到等長的RoI feature vector。

文章最終的討論亦有一定的借鑒意義:

multi-loss traing相比獨立訓練classification確有提升

multi-scale相比single-scale精度略有提升,但帶來的時間開銷更大。某種程度上說明CNN結構可以內在地學習尺度不變性

在更加的多的數據(VOC)上訓練後,精度是有進一步提升的

Softmax分類器比"one vs rest"型的SVM表現略好,引入瞭類間的競爭角逐

更加的多的Proposal並不一定帶來精度的提升

小結

Fast R-CNN的這一結構正所謂檢測任務主流2-stage方法所采用的元結構的雛形。文章將Proposal, Feature Extractor, Object Classification&Localization統一在一個整體的結構中,並通過分享卷積計算提高特征利用效率,是最有貢獻的地方。

Faster R-CNN: 兩階段模型的深度化

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

Faster R-CNN是2-stage方法的奠基性工作,提出來的RPN互聯網取代Selective Search算法使得檢測任務可以由神經互聯網端到端地完成。粗略的講,Faster R-CNN = RPN + Fast R-CNN,跟RCNN分享卷積計算的特性使得RPN引入的計算量很小,使得Faster R-CNN能在單個GPU上以5fps的速度運行,而在精度方面達到SOTA(State of the Art,當前最佳)。

本文的主要貢獻是提出Regional Proposal Networks,替代之前的SS算法。RPN互聯網將Proposal這一任務建模為二分類(是否為物體)的問題。

第1步是在一個滑動窗口上生成不同大小和長寬比例的anchor box(如上圖右邊部分),取定IoU的閾值,按Ground Truth標定這幾個anchor box的正負。因此,傳入RPN互聯網的樣本數據被整理為anchor box(坐標)和每個anchor box是不是有物體(二分類標簽)。RPN互聯網將每個樣本映射為一個概率值和四個坐標值,概率值反應這個anchor box有物體的概率,四個坐標值用於回歸定義物體的具體位置。最後將二分類和坐標回歸的損失統一起來,作為RPN互聯網的目標訓練。

由RPN得到Region Proposal在依據概率值篩選後經過類似的標記過程,被傳入R-CNN子互聯網,進行多分類和坐標回歸,同樣用多任務損失將二者的損失聯合。

小結

Faster R-CNN的成功之處在於用RPN互聯網完成瞭檢測任務的"深度化"。使用滑動窗口生成anchor box的思想也在之後的打工時愈來愈多地被采用(YOLO v2等)。這項工作奠定瞭"RPN+RCNN"的兩階段方法元結構,作用與影響瞭多數後續工作。

單階段(1-stage)檢測模型

單階段模型沒有中間的區域檢出過程,直接從圖片獲得預測推算最終,也被成為Region-free方法。

YOLO

論文鏈接: You Only Look Once: Unified, Real-Time Object Detection

YOLO是單階段方法的開山之作。它將檢測任務表述成一個統一的、端到端的回歸問題,並且以隻處理一次圖片同時得到地段和分類而得名。

YOLO的主要優點:

快。

全局處理使得背景錯誤相對少,相比基於局部(區域)的方式方法, 如Fast RCNN。

泛化性能好,在藝術作品上做檢測時,YOLO表現比Fast R-CNN好。

YOLO的工作程序如下:

1、準備數據:將圖片縮放,劃分為等分的網格,每個網格按跟Ground Truth的IoU分配到所要預測推算的樣本。

2、卷積互聯網:由GoogLeNet更改而來,每個網格對每個類別預測推算一個條件概率值,並在網格基礎上生成B個box,每個box預測推算五個回歸值,四個表征位置,第5個表征這個box含有物體(註意和提防不是某一類物體)的概率和位置的準確程度(由IoU預示)。測試時,分數如下計算:

等式左邊第1項由網格預測推算,後兩項由每個box預測推算,以條件概率的方式得到每個box含有不同類別物體的分數。 因而,卷積互聯網共輸出的預測推算值個數為S×S×(B×5+C),其中S為網格數,B為每個網格生成box個數,C為類別數。

3、後處理:使用NMS(非也n-Maximum Suppression,非極大抑制)過濾得到最終的預測推算框

損失函數的設計

損失函數被分為三部分:坐標誤差、物體誤差、類別誤差。為瞭平衡類別不均勻和大小物體等帶來的作用與影響,損失函數中添加瞭權重並且將長寬取根號。

小結

YOLO提出瞭單階段的新思路,相比兩階段方法,其速度優勢明顯,實時的特性令人過目難忘。但YOLO本身也存在幾個問題,如劃分網格較為粗糙,每個網格生成的box個數等限制瞭對小尺度物體和相近物體的檢測。

SSD: Single Shot Multibox Detector

論文鏈接: SSD: Single Shot Multibox Detector

SSD相比YOLO有以下突出的特征:

多尺度的feature map:基於VGG的區別卷積段,輸出feature map到回歸器中。這一點試圖提升小物體的檢測精度。

更加的多的anchor box,每個網格點生成不同大小和長寬比例的box,並且將類別預測推算概率基於box預測推算(YOLO是在網格上),得到的輸出值個數為(C+4)×k×m×n,其中C為類別數,k為box個數,m×n為feature map的大小。

小結

SSD是單階段模型早期的集大成者,達到跟接近兩階段模型精度的並 且,擁有比兩階段模型快一個數量級的速度。後續的單階段模型工作大多基於SSD改進展開。

檢測模型基本特點

最後,大傢對檢測模型的基本特征做一個簡單容易的歸納。

檢測模型整體上由基礎互聯網(Backbone Network)和檢測頭部(Detection Head)構成。前者作為特征提取器,給出圖像不同大小、不同抽象層次的預示;後者則根據這幾個預示和監督信息學習類別和位置關聯。檢測頭部負責的類別預測推算和位置回歸兩個任務往往是並行進行的,構成多任務的損失進行聯合訓練。

相比單階段,兩階段檢測模型通常來講含有一個串行的頭部結構,即完成前背景分類和回歸後,把中間結果作為RCNN頭部的輸入再進行一次多分類和位置回歸。這種設計帶過來瞭一些優點:

對檢測任務的解構,先進行前背景的分類,再進行物體的分類,這種解構使得監督信息在不同階段對互聯網參數的學習進行指導

RPN互聯網為RCNN互聯網提供良好的先驗,並有機會整理樣本的比例,減輕RCNN互聯網的學習負擔

這種設計的缺點也很明顯:中間結果往往帶來空間開銷,而串行的方式也使得推斷速度無法跟單階段相比;級聯的具體位置回歸則會致使RCNN部分的重復計算(如兩個RoI有重疊)。

另一邊,單階段模型僅有一次類別預測推算和位置回歸,卷積運算的分享程度更高,擁有更快的速度和更小的內存占用。讀者將會在接著下面的文章中看見,兩種類型的模型也在相互吸收相互彼此的優點,這也使得兩者的界限更為模糊。mb3乾坎艮震好运网

mb3乾坎艮震好运网

mb3乾坎艮震好运网

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

mb3乾坎艮震好运网

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

|聲明:遵循CC 4、0 BY-SA版權協議

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

    YOLOv2采用Darknet-19作為特征提取互聯網,增添瞭批量標準化(Batch 非也rmalization)的預處理,並使用2二十四×2二十四和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是20二十四年Google研究員在論文《Batch 非也rmalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift》一文中提出來的,並且也將BN應用到瞭20二十四年的GoogLeNet上,亦即Inception-v二、

    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內數據近似代表著整體訓練數據。第4行引入瞭附加參數 γ 和 β,此二者的取值算法不妨參考BN論文,在此不再贅述。

    fine-tuning:用已經訓練好的模型,加上本人的數據集,來訓練新的模型。即便用別人的模型的前幾層,來提取淺層特征,而非完全重新訓練模型,從而提高效率。一般新訓練模型準確率都會從很低的值開始慢慢上升,不過fine-tuning可以讓我們在比較少的迭代次數之後得到一個相對較好的作用。

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

    YOLOv1在預訓練時采用的是2二十四*2二十四的輸入(在ImageNet數據集上進行),緊接著在檢測的時刻采用448*448的輸入,這會致使從分類模型切換到檢測模型的時刻,模型還要適應圖像分辨率的改變。

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

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

    YOLOv2first of all將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蘊含二十四個卷積層和2個全連接層,而Darknet-19蘊含19個卷積層和5個最大池化層(Max Pooling Layers),後面添加Average Pooling層(代替v1中FC層),而Softmax分類器作為激活被用在互聯網最後一層,用以進行分類和歸一化。

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

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

fine-tuning:第一步結束後,改用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。    

    first of all,先把最後一個卷積層去掉,緊接著添加3個3*3的卷積層,每個卷積層有10二十四個卷積核,並且後面都連接一個1*1的卷積層,卷積核個數(特征維度)依據需要檢測的類數量決定。(打比方說對VOC數據,每個Cell需要預測推算5個Boungding Box,每個Bounding Box有4個坐標值、1個置信度值和二十個條件類別概率值,所以每個單元格對應125個數據,此時卷積核個數應該取12五、)

    緊接著,將最後一個3*3*512的卷積層和倒數第二個卷積層相連(提取細粒度特征),最後在檢測數據集上fine-tuning預訓練模型160個epoch,學習率采用0。001,而且在第六0和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這個節點,能夠得到如下條件概率值:

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

其中:        

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

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

    此刻一張圖片是多標記的,標記之間不需要互相單獨。在訓練過程中,假如有一個圖片的標簽是“非也rfolk 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:四、

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

    YOLO9000的互聯網結構和YOLOv2類似,區別是每個單元格隻采用3個Anchor Boxes。

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

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

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

coco數據集

voc2012數據集mb3乾坎艮震好运网

mb3乾坎艮震好运网

mb3乾坎艮震好运网

測試需要學習算法麼?

mb3乾坎艮震好运网

first of all,進入軟件測試需要怎樣的技能?需要1,軟件工程技術瞭解軟件軟件工程(設計,開發和簡單容易的測試),應用流程,系統,自動測試流程和操作系統,數據庫設計和使用,互聯網系統和協議。 2,溝通竅門,假如你想確保軟件缺陷,你應該能夠缺陷認為是缺陷時預示。假如你保持清醒的都瘋瞭給別人3,組織能力,你或許是一個非常好的軟件測試設計師。在網絡時代有對軟件測試的壓力是一個復雜的工作,但假如你可以找到一種方法,在這幾個眾多的,它是一個有價值的職業。 4,實踐技能所需的時候工作經驗,你需要一個工作來豐富你的經驗,當你該如何辦?這並不完全是一個兩難選擇,你應該使用多種方式來獲得實踐經驗。 5,態度除瞭技術水平,你需要明白和采取適當的態度去做軟件測試。俺的建議是閱讀羅傑·普雷斯曼軟件工程:實踐者的研究方法,第5版(生涯開始,第5版,麥格勞希爾,兩千年)和軟件測試的藝術格倫福德邁爾斯(軟件測試的藝術,約翰·威利父子,1979年版) 。 Pressman的書是全面介紹瞭軟件工程的原則。有許多的軟件使用竅門,項目管理,需求剖析和軟件設計,軟件工程的書籍,但普雷斯曼在這幾個方面是在一本書中。格倫福德邁爾斯未到兩百傢,1979年的問題,但它是聖經的軟件測試。邁爾斯定義和測試方法的解釋已成為軟件測試的基本模塊。邁爾斯還考察瞭經濟(缺陷的費用)和軟件測試(測試的意圖是為瞭發現錯誤而沒有成功)的基本原則,以及領先的軟件開發和測試的心理方面。mb3乾坎艮震好运网

mb3乾坎艮震好运网

mb3乾坎艮震好运网

您好,我想知道如何用接近開關測轉速嗎,算法和原理是怎麼樣的,可以幫忙。。。

mb3乾坎艮震好运网

接近開關安置在旋轉體側面,旋轉體上裝一個突出金屬(如螺絲),由螺絲隨旋轉一周感應一次接近開關,用一個接近開關接到繼電器,由繼電器常開觸點觸發信號給計數器,開關一次計數一次。mb3乾坎艮震好运网

mb3乾坎艮震好运网

mb3乾坎艮震好运网

屬相為兔的和屬相為馬合財嗎,屬相為兔和屬相為羊的合不合財

mb3乾坎艮震好运网

屬相為兔的和屬相為馬合財嗎

結語以上是萬年歷我整理的“屬相為豬和屬相為馬的合財嗎,豬和馬在一起財運旺嗎”內容,希 馬和鼠合適嗎屬相為馬的和屬相為鼠的適合在一起嗎 兔和猴相配愛情婚姻怎樣生肖屬相為兔和屬相為猴相合配。更好答案“白馬犯青牛”,會相沖牛遇鼠蛇雞大吉,不能與龍馬羊狗兔相配,其它屬相次吉馬遇虎羊狗大吉,不能與鼠牛兔馬相配,其。mb3乾坎艮震好运网

更好答案二位屬相沒有特殊組合,配合情況一般甲方屬相兔 乙方屬相馬。屬相為馬人和屬相為兔人合財嗎屬相為馬人和屬相為兔人沒有克刑害沖合,即不會十分好或者很不會,一般般。mb3乾坎艮震好运网

mb3乾坎艮震好运网

屬相為兔和屬相為馬一起做生意合財嗎引讀兔和馬做生意合不合財?在生 1975年生肖兔的後10年何去何從?所有的都是命裡已經定好屬相為兔人過瞭。屬相為馬和屬相為兔的合財嗎屬相為馬和屬相為兔之人,不克不合,中等合財屬相為馬之人,凡事考慮周到,事務處理妥當,富有上進心,為人圓融,善於。mb3乾坎艮震好运网

78年屬相為馬和75年屬相為兔的婚配怎樣 屬相為馬和屬相為兔之人,不克不合,中等合財屬相為馬之人,凡事考慮周到,事務處理妥當,富有上進心,為。屬相為馬的和什麼屬相合作合財屬相為馬人和屬相為鼠人不應合怍,雙方 屬相為馬人和屬相為兔人尚可合作,兔愛惡作劇,但馬能照顧好自己。mb3乾坎艮震好运网

屬相為兔的人和什麼屬相的人做生意最合財 在20二十四 年生肖兔遇見瞭專損財的小耗星,能夠帶來損財敗財被別人欺詐投資損財等屬相為兔人和別的屬相合財的解釋 在十二地中和12生肖中,生肖兔跟生肖豬生肖羊生肖狗合財,其中亥豬,卯兔,未羊為地支三合木局,卯兔,戌狗屬相為兔人和別的屬相合作緣分 屬相為兔人和屬相為鼠人般不要合作,兔在與鼠合作時,其生意腦袋會喪失殆盡 屬相為兔人和屬相為牛人合作不默契。屬相為兔的最合財的屬相是什麼時刻 衣食住行柴米油鹽是普通百姓的活法常態也許除瞭時間以外,最要緊的就是財瞭財是。mb3乾坎艮震好运网

窮能變富豪,辛醜年,生肖兔的運勢與運氣本身就十分興盛,勢頭強 屬相為兔人才智高且擁有出色的腦袋,正直善良,有交際手腕,他們身。屬相為兔與十二生肖的合財關系 和屬相為鼠人盡最大力量的不要合作,兔在與鼠 和屬相為馬人是可以合作的,馬是精力充沛的實幹傢,固然馬不愛計。mb3乾坎艮震好运网

mb3乾坎艮震好运网

上面便是與屬相為兔的和屬相為馬合財嗎有關的內容,是關於屬相為馬的共享。看完屬相為兔和屬相為羊的合不合財後,希望這幫助到大傢!!!mb3乾坎艮震好运网

mb3乾坎艮震好运网

mb3乾坎艮震好运网

mb3乾坎艮震好运网

屬相為兔和屬相為馬的合財嗎

mb3乾坎艮震好运网

財運天佑,禍福氣生。那麼屬相為兔和屬相為馬的合財嗎?

屬相為兔和屬相為馬的是否合財。十二有生肖,兔主木,馬主火,木主仁而火主禮,古有仁義禮智信,且木火相生,故而兔馬相生,屬相為兔與屬相為馬者合財。

屬相為兔之人機敏善思,博學多才,多智多謀,處事踏實,生來運佳,少災多福,然喜新厭舊,野心強大,耐力欠佳。屬相為馬之人生來聰慧,個性剛強,安分守己,深謀遠慮,待人文質彬彬,然性急剛烈。兩者性格相近,長此以往更加招引,日久相處更加愉悅。兔主木,馬主火,木火相生,屬相為兔之人與屬相為馬之人互聚財運,故合財。然屬相為兔之人靈活好動,惡作劇不斷,故應多多註意,屬相為馬之人聰明多能,多多註意,定能愉悅合作,錢財廣聚。合作之時,忌投機取巧,忌不勞而獲。mb3乾坎艮震好运网

mb3乾坎艮震好运网

mb3乾坎艮震好运网

mb3乾坎艮震好运网

标签: