在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內(nèi)不再提示

可以將深度學(xué)習(xí)圖像分類器用于目標檢測嗎?

8g3K_AI_Thinker ? 來源:未知 ? 作者:李倩 ? 2018-05-24 14:56 ? 次閱讀

本文編譯自 Adrian Rosebrock 發(fā)表在PyImageSearch 上的一篇博文。該博文緣起于一位網(wǎng)友向原作者請教的兩個關(guān)于目標檢測的問題:

如何過濾或忽略我不感興趣的類?

如何在目標檢測模型中添加新的類?這是否可行?

Adrian Rosebrock 認為這兩個問題是學(xué)習(xí)目標檢測的同學(xué)經(jīng)常問到的問題,于是創(chuàng)作了本篇文章統(tǒng)一回答。

具體來說,在這篇文章中你會了解到:

圖像分類和目標檢測的區(qū)別;

深度學(xué)習(xí)目標檢測模型的構(gòu)成,包括目標檢測框架和基本模型框架的不同;

如何將訓(xùn)練好的深度網(wǎng)絡(luò)模型用于目標檢測;

如何過濾和忽略深度學(xué)習(xí)模型所檢測的類別;

在深度神經(jīng)網(wǎng)絡(luò)中,添加或刪除檢測類別時常見誤區(qū)。

想要了解更多的關(guān)于深度學(xué)習(xí)目標檢測方面的知識,或者想要解開關(guān)于深度學(xué)習(xí)目標檢測的相關(guān)疑惑,請繼續(xù)閱讀。

▌深度學(xué)習(xí)目標檢測指南

今天的博客旨在簡單介紹基于深度學(xué)習(xí)的目標檢測。

我已經(jīng)盡量提供關(guān)于深度學(xué)習(xí)目標檢測模型構(gòu)成的內(nèi)容,包括提供使用預(yù)先訓(xùn)練的目標檢測模型實現(xiàn)深度學(xué)習(xí)的 OpenCV + Python 的源代碼。

使用這個指南能夠幫助你初步了解深度學(xué)習(xí)目標檢測,但同時你也會意識到,涉及目標檢測的很多技術(shù)細節(jié),我無法在這篇博客中講得面面俱到。

也就是說,我們將通過討論圖像分類和目標檢測的本質(zhì)區(qū)別來引出今天的博客內(nèi)容,包括圖像分類訓(xùn)練好的模型能否用于目標檢測(以及在什么情況下)。

我們一旦理解了什么是目標檢測后,我們將會回顧深度學(xué)習(xí)目標檢測模型的核心部分,包括目標檢測框架和基礎(chǔ)模型,這是初次接觸目標檢測的讀者感到疑惑的兩個關(guān)鍵部分。

在這基礎(chǔ)上,我們將會使用 OpenCV 運行實時深度學(xué)習(xí)目標檢測模型。

在不改動網(wǎng)絡(luò)結(jié)構(gòu)和重新訓(xùn)練模型的前提下,我將會演示如何能夠忽略和過濾你不感興趣的目標類別。

最后,我們將討論在深度學(xué)習(xí)目標檢測中如何添加或刪減類別,我們將以此結(jié)束今天的博客,包括我推薦的資源來幫助你入門。

讓我們開始深入了解深度學(xué)習(xí)目標檢測吧!

▌圖像分類和目標檢測的區(qū)別

圖1:分類(左邊)和目標檢測(右邊)的直觀區(qū)別。對于圖像分類,是將整張圖片進行分類,并且是單一標簽。對于目標檢測的情況,我們的神經(jīng)網(wǎng)絡(luò)會對圖片中的(潛在的多個)目標進行定位。

當進行標準圖像分類時,指定一個輸入圖像,我們將它輸入到我們的神經(jīng)網(wǎng)絡(luò)中,我們會獲得一個類標簽,或者是相應(yīng)被分類標簽的概率。

這個類標簽旨在描述整張圖像的內(nèi)容,或至少是圖像中最主要的可視內(nèi)容。

舉例子來說,如圖1中指定的輸入圖像(左邊),我們的卷積神經(jīng)網(wǎng)絡(luò)把圖像標記為“比格犬”。

因此,我們可以將圖像分類視為:

一張圖片輸入;

一個類標簽輸出。

目標檢測,無論是通過深度學(xué)習(xí)還是其他計算機視覺技術(shù)實現(xiàn),目標檢測均基于圖像分類,同時試圖精準定位圖像中每個目標的位置。

