0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

YOLOv5-v6.0學習筆記

新機器視覺 ? 來源:新機器視覺 ? 2023-11-23 16:23 ? 次閱讀

網絡結構

1.1 Backbone

YOLOv5-6.0版本的Backbone主要分為Conv模塊、CSPDarkNet53和SPPF模塊。

68e0838e-7b16-11ee-939d-92fbcf53809c.png

1.1.1 Conv模塊

68f453aa-7b16-11ee-939d-92fbcf53809c.png

YOLOv5在Conv模塊中封裝了三個功能:包括卷積(Conv2d)、Batch Normalization激活函數,同時使用autopad(k, p)實現了padding的效果。其中YOLOv5-6.0版本使用Swish(或者叫SiLU)作為激活函數,代替了舊版本中的Leaky ReLU。

1.1.2 Focus模塊

Focus模塊是YOLOv5舊版本中的一個模塊,它的結構如下圖所示。

69132f6e-7b16-11ee-939d-92fbcf53809c.jpg

其中核心部分是對圖片進行切片(slice)操作,并且在通道維度上進行拼接。

如下圖所示,對于一張3通道的輸入圖片,分別在w ww和h hh兩個維度上,每隔一個像素取一個值,從而構建得到12張?zhí)卣鲌D。

這12張?zhí)卣鲌D在寬度和高度上變?yōu)樵瓉淼亩种?但是通道維度擴充了4倍。

同時,這12張?zhí)卣鲌D包含了輸入圖片的所有信息,因此Focus模塊不僅在減少信息丟失的情況下實現了2倍下采樣。

而且減少了參數量(params)和計算量(FLOPs),降低了CUDA顯存的消耗,從而提升了前向和后向傳遞的速度。

69317604-7b16-11ee-939d-92fbcf53809c.png

最后對拼接后的特征圖進行一次卷積操作,將通道數增加到64。

但是在YOLOv5-6.0版本中使用了尺寸大小為6 66×6 66,步長為2,padding為2的卷積核代替了Focus模塊,便于模型的導出,且效率更高。

1.1.3 CSPDarkNet53

1.1.3.1 CSPNet

CSPNet被提出的主要目的是為了保證在模型檢測和識別精度沒有下降的情況下,減少計算量,提高推理速度。

它的主要思想是通過分割梯度流,使梯度流通過不同的網絡路徑傳播。通過拼接和過渡等操作,從而實現更豐富的梯度組合信息。

694648c2-7b16-11ee-939d-92fbcf53809c.png695bf4b0-7b16-11ee-939d-92fbcf53809c.png

Cross Stage Partial DenseNet

以DenseNet為例,在將特征圖輸入到Dense_Block之前,將特征圖從通道維度上分為兩個部分:

其中一部分進入Dense_Block中進行計算,另一部分則通過一個shortcut與Dense_Block的輸出特征圖進行拼接,最后將拼接后的特征圖輸入到Transition Layer進行卷積操作。

1.1.3.2 Bottleneck模塊

69743e80-7b16-11ee-939d-92fbcf53809c.png

Bottleneck模塊借鑒了ResNet的殘差結構,其中一路先進行1 11×1 11卷積將特征圖的通道數減小一半。

從而減少計算量,再通過3 33×3 33卷積提取特征,并且將通道數加倍,其輸入與輸出的通道數是不發(fā)生改變的。

而另外一路通過shortcut進行殘差連接,與第一路的輸出特征圖相加,從而實現特征融合。

在YOLOv5的Backbone中的Bottleneck都默認使shortcut為True,而在Head中的Bottleneck都不使用shortcut。

1.1.3.3 C3模塊

YOLOv4和YOLOv5均借鑒了CSPNet的思想,將其運用于DarkNet53骨干網絡。YOLOv5-6.0版本中使用了C3模塊,替代了早期的BottleneckCSP模塊。

6984a108-7b16-11ee-939d-92fbcf53809c.jpg

C3模塊

699bc932-7b16-11ee-939d-92fbcf53809c.png

BottleneckCSP模塊

