Test的過程:
1. 對給定的一張圖片,通過Selective Search得到2000個(gè)Proposals
2. 每一個(gè)Proposal都經(jīng)過已經(jīng)訓(xùn)練好的CNN網(wǎng)絡(luò)垛孔, 得到fc7層的features,4096-dimension对供,即2000*4096
3. 用SVM分類器(4096*K)得到相應(yīng)的score调榄,即2000*K
4. 用CNN中pool5的特征恃慧,利用已經(jīng)訓(xùn)練好的權(quán)值趟咆,得到bounding box的修正值凹蜈,原先的proposal經(jīng)過修正得到新的proposal的位置
5. 對每一類別的scores,進(jìn)行non-maximum suppression忍啸。具體來講,對于2000*K中的每一列履植,進(jìn)行nms计雌。對于特定的這一列(這一類),選取值最大的對應(yīng)的proposal玫霎,計(jì)算其他proposal跟此proposal的IOU凿滤,剔除那些重合很多的proposal。再從剩下的proposal里選取值最大的庶近,然后再進(jìn)行剔除翁脆,如此反復(fù)進(jìn)行,直到?jīng)]有剩下的proposal鼻种。K列(K類)都進(jìn)行這樣的操作反番,即可得到最終的bounding box和每一個(gè)bounding box對應(yīng)的類別及其score值。
Training的過程:
1. 對訓(xùn)練集中所有的圖片,用selective search提取出各圖片對應(yīng)的2000個(gè)proposal罢缸,并保存篙贸。(圖片路徑+bounding box信息)
2. 對每張圖片,根據(jù)圖片中bounding box的ground truth信息枫疆,給該圖片的2000個(gè)proposal賦類標(biāo)簽爵川,并保存。(這2000個(gè)proposal息楔,如果跟ground truth中的proposal的IoU值超過了閾值寝贡,則把ground truth中的proposal對應(yīng)的類標(biāo)簽賦給原始產(chǎn)生的這個(gè)proposal,其余的proposal都標(biāo)為background)
3. 根據(jù)2中得到的文件值依,每次隨機(jī)取batch圃泡,32 positive windows and 96 background windows,來訓(xùn)練一個(gè)在ImageNet上訓(xùn)好的模型鳞滨,每一個(gè)proposal輸入CNN洞焙,對應(yīng)的類標(biāo)簽,來訓(xùn)練這201類的classification網(wǎng)絡(luò)拯啦,訓(xùn)練好后澡匪,對所有的proposal,forward一遍來得到fc7 feature,保存最終的fc7特征及對應(yīng)的proposal信息到文件中
4. 訓(xùn)練SVM分類器褒链。對某一個(gè)特定的類唁情,把跟屬于這個(gè)類的ground truth的bounding box的IoU大于閾值的原始提取的proposal標(biāo)為正樣本,其余標(biāo)為負(fù)樣本甫匹,得到新的一個(gè)文件(加上之前得到的fc7特征信息)甸鸟。用這個(gè)文件去訓(xùn)練這一個(gè)類的SVM。同樣的方法兵迅,循環(huán)訓(xùn)好其他類別的分類器抢韭。
5. 用CNN得到的pool5的特征和bounding box的ground truth來訓(xùn)練bounding box regression,只對那些跟ground truth的IoU超過某個(gè)閾值的proposal進(jìn)行訓(xùn)練恍箭,其余的不參與刻恭。
補(bǔ)充:
1. 在把proposal丟進(jìn)CNN之前,需要把proposal處理成固定的一個(gè)大小扯夭,paper里提到“Prior to warping, dilate the tight bounding box, make p pixels around the original”鳍贾,這個(gè)是什么意思?
比例=proposal的w/227-2p交洗,把原圖按此比例進(jìn)行變換骑科,以proposal的中心為中心,截取227大小的圖作為輸入构拳,進(jìn)入CNN
2. Detection中咆爽,mAP是怎么計(jì)算的梁棠?
對于每一個(gè)類,設(shè)置一個(gè)閾值伍掀,score大于此值的為正掰茶,否則為負(fù),與ground truth相比蜜笤,得到屬于次此類別且score大于閾值的proposal濒蒋,屬于此類別但score不大于閾值的proposal,得到不屬于此類別但score大于閾值的proposal把兔,不屬于此類別但score不大于閾值的proposal沪伙。由此計(jì)算,precision, recall县好。通過改變閾值围橡,得到不同組對應(yīng)的recall和precision。畫曲線即可得到AP缕贡。
得到每一個(gè)類別對應(yīng)的AP后翁授,取平均值得到mAP。
recall = 屬于次此類別且score大于閾值的proposal/(屬于此類別且score大于閾值的proposal+屬于此類別但score不大于閾值的proposal
precision = 屬于次此類別且score大于閾值的proposal/(屬于此類別且score大于閾值的proposal+不屬于此類別但score大于閾值的proposal