在執(zhí)行目標檢測時,給定一個輸入圖像,我們希望能夠獲得:

邊框列表,或者圖像中每個目標的 (x, y) 坐標;

每個邊框所對應(yīng)的類標簽;

每個邊框和類標簽相應(yīng)的概率和置信度分數(shù)。

圖 1(右邊)給出了一個運用深度學(xué)習(xí)進行目標檢測的例子。注意,用邊界框?qū)θ撕凸愤M行定位,并給出預(yù)測類標簽。

因此,目標檢測讓我們能夠:

向網(wǎng)絡(luò)輸入一張圖像;

獲得多個邊框和類標簽作為輸出。

▌可以將深度學(xué)習(xí)圖像分類器用于目標檢測嗎?

圖 2:使用滑動窗口的非端到端深度學(xué)習(xí)目標檢測模型(左邊)+ 結(jié)合分類的圖像金字塔(右邊)方法

好的,所以此時你理解了圖像分類和目標檢測最重要的區(qū)別:

當實行圖像分類時,我們向網(wǎng)絡(luò)中輸入一張圖像,并獲得一個類標簽作為輸出;

但是,當實行目標檢測時,我們輸入一張圖像,將獲得多個邊界框和類標簽輸出。

引出了這個問題:

對于已經(jīng)訓(xùn)練好的用于分類的網(wǎng)絡(luò),我們是否能將它用于目標檢測?

答案有點復(fù)雜,因為技術(shù)上“可以”,但是原因并不那么淺顯。

解決方案涉及:

運用傳統(tǒng)基于計算機視覺的目標檢測方法(即非深度學(xué)習(xí)方法),比如滑動窗口和圖像金字塔,這類方法通常用于基于 HOG 特征和線性支持向量機的目標檢測器中;

獲取預(yù)先訓(xùn)練好的模型,并將它作為深度學(xué)習(xí)目標檢測框架的基礎(chǔ)網(wǎng)絡(luò)。(比如 Faster R-CNN, SSD, YOLO )。

方法 1:傳統(tǒng)目標檢測方法

第一種方法不是純粹的端到端的深度學(xué)習(xí)目標檢測模型。

我們采用:

固定大小的滑動窗口,這個窗口自左到右,自上到下滑動去定位不同位置的目標;

圖像金字塔,用于檢測不同尺度的目標;

通過預(yù)先訓(xùn)練好的卷積神經(jīng)網(wǎng)絡(luò)(分類器)進行分類。

在滑動窗口和圖像金字塔的每次停頓中,我們找出感興趣的區(qū)域,傳輸?shù)骄矸e神經(jīng)網(wǎng)絡(luò)中,并且輸出這個區(qū)域的分類。

如果標簽L的分類概率比某個閾值T高,我們將標記這個感興趣區(qū)域的邊框為標簽 L。每次滑動窗口和圖像金字塔停頓都將重復(fù)這個過程,我們將會獲得輸出的目標檢測結(jié)果。最后,我們對所有的邊框采用非極大值抑制,生成我們最終輸出的檢測結(jié)果:

圖 3:應(yīng)用非極大值抑制將抑制重疊,減少邊框置信度

這個方法可以用于某些特定用例中,但是,一般而言,這種方法很慢,冗長乏味,并且容易出錯。

然而,因為這種方法可以將任意圖像分類網(wǎng)絡(luò)轉(zhuǎn)換成目標檢測模型,如何運用這個方法還是值得好好研究的,從而避免直接訓(xùn)練端到端的深度學(xué)習(xí)目標檢測模型。根據(jù)你的用例,這種方法能為你節(jié)省大量的時間和精力。

如果你對這種目標檢測的方法很感興趣,還想了解更多將滑動窗口、圖像金字塔和圖像分類方法用于目標檢測內(nèi)容,請請參閱我的書,Deep Learning for Computer Vision with Python

方法 2:目標檢測框架的基礎(chǔ)網(wǎng)絡(luò)

深度學(xué)習(xí)目標檢測中的第二種方法,這種方法將事先訓(xùn)練好的分類網(wǎng)絡(luò)視為深度學(xué)習(xí)目標檢測框架中的基礎(chǔ)網(wǎng)絡(luò)(比如 Faster R-CNN, SSD, or YOLO )。

