主頁 >  其他 > yolo原理系列——yolov1--yolov5詳細解釋

yolo原理系列——yolov1--yolov5詳細解釋

2022-01-18 09:57:04 其他

yolo系列原理

文章目錄

  • yolo系列原理
    • 先嘮嘮
    • yolo-v1
      • 整體架構
      • 具體實作
      • 損失函式
      • yolo-v1的優點及局限
    • yolo-v2
      • batch normalization(歸一化 )
      • hi-res calssifier(高解析度分類器)
      • new network
      • anchor boxes(先驗框)
      • dimension priors(維度聚類)
      • location prediction
      • passthrough
      • multi-scale
    • yolo-v3
      • 多scale
      • resnet(殘差網路)
      • 多標簽分類
      • 網路架構
    • yolo-v4
    • yolo-v5

先嘮嘮

? 這部分主要講述yolo系列各個版本的的原理,這部分會把yolov1到yolov5的原理進行詳細的闡述,首先我們先來看深度學習的兩種經典的檢測方法:

  • Two-stage(兩階段):代表-- Fsater-rcnn Mask-rcnn系列

  • One-stage(單階段):代表-- Yolo系列

?兩階段和單階段有什么樣的區別呢,我們從整體上理解:單節段的就是一步到位,我們輸入一個影像,經過一系列傳化,最侄訓得到一個輸出結果;雙階段相較于單節段多了一些中間步驟,輸入一個原始影像,我們會先得到一些中間值,最后才輸出結果,更形象的表述為,我們要選擇一個人當代表,代表安徽省踢球,那么雙階段就類似與我先在安徽各個市找一些好苗子,最后再從這些好苗子中選擇一個最優秀的,具體可以參照下圖:

yolo演算法的優缺點分析_【精選推薦】基于深度學習的單階段目標檢測演算法研究綜述..._himarsmty的博客-CSDN博客

既然兩種檢測方式有所區別,那自然會討論他們的優缺點:

  • One-stage

    • 優勢:速度非常快,適合做實時檢測任務
    • 劣勢:效果通常不會太好
  • Two-stage

    • 優勢:效果通常比較好
    • 劣勢:速度較慢,不適合做實時檢測任務

?其實他們的優缺點我們也很好理解,單階段檢測的沒有中間程序,那速度肯定是相當哇塞了,但從效果來說,就相對差一點,我們可以看一下他們的對比(以單階段的yolo和雙階段的Faster-rcnn為代表)

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-MeXFwySh-1642432549733)(C:\Users\WSJ\AppData\Roaming\Typora\typora-user-images\image-20220107163513421.png)]

?從上圖可以看出,YOLO的mAP要低于Fast-rcnn,但是FPS卻遠高于Fast-rcnn,【FPS表示一個網路的檢測速度,越大速度越快,mAP表示模型綜合檢測的效果,越大效果越好】

🎈🎈🎈🎈🎈🎈🎈🎈

?上面提到了一個術語:mAP,它表示的是一個綜合檢測的效果,因為表示模型效果的引數有很多,像IOU、precision、recall(好吧,這三是不是也不知道🤐🤐🤐)下面先來介紹這三個引數:

  • IOU

    ? IOU其實很好理解,其表示(真實值和預測值的交集)占(真實值和預測值的并集)的比列,這也即是IOU的計算公式,如下:

    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-z5OPnUTi-1642432549734)(C:\Users\WSJ\AppData\Roaming\Typora\typora-user-images\image-20220107165215737.png)]

哎!!!?不是很好理解嘛…通俗點講,IOU就表示真實值和預測值重疊的部分多不多,重疊多IOU就大,檢測效果就好!!!可以再參照下圖進行理解:

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-MnCygC4a-1642432549736)(C:\Users\WSJ\AppData\Roaming\Typora\typora-user-images\image-20220107165753941.png)]

  • precision(精度) && recall(召回率)

我們先來看他們的公式(好吧,我承認開始肯定看不懂😜😜😜)

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-JNd5vMeN-1642432549739)(C:\Users\WSJ\AppData\Roaming\Typora\typora-user-images\image-20220107171113924.png)]