這兩者結構作用基本相同,均為CSP架構,只是在修正單元的選擇上有所不同,C3模塊包含了3個標準卷積層以及多個Bottleneck模塊。

C3模塊相對于BottleneckCSP模塊所不同的是,經過Bottleneck模塊輸出后的Conv模塊被去掉了。

但是YOLOv4和YOLOv5的Backbone雖然借鑒了CSPNet,但實際上并沒有按照CSPNet原論文中那樣將輸入的特征圖在通道維度上劃分成兩個部分。

而是直接用兩路的1 11×1 11卷積對輸入特征圖進行變換。

69aed90a-7b16-11ee-939d-92fbcf53809c.png

1.1.4 SPPF模塊

參考鏈接:

https://github.com/ultralytics/yolov5/pull/4420

YOLOv5-6.0版本使用了SPPF模塊來代替SPP模塊,其中SPP是Spatial Pyramid Pooling的簡稱,即空間金字塔池化,YOLOv5借鑒了SPPNet的思想。

SPPF模塊采用多個小尺寸池化核級聯(lián)代替SPP模塊中單個大尺寸池化核,從而在保留原有功能。

即融合不同感受野的特征圖,豐富特征圖的表達能力的情況下,進一步提高了運行速度。

69ca61de-7b16-11ee-939d-92fbcf53809c.jpg

SPPF模塊

69d5d168-7b16-11ee-939d-92fbcf53809c.jpg

SPP模塊

1.2 Neck

YOLOv5的Neck與YOLOV4相似,均借鑒了FPN和PANet的思想。

69ee06a2-7b16-11ee-939d-92fbcf53809c.jpg

1.2.1 FPN

論文鏈接:https://arxiv.org/abs/1612.03144

FPN,即Feature Pyramid Network(特征金字塔)。

原來多數的目標檢測算法只是采用頂層特征做預測,但我們知道淺層的特征所攜帶的語義信息較少,而位置信息更強;

深層的特征所攜帶的語義信息較豐富,而位置信息更弱。FPN的思想就是把深層的語義信息傳遞到淺層,從而增強多個尺度上的語義表達。

69f6b036-7b16-11ee-939d-92fbcf53809c.jpg

FPN的大致結構如上圖所示,左邊是一個自底向上(Bottom-up)的傳播路徑,右邊是一個自頂向下(Top-down)的傳播路徑,中間是通過橫向連接(lateral connection)進行特征融合。

其中自底向上(Bottom-up)的過程就是網絡的前向傳播過程,對應前面的骨干網絡(Backbone)。

在前向過程中,feature map的大小在經過某些層后會改變,而在經過其他一些層的時候不會改變,作者將不改變feature map大小的層歸為一個stage。

因此每次抽取的特征都是每個stage的最后一層的輸出,這樣就能構成特征金字塔。

自頂向下(Top-down)的過程是從小尺寸的feature map開始逐個stage進行2倍上采樣。

而橫向連接則是先由自底向上(Bottom-up)過程中生成的相同大小的feature map經過1 11×1 11的卷積核來減少通道數(如下圖所示)。

然后與2倍上采樣得到的feature map進行相加融合(在YOLOv5中采用的是拼接融合)。

在融合之后還會對每個融合結果進行3 33×3 33卷積,目的是消除上采樣的混疊效應(aliasing effect)。

6a08377a-7b16-11ee-939d-92fbcf53809c.jpg

1.2.2 PANet

論文鏈接:https://arxiv.org/abs/1803.01534

FPN通過自頂向下(Top-down)的結構,將深層的語義信息傳遞到淺層,但是淺層的位置信息卻無法影響到深層特征。

同時,FPN中頂部信息流需要通過骨干網絡(Backbone)逐層地往下傳遞,由于層數相對較多,因此計算量比較大,而PANet有效地解決了上述這些問題。

6a1bf012-7b16-11ee-939d-92fbcf53809c.jpg

如上圖(b)所示,PANet在FPN的基礎上又引入了一個自底向上(Bottom-up)的路徑。

