前言
- 記錄在YOLOv5添加注意力機(jī)制,方便自己查閱。
- 由于本人水平有限,難免出現(xiàn)錯(cuò)漏,敬請(qǐng)批評(píng)改正。
- 更多精彩內(nèi)容,可點(diǎn)擊進(jìn)入YOLO系列專欄或我的個(gè)人主頁(yè)查看
- YOLOv5:IoU、GIoU、DIoU、CIoU、EIoU
https://blog.csdn.net/FriendshipTang/article/details/129969044- YOLOv7訓(xùn)練自己的數(shù)據(jù)集(口罩檢測(cè))
https://blog.csdn.net/FriendshipTang/article/details/126513426- YOLOv8訓(xùn)練自己的數(shù)據(jù)集(足球檢測(cè))
https://blog.csdn.net/FriendshipTang/article/details/129035180
前提條件
- 熟悉Python
相關(guān)介紹
- Python是一種跨平臺(tái)的計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言。是一個(gè)高層次的結(jié)合了解釋性、編譯性、互動(dòng)性和面向?qū)ο蟮哪_本語(yǔ)言。最初被設(shè)計(jì)用于編寫自動(dòng)化腳本(shell),隨著版本的不斷更新和語(yǔ)言新功能的添加,越多被用于獨(dú)立的、大型項(xiàng)目的開發(fā)。
- PyTorch 是一個(gè)深度學(xué)習(xí)框架,封裝好了很多網(wǎng)絡(luò)和深度學(xué)習(xí)相關(guān)的工具方便我們調(diào)用,而不用我們一個(gè)個(gè)去單獨(dú)寫了。它分為 CPU 和 GPU 版本,其他框架還有 TensorFlow、Caffe 等。PyTorch 是由 Facebook 人工智能研究院(FAIR)基于 Torch 推出的,它是一個(gè)基于 Python 的可續(xù)計(jì)算包,提供兩個(gè)高級(jí)功能:1、具有強(qiáng)大的 GPU 加速的張量計(jì)算(如 NumPy);2、構(gòu)建深度神經(jīng)網(wǎng)絡(luò)時(shí)的自動(dòng)微分機(jī)制。
- YOLOv5是一種單階段目標(biāo)檢測(cè)算法,該算法在YOLOv4的基礎(chǔ)上添加了一些新的改進(jìn)思路,使其速度與精度都得到了極大的性能提升。它是一個(gè)在COCO數(shù)據(jù)集上預(yù)訓(xùn)練的物體檢測(cè)架構(gòu)和模型系列,代表了Ultralytics對(duì)未來(lái)視覺(jué)AI方法的開源研究,其中包含了經(jīng)過(guò)數(shù)千小時(shí)的研究和開發(fā)而形成的經(jīng)驗(yàn)教訓(xùn)和最佳實(shí)踐。
- 注意力機(jī)制是一種通過(guò)網(wǎng)絡(luò)自主學(xué)習(xí)出的一組權(quán)重系數(shù),并以“動(dòng)態(tài)加權(quán)”的方式來(lái)強(qiáng)調(diào)我們所感興趣的區(qū)域同時(shí)抑制不相關(guān)背景區(qū)域的機(jī)制。在計(jì)算機(jī)視覺(jué)領(lǐng)域中,注意力機(jī)制可以大致分為兩大類:強(qiáng)注意力和軟注意力。強(qiáng)注意力是指在給定的輸入下,只有一個(gè)區(qū)域被強(qiáng)調(diào),其他區(qū)域被抑制。而軟注意力則是對(duì)所有區(qū)域進(jìn)行加權(quán),每個(gè)區(qū)域都有一個(gè)權(quán)重,但權(quán)重不是0或1,而是一個(gè)介于0和1之間的實(shí)數(shù)。
注意力機(jī)制
SE
- SE注意力機(jī)制是一種通道注意力機(jī)制,它是在SENet中提出的。SE模塊是在channel維度上做attention或者gating操作,這種注意力機(jī)制讓模型可以更加關(guān)注信息量最大的channel特征,而抑制那些不重要的channel特征。
- SE注意力機(jī)制的優(yōu)點(diǎn)是可以讓模型可以更加關(guān)注信息量最大的channel特征,而抑制那些不重要的channel特征,從而提升準(zhǔn)確率。同時(shí),SE注意力機(jī)制的計(jì)算量較小,可以在不增加太多計(jì)算量的情況下提升模型的性能。
- SE注意力機(jī)制的缺點(diǎn)是在一些特定場(chǎng)景下可能會(huì)出現(xiàn)過(guò)擬合的情況。
- 論文地址:https://arxiv.org/abs/1709.01507
添加SE注意力機(jī)制到Y(jié)OLOv5
- 免費(fèi)獲取完整代碼:
https://download.csdn.net/download/FriendshipTang/87733773
CBAM
- CBAM(Convolutional Block Attention Module)是一種結(jié)合了空間和通道的注意力機(jī)制模塊,可以讓模型更加關(guān)注信息量最大的channel特征,同時(shí)抑制那些不重要的channel特征,從而提升準(zhǔn)確率。CBAM模塊包含兩個(gè)子模塊:通道注意力模塊和空間注意力模塊。通道注意力模塊用于對(duì)每個(gè)channel進(jìn)行加權(quán),而空間注意力模塊則用于對(duì)每個(gè)空間位置進(jìn)行加權(quán)。相比于SE注意力機(jī)制,CBAM可以在空間和通道兩個(gè)維度上進(jìn)行Attention,因此可以取得更好的效果。
- CBAM注意力機(jī)制的優(yōu)點(diǎn)是可以在空間和通道兩個(gè)維度上進(jìn)行Attention,因此可以取得更好的效果。CBAM模塊包含兩個(gè)子模塊:通道注意力模塊和空間注意力模塊。通道注意力模塊用于對(duì)每個(gè)channel進(jìn)行加權(quán),而空間注意力模塊則用于對(duì)每個(gè)空間位置進(jìn)行加權(quán)。相比于SE注意力機(jī)制,CBAM可以在空間和通道兩個(gè)維度上進(jìn)行Attention,因此可以取得更好的效果。
- CBAM注意力機(jī)制的缺點(diǎn)是由于其需要計(jì)算通道和空間兩個(gè)維度上的Attention,因此計(jì)算量較大,會(huì)增加模型的復(fù)雜度和訓(xùn)練時(shí)間。
- 論文地址:https://arxiv.org/abs/1807.06521
添加CBAM注意力機(jī)制到Y(jié)OLOv5
- 免費(fèi)獲取完整代碼:
https://download.csdn.net/download/FriendshipTang/87733822
CoordAtt
- CoordAtt注意力機(jī)制是一種新的注意力機(jī)制,它是在通道注意力機(jī)制的基礎(chǔ)上,將位置信息嵌入到通道注意力中提出的1。與通過(guò)2維全局池化將特征張量轉(zhuǎn)換為單個(gè)特征向量的通道注意力不同,Coordinate Attention將通道注意力分解為兩個(gè)1維特征編碼過(guò)程,其中一個(gè)編碼位置信息,另一個(gè)編碼通道信息。
- Coordinate Attention的優(yōu)點(diǎn)是它捕獲了不僅跨通道的信息,還包含了direction-aware和position-sensitive的信息,這使得模型更準(zhǔn)確地定位到并識(shí)別目標(biāo)區(qū)域。
- 論文地址:https://arxiv.org/abs/2103.02907
添加CoordAtt注意力機(jī)制到Y(jié)OLOv5
- 免費(fèi)獲取完整代碼:
https://download.csdn.net/download/FriendshipTang/87733827
ECA
- ECA注意力模塊是一種通道注意力模塊,常常被應(yīng)用于視覺(jué)模型中。它能對(duì)輸入特征圖進(jìn)行通道特征加強(qiáng),而且最終ECA模塊輸出,不改變輸入特征圖的大小。
- ECA注意力模塊的優(yōu)點(diǎn)是它能夠提取通道間的依賴關(guān)系,提高CNN性能。
- 論文地址:https://arxiv.org/abs/1910.03151
添加ECA注意力機(jī)制到Y(jié)OLOv5
- 免費(fèi)獲取完整代碼:
https://download.csdn.net/download/FriendshipTang/87733835
參考
GitHub - ultralytics/yolov5: YOLOv5 ?? in PyTorch > ONNX > CoreML > TFLite
【注意力機(jī)制】通道上的注意力:SENet論文筆記 - 知乎 (zhihu.com)
[1709.01507] Squeeze-and-Excitation Networks (arxiv.org)
GitHub - moskomule/senet.pytorch: PyTorch implementation of SENet
【注意力機(jī)制】CBAM詳解(文末附代碼)_姚路遙遙的博客-CSDN博客
[1807.06521] CBAM: Convolutional Block Attention Module (arxiv.org)
CVPR2021|| Coordinate Attention注意力機(jī)制_注意力機(jī)制加在什么位置_Fly-Pluche的博客-CSDN博客
[2103.02907] Coordinate Attention for Efficient Mobile Network Design (arxiv.org)
GitHub - houqb/CoordAttention: Code for our CVPR2021 paper coordinate attention
ECA(Efficient Channel Attention) 注意力機(jī)制 - 知乎 (zhihu.com)
[1910.03151] ECA-Net: Efficient Channel Attention for Deep Convolutional Neural Networks (arxiv.org)文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-436281.html
YOLO算法改進(jìn)系列_人工智能算法研究院的博客-CSDN博客文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-436281.html
- 由于本人水平有限,難免出現(xiàn)錯(cuò)漏,敬請(qǐng)批評(píng)改正。
- 更多精彩內(nèi)容,可點(diǎn)擊進(jìn)入YOLO系列專欄或我的個(gè)人主頁(yè)查看
- YOLOv5:IoU、GIoU、DIoU、CIoU、EIoU
https://blog.csdn.net/FriendshipTang/article/details/129969044- YOLOv7訓(xùn)練自己的數(shù)據(jù)集(口罩檢測(cè))
https://blog.csdn.net/FriendshipTang/article/details/126513426- YOLOv8訓(xùn)練自己的數(shù)據(jù)集(足球檢測(cè))
https://blog.csdn.net/FriendshipTang/article/details/129035180
到了這里,關(guān)于YOLOv5:添加SE、CBAM、CoordAtt、ECA注意力機(jī)制的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!