我們通過一個例子來解釋上訴公式中TP、FP、FN的含義,進而解釋precision和recall,

已知:班級共100人,其中男生80人,女生20人

目標:找出所有女生

結果:從班級中選擇了50人才找出20個女生,也即錯誤的把30名男生也挑選出來了

我們先來看看TP、FP、FN中三個英文字母T、F、P、N的含義,可能會便于你理解

  • T——Ture 正確的判斷
  • F——False 錯誤的判斷
  • P——Positives 正類(表示需要檢測目標,例子中就是指女生)
  • N——Negatives 負類

知道了這些字母的含義,就很好解釋 這三個哥們了,

  • TP——Ture Positives(表示判斷正確,把正類判斷成正類,例子中也就是表示把女生判斷成了女生)
  • FP——False Positives(表示判斷錯誤,把負類判斷成正類,例子中也就是表示把男生判斷成了女生)
  • FN——False Negatives(表示判斷錯誤,把正類判斷成負類,例子中也就是表示把女生判斷成了男生)
  • TN——True Negatives(表示判斷正確,把負類判斷成負類,例子中也就是表示把男生判斷成了男生)【公式中沒用到這個】

上面的幾個可能會有點繞,但靜下心來研究研究,會發現很簡單,這里我就當上面的都看懂了,下面我們就可以計算例子中的TP、FP、FN、TN的值了,

  • TP=20 【把正類判斷成正類,即找到的20個女生】
  • FP=30 【把負類判斷成正類,即錯誤選出的30個男生】
  • FN=0 【把正類判斷成負類,這里為0】
  • TN=50 【把負類判斷成負類,即沒有選出來的50個男生】

好,現在就都求出了TP、FP、FN,則precision和recall都可以計算出來了,


讀到這里,我想你就明白了precision和recall是怎么計算出來的了,但是對于precison和recall為什么用這樣的式子表示呢,可能還存在一定的疑惑,先對兩個公式進行描述,

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-JNd5vMeN-1642432549739)(C:\Users\WSJ\AppData\Roaming\Typora\typora-user-images\image-20220107171113924.png)]

  • precision(精度)
    ?首先,精度表示分類的準確性,它等于將(正類分類正確)與(正類分類正確和錯誤)的比列,對于例子來說precision=20/(20+30)=2/5,

  • recall(召回率,也叫查全率)

    ? ?召回率的含義是表示(正類分類正確)與(正類分類正確和把正類判斷成負類)的比值,對例子來說recall=20/(20+0)=1,通俗點說,recall表示的就是一些沒有檢測到的物體的比例,比如一張圖片有10個目標需要檢測,一種方法你檢測到了10種目標,那你的召回率就好;而另一種方法只檢測到了8個圖片,那么你的召回率就不好,


知道了precision和recall,這兩個指標都可以表示檢測的效果,為了綜合表示檢測效果,產生了mAP,首先先介紹什么是AP?AP事實上指的是,我們取不同的置信度,可以獲得不同的Precision和不同的Recall,當我們取置信度足夠密集的時候,就可以獲得非常多的Precision和Recall,利用不同的Precision和Recall的點的組合,畫出來的曲線下面的面積即為AP的大小,如下圖所示:

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-0MVYQMnm-1642432549748)(C:\Users\WSJ\AppData\Roaming\Typora\typora-user-images\image-20220107200931166.png)]

?AP衡量的是對一個類檢測好壞,mAP就是對多個類的檢測好壞,計算方法就是把所有類的AP值取平均,比如有兩類,類A的AP值是0.6,類B的AP值是0.4,那么mAP=(0.6+0.4)/2=0.5,



yolo-v1

整體架構

yolo的英文全稱為You only look once,聽起來好🤙🏼的樣子,這也反應了yolo檢測的速度很快,適合做實時檢測任務,我們先來看yolo-v1的整體網路架構,如下圖所示:

從上圖可以看出yolo-v1:

  • 網路輸入:448×448×3的彩色圖片,
  • 卷積層:由若干卷積層和最大池化層(池化層未畫出)組成,用于提取圖片的抽象特征,
  • 全連接層:由兩個全連接層組成,用來預測目標的位置和類別概率值,
  • 網路輸出:7×7×30的預測結果,