這樣做的好處是你可以創(chuàng)建一個基于深度學(xué)習(xí)的完整的端到端的目標檢測模型。

缺點就是這種方法要求對深度學(xué)習(xí)目標檢測工作原理有一定的了解,下一節(jié)將對此加以討論。

▌深度學(xué)習(xí)目標檢測的組成元素

圖 4:VGG16 基礎(chǔ)網(wǎng)絡(luò)是 SSD 深度學(xué)習(xí)目標檢測框架中的一部分

深度學(xué)習(xí)目標檢測模型有很多組件、子組件和二級子組件,但是,今天我們主要關(guān)注兩點,深度學(xué)習(xí)目標檢測新手經(jīng)常混淆的兩點:

目標檢測框架(比如 Faster R-CNN, SSD, YOLO);

符合目標檢測框架的基礎(chǔ)網(wǎng)絡(luò)。

你可能已經(jīng)了解基礎(chǔ)網(wǎng)絡(luò),基礎(chǔ)網(wǎng)絡(luò)是我們常見的(分類器)卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),包括:

VGGNet

ResNet

MobileNet

DenseNet

一般來說,為了學(xué)習(xí)得到豐富的判別濾波集合,這些用于圖像分類的網(wǎng)絡(luò)預(yù)先在大型圖像數(shù)據(jù)集(如 ImageNet)中已經(jīng)訓(xùn)練完成。

目標檢測框架由很多組件和子組件構(gòu)成。

舉例子來說,F(xiàn)aster R-CNN 的框架包括:

候選區(qū)域生成網(wǎng)絡(luò) (RPN);

候選窗口集合;

感興趣區(qū)域 ROI pooling 層;

最終基于區(qū)域的卷積神經(jīng)網(wǎng)絡(luò)。

當使用 Single Shot Detectors (SSDs) 時,SSD 會包括如下的組件和子組件:

MultiBox,邊框回歸技術(shù);

Priors,預(yù)先計算的固定大小的邊框(像 Faster-R-CNN terminology 候選窗口);

Fixed priors,每個特征圖單元都與不同維度和尺寸默認邊框的集合相關(guān)聯(lián)。

記住了,基礎(chǔ)網(wǎng)絡(luò)只是其中一個符合總體深度學(xué)習(xí)目標檢測框架的組件,在這一節(jié)頂部的圖3中,它描述了 SSD 框架中的作為基礎(chǔ)網(wǎng)絡(luò)的 VGG16。

通常情況下,在基礎(chǔ)網(wǎng)絡(luò)上進行修改,這個修改包括:

將基礎(chǔ)網(wǎng)絡(luò)編排成全卷積形式(即能夠接受任意維度的輸入);

移除基礎(chǔ)網(wǎng)絡(luò)結(jié)構(gòu)中更深的 CONV 和 POOL 層,將它們替換成一系列新的層(SSD)、新的模型(Faster R-CNN)或是兩者的結(jié)合。

術(shù)語“網(wǎng)絡(luò)手術(shù)”是一種口語化的表達,用來說明我們刪減了一些基礎(chǔ)網(wǎng)絡(luò)中的原始層,并插入一些新的層來取代它們。

你可能看過低預(yù)算的恐怖電影,電影中的兇手也許攜帶斧子或大刀,攻擊他們的受害者,毫不手軟地攻擊他們。

網(wǎng)絡(luò)手術(shù)比典型的 B 級恐怖電影中的殺手更加精確和嚴格。

網(wǎng)絡(luò)手術(shù)很有戰(zhàn)略意義,我們刪除了網(wǎng)絡(luò)中我們不需要的部分,將它替換成一組新的組件。

然后,當我們?nèi)ビ?xùn)練框架用于目標檢測時,以下兩項的權(quán)重均已修改(1)新的層和模塊;(2)基本網(wǎng)絡(luò)。

重復(fù)一下,針對各種深度學(xué)習(xí)目標檢測框架工作原理的完整的回顧(包括基礎(chǔ)網(wǎng)絡(luò)所扮演的角色)已經(jīng)超出了本博客的范圍。如果想深入了解深度學(xué)習(xí)目標檢測的內(nèi)容,包括原理和實 現(xiàn),請參考我的書籍,Deep Learning for Computer Vision with Python。

▌如何評估深度學(xué)習(xí)目標檢測模型的精度?