經過自頂向下(Top-down)的特征融合后,再進行自底向上(Bottom-up)的特征融合,這樣底層的位置信息也能夠傳遞到深層,從而增強多個尺度上的定位能力。

同時,與FPN相比(如紅色線條所示),PANet中的底層特征傳遞所需要穿越的feature map數量大大減少(如綠色線條所示),使得底層的位置信息更容易傳遞到頂部。

其中自底向上(Bottom-up)的過程是沿著N 2 → N 3 → N 4 → N 5 的路徑,逐個stage通過3 33×3 33卷積進行2倍下采樣,然后與FPN中相應大小的feature map進行相加融合(在YOLOv5中采用的是拼接融合)。

1.3 Head

6a34a85a-7b16-11ee-939d-92fbcf53809c.png

YOLOv5的Head對Neck中得到的不同尺度的特征圖分別通過1 11×1 11卷積將通道數擴展,擴展后的特征通道數為(類別數量+5)× ××每個檢測層上的anchor數量。

其中5 55分別對應的是預測框的中心點橫坐標、縱坐標、寬度、高度和置信度,這里的置信度表示預測框的可信度。

取值范圍為( 0 , 1 ) (0,1)(0,1),值越大說明該預測框中越有可能存在目標。

Head中包含3個檢測層,分別對應Neck中得到的3種不同尺寸的特征圖。

YOLOv5根據特征圖的尺寸在這3種特征圖上劃分網格,并且給每種特征圖上的每個網格都預設了3個不同寬高比的anchor,用來預測和回歸目標。

因此上述的通道維度可以理解為在特征圖的通道維度上保存了所有基于anchor先驗框的位置信息和分類信息,如下圖所示。

6adee4a0-7b16-11ee-939d-92fbcf53809c.jpg

目標框回歸

6af1fbd0-7b16-11ee-939d-92fbcf53809c.jpg

YOLOv5的目標框回歸計算公式如下所示:

6b1326de-7b16-11ee-939d-92fbcf53809c.png

其中( b x , b y , b w , b h )表示預測框的中心點坐標、寬度和高度,( c x , c y )表示預測框中心點所在網格的左上角坐標,( t x , t y )

表示預測框的中心點相對于網格左上角坐標的偏移量,( t w , t h ) 表示預測框的寬高相對于anchor寬高的縮放比例,( p w , p h ) )表示先驗框anchor的寬高。

為了將預測框的中心點約束到當前網格中,使用Sigmoid函數處理偏移量,使預測的偏移值保持在( 0 , 1 ) (0,1)(0,1)范圍內。

這樣一來,根據目標框回歸計算公式,預測框中心點坐標的偏移量保持在( ? 0.5 , 1.5 ) (-0.5,1.5)(?0.5,1.5)范圍內。如上圖藍色區(qū)域所示。

正負樣本匹配

如上面所述,YOLOv5的每個檢測層上的每個網格都預設了多個anchor先驗框,但并不是每個網格中都存在目標,也并不是每個anchor都適合用來回歸當前目標。

因此需要對這些anchor先驗框進行篩選,將其劃分為正樣本和負樣本。本文的正負樣本指的是預測框而不是Ground Truth(人工標注的真實框)。

與YOLOv3/4不同的是,YOLOv5采用的是基于寬高比例的匹配策略,它的大致流程如下:

1.對于每一個Ground Truth(人工標注的真實框),分別計算它與9種不同anchor的寬與寬的比值(w1/w2, w2/w1)和高與高的比值(h1/h2, h2/h1)。

2.找到Ground Truth與anchor的寬比(w1/w2, w2/w1)和高比(h1/h2, h2/h1)中的最大值,作為該Ground Truth和anchor的比值。

3.若Ground Truth和anchor的比值小于設定的比值閾值(超參數中默認為anchor_t = 4.0)。

那么這個anchor就負責預測這個Ground Truth,即這個anchor所回歸得到的預測框就被稱為正樣本,剩余所有的預測框都是負樣本。

通過上述方法,YOLOv5不僅篩選了正負樣本,同時對于部分Ground Truth在單個尺度上匹配了多個anchor來進行預測,總體上增加了一定的正樣本數量。