具體實作

?從上文我們可以得知,yolo-v1的輸入是448×448×3的彩色圖片,我們會將每一張圖片平均的分成7x7個網格,每個網格分別負責預測中心點落在該網格內的目標,

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-8GIWI5Ie-1642432549751)(C:\Users\WSJ\AppData\Roaming\Typora\typora-user-images\image-20220107215115346.png)]

具體實作程序如下:

  1. 將一幅影像分成 S×S個網格(grid cell),如果某個 object 的中心落在這個網格中,則這個網格就負責預測這個object,【yolo-v1分成的是7x7大小的網格】
  2. 每個網格要預測 B 個bounding box,每個 bounding box 要預測 (x, y, w, h) 和 confidence 共5個值,【yolo-v1要預測的是2個bbox】
  3. 每個網格還要預測一個類別資訊,記為 C 個類,【yolo-v1預測的類別有20種,像貓,狗,汽車等】
  4. 總的來說,S×S 個網格,每個網格要預測 B個bounding box ,還要預測 C 個類,網路輸出就是一個 S × S × (5×B+C) 的張量,【對于yolo-v1,網路輸出即是一個7x7x30的張量】

?如果你之前已經對yolo演算法有了一定的了解,看了上面的內容,大概已經知道yolo-v1的核心思想了,但是呢,如果你第一次看yolo或者對yolo原理不是很熟悉的話,那估計還是有點懵逼,下面從網路的架構出發,詳細的介紹yolo-v1的細節,

再次貼出這張圖,我們從這張網路架構圖進行分析,

  • 輸入層

    ? ?輸入層是448×448×3的彩色圖片,在yolo-v1中要求圖片大小是448x448的,這是因為在yolo-v1網路最后接了兩個全連接層,全連接層是要求固定大小的向量作為輸入的【因為全連接層中權重矩陣W和偏置矩陣b的維度是不變的】,因此要求原始影像也需要一致的圖片大小,

  • 卷積層

    ? ?卷積層就是一層一層的卷積,這一部分倒也沒什么好說的,對cnn不熟悉的可以看此篇文章,介紹一下,這是July的創始人寫的,我覺得他的機器學習的文章寫的真是太好了,用很抽象的語言來解釋一些演算法,讀了之后會讓你茅廁頓開——哦,原來是這么回事!!!

  • 全連接層

    ? ?全連接層有兩層,enmm…其實也沒什么好講的,不明白的可以看上面推薦的文章,但是我們可以來看一下后一個全連接層的維度,1470x1,看著是不是有點奇怪,之前好像幾乎沒有看到這種維度的輸出,為什么設計這樣的維度呢?我們在下面的網路輸出中進行介紹,

  • 輸出層

    ? ?上文提到,最后的全連接層有一個1470x1的輸出,這樣的維度有什么用呢?其實呢,這是為網路輸出準備的,我們的輸出要求是7x7x30的張量,剛好是1470,所以全連接層的1470x1的輸出經過reshape就可以得到7x7x30的網路輸出,我們再來看這個7x7x30網路輸出,為什么是這個維度的呢?下面來介紹:

    ? ?yolo-v1的輸入影像被劃分為 7x7 的網格(grid),輸出張量中的 7x7 就對應著輸入影像的 7x7 網格,或者我們把 7x7x30 的張量看作49個30維的向量,也就是輸入影像中的每個網格對應輸出一個30維的向量,每個網格對應一個30維的向量,這30維的向量中包含哪些資訊呢?如下圖所示:

    • 20個物件的概率

      ? 20個物件的概率表示yolo-v1支持20種不同的物件(如貓、狗、汽車等),這里20個物件的概率就是指對應網格中存在任一種物件的概率,

    • 2個bbox的置信度

      bbox的置信度Confidence表示它是否包含物件且位置準確的程度,置信度高表示這里存在一個物件且位置比較準確,置信度低表示可能沒有物件或者即便有物件也存在較大的位置偏差,

    • 2個bbox的位置

      一個bbox的位置需要4個數值來表示其位置,(Center_x,Center_y,width,height),即(bounding box的中心點的x坐標,y坐標,寬度,高度),2個bounding box共需要8個數值來表示其位置,


