0
雷鋒網(wǎng) AI 科技評(píng)論按:隨著計(jì)算機(jī)視覺(jué)技術(shù)逐年火熱,利用計(jì)算機(jī)圖像處理技術(shù)對(duì)目標(biāo)進(jìn)行實(shí)時(shí)跟蹤的研究越來(lái)越熱門。那么如何提高目標(biāo)檢測(cè)的質(zhì)量?Anders Christiansen 認(rèn)為,正確地調(diào)整 Anchor Boxes 可以大大提高模型檢測(cè)某些未知大小和形狀的對(duì)象的能力。下面是他的觀點(diǎn), 雷鋒網(wǎng) AI 科技評(píng)論編譯整理。
在學(xué)習(xí)用于目標(biāo)檢測(cè)的卷積神經(jīng)網(wǎng)絡(luò)時(shí),Anchor Boxes 是最難掌握的概念之一。它還是你在提高數(shù)據(jù)集的性能的時(shí)候,能夠調(diào)優(yōu)的最重要的參數(shù)之一。事實(shí)上,如果 Anchor Boxes 沒(méi)有正確地調(diào)整,你的神經(jīng)網(wǎng)絡(luò)將永遠(yuǎn)不會(huì)知道某些小的、大的或不規(guī)則對(duì)象的存在,并且永遠(yuǎn)不會(huì)有機(jī)會(huì)檢測(cè)它們。幸運(yùn)的是,你可以采取一些簡(jiǎn)單的步驟來(lái)確保你不會(huì)掉進(jìn)這個(gè)陷阱。
當(dāng)你使用像 YOLO 或 SDD 這樣的神經(jīng)網(wǎng)絡(luò)來(lái)檢測(cè)一幅圖像中的多個(gè)對(duì)象時(shí),這個(gè)網(wǎng)絡(luò)實(shí)際上正在進(jìn)行數(shù)千個(gè)檢測(cè),并且只顯示出它確定為一個(gè)對(duì)象的那些檢測(cè)結(jié)果。多個(gè)檢測(cè)以以下格式輸出:
預(yù)測(cè) 1:(x,y,高度,寬度),類
…
預(yù)測(cè)~(80000):(x,y,高度,寬度),類
其中,(X,Y,高度,寬度) 被稱為「bounding box」。該框和對(duì)象類由人類注釋人員手動(dòng)標(biāo)記。
在一個(gè)極其簡(jiǎn)化的示例中,假設(shè)我們有一個(gè)模型,該模型具有兩個(gè)預(yù)測(cè)并接收以下圖像:
我們需要告訴我們的網(wǎng)絡(luò),它的每一個(gè)預(yù)測(cè)是否正確,以便它能夠?qū)W習(xí)。但是我們應(yīng)該告訴神經(jīng)網(wǎng)絡(luò)它的預(yù)測(cè)類是什么呢?預(yù)測(cè)類應(yīng)該是:
預(yù)測(cè) 1:梨
預(yù)測(cè) 2:蘋果
或者是:
預(yù)測(cè) 1:蘋果
預(yù)測(cè) 2:梨
如果網(wǎng)絡(luò)預(yù)測(cè)為:
預(yù)測(cè) 1:蘋果
預(yù)測(cè) 2:蘋果
我們需要我們網(wǎng)絡(luò)的兩個(gè)預(yù)測(cè)器能夠分辨出梨和蘋果,這是它們的工作。要做到這一點(diǎn),有幾個(gè)工具。預(yù)測(cè)器可以專門用于特定大小的對(duì)象、具有一定縱橫比(高和寬)的對(duì)象,或者圖像上不同部分的對(duì)象。大多數(shù)網(wǎng)絡(luò)使用所有三個(gè)標(biāo)準(zhǔn)。在我們的梨/蘋果圖像的示例中,我們可以使用 Prediction 1 表示左側(cè)的對(duì)象,使用 Prediction 2 表示右側(cè)的對(duì)象。然后我們就可以回答網(wǎng)絡(luò)應(yīng)該預(yù)測(cè)什么:
預(yù)測(cè) 1:梨
預(yù)測(cè) 2:蘋果
目前最先進(jìn)的物體檢測(cè)系統(tǒng)如下:
為每個(gè)預(yù)測(cè)器創(chuàng)建數(shù)千個(gè)「bounding box」或「prior boxes」,它們表示它專門用于預(yù)測(cè)對(duì)象的理想位置、形狀和大小。
對(duì)于每個(gè) bounding boxes,計(jì)算哪個(gè)對(duì)象的 bounding boxes 具有最高的重疊除以非重疊。這被稱為交叉或聯(lián)合。
如果最高 IOU 大于 50%,則告訴 anchor box 它應(yīng)該檢測(cè)出最高 IOU 的對(duì)象。
否則,如果 IOU 大于 40%,則告訴神經(jīng)網(wǎng)絡(luò),真正的檢測(cè)是模糊的,不要從該示例中學(xué)習(xí)。
如果最高 IOU 小于 40%,那么 anchor box 應(yīng)該預(yù)測(cè)為沒(méi)有對(duì)象。
這個(gè)方法在實(shí)踐中表現(xiàn)得很好,并且數(shù)千個(gè)預(yù)測(cè)器在判斷它們的對(duì)象類型是否出現(xiàn)在圖像中這方面做得非常好??匆幌?RetinaNet 的開源實(shí)現(xiàn),它是一個(gè)最先進(jìn)的對(duì)象檢測(cè)器,我們可以可視化 anchor box。有太多對(duì)象時(shí)不能同時(shí)可視化,但是這里只有 1% 個(gè):
使用默認(rèn) anchor box 配置可以創(chuàng)建過(guò)于專用的預(yù)測(cè)器,并且圖像中出現(xiàn)的對(duì)象可能無(wú)法使用任何 anchor box 獲得 50% 的 IOU。在這種情況下,神經(jīng)網(wǎng)絡(luò)將永遠(yuǎn)不會(huì)知道這些對(duì)象的存在,也永遠(yuǎn)不會(huì)學(xué)習(xí)預(yù)測(cè)它們。我們可以調(diào)整我們的 anchor box 使它變得小得多,比如這 1% 個(gè)樣本:
在視網(wǎng)膜網(wǎng)配置中,最小錨盒大小為 32×32。這意味著許多比這個(gè)小的物體都不會(huì)被檢測(cè)到。這里是來(lái)自 WiderFace 數(shù)據(jù)集的一個(gè)示例,我們?cè)谄渲袑⑦吔缈蚱ヅ涞剿鼈兏髯缘腻^定框,但有些則陷入了裂縫中。數(shù)據(jù)集的網(wǎng)址為:
http://mmlab.ie.cuhk.edu.hk/projects/WIDERFace/
在這種情況下,只有四個(gè)地面真值邊界框與任何 anchor boxs 重疊。神經(jīng)網(wǎng)絡(luò)永遠(yuǎn)也學(xué)不會(huì)預(yù)測(cè)其他人臉。我們可以通過(guò)更改默認(rèn)的 anchor box 配置來(lái)修復(fù)這個(gè)問(wèn)題。
因?yàn)槲覀冇蟹浅P〉拿娌?,其預(yù)測(cè)依賴于其周圍的像素(如果存在手臂和腿,則更有可能是面部),所以我們減小了最小的 anchor box 大小,同時(shí)保持了用于預(yù)測(cè) 32x32 對(duì)象的相同接收字段。使用我們的新配置,所有的面與至少一個(gè) anchor box 排列,我們的神經(jīng)網(wǎng)絡(luò)可以學(xué)習(xí)如何檢測(cè)它們!
作為一般規(guī)則,在開始訓(xùn)練模型之前,您應(yīng)該問(wèn)自己關(guān)于數(shù)據(jù)集的下列問(wèn)題:
我想檢測(cè)的最小尺寸的 box 是什么?
我想要檢測(cè)的最大尺寸的 box 是什么?
box 和檢測(cè)區(qū)域之間的比例應(yīng)該是多少?即,每個(gè) bounding box 在預(yù)測(cè)時(shí)有多少依賴于它周圍的數(shù)據(jù)?
這個(gè) box 能做什么形狀?例如,汽車檢測(cè)器可能具有短而寬的 anchor boxes,只要汽車或照相機(jī)沒(méi)有機(jī)會(huì)側(cè)轉(zhuǎn)。
您可以通過(guò)實(shí)際計(jì)算數(shù)據(jù)集中最極端的大小和長(zhǎng)寬比來(lái)粗略估計(jì)這些參數(shù)。另一個(gè)對(duì)象檢測(cè)器 YOLO v3 使用 K-means 來(lái)估計(jì)理想的 bounding boxes。另一個(gè)選擇是學(xué)習(xí) anchor box 配置。然而,重要的是要記住,您不僅希望優(yōu)化對(duì)象到 anchor boxs 的映射。您還必須考慮需要多少來(lái)自周圍像素的信息才能正確檢測(cè)對(duì)象。例如,檢測(cè)一個(gè)小小的臉部,你需要依賴于對(duì)整個(gè)人體的檢測(cè)。
一旦你仔細(xì)考慮過(guò)這些問(wèn)題,你就可以開始設(shè)計(jì)你的 anchor boxs 了。一定要通過(guò)編碼你的實(shí)際參考標(biāo)準(zhǔn)來(lái)測(cè)試它們,然后解碼,它們太多了。你應(yīng)該能夠恢復(fù) bounding boxes。
此外,請(qǐng)記住,如果 bounding boxes 和 anchor boxs 的中心不同,這將降低 IOU。即使你有小 anchor boxs,如果 anchor boxs 之間的距離很大,你可能會(huì)錯(cuò)過(guò)一些符合標(biāo)準(zhǔn)的檢測(cè)對(duì)象。改善這一點(diǎn)的一種方法是將 IOU 閾值從 50% 降低到 40%。
要了解為什么 anchor boxs 如此重要,請(qǐng)參閱 David Pacassi Torrico 的文章,比較當(dāng)前人臉檢測(cè)的 API 實(shí)現(xiàn)方法和效果。你可以看到,除了檢測(cè)小臉部,這些算法效果不錯(cuò)。下面是一些照片,其中沒(méi)有檢測(cè)到一張臉。David Pacassi Torrico 的文章地址為:
https://www.liip.ch/en/blog/face-detection-an-overview-and-comparison-of-different-solutions-part1
這是我們新模型對(duì)相同圖片的檢測(cè)效果:
更多關(guān)于 anchor boxs 的知識(shí),您可以參考 Andrew Ng 的 Deep Learning Specialization。
雷鋒網(wǎng)
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。