當評估目標檢測模型的性能時,我們使用的評價指標是平均精度均值(mAP),mAP是基于我們數(shù)據(jù)集中所有類別的交并比(IoU)計算得到的。

交并比(IoU)

圖 5:在這個交并比 IoU 的直觀例子中,將真實值的邊框(綠色)與預(yù)測的邊框(紅色)進行對比。IoU 與平均精度均值 mAP 一起被用于深度學(xué)習(xí)目標檢測的精度評估。右邊為用于計算 IoU 的等式

也許你會發(fā)現(xiàn) IoU 和 mAP 通常用于評價 HOG 特征 +線性 SVM 檢測模型,Haar特征級聯(lián)分類器和基于深度學(xué)習(xí)模型的性能; 然而,記住,實際上用于生成預(yù)測邊框的算法并不重要。

任何用來提供預(yù)測邊框(以及供參考的類標簽)作為輸出的算法,這些算法均能是用 IoU 進行評估。更正式地說,為了使用 IoU 來評價任意一種目標檢測模型,我們需要:

1.真實值的邊框(也就是,在測試集中,通過我們手動標記的,目標對象所處位置的邊框);

2.來自我們模型的預(yù)測邊框;

3.如果你想要計算召回率和精確率,你還需要真實值的類標簽和預(yù)測值的類標簽。

在圖 4(左邊)中,我給出了一個直觀的例子,真實值的邊框(綠色)與預(yù)測邊框(紅色)對比。通過圖 4(右邊)的等式來計算IoU。

審視這個等式,你會發(fā)現(xiàn) IoU 是一個簡單的比值。

在分子部分,我們計算的是預(yù)測邊框與真實值邊框之間的重疊面積。

分母是并集區(qū)域面積,或者更簡單地說,分母是被預(yù)測邊框和實際邊框兩者包含的面積。

交集區(qū)域除以并集區(qū)域?qū)⒌玫阶罱K的分數(shù),交并比得分。

平均精度均值(mAP)

為了在我們的數(shù)據(jù)集中評估目標檢測模型的性能,我們需要計算基于 IoU 的mAP:

基于每個類(也就是每個類的平均精度);

基于數(shù)據(jù)集中的所有類別(也就是所有類別的平均精度值的平均值,術(shù)語為平均精度均值)

為了計算每個類的平均精度,對指定類中所有數(shù)據(jù)點計算它的 IoU。

一旦我們得到了這個類別中用全部數(shù)據(jù)計算的 IoU,我們就可以計算該類的平均精度(初次均值)。

為了計算 mAP,我們要計算所有N個類別中的平均 IoU,然后就可到了 N 個平均精度的均值(平均精度的均值)。

通常情況下,我們使用 [email protected][email protected] 的意思是在測試集中,為了使目標能夠標記為“正檢測樣本”,這個目標與真實值的 IoU 值至少必須達到 0.5(并且被正確標記類別)。這個 0.5 值是可以調(diào)整的,但是在大多數(shù)的目標檢測數(shù)據(jù)集和挑戰(zhàn)中,0.5 是標準值。

▌基于 OpenCV 的深度學(xué)習(xí)目標檢測

在以前的博客中,我們已經(jīng)討論了深度學(xué)習(xí)目標檢測,完整起見,讓我們先來回顧一下實際運用中的源代碼。

我們的例子中包括 SSD 檢測器和 MobileNet 基礎(chǔ)網(wǎng)絡(luò)模型。GitHub 用戶 chuanqi305 在 COCO 數(shù)據(jù)集上訓(xùn)練了這個模型。

讓我們先來回顧 Ezekiel 的第一個問題,在本文開頭就提到的問題:

如何過濾或忽略不感興趣的類?

這是個很好的問題,我將用以下樣例腳本來回答。

但是,首先,需要準備以下系統(tǒng):

你需要至少在你的 Python 虛擬環(huán)境中安裝 OpenCV 3.3 版本(假設(shè)你使用的是 Python 虛擬環(huán)境)。運行以下的代碼需要 OpenCV 3.3 或 3.3 以上的版本中的 DNN 模塊。請選擇下頁中其中一種 OpenCV 的安裝教程,同時特別注意你所下載和安裝的 OpenCV 的版本。

同時,你還應(yīng)該安裝我的 imutils 包。想在你的 Python 虛擬環(huán)境中安裝或更新 imutils 包,可以簡單地使用

pip: pip install --upgrade imutils