除此以外,YOLOv5還通過以下幾種方法增加正樣本的個數,從而加快收斂速度。

1.跨網格擴充:假設某個Ground Truth的中心點落在某個檢測層上的某個網格中,除了中心點所在的網格之外,其左、上、右、下4個鄰域的網格中。

靠近Ground Truth中心點的兩個網格中的anchor也會參與預測和回歸,即一個目標會由3個網格的anchor進行預測,如下圖所示。

6b332df8-7b16-11ee-939d-92fbcf53809c.jpg

2.跨分支擴充:YOLOv5的檢測頭包含了3個不同尺度的檢測層,每個檢測層上預設了3種不同長寬比的anchor,假設一個Ground Truth可以和不同尺度的檢測層上的anchor匹配。

則這3個檢測層上所有符合條件的anchor都可以用來預測該Ground Truth,即一個目標可以由多個檢測層的多個anchor進行預測

損失計算

4.1 總損失

YOLOv5對特征圖上的每個網格進行預測,得到的預測信息與真實信息進行對比,從而指導模型下一步的收斂方向。

損失函數的作用就是衡量預測信息和真實信息之間的差距,若預測信息越接近真實信息,則損失函數值越小。YOLOv5的損失主要包含三個方面:

矩形框損失(bbox_loss)、分類損失(cls_loss)、置信度損失(obj_loss)。

總損失的表達式為:

Loss=box_gain×bbox_loss+cls_gain×cls_loss+obj_gain×obj_loss

其中b o x _ g a i n box\_gainbox_gain、c l s _ g a i n 分別對應不同的損失權重,默認值分別為0.05,0.5,1.0。

4.2 邊界框損失

文鏈接:https://arxiv.org/abs/1911.08287

IoU,即交并比,它的作用是衡量目標檢測中預測框與真實框的重疊程度。假設預測框為A,真實框為B,則IoU的表達式為:IoU= A?BA?B

6b42ec2a-7b16-11ee-939d-92fbcf53809c.jpg

但是當預測框與真實框沒有相交時,IoU不能反映兩者之間的距離,并且此時IoU損失為0,將會影響梯度回傳,從而導致無法訓練。

此外,IoU無法精確的反映預測框與真實框的重合度大小。因此為了改進IoU,又不斷提出了GIoU、DIoU和CIoU等一系列IoU的變種。

YOLOv5默認使用CIoU來計算邊界框損失。CIoU是在DIoU的基礎上,進一步考慮了Bounding Box的寬高比。

其中DIoU將預測框和真實框之間的距離,重疊率以及尺度等因素都考慮了進去,使得目標框回歸變得更加穩(wěn)定。它的損失計算公式為

6b582928-7b16-11ee-939d-92fbcf53809c.png

其中b和b^{gt}分別表示預測框和真實框的中心點,ρ hoρ表示兩個中心點之間的歐式距離,c 表示預測框和真實框的最小閉包區(qū)域的對角線距離,如下圖所示

6b6baed0-7b16-11ee-939d-92fbcf53809c.png6b809944-7b16-11ee-939d-92fbcf53809c.png

4.3 分類損失

6b979cde-7b16-11ee-939d-92fbcf53809c.png

4.4 置信度損失

每個預測框的置信度表示這個預測框的可靠程度,值越大表示該預測框越可靠,也表示越接近真實框。

如下圖所示,紅點A 、B 、C 、D 表示真實框的中心點,那么每個紅點所在網格對應的anchor所預測和回歸得到的預測框置信度應該比較大甚至接近1,而其它網格對應的預測框置信度則會比較小甚至接近0。

6ba9d124-7b16-11ee-939d-92fbcf53809c.png

對于置信度標簽,YOLO之前的版本認為所有存在目標的網格(正樣本)對應的標簽值均為1,其余網格(負樣本)對應的標簽值為0。

但是這樣帶來的問題是有些預測框可能只是在目標的周圍,而并不能很好地框住目標。

