欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

小眾輕量級深度學習開源框架DarkNet如何入門?

張吉惟2年前29瀏覽0評論

Darknet——一個源碼為C的神經網絡框架

今天路同學介紹一個相對小眾的深度學習框架——Darknet。

與流行的Tensorflow以及Caffe框架相比,Darknet框架在某些方面有著自己獨特的優勢。

關于Darknet深度學習框架

Darknet深度學習框架是由JosephRedmon提出的一個用C和CUDA編寫的開源神經網絡框架。它安裝速度快,易于安裝,并支持CPU和GPU計算。

你可以在GitHub上找到源代碼:

https://github.com/pjreddie/darknet

你也可以在官網上閱讀完成更多事情:

https://pjreddie.com/darknet/

YOLO算法

YOLO(YouOnlyLookOnce)是JosephRedmon針對這一框架提出的核心目標檢測算法。

作者在YOLO算法中把物體檢測問題處理成回歸問題,用一個卷積神經網絡結構就可以從輸入圖像直接預測boundingbox和類別概率。

YOLO算法的優點

1、YOLO的速度非???。在TitanXGPU上的速度是45fps(framespersecond),加速版的YOLO差不多是150fps。

2、YOLO是基于圖像的全局信息進行預測的。這一點和基于slidingwindow以及regionproposal等檢測算法不一樣。與FastR-CNN相比,YOLO在誤檢測(將背景檢測為物體)方面的錯誤率能降低一半多。

3、可以學到物體的generalizable-representations??梢岳斫鉃榉夯芰姟?/p>

4、準確率高。有實驗證明。

事實上,目標檢測的本質就是回歸,因此一個實現回歸功能的CNN并不需要復雜的設計過程。YOLO沒有選擇滑窗或提取proposal的方式訓練網絡,而是直接選用整圖訓練模型。這樣做的好處在于可以更好的區分目標和背景區域,相比之下,采用proposal訓練方式的Fast-R-CNN常常把背景區域誤檢為特定目標。當然,YOLO在提升檢測速度的同時犧牲了一些精度。

YOLO的設計理念遵循端到端訓練和實時檢測。YOLO將輸入圖像劃分為S*S個網格,如果一個物體的中心落在某網格(cell)內,則相應網格負責檢測該物體。

在訓練和測試時,每個網絡預測B個boundingboxes,每個boundingbox對應5個預測參數,即boundingbox的中心點坐標(x,y),寬高(w,h),和置信度評分。

這里的置信度評分(Pr(Object)*IOU(predtruth))綜合反映基于當前模型boundingbox內存在目標的可能性Pr(Object)和boundingbox預測目標位置的準確性IOU(predtruth)。如果boudingbox內不存在物體,則Pr(Object)=0。如果存在物體,則根據預測的boundingbox和真實的boundingbox計算IOU,同時會預測存在物體的情況下該物體屬于某一類的后驗概率Pr(Class_iObject)。

假定一共有C類物體,那么每一個網格只預測一次C類物體的條件類概率Pr(Class_iObject),i=1,2,...,C;每一個網格預測B個boundingbox的位置。即這B個boundingbox共享一套條件類概率Pr(Class_iObject),i=1,2,...,C。基于計算得到的Pr(Class_iObject),在測試時可以計算某個boundingbox類相關置信度:Pr(Class_iObject)*Pr(Object)*IOU(predtruth)=Pr(Class_i)*IOU(predtruth)。

如果將輸入圖像劃分為7*7網格(S=7),每個網格預測2個boundingbox(B=2),有20類待檢測的目標(C=20),則相當于最終預測一個長度為S*S*(B*5+C)=7*7*30的向量,從而完成檢測+識別任務,整個流程可以通過下圖理解。

YOLO網絡設計遵循了GoogleNet的思想,但與之有所區別。YOLO使用了24個級聯的卷積(conv)層和2個全連接(fc)層,其中conv層包括3*3和1*1兩種Kernel,最后一個fc層即YOLO網絡的輸出,長度為S*S*(B*5+C)=7*7*30.此外,作者還設計了一個簡化版的YOLO-small網絡,包括9個級聯的conv層和2個fc層,由于conv層的數量少了很多,因此YOLO-small速度比YOLO快很多。如下圖所示給出了YOLO網絡的架構。

YOLO算法的缺點

1、位置精確性差,對于小目標物體以及物體比較密集的也檢測不好,比如一群小鳥。

2、YOLO雖然可以降低將背景檢測為物體的概率,但同時導致召回率較低。

路同學最近就在使用這一深度學習框架,親測好用!