Mask-RCNN進(jìn)行目標(biāo)檢測(cè)和實(shí)例分割
想做計(jì)算機(jī)視覺?深度學(xué)習(xí)是最近的發(fā)展方向。大規(guī)模數(shù)據(jù)集加上深度卷積神經(jīng)網(wǎng)絡(luò)(CNNs)的表征能力使得超精確和穩(wěn)健的模型成為可能?,F(xiàn)在只剩下一個(gè)挑戰(zhàn):如何設(shè)計(jì)你的模型。
由于計(jì)算機(jī)視覺領(lǐng)域廣泛而復(fù)雜,因此解決方案并不總是很清晰。計(jì)算機(jī)視覺中的許多標(biāo)準(zhǔn)任務(wù)都需要特別考慮:分類,檢測(cè),分割,姿態(tài)估計(jì),增強(qiáng)和恢復(fù),動(dòng)作識(shí)別。盡管用于每個(gè)任務(wù)的最先進(jìn)的網(wǎng)絡(luò)表現(xiàn)出共同的模式,但他們都需要自己獨(dú)特的設(shè)計(jì)風(fēng)格。
那么我們?nèi)绾螢樗羞@些不同的任務(wù)建立模型呢?
讓我來(lái)告訴你如何用深度學(xué)習(xí)在計(jì)算機(jī)視覺中做所有事情!
分類
所有任務(wù)中最為人所知的!圖像分類網(wǎng)絡(luò)以固定尺寸的輸入開始。輸入圖像可以具有任意數(shù)量的通道,但對(duì)于RGB圖像通常為3。在設(shè)計(jì)網(wǎng)絡(luò)時(shí),分辨率在技術(shù)上可以是任何尺寸,只要它足夠大以支持你將在整個(gè)網(wǎng)絡(luò)中執(zhí)行的下采樣數(shù)量。例如,如果您在網(wǎng)絡(luò)中進(jìn)行4次下采樣,那么您的輸入尺寸需要至少為 4² = 16 x 16 像素。
當(dāng)你進(jìn)入網(wǎng)絡(luò)更深層時(shí),空間分辨率將會(huì)降低,就像我們盡力擠壓所有信息并降低到一維向量表示。為了確保網(wǎng)絡(luò)始終具有繼承其提取的所有信息的能力,我們根據(jù)深度按比例增加特征圖的數(shù)量以適應(yīng)空間分辨率的降低。也就是說,我們?cè)谙虏蓸舆^程中丟失了空間信息,為了適應(yīng)損失,我們擴(kuò)展了我們的特征圖以增加我們的語(yǔ)義信息。
在你選擇了一定數(shù)量的下采樣后,特征圖會(huì)被矢量化并送入一系列全連接層。最后一層的輸出與數(shù)據(jù)集中的類一樣多。
目標(biāo)檢測(cè)
目標(biāo)檢測(cè)器有兩種形式:?jiǎn)坞A段和兩階段。它們兩者都以“錨框”開始;這些是默認(rèn)的邊界框。我們的檢測(cè)器將預(yù)測(cè)這些方框與邊界框真值之間的差異,而不是直接預(yù)測(cè)方框。
在兩階段檢測(cè)器中,我們自然有兩個(gè)網(wǎng)絡(luò):一個(gè)框提議網(wǎng)絡(luò)和一個(gè)分類網(wǎng)絡(luò)??蛱嶙h網(wǎng)絡(luò)得到了邊界框的坐標(biāo),它認(rèn)為目標(biāo)在這里的可能性很大;再次提醒,這些坐標(biāo)都是相對(duì)于錨框的。然后,分類網(wǎng)絡(luò)獲取每個(gè)邊界框并對(duì)其中的潛在物體進(jìn)行分類。
在單階段檢測(cè)器中,提議和分類器網(wǎng)絡(luò)被融合到一個(gè)單獨(dú)的階段中。網(wǎng)絡(luò)直接預(yù)測(cè)邊界框坐標(biāo)和在該框內(nèi)物體的類別。因?yàn)閮蓚€(gè)階段融合在一起,所以單階段檢測(cè)器往往比兩階段更快。但是由于兩個(gè)任務(wù)的分離,兩階段檢測(cè)器具有更高的精度。
Faster-RCNN 兩階段目標(biāo)檢測(cè)架構(gòu)
SSD 一階段目標(biāo)檢測(cè)架構(gòu)
分割
分割是計(jì)算機(jī)視覺中更獨(dú)特的任務(wù)之一,因?yàn)榫W(wǎng)絡(luò)需要學(xué)習(xí)低級(jí)和高級(jí)信息。低級(jí)信息通過像素精確地分割圖像中的每個(gè)區(qū)域和物體,而高級(jí)信息用于直接對(duì)這些像素進(jìn)行分類。這就需要將網(wǎng)絡(luò)設(shè)計(jì)成結(jié)合低級(jí)信息和高級(jí)信息的結(jié)構(gòu),其中低級(jí)空間信息來(lái)自于前面層且是高分辨率的,高級(jí)語(yǔ)義信息來(lái)自于較深層且是低分辨率的。
正如我們?cè)谙旅婵吹降模覀兪紫仍跇?biāo)準(zhǔn)分類網(wǎng)絡(luò)上運(yùn)行我們的圖像。然后,我們從網(wǎng)絡(luò)的每個(gè)階段提取特征,從而使用從低到高的級(jí)別內(nèi)的信息。每個(gè)級(jí)別的信息都是獨(dú)立處理的,然后依次將它們組合在一起。在組合信息時(shí),我們對(duì)特征圖進(jìn)行上采樣以最終獲得完整的圖像分辨率。
GCN分割架構(gòu)
姿態(tài)估計(jì)
姿態(tài)估計(jì)模型需要完成兩個(gè)任務(wù):(1)檢測(cè)每個(gè)身體部位圖像中的關(guān)鍵點(diǎn)(2)找出如何正確連接這些關(guān)鍵點(diǎn)的方式。這分為三個(gè)階段:
1、使用標(biāo)準(zhǔn)分類網(wǎng)絡(luò)從圖像中提取特征
2、鑒于這些特點(diǎn),訓(xùn)練一個(gè)子網(wǎng)絡(luò)來(lái)預(yù)測(cè)一組2D熱力圖。每張熱力圖都與一個(gè)特定的關(guān)鍵點(diǎn)相關(guān)聯(lián),并且包含每個(gè)圖像像素是否可能存在關(guān)鍵點(diǎn)的置信值。
3、再次給出分類網(wǎng)絡(luò)的特征,我們訓(xùn)練一個(gè)子網(wǎng)絡(luò)來(lái)預(yù)測(cè)一組2D向量場(chǎng),其中每個(gè)向量場(chǎng)編碼關(guān)鍵點(diǎn)之間的關(guān)聯(lián)度。具有高度關(guān)聯(lián)性的關(guān)鍵點(diǎn)就稱其為連接的。
以這種方式訓(xùn)練模型與子網(wǎng)絡(luò)將共同優(yōu)化檢測(cè)關(guān)鍵點(diǎn)并將它們連接在一起。
開放式姿態(tài)估計(jì)體系結(jié)構(gòu)
增強(qiáng)和恢復(fù)
增強(qiáng)和恢復(fù)網(wǎng)絡(luò)是它們自己的獨(dú)特之處。因?yàn)槲覀冋嬲P(guān)心的是高像素/空間精度,所以我們不會(huì)對(duì)這些進(jìn)行任何降采樣。降采樣真的會(huì)殺死這些信息,因?yàn)樗鼤?huì)減少我們空間精度的許多像素。相反,所有的處理都是在完整的圖像分辨率下完成的。
我們首先將要增強(qiáng)/恢復(fù)的圖像以全解析度傳遞到我們的網(wǎng)絡(luò),而不進(jìn)行任何修正。網(wǎng)絡(luò)僅僅由一堆卷積和激活函數(shù)組成。這些塊通常是最初為圖像分類而開發(fā)的那些塊的靈感,有時(shí)是直接副本,例如殘余塊、密集塊、擠壓激勵(lì)塊等。由于我們希望直接預(yù)測(cè)圖像像素,不需要任何的概率或分?jǐn)?shù),所以在最后一層上沒有激活功能,甚至沒有sigmoid或softmax。。
這就是所有這些類型的網(wǎng)絡(luò)!在圖像的全解析度下進(jìn)行大量的處理,以獲得高空間精度,這些使用已經(jīng)證明與其他任務(wù)相同的卷積。
EDSR超分辨率架構(gòu)
行為識(shí)別
動(dòng)作識(shí)別是少數(shù)幾個(gè)需要視頻數(shù)據(jù)才能正常工作的應(yīng)用之一。要對(duì)一個(gè)動(dòng)作進(jìn)行分類,我們需要知道隨著時(shí)間的推移場(chǎng)景發(fā)生的變化;這導(dǎo)致我們需要視頻。所以我們的網(wǎng)絡(luò)必須訓(xùn)練以學(xué)習(xí)空間和時(shí)間信息。也就是空間和時(shí)間的變化。最適合的網(wǎng)絡(luò)是3D-CNN。
3D- CNN,顧名思義,就是一個(gè)使用3D卷積的卷積網(wǎng)絡(luò)!它們不同于常規(guī)CNN的地方在于其卷積應(yīng)用于三維空間:寬度、高度和時(shí)間。因此,每個(gè)輸出像素都是基于它周圍的像素和相同位置上的前幀和后幀中的像素進(jìn)行計(jì)算預(yù)測(cè)的!
直接進(jìn)行圖像的批量傳遞
視頻幀可以通過以下幾種方式傳遞:
(1)直接以大批量,如圖1所示。由于我們正在傳遞一組序列幀,因此空間和時(shí)間信息都是可用的
單幀+光流(左)。視頻+光流(右)
(2)我們還可以在一個(gè)流(數(shù)據(jù)的空間信息)中傳遞單個(gè)圖像幀,并從視頻(數(shù)據(jù)的時(shí)間信息)中傳遞其相應(yīng)的光流表示。我們將使用常規(guī)的2D CNNs從兩者中提取特征,然后將它們組合起來(lái)傳遞給我們的3D CNN,它將組合這兩種類型的信息
(3)將我們的幀序列傳遞給一個(gè)3D CNN,將視頻的光流表示傳遞給另一個(gè)3D CNN。這兩個(gè)數(shù)據(jù)流都有可用的空間和時(shí)間信息。這可能是最慢的選項(xiàng),但同時(shí)也可能是最準(zhǔn)確的選項(xiàng),因?yàn)槲覀冋趯?duì)視頻的兩個(gè)不同表示進(jìn)行特定的處理,這兩個(gè)表示都包含所有信息。
所有這些網(wǎng)絡(luò)都輸出視頻的動(dòng)作分類。