損失函式

損失函式主要由三部分組成,分別是:坐標預測損失、置信度預測損失、類別預測損失,

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-Lur7iLtX-1642432549752)(C:\Users\WSJ\AppData\Roaming\Typora\typora-user-images\image-20220108131822788.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-UBFGQlI2-1642432549755)(C:\Users\WSJ\AppData\Roaming\Typora\typora-user-images\image-20220110141642628.png)]

yolo-v1的優點及局限

  • 優點

    • 檢測速度快
    • 遷移能力強
  • 缺點

    • 輸入尺寸固定:由于輸出層為全連接層,因此在檢測時,YOLO 訓練模型只支持與訓練影像相同的輸入解析度,其它解析度需要縮放成此固定解析度;
    • 占比小的目標檢測效果不好:雖然每個格子可以預測 2 個 bounding box,但是最終只選擇只選擇 IOU 最高的bbox作為物體檢測輸出,即每個格子最多只預測出一個物體,當物體占畫面比例較小,如影像中包含畜群或鳥群時,每個格子包含多個物體,但卻只能檢測出其中一個
    • yolo-v1多標簽任務不好完成
    • yolo-v1有較大的定位誤差


yolo-v2

? ? yolo-v2和yolo-v1的整體思想還是基本一致的,但是也做了很多改進,具體如下圖:可以發現再進行這些改進之后,網路的mAP指數基本都有所增加,最后yolo-v2的mAP達到了78.6,而yolo-v1只要63.4,下面將對這些改變進行講述,

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-v5wEqZFT-1642432549756)(C:\Users\WSJ\AppData\Roaming\Typora\typora-user-images\image-20220108133446404.png)]

batch normalization(歸一化 )

?? v2版本舍棄了droupout(在全連接層,v2沒有使用全連接層),卷積后全部加入batch normalization(BN),什么是BN呢,其實就是歸一化,在網路的每一層輸入都會做歸一化的操作,這樣會使收斂更加容易,從上圖可以看出,網路加入BN后,網路的mAP提升了將近2個百分點,可見效果十分顯著,現在看來,幾乎所有的卷積網路都會有batch normalization這一步驟,

? ? BN為什么這么強呢?我舉個通俗的例子,現在我市要為小王同學🤖🤖🤖打造一個三年的造星計劃,最終目標就是三年后讓小王成為我市頂級足球運動員,可是現在一下定一個三年的目標可有點遠,我們要一年對小王進行一次全面檢測,看看他哪些地方做得不好,給出調整,這樣才能盡可能的得到一個高水平的小王,那么BN其實就類似做了每年對小王做檢測這樣的事,在網路中我們一個卷積后都會對其進行BN操作,這樣就會讓網路效果更加好,也更容易收斂,

hi-res calssifier(高解析度分類器)

? ? 前面談及v1版本的時候,說v1輸入的是448*448大小的圖片,但這是在測驗時使用的圖片大小,而v1在訓練時用的圖片大小時224*224d的,這樣可能會導致模型前后不一致,影響效果,于是v2在訓練時額外又加了10次448*448的微調,這樣也使得v2的mAP提升了約4個百分點,

new network

?? v2中網路結構發生了改變,采用DarkNet19網路(有19個卷積層),可以看出網路中沒有全連接層,進行了5次降采樣,網路的實際輸入為416*416,在該網路中采用了很多卷積核為1*1的卷積,這樣省了很多的引數,

anchor boxes(先驗框)

?? 在v1版本當中,我們說到每個網格要預測 2 個bbox,但是呢,這往往會出現一些問題:就是某個網格中物體較多時,會檢測不到所有的物體,即出現漏檢的情況,這也就導致recall(召回率,查全率)比較低,那么在v2中呢,我們選擇每個網格要預測 5 個bbox,采用這種方法來減少recall低的情況,

?? 下圖顯示了加了先驗框后的效果,可以看出,mAP反而減少了【變化不大,可以認為幾乎沒變】,但網路的recall卻增加了7個百分點,

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-0u8Ergv1-1642432549760)(C:\Users\WSJ\AppData\Roaming\Typora\typora-user-images\image-20220108162234752.png)]

