国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網 會員登陸 & 注冊

使用Transformer模型進行計算機視覺任務的端對端對象檢測

2023-06-05 12:10 作者:人工智能研究所_  | 我要投稿

Transformer模型是google團隊在2017在論文attention is all you need中提出的一個用于NLP領域的模型,但是隨著VIT模型與Swin Transformer模型的發(fā)布,把Transformer模型成功應用到計算機視覺任務中。

上期圖文,我們使用hugging face的transformers模型進行了VIT模型的對象分類任務。本期我們再次分享一個成功把Transformer模型應用到計算機對象檢測任務模型。此模型是Facebook發(fā)布的基于Transformer模型的端對端對象檢測任務模型-- DETR(detect Transformer模型)。

DETR模型首先使用CNN卷積神經網絡搜集圖片的核心特征點,然后把這些特征點整合起來,通過embedding方法,把特征圖片轉換到特征向量空間。然后根據標準Transformer模型的編碼器與解碼器進行注意力機制的計算,最后把計算后的數據進行圖片對象的分類,并根據檢測到的位置信息,提供對象box區(qū)域,方便我們畫圖。

傳統(tǒng)的對象檢測算法,如 Faster R-CNN,通過過濾大量粗略對象區(qū)域來預測對象邊界框,這些區(qū)域通常是 CNN 特征圖片區(qū)域。每個選定的區(qū)域都用于細化操作,包括在區(qū)域定義的位置裁剪 CNN 特征,獨立對每個區(qū)域進行分類,并細化其位置。最后,應用非最大抑制步驟來刪除重復框。而DETR 通過利用標準的Transformer架構來執(zhí)行傳統(tǒng)上特定于對象檢測的操作,從而簡化了檢測管道,優(yōu)化了算法步驟,提高了檢測效率。

Transformers 的自注意力機制允許DETR模型對圖像以及預測的特定對象執(zhí)行全局推理。

例如,模型可能會查看圖像的其他區(qū)域,以幫助對邊界框中的對象做出檢測。它還可以根據圖像中對象之間的關系或相關性進行預測。例如,如果DETR預測圖像中有一個人站在沙灘上,它就會知道部分被遮擋的物體更有可能是沖浪板。相比之下,其他檢測模型只能獨立的預測每個對象,每個對象之間并沒有相關性。

代碼實戰(zhàn)DETR模型

既然是Facebook發(fā)布的模型,那么其首當其沖的便是使用pytorch框架來實現,且pytorch模型的TorchHub已經集成了此模型,我們可以直接使用TorchHub模型來實現本期代碼,當然若想了解DETR模型的框架,當然最好是源代碼來實現,這個我們后期進行分享。

首先我們需要導入需要的第三方庫,這里主要是torch框架以及其他庫。

DETR模型訓練在COCO數據集上,這里我們列舉一下COCO數據集的對象分類,并定義一個colors顏色列表,方便我們進行不同顏色的備注。

然后我們定義幾個函數,方便顯示我們經過模型檢測后的box,主要是為了我們后期進行box的畫圖,模型對象檢測后的標簽與模型檢測置信度。

有了以上的函數,我們就可以把圖片放入我們的DETR模型進行對象檢測了。

首先我們使用torch.hub.load函數來加載DETR模型的預訓練模型,并傳遞一張圖片。當然這里可以直接傳遞圖片的URL地址,也可以直接從本地打開一張需要檢測的模型。

加載圖片后,我們需要把圖片轉換到torch變量,然后把圖片數據傳遞到model模型來進行對象檢測的預測,結果保持在output中,然后我們使用soft Max函數來挑選概率最大的對象檢測數據,并挑選出置信度大于0.8(預設值)的對象標簽與置信度。

得到檢測結果后,最后我們使用plot_results函數來可視化檢測到的對象。

DETR模型對象檢測

上期圖文教程,YOLO-NAS對象檢測算法再一次顛覆YOLO系列算法——已超越YOLOv8,我們使用YOLO的最新模型進行了同一張圖片的對象檢測,我們可以使用以上代碼與YOLO- NAS模型來進行對象檢測的對比。

YOLO_NAS模型對象檢測

從對象檢測的速度與精度來講,基于transformer注意力機制算法的DETR模型同樣可以使用在對象檢測任務中,讓transformer模型進行模型大一統(tǒng)更近了一步。


使用Transformer模型進行計算機視覺任務的端對端對象檢測的評論 (共 條)

分享到微博請遵守國家法律
嘉祥县| 习水县| 枣阳市| 肃宁县| 东安县| 邓州市| 沈丘县| 当涂县| 常德市| 广丰县| 新丰县| 资溪县| 大方县| 汤原县| 合肥市| 会昌县| 辉县市| 农安县| 岱山县| 宁海县| 浦江县| 克山县| 东乌珠穆沁旗| 榆社县| 叶城县| 安龙县| 广德县| 怀宁县| 西城区| 乐东| 冕宁县| 葫芦岛市| 灵山县| 德安县| 清水河县| 霍林郭勒市| 吉安县| 朝阳市| 托克逊县| 泸溪县| 镇原县|