因此YOLOv5的做法是,根據網格對應的預測框與真實框的CIoU作為該預測框的置信度標簽。它的代碼實現如下:

tobj[b, a, gj, gi] = (1.0 - self.gr) + self.gr * score_iou

其中self.gr為標簽平滑系數,當參數self.gr為1時,置信度標簽就等于CIoU。

與計算分類損失一樣,YOLOv5默認使用二元交叉熵函數來計算置信度損失。

除此以外,對于不同尺度的檢測層上得到的置信度損失,YOLOv5分配了不同的權重系數。

按照檢測層尺度從大到小的順序,對應的默認的權重系數分別為4.0、1.0、0.4,即用于檢測小目標的大尺度特征圖上的損失權重系數更大,從而使得網絡在訓練時更加側重于小目標。

數據增強

5.1 Mosaic

YOLOv5借鑒了YOLOv4中的Mosaic數據增強方法,它是CutMix數據增強方法的進化版。

主要思想是任意抽取四張圖片進行隨機裁剪,然后拼接到一張圖片上作為訓練數據,同時每張圖片上的標注框也會進行相應的裁剪。

這樣做的好處是變相增大了batch_size,豐富了圖像背景,同時通過對識別物體的裁剪,使模型根據局部特征識別物體,有助于被遮擋物體的檢測,從而提升了模型的檢測能力。Mosaic數據增強的操作過程如下:

1.假設抽取的每張圖片尺寸為( 640 , 640 ) ,重新拼接后的圖片尺寸為( 1280 , 1280 ) 。在下圖的灰色區(qū)域中隨機生成一個中心點( x c , y c ) ,從而將平面分割成四塊不同大小的區(qū)域。

labels4, segments4 = [], []
s = self.img_size
yc, xc = (int(random.uniform(-x, 2 * s + x)) for x in self.mosaic_border)

6bd785ba-7b16-11ee-939d-92fbcf53809c.png

2.在加載第一張圖片后,從數據集中再隨機抽取三張圖片,并打亂這四張圖片的順序。

indices = [index] + random.choices(self.indices, k=3)
random.shuffle(indices)

3.將第一張圖像放置在左上角的區(qū)域,其右下角坐標與隨機生成的中心點對齊;

將第二張圖像放置在右上角的區(qū)域,其左下角坐標與隨機生成的中心點對齊;

將第三張圖像放置在左下角的區(qū)域,其右上角坐標與隨機生成的中心點對齊;

將第四張圖像放置在右下角的區(qū)域,其左上角坐標與隨機生成的中心點對齊。

if i == 0: # top left
 img4 = np.full((s * 2, s * 2, img.shape[2]), 114, dtype=np.uint8)
 x1a, y1a, x2a, y2a = max(xc - w, 0), max(yc - h, 0), xc, yc
 x1b, y1b, x2b, y2b = w - (x2a - x1a), h - (y2a - y1a), w, h
elif i == 1: # top right
 x1a, y1a, x2a, y2a = xc, max(yc - h, 0), min(xc + w, s * 2), yc
 x1b, y1b, x2b, y2b = 0, h - (y2a - y1a), min(w, x2a - x1a), h
elif i == 2: # bottom left
 x1a, y1a, x2a, y2a = max(xc - w, 0), yc, xc, min(s * 2, yc + h)
 x1b, y1b, x2b, y2b = w - (x2a - x1a), 0, w, min(y2a - y1a, h)
elif i == 3: # bottom right
 x1a, y1a, x2a, y2a = xc, yc, min(xc + w, s * 2), min(s * 2, yc + h)
 x1b, y1b, x2b, y2b = 0, 0, min(w, x2a - x1a), min(y2a - y1a, h)


img4[y1a:y2a, x1a:x2a] = img[y1b:y2b, x1b:x2b] # img4[ymin:ymax, xmin:xmax]
padw = x1a - x1b
padh = y1a - y1b

4.假設抽取的圖片尺寸超過了填充區(qū)域給定的大小,則需要對抽取的圖片中超過填充區(qū)域的部分進行裁剪,如下圖所示。

6be5d692-7b16-11ee-939d-92fbcf53809c.png

