Mask-RCNN做對(duì)象檢測(cè)和實(shí)例分割 作者 | George Seif 譯者 | 天道酬勤,責(zé)編 | Carol
出品 | AI科技大本營(yíng)(ID:rgznai100) Mask-RCNN做對(duì)象檢測(cè)和實(shí)例分割: https://miro./max/1200/1*s9raSe9mLeSSuxE3API-ZA.gif如今,深度學(xué)習(xí)是必經(jīng)之路。大規(guī)模數(shù)據(jù)集以及深層卷積神經(jīng)網(wǎng)絡(luò)(CNN)的表征能力可提供超準(zhǔn)確和強(qiáng)大的模型。但目前仍然只有一個(gè)挑戰(zhàn):如何設(shè)計(jì)模型?像計(jì)算機(jī)視覺這樣廣泛而復(fù)雜的領(lǐng)域,解決方案并不總是清晰明了的。計(jì)算機(jī)視覺中的許多標(biāo)準(zhǔn)任務(wù)都需要特別考慮:分類、檢測(cè)、分割、姿態(tài)估計(jì)、增強(qiáng)和恢復(fù)以及動(dòng)作識(shí)別。盡管最先進(jìn)的網(wǎng)絡(luò)呈現(xiàn)出共同的模式,但它們都需要自己獨(dú)特的設(shè)計(jì)。那么,我們?nèi)绾螢樗羞@些不同的任務(wù)建立模型呢?作者在這里向你展示如何通過深度學(xué)習(xí)完成計(jì)算機(jī)視覺中的所有工作!計(jì)算機(jī)視覺中最出名的就是分類。圖像分類網(wǎng)絡(luò)從一個(gè)固定大小的輸入開始。輸入圖像可以有任意數(shù)量的通道,但對(duì)于RGB圖像通常為3。在設(shè)計(jì)網(wǎng)絡(luò)時(shí),分辨率在技術(shù)上可以是任意大小,只要足夠大到能夠支持在整個(gè)網(wǎng)絡(luò)中將要進(jìn)行的向下采樣量即可。例如,如果你對(duì)網(wǎng)絡(luò)內(nèi)的4個(gè)像素進(jìn)行向下采樣,則你的輸入大小至少應(yīng)為42= 16 x 16像素。隨著深入網(wǎng)絡(luò),當(dāng)我們嘗試壓縮所有信息并降至一維矢量表示形式時(shí),空間分辨率將降低。為了確保網(wǎng)絡(luò)始終有能力將其提取的所有信息進(jìn)行處理,我們根據(jù)深度的比例增加特征圖的數(shù)量,來適應(yīng)空間分辨率的降低。也就是說,我們?cè)谙蛳虏蓸舆^程中損失了空間信息,為了適應(yīng)這種損失,我們擴(kuò)展了特征圖來增加我們的語義信息。在選擇了一定數(shù)量的向下采樣后,特征圖被矢量化并輸入到一系列完全連接的圖層中。最后一層的輸出與數(shù)據(jù)集中的類一樣多。目標(biāo)檢測(cè)器分為兩種:一級(jí)和二級(jí)。他們兩個(gè)都以錨框開始。這些是默認(rèn)的邊界框。我們的檢測(cè)器將預(yù)測(cè)這些框與地面真相之間的差異,而不是直接預(yù)測(cè)這些框。在二級(jí)檢測(cè)器中,我們自然有兩個(gè)網(wǎng)絡(luò):框提議網(wǎng)絡(luò)和分類網(wǎng)絡(luò)。框提議網(wǎng)絡(luò)在認(rèn)為很有可能存在物體的情況下為邊界框提供坐標(biāo)。再次,這些是相對(duì)于錨框。然后,分類網(wǎng)絡(luò)獲取每個(gè)邊界框中的潛在對(duì)象進(jìn)行分類。在一級(jí)檢測(cè)器中,提議和分類器網(wǎng)絡(luò)融合為一個(gè)單一階段。網(wǎng)絡(luò)直接預(yù)測(cè)邊界框坐標(biāo)和該框內(nèi)的類。由于兩個(gè)階段融合在一起,所以一級(jí)檢測(cè)器往往比二級(jí)檢測(cè)器更快。但是由于兩個(gè)任務(wù)的分離,二級(jí)檢測(cè)器具有更高的精度。 快速RCNN二級(jí)目標(biāo)檢測(cè)架構(gòu)SSD一級(jí)目標(biāo)檢測(cè)架構(gòu)分割是計(jì)算機(jī)視覺中較獨(dú)特的任務(wù)之一,因?yàn)榫W(wǎng)絡(luò)既需要學(xué)習(xí)低級(jí)信息,也需要學(xué)習(xí)高級(jí)信息。低級(jí)信息可按像素精確分割圖像中的每個(gè)區(qū)域和對(duì)象,而高級(jí)信息可直接對(duì)這些像素進(jìn)行分類。這導(dǎo)致網(wǎng)絡(luò)被設(shè)計(jì)為將來自較早層和高分辨率(低層空間信息)的信息與較深層和低分辨率(高層語義信息)相結(jié)合。如下所示,我們首先通過標(biāo)準(zhǔn)分類網(wǎng)絡(luò)運(yùn)行圖像。然后,我們從網(wǎng)絡(luò)的每個(gè)階段提取特征,從而使用從低到高的范圍內(nèi)的信息。每個(gè)信息級(jí)別在依次組合之前都是獨(dú)立處理的。當(dāng)這些信息組合在一起時(shí),我們對(duì)特征圖進(jìn)行向上采樣,最終得到完整的圖像分辨率。要了解更多關(guān)于如何分割與深度學(xué)習(xí)工作的細(xì)節(jié),請(qǐng)查看這篇文章:https:///semantic-segmentation-with-deep-learning-a-guide-and-code-e52fc8958823 姿態(tài)估計(jì)模型需要完成兩個(gè)任務(wù):(1)檢測(cè)圖像中每個(gè)身體部位的關(guān)鍵點(diǎn);(2)找出如何正確連接這些關(guān)鍵點(diǎn)。這分以下三個(gè)階段完成:- 使用標(biāo)準(zhǔn)分類網(wǎng)絡(luò)從圖像中提取特征。
- 給定這些特征,就可以訓(xùn)練一個(gè)子網(wǎng)絡(luò)來預(yù)測(cè)一組2D熱圖。每個(gè)熱圖都與一個(gè)特定的關(guān)鍵點(diǎn)相關(guān)聯(lián),并包含每個(gè)圖像像素關(guān)于是否可能存在關(guān)鍵點(diǎn)的置信值。
- 再次給出分類網(wǎng)絡(luò)的特征,我們訓(xùn)練一個(gè)子網(wǎng)絡(luò)來預(yù)測(cè)一組2D向量場(chǎng),其中每個(gè)向量場(chǎng)都與關(guān)鍵點(diǎn)之間的關(guān)聯(lián)度進(jìn)行編碼。然后,具有較高關(guān)聯(lián)性的關(guān)鍵點(diǎn)被稱為已連接。
用這種方法訓(xùn)練子網(wǎng)絡(luò)的模型,可以聯(lián)合優(yōu)化關(guān)鍵點(diǎn)的檢測(cè)并將它們連接在一起。 OpenPose姿態(tài)估計(jì)架構(gòu)增強(qiáng)和恢復(fù)網(wǎng)絡(luò)是它們自己獨(dú)特的野獸。我們不會(huì)對(duì)此進(jìn)行任何向下采樣,因?yàn)槲覀冋嬲P(guān)心的是高像素/空間精度。向下采樣會(huì)真正抹殺這些信息,因?yàn)樗鼘p少我們?yōu)榭臻g精度而擁有的像素?cái)?shù)。相反,所有處理都是在全圖像分辨率下完成的。 我們開始以全分辨率將想要增強(qiáng)/恢復(fù)的圖像傳遞到我們的網(wǎng)絡(luò),而無需進(jìn)行任何修改。網(wǎng)絡(luò)僅由許多卷積和激活函數(shù)組成。這些塊通常是受啟發(fā)的,并且有時(shí)直接復(fù)制那些最初為圖像分類而開發(fā)的塊,例如殘差塊、密集塊、擠壓激勵(lì)塊等。最后一層沒有激活函數(shù),即使是sigmoid或softmax也沒有,因?yàn)槲覀兿胫苯宇A(yù)測(cè)圖像像素,不需要任何概率或分?jǐn)?shù)。 這就是所有這些類型的網(wǎng)絡(luò)。在圖像的全分辨率上進(jìn)行了大量的處理,來達(dá)到較高的空間精度,使用了與其他任務(wù)相同的卷積。動(dòng)作識(shí)別是少數(shù)幾個(gè)需要視頻數(shù)據(jù)才能正常運(yùn)行的應(yīng)用程序之一。要對(duì)一個(gè)動(dòng)作進(jìn)行分類,我們需要了解隨著時(shí)間推移,場(chǎng)景中發(fā)生的變化, 這自然導(dǎo)致我們需要視頻。我們的網(wǎng)絡(luò)必須經(jīng)過訓(xùn)練來學(xué)習(xí)時(shí)空信息,即時(shí)空變化。最完美的網(wǎng)絡(luò)是3D-CNN。 顧名思義,3D-CNN是使用3D卷積的卷積網(wǎng)絡(luò)。它們與常規(guī)CNN的不同之處在于,卷積是在3維上應(yīng)用的:寬度、高度和時(shí)間。因此,每個(gè)輸出像素都是根據(jù)其周圍像素以及相同位置的前一幀和后一幀中的像素進(jìn)行計(jì)算來預(yù)測(cè)的。- 直接在大批量中,例如第一個(gè)圖。由于我們正在傳遞一系列幀,因此空間和時(shí)間信息都是可用的。
- 我們還可以在一個(gè)流中傳遞單個(gè)圖像幀(數(shù)據(jù)的空間信息),并從視頻中傳遞其相應(yīng)的光流表示形式(數(shù)據(jù)的時(shí)間信息)。我們將使用常規(guī)2D CNN從這兩者中提取特征,然后再將其組合起來傳遞給我們的3D CNN,后者將兩種類型的信息進(jìn)行合并。
- 將幀序列傳遞給一個(gè)3D CNN,并將視頻的光流表示傳遞給另一個(gè)3D CNN。這兩個(gè)數(shù)據(jù)流都具有可用的空間和時(shí)間信息。鑒于我們正在對(duì)視頻的兩種不同表示(均包含我們的所有信息)進(jìn)行特定處理,因此這是最慢的選擇,但也可能是最準(zhǔn)確的選擇。
所有這些網(wǎng)絡(luò)都輸出視頻的動(dòng)作分類。原文:https:///how-to-do-everything-in-computer-vision-2b442c469928
|