dimension priors(維度聚類)

?? 在上文說到在v2版本中每個網格要預測 5 個bbox,但是這5個bbox的大小不是隨便給的,而是通過原始圖片聚類得到的,將原始影像中物體框通過K-means演算法聚成5類,然后取這五類的平均值作為bbox的大小,這樣得出的bbox的大小更符合實際情況,檢測效果更好,

location prediction

?? 在yolo-v1中,是通過預測 bounding box 與 ground truth 的位置偏移值tx,ty,間接得到bounding box的位置,其公式如下:

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-1JnhJlW7-1642432549762)(C:\Users\WSJ\AppData\Roaming\Typora\typora-user-images\image-20220108164513774.png)]

? 個公式是無約束的,預測的邊界框很容易向任何方向偏移,因此,每個位置預測的邊界框可以落在圖片任何位置,這會導致模型的不穩定性,

? ? 因此 YOLOv2 在此方法上進行了一點改變:預測邊界框中心點相對于該網格左上角坐標( C x , C y )的相對偏移量,同時為了將bounding box的中心點約束在當前網格中,使用 sigmoid 函式將tx,ty歸一化處理,將值約束在0-1,這使得模型訓練更穩定,

passthrough

? ? 這部分要涉及感受野的知識,不做解釋,不知道的可以查閱相關資料,但還是要給出感受野的相關性質和結論:我們在卷積中往往期待用一些小的卷積核來代替大的卷積核【他們的感受野相同,但使用小卷積核所需的網路引數較少】,卷積網路中,越是后面的卷積層其感受野就越大,這樣就更容易看到原始圖片的全域資訊,但是這樣對于原始圖片中小物體的檢測就變得困難,這時候我們就希望同時獲得一些感受野稍微小一點的特征圖(卷積層越往前感受野越小),這樣就可以檢測到小目標,具體做法如下:

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-CCZwRieY-1642432549765)(C:\Users\WSJ\AppData\Roaming\Typora\typora-user-images\image-20220108191818723.png)]

? ?可以看出,v2把上一層卷積中的特征圖插成了4份,然后再和最后一層的特征圖疊加得到最后的輸出,這樣的結果就同時有了感受野大的和感受野小的特征圖,這樣對圖片的大目標和小目標都會有一個不錯的檢測效果,

multi-scale

? ?v2版本相較于v1版本而言,沒有了全連接層,都是卷積層,這使得網路可以適應多種不同尺度的輸入,和v1訓練時網路輸入的影像尺寸固定不變不同,v2每隔幾次迭代后就會微調網路的輸入尺寸,這樣可以讓檢測的能力更加全面,通常最小的影像尺寸為320x320,最大的圖片尺寸為608x608,


yolo-v3

? ? 我們先來看一下v3和其他網路模型的對比!!!看到這張圖我不自覺的笑了,這個作者也太有意思了,把v3都畫到第二象限了(原點是50)【跨象限碾壓😬😬😬】這就足以看出v3的強大了!!!

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-FkdmQxW9-1642432549766)(C:\Users\WSJ\AppData\Roaming\Typora\typora-user-images\image-20220108204744846.png)]

多scale

? ?在闡述yolo-v2的改進時,我們談到使用passthrough可以讓我們更有效的檢測小目標物體,但其實這樣的效果還不是很好,yolo-v3又進行了改進,它采用了多scale的先驗框來進行檢測,如圖所示,我們對不同感受野的網路輸出結果采用不同的先驗框,設計了三種規模的先驗框,每種規模又有三種bbox,也就是一共9種先驗框,

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-1mom9scl-1642432549768)(C:\Users\WSJ\AppData\Roaming\Typora\typora-user-images\image-20220108204111682.png)]

resnet(殘差網路)

? ?resnet(殘差網路),這個大家應該都很熟悉了吧,因為是我們中國人先提出的,在深度神經網路訓練中,從經驗來看,隨著網路深度的增加,模型理論上可以取得更好的結果,但是實驗卻發現,深度神經網路中存在著退化問題,人們就以為神經網路就只能做到這里了,但是后來提出一種網路:resnet,其實這種網路原理很好理解,就類似做一個if陳述句,每加一層后我都進行一個判斷,如果結果是好的我就保留,不好的就舍棄,現在基本上resnet已經成為了網路模型的標配,

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-ZnC3bjhb-1642432549770)(C:\Users\WSJ\AppData\Roaming\Typora\typora-user-images\image-20220108210239790.png)]