準備好了之后,繼續(xù)創(chuàng)建命名為 filter_object_detection.py 的新文件,然后開始:

在 2~8 行中,我們導(dǎo)入了必須的附加包和模塊,特別是 imutils 和 OpenCV 。我將會用 VideoStream 類來處理從攝像頭捕獲的幀圖像。

我們配備了必須的工具,然后繼續(xù)解析命令行參數(shù):

在運行時,我們的腳本需要兩個命令行參數(shù):

--prototxt:Caffe原型文件的路徑,這個明確了模型定義;

--model:我們的CNN模型的權(quán)重文件路徑。

.

或者,你可以指定--confidence,過濾弱檢測器的閾值。

我們的模型能夠預(yù)測 21 個目標類別:

CLASSES 列表中包括了網(wǎng)絡(luò)訓(xùn)練的所有類別( COCO 數(shù)據(jù)集中的標簽)

關(guān)于 CLASSES 列表常見的困惑是:

1.在列表中添加新的類別;

2.或者,從列表中刪除類別。

并能自動的讓網(wǎng)絡(luò)“知道”你正在努力完成什么任務(wù)。

事實并非如此。

你不能通過對文本標簽簡單的修改,從而使網(wǎng)絡(luò)通過自動修正后再去學(xué)習(xí)、添加和刪除未經(jīng)過訓(xùn)練的數(shù)據(jù)模式。神經(jīng)網(wǎng)絡(luò)不是這樣工作的。

這里有一個快速的竅門,你可以用來過濾和忽略你不感興趣的預(yù)測標簽。

解決方案是:

1.定義 IGNORE 標簽的集合(用于訓(xùn)練網(wǎng)絡(luò)的標簽列表,你想要過濾和忽略的列表);

2.對輸入的圖像和視頻幀圖片進行預(yù)測;

3.忽略任何包含在 IGNORE 集合中類標簽的預(yù)測。

在 Python 中運行,IGNORE 集合如下:

在這里,我們將會忽略所有標簽為“人”的預(yù)測目標(用于過濾的if語句稍后講解)。

在集合中,添加附加的元素(CLASSES 列表中的類標簽)是很容易的。

接下來,我們將生成隨機標簽和邊框顏色,加載我們的模型,并開始 VideoStream:

在第 27 行,生成的 COLORS 的隨機數(shù)組,被用于對應(yīng) 21 個 CLASSES。我們將會用這些顏色進行后續(xù)的展示。

在 31 行,我們使用 cv2.dnn.readNetFromCaffe 函數(shù)和我們所需的兩個命令行參數(shù)作為參數(shù)傳遞加載了的 Caffe 模型。

然后,我們將 VideoStream 目標實例化為 vs,并開始我們的 fps 計數(shù)(第 36~38 行)。2 秒的休眠讓我們的攝像機有足夠的時間準備。

此時,我們準備好了接收來自攝像機的循環(huán)輸入幀圖像,并將這些圖像輸入到 CNN 目標檢測模型中:

在第 44 行,我們讀取圖像并調(diào)整圖片大小,同時保留顯示的縱橫比(第 45 行)。

在這里,由于后期需要,我們提取了高度和寬度值。

第 48 和 49 行,從幀圖像中生成了 blob。

接下來,我們將 blob 輸入到神經(jīng) net 中,用于目標檢測。(第 54 和 55 行)

讓我們來循環(huán)遍歷檢測模型:

在 58 行,我們將開始檢測器的循環(huán)。

在每次檢測中,我們提取了 confidence(61 行),將它與我們的置信度閾值對比(第 65 行)。

如果我們的 confidence 大于最小值(默認值是 0.2,能夠通過命令行參數(shù)修改)這個檢測結(jié)果將會被視為正檢測結(jié)果,有效的檢測并繼續(xù)進一步的處理。

首先,我們提取從檢測模型中提取了類標簽的索引(第 68 行)。

然后,回顧 Ezekiel 的第一個問題,我們可以忽略在 IGNORE 集合中的列表,在 72 和 73 行。如果這是屬于被忽略的類別,我們將簡單的繼續(xù)回到檢測模型的初始循環(huán)階段(我們并不展示這個類別的標簽或邊框)。這實現(xiàn)了“快速破解”解決方案。

否則,我們我們在白名單中檢測到目標時,我們需要在幀圖片中顯示這個目標的類標簽和矩形框:

在這個代碼模塊中,我們提取邊框坐標(第 77 和 78 行),然后,在幀圖片上繪制了類標簽和矩形框(第 81~87 行)。

同一個類中標簽的顏色和矩形框相同,相同類別中的目標將使用相同的顏色(也就是,視頻中的“船”,都將使用相同顏色標簽和邊框)

最后,仍然在 while 循環(huán)中,我們將在屏幕上展示我們努力工作的結(jié)果:

在第 90 和 91 行中,我們顯示了幀圖片,并捕獲按鍵輸入。

如果按下“q”鍵,我們停止并推出循環(huán)(第 94 和 95 行)

否則,我們繼續(xù)更新 fps 計數(shù)器(98 行),并繼續(xù)提取和處理幀圖片。

在剩下的代碼行中,當循環(huán)停止時,我們將顯示時間和每秒幀數(shù)量度,并清除。

▌運行你的深度學(xué)習(xí)目標檢測模型

運行腳本,打開終端并進入到代碼和模型目錄,從那里運行接下來的命令:

圖6:使用相同的模型進行實時深度學(xué)習(xí)目標檢測演示,在右邊的視頻中,我編程忽略了特定的目標類別。

在上面的 GIF 中,從左側(cè)你可以看到“人”類別被檢測,這是由于我的 IGNORE 集合是空的。在右側(cè),你會發(fā)現(xiàn)我沒有被檢測到,這是因為將 “person” 類添加到 IGNORE 集合。

雖然我們的深度學(xué)習(xí)目標檢測器從技術(shù)上仍然檢測“人”的類別,但我們后期處理代碼能夠?qū)⑦@個類別過濾掉。

在運行深度學(xué)習(xí)目標檢測模型時你遇到了錯誤?

排除錯誤的第一步是檢查你是否連接了攝像頭。如果不是這個問題,也許你會在終端中看到以下錯誤信息:

如果你看到這個信息,那么是你沒有將“命令行參數(shù)”傳遞到程序中。如果 PyImageSearch 讀者對 Python、argparse 和命令行參數(shù)不熟悉,這將是他們普遍會遇到的問題。

▌我如何在深度學(xué)習(xí)目標檢測模型中添加和移除類?

圖 7:深度學(xué)習(xí)目標檢測模型的微調(diào)和遷移學(xué)習(xí)

正如我在本篇指南中提到的,你不能簡單的修改 CLASSES 列表來進行類標簽的添加和刪除,底層網(wǎng)絡(luò)本身并沒有發(fā)生變化。

你所做的,充其量只是修改一個類標簽的文本文件。

反之,如果你想從神經(jīng)網(wǎng)絡(luò)中添加或刪除類,你需要:

1.重新訓(xùn)練;

2.進行微調(diào)。

重新訓(xùn)練往往是耗時、成本高的操作,所以,我們盡可能的避免重新訓(xùn)練,但在某些情況下,從頭開始訓(xùn)練是無法避免的。

另一種方式是對網(wǎng)絡(luò)進行微調(diào)。

微調(diào)是遷移學(xué)習(xí)的一種形式,微調(diào)可以通過以下的過程來完成:

1.將用于分類和標記的全連接層移除;

2.將其替換成全新的、隨機初始化的全連接層。

我們也可以修改網(wǎng)絡(luò)中的其他層(包括凍結(jié)某些層的權(quán)重,在訓(xùn)練過程中再解凍它們)。

具體如何訓(xùn)練你自定義的深度學(xué)習(xí)目標檢測模型(包括微調(diào)和重新訓(xùn)練),本文不涉及這樣的高級主題,但是,可以參考以下部分來幫助你入門。

▌總結(jié)

在今天的博客中,我大致介紹了涉及深度學(xué)習(xí)目標檢測的復(fù)雜問題。我們首先回顧了圖像分類和目標檢測的本質(zhì)區(qū)別,包括我們?nèi)绾螌D像分類訓(xùn)練的網(wǎng)絡(luò)用于目標檢測。

然后,我們回顧了深度學(xué)習(xí)目標檢測的核心部分:

框架

基礎(chǔ)模型

基礎(chǔ)模型通常是預(yù)先訓(xùn)練好的網(wǎng)絡(luò)(分類器),通常是在大型圖像數(shù)據(jù)集中完成訓(xùn)練的,比如 ImageNet ,為的是讓網(wǎng)絡(luò)去學(xué)習(xí)魯棒性的判別過濾器集合。