假設抽取的圖片尺寸小于填充區(qū)域給定的大小,則需要對缺少的區(qū)域進行填充,如下圖所示。

6bfbaa80-7b16-11ee-939d-92fbcf53809c.png

5.將歸一化后的標注框坐標還原到原圖尺寸,然后轉換到拼接后的坐標系中,得到新的標注框坐標。

labels, segments = self.labels[index].copy(), self.segments[index].copy()
if labels.size:
 labels[:, 1:] = xywhn2xyxy(labels[:, 1:], w, h, padw, padh)
 segments = [xyn2xy(x, w, h, padw, padh) for x in segments]
labels4.append(labels)
segments4.extend(segments)

6.由于重新拼接后的圖片尺寸為( 1280 , 1280 ) ,因此還需要將其尺寸縮放到( 640 , 640 ) ,保證與用于訓練的輸入圖片尺寸一致。

5.2 MixUp

MixUp是一種簡單的數據增強方法,它的主要思想是將兩個隨機樣本的特征和標簽進行加權求和,從而得到一個新的訓練樣本。

公式如下:

6c08edd0-7b16-11ee-939d-92fbcf53809c.png

其中x 1和x 2 表示兩個不同的輸入樣本,y 1 和y 2 表示兩個不同的輸入樣本對應的標簽,λ表示兩個樣本融合的比例系數,且滿足Beta分布。

但是在YOLOv5中只對圖像特征做了融合,而對標簽做了拼接,具體的代碼實現如下:

r = np.random.beta(32.0, 32.0)
im = (im * r + im2 * (1 - r)).astype(np.uint8)
labels = np.concatenate((labels, labels2), 0)

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 模塊
    +關注

    關注

    7

    文章

    2706

    瀏覽量

    47468
  • 封裝
    +關注

    關注

    126

    文章

    7901

    瀏覽量

    142951
  • 網絡結構
    +關注

    關注

    0

    文章

    48

    瀏覽量

    11086