多標簽分類

? ?yolo-v3在類別預測方面將yolo-v2的單標簽分類改進為多標簽分類,在網路結構中將yolo-v2中用于分類的softmax層修改為邏輯分類器,在yolo-v2中,演算法認定一個目標只從屬于一個類別,根據網路輸出類別的得分最大值,將其歸為某一類,然而在一些復雜的場景中,單一目標可能從屬于多個類別,
? ? 比如在一個交通場景中,某目標的種類既屬于汽車也屬于卡車,如果用softmax進行分類,softmax會假設這個目標只屬于一個類別,這個目標只會被認定為汽車或卡車,這種分類方法就稱為單標簽分類,如果網路輸出認定這個目標既是汽車也是卡車,這就被稱為多標簽分類,
? ? 為實作多標簽分類就需要用邏輯分類器來對每個類別都進行二分類,邏輯分類器主要用到了sigmoid函式,它可以把輸出約束在0到1,如果某一特征圖的輸出經過該函式處理后的值大于設定閾值,那么就認定該目標框所對應的目標屬于該類,

網路架構

? ?相比于 YOLOv2 的 骨干網路,YOLOv3 進行了較大的改進,借助殘差網路的思想,YOLOv3 將原來的 darknet-19 改進為darknet-53,Darknet-53主要由1×1和3×3的卷積層組成,每個卷積層之后包含一個批量歸一化層和一個Leaky ReLU,加入這兩個部分的目的是為了防止過擬合,卷積層、批量歸一化層以及Leaky ReLU共同組成Darknet-53中的基本卷積單元DBL,因為在Darknet-53中共包含53個這樣的DBL,所以稱其為Darknet-53,



yolo-v4

? ? v3和v4兩個版本的作者發生了變化,當時前三個版本的作者redmon在推特上發表了一個宣告:大致是說因為yolo-v3已經被用在一些軍事上,這是他不想看到的,因此他表示退出CV界,這也從側面反映了yolo-v3性能的強大,2020年,Alexey Bochkovskiy等人接手了yolo系列,yolo-v4油然而生,

? ? yolo-v4對深度學習中一些常用Tricks進行了大量的測驗,最終選擇了這些有用的Tricks:WRC、CSP、CmBN、SAT、 Mish activation、Mosaic data augmentation、CmBN、DropBlock regularization 和 CIoU loss,
? 正是v4中采用了很多的技巧,這些都是近先年各種先進的演算法,我沒有認真讀過這些演算法,對這些也不是特別清楚,所以這里不對yolo-v4做整理(整理可能會有很多描述不準確的地方🤡)但是呢,我也在網上看了很多文章,這里我覺得這一篇寫得非常清楚,也都把這些用到的演算法出處貼了出來,感興趣的可以自己研讀,鏈接如下:yolo-v4

? ? 上面的鏈接中沒有給出原yolo-v4論文,這里附上鏈接:論文

yolo-v5

? ?呼,終于到v5了,上面的寫內容不多,但也花費了2天多的時間😭😭😭終于感覺要到頭了🚀🚀🚀

? ?果然不能偷懶,上面的yolo-v4沒有自己寫,現在的v5好像也不想自己寫了,但是“自己的事情自己做”這句話涌上心頭,因此我決定還是放上鏈接吧🙈🙈🙈(真不是自己懶,這個人寫的太好了,圖文并茂,我認為以我現在的知識儲備寫不出來,因此還是借用他人的叭!!!到時候需要再看的時候也好直接找到好文章)

? ? 鏈接如下:yolo-v5

咻咻咻咻~~duang~~點個贊唄

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/414011.html

標籤:其他

上一篇:【python語音識別】借助百度智能云實作任意時間長度語音識別,輸入語音轉為文字的python程式,按回車開始錄制按回車結束錄制,錄音時間任意,無需指定錄音時間

下一篇:Qt + OpenGL 顯示彩色點云

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more