我們也可以重新訓(xùn)練基礎(chǔ)網(wǎng)絡(luò),不過這通常需要訓(xùn)練很長的時間,目標檢測模型才能達到合理的精度。

在大多數(shù)情況下,你應(yīng)該從預(yù)先訓(xùn)練好的基礎(chǔ)模型入手,而不是重新訓(xùn)練。

一旦我們深入了解深度學(xué)習(xí)目標檢測模型之后,我們就可以在 OpenCV 中在運行實時目標檢測模型。

我還演示了怎樣做才能過濾或忽略你不感興趣的類標簽。

最后我們了解到,從深度學(xué)習(xí)目標檢測模型中添加或刪減類并不像從硬編碼中的類標簽列表中添加或刪減類標簽?zāi)敲慈菀住?/p>

神經(jīng)網(wǎng)絡(luò)本身并不關(guān)心你是否修改了類標簽列表,相反,你將需要:

修改網(wǎng)絡(luò)結(jié)構(gòu)本身,移除全連接的類預(yù)測層,并進行微調(diào);

或者重新訓(xùn)練目標檢測框架。

對于大多數(shù)深度學(xué)習(xí)目標檢測項目,你將從預(yù)先已在目標檢測任務(wù)(如 COCO )中訓(xùn)練完成的深度學(xué)習(xí)目標檢測模型開始,然后,通過對模型進行微調(diào)獲取你自己的檢測模型。

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

原文標題:深度學(xué)習(xí)目標檢測指南:如何過濾不感興趣的分類及添加新分類?