原文標題:YOLOv5-v6.0學習筆記

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    YOLOv5】LabVIEW+YOLOv5快速實現實時物體識別(Object Detection)含源碼

    前面我們給大家介紹了基于LabVIEW+YOLOv3/YOLOv4的物體識別(對象檢測),今天接著上次的內容再來看看YOLOv5。本次主要是和大家分享使用LabVIEW快速實現yolov5
    的頭像 發(fā)表于 03-13 16:01 ?2165次閱讀

    Yolov5算法解讀

    (prediction)。backbone是New CSP-Darknet53。Neck層為SPFF和New CSP-PAN。Head層為Yolov3 head。 yolov5 6.0版本的主要架構如下圖所示: 從整體結構圖中,
    的頭像 發(fā)表于 05-17 16:38 ?9121次閱讀
    <b class='flag-5'>Yolov5</b>算法解讀

    在C++中使用OpenVINO工具包部署YOLOv5-Seg模型

    YOLOv5兼具速度和精度,工程化做的特別好,Git clone到本地即可在自己的數據集上實現目標檢測任務的訓練和推理,在產業(yè)界中應用廣泛。開源社區(qū)對YOLOv5支持實例分割的呼聲高漲,YOLOv5
    的頭像 發(fā)表于 12-21 10:17 ?2126次閱讀
    在C++中使用OpenVINO工具包部署<b class='flag-5'>YOLOv5</b>-Seg模型

    maixcam部署yolov5s 自定義模型

    yolov5 pip install -r requirements.txt pip install onnx 下載預訓練權重(博主嘗試了v7.0的和v6.0的pt都可以) https
    發(fā)表于 04-23 15:43

    DongshanPI-AICT全志V853開發(fā)板搭建YOLOV5-V6.0環(huán)境

    Conda搭建YOLOV5-V6.0環(huán)境 0.前言 ? 本章節(jié)主要記錄如何搭建yolov5-v6.0環(huán)境,并支持CUDA加速。此文章的硬件要求如下,如果您的電腦沒有顯卡設備,這篇文章無法給您當做
    發(fā)表于 07-12 09:59

    CV之YOLOv3:深度學習之計算機視覺神經網絡Yolov3-5clessses訓練自己的數據集全程記錄

    CV之YOLOv3:深度學習之計算機視覺神經網絡Yolov3-5clessses訓練自己的數據集全程記錄
    發(fā)表于 12-24 11:51

    labview調用yolo 目標檢測速度太慢?yolov4:速度和精度的完美結合,性能和精度碾壓yolov3

    本帖最后由 wcl86 于 2021-5-10 08:56 編輯 yolov4:速度差不多的精度碾壓,精度差不多的速度碾壓!經過測試yolov4在相同速度下,精度完全碾壓yolo-v
    發(fā)表于 01-05 09:22

    龍哥手把手教你學視覺-深度學習YOLOV5

    步數的課程,希望學員學習后能在實際工業(yè)項目中落地應用。本次課程將重點講解《YOLOv5》篇,讓沒有任何深度學習基礎的小白學員,通過視頻課程能動手配置好yolov5環(huán)境,能利用自己的數據
    發(fā)表于 09-03 09:39

    如何YOLOv5測試代碼?

    使用文檔“使用 YOLOv5 進行對象檢測”我試圖從文檔第 10 頁訪問以下鏈接(在 i.MX8MP 上部署 yolov5s 的步驟 - NXP 社區(qū)) ...但是這樣做時會被拒絕訪問。該文檔沒有說明需要特殊許可才能下載 test.zip 文件。NXP 的人可以提供有關如
    發(fā)表于 05-18 06:08

    基于YOLOv5的目標檢測文檔進行的時候出錯如何解決?

    你好: 按Milk-V Duo開發(fā)板實戰(zhàn)——基于YOLOv5的目標檢測 安裝好yolov5環(huán)境,在執(zhí)行main.py的時候會出錯,能否幫忙看下 main.py: import torch
    發(fā)表于 09-18 07:47

    yolov5s_v6.1_3output.torchscript.pt模型auto_cali一鍵量化工具執(zhí)行報錯的原因?

    版本是230501 torch的版本是v1.8.0+cpu 下載yolov5官方的yolov5s.pt 執(zhí)行 python3 export.py --weights ./yolov5
    發(fā)表于 09-18 08:01

    使用旭日X3派的BPU部署Yolov5

    本次主要介紹在旭日x3的BPU中部署yolov5。首先在ubuntu20.04安裝yolov5,并運行yolov5并使用pytoch的pt模型文件轉ONNX。
    的頭像 發(fā)表于 04-26 14:20 ?909次閱讀
    使用旭日X3派的BPU部署<b class='flag-5'>Yolov5</b>

    淺析基于改進YOLOv5的輸電線路走廊滑坡災害識別

    本文以YOLOv5網絡模型為基礎,提出一種改進YOLOv5YOLOv5-BC)深度學習滑坡災害識別方法,將原有的PANet層替換為BiFPN結構,提高網絡多層特征融合能力
    的頭像 發(fā)表于 05-17 17:50 ?1230次閱讀
    淺析基于改進<b class='flag-5'>YOLOv5</b>的輸電線路走廊滑坡災害識別

    yolov5和YOLOX正負樣本分配策略

    整體上在正負樣本分配中,yolov7的策略算是yolov5和YOLOX的結合。因此本文先從yolov5和YOLOX正負樣本分配策略分析入手,后引入到YOLOv7的解析中。
    發(fā)表于 08-14 11:45 ?2285次閱讀
    <b class='flag-5'>yolov5</b>和YOLOX正負樣本分配策略

    Yolov5理論學習筆記

    網絡在初始錨框的基礎上 基于訓練數據 輸出預測框,因此初始錨框也是比較重要的一部分。見配置文件*.yaml, yolov5預設了COCO數據集640×640圖像大小的錨定框的尺寸:
    的頭像 發(fā)表于 09-12 17:08 ?801次閱讀
    <b class='flag-5'>Yolov5</b>理論<b class='flag-5'>學習</b><b class='flag-5'>筆記</b>