文章出處:【微信號:AI_Thinker,微信公眾號:人工智能頭條】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    計算機視覺必讀:區(qū)分目標跟蹤、網(wǎng)絡(luò)壓縮、圖像分類、人臉識別

    深度學(xué)習(xí)目前已成為發(fā)展最快、最令人興奮的機器學(xué)習(xí)領(lǐng)域之一。本文以計算機視覺的重要概念為線索,介紹深度學(xué)習(xí)在計算機視覺任務(wù)中的應(yīng)用,包括網(wǎng)絡(luò)壓
    發(fā)表于 06-08 08:00

    全網(wǎng)唯一一套labview深度學(xué)習(xí)教程:tensorflow+目標檢測:龍哥教你學(xué)視覺—LabVIEW深度學(xué)習(xí)教程

    到的, 深度學(xué)習(xí)可以搞定。特別是在圖像分類目標檢測
    發(fā)表于 08-10 10:38

    討論紋理分析在圖像分類中的重要性及其在深度學(xué)習(xí)中使用紋理分析

    地執(zhí)行基于紋理特征的分類任務(wù)。為了讓深度學(xué)習(xí)在基于紋理的數(shù)據(jù)上更好地工作,需要有一種方法,可以圖像中提取紋理特定的特征,并將其傳遞給全連接
    發(fā)表于 10-26 16:57

    什么是深度學(xué)習(xí)?使用FPGA進行深度學(xué)習(xí)的好處?

    ) 來解決更復(fù)雜的問題,深度神經(jīng)網(wǎng)絡(luò)是一種這些問題多層連接起來的更深層網(wǎng)絡(luò)。這稱為深度學(xué)習(xí)。目前,深度
    發(fā)表于 02-17 16:56

    圖像分類的方法之深度學(xué)習(xí)與傳統(tǒng)機器學(xué)習(xí)

    實際情況非常復(fù)雜,傳統(tǒng)的分類方法不堪重負。現(xiàn)在,我們不再試圖用代碼來描述每一個圖像類別,決定轉(zhuǎn)而使用機器學(xué)習(xí)的方法處理圖像分類問題。 目前,
    發(fā)表于 09-28 19:43 ?0次下載

    一種新的目標分類特征深度學(xué)習(xí)模型

    為提高低配置計算環(huán)境中的視覺目標實時在線分類特征提取的時效性和分類準確率,提出一種新的目標分類特征深度
    發(fā)表于 03-20 17:30 ?0次下載
    一種新的<b class='flag-5'>目標</b><b class='flag-5'>分類</b>特征<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>模型

    基于深度學(xué)習(xí)模型的點云目標檢測及ROS實現(xiàn)

    近年來,隨著深度學(xué)習(xí)圖像視覺領(lǐng)域的發(fā)展,一類基于單純的深度學(xué)習(xí)模型的點云目標
    的頭像 發(fā)表于 11-05 16:47 ?1.8w次閱讀

    如何使用深度學(xué)習(xí)進行視頻行人目標檢測

    近年來,隨著深度學(xué)習(xí)在計算機視覺領(lǐng)域的廣泛應(yīng)用,基于深度學(xué)習(xí)的視頻運動目標檢測受到廣大學(xué)者的青睞
    發(fā)表于 11-19 16:01 ?22次下載
    如何使用<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>進行視頻行人<b class='flag-5'>目標</b><b class='flag-5'>檢測</b>

    探究深度學(xué)習(xí)目標視覺檢測中的應(yīng)用與展望

    目標視覺檢測是計算機視覺領(lǐng)域的一個重要問題,在視頻監(jiān)控、自主駕駛、人機交互等方面具有重要的研究意義和應(yīng)用價值.近年來,深度學(xué)習(xí)圖像
    的頭像 發(fā)表于 01-13 10:59 ?5955次閱讀

    關(guān)于深度學(xué)習(xí)圖像分類不得不說的技巧詳解

    計算機視覺主要問題有圖像分類目標檢測圖像分割等。針對圖像
    的頭像 發(fā)表于 04-01 14:29 ?3133次閱讀
    關(guān)于<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>圖像</b><b class='flag-5'>分類</b>不得不說的技巧詳解

    基于深度學(xué)習(xí)的小樣本墻壁缺陷目標檢測分類

    近年來,無需人工干預(yù)的深度學(xué)習(xí)已經(jīng)成為缺陷圖像檢測分類的一種主流方法。本文針對室內(nèi)墻壁缺 陷缺檢測
    發(fā)表于 04-24 09:44 ?1次下載

    深度學(xué)習(xí)目標檢測中的應(yīng)用

    R-CNN 算法在 2014 年提出,可以說是歷史性的算法,深度學(xué)習(xí)應(yīng)用于目標
    的頭像 發(fā)表于 10-31 10:08 ?2144次閱讀

    基于深度學(xué)習(xí)目標檢測方法

    為驗證本文算法對不同大小目標檢測精度, 實驗中隨機選取100張圖片, 其中包含198個目標, 將其分為大、中、小三類. 由于該網(wǎng)絡(luò)的輸入圖像尺寸為300××300,
    發(fā)表于 12-05 12:20 ?1779次閱讀

    如何區(qū)分圖像分類目標檢測技術(shù)

    目標檢測的問題定義是確定目標在給定圖像中的位置,如目標定位,以及每個目標屬于哪個類別,即
    發(fā)表于 07-11 12:50 ?652次閱讀

    基于深度學(xué)習(xí)的小目標檢測

    在計算機視覺領(lǐng)域,目標檢測一直是研究的熱點和難點之一。特別是在小目標檢測方面,由于小目標圖像
    的頭像 發(fā)表于 07-04 17:25 ?1661次閱讀
    主站蜘蛛池模板: 手机在线观看a | 欧美满足你的丝袜高跟ol | 日韩在线天堂免费观看 | 亚洲欧美一区二区三区图片 | 天堂中文在线资源库用 | 欧美熟夫 | 色婷婷久久综合中文久久蜜桃 | 国产久视频| 业余性自由色xxxx视频 | 黄视频国产 | 欧美高清一区二区三 | 夜夜操狠狠干 | 日本极度另类网站 | 亚洲综合精品成人啪啪 | 狠狠色噜噜狠狠狠狠97不卡 | 色老头影院 | 一级特黄性色生活片一区二区 | 日韩操| 中国国产aa一级毛片 | 日本媚薬痉挛在线观看免费 | 天堂在线观看免费视频 | 亚洲伊人成人 | 亚洲免费一级视频 | 久久综合精品视频 | 精品卡1卡2卡三卡免费网站视频 | 亚洲无色 | 色偷偷88欧美精品久久久 | 天堂网 | 黄色综合网站 | 国产成人在线播放视频 | 日本sese | 成人网18免费下 | 伊人网视频在线 | 欧美极品一区 | 久久婷婷影院 | 一区二区三区四区在线免费观看 | 永久看日本大片免费 | 天天骑天天干 | 中文一区二区在线观看 | 久久久噜噜噜久久久午夜 | 首页 亚洲 欧美 制服 丝腿 |